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