@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,159 @@
1
+ export const Popover = {
2
+ category: "overlay",
3
+ description: "Floating overlay that displays content anchored to an element, useful for tooltips, menus, and contextual information",
4
+ props: `
5
+ - \`open\`: boolean - Whether the popover is open/visible
6
+ - \`onOpenChange\`: (open: boolean) => void - Called when popover should open/close
7
+ - \`anchor\`: ReactNode | React.RefObject<Element> - Anchor element to position relative to
8
+ - \`children\`: ReactNode - Content to display inside popover
9
+ - \`placement\`: PopoverPlacement - Preferred placement (top, bottom, left, right with -start, -end modifiers)
10
+ - \`offset\`: number - Distance from anchor element in pixels
11
+ - \`closeOnClickOutside\`: boolean - Close when clicking outside (default: true)
12
+ - \`closeOnEscapeKey\`: boolean - Close on Escape key press (web only, default: true)
13
+ - \`showArrow\`: boolean - Show arrow pointing to anchor
14
+ - \`style\`: any - Additional custom styles
15
+ - \`testID\`: string - Test identifier
16
+ `,
17
+ features: [
18
+ "12 placement options with smart positioning",
19
+ "Automatic repositioning on scroll/resize",
20
+ "Click outside to close",
21
+ "Escape key to close (web)",
22
+ "Optional arrow indicator",
23
+ "Offset control",
24
+ "Accessible with focus management",
25
+ ],
26
+ bestPractices: [
27
+ "Use for contextual information that doesn't require immediate action",
28
+ "Keep popover content focused and concise",
29
+ "Use arrow to clearly indicate relationship to anchor",
30
+ "Allow closing via click outside and Escape key",
31
+ "Don't nest popovers",
32
+ "Consider using Dialog for critical content",
33
+ ],
34
+ usage: `
35
+ import { Popover, Button, View, Text } from '@idealyst/components';
36
+ import { useState, useRef } from 'react';
37
+
38
+ function Example() {
39
+ const [open, setOpen] = useState(false);
40
+ const buttonRef = useRef(null);
41
+
42
+ return (
43
+ <>
44
+ <div ref={buttonRef}>
45
+ <Button onPress={() => setOpen(true)}>Show Info</Button>
46
+ </div>
47
+ <Popover
48
+ open={open}
49
+ onOpenChange={setOpen}
50
+ anchor={buttonRef}
51
+ placement="bottom"
52
+ showArrow
53
+ >
54
+ <View spacing="sm" style={{ padding: 16 }}>
55
+ <Text weight="bold">Information</Text>
56
+ <Text>Additional context or help text</Text>
57
+ </View>
58
+ </Popover>
59
+ </>
60
+ );
61
+ }
62
+ `,
63
+ examples: {
64
+ basic: `import { Popover, Button, Text } from '@idealyst/components';
65
+ import { useState, useRef } from 'react';
66
+
67
+ const [open, setOpen] = useState(false);
68
+ const buttonRef = useRef(null);
69
+
70
+ <div ref={buttonRef}>
71
+ <Button onPress={() => setOpen(true)}>Open</Button>
72
+ </div>
73
+ <Popover open={open} onOpenChange={setOpen} anchor={buttonRef}>
74
+ <Text>Popover content</Text>
75
+ </Popover>`,
76
+ variants: `import { Popover, Button, View } from '@idealyst/components';
77
+
78
+ // Different placements
79
+ <Popover open={open} onOpenChange={setOpen} anchor={ref} placement="top">
80
+ <View>Top</View>
81
+ </Popover>
82
+ <Popover open={open} onOpenChange={setOpen} anchor={ref} placement="bottom-start">
83
+ <View>Bottom Start</View>
84
+ </Popover>
85
+ <Popover open={open} onOpenChange={setOpen} anchor={ref} placement="right-end">
86
+ <View>Right End</View>
87
+ </Popover>`,
88
+ "with-icons": `import { Popover, Button, View, Icon, Text } from '@idealyst/components';
89
+ import { useState, useRef } from 'react';
90
+
91
+ const buttonRef = useRef(null);
92
+ const [open, setOpen] = useState(false);
93
+
94
+ <div ref={buttonRef}>
95
+ <Button icon="help-circle" variant="text" onPress={() => setOpen(true)} />
96
+ </div>
97
+ <Popover open={open} onOpenChange={setOpen} anchor={buttonRef} showArrow>
98
+ <View spacing="sm" style={{ padding: 12, maxWidth: 250 }}>
99
+ <View style={{ flexDirection: 'row', gap: 8, alignItems: 'center' }}>
100
+ <Icon name="information" size="md" color="primary" />
101
+ <Text weight="bold">Help</Text>
102
+ </View>
103
+ <Text size="small">This feature allows you to...</Text>
104
+ </View>
105
+ </Popover>`,
106
+ interactive: `import { Popover, Button, View, Text, Input } from '@idealyst/components';
107
+ import { useState, useRef } from 'react';
108
+
109
+ function Example() {
110
+ const [open, setOpen] = useState(false);
111
+ const [value, setValue] = useState('');
112
+ const buttonRef = useRef(null);
113
+
114
+ return (
115
+ <View spacing="md">
116
+ <div ref={buttonRef}>
117
+ <Button onPress={() => setOpen(true)}>Edit Name</Button>
118
+ </div>
119
+
120
+ <Popover
121
+ open={open}
122
+ onOpenChange={setOpen}
123
+ anchor={buttonRef}
124
+ placement="bottom-start"
125
+ closeOnClickOutside={false}
126
+ >
127
+ <View spacing="md" style={{ padding: 16, minWidth: 250 }}>
128
+ <Text weight="bold">Edit Name</Text>
129
+ <Input
130
+ value={value}
131
+ onChangeText={setValue}
132
+ placeholder="Enter name"
133
+ />
134
+ <View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
135
+ <Button
136
+ variant="outlined"
137
+ size="small"
138
+ onPress={() => setOpen(false)}
139
+ >
140
+ Cancel
141
+ </Button>
142
+ <Button
143
+ size="small"
144
+ onPress={() => {
145
+ handleSave(value);
146
+ setOpen(false);
147
+ }}
148
+ >
149
+ Save
150
+ </Button>
151
+ </View>
152
+ </View>
153
+ </Popover>
154
+ </View>
155
+ );
156
+ }`,
157
+ },
158
+ };
159
+ //# sourceMappingURL=Popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/data/components/Popover.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,uHAAuH;IACpI,KAAK,EAAE;;;;;;;;;;;;CAYR;IACC,QAAQ,EAAE;QACR,6CAA6C;QAC7C,0CAA0C;QAC1C,wBAAwB;QACxB,2BAA2B;QAC3B,0BAA0B;QAC1B,gBAAgB;QAChB,kCAAkC;KACnC;IACD,aAAa,EAAE;QACb,sEAAsE;QACtE,0CAA0C;QAC1C,sDAAsD;QACtD,gDAAgD;QAChD,qBAAqB;QACrB,4CAA4C;KAC7C;IACD,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;;;;;;;;;;WAWA;QAEP,QAAQ,EAAE;;;;;;;;;;;WAWH;QAEP,YAAY,EAAE;;;;;;;;;;;;;;;;;WAiBP;QAEP,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDf;KACC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const Pressable: {
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=Pressable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pressable.d.ts","sourceRoot":"","sources":["../../../src/data/components/Pressable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;CA8HrB,CAAC"}
@@ -0,0 +1,125 @@
1
+ export const Pressable = {
2
+ category: "utility",
3
+ description: "Wrapper component that detects various press interactions on children",
4
+ props: `
5
+ - \`children\`: ReactNode - Content to render inside pressable area
6
+ - \`onPress\`: () => void - Called when press gesture is activated
7
+ - \`onPressIn\`: () => void - Called when press gesture starts
8
+ - \`onPressOut\`: () => void - Called when press gesture ends
9
+ - \`disabled\`: boolean - Whether the pressable is disabled
10
+ - \`style\`: any - Additional styles to apply
11
+ - \`testID\`: string - Test identifier
12
+ - \`accessibilityLabel\`: string - Accessibility label for screen readers
13
+ - \`accessibilityRole\`: string - Accessibility role (web)
14
+ `,
15
+ features: [
16
+ "Press, press-in, press-out callbacks",
17
+ "Disabled state",
18
+ "Accessibility support",
19
+ "Custom styling",
20
+ "Cross-platform support",
21
+ "Touch feedback",
22
+ ],
23
+ bestPractices: [
24
+ "Use for custom interactive elements",
25
+ "Prefer Button for standard button interactions",
26
+ "Provide accessibilityLabel for screen readers",
27
+ "Use accessibilityRole for semantic meaning",
28
+ "Add visual feedback on press",
29
+ "Ensure minimum 44x44px touch target",
30
+ ],
31
+ usage: `
32
+ import { Pressable, Text, View } from '@idealyst/components';
33
+
34
+ <Pressable onPress={() => console.log('Pressed')}>
35
+ <View style={{ padding: 16, backgroundColor: '#f0f0f0' }}>
36
+ <Text>Press me</Text>
37
+ </View>
38
+ </Pressable>
39
+ `,
40
+ examples: {
41
+ basic: `import { Pressable, Text } from '@idealyst/components';
42
+
43
+ <Pressable onPress={() => console.log('Pressed')}>
44
+ <Text>Tap here</Text>
45
+ </Pressable>`,
46
+ variants: `import { Pressable, View, Text } from '@idealyst/components';
47
+ import { useState } from 'react';
48
+
49
+ function Example() {
50
+ const [pressed, setPressed] = useState(false);
51
+
52
+ return (
53
+ <Pressable
54
+ onPressIn={() => setPressed(true)}
55
+ onPressOut={() => setPressed(false)}
56
+ >
57
+ <View
58
+ style={{
59
+ padding: 16,
60
+ backgroundColor: pressed ? '#e0e0e0' : '#f5f5f5',
61
+ borderRadius: 8,
62
+ }}
63
+ >
64
+ <Text>{pressed ? 'Pressing...' : 'Press me'}</Text>
65
+ </View>
66
+ </Pressable>
67
+ );
68
+ }`,
69
+ "with-icons": `import { Pressable, View, Icon, Text } from '@idealyst/components';
70
+
71
+ <Pressable
72
+ onPress={() => handleAction()}
73
+ accessibilityLabel="Perform action"
74
+ accessibilityRole="button"
75
+ >
76
+ <View
77
+ style={{
78
+ flexDirection: 'row',
79
+ alignItems: 'center',
80
+ gap: 8,
81
+ padding: 12,
82
+ backgroundColor: '#f0f0f0',
83
+ borderRadius: 8,
84
+ }}
85
+ >
86
+ <Icon name="star" size="md" color="primary" />
87
+ <Text>Custom Button</Text>
88
+ </View>
89
+ </Pressable>`,
90
+ interactive: `import { Pressable, View, Text, Icon } from '@idealyst/components';
91
+ import { useState } from 'react';
92
+
93
+ function CustomCard() {
94
+ const [selected, setSelected] = useState(false);
95
+
96
+ return (
97
+ <Pressable
98
+ onPress={() => setSelected(!selected)}
99
+ accessibilityLabel="Toggle selection"
100
+ >
101
+ <View
102
+ style={{
103
+ padding: 16,
104
+ backgroundColor: selected ? '#e3f2fd' : '#fff',
105
+ borderWidth: 2,
106
+ borderColor: selected ? '#2196f3' : '#e0e0e0',
107
+ borderRadius: 8,
108
+ }}
109
+ >
110
+ <View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
111
+ <View spacing="xs">
112
+ <Text weight="bold">Custom Card</Text>
113
+ <Text size="small">Tap to {selected ? 'deselect' : 'select'}</Text>
114
+ </View>
115
+ {selected && (
116
+ <Icon name="check-circle" size="lg" color="primary" />
117
+ )}
118
+ </View>
119
+ </View>
120
+ </Pressable>
121
+ );
122
+ }`,
123
+ },
124
+ };
125
+ //# sourceMappingURL=Pressable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pressable.js","sourceRoot":"","sources":["../../../src/data/components/Pressable.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,uEAAuE;IACpF,KAAK,EAAE;;;;;;;;;;CAUR;IACC,QAAQ,EAAE;QACR,sCAAsC;QACtC,gBAAgB;QAChB,uBAAuB;QACvB,gBAAgB;QAChB,wBAAwB;QACxB,gBAAgB;KACjB;IACD,aAAa,EAAE;QACb,qCAAqC;QACrC,gDAAgD;QAChD,+CAA+C;QAC/C,4CAA4C;QAC5C,8BAA8B;QAC9B,qCAAqC;KACtC;IACD,KAAK,EAAE;;;;;;;;CAQR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;;;aAIE;QAET,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;EAsBZ;QAEE,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;aAoBL;QAET,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCf;KACC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const Progress: {
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=Progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../src/data/components/Progress.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAgGpB,CAAC"}
@@ -0,0 +1,95 @@
1
+ export const Progress = {
2
+ category: "feedback",
3
+ description: "Progress indicator showing completion status of tasks or operations",
4
+ props: `
5
+ - \`value\`: number - Current progress value (0-max)
6
+ - \`max\`: number - Maximum value (default: 100)
7
+ - \`variant\`: 'linear' | 'circular' - Progress bar style
8
+ - \`intent\`: 'primary' | 'neutral' | 'success' | 'error' | 'warning' - Color scheme
9
+ - \`size\`: 'small' | 'medium' | 'large' - Size of progress indicator
10
+ - \`indeterminate\`: boolean - Show indeterminate/loading state
11
+ - \`showLabel\`: boolean - Show percentage label
12
+ - \`label\`: string - Custom label text
13
+ - \`rounded\`: boolean - Rounded ends (linear variant)
14
+ - \`style\`: ViewStyle - Additional custom styles
15
+ - \`testID\`: string - Test identifier
16
+ `,
17
+ features: [
18
+ "Linear and circular variants",
19
+ "Determinate and indeterminate modes",
20
+ "Five intent colors",
21
+ "Three sizes",
22
+ "Percentage label support",
23
+ "Custom label text",
24
+ "Rounded ends option",
25
+ ],
26
+ bestPractices: [
27
+ "Use determinate progress when percentage is known",
28
+ "Use indeterminate progress for unknown duration",
29
+ "Show label for user feedback",
30
+ "Use circular variant for compact spaces",
31
+ "Match intent to operation context",
32
+ ],
33
+ usage: `
34
+ import { Progress } from '@idealyst/components';
35
+
36
+ <Progress
37
+ value={65}
38
+ variant="linear"
39
+ intent="primary"
40
+ showLabel
41
+ />
42
+ `,
43
+ examples: {
44
+ basic: `import { Progress } from '@idealyst/components';
45
+
46
+ <Progress value={50} />`,
47
+ variants: `import { Progress, View } from '@idealyst/components';
48
+
49
+ <View spacing="md">
50
+ <Progress value={30} variant="linear" intent="primary" />
51
+ <Progress value={60} variant="linear" intent="success" />
52
+ <Progress value={value} variant="circular" size="large" showLabel />
53
+ </View>`,
54
+ "with-icons": `import { Progress, View, Text } from '@idealyst/components';
55
+
56
+ <View spacing="sm">
57
+ <View style={{ flexDirection: 'row', justifyContent: 'space-between' }}>
58
+ <Text>Uploading...</Text>
59
+ <Text>{progress}%</Text>
60
+ </View>
61
+ <Progress value={progress} intent="primary" />
62
+ </View>`,
63
+ interactive: `import { Progress, Button, View, Text } from '@idealyst/components';
64
+ import { useState, useEffect } from 'react';
65
+
66
+ function Example() {
67
+ const [progress, setProgress] = useState(0);
68
+ const [running, setRunning] = useState(false);
69
+
70
+ useEffect(() => {
71
+ if (running && progress < 100) {
72
+ const timer = setTimeout(() => setProgress(progress + 10), 500);
73
+ return () => clearTimeout(timer);
74
+ } else if (progress >= 100) {
75
+ setRunning(false);
76
+ }
77
+ }, [progress, running]);
78
+
79
+ const handleStart = () => {
80
+ setProgress(0);
81
+ setRunning(true);
82
+ };
83
+
84
+ return (
85
+ <View spacing="md">
86
+ <Progress value={progress} intent="success" showLabel />
87
+ <Button onPress={handleStart} disabled={running}>
88
+ Start
89
+ </Button>
90
+ </View>
91
+ );
92
+ }`,
93
+ },
94
+ };
95
+ //# sourceMappingURL=Progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.js","sourceRoot":"","sources":["../../../src/data/components/Progress.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,qEAAqE;IAClF,KAAK,EAAE;;;;;;;;;;;;CAYR;IACC,QAAQ,EAAE;QACR,8BAA8B;QAC9B,qCAAqC;QACrC,oBAAoB;QACpB,aAAa;QACb,0BAA0B;QAC1B,mBAAmB;QACnB,qBAAqB;KACtB;IACD,aAAa,EAAE;QACb,mDAAmD;QACnD,iDAAiD;QACjD,8BAA8B;QAC9B,yCAAyC;QACzC,mCAAmC;KACpC;IACD,KAAK,EAAE;;;;;;;;;CASR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;wBAEa;QAEpB,QAAQ,EAAE;;;;;;QAMN;QAEJ,YAAY,EAAE;;;;;;;;QAQV;QAEJ,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6Bf;KACC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const RadioButton: {
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=RadioButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButton.d.ts","sourceRoot":"","sources":["../../../src/data/components/RadioButton.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;CA6IvB,CAAC"}
@@ -0,0 +1,140 @@
1
+ export const RadioButton = {
2
+ category: "form",
3
+ description: "Radio button for single-choice selection within a group",
4
+ props: `
5
+ RadioButton Props:
6
+ - \`value\`: string - The value of this radio button
7
+ - \`checked\`: boolean - Whether the radio is checked
8
+ - \`onPress\`: () => void - Press handler
9
+ - \`disabled\`: boolean - Whether disabled
10
+ - \`label\`: string - Label text
11
+ - \`size\`: 'small' | 'medium' | 'large' - Radio size
12
+ - \`intent\`: 'primary' | 'success' | 'error' | 'warning' | 'neutral' - Color scheme
13
+ - \`style\`: ViewStyle - Additional styles
14
+ - \`testID\`: string - Test identifier
15
+
16
+ RadioGroup Props:
17
+ - \`value\`: string - Currently selected value
18
+ - \`onValueChange\`: (value: string) => void - Selection change handler
19
+ - \`disabled\`: boolean - Disable all radio buttons
20
+ - \`orientation\`: 'horizontal' | 'vertical' - Layout orientation
21
+ - \`children\`: ReactNode - Radio button children
22
+ - \`style\`: ViewStyle - Additional styles
23
+ - \`testID\`: string - Test identifier
24
+ `,
25
+ features: [
26
+ "Single selection within group",
27
+ "Horizontal and vertical layouts",
28
+ "Label support",
29
+ "Three sizes",
30
+ "Five intent colors",
31
+ "Disabled state (individual or group)",
32
+ "Controlled component",
33
+ ],
34
+ bestPractices: [
35
+ "Use RadioGroup to manage selection state",
36
+ "Always provide labels for accessibility",
37
+ "Use for mutually exclusive options (3-5 choices)",
38
+ "For 2 options, consider Switch or Checkbox",
39
+ "For many options (>5), consider Select",
40
+ "Group related options visually",
41
+ ],
42
+ usage: `
43
+ import { RadioGroup, RadioButton } from '@idealyst/components';
44
+ import { useState } from 'react';
45
+
46
+ function Example() {
47
+ const [value, setValue] = useState('option1');
48
+
49
+ return (
50
+ <RadioGroup value={value} onValueChange={setValue}>
51
+ <RadioButton value="option1" label="Option 1" />
52
+ <RadioButton value="option2" label="Option 2" />
53
+ <RadioButton value="option3" label="Option 3" />
54
+ </RadioGroup>
55
+ );
56
+ }
57
+ `,
58
+ examples: {
59
+ basic: `import { RadioGroup, RadioButton } from '@idealyst/components';
60
+
61
+ <RadioGroup value={selected} onValueChange={setSelected}>
62
+ <RadioButton value="a" label="Choice A" />
63
+ <RadioButton value="b" label="Choice B" />
64
+ </RadioGroup>`,
65
+ variants: `import { RadioGroup, RadioButton, View } from '@idealyst/components';
66
+
67
+ <View spacing="md">
68
+ {/* Vertical (default) */}
69
+ <RadioGroup value={value} onValueChange={setValue}>
70
+ <RadioButton value="1" label="Option 1" />
71
+ <RadioButton value="2" label="Option 2" />
72
+ </RadioGroup>
73
+
74
+ {/* Horizontal */}
75
+ <RadioGroup value={value} onValueChange={setValue} orientation="horizontal">
76
+ <RadioButton value="1" label="Small" size="small" />
77
+ <RadioButton value="2" label="Medium" size="medium" />
78
+ <RadioButton value="3" label="Large" size="large" />
79
+ </RadioGroup>
80
+ </View>`,
81
+ "with-icons": `import { RadioGroup, RadioButton } from '@idealyst/components';
82
+
83
+ <RadioGroup value={plan} onValueChange={setPlan}>
84
+ <RadioButton
85
+ value="free"
86
+ label="Free Plan"
87
+ intent="neutral"
88
+ />
89
+ <RadioButton
90
+ value="pro"
91
+ label="Pro Plan"
92
+ intent="primary"
93
+ />
94
+ <RadioButton
95
+ value="enterprise"
96
+ label="Enterprise Plan"
97
+ intent="success"
98
+ />
99
+ </RadioGroup>`,
100
+ interactive: `import { RadioGroup, RadioButton, View, Text, Card } from '@idealyst/components';
101
+ import { useState } from 'react';
102
+
103
+ function Example() {
104
+ const [shipping, setShipping] = useState('standard');
105
+
106
+ const options = [
107
+ { value: 'standard', label: 'Standard (5-7 days)', price: 'Free' },
108
+ { value: 'express', label: 'Express (2-3 days)', price: '$10' },
109
+ { value: 'overnight', label: 'Overnight', price: '$25' },
110
+ ];
111
+
112
+ return (
113
+ <View spacing="md">
114
+ <Text weight="bold">Select Shipping Method</Text>
115
+ <RadioGroup value={shipping} onValueChange={setShipping}>
116
+ {options.map((option) => (
117
+ <Card
118
+ key={option.value}
119
+ variant={shipping === option.value ? 'outlined' : 'default'}
120
+ padding="small"
121
+ clickable
122
+ onPress={() => setShipping(option.value)}
123
+ >
124
+ <View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
125
+ <RadioButton
126
+ value={option.value}
127
+ label={option.label}
128
+ checked={shipping === option.value}
129
+ />
130
+ <Text weight="bold">{option.price}</Text>
131
+ </View>
132
+ </Card>
133
+ ))}
134
+ </RadioGroup>
135
+ </View>
136
+ );
137
+ }`,
138
+ },
139
+ };
140
+ //# sourceMappingURL=RadioButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../../../src/data/components/RadioButton.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,yDAAyD;IACtE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;CAoBR;IACC,QAAQ,EAAE;QACR,+BAA+B;QAC/B,iCAAiC;QACjC,eAAe;QACf,aAAa;QACb,oBAAoB;QACpB,sCAAsC;QACtC,sBAAsB;KACvB;IACD,aAAa,EAAE;QACb,0CAA0C;QAC1C,yCAAyC;QACzC,kDAAkD;QAClD,4CAA4C;QAC5C,wCAAwC;QACxC,gCAAgC;KACjC;IACD,KAAK,EAAE;;;;;;;;;;;;;;;CAeR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;;;;cAKG;QAEV,QAAQ,EAAE;;;;;;;;;;;;;;;QAeN;QAEJ,YAAY,EAAE;;;;;;;;;;;;;;;;;;cAkBJ;QAEV,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCf;KACC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const SVGImage: {
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=SVGImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGImage.d.ts","sourceRoot":"","sources":["../../../src/data/components/SVGImage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAiHpB,CAAC"}