aural-ui 3.0.6 → 4.0.1
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.
- package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
- package/dist/components/avatar/Avatar.stories.tsx +84 -70
- package/dist/components/button/Button.stories.tsx +7 -7
- package/dist/components/button/index.tsx +7 -7
- package/dist/components/card/Card.stories.tsx +3 -3
- package/dist/components/char-count/CharCount.stories.tsx +9 -9
- package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
- package/dist/components/clamp-lines/ClampLines.stories.tsx +25 -0
- package/dist/components/clamp-lines/index.tsx +6 -1
- package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
- package/dist/components/command/Command.stories.tsx +52 -38
- package/dist/components/dialog/Dialog.stories.tsx +89 -84
- package/dist/components/divider/Divider.stories.tsx +86 -60
- package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
- package/dist/components/drawer/Drawer.stories.tsx +74 -44
- package/dist/components/drawer/index.tsx +3 -3
- package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
- package/dist/components/helper-text/HelperText.stories.tsx +2 -2
- package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
- package/dist/components/input/Input.stories.tsx +2 -2
- package/dist/components/input/index.tsx +2 -0
- package/dist/components/label/Label.stories.tsx +10 -10
- package/dist/components/list/List.stories.tsx +58 -44
- package/dist/components/marquee/Marquee.stories.tsx +131 -113
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
- package/dist/components/overlay/Overlay.stories.tsx +98 -92
- package/dist/components/overlay/index.tsx +4 -4
- package/dist/components/popover/Popover.stories.tsx +132 -106
- package/dist/components/radio/Radio.stories.tsx +2 -2
- package/dist/components/resizable/Resizable.stories.tsx +186 -138
- package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
- package/dist/components/search/Search.stories.tsx +81 -59
- package/dist/components/select/Select.stories.tsx +3 -1
- package/dist/components/sheet/Sheet.stories.tsx +68 -54
- package/dist/components/slider/Slider.stories.tsx +71 -47
- package/dist/components/stepper/Stepper.stories.tsx +16 -16
- package/dist/components/switch/Switch.stories.tsx +12 -12
- package/dist/components/table/Table.stories.tsx +8 -6
- package/dist/components/tabs/Tabs.stories.tsx +324 -268
- package/dist/components/textarea/TextArea.stories.tsx +1 -1
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
- package/dist/components/toast/Toast.stories.tsx +51 -45
- package/dist/components/toggle/Toggle.stories.tsx +111 -89
- package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
- package/dist/icons/Icons.stories.tsx +2 -2
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
- package/dist/icons/all-icons.tsx +97 -81
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
- package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
- package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
- package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
- package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
- package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
- package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
- package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
- package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
- package/dist/icons/spinner-solid-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
- package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
- package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
- package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
- package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
- package/dist/index.cjs +84 -84
- package/dist/index.js +84 -84
- package/dist/styles/aural-all-theme.css +1222 -0
- package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
- package/dist/styles/aural-light-theme.css +1047 -0
- package/package.json +1 -1
|
@@ -11,9 +11,9 @@ const meta: Meta<typeof AiAvatarIcon> = {
|
|
|
11
11
|
backgrounds: {
|
|
12
12
|
default: "dark",
|
|
13
13
|
values: [
|
|
14
|
-
{ name: "dark", value: "
|
|
15
|
-
{ name: "darker", value: "
|
|
16
|
-
{ name: "light", value: "
|
|
14
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
15
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
16
|
+
{ name: "light", value: "var(--color-fm-neutral-1100)" },
|
|
17
17
|
],
|
|
18
18
|
},
|
|
19
19
|
docs: {
|
|
@@ -40,59 +40,59 @@ const meta: Meta<typeof AiAvatarIcon> = {
|
|
|
40
40
|
background: transparent ;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) ;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) ;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent ;
|
|
50
50
|
border: none ;
|
|
51
51
|
}
|
|
52
52
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--color-fm-icon-active) ;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) ;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) ;
|
|
60
|
+
color: var(--color-fm-secondary-500) ;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) ;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) ;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) ;
|
|
73
|
+
color: var(--color-fm-icon-active) ;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) ;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) ;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
|
|
79
79
|
}
|
|
80
80
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="bg-fm-surface-primary min-h-screen">
|
|
84
84
|
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b
|
|
86
|
-
<div className="absolute inset-0 bg-
|
|
85
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
+
<div className="from-fm-secondary-500/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
87
87
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
88
|
<div className="!space-y-6 text-center">
|
|
89
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
89
|
+
<div className="border-fm-secondary-500/30 from-fm-secondary-500/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
90
|
<AiAvatarIcon className="h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
AiAvatarIcon
|
|
94
94
|
</h1>
|
|
95
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
95
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
96
96
|
A sophisticated AI avatar icon featuring sparkle elements
|
|
97
97
|
and a distinct purple theme. Perfect for AI assistants,
|
|
98
98
|
chatbots, virtual agents, and machine learning interfaces.
|
|
@@ -103,28 +103,28 @@ const meta: Meta<typeof AiAvatarIcon> = {
|
|
|
103
103
|
{/* Stats */}
|
|
104
104
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
105
105
|
<div className="text-center">
|
|
106
|
-
<div className="text-3xl font-bold
|
|
106
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
107
107
|
Accessible
|
|
108
108
|
</div>
|
|
109
|
-
<div className="text-
|
|
109
|
+
<div className="text-fm-tertiary text-sm">
|
|
110
110
|
Screen reader friendly
|
|
111
111
|
</div>
|
|
112
112
|
</div>
|
|
113
|
-
<div className="h-8 w-px
|
|
113
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
114
114
|
<div className="text-center">
|
|
115
|
-
<div className="text-3xl font-bold
|
|
115
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
116
116
|
Scalable
|
|
117
117
|
</div>
|
|
118
|
-
<div className="text-
|
|
118
|
+
<div className="text-fm-tertiary text-sm">
|
|
119
119
|
Any size needed
|
|
120
120
|
</div>
|
|
121
121
|
</div>
|
|
122
|
-
<div className="h-8 w-px
|
|
122
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
123
123
|
<div className="text-center">
|
|
124
|
-
<div className="text-3xl font-bold
|
|
124
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
125
125
|
Customizable
|
|
126
126
|
</div>
|
|
127
|
-
<div className="text-
|
|
127
|
+
<div className="text-fm-tertiary text-sm">
|
|
128
128
|
Independent styling
|
|
129
129
|
</div>
|
|
130
130
|
</div>
|
|
@@ -137,16 +137,16 @@ const meta: Meta<typeof AiAvatarIcon> = {
|
|
|
137
137
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
138
138
|
{/* Quick Usage */}
|
|
139
139
|
<div className="!space-y-8">
|
|
140
|
-
<h2 className="text-center text-3xl font-bold
|
|
140
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
141
141
|
Quick Start
|
|
142
142
|
</h2>
|
|
143
143
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
144
144
|
<div className="!space-y-4">
|
|
145
|
-
<h3 className="text-xl font-semibold
|
|
145
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
146
146
|
Basic Usage
|
|
147
147
|
</h3>
|
|
148
|
-
<div className="rounded-lg
|
|
149
|
-
<pre className="overflow-x-auto text-sm
|
|
148
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
149
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
150
150
|
{`import { AiAvatarIcon } from "@icons/ai-avatar-icon"
|
|
151
151
|
|
|
152
152
|
function MyComponent() {
|
|
@@ -162,13 +162,15 @@ function MyComponent() {
|
|
|
162
162
|
</div>
|
|
163
163
|
|
|
164
164
|
<div className="!space-y-4">
|
|
165
|
-
<h3 className="text-xl font-semibold
|
|
165
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
166
166
|
Live Preview
|
|
167
167
|
</h3>
|
|
168
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
169
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
168
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
169
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
170
170
|
<AiAvatarIcon className="h-8 w-8" />
|
|
171
|
-
<span className="text-
|
|
171
|
+
<span className="text-fm-icon-active">
|
|
172
|
+
AI Assistant
|
|
173
|
+
</span>
|
|
172
174
|
</div>
|
|
173
175
|
</div>
|
|
174
176
|
</div>
|
|
@@ -177,116 +179,130 @@ function MyComponent() {
|
|
|
177
179
|
|
|
178
180
|
{/* Props Documentation */}
|
|
179
181
|
<div className="!space-y-8">
|
|
180
|
-
<h2 className="text-center text-3xl font-bold
|
|
182
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
181
183
|
Props & Configuration
|
|
182
184
|
</h2>
|
|
183
185
|
|
|
184
|
-
<div className="overflow-hidden rounded-lg border
|
|
185
|
-
<div className="bg-
|
|
186
|
-
<h3 className="text-xl font-semibold
|
|
186
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
187
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
188
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
189
|
+
Props
|
|
190
|
+
</h3>
|
|
187
191
|
</div>
|
|
188
192
|
<table className="!my-0 w-full">
|
|
189
|
-
<thead className="bg-
|
|
190
|
-
<tr className="border-
|
|
191
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
193
|
+
<thead className="bg-fm-surface-secondary">
|
|
194
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
192
196
|
Prop
|
|
193
197
|
</th>
|
|
194
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
198
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
195
199
|
Type
|
|
196
200
|
</th>
|
|
197
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
201
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
198
202
|
Default
|
|
199
203
|
</th>
|
|
200
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
204
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
201
205
|
Description
|
|
202
206
|
</th>
|
|
203
207
|
</tr>
|
|
204
208
|
</thead>
|
|
205
209
|
<tbody>
|
|
206
210
|
{" "}
|
|
207
|
-
<tr className="
|
|
208
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
211
|
+
<tr className="bg-fm-surface-secondary!">
|
|
212
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
209
213
|
withAccessibility
|
|
210
214
|
</td>
|
|
211
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
212
216
|
boolean
|
|
213
217
|
</td>
|
|
214
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
215
219
|
true
|
|
216
220
|
</td>
|
|
217
|
-
<td className="px-6 py-4 text-sm
|
|
221
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
218
222
|
Whether to wrap the icon with accessibility feature
|
|
219
223
|
</td>
|
|
220
224
|
</tr>
|
|
221
|
-
<tr className="border-
|
|
222
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
225
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
226
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
223
227
|
height
|
|
224
228
|
</td>
|
|
225
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
226
230
|
number | string
|
|
227
231
|
</td>
|
|
228
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
-
|
|
232
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
233
|
+
40
|
|
234
|
+
</td>
|
|
235
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
230
236
|
Height of the icon in pixels
|
|
231
237
|
</td>
|
|
232
238
|
</tr>
|
|
233
|
-
<tr className="border-
|
|
234
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
239
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
240
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
235
241
|
classes
|
|
236
242
|
</td>
|
|
237
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
238
244
|
object
|
|
239
245
|
</td>
|
|
240
|
-
<td className="px-6 py-4 text-sm
|
|
241
|
-
|
|
246
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
247
|
+
{}
|
|
248
|
+
</td>
|
|
249
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
242
250
|
Custom classes for circle and path elements
|
|
243
251
|
</td>
|
|
244
252
|
</tr>
|
|
245
|
-
<tr className="border-
|
|
246
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
253
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
254
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
247
255
|
classes.circle
|
|
248
256
|
</td>
|
|
249
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
250
258
|
string
|
|
251
259
|
</td>
|
|
252
|
-
<td className="px-6 py-4 text-sm
|
|
253
|
-
|
|
260
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
261
|
+
-
|
|
262
|
+
</td>
|
|
263
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
254
264
|
CSS classes for the background circle
|
|
255
265
|
</td>
|
|
256
266
|
</tr>
|
|
257
|
-
<tr className="border-
|
|
258
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
267
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
268
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
259
269
|
classes.path
|
|
260
270
|
</td>
|
|
261
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
262
272
|
string
|
|
263
273
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
265
|
-
|
|
274
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
275
|
+
-
|
|
276
|
+
</td>
|
|
277
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
266
278
|
CSS classes for the sparkle elements
|
|
267
279
|
</td>
|
|
268
280
|
</tr>
|
|
269
|
-
<tr className="border-
|
|
270
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
281
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
282
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
271
283
|
className
|
|
272
284
|
</td>
|
|
273
|
-
<td className="px-6 py-4 text-sm
|
|
285
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
274
286
|
string
|
|
275
287
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
277
|
-
|
|
288
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
289
|
+
-
|
|
290
|
+
</td>
|
|
291
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
278
292
|
CSS classes for the entire SVG element
|
|
279
293
|
</td>
|
|
280
294
|
</tr>
|
|
281
|
-
<tr className="
|
|
282
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
295
|
+
<tr className="bg-fm-surface-secondary!">
|
|
296
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
283
297
|
...svgProps
|
|
284
298
|
</td>
|
|
285
|
-
<td className="px-6 py-4 text-sm
|
|
299
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
286
300
|
SVGProps
|
|
287
301
|
</td>
|
|
288
|
-
<td className="px-6 py-4 text-sm
|
|
289
|
-
|
|
302
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
303
|
+
-
|
|
304
|
+
</td>
|
|
305
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
290
306
|
All standard SVG element props
|
|
291
307
|
</td>
|
|
292
308
|
</tr>
|
|
@@ -297,50 +313,62 @@ function MyComponent() {
|
|
|
297
313
|
|
|
298
314
|
{/* Size Variations */}
|
|
299
315
|
<div className="!space-y-8">
|
|
300
|
-
<h2 className="text-center text-3xl font-bold
|
|
316
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
301
317
|
Size Variations
|
|
302
318
|
</h2>
|
|
303
|
-
<div className="rounded-lg border
|
|
319
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
304
320
|
<div className="!space-y-6">
|
|
305
321
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
306
322
|
<div className="!space-y-4">
|
|
307
|
-
<h3 className="text-lg font-semibold
|
|
323
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
308
324
|
Standard Sizes
|
|
309
325
|
</h3>
|
|
310
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
326
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
311
327
|
<div className="text-center">
|
|
312
328
|
<AiAvatarIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
313
|
-
<span className="text-
|
|
329
|
+
<span className="text-fm-tertiary text-xs">
|
|
330
|
+
24px
|
|
331
|
+
</span>
|
|
314
332
|
</div>
|
|
315
333
|
<div className="text-center">
|
|
316
334
|
<AiAvatarIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
317
|
-
<span className="text-
|
|
335
|
+
<span className="text-fm-tertiary text-xs">
|
|
336
|
+
32px
|
|
337
|
+
</span>
|
|
318
338
|
</div>
|
|
319
339
|
<div className="text-center">
|
|
320
340
|
<AiAvatarIcon className="!mx-auto mb-2 h-10 w-10" />
|
|
321
|
-
<span className="text-
|
|
341
|
+
<span className="text-fm-tertiary text-xs">
|
|
342
|
+
40px
|
|
343
|
+
</span>
|
|
322
344
|
</div>
|
|
323
345
|
<div className="text-center">
|
|
324
346
|
<AiAvatarIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
325
|
-
<span className="text-
|
|
347
|
+
<span className="text-fm-tertiary text-xs">
|
|
348
|
+
48px
|
|
349
|
+
</span>
|
|
326
350
|
</div>
|
|
327
351
|
<div className="text-center">
|
|
328
352
|
<AiAvatarIcon className="!mx-auto mb-2 h-16 w-16" />
|
|
329
|
-
<span className="text-
|
|
353
|
+
<span className="text-fm-tertiary text-xs">
|
|
354
|
+
64px
|
|
355
|
+
</span>
|
|
330
356
|
</div>
|
|
331
357
|
<div className="text-center">
|
|
332
358
|
<AiAvatarIcon className="!mx-auto mb-2 h-20 w-20" />
|
|
333
|
-
<span className="text-
|
|
359
|
+
<span className="text-fm-tertiary text-xs">
|
|
360
|
+
80px
|
|
361
|
+
</span>
|
|
334
362
|
</div>
|
|
335
363
|
</div>
|
|
336
364
|
</div>
|
|
337
365
|
|
|
338
366
|
<div className="!space-y-4">
|
|
339
|
-
<h3 className="text-lg font-semibold
|
|
367
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
340
368
|
Code Example
|
|
341
369
|
</h3>
|
|
342
|
-
<div className="rounded-lg
|
|
343
|
-
<pre className="overflow-x-auto text-sm
|
|
370
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
371
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
344
372
|
{`// Small (32px)
|
|
345
373
|
<AiAvatarIcon className="h-8 w-8" />
|
|
346
374
|
|
|
@@ -362,22 +390,22 @@ function MyComponent() {
|
|
|
362
390
|
|
|
363
391
|
{/* Color Customization */}
|
|
364
392
|
<div className="!space-y-8">
|
|
365
|
-
<h2 className="text-center text-3xl font-bold
|
|
393
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
366
394
|
Color Customization
|
|
367
395
|
</h2>
|
|
368
396
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
369
397
|
<div className="!space-y-4">
|
|
370
|
-
<h3 className="text-lg font-semibold
|
|
398
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
371
399
|
Theme Variations
|
|
372
400
|
</h3>
|
|
373
|
-
<div className="!space-y-4 rounded-lg border
|
|
401
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
374
402
|
<div className="flex items-center gap-4">
|
|
375
403
|
<AiAvatarIcon className="h-10 w-10" />
|
|
376
404
|
<div>
|
|
377
|
-
<div className="text-sm font-medium
|
|
405
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
378
406
|
Default Theme
|
|
379
407
|
</div>
|
|
380
|
-
<div className="text-
|
|
408
|
+
<div className="text-fm-tertiary text-xs">
|
|
381
409
|
Purple & Pink sparkles
|
|
382
410
|
</div>
|
|
383
411
|
</div>
|
|
@@ -391,10 +419,10 @@ function MyComponent() {
|
|
|
391
419
|
}}
|
|
392
420
|
/>
|
|
393
421
|
<div>
|
|
394
|
-
<div className="text-sm font-medium
|
|
422
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
395
423
|
Blue Theme
|
|
396
424
|
</div>
|
|
397
|
-
<div className="text-
|
|
425
|
+
<div className="text-fm-tertiary text-xs">
|
|
398
426
|
Blue background & sparkles
|
|
399
427
|
</div>
|
|
400
428
|
</div>
|
|
@@ -408,10 +436,10 @@ function MyComponent() {
|
|
|
408
436
|
}}
|
|
409
437
|
/>
|
|
410
438
|
<div>
|
|
411
|
-
<div className="text-sm font-medium
|
|
439
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
412
440
|
Green Theme
|
|
413
441
|
</div>
|
|
414
|
-
<div className="text-
|
|
442
|
+
<div className="text-fm-tertiary text-xs">
|
|
415
443
|
Green background & sparkles
|
|
416
444
|
</div>
|
|
417
445
|
</div>
|
|
@@ -425,10 +453,10 @@ function MyComponent() {
|
|
|
425
453
|
}}
|
|
426
454
|
/>
|
|
427
455
|
<div>
|
|
428
|
-
<div className="text-sm font-medium
|
|
456
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
429
457
|
Orange Theme
|
|
430
458
|
</div>
|
|
431
|
-
<div className="text-
|
|
459
|
+
<div className="text-fm-tertiary text-xs">
|
|
432
460
|
Orange background & sparkles
|
|
433
461
|
</div>
|
|
434
462
|
</div>
|
|
@@ -437,11 +465,11 @@ function MyComponent() {
|
|
|
437
465
|
</div>
|
|
438
466
|
|
|
439
467
|
<div className="!space-y-4">
|
|
440
|
-
<h3 className="text-lg font-semibold
|
|
468
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
441
469
|
Custom Styling
|
|
442
470
|
</h3>
|
|
443
|
-
<div className="rounded-lg
|
|
444
|
-
<pre className="overflow-x-auto text-sm
|
|
471
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
472
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
445
473
|
{`// Using classes prop for custom colors
|
|
446
474
|
<AiAvatarIcon
|
|
447
475
|
classes={{
|
|
@@ -473,50 +501,54 @@ function MyComponent() {
|
|
|
473
501
|
|
|
474
502
|
{/* Usage Examples */}
|
|
475
503
|
<div className="!space-y-8">
|
|
476
|
-
<h2 className="text-center text-3xl font-bold
|
|
504
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
477
505
|
Usage Examples
|
|
478
506
|
</h2>
|
|
479
507
|
|
|
480
508
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
481
509
|
{/* Chat Interface */}
|
|
482
510
|
<div className="!space-y-4">
|
|
483
|
-
<h3 className="text-lg font-semibold
|
|
511
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
484
512
|
Chat Interface
|
|
485
513
|
</h3>
|
|
486
514
|
<div className="!space-y-4">
|
|
487
|
-
<div className="!space-y-4 rounded-lg border
|
|
515
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-4">
|
|
488
516
|
<div className="flex items-start gap-3">
|
|
489
517
|
<AiAvatarIcon className="h-8 w-8 flex-shrink-0" />
|
|
490
518
|
<div className="flex-1">
|
|
491
519
|
<div className="flex items-center gap-2">
|
|
492
|
-
<span className="text-sm font-medium
|
|
520
|
+
<span className="text-fm-secondary-600 text-sm font-medium">
|
|
493
521
|
AI Assistant
|
|
494
522
|
</span>
|
|
495
|
-
<span className="text-
|
|
523
|
+
<span className="text-fm-placeholder text-xs">
|
|
524
|
+
now
|
|
525
|
+
</span>
|
|
496
526
|
</div>
|
|
497
|
-
<p className="mt-1 text-sm
|
|
527
|
+
<p className="text-fm-icon-active!/80 mt-1 text-sm">
|
|
498
528
|
Hello! I'm here to help you with any questions you
|
|
499
529
|
might have.
|
|
500
530
|
</p>
|
|
501
531
|
</div>
|
|
502
532
|
</div>
|
|
503
533
|
<div className="flex items-start gap-3">
|
|
504
|
-
<div className="h-8 w-8 flex-shrink-0 rounded-full
|
|
534
|
+
<div className="bg-fm-surface-tertiary h-8 w-8 flex-shrink-0 rounded-full"></div>
|
|
505
535
|
<div className="flex-1">
|
|
506
536
|
<div className="flex items-center gap-2">
|
|
507
|
-
<span className="text-sm font-medium
|
|
537
|
+
<span className="text-fm-icon-active text-sm font-medium">
|
|
508
538
|
You
|
|
509
539
|
</span>
|
|
510
|
-
<span className="text-
|
|
540
|
+
<span className="text-fm-placeholder text-xs">
|
|
541
|
+
now
|
|
542
|
+
</span>
|
|
511
543
|
</div>
|
|
512
|
-
<p className="mt-1 text-sm
|
|
544
|
+
<p className="text-fm-icon-active!/80 mt-1 text-sm">
|
|
513
545
|
Can you help me understand AI avatars?
|
|
514
546
|
</p>
|
|
515
547
|
</div>
|
|
516
548
|
</div>
|
|
517
549
|
</div>
|
|
518
|
-
<div className="rounded-lg
|
|
519
|
-
<pre className="overflow-x-auto text-sm
|
|
550
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
551
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
520
552
|
{`<div className="flex items-start gap-3">
|
|
521
553
|
<AiAvatarIcon className="h-8 w-8 flex-shrink-0" />
|
|
522
554
|
<div className="flex-1">
|
|
@@ -536,29 +568,29 @@ function MyComponent() {
|
|
|
536
568
|
|
|
537
569
|
{/* Profile Card */}
|
|
538
570
|
<div className="!space-y-4">
|
|
539
|
-
<h3 className="text-lg font-semibold
|
|
571
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
540
572
|
AI Profile Card
|
|
541
573
|
</h3>
|
|
542
574
|
<div className="!space-y-4">
|
|
543
|
-
<div className="
|
|
575
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-6">
|
|
544
576
|
<div className="!space-y-4 text-center">
|
|
545
577
|
<AiAvatarIcon className="!mx-auto h-16 w-16" />
|
|
546
578
|
<div>
|
|
547
|
-
<h4 className="font-medium
|
|
579
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
548
580
|
Claude AI
|
|
549
581
|
</h4>
|
|
550
|
-
<p className="text-
|
|
582
|
+
<p className="text-fm-secondary-600!/80 text-sm">
|
|
551
583
|
Your intelligent assistant
|
|
552
584
|
</p>
|
|
553
585
|
</div>
|
|
554
|
-
<div className="flex items-center justify-center gap-2 text-xs
|
|
555
|
-
<div className="h-2 w-2 rounded-full
|
|
586
|
+
<div className="text-fm-secondary-600 flex items-center justify-center gap-2 text-xs">
|
|
587
|
+
<div className="bg-fm-icon-positive h-2 w-2 rounded-full"></div>
|
|
556
588
|
<span>Online & Ready</span>
|
|
557
589
|
</div>
|
|
558
590
|
</div>
|
|
559
591
|
</div>
|
|
560
|
-
<div className="rounded-lg
|
|
561
|
-
<pre className="overflow-x-auto text-sm
|
|
592
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
593
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
562
594
|
{`<div className="rounded-lg border border-purple-500/20 bg-purple-500/10 p-6">
|
|
563
595
|
<div className="space-y-4 text-center">
|
|
564
596
|
<AiAvatarIcon className="mx-auto h-16 w-16" />
|
|
@@ -579,28 +611,28 @@ function MyComponent() {
|
|
|
579
611
|
|
|
580
612
|
{/* Navigation Menu */}
|
|
581
613
|
<div className="!space-y-4">
|
|
582
|
-
<h3 className="text-lg font-semibold
|
|
614
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
583
615
|
Navigation Menu
|
|
584
616
|
</h3>
|
|
585
617
|
<div className="!space-y-4">
|
|
586
618
|
<div className="!space-y-2">
|
|
587
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
619
|
+
<div className="bg-fm-secondary-500/20 text-fm-secondary-600 flex items-center gap-3 rounded-lg px-3 py-2">
|
|
588
620
|
<AiAvatarIcon className="h-5 w-5" />
|
|
589
621
|
<span className="text-sm font-medium">
|
|
590
622
|
AI Assistant
|
|
591
623
|
</span>
|
|
592
624
|
</div>
|
|
593
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
594
|
-
<div className="h-5 w-5 rounded
|
|
625
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
626
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
595
627
|
<span className="text-sm">Conversations</span>
|
|
596
628
|
</div>
|
|
597
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
598
|
-
<div className="h-5 w-5 rounded
|
|
629
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
630
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
599
631
|
<span className="text-sm">Settings</span>
|
|
600
632
|
</div>
|
|
601
633
|
</div>
|
|
602
|
-
<div className="rounded-lg
|
|
603
|
-
<pre className="overflow-x-auto text-sm
|
|
634
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
635
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
604
636
|
{`// Active menu item
|
|
605
637
|
<div className="flex items-center gap-3 rounded-lg bg-purple-500/20 px-3 py-2 text-purple-200">
|
|
606
638
|
<AiAvatarIcon className="h-5 w-5" />
|
|
@@ -619,29 +651,29 @@ function MyComponent() {
|
|
|
619
651
|
|
|
620
652
|
{/* Feature Card */}
|
|
621
653
|
<div className="!space-y-4">
|
|
622
|
-
<h3 className="text-lg font-semibold
|
|
654
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
623
655
|
Feature Showcase
|
|
624
656
|
</h3>
|
|
625
657
|
<div className="!space-y-4">
|
|
626
658
|
<div className="grid gap-4">
|
|
627
|
-
<div className="group cursor-pointer rounded-lg border
|
|
659
|
+
<div className="group border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary cursor-pointer rounded-lg border p-4 transition-colors">
|
|
628
660
|
<div className="flex items-center gap-4">
|
|
629
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
661
|
+
<div className="bg-fm-secondary-500/20 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
630
662
|
<AiAvatarIcon className="h-6 w-6" />
|
|
631
663
|
</div>
|
|
632
664
|
<div>
|
|
633
|
-
<h4 className="font-medium
|
|
665
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
634
666
|
AI-Powered Chat
|
|
635
667
|
</h4>
|
|
636
|
-
<p className="text-
|
|
668
|
+
<p className="text-fm-tertiary! text-sm">
|
|
637
669
|
Intelligent conversations with context awareness
|
|
638
670
|
</p>
|
|
639
671
|
</div>
|
|
640
672
|
</div>
|
|
641
673
|
</div>
|
|
642
|
-
<div className="group cursor-pointer rounded-lg border
|
|
674
|
+
<div className="group border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary cursor-pointer rounded-lg border p-4 transition-colors">
|
|
643
675
|
<div className="flex items-center gap-4">
|
|
644
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
676
|
+
<div className="bg-fm-icon-info/20 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
645
677
|
<AiAvatarIcon
|
|
646
678
|
className="h-6 w-6"
|
|
647
679
|
classes={{
|
|
@@ -651,18 +683,18 @@ function MyComponent() {
|
|
|
651
683
|
/>
|
|
652
684
|
</div>
|
|
653
685
|
<div>
|
|
654
|
-
<h4 className="font-medium
|
|
686
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
655
687
|
Smart Analytics
|
|
656
688
|
</h4>
|
|
657
|
-
<p className="text-
|
|
689
|
+
<p className="text-fm-tertiary! text-sm">
|
|
658
690
|
Data insights powered by machine learning
|
|
659
691
|
</p>
|
|
660
692
|
</div>
|
|
661
693
|
</div>
|
|
662
694
|
</div>
|
|
663
695
|
</div>
|
|
664
|
-
<div className="rounded-lg
|
|
665
|
-
<pre className="overflow-x-auto text-sm
|
|
696
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
697
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
666
698
|
{`<div className="group cursor-pointer rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10">
|
|
667
699
|
<div className="flex items-center gap-4">
|
|
668
700
|
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
|
|
@@ -685,64 +717,64 @@ function MyComponent() {
|
|
|
685
717
|
|
|
686
718
|
{/* Accessibility */}
|
|
687
719
|
<div className="!space-y-8">
|
|
688
|
-
<h2 className="text-center text-3xl font-bold
|
|
720
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
689
721
|
Accessibility Features
|
|
690
722
|
</h2>
|
|
691
723
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
692
|
-
<div className="!space-y-4 rounded-lg border
|
|
693
|
-
<h3 className="text-lg font-semibold
|
|
724
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
725
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
694
726
|
✅ Built-in Features
|
|
695
727
|
</h3>
|
|
696
|
-
<ul className="!space-y-2 text-sm
|
|
697
|
-
<li className="
|
|
728
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
729
|
+
<li className="text-fm-secondary!">
|
|
698
730
|
Uses Radix UI AccessibleIcon wrapper
|
|
699
731
|
</li>
|
|
700
|
-
<li className="
|
|
732
|
+
<li className="text-fm-secondary!">
|
|
701
733
|
Provides screen reader label "Ai Avatar icon"
|
|
702
734
|
</li>
|
|
703
|
-
<li className="
|
|
735
|
+
<li className="text-fm-secondary!">
|
|
704
736
|
Supports keyboard navigation when interactive
|
|
705
737
|
</li>
|
|
706
|
-
<li className="
|
|
738
|
+
<li className="text-fm-secondary!">
|
|
707
739
|
Maintains proper color contrast ratios
|
|
708
740
|
</li>
|
|
709
|
-
<li className="
|
|
741
|
+
<li className="text-fm-secondary!">
|
|
710
742
|
Scales proportionally with size changes
|
|
711
743
|
</li>
|
|
712
744
|
</ul>
|
|
713
745
|
</div>
|
|
714
746
|
|
|
715
|
-
<div className="!space-y-4 rounded-lg border
|
|
716
|
-
<h3 className="text-lg font-semibold
|
|
747
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
748
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
717
749
|
💡 Best Practices
|
|
718
750
|
</h3>
|
|
719
|
-
<ul className="!space-y-2 text-sm
|
|
720
|
-
<li className="
|
|
751
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
752
|
+
<li className="text-fm-secondary!">
|
|
721
753
|
Always pair with descriptive text or labels
|
|
722
754
|
</li>
|
|
723
|
-
<li className="
|
|
755
|
+
<li className="text-fm-secondary!">
|
|
724
756
|
Use consistent colors for AI-related elements
|
|
725
757
|
</li>
|
|
726
|
-
<li className="
|
|
758
|
+
<li className="text-fm-secondary!">
|
|
727
759
|
Ensure sufficient color contrast for sparkle elements
|
|
728
760
|
</li>
|
|
729
|
-
<li className="
|
|
761
|
+
<li className="text-fm-secondary!">
|
|
730
762
|
Add focus states for interactive elements
|
|
731
763
|
</li>
|
|
732
|
-
<li className="
|
|
764
|
+
<li className="text-fm-secondary!">
|
|
733
765
|
Consider providing alternative text context
|
|
734
766
|
</li>
|
|
735
767
|
</ul>
|
|
736
768
|
</div>
|
|
737
769
|
</div>
|
|
738
770
|
|
|
739
|
-
<div className="rounded-lg border
|
|
740
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
771
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
772
|
+
<h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
|
|
741
773
|
Custom Accessibility Label
|
|
742
774
|
</h3>
|
|
743
775
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
744
|
-
<div className="rounded-lg
|
|
745
|
-
<pre className="overflow-x-auto text-sm
|
|
776
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
777
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
746
778
|
{`// Custom implementation with specific label
|
|
747
779
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
748
780
|
|
|
@@ -762,14 +794,14 @@ function CustomAiAvatarIcon({ label = "AI Assistant", ...props }) {
|
|
|
762
794
|
</pre>
|
|
763
795
|
</div>
|
|
764
796
|
<div className="!space-y-4">
|
|
765
|
-
<p className="text-
|
|
797
|
+
<p className="text-fm-secondary! text-sm">
|
|
766
798
|
For specific contexts, you can wrap the AiAvatarIcon
|
|
767
799
|
with a custom AccessibleIcon component that provides
|
|
768
800
|
more descriptive labels for different AI assistants or
|
|
769
801
|
contexts.
|
|
770
802
|
</p>
|
|
771
|
-
<div className="
|
|
772
|
-
<div className="flex items-center gap-2 text-sm
|
|
803
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
804
|
+
<div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
|
|
773
805
|
<AiAvatarIcon className="h-4 w-4" />
|
|
774
806
|
<span>
|
|
775
807
|
This approach gives screen readers specific AI
|
|
@@ -784,48 +816,58 @@ function CustomAiAvatarIcon({ label = "AI Assistant", ...props }) {
|
|
|
784
816
|
|
|
785
817
|
{/* Related Icons */}
|
|
786
818
|
<div className="!space-y-8">
|
|
787
|
-
<h2 className="text-center text-3xl font-bold
|
|
819
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
788
820
|
Related Icons
|
|
789
821
|
</h2>
|
|
790
822
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
791
|
-
<div className="!space-y-3 rounded-lg border
|
|
792
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
823
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
824
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
793
825
|
<span className="text-2xl">🤖</span>
|
|
794
826
|
</div>
|
|
795
827
|
<div>
|
|
796
|
-
<div className="font-medium
|
|
797
|
-
|
|
828
|
+
<div className="text-fm-icon-active font-medium">
|
|
829
|
+
BotIcon
|
|
830
|
+
</div>
|
|
831
|
+
<div className="text-fm-tertiary text-xs">
|
|
798
832
|
Robot assistants
|
|
799
833
|
</div>
|
|
800
834
|
</div>
|
|
801
835
|
</div>
|
|
802
|
-
<div className="!space-y-3 rounded-lg border
|
|
803
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
836
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
837
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
804
838
|
<span className="text-2xl">👤</span>
|
|
805
839
|
</div>
|
|
806
840
|
<div>
|
|
807
|
-
<div className="font-medium
|
|
808
|
-
|
|
841
|
+
<div className="text-fm-icon-active font-medium">
|
|
842
|
+
UserIcon
|
|
843
|
+
</div>
|
|
844
|
+
<div className="text-fm-tertiary text-xs">
|
|
845
|
+
Human users
|
|
846
|
+
</div>
|
|
809
847
|
</div>
|
|
810
848
|
</div>
|
|
811
|
-
<div className="!space-y-3 rounded-lg border
|
|
812
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
849
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
850
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
813
851
|
<span className="text-2xl">💬</span>
|
|
814
852
|
</div>
|
|
815
853
|
<div>
|
|
816
|
-
<div className="font-medium
|
|
817
|
-
|
|
854
|
+
<div className="text-fm-icon-active font-medium">
|
|
855
|
+
ChatIcon
|
|
856
|
+
</div>
|
|
857
|
+
<div className="text-fm-tertiary text-xs">
|
|
858
|
+
Conversations
|
|
859
|
+
</div>
|
|
818
860
|
</div>
|
|
819
861
|
</div>
|
|
820
|
-
<div className="!space-y-3 rounded-lg border
|
|
821
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
862
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
863
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
822
864
|
<span className="text-2xl">⚡</span>
|
|
823
865
|
</div>
|
|
824
866
|
<div>
|
|
825
|
-
<div className="font-medium
|
|
867
|
+
<div className="text-fm-icon-active font-medium">
|
|
826
868
|
AutomationIcon
|
|
827
869
|
</div>
|
|
828
|
-
<div className="text-
|
|
870
|
+
<div className="text-fm-tertiary text-xs">
|
|
829
871
|
Smart automation
|
|
830
872
|
</div>
|
|
831
873
|
</div>
|
|
@@ -835,15 +877,15 @@ function CustomAiAvatarIcon({ label = "AI Assistant", ...props }) {
|
|
|
835
877
|
</div>
|
|
836
878
|
|
|
837
879
|
{/* Footer */}
|
|
838
|
-
<div className="border-
|
|
880
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
839
881
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
840
882
|
<div className="!space-y-4 text-center">
|
|
841
|
-
<p className="
|
|
883
|
+
<p className="text-fm-tertiary!">
|
|
842
884
|
AiAvatarIcon is part of the Aural UI icon library, designed
|
|
843
885
|
specifically for AI and machine learning interfaces with
|
|
844
886
|
accessibility in mind.
|
|
845
887
|
</p>
|
|
846
|
-
<p className="text-
|
|
888
|
+
<p className="text-fm-placeholder! text-sm">
|
|
847
889
|
Features customizable colors for circle and sparkle
|
|
848
890
|
elements, following WCAG guidelines for accessibility.
|
|
849
891
|
</p>
|
|
@@ -884,8 +926,8 @@ const storyParameters = {
|
|
|
884
926
|
backgrounds: {
|
|
885
927
|
default: "dark",
|
|
886
928
|
values: [
|
|
887
|
-
{ name: "dark", value: "
|
|
888
|
-
{ name: "darker", value: "
|
|
929
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
930
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
889
931
|
],
|
|
890
932
|
},
|
|
891
933
|
}
|
|
@@ -899,7 +941,7 @@ export const Default: Story = {
|
|
|
899
941
|
},
|
|
900
942
|
parameters: storyParameters,
|
|
901
943
|
render: (args) => (
|
|
902
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
944
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-32 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
|
|
903
945
|
<AiAvatarIcon {...args} />
|
|
904
946
|
</div>
|
|
905
947
|
),
|
|
@@ -916,30 +958,30 @@ export const SizeVariations: Story = {
|
|
|
916
958
|
},
|
|
917
959
|
},
|
|
918
960
|
render: () => (
|
|
919
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
961
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-linear-to-br p-8">
|
|
920
962
|
<div className="text-center">
|
|
921
963
|
<AiAvatarIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
922
|
-
<span className="text-
|
|
964
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
923
965
|
</div>
|
|
924
966
|
<div className="text-center">
|
|
925
967
|
<AiAvatarIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
926
|
-
<span className="text-
|
|
968
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
927
969
|
</div>
|
|
928
970
|
<div className="text-center">
|
|
929
971
|
<AiAvatarIcon className="!mx-auto mb-2 h-10 w-10" />
|
|
930
|
-
<span className="text-
|
|
972
|
+
<span className="text-fm-tertiary text-xs">40px</span>
|
|
931
973
|
</div>
|
|
932
974
|
<div className="text-center">
|
|
933
975
|
<AiAvatarIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
934
|
-
<span className="text-
|
|
976
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
935
977
|
</div>
|
|
936
978
|
<div className="text-center">
|
|
937
979
|
<AiAvatarIcon className="!mx-auto mb-2 h-16 w-16" />
|
|
938
|
-
<span className="text-
|
|
980
|
+
<span className="text-fm-tertiary text-xs">64px</span>
|
|
939
981
|
</div>
|
|
940
982
|
<div className="text-center">
|
|
941
983
|
<AiAvatarIcon className="!mx-auto mb-2 h-20 w-20" />
|
|
942
|
-
<span className="text-
|
|
984
|
+
<span className="text-fm-tertiary text-xs">80px</span>
|
|
943
985
|
</div>
|
|
944
986
|
</div>
|
|
945
987
|
),
|
|
@@ -956,16 +998,16 @@ export const ColorVariations: Story = {
|
|
|
956
998
|
},
|
|
957
999
|
},
|
|
958
1000
|
render: () => (
|
|
959
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
1001
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-linear-to-br p-8 md:grid-cols-4">
|
|
960
1002
|
<div className="text-center">
|
|
961
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1003
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
962
1004
|
<AiAvatarIcon className="h-10 w-10" />
|
|
963
1005
|
</div>
|
|
964
|
-
<div className="text-sm font-medium
|
|
965
|
-
<div className="text-
|
|
1006
|
+
<div className="text-fm-icon-active text-sm font-medium">Default</div>
|
|
1007
|
+
<div className="text-fm-secondary-600 text-xs">Purple & Pink</div>
|
|
966
1008
|
</div>
|
|
967
1009
|
<div className="text-center">
|
|
968
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1010
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
969
1011
|
<AiAvatarIcon
|
|
970
1012
|
className="h-10 w-10"
|
|
971
1013
|
classes={{
|
|
@@ -974,11 +1016,11 @@ export const ColorVariations: Story = {
|
|
|
974
1016
|
}}
|
|
975
1017
|
/>
|
|
976
1018
|
</div>
|
|
977
|
-
<div className="text-sm font-medium
|
|
978
|
-
<div className="text-
|
|
1019
|
+
<div className="text-fm-icon-active text-sm font-medium">Blue</div>
|
|
1020
|
+
<div className="text-fm-icon-info text-xs">Tech & Corporate</div>
|
|
979
1021
|
</div>
|
|
980
1022
|
<div className="text-center">
|
|
981
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1023
|
+
<div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
982
1024
|
<AiAvatarIcon
|
|
983
1025
|
className="h-10 w-10"
|
|
984
1026
|
classes={{
|
|
@@ -987,11 +1029,11 @@ export const ColorVariations: Story = {
|
|
|
987
1029
|
}}
|
|
988
1030
|
/>
|
|
989
1031
|
</div>
|
|
990
|
-
<div className="text-sm font-medium
|
|
991
|
-
<div className="text-
|
|
1032
|
+
<div className="text-fm-icon-active text-sm font-medium">Green</div>
|
|
1033
|
+
<div className="text-fm-icon-positive text-xs">Eco & Health</div>
|
|
992
1034
|
</div>
|
|
993
1035
|
<div className="text-center">
|
|
994
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1036
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
995
1037
|
<AiAvatarIcon
|
|
996
1038
|
className="h-10 w-10"
|
|
997
1039
|
classes={{
|
|
@@ -1000,8 +1042,8 @@ export const ColorVariations: Story = {
|
|
|
1000
1042
|
}}
|
|
1001
1043
|
/>
|
|
1002
1044
|
</div>
|
|
1003
|
-
<div className="text-sm font-medium
|
|
1004
|
-
<div className="text-
|
|
1045
|
+
<div className="text-fm-icon-active text-sm font-medium">Orange</div>
|
|
1046
|
+
<div className="text-fm-icon-warning text-xs">Creative & Warm</div>
|
|
1005
1047
|
</div>
|
|
1006
1048
|
</div>
|
|
1007
1049
|
),
|
|
@@ -1018,21 +1060,23 @@ export const UsageExamples: Story = {
|
|
|
1018
1060
|
},
|
|
1019
1061
|
},
|
|
1020
1062
|
render: () => (
|
|
1021
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1063
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1022
1064
|
{/* Chat Interface */}
|
|
1023
1065
|
<div className="!space-y-2">
|
|
1024
|
-
<h3 className="text-sm font-medium
|
|
1025
|
-
|
|
1066
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1067
|
+
Chat Interface
|
|
1068
|
+
</h3>
|
|
1069
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-4">
|
|
1026
1070
|
<div className="flex items-start gap-3">
|
|
1027
1071
|
<AiAvatarIcon className="h-8 w-8 flex-shrink-0" />
|
|
1028
1072
|
<div className="flex-1">
|
|
1029
1073
|
<div className="flex items-center gap-2">
|
|
1030
|
-
<span className="text-sm font-medium
|
|
1074
|
+
<span className="text-fm-secondary-600 text-sm font-medium">
|
|
1031
1075
|
AI Assistant
|
|
1032
1076
|
</span>
|
|
1033
|
-
<span className="text-
|
|
1077
|
+
<span className="text-fm-placeholder text-xs">now</span>
|
|
1034
1078
|
</div>
|
|
1035
|
-
<p className="mt-1 text-sm
|
|
1079
|
+
<p className="text-fm-icon-active!/80 mt-1 text-sm">
|
|
1036
1080
|
Hello! I'm here to help you with any questions you might have.
|
|
1037
1081
|
</p>
|
|
1038
1082
|
</div>
|
|
@@ -1042,18 +1086,20 @@ export const UsageExamples: Story = {
|
|
|
1042
1086
|
|
|
1043
1087
|
{/* Profile Card */}
|
|
1044
1088
|
<div className="!space-y-2">
|
|
1045
|
-
<h3 className="text-sm font-medium
|
|
1046
|
-
|
|
1089
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1090
|
+
AI Profile Card
|
|
1091
|
+
</h3>
|
|
1092
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-6">
|
|
1047
1093
|
<div className="!space-y-4 text-center">
|
|
1048
1094
|
<AiAvatarIcon className="!mx-auto h-16 w-16" />
|
|
1049
1095
|
<div>
|
|
1050
|
-
<h4 className="font-medium
|
|
1051
|
-
<p className="text-
|
|
1096
|
+
<h4 className="text-fm-icon-active font-medium">Claude AI</h4>
|
|
1097
|
+
<p className="text-fm-secondary-600/80 text-sm">
|
|
1052
1098
|
Your intelligent assistant
|
|
1053
1099
|
</p>
|
|
1054
1100
|
</div>
|
|
1055
|
-
<div className="flex items-center justify-center gap-2 text-xs
|
|
1056
|
-
<div className="h-2 w-2 rounded-full
|
|
1101
|
+
<div className="text-fm-secondary-600 flex items-center justify-center gap-2 text-xs">
|
|
1102
|
+
<div className="bg-fm-icon-positive h-2 w-2 rounded-full"></div>
|
|
1057
1103
|
<span>Online & Ready</span>
|
|
1058
1104
|
</div>
|
|
1059
1105
|
</div>
|
|
@@ -1062,16 +1108,20 @@ export const UsageExamples: Story = {
|
|
|
1062
1108
|
|
|
1063
1109
|
{/* Feature Showcase */}
|
|
1064
1110
|
<div className="!space-y-2">
|
|
1065
|
-
<h3 className="text-sm font-medium
|
|
1111
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1112
|
+
Feature Cards
|
|
1113
|
+
</h3>
|
|
1066
1114
|
<div className="grid gap-4">
|
|
1067
|
-
<div className="group cursor-pointer rounded-lg border
|
|
1115
|
+
<div className="group border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary cursor-pointer rounded-lg border p-4 transition-colors">
|
|
1068
1116
|
<div className="flex items-center gap-4">
|
|
1069
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
1117
|
+
<div className="bg-fm-secondary-500/20 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1070
1118
|
<AiAvatarIcon className="h-6 w-6" />
|
|
1071
1119
|
</div>
|
|
1072
1120
|
<div>
|
|
1073
|
-
<h4 className="font-medium
|
|
1074
|
-
|
|
1121
|
+
<h4 className="text-fm-icon-active font-medium">
|
|
1122
|
+
AI-Powered Chat
|
|
1123
|
+
</h4>
|
|
1124
|
+
<p className="text-fm-tertiary text-sm">
|
|
1075
1125
|
Intelligent conversations with context awareness
|
|
1076
1126
|
</p>
|
|
1077
1127
|
</div>
|
|
@@ -1100,8 +1150,8 @@ export const Playground: Story = {
|
|
|
1100
1150
|
classes: {},
|
|
1101
1151
|
},
|
|
1102
1152
|
render: (args) => (
|
|
1103
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1104
|
-
<div className="rounded-lg border
|
|
1153
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
|
|
1154
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1105
1155
|
<AiAvatarIcon {...args} />
|
|
1106
1156
|
</div>
|
|
1107
1157
|
</div>
|