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.
Files changed (166) 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/collapsible/Collapsible.stories.tsx +1 -1
  9. package/dist/components/command/Command.stories.tsx +52 -38
  10. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  11. package/dist/components/divider/Divider.stories.tsx +86 -60
  12. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  13. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  14. package/dist/components/drawer/index.tsx +3 -3
  15. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  16. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  17. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  18. package/dist/components/input/Input.stories.tsx +2 -2
  19. package/dist/components/label/Label.stories.tsx +10 -10
  20. package/dist/components/list/List.stories.tsx +58 -44
  21. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  22. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  23. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  24. package/dist/components/overlay/index.tsx +4 -4
  25. package/dist/components/popover/Popover.stories.tsx +132 -106
  26. package/dist/components/radio/Radio.stories.tsx +2 -2
  27. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  28. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  29. package/dist/components/search/Search.stories.tsx +81 -59
  30. package/dist/components/select/Select.stories.tsx +3 -1
  31. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  32. package/dist/components/slider/Slider.stories.tsx +71 -47
  33. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  34. package/dist/components/switch/Switch.stories.tsx +12 -12
  35. package/dist/components/table/Table.stories.tsx +8 -6
  36. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  37. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  38. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  39. package/dist/components/toast/Toast.stories.tsx +51 -45
  40. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  41. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  42. package/dist/icons/Icons.stories.tsx +2 -2
  43. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  44. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  45. package/dist/icons/all-icons.tsx +97 -81
  46. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  47. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  48. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  49. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  50. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  51. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  52. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  53. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  54. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  55. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  56. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  57. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  58. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  59. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  60. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  61. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  62. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  63. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  64. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  65. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  66. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  67. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  68. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  69. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  70. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  71. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  72. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  73. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  74. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  75. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  76. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  77. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  78. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  79. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  80. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  81. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  82. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  83. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  84. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  85. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  86. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  87. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  88. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  89. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  90. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  91. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  92. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  93. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  94. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  95. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  96. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  97. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  98. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  99. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  100. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  101. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  102. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  103. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  104. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  105. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  106. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  107. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  108. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  109. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  110. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  111. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  112. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  113. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  114. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  115. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  116. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  117. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  118. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  119. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  120. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  121. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  122. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  123. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  124. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  125. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  126. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  127. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  128. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  129. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  130. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  131. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  132. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  133. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  134. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  135. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  136. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  137. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  138. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  139. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  140. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  141. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  142. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  143. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  144. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  145. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  146. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  147. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  148. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  149. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  150. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  151. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  152. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  153. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  154. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  155. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  156. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  157. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  158. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  159. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  160. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  161. package/dist/index.cjs +84 -84
  162. package/dist/index.js +84 -84
  163. package/dist/styles/aural-all-theme.css +1222 -0
  164. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  165. package/dist/styles/aural-light-theme.css +1047 -0
  166. 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>