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 ImageAvatarSparkleIcon> = {
|
|
|
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: {
|
|
@@ -47,59 +47,59 @@ const meta: Meta<typeof ImageAvatarSparkleIcon> = {
|
|
|
47
47
|
background: transparent !important;
|
|
48
48
|
}
|
|
49
49
|
body {
|
|
50
|
-
background:
|
|
50
|
+
background: var(--color-fm-surface-primary) !important;
|
|
51
51
|
}
|
|
52
52
|
#storybook-docs {
|
|
53
|
-
background:
|
|
53
|
+
background: var(--color-fm-surface-primary) !important;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-preview {
|
|
56
56
|
background: transparent !important;
|
|
57
57
|
border: none !important;
|
|
58
58
|
}
|
|
59
59
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
60
|
-
color:
|
|
60
|
+
color: var(--color-fm-icon-active) !important;
|
|
61
61
|
}
|
|
62
62
|
.sbdocs-p, .sbdocs-li {
|
|
63
|
-
color:
|
|
63
|
+
color: var(--color-fm-secondary) !important;
|
|
64
64
|
}
|
|
65
65
|
.sbdocs-code {
|
|
66
|
-
background:
|
|
67
|
-
color:
|
|
68
|
-
border: 1px solid
|
|
66
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
67
|
+
color: var(--color-fm-secondary-500) !important;
|
|
68
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
69
69
|
}
|
|
70
70
|
.sbdocs-pre {
|
|
71
|
-
background:
|
|
72
|
-
border: 1px solid
|
|
71
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
72
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
73
73
|
}
|
|
74
74
|
.sbdocs-table {
|
|
75
|
-
background:
|
|
76
|
-
border: 1px solid
|
|
75
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
76
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
77
77
|
}
|
|
78
78
|
.sbdocs-table th {
|
|
79
|
-
background:
|
|
80
|
-
color:
|
|
81
|
-
border-bottom: 1px solid
|
|
79
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
80
|
+
color: var(--color-fm-icon-active) !important;
|
|
81
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
|
|
82
82
|
}
|
|
83
83
|
.sbdocs-table td {
|
|
84
|
-
color:
|
|
85
|
-
border-bottom: 1px solid
|
|
84
|
+
color: var(--color-fm-secondary) !important;
|
|
85
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
|
|
86
86
|
}
|
|
87
87
|
`}
|
|
88
88
|
</style>
|
|
89
89
|
|
|
90
|
-
<div className="
|
|
90
|
+
<div className="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
91
91
|
{/* Header */}
|
|
92
|
-
<div className="relative overflow-hidden border-b
|
|
93
|
-
<div className="absolute inset-0 bg-
|
|
92
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
93
|
+
<div className="from-fm-icon-info/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
94
94
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
95
95
|
<div className="!space-y-6 text-center">
|
|
96
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
97
|
-
<ImageAvatarSparkleIcon className="h-12 w-12
|
|
96
|
+
<div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
97
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info h-12 w-12" />
|
|
98
98
|
</div>
|
|
99
|
-
<h1 className="text-5xl font-bold
|
|
99
|
+
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
100
100
|
ImageAvatarSparkleIcon
|
|
101
101
|
</h1>
|
|
102
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
102
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
103
103
|
An image avatar icon with sparkle elements representing user
|
|
104
104
|
profiles with enhanced visual appeal. Perfect for user
|
|
105
105
|
interfaces, profile displays, and avatar representations.
|
|
@@ -108,26 +108,28 @@ const meta: Meta<typeof ImageAvatarSparkleIcon> = {
|
|
|
108
108
|
{/* Stats */}
|
|
109
109
|
<div className="mx-auto flex items-center justify-center gap-8">
|
|
110
110
|
<div className="text-center">
|
|
111
|
-
<div className="text-3xl font-bold
|
|
111
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
112
112
|
Avatar
|
|
113
113
|
</div>
|
|
114
|
-
<div className="text-
|
|
114
|
+
<div className="text-fm-icon-active/80 text-sm">
|
|
115
|
+
User profile
|
|
116
|
+
</div>
|
|
115
117
|
</div>
|
|
116
|
-
<div className="h-8 w-px
|
|
118
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
117
119
|
<div className="text-center">
|
|
118
|
-
<div className="text-3xl font-bold
|
|
120
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
119
121
|
Sparkle
|
|
120
122
|
</div>
|
|
121
|
-
<div className="text-
|
|
123
|
+
<div className="text-fm-icon-active/80 text-sm">
|
|
122
124
|
Enhanced visual
|
|
123
125
|
</div>
|
|
124
126
|
</div>
|
|
125
|
-
<div className="h-8 w-px
|
|
127
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
126
128
|
<div className="text-center">
|
|
127
|
-
<div className="text-3xl font-bold
|
|
129
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
128
130
|
Accessible
|
|
129
131
|
</div>
|
|
130
|
-
<div className="text-
|
|
132
|
+
<div className="text-fm-icon-active/80 text-sm">
|
|
131
133
|
Screen reader support
|
|
132
134
|
</div>
|
|
133
135
|
</div>
|
|
@@ -140,34 +142,34 @@ const meta: Meta<typeof ImageAvatarSparkleIcon> = {
|
|
|
140
142
|
<div className="!mx-auto flex max-w-7xl flex-col gap-6 space-y-16 px-6 py-16">
|
|
141
143
|
{/* Features */}
|
|
142
144
|
<div className="!space-y-8">
|
|
143
|
-
<h3 className="text-center text-2xl font-bold
|
|
145
|
+
<h3 className="text-fm-icon-active! text-center text-2xl font-bold">
|
|
144
146
|
Key Features
|
|
145
147
|
</h3>
|
|
146
148
|
<div className="grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3">
|
|
147
|
-
<div className="space-y-4 rounded-lg border
|
|
149
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary space-y-4 rounded-lg border p-6">
|
|
148
150
|
<div className="text-3xl">👤</div>
|
|
149
|
-
<h4 className="text-lg font-semibold
|
|
151
|
+
<h4 className="text-fm-icon-active! text-lg font-semibold">
|
|
150
152
|
Avatar Icon
|
|
151
153
|
</h4>
|
|
152
|
-
<p className="text-
|
|
154
|
+
<p className="text-fm-icon-active!/80 text-sm">
|
|
153
155
|
Clear representation of user profiles
|
|
154
156
|
</p>
|
|
155
157
|
</div>
|
|
156
|
-
<div className="space-y-4 rounded-lg border
|
|
158
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary space-y-4 rounded-lg border p-6">
|
|
157
159
|
<div className="text-3xl">✨</div>
|
|
158
|
-
<h4 className="text-lg font-semibold
|
|
160
|
+
<h4 className="text-fm-icon-active! text-lg font-semibold">
|
|
159
161
|
Sparkle Effect
|
|
160
162
|
</h4>
|
|
161
|
-
<p className="text-
|
|
163
|
+
<p className="text-fm-icon-active!/80 text-sm">
|
|
162
164
|
Enhanced visual appeal with sparkles
|
|
163
165
|
</p>
|
|
164
166
|
</div>
|
|
165
|
-
<div className="space-y-4 rounded-lg border
|
|
167
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary space-y-4 rounded-lg border p-6">
|
|
166
168
|
<div className="text-3xl">♿</div>
|
|
167
|
-
<h4 className="text-lg font-semibold
|
|
169
|
+
<h4 className="text-fm-icon-active! text-lg font-semibold">
|
|
168
170
|
Accessibility
|
|
169
171
|
</h4>
|
|
170
|
-
<p className="text-
|
|
172
|
+
<p className="text-fm-icon-active!/80 text-sm">
|
|
171
173
|
Built with screen reader support
|
|
172
174
|
</p>
|
|
173
175
|
</div>
|
|
@@ -176,43 +178,45 @@ const meta: Meta<typeof ImageAvatarSparkleIcon> = {
|
|
|
176
178
|
|
|
177
179
|
{/* API Reference */}
|
|
178
180
|
<div className="!space-y-8">
|
|
179
|
-
<h3 className="text-center text-2xl font-bold
|
|
181
|
+
<h3 className="text-fm-icon-active! text-center text-2xl font-bold">
|
|
180
182
|
API Reference
|
|
181
183
|
</h3>
|
|
182
|
-
<div className="overflow-hidden rounded-lg border
|
|
183
|
-
<div className="bg-
|
|
184
|
-
<h4 className="text-lg font-semibold
|
|
184
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
185
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
186
|
+
<h4 className="text-fm-icon-active! text-lg font-semibold">
|
|
187
|
+
Props
|
|
188
|
+
</h4>
|
|
185
189
|
</div>
|
|
186
190
|
<table className="!my-0 w-full">
|
|
187
|
-
<thead className="bg-
|
|
188
|
-
<tr className="border-
|
|
189
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
191
|
+
<thead className="bg-fm-surface-secondary">
|
|
192
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
193
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
190
194
|
Prop
|
|
191
195
|
</th>
|
|
192
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
196
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
193
197
|
Type
|
|
194
198
|
</th>
|
|
195
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
199
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
196
200
|
Default
|
|
197
201
|
</th>
|
|
198
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
202
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
199
203
|
Description
|
|
200
204
|
</th>
|
|
201
205
|
</tr>
|
|
202
206
|
</thead>
|
|
203
207
|
<tbody>
|
|
204
208
|
{" "}
|
|
205
|
-
<tr className="
|
|
206
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
209
|
+
<tr className="bg-fm-surface-secondary!">
|
|
210
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
207
211
|
withAccessibility
|
|
208
212
|
</td>
|
|
209
|
-
<td className="px-6 py-4 text-sm
|
|
213
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
210
214
|
boolean
|
|
211
215
|
</td>
|
|
212
|
-
<td className="px-6 py-4 text-sm
|
|
216
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
213
217
|
true
|
|
214
218
|
</td>
|
|
215
|
-
<td className="px-6 py-4 text-sm
|
|
219
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
216
220
|
Whether to wrap the icon with accessibility feature
|
|
217
221
|
</td>
|
|
218
222
|
</tr>
|
|
@@ -223,17 +227,17 @@ const meta: Meta<typeof ImageAvatarSparkleIcon> = {
|
|
|
223
227
|
|
|
224
228
|
{/* Usage Examples */}
|
|
225
229
|
<div className="!space-y-8">
|
|
226
|
-
<h3 className="text-center text-2xl font-bold
|
|
230
|
+
<h3 className="text-fm-icon-active! text-center text-2xl font-bold">
|
|
227
231
|
Usage Examples
|
|
228
232
|
</h3>
|
|
229
233
|
|
|
230
234
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
231
235
|
<div className="space-y-4">
|
|
232
|
-
<h4 className="text-lg font-semibold
|
|
236
|
+
<h4 className="text-fm-icon-info! text-lg font-semibold">
|
|
233
237
|
Basic Usage
|
|
234
238
|
</h4>
|
|
235
|
-
<div className="rounded-lg
|
|
236
|
-
<pre className="overflow-x-auto text-sm
|
|
239
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
240
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
237
241
|
{`import { ImageAvatarSparkleIcon } from "@/components/ui/icons/image-avatar-sparkle-icon"
|
|
238
242
|
|
|
239
243
|
function UserProfile() {
|
|
@@ -249,12 +253,12 @@ function UserProfile() {
|
|
|
249
253
|
</div>
|
|
250
254
|
|
|
251
255
|
<div className="space-y-4">
|
|
252
|
-
<h4 className="text-lg font-semibold
|
|
256
|
+
<h4 className="text-fm-icon-info! text-lg font-semibold">
|
|
253
257
|
Live Preview
|
|
254
258
|
</h4>
|
|
255
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
256
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
257
|
-
<ImageAvatarSparkleIcon className="h-6 w-6
|
|
259
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
260
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 text-fm-icon-active flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
261
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info h-6 w-6" />
|
|
258
262
|
<span>User Profile</span>
|
|
259
263
|
</div>
|
|
260
264
|
</div>
|
|
@@ -264,50 +268,62 @@ function UserProfile() {
|
|
|
264
268
|
|
|
265
269
|
{/* Size Examples */}
|
|
266
270
|
<div className="!space-y-8">
|
|
267
|
-
<h3 className="text-center text-2xl font-bold
|
|
271
|
+
<h3 className="text-fm-icon-active! text-center text-2xl font-bold">
|
|
268
272
|
Size Examples
|
|
269
273
|
</h3>
|
|
270
|
-
<div className="rounded-lg border
|
|
274
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
271
275
|
<div className="!space-y-6">
|
|
272
276
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
273
277
|
<div className="!space-y-4">
|
|
274
|
-
<h3 className="text-lg font-semibold
|
|
278
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
275
279
|
Standard Sizes
|
|
276
280
|
</h3>
|
|
277
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
281
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
278
282
|
<div className="text-center">
|
|
279
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-3 w-3
|
|
280
|
-
<span className="text-
|
|
283
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
284
|
+
<span className="text-fm-tertiary text-xs">
|
|
285
|
+
12px
|
|
286
|
+
</span>
|
|
281
287
|
</div>
|
|
282
288
|
<div className="text-center">
|
|
283
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-4 w-4
|
|
284
|
-
<span className="text-
|
|
289
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
290
|
+
<span className="text-fm-tertiary text-xs">
|
|
291
|
+
16px
|
|
292
|
+
</span>
|
|
285
293
|
</div>
|
|
286
294
|
<div className="text-center">
|
|
287
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-5 w-5
|
|
288
|
-
<span className="text-
|
|
295
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
296
|
+
<span className="text-fm-tertiary text-xs">
|
|
297
|
+
20px
|
|
298
|
+
</span>
|
|
289
299
|
</div>
|
|
290
300
|
<div className="text-center">
|
|
291
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-6 w-6
|
|
292
|
-
<span className="text-
|
|
301
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
302
|
+
<span className="text-fm-tertiary text-xs">
|
|
303
|
+
24px
|
|
304
|
+
</span>
|
|
293
305
|
</div>
|
|
294
306
|
<div className="text-center">
|
|
295
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-8 w-8
|
|
296
|
-
<span className="text-
|
|
307
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
308
|
+
<span className="text-fm-tertiary text-xs">
|
|
309
|
+
32px
|
|
310
|
+
</span>
|
|
297
311
|
</div>
|
|
298
312
|
<div className="text-center">
|
|
299
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-12 w-12
|
|
300
|
-
<span className="text-
|
|
313
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
314
|
+
<span className="text-fm-tertiary text-xs">
|
|
315
|
+
48px
|
|
316
|
+
</span>
|
|
301
317
|
</div>
|
|
302
318
|
</div>
|
|
303
319
|
</div>
|
|
304
320
|
|
|
305
321
|
<div className="!space-y-4">
|
|
306
|
-
<h3 className="text-lg font-semibold
|
|
322
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
307
323
|
Code Example
|
|
308
324
|
</h3>
|
|
309
|
-
<div className="rounded-lg
|
|
310
|
-
<pre className="overflow-x-auto text-sm
|
|
325
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
326
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
311
327
|
{`// Small (16px)
|
|
312
328
|
<ImageAvatarSparkleIcon className="h-4 w-4 text-indigo-400" />
|
|
313
329
|
|
|
@@ -333,34 +349,34 @@ function UserProfile() {
|
|
|
333
349
|
|
|
334
350
|
{/* Common Use Cases */}
|
|
335
351
|
<div className="!space-y-8">
|
|
336
|
-
<h3 className="text-center text-2xl font-bold
|
|
352
|
+
<h3 className="text-fm-icon-active! text-center text-2xl font-bold">
|
|
337
353
|
Common Use Cases
|
|
338
354
|
</h3>
|
|
339
355
|
<div className="grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3">
|
|
340
|
-
<div className="space-y-3 rounded-lg border
|
|
356
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary space-y-3 rounded-lg border p-6">
|
|
341
357
|
<div className="text-2xl">👤</div>
|
|
342
|
-
<h4 className="text-lg font-semibold
|
|
358
|
+
<h4 className="text-fm-icon-active! text-lg font-semibold">
|
|
343
359
|
User Profiles
|
|
344
360
|
</h4>
|
|
345
|
-
<p className="text-
|
|
361
|
+
<p className="text-fm-icon-active!/80 text-sm">
|
|
346
362
|
Profile displays and user interfaces
|
|
347
363
|
</p>
|
|
348
364
|
</div>
|
|
349
|
-
<div className="space-y-3 rounded-lg border
|
|
365
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary space-y-3 rounded-lg border p-6">
|
|
350
366
|
<div className="text-2xl">✨</div>
|
|
351
|
-
<h4 className="text-lg font-semibold
|
|
367
|
+
<h4 className="text-fm-icon-active! text-lg font-semibold">
|
|
352
368
|
Premium Users
|
|
353
369
|
</h4>
|
|
354
|
-
<p className="text-
|
|
370
|
+
<p className="text-fm-icon-active!/80 text-sm">
|
|
355
371
|
Highlighting premium or special users
|
|
356
372
|
</p>
|
|
357
373
|
</div>
|
|
358
|
-
<div className="space-y-3 rounded-lg border
|
|
374
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary space-y-3 rounded-lg border p-6">
|
|
359
375
|
<div className="text-2xl">🎨</div>
|
|
360
|
-
<h4 className="text-lg font-semibold
|
|
376
|
+
<h4 className="text-fm-icon-active! text-lg font-semibold">
|
|
361
377
|
Avatar Selection
|
|
362
378
|
</h4>
|
|
363
|
-
<p className="text-
|
|
379
|
+
<p className="text-fm-icon-active!/80 text-sm">
|
|
364
380
|
Avatar picker interfaces
|
|
365
381
|
</p>
|
|
366
382
|
</div>
|
|
@@ -369,50 +385,50 @@ function UserProfile() {
|
|
|
369
385
|
|
|
370
386
|
{/* Best Practices */}
|
|
371
387
|
<div className="!space-y-8">
|
|
372
|
-
<h3 className="text-center text-2xl font-bold
|
|
388
|
+
<h3 className="text-fm-icon-active! text-center text-2xl font-bold">
|
|
373
389
|
Best Practices
|
|
374
390
|
</h3>
|
|
375
391
|
<div className="grid grid-cols-1 gap-6 md:grid-cols-2">
|
|
376
|
-
<div className="space-y-4 rounded-lg border
|
|
377
|
-
<h4 className="text-lg font-semibold
|
|
392
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary space-y-4 rounded-lg border p-6">
|
|
393
|
+
<h4 className="text-fm-icon-positive! text-lg font-semibold">
|
|
378
394
|
✅ Do
|
|
379
395
|
</h4>
|
|
380
|
-
<ul className="space-y-2 text-sm
|
|
381
|
-
<li className="
|
|
396
|
+
<ul className="text-fm-icon-active!/80 space-y-2 text-sm">
|
|
397
|
+
<li className="text-fm-icon-active!/80">
|
|
382
398
|
Use appropriate sizes for different contexts
|
|
383
399
|
</li>
|
|
384
|
-
<li className="
|
|
400
|
+
<li className="text-fm-icon-active!/80">
|
|
385
401
|
Choose colors that match your UI theme
|
|
386
402
|
</li>
|
|
387
|
-
<li className="
|
|
403
|
+
<li className="text-fm-icon-active!/80">
|
|
388
404
|
Provide clear labels for icon buttons
|
|
389
405
|
</li>
|
|
390
|
-
<li className="
|
|
406
|
+
<li className="text-fm-icon-active!/80">
|
|
391
407
|
Use consistent styling across your app
|
|
392
408
|
</li>
|
|
393
|
-
<li className="
|
|
409
|
+
<li className="text-fm-icon-active!/80">
|
|
394
410
|
Consider accessibility in all implementations
|
|
395
411
|
</li>
|
|
396
412
|
</ul>
|
|
397
413
|
</div>
|
|
398
|
-
<div className="space-y-4 rounded-lg border
|
|
399
|
-
<h4 className="text-lg font-semibold
|
|
414
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary space-y-4 rounded-lg border p-6">
|
|
415
|
+
<h4 className="text-fm-icon-negative! text-lg font-semibold">
|
|
400
416
|
❌ Don't
|
|
401
417
|
</h4>
|
|
402
|
-
<ul className="space-y-2 text-sm
|
|
403
|
-
<li className="
|
|
418
|
+
<ul className="text-fm-icon-active!/80 space-y-2 text-sm">
|
|
419
|
+
<li className="text-fm-icon-active!/80">
|
|
404
420
|
Use multiple icon styles in the same view
|
|
405
421
|
</li>
|
|
406
|
-
<li className="
|
|
422
|
+
<li className="text-fm-icon-active!/80">
|
|
407
423
|
Overuse the icon in navigation
|
|
408
424
|
</li>
|
|
409
|
-
<li className="
|
|
425
|
+
<li className="text-fm-icon-active!/80">
|
|
410
426
|
Use inappropriate sizes for the context
|
|
411
427
|
</li>
|
|
412
|
-
<li className="
|
|
428
|
+
<li className="text-fm-icon-active!/80">
|
|
413
429
|
Forget to add hover states
|
|
414
430
|
</li>
|
|
415
|
-
<li className="
|
|
431
|
+
<li className="text-fm-icon-active!/80">
|
|
416
432
|
Ignore accessibility requirements
|
|
417
433
|
</li>
|
|
418
434
|
</ul>
|
|
@@ -422,14 +438,14 @@ function UserProfile() {
|
|
|
422
438
|
</div>
|
|
423
439
|
|
|
424
440
|
{/* Footer */}
|
|
425
|
-
<div className="border-
|
|
441
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
426
442
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
427
443
|
<div className="!space-y-4 text-center">
|
|
428
|
-
<p className="
|
|
444
|
+
<p className="text-fm-tertiary!">
|
|
429
445
|
ImageAvatarSparkleIcon is part of the Aural UI icon library,
|
|
430
446
|
designed for user profiles and avatar interfaces.
|
|
431
447
|
</p>
|
|
432
|
-
<p className="text-
|
|
448
|
+
<p className="text-fm-placeholder! text-sm">
|
|
433
449
|
Perfect for user management, profile displays, avatar
|
|
434
450
|
selection, and any interface requiring enhanced avatar
|
|
435
451
|
representation.
|
|
@@ -471,8 +487,8 @@ const storyParameters = {
|
|
|
471
487
|
backgrounds: {
|
|
472
488
|
default: "dark",
|
|
473
489
|
values: [
|
|
474
|
-
{ name: "dark", value: "
|
|
475
|
-
{ name: "darker", value: "
|
|
490
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
491
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
476
492
|
],
|
|
477
493
|
},
|
|
478
494
|
}
|
|
@@ -481,12 +497,12 @@ export const Default: Story = {
|
|
|
481
497
|
args: {
|
|
482
498
|
width: 24,
|
|
483
499
|
height: 24,
|
|
484
|
-
className: "text-
|
|
500
|
+
className: "text-fm-icon-info",
|
|
485
501
|
withAccessibility: true,
|
|
486
502
|
},
|
|
487
503
|
parameters: storyParameters,
|
|
488
504
|
render: (args) => (
|
|
489
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
505
|
+
<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">
|
|
490
506
|
<ImageAvatarSparkleIcon {...args} />
|
|
491
507
|
</div>
|
|
492
508
|
),
|
|
@@ -503,30 +519,30 @@ export const SizeVariations: Story = {
|
|
|
503
519
|
},
|
|
504
520
|
},
|
|
505
521
|
render: () => (
|
|
506
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
522
|
+
<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">
|
|
507
523
|
<div className="text-center">
|
|
508
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-3 w-3
|
|
509
|
-
<span className="text-
|
|
524
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
525
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
510
526
|
</div>
|
|
511
527
|
<div className="text-center">
|
|
512
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-4 w-4
|
|
513
|
-
<span className="text-
|
|
528
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
529
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
514
530
|
</div>
|
|
515
531
|
<div className="text-center">
|
|
516
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-5 w-5
|
|
517
|
-
<span className="text-
|
|
532
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
533
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
518
534
|
</div>
|
|
519
535
|
<div className="text-center">
|
|
520
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-6 w-6
|
|
521
|
-
<span className="text-
|
|
536
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
537
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
522
538
|
</div>
|
|
523
539
|
<div className="text-center">
|
|
524
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-8 w-8
|
|
525
|
-
<span className="text-
|
|
540
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
541
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
526
542
|
</div>
|
|
527
543
|
<div className="text-center">
|
|
528
|
-
<ImageAvatarSparkleIcon className="!mx-auto mb-2 h-12 w-12
|
|
529
|
-
<span className="text-
|
|
544
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
545
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
530
546
|
</div>
|
|
531
547
|
</div>
|
|
532
548
|
),
|
|
@@ -543,96 +559,116 @@ export const ColorVariations: Story = {
|
|
|
543
559
|
},
|
|
544
560
|
},
|
|
545
561
|
render: () => (
|
|
546
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
562
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
547
563
|
<div className="!space-y-4">
|
|
548
|
-
<h3 className="text-center text-lg font-semibold
|
|
564
|
+
<h3 className="text-fm-icon-active! text-center text-lg font-semibold">
|
|
549
565
|
Standard Colors
|
|
550
566
|
</h3>
|
|
551
567
|
<div className="flex flex-wrap items-center justify-center gap-8">
|
|
552
568
|
<div className="text-center">
|
|
553
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
554
|
-
<ImageAvatarSparkleIcon className="h-8 w-8
|
|
569
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
570
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info h-8 w-8" />
|
|
571
|
+
</div>
|
|
572
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
573
|
+
Indigo
|
|
555
574
|
</div>
|
|
556
|
-
<div className="text-
|
|
557
|
-
<div className="text-xs text-indigo-400">text-indigo-400</div>
|
|
575
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
558
576
|
</div>
|
|
559
577
|
<div className="text-center">
|
|
560
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
561
|
-
<ImageAvatarSparkleIcon className="h-8 w-8
|
|
578
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
579
|
+
<ImageAvatarSparkleIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
580
|
+
</div>
|
|
581
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
582
|
+
Purple
|
|
583
|
+
</div>
|
|
584
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
585
|
+
text-fm-secondary-600
|
|
562
586
|
</div>
|
|
563
|
-
<div className="text-sm font-medium text-white">Purple</div>
|
|
564
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
565
587
|
</div>
|
|
566
588
|
<div className="text-center">
|
|
567
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
568
|
-
<ImageAvatarSparkleIcon className="h-8 w-8
|
|
589
|
+
<div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
590
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-positive h-8 w-8" />
|
|
591
|
+
</div>
|
|
592
|
+
<div className="text-fm-icon-active text-sm font-medium">Green</div>
|
|
593
|
+
<div className="text-fm-icon-positive text-xs">
|
|
594
|
+
text-fm-icon-positive
|
|
569
595
|
</div>
|
|
570
|
-
<div className="text-sm font-medium text-white">Green</div>
|
|
571
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
572
596
|
</div>
|
|
573
597
|
<div className="text-center">
|
|
574
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
575
|
-
<ImageAvatarSparkleIcon className="h-8 w-8
|
|
598
|
+
<div className="border-fm-icon-negative/30 bg-fm-icon-negative/20 mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
599
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-negative h-8 w-8" />
|
|
600
|
+
</div>
|
|
601
|
+
<div className="text-fm-icon-active text-sm font-medium">Red</div>
|
|
602
|
+
<div className="text-fm-icon-negative text-xs">
|
|
603
|
+
text-fm-icon-negative
|
|
576
604
|
</div>
|
|
577
|
-
<div className="text-sm font-medium text-white">Red</div>
|
|
578
|
-
<div className="text-xs text-red-400">text-red-400</div>
|
|
579
605
|
</div>
|
|
580
606
|
<div className="text-center">
|
|
581
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
582
|
-
<ImageAvatarSparkleIcon className="h-8 w-8
|
|
607
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
608
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-warning h-8 w-8" />
|
|
609
|
+
</div>
|
|
610
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
611
|
+
Yellow
|
|
612
|
+
</div>
|
|
613
|
+
<div className="text-fm-icon-warning text-xs">
|
|
614
|
+
text-fm-icon-warning
|
|
583
615
|
</div>
|
|
584
|
-
<div className="text-sm font-medium text-white">Yellow</div>
|
|
585
|
-
<div className="text-xs text-yellow-400">text-yellow-400</div>
|
|
586
616
|
</div>
|
|
587
617
|
<div className="text-center">
|
|
588
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
589
|
-
<ImageAvatarSparkleIcon className="h-8 w-8
|
|
618
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
619
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info h-8 w-8" />
|
|
590
620
|
</div>
|
|
591
|
-
<div className="text-sm font-medium
|
|
592
|
-
<div className="text-
|
|
621
|
+
<div className="text-fm-icon-active text-sm font-medium">Blue</div>
|
|
622
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
593
623
|
</div>
|
|
594
624
|
<div className="text-center">
|
|
595
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
596
|
-
<ImageAvatarSparkleIcon className="h-8 w-8
|
|
625
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
626
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info h-8 w-8" />
|
|
597
627
|
</div>
|
|
598
|
-
<div className="text-sm font-medium
|
|
599
|
-
<div className="text-
|
|
628
|
+
<div className="text-fm-icon-active text-sm font-medium">Cyan</div>
|
|
629
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
600
630
|
</div>
|
|
601
631
|
<div className="text-center">
|
|
602
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
603
|
-
<ImageAvatarSparkleIcon className="h-8 w-8
|
|
632
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
633
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-active h-8 w-8" />
|
|
604
634
|
</div>
|
|
605
|
-
<div className="text-sm font-medium
|
|
606
|
-
<div className="text-
|
|
635
|
+
<div className="text-fm-icon-active text-sm font-medium">White</div>
|
|
636
|
+
<div className="text-fm-tertiary text-xs">text-fm-icon-active</div>
|
|
607
637
|
</div>
|
|
608
638
|
</div>
|
|
609
639
|
</div>
|
|
610
640
|
<div className="!space-y-4">
|
|
611
|
-
<h3 className="text-center text-lg font-semibold
|
|
641
|
+
<h3 className="text-fm-icon-active! text-center text-lg font-semibold">
|
|
612
642
|
Design System Colors
|
|
613
643
|
</h3>
|
|
614
644
|
<div className="flex flex-wrap items-center justify-center gap-8">
|
|
615
645
|
<div className="text-center">
|
|
616
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
646
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
617
647
|
<ImageAvatarSparkleIcon className="text-fm-primary h-8 w-8" />
|
|
618
648
|
</div>
|
|
619
|
-
<div className="text-sm font-medium
|
|
649
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
650
|
+
Primary
|
|
651
|
+
</div>
|
|
620
652
|
<div className="text-fm-primary text-xs">text-fm-primary</div>
|
|
621
653
|
</div>
|
|
622
654
|
<div className="text-center">
|
|
623
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
655
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
624
656
|
<ImageAvatarSparkleIcon className="text-fm-secondary-500 h-8 w-8" />
|
|
625
657
|
</div>
|
|
626
|
-
<div className="text-sm font-medium
|
|
658
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
659
|
+
Secondary
|
|
660
|
+
</div>
|
|
627
661
|
<div className="text-fm-secondary-500 text-xs">
|
|
628
662
|
text-fm-secondary-500
|
|
629
663
|
</div>
|
|
630
664
|
</div>
|
|
631
665
|
<div className="text-center">
|
|
632
|
-
<div className="mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
666
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
633
667
|
<ImageAvatarSparkleIcon className="text-fm-neutral-800 h-8 w-8" />
|
|
634
668
|
</div>
|
|
635
|
-
<div className="text-sm font-medium
|
|
669
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
670
|
+
Neutral
|
|
671
|
+
</div>
|
|
636
672
|
<div className="text-fm-neutral-800 text-xs">
|
|
637
673
|
text-fm-neutral-800
|
|
638
674
|
</div>
|
|
@@ -654,69 +690,69 @@ export const UsageExamples: Story = {
|
|
|
654
690
|
},
|
|
655
691
|
},
|
|
656
692
|
render: () => (
|
|
657
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
693
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
658
694
|
<div className="!space-y-4">
|
|
659
|
-
<h3 className="text-center text-lg font-semibold
|
|
695
|
+
<h3 className="text-fm-icon-active! text-center text-lg font-semibold">
|
|
660
696
|
Profile Buttons
|
|
661
697
|
</h3>
|
|
662
698
|
<div className="flex flex-wrap items-center justify-center gap-4">
|
|
663
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
664
|
-
<ImageAvatarSparkleIcon className="h-4 w-4
|
|
699
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 text-fm-icon-active hover:bg-fm-icon-info/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
700
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info h-4 w-4" />
|
|
665
701
|
<span>View Profile</span>
|
|
666
702
|
</button>
|
|
667
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
668
|
-
<ImageAvatarSparkleIcon className="h-4 w-4
|
|
703
|
+
<button className="border-fm-secondary-500/20 bg-fm-secondary-500/10 text-fm-icon-active hover:bg-fm-secondary-500/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
704
|
+
<ImageAvatarSparkleIcon className="text-fm-secondary-600 h-4 w-4" />
|
|
669
705
|
<span>Edit Profile</span>
|
|
670
706
|
</button>
|
|
671
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
672
|
-
<ImageAvatarSparkleIcon className="h-4 w-4
|
|
707
|
+
<button className="border-fm-icon-positive/20 bg-fm-icon-positive/10 text-fm-icon-active hover:bg-fm-icon-positive/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
708
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-positive h-4 w-4" />
|
|
673
709
|
<span>Settings</span>
|
|
674
710
|
</button>
|
|
675
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
676
|
-
<ImageAvatarSparkleIcon className="h-4 w-4
|
|
711
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 text-fm-icon-active hover:bg-fm-icon-info/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
712
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info h-4 w-4" />
|
|
677
713
|
<span>New Profile</span>
|
|
678
714
|
</button>
|
|
679
715
|
</div>
|
|
680
716
|
</div>
|
|
681
717
|
<div className="!space-y-4">
|
|
682
|
-
<h3 className="text-center text-lg font-semibold
|
|
718
|
+
<h3 className="text-fm-icon-active! text-center text-lg font-semibold">
|
|
683
719
|
User List Items
|
|
684
720
|
</h3>
|
|
685
721
|
<div className="flex flex-wrap items-center justify-center gap-4">
|
|
686
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
687
|
-
<ImageAvatarSparkleIcon className="h-5 w-5
|
|
688
|
-
<span className="text-
|
|
722
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
723
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-positive h-5 w-5" />
|
|
724
|
+
<span className="text-fm-icon-active/80">Premium User</span>
|
|
689
725
|
</div>
|
|
690
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
691
|
-
<ImageAvatarSparkleIcon className="h-5 w-5
|
|
692
|
-
<span className="text-
|
|
726
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
727
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-info h-5 w-5" />
|
|
728
|
+
<span className="text-fm-icon-active/80">Standard User</span>
|
|
693
729
|
</div>
|
|
694
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
695
|
-
<ImageAvatarSparkleIcon className="h-5 w-5
|
|
696
|
-
<span className="text-
|
|
730
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
731
|
+
<ImageAvatarSparkleIcon className="text-fm-secondary-600 h-5 w-5" />
|
|
732
|
+
<span className="text-fm-icon-active/80">VIP User</span>
|
|
697
733
|
</div>
|
|
698
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
699
|
-
<ImageAvatarSparkleIcon className="h-5 w-5
|
|
700
|
-
<span className="text-
|
|
734
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
735
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-warning h-5 w-5" />
|
|
736
|
+
<span className="text-fm-icon-active/80">Guest User</span>
|
|
701
737
|
</div>
|
|
702
738
|
</div>
|
|
703
739
|
</div>
|
|
704
740
|
<div className="!space-y-4">
|
|
705
|
-
<h3 className="text-center text-lg font-semibold
|
|
741
|
+
<h3 className="text-fm-icon-active! text-center text-lg font-semibold">
|
|
706
742
|
Status Indicators
|
|
707
743
|
</h3>
|
|
708
744
|
<div className="flex flex-wrap items-center justify-center gap-4">
|
|
709
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
710
|
-
<ImageAvatarSparkleIcon className="h-5 w-5
|
|
711
|
-
<span className="text-
|
|
745
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
746
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-positive h-5 w-5" />
|
|
747
|
+
<span className="text-fm-icon-active">Active</span>
|
|
712
748
|
</div>
|
|
713
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
714
|
-
<ImageAvatarSparkleIcon className="h-5 w-5
|
|
715
|
-
<span className="text-
|
|
749
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
750
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-warning h-5 w-5" />
|
|
751
|
+
<span className="text-fm-icon-active">Pending</span>
|
|
716
752
|
</div>
|
|
717
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
718
|
-
<ImageAvatarSparkleIcon className="h-5 w-5
|
|
719
|
-
<span className="text-
|
|
753
|
+
<div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
754
|
+
<ImageAvatarSparkleIcon className="text-fm-icon-negative h-5 w-5" />
|
|
755
|
+
<span className="text-fm-icon-active">Inactive</span>
|
|
720
756
|
</div>
|
|
721
757
|
</div>
|
|
722
758
|
</div>
|
|
@@ -737,11 +773,11 @@ export const Playground: Story = {
|
|
|
737
773
|
args: {
|
|
738
774
|
width: 32,
|
|
739
775
|
height: 32,
|
|
740
|
-
className: "text-
|
|
776
|
+
className: "text-fm-icon-info",
|
|
741
777
|
},
|
|
742
778
|
render: (args) => (
|
|
743
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
744
|
-
<div className="rounded-lg border
|
|
779
|
+
<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">
|
|
780
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
745
781
|
<ImageAvatarSparkleIcon {...args} />
|
|
746
782
|
</div>
|
|
747
783
|
</div>
|