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 MinimizeIcon> = {
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 MinimizeIcon> = {
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-orange-900/20 to-gray-900">
83
+ <div className="from-fm-surface-primary via-fm-icon-warning/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-orange-500/10 via-transparent to-amber-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-warning/10 to-fm-icon-warning/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-orange-500/30 bg-gradient-to-br from-orange-500/20 to-amber-500/20">
90
- <MinimizeIcon className="h-12 w-12 text-orange-400" />
89
+ <div className="border-fm-icon-warning/30 from-fm-icon-warning/20 to-fm-icon-warning/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
+ <MinimizeIcon className="text-fm-icon-warning 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
  MinimizeIcon
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 compact and exit fullscreen control icon for reducing
97
97
  interface elements. Features diagonal arrows pointing
98
98
  inward, essential for media players, modal dialogs, window
@@ -103,28 +103,28 @@ const meta: Meta<typeof MinimizeIcon> = {
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-orange-300">
106
+ <div className="text-fm-icon-warning text-3xl font-bold">
107
107
  Exit Fullscreen
108
108
  </div>
109
- <div className="text-sm text-white/60">
109
+ <div className="text-fm-tertiary text-sm">
110
110
  Compact content
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-amber-300">
115
+ <div className="text-fm-icon-warning 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-yellow-300">
124
+ <div className="text-fm-icon-warning 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 minimize symbol
129
129
  </div>
130
130
  </div>
@@ -137,16 +137,16 @@ const meta: Meta<typeof MinimizeIcon> = {
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-orange-300">
145
+ <h3 className="text-fm-icon-warning! 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 { MinimizeIcon } from "@icons/minimize-icon"
151
151
 
152
152
  function VideoPlayer() {
@@ -165,12 +165,12 @@ function VideoPlayer() {
165
165
  </div>
166
166
 
167
167
  <div className="!space-y-4">
168
- <h3 className="text-xl font-semibold !text-orange-300">
168
+ <h3 className="text-fm-icon-warning! 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-orange-500/20 bg-orange-500/10 p-3 transition-colors hover:bg-orange-500/20">
173
- <MinimizeIcon className="h-6 w-6 text-orange-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-warning/20 bg-fm-icon-warning/10 hover:bg-fm-icon-warning/20 rounded-lg border p-3 transition-colors">
173
+ <MinimizeIcon className="text-fm-icon-warning h-6 w-6" />
174
174
  </button>
175
175
  </div>
176
176
  </div>
@@ -179,122 +179,130 @@ function VideoPlayer() {
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-orange-300">
225
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
226
+ <td className="text-fm-icon-warning! 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-orange-300">
239
+ <tr className="border-fm-divider-tertiary border-b">
240
+ <td className="text-fm-icon-warning! 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-orange-300">
253
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
254
+ <td className="text-fm-icon-warning! 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-orange-300">
267
+ <tr className="border-fm-divider-tertiary border-b">
268
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
265
269
  strokeLinecap
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">
274
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
271
275
  square
272
276
  </td>
273
- <td className="px-6 py-4 text-sm !text-white/70">
277
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
274
278
  Style of line endings (square for crisp corners)
275
279
  </td>
276
280
  </tr>
277
- <tr className="border-b border-white/5 !bg-black/10">
278
- <td className="px-6 py-4 font-mono text-sm !text-orange-300">
281
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
282
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
279
283
  className
280
284
  </td>
281
- <td className="px-6 py-4 text-sm !text-white/70">
285
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
282
286
  string
283
287
  </td>
284
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
285
- <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">
286
292
  CSS classes for styling (use for overrides)
287
293
  </td>
288
294
  </tr>
289
- <tr className="!bg-black/10">
290
- <td className="px-6 py-4 font-mono text-sm !text-orange-300">
295
+ <tr className="bg-fm-surface-secondary!">
296
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
291
297
  ...svgProps
292
298
  </td>
293
- <td className="px-6 py-4 text-sm !text-white/70">
299
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
294
300
  SVGProps
295
301
  </td>
296
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
297
- <td className="px-6 py-4 text-sm !text-white/70">
302
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
303
+ -
304
+ </td>
305
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
298
306
  All standard SVG element props
299
307
  </td>
300
308
  </tr>
@@ -305,50 +313,62 @@ function VideoPlayer() {
305
313
 
306
314
  {/* Size Variations */}
307
315
  <div className="!space-y-8">
308
- <h2 className="text-center text-3xl font-bold !text-white">
316
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
309
317
  Size Variations
310
318
  </h2>
311
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
319
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
312
320
  <div className="!space-y-6">
313
321
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
314
322
  <div className="!space-y-4">
315
- <h3 className="text-lg font-semibold !text-orange-300">
323
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
316
324
  Standard Sizes
317
325
  </h3>
318
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
326
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
319
327
  <div className="text-center">
320
- <MinimizeIcon className="!mx-auto mb-2 h-3 w-3 text-orange-400" />
321
- <span className="text-xs text-white/60">12px</span>
328
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-3 w-3" />
329
+ <span className="text-fm-tertiary text-xs">
330
+ 12px
331
+ </span>
322
332
  </div>
323
333
  <div className="text-center">
324
- <MinimizeIcon className="!mx-auto mb-2 h-4 w-4 text-orange-400" />
325
- <span className="text-xs text-white/60">16px</span>
334
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-4 w-4" />
335
+ <span className="text-fm-tertiary text-xs">
336
+ 16px
337
+ </span>
326
338
  </div>
327
339
  <div className="text-center">
328
- <MinimizeIcon className="!mx-auto mb-2 h-5 w-5 text-orange-400" />
329
- <span className="text-xs text-white/60">20px</span>
340
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-5 w-5" />
341
+ <span className="text-fm-tertiary text-xs">
342
+ 20px
343
+ </span>
330
344
  </div>
331
345
  <div className="text-center">
332
- <MinimizeIcon className="!mx-auto mb-2 h-6 w-6 text-orange-400" />
333
- <span className="text-xs text-white/60">24px</span>
346
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-6 w-6" />
347
+ <span className="text-fm-tertiary text-xs">
348
+ 24px
349
+ </span>
334
350
  </div>
335
351
  <div className="text-center">
336
- <MinimizeIcon className="!mx-auto mb-2 h-8 w-8 text-orange-400" />
337
- <span className="text-xs text-white/60">32px</span>
352
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-8 w-8" />
353
+ <span className="text-fm-tertiary text-xs">
354
+ 32px
355
+ </span>
338
356
  </div>
339
357
  <div className="text-center">
340
- <MinimizeIcon className="!mx-auto mb-2 h-12 w-12 text-orange-400" />
341
- <span className="text-xs text-white/60">48px</span>
358
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-12 w-12" />
359
+ <span className="text-fm-tertiary text-xs">
360
+ 48px
361
+ </span>
342
362
  </div>
343
363
  </div>
344
364
  </div>
345
365
 
346
366
  <div className="!space-y-4">
347
- <h3 className="text-lg font-semibold !text-orange-300">
367
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
348
368
  Code Example
349
369
  </h3>
350
- <div className="rounded-lg bg-black/40 p-4">
351
- <pre className="overflow-x-auto text-sm !text-cyan-300">
370
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
371
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
352
372
  {`// Small (16px) - compact controls
353
373
  <MinimizeIcon className="h-4 w-4" />
354
374
 
@@ -370,56 +390,56 @@ function VideoPlayer() {
370
390
 
371
391
  {/* Color Variations */}
372
392
  <div className="!space-y-8">
373
- <h2 className="text-center text-3xl font-bold !text-white">
393
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
374
394
  Color Variations
375
395
  </h2>
376
396
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
377
397
  <div className="!space-y-4">
378
- <h3 className="text-lg font-semibold !text-orange-300">
398
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
379
399
  Semantic Colors
380
400
  </h3>
381
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
401
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
382
402
  <div className="flex items-center gap-4">
383
- <MinimizeIcon className="h-6 w-6 text-orange-400" />
403
+ <MinimizeIcon className="text-fm-icon-warning h-6 w-6" />
384
404
  <div>
385
- <div className="text-sm font-medium text-white">
405
+ <div className="text-fm-icon-active text-sm font-medium">
386
406
  Exit Fullscreen
387
407
  </div>
388
- <div className="text-xs text-white/60">
389
- text-orange-400
408
+ <div className="text-fm-tertiary text-xs">
409
+ text-fm-icon-warning
390
410
  </div>
391
411
  </div>
392
412
  </div>
393
413
  <div className="flex items-center gap-4">
394
- <MinimizeIcon className="h-6 w-6 text-amber-400" />
414
+ <MinimizeIcon className="text-fm-icon-warning h-6 w-6" />
395
415
  <div>
396
- <div className="text-sm font-medium text-white">
416
+ <div className="text-fm-icon-active text-sm font-medium">
397
417
  Compact View
398
418
  </div>
399
- <div className="text-xs text-white/60">
400
- text-amber-400
419
+ <div className="text-fm-tertiary text-xs">
420
+ text-fm-icon-warning
401
421
  </div>
402
422
  </div>
403
423
  </div>
404
424
  <div className="flex items-center gap-4">
405
- <MinimizeIcon className="h-6 w-6 text-yellow-400" />
425
+ <MinimizeIcon className="text-fm-icon-warning h-6 w-6" />
406
426
  <div>
407
- <div className="text-sm font-medium text-white">
427
+ <div className="text-fm-icon-active text-sm font-medium">
408
428
  Window Minimize
409
429
  </div>
410
- <div className="text-xs text-white/60">
411
- text-yellow-400
430
+ <div className="text-fm-tertiary text-xs">
431
+ text-fm-icon-warning
412
432
  </div>
413
433
  </div>
414
434
  </div>
415
435
  <div className="flex items-center gap-4">
416
- <MinimizeIcon className="h-6 w-6 text-red-400" />
436
+ <MinimizeIcon className="text-fm-icon-negative h-6 w-6" />
417
437
  <div>
418
- <div className="text-sm font-medium text-white">
438
+ <div className="text-fm-icon-active text-sm font-medium">
419
439
  Close/Dismiss
420
440
  </div>
421
- <div className="text-xs text-white/60">
422
- text-red-400
441
+ <div className="text-fm-tertiary text-xs">
442
+ text-fm-icon-negative
423
443
  </div>
424
444
  </div>
425
445
  </div>
@@ -427,11 +447,11 @@ function VideoPlayer() {
427
447
  </div>
428
448
 
429
449
  <div className="!space-y-4">
430
- <h3 className="text-lg font-semibold !text-orange-300">
450
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
431
451
  Custom Colors
432
452
  </h3>
433
- <div className="rounded-lg bg-black/40 p-4">
434
- <pre className="overflow-x-auto text-sm !text-green-300">
453
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
454
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
435
455
  {`// Using Tailwind classes
436
456
  <MinimizeIcon className="h-6 w-6 text-orange-400" />
437
457
  <MinimizeIcon className="h-6 w-6 text-amber-500" />
@@ -456,44 +476,44 @@ function VideoPlayer() {
456
476
 
457
477
  {/* Usage Examples */}
458
478
  <div className="!space-y-8">
459
- <h2 className="text-center text-3xl font-bold !text-white">
479
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
460
480
  Usage Examples
461
481
  </h2>
462
482
 
463
483
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
464
484
  {/* Video Player Fullscreen */}
465
485
  <div className="!space-y-4">
466
- <h3 className="text-lg font-semibold !text-orange-300">
486
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
467
487
  Video Player Fullscreen
468
488
  </h3>
469
489
  <div className="!space-y-4">
470
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
471
- <div className="relative mb-4 aspect-video overflow-hidden rounded-lg bg-black">
472
- <div className="absolute inset-0 flex items-center justify-center bg-gradient-to-br from-gray-800 to-gray-900">
473
- <div className="flex h-16 w-16 items-center justify-center rounded-full bg-white/20">
490
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
491
+ <div className="bg-fm-surface-primary relative mb-4 aspect-video overflow-hidden rounded-lg">
492
+ <div className="from-fm-surface-secondary to-fm-surface-primary absolute inset-0 flex items-center justify-center bg-linear-to-br">
493
+ <div className="bg-fm-divider-primary flex h-16 w-16 items-center justify-center rounded-full">
474
494
  <div className="ml-1 h-0 w-0 border-y-[8px] border-l-[12px] border-y-transparent border-l-white" />
475
495
  </div>
476
496
  </div>
477
497
  <div className="absolute top-4 right-4">
478
- <button className="rounded border border-orange-500/30 bg-black/60 p-3 transition-colors hover:bg-orange-500/20">
479
- <MinimizeIcon className="h-5 w-5 text-orange-400" />
498
+ <button className="border-fm-icon-warning/30 bg-fm-surface-secondary hover:bg-fm-icon-warning/20 rounded border p-3 transition-colors">
499
+ <MinimizeIcon className="text-fm-icon-warning h-5 w-5" />
480
500
  </button>
481
501
  </div>
482
- <div className="absolute right-0 bottom-0 left-0 bg-gradient-to-t from-black/80 to-transparent p-4">
502
+ <div className="from-fm-surface-primary/80 absolute right-0 bottom-0 left-0 bg-linear-to-t to-transparent p-4">
483
503
  <div className="flex items-center justify-between">
484
504
  <div className="flex items-center gap-3">
485
- <button className="rounded p-2 transition-colors hover:bg-white/20">
505
+ <button className="hover:bg-fm-divider-primary rounded p-2 transition-colors">
486
506
  <div className="h-0 w-0 border-y-[6px] border-l-[8px] border-y-transparent border-l-white" />
487
507
  </button>
488
- <span className="text-sm text-white">
508
+ <span className="text-fm-icon-active text-sm">
489
509
  1:23 / 2:18
490
510
  </span>
491
511
  </div>
492
512
  <div className="flex items-center gap-2">
493
- <span className="text-xs text-white/60">
513
+ <span className="text-fm-tertiary text-xs">
494
514
  Fullscreen Mode
495
515
  </span>
496
- <kbd className="rounded bg-white/10 px-2 py-1 text-xs text-white">
516
+ <kbd className="bg-fm-surface-secondary text-fm-icon-active rounded px-2 py-1 text-xs">
497
517
  ESC
498
518
  </kbd>
499
519
  </div>
@@ -501,16 +521,16 @@ function VideoPlayer() {
501
521
  </div>
502
522
  </div>
503
523
  <div className="text-center">
504
- <div className="text-sm font-medium text-white">
524
+ <div className="text-fm-icon-active text-sm font-medium">
505
525
  "Space Documentary - Full Experience"
506
526
  </div>
507
- <div className="text-xs text-white/60">
527
+ <div className="text-fm-tertiary text-xs">
508
528
  Click minimize to exit fullscreen mode
509
529
  </div>
510
530
  </div>
511
531
  </div>
512
- <div className="rounded-lg bg-black/40 p-4">
513
- <pre className="overflow-x-auto text-sm !text-green-300">
532
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
533
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
514
534
  {`// Fullscreen video player with exit control
515
535
  <div className="fullscreen-video-player">
516
536
  <video ref={videoRef} className="fullscreen-video" />
@@ -539,55 +559,55 @@ function VideoPlayer() {
539
559
 
540
560
  {/* Window Controls */}
541
561
  <div className="!space-y-4">
542
- <h3 className="text-lg font-semibold !text-orange-300">
562
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
543
563
  Window Controls
544
564
  </h3>
545
565
  <div className="!space-y-4">
546
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
547
- <div className="overflow-hidden rounded-lg border border-white/20 bg-black/50">
548
- <div className="flex items-center justify-between border-b border-white/10 bg-white/5 p-3">
566
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
567
+ <div className="border-fm-divider-primary bg-fm-surface-secondary overflow-hidden rounded-lg border">
568
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between border-b p-3">
549
569
  <div className="flex items-center gap-3">
550
570
  <div className="flex gap-2">
551
- <div className="h-3 w-3 rounded-full bg-red-400"></div>
552
- <div className="h-3 w-3 rounded-full bg-yellow-400"></div>
553
- <div className="h-3 w-3 rounded-full bg-green-400"></div>
571
+ <div className="bg-fm-icon-negative h-3 w-3 rounded-full"></div>
572
+ <div className="bg-fm-icon-warning h-3 w-3 rounded-full"></div>
573
+ <div className="bg-fm-icon-positive h-3 w-3 rounded-full"></div>
554
574
  </div>
555
- <span className="text-sm text-white">
575
+ <span className="text-fm-icon-active text-sm">
556
576
  Application Window
557
577
  </span>
558
578
  </div>
559
579
  <div className="flex items-center gap-1">
560
- <button className="rounded border border-orange-500/30 bg-orange-500/10 p-1.5 transition-colors hover:bg-orange-500/20">
561
- <MinimizeIcon className="h-3 w-3 text-orange-400" />
580
+ <button className="border-fm-icon-warning/30 bg-fm-icon-warning/10 hover:bg-fm-icon-warning/20 rounded border p-1.5 transition-colors">
581
+ <MinimizeIcon className="text-fm-icon-warning h-3 w-3" />
562
582
  </button>
563
- <button className="rounded p-1.5 transition-colors hover:bg-white/20">
564
- <div className="h-3 w-3 rounded-sm border border-white"></div>
583
+ <button className="hover:bg-fm-divider-primary rounded p-1.5 transition-colors">
584
+ <div className="border-fm-divider-contrast h-3 w-3 rounded-sm border"></div>
565
585
  </button>
566
- <button className="rounded p-1.5 transition-colors hover:bg-red-500/20">
586
+ <button className="hover:bg-fm-icon-negative/20 rounded p-1.5 transition-colors">
567
587
  <div className="relative h-3 w-3">
568
- <div className="absolute inset-0 rotate-45 border border-white"></div>
569
- <div className="absolute inset-0 -rotate-45 border border-white"></div>
588
+ <div className="border-fm-divider-contrast absolute inset-0 rotate-45 border"></div>
589
+ <div className="border-fm-divider-contrast absolute inset-0 -rotate-45 border"></div>
570
590
  </div>
571
591
  </button>
572
592
  </div>
573
593
  </div>
574
594
  <div className="p-6">
575
595
  <div className="text-center">
576
- <div className="mx-auto mb-4 flex h-24 w-24 items-center justify-center rounded-lg bg-white/10">
596
+ <div className="bg-fm-surface-secondary mx-auto mb-4 flex h-24 w-24 items-center justify-center rounded-lg">
577
597
  <span className="text-2xl">📄</span>
578
598
  </div>
579
- <div className="text-sm font-medium text-white">
599
+ <div className="text-fm-icon-active text-sm font-medium">
580
600
  Document Editor
581
601
  </div>
582
- <div className="text-xs text-white/60">
602
+ <div className="text-fm-tertiary text-xs">
583
603
  Unsaved changes
584
604
  </div>
585
605
  </div>
586
606
  </div>
587
607
  </div>
588
608
  </div>
589
- <div className="rounded-lg bg-black/40 p-4">
590
- <pre className="overflow-x-auto text-sm !text-green-300">
609
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
610
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
591
611
  {`// Desktop application window controls
592
612
  <div className="window">
593
613
  <div className="window-titlebar">
@@ -618,63 +638,63 @@ function VideoPlayer() {
618
638
 
619
639
  {/* Modal Collapse */}
620
640
  <div className="!space-y-4">
621
- <h3 className="text-lg font-semibold !text-orange-300">
641
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
622
642
  Modal Collapse
623
643
  </h3>
624
644
  <div className="!space-y-4">
625
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
626
- <div className="rounded-lg border border-white/20 bg-black/50 p-6">
645
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
646
+ <div className="border-fm-divider-primary bg-fm-surface-secondary rounded-lg border p-6">
627
647
  <div className="mb-4 flex items-start justify-between">
628
648
  <div>
629
- <h4 className="text-lg font-semibold text-white">
649
+ <h4 className="text-fm-icon-active text-lg font-semibold">
630
650
  Settings Panel
631
651
  </h4>
632
- <p className="text-sm text-white/60">
652
+ <p className="text-fm-tertiary text-sm">
633
653
  Customize your preferences
634
654
  </p>
635
655
  </div>
636
656
  <div className="flex items-center gap-2">
637
- <button className="rounded border border-orange-500/30 bg-orange-500/10 p-2 transition-colors hover:bg-orange-500/20">
638
- <MinimizeIcon className="h-4 w-4 text-orange-400" />
657
+ <button className="border-fm-icon-warning/30 bg-fm-icon-warning/10 hover:bg-fm-icon-warning/20 rounded border p-2 transition-colors">
658
+ <MinimizeIcon className="text-fm-icon-warning h-4 w-4" />
639
659
  </button>
640
- <button className="rounded p-2 transition-colors hover:bg-white/20">
660
+ <button className="hover:bg-fm-divider-primary rounded p-2 transition-colors">
641
661
  <div className="relative h-4 w-4">
642
- <div className="absolute inset-0 rotate-45 border border-white"></div>
643
- <div className="absolute inset-0 -rotate-45 border border-white"></div>
662
+ <div className="border-fm-divider-contrast absolute inset-0 rotate-45 border"></div>
663
+ <div className="border-fm-divider-contrast absolute inset-0 -rotate-45 border"></div>
644
664
  </div>
645
665
  </button>
646
666
  </div>
647
667
  </div>
648
668
  <div className="space-y-4">
649
669
  <div className="flex items-center justify-between">
650
- <span className="text-sm text-white">
670
+ <span className="text-fm-icon-active text-sm">
651
671
  Dark Mode
652
672
  </span>
653
- <div className="relative h-6 w-10 rounded-full bg-orange-500">
654
- <div className="absolute top-1 right-1 h-4 w-4 rounded-full bg-white"></div>
673
+ <div className="bg-fm-icon-warning relative h-6 w-10 rounded-full">
674
+ <div className="bg-fm-surface-contrast absolute top-1 right-1 h-4 w-4 rounded-full"></div>
655
675
  </div>
656
676
  </div>
657
677
  <div className="flex items-center justify-between">
658
- <span className="text-sm text-white">
678
+ <span className="text-fm-icon-active text-sm">
659
679
  Notifications
660
680
  </span>
661
- <div className="relative h-6 w-10 rounded-full bg-white/20">
662
- <div className="absolute top-1 left-1 h-4 w-4 rounded-full bg-white"></div>
681
+ <div className="bg-fm-divider-primary relative h-6 w-10 rounded-full">
682
+ <div className="bg-fm-surface-contrast absolute top-1 left-1 h-4 w-4 rounded-full"></div>
663
683
  </div>
664
684
  </div>
665
685
  <div className="flex items-center justify-between">
666
- <span className="text-sm text-white">
686
+ <span className="text-fm-icon-active text-sm">
667
687
  Auto-save
668
688
  </span>
669
- <div className="relative h-6 w-10 rounded-full bg-orange-500">
670
- <div className="absolute top-1 right-1 h-4 w-4 rounded-full bg-white"></div>
689
+ <div className="bg-fm-icon-warning relative h-6 w-10 rounded-full">
690
+ <div className="bg-fm-surface-contrast absolute top-1 right-1 h-4 w-4 rounded-full"></div>
671
691
  </div>
672
692
  </div>
673
693
  </div>
674
694
  </div>
675
695
  </div>
676
- <div className="rounded-lg bg-black/40 p-4">
677
- <pre className="overflow-x-auto text-sm !text-green-300">
696
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
697
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
678
698
  {`// Modal with minimize/collapse option
679
699
  <Modal isOpen={isSettingsOpen} onClose={closeSettings}>
680
700
  <div className="modal-header">
@@ -704,43 +724,43 @@ function VideoPlayer() {
704
724
 
705
725
  {/* Sidebar Collapse */}
706
726
  <div className="!space-y-4">
707
- <h3 className="text-lg font-semibold !text-orange-300">
727
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
708
728
  Sidebar Collapse
709
729
  </h3>
710
730
  <div className="!space-y-4">
711
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
712
- <div className="flex overflow-hidden rounded-lg border border-white/10 bg-black/30">
713
- <div className="w-64 border-r border-white/10 bg-white/5 p-4">
731
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
732
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex overflow-hidden rounded-lg border">
733
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary w-64 border-r p-4">
714
734
  <div className="mb-4 flex items-center justify-between">
715
- <h4 className="text-sm font-semibold text-white">
735
+ <h4 className="text-fm-icon-active text-sm font-semibold">
716
736
  Navigation
717
737
  </h4>
718
- <button className="rounded border border-orange-500/30 bg-orange-500/10 p-1 transition-colors hover:bg-orange-500/20">
719
- <MinimizeIcon className="h-3 w-3 text-orange-400" />
738
+ <button className="border-fm-icon-warning/30 bg-fm-icon-warning/10 hover:bg-fm-icon-warning/20 rounded border p-1 transition-colors">
739
+ <MinimizeIcon className="text-fm-icon-warning h-3 w-3" />
720
740
  </button>
721
741
  </div>
722
742
  <nav className="space-y-2">
723
743
  <a
724
744
  href="#"
725
- className="block rounded bg-orange-500/20 px-3 py-2 text-sm text-white"
745
+ className="bg-fm-icon-warning/20 text-fm-icon-active block rounded px-3 py-2 text-sm"
726
746
  >
727
747
  Dashboard
728
748
  </a>
729
749
  <a
730
750
  href="#"
731
- className="block rounded px-3 py-2 text-sm text-white/70 transition-colors hover:bg-white/10"
751
+ className="text-fm-secondary hover:bg-fm-surface-secondary block rounded px-3 py-2 text-sm transition-colors"
732
752
  >
733
753
  Projects
734
754
  </a>
735
755
  <a
736
756
  href="#"
737
- className="block rounded px-3 py-2 text-sm text-white/70 transition-colors hover:bg-white/10"
757
+ className="text-fm-secondary hover:bg-fm-surface-secondary block rounded px-3 py-2 text-sm transition-colors"
738
758
  >
739
759
  Team
740
760
  </a>
741
761
  <a
742
762
  href="#"
743
- className="block rounded px-3 py-2 text-sm text-white/70 transition-colors hover:bg-white/10"
763
+ className="text-fm-secondary hover:bg-fm-surface-secondary block rounded px-3 py-2 text-sm transition-colors"
744
764
  >
745
765
  Settings
746
766
  </a>
@@ -748,21 +768,21 @@ function VideoPlayer() {
748
768
  </div>
749
769
  <div className="flex-1 p-6">
750
770
  <div className="text-center">
751
- <div className="mx-auto mb-4 flex h-20 w-32 items-center justify-center rounded-lg bg-white/10">
771
+ <div className="bg-fm-surface-secondary mx-auto mb-4 flex h-20 w-32 items-center justify-center rounded-lg">
752
772
  <span className="text-3xl">📊</span>
753
773
  </div>
754
- <div className="text-lg font-medium text-white">
774
+ <div className="text-fm-icon-active text-lg font-medium">
755
775
  Main Content Area
756
776
  </div>
757
- <div className="text-sm text-white/60">
777
+ <div className="text-fm-tertiary text-sm">
758
778
  Your dashboard content goes here
759
779
  </div>
760
780
  </div>
761
781
  </div>
762
782
  </div>
763
783
  </div>
764
- <div className="rounded-lg bg-black/40 p-4">
765
- <pre className="overflow-x-auto text-sm !text-green-300">
784
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
785
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
766
786
  {`// Collapsible sidebar navigation
767
787
  <div className="app-layout">
768
788
  <aside className="sidebar">
@@ -796,65 +816,65 @@ function VideoPlayer() {
796
816
 
797
817
  {/* Accessibility */}
798
818
  <div className="!space-y-8">
799
- <h2 className="text-center text-3xl font-bold !text-white">
819
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
800
820
  Accessibility Features
801
821
  </h2>
802
822
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
803
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
804
- <h3 className="text-lg font-semibold !text-green-300">
823
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
824
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
805
825
  ✅ Built-in Features
806
826
  </h3>
807
- <ul className="!space-y-2 text-sm !text-white/70">
808
- <li className="!text-white/70">
827
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
828
+ <li className="text-fm-secondary!">
809
829
  Uses Radix UI AccessibleIcon wrapper
810
830
  </li>
811
- <li className="!text-white/70">
831
+ <li className="text-fm-secondary!">
812
832
  Provides screen reader label "Minimize icon"
813
833
  </li>
814
- <li className="!text-white/70">
834
+ <li className="text-fm-secondary!">
815
835
  Supports keyboard navigation when interactive
816
836
  </li>
817
- <li className="!text-white/70">
837
+ <li className="text-fm-secondary!">
818
838
  Maintains proper color contrast ratios
819
839
  </li>
820
- <li className="!text-white/70">
840
+ <li className="text-fm-secondary!">
821
841
  Uses square strokeLinecap for crisp visual clarity
822
842
  </li>
823
843
  </ul>
824
844
  </div>
825
845
 
826
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
827
- <h3 className="text-lg font-semibold !text-orange-300">
846
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
847
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
828
848
  💡 Best Practices
829
849
  </h3>
830
- <ul className="!space-y-2 text-sm text-white/70">
831
- <li className="!text-white/70">
850
+ <ul className="text-fm-secondary !space-y-2 text-sm">
851
+ <li className="text-fm-secondary!">
832
852
  Always provide descriptive aria-labels for minimize
833
853
  actions
834
854
  </li>
835
- <li className="!text-white/70">
855
+ <li className="text-fm-secondary!">
836
856
  Use consistent placement in window control groups
837
857
  </li>
838
- <li className="!text-white/70">
858
+ <li className="text-fm-secondary!">
839
859
  Ensure sufficient touch target size (44px minimum)
840
860
  </li>
841
- <li className="!text-white/70">
861
+ <li className="text-fm-secondary!">
842
862
  Provide visible focus states for keyboard users
843
863
  </li>
844
- <li className="!text-white/70">
864
+ <li className="text-fm-secondary!">
845
865
  Consider Escape key handling for fullscreen exit
846
866
  </li>
847
867
  </ul>
848
868
  </div>
849
869
  </div>
850
870
 
851
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
852
- <h3 className="mb-4 text-lg font-semibold !text-blue-300">
871
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
872
+ <h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
853
873
  Proper ARIA Implementation
854
874
  </h3>
855
875
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
856
- <div className="rounded-lg bg-black/40 p-4">
857
- <pre className="overflow-x-auto text-sm !text-cyan-300">
876
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
877
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
858
878
  {`// Fullscreen video exit control
859
879
  <div className="fullscreen-controls">
860
880
  <button
@@ -899,13 +919,13 @@ function VideoPlayer() {
899
919
  </pre>
900
920
  </div>
901
921
  <div className="!space-y-4">
902
- <p className="text-sm !text-white/70">
922
+ <p className="text-fm-secondary! text-sm">
903
923
  When using MinimizeIcon for fullscreen or window
904
924
  controls, always provide clear context about what will
905
925
  be minimized and how users can restore the content.
906
926
  </p>
907
- <div className="rounded-lg border border-orange-500/20 bg-orange-500/10 p-4">
908
- <div className="flex items-center gap-2 text-sm text-orange-200">
927
+ <div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
928
+ <div className="text-fm-icon-warning flex items-center gap-2 text-sm">
909
929
  <MinimizeIcon className="h-4 w-4" />
910
930
  <span>
911
931
  Include keyboard shortcuts (Escape, Alt+F9) in
@@ -920,48 +940,58 @@ function VideoPlayer() {
920
940
 
921
941
  {/* Related Icons */}
922
942
  <div className="!space-y-8">
923
- <h2 className="text-center text-3xl font-bold !text-white">
943
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
924
944
  Related Icons
925
945
  </h2>
926
946
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
927
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
928
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-emerald-500/20">
929
- <span className="!text-2xl !text-white">⤢</span>
947
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
948
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
949
+ <span className="text-fm-icon-active! !text-2xl">⤢</span>
930
950
  </div>
931
951
  <div>
932
- <div className="font-medium text-white">ExpandIcon</div>
933
- <div className="text-xs text-white/60">
952
+ <div className="text-fm-icon-active font-medium">
953
+ ExpandIcon
954
+ </div>
955
+ <div className="text-fm-tertiary text-xs">
934
956
  Enter fullscreen
935
957
  </div>
936
958
  </div>
937
959
  </div>
938
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
939
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
940
- <span className="!text-2xl !text-white">⊞</span>
960
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
961
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
962
+ <span className="text-fm-icon-active! !text-2xl">⊞</span>
941
963
  </div>
942
964
  <div>
943
- <div className="font-medium text-white">MaximizeIcon</div>
944
- <div className="text-xs text-white/60">
965
+ <div className="text-fm-icon-active font-medium">
966
+ MaximizeIcon
967
+ </div>
968
+ <div className="text-fm-tertiary text-xs">
945
969
  Window maximize
946
970
  </div>
947
971
  </div>
948
972
  </div>
949
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
950
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-red-500/20">
951
- <span className="!text-2xl !text-white">✕</span>
973
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
974
+ <div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
975
+ <span className="text-fm-icon-active! !text-2xl">✕</span>
952
976
  </div>
953
977
  <div>
954
- <div className="font-medium text-white">CloseIcon</div>
955
- <div className="text-xs text-white/60">Close window</div>
978
+ <div className="text-fm-icon-active font-medium">
979
+ CloseIcon
980
+ </div>
981
+ <div className="text-fm-tertiary text-xs">
982
+ Close window
983
+ </div>
956
984
  </div>
957
985
  </div>
958
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
959
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
960
- <span className="!text-2xl !text-white">⤴</span>
986
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
987
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
988
+ <span className="text-fm-icon-active! !text-2xl">⤴</span>
961
989
  </div>
962
990
  <div>
963
- <div className="font-medium text-white">CollapseIcon</div>
964
- <div className="text-xs text-white/60">
991
+ <div className="text-fm-icon-active font-medium">
992
+ CollapseIcon
993
+ </div>
994
+ <div className="text-fm-tertiary text-xs">
965
995
  Collapse panel
966
996
  </div>
967
997
  </div>
@@ -971,15 +1001,15 @@ function VideoPlayer() {
971
1001
  </div>
972
1002
 
973
1003
  {/* Footer */}
974
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
1004
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
975
1005
  <div className="!mx-auto max-w-7xl px-6 py-8">
976
1006
  <div className="!space-y-4 text-center">
977
- <p className="!text-white/60">
1007
+ <p className="text-fm-tertiary!">
978
1008
  MinimizeIcon is part of the Aural UI icon library, built
979
1009
  with accessibility and window management best practices in
980
1010
  mind.
981
1011
  </p>
982
- <p className="text-sm !text-white/40">
1012
+ <p className="text-fm-placeholder! text-sm">
983
1013
  All icons use Radix UI's AccessibleIcon for screen reader
984
1014
  compatibility and follow WCAG guidelines for interactive
985
1015
  elements and keyboard navigation.
@@ -1038,20 +1068,20 @@ const storyParameters = {
1038
1068
  backgrounds: {
1039
1069
  default: "dark",
1040
1070
  values: [
1041
- { name: "dark", value: "#0a0a0a" },
1042
- { name: "darker", value: "#000000" },
1071
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1072
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
1043
1073
  ],
1044
1074
  },
1045
1075
  }
1046
1076
 
1047
1077
  export const Default: Story = {
1048
1078
  args: {
1049
- className: "h-8 w-8 text-orange-400",
1079
+ className: "h-8 w-8 text-fm-icon-warning",
1050
1080
  withAccessibility: true,
1051
1081
  },
1052
1082
  parameters: storyParameters,
1053
1083
  render: (args) => (
1054
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1084
+ <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">
1055
1085
  <MinimizeIcon {...args} />
1056
1086
  </div>
1057
1087
  ),
@@ -1068,30 +1098,30 @@ export const SizeVariations: Story = {
1068
1098
  },
1069
1099
  },
1070
1100
  render: () => (
1071
- <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">
1101
+ <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">
1072
1102
  <div className="text-center">
1073
- <MinimizeIcon className="!mx-auto mb-2 h-3 w-3 text-orange-400" />
1074
- <span className="text-xs text-white/60">12px</span>
1103
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-3 w-3" />
1104
+ <span className="text-fm-tertiary text-xs">12px</span>
1075
1105
  </div>
1076
1106
  <div className="text-center">
1077
- <MinimizeIcon className="!mx-auto mb-2 h-4 w-4 text-orange-400" />
1078
- <span className="text-xs text-white/60">16px</span>
1107
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-4 w-4" />
1108
+ <span className="text-fm-tertiary text-xs">16px</span>
1079
1109
  </div>
1080
1110
  <div className="text-center">
1081
- <MinimizeIcon className="!mx-auto mb-2 h-5 w-5 text-orange-400" />
1082
- <span className="text-xs text-white/60">20px</span>
1111
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-5 w-5" />
1112
+ <span className="text-fm-tertiary text-xs">20px</span>
1083
1113
  </div>
1084
1114
  <div className="text-center">
1085
- <MinimizeIcon className="!mx-auto mb-2 h-6 w-6 text-orange-400" />
1086
- <span className="text-xs text-white/60">24px</span>
1115
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-6 w-6" />
1116
+ <span className="text-fm-tertiary text-xs">24px</span>
1087
1117
  </div>
1088
1118
  <div className="text-center">
1089
- <MinimizeIcon className="!mx-auto mb-2 h-8 w-8 text-orange-400" />
1090
- <span className="text-xs text-white/60">32px</span>
1119
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-8 w-8" />
1120
+ <span className="text-fm-tertiary text-xs">32px</span>
1091
1121
  </div>
1092
1122
  <div className="text-center">
1093
- <MinimizeIcon className="!mx-auto mb-2 h-12 w-12 text-orange-400" />
1094
- <span className="text-xs text-white/60">48px</span>
1123
+ <MinimizeIcon className="text-fm-icon-warning !mx-auto mb-2 h-12 w-12" />
1124
+ <span className="text-fm-tertiary text-xs">48px</span>
1095
1125
  </div>
1096
1126
  </div>
1097
1127
  ),
@@ -1108,34 +1138,44 @@ export const ColorVariations: Story = {
1108
1138
  },
1109
1139
  },
1110
1140
  render: () => (
1111
- <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">
1141
+ <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">
1112
1142
  <div className="text-center">
1113
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-orange-500/30 bg-orange-500/20">
1114
- <MinimizeIcon className="h-8 w-8 text-orange-400" />
1143
+ <div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1144
+ <MinimizeIcon className="text-fm-icon-warning h-8 w-8" />
1145
+ </div>
1146
+ <div className="text-fm-icon-active text-sm font-medium">
1147
+ Exit Fullscreen
1115
1148
  </div>
1116
- <div className="text-sm font-medium text-white">Exit Fullscreen</div>
1117
- <div className="text-xs text-orange-400">text-orange-400</div>
1149
+ <div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
1118
1150
  </div>
1119
1151
  <div className="text-center">
1120
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-amber-500/30 bg-amber-500/20">
1121
- <MinimizeIcon className="h-8 w-8 text-amber-400" />
1152
+ <div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1153
+ <MinimizeIcon className="text-fm-icon-warning h-8 w-8" />
1122
1154
  </div>
1123
- <div className="text-sm font-medium text-white">Compact View</div>
1124
- <div className="text-xs text-amber-400">text-amber-400</div>
1155
+ <div className="text-fm-icon-active text-sm font-medium">
1156
+ Compact View
1157
+ </div>
1158
+ <div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
1125
1159
  </div>
1126
1160
  <div className="text-center">
1127
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-yellow-500/30 bg-yellow-500/20">
1128
- <MinimizeIcon className="h-8 w-8 text-yellow-400" />
1161
+ <div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1162
+ <MinimizeIcon className="text-fm-icon-warning h-8 w-8" />
1163
+ </div>
1164
+ <div className="text-fm-icon-active text-sm font-medium">
1165
+ Window Minimize
1129
1166
  </div>
1130
- <div className="text-sm font-medium text-white">Window Minimize</div>
1131
- <div className="text-xs text-yellow-400">text-yellow-400</div>
1167
+ <div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
1132
1168
  </div>
1133
1169
  <div className="text-center">
1134
- <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">
1135
- <MinimizeIcon className="h-8 w-8 text-red-400" />
1170
+ <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">
1171
+ <MinimizeIcon className="text-fm-icon-negative h-8 w-8" />
1172
+ </div>
1173
+ <div className="text-fm-icon-active text-sm font-medium">
1174
+ Close/Dismiss
1175
+ </div>
1176
+ <div className="text-fm-icon-negative text-xs">
1177
+ text-fm-icon-negative
1136
1178
  </div>
1137
- <div className="text-sm font-medium text-white">Close/Dismiss</div>
1138
- <div className="text-xs text-red-400">text-red-400</div>
1139
1179
  </div>
1140
1180
  </div>
1141
1181
  ),
@@ -1152,17 +1192,17 @@ export const UsageExamples: Story = {
1152
1192
  },
1153
1193
  },
1154
1194
  render: () => (
1155
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1195
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1156
1196
  {/* Fullscreen Video */}
1157
1197
  <div className="!space-y-2">
1158
- <h3 className="text-sm font-medium text-white">
1198
+ <h3 className="text-fm-icon-active text-sm font-medium">
1159
1199
  Fullscreen Video Player
1160
1200
  </h3>
1161
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1162
- <div className="relative aspect-video rounded-lg bg-black">
1201
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1202
+ <div className="bg-fm-surface-primary relative aspect-video rounded-lg">
1163
1203
  <div className="absolute top-4 right-4">
1164
- <button className="rounded border border-orange-500/30 bg-black/60 p-3 transition-colors hover:bg-orange-500/20">
1165
- <MinimizeIcon className="h-5 w-5 text-orange-400" />
1204
+ <button className="border-fm-icon-warning/30 bg-fm-surface-secondary hover:bg-fm-icon-warning/20 rounded border p-3 transition-colors">
1205
+ <MinimizeIcon className="text-fm-icon-warning h-5 w-5" />
1166
1206
  </button>
1167
1207
  </div>
1168
1208
  </div>
@@ -1171,21 +1211,25 @@ export const UsageExamples: Story = {
1171
1211
 
1172
1212
  {/* Window Controls */}
1173
1213
  <div className="!space-y-2">
1174
- <h3 className="text-sm font-medium text-white">Window Controls</h3>
1175
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1176
- <div className="flex items-center justify-between rounded bg-white/5 p-3">
1177
- <span className="text-sm text-white">Application Window</span>
1214
+ <h3 className="text-fm-icon-active text-sm font-medium">
1215
+ Window Controls
1216
+ </h3>
1217
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1218
+ <div className="bg-fm-surface-secondary flex items-center justify-between rounded p-3">
1219
+ <span className="text-fm-icon-active text-sm">
1220
+ Application Window
1221
+ </span>
1178
1222
  <div className="flex items-center gap-1">
1179
- <button className="rounded border border-orange-500/30 bg-orange-500/10 p-1.5 transition-colors hover:bg-orange-500/20">
1180
- <MinimizeIcon className="h-3 w-3 text-orange-400" />
1223
+ <button className="border-fm-icon-warning/30 bg-fm-icon-warning/10 hover:bg-fm-icon-warning/20 rounded border p-1.5 transition-colors">
1224
+ <MinimizeIcon className="text-fm-icon-warning h-3 w-3" />
1181
1225
  </button>
1182
- <button className="rounded p-1.5 transition-colors hover:bg-white/20">
1183
- <div className="h-3 w-3 rounded-sm border border-white"></div>
1226
+ <button className="hover:bg-fm-divider-primary rounded p-1.5 transition-colors">
1227
+ <div className="border-fm-divider-contrast h-3 w-3 rounded-sm border"></div>
1184
1228
  </button>
1185
- <button className="rounded p-1.5 transition-colors hover:bg-red-500/20">
1229
+ <button className="hover:bg-fm-icon-negative/20 rounded p-1.5 transition-colors">
1186
1230
  <div className="relative h-3 w-3">
1187
- <div className="absolute inset-0 rotate-45 border border-white"></div>
1188
- <div className="absolute inset-0 -rotate-45 border border-white"></div>
1231
+ <div className="border-fm-divider-contrast absolute inset-0 rotate-45 border"></div>
1232
+ <div className="border-fm-divider-contrast absolute inset-0 -rotate-45 border"></div>
1189
1233
  </div>
1190
1234
  </button>
1191
1235
  </div>
@@ -1209,12 +1253,12 @@ export const Playground: Story = {
1209
1253
  args: {
1210
1254
  width: 24,
1211
1255
  height: 24,
1212
- className: "text-orange-400",
1256
+ className: "text-fm-icon-warning",
1213
1257
  strokeLinecap: "square",
1214
1258
  },
1215
1259
  render: (args) => (
1216
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1217
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1260
+ <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">
1261
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1218
1262
  <MinimizeIcon {...args} />
1219
1263
  </div>
1220
1264
  </div>