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 PauseIcon> = {
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: {
@@ -40,57 +40,59 @@ const meta: Meta<typeof PauseIcon> = {
40
40
  background: transparent ;
41
41
  }
42
42
  body {
43
- background: #0a0a0a ;
43
+ background: var(--color-fm-surface-primary) ;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a ;
46
+ background: var(--color-fm-surface-primary) ;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent ;
50
50
  border: none ;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white ;
53
+ color: var(--color-fm-icon-active) ;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) ;
56
+ color: var(--color-fm-secondary) ;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) ;
60
- color: rgba(168, 85, 247, 1) ;
61
- border: 1px solid rgba(255, 255, 255, 0.1) ;
59
+ background: var(--color-fm-surface-secondary) ;
60
+ color: var(--color-fm-secondary-500) ;
61
+ border: 1px solid var(--color-fm-divider-secondary) ;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) ;
65
- border: 1px solid rgba(255, 255, 255, 0.1) ;
64
+ background: var(--color-fm-surface-secondary) ;
65
+ border: 1px solid var(--color-fm-divider-secondary) ;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) ;
69
- border: 1px solid rgba(255, 255, 255, 0.1) ;
68
+ background: var(--color-fm-surface-secondary) ;
69
+ border: 1px solid var(--color-fm-divider-secondary) ;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) ;
73
- color: white ;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
72
+ background: var(--color-fm-surface-secondary) ;
73
+ color: var(--color-fm-icon-active) ;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) ;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) ;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
77
+ color: var(--color-fm-secondary) ;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
79
79
  }
80
80
  `}
81
81
  </style>
82
82
 
83
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-red-900/20 to-gray-900">
83
+ <div className="from-fm-surface-primary via-fm-icon-negative/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
84
84
  {/* Header */}
85
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
86
- <div className="absolute inset-0 bg-gradient-to-r from-red-500/10 via-transparent to-rose-500/10" />
85
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
86
+ <div className="from-fm-icon-negative/10 to-fm-icon-negative/10 absolute inset-0 bg-linear-to-r via-transparent" />
87
87
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
88
88
  <div className="!space-y-6 text-center">
89
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-red-500/30 bg-gradient-to-br from-red-500/20 to-rose-500/20">
90
- <PauseIcon className="h-12 w-12 text-red-400" />
89
+ <div className="border-fm-icon-negative/30 from-fm-icon-negative/20 to-fm-icon-negative/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
+ <PauseIcon className="text-fm-icon-negative h-12 w-12" />
91
91
  </div>
92
- <h1 className="text-5xl font-bold !text-white">PauseIcon</h1>
93
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
92
+ <h1 className="text-fm-icon-active! text-5xl font-bold">
93
+ PauseIcon
94
+ </h1>
95
+ <p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
94
96
  A universal pause control icon for media interfaces.
95
97
  Features the classic two-bar pause design, essential for
96
98
  music players, video platforms, podcast apps, and any media
@@ -100,26 +102,28 @@ const meta: Meta<typeof PauseIcon> = {
100
102
  {/* Stats */}
101
103
  <div className="flex items-center justify-center gap-8 pt-8">
102
104
  <div className="text-center">
103
- <div className="text-3xl font-bold text-red-300">
105
+ <div className="text-fm-icon-negative text-3xl font-bold">
104
106
  Pause Control
105
107
  </div>
106
- <div className="text-sm text-white/60">Stop playback</div>
108
+ <div className="text-fm-tertiary text-sm">
109
+ Stop playback
110
+ </div>
107
111
  </div>
108
- <div className="h-8 w-px bg-white/20" />
112
+ <div className="bg-fm-divider-primary h-8 w-px" />
109
113
  <div className="text-center">
110
- <div className="text-3xl font-bold text-rose-300">
114
+ <div className="text-fm-icon-negative text-3xl font-bold">
111
115
  Accessible
112
116
  </div>
113
- <div className="text-sm text-white/60">
117
+ <div className="text-fm-tertiary text-sm">
114
118
  Screen reader friendly
115
119
  </div>
116
120
  </div>
117
- <div className="h-8 w-px bg-white/20" />
121
+ <div className="bg-fm-divider-primary h-8 w-px" />
118
122
  <div className="text-center">
119
- <div className="text-3xl font-bold text-pink-300">
123
+ <div className="text-fm-secondary-600 text-3xl font-bold">
120
124
  Universal
121
125
  </div>
122
- <div className="text-sm text-white/60">
126
+ <div className="text-fm-tertiary text-sm">
123
127
  Standard media control
124
128
  </div>
125
129
  </div>
@@ -132,16 +136,16 @@ const meta: Meta<typeof PauseIcon> = {
132
136
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
133
137
  {/* Quick Usage */}
134
138
  <div className="!space-y-8">
135
- <h2 className="text-center text-3xl font-bold !text-white">
139
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
136
140
  Quick Start
137
141
  </h2>
138
142
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
139
143
  <div className="!space-y-4">
140
- <h3 className="text-xl font-semibold !text-red-300">
144
+ <h3 className="text-fm-icon-negative! text-xl font-semibold">
141
145
  Basic Usage
142
146
  </h3>
143
- <div className="rounded-lg bg-black/40 p-4">
144
- <pre className="overflow-x-auto text-sm !text-green-300">
147
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
148
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
145
149
  {`import { PauseIcon } from "@icons/pause-icon"
146
150
 
147
151
  function MediaPlayer() {
@@ -159,12 +163,12 @@ function MediaPlayer() {
159
163
  </div>
160
164
 
161
165
  <div className="!space-y-4">
162
- <h3 className="text-xl font-semibold !text-red-300">
166
+ <h3 className="text-fm-icon-negative! text-xl font-semibold">
163
167
  Live Preview
164
168
  </h3>
165
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
166
- <button className="rounded-lg border border-red-500/20 bg-red-500/10 p-3 transition-colors hover:bg-red-500/20">
167
- <PauseIcon className="h-6 w-6 text-red-400" />
169
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
170
+ <button className="border-fm-icon-negative/20 bg-fm-icon-negative/10 hover:bg-fm-icon-negative/20 rounded-lg border p-3 transition-colors">
171
+ <PauseIcon className="text-fm-icon-negative h-6 w-6" />
168
172
  </button>
169
173
  </div>
170
174
  </div>
@@ -173,108 +177,116 @@ function MediaPlayer() {
173
177
 
174
178
  {/* Props Documentation */}
175
179
  <div className="!space-y-8">
176
- <h2 className="text-center text-3xl font-bold !text-white">
180
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
177
181
  Props & Configuration
178
182
  </h2>
179
183
 
180
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
181
- <div className="bg-white/5 p-4">
182
- <h3 className="text-xl font-semibold !text-white">Props</h3>
184
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
185
+ <div className="bg-fm-surface-secondary p-4">
186
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
187
+ Props
188
+ </h3>
183
189
  </div>
184
190
  <table className="!my-0 w-full">
185
- <thead className="bg-white/5">
186
- <tr className="border-b border-white/10">
187
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
191
+ <thead className="bg-fm-surface-secondary">
192
+ <tr className="border-fm-divider-secondary border-b">
193
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
188
194
  Prop
189
195
  </th>
190
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
196
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
191
197
  Type
192
198
  </th>
193
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
199
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
194
200
  Default
195
201
  </th>
196
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
202
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
197
203
  Description
198
204
  </th>
199
205
  </tr>
200
206
  </thead>
201
207
  <tbody>
202
208
  {" "}
203
- <tr className="!bg-black/10">
204
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
209
+ <tr className="bg-fm-surface-secondary!">
210
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
205
211
  withAccessibility
206
212
  </td>
207
- <td className="px-6 py-4 text-sm !text-white/70">
213
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
208
214
  boolean
209
215
  </td>
210
- <td className="px-6 py-4 text-sm !text-white/50">
216
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
211
217
  true
212
218
  </td>
213
- <td className="px-6 py-4 text-sm !text-white/70">
219
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
214
220
  Whether to wrap the icon with accessibility feature
215
221
  </td>
216
222
  </tr>
217
- <tr className="border-b border-white/5 !bg-black/10">
218
- <td className="px-6 py-4 font-mono text-sm !text-red-300">
223
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
224
+ <td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
219
225
  height
220
226
  </td>
221
- <td className="px-6 py-4 text-sm !text-white/70">
227
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
222
228
  number | string
223
229
  </td>
224
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
225
- <td className="px-6 py-4 text-sm !text-white/70">
230
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
231
+ 24
232
+ </td>
233
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
226
234
  Height of the icon in pixels
227
235
  </td>
228
236
  </tr>
229
- <tr className="border-b border-white/5">
230
- <td className="px-6 py-4 font-mono text-sm !text-red-300">
237
+ <tr className="border-fm-divider-tertiary border-b">
238
+ <td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
231
239
  stroke
232
240
  </td>
233
- <td className="px-6 py-4 text-sm !text-white/70">
241
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
234
242
  string
235
243
  </td>
236
- <td className="px-6 py-4 text-sm !text-white/50">
244
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
237
245
  currentColor
238
246
  </td>
239
- <td className="px-6 py-4 text-sm !text-white/70">
247
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
240
248
  Stroke color of the icon
241
249
  </td>
242
250
  </tr>
243
- <tr className="border-b border-white/5 !bg-black/10">
244
- <td className="px-6 py-4 font-mono text-sm !text-red-300">
251
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
252
+ <td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
245
253
  strokeWidth
246
254
  </td>
247
- <td className="px-6 py-4 text-sm !text-white/70">
255
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
248
256
  string | number
249
257
  </td>
250
- <td className="px-6 py-4 text-sm !text-white/50">
258
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
251
259
  1.5
252
260
  </td>
253
- <td className="px-6 py-4 text-sm !text-white/70">
261
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
254
262
  Width of the stroke
255
263
  </td>
256
264
  </tr>
257
- <tr className="border-b border-white/5">
258
- <td className="px-6 py-4 font-mono text-sm !text-red-300">
265
+ <tr className="border-fm-divider-tertiary border-b">
266
+ <td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
259
267
  className
260
268
  </td>
261
- <td className="px-6 py-4 text-sm !text-white/70">
269
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
262
270
  string
263
271
  </td>
264
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
265
- <td className="px-6 py-4 text-sm !text-white/70">
272
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
273
+ -
274
+ </td>
275
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
266
276
  CSS classes for styling (use for overrides)
267
277
  </td>
268
278
  </tr>
269
- <tr className="!bg-black/10">
270
- <td className="px-6 py-4 font-mono text-sm !text-red-300">
279
+ <tr className="bg-fm-surface-secondary!">
280
+ <td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
271
281
  ...svgProps
272
282
  </td>
273
- <td className="px-6 py-4 text-sm !text-white/70">
283
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
274
284
  SVGProps
275
285
  </td>
276
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
277
- <td className="px-6 py-4 text-sm !text-white/70">
286
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
287
+ -
288
+ </td>
289
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
278
290
  All standard SVG element props
279
291
  </td>
280
292
  </tr>
@@ -285,50 +297,62 @@ function MediaPlayer() {
285
297
 
286
298
  {/* Size Variations */}
287
299
  <div className="!space-y-8">
288
- <h2 className="text-center text-3xl font-bold !text-white">
300
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
289
301
  Size Variations
290
302
  </h2>
291
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
303
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
292
304
  <div className="!space-y-6">
293
305
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
294
306
  <div className="!space-y-4">
295
- <h3 className="text-lg font-semibold !text-red-300">
307
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
296
308
  Standard Sizes
297
309
  </h3>
298
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
310
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
299
311
  <div className="text-center">
300
- <PauseIcon className="!mx-auto mb-2 h-3 w-3 text-red-400" />
301
- <span className="text-xs text-white/60">12px</span>
312
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-3 w-3" />
313
+ <span className="text-fm-tertiary text-xs">
314
+ 12px
315
+ </span>
302
316
  </div>
303
317
  <div className="text-center">
304
- <PauseIcon className="!mx-auto mb-2 h-4 w-4 text-red-400" />
305
- <span className="text-xs text-white/60">16px</span>
318
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-4 w-4" />
319
+ <span className="text-fm-tertiary text-xs">
320
+ 16px
321
+ </span>
306
322
  </div>
307
323
  <div className="text-center">
308
- <PauseIcon className="!mx-auto mb-2 h-5 w-5 text-red-400" />
309
- <span className="text-xs text-white/60">20px</span>
324
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-5 w-5" />
325
+ <span className="text-fm-tertiary text-xs">
326
+ 20px
327
+ </span>
310
328
  </div>
311
329
  <div className="text-center">
312
- <PauseIcon className="!mx-auto mb-2 h-6 w-6 text-red-400" />
313
- <span className="text-xs text-white/60">24px</span>
330
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-6 w-6" />
331
+ <span className="text-fm-tertiary text-xs">
332
+ 24px
333
+ </span>
314
334
  </div>
315
335
  <div className="text-center">
316
- <PauseIcon className="!mx-auto mb-2 h-8 w-8 text-red-400" />
317
- <span className="text-xs text-white/60">32px</span>
336
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-8 w-8" />
337
+ <span className="text-fm-tertiary text-xs">
338
+ 32px
339
+ </span>
318
340
  </div>
319
341
  <div className="text-center">
320
- <PauseIcon className="!mx-auto mb-2 h-12 w-12 text-red-400" />
321
- <span className="text-xs text-white/60">48px</span>
342
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-12 w-12" />
343
+ <span className="text-fm-tertiary text-xs">
344
+ 48px
345
+ </span>
322
346
  </div>
323
347
  </div>
324
348
  </div>
325
349
 
326
350
  <div className="!space-y-4">
327
- <h3 className="text-lg font-semibold !text-red-300">
351
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
328
352
  Code Example
329
353
  </h3>
330
- <div className="rounded-lg bg-black/40 p-4">
331
- <pre className="overflow-x-auto text-sm !text-cyan-300">
354
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
355
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
332
356
  {`// Small (16px)
333
357
  <PauseIcon className="h-4 w-4" />
334
358
 
@@ -350,56 +374,56 @@ function MediaPlayer() {
350
374
 
351
375
  {/* Color Variations */}
352
376
  <div className="!space-y-8">
353
- <h2 className="text-center text-3xl font-bold !text-white">
377
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
354
378
  Color Variations
355
379
  </h2>
356
380
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
357
381
  <div className="!space-y-4">
358
- <h3 className="text-lg font-semibold !text-red-300">
382
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
359
383
  Semantic Colors
360
384
  </h3>
361
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
385
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
362
386
  <div className="flex items-center gap-4">
363
- <PauseIcon className="h-6 w-6 text-red-400" />
387
+ <PauseIcon className="text-fm-icon-negative h-6 w-6" />
364
388
  <div>
365
- <div className="text-sm font-medium text-white">
389
+ <div className="text-fm-icon-active text-sm font-medium">
366
390
  Primary
367
391
  </div>
368
- <div className="text-xs text-white/60">
369
- text-red-400
392
+ <div className="text-fm-tertiary text-xs">
393
+ text-fm-icon-negative
370
394
  </div>
371
395
  </div>
372
396
  </div>
373
397
  <div className="flex items-center gap-4">
374
- <PauseIcon className="h-6 w-6 text-rose-400" />
398
+ <PauseIcon className="text-fm-icon-negative h-6 w-6" />
375
399
  <div>
376
- <div className="text-sm font-medium text-white">
400
+ <div className="text-fm-icon-active text-sm font-medium">
377
401
  Secondary
378
402
  </div>
379
- <div className="text-xs text-white/60">
380
- text-rose-400
403
+ <div className="text-fm-tertiary text-xs">
404
+ text-fm-icon-negative
381
405
  </div>
382
406
  </div>
383
407
  </div>
384
408
  <div className="flex items-center gap-4">
385
- <PauseIcon className="h-6 w-6 text-pink-400" />
409
+ <PauseIcon className="text-fm-secondary-600 h-6 w-6" />
386
410
  <div>
387
- <div className="text-sm font-medium text-white">
411
+ <div className="text-fm-icon-active text-sm font-medium">
388
412
  Accent
389
413
  </div>
390
- <div className="text-xs text-white/60">
391
- text-pink-400
414
+ <div className="text-fm-tertiary text-xs">
415
+ text-fm-secondary-600
392
416
  </div>
393
417
  </div>
394
418
  </div>
395
419
  <div className="flex items-center gap-4">
396
- <PauseIcon className="h-6 w-6 text-white/40" />
420
+ <PauseIcon className="text-fm-placeholder h-6 w-6" />
397
421
  <div>
398
- <div className="text-sm font-medium text-white">
422
+ <div className="text-fm-icon-active text-sm font-medium">
399
423
  Disabled
400
424
  </div>
401
- <div className="text-xs text-white/60">
402
- text-white/40
425
+ <div className="text-fm-tertiary text-xs">
426
+ text-fm-placeholder
403
427
  </div>
404
428
  </div>
405
429
  </div>
@@ -407,11 +431,11 @@ function MediaPlayer() {
407
431
  </div>
408
432
 
409
433
  <div className="!space-y-4">
410
- <h3 className="text-lg font-semibold !text-red-300">
434
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
411
435
  Custom Colors
412
436
  </h3>
413
- <div className="rounded-lg bg-black/40 p-4">
414
- <pre className="overflow-x-auto text-sm !text-green-300">
437
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
438
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
415
439
  {`// Using Tailwind classes
416
440
  <PauseIcon className="h-6 w-6 text-red-400" />
417
441
  <PauseIcon className="h-6 w-6 text-rose-500" />
@@ -436,43 +460,43 @@ function MediaPlayer() {
436
460
 
437
461
  {/* Usage Examples */}
438
462
  <div className="!space-y-8">
439
- <h2 className="text-center text-3xl font-bold !text-white">
463
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
440
464
  Usage Examples
441
465
  </h2>
442
466
 
443
467
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
444
468
  {/* Music Player */}
445
469
  <div className="!space-y-4">
446
- <h3 className="text-lg font-semibold !text-red-300">
470
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
447
471
  Music Player
448
472
  </h3>
449
473
  <div className="!space-y-4">
450
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
474
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
451
475
  <div className="mb-4 flex items-center gap-3">
452
- <div className="h-12 w-12 rounded-lg bg-gradient-to-br from-red-500/20 to-rose-500/20" />
476
+ <div className="from-fm-icon-negative/20 to-fm-icon-negative/20 h-12 w-12 rounded-lg bg-linear-to-br" />
453
477
  <div>
454
- <div className="text-sm font-medium !text-white">
478
+ <div className="text-fm-icon-active! text-sm font-medium">
455
479
  Current Song
456
480
  </div>
457
- <div className="text-xs !text-white/60">
481
+ <div className="text-fm-tertiary! text-xs">
458
482
  Artist Name
459
483
  </div>
460
484
  </div>
461
485
  </div>
462
486
  <div className="flex items-center justify-center gap-4">
463
- <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
464
- <div className="h-6 w-6 rounded-full border border-white/60 bg-white/20" />
487
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
488
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
465
489
  </button>
466
- <button className="rounded-lg p-3 transition-colors hover:bg-white/10">
467
- <PauseIcon className="h-8 w-8 text-red-400" />
490
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-3 transition-colors">
491
+ <PauseIcon className="text-fm-icon-negative h-8 w-8" />
468
492
  </button>
469
- <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
470
- <div className="h-6 w-6 rounded-full border border-white/60 bg-white/20" />
493
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
494
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
471
495
  </button>
472
496
  </div>
473
497
  </div>
474
- <div className="rounded-lg bg-black/40 p-4">
475
- <pre className="overflow-x-auto text-sm !text-green-300">
498
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
499
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
476
500
  {`// Music player controls
477
501
  <div className="flex items-center justify-center gap-4">
478
502
  <button onClick={previousTrack}>
@@ -492,33 +516,33 @@ function MediaPlayer() {
492
516
 
493
517
  {/* Video Player */}
494
518
  <div className="!space-y-4">
495
- <h3 className="text-lg font-semibold !text-red-300">
519
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
496
520
  Video Player
497
521
  </h3>
498
522
  <div className="!space-y-4">
499
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
500
- <div className="mb-4 h-32 rounded bg-gradient-to-r from-red-500/20 to-rose-500/20" />
523
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
524
+ <div className="from-fm-icon-negative/20 to-fm-icon-negative/20 mb-4 h-32 rounded bg-linear-to-r" />
501
525
  <div className="flex items-center justify-between">
502
526
  <div className="flex items-center gap-2">
503
- <button className="rounded-lg p-2 hover:bg-white/10">
504
- <PauseIcon className="h-6 w-6 text-red-400" />
527
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2">
528
+ <PauseIcon className="text-fm-icon-negative h-6 w-6" />
505
529
  </button>
506
- <span className="text-sm text-white/60">
530
+ <span className="text-fm-tertiary text-sm">
507
531
  00:42 / 03:28
508
532
  </span>
509
533
  </div>
510
534
  <div className="flex items-center gap-2">
511
- <button className="rounded p-1.5 hover:bg-white/10">
512
- <div className="h-4 w-4 rounded-full border border-white/60 bg-white/20" />
535
+ <button className="hover:bg-fm-surface-secondary rounded p-1.5">
536
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-4 w-4 rounded-full border" />
513
537
  </button>
514
- <button className="rounded p-1.5 hover:bg-white/10">
515
- <div className="h-4 w-4 rounded-full border border-white/60 bg-white/20" />
538
+ <button className="hover:bg-fm-surface-secondary rounded p-1.5">
539
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-4 w-4 rounded-full border" />
516
540
  </button>
517
541
  </div>
518
542
  </div>
519
543
  </div>
520
- <div className="rounded-lg bg-black/40 p-4">
521
- <pre className="overflow-x-auto text-sm !text-green-300">
544
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
545
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
522
546
  {`// Video player controls
523
547
  <div className="video-controls">
524
548
  <button
@@ -539,38 +563,40 @@ function MediaPlayer() {
539
563
 
540
564
  {/* Podcast Player */}
541
565
  <div className="!space-y-4">
542
- <h3 className="text-lg font-semibold !text-red-300">
566
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
543
567
  Podcast Player
544
568
  </h3>
545
569
  <div className="!space-y-4">
546
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
570
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
547
571
  <div className="mb-4">
548
- <div className="text-sm font-medium !text-white">
572
+ <div className="text-fm-icon-active! text-sm font-medium">
549
573
  Episode 42: Tech Trends
550
574
  </div>
551
- <div className="text-xs !text-white/60">
575
+ <div className="text-fm-tertiary! text-xs">
552
576
  The Tech Podcast
553
577
  </div>
554
578
  </div>
555
579
  <div className="flex items-center justify-between">
556
580
  <div className="flex items-center gap-4">
557
- <button className="rounded-lg p-2 hover:bg-white/10">
558
- <PauseIcon className="h-6 w-6 text-red-400" />
581
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2">
582
+ <PauseIcon className="text-fm-icon-negative h-6 w-6" />
559
583
  </button>
560
- <div className="text-sm text-white/60">
584
+ <div className="text-fm-tertiary text-sm">
561
585
  <div>12:34 / 58:42</div>
562
- <div className="mt-1 h-1 w-32 rounded-full bg-white/20">
563
- <div className="h-full w-1/4 rounded-full bg-red-400" />
586
+ <div className="bg-fm-divider-primary mt-1 h-1 w-32 rounded-full">
587
+ <div className="bg-fm-icon-negative h-full w-1/4 rounded-full" />
564
588
  </div>
565
589
  </div>
566
590
  </div>
567
591
  <div className="flex items-center gap-2">
568
- <span className="text-sm text-white/60">1.5x</span>
592
+ <span className="text-fm-tertiary text-sm">
593
+ 1.5x
594
+ </span>
569
595
  </div>
570
596
  </div>
571
597
  </div>
572
- <div className="rounded-lg bg-black/40 p-4">
573
- <pre className="overflow-x-auto text-sm !text-green-300">
598
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
599
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
574
600
  {`// Podcast player with pause
575
601
  <div className="podcast-controls">
576
602
  <button
@@ -591,47 +617,47 @@ function MediaPlayer() {
591
617
 
592
618
  {/* Audio Recording */}
593
619
  <div className="!space-y-4">
594
- <h3 className="text-lg font-semibold !text-red-300">
620
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
595
621
  Audio Recording
596
622
  </h3>
597
623
  <div className="!space-y-4">
598
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
624
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
599
625
  <div className="mb-4">
600
- <div className="text-sm font-medium !text-white">
626
+ <div className="text-fm-icon-active! text-sm font-medium">
601
627
  Recording Session
602
628
  </div>
603
- <div className="text-xs !text-white/60">
629
+ <div className="text-fm-tertiary! text-xs">
604
630
  Voice Memo
605
631
  </div>
606
632
  </div>
607
633
  <div className="flex items-center justify-center gap-6">
608
- <button className="rounded-lg p-1.5 hover:bg-white/10">
609
- <div className="h-4 w-4 rounded-full border border-white/60 bg-white/20" />
634
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-1.5">
635
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-4 w-4 rounded-full border" />
610
636
  </button>
611
- <button className="rounded-lg p-3 hover:bg-white/10">
612
- <PauseIcon className="h-8 w-8 text-red-400" />
637
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-3">
638
+ <PauseIcon className="text-fm-icon-negative h-8 w-8" />
613
639
  </button>
614
- <button className="rounded-lg p-1.5 hover:bg-white/10">
615
- <div className="h-4 w-4 rounded-full border border-white/60 bg-white/20" />
640
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-1.5">
641
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-4 w-4 rounded-full border" />
616
642
  </button>
617
643
  </div>
618
644
  <div className="mt-4 text-center">
619
- <div className="font-mono text-lg text-red-400">
645
+ <div className="text-fm-icon-negative font-mono text-lg">
620
646
  00:02:34
621
647
  </div>
622
648
  <div className="mt-2 flex justify-center gap-1">
623
649
  {[...Array(5)].map((_, i) => (
624
650
  <div
625
651
  key={i}
626
- className="h-4 w-1 animate-pulse rounded bg-red-400/60"
652
+ className="bg-fm-icon-negative/60 h-4 w-1 animate-pulse rounded"
627
653
  style={{ animationDelay: `${i * 100}ms` }}
628
654
  />
629
655
  ))}
630
656
  </div>
631
657
  </div>
632
658
  </div>
633
- <div className="rounded-lg bg-black/40 p-4">
634
- <pre className="overflow-x-auto text-sm !text-green-300">
659
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
660
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
635
661
  {`// Audio recording controls
636
662
  <div className="recording-controls">
637
663
  <button
@@ -655,64 +681,64 @@ function MediaPlayer() {
655
681
 
656
682
  {/* Accessibility */}
657
683
  <div className="!space-y-8">
658
- <h2 className="text-center text-3xl font-bold !text-white">
684
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
659
685
  Accessibility Features
660
686
  </h2>
661
687
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
662
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
663
- <h3 className="text-lg font-semibold !text-green-300">
688
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
689
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
664
690
  ✅ Built-in Features
665
691
  </h3>
666
- <ul className="!space-y-2 text-sm !text-white/70">
667
- <li className="!text-white/70">
692
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
693
+ <li className="text-fm-secondary!">
668
694
  Uses Radix UI AccessibleIcon wrapper
669
695
  </li>
670
- <li className="!text-white/70">
696
+ <li className="text-fm-secondary!">
671
697
  Provides screen reader label "Pause icon"
672
698
  </li>
673
- <li className="!text-white/70">
699
+ <li className="text-fm-secondary!">
674
700
  Supports keyboard navigation when interactive
675
701
  </li>
676
- <li className="!text-white/70">
702
+ <li className="text-fm-secondary!">
677
703
  Maintains proper color contrast ratios
678
704
  </li>
679
- <li className="!text-white/70">
705
+ <li className="text-fm-secondary!">
680
706
  Scales with user's font size preferences
681
707
  </li>
682
708
  </ul>
683
709
  </div>
684
710
 
685
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
686
- <h3 className="text-lg font-semibold !text-red-300">
711
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
712
+ <h3 className="text-fm-icon-negative! text-lg font-semibold">
687
713
  💡 Best Practices
688
714
  </h3>
689
- <ul className="!space-y-2 text-sm text-white/70">
690
- <li className="!text-white/70">
715
+ <ul className="text-fm-secondary !space-y-2 text-sm">
716
+ <li className="text-fm-secondary!">
691
717
  Always provide descriptive aria-labels for buttons
692
718
  </li>
693
- <li className="!text-white/70">
719
+ <li className="text-fm-secondary!">
694
720
  Use consistent placement in media control groups
695
721
  </li>
696
- <li className="!text-white/70">
722
+ <li className="text-fm-secondary!">
697
723
  Ensure sufficient touch target size (44px minimum)
698
724
  </li>
699
- <li className="!text-white/70">
725
+ <li className="text-fm-secondary!">
700
726
  Provide visible focus states for keyboard users
701
727
  </li>
702
- <li className="!text-white/70">
728
+ <li className="text-fm-secondary!">
703
729
  Consider keyboard shortcuts (e.g., Spacebar)
704
730
  </li>
705
731
  </ul>
706
732
  </div>
707
733
  </div>
708
734
 
709
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
710
- <h3 className="mb-4 text-lg font-semibold !text-rose-300">
735
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
736
+ <h3 className="text-fm-icon-negative! mb-4 text-lg font-semibold">
711
737
  Proper ARIA Implementation
712
738
  </h3>
713
739
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
714
- <div className="rounded-lg bg-black/40 p-4">
715
- <pre className="overflow-x-auto text-sm !text-cyan-300">
740
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
741
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
716
742
  {`// Pause button with proper ARIA
717
743
  <button
718
744
  aria-label="Pause playback"
@@ -746,13 +772,13 @@ function MediaPlayer() {
746
772
  </pre>
747
773
  </div>
748
774
  <div className="!space-y-4">
749
- <p className="text-sm !text-white/70">
775
+ <p className="text-fm-secondary! text-sm">
750
776
  When using PauseIcon for interactive elements, always
751
777
  provide clear context about the current playback state
752
778
  and what the pause action will do.
753
779
  </p>
754
- <div className="rounded-lg border border-red-500/20 bg-red-500/10 p-4">
755
- <div className="flex items-center gap-2 text-sm text-red-200">
780
+ <div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 rounded-lg border p-4">
781
+ <div className="text-fm-icon-negative flex items-center gap-2 text-sm">
756
782
  <PauseIcon className="h-4 w-4" />
757
783
  <span>
758
784
  Screen readers need context about pause vs play
@@ -767,50 +793,56 @@ function MediaPlayer() {
767
793
 
768
794
  {/* Related Icons */}
769
795
  <div className="!space-y-8">
770
- <h2 className="text-center text-3xl font-bold !text-white">
796
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
771
797
  Related Icons
772
798
  </h2>
773
799
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
774
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
775
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
776
- <span className="!text-2xl !text-white">▶</span>
800
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
801
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
802
+ <span className="text-fm-icon-active! !text-2xl">▶</span>
777
803
  </div>
778
804
  <div>
779
- <div className="font-medium text-white">PlayIcon</div>
780
- <div className="text-xs text-white/60">
805
+ <div className="text-fm-icon-active font-medium">
806
+ PlayIcon
807
+ </div>
808
+ <div className="text-fm-tertiary text-xs">
781
809
  Start playback
782
810
  </div>
783
811
  </div>
784
812
  </div>
785
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
786
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-gray-500/20">
787
- <span className="!text-2xl !text-white">⏹</span>
813
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
814
+ <div className="bg-fm-surface-tertiary/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
815
+ <span className="text-fm-icon-active! !text-2xl">⏹</span>
788
816
  </div>
789
817
  <div>
790
- <div className="font-medium text-white">StopIcon</div>
791
- <div className="text-xs text-white/60">Stop playback</div>
818
+ <div className="text-fm-icon-active font-medium">
819
+ StopIcon
820
+ </div>
821
+ <div className="text-fm-tertiary text-xs">
822
+ Stop playback
823
+ </div>
792
824
  </div>
793
825
  </div>
794
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
795
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
796
- <span className="!text-2xl !text-white">⏭</span>
826
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
827
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
828
+ <span className="text-fm-icon-active! !text-2xl">⏭</span>
797
829
  </div>
798
830
  <div>
799
- <div className="font-medium text-white">
831
+ <div className="text-fm-icon-active font-medium">
800
832
  SkipForwardIcon
801
833
  </div>
802
- <div className="text-xs text-white/60">Next track</div>
834
+ <div className="text-fm-tertiary text-xs">Next track</div>
803
835
  </div>
804
836
  </div>
805
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
806
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
807
- <span className="!text-2xl !text-white">⏮</span>
837
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
838
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
839
+ <span className="text-fm-icon-active! !text-2xl">⏮</span>
808
840
  </div>
809
841
  <div>
810
- <div className="font-medium text-white">
842
+ <div className="text-fm-icon-active font-medium">
811
843
  SkipBackwardIcon
812
844
  </div>
813
- <div className="text-xs text-white/60">
845
+ <div className="text-fm-tertiary text-xs">
814
846
  Previous track
815
847
  </div>
816
848
  </div>
@@ -820,14 +852,14 @@ function MediaPlayer() {
820
852
  </div>
821
853
 
822
854
  {/* Footer */}
823
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
855
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
824
856
  <div className="!mx-auto max-w-7xl px-6 py-8">
825
857
  <div className="!space-y-4 text-center">
826
- <p className="!text-white/60">
858
+ <p className="text-fm-tertiary!">
827
859
  PauseIcon is part of the Aural UI icon library, built with
828
860
  accessibility and media control best practices in mind.
829
861
  </p>
830
- <p className="text-sm !text-white/40">
862
+ <p className="text-fm-placeholder! text-sm">
831
863
  All icons use Radix UI's AccessibleIcon for screen reader
832
864
  compatibility and follow WCAG guidelines.
833
865
  </p>
@@ -880,20 +912,20 @@ const storyParameters = {
880
912
  backgrounds: {
881
913
  default: "dark",
882
914
  values: [
883
- { name: "dark", value: "#0a0a0a" },
884
- { name: "darker", value: "#000000" },
915
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
916
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
885
917
  ],
886
918
  },
887
919
  }
888
920
 
889
921
  export const Default: Story = {
890
922
  args: {
891
- className: "h-8 w-8 text-red-400",
923
+ className: "h-8 w-8 text-fm-icon-negative",
892
924
  withAccessibility: true,
893
925
  },
894
926
  parameters: storyParameters,
895
927
  render: (args) => (
896
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
928
+ <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">
897
929
  <PauseIcon {...args} />
898
930
  </div>
899
931
  ),
@@ -910,30 +942,30 @@ export const SizeVariations: Story = {
910
942
  },
911
943
  },
912
944
  render: () => (
913
- <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">
945
+ <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">
914
946
  <div className="text-center">
915
- <PauseIcon className="!mx-auto mb-2 h-3 w-3 text-red-400" />
916
- <span className="text-xs text-white/60">12px</span>
947
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-3 w-3" />
948
+ <span className="text-fm-tertiary text-xs">12px</span>
917
949
  </div>
918
950
  <div className="text-center">
919
- <PauseIcon className="!mx-auto mb-2 h-4 w-4 text-red-400" />
920
- <span className="text-xs text-white/60">16px</span>
951
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-4 w-4" />
952
+ <span className="text-fm-tertiary text-xs">16px</span>
921
953
  </div>
922
954
  <div className="text-center">
923
- <PauseIcon className="!mx-auto mb-2 h-5 w-5 text-red-400" />
924
- <span className="text-xs text-white/60">20px</span>
955
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-5 w-5" />
956
+ <span className="text-fm-tertiary text-xs">20px</span>
925
957
  </div>
926
958
  <div className="text-center">
927
- <PauseIcon className="!mx-auto mb-2 h-6 w-6 text-red-400" />
928
- <span className="text-xs text-white/60">24px</span>
959
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-6 w-6" />
960
+ <span className="text-fm-tertiary text-xs">24px</span>
929
961
  </div>
930
962
  <div className="text-center">
931
- <PauseIcon className="!mx-auto mb-2 h-8 w-8 text-red-400" />
932
- <span className="text-xs text-white/60">32px</span>
963
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-8 w-8" />
964
+ <span className="text-fm-tertiary text-xs">32px</span>
933
965
  </div>
934
966
  <div className="text-center">
935
- <PauseIcon className="!mx-auto mb-2 h-12 w-12 text-red-400" />
936
- <span className="text-xs text-white/60">48px</span>
967
+ <PauseIcon className="text-fm-icon-negative !mx-auto mb-2 h-12 w-12" />
968
+ <span className="text-fm-tertiary text-xs">48px</span>
937
969
  </div>
938
970
  </div>
939
971
  ),
@@ -949,34 +981,40 @@ export const ColorVariations: Story = {
949
981
  },
950
982
  },
951
983
  render: () => (
952
- <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">
984
+ <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">
953
985
  <div className="text-center">
954
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-red-500/30 bg-red-500/20">
955
- <PauseIcon className="h-8 w-8 text-red-400" />
986
+ <div className="border-fm-icon-negative/30 bg-fm-icon-negative/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
987
+ <PauseIcon className="text-fm-icon-negative h-8 w-8" />
988
+ </div>
989
+ <div className="text-fm-icon-active text-sm font-medium">Primary</div>
990
+ <div className="text-fm-icon-negative text-xs">
991
+ text-fm-icon-negative
956
992
  </div>
957
- <div className="text-sm font-medium text-white">Primary</div>
958
- <div className="text-xs text-red-400">text-red-400</div>
959
993
  </div>
960
994
  <div className="text-center">
961
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-rose-500/30 bg-rose-500/20">
962
- <PauseIcon className="h-8 w-8 text-rose-400" />
995
+ <div className="border-fm-icon-negative/30 bg-fm-icon-negative/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
996
+ <PauseIcon className="text-fm-icon-negative h-8 w-8" />
997
+ </div>
998
+ <div className="text-fm-icon-active text-sm font-medium">Secondary</div>
999
+ <div className="text-fm-icon-negative text-xs">
1000
+ text-fm-icon-negative
963
1001
  </div>
964
- <div className="text-sm font-medium text-white">Secondary</div>
965
- <div className="text-xs text-rose-400">text-rose-400</div>
966
1002
  </div>
967
1003
  <div className="text-center">
968
- <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">
969
- <PauseIcon className="h-8 w-8 text-pink-400" />
1004
+ <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">
1005
+ <PauseIcon className="text-fm-secondary-600 h-8 w-8" />
1006
+ </div>
1007
+ <div className="text-fm-icon-active text-sm font-medium">Accent</div>
1008
+ <div className="text-fm-secondary-600 text-xs">
1009
+ text-fm-secondary-600
970
1010
  </div>
971
- <div className="text-sm font-medium text-white">Accent</div>
972
- <div className="text-xs text-pink-400">text-pink-400</div>
973
1011
  </div>
974
1012
  <div className="text-center">
975
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/10 bg-white/5">
976
- <PauseIcon className="h-8 w-8 text-white/40" />
1013
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1014
+ <PauseIcon className="text-fm-placeholder h-8 w-8" />
977
1015
  </div>
978
- <div className="text-sm font-medium text-white">Disabled</div>
979
- <div className="text-xs text-white/40">text-white/40</div>
1016
+ <div className="text-fm-icon-active text-sm font-medium">Disabled</div>
1017
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
980
1018
  </div>
981
1019
  </div>
982
1020
  ),
@@ -993,27 +1031,31 @@ export const UsageExamples: Story = {
993
1031
  },
994
1032
  },
995
1033
  render: () => (
996
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1034
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
997
1035
  {/* Music Player */}
998
1036
  <div className="!space-y-2">
999
- <h3 className="text-sm font-medium text-white">Music Player</h3>
1000
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
1037
+ <h3 className="text-fm-icon-active text-sm font-medium">
1038
+ Music Player
1039
+ </h3>
1040
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
1001
1041
  <div className="mb-4 flex items-center gap-3">
1002
- <div className="h-12 w-12 rounded-lg bg-gradient-to-br from-red-500/20 to-rose-500/20" />
1042
+ <div className="from-fm-icon-negative/20 to-fm-icon-negative/20 h-12 w-12 rounded-lg bg-linear-to-br" />
1003
1043
  <div>
1004
- <div className="text-sm font-medium text-white">Current Song</div>
1005
- <div className="text-xs text-white/60">Artist Name</div>
1044
+ <div className="text-fm-icon-active text-sm font-medium">
1045
+ Current Song
1046
+ </div>
1047
+ <div className="text-fm-tertiary text-xs">Artist Name</div>
1006
1048
  </div>
1007
1049
  </div>
1008
1050
  <div className="flex items-center justify-center gap-4">
1009
- <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
1010
- <div className="h-6 w-6 rounded-full border border-white/60 bg-white/20" />
1051
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
1052
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
1011
1053
  </button>
1012
- <button className="rounded-lg p-3 transition-colors hover:bg-white/10">
1013
- <PauseIcon className="h-8 w-8 text-red-400" />
1054
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-3 transition-colors">
1055
+ <PauseIcon className="text-fm-icon-negative h-8 w-8" />
1014
1056
  </button>
1015
- <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
1016
- <div className="h-6 w-6 rounded-full border border-white/60 bg-white/20" />
1057
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
1058
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
1017
1059
  </button>
1018
1060
  </div>
1019
1061
  </div>
@@ -1021,19 +1063,21 @@ export const UsageExamples: Story = {
1021
1063
 
1022
1064
  {/* Video Player */}
1023
1065
  <div className="!space-y-2">
1024
- <h3 className="text-sm font-medium text-white">Video Player</h3>
1025
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1026
- <div className="mb-4 h-32 rounded bg-gradient-to-r from-red-500/20 to-rose-500/20" />
1066
+ <h3 className="text-fm-icon-active text-sm font-medium">
1067
+ Video Player
1068
+ </h3>
1069
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1070
+ <div className="from-fm-icon-negative/20 to-fm-icon-negative/20 mb-4 h-32 rounded bg-linear-to-r" />
1027
1071
  <div className="flex items-center justify-between">
1028
1072
  <div className="flex items-center gap-2">
1029
- <button className="rounded-lg p-2 hover:bg-white/10">
1030
- <PauseIcon className="h-6 w-6 text-red-400" />
1073
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2">
1074
+ <PauseIcon className="text-fm-icon-negative h-6 w-6" />
1031
1075
  </button>
1032
- <span className="text-sm text-white/60">00:42 / 03:28</span>
1076
+ <span className="text-fm-tertiary text-sm">00:42 / 03:28</span>
1033
1077
  </div>
1034
1078
  <div className="flex items-center gap-2">
1035
- <button className="rounded p-1.5 hover:bg-white/10">
1036
- <div className="h-4 w-4 rounded-full border border-white/60 bg-white/20" />
1079
+ <button className="hover:bg-fm-surface-secondary rounded p-1.5">
1080
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-4 w-4 rounded-full border" />
1037
1081
  </button>
1038
1082
  </div>
1039
1083
  </div>
@@ -1056,11 +1100,11 @@ export const Playground: Story = {
1056
1100
  args: {
1057
1101
  width: 24,
1058
1102
  height: 24,
1059
- className: "text-red-400",
1103
+ className: "text-fm-icon-negative",
1060
1104
  },
1061
1105
  render: (args) => (
1062
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1063
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1106
+ <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">
1107
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1064
1108
  <PauseIcon {...args} />
1065
1109
  </div>
1066
1110
  </div>