@idealyst/mcp-server 1.1.2 → 1.1.3

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.
@@ -10,6 +10,7 @@ export declare const Button: {
10
10
  variants: string;
11
11
  "with-icons": string;
12
12
  interactive: string;
13
+ gradient: string;
13
14
  };
14
15
  };
15
16
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/data/components/Button.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAqFlB,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/data/components/Button.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CA4GlB,CAAC"}
@@ -6,9 +6,10 @@ export const Button = {
6
6
  - \`title\`: string - The text title to display inside the button (for web)
7
7
  - \`onPress\`: function - Called when the button is pressed
8
8
  - \`disabled\`: boolean - Whether the button is disabled
9
- - \`type\`: ButtonType - The visual style type of the button
9
+ - \`type\`: ButtonType - The visual style type of the button ('contained' | 'outlined' | 'text')
10
10
  - \`intent\`: ButtonIntentVariant - The intent/color scheme of the button
11
11
  - \`size\`: ButtonSizeVariant - The size of the button
12
+ - \`gradient\`: ButtonGradient - Optional gradient overlay effect ('darken' | 'lighten'). Only applies to 'contained' type buttons.
12
13
  - \`leftIcon\`: IconName | React.ReactNode - Icon to display on the left side. Can be an icon name or custom component (ReactNode)
13
14
  - \`rightIcon\`: IconName | React.ReactNode - Icon to display on the right side. Can be an icon name or custom component (ReactNode)
14
15
  `,
@@ -16,6 +17,7 @@ export const Button = {
16
17
  "Three variants: contained, outlined, text",
17
18
  "Five intent colors for semantic meaning",
18
19
  "Three sizes: sm, md, lg",
20
+ "Gradient overlay effects (darken/lighten) for contained buttons",
19
21
  "Icon support with string names or custom React elements",
20
22
  "Loading and disabled states",
21
23
  "Full width option",
@@ -26,6 +28,7 @@ export const Button = {
26
28
  "Use 'contained' variant for prominent actions",
27
29
  "Use icon names (strings) for consistency with design system",
28
30
  "Keep button labels concise and action-oriented",
31
+ "Use gradient='darken' for a subtle depth effect on hero/CTA buttons",
29
32
  ],
30
33
  usage: `
31
34
  import { Button } from '@idealyst/components';
@@ -82,6 +85,26 @@ function Example() {
82
85
  </Button>
83
86
  );
84
87
  }`,
88
+ gradient: `import { Button } from '@idealyst/components';
89
+
90
+ // Gradient overlay adds subtle depth to contained buttons
91
+ <Button type="contained" intent="primary" gradient="darken">
92
+ Darken Effect
93
+ </Button>
94
+
95
+ <Button type="contained" intent="success" gradient="lighten">
96
+ Lighten Effect
97
+ </Button>
98
+
99
+ // Gradient with icons
100
+ <Button
101
+ type="contained"
102
+ intent="primary"
103
+ gradient="darken"
104
+ leftIcon="rocket-launch"
105
+ >
106
+ Launch
107
+ </Button>`,
85
108
  }
86
109
  };
87
110
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/data/components/Button.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACtB,QAAQ,EAAE,MAAM;IACZ,WAAW,EAAE,8EAA8E;IACvF,KAAK,EAAE;;;;;;;;;;CAUd;IACG,QAAQ,EAAE;QACR,2CAA2C;QAC3C,yCAAyC;QACzC,yBAAyB;QACzB,yDAAyD;QACzD,6BAA6B;QAC7B,mBAAmB;QACnB,uCAAuC;KACxC;IACD,aAAa,EAAE;QACb,uCAAuC;QACvC,+CAA+C;QAC/C,6DAA6D;QAC7D,gDAAgD;KACjD;IACD,KAAK,EAAE;;;;;;;;;;;CAWV;IACG,QAAQ,EAAE;QACR,KAAK,EAAE;;;;;UAKH;QACJ,QAAQ,EAAE;;;;;mDAKmC;QAC7C,YAAY,EAAE;;;;;;;;wBAQI;QAClB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;EAoBjB;KACG;CACJ,CAAC"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/data/components/Button.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACtB,QAAQ,EAAE,MAAM;IACZ,WAAW,EAAE,8EAA8E;IACvF,KAAK,EAAE;;;;;;;;;;;CAWd;IACG,QAAQ,EAAE;QACR,2CAA2C;QAC3C,yCAAyC;QACzC,yBAAyB;QACzB,iEAAiE;QACjE,yDAAyD;QACzD,6BAA6B;QAC7B,mBAAmB;QACnB,uCAAuC;KACxC;IACD,aAAa,EAAE;QACb,uCAAuC;QACvC,+CAA+C;QAC/C,6DAA6D;QAC7D,gDAAgD;QAChD,qEAAqE;KACtE;IACD,KAAK,EAAE;;;;;;;;;;;CAWV;IACG,QAAQ,EAAE;QACR,KAAK,EAAE;;;;;UAKH;QACJ,QAAQ,EAAE;;;;;mDAKmC;QAC7C,YAAY,EAAE;;;;;;;;wBAQI;QAClB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;EAoBjB;QACI,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;UAmBN;KACL;CACJ,CAAC"}
@@ -10,6 +10,8 @@ export declare const TabBar: {
10
10
  variants: string;
11
11
  "with-icons": string;
12
12
  interactive: string;
13
+ justify: string;
14
+ "bottom-nav": string;
13
15
  };
14
16
  };
15
17
  //# sourceMappingURL=TabBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/data/components/TabBar.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAqJlB,CAAC"}
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/data/components/TabBar.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAuPlB,CAAC"}
@@ -1,38 +1,46 @@
1
1
  export const TabBar = {
2
2
  category: "navigation",
3
- description: "Tab bar navigation component with spacing variants for switching between views or sections",
3
+ description: "Tab bar navigation component with icons, layout options, and spacing variants for switching between views or sections",
4
4
  props: `
5
5
  - \`items\`: TabBarItem[] - Array of tab items to display
6
+ - \`value\`: string - Unique identifier for the tab
7
+ - \`label\`: string - Display text for the tab
8
+ - \`icon\`: ReactNode | ((props: { active: boolean; size: number }) => ReactNode) - Optional icon
9
+ - \`disabled\`: boolean - Whether the tab is disabled
6
10
  - \`value\`: string - The currently selected tab value (controlled)
7
11
  - \`defaultValue\`: string - The default selected tab for uncontrolled usage
8
12
  - \`onChange\`: function - Called when the selected tab changes
9
- - \`type\`: TabBarType - The visual style variant (default, underlined, pills)
10
- - \`size\`: TabBarSizeVariant - The size variant of the tabs
11
- - \`gap\`: Size - Space between tabs ('xs' | 'sm' | 'md' | 'lg' | 'xl')
13
+ - \`type\`: 'standard' | 'pills' | 'underline' - The visual style variant
14
+ - \`size\`: 'xs' | 'sm' | 'md' | 'lg' | 'xl' - The size variant of the tabs
15
+ - \`iconPosition\`: 'left' | 'top' - Position of icon relative to label (default: 'left')
16
+ - \`justify\`: 'start' | 'center' | 'equal' | 'space-between' - Layout justification (default: 'start')
17
+ - \`pillMode\`: 'light' | 'dark' - Mode for pills variant
18
+ - \`gap\`: Size - Space between tabs
12
19
  - \`padding\`: Size - Padding on all sides
13
20
  - \`paddingVertical\`: Size - Top and bottom padding
14
21
  - \`paddingHorizontal\`: Size - Left and right padding
15
22
  - \`margin\`: Size - Margin on all sides
16
23
  - \`marginVertical\`: Size - Top and bottom margin
17
24
  - \`marginHorizontal\`: Size - Left and right margin
18
- - \`pillMode\`: TabBarPillMode - Mode for pills variant: 'light' for light backgrounds (dark pill), 'dark' for dark backgrounds (light pill)
19
25
  `,
20
26
  features: [
21
- "Three visual variants",
27
+ "Three visual variants (standard, pills, underline)",
28
+ "Icon support with render function for active state",
29
+ "Icon position: left (horizontal) or top (stacked)",
30
+ "Layout justification: start, center, equal, space-between",
22
31
  "Controlled and uncontrolled modes",
23
- "Three sizes",
32
+ "Five sizes (xs, sm, md, lg, xl)",
24
33
  "Gap, padding, and margin variants",
25
- "Five intent colors",
26
34
  "Disabled tabs",
27
- "Simple configuration",
28
35
  ],
29
36
  bestPractices: [
30
37
  "Use 'underline' variant for page-level navigation",
31
38
  "Use 'pills' variant for contained sections",
39
+ "Use justify='equal' with iconPosition='top' for bottom navigation style",
40
+ "Use icon render function to change color based on active state",
32
41
  "Keep tab labels short (1-2 words)",
33
42
  "Use 3-5 tabs for optimal UX",
34
43
  "Disable tabs when content is unavailable",
35
- "Preload tab content for smooth transitions",
36
44
  ],
37
45
  usage: `
38
46
  import { TabBar } from '@idealyst/components';
@@ -73,33 +81,48 @@ const items = [
73
81
  { value: 'b', label: 'Second' },
74
82
  ];
75
83
 
76
- <View spacing="md">
77
- <TabBar items={items} type="default" />
84
+ <View gap="md">
85
+ <TabBar items={items} type="standard" />
78
86
  <TabBar items={items} type="pills" />
79
87
  <TabBar items={items} type="underline" />
80
88
  </View>`,
81
- "with-icons": `import { TabBar, View, Text } from '@idealyst/components';
89
+ "with-icons": `import { TabBar, View, Icon } from '@idealyst/components';
82
90
  import { useState } from 'react';
83
91
 
84
92
  function Example() {
85
- const [tab, setTab] = useState('overview');
93
+ const [tab, setTab] = useState('home');
86
94
 
87
95
  const items = [
88
- { value: 'overview', label: 'Overview' },
89
- { value: 'analytics', label: 'Analytics' },
90
- { value: 'reports', label: 'Reports' },
96
+ {
97
+ value: 'home',
98
+ label: 'Home',
99
+ icon: ({ active, size }) => (
100
+ <Icon name="home" size={size} color={active ? 'primary' : 'secondary'} />
101
+ ),
102
+ },
103
+ {
104
+ value: 'search',
105
+ label: 'Search',
106
+ icon: ({ active, size }) => (
107
+ <Icon name="magnify" size={size} color={active ? 'primary' : 'secondary'} />
108
+ ),
109
+ },
110
+ {
111
+ value: 'profile',
112
+ label: 'Profile',
113
+ icon: ({ active, size }) => (
114
+ <Icon name="account" size={size} color={active ? 'primary' : 'secondary'} />
115
+ ),
116
+ },
91
117
  ];
92
118
 
93
119
  return (
94
- <View spacing="md">
95
- <TabBar
96
- items={items}
97
- value={tab}
98
- onChange={setTab}
99
- type="underline"
100
- intent="primary"
101
- />
102
- <Text>{tab} content here</Text>
120
+ <View gap="md">
121
+ {/* Icons on left (default) */}
122
+ <TabBar items={items} value={tab} onChange={setTab} iconPosition="left" />
123
+
124
+ {/* Icons on top (stacked) */}
125
+ <TabBar items={items} value={tab} onChange={setTab} iconPosition="top" />
103
126
  </View>
104
127
  );
105
128
  }`,
@@ -130,7 +153,7 @@ function Example() {
130
153
  };
131
154
 
132
155
  return (
133
- <View spacing="md">
156
+ <View gap="md">
134
157
  <TabBar
135
158
  items={items}
136
159
  value={activeTab}
@@ -142,6 +165,79 @@ function Example() {
142
165
  </Card>
143
166
  </View>
144
167
  );
168
+ }`,
169
+ justify: `import { TabBar, View, Text } from '@idealyst/components';
170
+
171
+ const items = [
172
+ { value: 'tab1', label: 'Tab 1' },
173
+ { value: 'tab2', label: 'Tab 2' },
174
+ { value: 'tab3', label: 'Tab 3' },
175
+ ];
176
+
177
+ <View gap="md">
178
+ {/* Left aligned (default) */}
179
+ <Text typography="caption">justify="start"</Text>
180
+ <TabBar items={items} justify="start" />
181
+
182
+ {/* Centered */}
183
+ <Text typography="caption">justify="center"</Text>
184
+ <TabBar items={items} justify="center" />
185
+
186
+ {/* Full width, equal sized tabs */}
187
+ <Text typography="caption">justify="equal"</Text>
188
+ <TabBar items={items} justify="equal" />
189
+
190
+ {/* Space between tabs */}
191
+ <Text typography="caption">justify="space-between"</Text>
192
+ <TabBar items={items} justify="space-between" />
193
+ </View>`,
194
+ "bottom-nav": `import { TabBar, Icon } from '@idealyst/components';
195
+ import { useState } from 'react';
196
+
197
+ // Bottom navigation style: full width with stacked icons
198
+ function BottomNav() {
199
+ const [tab, setTab] = useState('home');
200
+
201
+ const items = [
202
+ {
203
+ value: 'home',
204
+ label: 'Home',
205
+ icon: ({ active, size }) => (
206
+ <Icon name="home" size={size} color={active ? 'primary' : 'secondary'} />
207
+ ),
208
+ },
209
+ {
210
+ value: 'search',
211
+ label: 'Search',
212
+ icon: ({ active, size }) => (
213
+ <Icon name="magnify" size={size} color={active ? 'primary' : 'secondary'} />
214
+ ),
215
+ },
216
+ {
217
+ value: 'notifications',
218
+ label: 'Alerts',
219
+ icon: ({ active, size }) => (
220
+ <Icon name="bell" size={size} color={active ? 'primary' : 'secondary'} />
221
+ ),
222
+ },
223
+ {
224
+ value: 'profile',
225
+ label: 'Profile',
226
+ icon: ({ active, size }) => (
227
+ <Icon name="account" size={size} color={active ? 'primary' : 'secondary'} />
228
+ ),
229
+ },
230
+ ];
231
+
232
+ return (
233
+ <TabBar
234
+ items={items}
235
+ value={tab}
236
+ onChange={setTab}
237
+ justify="equal"
238
+ iconPosition="top"
239
+ />
240
+ );
145
241
  }`,
146
242
  },
147
243
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../src/data/components/TabBar.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,4FAA4F;IACrG,KAAK,EAAE;;;;;;;;;;;;;;;CAeZ;IACC,QAAQ,EAAE;QACR,uBAAuB;QACvB,mCAAmC;QACnC,aAAa;QACb,mCAAmC;QACnC,oBAAoB;QACpB,eAAe;QACf,sBAAsB;KACvB;IACD,aAAa,EAAE;QACb,mDAAmD;QACnD,4CAA4C;QAC5C,mCAAmC;QACnC,6BAA6B;QAC7B,0CAA0C;QAC1C,4CAA4C;KAC7C;IACD,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;;;;;;0CAO+B;QAEtC,QAAQ,EAAE;;;;;;;;;;;QAWN;QAEJ,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;EAwBhB;QAEE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCf;KACC;CACF,CAAC"}
1
+ {"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../src/data/components/TabBar.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,uHAAuH;IAChI,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBZ;IACC,QAAQ,EAAE;QACR,oDAAoD;QACpD,oDAAoD;QACpD,mDAAmD;QACnD,2DAA2D;QAC3D,mCAAmC;QACnC,iCAAiC;QACjC,mCAAmC;QACnC,eAAe;KAChB;IACD,aAAa,EAAE;QACb,mDAAmD;QACnD,4CAA4C;QAC5C,yEAAyE;QACzE,gEAAgE;QAChE,mCAAmC;QACnC,6BAA6B;QAC7B,0CAA0C;KAC3C;IACD,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBR;IACC,QAAQ,EAAE;QACR,KAAK,EAAE;;;;;;;0CAO+B;QAEtC,QAAQ,EAAE;;;;;;;;;;;QAWN;QAEJ,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuChB;QAEE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCf;QAEE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;QAwBL;QAEJ,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+ChB;KACC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idealyst/mcp-server",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "MCP server providing documentation and examples for the Idealyst framework",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -35,9 +35,9 @@
35
35
  "author": "Idealyst",
36
36
  "license": "MIT",
37
37
  "dependencies": {
38
- "@idealyst/components": "^1.1.2",
39
- "@idealyst/navigation": "^1.1.2",
40
- "@idealyst/theme": "^1.1.2",
38
+ "@idealyst/components": "^1.1.3",
39
+ "@idealyst/navigation": "^1.1.3",
40
+ "@idealyst/theme": "^1.1.3",
41
41
  "@modelcontextprotocol/sdk": "^1.0.4"
42
42
  },
43
43
  "devDependencies": {