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 AudioBarIcon> = {
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,59 +40,59 @@ const meta: Meta<typeof AudioBarIcon> = {
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-purple-900/20 to-gray-900">
83
+ <div className="bg-fm-surface-primary min-h-screen">
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-purple-500/10 via-transparent to-blue-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-secondary-500/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
87
87
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
88
88
  <div className="!space-y-6 text-center">
89
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-violet-500/30 bg-gradient-to-br from-violet-500/20 to-purple-500/20">
90
- <AudioBarIcon className="h-12 w-12 text-violet-400" />
89
+ <div className="border-fm-secondary-500/30 from-fm-secondary-500/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
+ <AudioBarIcon className="text-fm-secondary-600 h-12 w-12" />
91
91
  </div>
92
- <h1 className="text-5xl font-bold !text-white">
92
+ <h1 className="text-fm-icon-active! text-5xl font-bold">
93
93
  AudioBarIcon
94
94
  </h1>
95
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
95
+ <p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
96
96
  A dynamic audio visualizer icon representing sound waves and
97
97
  audio activity. Perfect for music players, audio controls,
98
98
  voice interfaces, and sound-related features.
@@ -101,28 +101,28 @@ const meta: Meta<typeof AudioBarIcon> = {
101
101
  {/* Stats */}
102
102
  <div className="flex items-center justify-center gap-8 pt-8">
103
103
  <div className="text-center">
104
- <div className="text-3xl font-bold text-violet-300">
104
+ <div className="text-fm-secondary-600 text-3xl font-bold">
105
105
  Audio
106
106
  </div>
107
- <div className="text-sm text-white/60">
107
+ <div className="text-fm-tertiary text-sm">
108
108
  Sound visualization
109
109
  </div>
110
110
  </div>
111
- <div className="h-8 w-px bg-white/20" />
111
+ <div className="bg-fm-divider-primary h-8 w-px" />
112
112
  <div className="text-center">
113
- <div className="text-3xl font-bold text-purple-300">
113
+ <div className="text-fm-secondary-600 text-3xl font-bold">
114
114
  Dynamic
115
115
  </div>
116
- <div className="text-sm text-white/60">
116
+ <div className="text-fm-tertiary text-sm">
117
117
  Visual feedback
118
118
  </div>
119
119
  </div>
120
- <div className="h-8 w-px bg-white/20" />
120
+ <div className="bg-fm-divider-primary h-8 w-px" />
121
121
  <div className="text-center">
122
- <div className="text-3xl font-bold text-fuchsia-300">
122
+ <div className="text-fm-secondary-600 text-3xl font-bold">
123
123
  Responsive
124
124
  </div>
125
- <div className="text-sm text-white/60">
125
+ <div className="text-fm-tertiary text-sm">
126
126
  Scalable design
127
127
  </div>
128
128
  </div>
@@ -135,16 +135,16 @@ const meta: Meta<typeof AudioBarIcon> = {
135
135
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
136
136
  {/* Quick Usage */}
137
137
  <div className="!space-y-8">
138
- <h2 className="text-center text-3xl font-bold !text-white">
138
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
139
139
  Quick Start
140
140
  </h2>
141
141
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
142
142
  <div className="!space-y-4">
143
- <h3 className="text-xl font-semibold !text-violet-300">
143
+ <h3 className="text-fm-secondary-600! text-xl font-semibold">
144
144
  Basic Usage
145
145
  </h3>
146
- <div className="rounded-lg bg-black/40 p-4">
147
- <pre className="overflow-x-auto text-sm !text-green-300">
146
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
147
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
148
148
  {`import { AudioBarIcon } from "@icons/audio-bar-icon"
149
149
 
150
150
  function AudioPlayer() {
@@ -160,13 +160,15 @@ function AudioPlayer() {
160
160
  </div>
161
161
 
162
162
  <div className="!space-y-4">
163
- <h3 className="text-xl font-semibold !text-violet-300">
163
+ <h3 className="text-fm-secondary-600! text-xl font-semibold">
164
164
  Live Preview
165
165
  </h3>
166
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
167
- <div className="flex items-center gap-3 rounded-lg border border-violet-500/20 bg-violet-500/10 px-4 py-2">
168
- <AudioBarIcon className="h-6 w-6 text-violet-400" />
169
- <span className="!text-white">Now Playing</span>
166
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
167
+ <div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 flex items-center gap-3 rounded-lg border px-4 py-2">
168
+ <AudioBarIcon className="text-fm-secondary-600 h-6 w-6" />
169
+ <span className="text-fm-icon-active!">
170
+ Now Playing
171
+ </span>
170
172
  </div>
171
173
  </div>
172
174
  </div>
@@ -175,108 +177,116 @@ function AudioPlayer() {
175
177
 
176
178
  {/* Props Documentation */}
177
179
  <div className="!space-y-8">
178
- <h2 className="text-center text-3xl font-bold !text-white">
180
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
179
181
  Props & Configuration
180
182
  </h2>
181
183
 
182
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
183
- <div className="bg-white/5 p-4">
184
- <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>
185
189
  </div>
186
190
  <table className="!my-0 w-full">
187
- <thead className="bg-white/5">
188
- <tr className="border-b border-white/10">
189
- <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">
190
194
  Prop
191
195
  </th>
192
- <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">
193
197
  Type
194
198
  </th>
195
- <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">
196
200
  Default
197
201
  </th>
198
- <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">
199
203
  Description
200
204
  </th>
201
205
  </tr>
202
206
  </thead>
203
207
  <tbody>
204
208
  {" "}
205
- <tr className="!bg-black/10">
206
- <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">
207
211
  withAccessibility
208
212
  </td>
209
- <td className="px-6 py-4 text-sm !text-white/70">
213
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
210
214
  boolean
211
215
  </td>
212
- <td className="px-6 py-4 text-sm !text-white/50">
216
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
213
217
  true
214
218
  </td>
215
- <td className="px-6 py-4 text-sm !text-white/70">
219
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
216
220
  Whether to wrap the icon with accessibility feature
217
221
  </td>
218
222
  </tr>
219
- <tr className="border-b border-white/5 !bg-black/10">
220
- <td className="px-6 py-4 font-mono text-sm !text-violet-300">
223
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
224
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
221
225
  height
222
226
  </td>
223
- <td className="px-6 py-4 text-sm !text-white/70">
227
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
224
228
  number | string
225
229
  </td>
226
- <td className="px-6 py-4 text-sm !text-white/50">12</td>
227
- <td className="px-6 py-4 text-sm !text-white/70">
230
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
231
+ 12
232
+ </td>
233
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
228
234
  Height of the icon in pixels
229
235
  </td>
230
236
  </tr>
231
- <tr className="border-b border-white/5">
232
- <td className="px-6 py-4 font-mono text-sm !text-violet-300">
237
+ <tr className="border-fm-divider-tertiary border-b">
238
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
233
239
  fill
234
240
  </td>
235
- <td className="px-6 py-4 text-sm !text-white/70">
241
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
236
242
  string
237
243
  </td>
238
- <td className="px-6 py-4 text-sm !text-white/50">
244
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
239
245
  currentColor
240
246
  </td>
241
- <td className="px-6 py-4 text-sm !text-white/70">
247
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
242
248
  Fill color of the audio bars
243
249
  </td>
244
250
  </tr>
245
- <tr className="border-b border-white/5 !bg-black/10">
246
- <td className="px-6 py-4 font-mono text-sm !text-violet-300">
251
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
252
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
247
253
  color
248
254
  </td>
249
- <td className="px-6 py-4 text-sm !text-white/70">
255
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
250
256
  string
251
257
  </td>
252
- <td className="px-6 py-4 text-sm !text-white/50">
258
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
253
259
  currentColor
254
260
  </td>
255
- <td className="px-6 py-4 text-sm !text-white/70">
261
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
256
262
  Color of the icon (alternative to fill)
257
263
  </td>
258
264
  </tr>
259
- <tr className="border-b border-white/5">
260
- <td className="px-6 py-4 font-mono text-sm !text-violet-300">
265
+ <tr className="border-fm-divider-tertiary border-b">
266
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
261
267
  className
262
268
  </td>
263
- <td className="px-6 py-4 text-sm !text-white/70">
269
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
264
270
  string
265
271
  </td>
266
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
267
- <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">
268
276
  CSS classes for styling
269
277
  </td>
270
278
  </tr>
271
- <tr className="!bg-black/10">
272
- <td className="px-6 py-4 font-mono text-sm !text-violet-300">
279
+ <tr className="bg-fm-surface-secondary!">
280
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
273
281
  ...svgProps
274
282
  </td>
275
- <td className="px-6 py-4 text-sm !text-white/70">
283
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
276
284
  SVGProps
277
285
  </td>
278
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
279
- <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">
280
290
  All standard SVG element props
281
291
  </td>
282
292
  </tr>
@@ -287,50 +297,62 @@ function AudioPlayer() {
287
297
 
288
298
  {/* Size Variations */}
289
299
  <div className="!space-y-8">
290
- <h2 className="text-center text-3xl font-bold !text-white">
300
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
291
301
  Size Variations
292
302
  </h2>
293
- <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">
294
304
  <div className="!space-y-6">
295
305
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
296
306
  <div className="!space-y-4">
297
- <h3 className="text-lg font-semibold !text-violet-300">
307
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
298
308
  Standard Sizes
299
309
  </h3>
300
- <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">
301
311
  <div className="text-center">
302
- <AudioBarIcon className="!mx-auto mb-2 h-3 w-3 text-violet-400" />
303
- <span className="text-xs text-white/60">12px</span>
312
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
313
+ <span className="text-fm-tertiary text-xs">
314
+ 12px
315
+ </span>
304
316
  </div>
305
317
  <div className="text-center">
306
- <AudioBarIcon className="!mx-auto mb-2 h-4 w-4 text-violet-400" />
307
- <span className="text-xs text-white/60">16px</span>
318
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
319
+ <span className="text-fm-tertiary text-xs">
320
+ 16px
321
+ </span>
308
322
  </div>
309
323
  <div className="text-center">
310
- <AudioBarIcon className="!mx-auto mb-2 h-5 w-5 text-violet-400" />
311
- <span className="text-xs text-white/60">20px</span>
324
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
325
+ <span className="text-fm-tertiary text-xs">
326
+ 20px
327
+ </span>
312
328
  </div>
313
329
  <div className="text-center">
314
- <AudioBarIcon className="!mx-auto mb-2 h-6 w-6 text-violet-400" />
315
- <span className="text-xs text-white/60">24px</span>
330
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
331
+ <span className="text-fm-tertiary text-xs">
332
+ 24px
333
+ </span>
316
334
  </div>
317
335
  <div className="text-center">
318
- <AudioBarIcon className="!mx-auto mb-2 h-8 w-8 text-violet-400" />
319
- <span className="text-xs text-white/60">32px</span>
336
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
337
+ <span className="text-fm-tertiary text-xs">
338
+ 32px
339
+ </span>
320
340
  </div>
321
341
  <div className="text-center">
322
- <AudioBarIcon className="!mx-auto mb-2 h-12 w-12 text-violet-400" />
323
- <span className="text-xs text-white/60">48px</span>
342
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
343
+ <span className="text-fm-tertiary text-xs">
344
+ 48px
345
+ </span>
324
346
  </div>
325
347
  </div>
326
348
  </div>
327
349
 
328
350
  <div className="!space-y-4">
329
- <h3 className="text-lg font-semibold !text-violet-300">
351
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
330
352
  Code Example
331
353
  </h3>
332
- <div className="rounded-lg bg-black/40 p-4">
333
- <pre className="overflow-x-auto text-sm !text-green-300">
354
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
355
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
334
356
  {`// Small (16px)
335
357
  <AudioBarIcon className="h-4 w-4" />
336
358
 
@@ -352,67 +374,67 @@ function AudioPlayer() {
352
374
 
353
375
  {/* Color Variations */}
354
376
  <div className="!space-y-8">
355
- <h2 className="text-center text-3xl font-bold !text-white">
377
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
356
378
  Color Variations
357
379
  </h2>
358
380
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
359
381
  <div className="!space-y-4">
360
- <h3 className="text-lg font-semibold !text-violet-300">
382
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
361
383
  Audio State Colors
362
384
  </h3>
363
- <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">
364
386
  <div className="flex items-center gap-4">
365
- <AudioBarIcon className="h-6 w-6 text-violet-400" />
387
+ <AudioBarIcon className="text-fm-secondary-600 h-6 w-6" />
366
388
  <div>
367
- <div className="text-sm font-medium text-white">
389
+ <div className="text-fm-icon-active text-sm font-medium">
368
390
  Active Audio
369
391
  </div>
370
- <div className="text-xs text-white/60">
371
- text-violet-400
392
+ <div className="text-fm-tertiary text-xs">
393
+ text-fm-secondary-600
372
394
  </div>
373
395
  </div>
374
396
  </div>
375
397
  <div className="flex items-center gap-4">
376
- <AudioBarIcon className="h-6 w-6 text-green-400" />
398
+ <AudioBarIcon className="text-fm-icon-positive h-6 w-6" />
377
399
  <div>
378
- <div className="text-sm font-medium text-white">
400
+ <div className="text-fm-icon-active text-sm font-medium">
379
401
  Recording
380
402
  </div>
381
- <div className="text-xs text-white/60">
382
- text-green-400
403
+ <div className="text-fm-tertiary text-xs">
404
+ text-fm-icon-positive
383
405
  </div>
384
406
  </div>
385
407
  </div>
386
408
  <div className="flex items-center gap-4">
387
- <AudioBarIcon className="h-6 w-6 text-red-400" />
409
+ <AudioBarIcon className="text-fm-icon-negative h-6 w-6" />
388
410
  <div>
389
- <div className="text-sm font-medium text-white">
411
+ <div className="text-fm-icon-active text-sm font-medium">
390
412
  Live/Streaming
391
413
  </div>
392
- <div className="text-xs text-white/60">
393
- text-red-400
414
+ <div className="text-fm-tertiary text-xs">
415
+ text-fm-icon-negative
394
416
  </div>
395
417
  </div>
396
418
  </div>
397
419
  <div className="flex items-center gap-4">
398
- <AudioBarIcon className="h-6 w-6 text-blue-400" />
420
+ <AudioBarIcon className="text-fm-icon-info h-6 w-6" />
399
421
  <div>
400
- <div className="text-sm font-medium text-white">
422
+ <div className="text-fm-icon-active text-sm font-medium">
401
423
  Analyzing
402
424
  </div>
403
- <div className="text-xs text-white/60">
404
- text-blue-400
425
+ <div className="text-fm-tertiary text-xs">
426
+ text-fm-icon-info
405
427
  </div>
406
428
  </div>
407
429
  </div>
408
430
  <div className="flex items-center gap-4">
409
- <AudioBarIcon className="h-6 w-6 text-gray-400" />
431
+ <AudioBarIcon className="text-fm-placeholder h-6 w-6" />
410
432
  <div>
411
- <div className="text-sm font-medium text-white">
433
+ <div className="text-fm-icon-active text-sm font-medium">
412
434
  Inactive
413
435
  </div>
414
- <div className="text-xs text-white/60">
415
- text-gray-400
436
+ <div className="text-fm-tertiary text-xs">
437
+ text-fm-placeholder
416
438
  </div>
417
439
  </div>
418
440
  </div>
@@ -420,11 +442,11 @@ function AudioPlayer() {
420
442
  </div>
421
443
 
422
444
  <div className="!space-y-4">
423
- <h3 className="text-lg font-semibold !text-violet-300">
445
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
424
446
  Custom Colors
425
447
  </h3>
426
- <div className="rounded-lg bg-black/40 p-4">
427
- <pre className="overflow-x-auto text-sm !text-green-300">
448
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
449
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
428
450
  {`// Using Tailwind classes
429
451
  <AudioBarIcon className="h-6 w-6 text-violet-400" />
430
452
  <AudioBarIcon className="h-6 w-6 text-green-500" />
@@ -452,37 +474,37 @@ function AudioPlayer() {
452
474
 
453
475
  {/* Animation Examples */}
454
476
  <div className="!space-y-8">
455
- <h2 className="text-center text-3xl font-bold !text-white">
477
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
456
478
  Animation & Effects
457
479
  </h2>
458
480
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
459
481
  <div className="!space-y-4">
460
- <h3 className="text-lg font-semibold !text-violet-300">
482
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
461
483
  Animated States
462
484
  </h3>
463
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
485
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
464
486
  <div className="grid grid-cols-2 gap-4">
465
487
  <div className="flex flex-col items-center gap-2">
466
- <AudioBarIcon className="h-8 w-8 animate-pulse text-violet-400" />
467
- <span className="text-xs !text-white/60">
488
+ <AudioBarIcon className="text-fm-secondary-600 h-8 w-8 animate-pulse" />
489
+ <span className="text-fm-tertiary! text-xs">
468
490
  Pulsing
469
491
  </span>
470
492
  </div>
471
493
  <div className="flex flex-col items-center gap-2">
472
- <AudioBarIcon className="h-8 w-8 animate-bounce text-green-400" />
473
- <span className="text-xs !text-white/60">
494
+ <AudioBarIcon className="text-fm-icon-positive h-8 w-8 animate-bounce" />
495
+ <span className="text-fm-tertiary! text-xs">
474
496
  Bouncing
475
497
  </span>
476
498
  </div>
477
499
  <div className="flex flex-col items-center gap-2">
478
- <AudioBarIcon className="h-8 w-8 animate-spin text-blue-400" />
479
- <span className="text-xs !text-white/60">
500
+ <AudioBarIcon className="text-fm-icon-info h-8 w-8 animate-spin" />
501
+ <span className="text-fm-tertiary! text-xs">
480
502
  Processing
481
503
  </span>
482
504
  </div>
483
505
  <div className="flex flex-col items-center gap-2">
484
- <AudioBarIcon className="h-8 w-8 text-red-400 transition-all hover:scale-110" />
485
- <span className="text-xs !text-white/60">
506
+ <AudioBarIcon className="text-fm-icon-negative h-8 w-8 transition-all hover:scale-110" />
507
+ <span className="text-fm-tertiary! text-xs">
486
508
  Hover Scale
487
509
  </span>
488
510
  </div>
@@ -491,11 +513,11 @@ function AudioPlayer() {
491
513
  </div>
492
514
 
493
515
  <div className="!space-y-4">
494
- <h3 className="text-lg font-semibold !text-violet-300">
516
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
495
517
  Animation Code
496
518
  </h3>
497
- <div className="rounded-lg bg-black/40 p-4">
498
- <pre className="overflow-x-auto text-sm !text-green-300">
519
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
520
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
499
521
  {`// Pulse animation for active audio
500
522
  <AudioBarIcon className="h-6 w-6 animate-pulse text-violet-400" />
501
523
 
@@ -518,33 +540,33 @@ function AudioPlayer() {
518
540
 
519
541
  {/* Usage Examples */}
520
542
  <div className="!space-y-8">
521
- <h2 className="text-center text-3xl font-bold !text-white">
543
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
522
544
  Usage Examples
523
545
  </h2>
524
546
 
525
547
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
526
548
  {/* Audio Player */}
527
549
  <div className="!space-y-4">
528
- <h3 className="text-lg font-semibold !text-violet-300">
550
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
529
551
  Music Player
530
552
  </h3>
531
553
  <div className="!space-y-4">
532
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
554
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
533
555
  <div className="flex items-center gap-4">
534
- <div className="flex h-12 w-12 items-center justify-center rounded-lg bg-violet-500/20">
535
- <AudioBarIcon className="h-6 w-6 animate-pulse text-violet-400" />
556
+ <div className="bg-fm-secondary-500/20 flex h-12 w-12 items-center justify-center rounded-lg">
557
+ <AudioBarIcon className="text-fm-secondary-600 h-6 w-6 animate-pulse" />
536
558
  </div>
537
559
  <div className="flex-1">
538
- <h4 className="font-medium !text-white">
560
+ <h4 className="text-fm-icon-active! font-medium">
539
561
  Bohemian Rhapsody
540
562
  </h4>
541
- <p className="text-sm !text-white/60">Queen</p>
563
+ <p className="text-fm-tertiary! text-sm">Queen</p>
542
564
  </div>
543
- <div className="text-sm !text-white/60">3:42</div>
565
+ <div className="text-fm-tertiary! text-sm">3:42</div>
544
566
  </div>
545
567
  </div>
546
- <div className="rounded-lg bg-black/40 p-4">
547
- <pre className="overflow-x-auto text-sm !text-green-300">
568
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
569
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
548
570
  {`<div className="flex items-center gap-4 p-4 bg-white/5 border border-white/10 rounded-lg">
549
571
  <div className="flex items-center justify-center w-12 h-12 bg-violet-500/20 rounded-lg">
550
572
  <AudioBarIcon className="w-6 h-6 text-violet-400 animate-pulse" />
@@ -562,24 +584,28 @@ function AudioPlayer() {
562
584
 
563
585
  {/* Voice Recording */}
564
586
  <div className="!space-y-4">
565
- <h3 className="text-lg font-semibold !text-violet-300">
587
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
566
588
  Voice Recording
567
589
  </h3>
568
590
  <div className="!space-y-4">
569
- <div className="rounded-lg border border-red-500/20 bg-red-500/10 p-4">
591
+ <div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 rounded-lg border p-4">
570
592
  <div className="flex items-center justify-between">
571
593
  <div className="flex items-center gap-3">
572
- <AudioBarIcon className="h-5 w-5 animate-bounce text-red-400" />
573
- <span className="!text-red-200">Recording...</span>
594
+ <AudioBarIcon className="text-fm-icon-negative h-5 w-5 animate-bounce" />
595
+ <span className="text-fm-icon-negative!">
596
+ Recording...
597
+ </span>
598
+ </div>
599
+ <div className="text-fm-icon-negative! text-sm">
600
+ 00:42
574
601
  </div>
575
- <div className="text-sm !text-red-300">00:42</div>
576
602
  </div>
577
- <div className="mt-3 h-2 rounded-full bg-red-500/20">
578
- <div className="h-full w-1/3 rounded-full bg-red-400"></div>
603
+ <div className="bg-fm-icon-negative/20 mt-3 h-2 rounded-full">
604
+ <div className="bg-fm-icon-negative h-full w-1/3 rounded-full"></div>
579
605
  </div>
580
606
  </div>
581
- <div className="rounded-lg bg-black/40 p-4">
582
- <pre className="overflow-x-auto text-sm !text-green-300">
607
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
608
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
583
609
  {`<div className="p-4 bg-red-500/10 border border-red-500/20 rounded-lg">
584
610
  <div className="flex items-center justify-between">
585
611
  <div className="flex items-center gap-3">
@@ -599,26 +625,26 @@ function AudioPlayer() {
599
625
 
600
626
  {/* Audio Controls */}
601
627
  <div className="!space-y-4">
602
- <h3 className="text-lg font-semibold !text-violet-300">
628
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
603
629
  Audio Controls
604
630
  </h3>
605
631
  <div className="!space-y-4">
606
- <div className="flex items-center gap-4 rounded-lg border border-white/10 bg-white/5 p-4">
607
- <button className="flex items-center gap-2 rounded-lg border border-violet-500/30 bg-violet-500/20 px-3 py-2 text-violet-200 transition-colors hover:bg-violet-500/30">
632
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-4 rounded-lg border p-4">
633
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
608
634
  <AudioBarIcon className="h-4 w-4" />
609
635
  Equalizer
610
636
  </button>
611
- <button className="flex items-center gap-2 rounded-lg border border-green-500/30 bg-green-500/20 px-3 py-2 text-green-200 transition-colors hover:bg-green-500/30">
637
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
612
638
  <AudioBarIcon className="h-4 w-4" />
613
639
  Visualizer
614
640
  </button>
615
- <button className="flex items-center gap-2 rounded-lg border border-blue-500/30 bg-blue-500/20 px-3 py-2 text-blue-200 transition-colors hover:bg-blue-500/30">
641
+ <button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
616
642
  <AudioBarIcon className="h-4 w-4" />
617
643
  Spectrum
618
644
  </button>
619
645
  </div>
620
- <div className="rounded-lg bg-black/40 p-4">
621
- <pre className="overflow-x-auto text-sm !text-green-300">
646
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
647
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
622
648
  {`<div className="flex items-center gap-4">
623
649
  <button className="flex items-center gap-2 px-3 py-2 bg-violet-500/20 border border-violet-500/30 rounded-lg">
624
650
  <AudioBarIcon className="w-4 h-4" />
@@ -636,43 +662,47 @@ function AudioPlayer() {
636
662
 
637
663
  {/* Audio Status */}
638
664
  <div className="!space-y-4">
639
- <h3 className="text-lg font-semibold !text-violet-300">
665
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
640
666
  Audio Status Indicator
641
667
  </h3>
642
668
  <div className="!space-y-4">
643
669
  <div className="!space-y-3">
644
- <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
645
- <span className="text-sm !text-white">
670
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-3">
671
+ <span className="text-fm-icon-active! text-sm">
646
672
  Microphone
647
673
  </span>
648
674
  <div className="flex items-center gap-2">
649
- <AudioBarIcon className="h-4 w-4 text-green-400" />
650
- <span className="text-xs !text-green-400">
675
+ <AudioBarIcon className="text-fm-icon-positive h-4 w-4" />
676
+ <span className="text-fm-icon-positive! text-xs">
651
677
  Active
652
678
  </span>
653
679
  </div>
654
680
  </div>
655
- <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
656
- <span className="text-sm !text-white">Speakers</span>
681
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-3">
682
+ <span className="text-fm-icon-active! text-sm">
683
+ Speakers
684
+ </span>
657
685
  <div className="flex items-center gap-2">
658
- <AudioBarIcon className="h-4 w-4 animate-pulse text-violet-400" />
659
- <span className="text-xs !text-violet-400">
686
+ <AudioBarIcon className="text-fm-secondary-600 h-4 w-4 animate-pulse" />
687
+ <span className="text-fm-secondary-600! text-xs">
660
688
  Playing
661
689
  </span>
662
690
  </div>
663
691
  </div>
664
- <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
665
- <span className="text-sm !text-white">Recording</span>
692
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-3">
693
+ <span className="text-fm-icon-active! text-sm">
694
+ Recording
695
+ </span>
666
696
  <div className="flex items-center gap-2">
667
- <AudioBarIcon className="h-4 w-4 text-gray-400" />
668
- <span className="text-xs !text-gray-400">
697
+ <AudioBarIcon className="text-fm-placeholder h-4 w-4" />
698
+ <span className="!text-fm-placeholder text-xs">
669
699
  Disabled
670
700
  </span>
671
701
  </div>
672
702
  </div>
673
703
  </div>
674
- <div className="rounded-lg bg-black/40 p-4">
675
- <pre className="overflow-x-auto text-sm !text-green-300">
704
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
705
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
676
706
  {`// Active microphone
677
707
  <div className="flex items-center gap-2">
678
708
  <AudioBarIcon className="w-4 h-4 text-green-400" />
@@ -697,30 +727,32 @@ function AudioPlayer() {
697
727
 
698
728
  {/* Audio Dashboard */}
699
729
  <div className="!space-y-4">
700
- <h3 className="text-lg font-semibold !text-violet-300">
730
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
701
731
  Audio Dashboard
702
732
  </h3>
703
733
  <div className="!space-y-4">
704
734
  <div className="grid grid-cols-2 gap-4">
705
- <div className="rounded-lg border border-white/10 bg-white/5 p-4 text-center">
706
- <AudioBarIcon className="!mx-auto mb-2 h-8 w-8 text-violet-400" />
707
- <div className="text-sm font-medium !text-white">
735
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4 text-center">
736
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
737
+ <div className="text-fm-icon-active! text-sm font-medium">
708
738
  Audio Quality
709
739
  </div>
710
- <div className="text-xs !text-white/60">HD Audio</div>
740
+ <div className="text-fm-tertiary! text-xs">
741
+ HD Audio
742
+ </div>
711
743
  </div>
712
- <div className="rounded-lg border border-white/10 bg-white/5 p-4 text-center">
713
- <AudioBarIcon className="!mx-auto mb-2 h-8 w-8 animate-pulse text-green-400" />
714
- <div className="text-sm font-medium !text-white">
744
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4 text-center">
745
+ <AudioBarIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8 animate-pulse" />
746
+ <div className="text-fm-icon-active! text-sm font-medium">
715
747
  Live Stream
716
748
  </div>
717
- <div className="text-xs !text-white/60">
749
+ <div className="text-fm-tertiary! text-xs">
718
750
  Broadcasting
719
751
  </div>
720
752
  </div>
721
753
  </div>
722
- <div className="rounded-lg bg-black/40 p-4">
723
- <pre className="overflow-x-auto text-sm !text-green-300">
754
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
755
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
724
756
  {`<div className="grid grid-cols-2 gap-4">
725
757
  <div className="p-4 bg-white/5 border border-white/10 rounded-lg text-center">
726
758
  <AudioBarIcon className="w-8 h-8 mx-auto mb-2 text-violet-400" />
@@ -740,24 +772,24 @@ function AudioPlayer() {
740
772
 
741
773
  {/* Navigation Tab */}
742
774
  <div className="!space-y-4">
743
- <h3 className="text-lg font-semibold !text-violet-300">
775
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
744
776
  Navigation Tab
745
777
  </h3>
746
778
  <div className="!space-y-4">
747
- <div className="flex rounded-lg border border-white/10 bg-white/5 p-1">
748
- <button className="flex flex-1 items-center justify-center gap-2 rounded-md bg-violet-500/20 px-3 py-2 text-violet-200">
779
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex rounded-lg border p-1">
780
+ <button className="bg-fm-secondary-500/20 text-fm-secondary-600 flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2">
749
781
  <AudioBarIcon className="h-4 w-4" />
750
782
  <span className="text-sm">Audio</span>
751
783
  </button>
752
- <button className="flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2 text-white/60 transition-colors hover:bg-white/10">
784
+ <button className="text-fm-tertiary hover:bg-fm-surface-secondary flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2 transition-colors">
753
785
  <span className="text-sm">Video</span>
754
786
  </button>
755
- <button className="flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2 text-white/60 transition-colors hover:bg-white/10">
787
+ <button className="text-fm-tertiary hover:bg-fm-surface-secondary flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2 transition-colors">
756
788
  <span className="text-sm">Settings</span>
757
789
  </button>
758
790
  </div>
759
- <div className="rounded-lg bg-black/40 p-4">
760
- <pre className="overflow-x-auto text-sm !text-green-300">
791
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
792
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
761
793
  {`<div className="flex p-1 bg-white/5 border border-white/10 rounded-lg">
762
794
  <button className="flex items-center justify-center flex-1 gap-2 px-3 py-2 bg-violet-500/20 rounded-md text-violet-200">
763
795
  <AudioBarIcon className="w-4 h-4" />
@@ -776,64 +808,64 @@ function AudioPlayer() {
776
808
 
777
809
  {/* Accessibility */}
778
810
  <div className="!space-y-8">
779
- <h2 className="text-center text-3xl font-bold !text-white">
811
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
780
812
  Accessibility Features
781
813
  </h2>
782
814
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
783
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
784
- <h3 className="text-lg font-semibold !text-green-300">
815
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
816
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
785
817
  ✅ Built-in Features
786
818
  </h3>
787
- <ul className="!space-y-2 text-sm !text-white/70">
788
- <li className="!text-white/70">
819
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
820
+ <li className="text-fm-secondary!">
789
821
  Uses Radix UI AccessibleIcon wrapper
790
822
  </li>
791
- <li className="!text-white/70">
823
+ <li className="text-fm-secondary!">
792
824
  Provides screen reader label "Audio Bar icon"
793
825
  </li>
794
- <li className="!text-white/70">
826
+ <li className="text-fm-secondary!">
795
827
  Supports keyboard navigation when interactive
796
828
  </li>
797
- <li className="!text-white/70">
829
+ <li className="text-fm-secondary!">
798
830
  Maintains proper color contrast ratios
799
831
  </li>
800
- <li className="!text-white/70">
832
+ <li className="text-fm-secondary!">
801
833
  Respects user's motion preferences for animations
802
834
  </li>
803
835
  </ul>
804
836
  </div>
805
837
 
806
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
807
- <h3 className="text-lg font-semibold !text-violet-300">
838
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
839
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
808
840
  💡 Best Practices
809
841
  </h3>
810
- <ul className="!space-y-2 text-sm text-white/70">
811
- <li className="!text-white/70">
842
+ <ul className="text-fm-secondary !space-y-2 text-sm">
843
+ <li className="text-fm-secondary!">
812
844
  Always provide audio context with descriptive text
813
845
  </li>
814
- <li className="!text-white/70">
846
+ <li className="text-fm-secondary!">
815
847
  Use consistent colors for different audio states
816
848
  </li>
817
- <li className="!text-white/70">
849
+ <li className="text-fm-secondary!">
818
850
  Provide alternative text indicators for audio states
819
851
  </li>
820
- <li className="!text-white/70">
852
+ <li className="text-fm-secondary!">
821
853
  Consider users with hearing impairments
822
854
  </li>
823
- <li className="!text-white/70">
855
+ <li className="text-fm-secondary!">
824
856
  Test with reduced motion preferences
825
857
  </li>
826
858
  </ul>
827
859
  </div>
828
860
  </div>
829
861
 
830
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
831
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
862
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
863
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
832
864
  Accessible Audio Implementation
833
865
  </h3>
834
866
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
835
- <div className="rounded-lg bg-black/40 p-4">
836
- <pre className="overflow-x-auto text-sm !text-blue-300">
867
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
868
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
837
869
  {`// Custom implementation with audio context
838
870
  import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
839
871
 
@@ -860,13 +892,13 @@ function AccessibleAudioIcon({
860
892
  </pre>
861
893
  </div>
862
894
  <div className="!space-y-4">
863
- <p className="text-sm !text-white/70">
895
+ <p className="text-fm-secondary! text-sm">
864
896
  This implementation provides dynamic accessibility
865
897
  labels based on audio state and level, giving screen
866
898
  readers meaningful context.
867
899
  </p>
868
- <div className="rounded-lg border border-violet-500/20 bg-violet-500/10 p-4">
869
- <div className="flex items-center gap-2 text-sm !text-violet-200">
900
+ <div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
901
+ <div className="text-fm-secondary-600! flex items-center gap-2 text-sm">
870
902
  <AudioBarIcon className="h-4 w-4" />
871
903
  <span>
872
904
  Dynamic labels help users understand audio activity
@@ -880,48 +912,60 @@ function AccessibleAudioIcon({
880
912
 
881
913
  {/* Related Icons */}
882
914
  <div className="!space-y-8">
883
- <h2 className="text-center text-3xl font-bold !text-white">
915
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
884
916
  Related Icons
885
917
  </h2>
886
918
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
887
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
888
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
919
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
920
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
889
921
  <span className="text-2xl">🎵</span>
890
922
  </div>
891
923
  <div>
892
- <div className="font-medium text-white">MusicIcon</div>
893
- <div className="text-xs text-white/60">
924
+ <div className="text-fm-icon-active font-medium">
925
+ MusicIcon
926
+ </div>
927
+ <div className="text-fm-tertiary text-xs">
894
928
  Music & melody
895
929
  </div>
896
930
  </div>
897
931
  </div>
898
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
899
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
932
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
933
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
900
934
  <span className="text-2xl">🎤</span>
901
935
  </div>
902
936
  <div>
903
- <div className="font-medium text-white">
937
+ <div className="text-fm-icon-active font-medium">
904
938
  MicrophoneIcon
905
939
  </div>
906
- <div className="text-xs text-white/60">Voice input</div>
940
+ <div className="text-fm-tertiary text-xs">
941
+ Voice input
942
+ </div>
907
943
  </div>
908
944
  </div>
909
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
910
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
945
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
946
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
911
947
  <span className="text-2xl">🔊</span>
912
948
  </div>
913
949
  <div>
914
- <div className="font-medium text-white">VolumeIcon</div>
915
- <div className="text-xs text-white/60">Audio output</div>
950
+ <div className="text-fm-icon-active font-medium">
951
+ VolumeIcon
952
+ </div>
953
+ <div className="text-fm-tertiary text-xs">
954
+ Audio output
955
+ </div>
916
956
  </div>
917
957
  </div>
918
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
919
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
958
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
959
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
920
960
  <span className="text-2xl">📻</span>
921
961
  </div>
922
962
  <div>
923
- <div className="font-medium text-white">RadioIcon</div>
924
- <div className="text-xs text-white/60">Broadcasting</div>
963
+ <div className="text-fm-icon-active font-medium">
964
+ RadioIcon
965
+ </div>
966
+ <div className="text-fm-tertiary text-xs">
967
+ Broadcasting
968
+ </div>
925
969
  </div>
926
970
  </div>
927
971
  </div>
@@ -929,14 +973,14 @@ function AccessibleAudioIcon({
929
973
  </div>
930
974
 
931
975
  {/* Footer */}
932
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
976
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
933
977
  <div className="!mx-auto max-w-7xl px-6 py-8">
934
978
  <div className="!space-y-4 text-center">
935
- <p className="!text-white/60">
979
+ <p className="text-fm-tertiary!">
936
980
  AudioBarIcon is part of the Aural UI icon library, designed
937
981
  for clear audio visualization and interaction feedback.
938
982
  </p>
939
- <p className="text-sm !text-white/40">
983
+ <p className="text-fm-placeholder! text-sm">
940
984
  Perfect for music players, voice interfaces, audio controls,
941
985
  and any application requiring audio state visualization.
942
986
  </p>
@@ -985,8 +1029,8 @@ const storyParameters = {
985
1029
  backgrounds: {
986
1030
  default: "dark",
987
1031
  values: [
988
- { name: "dark", value: "#0a0a0a" },
989
- { name: "darker", value: "#000000" },
1032
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1033
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
990
1034
  ],
991
1035
  },
992
1036
  }
@@ -995,12 +1039,12 @@ export const Default: Story = {
995
1039
  args: {
996
1040
  width: 24,
997
1041
  height: 24,
998
- className: "text-violet-400",
1042
+ className: "text-fm-secondary-600",
999
1043
  withAccessibility: true,
1000
1044
  },
1001
1045
  parameters: storyParameters,
1002
1046
  render: (args) => (
1003
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1047
+ <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">
1004
1048
  <AudioBarIcon {...args} />
1005
1049
  </div>
1006
1050
  ),
@@ -1017,30 +1061,30 @@ export const SizeVariations: Story = {
1017
1061
  },
1018
1062
  },
1019
1063
  render: () => (
1020
- <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">
1064
+ <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">
1021
1065
  <div className="text-center">
1022
- <AudioBarIcon className="!mx-auto mb-2 h-3 w-3 text-violet-400" />
1023
- <span className="text-xs text-white/60">12px</span>
1066
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
1067
+ <span className="text-fm-tertiary text-xs">12px</span>
1024
1068
  </div>
1025
1069
  <div className="text-center">
1026
- <AudioBarIcon className="!mx-auto mb-2 h-4 w-4 text-violet-400" />
1027
- <span className="text-xs text-white/60">16px</span>
1070
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
1071
+ <span className="text-fm-tertiary text-xs">16px</span>
1028
1072
  </div>
1029
1073
  <div className="text-center">
1030
- <AudioBarIcon className="!mx-auto mb-2 h-5 w-5 text-violet-400" />
1031
- <span className="text-xs text-white/60">20px</span>
1074
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
1075
+ <span className="text-fm-tertiary text-xs">20px</span>
1032
1076
  </div>
1033
1077
  <div className="text-center">
1034
- <AudioBarIcon className="!mx-auto mb-2 h-6 w-6 text-violet-400" />
1035
- <span className="text-xs text-white/60">24px</span>
1078
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
1079
+ <span className="text-fm-tertiary text-xs">24px</span>
1036
1080
  </div>
1037
1081
  <div className="text-center">
1038
- <AudioBarIcon className="!mx-auto mb-2 h-8 w-8 text-violet-400" />
1039
- <span className="text-xs text-white/60">32px</span>
1082
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
1083
+ <span className="text-fm-tertiary text-xs">32px</span>
1040
1084
  </div>
1041
1085
  <div className="text-center">
1042
- <AudioBarIcon className="!mx-auto mb-2 h-12 w-12 text-violet-400" />
1043
- <span className="text-xs text-white/60">48px</span>
1086
+ <AudioBarIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
1087
+ <span className="text-fm-tertiary text-xs">48px</span>
1044
1088
  </div>
1045
1089
  </div>
1046
1090
  ),
@@ -1057,41 +1101,47 @@ export const ColorVariations: Story = {
1057
1101
  },
1058
1102
  },
1059
1103
  render: () => (
1060
- <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-5">
1104
+ <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-5">
1061
1105
  <div className="text-center">
1062
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-violet-500/30 bg-violet-500/20">
1063
- <AudioBarIcon className="h-8 w-8 text-violet-400" />
1106
+ <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">
1107
+ <AudioBarIcon className="text-fm-secondary-600 h-8 w-8" />
1108
+ </div>
1109
+ <div className="text-fm-icon-active text-sm font-medium">Active</div>
1110
+ <div className="text-fm-secondary-600 text-xs">
1111
+ text-fm-secondary-600
1064
1112
  </div>
1065
- <div className="text-sm font-medium text-white">Active</div>
1066
- <div className="text-xs text-violet-400">text-violet-400</div>
1067
1113
  </div>
1068
1114
  <div className="text-center">
1069
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-green-500/30 bg-green-500/20">
1070
- <AudioBarIcon className="h-8 w-8 text-green-400" />
1115
+ <div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1116
+ <AudioBarIcon className="text-fm-icon-positive h-8 w-8" />
1117
+ </div>
1118
+ <div className="text-fm-icon-active text-sm font-medium">Recording</div>
1119
+ <div className="text-fm-icon-positive text-xs">
1120
+ text-fm-icon-positive
1071
1121
  </div>
1072
- <div className="text-sm font-medium text-white">Recording</div>
1073
- <div className="text-xs text-green-400">text-green-400</div>
1074
1122
  </div>
1075
1123
  <div className="text-center">
1076
- <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">
1077
- <AudioBarIcon className="h-8 w-8 text-red-400" />
1124
+ <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">
1125
+ <AudioBarIcon className="text-fm-icon-negative h-8 w-8" />
1126
+ </div>
1127
+ <div className="text-fm-icon-active text-sm font-medium">Live</div>
1128
+ <div className="text-fm-icon-negative text-xs">
1129
+ text-fm-icon-negative
1078
1130
  </div>
1079
- <div className="text-sm font-medium text-white">Live</div>
1080
- <div className="text-xs text-red-400">text-red-400</div>
1081
1131
  </div>
1082
1132
  <div className="text-center">
1083
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-blue-500/30 bg-blue-500/20">
1084
- <AudioBarIcon className="h-8 w-8 text-blue-400" />
1133
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1134
+ <AudioBarIcon className="text-fm-icon-info h-8 w-8" />
1085
1135
  </div>
1086
- <div className="text-sm font-medium text-white">Analyzing</div>
1087
- <div className="text-xs text-blue-400">text-blue-400</div>
1136
+ <div className="text-fm-icon-active text-sm font-medium">Analyzing</div>
1137
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1088
1138
  </div>
1089
1139
  <div className="text-center">
1090
- <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">
1091
- <AudioBarIcon className="h-8 w-8 text-gray-400" />
1140
+ <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">
1141
+ <AudioBarIcon className="text-fm-placeholder h-8 w-8" />
1092
1142
  </div>
1093
- <div className="text-sm font-medium text-white">Inactive</div>
1094
- <div className="text-xs text-gray-400">text-gray-400</div>
1143
+ <div className="text-fm-icon-active text-sm font-medium">Inactive</div>
1144
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
1095
1145
  </div>
1096
1146
  </div>
1097
1147
  ),
@@ -1108,37 +1158,39 @@ export const AnimatedStates: Story = {
1108
1158
  },
1109
1159
  },
1110
1160
  render: () => (
1111
- <div className="grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-4">
1161
+ <div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-linear-to-br p-8 md:grid-cols-4">
1112
1162
  <div className="text-center">
1113
- <h3 className="mb-4 text-lg font-medium text-white">Pulse</h3>
1114
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-violet-500/30 bg-violet-500/20">
1115
- <AudioBarIcon className="h-8 w-8 animate-pulse text-violet-400" />
1163
+ <h3 className="text-fm-icon-active mb-4 text-lg font-medium">Pulse</h3>
1164
+ <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">
1165
+ <AudioBarIcon className="text-fm-secondary-600 h-8 w-8 animate-pulse" />
1116
1166
  </div>
1117
- <p className="text-xs text-white/60">Active audio</p>
1167
+ <p className="text-fm-tertiary text-xs">Active audio</p>
1118
1168
  </div>
1119
1169
 
1120
1170
  <div className="text-center">
1121
- <h3 className="mb-4 text-lg font-medium text-white">Bounce</h3>
1122
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-green-500/30 bg-green-500/20">
1123
- <AudioBarIcon className="h-8 w-8 animate-bounce text-green-400" />
1171
+ <h3 className="text-fm-icon-active mb-4 text-lg font-medium">Bounce</h3>
1172
+ <div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1173
+ <AudioBarIcon className="text-fm-icon-positive h-8 w-8 animate-bounce" />
1124
1174
  </div>
1125
- <p className="text-xs text-white/60">Recording</p>
1175
+ <p className="text-fm-tertiary text-xs">Recording</p>
1126
1176
  </div>
1127
1177
 
1128
1178
  <div className="text-center">
1129
- <h3 className="mb-4 text-lg font-medium text-white">Spin</h3>
1130
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-blue-500/30 bg-blue-500/20">
1131
- <AudioBarIcon className="h-8 w-8 animate-spin text-blue-400" />
1179
+ <h3 className="text-fm-icon-active mb-4 text-lg font-medium">Spin</h3>
1180
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1181
+ <AudioBarIcon className="text-fm-icon-info h-8 w-8 animate-spin" />
1132
1182
  </div>
1133
- <p className="text-xs text-white/60">Processing</p>
1183
+ <p className="text-fm-tertiary text-xs">Processing</p>
1134
1184
  </div>
1135
1185
 
1136
1186
  <div className="text-center">
1137
- <h3 className="mb-4 text-lg font-medium text-white">Hover Scale</h3>
1138
- <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">
1139
- <AudioBarIcon className="h-8 w-8 text-red-400 transition-all hover:scale-110" />
1187
+ <h3 className="text-fm-icon-active mb-4 text-lg font-medium">
1188
+ Hover Scale
1189
+ </h3>
1190
+ <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">
1191
+ <AudioBarIcon className="text-fm-icon-negative h-8 w-8 transition-all hover:scale-110" />
1140
1192
  </div>
1141
- <p className="text-xs text-white/60">Interactive</p>
1193
+ <p className="text-fm-tertiary text-xs">Interactive</p>
1142
1194
  </div>
1143
1195
  </div>
1144
1196
  ),
@@ -1155,47 +1207,55 @@ export const UsageExamples: Story = {
1155
1207
  },
1156
1208
  },
1157
1209
  render: () => (
1158
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1210
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1159
1211
  {/* Music Player */}
1160
1212
  <div className="!space-y-2">
1161
- <h3 className="text-sm font-medium text-white">Music Player</h3>
1162
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1213
+ <h3 className="text-fm-icon-active text-sm font-medium">
1214
+ Music Player
1215
+ </h3>
1216
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1163
1217
  <div className="flex items-center gap-4">
1164
- <div className="flex h-12 w-12 items-center justify-center rounded-lg bg-violet-500/20">
1165
- <AudioBarIcon className="h-6 w-6 animate-pulse text-violet-400" />
1218
+ <div className="bg-fm-secondary-500/20 flex h-12 w-12 items-center justify-center rounded-lg">
1219
+ <AudioBarIcon className="text-fm-secondary-600 h-6 w-6 animate-pulse" />
1166
1220
  </div>
1167
1221
  <div className="flex-1">
1168
- <h4 className="font-medium text-white">Bohemian Rhapsody</h4>
1169
- <p className="text-sm text-white/60">Queen</p>
1222
+ <h4 className="text-fm-icon-active font-medium">
1223
+ Bohemian Rhapsody
1224
+ </h4>
1225
+ <p className="text-fm-tertiary text-sm">Queen</p>
1170
1226
  </div>
1171
- <div className="text-sm text-white/60">3:42</div>
1227
+ <div className="text-fm-tertiary text-sm">3:42</div>
1172
1228
  </div>
1173
1229
  </div>
1174
1230
  </div>
1175
1231
 
1176
1232
  {/* Voice Recording */}
1177
1233
  <div className="!space-y-2">
1178
- <h3 className="text-sm font-medium text-white">Voice Recording</h3>
1179
- <div className="rounded-lg border border-red-500/20 bg-red-500/10 p-4">
1234
+ <h3 className="text-fm-icon-active text-sm font-medium">
1235
+ Voice Recording
1236
+ </h3>
1237
+ <div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 rounded-lg border p-4">
1180
1238
  <div className="flex items-center justify-between">
1181
1239
  <div className="flex items-center gap-3">
1182
- <AudioBarIcon className="h-5 w-5 animate-bounce text-red-400" />
1183
- <span className="text-red-200">Recording...</span>
1240
+ <AudioBarIcon className="text-fm-icon-negative h-5 w-5 animate-bounce" />
1241
+ <span className="text-fm-icon-negative">Recording...</span>
1184
1242
  </div>
1185
- <div className="text-sm text-red-300">00:42</div>
1243
+ <div className="text-fm-icon-negative text-sm">00:42</div>
1186
1244
  </div>
1187
1245
  </div>
1188
1246
  </div>
1189
1247
 
1190
1248
  {/* Audio Controls */}
1191
1249
  <div className="!space-y-2">
1192
- <h3 className="text-sm font-medium text-white">Audio Controls</h3>
1250
+ <h3 className="text-fm-icon-active text-sm font-medium">
1251
+ Audio Controls
1252
+ </h3>
1193
1253
  <div className="flex items-center gap-4">
1194
- <button className="flex items-center gap-2 rounded-lg border border-violet-500/30 bg-violet-500/20 px-3 py-2 text-violet-200 transition-colors hover:bg-violet-500/30">
1254
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
1195
1255
  <AudioBarIcon className="h-4 w-4" />
1196
1256
  Equalizer
1197
1257
  </button>
1198
- <button className="flex items-center gap-2 rounded-lg border border-green-500/30 bg-green-500/20 px-3 py-2 text-green-200 transition-colors hover:bg-green-500/30">
1258
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
1199
1259
  <AudioBarIcon className="h-4 w-4" />
1200
1260
  Visualizer
1201
1261
  </button>
@@ -1204,20 +1264,22 @@ export const UsageExamples: Story = {
1204
1264
 
1205
1265
  {/* Audio Status */}
1206
1266
  <div className="!space-y-2">
1207
- <h3 className="text-sm font-medium text-white">Audio Status</h3>
1267
+ <h3 className="text-fm-icon-active text-sm font-medium">
1268
+ Audio Status
1269
+ </h3>
1208
1270
  <div className="!space-y-2">
1209
- <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
1210
- <span className="text-sm text-white">Microphone</span>
1271
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-3">
1272
+ <span className="text-fm-icon-active text-sm">Microphone</span>
1211
1273
  <div className="flex items-center gap-2">
1212
- <AudioBarIcon className="h-4 w-4 text-green-400" />
1213
- <span className="text-xs text-green-400">Active</span>
1274
+ <AudioBarIcon className="text-fm-icon-positive h-4 w-4" />
1275
+ <span className="text-fm-icon-positive text-xs">Active</span>
1214
1276
  </div>
1215
1277
  </div>
1216
- <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
1217
- <span className="text-sm text-white">Speakers</span>
1278
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-3">
1279
+ <span className="text-fm-icon-active text-sm">Speakers</span>
1218
1280
  <div className="flex items-center gap-2">
1219
- <AudioBarIcon className="h-4 w-4 animate-pulse text-violet-400" />
1220
- <span className="text-xs text-violet-400">Playing</span>
1281
+ <AudioBarIcon className="text-fm-secondary-600 h-4 w-4 animate-pulse" />
1282
+ <span className="text-fm-secondary-600 text-xs">Playing</span>
1221
1283
  </div>
1222
1284
  </div>
1223
1285
  </div>
@@ -1239,12 +1301,12 @@ export const Playground: Story = {
1239
1301
  args: {
1240
1302
  width: 32,
1241
1303
  height: 32,
1242
- className: "text-violet-400",
1304
+ className: "text-fm-secondary-600",
1243
1305
  fill: "#8b5cf6",
1244
1306
  },
1245
1307
  render: (args) => (
1246
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1247
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1308
+ <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">
1309
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1248
1310
  <AudioBarIcon {...args} />
1249
1311
  </div>
1250
1312
  </div>