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.
Files changed (169) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
  2. package/dist/components/avatar/Avatar.stories.tsx +84 -70
  3. package/dist/components/button/Button.stories.tsx +7 -7
  4. package/dist/components/button/index.tsx +7 -7
  5. package/dist/components/card/Card.stories.tsx +3 -3
  6. package/dist/components/char-count/CharCount.stories.tsx +9 -9
  7. package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
  8. package/dist/components/clamp-lines/ClampLines.stories.tsx +25 -0
  9. package/dist/components/clamp-lines/index.tsx +6 -1
  10. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  11. package/dist/components/command/Command.stories.tsx +52 -38
  12. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  13. package/dist/components/divider/Divider.stories.tsx +86 -60
  14. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  15. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  16. package/dist/components/drawer/index.tsx +3 -3
  17. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  18. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  19. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  20. package/dist/components/input/Input.stories.tsx +2 -2
  21. package/dist/components/input/index.tsx +2 -0
  22. package/dist/components/label/Label.stories.tsx +10 -10
  23. package/dist/components/list/List.stories.tsx +58 -44
  24. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  25. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  26. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  27. package/dist/components/overlay/index.tsx +4 -4
  28. package/dist/components/popover/Popover.stories.tsx +132 -106
  29. package/dist/components/radio/Radio.stories.tsx +2 -2
  30. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  31. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  32. package/dist/components/search/Search.stories.tsx +81 -59
  33. package/dist/components/select/Select.stories.tsx +3 -1
  34. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  35. package/dist/components/slider/Slider.stories.tsx +71 -47
  36. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  37. package/dist/components/switch/Switch.stories.tsx +12 -12
  38. package/dist/components/table/Table.stories.tsx +8 -6
  39. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  40. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  41. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  42. package/dist/components/toast/Toast.stories.tsx +51 -45
  43. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  44. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  45. package/dist/icons/Icons.stories.tsx +2 -2
  46. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  47. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  48. package/dist/icons/all-icons.tsx +97 -81
  49. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  50. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  51. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  52. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  53. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  54. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  55. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  56. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  57. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  58. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  59. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  60. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  61. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  62. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  63. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  64. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  65. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  66. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  67. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  68. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  69. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  70. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  71. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  72. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  73. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  74. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  75. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  76. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  77. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  78. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  79. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  80. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  81. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  82. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  83. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  84. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  85. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  86. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  87. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  88. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  89. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  90. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  91. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  92. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  93. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  94. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  95. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  96. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  97. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  98. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  99. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  100. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  101. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  102. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  103. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  104. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  105. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  106. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  107. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  108. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  109. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  110. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  111. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  112. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  113. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  114. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  115. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  116. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  117. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  118. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  119. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  120. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  121. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  122. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  123. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  124. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  125. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  126. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  127. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  128. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  129. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  130. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  131. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  132. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  133. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  134. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  135. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  136. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  137. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  138. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  139. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  140. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  141. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  142. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  143. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  144. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  145. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  146. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  147. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  148. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  149. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  150. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  151. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  152. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  153. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  154. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  155. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  156. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  157. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  158. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  159. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  160. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  161. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  162. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  163. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  164. package/dist/index.cjs +84 -84
  165. package/dist/index.js +84 -84
  166. package/dist/styles/aural-all-theme.css +1222 -0
  167. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  168. package/dist/styles/aural-light-theme.css +1047 -0
  169. 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: "#0a0a0a" },
15
- { name: "darker", value: "#000000" },
16
- { name: "light", value: "#ffffff" },
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: #0a0a0a !important; }
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: white !important; }
30
- .sbdocs-p, .sbdocs-li { color: rgba(255, 255, 255, 0.7) !important; }
31
- .sbdocs-code { background: rgba(255, 255, 255, 0.1) !important; color: rgba(168, 85, 247, 1) !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; }
32
- .sbdocs-pre { background: rgba(0, 0, 0, 0.4) !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; }
33
- .sbdocs-table { background: rgba(255, 255, 255, 0.05) !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; }
34
- .sbdocs-table th { background: rgba(255, 255, 255, 0.05) !important; color: white !important; border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; }
35
- .sbdocs-table td { color: rgba(255, 255, 255, 0.7) !important; border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important; }
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="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900/20 to-gray-900">
40
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
41
- <div className="absolute inset-0 bg-gradient-to-r from-purple-500/10 via-transparent to-pink-500/10" />
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 border-purple-500/30 bg-gradient-to-br from-purple-500/20 to-pink-500/20">
45
- <CircularPlayIcon className="h-12 w-12 text-white" />
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 !text-white/70">
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 text-purple-300">
58
+ <div className="text-fm-secondary-600 text-3xl font-bold">
59
59
  Play
60
60
  </div>
61
- <div className="text-sm text-white/60">Media & audio</div>
61
+ <div className="text-fm-tertiary text-sm">
62
+ Media & audio
63
+ </div>
62
64
  </div>
63
- <div className="h-8 w-px bg-white/20" />
65
+ <div className="bg-fm-divider-primary h-8 w-px" />
64
66
  <div className="text-center">
65
- <div className="text-3xl font-bold text-pink-300">
67
+ <div className="text-fm-secondary-600 text-3xl font-bold">
66
68
  Accessible
67
69
  </div>
68
- <div className="text-sm text-white/60">
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 bg-white/20" />
74
+ <div className="bg-fm-divider-primary h-8 w-px" />
73
75
  <div className="text-center">
74
- <div className="text-3xl font-bold text-indigo-300">
76
+ <div className="text-fm-icon-info text-3xl font-bold">
75
77
  Flexible
76
78
  </div>
77
- <div className="text-sm text-white/60">
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 !text-white">
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 !text-purple-300">
95
+ <h3 className="text-fm-secondary-600! text-xl font-semibold">
94
96
  Basic Usage
95
97
  </h3>
96
- <div className="rounded-lg bg-black/40 p-4">
97
- <pre className="overflow-x-auto text-sm !text-green-300">
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 !text-purple-300">
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 border-white/10 bg-white/5">
115
- <button className="flex h-14 w-14 items-center justify-center rounded-full border border-purple-500/30 bg-purple-500/20 transition-colors hover:bg-purple-500/30">
116
- <CircularPlayIcon className="h-8 w-8 text-white" />
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 !text-white">
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 border-white/10 bg-white/5">
128
- <div className="bg-white/5 p-4">
129
- <h3 className="text-xl font-semibold !text-white">Props</h3>
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-white/5">
133
- <tr className="border-b border-white/10">
134
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
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 !text-white">
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 !text-white">
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 !text-white">
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="!bg-black/10">
150
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
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 !text-white/70">
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 !text-white/50">
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 !text-white/70">
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-b border-white/5 !bg-black/10">
164
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
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 !text-white/70">
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 !text-white/50">48</td>
171
- <td className="px-6 py-4 text-sm !text-white/70">
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-b border-white/5 !bg-black/10">
176
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
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 !text-white/70">
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 !text-white/50">48</td>
183
- <td className="px-6 py-4 text-sm !text-white/70">
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-b border-white/5">
188
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
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 !text-white/70">
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 !text-white/50">
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 !text-white/70">
198
- Fill color; override with className (e.g. text-white)
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-b border-white/5 !bg-black/10">
202
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
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 !text-white/70">
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 !text-white/50">-</td>
209
- <td className="px-6 py-4 text-sm !text-white/70">
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="!bg-black/10">
214
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
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 !text-white/70">
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 !text-white/50">-</td>
221
- <td className="px-6 py-4 text-sm !text-white/70">
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 !text-white">
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 border-white/10 bg-white/5 p-8">
235
- <div className="flex items-end justify-center gap-6 rounded-lg bg-black/20 p-6">
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 text-white" />
238
- <span className="text-xs text-white/60">24px</span>
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 text-white" />
242
- <span className="text-xs text-white/60">32px</span>
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 text-white" />
246
- <span className="text-xs text-white/60">40px</span>
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 text-white" />
250
- <span className="text-xs text-white/60">48px</span>
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 text-white" />
254
- <span className="text-xs text-white/60">64px</span>
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 !text-white">
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 !text-purple-300">
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 border-white/10 bg-white/5 p-4">
270
- <button className="flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-full bg-purple-500/20 transition-colors hover:bg-purple-500/30">
271
- <CircularPlayIcon className="h-7 w-7 text-white" />
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 text-white">
287
+ <div className="text-fm-icon-active text-sm font-medium">
275
288
  Episode title
276
289
  </div>
277
- <div className="text-xs text-white/60">
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 !text-purple-300">
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 border-white/10 bg-black/40">
288
- <div className="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" />
289
- <button className="relative flex h-16 w-16 items-center justify-center rounded-full border border-white/30 bg-white/10 backdrop-blur-sm transition-colors hover:bg-white/20">
290
- <CircularPlayIcon className="h-10 w-10 text-white" />
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 !text-white">
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 border-white/10 bg-white/5 p-6">
302
- <ul className="!space-y-2 text-sm !text-white/70">
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 &quot;Circular
305
318
  play icon&quot;
@@ -317,14 +330,14 @@ function MediaPlayer() {
317
330
  </div>
318
331
  </div>
319
332
 
320
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
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="!text-white/60">
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-sm !text-white/40">
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: "#0a0a0a" },
372
- { name: "darker", value: "#000000" },
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-white",
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-gradient-to-br from-gray-900 to-gray-800">
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-gradient-to-br from-gray-900 to-gray-800 p-8">
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 text-white" />
406
- <span className="text-xs text-white/60">24px</span>
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 text-white" />
410
- <span className="text-xs text-white/60">32px</span>
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 text-white" />
414
- <span className="text-xs text-white/60">40px</span>
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 text-white" />
418
- <span className="text-xs text-white/60">48px</span>
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 text-white" />
422
- <span className="text-xs text-white/60">64px</span>
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-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-4">
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 border-purple-500/30 bg-purple-500/20">
442
- <CircularPlayIcon className="h-8 w-8 text-white" />
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 text-white">Primary</div>
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 border-pink-500/30 bg-pink-500/20">
448
- <CircularPlayIcon className="h-8 w-8 text-white" />
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 text-white">Accent</div>
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 border-gray-500/30 bg-gray-500/20">
454
- <CircularPlayIcon className="h-8 w-8 text-gray-200" />
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 text-white">Neutral</div>
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 border-white/20 bg-white/10">
460
- <CircularPlayIcon className="h-8 w-8 text-white/90" />
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 text-white">Overlay</div>
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-gradient-to-br from-gray-900 to-gray-800 p-8">
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 text-white">Media player</h3>
481
- <div className="flex items-center gap-4 rounded-lg border border-white/10 bg-white/5 p-4">
482
- <button className="flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-full bg-purple-500/20 transition-colors hover:bg-purple-500/30">
483
- <CircularPlayIcon className="h-7 w-7 text-white" />
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 text-white">Episode title</div>
487
- <div className="text-xs text-white/60">0:00 / 24:30</div>
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 text-white">Video play overlay</h3>
493
- <div className="relative flex h-32 items-center justify-center overflow-hidden rounded-lg border border-white/10 bg-black/40">
494
- <div className="absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" />
495
- <button className="relative flex h-16 w-16 items-center justify-center rounded-full border border-white/30 bg-white/10 backdrop-blur-sm transition-colors hover:bg-white/20">
496
- <CircularPlayIcon className="h-10 w-10 text-white" />
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-white",
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-gradient-to-br from-gray-900 to-gray-800">
520
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
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>