@app-studio/web 0.9.41 → 0.9.44

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 (101) 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/dist/components/Title/Title/SlideEffect.d.ts +14 -0
  23. package/dist/components/Title/Title/Title.props.d.ts +20 -0
  24. package/dist/components/Title/Title/Title.state.d.ts +4 -0
  25. package/dist/web.cjs.development.js +265 -78
  26. package/dist/web.cjs.development.js.map +1 -1
  27. package/dist/web.cjs.production.min.js +1 -1
  28. package/dist/web.cjs.production.min.js.map +1 -1
  29. package/dist/web.esm.js +265 -78
  30. package/dist/web.esm.js.map +1 -1
  31. package/dist/web.umd.development.js +265 -78
  32. package/dist/web.umd.development.js.map +1 -1
  33. package/dist/web.umd.production.min.js +1 -1
  34. package/dist/web.umd.production.min.js.map +1 -1
  35. package/docs/components/Accordion.mdx +74 -121
  36. package/docs/components/Alert.mdx +19 -70
  37. package/docs/components/AspectRatio.mdx +13 -11
  38. package/docs/components/AudioInput.mdx +43 -0
  39. package/docs/components/Avatar.mdx +18 -43
  40. package/docs/components/Background.mdx +100 -492
  41. package/docs/components/Badge.mdx +45 -130
  42. package/docs/components/Button.mdx +76 -128
  43. package/docs/components/Calendar.mdx +7 -7
  44. package/docs/components/Card.mdx +247 -290
  45. package/docs/components/Carousel.mdx +94 -321
  46. package/docs/components/Chart.mdx +171 -26
  47. package/docs/components/ChatInput.mdx +327 -275
  48. package/docs/components/Checkbox.mdx +3 -5
  49. package/docs/components/ColorInput.mdx +6 -6
  50. package/docs/components/ColorPicker.mdx +452 -0
  51. package/docs/components/ComboBox.mdx +13 -13
  52. package/docs/components/Command.mdx +140 -188
  53. package/docs/components/ContextMenu.mdx +47 -171
  54. package/docs/components/CookieConsent.mdx +53 -0
  55. package/docs/components/CountryPicker.mdx +8 -8
  56. package/docs/components/DatePicker.mdx +3 -3
  57. package/docs/components/DragAndDrop.mdx +279 -463
  58. package/docs/components/Drawer.mdx +392 -231
  59. package/docs/components/DropdownMenu.mdx +37 -155
  60. package/docs/components/EmojiPicker.mdx +84 -0
  61. package/docs/components/File.mdx +130 -4
  62. package/docs/components/Formik.mdx +39 -39
  63. package/docs/components/Gradient.mdx +359 -182
  64. package/docs/components/Horizontal.mdx +1 -2
  65. package/docs/components/HoverCard.mdx +57 -125
  66. package/docs/components/KanbanBoard.mdx +9 -9
  67. package/docs/components/Link.mdx +22 -30
  68. package/docs/components/Loader.mdx +230 -413
  69. package/docs/components/Menubar.mdx +73 -69
  70. package/docs/components/Message.mdx +210 -525
  71. package/docs/components/Modal.mdx +351 -475
  72. package/docs/components/NavigationMenu.mdx +8 -8
  73. package/docs/components/OTPInput.mdx +194 -0
  74. package/docs/components/Pagination.mdx +451 -107
  75. package/docs/components/Password.mdx +8 -8
  76. package/docs/components/ProgressBar.mdx +460 -0
  77. package/docs/components/Resizable.mdx +103 -102
  78. package/docs/components/Select.mdx +5 -5
  79. package/docs/components/Separator.mdx +11 -98
  80. package/docs/components/ShareButton.mdx +29 -0
  81. package/docs/components/Sidebar.mdx +70 -131
  82. package/docs/components/Slider.mdx +99 -185
  83. package/docs/components/StatusIndicator.mdx +373 -0
  84. package/docs/components/Switch.mdx +3 -3
  85. package/docs/components/Table.mdx +25 -105
  86. package/docs/components/Tabs.mdx +40 -143
  87. package/docs/components/TagInput.mdx +17 -17
  88. package/docs/components/Text.mdx +3 -3
  89. package/docs/components/TextArea.mdx +6 -6
  90. package/docs/components/TextField.mdx +12 -12
  91. package/docs/components/Title.mdx +267 -525
  92. package/docs/components/Toast.mdx +65 -142
  93. package/docs/components/Toggle.mdx +37 -49
  94. package/docs/components/ToggleGroup.mdx +36 -57
  95. package/docs/components/Tooltip.mdx +501 -138
  96. package/docs/components/Uploader.mdx +205 -351
  97. package/package.json +1 -1
  98. package/dist/components/AuthGuard/AuthGuard.d.ts +0 -35
  99. package/dist/components/AuthGuard/index.d.ts +0 -1
  100. package/docs/adk-components.md +0 -319
  101. package/docs/adk-quick-start.md +0 -268
@@ -1,158 +1,111 @@
1
1
  # Accordion
2
2
 
3
- A component that displays collapsible content panels for presenting information in a limited amount of space.
3
+ Organizes content into collapsible sections for efficient space management.
4
4
 
5
5
  ### **Import**
6
- ```tsx
7
- import { Accordion } from '@app-studio/web';
8
- ```
6
+ ```tsx
7
+ import { Accordion } from '@app-studio/web';
8
+ ```
9
9
 
10
10
  ### **Default**
11
11
  ```tsx
12
12
  import React from 'react';
13
- import { Accordion } from '../Accordion';
14
- import { Text } from '@app-studio/web';
13
+ import { Accordion } from '@app-studio/web';
14
+ import { Text, Vertical } from 'app-studio';
15
15
 
16
16
  export const DefaultAccordion = () => {
17
17
  return (
18
- <Accordion>
19
- <Accordion.Item id="item-1">
20
- <Accordion.Header>
21
- <Text fontWeight="bold">What is React?</Text>
22
- </Accordion.Header>
23
- <Accordion.Content>
24
- <Text>
25
- React is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies.
26
- </Text>
27
- </Accordion.Content>
28
- </Accordion.Item>
29
-
30
- <Accordion.Item id="item-2">
31
- <Accordion.Header>
32
- <Text fontWeight="bold">What are React Hooks?</Text>
33
- </Accordion.Header>
34
- <Accordion.Content>
35
- <Text>
36
- Hooks are functions that let you "hook into" React state and lifecycle features from function components.
37
- </Text>
38
- </Accordion.Content>
39
- </Accordion.Item>
40
- </Accordion>
41
- );
42
- };
43
- ```
44
-
45
- ### **Multiple**
46
- Allow multiple items to be expanded at once.
18
+ <Vertical gap={20} width="100%" maxWidth={600}>
19
+ <Text marginBottom={10}>Default Accordion (Single)</Text>
20
+ <Accordion type="single" defaultValue="item-1">
21
+ <Accordion.Item value="item-1">
22
+ <Accordion.Trigger>
23
+ <Text fontWeight="bold">What is React?</Text>
24
+ </Accordion.Trigger>
25
+ <Accordion.Content>
26
+ <Text>
27
+ React is a JavaScript library for building user interfaces. It is
28
+ maintained by Facebook and a community of individual developers
29
+ and companies. React can be used as a base in the development of
30
+ single-page or mobile applications.
31
+ </Text>
32
+ </Accordion.Content>
33
+ </Accordion.Item>
47
34
 
48
- ```tsx
49
- import React from 'react';
50
- import { Accordion } from '../Accordion';
51
- import { Text } from '@app-studio/web';
35
+ <Accordion.Item value="item-2">
36
+ <Accordion.Trigger>
37
+ <Text fontWeight="bold">What are React Hooks?</Text>
38
+ </Accordion.Trigger>
39
+ <Accordion.Content>
40
+ <Text>
41
+ Hooks are functions that let you hook into React state and
42
+ lifecycle features from function components. Hooks dont work
43
+ inside classes — they let you use React without classes.
44
+ </Text>
45
+ </Accordion.Content>
46
+ </Accordion.Item>
52
47
 
53
- export const MultipleAccordion = () => {
54
- return (
55
- <Accordion allowMultiple defaultExpandedItems={['item-1']}>
56
- <Accordion.Item id="item-1">
57
- <Accordion.Header>
58
- <Text fontWeight="bold">First Item (Initially Expanded)</Text>
59
- </Accordion.Header>
60
- <Accordion.Content>
61
- <Text>
62
- This item is initially expanded. You can expand multiple items at once in this accordion.
63
- </Text>
64
- </Accordion.Content>
65
- </Accordion.Item>
66
-
67
- <Accordion.Item id="item-2">
68
- <Accordion.Header>
69
- <Text fontWeight="bold">Second Item</Text>
70
- </Accordion.Header>
71
- <Accordion.Content>
72
- <Text>
73
- This is the second item. Try expanding this while the first item is still open.
74
- </Text>
75
- </Accordion.Content>
76
- </Accordion.Item>
77
- </Accordion>
48
+ <Accordion.Item value="item-3">
49
+ <Accordion.Trigger>
50
+ <Text fontWeight="bold">What is JSX?</Text>
51
+ </Accordion.Trigger>
52
+ <Accordion.Content>
53
+ <Text>
54
+ JSX is a syntax extension for JavaScript. It was written to be
55
+ used with React and looks a lot like HTML. Because JSX is
56
+ JavaScript, you can use variables inside it.
57
+ </Text>
58
+ </Accordion.Content>
59
+ </Accordion.Item>
60
+ </Accordion>
61
+ </Vertical>
78
62
  );
79
63
  };
80
64
  ```
81
65
 
82
- ### **Variants**
83
- Different visual styles for the accordion.
66
+ ### **collapsible**
67
+ If true, allows all accordion items to be collapsed, meaning no item has to be open.
68
+
69
+ - **Type:** `boolean`
70
+ - **Default:** `false`
84
71
 
85
72
  ```tsx
86
73
  import React from 'react';
87
- import { Accordion } from '../Accordion';
88
- import { Text } from '@app-studio/web';
74
+ import { Accordion } from '@app-studio/web';
75
+ import { Text, Vertical } from 'app-studio';
89
76
 
90
- export const AccordionVariants = () => {
77
+ export const CollapsibleAccordion = () => {
91
78
  return (
92
- <>
93
- <Accordion variant="outline">
94
- <Accordion.Item id="outline-1">
95
- <Accordion.Header>
96
- <Text fontWeight="bold">Outline Variant</Text>
97
- </Accordion.Header>
79
+ <Vertical gap={20} width="100%" maxWidth={600}>
80
+ <Text marginBottom={10}>Collapsible Accordion (Single)</Text>
81
+ <Accordion type="single" defaultValue="item-1" collapsible>
82
+ <Accordion.Item value="item-1">
83
+ <Accordion.Trigger>
84
+ <Text fontWeight="bold">Question 1</Text>
85
+ </Accordion.Trigger>
98
86
  <Accordion.Content>
99
87
  <Text>
100
- This is the content for the outline variant accordion.
88
+ This is the answer to question 1. Since `collapsible` is true, you
89
+ can click the trigger again to close this item, even though its
90
+ the only one.
101
91
  </Text>
102
92
  </Accordion.Content>
103
93
  </Accordion.Item>
104
- </Accordion>
105
-
106
- <Accordion variant="filled">
107
- <Accordion.Item id="filled-1">
108
- <Accordion.Header>
109
- <Text fontWeight="bold">Filled Variant</Text>
110
- </Accordion.Header>
94
+
95
+ <Accordion.Item value="item-2">
96
+ <Accordion.Trigger>
97
+ <Text fontWeight="bold">Question 2</Text>
98
+ </Accordion.Trigger>
111
99
  <Accordion.Content>
112
100
  <Text>
113
- This is the content for the filled variant accordion.
101
+ This is the answer to question 2. Only one item can be open, but
102
+ it can be closed entirely.
114
103
  </Text>
115
104
  </Accordion.Content>
116
105
  </Accordion.Item>
117
106
  </Accordion>
118
- </>
107
+ </Vertical>
119
108
  );
120
109
  };
121
110
  ```
122
111
 
123
- ### **Disabled**
124
- Disable specific accordion items.
125
-
126
- ```tsx
127
- import React from 'react';
128
- import { Accordion } from '../Accordion';
129
- import { Text } from '@app-studio/web';
130
-
131
- export const DisabledAccordion = () => {
132
- return (
133
- <Accordion>
134
- <Accordion.Item id="regular-1">
135
- <Accordion.Header>
136
- <Text fontWeight="bold">Regular Item</Text>
137
- </Accordion.Header>
138
- <Accordion.Content>
139
- <Text>
140
- This is a regular accordion item that can be expanded and collapsed.
141
- </Text>
142
- </Accordion.Content>
143
- </Accordion.Item>
144
-
145
- <Accordion.Item id="disabled-1" isDisabled>
146
- <Accordion.Header>
147
- <Text fontWeight="bold">Disabled Item</Text>
148
- </Accordion.Header>
149
- <Accordion.Content>
150
- <Text>
151
- This content won't be accessible because the item is disabled.
152
- </Text>
153
- </Accordion.Content>
154
- </Accordion.Item>
155
- </Accordion>
156
- );
157
- };
158
- ```
@@ -1,16 +1,16 @@
1
1
  # Alert
2
2
 
3
- Displays an alert with optional icon and customizable views.
3
+ Displays important messages to users with various styles and states.
4
4
 
5
5
  ### **Import**
6
- ```tsx
7
- import { Alert } from '@app-studio/web';
8
- ```
6
+ ```tsx
7
+ import { Alert } from '@app-studio/web';
8
+ ```
9
9
 
10
10
  ### **Default**
11
11
  ```tsx
12
12
  import React from 'react';
13
- import { Alert } from '../Alert';
13
+ import { Alert } from '@app-studio/web';
14
14
 
15
15
  export const DefaultDemo = () => {
16
16
  return (
@@ -20,37 +20,41 @@ export const DefaultDemo = () => {
20
20
  />
21
21
  );
22
22
  };
23
-
24
23
  ```
25
24
 
26
25
  ### **icon**
27
- Optional icon property, expecting a React node element
26
+ Custom icon element to display in the alert, overriding the default variant-based icon.
27
+
28
+ - **Type:** `ReactNode`
28
29
 
29
30
  ```tsx
30
31
  import React from 'react';
31
- import { EditIcon } from '../../Icon/Icon';
32
- import { Alert } from '../Alert';
32
+ import { EditIcon } from '@app-studio/web';
33
+ import { Alert } from '@app-studio/web';
33
34
 
34
35
  export const IconDemo = () => {
35
36
  return (
36
37
  <Alert
37
38
  title="Heads up!"
38
39
  description="You can add components to your app using the cli."
39
- icon={<EditIcon size={24} color="black" />}
40
+ icon={<EditIcon widthHeight={24} color="black" />}
40
41
  />
41
42
  );
42
43
  };
43
-
44
44
  ```
45
45
 
46
46
  ### **variant**
47
- Optional variant property to determine the style of the alert
47
+ Determines the visual style and semantic meaning of the alert.
48
+
49
+ - **Type:** `string`
50
+ - **Default:** `default`
51
+ - **Possible Values:** `default, info, success, error, warning`
48
52
 
49
53
  ```tsx
50
54
  import React from 'react';
51
- import { Horizontal } from '@app-studio/web';
52
- import { Alert } from '../Alert';
53
- import { Variant } from '../Alert/Alert.type';
55
+ import { Horizontal } from 'app-studio';
56
+ import { Alert } from '@app-studio/web';
57
+ import { Variant } from '@app-studio/web';
54
58
 
55
59
  export const VariantDemo = () => (
56
60
  <Horizontal gap={10}>
@@ -64,60 +68,5 @@ export const VariantDemo = () => (
64
68
  ))}
65
69
  </Horizontal>
66
70
  );
67
-
68
- ```
69
-
70
- ### **styles**
71
- Optional styles property to apply custom styles to the alert component
72
-
73
- ```tsx
74
- import React from 'react';
75
- import { Alert } from '../Alert';
76
-
77
- export const StylesDemo = () => (
78
- <Alert
79
- title={'Heads Up!'}
80
- description={'You can add components to your app using the cli.'}
81
- views={{
82
- container: { backgroundColor: 'black' },
83
- title: { color: 'white' },
84
- description: { color: 'white' },
85
- icon: { color: 'white' },
86
- }}
87
- />
88
- );
89
-
90
- ```
91
-
92
- ### **Theme Mode Support**
93
- The Alert component supports both light and dark themes through the `themeMode` prop.
94
-
95
- ```tsx
96
- import React from 'react';
97
- import { Alert } from '../Alert';
98
- import { Vertical } from '@app-studio/web';
99
- import { Text } from '@app-studio/web';
100
-
101
- export const DarkModeDemo = () => {
102
- return (
103
- <Vertical gap={24}>
104
- <Text fontSize={20} fontWeight="bold">Light Mode Alerts</Text>
105
- <Alert
106
- themeMode="light"
107
- variant="info"
108
- title="Info Alert (Light)"
109
- description="This is an info alert in light mode."
110
- />
111
-
112
- <Text fontSize={20} fontWeight="bold" marginTop={40}>Dark Mode Alerts</Text>
113
- <Alert
114
- themeMode="dark"
115
- variant="info"
116
- title="Info Alert (Dark)"
117
- description="This is an info alert in dark mode."
118
- />
119
- </Vertical>
120
- );
121
- };
122
71
  ```
123
72
 
@@ -1,17 +1,17 @@
1
1
  # AspectRatio
2
2
 
3
- Maintains a set aspect ratio for child content
3
+ This component ensures its content maintains a specified aspect ratio, adjusting its size responsively while preserving visual proportions.
4
4
 
5
5
  ### **Import**
6
- ```tsx
7
- import { AspectRatio } from '@app-studio/web';
8
- ```
6
+ ```tsx
7
+ import { AspectRatio } from '@app-studio/web';
8
+ ```
9
9
 
10
10
  ### **Default**
11
11
  ```tsx
12
12
  import React from 'react';
13
- import { Image } from '@app-studio/web';
14
- import { AspectRatio } from '../AspectRatio';
13
+ import { Image } from 'app-studio';
14
+ import { AspectRatio } from '@app-studio/web';
15
15
 
16
16
  export const DefaultDemo = () => {
17
17
  return (
@@ -26,16 +26,19 @@ export const DefaultDemo = () => {
26
26
  </AspectRatio>
27
27
  );
28
28
  };
29
-
30
29
  ```
31
30
 
32
31
  ### **ratio**
33
- specifying the aspect ratio
32
+ Set a default aspect ratio of 16:9 if no ratio is provided as a prop.
33
+
34
+ - **Type:** `number`
35
+ - **Default:** `16 / 9`
36
+ - **Possible Values:** ``
34
37
 
35
38
  ```tsx
36
39
  import React from 'react';
37
- import { Image } from '@app-studio/web';
38
- import { AspectRatio } from '../AspectRatio';
40
+ import { Image } from 'app-studio';
41
+ import { AspectRatio } from '@app-studio/web';
39
42
 
40
43
  export const RatioDemo = () => {
41
44
  return (
@@ -50,6 +53,5 @@ export const RatioDemo = () => {
50
53
  </AspectRatio>
51
54
  );
52
55
  };
53
-
54
56
  ```
55
57
 
@@ -0,0 +1,43 @@
1
+ # AudioInput
2
+
3
+ Provides a user interface for recording, playing, and uploading audio content.
4
+
5
+ ### **Import**
6
+ ```tsx
7
+ import { AudioInput } from '@app-studio/web';
8
+ ```
9
+
10
+ ### **Default**
11
+ ```tsx
12
+ import React, { useState } from 'react';
13
+ import { AudioInput } from '@app-studio/web';
14
+ import { View, Text, Button } from 'app-studio';
15
+
16
+ export const Default = () => {
17
+ const [audioFile, setAudioFile] = useState<File | null>(null);
18
+
19
+ const handleAudio = (file: File) => {
20
+ setAudioFile(file);
21
+ };
22
+
23
+ return (
24
+ <View flexDirection="column" gap={4} padding={4} alignItems="flex-start">
25
+ <Text variant="heading" size="lg">
26
+ Audio Input Example
27
+ </Text>
28
+ <AudioInput onAudio={handleAudio} />
29
+ {audioFile && (
30
+ <View flexDirection="column" gap={2}>
31
+ <Text>
32
+ Recorded Audio: <strong>{audioFile.name}</strong> (
33
+ {(audioFile.size / 1024).toFixed(2)} KB)
34
+ </Text>
35
+ <audio controls src={URL.createObjectURL(audioFile)} />
36
+ <Button onPress={() => setAudioFile(null)}>Clear Audio</Button>
37
+ </View>
38
+ )}
39
+ </View>
40
+ );
41
+ };
42
+ ```
43
+
@@ -1,31 +1,34 @@
1
1
  # Avatar
2
2
 
3
- Displays a circular avatar with image fallback and custom styling options.
3
+ Displays a user's avatar, which can be an image or initials, with customizable size and styles.
4
4
 
5
5
  ### **Import**
6
- ```tsx
7
- import { Avatar } from '@app-studio/web';
8
- ```
6
+ ```tsx
7
+ import { Avatar } from '@app-studio/web';
8
+ ```
9
9
 
10
10
  ### **Default**
11
11
  ```tsx
12
12
  import React from 'react';
13
- import { Avatar } from '../Avatar';
13
+ import { Avatar } from '@app-studio/web';
14
14
 
15
15
  export const DefaultDemo = () => (
16
16
  <Avatar src="https://t3.ftcdn.net/jpg/06/17/13/26/360_F_617132669_YptvM7fIuczaUbYYpMe3VTLimwZwzlWf.jpg" />
17
17
  );
18
-
19
18
  ```
20
19
 
21
20
  ### **size**
22
- Optional property to specify the size of the avatar, from predefined Size options.
21
+ Optional size of the avatar, predefined in 'Size' type.
22
+
23
+ - **Type:** `Size`
24
+ - **Default:** `md`
25
+ - **Possible Values:** `xs, sm, md, lg, xl`
23
26
 
24
27
  ```tsx
25
28
  import React from 'react';
26
- import { Vertical } from '@app-studio/web';
27
- import { Avatar } from '../Avatar';
28
- import { Size } from '../Avatar/Avatar.type';
29
+ import { Vertical } from 'app-studio';
30
+ import { Avatar } from '@app-studio/web';
31
+ import { Size } from '@app-studio/web';
29
32
 
30
33
  export const SizeDemo = () => {
31
34
  return (
@@ -40,46 +43,18 @@ export const SizeDemo = () => {
40
43
  </Vertical>
41
44
  );
42
45
  };
43
-
44
46
  ```
45
47
 
46
48
  ### **fallback**
47
- Optional string for an image URL to use if the primary 'src' fails to load.
49
+ URL or path for the fallback image if the source fails to load.
48
50
 
49
- ```tsx
50
- import React from 'react';
51
- import { Avatar } from '../Avatar';
52
-
53
- export const FallbackDemo = () => <Avatar src="" fallback="ML" />;
54
-
55
- ```
56
-
57
- ### **styles**
58
- Optional object to apply custom styles to the avatar component.
51
+ - **Type:** `string`
52
+ - **Default:** `IM`
59
53
 
60
54
  ```tsx
61
55
  import React from 'react';
62
- import { Avatar } from '../Avatar';
63
-
64
- export const StylesDemo = () => {
65
- return (
66
- <Avatar
67
- src="https://t3.ftcdn.net/jpg/06/17/13/26/360_F_617132669_YptvM7fIuczaUbYYpMe3VTLimwZwzlWf.jpg"
68
- views={{
69
- container: {
70
- boxShadow: 'none', // Add shadow effect
71
- },
72
- fallback: {
73
- color: 'theme.secondary',
74
- },
75
- image: {
76
- objectFit: 'fill',
77
- },
78
- }}
79
- onClick={() => console.log('hello')}
80
- />
81
- );
82
- };
56
+ import { Avatar } from '@app-studio/web';
83
57
 
58
+ export const FallbackDemo = () => <Avatar src="" fallback="ML" />;
84
59
  ```
85
60