@idealyst/mcp-server 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 (211) hide show
  1. package/README.md +202 -0
  2. package/dist/data/cli-commands.d.ts +2 -0
  3. package/dist/data/cli-commands.d.ts.map +1 -0
  4. package/dist/data/cli-commands.js +100 -0
  5. package/dist/data/cli-commands.js.map +1 -0
  6. package/dist/data/components/Accordion.d.ts +15 -0
  7. package/dist/data/components/Accordion.d.ts.map +1 -0
  8. package/dist/data/components/Accordion.js +112 -0
  9. package/dist/data/components/Accordion.js.map +1 -0
  10. package/dist/data/components/ActivityIndicator.d.ts +15 -0
  11. package/dist/data/components/ActivityIndicator.d.ts.map +1 -0
  12. package/dist/data/components/ActivityIndicator.js +82 -0
  13. package/dist/data/components/ActivityIndicator.js.map +1 -0
  14. package/dist/data/components/Alert.d.ts +15 -0
  15. package/dist/data/components/Alert.d.ts.map +1 -0
  16. package/dist/data/components/Alert.js +132 -0
  17. package/dist/data/components/Alert.js.map +1 -0
  18. package/dist/data/components/Avatar.d.ts +15 -0
  19. package/dist/data/components/Avatar.d.ts.map +1 -0
  20. package/dist/data/components/Avatar.js +93 -0
  21. package/dist/data/components/Avatar.js.map +1 -0
  22. package/dist/data/components/Badge.d.ts +15 -0
  23. package/dist/data/components/Badge.d.ts.map +1 -0
  24. package/dist/data/components/Badge.js +64 -0
  25. package/dist/data/components/Badge.js.map +1 -0
  26. package/dist/data/components/Breadcrumb.d.ts +15 -0
  27. package/dist/data/components/Breadcrumb.d.ts.map +1 -0
  28. package/dist/data/components/Breadcrumb.js +96 -0
  29. package/dist/data/components/Breadcrumb.js.map +1 -0
  30. package/dist/data/components/Button.d.ts +15 -0
  31. package/dist/data/components/Button.d.ts.map +1 -0
  32. package/dist/data/components/Button.js +87 -0
  33. package/dist/data/components/Button.js.map +1 -0
  34. package/dist/data/components/Card.d.ts +15 -0
  35. package/dist/data/components/Card.d.ts.map +1 -0
  36. package/dist/data/components/Card.js +67 -0
  37. package/dist/data/components/Card.js.map +1 -0
  38. package/dist/data/components/Checkbox.d.ts +15 -0
  39. package/dist/data/components/Checkbox.d.ts.map +1 -0
  40. package/dist/data/components/Checkbox.js +118 -0
  41. package/dist/data/components/Checkbox.js.map +1 -0
  42. package/dist/data/components/Chip.d.ts +15 -0
  43. package/dist/data/components/Chip.d.ts.map +1 -0
  44. package/dist/data/components/Chip.js +76 -0
  45. package/dist/data/components/Chip.js.map +1 -0
  46. package/dist/data/components/Dialog.d.ts +15 -0
  47. package/dist/data/components/Dialog.d.ts.map +1 -0
  48. package/dist/data/components/Dialog.js +137 -0
  49. package/dist/data/components/Dialog.js.map +1 -0
  50. package/dist/data/components/Divider.d.ts +15 -0
  51. package/dist/data/components/Divider.d.ts.map +1 -0
  52. package/dist/data/components/Divider.js +71 -0
  53. package/dist/data/components/Divider.js.map +1 -0
  54. package/dist/data/components/Icon.d.ts +15 -0
  55. package/dist/data/components/Icon.d.ts.map +1 -0
  56. package/dist/data/components/Icon.js +70 -0
  57. package/dist/data/components/Icon.js.map +1 -0
  58. package/dist/data/components/Image.d.ts +15 -0
  59. package/dist/data/components/Image.d.ts.map +1 -0
  60. package/dist/data/components/Image.js +122 -0
  61. package/dist/data/components/Image.js.map +1 -0
  62. package/dist/data/components/Input.d.ts +15 -0
  63. package/dist/data/components/Input.d.ts.map +1 -0
  64. package/dist/data/components/Input.js +109 -0
  65. package/dist/data/components/Input.js.map +1 -0
  66. package/dist/data/components/List.d.ts +15 -0
  67. package/dist/data/components/List.d.ts.map +1 -0
  68. package/dist/data/components/List.js +113 -0
  69. package/dist/data/components/List.js.map +1 -0
  70. package/dist/data/components/Menu.d.ts +15 -0
  71. package/dist/data/components/Menu.d.ts.map +1 -0
  72. package/dist/data/components/Menu.js +132 -0
  73. package/dist/data/components/Menu.js.map +1 -0
  74. package/dist/data/components/Popover.d.ts +15 -0
  75. package/dist/data/components/Popover.d.ts.map +1 -0
  76. package/dist/data/components/Popover.js +159 -0
  77. package/dist/data/components/Popover.js.map +1 -0
  78. package/dist/data/components/Pressable.d.ts +15 -0
  79. package/dist/data/components/Pressable.d.ts.map +1 -0
  80. package/dist/data/components/Pressable.js +125 -0
  81. package/dist/data/components/Pressable.js.map +1 -0
  82. package/dist/data/components/Progress.d.ts +15 -0
  83. package/dist/data/components/Progress.d.ts.map +1 -0
  84. package/dist/data/components/Progress.js +95 -0
  85. package/dist/data/components/Progress.js.map +1 -0
  86. package/dist/data/components/RadioButton.d.ts +15 -0
  87. package/dist/data/components/RadioButton.d.ts.map +1 -0
  88. package/dist/data/components/RadioButton.js +140 -0
  89. package/dist/data/components/RadioButton.js.map +1 -0
  90. package/dist/data/components/SVGImage.d.ts +15 -0
  91. package/dist/data/components/SVGImage.d.ts.map +1 -0
  92. package/dist/data/components/SVGImage.js +112 -0
  93. package/dist/data/components/SVGImage.js.map +1 -0
  94. package/dist/data/components/Screen.d.ts +15 -0
  95. package/dist/data/components/Screen.d.ts.map +1 -0
  96. package/dist/data/components/Screen.js +99 -0
  97. package/dist/data/components/Screen.js.map +1 -0
  98. package/dist/data/components/Select.d.ts +15 -0
  99. package/dist/data/components/Select.d.ts.map +1 -0
  100. package/dist/data/components/Select.js +146 -0
  101. package/dist/data/components/Select.js.map +1 -0
  102. package/dist/data/components/Skeleton.d.ts +15 -0
  103. package/dist/data/components/Skeleton.d.ts.map +1 -0
  104. package/dist/data/components/Skeleton.js +110 -0
  105. package/dist/data/components/Skeleton.js.map +1 -0
  106. package/dist/data/components/Slider.d.ts +15 -0
  107. package/dist/data/components/Slider.d.ts.map +1 -0
  108. package/dist/data/components/Slider.js +129 -0
  109. package/dist/data/components/Slider.js.map +1 -0
  110. package/dist/data/components/Switch.d.ts +15 -0
  111. package/dist/data/components/Switch.d.ts.map +1 -0
  112. package/dist/data/components/Switch.js +127 -0
  113. package/dist/data/components/Switch.js.map +1 -0
  114. package/dist/data/components/TabBar.d.ts +15 -0
  115. package/dist/data/components/TabBar.d.ts.map +1 -0
  116. package/dist/data/components/TabBar.js +145 -0
  117. package/dist/data/components/TabBar.js.map +1 -0
  118. package/dist/data/components/Table.d.ts +15 -0
  119. package/dist/data/components/Table.d.ts.map +1 -0
  120. package/dist/data/components/Table.js +151 -0
  121. package/dist/data/components/Table.js.map +1 -0
  122. package/dist/data/components/Tabs.d.ts +15 -0
  123. package/dist/data/components/Tabs.d.ts.map +1 -0
  124. package/dist/data/components/Tabs.js +150 -0
  125. package/dist/data/components/Tabs.js.map +1 -0
  126. package/dist/data/components/Text.d.ts +15 -0
  127. package/dist/data/components/Text.d.ts.map +1 -0
  128. package/dist/data/components/Text.js +85 -0
  129. package/dist/data/components/Text.js.map +1 -0
  130. package/dist/data/components/TextArea.d.ts +15 -0
  131. package/dist/data/components/TextArea.d.ts.map +1 -0
  132. package/dist/data/components/TextArea.js +155 -0
  133. package/dist/data/components/TextArea.js.map +1 -0
  134. package/dist/data/components/Tooltip.d.ts +15 -0
  135. package/dist/data/components/Tooltip.d.ts.map +1 -0
  136. package/dist/data/components/Tooltip.js +105 -0
  137. package/dist/data/components/Tooltip.js.map +1 -0
  138. package/dist/data/components/Video.d.ts +15 -0
  139. package/dist/data/components/Video.d.ts.map +1 -0
  140. package/dist/data/components/Video.js +168 -0
  141. package/dist/data/components/Video.js.map +1 -0
  142. package/dist/data/components/View.d.ts +15 -0
  143. package/dist/data/components/View.d.ts.map +1 -0
  144. package/dist/data/components/View.js +126 -0
  145. package/dist/data/components/View.js.map +1 -0
  146. package/dist/data/components/index.d.ts +37 -0
  147. package/dist/data/components/index.d.ts.map +1 -0
  148. package/dist/data/components/index.js +110 -0
  149. package/dist/data/components/index.js.map +1 -0
  150. package/dist/data/framework-guides.d.ts +2 -0
  151. package/dist/data/framework-guides.d.ts.map +1 -0
  152. package/dist/data/framework-guides.js +589 -0
  153. package/dist/data/framework-guides.js.map +1 -0
  154. package/dist/data/icon-guide.d.ts +2 -0
  155. package/dist/data/icon-guide.d.ts.map +1 -0
  156. package/dist/data/icon-guide.js +285 -0
  157. package/dist/data/icon-guide.js.map +1 -0
  158. package/dist/data/icons.json +7452 -0
  159. package/dist/data/navigation-guides.d.ts +2 -0
  160. package/dist/data/navigation-guides.d.ts.map +1 -0
  161. package/dist/data/navigation-guides.js +1196 -0
  162. package/dist/data/navigation-guides.js.map +1 -0
  163. package/dist/index.d.ts +3 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +422 -0
  166. package/dist/index.js.map +1 -0
  167. package/package.json +34 -0
  168. package/src/data/cli-commands.ts +103 -0
  169. package/src/data/components/Accordion.ts +106 -0
  170. package/src/data/components/ActivityIndicator.ts +82 -0
  171. package/src/data/components/Alert.ts +132 -0
  172. package/src/data/components/Avatar.ts +93 -0
  173. package/src/data/components/Badge.ts +63 -0
  174. package/src/data/components/Breadcrumb.ts +94 -0
  175. package/src/data/components/Button.ts +86 -0
  176. package/src/data/components/Card.ts +67 -0
  177. package/src/data/components/Checkbox.ts +117 -0
  178. package/src/data/components/Chip.ts +93 -0
  179. package/src/data/components/Dialog.ts +136 -0
  180. package/src/data/components/Divider.ts +70 -0
  181. package/src/data/components/Icon.ts +70 -0
  182. package/src/data/components/Image.ts +121 -0
  183. package/src/data/components/Input.ts +150 -0
  184. package/src/data/components/List.ts +103 -0
  185. package/src/data/components/Menu.ts +125 -0
  186. package/src/data/components/Popover.ts +159 -0
  187. package/src/data/components/Pressable.ts +123 -0
  188. package/src/data/components/Progress.ts +95 -0
  189. package/src/data/components/RadioButton.ts +130 -0
  190. package/src/data/components/SVGImage.ts +114 -0
  191. package/src/data/components/Screen.ts +103 -0
  192. package/src/data/components/Select.ts +140 -0
  193. package/src/data/components/Skeleton.ts +102 -0
  194. package/src/data/components/Slider.ts +150 -0
  195. package/src/data/components/Switch.ts +127 -0
  196. package/src/data/components/TabBar.ts +142 -0
  197. package/src/data/components/Table.ts +153 -0
  198. package/src/data/components/Tabs.ts +152 -0
  199. package/src/data/components/Text.ts +85 -0
  200. package/src/data/components/TextArea.ts +155 -0
  201. package/src/data/components/Tooltip.ts +105 -0
  202. package/src/data/components/Video.ts +168 -0
  203. package/src/data/components/View.ts +126 -0
  204. package/src/data/components/index.ts +109 -0
  205. package/src/data/framework-guides.ts +593 -0
  206. package/src/data/icon-guide.ts +284 -0
  207. package/src/data/icons.json +7452 -0
  208. package/src/data/navigation-guides.ts +1199 -0
  209. package/src/index.ts +473 -0
  210. package/test-client.js +86 -0
  211. package/tsconfig.json +20 -0
@@ -0,0 +1,112 @@
1
+ export const SVGImage = {
2
+ category: "media",
3
+ description: "SVG image component with color, size, and intent support",
4
+ props: `
5
+ - \`source\`: string | { uri: string } | React.FC<SvgProps> - SVG source (local file, URL, or component)
6
+ - \`width\`: number | string - Image width
7
+ - \`height\`: number | string - Image height
8
+ - \`size\`: number | string - Sets both width and height
9
+ - \`color\`: string - Custom color override
10
+ - \`intent\`: IntentNames - Theme intent color
11
+ - \`resizeMode\`: 'contain' | 'cover' | 'stretch' - How SVG fits container
12
+ - \`style\`: ViewProps - Additional styles
13
+ `,
14
+ features: [
15
+ "Multiple source types (file, URL, component)",
16
+ "Size and dimension control",
17
+ "Color customization",
18
+ "Theme intent colors",
19
+ "Resize modes",
20
+ "Cross-platform support",
21
+ ],
22
+ bestPractices: [
23
+ "Use local SVG files for icons and logos",
24
+ "Use remote URLs for dynamic SVGs",
25
+ "Set explicit size for consistent rendering",
26
+ "Use intent colors for theme consistency",
27
+ "Prefer 'contain' resizeMode to preserve aspect ratio",
28
+ "Optimize SVG files for web performance",
29
+ ],
30
+ usage: `
31
+ import { SVGImage } from '@idealyst/components';
32
+ import LogoIcon from './assets/logo.svg';
33
+
34
+ // Local SVG file
35
+ <SVGImage source={LogoIcon} size={48} intent="primary" />
36
+
37
+ // Remote SVG
38
+ <SVGImage
39
+ source={{ uri: 'https://cdn.example.com/icon.svg' }}
40
+ width={32}
41
+ height={32}
42
+ color="#FF0000"
43
+ />
44
+ `,
45
+ examples: {
46
+ basic: `import { SVGImage } from '@idealyst/components';
47
+ import Icon from './icon.svg';
48
+
49
+ <SVGImage source={Icon} size={24} />`,
50
+ variants: `import { SVGImage, View } from '@idealyst/components';
51
+ import Logo from './logo.svg';
52
+
53
+ <View style={{ flexDirection: 'row', gap: 16, alignItems: 'center' }}>
54
+ <SVGImage source={Logo} size={24} />
55
+ <SVGImage source={Logo} size={32} />
56
+ <SVGImage source={Logo} size={48} />
57
+ <SVGImage source={Logo} size={64} />
58
+ </View>`,
59
+ "with-icons": `import { SVGImage, View, Text } from '@idealyst/components';
60
+ import ReactLogo from './react-logo.svg';
61
+
62
+ <View style={{ flexDirection: 'row', alignItems: 'center', gap: 12 }}>
63
+ <SVGImage source={ReactLogo} size={32} color="#61dafb" />
64
+ <View spacing="xs">
65
+ <Text weight="bold">React Application</Text>
66
+ <Text size="small">Built with React & React Native</Text>
67
+ </View>
68
+ </View>`,
69
+ interactive: `import { SVGImage, View, Button, Text } from '@idealyst/components';
70
+ import { useState } from 'react';
71
+ import AppIcon from './app-icon.svg';
72
+
73
+ function Example() {
74
+ const [size, setSize] = useState(48);
75
+ const [intent, setIntent] = useState('primary');
76
+
77
+ const intents = ['primary', 'neutral', 'success', 'error', 'warning'];
78
+
79
+ return (
80
+ <View spacing="md" style={{ alignItems: 'center' }}>
81
+ <SVGImage source={AppIcon} size={size} intent={intent} />
82
+
83
+ <View style={{ flexDirection: 'row', gap: 8 }}>
84
+ <Button size="small" onPress={() => setSize(Math.max(24, size - 12))}>
85
+ Smaller
86
+ </Button>
87
+ <Button size="small" onPress={() => setSize(Math.min(96, size + 12))}>
88
+ Larger
89
+ </Button>
90
+ </View>
91
+
92
+ <View spacing="xs">
93
+ <Text size="small">Intent:</Text>
94
+ <View style={{ flexDirection: 'row', gap: 8, flexWrap: 'wrap' }}>
95
+ {intents.map((i) => (
96
+ <Button
97
+ key={i}
98
+ size="small"
99
+ variant={intent === i ? 'contained' : 'outlined'}
100
+ onPress={() => setIntent(i)}
101
+ >
102
+ {i}
103
+ </Button>
104
+ ))}
105
+ </View>
106
+ </View>
107
+ </View>
108
+ );
109
+ }`,
110
+ },
111
+ };
112
+ //# sourceMappingURL=SVGImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGImage.js","sourceRoot":"","sources":["../../../src/data/components/SVGImage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,0DAA0D;IACvE,KAAK,EAAE;;;;;;;;;CASR;IACC,QAAQ,EAAE;QACR,8CAA8C;QAC9C,4BAA4B;QAC5B,qBAAqB;QACrB,qBAAqB;QACrB,cAAc;QACd,wBAAwB;KACzB;IACD,aAAa,EAAE;QACb,yCAAyC;QACzC,kCAAkC;QAClC,4CAA4C;QAC5C,yCAAyC;QACzC,sDAAsD;QACtD,wCAAwC;KACzC;IACD,KAAK,EAAE;;;;;;;;;;;;;;CAcR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;;qCAG0B;QAEjC,QAAQ,EAAE;;;;;;;;QAQN;QAEJ,YAAY,EAAE;;;;;;;;;QASV;QAEJ,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCf;KACC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const Screen: {
2
+ category: string;
3
+ description: string;
4
+ props: string;
5
+ features: string[];
6
+ bestPractices: string[];
7
+ usage: string;
8
+ examples: {
9
+ basic: string;
10
+ variants: string;
11
+ "with-icons": string;
12
+ interactive: string;
13
+ };
14
+ };
15
+ //# sourceMappingURL=Screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/data/components/Screen.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAoGlB,CAAC"}
@@ -0,0 +1,99 @@
1
+ export const Screen = {
2
+ category: "layout",
3
+ description: "Full-screen container component with background variants, padding, and safe area support",
4
+ props: `
5
+ - \`children\`: ReactNode - Content to display inside the screen
6
+ - \`background\`: 'primary' | 'secondary' | 'tertiary' | 'inverse' - Background color variant
7
+ - \`padding\`: 'none' | 'sm' | 'md' | 'lg' | 'xl' - Screen padding variant
8
+ - \`safeArea\`: boolean - Apply safe area padding for mobile devices
9
+ - \`style\`: any - Additional custom styles
10
+ - \`testID\`: string - Test identifier
11
+ - \`scrollable\`: boolean - Make content scrollable
12
+ `,
13
+ features: [
14
+ "Four background color variants",
15
+ "Five padding options",
16
+ "Safe area support for notches/home indicators",
17
+ "Optional scrollable content",
18
+ "Full-screen container",
19
+ "Cross-platform support",
20
+ ],
21
+ bestPractices: [
22
+ "Use as root container for app screens",
23
+ "Enable safeArea for mobile apps",
24
+ "Use 'primary' background for main content",
25
+ "Use 'inverse' background for dark mode or special screens",
26
+ "Combine with View for internal spacing",
27
+ "Enable scrollable for long content",
28
+ ],
29
+ usage: `
30
+ import { Screen, View, Text } from '@idealyst/components';
31
+
32
+ <Screen background="primary" padding="md" safeArea>
33
+ <View spacing="lg">
34
+ <Text size="xlarge" weight="bold">Screen Title</Text>
35
+ <Text>Screen content goes here</Text>
36
+ </View>
37
+ </Screen>
38
+ `,
39
+ examples: {
40
+ basic: `import { Screen, Text } from '@idealyst/components';
41
+
42
+ <Screen background="primary" padding="md">
43
+ <Text>Basic screen content</Text>
44
+ </Screen>`,
45
+ variants: `import { Screen, Text } from '@idealyst/components';
46
+
47
+ // Different backgrounds
48
+ <Screen background="primary"><Text>Primary</Text></Screen>
49
+ <Screen background="secondary"><Text>Secondary</Text></Screen>
50
+ <Screen background="tertiary"><Text>Tertiary</Text></Screen>
51
+ <Screen background="inverse"><Text>Inverse</Text></Screen>`,
52
+ "with-icons": `import { Screen, View, Icon, Text } from '@idealyst/components';
53
+
54
+ <Screen background="primary" padding="lg" safeArea>
55
+ <View spacing="md">
56
+ <View style={{ alignItems: 'center' }}>
57
+ <Icon name="check-circle" size="xl" color="success" />
58
+ </View>
59
+ <Text align="center" size="xlarge" weight="bold">
60
+ Success!
61
+ </Text>
62
+ <Text align="center">
63
+ Your action was completed successfully
64
+ </Text>
65
+ </View>
66
+ </Screen>`,
67
+ interactive: `import { Screen, View, Text, Button } from '@idealyst/components';
68
+ import { useState } from 'react';
69
+
70
+ function Example() {
71
+ const [darkMode, setDarkMode] = useState(false);
72
+
73
+ return (
74
+ <Screen
75
+ background={darkMode ? 'inverse' : 'primary'}
76
+ padding="md"
77
+ safeArea
78
+ scrollable
79
+ >
80
+ <View spacing="lg">
81
+ <Text size="xlarge" weight="bold">
82
+ Settings
83
+ </Text>
84
+ <Button
85
+ onPress={() => setDarkMode(!darkMode)}
86
+ variant="outlined"
87
+ >
88
+ Toggle {darkMode ? 'Light' : 'Dark'} Mode
89
+ </Button>
90
+ <Text>
91
+ Current theme: {darkMode ? 'Dark' : 'Light'}
92
+ </Text>
93
+ </View>
94
+ </Screen>
95
+ );
96
+ }`,
97
+ },
98
+ };
99
+ //# sourceMappingURL=Screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Screen.js","sourceRoot":"","sources":["../../../src/data/components/Screen.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,0FAA0F;IACvG,KAAK,EAAE;;;;;;;;CAQR;IACC,QAAQ,EAAE;QACR,gCAAgC;QAChC,sBAAsB;QACtB,+CAA+C;QAC/C,6BAA6B;QAC7B,uBAAuB;QACvB,wBAAwB;KACzB;IACD,aAAa,EAAE;QACb,uCAAuC;QACvC,iCAAiC;QACjC,2CAA2C;QAC3C,2DAA2D;QAC3D,wCAAwC;QACxC,oCAAoC;KACrC;IACD,KAAK,EAAE;;;;;;;;;CASR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;;;UAID;QAEN,QAAQ,EAAE;;;;;;2DAM6C;QAEvD,YAAY,EAAE;;;;;;;;;;;;;;UAcR;QAEN,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6Bf;KACC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const Select: {
2
+ category: string;
3
+ description: string;
4
+ props: string;
5
+ features: string[];
6
+ bestPractices: string[];
7
+ usage: string;
8
+ examples: {
9
+ basic: string;
10
+ variants: string;
11
+ "with-icons": string;
12
+ interactive: string;
13
+ };
14
+ };
15
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/data/components/Select.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAmJlB,CAAC"}
@@ -0,0 +1,146 @@
1
+ export const Select = {
2
+ category: "form",
3
+ description: "Dropdown select component for choosing from a list of options",
4
+ props: `
5
+ - \`options\`: SelectOption[] - Array of select options
6
+ - \`value\`: string - Unique value
7
+ - \`label\`: string - Display label
8
+ - \`disabled\`: boolean - Whether disabled
9
+ - \`icon\`: ReactNode - Optional icon
10
+ - \`value\`: string - Currently selected value
11
+ - \`onValueChange\`: (value: string) => void - Selection change handler
12
+ - \`placeholder\`: string - Placeholder text when no value
13
+ - \`disabled\`: boolean - Whether the select is disabled
14
+ - \`error\`: boolean - Whether to show error state
15
+ - \`helperText\`: string - Helper text below select
16
+ - \`label\`: string - Label text above select
17
+ - \`variant\`: 'outlined' | 'filled' - Visual style
18
+ - \`intent\`: IntentVariant - Color scheme
19
+ - \`size\`: 'small' | 'medium' | 'large' - Select size
20
+ - \`searchable\`: boolean - Enable search/filter (web only)
21
+ - \`filterOption\`: (option, searchTerm) => boolean - Custom filter function
22
+ - \`presentationMode\`: 'dropdown' | 'actionSheet' - iOS presentation (native only)
23
+ - \`maxHeight\`: number - Maximum height for dropdown
24
+ - \`style\`: any - Additional styles
25
+ - \`testID\`: string - Test identifier
26
+ - \`accessibilityLabel\`: string - Accessibility label
27
+ `,
28
+ features: [
29
+ "Single selection from options",
30
+ "Searchable dropdown (web)",
31
+ "Icon support for options",
32
+ "Two visual variants",
33
+ "Label and helper text",
34
+ "Error state",
35
+ "Disabled options",
36
+ "Custom filtering",
37
+ "Platform-specific presentation modes",
38
+ ],
39
+ bestPractices: [
40
+ "Use for 5+ options (use RadioGroup for fewer)",
41
+ "Enable searchable for long option lists",
42
+ "Provide clear placeholder text",
43
+ "Group related options visually",
44
+ "Show error states inline with helperText",
45
+ "Consider icons for visual categorization",
46
+ ],
47
+ usage: `
48
+ import { Select } from '@idealyst/components';
49
+ import { useState } from 'react';
50
+
51
+ function Example() {
52
+ const [value, setValue] = useState('');
53
+
54
+ const options = [
55
+ { value: 'us', label: 'United States' },
56
+ { value: 'ca', label: 'Canada' },
57
+ { value: 'uk', label: 'United Kingdom' },
58
+ ];
59
+
60
+ return (
61
+ <Select
62
+ label="Country"
63
+ options={options}
64
+ value={value}
65
+ onValueChange={setValue}
66
+ placeholder="Select a country"
67
+ />
68
+ );
69
+ }
70
+ `,
71
+ examples: {
72
+ basic: `import { Select } from '@idealyst/components';
73
+
74
+ const options = [
75
+ { value: '1', label: 'Option 1' },
76
+ { value: '2', label: 'Option 2' },
77
+ ];
78
+
79
+ <Select options={options} placeholder="Choose..." />`,
80
+ variants: `import { Select, View } from '@idealyst/components';
81
+
82
+ const options = [{ value: '1', label: 'Option' }];
83
+
84
+ <View spacing="md">
85
+ <Select options={options} variant="outlined" size="small" />
86
+ <Select options={options} variant="filled" size="medium" />
87
+ <Select options={options} variant="outlined" size="large" />
88
+ </View>`,
89
+ "with-icons": `import { Select } from '@idealyst/components';
90
+
91
+ const options = [
92
+ { value: 'light', label: 'Light Mode', icon: <Icon name="white-balance-sunny" /> },
93
+ { value: 'dark', label: 'Dark Mode', icon: <Icon name="weather-night" /> },
94
+ { value: 'auto', label: 'Auto', icon: <Icon name="brightness-auto" /> },
95
+ ];
96
+
97
+ <Select
98
+ label="Theme"
99
+ options={options}
100
+ value={theme}
101
+ onValueChange={setTheme}
102
+ />`,
103
+ interactive: `import { Select, View, Text } from '@idealyst/components';
104
+ import { useState } from 'react';
105
+
106
+ function Example() {
107
+ const [country, setCountry] = useState('');
108
+ const [error, setError] = useState('');
109
+
110
+ const countries = [
111
+ { value: 'us', label: 'United States' },
112
+ { value: 'ca', label: 'Canada' },
113
+ { value: 'uk', label: 'United Kingdom' },
114
+ { value: 'au', label: 'Australia' },
115
+ ];
116
+
117
+ const handleChange = (value: string) => {
118
+ setCountry(value);
119
+ setError('');
120
+ };
121
+
122
+ const handleSubmit = () => {
123
+ if (!country) {
124
+ setError('Please select a country');
125
+ }
126
+ };
127
+
128
+ return (
129
+ <View spacing="md">
130
+ <Select
131
+ label="Country"
132
+ options={countries}
133
+ value={country}
134
+ onValueChange={handleChange}
135
+ placeholder="Select your country"
136
+ error={!!error}
137
+ helperText={error || 'Choose your country of residence'}
138
+ searchable
139
+ />
140
+ <Button onPress={handleSubmit}>Submit</Button>
141
+ </View>
142
+ );
143
+ }`,
144
+ },
145
+ };
146
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/data/components/Select.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,+DAA+D;IAC5E,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBR;IACC,QAAQ,EAAE;QACR,+BAA+B;QAC/B,2BAA2B;QAC3B,0BAA0B;QAC1B,qBAAqB;QACrB,uBAAuB;QACvB,aAAa;QACb,kBAAkB;QAClB,kBAAkB;QAClB,sCAAsC;KACvC;IACD,aAAa,EAAE;QACb,+CAA+C;QAC/C,yCAAyC;QACzC,gCAAgC;QAChC,gCAAgC;QAChC,0CAA0C;QAC1C,0CAA0C;KAC3C;IACD,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;;;;;;qDAO0C;QAEjD,QAAQ,EAAE;;;;;;;;QAQN;QAEJ,YAAY,EAAE;;;;;;;;;;;;;GAaf;QAEC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCf;KACC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const Skeleton: {
2
+ category: string;
3
+ description: string;
4
+ props: string;
5
+ features: string[];
6
+ bestPractices: string[];
7
+ usage: string;
8
+ examples: {
9
+ basic: string;
10
+ variants: string;
11
+ "with-icons": string;
12
+ interactive: string;
13
+ };
14
+ };
15
+ //# sourceMappingURL=Skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/data/components/Skeleton.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CA+GpB,CAAC"}
@@ -0,0 +1,110 @@
1
+ export const Skeleton = {
2
+ category: "feedback",
3
+ description: "Loading placeholder that mimics content structure while data loads",
4
+ props: `
5
+ Skeleton Props:
6
+ - \`width\`: number | string - Width of skeleton (default: '100%')
7
+ - \`height\`: number | string - Height of skeleton (default: 20)
8
+ - \`shape\`: 'rectangle' | 'circle' | 'rounded' - Shape of skeleton (default: 'rectangle')
9
+ - \`borderRadius\`: number - Border radius for 'rounded' shape (default: 8)
10
+ - \`animation\`: 'pulse' | 'wave' | 'none' - Animation type (default: 'pulse')
11
+ - \`style\`: ViewStyle - Additional custom styles
12
+ - \`testID\`: string - Test identifier
13
+
14
+ SkeletonGroup Props:
15
+ - \`count\`: number - Number of skeleton items (default: 3)
16
+ - \`spacing\`: number - Spacing between items in pixels (default: 12)
17
+ - \`skeletonProps\`: Omit<SkeletonProps, 'testID'> - Props for each skeleton
18
+ - \`style\`: ViewStyle - Container styles
19
+ - \`testID\`: string - Test identifier
20
+ `,
21
+ features: [
22
+ "Three shapes: rectangle, circle, rounded",
23
+ "Three animation types",
24
+ "Configurable dimensions",
25
+ "Group component for multiple skeletons",
26
+ "Customizable spacing",
27
+ "Mimics content structure",
28
+ ],
29
+ bestPractices: [
30
+ "Match skeleton shape to actual content",
31
+ "Use pulse animation for general loading",
32
+ "Use wave animation for feed-like content",
33
+ "Show skeleton while data is loading",
34
+ "Replace skeleton with actual content smoothly",
35
+ "Use SkeletonGroup for consistent layouts",
36
+ ],
37
+ usage: `
38
+ import { Skeleton, SkeletonGroup } from '@idealyst/components';
39
+
40
+ // Single skeleton
41
+ <Skeleton width={200} height={20} shape="rounded" />
42
+
43
+ // Multiple skeletons
44
+ <SkeletonGroup
45
+ count={3}
46
+ spacing={16}
47
+ skeletonProps={{ width: '100%', height: 60, shape: 'rounded' }}
48
+ />
49
+ `,
50
+ examples: {
51
+ basic: `import { Skeleton } from '@idealyst/components';
52
+
53
+ <Skeleton width={150} height={20} />`,
54
+ variants: `import { Skeleton, View } from '@idealyst/components';
55
+
56
+ <View spacing="md">
57
+ <Skeleton width="100%" height={20} shape="rectangle" />
58
+ <Skeleton width={100} height={100} shape="circle" />
59
+ <Skeleton width={200} height={40} shape="rounded" />
60
+ </View>`,
61
+ "with-icons": `import { Skeleton, View } from '@idealyst/components';
62
+
63
+ // Mimicking a user card
64
+ <View style={{ flexDirection: 'row', gap: 12, alignItems: 'center' }}>
65
+ <Skeleton width={48} height={48} shape="circle" />
66
+ <View spacing="sm" style={{ flex: 1 }}>
67
+ <Skeleton width="60%" height={16} />
68
+ <Skeleton width="40%" height={14} />
69
+ </View>
70
+ </View>`,
71
+ interactive: `import { Skeleton, SkeletonGroup, View, Card, Text, Button } from '@idealyst/components';
72
+ import { useState, useEffect } from 'react';
73
+
74
+ function Example() {
75
+ const [loading, setLoading] = useState(true);
76
+ const [data, setData] = useState(null);
77
+
78
+ useEffect(() => {
79
+ setTimeout(() => {
80
+ setData({ title: 'Article Title', content: 'Article content...' });
81
+ setLoading(false);
82
+ }, 2000);
83
+ }, []);
84
+
85
+ if (loading) {
86
+ return (
87
+ <Card padding="medium">
88
+ <View spacing="md">
89
+ <Skeleton width="80%" height={24} shape="rounded" />
90
+ <SkeletonGroup
91
+ count={3}
92
+ skeletonProps={{ width: '100%', height: 16 }}
93
+ />
94
+ </View>
95
+ </Card>
96
+ );
97
+ }
98
+
99
+ return (
100
+ <Card padding="medium">
101
+ <View spacing="md">
102
+ <Text size="large" weight="bold">{data.title}</Text>
103
+ <Text>{data.content}</Text>
104
+ </View>
105
+ </Card>
106
+ );
107
+ }`,
108
+ },
109
+ };
110
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../src/data/components/Skeleton.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,oEAAoE;IACjF,KAAK,EAAE;;;;;;;;;;;;;;;;CAgBR;IACC,QAAQ,EAAE;QACR,0CAA0C;QAC1C,uBAAuB;QACvB,yBAAyB;QACzB,wCAAwC;QACxC,sBAAsB;QACtB,0BAA0B;KAC3B;IACD,aAAa,EAAE;QACb,wCAAwC;QACxC,yCAAyC;QACzC,0CAA0C;QAC1C,qCAAqC;QACrC,+CAA+C;QAC/C,0CAA0C;KAC3C;IACD,KAAK,EAAE;;;;;;;;;;;;CAYR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;qCAE0B;QAEjC,QAAQ,EAAE;;;;;;QAMN;QAEJ,YAAY,EAAE;;;;;;;;;QASV;QAEJ,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCf;KACC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const Slider: {
2
+ category: string;
3
+ description: string;
4
+ props: string;
5
+ features: string[];
6
+ bestPractices: string[];
7
+ usage: string;
8
+ examples: {
9
+ basic: string;
10
+ variants: string;
11
+ "with-icons": string;
12
+ interactive: string;
13
+ };
14
+ };
15
+ //# sourceMappingURL=Slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/data/components/Slider.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAkIlB,CAAC"}