aural-ui 3.0.7 → 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/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/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 CircularPlayIcon> = {
|
|
|
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: {
|
|
@@ -24,30 +24,30 @@ const meta: Meta<typeof CircularPlayIcon> = {
|
|
|
24
24
|
.sbdocs-wrapper { padding: 0 !important; max-width: none !important; background: transparent !important; }
|
|
25
25
|
.sbdocs-content { max-width: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
|
|
26
26
|
.docs-story, .sbdocs { background: transparent !important; }
|
|
27
|
-
body, #storybook-docs { background:
|
|
27
|
+
body, #storybook-docs { background: var(--color-fm-surface-primary) !important; }
|
|
28
28
|
.sbdocs-preview { background: transparent !important; border: none !important; }
|
|
29
|
-
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 { color:
|
|
30
|
-
.sbdocs-p, .sbdocs-li { color:
|
|
31
|
-
.sbdocs-code { background:
|
|
32
|
-
.sbdocs-pre { background:
|
|
33
|
-
.sbdocs-table { background:
|
|
34
|
-
.sbdocs-table th { background:
|
|
35
|
-
.sbdocs-table td { color:
|
|
29
|
+
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 { color: var(--color-fm-icon-active) !important; }
|
|
30
|
+
.sbdocs-p, .sbdocs-li { color: var(--color-fm-secondary) !important; }
|
|
31
|
+
.sbdocs-code { background: var(--color-fm-surface-secondary) !important; color: var(--color-fm-secondary-500) !important; border: 1px solid var(--color-fm-divider-secondary) !important; }
|
|
32
|
+
.sbdocs-pre { background: var(--color-fm-surface-secondary) !important; border: 1px solid var(--color-fm-divider-secondary) !important; }
|
|
33
|
+
.sbdocs-table { background: var(--color-fm-surface-secondary) !important; border: 1px solid var(--color-fm-divider-secondary) !important; }
|
|
34
|
+
.sbdocs-table th { background: var(--color-fm-surface-secondary) !important; color: var(--color-fm-icon-active) !important; border-bottom: 1px solid var(--color-fm-divider-secondary) !important; }
|
|
35
|
+
.sbdocs-table td { color: var(--color-fm-secondary) !important; border-bottom: 1px solid var(--color-fm-divider-tertiary) !important; }
|
|
36
36
|
`}
|
|
37
37
|
</style>
|
|
38
38
|
|
|
39
|
-
<div className="
|
|
40
|
-
<div className="relative overflow-hidden border-b
|
|
41
|
-
<div className="absolute inset-0 bg-
|
|
39
|
+
<div className="bg-fm-surface-primary min-h-screen">
|
|
40
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
41
|
+
<div className="from-fm-secondary-500/10 to-fm-secondary-500/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
42
42
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
43
43
|
<div className="!space-y-6 text-center">
|
|
44
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
45
|
-
<CircularPlayIcon className="h-12 w-12
|
|
44
|
+
<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">
|
|
45
|
+
<CircularPlayIcon className="text-fm-icon-active h-12 w-12" />
|
|
46
46
|
</div>
|
|
47
47
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
48
48
|
CircularPlayIcon
|
|
49
49
|
</h1>
|
|
50
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
50
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
51
51
|
A circular play icon with a filled play triangle inside a
|
|
52
52
|
ring. Ideal for media players, audio controls, and video
|
|
53
53
|
play overlays. Built with accessibility in mind using Radix
|
|
@@ -55,26 +55,28 @@ const meta: Meta<typeof CircularPlayIcon> = {
|
|
|
55
55
|
</p>
|
|
56
56
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
57
57
|
<div className="text-center">
|
|
58
|
-
<div className="text-3xl font-bold
|
|
58
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
59
59
|
Play
|
|
60
60
|
</div>
|
|
61
|
-
<div className="text-
|
|
61
|
+
<div className="text-fm-tertiary text-sm">
|
|
62
|
+
Media & audio
|
|
63
|
+
</div>
|
|
62
64
|
</div>
|
|
63
|
-
<div className="h-8 w-px
|
|
65
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
64
66
|
<div className="text-center">
|
|
65
|
-
<div className="text-3xl font-bold
|
|
67
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
66
68
|
Accessible
|
|
67
69
|
</div>
|
|
68
|
-
<div className="text-
|
|
70
|
+
<div className="text-fm-tertiary text-sm">
|
|
69
71
|
Screen reader friendly
|
|
70
72
|
</div>
|
|
71
73
|
</div>
|
|
72
|
-
<div className="h-8 w-px
|
|
74
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
73
75
|
<div className="text-center">
|
|
74
|
-
<div className="text-3xl font-bold
|
|
76
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
75
77
|
Flexible
|
|
76
78
|
</div>
|
|
77
|
-
<div className="text-
|
|
79
|
+
<div className="text-fm-tertiary text-sm">
|
|
78
80
|
Customizable sizing
|
|
79
81
|
</div>
|
|
80
82
|
</div>
|
|
@@ -85,16 +87,16 @@ const meta: Meta<typeof CircularPlayIcon> = {
|
|
|
85
87
|
|
|
86
88
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
87
89
|
<div className="!space-y-8">
|
|
88
|
-
<h2 className="text-center text-3xl font-bold
|
|
90
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
89
91
|
Quick Start
|
|
90
92
|
</h2>
|
|
91
93
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
92
94
|
<div className="!space-y-4">
|
|
93
|
-
<h3 className="text-xl font-semibold
|
|
95
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
94
96
|
Basic Usage
|
|
95
97
|
</h3>
|
|
96
|
-
<div className="rounded-lg
|
|
97
|
-
<pre className="overflow-x-auto text-sm
|
|
98
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
99
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
98
100
|
{`import { CircularPlayIcon } from "@icons/circular-play-icon"
|
|
99
101
|
|
|
100
102
|
function MediaPlayer() {
|
|
@@ -108,12 +110,12 @@ function MediaPlayer() {
|
|
|
108
110
|
</div>
|
|
109
111
|
</div>
|
|
110
112
|
<div className="!space-y-4">
|
|
111
|
-
<h3 className="text-xl font-semibold
|
|
113
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
112
114
|
Live Preview
|
|
113
115
|
</h3>
|
|
114
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
115
|
-
<button className="flex h-14 w-14 items-center justify-center rounded-full border
|
|
116
|
-
<CircularPlayIcon className="h-8 w-8
|
|
116
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
117
|
+
<button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 hover:bg-fm-secondary-500/30 flex h-14 w-14 items-center justify-center rounded-full border transition-colors">
|
|
118
|
+
<CircularPlayIcon className="text-fm-icon-active h-8 w-8" />
|
|
117
119
|
</button>
|
|
118
120
|
</div>
|
|
119
121
|
</div>
|
|
@@ -121,104 +123,115 @@ function MediaPlayer() {
|
|
|
121
123
|
</div>
|
|
122
124
|
|
|
123
125
|
<div className="!space-y-8">
|
|
124
|
-
<h2 className="text-center text-3xl font-bold
|
|
126
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
125
127
|
Props & Configuration
|
|
126
128
|
</h2>
|
|
127
|
-
<div className="overflow-hidden rounded-lg border
|
|
128
|
-
<div className="bg-
|
|
129
|
-
<h3 className="text-xl font-semibold
|
|
129
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
130
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
131
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
132
|
+
Props
|
|
133
|
+
</h3>
|
|
130
134
|
</div>
|
|
131
135
|
<table className="!my-0 w-full">
|
|
132
|
-
<thead className="bg-
|
|
133
|
-
<tr className="border-
|
|
134
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
136
|
+
<thead className="bg-fm-surface-secondary">
|
|
137
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
138
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
135
139
|
Prop
|
|
136
140
|
</th>
|
|
137
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
141
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
138
142
|
Type
|
|
139
143
|
</th>
|
|
140
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
144
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
141
145
|
Default
|
|
142
146
|
</th>
|
|
143
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
147
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
144
148
|
Description
|
|
145
149
|
</th>
|
|
146
150
|
</tr>
|
|
147
151
|
</thead>
|
|
148
152
|
<tbody>
|
|
149
|
-
<tr className="
|
|
150
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
153
|
+
<tr className="bg-fm-surface-secondary!">
|
|
154
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
151
155
|
withAccessibility
|
|
152
156
|
</td>
|
|
153
|
-
<td className="px-6 py-4 text-sm
|
|
157
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
154
158
|
boolean
|
|
155
159
|
</td>
|
|
156
|
-
<td className="px-6 py-4 text-sm
|
|
160
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
157
161
|
true
|
|
158
162
|
</td>
|
|
159
|
-
<td className="px-6 py-4 text-sm
|
|
163
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
160
164
|
Whether to wrap the icon with accessibility feature
|
|
161
165
|
</td>
|
|
162
166
|
</tr>
|
|
163
|
-
<tr className="border-
|
|
164
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
167
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
168
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
165
169
|
width
|
|
166
170
|
</td>
|
|
167
|
-
<td className="px-6 py-4 text-sm
|
|
171
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
168
172
|
number | string
|
|
169
173
|
</td>
|
|
170
|
-
<td className="px-6 py-4 text-sm
|
|
171
|
-
|
|
174
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
175
|
+
48
|
|
176
|
+
</td>
|
|
177
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
172
178
|
Width of the icon
|
|
173
179
|
</td>
|
|
174
180
|
</tr>
|
|
175
|
-
<tr className="border-
|
|
176
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
181
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
182
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
177
183
|
height
|
|
178
184
|
</td>
|
|
179
|
-
<td className="px-6 py-4 text-sm
|
|
185
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
180
186
|
number | string
|
|
181
187
|
</td>
|
|
182
|
-
<td className="px-6 py-4 text-sm
|
|
183
|
-
|
|
188
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
189
|
+
48
|
|
190
|
+
</td>
|
|
191
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
184
192
|
Height of the icon
|
|
185
193
|
</td>
|
|
186
194
|
</tr>
|
|
187
|
-
<tr className="border-
|
|
188
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
195
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
196
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
189
197
|
fill
|
|
190
198
|
</td>
|
|
191
|
-
<td className="px-6 py-4 text-sm
|
|
199
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
192
200
|
string
|
|
193
201
|
</td>
|
|
194
|
-
<td className="px-6 py-4 text-sm
|
|
202
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
195
203
|
white (in SVG)
|
|
196
204
|
</td>
|
|
197
|
-
<td className="px-6 py-4 text-sm
|
|
198
|
-
Fill color; override with className (e.g.
|
|
205
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
206
|
+
Fill color; override with className (e.g.
|
|
207
|
+
text-fm-icon-active)
|
|
199
208
|
</td>
|
|
200
209
|
</tr>
|
|
201
|
-
<tr className="border-
|
|
202
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
210
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
211
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
203
212
|
className
|
|
204
213
|
</td>
|
|
205
|
-
<td className="px-6 py-4 text-sm
|
|
214
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
206
215
|
string
|
|
207
216
|
</td>
|
|
208
|
-
<td className="px-6 py-4 text-sm
|
|
209
|
-
|
|
217
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
218
|
+
-
|
|
219
|
+
</td>
|
|
220
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
210
221
|
CSS classes for styling
|
|
211
222
|
</td>
|
|
212
223
|
</tr>
|
|
213
|
-
<tr className="
|
|
214
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
224
|
+
<tr className="bg-fm-surface-secondary!">
|
|
225
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
215
226
|
...svgProps
|
|
216
227
|
</td>
|
|
217
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
218
229
|
SVGProps
|
|
219
230
|
</td>
|
|
220
|
-
<td className="px-6 py-4 text-sm
|
|
221
|
-
|
|
231
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
232
|
+
-
|
|
233
|
+
</td>
|
|
234
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
222
235
|
All standard SVG element props
|
|
223
236
|
</td>
|
|
224
237
|
</tr>
|
|
@@ -228,66 +241,66 @@ function MediaPlayer() {
|
|
|
228
241
|
</div>
|
|
229
242
|
|
|
230
243
|
<div className="!space-y-8">
|
|
231
|
-
<h2 className="text-center text-3xl font-bold
|
|
244
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
232
245
|
Size Variations
|
|
233
246
|
</h2>
|
|
234
|
-
<div className="rounded-lg border
|
|
235
|
-
<div className="flex items-end justify-center gap-6 rounded-lg
|
|
247
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
248
|
+
<div className="bg-fm-surface-secondary flex items-end justify-center gap-6 rounded-lg p-6">
|
|
236
249
|
<div className="text-center">
|
|
237
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-6 w-6
|
|
238
|
-
<span className="text-
|
|
250
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-6 w-6" />
|
|
251
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
239
252
|
</div>
|
|
240
253
|
<div className="text-center">
|
|
241
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-8 w-8
|
|
242
|
-
<span className="text-
|
|
254
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-8 w-8" />
|
|
255
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
243
256
|
</div>
|
|
244
257
|
<div className="text-center">
|
|
245
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-10 w-10
|
|
246
|
-
<span className="text-
|
|
258
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-10 w-10" />
|
|
259
|
+
<span className="text-fm-tertiary text-xs">40px</span>
|
|
247
260
|
</div>
|
|
248
261
|
<div className="text-center">
|
|
249
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-12 w-12
|
|
250
|
-
<span className="text-
|
|
262
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-12 w-12" />
|
|
263
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
251
264
|
</div>
|
|
252
265
|
<div className="text-center">
|
|
253
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-16 w-16
|
|
254
|
-
<span className="text-
|
|
266
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-16 w-16" />
|
|
267
|
+
<span className="text-fm-tertiary text-xs">64px</span>
|
|
255
268
|
</div>
|
|
256
269
|
</div>
|
|
257
270
|
</div>
|
|
258
271
|
</div>
|
|
259
272
|
|
|
260
273
|
<div className="!space-y-8">
|
|
261
|
-
<h2 className="text-center text-3xl font-bold
|
|
274
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
262
275
|
Usage Examples
|
|
263
276
|
</h2>
|
|
264
277
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
265
278
|
<div className="!space-y-4">
|
|
266
|
-
<h3 className="text-lg font-semibold
|
|
279
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
267
280
|
Media player play button
|
|
268
281
|
</h3>
|
|
269
|
-
<div className="flex items-center gap-4 rounded-lg border
|
|
270
|
-
<button className="flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-full
|
|
271
|
-
<CircularPlayIcon className="h-7 w-7
|
|
282
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-4 rounded-lg border p-4">
|
|
283
|
+
<button className="bg-fm-secondary-500/20 hover:bg-fm-secondary-500/30 flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-full transition-colors">
|
|
284
|
+
<CircularPlayIcon className="text-fm-icon-active h-7 w-7" />
|
|
272
285
|
</button>
|
|
273
286
|
<div className="min-w-0 flex-1">
|
|
274
|
-
<div className="text-sm font-medium
|
|
287
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
275
288
|
Episode title
|
|
276
289
|
</div>
|
|
277
|
-
<div className="text-
|
|
290
|
+
<div className="text-fm-tertiary text-xs">
|
|
278
291
|
0:00 / 24:30
|
|
279
292
|
</div>
|
|
280
293
|
</div>
|
|
281
294
|
</div>
|
|
282
295
|
</div>
|
|
283
296
|
<div className="!space-y-4">
|
|
284
|
-
<h3 className="text-lg font-semibold
|
|
297
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
285
298
|
Video play overlay
|
|
286
299
|
</h3>
|
|
287
|
-
<div className="relative flex h-32 items-center justify-center overflow-hidden rounded-lg border
|
|
288
|
-
<div className="absolute inset-0 bg-
|
|
289
|
-
<button className="relative flex h-16 w-16 items-center justify-center rounded-full border
|
|
290
|
-
<CircularPlayIcon className="h-10 w-10
|
|
300
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative flex h-32 items-center justify-center overflow-hidden rounded-lg border">
|
|
301
|
+
<div className="from-fm-surface-primary/60 absolute inset-0 bg-linear-to-t to-transparent" />
|
|
302
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-divider-primary relative flex h-16 w-16 items-center justify-center rounded-full border backdrop-blur-sm transition-colors">
|
|
303
|
+
<CircularPlayIcon className="text-fm-icon-active h-10 w-10" />
|
|
291
304
|
</button>
|
|
292
305
|
</div>
|
|
293
306
|
</div>
|
|
@@ -295,11 +308,11 @@ function MediaPlayer() {
|
|
|
295
308
|
</div>
|
|
296
309
|
|
|
297
310
|
<div className="!space-y-8">
|
|
298
|
-
<h2 className="text-center text-3xl font-bold
|
|
311
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
299
312
|
Accessibility
|
|
300
313
|
</h2>
|
|
301
|
-
<div className="rounded-lg border
|
|
302
|
-
<ul className="!space-y-2 text-sm
|
|
314
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
315
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
303
316
|
<li>
|
|
304
317
|
Uses Radix UI AccessibleIcon with label "Circular
|
|
305
318
|
play icon"
|
|
@@ -317,14 +330,14 @@ function MediaPlayer() {
|
|
|
317
330
|
</div>
|
|
318
331
|
</div>
|
|
319
332
|
|
|
320
|
-
<div className="border-
|
|
333
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
321
334
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
322
335
|
<div className="!space-y-4 text-center">
|
|
323
|
-
<p className="
|
|
336
|
+
<p className="text-fm-tertiary!">
|
|
324
337
|
CircularPlayIcon is part of the Aural UI icon library for
|
|
325
338
|
media and playback UIs.
|
|
326
339
|
</p>
|
|
327
|
-
<p className="text-
|
|
340
|
+
<p className="text-fm-placeholder! text-sm">
|
|
328
341
|
Uses Radix UI AccessibleIcon for screen reader
|
|
329
342
|
compatibility.
|
|
330
343
|
</p>
|
|
@@ -368,8 +381,8 @@ const storyParameters = {
|
|
|
368
381
|
backgrounds: {
|
|
369
382
|
default: "dark",
|
|
370
383
|
values: [
|
|
371
|
-
{ name: "dark", value: "
|
|
372
|
-
{ name: "darker", value: "
|
|
384
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
385
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
373
386
|
],
|
|
374
387
|
},
|
|
375
388
|
}
|
|
@@ -378,12 +391,12 @@ export const Default: Story = {
|
|
|
378
391
|
args: {
|
|
379
392
|
width: 48,
|
|
380
393
|
height: 48,
|
|
381
|
-
className: "text-
|
|
394
|
+
className: "text-fm-icon-active",
|
|
382
395
|
withAccessibility: true,
|
|
383
396
|
},
|
|
384
397
|
parameters: storyParameters,
|
|
385
398
|
render: (args) => (
|
|
386
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
399
|
+
<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">
|
|
387
400
|
<CircularPlayIcon {...args} />
|
|
388
401
|
</div>
|
|
389
402
|
),
|
|
@@ -400,26 +413,26 @@ export const SizeVariations: Story = {
|
|
|
400
413
|
},
|
|
401
414
|
},
|
|
402
415
|
render: () => (
|
|
403
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
416
|
+
<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">
|
|
404
417
|
<div className="text-center">
|
|
405
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-6 w-6
|
|
406
|
-
<span className="text-
|
|
418
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-6 w-6" />
|
|
419
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
407
420
|
</div>
|
|
408
421
|
<div className="text-center">
|
|
409
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-8 w-8
|
|
410
|
-
<span className="text-
|
|
422
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-8 w-8" />
|
|
423
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
411
424
|
</div>
|
|
412
425
|
<div className="text-center">
|
|
413
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-10 w-10
|
|
414
|
-
<span className="text-
|
|
426
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-10 w-10" />
|
|
427
|
+
<span className="text-fm-tertiary text-xs">40px</span>
|
|
415
428
|
</div>
|
|
416
429
|
<div className="text-center">
|
|
417
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-12 w-12
|
|
418
|
-
<span className="text-
|
|
430
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-12 w-12" />
|
|
431
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
419
432
|
</div>
|
|
420
433
|
<div className="text-center">
|
|
421
|
-
<CircularPlayIcon className="!mx-auto mb-2 h-16 w-16
|
|
422
|
-
<span className="text-
|
|
434
|
+
<CircularPlayIcon className="text-fm-icon-active !mx-auto mb-2 h-16 w-16" />
|
|
435
|
+
<span className="text-fm-tertiary text-xs">64px</span>
|
|
423
436
|
</div>
|
|
424
437
|
</div>
|
|
425
438
|
),
|
|
@@ -436,30 +449,30 @@ export const ColorVariations: Story = {
|
|
|
436
449
|
},
|
|
437
450
|
},
|
|
438
451
|
render: () => (
|
|
439
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
452
|
+
<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">
|
|
440
453
|
<div className="text-center">
|
|
441
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
442
|
-
<CircularPlayIcon className="h-8 w-8
|
|
454
|
+
<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">
|
|
455
|
+
<CircularPlayIcon className="text-fm-icon-active h-8 w-8" />
|
|
443
456
|
</div>
|
|
444
|
-
<div className="text-sm font-medium
|
|
457
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
445
458
|
</div>
|
|
446
459
|
<div className="text-center">
|
|
447
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
448
|
-
<CircularPlayIcon className="h-8 w-8
|
|
460
|
+
<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">
|
|
461
|
+
<CircularPlayIcon className="text-fm-icon-active h-8 w-8" />
|
|
449
462
|
</div>
|
|
450
|
-
<div className="text-sm font-medium
|
|
463
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
451
464
|
</div>
|
|
452
465
|
<div className="text-center">
|
|
453
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
454
|
-
<CircularPlayIcon className="h-8 w-8
|
|
466
|
+
<div className="border-fm-divider-primary bg-fm-surface-tertiary/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
467
|
+
<CircularPlayIcon className="text-fm-secondary h-8 w-8" />
|
|
455
468
|
</div>
|
|
456
|
-
<div className="text-sm font-medium
|
|
469
|
+
<div className="text-fm-icon-active text-sm font-medium">Neutral</div>
|
|
457
470
|
</div>
|
|
458
471
|
<div className="text-center">
|
|
459
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
460
|
-
<CircularPlayIcon className="h-8 w-8
|
|
472
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
473
|
+
<CircularPlayIcon className="text-fm-icon-active/90 h-8 w-8" />
|
|
461
474
|
</div>
|
|
462
|
-
<div className="text-sm font-medium
|
|
475
|
+
<div className="text-fm-icon-active text-sm font-medium">Overlay</div>
|
|
463
476
|
</div>
|
|
464
477
|
</div>
|
|
465
478
|
),
|
|
@@ -475,25 +488,31 @@ export const UsageExamples: Story = {
|
|
|
475
488
|
},
|
|
476
489
|
},
|
|
477
490
|
render: () => (
|
|
478
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
491
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
479
492
|
<div className="!space-y-2">
|
|
480
|
-
<h3 className="text-sm font-medium
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
493
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
494
|
+
Media player
|
|
495
|
+
</h3>
|
|
496
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-4 rounded-lg border p-4">
|
|
497
|
+
<button className="bg-fm-secondary-500/20 hover:bg-fm-secondary-500/30 flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-full transition-colors">
|
|
498
|
+
<CircularPlayIcon className="text-fm-icon-active h-7 w-7" />
|
|
484
499
|
</button>
|
|
485
500
|
<div className="min-w-0 flex-1">
|
|
486
|
-
<div className="text-sm font-medium
|
|
487
|
-
|
|
501
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
502
|
+
Episode title
|
|
503
|
+
</div>
|
|
504
|
+
<div className="text-fm-tertiary text-xs">0:00 / 24:30</div>
|
|
488
505
|
</div>
|
|
489
506
|
</div>
|
|
490
507
|
</div>
|
|
491
508
|
<div className="!space-y-2">
|
|
492
|
-
<h3 className="text-sm font-medium
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
509
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
510
|
+
Video play overlay
|
|
511
|
+
</h3>
|
|
512
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative flex h-32 items-center justify-center overflow-hidden rounded-lg border">
|
|
513
|
+
<div className="from-fm-surface-primary/60 absolute inset-0 bg-linear-to-t to-transparent" />
|
|
514
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-divider-primary relative flex h-16 w-16 items-center justify-center rounded-full border backdrop-blur-sm transition-colors">
|
|
515
|
+
<CircularPlayIcon className="text-fm-icon-active h-10 w-10" />
|
|
497
516
|
</button>
|
|
498
517
|
</div>
|
|
499
518
|
</div>
|
|
@@ -513,11 +532,11 @@ export const Playground: Story = {
|
|
|
513
532
|
args: {
|
|
514
533
|
width: 48,
|
|
515
534
|
height: 48,
|
|
516
|
-
className: "text-
|
|
535
|
+
className: "text-fm-icon-active",
|
|
517
536
|
},
|
|
518
537
|
render: (args) => (
|
|
519
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
520
|
-
<div className="rounded-lg border
|
|
538
|
+
<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">
|
|
539
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
521
540
|
<CircularPlayIcon {...args} />
|
|
522
541
|
</div>
|
|
523
542
|
</div>
|