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 VolumeFullIcon> = {
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 VolumeFullIcon> = {
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-indigo-900/20 to-gray-900">
83
+ <div className="from-fm-surface-primary via-fm-icon-info/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-indigo-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-icon-info/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-indigo-500/30 bg-gradient-to-br from-indigo-500/20 to-blue-500/20">
90
- <VolumeFullIcon className="h-12 w-12 text-indigo-400" />
89
+ <div className="border-fm-icon-info/30 from-fm-icon-info/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
+ <VolumeFullIcon className="text-fm-icon-info 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
  VolumeFullIcon
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 maximum volume audio control icon for media interfaces.
97
97
  Features the classic speaker with full sound waves design,
98
98
  essential for music players, video platforms, audio systems,
@@ -103,28 +103,28 @@ const meta: Meta<typeof VolumeFullIcon> = {
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-indigo-300">
106
+ <div className="text-fm-icon-info text-3xl font-bold">
107
107
  Maximum Volume
108
108
  </div>
109
- <div className="text-sm text-white/60">
109
+ <div className="text-fm-tertiary text-sm">
110
110
  Full audio power
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-blue-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-purple-300">
124
+ <div className="text-fm-secondary-600 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 VolumeFullIcon> = {
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-indigo-300">
145
+ <h3 className="text-fm-icon-info! 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 { VolumeFullIcon } from "@icons/volume-full-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-indigo-300">
168
+ <h3 className="text-fm-icon-info! 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-indigo-500/20 bg-indigo-500/10 p-3 transition-colors hover:bg-indigo-500/20">
173
- <VolumeFullIcon className="h-6 w-6 text-indigo-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-info/20 bg-fm-icon-info/10 hover:bg-fm-icon-info/20 rounded-lg border p-3 transition-colors">
173
+ <VolumeFullIcon className="text-fm-icon-info 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-indigo-300">
225
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
226
+ <td className="text-fm-icon-info! 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-indigo-300">
239
+ <tr className="border-fm-divider-tertiary border-b">
240
+ <td className="text-fm-icon-info! 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-indigo-300">
253
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
254
+ <td className="text-fm-icon-info! 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-indigo-300">
267
+ <tr className="border-fm-divider-tertiary border-b">
268
+ <td className="text-fm-icon-info! 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-indigo-300">
281
+ <tr className="bg-fm-surface-secondary!">
282
+ <td className="text-fm-icon-info! 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-indigo-300">
309
+ <h3 className="text-fm-icon-info! 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
- <VolumeFullIcon className="!mx-auto mb-2 h-3 w-3 text-indigo-400" />
307
- <span className="text-xs text-white/60">12px</span>
314
+ <VolumeFullIcon className="text-fm-icon-info !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
- <VolumeFullIcon className="!mx-auto mb-2 h-4 w-4 text-indigo-400" />
311
- <span className="text-xs text-white/60">16px</span>
320
+ <VolumeFullIcon className="text-fm-icon-info !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
- <VolumeFullIcon className="!mx-auto mb-2 h-5 w-5 text-indigo-400" />
315
- <span className="text-xs text-white/60">20px</span>
326
+ <VolumeFullIcon className="text-fm-icon-info !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
- <VolumeFullIcon className="!mx-auto mb-2 h-6 w-6 text-indigo-400" />
319
- <span className="text-xs text-white/60">24px</span>
332
+ <VolumeFullIcon className="text-fm-icon-info !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
- <VolumeFullIcon className="!mx-auto mb-2 h-8 w-8 text-indigo-400" />
323
- <span className="text-xs text-white/60">32px</span>
338
+ <VolumeFullIcon className="text-fm-icon-info !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
- <VolumeFullIcon className="!mx-auto mb-2 h-12 w-12 text-indigo-400" />
327
- <span className="text-xs text-white/60">48px</span>
344
+ <VolumeFullIcon className="text-fm-icon-info !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-indigo-300">
353
+ <h3 className="text-fm-icon-info! 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
  <VolumeFullIcon 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-indigo-300">
384
+ <h3 className="text-fm-icon-info! 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
- <VolumeFullIcon className="h-6 w-6 text-indigo-400" />
389
+ <VolumeFullIcon className="text-fm-icon-info 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
  Maximum Volume
373
393
  </div>
374
- <div className="text-xs text-white/60">
375
- text-indigo-400
394
+ <div className="text-fm-tertiary text-xs">
395
+ text-fm-icon-info
376
396
  </div>
377
397
  </div>
378
398
  </div>
379
399
  <div className="flex items-center gap-4">
380
- <VolumeFullIcon className="h-6 w-6 text-blue-400" />
400
+ <VolumeFullIcon 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
  High Power
384
404
  </div>
385
- <div className="text-xs text-white/60">
386
- text-blue-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
- <VolumeFullIcon className="h-6 w-6 text-purple-400" />
411
+ <VolumeFullIcon className="text-fm-secondary-600 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
  Enhanced
395
415
  </div>
396
- <div className="text-xs text-white/60">
397
- text-purple-400
416
+ <div className="text-fm-tertiary text-xs">
417
+ text-fm-secondary-600
398
418
  </div>
399
419
  </div>
400
420
  </div>
401
421
  <div className="flex items-center gap-4">
402
- <VolumeFullIcon className="h-6 w-6 text-violet-400" />
422
+ <VolumeFullIcon className="text-fm-secondary-600 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
  Premium
406
426
  </div>
407
- <div className="text-xs text-white/60">
408
- text-violet-400
427
+ <div className="text-fm-tertiary text-xs">
428
+ text-fm-secondary-600
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-indigo-300">
436
+ <h3 className="text-fm-icon-info! 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
  <VolumeFullIcon className="h-6 w-6 text-indigo-400" />
423
443
  <VolumeFullIcon className="h-6 w-6 text-blue-500" />
@@ -442,63 +462,67 @@ 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
  {/* Home Theater System */}
451
471
  <div className="!space-y-4">
452
- <h3 className="text-lg font-semibold !text-indigo-300">
472
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
453
473
  Home Theater System
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">
458
- <div className="text-sm font-medium !text-white">
478
+ <div className="text-fm-icon-active! text-sm font-medium">
459
479
  Surround Sound System
460
480
  </div>
461
- <div className="text-xs !text-white/60">
481
+ <div className="text-fm-tertiary! text-xs">
462
482
  7.1 Channel Audio
463
483
  </div>
464
484
  </div>
465
485
  <div className="mb-4 grid grid-cols-2 gap-4">
466
- <div className="rounded-lg bg-black/20 p-3">
467
- <div className="mb-2 text-xs text-white/60">
486
+ <div className="bg-fm-surface-secondary rounded-lg p-3">
487
+ <div className="text-fm-tertiary mb-2 text-xs">
468
488
  Master Volume
469
489
  </div>
470
490
  <div className="flex items-center gap-2">
471
- <VolumeFullIcon className="h-5 w-5 text-indigo-400" />
472
- <div className="h-2 flex-1 rounded-full bg-white/20">
473
- <div className="h-full w-4/5 rounded-full bg-indigo-400" />
491
+ <VolumeFullIcon className="text-fm-icon-info h-5 w-5" />
492
+ <div className="bg-fm-divider-primary h-2 flex-1 rounded-full">
493
+ <div className="bg-fm-icon-info h-full w-4/5 rounded-full" />
474
494
  </div>
475
- <span className="text-xs text-white">80%</span>
495
+ <span className="text-fm-icon-active text-xs">
496
+ 80%
497
+ </span>
476
498
  </div>
477
499
  </div>
478
- <div className="rounded-lg bg-black/20 p-3">
479
- <div className="mb-2 text-xs text-white/60">
500
+ <div className="bg-fm-surface-secondary rounded-lg p-3">
501
+ <div className="text-fm-tertiary mb-2 text-xs">
480
502
  Subwoofer
481
503
  </div>
482
504
  <div className="flex items-center gap-2">
483
- <VolumeFullIcon className="h-5 w-5 text-blue-400" />
484
- <div className="h-2 flex-1 rounded-full bg-white/20">
485
- <div className="h-full w-full rounded-full bg-blue-400" />
505
+ <VolumeFullIcon className="text-fm-icon-info h-5 w-5" />
506
+ <div className="bg-fm-divider-primary h-2 flex-1 rounded-full">
507
+ <div className="bg-fm-icon-info h-full w-full rounded-full" />
486
508
  </div>
487
- <span className="text-xs text-white">100%</span>
509
+ <span className="text-fm-icon-active text-xs">
510
+ 100%
511
+ </span>
488
512
  </div>
489
513
  </div>
490
514
  </div>
491
515
  <div className="flex justify-center gap-4">
492
- <button className="rounded-lg border border-indigo-500/30 bg-indigo-500/20 px-4 py-2 text-sm text-indigo-200">
516
+ <button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info rounded-lg border px-4 py-2 text-sm">
493
517
  Movie Mode
494
518
  </button>
495
- <button className="rounded-lg border border-white/20 bg-white/10 px-4 py-2 text-sm text-white">
519
+ <button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active rounded-lg border px-4 py-2 text-sm">
496
520
  Music Mode
497
521
  </button>
498
522
  </div>
499
523
  </div>
500
- <div className="rounded-lg bg-black/40 p-4">
501
- <pre className="overflow-x-auto text-sm !text-green-300">
524
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
525
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
502
526
  {`// Home theater volume control
503
527
  <div className="theater-system">
504
528
  <div className="volume-channel">
@@ -522,75 +546,77 @@ function VolumeControl() {
522
546
 
523
547
  {/* Gaming Setup */}
524
548
  <div className="!space-y-4">
525
- <h3 className="text-lg font-semibold !text-indigo-300">
549
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
526
550
  Gaming Setup
527
551
  </h3>
528
552
  <div className="!space-y-4">
529
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
553
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
530
554
  <div className="mb-4">
531
- <div className="text-sm font-medium !text-white">
555
+ <div className="text-fm-icon-active! text-sm font-medium">
532
556
  Gaming Audio
533
557
  </div>
534
- <div className="text-xs !text-white/60">
558
+ <div className="text-fm-tertiary! text-xs">
535
559
  Enhanced for competitive play
536
560
  </div>
537
561
  </div>
538
562
  <div className="mb-4 space-y-3">
539
563
  <div className="flex items-center justify-between">
540
564
  <div className="flex items-center gap-3">
541
- <VolumeFullIcon className="h-5 w-5 text-indigo-400" />
565
+ <VolumeFullIcon className="text-fm-icon-info h-5 w-5" />
542
566
  <div>
543
- <div className="text-sm text-white">
567
+ <div className="text-fm-icon-active text-sm">
544
568
  Game Audio
545
569
  </div>
546
- <div className="text-xs text-white/60">
570
+ <div className="text-fm-tertiary text-xs">
547
571
  Explosions & Effects
548
572
  </div>
549
573
  </div>
550
574
  </div>
551
- <div className="h-2 w-20 rounded-full bg-white/20">
552
- <div className="h-full w-full rounded-full bg-indigo-400" />
575
+ <div className="bg-fm-divider-primary h-2 w-20 rounded-full">
576
+ <div className="bg-fm-icon-info h-full w-full rounded-full" />
553
577
  </div>
554
578
  </div>
555
579
  <div className="flex items-center justify-between">
556
580
  <div className="flex items-center gap-3">
557
- <VolumeFullIcon className="h-5 w-5 text-blue-400" />
581
+ <VolumeFullIcon className="text-fm-icon-info h-5 w-5" />
558
582
  <div>
559
- <div className="text-sm text-white">
583
+ <div className="text-fm-icon-active text-sm">
560
584
  Voice Chat
561
585
  </div>
562
- <div className="text-xs text-white/60">
586
+ <div className="text-fm-tertiary text-xs">
563
587
  Team Communication
564
588
  </div>
565
589
  </div>
566
590
  </div>
567
- <div className="h-2 w-20 rounded-full bg-white/20">
568
- <div className="h-full w-4/5 rounded-full bg-blue-400" />
591
+ <div className="bg-fm-divider-primary h-2 w-20 rounded-full">
592
+ <div className="bg-fm-icon-info h-full w-4/5 rounded-full" />
569
593
  </div>
570
594
  </div>
571
595
  <div className="flex items-center justify-between">
572
596
  <div className="flex items-center gap-3">
573
- <VolumeFullIcon className="h-5 w-5 text-purple-400" />
597
+ <VolumeFullIcon className="text-fm-secondary-600 h-5 w-5" />
574
598
  <div>
575
- <div className="text-sm text-white">Music</div>
576
- <div className="text-xs text-white/60">
599
+ <div className="text-fm-icon-active text-sm">
600
+ Music
601
+ </div>
602
+ <div className="text-fm-tertiary text-xs">
577
603
  Background Tracks
578
604
  </div>
579
605
  </div>
580
606
  </div>
581
- <div className="h-2 w-20 rounded-full bg-white/20">
582
- <div className="h-full w-3/5 rounded-full bg-purple-400" />
607
+ <div className="bg-fm-divider-primary h-2 w-20 rounded-full">
608
+ <div className="bg-fm-secondary-500 h-full w-3/5 rounded-full" />
583
609
  </div>
584
610
  </div>
585
611
  </div>
586
612
  <div className="flex justify-center">
587
- <button className="rounded-lg bg-indigo-500 px-4 py-2 text-sm font-medium text-white">
613
+ <button className="bg-fm-icon-info text-fm-icon-active rounded-lg px-4 py-2 text-sm font-medium">
588
614
  Apply Gaming Profile
589
615
  </button>
590
616
  </div>
591
617
  </div>
592
- <div className="rounded-lg bg-black/40 p-4">
593
- <pre className="overflow-x-auto text-sm !text-green-300">
618
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
619
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
594
620
  {`// Gaming audio mixer
595
621
  <div className="gaming-audio-mixer">
596
622
  {audioChannels.map(channel => (
@@ -620,79 +646,83 @@ function VolumeControl() {
620
646
 
621
647
  {/* Live Streaming */}
622
648
  <div className="!space-y-4">
623
- <h3 className="text-lg font-semibold !text-indigo-300">
649
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
624
650
  Live Streaming
625
651
  </h3>
626
652
  <div className="!space-y-4">
627
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
653
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
628
654
  <div className="mb-4">
629
- <div className="text-sm font-medium !text-white">
655
+ <div className="text-fm-icon-active! text-sm font-medium">
630
656
  Streaming Setup
631
657
  </div>
632
- <div className="text-xs !text-white/60">
658
+ <div className="text-fm-tertiary! text-xs">
633
659
  Professional broadcast quality
634
660
  </div>
635
661
  </div>
636
662
  <div className="mb-4 grid grid-cols-1 gap-3">
637
- <div className="flex items-center justify-between rounded-lg bg-black/20 p-3">
663
+ <div className="bg-fm-surface-secondary flex items-center justify-between rounded-lg p-3">
638
664
  <div className="flex items-center gap-3">
639
- <VolumeFullIcon className="h-4 w-4 text-indigo-400" />
640
- <span className="text-sm text-white">
665
+ <VolumeFullIcon className="text-fm-icon-info h-4 w-4" />
666
+ <span className="text-fm-icon-active text-sm">
641
667
  Microphone
642
668
  </span>
643
669
  </div>
644
670
  <div className="flex items-center gap-2">
645
- <div className="h-1 w-16 rounded-full bg-white/20">
646
- <div className="h-full w-4/5 rounded-full bg-indigo-400" />
671
+ <div className="bg-fm-divider-primary h-1 w-16 rounded-full">
672
+ <div className="bg-fm-icon-info h-full w-4/5 rounded-full" />
647
673
  </div>
648
- <span className="text-xs text-white/60">85%</span>
674
+ <span className="text-fm-tertiary text-xs">
675
+ 85%
676
+ </span>
649
677
  </div>
650
678
  </div>
651
- <div className="flex items-center justify-between rounded-lg bg-black/20 p-3">
679
+ <div className="bg-fm-surface-secondary flex items-center justify-between rounded-lg p-3">
652
680
  <div className="flex items-center gap-3">
653
- <VolumeFullIcon className="h-4 w-4 text-blue-400" />
654
- <span className="text-sm text-white">
681
+ <VolumeFullIcon className="text-fm-icon-info h-4 w-4" />
682
+ <span className="text-fm-icon-active text-sm">
655
683
  Desktop Audio
656
684
  </span>
657
685
  </div>
658
686
  <div className="flex items-center gap-2">
659
- <div className="h-1 w-16 rounded-full bg-white/20">
660
- <div className="h-full w-full rounded-full bg-blue-400" />
687
+ <div className="bg-fm-divider-primary h-1 w-16 rounded-full">
688
+ <div className="bg-fm-icon-info h-full w-full rounded-full" />
661
689
  </div>
662
- <span className="text-xs text-white/60">
690
+ <span className="text-fm-tertiary text-xs">
663
691
  100%
664
692
  </span>
665
693
  </div>
666
694
  </div>
667
- <div className="flex items-center justify-between rounded-lg bg-black/20 p-3">
695
+ <div className="bg-fm-surface-secondary flex items-center justify-between rounded-lg p-3">
668
696
  <div className="flex items-center gap-3">
669
- <VolumeFullIcon className="h-4 w-4 text-purple-400" />
670
- <span className="text-sm text-white">
697
+ <VolumeFullIcon className="text-fm-secondary-600 h-4 w-4" />
698
+ <span className="text-fm-icon-active text-sm">
671
699
  Alert Sounds
672
700
  </span>
673
701
  </div>
674
702
  <div className="flex items-center gap-2">
675
- <div className="h-1 w-16 rounded-full bg-white/20">
676
- <div className="h-full w-3/4 rounded-full bg-purple-400" />
703
+ <div className="bg-fm-divider-primary h-1 w-16 rounded-full">
704
+ <div className="bg-fm-secondary-500 h-full w-3/4 rounded-full" />
677
705
  </div>
678
- <span className="text-xs text-white/60">75%</span>
706
+ <span className="text-fm-tertiary text-xs">
707
+ 75%
708
+ </span>
679
709
  </div>
680
710
  </div>
681
711
  </div>
682
712
  <div className="flex items-center justify-between">
683
- <span className="text-xs text-white/60">
713
+ <span className="text-fm-tertiary text-xs">
684
714
  Live: 1,234 viewers
685
715
  </span>
686
716
  <div className="flex gap-2">
687
- <div className="h-2 w-2 animate-pulse rounded-full bg-red-400" />
688
- <span className="text-xs text-red-400">
717
+ <div className="bg-fm-icon-negative h-2 w-2 animate-pulse rounded-full" />
718
+ <span className="text-fm-icon-negative text-xs">
689
719
  Recording
690
720
  </span>
691
721
  </div>
692
722
  </div>
693
723
  </div>
694
- <div className="rounded-lg bg-black/40 p-4">
695
- <pre className="overflow-x-auto text-sm !text-green-300">
724
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
725
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
696
726
  {`// Live streaming audio control
697
727
  <div className="streaming-console">
698
728
  <div className="audio-sources">
@@ -722,16 +752,16 @@ function VolumeControl() {
722
752
 
723
753
  {/* Music Production */}
724
754
  <div className="!space-y-4">
725
- <h3 className="text-lg font-semibold !text-indigo-300">
755
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
726
756
  Music Production
727
757
  </h3>
728
758
  <div className="!space-y-4">
729
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
759
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
730
760
  <div className="mb-4">
731
- <div className="text-sm font-medium !text-white">
761
+ <div className="text-fm-icon-active! text-sm font-medium">
732
762
  Digital Audio Workstation
733
763
  </div>
734
- <div className="text-xs !text-white/60">
764
+ <div className="text-fm-tertiary! text-xs">
735
765
  Professional mixing console
736
766
  </div>
737
767
  </div>
@@ -740,9 +770,9 @@ function VolumeControl() {
740
770
  (track, i) => (
741
771
  <div
742
772
  key={track}
743
- className="rounded-lg bg-black/20 p-3"
773
+ className="bg-fm-surface-secondary rounded-lg p-3"
744
774
  >
745
- <div className="mb-2 text-xs text-white/60">
775
+ <div className="text-fm-tertiary mb-2 text-xs">
746
776
  {track}
747
777
  </div>
748
778
  <div className="flex flex-col items-center gap-2">
@@ -755,7 +785,7 @@ function VolumeControl() {
755
785
  : "text-purple-400"
756
786
  }`}
757
787
  />
758
- <div className="relative h-16 w-2 rounded-full bg-white/20">
788
+ <div className="bg-fm-divider-primary relative h-16 w-2 rounded-full">
759
789
  <div
760
790
  className={`absolute bottom-0 w-full rounded-full ${
761
791
  i === 0
@@ -766,7 +796,7 @@ function VolumeControl() {
766
796
  }`}
767
797
  />
768
798
  </div>
769
- <span className="text-xs text-white">
799
+ <span className="text-fm-icon-active text-xs">
770
800
  {i === 0 ? "85" : i === 1 ? "100" : "60"}%
771
801
  </span>
772
802
  </div>
@@ -775,19 +805,19 @@ function VolumeControl() {
775
805
  )}
776
806
  </div>
777
807
  <div className="flex justify-center gap-3">
778
- <button className="rounded bg-red-500 px-3 py-1.5 text-xs text-white">
808
+ <button className="bg-fm-icon-negative text-fm-icon-active rounded px-3 py-1.5 text-xs">
779
809
  ● REC
780
810
  </button>
781
- <button className="rounded bg-green-500 px-3 py-1.5 text-xs text-white">
811
+ <button className="bg-fm-icon-positive text-fm-icon-active rounded px-3 py-1.5 text-xs">
782
812
  ▶ PLAY
783
813
  </button>
784
- <button className="rounded bg-yellow-500 px-3 py-1.5 text-xs text-black">
814
+ <button className="bg-fm-icon-warning text-fm-icon-active rounded px-3 py-1.5 text-xs">
785
815
  ■ STOP
786
816
  </button>
787
817
  </div>
788
818
  </div>
789
- <div className="rounded-lg bg-black/40 p-4">
790
- <pre className="overflow-x-auto text-sm !text-green-300">
819
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
820
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
791
821
  {`// Digital audio workstation mixer
792
822
  <div className="daw-mixer">
793
823
  {tracks.map((track, index) => (
@@ -820,65 +850,65 @@ function VolumeControl() {
820
850
 
821
851
  {/* Accessibility */}
822
852
  <div className="!space-y-8">
823
- <h2 className="text-center text-3xl font-bold !text-white">
853
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
824
854
  Accessibility Features
825
855
  </h2>
826
856
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
827
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
828
- <h3 className="text-lg font-semibold !text-green-300">
857
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
858
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
829
859
  ✅ Built-in Features
830
860
  </h3>
831
- <ul className="!space-y-2 text-sm !text-white/70">
832
- <li className="!text-white/70">
861
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
862
+ <li className="text-fm-secondary!">
833
863
  Uses Radix UI AccessibleIcon wrapper
834
864
  </li>
835
- <li className="!text-white/70">
865
+ <li className="text-fm-secondary!">
836
866
  Provides screen reader label "Volume full icon"
837
867
  </li>
838
- <li className="!text-white/70">
868
+ <li className="text-fm-secondary!">
839
869
  Supports keyboard navigation when interactive
840
870
  </li>
841
- <li className="!text-white/70">
871
+ <li className="text-fm-secondary!">
842
872
  Maintains proper color contrast ratios
843
873
  </li>
844
- <li className="!text-white/70">
874
+ <li className="text-fm-secondary!">
845
875
  Scales with user's font size preferences
846
876
  </li>
847
877
  </ul>
848
878
  </div>
849
879
 
850
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
851
- <h3 className="text-lg font-semibold !text-indigo-300">
880
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
881
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
852
882
  💡 Best Practices
853
883
  </h3>
854
- <ul className="!space-y-2 text-sm text-white/70">
855
- <li className="!text-white/70">
884
+ <ul className="text-fm-secondary !space-y-2 text-sm">
885
+ <li className="text-fm-secondary!">
856
886
  Always provide descriptive aria-labels for maximum
857
887
  volume controls
858
888
  </li>
859
- <li className="!text-white/70">
889
+ <li className="text-fm-secondary!">
860
890
  Use consistent placement in audio control groups
861
891
  </li>
862
- <li className="!text-white/70">
892
+ <li className="text-fm-secondary!">
863
893
  Ensure sufficient touch target size (44px minimum)
864
894
  </li>
865
- <li className="!text-white/70">
895
+ <li className="text-fm-secondary!">
866
896
  Provide visible focus states for keyboard users
867
897
  </li>
868
- <li className="!text-white/70">
898
+ <li className="text-fm-secondary!">
869
899
  Consider volume limits for hearing protection
870
900
  </li>
871
901
  </ul>
872
902
  </div>
873
903
  </div>
874
904
 
875
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
876
- <h3 className="mb-4 text-lg font-semibold !text-blue-300">
905
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
906
+ <h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
877
907
  Proper ARIA Implementation
878
908
  </h3>
879
909
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
880
- <div className="rounded-lg bg-black/40 p-4">
881
- <pre className="overflow-x-auto text-sm !text-cyan-300">
910
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
911
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
882
912
  {`// Maximum volume control with proper ARIA
883
913
  <div className="volume-control">
884
914
  <button
@@ -924,13 +954,13 @@ function VolumeControl() {
924
954
  </pre>
925
955
  </div>
926
956
  <div className="!space-y-4">
927
- <p className="text-sm !text-white/70">
957
+ <p className="text-fm-secondary! text-sm">
928
958
  When using VolumeFullIcon for maximum volume controls,
929
959
  always provide clear warnings about potential hearing
930
960
  damage and context about the high volume level.
931
961
  </p>
932
- <div className="rounded-lg border border-indigo-500/20 bg-indigo-500/10 p-4">
933
- <div className="flex items-center gap-2 text-sm text-indigo-200">
962
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
963
+ <div className="text-fm-icon-info flex items-center gap-2 text-sm">
934
964
  <VolumeFullIcon className="h-4 w-4" />
935
965
  <span>
936
966
  Maximum volume controls need hearing protection
@@ -945,52 +975,56 @@ function VolumeControl() {
945
975
 
946
976
  {/* Related Icons */}
947
977
  <div className="!space-y-8">
948
- <h2 className="text-center text-3xl font-bold !text-white">
978
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
949
979
  Related Icons
950
980
  </h2>
951
981
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
952
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
953
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-emerald-500/20">
954
- <span className="!text-2xl !text-white">🔉</span>
982
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
983
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
984
+ <span className="text-fm-icon-active! !text-2xl">🔉</span>
955
985
  </div>
956
986
  <div>
957
- <div className="font-medium text-white">
987
+ <div className="text-fm-icon-active font-medium">
958
988
  VolumeHalfIcon
959
989
  </div>
960
- <div className="text-xs text-white/60">Medium volume</div>
990
+ <div className="text-fm-tertiary text-xs">
991
+ Medium volume
992
+ </div>
961
993
  </div>
962
994
  </div>
963
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
964
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-yellow-500/20">
965
- <span className="!text-2xl !text-white">🔈</span>
995
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
996
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
997
+ <span className="text-fm-icon-active! !text-2xl">🔈</span>
966
998
  </div>
967
999
  <div>
968
- <div className="font-medium text-white">
1000
+ <div className="text-fm-icon-active font-medium">
969
1001
  VolumeLowIcon
970
1002
  </div>
971
- <div className="text-xs text-white/60">Low volume</div>
1003
+ <div className="text-fm-tertiary text-xs">Low volume</div>
972
1004
  </div>
973
1005
  </div>
974
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
975
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-gray-500/20">
976
- <span className="!text-2xl !text-white">🔇</span>
1006
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
1007
+ <div className="bg-fm-surface-tertiary/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
1008
+ <span className="text-fm-icon-active! !text-2xl">🔇</span>
977
1009
  </div>
978
1010
  <div>
979
- <div className="font-medium text-white">
1011
+ <div className="text-fm-icon-active font-medium">
980
1012
  VolumeOffIcon
981
1013
  </div>
982
- <div className="text-xs text-white/60">Muted</div>
1014
+ <div className="text-fm-tertiary text-xs">Muted</div>
983
1015
  </div>
984
1016
  </div>
985
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
986
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-red-500/20">
987
- <span className="!text-2xl !text-white">⚠️</span>
1017
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
1018
+ <div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
1019
+ <span className="text-fm-icon-active! !text-2xl">⚠️</span>
988
1020
  </div>
989
1021
  <div>
990
- <div className="font-medium text-white">
1022
+ <div className="text-fm-icon-active font-medium">
991
1023
  VolumeWarningIcon
992
1024
  </div>
993
- <div className="text-xs text-white/60">Volume alert</div>
1025
+ <div className="text-fm-tertiary text-xs">
1026
+ Volume alert
1027
+ </div>
994
1028
  </div>
995
1029
  </div>
996
1030
  </div>
@@ -998,15 +1032,15 @@ function VolumeControl() {
998
1032
  </div>
999
1033
 
1000
1034
  {/* Footer */}
1001
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
1035
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
1002
1036
  <div className="!mx-auto max-w-7xl px-6 py-8">
1003
1037
  <div className="!space-y-4 text-center">
1004
- <p className="!text-white/60">
1038
+ <p className="text-fm-tertiary!">
1005
1039
  VolumeFullIcon is part of the Aural UI icon library, built
1006
1040
  with accessibility and professional audio control best
1007
1041
  practices in mind.
1008
1042
  </p>
1009
- <p className="text-sm !text-white/40">
1043
+ <p className="text-fm-placeholder! text-sm">
1010
1044
  All icons use Radix UI's AccessibleIcon for screen reader
1011
1045
  compatibility and follow WCAG guidelines for media controls
1012
1046
  and hearing protection.
@@ -1060,20 +1094,20 @@ const storyParameters = {
1060
1094
  backgrounds: {
1061
1095
  default: "dark",
1062
1096
  values: [
1063
- { name: "dark", value: "#0a0a0a" },
1064
- { name: "darker", value: "#000000" },
1097
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1098
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
1065
1099
  ],
1066
1100
  },
1067
1101
  }
1068
1102
 
1069
1103
  export const Default: Story = {
1070
1104
  args: {
1071
- className: "h-8 w-8 text-indigo-400",
1105
+ className: "h-8 w-8 text-fm-icon-info",
1072
1106
  withAccessibility: true,
1073
1107
  },
1074
1108
  parameters: storyParameters,
1075
1109
  render: (args) => (
1076
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1110
+ <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">
1077
1111
  <VolumeFullIcon {...args} />
1078
1112
  </div>
1079
1113
  ),
@@ -1090,30 +1124,30 @@ export const SizeVariations: Story = {
1090
1124
  },
1091
1125
  },
1092
1126
  render: () => (
1093
- <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">
1127
+ <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">
1094
1128
  <div className="text-center">
1095
- <VolumeFullIcon className="!mx-auto mb-2 h-3 w-3 text-indigo-400" />
1096
- <span className="text-xs text-white/60">12px</span>
1129
+ <VolumeFullIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
1130
+ <span className="text-fm-tertiary text-xs">12px</span>
1097
1131
  </div>
1098
1132
  <div className="text-center">
1099
- <VolumeFullIcon className="!mx-auto mb-2 h-4 w-4 text-indigo-400" />
1100
- <span className="text-xs text-white/60">16px</span>
1133
+ <VolumeFullIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
1134
+ <span className="text-fm-tertiary text-xs">16px</span>
1101
1135
  </div>
1102
1136
  <div className="text-center">
1103
- <VolumeFullIcon className="!mx-auto mb-2 h-5 w-5 text-indigo-400" />
1104
- <span className="text-xs text-white/60">20px</span>
1137
+ <VolumeFullIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
1138
+ <span className="text-fm-tertiary text-xs">20px</span>
1105
1139
  </div>
1106
1140
  <div className="text-center">
1107
- <VolumeFullIcon className="!mx-auto mb-2 h-6 w-6 text-indigo-400" />
1108
- <span className="text-xs text-white/60">24px</span>
1141
+ <VolumeFullIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
1142
+ <span className="text-fm-tertiary text-xs">24px</span>
1109
1143
  </div>
1110
1144
  <div className="text-center">
1111
- <VolumeFullIcon className="!mx-auto mb-2 h-8 w-8 text-indigo-400" />
1112
- <span className="text-xs text-white/60">32px</span>
1145
+ <VolumeFullIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
1146
+ <span className="text-fm-tertiary text-xs">32px</span>
1113
1147
  </div>
1114
1148
  <div className="text-center">
1115
- <VolumeFullIcon className="!mx-auto mb-2 h-12 w-12 text-indigo-400" />
1116
- <span className="text-xs text-white/60">48px</span>
1149
+ <VolumeFullIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
1150
+ <span className="text-fm-tertiary text-xs">48px</span>
1117
1151
  </div>
1118
1152
  </div>
1119
1153
  ),
@@ -1130,34 +1164,40 @@ export const ColorVariations: Story = {
1130
1164
  },
1131
1165
  },
1132
1166
  render: () => (
1133
- <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">
1167
+ <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">
1134
1168
  <div className="text-center">
1135
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-indigo-500/30 bg-indigo-500/20">
1136
- <VolumeFullIcon className="h-8 w-8 text-indigo-400" />
1169
+ <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">
1170
+ <VolumeFullIcon className="text-fm-icon-info h-8 w-8" />
1137
1171
  </div>
1138
- <div className="text-sm font-medium text-white">Maximum</div>
1139
- <div className="text-xs text-indigo-400">text-indigo-400</div>
1172
+ <div className="text-fm-icon-active text-sm font-medium">Maximum</div>
1173
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1140
1174
  </div>
1141
1175
  <div className="text-center">
1142
- <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">
1143
- <VolumeFullIcon className="h-8 w-8 text-blue-400" />
1176
+ <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">
1177
+ <VolumeFullIcon className="text-fm-icon-info h-8 w-8" />
1178
+ </div>
1179
+ <div className="text-fm-icon-active text-sm font-medium">
1180
+ High Power
1144
1181
  </div>
1145
- <div className="text-sm font-medium text-white">High Power</div>
1146
- <div className="text-xs text-blue-400">text-blue-400</div>
1182
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1147
1183
  </div>
1148
1184
  <div className="text-center">
1149
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-purple-500/30 bg-purple-500/20">
1150
- <VolumeFullIcon className="h-8 w-8 text-purple-400" />
1185
+ <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">
1186
+ <VolumeFullIcon className="text-fm-secondary-600 h-8 w-8" />
1187
+ </div>
1188
+ <div className="text-fm-icon-active text-sm font-medium">Enhanced</div>
1189
+ <div className="text-fm-secondary-600 text-xs">
1190
+ text-fm-secondary-600
1151
1191
  </div>
1152
- <div className="text-sm font-medium text-white">Enhanced</div>
1153
- <div className="text-xs text-purple-400">text-purple-400</div>
1154
1192
  </div>
1155
1193
  <div className="text-center">
1156
- <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">
1157
- <VolumeFullIcon className="h-8 w-8 text-violet-400" />
1194
+ <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">
1195
+ <VolumeFullIcon className="text-fm-secondary-600 h-8 w-8" />
1196
+ </div>
1197
+ <div className="text-fm-icon-active text-sm font-medium">Premium</div>
1198
+ <div className="text-fm-secondary-600 text-xs">
1199
+ text-fm-secondary-600
1158
1200
  </div>
1159
- <div className="text-sm font-medium text-white">Premium</div>
1160
- <div className="text-xs text-violet-400">text-violet-400</div>
1161
1201
  </div>
1162
1202
  </div>
1163
1203
  ),
@@ -1174,21 +1214,23 @@ export const UsageExamples: Story = {
1174
1214
  },
1175
1215
  },
1176
1216
  render: () => (
1177
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1217
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1178
1218
  {/* Home Theater */}
1179
1219
  <div className="!space-y-2">
1180
- <h3 className="text-sm font-medium text-white">Home Theater System</h3>
1181
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
1220
+ <h3 className="text-fm-icon-active text-sm font-medium">
1221
+ Home Theater System
1222
+ </h3>
1223
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
1182
1224
  <div className="flex items-center justify-between">
1183
1225
  <div className="flex items-center gap-3">
1184
- <VolumeFullIcon className="h-5 w-5 text-indigo-400" />
1226
+ <VolumeFullIcon className="text-fm-icon-info h-5 w-5" />
1185
1227
  <div>
1186
- <div className="text-sm text-white">Master Volume</div>
1187
- <div className="text-xs text-white/60">80%</div>
1228
+ <div className="text-fm-icon-active text-sm">Master Volume</div>
1229
+ <div className="text-fm-tertiary text-xs">80%</div>
1188
1230
  </div>
1189
1231
  </div>
1190
- <div className="h-2 w-24 rounded-full bg-white/20">
1191
- <div className="h-full w-4/5 rounded-full bg-indigo-400" />
1232
+ <div className="bg-fm-divider-primary h-2 w-24 rounded-full">
1233
+ <div className="bg-fm-icon-info h-full w-4/5 rounded-full" />
1192
1234
  </div>
1193
1235
  </div>
1194
1236
  </div>
@@ -1196,15 +1238,17 @@ export const UsageExamples: Story = {
1196
1238
 
1197
1239
  {/* Gaming Setup */}
1198
1240
  <div className="!space-y-2">
1199
- <h3 className="text-sm font-medium text-white">Gaming Audio</h3>
1200
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1241
+ <h3 className="text-fm-icon-active text-sm font-medium">
1242
+ Gaming Audio
1243
+ </h3>
1244
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1201
1245
  <div className="flex items-center justify-between">
1202
1246
  <div className="flex items-center gap-3">
1203
- <VolumeFullIcon className="h-5 w-5 text-blue-400" />
1204
- <span className="text-sm text-white">Game Audio</span>
1247
+ <VolumeFullIcon className="text-fm-icon-info h-5 w-5" />
1248
+ <span className="text-fm-icon-active text-sm">Game Audio</span>
1205
1249
  </div>
1206
- <div className="h-2 w-20 rounded-full bg-white/20">
1207
- <div className="h-full w-full rounded-full bg-blue-400" />
1250
+ <div className="bg-fm-divider-primary h-2 w-20 rounded-full">
1251
+ <div className="bg-fm-icon-info h-full w-full rounded-full" />
1208
1252
  </div>
1209
1253
  </div>
1210
1254
  </div>
@@ -1226,11 +1270,11 @@ export const Playground: Story = {
1226
1270
  args: {
1227
1271
  width: 24,
1228
1272
  height: 24,
1229
- className: "text-indigo-400",
1273
+ className: "text-fm-icon-info",
1230
1274
  },
1231
1275
  render: (args) => (
1232
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1233
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1276
+ <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">
1277
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1234
1278
  <VolumeFullIcon {...args} />
1235
1279
  </div>
1236
1280
  </div>