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 BackwardTenSecondsIcon> = {
|
|
|
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 BackwardTenSecondsIcon> = {
|
|
|
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
|
-
<BackwardTenSecondsIcon 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
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
|
-
<h1 className="text-5xl font-bold
|
|
92
|
+
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
93
93
|
BackwardTenSecondsIcon
|
|
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 media control icon for skipping backward 10 seconds in
|
|
97
97
|
audio and video players. Features a circular arrow with "10"
|
|
98
98
|
seconds indicator, perfect for podcast apps, video players,
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof BackwardTenSecondsIcon> = {
|
|
|
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
|
Media Control
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
10-second rewind
|
|
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
|
Accessible
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Screen reader friendly
|
|
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
|
Universal
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Cross-platform standard
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof BackwardTenSecondsIcon> = {
|
|
|
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 { BackwardTenSecondsIcon } from "@icons/backward-ten-seconds-icon"
|
|
150
150
|
|
|
151
151
|
function MediaPlayer() {
|
|
@@ -163,12 +163,12 @@ function MediaPlayer() {
|
|
|
163
163
|
</div>
|
|
164
164
|
|
|
165
165
|
<div className="!space-y-4">
|
|
166
|
-
<h3 className="text-xl font-semibold
|
|
166
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
167
167
|
Live Preview
|
|
168
168
|
</h3>
|
|
169
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
170
|
-
<button className="
|
|
171
|
-
<BackwardTenSecondsIcon className="h-6 w-6
|
|
169
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
170
|
+
<button className="border-fm-secondary-500/20 bg-fm-secondary-500/10 hover:bg-fm-secondary-500/20 rounded-lg border p-3 transition-colors">
|
|
171
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
172
172
|
</button>
|
|
173
173
|
</div>
|
|
174
174
|
</div>
|
|
@@ -177,108 +177,116 @@ function MediaPlayer() {
|
|
|
177
177
|
|
|
178
178
|
{/* Props Documentation */}
|
|
179
179
|
<div className="!space-y-8">
|
|
180
|
-
<h2 className="text-center text-3xl font-bold
|
|
180
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
181
181
|
Props & Configuration
|
|
182
182
|
</h2>
|
|
183
183
|
|
|
184
|
-
<div className="overflow-hidden rounded-lg border
|
|
185
|
-
<div className="bg-
|
|
186
|
-
<h3 className="text-xl 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
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
187
|
+
Props
|
|
188
|
+
</h3>
|
|
187
189
|
</div>
|
|
188
190
|
<table className="!my-0 w-full">
|
|
189
|
-
<thead className="bg-
|
|
190
|
-
<tr className="border-
|
|
191
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
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">
|
|
192
194
|
Prop
|
|
193
195
|
</th>
|
|
194
|
-
<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">
|
|
195
197
|
Type
|
|
196
198
|
</th>
|
|
197
|
-
<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">
|
|
198
200
|
Default
|
|
199
201
|
</th>
|
|
200
|
-
<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">
|
|
201
203
|
Description
|
|
202
204
|
</th>
|
|
203
205
|
</tr>
|
|
204
206
|
</thead>
|
|
205
207
|
<tbody>
|
|
206
208
|
{" "}
|
|
207
|
-
<tr className="
|
|
208
|
-
<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">
|
|
209
211
|
withAccessibility
|
|
210
212
|
</td>
|
|
211
|
-
<td className="px-6 py-4 text-sm
|
|
213
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
212
214
|
boolean
|
|
213
215
|
</td>
|
|
214
|
-
<td className="px-6 py-4 text-sm
|
|
216
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
215
217
|
true
|
|
216
218
|
</td>
|
|
217
|
-
<td className="px-6 py-4 text-sm
|
|
219
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
218
220
|
Whether to wrap the icon with accessibility feature
|
|
219
221
|
</td>
|
|
220
222
|
</tr>
|
|
221
|
-
<tr className="border-
|
|
222
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
223
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
224
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
223
225
|
height
|
|
224
226
|
</td>
|
|
225
|
-
<td className="px-6 py-4 text-sm
|
|
227
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
226
228
|
number | string
|
|
227
229
|
</td>
|
|
228
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
-
|
|
230
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
231
|
+
44
|
|
232
|
+
</td>
|
|
233
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
230
234
|
Height of the icon in pixels
|
|
231
235
|
</td>
|
|
232
236
|
</tr>
|
|
233
|
-
<tr className="border-
|
|
234
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
237
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
238
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
235
239
|
stroke
|
|
236
240
|
</td>
|
|
237
|
-
<td className="px-6 py-4 text-sm
|
|
241
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
238
242
|
string
|
|
239
243
|
</td>
|
|
240
|
-
<td className="px-6 py-4 text-sm
|
|
244
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
241
245
|
currentColor
|
|
242
246
|
</td>
|
|
243
|
-
<td className="px-6 py-4 text-sm
|
|
247
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
244
248
|
Stroke color of the icon
|
|
245
249
|
</td>
|
|
246
250
|
</tr>
|
|
247
|
-
<tr className="border-
|
|
248
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
251
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
252
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
249
253
|
strokeWidth
|
|
250
254
|
</td>
|
|
251
|
-
<td className="px-6 py-4 text-sm
|
|
255
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
252
256
|
string | number
|
|
253
257
|
</td>
|
|
254
|
-
<td className="px-6 py-4 text-sm
|
|
258
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
255
259
|
1.5
|
|
256
260
|
</td>
|
|
257
|
-
<td className="px-6 py-4 text-sm
|
|
261
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
258
262
|
Width of the stroke
|
|
259
263
|
</td>
|
|
260
264
|
</tr>
|
|
261
|
-
<tr className="border-
|
|
262
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
265
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
266
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
263
267
|
className
|
|
264
268
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
269
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
266
270
|
string
|
|
267
271
|
</td>
|
|
268
|
-
<td className="px-6 py-4 text-sm
|
|
269
|
-
|
|
272
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
273
|
+
-
|
|
274
|
+
</td>
|
|
275
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
270
276
|
CSS classes for styling (use for overrides)
|
|
271
277
|
</td>
|
|
272
278
|
</tr>
|
|
273
|
-
<tr className="
|
|
274
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
279
|
+
<tr className="bg-fm-surface-secondary!">
|
|
280
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
275
281
|
...svgProps
|
|
276
282
|
</td>
|
|
277
|
-
<td className="px-6 py-4 text-sm
|
|
283
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
278
284
|
SVGProps
|
|
279
285
|
</td>
|
|
280
|
-
<td className="px-6 py-4 text-sm
|
|
281
|
-
|
|
286
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
287
|
+
-
|
|
288
|
+
</td>
|
|
289
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
282
290
|
All standard SVG element props
|
|
283
291
|
</td>
|
|
284
292
|
</tr>
|
|
@@ -289,50 +297,62 @@ function MediaPlayer() {
|
|
|
289
297
|
|
|
290
298
|
{/* Size Variations */}
|
|
291
299
|
<div className="!space-y-8">
|
|
292
|
-
<h2 className="text-center text-3xl font-bold
|
|
300
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
293
301
|
Size Variations
|
|
294
302
|
</h2>
|
|
295
|
-
<div className="rounded-lg border
|
|
303
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
296
304
|
<div className="!space-y-6">
|
|
297
305
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
298
306
|
<div className="!space-y-4">
|
|
299
|
-
<h3 className="text-lg font-semibold
|
|
307
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
300
308
|
Standard Sizes
|
|
301
309
|
</h3>
|
|
302
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
310
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
303
311
|
<div className="text-center">
|
|
304
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-3 w-3
|
|
305
|
-
<span className="text-
|
|
312
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
313
|
+
<span className="text-fm-tertiary text-xs">
|
|
314
|
+
12px
|
|
315
|
+
</span>
|
|
306
316
|
</div>
|
|
307
317
|
<div className="text-center">
|
|
308
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-4 w-4
|
|
309
|
-
<span className="text-
|
|
318
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
319
|
+
<span className="text-fm-tertiary text-xs">
|
|
320
|
+
16px
|
|
321
|
+
</span>
|
|
310
322
|
</div>
|
|
311
323
|
<div className="text-center">
|
|
312
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-5 w-5
|
|
313
|
-
<span className="text-
|
|
324
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
325
|
+
<span className="text-fm-tertiary text-xs">
|
|
326
|
+
20px
|
|
327
|
+
</span>
|
|
314
328
|
</div>
|
|
315
329
|
<div className="text-center">
|
|
316
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-6 w-6
|
|
317
|
-
<span className="text-
|
|
330
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
331
|
+
<span className="text-fm-tertiary text-xs">
|
|
332
|
+
24px
|
|
333
|
+
</span>
|
|
318
334
|
</div>
|
|
319
335
|
<div className="text-center">
|
|
320
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-8 w-8
|
|
321
|
-
<span className="text-
|
|
336
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
337
|
+
<span className="text-fm-tertiary text-xs">
|
|
338
|
+
32px
|
|
339
|
+
</span>
|
|
322
340
|
</div>
|
|
323
341
|
<div className="text-center">
|
|
324
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-12 w-12
|
|
325
|
-
<span className="text-
|
|
342
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
343
|
+
<span className="text-fm-tertiary text-xs">
|
|
344
|
+
48px
|
|
345
|
+
</span>
|
|
326
346
|
</div>
|
|
327
347
|
</div>
|
|
328
348
|
</div>
|
|
329
349
|
|
|
330
350
|
<div className="!space-y-4">
|
|
331
|
-
<h3 className="text-lg font-semibold
|
|
351
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
332
352
|
Code Example
|
|
333
353
|
</h3>
|
|
334
|
-
<div className="rounded-lg
|
|
335
|
-
<pre className="overflow-x-auto text-sm
|
|
354
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
355
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
336
356
|
{`// Small (16px)
|
|
337
357
|
<BackwardTenSecondsIcon className="h-4 w-4" />
|
|
338
358
|
|
|
@@ -354,56 +374,56 @@ function MediaPlayer() {
|
|
|
354
374
|
|
|
355
375
|
{/* Color Variations */}
|
|
356
376
|
<div className="!space-y-8">
|
|
357
|
-
<h2 className="text-center text-3xl font-bold
|
|
377
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
358
378
|
Color Variations
|
|
359
379
|
</h2>
|
|
360
380
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
361
381
|
<div className="!space-y-4">
|
|
362
|
-
<h3 className="text-lg font-semibold
|
|
382
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
363
383
|
Semantic Colors
|
|
364
384
|
</h3>
|
|
365
|
-
<div className="!space-y-4 rounded-lg border
|
|
385
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
366
386
|
<div className="flex items-center gap-4">
|
|
367
|
-
<BackwardTenSecondsIcon className="h-6 w-6
|
|
387
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
368
388
|
<div>
|
|
369
|
-
<div className="text-sm font-medium
|
|
389
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
370
390
|
Primary
|
|
371
391
|
</div>
|
|
372
|
-
<div className="text-
|
|
373
|
-
text-
|
|
392
|
+
<div className="text-fm-tertiary text-xs">
|
|
393
|
+
text-fm-secondary-600
|
|
374
394
|
</div>
|
|
375
395
|
</div>
|
|
376
396
|
</div>
|
|
377
397
|
<div className="flex items-center gap-4">
|
|
378
|
-
<BackwardTenSecondsIcon className="h-6 w-6
|
|
398
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
379
399
|
<div>
|
|
380
|
-
<div className="text-sm font-medium
|
|
400
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
381
401
|
Secondary
|
|
382
402
|
</div>
|
|
383
|
-
<div className="text-
|
|
384
|
-
text-
|
|
403
|
+
<div className="text-fm-tertiary text-xs">
|
|
404
|
+
text-fm-secondary-600
|
|
385
405
|
</div>
|
|
386
406
|
</div>
|
|
387
407
|
</div>
|
|
388
408
|
<div className="flex items-center gap-4">
|
|
389
|
-
<BackwardTenSecondsIcon className="h-6 w-6
|
|
409
|
+
<BackwardTenSecondsIcon className="text-fm-icon-info h-6 w-6" />
|
|
390
410
|
<div>
|
|
391
|
-
<div className="text-sm font-medium
|
|
411
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
392
412
|
Accent
|
|
393
413
|
</div>
|
|
394
|
-
<div className="text-
|
|
395
|
-
text-
|
|
414
|
+
<div className="text-fm-tertiary text-xs">
|
|
415
|
+
text-fm-icon-info
|
|
396
416
|
</div>
|
|
397
417
|
</div>
|
|
398
418
|
</div>
|
|
399
419
|
<div className="flex items-center gap-4">
|
|
400
|
-
<BackwardTenSecondsIcon className="h-6 w-6
|
|
420
|
+
<BackwardTenSecondsIcon className="text-fm-placeholder h-6 w-6" />
|
|
401
421
|
<div>
|
|
402
|
-
<div className="text-sm font-medium
|
|
422
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
403
423
|
Disabled
|
|
404
424
|
</div>
|
|
405
|
-
<div className="text-
|
|
406
|
-
text-
|
|
425
|
+
<div className="text-fm-tertiary text-xs">
|
|
426
|
+
text-fm-placeholder
|
|
407
427
|
</div>
|
|
408
428
|
</div>
|
|
409
429
|
</div>
|
|
@@ -411,11 +431,11 @@ function MediaPlayer() {
|
|
|
411
431
|
</div>
|
|
412
432
|
|
|
413
433
|
<div className="!space-y-4">
|
|
414
|
-
<h3 className="text-lg font-semibold
|
|
434
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
415
435
|
Custom Colors
|
|
416
436
|
</h3>
|
|
417
|
-
<div className="rounded-lg
|
|
418
|
-
<pre className="overflow-x-auto text-sm
|
|
437
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
438
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
419
439
|
{`// Using Tailwind classes
|
|
420
440
|
<BackwardTenSecondsIcon className="h-6 w-6 text-violet-400" />
|
|
421
441
|
<BackwardTenSecondsIcon className="h-6 w-6 text-purple-500" />
|
|
@@ -440,40 +460,40 @@ function MediaPlayer() {
|
|
|
440
460
|
|
|
441
461
|
{/* Usage Examples */}
|
|
442
462
|
<div className="!space-y-8">
|
|
443
|
-
<h2 className="text-center text-3xl font-bold
|
|
463
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
444
464
|
Usage Examples
|
|
445
465
|
</h2>
|
|
446
466
|
|
|
447
467
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
448
468
|
{/* Podcast Player */}
|
|
449
469
|
<div className="!space-y-4">
|
|
450
|
-
<h3 className="text-lg font-semibold
|
|
470
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
451
471
|
Podcast Player
|
|
452
472
|
</h3>
|
|
453
473
|
<div className="!space-y-4">
|
|
454
|
-
<div className="rounded-lg border
|
|
474
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
455
475
|
<div className="mb-4 flex items-center justify-between">
|
|
456
|
-
<h3 className="text-lg font-semibold
|
|
476
|
+
<h3 className="text-fm-icon-active! text-lg font-semibold">
|
|
457
477
|
Now Playing
|
|
458
478
|
</h3>
|
|
459
479
|
</div>
|
|
460
480
|
<div className="mb-4 flex items-center justify-center gap-4">
|
|
461
|
-
<button className="rounded-lg p-2 transition-colors
|
|
462
|
-
<BackwardTenSecondsIcon className="h-6 w-6
|
|
481
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
|
|
482
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
463
483
|
</button>
|
|
464
|
-
<button className="rounded-lg p-3 transition-colors
|
|
465
|
-
<div className="h-8 w-8 rounded-full border-2
|
|
484
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-3 transition-colors">
|
|
485
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-8 w-8 rounded-full border-2" />
|
|
466
486
|
</button>
|
|
467
|
-
<button className="rounded-lg p-2 transition-colors
|
|
468
|
-
<div className="h-6 w-6 rounded-full border
|
|
487
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
|
|
488
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
|
|
469
489
|
</button>
|
|
470
490
|
</div>
|
|
471
|
-
<p className="text-
|
|
491
|
+
<p className="text-fm-secondary! text-sm">
|
|
472
492
|
Skip back 10 seconds to replay important content
|
|
473
493
|
</p>
|
|
474
494
|
</div>
|
|
475
|
-
<div className="rounded-lg
|
|
476
|
-
<pre className="overflow-x-auto text-sm
|
|
495
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
496
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
477
497
|
{`// Podcast control bar
|
|
478
498
|
<div className="flex items-center justify-center gap-4">
|
|
479
499
|
<button onClick={() => skipSeconds(-10)}>
|
|
@@ -493,30 +513,30 @@ function MediaPlayer() {
|
|
|
493
513
|
|
|
494
514
|
{/* Video Player */}
|
|
495
515
|
<div className="!space-y-4">
|
|
496
|
-
<h3 className="text-lg font-semibold
|
|
516
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
497
517
|
Video Player Controls
|
|
498
518
|
</h3>
|
|
499
519
|
<div className="!space-y-4">
|
|
500
|
-
<div className="rounded-lg border
|
|
501
|
-
<div className="mb-4 h-32 rounded bg-
|
|
520
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
521
|
+
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 mb-4 h-32 rounded bg-linear-to-r" />
|
|
502
522
|
<div className="flex items-center justify-between">
|
|
503
523
|
<div className="flex items-center gap-2">
|
|
504
|
-
<button className="rounded p-1.5
|
|
505
|
-
<BackwardTenSecondsIcon className="h-5 w-5
|
|
524
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
525
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-5 w-5" />
|
|
506
526
|
</button>
|
|
507
|
-
<span className="text-
|
|
527
|
+
<span className="text-fm-tertiary text-sm">
|
|
508
528
|
2:35 / 15:42
|
|
509
529
|
</span>
|
|
510
530
|
</div>
|
|
511
531
|
<div className="flex items-center gap-2">
|
|
512
|
-
<button className="rounded p-1.5
|
|
513
|
-
<div className="h-5 w-5 rounded-full border
|
|
532
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
533
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-5 w-5 rounded-full border" />
|
|
514
534
|
</button>
|
|
515
535
|
</div>
|
|
516
536
|
</div>
|
|
517
537
|
</div>
|
|
518
|
-
<div className="rounded-lg
|
|
519
|
-
<pre className="overflow-x-auto text-sm
|
|
538
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
539
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
520
540
|
{`// Video player with rewind
|
|
521
541
|
<div className="video-controls">
|
|
522
542
|
<div className="flex items-center gap-2">
|
|
@@ -536,42 +556,42 @@ function MediaPlayer() {
|
|
|
536
556
|
|
|
537
557
|
{/* Music Player */}
|
|
538
558
|
<div className="!space-y-4">
|
|
539
|
-
<h3 className="text-lg font-semibold
|
|
559
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
540
560
|
Music Player Interface
|
|
541
561
|
</h3>
|
|
542
562
|
<div className="!space-y-4">
|
|
543
|
-
<div className="rounded-lg border
|
|
563
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
544
564
|
<div className="mb-4 flex items-center gap-3">
|
|
545
|
-
<div className="h-12 w-12 rounded-lg bg-
|
|
565
|
+
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 h-12 w-12 rounded-lg bg-linear-to-br" />
|
|
546
566
|
<div>
|
|
547
|
-
<div className="text-sm font-medium
|
|
567
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
548
568
|
Song Title
|
|
549
569
|
</div>
|
|
550
|
-
<div className="text-
|
|
570
|
+
<div className="text-fm-tertiary! text-xs">
|
|
551
571
|
Artist Name
|
|
552
572
|
</div>
|
|
553
573
|
</div>
|
|
554
574
|
</div>
|
|
555
575
|
<div className="flex items-center justify-center gap-6">
|
|
556
|
-
<button className="rounded-lg p-1.5
|
|
557
|
-
<BackwardTenSecondsIcon className="h-4 w-4
|
|
576
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-1.5">
|
|
577
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-4 w-4" />
|
|
558
578
|
</button>
|
|
559
|
-
<button className="rounded-lg p-2
|
|
560
|
-
<div className="h-6 w-6 rounded-full border
|
|
579
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2">
|
|
580
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
|
|
561
581
|
</button>
|
|
562
|
-
<button className="rounded-lg p-2
|
|
563
|
-
<div className="h-8 w-8 rounded-full border-2
|
|
582
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2">
|
|
583
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-8 w-8 rounded-full border-2" />
|
|
564
584
|
</button>
|
|
565
|
-
<button className="rounded-lg p-2
|
|
566
|
-
<div className="h-6 w-6 rounded-full border
|
|
585
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2">
|
|
586
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
|
|
567
587
|
</button>
|
|
568
|
-
<button className="rounded-lg p-1.5
|
|
569
|
-
<div className="h-4 w-4 rounded-full border
|
|
588
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-1.5">
|
|
589
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-4 w-4 rounded-full border" />
|
|
570
590
|
</button>
|
|
571
591
|
</div>
|
|
572
592
|
</div>
|
|
573
|
-
<div className="rounded-lg
|
|
574
|
-
<pre className="overflow-x-auto text-sm
|
|
593
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
594
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
575
595
|
{`// Music player with skip controls
|
|
576
596
|
<div className="music-controls">
|
|
577
597
|
<div className="flex items-center justify-center gap-6">
|
|
@@ -599,38 +619,38 @@ function MediaPlayer() {
|
|
|
599
619
|
|
|
600
620
|
{/* Live Stream */}
|
|
601
621
|
<div className="!space-y-4">
|
|
602
|
-
<h3 className="text-lg font-semibold
|
|
622
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
603
623
|
Live Stream Player
|
|
604
624
|
</h3>
|
|
605
625
|
<div className="!space-y-4">
|
|
606
|
-
<div className="rounded-lg border
|
|
626
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
607
627
|
<div className="mb-4">
|
|
608
628
|
<div className="mb-2 flex items-center gap-2">
|
|
609
|
-
<div className="h-2 w-2 rounded-full
|
|
610
|
-
<span className="text-sm font-medium
|
|
629
|
+
<div className="bg-fm-icon-negative h-2 w-2 rounded-full" />
|
|
630
|
+
<span className="text-fm-icon-active! text-sm font-medium">
|
|
611
631
|
LIVE
|
|
612
632
|
</span>
|
|
613
633
|
</div>
|
|
614
|
-
<h4 className="text-
|
|
634
|
+
<h4 className="text-fm-secondary! text-sm">
|
|
615
635
|
Conference Stream
|
|
616
636
|
</h4>
|
|
617
637
|
</div>
|
|
618
638
|
<div className="flex items-center justify-between">
|
|
619
639
|
<div className="flex items-center gap-2">
|
|
620
|
-
<button className="rounded p-1.5
|
|
621
|
-
<BackwardTenSecondsIcon className="h-5 w-5
|
|
640
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
641
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-5 w-5" />
|
|
622
642
|
</button>
|
|
623
|
-
<span className="text-
|
|
643
|
+
<span className="text-fm-tertiary! text-xs">
|
|
624
644
|
Rewind available
|
|
625
645
|
</span>
|
|
626
646
|
</div>
|
|
627
|
-
<button className="
|
|
647
|
+
<button className="border-fm-icon-negative/30 bg-fm-icon-negative/10 text-fm-icon-negative rounded-lg border px-3 py-1 text-xs">
|
|
628
648
|
Go Live
|
|
629
649
|
</button>
|
|
630
650
|
</div>
|
|
631
651
|
</div>
|
|
632
|
-
<div className="rounded-lg
|
|
633
|
-
<pre className="overflow-x-auto text-sm
|
|
652
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
653
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
634
654
|
{`// Live stream with rewind capability
|
|
635
655
|
<div className="live-controls">
|
|
636
656
|
{canRewind && (
|
|
@@ -654,64 +674,64 @@ function MediaPlayer() {
|
|
|
654
674
|
|
|
655
675
|
{/* Accessibility */}
|
|
656
676
|
<div className="!space-y-8">
|
|
657
|
-
<h2 className="text-center text-3xl font-bold
|
|
677
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
658
678
|
Accessibility Features
|
|
659
679
|
</h2>
|
|
660
680
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
661
|
-
<div className="!space-y-4 rounded-lg border
|
|
662
|
-
<h3 className="text-lg font-semibold
|
|
681
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
682
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
663
683
|
✅ Built-in Features
|
|
664
684
|
</h3>
|
|
665
|
-
<ul className="!space-y-2 text-sm
|
|
666
|
-
<li className="
|
|
685
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
686
|
+
<li className="text-fm-secondary!">
|
|
667
687
|
Uses Radix UI AccessibleIcon wrapper
|
|
668
688
|
</li>
|
|
669
|
-
<li className="
|
|
689
|
+
<li className="text-fm-secondary!">
|
|
670
690
|
Provides screen reader label "Backward ten seconds icon"
|
|
671
691
|
</li>
|
|
672
|
-
<li className="
|
|
692
|
+
<li className="text-fm-secondary!">
|
|
673
693
|
Supports keyboard navigation when interactive
|
|
674
694
|
</li>
|
|
675
|
-
<li className="
|
|
695
|
+
<li className="text-fm-secondary!">
|
|
676
696
|
Maintains proper color contrast ratios
|
|
677
697
|
</li>
|
|
678
|
-
<li className="
|
|
698
|
+
<li className="text-fm-secondary!">
|
|
679
699
|
Scales with user's font size preferences
|
|
680
700
|
</li>
|
|
681
701
|
</ul>
|
|
682
702
|
</div>
|
|
683
703
|
|
|
684
|
-
<div className="!space-y-4 rounded-lg border
|
|
685
|
-
<h3 className="text-lg font-semibold
|
|
704
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
705
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
686
706
|
💡 Best Practices
|
|
687
707
|
</h3>
|
|
688
|
-
<ul className="!space-y-2 text-sm
|
|
689
|
-
<li className="
|
|
708
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
709
|
+
<li className="text-fm-secondary!">
|
|
690
710
|
Always provide descriptive aria-labels for buttons
|
|
691
711
|
</li>
|
|
692
|
-
<li className="
|
|
712
|
+
<li className="text-fm-secondary!">
|
|
693
713
|
Use consistent placement in media control groups
|
|
694
714
|
</li>
|
|
695
|
-
<li className="
|
|
715
|
+
<li className="text-fm-secondary!">
|
|
696
716
|
Ensure sufficient touch target size (44px minimum)
|
|
697
717
|
</li>
|
|
698
|
-
<li className="
|
|
718
|
+
<li className="text-fm-secondary!">
|
|
699
719
|
Provide visible focus states for keyboard users
|
|
700
720
|
</li>
|
|
701
|
-
<li className="
|
|
721
|
+
<li className="text-fm-secondary!">
|
|
702
722
|
Consider keyboard shortcuts (e.g., Left Arrow key)
|
|
703
723
|
</li>
|
|
704
724
|
</ul>
|
|
705
725
|
</div>
|
|
706
726
|
</div>
|
|
707
727
|
|
|
708
|
-
<div className="rounded-lg border
|
|
709
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
728
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
729
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
710
730
|
Proper ARIA Implementation
|
|
711
731
|
</h3>
|
|
712
732
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
713
|
-
<div className="rounded-lg
|
|
714
|
-
<pre className="overflow-x-auto text-sm
|
|
733
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
734
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
715
735
|
{`// Media control with proper ARIA
|
|
716
736
|
<button
|
|
717
737
|
aria-label="Rewind 10 seconds"
|
|
@@ -739,14 +759,14 @@ function MediaPlayer() {
|
|
|
739
759
|
</pre>
|
|
740
760
|
</div>
|
|
741
761
|
<div className="!space-y-4">
|
|
742
|
-
<p className="text-
|
|
762
|
+
<p className="text-fm-secondary! text-sm">
|
|
743
763
|
When using BackwardTenSecondsIcon for interactive
|
|
744
764
|
elements, always provide clear context about what action
|
|
745
765
|
will be performed and the current playback state when
|
|
746
766
|
relevant.
|
|
747
767
|
</p>
|
|
748
|
-
<div className="
|
|
749
|
-
<div className="flex items-center gap-2 text-sm
|
|
768
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
769
|
+
<div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
|
|
750
770
|
<BackwardTenSecondsIcon className="h-4 w-4" />
|
|
751
771
|
<span>
|
|
752
772
|
Screen readers need specific context about the
|
|
@@ -761,48 +781,56 @@ function MediaPlayer() {
|
|
|
761
781
|
|
|
762
782
|
{/* Related Icons */}
|
|
763
783
|
<div className="!space-y-8">
|
|
764
|
-
<h2 className="text-center text-3xl font-bold
|
|
784
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
765
785
|
Related Icons
|
|
766
786
|
</h2>
|
|
767
787
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
768
|
-
<div className="!space-y-3 rounded-lg border
|
|
769
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
770
|
-
<span className="
|
|
788
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
789
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
790
|
+
<span className="text-fm-icon-active! !text-2xl">⏮</span>
|
|
771
791
|
</div>
|
|
772
792
|
<div>
|
|
773
|
-
<div className="font-medium
|
|
793
|
+
<div className="text-fm-icon-active font-medium">
|
|
774
794
|
ForwardTenSecondsIcon
|
|
775
795
|
</div>
|
|
776
|
-
<div className="text-
|
|
796
|
+
<div className="text-fm-tertiary text-xs">
|
|
777
797
|
Skip forward 10s
|
|
778
798
|
</div>
|
|
779
799
|
</div>
|
|
780
800
|
</div>
|
|
781
|
-
<div className="!space-y-3 rounded-lg border
|
|
782
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
783
|
-
<span className="
|
|
801
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
802
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
803
|
+
<span className="text-fm-icon-active! !text-2xl">⏸</span>
|
|
784
804
|
</div>
|
|
785
805
|
<div>
|
|
786
|
-
<div className="font-medium
|
|
787
|
-
|
|
806
|
+
<div className="text-fm-icon-active font-medium">
|
|
807
|
+
PlayIcon
|
|
808
|
+
</div>
|
|
809
|
+
<div className="text-fm-tertiary text-xs">Play/pause</div>
|
|
788
810
|
</div>
|
|
789
811
|
</div>
|
|
790
|
-
<div className="!space-y-3 rounded-lg border
|
|
791
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
792
|
-
<span className="
|
|
812
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
813
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
814
|
+
<span className="text-fm-icon-active! !text-2xl">⏪</span>
|
|
793
815
|
</div>
|
|
794
816
|
<div>
|
|
795
|
-
<div className="font-medium
|
|
796
|
-
|
|
817
|
+
<div className="text-fm-icon-active font-medium">
|
|
818
|
+
RewindIcon
|
|
819
|
+
</div>
|
|
820
|
+
<div className="text-fm-tertiary text-xs">
|
|
821
|
+
Fast rewind
|
|
822
|
+
</div>
|
|
797
823
|
</div>
|
|
798
824
|
</div>
|
|
799
|
-
<div className="!space-y-3 rounded-lg border
|
|
800
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
801
|
-
<span className="
|
|
825
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
826
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
827
|
+
<span className="text-fm-icon-active! !text-2xl">⏭</span>
|
|
802
828
|
</div>
|
|
803
829
|
<div>
|
|
804
|
-
<div className="font-medium
|
|
805
|
-
|
|
830
|
+
<div className="text-fm-icon-active font-medium">
|
|
831
|
+
NextIcon
|
|
832
|
+
</div>
|
|
833
|
+
<div className="text-fm-tertiary text-xs">Next track</div>
|
|
806
834
|
</div>
|
|
807
835
|
</div>
|
|
808
836
|
</div>
|
|
@@ -810,15 +838,15 @@ function MediaPlayer() {
|
|
|
810
838
|
</div>
|
|
811
839
|
|
|
812
840
|
{/* Footer */}
|
|
813
|
-
<div className="border-
|
|
841
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
814
842
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
815
843
|
<div className="!space-y-4 text-center">
|
|
816
|
-
<p className="
|
|
844
|
+
<p className="text-fm-tertiary!">
|
|
817
845
|
BackwardTenSecondsIcon is part of the Aural UI icon library,
|
|
818
846
|
built with accessibility and media control best practices in
|
|
819
847
|
mind.
|
|
820
848
|
</p>
|
|
821
|
-
<p className="text-
|
|
849
|
+
<p className="text-fm-placeholder! text-sm">
|
|
822
850
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
823
851
|
compatibility and follow WCAG guidelines.
|
|
824
852
|
</p>
|
|
@@ -871,20 +899,20 @@ const storyParameters = {
|
|
|
871
899
|
backgrounds: {
|
|
872
900
|
default: "dark",
|
|
873
901
|
values: [
|
|
874
|
-
{ name: "dark", value: "
|
|
875
|
-
{ name: "darker", value: "
|
|
902
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
903
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
876
904
|
],
|
|
877
905
|
},
|
|
878
906
|
}
|
|
879
907
|
|
|
880
908
|
export const Default: Story = {
|
|
881
909
|
args: {
|
|
882
|
-
className: "h-8 w-8 text-
|
|
910
|
+
className: "h-8 w-8 text-fm-secondary-600",
|
|
883
911
|
withAccessibility: true,
|
|
884
912
|
},
|
|
885
913
|
parameters: storyParameters,
|
|
886
914
|
render: (args) => (
|
|
887
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
915
|
+
<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">
|
|
888
916
|
<BackwardTenSecondsIcon {...args} />
|
|
889
917
|
</div>
|
|
890
918
|
),
|
|
@@ -901,30 +929,30 @@ export const SizeVariations: Story = {
|
|
|
901
929
|
},
|
|
902
930
|
},
|
|
903
931
|
render: () => (
|
|
904
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
932
|
+
<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">
|
|
905
933
|
<div className="text-center">
|
|
906
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-3 w-3
|
|
907
|
-
<span className="text-
|
|
934
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
935
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
908
936
|
</div>
|
|
909
937
|
<div className="text-center">
|
|
910
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-4 w-4
|
|
911
|
-
<span className="text-
|
|
938
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
939
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
912
940
|
</div>
|
|
913
941
|
<div className="text-center">
|
|
914
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-5 w-5
|
|
915
|
-
<span className="text-
|
|
942
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
943
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
916
944
|
</div>
|
|
917
945
|
<div className="text-center">
|
|
918
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-6 w-6
|
|
919
|
-
<span className="text-
|
|
946
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
947
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
920
948
|
</div>
|
|
921
949
|
<div className="text-center">
|
|
922
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-8 w-8
|
|
923
|
-
<span className="text-
|
|
950
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
951
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
924
952
|
</div>
|
|
925
953
|
<div className="text-center">
|
|
926
|
-
<BackwardTenSecondsIcon className="!mx-auto mb-2 h-12 w-12
|
|
927
|
-
<span className="text-
|
|
954
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
955
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
928
956
|
</div>
|
|
929
957
|
</div>
|
|
930
958
|
),
|
|
@@ -941,34 +969,38 @@ export const ColorVariations: Story = {
|
|
|
941
969
|
},
|
|
942
970
|
},
|
|
943
971
|
render: () => (
|
|
944
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
972
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-linear-to-br p-8 md:grid-cols-4">
|
|
945
973
|
<div className="text-center">
|
|
946
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
947
|
-
<BackwardTenSecondsIcon className="h-8 w-8
|
|
974
|
+
<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">
|
|
975
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
976
|
+
</div>
|
|
977
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
978
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
979
|
+
text-fm-secondary-600
|
|
948
980
|
</div>
|
|
949
|
-
<div className="text-sm font-medium text-white">Primary</div>
|
|
950
|
-
<div className="text-xs text-violet-400">text-violet-400</div>
|
|
951
981
|
</div>
|
|
952
982
|
<div className="text-center">
|
|
953
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
954
|
-
<BackwardTenSecondsIcon className="h-8 w-8
|
|
983
|
+
<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">
|
|
984
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
985
|
+
</div>
|
|
986
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
987
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
988
|
+
text-fm-secondary-600
|
|
955
989
|
</div>
|
|
956
|
-
<div className="text-sm font-medium text-white">Secondary</div>
|
|
957
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
958
990
|
</div>
|
|
959
991
|
<div className="text-center">
|
|
960
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
961
|
-
<BackwardTenSecondsIcon className="h-8 w-8
|
|
992
|
+
<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">
|
|
993
|
+
<BackwardTenSecondsIcon className="text-fm-icon-info h-8 w-8" />
|
|
962
994
|
</div>
|
|
963
|
-
<div className="text-sm font-medium
|
|
964
|
-
<div className="text-
|
|
995
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
996
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
965
997
|
</div>
|
|
966
998
|
<div className="text-center">
|
|
967
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
968
|
-
<BackwardTenSecondsIcon className="h-8 w-8
|
|
999
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1000
|
+
<BackwardTenSecondsIcon className="text-fm-placeholder h-8 w-8" />
|
|
969
1001
|
</div>
|
|
970
|
-
<div className="text-sm font-medium
|
|
971
|
-
<div className="text-
|
|
1002
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
1003
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
972
1004
|
</div>
|
|
973
1005
|
</div>
|
|
974
1006
|
),
|
|
@@ -985,23 +1017,27 @@ export const UsageExamples: Story = {
|
|
|
985
1017
|
},
|
|
986
1018
|
},
|
|
987
1019
|
render: () => (
|
|
988
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1020
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
989
1021
|
{/* Podcast Player */}
|
|
990
1022
|
<div className="!space-y-2">
|
|
991
|
-
<h3 className="text-sm font-medium
|
|
992
|
-
|
|
1023
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1024
|
+
Podcast Player
|
|
1025
|
+
</h3>
|
|
1026
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
993
1027
|
<div className="mb-4 flex items-center justify-between">
|
|
994
|
-
<h3 className="text-lg font-semibold
|
|
1028
|
+
<h3 className="text-fm-icon-active text-lg font-semibold">
|
|
1029
|
+
Now Playing
|
|
1030
|
+
</h3>
|
|
995
1031
|
</div>
|
|
996
1032
|
<div className="flex items-center justify-center gap-4">
|
|
997
|
-
<button className="rounded-lg p-2 transition-colors
|
|
998
|
-
<BackwardTenSecondsIcon className="h-6 w-6
|
|
1033
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
|
|
1034
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
999
1035
|
</button>
|
|
1000
|
-
<button className="rounded-lg p-3 transition-colors
|
|
1001
|
-
<div className="h-8 w-8 rounded-full border-2
|
|
1036
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-3 transition-colors">
|
|
1037
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-8 w-8 rounded-full border-2" />
|
|
1002
1038
|
</button>
|
|
1003
|
-
<button className="rounded-lg p-2 transition-colors
|
|
1004
|
-
<div className="h-6 w-6 rounded-full border
|
|
1039
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
|
|
1040
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
|
|
1005
1041
|
</button>
|
|
1006
1042
|
</div>
|
|
1007
1043
|
</div>
|
|
@@ -1009,21 +1045,21 @@ export const UsageExamples: Story = {
|
|
|
1009
1045
|
|
|
1010
1046
|
{/* Video Player */}
|
|
1011
1047
|
<div className="!space-y-2">
|
|
1012
|
-
<h3 className="text-sm font-medium
|
|
1048
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1013
1049
|
Video Player Controls
|
|
1014
1050
|
</h3>
|
|
1015
|
-
<div className="rounded-lg border
|
|
1016
|
-
<div className="mb-4 h-32 rounded bg-
|
|
1051
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1052
|
+
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 mb-4 h-32 rounded bg-linear-to-r" />
|
|
1017
1053
|
<div className="flex items-center justify-between">
|
|
1018
1054
|
<div className="flex items-center gap-2">
|
|
1019
|
-
<button className="rounded p-1.5
|
|
1020
|
-
<BackwardTenSecondsIcon className="h-5 w-5
|
|
1055
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
1056
|
+
<BackwardTenSecondsIcon className="text-fm-secondary-600 h-5 w-5" />
|
|
1021
1057
|
</button>
|
|
1022
|
-
<span className="text-
|
|
1058
|
+
<span className="text-fm-tertiary text-sm">2:35 / 15:42</span>
|
|
1023
1059
|
</div>
|
|
1024
1060
|
<div className="flex items-center gap-2">
|
|
1025
|
-
<button className="rounded p-1.5
|
|
1026
|
-
<div className="h-5 w-5 rounded-full border
|
|
1061
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
1062
|
+
<div className="border-fm-divider-contrast bg-fm-divider-primary h-5 w-5 rounded-full border" />
|
|
1027
1063
|
</button>
|
|
1028
1064
|
</div>
|
|
1029
1065
|
</div>
|
|
@@ -1046,11 +1082,11 @@ export const Playground: Story = {
|
|
|
1046
1082
|
args: {
|
|
1047
1083
|
width: 44,
|
|
1048
1084
|
height: 44,
|
|
1049
|
-
className: "text-
|
|
1085
|
+
className: "text-fm-secondary-600",
|
|
1050
1086
|
},
|
|
1051
1087
|
render: (args) => (
|
|
1052
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1053
|
-
<div className="rounded-lg border
|
|
1088
|
+
<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">
|
|
1089
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1054
1090
|
<BackwardTenSecondsIcon {...args} />
|
|
1055
1091
|
</div>
|
|
1056
1092
|
</div>
|