@app-studio/web 0.9.41 → 0.9.43

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 (88) hide show
  1. package/dist/bot/Bot.d.ts +15 -0
  2. package/dist/bot/Cache.d.ts +13 -0
  3. package/dist/bot/Config.d.ts +13 -0
  4. package/dist/bot/ContentFetcher.d.ts +9 -0
  5. package/dist/bot/DocuCode.d.ts +19 -0
  6. package/dist/bot/FileHandler.d.ts +39 -0
  7. package/dist/bot/ai/AnthropicConnector.d.ts +6 -0
  8. package/dist/bot/ai/GeminiConnector.d.ts +7 -0
  9. package/dist/bot/ai/GroqConnector.d.ts +7 -0
  10. package/dist/bot/ai/HuggingFaceConnector.d.ts +6 -0
  11. package/dist/bot/ai/OpenAIConnector.d.ts +11 -0
  12. package/dist/bot/ai/ReplicateConnector.d.ts +7 -0
  13. package/dist/bot/ai/SambaNovaConnector.d.ts +6 -0
  14. package/dist/bot/ai/ai.config.d.ts +12 -0
  15. package/dist/bot/ai/ai.service.d.ts +36 -0
  16. package/dist/bot/data.d.ts +19 -0
  17. package/dist/bot/extractors.d.ts +8 -0
  18. package/dist/bot/index.d.ts +1 -0
  19. package/dist/bot/prompt/1-project.d.ts +1 -0
  20. package/dist/bot/prompt/2-response.d.ts +1 -0
  21. package/dist/bot/prompt/3-comment.d.ts +1 -0
  22. package/docs/components/Accordion.mdx +74 -121
  23. package/docs/components/Alert.mdx +19 -70
  24. package/docs/components/AspectRatio.mdx +13 -11
  25. package/docs/components/AudioInput.mdx +43 -0
  26. package/docs/components/Avatar.mdx +18 -43
  27. package/docs/components/Background.mdx +100 -492
  28. package/docs/components/Badge.mdx +45 -130
  29. package/docs/components/Button.mdx +76 -128
  30. package/docs/components/Calendar.mdx +7 -7
  31. package/docs/components/Card.mdx +247 -290
  32. package/docs/components/Carousel.mdx +94 -321
  33. package/docs/components/Chart.mdx +171 -26
  34. package/docs/components/ChatInput.mdx +327 -275
  35. package/docs/components/Checkbox.mdx +3 -5
  36. package/docs/components/ColorInput.mdx +6 -6
  37. package/docs/components/ColorPicker.mdx +452 -0
  38. package/docs/components/ComboBox.mdx +13 -13
  39. package/docs/components/Command.mdx +140 -188
  40. package/docs/components/ContextMenu.mdx +47 -171
  41. package/docs/components/CookieConsent.mdx +53 -0
  42. package/docs/components/CountryPicker.mdx +8 -8
  43. package/docs/components/DatePicker.mdx +3 -3
  44. package/docs/components/DragAndDrop.mdx +279 -463
  45. package/docs/components/Drawer.mdx +392 -231
  46. package/docs/components/DropdownMenu.mdx +37 -155
  47. package/docs/components/EmojiPicker.mdx +84 -0
  48. package/docs/components/File.mdx +130 -4
  49. package/docs/components/Formik.mdx +39 -39
  50. package/docs/components/Gradient.mdx +359 -182
  51. package/docs/components/Horizontal.mdx +1 -2
  52. package/docs/components/HoverCard.mdx +57 -125
  53. package/docs/components/KanbanBoard.mdx +9 -9
  54. package/docs/components/Link.mdx +22 -30
  55. package/docs/components/Loader.mdx +230 -413
  56. package/docs/components/Menubar.mdx +73 -69
  57. package/docs/components/Message.mdx +210 -525
  58. package/docs/components/Modal.mdx +351 -475
  59. package/docs/components/NavigationMenu.mdx +8 -8
  60. package/docs/components/OTPInput.mdx +194 -0
  61. package/docs/components/Pagination.mdx +451 -107
  62. package/docs/components/Password.mdx +8 -8
  63. package/docs/components/ProgressBar.mdx +460 -0
  64. package/docs/components/Resizable.mdx +103 -102
  65. package/docs/components/Select.mdx +5 -5
  66. package/docs/components/Separator.mdx +11 -98
  67. package/docs/components/ShareButton.mdx +29 -0
  68. package/docs/components/Sidebar.mdx +70 -131
  69. package/docs/components/Slider.mdx +99 -185
  70. package/docs/components/StatusIndicator.mdx +373 -0
  71. package/docs/components/Switch.mdx +3 -3
  72. package/docs/components/Table.mdx +25 -105
  73. package/docs/components/Tabs.mdx +40 -143
  74. package/docs/components/TagInput.mdx +17 -17
  75. package/docs/components/Text.mdx +3 -3
  76. package/docs/components/TextArea.mdx +6 -6
  77. package/docs/components/TextField.mdx +12 -12
  78. package/docs/components/Title.mdx +267 -525
  79. package/docs/components/Toast.mdx +65 -142
  80. package/docs/components/Toggle.mdx +37 -49
  81. package/docs/components/ToggleGroup.mdx +36 -57
  82. package/docs/components/Tooltip.mdx +501 -138
  83. package/docs/components/Uploader.mdx +205 -351
  84. package/package.json +1 -1
  85. package/dist/components/AuthGuard/AuthGuard.d.ts +0 -35
  86. package/dist/components/AuthGuard/index.d.ts +0 -1
  87. package/docs/adk-components.md +0 -319
  88. package/docs/adk-quick-start.md +0 -268
@@ -1,341 +1,298 @@
1
1
  # Card
2
2
 
3
- A flexible container component for organizing and displaying content.
3
+ A versatile card component for displaying content in a contained, styled box with support for headers, content, and footers.
4
4
 
5
5
  ### **Import**
6
- ```tsx
7
- import { Card } from '@app-studio/web';
8
- ```
6
+ ```tsx
7
+ import { Card } from '@app-studio/web';
8
+ ```
9
9
 
10
10
  ### **Default**
11
11
  ```tsx
12
12
  import React from 'react';
13
- import { Card } from '../Card';
14
- import { Text } from '@app-studio/web';
15
-
16
- export const DefaultDemo = () => {
17
- return (
18
- <Card>
19
- <Text>This is a default card with simple content.</Text>
20
- </Card>
21
- );
22
- };
13
+ import { Card } from '@app-studio/web';
14
+ import { Text } from 'app-studio';
15
+
16
+ export const DefaultCard = () => (
17
+ <Card>
18
+ <Text>Card content</Text>
19
+ </Card>
20
+ );
23
21
  ```
24
22
 
25
- ### **Variants**
26
- Different visual styles for the card.
23
+ ### **Structured Layout**
24
+ Use Card.Header, Card.Content, and Card.Footer for organized layouts.
27
25
 
28
26
  ```tsx
29
27
  import React from 'react';
30
- import { Card } from '../Card';
31
- import { Text } from '@app-studio/web';
32
- import { Vertical } from '@app-studio/web';
33
-
34
- export const VariantsDemo = () => {
35
- return (
36
- <Vertical gap={20}>
37
- <Card variant="default">
38
- <Text>Default Card</Text>
39
- <Text color="color.gray.500">
40
- This is a card with the default variant.
41
- </Text>
42
- </Card>
28
+ import { Card } from '@app-studio/web';
29
+ import { Text, Button } from 'app-studio';
30
+
31
+ export const StructuredCard = () => (
32
+ <Card>
33
+ <Card.Header>
34
+ <Text fontSize={18} fontWeight="bold">Card Title</Text>
35
+ </Card.Header>
36
+ <Card.Content>
37
+ <Text>This is the main content of the card.</Text>
38
+ </Card.Content>
39
+ <Card.Footer>
40
+ <Button>Action</Button>
41
+ </Card.Footer>
42
+ </Card>
43
+ );
44
+ ```
43
45
 
44
- <Card variant="outlined">
45
- <Text>Outlined Card</Text>
46
- <Text color="color.gray.500">
47
- This card has a border around it.
48
- </Text>
49
- </Card>
46
+ ### **variant**
47
+ The visual style variant of the card.
50
48
 
51
- <Card variant="elevated">
52
- <Text>Elevated Card</Text>
53
- <Text color="color.gray.500">
54
- This card has a shadow to give it an elevated appearance.
55
- </Text>
49
+ - **Type:** `Variant`
50
+ - **Default:** `'default'`
51
+ - **Possible Values:** `'default' | 'elevated' | 'outlined' | 'filled'`
52
+
53
+ ```tsx
54
+ import React from 'react';
55
+ import { Card } from '@app-studio/web';
56
+ import { Text, Vertical } from 'app-studio';
57
+
58
+ export const VariantCards = () => (
59
+ <Vertical gap={15}>
60
+ {['default', 'elevated', 'outlined', 'filled'].map((variant) => (
61
+ <Card key={variant} variant={variant as any}>
62
+ <Card.Content>
63
+ <Text>{variant} variant</Text>
64
+ </Card.Content>
56
65
  </Card>
57
- </Vertical>
58
- );
59
- };
66
+ ))}
67
+ </Vertical>
68
+ );
60
69
  ```
61
70
 
62
- ### **Structured Layout**
63
- Using Card.Header, Card.Content, and Card.Footer for structured layout.
71
+ ### **size**
72
+ The size of the card, affecting padding.
73
+
74
+ - **Type:** `Size`
75
+ - **Default:** `'md'`
76
+ - **Possible Values:** `'xs' | 'sm' | 'md' | 'lg' | 'xl'`
64
77
 
65
78
  ```tsx
66
79
  import React from 'react';
67
- import { Card } from '../Card';
68
- import { Text } from '@app-studio/web';
69
- import { Horizontal } from '@app-studio/web';
70
- import { Button } from '../../Button/Button';
71
-
72
- export const StructuredDemo = () => {
73
- return (
74
- <Card>
75
- <Card.Header>
76
- <Text fontWeight="bold" fontSize={18}>Card Title</Text>
77
- </Card.Header>
78
-
79
- <Card.Content>
80
- <Text>
81
- This card uses the structured layout with separate header, content, and footer sections.
82
- The content area is where the main information goes.
83
- </Text>
84
- </Card.Content>
85
-
86
- <Card.Footer>
87
- <Horizontal justifyContent="flex-end" gap={10}>
88
- <Button variant="outline">Cancel</Button>
89
- <Button>Submit</Button>
90
- </Horizontal>
91
- </Card.Footer>
92
- </Card>
93
- );
94
- };
80
+ import { Card } from '@app-studio/web';
81
+ import { Text, Vertical } from 'app-studio';
82
+
83
+ export const SizedCards = () => (
84
+ <Vertical gap={15}>
85
+ {['xs', 'sm', 'md', 'lg', 'xl'].map((size) => (
86
+ <Card key={size} size={size as any}>
87
+ <Card.Content>
88
+ <Text>Size: {size}</Text>
89
+ </Card.Content>
90
+ </Card>
91
+ ))}
92
+ </Vertical>
93
+ );
95
94
  ```
96
95
 
97
- ### **Shapes**
98
- Different corner styles for the card.
96
+ ### **shape**
97
+ The shape of the card's corners.
98
+
99
+ - **Type:** `Shape`
100
+ - **Default:** `'rounded'`
101
+ - **Possible Values:** `'sharp' | 'rounded' | 'pillShaped'`
99
102
 
100
103
  ```tsx
101
104
  import React from 'react';
102
- import { Card } from '../Card';
103
- import { Text } from '@app-studio/web';
104
- import { Vertical } from '@app-studio/web';
105
- import { Shape } from '../Card/Card.type';
106
-
107
- export const ShapesDemo = () => {
108
- const shapes: Shape[] = ['sharp', 'rounded', 'pillShaped'];
109
-
110
- return (
111
- <Vertical gap={20}>
112
- {shapes.map((shape) => (
113
- <Card key={shape} shape={shape} variant="outlined">
114
- <Text fontWeight="bold">{shape} Card</Text>
115
- <Text color="color.gray.500">
116
- This card has {shape === 'sharp' ? 'no' : shape} corners.
117
- </Text>
118
- </Card>
119
- ))}
120
- </Vertical>
121
- );
122
- };
105
+ import { Card } from '@app-studio/web';
106
+ import { Text, Horizontal } from 'app-studio';
107
+
108
+ export const ShapedCards = () => (
109
+ <Horizontal gap={15}>
110
+ {['sharp', 'rounded', 'pillShaped'].map((shape) => (
111
+ <Card key={shape} shape={shape as any}>
112
+ <Card.Content>
113
+ <Text>{shape}</Text>
114
+ </Card.Content>
115
+ </Card>
116
+ ))}
117
+ </Horizontal>
118
+ );
123
119
  ```
124
120
 
125
- ### **Sizes**
126
- Different padding sizes for the card.
121
+ ### **isFullWidth**
122
+ Whether the card should take up the full width of its container.
123
+
124
+ - **Type:** `boolean`
125
+ - **Default:** `false`
127
126
 
128
127
  ```tsx
129
128
  import React from 'react';
130
- import { Card } from '../Card';
131
- import { Text } from '@app-studio/web';
132
- import { Vertical } from '@app-studio/web';
133
- import { Size } from '../Card/Card.type';
134
-
135
- export const SizesDemo = () => {
136
- const sizes: Size[] = ['sm', 'md', 'lg'];
137
-
138
- return (
139
- <Vertical gap={20}>
140
- {sizes.map((size) => (
141
- <Card key={size} size={size} variant="outlined">
142
- <Text fontWeight="bold">{size.toUpperCase()} Size</Text>
143
- <Text color="color.gray.500">
144
- This card has {size} padding.
145
- </Text>
146
- </Card>
147
- ))}
148
- </Vertical>
149
- );
150
- };
129
+ import { Card } from '@app-studio/web';
130
+ import { Text } from 'app-studio';
131
+
132
+ export const FullWidthCard = () => (
133
+ <Card isFullWidth>
134
+ <Card.Content>
135
+ <Text>This card spans the full width</Text>
136
+ </Card.Content>
137
+ </Card>
138
+ );
151
139
  ```
152
140
 
153
- ### **Custom Styling**
154
- Customize the appearance of the card.
141
+ ### **header**
142
+ Optional header content for the card (alternative to Card.Header).
143
+
144
+ - **Type:** `React.ReactNode`
155
145
 
156
146
  ```tsx
157
147
  import React from 'react';
158
- import { Card } from '../Card';
159
- import { Text } from '@app-studio/web';
160
- import { Horizontal } from '@app-studio/web';
161
- import { Button } from '../../Button/Button';
162
-
163
- export const CustomDemo = () => {
164
- return (
165
- <Card
166
- views={{
167
- container: {
168
- backgroundColor: 'color.blue.50',
169
- borderRadius: '16px',
170
- boxShadow: '0 4px 12px rgba(0, 0, 0, 0.1)',
171
- },
172
- header: {
173
- backgroundColor: 'color.blue.500',
174
- color: 'color.white',
175
- padding: '16px',
176
- borderBottomWidth: '0',
177
- },
178
- content: {
179
- padding: '24px',
180
- },
181
- footer: {
182
- padding: '16px',
183
- backgroundColor: 'color.gray.50',
184
- borderTopWidth: '0',
185
- },
186
- }}
187
- >
188
- <Card.Header>
189
- <Text fontWeight="bold" fontSize={18} color="white">
190
- Custom Styled Card
191
- </Text>
192
- </Card.Header>
148
+ import { Card } from '@app-studio/web';
149
+ import { Text } from 'app-studio';
150
+
151
+ export const HeaderPropCard = () => (
152
+ <Card
153
+ header={<Text fontWeight="bold">Header via prop</Text>}
154
+ >
155
+ <Text>Card content</Text>
156
+ </Card>
157
+ );
158
+ ```
193
159
 
194
- <Card.Content>
195
- <Text>
196
- This card has custom styling applied to all its parts.
197
- You can customize the container, header, content, and footer.
198
- </Text>
199
- </Card.Content>
200
-
201
- <Card.Footer>
202
- <Horizontal justifyContent="flex-end" gap={10}>
203
- <Button variant="outline">Cancel</Button>
204
- <Button>Submit</Button>
205
- </Horizontal>
206
- </Card.Footer>
207
- </Card>
208
- );
209
- };
160
+ ### **footer**
161
+ Optional footer content for the card (alternative to Card.Footer).
162
+
163
+ - **Type:** `React.ReactNode`
164
+
165
+ ```tsx
166
+ import React from 'react';
167
+ import { Card } from '@app-studio/web';
168
+ import { Text, Button } from 'app-studio';
169
+
170
+ export const FooterPropCard = () => (
171
+ <Card
172
+ footer={<Button>Action</Button>}
173
+ >
174
+ <Text>Card content</Text>
175
+ </Card>
176
+ );
210
177
  ```
211
178
 
212
- ### **Context-Based Styling**
213
- The Card component uses a context-based styling system that allows styles to be passed down from the parent Card to its child components (Header, Content, Footer).
179
+ ### **views**
180
+ Custom styles for different parts of the card.
181
+
182
+ - **Type:** `CardStyles`
214
183
 
215
184
  ```tsx
216
185
  import React from 'react';
217
- import { Card } from '../Card';
218
- import { Text } from '@app-studio/web';
219
- import { Button } from '../../Button/Button';
220
- import { Horizontal } from '@app-studio/web';
221
-
222
- export const ContextStylingDemo = () => {
223
- return (
224
- <Card
225
- views={{
226
- // These styles will be passed down to all child components via context
227
- container: {
228
- backgroundColor: 'color.blue.50',
229
- borderRadius: '12px',
230
- boxShadow: '0 4px 12px rgba(0, 0, 0, 0.1)',
231
- },
232
- header: {
233
- backgroundColor: 'color.blue.100',
234
- padding: '16px',
235
- borderBottomColor: 'color.blue.200',
236
- },
237
- content: {
238
- padding: '24px',
239
- },
240
- footer: {
241
- backgroundColor: 'color.blue.100',
242
- padding: '16px',
243
- borderTopColor: 'color.blue.200',
244
- },
245
- }}
246
- >
247
- <Card.Header>
248
- <Text fontWeight="bold" fontSize={18}>
249
- Context-Based Styling
250
- </Text>
251
- </Card.Header>
186
+ import { Card } from '@app-studio/web';
187
+ import { Text } from 'app-studio';
188
+
189
+ export const StyledCard = () => (
190
+ <Card
191
+ views={{
192
+ container: {
193
+ backgroundColor: '#f0f9ff',
194
+ borderColor: '#3b82f6',
195
+ borderWidth: 2,
196
+ },
197
+ header: {
198
+ backgroundColor: '#dbeafe',
199
+ padding: 15,
200
+ },
201
+ content: {
202
+ padding: 20,
203
+ },
204
+ footer: {
205
+ backgroundColor: '#eff6ff',
206
+ padding: 15,
207
+ }
208
+ }}
209
+ >
210
+ <Card.Header>
211
+ <Text>Styled Header</Text>
212
+ </Card.Header>
213
+ <Card.Content>
214
+ <Text>Styled Content</Text>
215
+ </Card.Content>
216
+ <Card.Footer>
217
+ <Text>Styled Footer</Text>
218
+ </Card.Footer>
219
+ </Card>
220
+ );
221
+ ```
222
+
223
+ ### **Complex Example**
224
+ A complete card with all features.
252
225
 
253
- <Card.Content>
226
+ ```tsx
227
+ import React from 'react';
228
+ import { Card } from '@app-studio/web';
229
+ import { Text, Button, Horizontal, Vertical, Image } from 'app-studio';
230
+
231
+ export const ComplexCard = () => (
232
+ <Card
233
+ variant="elevated"
234
+ size="lg"
235
+ shape="rounded"
236
+ isFullWidth
237
+ >
238
+ <Card.Header>
239
+ <Horizontal justifyContent="space-between" alignItems="center">
240
+ <Text fontSize={20} fontWeight="bold">Product Card</Text>
241
+ <Text color="primary">$99.99</Text>
242
+ </Horizontal>
243
+ </Card.Header>
244
+
245
+ <Card.Content>
246
+ <Vertical gap={15}>
247
+ <Image
248
+ src="/product.jpg"
249
+ width="100%"
250
+ height={200}
251
+ borderRadius={8}
252
+ />
254
253
  <Text>
255
- This card demonstrates the improved context-based styling system.
256
- The styles defined in the Card's "views" prop are automatically
257
- passed down to the Header, Content, and Footer components.
254
+ This is a detailed description of the product with all
255
+ its amazing features and benefits.
258
256
  </Text>
259
- </Card.Content>
260
-
261
- <Card.Footer>
262
- <Horizontal justifyContent="flex-end" gap={10}>
263
- <Button variant="outline">Cancel</Button>
264
- <Button>Submit</Button>
265
- </Horizontal>
266
- </Card.Footer>
267
- </Card>
268
- );
269
- };
257
+ </Vertical>
258
+ </Card.Content>
259
+
260
+ <Card.Footer>
261
+ <Horizontal gap={10} justifyContent="flex-end">
262
+ <Button variant="outline">Learn More</Button>
263
+ <Button variant="filled">Add to Cart</Button>
264
+ </Horizontal>
265
+ </Card.Footer>
266
+ </Card>
267
+ );
270
268
  ```
271
269
 
272
- ### **Theme Mode Support**
273
- The Card component supports both light and dark themes through the `themeMode` prop.
270
+ ### **Interactive Card**
271
+ Card with hover effects and click handling.
274
272
 
275
273
  ```tsx
276
274
  import React from 'react';
277
- import { Card } from '../Card';
278
- import { Text } from '@app-studio/web';
279
- import { Horizontal, Vertical } from '@app-studio/web';
280
- import { Button } from '../../Button/Button';
281
-
282
- export const DarkModeExample = () => {
283
- return (
284
- <Vertical gap={20}>
285
- <Text fontSize={20} fontWeight="bold">Light Mode Cards</Text>
286
- <Horizontal gap={20} alignItems="flex-start">
287
- <Card variant="default" themeMode="light">
288
- <Card.Header>
289
- <Text fontWeight="bold">Default Card (Light)</Text>
290
- </Card.Header>
291
- <Card.Content>
292
- <Text>This card uses light mode styling.</Text>
293
- </Card.Content>
294
- <Card.Footer>
295
- <Button size="sm">Action</Button>
296
- </Card.Footer>
297
- </Card>
298
-
299
- <Card variant="outlined" themeMode="light">
300
- <Card.Header>
301
- <Text fontWeight="bold">Outlined Card (Light)</Text>
302
- </Card.Header>
303
- <Card.Content>
304
- <Text>This card uses light mode styling with an outline.</Text>
305
- </Card.Content>
306
- <Card.Footer>
307
- <Button size="sm">Action</Button>
308
- </Card.Footer>
309
- </Card>
310
- </Horizontal>
311
-
312
- <Text fontSize={20} fontWeight="bold" marginTop={40}>Dark Mode Cards</Text>
313
- <Horizontal gap={20} alignItems="flex-start">
314
- <Card variant="default" themeMode="dark">
315
- <Card.Header>
316
- <Text fontWeight="bold">Default Card (Dark)</Text>
317
- </Card.Header>
318
- <Card.Content>
319
- <Text>This card uses dark mode styling.</Text>
320
- </Card.Content>
321
- <Card.Footer>
322
- <Button size="sm">Action</Button>
323
- </Card.Footer>
324
- </Card>
325
-
326
- <Card variant="outlined" themeMode="dark">
327
- <Card.Header>
328
- <Text fontWeight="bold">Outlined Card (Dark)</Text>
329
- </Card.Header>
330
- <Card.Content>
331
- <Text>This card uses dark mode styling with an outline.</Text>
332
- </Card.Content>
333
- <Card.Footer>
334
- <Button size="sm">Action</Button>
335
- </Card.Footer>
336
- </Card>
337
- </Horizontal>
338
- </Vertical>
339
- );
340
- };
275
+ import { Card } from '@app-studio/web';
276
+ import { Text } from 'app-studio';
277
+
278
+ export const InteractiveCard = () => (
279
+ <Card
280
+ onClick={() => console.log('Card clicked')}
281
+ cursor="pointer"
282
+ views={{
283
+ container: {
284
+ transition: 'all 0.3s ease',
285
+ hover: {
286
+ transform: 'translateY(-4px)',
287
+ boxShadow: '0 12px 24px rgba(0,0,0,0.15)',
288
+ }
289
+ }
290
+ }}
291
+ >
292
+ <Card.Content>
293
+ <Text>Click me!</Text>
294
+ </Card.Content>
295
+ </Card>
296
+ );
341
297
  ```
298
+