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 MusicalNoteIcon> = {
|
|
|
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 MusicalNoteIcon> = {
|
|
|
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
|
|
90
|
-
<MusicalNoteIcon className="h-12 w-12
|
|
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
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
MusicalNoteIcon
|
|
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 beautiful musical note icon for audio interfaces, music
|
|
97
97
|
players, and sound-related elements. Built with
|
|
98
98
|
accessibility in mind using Radix UI's AccessibleIcon
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof MusicalNoteIcon> = {
|
|
|
102
102
|
{/* Stats */}
|
|
103
103
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
104
|
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold
|
|
105
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
106
106
|
Accessible
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
Screen reader friendly
|
|
110
110
|
</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div className="h-8 w-px
|
|
112
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
113
|
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold
|
|
114
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
115
115
|
Scalable
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Any size needed
|
|
119
119
|
</div>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="h-8 w-px
|
|
121
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
122
|
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold
|
|
123
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
124
124
|
Flexible
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Customizable styling
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof MusicalNoteIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<pre className="overflow-x-auto text-sm
|
|
147
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
149
|
{`import { MusicalNoteIcon } from "@icons/musical-note-icon"
|
|
150
150
|
|
|
151
151
|
function MyComponent() {
|
|
@@ -161,13 +161,13 @@ function MyComponent() {
|
|
|
161
161
|
</div>
|
|
162
162
|
|
|
163
163
|
<div className="!space-y-4">
|
|
164
|
-
<h3 className="text-xl font-semibold
|
|
164
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
165
165
|
Live Preview
|
|
166
166
|
</h3>
|
|
167
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
168
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
169
|
-
<MusicalNoteIcon className="h-5 w-5
|
|
170
|
-
<span className="text-
|
|
167
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
168
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
169
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-5 w-5" />
|
|
170
|
+
<span className="text-fm-icon-active">Now Playing</span>
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -176,122 +176,130 @@ function MyComponent() {
|
|
|
176
176
|
|
|
177
177
|
{/* Props Documentation */}
|
|
178
178
|
<div className="!space-y-8">
|
|
179
|
-
<h2 className="text-center text-3xl font-bold
|
|
179
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
180
180
|
Props & Configuration
|
|
181
181
|
</h2>
|
|
182
182
|
|
|
183
|
-
<div className="overflow-hidden rounded-lg border
|
|
184
|
-
<div className="bg-
|
|
185
|
-
<h3 className="text-xl font-semibold
|
|
183
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
184
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
185
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
186
|
+
Props
|
|
187
|
+
</h3>
|
|
186
188
|
</div>
|
|
187
189
|
<table className="!my-0 w-full">
|
|
188
|
-
<thead className="bg-
|
|
189
|
-
<tr className="border-
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
190
|
+
<thead className="bg-fm-surface-secondary">
|
|
191
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
192
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
193
|
Prop
|
|
192
194
|
</th>
|
|
193
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
194
196
|
Type
|
|
195
197
|
</th>
|
|
196
|
-
<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">
|
|
197
199
|
Default
|
|
198
200
|
</th>
|
|
199
|
-
<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">
|
|
200
202
|
Description
|
|
201
203
|
</th>
|
|
202
204
|
</tr>
|
|
203
205
|
</thead>
|
|
204
206
|
<tbody>
|
|
205
207
|
{" "}
|
|
206
|
-
<tr className="
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
208
|
+
<tr className="bg-fm-surface-secondary!">
|
|
209
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
208
210
|
withAccessibility
|
|
209
211
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
212
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
211
213
|
boolean
|
|
212
214
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
214
216
|
true
|
|
215
217
|
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
217
219
|
Whether to wrap the icon with accessibility feature
|
|
218
220
|
</td>
|
|
219
221
|
</tr>
|
|
220
|
-
<tr className="border-
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
222
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
223
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
222
224
|
height
|
|
223
225
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
226
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
225
227
|
number | string
|
|
226
228
|
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
-
|
|
229
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
230
|
+
12
|
|
231
|
+
</td>
|
|
232
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
233
|
Height of the icon in pixels
|
|
230
234
|
</td>
|
|
231
235
|
</tr>
|
|
232
|
-
<tr className="border-
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
236
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
237
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
234
238
|
fill
|
|
235
239
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
240
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
237
241
|
string
|
|
238
242
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
240
244
|
none
|
|
241
245
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
247
|
Fill color of the icon (uses stroke by default)
|
|
244
248
|
</td>
|
|
245
249
|
</tr>
|
|
246
|
-
<tr className="border-
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
250
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
251
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
248
252
|
stroke
|
|
249
253
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
251
255
|
string
|
|
252
256
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
254
258
|
currentColor
|
|
255
259
|
</td>
|
|
256
|
-
<td className="px-6 py-4 text-sm
|
|
260
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
257
261
|
Stroke color of the icon
|
|
258
262
|
</td>
|
|
259
263
|
</tr>
|
|
260
|
-
<tr className="border-
|
|
261
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
264
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
265
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
262
266
|
strokeWidth
|
|
263
267
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
265
269
|
number | string
|
|
266
270
|
</td>
|
|
267
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
268
272
|
1.125
|
|
269
273
|
</td>
|
|
270
|
-
<td className="px-6 py-4 text-sm
|
|
274
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
271
275
|
Width of the stroke
|
|
272
276
|
</td>
|
|
273
277
|
</tr>
|
|
274
|
-
<tr className="border-
|
|
275
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
278
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
279
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
276
280
|
className
|
|
277
281
|
</td>
|
|
278
|
-
<td className="px-6 py-4 text-sm
|
|
282
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
279
283
|
string
|
|
280
284
|
</td>
|
|
281
|
-
<td className="px-6 py-4 text-sm
|
|
282
|
-
|
|
285
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
286
|
+
-
|
|
287
|
+
</td>
|
|
288
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
283
289
|
CSS classes for styling
|
|
284
290
|
</td>
|
|
285
291
|
</tr>
|
|
286
|
-
<tr className="
|
|
287
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
292
|
+
<tr className="bg-fm-surface-secondary!">
|
|
293
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
288
294
|
...svgProps
|
|
289
295
|
</td>
|
|
290
|
-
<td className="px-6 py-4 text-sm
|
|
296
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
291
297
|
SVGProps
|
|
292
298
|
</td>
|
|
293
|
-
<td className="px-6 py-4 text-sm
|
|
294
|
-
|
|
299
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
300
|
+
-
|
|
301
|
+
</td>
|
|
302
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
295
303
|
All standard SVG element props
|
|
296
304
|
</td>
|
|
297
305
|
</tr>
|
|
@@ -302,50 +310,62 @@ function MyComponent() {
|
|
|
302
310
|
|
|
303
311
|
{/* Size Variations */}
|
|
304
312
|
<div className="!space-y-8">
|
|
305
|
-
<h2 className="text-center text-3xl font-bold
|
|
313
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
306
314
|
Size Variations
|
|
307
315
|
</h2>
|
|
308
|
-
<div className="rounded-lg border
|
|
316
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
309
317
|
<div className="!space-y-6">
|
|
310
318
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
311
319
|
<div className="!space-y-4">
|
|
312
|
-
<h3 className="text-lg font-semibold
|
|
320
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
313
321
|
Standard Sizes
|
|
314
322
|
</h3>
|
|
315
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
323
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
316
324
|
<div className="text-center">
|
|
317
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-3 w-3
|
|
318
|
-
<span className="text-
|
|
325
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
326
|
+
<span className="text-fm-tertiary text-xs">
|
|
327
|
+
12px
|
|
328
|
+
</span>
|
|
319
329
|
</div>
|
|
320
330
|
<div className="text-center">
|
|
321
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-4 w-4
|
|
322
|
-
<span className="text-
|
|
331
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
332
|
+
<span className="text-fm-tertiary text-xs">
|
|
333
|
+
16px
|
|
334
|
+
</span>
|
|
323
335
|
</div>
|
|
324
336
|
<div className="text-center">
|
|
325
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-5 w-5
|
|
326
|
-
<span className="text-
|
|
337
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
338
|
+
<span className="text-fm-tertiary text-xs">
|
|
339
|
+
20px
|
|
340
|
+
</span>
|
|
327
341
|
</div>
|
|
328
342
|
<div className="text-center">
|
|
329
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-6 w-6
|
|
330
|
-
<span className="text-
|
|
343
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
344
|
+
<span className="text-fm-tertiary text-xs">
|
|
345
|
+
24px
|
|
346
|
+
</span>
|
|
331
347
|
</div>
|
|
332
348
|
<div className="text-center">
|
|
333
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-8 w-8
|
|
334
|
-
<span className="text-
|
|
349
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
350
|
+
<span className="text-fm-tertiary text-xs">
|
|
351
|
+
32px
|
|
352
|
+
</span>
|
|
335
353
|
</div>
|
|
336
354
|
<div className="text-center">
|
|
337
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-12 w-12
|
|
338
|
-
<span className="text-
|
|
355
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
356
|
+
<span className="text-fm-tertiary text-xs">
|
|
357
|
+
48px
|
|
358
|
+
</span>
|
|
339
359
|
</div>
|
|
340
360
|
</div>
|
|
341
361
|
</div>
|
|
342
362
|
|
|
343
363
|
<div className="!space-y-4">
|
|
344
|
-
<h3 className="text-lg font-semibold
|
|
364
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
345
365
|
Code Example
|
|
346
366
|
</h3>
|
|
347
|
-
<div className="rounded-lg
|
|
348
|
-
<pre className="overflow-x-auto text-sm
|
|
367
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
368
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
349
369
|
{`// Small (16px)
|
|
350
370
|
<MusicalNoteIcon className="h-4 w-4" />
|
|
351
371
|
|
|
@@ -367,67 +387,67 @@ function MyComponent() {
|
|
|
367
387
|
|
|
368
388
|
{/* Color Variations */}
|
|
369
389
|
<div className="!space-y-8">
|
|
370
|
-
<h2 className="text-center text-3xl font-bold
|
|
390
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
371
391
|
Color Variations
|
|
372
392
|
</h2>
|
|
373
393
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
374
394
|
<div className="!space-y-4">
|
|
375
|
-
<h3 className="text-lg font-semibold
|
|
395
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
376
396
|
Musical Themes
|
|
377
397
|
</h3>
|
|
378
|
-
<div className="!space-y-4 rounded-lg border
|
|
398
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
379
399
|
<div className="flex items-center gap-4">
|
|
380
|
-
<MusicalNoteIcon className="h-6 w-6
|
|
400
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
381
401
|
<div>
|
|
382
|
-
<div className="text-sm font-medium
|
|
402
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
383
403
|
Classic
|
|
384
404
|
</div>
|
|
385
|
-
<div className="text-
|
|
386
|
-
text-
|
|
405
|
+
<div className="text-fm-tertiary text-xs">
|
|
406
|
+
text-fm-secondary-600
|
|
387
407
|
</div>
|
|
388
408
|
</div>
|
|
389
409
|
</div>
|
|
390
410
|
<div className="flex items-center gap-4">
|
|
391
|
-
<MusicalNoteIcon className="h-6 w-6
|
|
411
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
392
412
|
<div>
|
|
393
|
-
<div className="text-sm font-medium
|
|
413
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
394
414
|
Pop
|
|
395
415
|
</div>
|
|
396
|
-
<div className="text-
|
|
397
|
-
text-
|
|
416
|
+
<div className="text-fm-tertiary text-xs">
|
|
417
|
+
text-fm-secondary-600
|
|
398
418
|
</div>
|
|
399
419
|
</div>
|
|
400
420
|
</div>
|
|
401
421
|
<div className="flex items-center gap-4">
|
|
402
|
-
<MusicalNoteIcon className="h-6 w-6
|
|
422
|
+
<MusicalNoteIcon className="text-fm-icon-info h-6 w-6" />
|
|
403
423
|
<div>
|
|
404
|
-
<div className="text-sm font-medium
|
|
424
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
405
425
|
Jazz
|
|
406
426
|
</div>
|
|
407
|
-
<div className="text-
|
|
408
|
-
text-
|
|
427
|
+
<div className="text-fm-tertiary text-xs">
|
|
428
|
+
text-fm-icon-info
|
|
409
429
|
</div>
|
|
410
430
|
</div>
|
|
411
431
|
</div>
|
|
412
432
|
<div className="flex items-center gap-4">
|
|
413
|
-
<MusicalNoteIcon className="h-6 w-6
|
|
433
|
+
<MusicalNoteIcon className="text-fm-icon-positive h-6 w-6" />
|
|
414
434
|
<div>
|
|
415
|
-
<div className="text-sm font-medium
|
|
435
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
416
436
|
Electronic
|
|
417
437
|
</div>
|
|
418
|
-
<div className="text-
|
|
419
|
-
text-
|
|
438
|
+
<div className="text-fm-tertiary text-xs">
|
|
439
|
+
text-fm-icon-positive
|
|
420
440
|
</div>
|
|
421
441
|
</div>
|
|
422
442
|
</div>
|
|
423
443
|
<div className="flex items-center gap-4">
|
|
424
|
-
<MusicalNoteIcon className="h-6 w-6
|
|
444
|
+
<MusicalNoteIcon className="text-fm-icon-warning h-6 w-6" />
|
|
425
445
|
<div>
|
|
426
|
-
<div className="text-sm font-medium
|
|
446
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
427
447
|
Rock
|
|
428
448
|
</div>
|
|
429
|
-
<div className="text-
|
|
430
|
-
text-
|
|
449
|
+
<div className="text-fm-tertiary text-xs">
|
|
450
|
+
text-fm-icon-warning
|
|
431
451
|
</div>
|
|
432
452
|
</div>
|
|
433
453
|
</div>
|
|
@@ -435,11 +455,11 @@ function MyComponent() {
|
|
|
435
455
|
</div>
|
|
436
456
|
|
|
437
457
|
<div className="!space-y-4">
|
|
438
|
-
<h3 className="text-lg font-semibold
|
|
458
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
439
459
|
Custom Colors
|
|
440
460
|
</h3>
|
|
441
|
-
<div className="rounded-lg
|
|
442
|
-
<pre className="overflow-x-auto text-sm
|
|
461
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
462
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
443
463
|
{`// Using Tailwind classes
|
|
444
464
|
<MusicalNoteIcon className="h-6 w-6 text-purple-400" />
|
|
445
465
|
<MusicalNoteIcon className="h-6 w-6 text-pink-500" />
|
|
@@ -464,33 +484,33 @@ function MyComponent() {
|
|
|
464
484
|
|
|
465
485
|
{/* Usage Examples */}
|
|
466
486
|
<div className="!space-y-8">
|
|
467
|
-
<h2 className="text-center text-3xl font-bold
|
|
487
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
468
488
|
Usage Examples
|
|
469
489
|
</h2>
|
|
470
490
|
|
|
471
491
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
472
492
|
{/* Music Player */}
|
|
473
493
|
<div className="!space-y-4">
|
|
474
|
-
<h3 className="text-lg font-semibold
|
|
494
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
475
495
|
Music Player
|
|
476
496
|
</h3>
|
|
477
497
|
<div className="!space-y-4">
|
|
478
|
-
<div className="rounded-lg border
|
|
498
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
479
499
|
<div className="flex items-center gap-3">
|
|
480
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
481
|
-
<MusicalNoteIcon className="h-6 w-6
|
|
500
|
+
<div className="bg-fm-secondary-500/20 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
501
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
482
502
|
</div>
|
|
483
503
|
<div className="flex-1">
|
|
484
|
-
<h4 className="font-medium
|
|
504
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
485
505
|
Bohemian Rhapsody
|
|
486
506
|
</h4>
|
|
487
|
-
<p className="text-
|
|
507
|
+
<p className="text-fm-tertiary! text-sm">Queen</p>
|
|
488
508
|
</div>
|
|
489
|
-
<div className="text-
|
|
509
|
+
<div className="text-fm-tertiary text-sm">3:42</div>
|
|
490
510
|
</div>
|
|
491
511
|
</div>
|
|
492
|
-
<div className="rounded-lg
|
|
493
|
-
<pre className="overflow-x-auto text-sm
|
|
512
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
513
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
494
514
|
{`<div className="flex items-center gap-3">
|
|
495
515
|
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
|
|
496
516
|
<MusicalNoteIcon className="h-6 w-6 text-purple-400" />
|
|
@@ -508,21 +528,21 @@ function MyComponent() {
|
|
|
508
528
|
|
|
509
529
|
{/* Audio Upload */}
|
|
510
530
|
<div className="!space-y-4">
|
|
511
|
-
<h3 className="text-lg font-semibold
|
|
531
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
512
532
|
Audio Upload
|
|
513
533
|
</h3>
|
|
514
534
|
<div className="!space-y-4">
|
|
515
|
-
<div className="
|
|
516
|
-
<MusicalNoteIcon className="!mx-auto mb-4 h-12 w-12
|
|
517
|
-
<h4 className="mb-2 font-medium
|
|
535
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/5 rounded-lg border-2 border-dashed p-8 text-center">
|
|
536
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-4 h-12 w-12" />
|
|
537
|
+
<h4 className="text-fm-icon-active! mb-2 font-medium">
|
|
518
538
|
Drop your audio files here
|
|
519
539
|
</h4>
|
|
520
|
-
<p className="text-
|
|
540
|
+
<p className="text-fm-tertiary! text-sm">
|
|
521
541
|
Supports MP3, WAV, FLAC formats
|
|
522
542
|
</p>
|
|
523
543
|
</div>
|
|
524
|
-
<div className="rounded-lg
|
|
525
|
-
<pre className="overflow-x-auto text-sm
|
|
544
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
545
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
526
546
|
{`<div className="rounded-lg border-2 border-dashed border-purple-500/30 bg-purple-500/5 p-8 text-center">
|
|
527
547
|
<MusicalNoteIcon className="mx-auto mb-4 h-12 w-12 text-purple-400" />
|
|
528
548
|
<h4 className="mb-2 font-medium text-white">
|
|
@@ -539,37 +559,37 @@ function MyComponent() {
|
|
|
539
559
|
|
|
540
560
|
{/* Navigation Menu */}
|
|
541
561
|
<div className="!space-y-4">
|
|
542
|
-
<h3 className="text-lg font-semibold
|
|
562
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
543
563
|
Navigation Menu
|
|
544
564
|
</h3>
|
|
545
565
|
<div className="!space-y-4">
|
|
546
|
-
<div className="rounded-lg border
|
|
566
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
547
567
|
<nav className="!space-y-2">
|
|
548
568
|
<a
|
|
549
569
|
href="#"
|
|
550
|
-
className="flex items-center gap-3 rounded-lg
|
|
570
|
+
className="bg-fm-secondary-500/20 text-fm-secondary-600 flex items-center gap-3 rounded-lg px-3 py-2"
|
|
551
571
|
>
|
|
552
572
|
<MusicalNoteIcon className="h-5 w-5" />
|
|
553
573
|
<span>My Music</span>
|
|
554
574
|
</a>
|
|
555
575
|
<a
|
|
556
576
|
href="#"
|
|
557
|
-
className="flex items-center gap-3 px-3 py-2
|
|
577
|
+
className="text-fm-tertiary hover:text-fm-icon-active flex items-center gap-3 px-3 py-2"
|
|
558
578
|
>
|
|
559
579
|
<span className="h-5 w-5">📀</span>
|
|
560
580
|
<span>Albums</span>
|
|
561
581
|
</a>
|
|
562
582
|
<a
|
|
563
583
|
href="#"
|
|
564
|
-
className="flex items-center gap-3 px-3 py-2
|
|
584
|
+
className="text-fm-tertiary hover:text-fm-icon-active flex items-center gap-3 px-3 py-2"
|
|
565
585
|
>
|
|
566
586
|
<span className="h-5 w-5">🎵</span>
|
|
567
587
|
<span>Playlists</span>
|
|
568
588
|
</a>
|
|
569
589
|
</nav>
|
|
570
590
|
</div>
|
|
571
|
-
<div className="rounded-lg
|
|
572
|
-
<pre className="overflow-x-auto text-sm
|
|
591
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
592
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
573
593
|
{`<nav className="space-y-2">
|
|
574
594
|
<a href="#" className="flex items-center gap-3 rounded-lg bg-purple-500/20 px-3 py-2 text-purple-200">
|
|
575
595
|
<MusicalNoteIcon className="h-5 w-5" />
|
|
@@ -587,26 +607,26 @@ function MyComponent() {
|
|
|
587
607
|
|
|
588
608
|
{/* Status Indicator */}
|
|
589
609
|
<div className="!space-y-4">
|
|
590
|
-
<h3 className="text-lg font-semibold
|
|
610
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
591
611
|
Status Indicator
|
|
592
612
|
</h3>
|
|
593
613
|
<div className="!space-y-4">
|
|
594
614
|
<div className="flex items-center gap-4">
|
|
595
615
|
<div className="relative">
|
|
596
|
-
<MusicalNoteIcon className="h-6 w-6
|
|
597
|
-
<div className="absolute -top-1 -right-1 h-3 w-3 animate-pulse rounded-full
|
|
616
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
617
|
+
<div className="bg-fm-icon-positive absolute -top-1 -right-1 h-3 w-3 animate-pulse rounded-full"></div>
|
|
598
618
|
</div>
|
|
599
619
|
<div>
|
|
600
|
-
<div className="font-medium
|
|
620
|
+
<div className="text-fm-icon-active font-medium">
|
|
601
621
|
Audio Playing
|
|
602
622
|
</div>
|
|
603
|
-
<div className="text-
|
|
623
|
+
<div className="text-fm-tertiary text-sm">
|
|
604
624
|
Click to pause
|
|
605
625
|
</div>
|
|
606
626
|
</div>
|
|
607
627
|
</div>
|
|
608
|
-
<div className="rounded-lg
|
|
609
|
-
<pre className="overflow-x-auto text-sm
|
|
628
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
629
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
610
630
|
{`<div className="relative">
|
|
611
631
|
<MusicalNoteIcon className="h-6 w-6 text-purple-400" />
|
|
612
632
|
<div className="absolute -top-1 -right-1 h-3 w-3 rounded-full bg-green-500 animate-pulse"></div>
|
|
@@ -620,64 +640,64 @@ function MyComponent() {
|
|
|
620
640
|
|
|
621
641
|
{/* Accessibility */}
|
|
622
642
|
<div className="!space-y-8">
|
|
623
|
-
<h2 className="text-center text-3xl font-bold
|
|
643
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
624
644
|
Accessibility Features
|
|
625
645
|
</h2>
|
|
626
646
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
627
|
-
<div className="!space-y-4 rounded-lg border
|
|
628
|
-
<h3 className="text-lg font-semibold
|
|
647
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
648
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
629
649
|
✅ Built-in Features
|
|
630
650
|
</h3>
|
|
631
|
-
<ul className="!space-y-2 text-sm
|
|
632
|
-
<li className="
|
|
651
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
652
|
+
<li className="text-fm-secondary!">
|
|
633
653
|
Uses Radix UI AccessibleIcon wrapper
|
|
634
654
|
</li>
|
|
635
|
-
<li className="
|
|
655
|
+
<li className="text-fm-secondary!">
|
|
636
656
|
Provides screen reader label "Musical Note Icon"
|
|
637
657
|
</li>
|
|
638
|
-
<li className="
|
|
658
|
+
<li className="text-fm-secondary!">
|
|
639
659
|
Supports keyboard navigation when interactive
|
|
640
660
|
</li>
|
|
641
|
-
<li className="
|
|
661
|
+
<li className="text-fm-secondary!">
|
|
642
662
|
Maintains proper color contrast ratios
|
|
643
663
|
</li>
|
|
644
|
-
<li className="
|
|
664
|
+
<li className="text-fm-secondary!">
|
|
645
665
|
Scales with user's font size preferences
|
|
646
666
|
</li>
|
|
647
667
|
</ul>
|
|
648
668
|
</div>
|
|
649
669
|
|
|
650
|
-
<div className="!space-y-4 rounded-lg border
|
|
651
|
-
<h3 className="text-lg font-semibold
|
|
670
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
671
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
652
672
|
💡 Best Practices
|
|
653
673
|
</h3>
|
|
654
|
-
<ul className="!space-y-2 text-sm
|
|
655
|
-
<li className="
|
|
674
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
675
|
+
<li className="text-fm-secondary!">
|
|
656
676
|
Always pair with descriptive text
|
|
657
677
|
</li>
|
|
658
|
-
<li className="
|
|
678
|
+
<li className="text-fm-secondary!">
|
|
659
679
|
Use consistent colors for music states
|
|
660
680
|
</li>
|
|
661
|
-
<li className="
|
|
681
|
+
<li className="text-fm-secondary!">
|
|
662
682
|
Ensure sufficient color contrast
|
|
663
683
|
</li>
|
|
664
|
-
<li className="
|
|
684
|
+
<li className="text-fm-secondary!">
|
|
665
685
|
Add focus states for interactive elements
|
|
666
686
|
</li>
|
|
667
|
-
<li className="
|
|
687
|
+
<li className="text-fm-secondary!">
|
|
668
688
|
Consider motion sensitivity for animations
|
|
669
689
|
</li>
|
|
670
690
|
</ul>
|
|
671
691
|
</div>
|
|
672
692
|
</div>
|
|
673
693
|
|
|
674
|
-
<div className="rounded-lg border
|
|
675
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
694
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
695
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
676
696
|
Custom Accessibility Label
|
|
677
697
|
</h3>
|
|
678
698
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
679
|
-
<div className="rounded-lg
|
|
680
|
-
<pre className="overflow-x-auto text-sm
|
|
699
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
700
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
681
701
|
{`// Custom implementation with specific label
|
|
682
702
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
683
703
|
|
|
@@ -697,13 +717,13 @@ function CustomMusicalNoteIcon({ label = "Musical Note", ...props }) {
|
|
|
697
717
|
</pre>
|
|
698
718
|
</div>
|
|
699
719
|
<div className="!space-y-4">
|
|
700
|
-
<p className="text-
|
|
720
|
+
<p className="text-fm-secondary! text-sm">
|
|
701
721
|
For specific contexts, you can wrap the MusicalNoteIcon
|
|
702
722
|
with a custom AccessibleIcon component that provides
|
|
703
723
|
more descriptive labels.
|
|
704
724
|
</p>
|
|
705
|
-
<div className="
|
|
706
|
-
<div className="flex items-center gap-2 text-sm
|
|
725
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
726
|
+
<div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
|
|
707
727
|
<MusicalNoteIcon className="h-4 w-4" />
|
|
708
728
|
<span>
|
|
709
729
|
This approach gives screen readers more context
|
|
@@ -717,52 +737,60 @@ function CustomMusicalNoteIcon({ label = "Musical Note", ...props }) {
|
|
|
717
737
|
|
|
718
738
|
{/* Related Icons */}
|
|
719
739
|
<div className="!space-y-8">
|
|
720
|
-
<h2 className="text-center text-3xl font-bold
|
|
740
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
721
741
|
Related Icons
|
|
722
742
|
</h2>
|
|
723
743
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
724
|
-
<div className="!space-y-3 rounded-lg border
|
|
725
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
744
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
745
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
726
746
|
<span className="text-2xl">🎵</span>
|
|
727
747
|
</div>
|
|
728
748
|
<div>
|
|
729
|
-
<div className="font-medium
|
|
730
|
-
|
|
749
|
+
<div className="text-fm-icon-active font-medium">
|
|
750
|
+
PlayIcon
|
|
751
|
+
</div>
|
|
752
|
+
<div className="text-fm-tertiary text-xs">
|
|
731
753
|
Playback controls
|
|
732
754
|
</div>
|
|
733
755
|
</div>
|
|
734
756
|
</div>
|
|
735
|
-
<div className="!space-y-3 rounded-lg border
|
|
736
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
757
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
758
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
737
759
|
<span className="text-2xl">⏸️</span>
|
|
738
760
|
</div>
|
|
739
761
|
<div>
|
|
740
|
-
<div className="font-medium
|
|
741
|
-
|
|
762
|
+
<div className="text-fm-icon-active font-medium">
|
|
763
|
+
PauseIcon
|
|
764
|
+
</div>
|
|
765
|
+
<div className="text-fm-tertiary text-xs">
|
|
742
766
|
Pause controls
|
|
743
767
|
</div>
|
|
744
768
|
</div>
|
|
745
769
|
</div>
|
|
746
|
-
<div className="!space-y-3 rounded-lg border
|
|
747
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
770
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
771
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
748
772
|
<span className="text-2xl">🔊</span>
|
|
749
773
|
</div>
|
|
750
774
|
<div>
|
|
751
|
-
<div className="font-medium
|
|
752
|
-
|
|
775
|
+
<div className="text-fm-icon-active font-medium">
|
|
776
|
+
VolumeIcon
|
|
777
|
+
</div>
|
|
778
|
+
<div className="text-fm-tertiary text-xs">
|
|
753
779
|
Volume controls
|
|
754
780
|
</div>
|
|
755
781
|
</div>
|
|
756
782
|
</div>
|
|
757
|
-
<div className="!space-y-3 rounded-lg border
|
|
758
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
783
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
784
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
759
785
|
<span className="text-2xl">🎧</span>
|
|
760
786
|
</div>
|
|
761
787
|
<div>
|
|
762
|
-
<div className="font-medium
|
|
788
|
+
<div className="text-fm-icon-active font-medium">
|
|
763
789
|
HeadphoneIcon
|
|
764
790
|
</div>
|
|
765
|
-
<div className="text-
|
|
791
|
+
<div className="text-fm-tertiary text-xs">
|
|
792
|
+
Audio devices
|
|
793
|
+
</div>
|
|
766
794
|
</div>
|
|
767
795
|
</div>
|
|
768
796
|
</div>
|
|
@@ -770,14 +798,14 @@ function CustomMusicalNoteIcon({ label = "Musical Note", ...props }) {
|
|
|
770
798
|
</div>
|
|
771
799
|
|
|
772
800
|
{/* Footer */}
|
|
773
|
-
<div className="border-
|
|
801
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
774
802
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
775
803
|
<div className="!space-y-4 text-center">
|
|
776
|
-
<p className="
|
|
804
|
+
<p className="text-fm-tertiary!">
|
|
777
805
|
MusicalNoteIcon is part of the Aural UI icon library, built
|
|
778
806
|
with accessibility and consistency in mind.
|
|
779
807
|
</p>
|
|
780
|
-
<p className="text-
|
|
808
|
+
<p className="text-fm-placeholder! text-sm">
|
|
781
809
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
782
810
|
compatibility and follow WCAG guidelines.
|
|
783
811
|
</p>
|
|
@@ -826,8 +854,8 @@ const storyParameters = {
|
|
|
826
854
|
backgrounds: {
|
|
827
855
|
default: "dark",
|
|
828
856
|
values: [
|
|
829
|
-
{ name: "dark", value: "
|
|
830
|
-
{ name: "darker", value: "
|
|
857
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
858
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
831
859
|
],
|
|
832
860
|
},
|
|
833
861
|
}
|
|
@@ -836,12 +864,12 @@ export const Default: Story = {
|
|
|
836
864
|
args: {
|
|
837
865
|
width: 24,
|
|
838
866
|
height: 24,
|
|
839
|
-
className: "text-
|
|
867
|
+
className: "text-fm-secondary-600",
|
|
840
868
|
withAccessibility: true,
|
|
841
869
|
},
|
|
842
870
|
parameters: storyParameters,
|
|
843
871
|
render: (args) => (
|
|
844
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
872
|
+
<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">
|
|
845
873
|
<MusicalNoteIcon {...args} />
|
|
846
874
|
</div>
|
|
847
875
|
),
|
|
@@ -858,30 +886,30 @@ export const SizeVariations: Story = {
|
|
|
858
886
|
},
|
|
859
887
|
},
|
|
860
888
|
render: () => (
|
|
861
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
889
|
+
<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">
|
|
862
890
|
<div className="text-center">
|
|
863
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-3 w-3
|
|
864
|
-
<span className="text-
|
|
891
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
892
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
865
893
|
</div>
|
|
866
894
|
<div className="text-center">
|
|
867
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-4 w-4
|
|
868
|
-
<span className="text-
|
|
895
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
896
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
869
897
|
</div>
|
|
870
898
|
<div className="text-center">
|
|
871
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-5 w-5
|
|
872
|
-
<span className="text-
|
|
899
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
900
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
873
901
|
</div>
|
|
874
902
|
<div className="text-center">
|
|
875
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-6 w-6
|
|
876
|
-
<span className="text-
|
|
903
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
904
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
877
905
|
</div>
|
|
878
906
|
<div className="text-center">
|
|
879
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-8 w-8
|
|
880
|
-
<span className="text-
|
|
907
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
908
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
881
909
|
</div>
|
|
882
910
|
<div className="text-center">
|
|
883
|
-
<MusicalNoteIcon className="!mx-auto mb-2 h-12 w-12
|
|
884
|
-
<span className="text-
|
|
911
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
912
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
885
913
|
</div>
|
|
886
914
|
</div>
|
|
887
915
|
),
|
|
@@ -898,41 +926,49 @@ export const ColorVariations: Story = {
|
|
|
898
926
|
},
|
|
899
927
|
},
|
|
900
928
|
render: () => (
|
|
901
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
929
|
+
<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-5">
|
|
902
930
|
<div className="text-center">
|
|
903
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
904
|
-
<MusicalNoteIcon className="h-8 w-8
|
|
931
|
+
<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">
|
|
932
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
933
|
+
</div>
|
|
934
|
+
<div className="text-fm-icon-active text-sm font-medium">Classic</div>
|
|
935
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
936
|
+
text-fm-secondary-600
|
|
905
937
|
</div>
|
|
906
|
-
<div className="text-sm font-medium text-white">Classic</div>
|
|
907
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
908
938
|
</div>
|
|
909
939
|
<div className="text-center">
|
|
910
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
911
|
-
<MusicalNoteIcon className="h-8 w-8
|
|
940
|
+
<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">
|
|
941
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
942
|
+
</div>
|
|
943
|
+
<div className="text-fm-icon-active text-sm font-medium">Pop</div>
|
|
944
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
945
|
+
text-fm-secondary-600
|
|
912
946
|
</div>
|
|
913
|
-
<div className="text-sm font-medium text-white">Pop</div>
|
|
914
|
-
<div className="text-xs text-pink-400">text-pink-400</div>
|
|
915
947
|
</div>
|
|
916
948
|
<div className="text-center">
|
|
917
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
918
|
-
<MusicalNoteIcon className="h-8 w-8
|
|
949
|
+
<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">
|
|
950
|
+
<MusicalNoteIcon className="text-fm-icon-info h-8 w-8" />
|
|
919
951
|
</div>
|
|
920
|
-
<div className="text-sm font-medium
|
|
921
|
-
<div className="text-
|
|
952
|
+
<div className="text-fm-icon-active text-sm font-medium">Jazz</div>
|
|
953
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
922
954
|
</div>
|
|
923
955
|
<div className="text-center">
|
|
924
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
925
|
-
<MusicalNoteIcon className="h-8 w-8
|
|
956
|
+
<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">
|
|
957
|
+
<MusicalNoteIcon className="text-fm-icon-positive h-8 w-8" />
|
|
958
|
+
</div>
|
|
959
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
960
|
+
Electronic
|
|
961
|
+
</div>
|
|
962
|
+
<div className="text-fm-icon-positive text-xs">
|
|
963
|
+
text-fm-icon-positive
|
|
926
964
|
</div>
|
|
927
|
-
<div className="text-sm font-medium text-white">Electronic</div>
|
|
928
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
929
965
|
</div>
|
|
930
966
|
<div className="text-center">
|
|
931
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
932
|
-
<MusicalNoteIcon className="h-8 w-8
|
|
967
|
+
<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">
|
|
968
|
+
<MusicalNoteIcon className="text-fm-icon-warning h-8 w-8" />
|
|
933
969
|
</div>
|
|
934
|
-
<div className="text-sm font-medium
|
|
935
|
-
<div className="text-
|
|
970
|
+
<div className="text-fm-icon-active text-sm font-medium">Rock</div>
|
|
971
|
+
<div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
|
|
936
972
|
</div>
|
|
937
973
|
</div>
|
|
938
974
|
),
|
|
@@ -949,33 +985,39 @@ export const UsageExamples: Story = {
|
|
|
949
985
|
},
|
|
950
986
|
},
|
|
951
987
|
render: () => (
|
|
952
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
988
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
953
989
|
{/* Music Player */}
|
|
954
990
|
<div className="!space-y-2">
|
|
955
|
-
<h3 className="text-sm font-medium
|
|
956
|
-
|
|
991
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
992
|
+
Music Player
|
|
993
|
+
</h3>
|
|
994
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
957
995
|
<div className="flex items-center gap-3">
|
|
958
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
959
|
-
<MusicalNoteIcon className="h-6 w-6
|
|
996
|
+
<div className="bg-fm-secondary-500/20 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
997
|
+
<MusicalNoteIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
960
998
|
</div>
|
|
961
999
|
<div className="flex-1">
|
|
962
|
-
<h4 className="font-medium
|
|
963
|
-
|
|
1000
|
+
<h4 className="text-fm-icon-active font-medium">
|
|
1001
|
+
Bohemian Rhapsody
|
|
1002
|
+
</h4>
|
|
1003
|
+
<p className="text-fm-tertiary text-sm">Queen</p>
|
|
964
1004
|
</div>
|
|
965
|
-
<div className="text-
|
|
1005
|
+
<div className="text-fm-tertiary text-sm">3:42</div>
|
|
966
1006
|
</div>
|
|
967
1007
|
</div>
|
|
968
1008
|
</div>
|
|
969
1009
|
|
|
970
1010
|
{/* Audio Upload */}
|
|
971
1011
|
<div className="!space-y-2">
|
|
972
|
-
<h3 className="text-sm font-medium
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
1012
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1013
|
+
Audio Upload
|
|
1014
|
+
</h3>
|
|
1015
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/5 rounded-lg border-2 border-dashed p-8 text-center">
|
|
1016
|
+
<MusicalNoteIcon className="text-fm-secondary-600 !mx-auto mb-4 h-12 w-12" />
|
|
1017
|
+
<h4 className="text-fm-icon-active mb-2 font-medium">
|
|
976
1018
|
Drop your audio files here
|
|
977
1019
|
</h4>
|
|
978
|
-
<p className="text-
|
|
1020
|
+
<p className="text-fm-tertiary text-sm">
|
|
979
1021
|
Supports MP3, WAV, FLAC formats
|
|
980
1022
|
</p>
|
|
981
1023
|
</div>
|
|
@@ -983,26 +1025,28 @@ export const UsageExamples: Story = {
|
|
|
983
1025
|
|
|
984
1026
|
{/* Navigation Menu */}
|
|
985
1027
|
<div className="!space-y-2">
|
|
986
|
-
<h3 className="text-sm font-medium
|
|
987
|
-
|
|
1028
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1029
|
+
Navigation Menu
|
|
1030
|
+
</h3>
|
|
1031
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
988
1032
|
<nav className="!space-y-2">
|
|
989
1033
|
<a
|
|
990
1034
|
href="#"
|
|
991
|
-
className="flex items-center gap-3 rounded-lg
|
|
1035
|
+
className="bg-fm-secondary-500/20 text-fm-secondary-600 flex items-center gap-3 rounded-lg px-3 py-2"
|
|
992
1036
|
>
|
|
993
1037
|
<MusicalNoteIcon className="h-5 w-5" />
|
|
994
1038
|
<span>My Music</span>
|
|
995
1039
|
</a>
|
|
996
1040
|
<a
|
|
997
1041
|
href="#"
|
|
998
|
-
className="flex items-center gap-3 px-3 py-2
|
|
1042
|
+
className="text-fm-tertiary hover:text-fm-icon-active flex items-center gap-3 px-3 py-2"
|
|
999
1043
|
>
|
|
1000
1044
|
<span className="h-5 w-5">📀</span>
|
|
1001
1045
|
<span>Albums</span>
|
|
1002
1046
|
</a>
|
|
1003
1047
|
<a
|
|
1004
1048
|
href="#"
|
|
1005
|
-
className="flex items-center gap-3 px-3 py-2
|
|
1049
|
+
className="text-fm-tertiary hover:text-fm-icon-active flex items-center gap-3 px-3 py-2"
|
|
1006
1050
|
>
|
|
1007
1051
|
<span className="h-5 w-5">🎵</span>
|
|
1008
1052
|
<span>Playlists</span>
|
|
@@ -1027,12 +1071,12 @@ export const Playground: Story = {
|
|
|
1027
1071
|
args: {
|
|
1028
1072
|
width: 32,
|
|
1029
1073
|
height: 32,
|
|
1030
|
-
className: "text-
|
|
1074
|
+
className: "text-fm-secondary-600",
|
|
1031
1075
|
strokeWidth: 1.125,
|
|
1032
1076
|
},
|
|
1033
1077
|
render: (args) => (
|
|
1034
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1035
|
-
<div className="rounded-lg border
|
|
1078
|
+
<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">
|
|
1079
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1036
1080
|
<MusicalNoteIcon {...args} />
|
|
1037
1081
|
</div>
|
|
1038
1082
|
</div>
|