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 VolumeHalfIcon> = {
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 VolumeHalfIcon> = {
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-emerald-900/20 to-gray-900">
83
+ <div className="from-fm-surface-primary via-fm-icon-positive/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-emerald-500/10 via-transparent to-teal-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-positive/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-emerald-500/30 bg-gradient-to-br from-emerald-500/20 to-teal-500/20">
90
- <VolumeHalfIcon className="h-12 w-12 text-emerald-400" />
89
+ <div className="border-fm-icon-positive/30 from-fm-icon-positive/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
+ <VolumeHalfIcon className="text-fm-icon-positive 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
  VolumeHalfIcon
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 medium volume audio control icon for media interfaces.
97
97
  Features the classic speaker with moderate sound waves
98
98
  design, essential for music players, video platforms, audio
@@ -103,28 +103,28 @@ const meta: Meta<typeof VolumeHalfIcon> = {
103
103
  {/* Stats */}
104
104
  <div className="flex items-center justify-center gap-8 pt-8">
105
105
  <div className="text-center">
106
- <div className="text-3xl font-bold text-emerald-300">
106
+ <div className="text-fm-icon-positive text-3xl font-bold">
107
107
  Medium Volume
108
108
  </div>
109
- <div className="text-sm text-white/60">
109
+ <div className="text-fm-tertiary text-sm">
110
110
  Balanced audio
111
111
  </div>
112
112
  </div>
113
- <div className="h-8 w-px bg-white/20" />
113
+ <div className="bg-fm-divider-primary h-8 w-px" />
114
114
  <div className="text-center">
115
- <div className="text-3xl font-bold text-teal-300">
115
+ <div className="text-fm-icon-info text-3xl font-bold">
116
116
  Accessible
117
117
  </div>
118
- <div className="text-sm text-white/60">
118
+ <div className="text-fm-tertiary text-sm">
119
119
  Screen reader friendly
120
120
  </div>
121
121
  </div>
122
- <div className="h-8 w-px bg-white/20" />
122
+ <div className="bg-fm-divider-primary h-8 w-px" />
123
123
  <div className="text-center">
124
- <div className="text-3xl font-bold text-green-300">
124
+ <div className="text-fm-icon-positive text-3xl font-bold">
125
125
  Universal
126
126
  </div>
127
- <div className="text-sm text-white/60">
127
+ <div className="text-fm-tertiary text-sm">
128
128
  Standard volume symbol
129
129
  </div>
130
130
  </div>
@@ -137,16 +137,16 @@ const meta: Meta<typeof VolumeHalfIcon> = {
137
137
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
138
138
  {/* Quick Usage */}
139
139
  <div className="!space-y-8">
140
- <h2 className="text-center text-3xl font-bold !text-white">
140
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
141
141
  Quick Start
142
142
  </h2>
143
143
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
144
144
  <div className="!space-y-4">
145
- <h3 className="text-xl font-semibold !text-emerald-300">
145
+ <h3 className="text-fm-icon-positive! text-xl font-semibold">
146
146
  Basic Usage
147
147
  </h3>
148
- <div className="rounded-lg bg-black/40 p-4">
149
- <pre className="overflow-x-auto text-sm !text-green-300">
148
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
149
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
150
150
  {`import { VolumeHalfIcon } from "@icons/volume-half-icon"
151
151
 
152
152
  function VolumeControl() {
@@ -165,12 +165,12 @@ function VolumeControl() {
165
165
  </div>
166
166
 
167
167
  <div className="!space-y-4">
168
- <h3 className="text-xl font-semibold !text-emerald-300">
168
+ <h3 className="text-fm-icon-positive! text-xl font-semibold">
169
169
  Live Preview
170
170
  </h3>
171
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
172
- <button className="rounded-lg border border-emerald-500/20 bg-emerald-500/10 p-3 transition-colors hover:bg-emerald-500/20">
173
- <VolumeHalfIcon className="h-6 w-6 text-emerald-400" />
171
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
172
+ <button className="border-fm-icon-positive/20 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 rounded-lg border p-3 transition-colors">
173
+ <VolumeHalfIcon className="text-fm-icon-positive h-6 w-6" />
174
174
  </button>
175
175
  </div>
176
176
  </div>
@@ -179,108 +179,116 @@ function VolumeControl() {
179
179
 
180
180
  {/* Props Documentation */}
181
181
  <div className="!space-y-8">
182
- <h2 className="text-center text-3xl font-bold !text-white">
182
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
183
183
  Props & Configuration
184
184
  </h2>
185
185
 
186
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
187
- <div className="bg-white/5 p-4">
188
- <h3 className="text-xl font-semibold !text-white">Props</h3>
186
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
187
+ <div className="bg-fm-surface-secondary p-4">
188
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
189
+ Props
190
+ </h3>
189
191
  </div>
190
192
  <table className="!my-0 w-full">
191
- <thead className="bg-white/5">
192
- <tr className="border-b border-white/10">
193
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
193
+ <thead className="bg-fm-surface-secondary">
194
+ <tr className="border-fm-divider-secondary border-b">
195
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
194
196
  Prop
195
197
  </th>
196
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
198
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
197
199
  Type
198
200
  </th>
199
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
201
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
200
202
  Default
201
203
  </th>
202
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
204
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
203
205
  Description
204
206
  </th>
205
207
  </tr>
206
208
  </thead>
207
209
  <tbody>
208
210
  {" "}
209
- <tr className="!bg-black/10">
210
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
211
+ <tr className="bg-fm-surface-secondary!">
212
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
211
213
  withAccessibility
212
214
  </td>
213
- <td className="px-6 py-4 text-sm !text-white/70">
215
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
214
216
  boolean
215
217
  </td>
216
- <td className="px-6 py-4 text-sm !text-white/50">
218
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
217
219
  true
218
220
  </td>
219
- <td className="px-6 py-4 text-sm !text-white/70">
221
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
220
222
  Whether to wrap the icon with accessibility feature
221
223
  </td>
222
224
  </tr>
223
- <tr className="border-b border-white/5 !bg-black/10">
224
- <td className="px-6 py-4 font-mono text-sm !text-emerald-300">
225
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
226
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
225
227
  height
226
228
  </td>
227
- <td className="px-6 py-4 text-sm !text-white/70">
229
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
228
230
  number | string
229
231
  </td>
230
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
231
- <td className="px-6 py-4 text-sm !text-white/70">
232
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
233
+ 24
234
+ </td>
235
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
232
236
  Height of the icon in pixels
233
237
  </td>
234
238
  </tr>
235
- <tr className="border-b border-white/5">
236
- <td className="px-6 py-4 font-mono text-sm !text-emerald-300">
239
+ <tr className="border-fm-divider-tertiary border-b">
240
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
237
241
  stroke
238
242
  </td>
239
- <td className="px-6 py-4 text-sm !text-white/70">
243
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
240
244
  string
241
245
  </td>
242
- <td className="px-6 py-4 text-sm !text-white/50">
246
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
243
247
  currentColor
244
248
  </td>
245
- <td className="px-6 py-4 text-sm !text-white/70">
249
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
246
250
  Stroke color of the icon
247
251
  </td>
248
252
  </tr>
249
- <tr className="border-b border-white/5 !bg-black/10">
250
- <td className="px-6 py-4 font-mono text-sm !text-emerald-300">
253
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
254
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
251
255
  strokeWidth
252
256
  </td>
253
- <td className="px-6 py-4 text-sm !text-white/70">
257
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
254
258
  string | number
255
259
  </td>
256
- <td className="px-6 py-4 text-sm !text-white/50">
260
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
257
261
  1.5
258
262
  </td>
259
- <td className="px-6 py-4 text-sm !text-white/70">
263
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
260
264
  Width of the stroke
261
265
  </td>
262
266
  </tr>
263
- <tr className="border-b border-white/5">
264
- <td className="px-6 py-4 font-mono text-sm !text-emerald-300">
267
+ <tr className="border-fm-divider-tertiary border-b">
268
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
265
269
  className
266
270
  </td>
267
- <td className="px-6 py-4 text-sm !text-white/70">
271
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
268
272
  string
269
273
  </td>
270
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
271
- <td className="px-6 py-4 text-sm !text-white/70">
274
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
275
+ -
276
+ </td>
277
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
272
278
  CSS classes for styling (use for overrides)
273
279
  </td>
274
280
  </tr>
275
- <tr className="!bg-black/10">
276
- <td className="px-6 py-4 font-mono text-sm !text-emerald-300">
281
+ <tr className="bg-fm-surface-secondary!">
282
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
277
283
  ...svgProps
278
284
  </td>
279
- <td className="px-6 py-4 text-sm !text-white/70">
285
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
280
286
  SVGProps
281
287
  </td>
282
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
283
- <td className="px-6 py-4 text-sm !text-white/70">
288
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
289
+ -
290
+ </td>
291
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
284
292
  All standard SVG element props
285
293
  </td>
286
294
  </tr>
@@ -291,50 +299,62 @@ function VolumeControl() {
291
299
 
292
300
  {/* Size Variations */}
293
301
  <div className="!space-y-8">
294
- <h2 className="text-center text-3xl font-bold !text-white">
302
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
295
303
  Size Variations
296
304
  </h2>
297
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
305
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
298
306
  <div className="!space-y-6">
299
307
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
300
308
  <div className="!space-y-4">
301
- <h3 className="text-lg font-semibold !text-emerald-300">
309
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
302
310
  Standard Sizes
303
311
  </h3>
304
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
312
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
305
313
  <div className="text-center">
306
- <VolumeHalfIcon className="!mx-auto mb-2 h-3 w-3 text-emerald-400" />
307
- <span className="text-xs text-white/60">12px</span>
314
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
315
+ <span className="text-fm-tertiary text-xs">
316
+ 12px
317
+ </span>
308
318
  </div>
309
319
  <div className="text-center">
310
- <VolumeHalfIcon className="!mx-auto mb-2 h-4 w-4 text-emerald-400" />
311
- <span className="text-xs text-white/60">16px</span>
320
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
321
+ <span className="text-fm-tertiary text-xs">
322
+ 16px
323
+ </span>
312
324
  </div>
313
325
  <div className="text-center">
314
- <VolumeHalfIcon className="!mx-auto mb-2 h-5 w-5 text-emerald-400" />
315
- <span className="text-xs text-white/60">20px</span>
326
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
327
+ <span className="text-fm-tertiary text-xs">
328
+ 20px
329
+ </span>
316
330
  </div>
317
331
  <div className="text-center">
318
- <VolumeHalfIcon className="!mx-auto mb-2 h-6 w-6 text-emerald-400" />
319
- <span className="text-xs text-white/60">24px</span>
332
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
333
+ <span className="text-fm-tertiary text-xs">
334
+ 24px
335
+ </span>
320
336
  </div>
321
337
  <div className="text-center">
322
- <VolumeHalfIcon className="!mx-auto mb-2 h-8 w-8 text-emerald-400" />
323
- <span className="text-xs text-white/60">32px</span>
338
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
339
+ <span className="text-fm-tertiary text-xs">
340
+ 32px
341
+ </span>
324
342
  </div>
325
343
  <div className="text-center">
326
- <VolumeHalfIcon className="!mx-auto mb-2 h-12 w-12 text-emerald-400" />
327
- <span className="text-xs text-white/60">48px</span>
344
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
345
+ <span className="text-fm-tertiary text-xs">
346
+ 48px
347
+ </span>
328
348
  </div>
329
349
  </div>
330
350
  </div>
331
351
 
332
352
  <div className="!space-y-4">
333
- <h3 className="text-lg font-semibold !text-emerald-300">
353
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
334
354
  Code Example
335
355
  </h3>
336
- <div className="rounded-lg bg-black/40 p-4">
337
- <pre className="overflow-x-auto text-sm !text-cyan-300">
356
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
357
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
338
358
  {`// Small (16px) - compact controls
339
359
  <VolumeHalfIcon className="h-4 w-4" />
340
360
 
@@ -356,56 +376,56 @@ function VolumeControl() {
356
376
 
357
377
  {/* Color Variations */}
358
378
  <div className="!space-y-8">
359
- <h2 className="text-center text-3xl font-bold !text-white">
379
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
360
380
  Color Variations
361
381
  </h2>
362
382
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
363
383
  <div className="!space-y-4">
364
- <h3 className="text-lg font-semibold !text-emerald-300">
384
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
365
385
  Semantic Colors
366
386
  </h3>
367
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
387
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
368
388
  <div className="flex items-center gap-4">
369
- <VolumeHalfIcon className="h-6 w-6 text-emerald-400" />
389
+ <VolumeHalfIcon className="text-fm-icon-positive h-6 w-6" />
370
390
  <div>
371
- <div className="text-sm font-medium text-white">
391
+ <div className="text-fm-icon-active text-sm font-medium">
372
392
  Medium Volume
373
393
  </div>
374
- <div className="text-xs text-white/60">
375
- text-emerald-400
394
+ <div className="text-fm-tertiary text-xs">
395
+ text-fm-icon-positive
376
396
  </div>
377
397
  </div>
378
398
  </div>
379
399
  <div className="flex items-center gap-4">
380
- <VolumeHalfIcon className="h-6 w-6 text-teal-400" />
400
+ <VolumeHalfIcon className="text-fm-icon-info h-6 w-6" />
381
401
  <div>
382
- <div className="text-sm font-medium text-white">
402
+ <div className="text-fm-icon-active text-sm font-medium">
383
403
  Balanced
384
404
  </div>
385
- <div className="text-xs text-white/60">
386
- text-teal-400
405
+ <div className="text-fm-tertiary text-xs">
406
+ text-fm-icon-info
387
407
  </div>
388
408
  </div>
389
409
  </div>
390
410
  <div className="flex items-center gap-4">
391
- <VolumeHalfIcon className="h-6 w-6 text-green-400" />
411
+ <VolumeHalfIcon className="text-fm-icon-positive h-6 w-6" />
392
412
  <div>
393
- <div className="text-sm font-medium text-white">
413
+ <div className="text-fm-icon-active text-sm font-medium">
394
414
  Active
395
415
  </div>
396
- <div className="text-xs text-white/60">
397
- text-green-400
416
+ <div className="text-fm-tertiary text-xs">
417
+ text-fm-icon-positive
398
418
  </div>
399
419
  </div>
400
420
  </div>
401
421
  <div className="flex items-center gap-4">
402
- <VolumeHalfIcon className="h-6 w-6 text-blue-400" />
422
+ <VolumeHalfIcon className="text-fm-icon-info h-6 w-6" />
403
423
  <div>
404
- <div className="text-sm font-medium text-white">
424
+ <div className="text-fm-icon-active text-sm font-medium">
405
425
  Accent
406
426
  </div>
407
- <div className="text-xs text-white/60">
408
- text-blue-400
427
+ <div className="text-fm-tertiary text-xs">
428
+ text-fm-icon-info
409
429
  </div>
410
430
  </div>
411
431
  </div>
@@ -413,11 +433,11 @@ function VolumeControl() {
413
433
  </div>
414
434
 
415
435
  <div className="!space-y-4">
416
- <h3 className="text-lg font-semibold !text-emerald-300">
436
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
417
437
  Custom Colors
418
438
  </h3>
419
- <div className="rounded-lg bg-black/40 p-4">
420
- <pre className="overflow-x-auto text-sm !text-green-300">
439
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
440
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
421
441
  {`// Using Tailwind classes
422
442
  <VolumeHalfIcon className="h-6 w-6 text-emerald-400" />
423
443
  <VolumeHalfIcon className="h-6 w-6 text-teal-500" />
@@ -442,53 +462,53 @@ function VolumeControl() {
442
462
 
443
463
  {/* Usage Examples */}
444
464
  <div className="!space-y-8">
445
- <h2 className="text-center text-3xl font-bold !text-white">
465
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
446
466
  Usage Examples
447
467
  </h2>
448
468
 
449
469
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
450
470
  {/* Music Player */}
451
471
  <div className="!space-y-4">
452
- <h3 className="text-lg font-semibold !text-emerald-300">
472
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
453
473
  Music Player
454
474
  </h3>
455
475
  <div className="!space-y-4">
456
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
476
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
457
477
  <div className="mb-4 flex items-center gap-3">
458
- <div className="h-12 w-12 rounded-lg bg-gradient-to-br from-emerald-500/20 to-teal-500/20" />
478
+ <div className="from-fm-icon-positive/20 to-fm-icon-info/20 h-12 w-12 rounded-lg bg-linear-to-br" />
459
479
  <div>
460
- <div className="text-sm font-medium !text-white">
480
+ <div className="text-fm-icon-active! text-sm font-medium">
461
481
  Ambient Sounds
462
482
  </div>
463
- <div className="text-xs !text-white/60">
483
+ <div className="text-fm-tertiary! text-xs">
464
484
  Nature Collection
465
485
  </div>
466
486
  </div>
467
487
  </div>
468
488
  <div className="mb-4 flex items-center justify-center gap-4">
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" />
489
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
490
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
471
491
  </button>
472
- <button className="rounded-lg p-3 transition-colors hover:bg-white/10">
473
- <div className="h-8 w-8 rounded-full border-2 border-white/60 bg-white/20" />
492
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-3 transition-colors">
493
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-8 w-8 rounded-full border-2" />
474
494
  </button>
475
- <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
476
- <div className="h-6 w-6 rounded-full border border-white/60 bg-white/20" />
495
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
496
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
477
497
  </button>
478
498
  </div>
479
499
  <div className="flex items-center justify-between">
480
- <div className="text-xs text-white/60">1:23</div>
500
+ <div className="text-fm-tertiary text-xs">1:23</div>
481
501
  <div className="flex items-center gap-2">
482
- <VolumeHalfIcon className="h-4 w-4 text-emerald-400" />
483
- <div className="h-1 w-20 rounded-full bg-white/20">
484
- <div className="h-full w-1/2 rounded-full bg-emerald-400" />
502
+ <VolumeHalfIcon className="text-fm-icon-positive h-4 w-4" />
503
+ <div className="bg-fm-divider-primary h-1 w-20 rounded-full">
504
+ <div className="bg-fm-icon-positive h-full w-1/2 rounded-full" />
485
505
  </div>
486
506
  </div>
487
- <div className="text-xs text-white/60">3:45</div>
507
+ <div className="text-fm-tertiary text-xs">3:45</div>
488
508
  </div>
489
509
  </div>
490
- <div className="rounded-lg bg-black/40 p-4">
491
- <pre className="overflow-x-auto text-sm !text-green-300">
510
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
511
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
492
512
  {`// Music player with medium volume
493
513
  <div className="player-controls">
494
514
  <div className="volume-section">
@@ -512,16 +532,16 @@ function VolumeControl() {
512
532
 
513
533
  {/* Video Conference */}
514
534
  <div className="!space-y-4">
515
- <h3 className="text-lg font-semibold !text-emerald-300">
535
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
516
536
  Video Conference
517
537
  </h3>
518
538
  <div className="!space-y-4">
519
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
539
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
520
540
  <div className="mb-4">
521
- <div className="text-sm font-medium !text-white">
541
+ <div className="text-fm-icon-active! text-sm font-medium">
522
542
  Weekly Standup
523
543
  </div>
524
- <div className="text-xs !text-white/60">
544
+ <div className="text-fm-tertiary! text-xs">
525
545
  3 participants
526
546
  </div>
527
547
  </div>
@@ -529,33 +549,33 @@ function VolumeControl() {
529
549
  {[...Array(3)].map((_, i) => (
530
550
  <div
531
551
  key={i}
532
- className="rounded bg-white/5 p-3 text-center"
552
+ className="bg-fm-surface-secondary rounded p-3 text-center"
533
553
  >
534
- <div className="mx-auto mb-2 h-10 w-10 rounded-full bg-gradient-to-br from-emerald-400/20 to-teal-400/20" />
535
- <div className="text-xs font-medium text-white">
554
+ <div className="from-fm-icon-positive/20 to-fm-icon-info/20 mx-auto mb-2 h-10 w-10 rounded-full bg-linear-to-br" />
555
+ <div className="text-fm-icon-active text-xs font-medium">
536
556
  User {i + 1}
537
557
  </div>
538
558
  <div className="mt-1 flex justify-center">
539
559
  {i === 1 ? (
540
- <VolumeHalfIcon className="h-3 w-3 text-emerald-400" />
560
+ <VolumeHalfIcon className="text-fm-icon-positive h-3 w-3" />
541
561
  ) : (
542
- <div className="h-3 w-3 rounded-full bg-gray-400/20" />
562
+ <div className="bg-fm-surface-tertiary/20 h-3 w-3 rounded-full" />
543
563
  )}
544
564
  </div>
545
565
  </div>
546
566
  ))}
547
567
  </div>
548
568
  <div className="flex justify-center gap-3">
549
- <button className="rounded-lg border border-emerald-500/30 bg-emerald-500/20 p-2 hover:bg-emerald-500/30">
550
- <VolumeHalfIcon className="h-5 w-5 text-emerald-400" />
569
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 hover:bg-fm-icon-positive/30 rounded-lg border p-2">
570
+ <VolumeHalfIcon className="text-fm-icon-positive h-5 w-5" />
551
571
  </button>
552
- <button className="rounded-lg border border-white/20 bg-white/10 p-2 hover:bg-white/20">
553
- <div className="h-5 w-5 rounded-full border border-white/60 bg-white/20" />
572
+ <button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-divider-primary rounded-lg border p-2">
573
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-5 w-5 rounded-full border" />
554
574
  </button>
555
575
  </div>
556
576
  </div>
557
- <div className="rounded-lg bg-black/40 p-4">
558
- <pre className="overflow-x-auto text-sm !text-green-300">
577
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
578
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
559
579
  {`// Conference call audio indicator
560
580
  <div className="participant-card">
561
581
  <div className="participant-info">
@@ -581,71 +601,71 @@ function VolumeControl() {
581
601
 
582
602
  {/* Audio Dashboard */}
583
603
  <div className="!space-y-4">
584
- <h3 className="text-lg font-semibold !text-emerald-300">
604
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
585
605
  Audio Dashboard
586
606
  </h3>
587
607
  <div className="!space-y-4">
588
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
608
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
589
609
  <div className="!space-y-4">
590
610
  <div>
591
- <h4 className="mb-3 text-sm font-medium text-white">
611
+ <h4 className="text-fm-icon-active mb-3 text-sm font-medium">
592
612
  Audio Levels
593
613
  </h4>
594
614
  <div className="space-y-3">
595
615
  <div className="flex items-center justify-between">
596
616
  <div className="flex items-center gap-3">
597
- <VolumeHalfIcon className="h-5 w-5 text-emerald-400" />
617
+ <VolumeHalfIcon className="text-fm-icon-positive h-5 w-5" />
598
618
  <div>
599
- <div className="text-sm text-white">
619
+ <div className="text-fm-icon-active text-sm">
600
620
  Master Volume
601
621
  </div>
602
- <div className="text-xs text-white/60">
622
+ <div className="text-fm-tertiary text-xs">
603
623
  50%
604
624
  </div>
605
625
  </div>
606
626
  </div>
607
- <div className="h-2 w-24 rounded-full bg-white/20">
608
- <div className="h-full w-1/2 rounded-full bg-emerald-400" />
627
+ <div className="bg-fm-divider-primary h-2 w-24 rounded-full">
628
+ <div className="bg-fm-icon-positive h-full w-1/2 rounded-full" />
609
629
  </div>
610
630
  </div>
611
631
  <div className="flex items-center justify-between">
612
632
  <div className="flex items-center gap-3">
613
- <VolumeHalfIcon className="h-5 w-5 text-teal-400" />
633
+ <VolumeHalfIcon className="text-fm-icon-info h-5 w-5" />
614
634
  <div>
615
- <div className="text-sm text-white">
635
+ <div className="text-fm-icon-active text-sm">
616
636
  Effects
617
637
  </div>
618
- <div className="text-xs text-white/60">
638
+ <div className="text-fm-tertiary text-xs">
619
639
  40%
620
640
  </div>
621
641
  </div>
622
642
  </div>
623
- <div className="h-2 w-24 rounded-full bg-white/20">
624
- <div className="h-full w-2/5 rounded-full bg-teal-400" />
643
+ <div className="bg-fm-divider-primary h-2 w-24 rounded-full">
644
+ <div className="bg-fm-icon-info h-full w-2/5 rounded-full" />
625
645
  </div>
626
646
  </div>
627
647
  <div className="flex items-center justify-between">
628
648
  <div className="flex items-center gap-3">
629
- <VolumeHalfIcon className="h-5 w-5 text-green-400" />
649
+ <VolumeHalfIcon className="text-fm-icon-positive h-5 w-5" />
630
650
  <div>
631
- <div className="text-sm text-white">
651
+ <div className="text-fm-icon-active text-sm">
632
652
  Background
633
653
  </div>
634
- <div className="text-xs text-white/60">
654
+ <div className="text-fm-tertiary text-xs">
635
655
  60%
636
656
  </div>
637
657
  </div>
638
658
  </div>
639
- <div className="h-2 w-24 rounded-full bg-white/20">
640
- <div className="h-full w-3/5 rounded-full bg-green-400" />
659
+ <div className="bg-fm-divider-primary h-2 w-24 rounded-full">
660
+ <div className="bg-fm-icon-positive h-full w-3/5 rounded-full" />
641
661
  </div>
642
662
  </div>
643
663
  </div>
644
664
  </div>
645
665
  </div>
646
666
  </div>
647
- <div className="rounded-lg bg-black/40 p-4">
648
- <pre className="overflow-x-auto text-sm !text-green-300">
667
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
668
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
649
669
  {`// Audio level dashboard
650
670
  <div className="audio-dashboard">
651
671
  {audioChannels.map(channel => (
@@ -676,48 +696,50 @@ function VolumeControl() {
676
696
 
677
697
  {/* Podcast Player */}
678
698
  <div className="!space-y-4">
679
- <h3 className="text-lg font-semibold !text-emerald-300">
699
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
680
700
  Podcast Player
681
701
  </h3>
682
702
  <div className="!space-y-4">
683
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
703
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
684
704
  <div className="mb-4">
685
- <div className="text-sm font-medium !text-white">
705
+ <div className="text-fm-icon-active! text-sm font-medium">
686
706
  Design Talk
687
707
  </div>
688
- <div className="text-xs !text-white/60">
708
+ <div className="text-fm-tertiary! text-xs">
689
709
  Episode 12: Color Theory
690
710
  </div>
691
711
  </div>
692
712
  <div className="mb-4 flex items-center justify-between">
693
713
  <div className="flex items-center gap-4">
694
- <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
695
- <div className="h-6 w-6 rounded-full border border-white/60 bg-white/20" />
714
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
715
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
696
716
  </button>
697
- <button className="rounded-lg p-3 transition-colors hover:bg-white/10">
698
- <div className="h-8 w-8 rounded-full border-2 border-white/60 bg-white/20" />
717
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-3 transition-colors">
718
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-8 w-8 rounded-full border-2" />
699
719
  </button>
700
- <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
701
- <div className="h-6 w-6 rounded-full border border-white/60 bg-white/20" />
720
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
721
+ <div className="border-fm-divider-contrast bg-fm-divider-primary h-6 w-6 rounded-full border" />
702
722
  </button>
703
723
  </div>
704
724
  <div className="flex items-center gap-2">
705
- <span className="text-xs text-white/60">1.5x</span>
725
+ <span className="text-fm-tertiary text-xs">
726
+ 1.5x
727
+ </span>
706
728
  </div>
707
729
  </div>
708
730
  <div className="flex items-center justify-between">
709
- <div className="text-xs text-white/60">15:42</div>
731
+ <div className="text-fm-tertiary text-xs">15:42</div>
710
732
  <div className="flex items-center gap-2">
711
- <VolumeHalfIcon className="h-4 w-4 text-emerald-400" />
712
- <div className="h-1 w-16 rounded-full bg-white/20">
713
- <div className="h-full w-1/2 rounded-full bg-emerald-400" />
733
+ <VolumeHalfIcon className="text-fm-icon-positive h-4 w-4" />
734
+ <div className="bg-fm-divider-primary h-1 w-16 rounded-full">
735
+ <div className="bg-fm-icon-positive h-full w-1/2 rounded-full" />
714
736
  </div>
715
737
  </div>
716
- <div className="text-xs text-white/60">42:18</div>
738
+ <div className="text-fm-tertiary text-xs">42:18</div>
717
739
  </div>
718
740
  </div>
719
- <div className="rounded-lg bg-black/40 p-4">
720
- <pre className="overflow-x-auto text-sm !text-green-300">
741
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
742
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
721
743
  {`// Podcast player with balanced audio
722
744
  <div className="podcast-player">
723
745
  <div className="episode-info">
@@ -746,65 +768,65 @@ function VolumeControl() {
746
768
 
747
769
  {/* Accessibility */}
748
770
  <div className="!space-y-8">
749
- <h2 className="text-center text-3xl font-bold !text-white">
771
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
750
772
  Accessibility Features
751
773
  </h2>
752
774
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
753
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
754
- <h3 className="text-lg font-semibold !text-green-300">
775
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
776
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
755
777
  ✅ Built-in Features
756
778
  </h3>
757
- <ul className="!space-y-2 text-sm !text-white/70">
758
- <li className="!text-white/70">
779
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
780
+ <li className="text-fm-secondary!">
759
781
  Uses Radix UI AccessibleIcon wrapper
760
782
  </li>
761
- <li className="!text-white/70">
783
+ <li className="text-fm-secondary!">
762
784
  Provides screen reader label "Volume half icon"
763
785
  </li>
764
- <li className="!text-white/70">
786
+ <li className="text-fm-secondary!">
765
787
  Supports keyboard navigation when interactive
766
788
  </li>
767
- <li className="!text-white/70">
789
+ <li className="text-fm-secondary!">
768
790
  Maintains proper color contrast ratios
769
791
  </li>
770
- <li className="!text-white/70">
792
+ <li className="text-fm-secondary!">
771
793
  Scales with user's font size preferences
772
794
  </li>
773
795
  </ul>
774
796
  </div>
775
797
 
776
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
777
- <h3 className="text-lg font-semibold !text-emerald-300">
798
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
799
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
778
800
  💡 Best Practices
779
801
  </h3>
780
- <ul className="!space-y-2 text-sm text-white/70">
781
- <li className="!text-white/70">
802
+ <ul className="text-fm-secondary !space-y-2 text-sm">
803
+ <li className="text-fm-secondary!">
782
804
  Always provide descriptive aria-labels for volume
783
805
  controls
784
806
  </li>
785
- <li className="!text-white/70">
807
+ <li className="text-fm-secondary!">
786
808
  Use consistent placement in audio control groups
787
809
  </li>
788
- <li className="!text-white/70">
810
+ <li className="text-fm-secondary!">
789
811
  Ensure sufficient touch target size (44px minimum)
790
812
  </li>
791
- <li className="!text-white/70">
813
+ <li className="text-fm-secondary!">
792
814
  Provide visible focus states for keyboard users
793
815
  </li>
794
- <li className="!text-white/70">
816
+ <li className="text-fm-secondary!">
795
817
  Consider keyboard shortcuts for volume adjustment
796
818
  </li>
797
819
  </ul>
798
820
  </div>
799
821
  </div>
800
822
 
801
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
802
- <h3 className="mb-4 text-lg font-semibold !text-teal-300">
823
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
824
+ <h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
803
825
  Proper ARIA Implementation
804
826
  </h3>
805
827
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
806
- <div className="rounded-lg bg-black/40 p-4">
807
- <pre className="overflow-x-auto text-sm !text-cyan-300">
828
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
829
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
808
830
  {`// Volume control with proper ARIA
809
831
  <div className="volume-control">
810
832
  <button
@@ -846,13 +868,13 @@ function VolumeControl() {
846
868
  </pre>
847
869
  </div>
848
870
  <div className="!space-y-4">
849
- <p className="text-sm !text-white/70">
871
+ <p className="text-fm-secondary! text-sm">
850
872
  When using VolumeHalfIcon for volume controls, always
851
873
  provide clear context about the current volume level and
852
874
  what the control will do.
853
875
  </p>
854
- <div className="rounded-lg border border-emerald-500/20 bg-emerald-500/10 p-4">
855
- <div className="flex items-center gap-2 text-sm text-emerald-200">
876
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
877
+ <div className="text-fm-icon-positive flex items-center gap-2 text-sm">
856
878
  <VolumeHalfIcon className="h-4 w-4" />
857
879
  <span>
858
880
  Screen readers need context about volume levels and
@@ -867,52 +889,54 @@ function VolumeControl() {
867
889
 
868
890
  {/* Related Icons */}
869
891
  <div className="!space-y-8">
870
- <h2 className="text-center text-3xl font-bold !text-white">
892
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
871
893
  Related Icons
872
894
  </h2>
873
895
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
874
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
875
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
876
- <span className="!text-2xl !text-white">🔊</span>
896
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
897
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
898
+ <span className="text-fm-icon-active! !text-2xl">🔊</span>
877
899
  </div>
878
900
  <div>
879
- <div className="font-medium text-white">
901
+ <div className="text-fm-icon-active font-medium">
880
902
  VolumeHighIcon
881
903
  </div>
882
- <div className="text-xs text-white/60">High volume</div>
904
+ <div className="text-fm-tertiary text-xs">
905
+ High volume
906
+ </div>
883
907
  </div>
884
908
  </div>
885
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
886
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-yellow-500/20">
887
- <span className="!text-2xl !text-white">🔉</span>
909
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
910
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
911
+ <span className="text-fm-icon-active! !text-2xl">🔉</span>
888
912
  </div>
889
913
  <div>
890
- <div className="font-medium text-white">
914
+ <div className="text-fm-icon-active font-medium">
891
915
  VolumeLowIcon
892
916
  </div>
893
- <div className="text-xs text-white/60">Low volume</div>
917
+ <div className="text-fm-tertiary text-xs">Low volume</div>
894
918
  </div>
895
919
  </div>
896
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
897
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-gray-500/20">
898
- <span className="!text-2xl !text-white">🔇</span>
920
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
921
+ <div className="bg-fm-surface-tertiary/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
922
+ <span className="text-fm-icon-active! !text-2xl">🔇</span>
899
923
  </div>
900
924
  <div>
901
- <div className="font-medium text-white">
925
+ <div className="text-fm-icon-active font-medium">
902
926
  VolumeOffIcon
903
927
  </div>
904
- <div className="text-xs text-white/60">Muted</div>
928
+ <div className="text-fm-tertiary text-xs">Muted</div>
905
929
  </div>
906
930
  </div>
907
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
908
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
909
- <span className="!text-2xl !text-white">🎚️</span>
931
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
932
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
933
+ <span className="text-fm-icon-active! !text-2xl">🎚️</span>
910
934
  </div>
911
935
  <div>
912
- <div className="font-medium text-white">
936
+ <div className="text-fm-icon-active font-medium">
913
937
  EqualizerIcon
914
938
  </div>
915
- <div className="text-xs text-white/60">
939
+ <div className="text-fm-tertiary text-xs">
916
940
  Audio settings
917
941
  </div>
918
942
  </div>
@@ -922,14 +946,14 @@ function VolumeControl() {
922
946
  </div>
923
947
 
924
948
  {/* Footer */}
925
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
949
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
926
950
  <div className="!mx-auto max-w-7xl px-6 py-8">
927
951
  <div className="!space-y-4 text-center">
928
- <p className="!text-white/60">
952
+ <p className="text-fm-tertiary!">
929
953
  VolumeHalfIcon is part of the Aural UI icon library, built
930
954
  with accessibility and audio control best practices in mind.
931
955
  </p>
932
- <p className="text-sm !text-white/40">
956
+ <p className="text-fm-placeholder! text-sm">
933
957
  All icons use Radix UI's AccessibleIcon for screen reader
934
958
  compatibility and follow WCAG guidelines for media controls.
935
959
  </p>
@@ -982,20 +1006,20 @@ const storyParameters = {
982
1006
  backgrounds: {
983
1007
  default: "dark",
984
1008
  values: [
985
- { name: "dark", value: "#0a0a0a" },
986
- { name: "darker", value: "#000000" },
1009
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1010
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
987
1011
  ],
988
1012
  },
989
1013
  }
990
1014
 
991
1015
  export const Default: Story = {
992
1016
  args: {
993
- className: "h-8 w-8 text-emerald-400",
1017
+ className: "h-8 w-8 text-fm-icon-positive",
994
1018
  withAccessibility: true,
995
1019
  },
996
1020
  parameters: storyParameters,
997
1021
  render: (args) => (
998
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1022
+ <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">
999
1023
  <VolumeHalfIcon {...args} />
1000
1024
  </div>
1001
1025
  ),
@@ -1012,30 +1036,30 @@ export const SizeVariations: Story = {
1012
1036
  },
1013
1037
  },
1014
1038
  render: () => (
1015
- <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">
1039
+ <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">
1016
1040
  <div className="text-center">
1017
- <VolumeHalfIcon className="!mx-auto mb-2 h-3 w-3 text-emerald-400" />
1018
- <span className="text-xs text-white/60">12px</span>
1041
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
1042
+ <span className="text-fm-tertiary text-xs">12px</span>
1019
1043
  </div>
1020
1044
  <div className="text-center">
1021
- <VolumeHalfIcon className="!mx-auto mb-2 h-4 w-4 text-emerald-400" />
1022
- <span className="text-xs text-white/60">16px</span>
1045
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
1046
+ <span className="text-fm-tertiary text-xs">16px</span>
1023
1047
  </div>
1024
1048
  <div className="text-center">
1025
- <VolumeHalfIcon className="!mx-auto mb-2 h-5 w-5 text-emerald-400" />
1026
- <span className="text-xs text-white/60">20px</span>
1049
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
1050
+ <span className="text-fm-tertiary text-xs">20px</span>
1027
1051
  </div>
1028
1052
  <div className="text-center">
1029
- <VolumeHalfIcon className="!mx-auto mb-2 h-6 w-6 text-emerald-400" />
1030
- <span className="text-xs text-white/60">24px</span>
1053
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
1054
+ <span className="text-fm-tertiary text-xs">24px</span>
1031
1055
  </div>
1032
1056
  <div className="text-center">
1033
- <VolumeHalfIcon className="!mx-auto mb-2 h-8 w-8 text-emerald-400" />
1034
- <span className="text-xs text-white/60">32px</span>
1057
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
1058
+ <span className="text-fm-tertiary text-xs">32px</span>
1035
1059
  </div>
1036
1060
  <div className="text-center">
1037
- <VolumeHalfIcon className="!mx-auto mb-2 h-12 w-12 text-emerald-400" />
1038
- <span className="text-xs text-white/60">48px</span>
1061
+ <VolumeHalfIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
1062
+ <span className="text-fm-tertiary text-xs">48px</span>
1039
1063
  </div>
1040
1064
  </div>
1041
1065
  ),
@@ -1052,34 +1076,38 @@ export const ColorVariations: Story = {
1052
1076
  },
1053
1077
  },
1054
1078
  render: () => (
1055
- <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">
1079
+ <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">
1056
1080
  <div className="text-center">
1057
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-emerald-500/30 bg-emerald-500/20">
1058
- <VolumeHalfIcon className="h-8 w-8 text-emerald-400" />
1081
+ <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">
1082
+ <VolumeHalfIcon className="text-fm-icon-positive h-8 w-8" />
1083
+ </div>
1084
+ <div className="text-fm-icon-active text-sm font-medium">Medium</div>
1085
+ <div className="text-fm-icon-positive text-xs">
1086
+ text-fm-icon-positive
1059
1087
  </div>
1060
- <div className="text-sm font-medium text-white">Medium</div>
1061
- <div className="text-xs text-emerald-400">text-emerald-400</div>
1062
1088
  </div>
1063
1089
  <div className="text-center">
1064
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-teal-500/30 bg-teal-500/20">
1065
- <VolumeHalfIcon className="h-8 w-8 text-teal-400" />
1090
+ <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">
1091
+ <VolumeHalfIcon className="text-fm-icon-info h-8 w-8" />
1066
1092
  </div>
1067
- <div className="text-sm font-medium text-white">Balanced</div>
1068
- <div className="text-xs text-teal-400">text-teal-400</div>
1093
+ <div className="text-fm-icon-active text-sm font-medium">Balanced</div>
1094
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1069
1095
  </div>
1070
1096
  <div className="text-center">
1071
- <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">
1072
- <VolumeHalfIcon className="h-8 w-8 text-green-400" />
1097
+ <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">
1098
+ <VolumeHalfIcon className="text-fm-icon-positive h-8 w-8" />
1099
+ </div>
1100
+ <div className="text-fm-icon-active text-sm font-medium">Active</div>
1101
+ <div className="text-fm-icon-positive text-xs">
1102
+ text-fm-icon-positive
1073
1103
  </div>
1074
- <div className="text-sm font-medium text-white">Active</div>
1075
- <div className="text-xs text-green-400">text-green-400</div>
1076
1104
  </div>
1077
1105
  <div className="text-center">
1078
- <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">
1079
- <VolumeHalfIcon className="h-8 w-8 text-blue-400" />
1106
+ <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">
1107
+ <VolumeHalfIcon className="text-fm-icon-info h-8 w-8" />
1080
1108
  </div>
1081
- <div className="text-sm font-medium text-white">Accent</div>
1082
- <div className="text-xs text-blue-400">text-blue-400</div>
1109
+ <div className="text-fm-icon-active text-sm font-medium">Accent</div>
1110
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1083
1111
  </div>
1084
1112
  </div>
1085
1113
  ),
@@ -1096,38 +1124,42 @@ export const UsageExamples: Story = {
1096
1124
  },
1097
1125
  },
1098
1126
  render: () => (
1099
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1127
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1100
1128
  {/* Music Player */}
1101
1129
  <div className="!space-y-2">
1102
- <h3 className="text-sm font-medium text-white">Music Player</h3>
1103
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
1130
+ <h3 className="text-fm-icon-active text-sm font-medium">
1131
+ Music Player
1132
+ </h3>
1133
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
1104
1134
  <div className="flex items-center justify-between">
1105
- <div className="text-xs text-white/60">1:23</div>
1135
+ <div className="text-fm-tertiary text-xs">1:23</div>
1106
1136
  <div className="flex items-center gap-2">
1107
- <VolumeHalfIcon className="h-4 w-4 text-emerald-400" />
1108
- <div className="h-1 w-20 rounded-full bg-white/20">
1109
- <div className="h-full w-1/2 rounded-full bg-emerald-400" />
1137
+ <VolumeHalfIcon className="text-fm-icon-positive h-4 w-4" />
1138
+ <div className="bg-fm-divider-primary h-1 w-20 rounded-full">
1139
+ <div className="bg-fm-icon-positive h-full w-1/2 rounded-full" />
1110
1140
  </div>
1111
1141
  </div>
1112
- <div className="text-xs text-white/60">3:45</div>
1142
+ <div className="text-fm-tertiary text-xs">3:45</div>
1113
1143
  </div>
1114
1144
  </div>
1115
1145
  </div>
1116
1146
 
1117
1147
  {/* Audio Dashboard */}
1118
1148
  <div className="!space-y-2">
1119
- <h3 className="text-sm font-medium text-white">Audio Dashboard</h3>
1120
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1149
+ <h3 className="text-fm-icon-active text-sm font-medium">
1150
+ Audio Dashboard
1151
+ </h3>
1152
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1121
1153
  <div className="flex items-center justify-between">
1122
1154
  <div className="flex items-center gap-3">
1123
- <VolumeHalfIcon className="h-5 w-5 text-emerald-400" />
1155
+ <VolumeHalfIcon className="text-fm-icon-positive h-5 w-5" />
1124
1156
  <div>
1125
- <div className="text-sm text-white">Master Volume</div>
1126
- <div className="text-xs text-white/60">50%</div>
1157
+ <div className="text-fm-icon-active text-sm">Master Volume</div>
1158
+ <div className="text-fm-tertiary text-xs">50%</div>
1127
1159
  </div>
1128
1160
  </div>
1129
- <div className="h-2 w-24 rounded-full bg-white/20">
1130
- <div className="h-full w-1/2 rounded-full bg-emerald-400" />
1161
+ <div className="bg-fm-divider-primary h-2 w-24 rounded-full">
1162
+ <div className="bg-fm-icon-positive h-full w-1/2 rounded-full" />
1131
1163
  </div>
1132
1164
  </div>
1133
1165
  </div>
@@ -1149,11 +1181,11 @@ export const Playground: Story = {
1149
1181
  args: {
1150
1182
  width: 24,
1151
1183
  height: 24,
1152
- className: "text-emerald-400",
1184
+ className: "text-fm-icon-positive",
1153
1185
  },
1154
1186
  render: (args) => (
1155
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1156
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1187
+ <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">
1188
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1157
1189
  <VolumeHalfIcon {...args} />
1158
1190
  </div>
1159
1191
  </div>