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 ExpandIcon> = {
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,57 +40,59 @@ const meta: Meta<typeof ExpandIcon> = {
40
40
  background: transparent ;
41
41
  }
42
42
  body {
43
- background: #0a0a0a ;
43
+ background: var(--color-fm-surface-primary) ;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a ;
46
+ background: var(--color-fm-surface-primary) ;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent ;
50
50
  border: none ;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white ;
53
+ color: var(--color-fm-icon-active) ;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) ;
56
+ color: var(--color-fm-secondary) ;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) ;
60
- color: rgba(168, 85, 247, 1) ;
61
- border: 1px solid rgba(255, 255, 255, 0.1) ;
59
+ background: var(--color-fm-surface-secondary) ;
60
+ color: var(--color-fm-secondary-500) ;
61
+ border: 1px solid var(--color-fm-divider-secondary) ;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) ;
65
- border: 1px solid rgba(255, 255, 255, 0.1) ;
64
+ background: var(--color-fm-surface-secondary) ;
65
+ border: 1px solid var(--color-fm-divider-secondary) ;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) ;
69
- border: 1px solid rgba(255, 255, 255, 0.1) ;
68
+ background: var(--color-fm-surface-secondary) ;
69
+ border: 1px solid var(--color-fm-divider-secondary) ;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) ;
73
- color: white ;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
72
+ background: var(--color-fm-surface-secondary) ;
73
+ color: var(--color-fm-icon-active) ;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) ;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) ;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
77
+ color: var(--color-fm-secondary) ;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
79
79
  }
80
80
  `}
81
81
  </style>
82
82
 
83
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-emerald-900/20 to-gray-900">
83
+ <div className="from-fm-surface-primary via-fm-icon-positive/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
84
84
  {/* Header */}
85
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
86
- <div className="absolute inset-0 bg-gradient-to-r from-emerald-500/10 via-transparent to-teal-500/10" />
85
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
86
+ <div className="from-fm-icon-positive/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
87
87
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
88
88
  <div className="!space-y-6 text-center">
89
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-emerald-500/30 bg-gradient-to-br from-emerald-500/20 to-teal-500/20">
90
- <ExpandIcon className="h-12 w-12 text-emerald-400" />
89
+ <div className="border-fm-icon-positive/30 from-fm-icon-positive/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
+ <ExpandIcon className="text-fm-icon-positive h-12 w-12" />
91
91
  </div>
92
- <h1 className="text-5xl font-bold !text-white">ExpandIcon</h1>
93
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
92
+ <h1 className="text-fm-icon-active! text-5xl font-bold">
93
+ ExpandIcon
94
+ </h1>
95
+ <p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
94
96
  A fullscreen and expand control icon for maximizing
95
97
  interface elements. Features diagonal arrows pointing
96
98
  outward, essential for media players, modal dialogs, image
@@ -101,28 +103,28 @@ const meta: Meta<typeof ExpandIcon> = {
101
103
  {/* Stats */}
102
104
  <div className="flex items-center justify-center gap-8 pt-8">
103
105
  <div className="text-center">
104
- <div className="text-3xl font-bold text-emerald-300">
106
+ <div className="text-fm-icon-positive text-3xl font-bold">
105
107
  Fullscreen
106
108
  </div>
107
- <div className="text-sm text-white/60">
109
+ <div className="text-fm-tertiary text-sm">
108
110
  Maximize content
109
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-teal-300">
115
+ <div className="text-fm-icon-info 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-green-300">
124
+ <div className="text-fm-icon-positive 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 expand symbol
127
129
  </div>
128
130
  </div>
@@ -135,16 +137,16 @@ const meta: Meta<typeof ExpandIcon> = {
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-emerald-300">
145
+ <h3 className="text-fm-icon-positive! 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 { ExpandIcon } from "@icons/expand-icon"
149
151
 
150
152
  function VideoPlayer() {
@@ -163,12 +165,12 @@ function VideoPlayer() {
163
165
  </div>
164
166
 
165
167
  <div className="!space-y-4">
166
- <h3 className="text-xl font-semibold !text-emerald-300">
168
+ <h3 className="text-fm-icon-positive! 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-emerald-500/20 bg-emerald-500/10 p-3 transition-colors hover:bg-emerald-500/20">
171
- <ExpandIcon className="h-6 w-6 text-emerald-400" />
171
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
172
+ <button className="border-fm-icon-positive/20 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 rounded-lg border p-3 transition-colors">
173
+ <ExpandIcon className="text-fm-icon-positive h-6 w-6" />
172
174
  </button>
173
175
  </div>
174
176
  </div>
@@ -177,122 +179,130 @@ function VideoPlayer() {
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-emerald-300">
225
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
226
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
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-emerald-300">
239
+ <tr className="border-fm-divider-tertiary border-b">
240
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
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-emerald-300">
253
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
254
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
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-emerald-300">
267
+ <tr className="border-fm-divider-tertiary border-b">
268
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
263
269
  strokeLinecap
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">
274
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
269
275
  square
270
276
  </td>
271
- <td className="px-6 py-4 text-sm !text-white/70">
277
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
272
278
  Style of line endings (square for crisp corners)
273
279
  </td>
274
280
  </tr>
275
- <tr className="border-b border-white/5 !bg-black/10">
276
- <td className="px-6 py-4 font-mono text-sm !text-emerald-300">
281
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
282
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
277
283
  className
278
284
  </td>
279
- <td className="px-6 py-4 text-sm !text-white/70">
285
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
280
286
  string
281
287
  </td>
282
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
283
- <td className="px-6 py-4 text-sm !text-white/70">
288
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
289
+ -
290
+ </td>
291
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
284
292
  CSS classes for styling (use for overrides)
285
293
  </td>
286
294
  </tr>
287
- <tr className="!bg-black/10">
288
- <td className="px-6 py-4 font-mono text-sm !text-emerald-300">
295
+ <tr className="bg-fm-surface-secondary!">
296
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
289
297
  ...svgProps
290
298
  </td>
291
- <td className="px-6 py-4 text-sm !text-white/70">
299
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
292
300
  SVGProps
293
301
  </td>
294
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
295
- <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">
296
306
  All standard SVG element props
297
307
  </td>
298
308
  </tr>
@@ -303,50 +313,62 @@ function VideoPlayer() {
303
313
 
304
314
  {/* Size Variations */}
305
315
  <div className="!space-y-8">
306
- <h2 className="text-center text-3xl font-bold !text-white">
316
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
307
317
  Size Variations
308
318
  </h2>
309
- <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">
310
320
  <div className="!space-y-6">
311
321
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
312
322
  <div className="!space-y-4">
313
- <h3 className="text-lg font-semibold !text-emerald-300">
323
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
314
324
  Standard Sizes
315
325
  </h3>
316
- <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">
317
327
  <div className="text-center">
318
- <ExpandIcon className="!mx-auto mb-2 h-3 w-3 text-emerald-400" />
319
- <span className="text-xs text-white/60">12px</span>
328
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
329
+ <span className="text-fm-tertiary text-xs">
330
+ 12px
331
+ </span>
320
332
  </div>
321
333
  <div className="text-center">
322
- <ExpandIcon className="!mx-auto mb-2 h-4 w-4 text-emerald-400" />
323
- <span className="text-xs text-white/60">16px</span>
334
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
335
+ <span className="text-fm-tertiary text-xs">
336
+ 16px
337
+ </span>
324
338
  </div>
325
339
  <div className="text-center">
326
- <ExpandIcon className="!mx-auto mb-2 h-5 w-5 text-emerald-400" />
327
- <span className="text-xs text-white/60">20px</span>
340
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
341
+ <span className="text-fm-tertiary text-xs">
342
+ 20px
343
+ </span>
328
344
  </div>
329
345
  <div className="text-center">
330
- <ExpandIcon className="!mx-auto mb-2 h-6 w-6 text-emerald-400" />
331
- <span className="text-xs text-white/60">24px</span>
346
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
347
+ <span className="text-fm-tertiary text-xs">
348
+ 24px
349
+ </span>
332
350
  </div>
333
351
  <div className="text-center">
334
- <ExpandIcon className="!mx-auto mb-2 h-8 w-8 text-emerald-400" />
335
- <span className="text-xs text-white/60">32px</span>
352
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
353
+ <span className="text-fm-tertiary text-xs">
354
+ 32px
355
+ </span>
336
356
  </div>
337
357
  <div className="text-center">
338
- <ExpandIcon className="!mx-auto mb-2 h-12 w-12 text-emerald-400" />
339
- <span className="text-xs text-white/60">48px</span>
358
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
359
+ <span className="text-fm-tertiary text-xs">
360
+ 48px
361
+ </span>
340
362
  </div>
341
363
  </div>
342
364
  </div>
343
365
 
344
366
  <div className="!space-y-4">
345
- <h3 className="text-lg font-semibold !text-emerald-300">
367
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
346
368
  Code Example
347
369
  </h3>
348
- <div className="rounded-lg bg-black/40 p-4">
349
- <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">
350
372
  {`// Small (16px) - compact controls
351
373
  <ExpandIcon className="h-4 w-4" />
352
374
 
@@ -368,56 +390,56 @@ function VideoPlayer() {
368
390
 
369
391
  {/* Color Variations */}
370
392
  <div className="!space-y-8">
371
- <h2 className="text-center text-3xl font-bold !text-white">
393
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
372
394
  Color Variations
373
395
  </h2>
374
396
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
375
397
  <div className="!space-y-4">
376
- <h3 className="text-lg font-semibold !text-emerald-300">
398
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
377
399
  Semantic Colors
378
400
  </h3>
379
- <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">
380
402
  <div className="flex items-center gap-4">
381
- <ExpandIcon className="h-6 w-6 text-emerald-400" />
403
+ <ExpandIcon className="text-fm-icon-positive h-6 w-6" />
382
404
  <div>
383
- <div className="text-sm font-medium text-white">
405
+ <div className="text-fm-icon-active text-sm font-medium">
384
406
  Expand/Fullscreen
385
407
  </div>
386
- <div className="text-xs text-white/60">
387
- text-emerald-400
408
+ <div className="text-fm-tertiary text-xs">
409
+ text-fm-icon-positive
388
410
  </div>
389
411
  </div>
390
412
  </div>
391
413
  <div className="flex items-center gap-4">
392
- <ExpandIcon className="h-6 w-6 text-teal-400" />
414
+ <ExpandIcon className="text-fm-icon-info h-6 w-6" />
393
415
  <div>
394
- <div className="text-sm font-medium text-white">
416
+ <div className="text-fm-icon-active text-sm font-medium">
395
417
  Maximize View
396
418
  </div>
397
- <div className="text-xs text-white/60">
398
- text-teal-400
419
+ <div className="text-fm-tertiary text-xs">
420
+ text-fm-icon-info
399
421
  </div>
400
422
  </div>
401
423
  </div>
402
424
  <div className="flex items-center gap-4">
403
- <ExpandIcon className="h-6 w-6 text-green-400" />
425
+ <ExpandIcon className="text-fm-icon-positive h-6 w-6" />
404
426
  <div>
405
- <div className="text-sm font-medium text-white">
427
+ <div className="text-fm-icon-active text-sm font-medium">
406
428
  Active/Available
407
429
  </div>
408
- <div className="text-xs text-white/60">
409
- text-green-400
430
+ <div className="text-fm-tertiary text-xs">
431
+ text-fm-icon-positive
410
432
  </div>
411
433
  </div>
412
434
  </div>
413
435
  <div className="flex items-center gap-4">
414
- <ExpandIcon className="h-6 w-6 text-cyan-400" />
436
+ <ExpandIcon className="text-fm-icon-info h-6 w-6" />
415
437
  <div>
416
- <div className="text-sm font-medium text-white">
438
+ <div className="text-fm-icon-active text-sm font-medium">
417
439
  Focus Mode
418
440
  </div>
419
- <div className="text-xs text-white/60">
420
- text-cyan-400
441
+ <div className="text-fm-tertiary text-xs">
442
+ text-fm-icon-info
421
443
  </div>
422
444
  </div>
423
445
  </div>
@@ -425,11 +447,11 @@ function VideoPlayer() {
425
447
  </div>
426
448
 
427
449
  <div className="!space-y-4">
428
- <h3 className="text-lg font-semibold !text-emerald-300">
450
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
429
451
  Custom Colors
430
452
  </h3>
431
- <div className="rounded-lg bg-black/40 p-4">
432
- <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">
433
455
  {`// Using Tailwind classes
434
456
  <ExpandIcon className="h-6 w-6 text-emerald-400" />
435
457
  <ExpandIcon className="h-6 w-6 text-teal-500" />
@@ -454,56 +476,58 @@ function VideoPlayer() {
454
476
 
455
477
  {/* Usage Examples */}
456
478
  <div className="!space-y-8">
457
- <h2 className="text-center text-3xl font-bold !text-white">
479
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
458
480
  Usage Examples
459
481
  </h2>
460
482
 
461
483
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
462
484
  {/* Video Player */}
463
485
  <div className="!space-y-4">
464
- <h3 className="text-lg font-semibold !text-emerald-300">
486
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
465
487
  Video Player
466
488
  </h3>
467
489
  <div className="!space-y-4">
468
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
469
- <div className="relative mb-4 aspect-video overflow-hidden rounded-lg bg-black/50">
470
- <div className="absolute inset-0 flex items-center justify-center bg-gradient-to-br from-gray-800 to-gray-900">
471
- <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-secondary 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">
472
494
  <div className="ml-1 h-0 w-0 border-y-[8px] border-l-[12px] border-y-transparent border-l-white" />
473
495
  </div>
474
496
  </div>
475
- <div className="absolute right-0 bottom-0 left-0 bg-gradient-to-t from-black/80 to-transparent p-4">
497
+ <div className="from-fm-surface-primary/80 absolute right-0 bottom-0 left-0 bg-linear-to-t to-transparent p-4">
476
498
  <div className="flex items-center justify-between">
477
499
  <div className="flex items-center gap-3">
478
- <button className="rounded p-2 transition-colors hover:bg-white/20">
500
+ <button className="hover:bg-fm-divider-primary rounded p-2 transition-colors">
479
501
  <div className="h-0 w-0 border-y-[6px] border-l-[8px] border-y-transparent border-l-white" />
480
502
  </button>
481
- <span className="text-sm text-white">
503
+ <span className="text-fm-icon-active text-sm">
482
504
  0:42 / 2:18
483
505
  </span>
484
506
  </div>
485
507
  <div className="flex items-center gap-2">
486
- <button className="rounded p-2 transition-colors hover:bg-white/20">
487
- <span className="text-xs text-white">HD</span>
508
+ <button className="hover:bg-fm-divider-primary rounded p-2 transition-colors">
509
+ <span className="text-fm-icon-active text-xs">
510
+ HD
511
+ </span>
488
512
  </button>
489
- <button className="rounded border border-emerald-500/30 bg-emerald-500/10 p-2 transition-colors hover:bg-emerald-500/20">
490
- <ExpandIcon className="h-4 w-4 text-emerald-400" />
513
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 rounded border p-2 transition-colors">
514
+ <ExpandIcon className="text-fm-icon-positive h-4 w-4" />
491
515
  </button>
492
516
  </div>
493
517
  </div>
494
518
  </div>
495
519
  </div>
496
520
  <div className="text-center">
497
- <div className="text-sm font-medium text-white">
521
+ <div className="text-fm-icon-active text-sm font-medium">
498
522
  "Exploring the Universe"
499
523
  </div>
500
- <div className="text-xs text-white/60">
524
+ <div className="text-fm-tertiary text-xs">
501
525
  Click expand to enter fullscreen mode
502
526
  </div>
503
527
  </div>
504
528
  </div>
505
- <div className="rounded-lg bg-black/40 p-4">
506
- <pre className="overflow-x-auto text-sm !text-green-300">
529
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
530
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
507
531
  {`// Video player with fullscreen control
508
532
  <div className="video-player">
509
533
  <video ref={videoRef} className="video-element" />
@@ -531,41 +555,41 @@ function VideoPlayer() {
531
555
 
532
556
  {/* Image Gallery */}
533
557
  <div className="!space-y-4">
534
- <h3 className="text-lg font-semibold !text-emerald-300">
558
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
535
559
  Image Gallery
536
560
  </h3>
537
561
  <div className="!space-y-4">
538
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
562
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
539
563
  <div className="mb-4 grid grid-cols-2 gap-3">
540
564
  {[1, 2, 3, 4].map((img) => (
541
565
  <div
542
566
  key={img}
543
- className="group relative aspect-square overflow-hidden rounded-lg bg-gradient-to-br from-gray-700 to-gray-800"
567
+ className="group from-fm-surface-secondary to-fm-surface-secondary relative aspect-square overflow-hidden rounded-lg bg-linear-to-br"
544
568
  >
545
- <div className="absolute inset-0 flex items-center justify-center bg-black/20 opacity-0 transition-opacity group-hover:opacity-100">
546
- <button className="rounded-lg border border-emerald-500/30 bg-emerald-500/20 p-3 transition-colors hover:bg-emerald-500/30">
547
- <ExpandIcon className="h-5 w-5 text-emerald-400" />
569
+ <div className="bg-fm-surface-secondary absolute inset-0 flex items-center justify-center opacity-0 transition-opacity group-hover:opacity-100">
570
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 hover:bg-fm-icon-positive/30 rounded-lg border p-3 transition-colors">
571
+ <ExpandIcon className="text-fm-icon-positive h-5 w-5" />
548
572
  </button>
549
573
  </div>
550
574
  <div className="absolute right-2 bottom-2 opacity-0 transition-opacity group-hover:opacity-100">
551
- <button className="rounded border border-white/20 bg-black/60 p-1.5 transition-colors hover:border-emerald-500/30 hover:bg-emerald-500/20">
552
- <ExpandIcon className="h-3 w-3 text-white" />
575
+ <button className="border-fm-divider-primary bg-fm-surface-secondary hover:border-fm-icon-positive/30 hover:bg-fm-icon-positive/20 rounded border p-1.5 transition-colors">
576
+ <ExpandIcon className="text-fm-icon-active h-3 w-3" />
553
577
  </button>
554
578
  </div>
555
579
  </div>
556
580
  ))}
557
581
  </div>
558
582
  <div className="text-center">
559
- <div className="text-sm font-medium text-white">
583
+ <div className="text-fm-icon-active text-sm font-medium">
560
584
  Photography Portfolio
561
585
  </div>
562
- <div className="text-xs text-white/60">
586
+ <div className="text-fm-tertiary text-xs">
563
587
  Hover over images to see expand options
564
588
  </div>
565
589
  </div>
566
590
  </div>
567
- <div className="rounded-lg bg-black/40 p-4">
568
- <pre className="overflow-x-auto text-sm !text-green-300">
591
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
592
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
569
593
  {`// Image gallery with lightbox expand
570
594
  <div className="image-gallery">
571
595
  {images.map((image, index) => (
@@ -597,58 +621,58 @@ function VideoPlayer() {
597
621
 
598
622
  {/* Modal Dialog */}
599
623
  <div className="!space-y-4">
600
- <h3 className="text-lg font-semibold !text-emerald-300">
624
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
601
625
  Modal Dialog
602
626
  </h3>
603
627
  <div className="!space-y-4">
604
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
605
- <div className="rounded-lg border border-white/20 bg-black/50 p-6">
628
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
629
+ <div className="border-fm-divider-primary bg-fm-surface-secondary rounded-lg border p-6">
606
630
  <div className="mb-4 flex items-start justify-between">
607
631
  <div>
608
- <h4 className="text-lg font-semibold text-white">
632
+ <h4 className="text-fm-icon-active text-lg font-semibold">
609
633
  Document Preview
610
634
  </h4>
611
- <p className="text-sm text-white/60">
635
+ <p className="text-fm-tertiary text-sm">
612
636
  quarterly-report-2024.pdf
613
637
  </p>
614
638
  </div>
615
639
  <div className="flex items-center gap-2">
616
- <button className="rounded border border-emerald-500/30 bg-emerald-500/10 p-2 transition-colors hover:bg-emerald-500/20">
617
- <ExpandIcon className="h-4 w-4 text-emerald-400" />
640
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 rounded border p-2 transition-colors">
641
+ <ExpandIcon className="text-fm-icon-positive h-4 w-4" />
618
642
  </button>
619
- <button className="rounded p-2 transition-colors hover:bg-white/20">
643
+ <button className="hover:bg-fm-divider-primary rounded p-2 transition-colors">
620
644
  <div className="relative h-4 w-4">
621
- <div className="absolute inset-0 rotate-45 border border-white"></div>
622
- <div className="absolute inset-0 -rotate-45 border border-white"></div>
645
+ <div className="border-fm-divider-contrast absolute inset-0 rotate-45 border"></div>
646
+ <div className="border-fm-divider-contrast absolute inset-0 -rotate-45 border"></div>
623
647
  </div>
624
648
  </button>
625
649
  </div>
626
650
  </div>
627
- <div className="mb-4 flex aspect-[4/5] items-center justify-center rounded border border-white/20 bg-white/10">
651
+ <div className="border-fm-divider-primary bg-fm-surface-secondary mb-4 flex aspect-[4/5] items-center justify-center rounded border">
628
652
  <div className="text-center">
629
- <div className="mx-auto mb-2 h-20 w-16 rounded bg-white/20"></div>
630
- <div className="text-xs text-white/60">
653
+ <div className="bg-fm-divider-primary mx-auto mb-2 h-20 w-16 rounded"></div>
654
+ <div className="text-fm-tertiary text-xs">
631
655
  PDF Preview
632
656
  </div>
633
657
  </div>
634
658
  </div>
635
659
  <div className="flex items-center justify-between">
636
- <span className="text-xs text-white/60">
660
+ <span className="text-fm-tertiary text-xs">
637
661
  Page 1 of 24
638
662
  </span>
639
663
  <div className="flex gap-2">
640
- <button className="rounded bg-white/10 px-3 py-1 text-xs text-white transition-colors hover:bg-white/20">
664
+ <button className="bg-fm-surface-secondary text-fm-icon-active hover:bg-fm-divider-primary rounded px-3 py-1 text-xs transition-colors">
641
665
  Download
642
666
  </button>
643
- <button className="rounded bg-emerald-500/20 px-3 py-1 text-xs text-emerald-200 transition-colors hover:bg-emerald-500/30">
667
+ <button className="bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 rounded px-3 py-1 text-xs transition-colors">
644
668
  Full View
645
669
  </button>
646
670
  </div>
647
671
  </div>
648
672
  </div>
649
673
  </div>
650
- <div className="rounded-lg bg-black/40 p-4">
651
- <pre className="overflow-x-auto text-sm !text-green-300">
674
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
675
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
652
676
  {`// Modal with expand to fullscreen
653
677
  <Modal isOpen={isModalOpen} onClose={closeModal}>
654
678
  <div className="modal-header">
@@ -678,49 +702,49 @@ function VideoPlayer() {
678
702
 
679
703
  {/* Dashboard Widget */}
680
704
  <div className="!space-y-4">
681
- <h3 className="text-lg font-semibold !text-emerald-300">
705
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
682
706
  Dashboard Widget
683
707
  </h3>
684
708
  <div className="!space-y-4">
685
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
686
- <div className="rounded-lg border border-white/10 bg-black/30 p-4">
709
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
710
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
687
711
  <div className="mb-4 flex items-center justify-between">
688
712
  <div>
689
- <h4 className="text-sm font-semibold text-white">
713
+ <h4 className="text-fm-icon-active text-sm font-semibold">
690
714
  Analytics Overview
691
715
  </h4>
692
- <p className="text-xs text-white/60">
716
+ <p className="text-fm-tertiary text-xs">
693
717
  Last 30 days
694
718
  </p>
695
719
  </div>
696
- <button className="rounded border border-emerald-500/30 bg-emerald-500/10 p-1.5 transition-colors hover:bg-emerald-500/20">
697
- <ExpandIcon className="h-3 w-3 text-emerald-400" />
720
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 rounded border p-1.5 transition-colors">
721
+ <ExpandIcon className="text-fm-icon-positive h-3 w-3" />
698
722
  </button>
699
723
  </div>
700
724
  <div className="mb-4 grid grid-cols-2 gap-4">
701
725
  <div className="text-center">
702
- <div className="text-2xl font-bold text-emerald-400">
726
+ <div className="text-fm-icon-positive text-2xl font-bold">
703
727
  12.5K
704
728
  </div>
705
- <div className="text-xs text-white/60">
729
+ <div className="text-fm-tertiary text-xs">
706
730
  Visitors
707
731
  </div>
708
732
  </div>
709
733
  <div className="text-center">
710
- <div className="text-2xl font-bold text-teal-400">
734
+ <div className="text-fm-icon-info text-2xl font-bold">
711
735
  84%
712
736
  </div>
713
- <div className="text-xs text-white/60">
737
+ <div className="text-fm-tertiary text-xs">
714
738
  Conversion
715
739
  </div>
716
740
  </div>
717
741
  </div>
718
- <div className="flex h-16 items-end gap-1 rounded bg-white/5 p-2">
742
+ <div className="bg-fm-surface-secondary flex h-16 items-end gap-1 rounded p-2">
719
743
  {[0.3, 0.7, 0.5, 0.8, 0.6, 0.9, 0.4, 0.7].map(
720
744
  (height, i) => (
721
745
  <div
722
746
  key={i}
723
- className="flex-1 rounded-sm bg-emerald-400/60"
747
+ className="bg-fm-icon-positive/60 flex-1 rounded-sm"
724
748
  style={{ height: `${height * 100}%` }}
725
749
  />
726
750
  )
@@ -728,8 +752,8 @@ function VideoPlayer() {
728
752
  </div>
729
753
  </div>
730
754
  </div>
731
- <div className="rounded-lg bg-black/40 p-4">
732
- <pre className="overflow-x-auto text-sm !text-green-300">
755
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
756
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
733
757
  {`// Dashboard widget with expand option
734
758
  <div className="dashboard-widget">
735
759
  <div className="widget-header">
@@ -759,65 +783,65 @@ function VideoPlayer() {
759
783
 
760
784
  {/* Accessibility */}
761
785
  <div className="!space-y-8">
762
- <h2 className="text-center text-3xl font-bold !text-white">
786
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
763
787
  Accessibility Features
764
788
  </h2>
765
789
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
766
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
767
- <h3 className="text-lg font-semibold !text-green-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-icon-positive! text-lg font-semibold">
768
792
  ✅ Built-in Features
769
793
  </h3>
770
- <ul className="!space-y-2 text-sm !text-white/70">
771
- <li className="!text-white/70">
794
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
795
+ <li className="text-fm-secondary!">
772
796
  Uses Radix UI AccessibleIcon wrapper
773
797
  </li>
774
- <li className="!text-white/70">
798
+ <li className="text-fm-secondary!">
775
799
  Provides screen reader label "Expand icon"
776
800
  </li>
777
- <li className="!text-white/70">
801
+ <li className="text-fm-secondary!">
778
802
  Supports keyboard navigation when interactive
779
803
  </li>
780
- <li className="!text-white/70">
804
+ <li className="text-fm-secondary!">
781
805
  Maintains proper color contrast ratios
782
806
  </li>
783
- <li className="!text-white/70">
807
+ <li className="text-fm-secondary!">
784
808
  Uses square strokeLinecap for crisp visual clarity
785
809
  </li>
786
810
  </ul>
787
811
  </div>
788
812
 
789
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
790
- <h3 className="text-lg font-semibold !text-emerald-300">
813
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
814
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
791
815
  💡 Best Practices
792
816
  </h3>
793
- <ul className="!space-y-2 text-sm text-white/70">
794
- <li className="!text-white/70">
817
+ <ul className="text-fm-secondary !space-y-2 text-sm">
818
+ <li className="text-fm-secondary!">
795
819
  Always provide descriptive aria-labels for expand
796
820
  actions
797
821
  </li>
798
- <li className="!text-white/70">
822
+ <li className="text-fm-secondary!">
799
823
  Use consistent placement in media control groups
800
824
  </li>
801
- <li className="!text-white/70">
825
+ <li className="text-fm-secondary!">
802
826
  Ensure sufficient touch target size (44px minimum)
803
827
  </li>
804
- <li className="!text-white/70">
828
+ <li className="text-fm-secondary!">
805
829
  Provide visible focus states for keyboard users
806
830
  </li>
807
- <li className="!text-white/70">
831
+ <li className="text-fm-secondary!">
808
832
  Consider Escape key handling for fullscreen mode
809
833
  </li>
810
834
  </ul>
811
835
  </div>
812
836
  </div>
813
837
 
814
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
815
- <h3 className="mb-4 text-lg font-semibold !text-blue-300">
838
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
839
+ <h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
816
840
  Proper ARIA Implementation
817
841
  </h3>
818
842
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
819
- <div className="rounded-lg bg-black/40 p-4">
820
- <pre className="overflow-x-auto text-sm !text-cyan-300">
843
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
844
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
821
845
  {`// Video player fullscreen control
822
846
  <div className="video-controls">
823
847
  <button
@@ -861,13 +885,13 @@ function VideoPlayer() {
861
885
  </pre>
862
886
  </div>
863
887
  <div className="!space-y-4">
864
- <p className="text-sm !text-white/70">
888
+ <p className="text-fm-secondary! text-sm">
865
889
  When using ExpandIcon for fullscreen controls, always
866
890
  provide clear context about what will be expanded and
867
891
  how users can exit fullscreen mode.
868
892
  </p>
869
- <div className="rounded-lg border border-emerald-500/20 bg-emerald-500/10 p-4">
870
- <div className="flex items-center gap-2 text-sm text-emerald-200">
893
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
894
+ <div className="text-fm-icon-positive flex items-center gap-2 text-sm">
871
895
  <ExpandIcon className="h-4 w-4" />
872
896
  <span>
873
897
  Include keyboard shortcuts (F11, Escape) in tooltips
@@ -881,48 +905,56 @@ function VideoPlayer() {
881
905
 
882
906
  {/* Related Icons */}
883
907
  <div className="!space-y-8">
884
- <h2 className="text-center text-3xl font-bold !text-white">
908
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
885
909
  Related Icons
886
910
  </h2>
887
911
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
888
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
889
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-red-500/20">
890
- <span className="!text-2xl !text-white">⤡</span>
912
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
913
+ <div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
914
+ <span className="text-fm-icon-active! !text-2xl">⤡</span>
891
915
  </div>
892
916
  <div>
893
- <div className="font-medium text-white">CollapseIcon</div>
894
- <div className="text-xs text-white/60">
917
+ <div className="text-fm-icon-active font-medium">
918
+ CollapseIcon
919
+ </div>
920
+ <div className="text-fm-tertiary text-xs">
895
921
  Exit fullscreen
896
922
  </div>
897
923
  </div>
898
924
  </div>
899
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
900
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
901
- <span className="!text-2xl !text-white">⛶</span>
925
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
926
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
927
+ <span className="text-fm-icon-active! !text-2xl">⛶</span>
902
928
  </div>
903
929
  <div>
904
- <div className="font-medium text-white">MaximizeIcon</div>
905
- <div className="text-xs text-white/60">
930
+ <div className="text-fm-icon-active font-medium">
931
+ MaximizeIcon
932
+ </div>
933
+ <div className="text-fm-tertiary text-xs">
906
934
  Window maximize
907
935
  </div>
908
936
  </div>
909
937
  </div>
910
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
911
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
912
- <span className="!text-2xl !text-white">🔍</span>
938
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
939
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
940
+ <span className="text-fm-icon-active! !text-2xl">🔍</span>
913
941
  </div>
914
942
  <div>
915
- <div className="font-medium text-white">ZoomInIcon</div>
916
- <div className="text-xs text-white/60">Zoom in</div>
943
+ <div className="text-fm-icon-active font-medium">
944
+ ZoomInIcon
945
+ </div>
946
+ <div className="text-fm-tertiary text-xs">Zoom in</div>
917
947
  </div>
918
948
  </div>
919
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
920
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-yellow-500/20">
921
- <span className="!text-2xl !text-white">⊞</span>
949
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
950
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
951
+ <span className="text-fm-icon-active! !text-2xl">⊞</span>
922
952
  </div>
923
953
  <div>
924
- <div className="font-medium text-white">WindowIcon</div>
925
- <div className="text-xs text-white/60">
954
+ <div className="text-fm-icon-active font-medium">
955
+ WindowIcon
956
+ </div>
957
+ <div className="text-fm-tertiary text-xs">
926
958
  Window controls
927
959
  </div>
928
960
  </div>
@@ -932,15 +964,15 @@ function VideoPlayer() {
932
964
  </div>
933
965
 
934
966
  {/* Footer */}
935
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
967
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
936
968
  <div className="!mx-auto max-w-7xl px-6 py-8">
937
969
  <div className="!space-y-4 text-center">
938
- <p className="!text-white/60">
970
+ <p className="text-fm-tertiary!">
939
971
  ExpandIcon is part of the Aural UI icon library, built with
940
972
  accessibility and fullscreen interaction best practices in
941
973
  mind.
942
974
  </p>
943
- <p className="text-sm !text-white/40">
975
+ <p className="text-fm-placeholder! text-sm">
944
976
  All icons use Radix UI's AccessibleIcon for screen reader
945
977
  compatibility and follow WCAG guidelines for interactive
946
978
  elements and keyboard navigation.
@@ -999,20 +1031,20 @@ const storyParameters = {
999
1031
  backgrounds: {
1000
1032
  default: "dark",
1001
1033
  values: [
1002
- { name: "dark", value: "#0a0a0a" },
1003
- { name: "darker", value: "#000000" },
1034
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1035
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
1004
1036
  ],
1005
1037
  },
1006
1038
  }
1007
1039
 
1008
1040
  export const Default: Story = {
1009
1041
  args: {
1010
- className: "h-8 w-8 text-emerald-400",
1042
+ className: "h-8 w-8 text-fm-icon-positive",
1011
1043
  withAccessibility: true,
1012
1044
  },
1013
1045
  parameters: storyParameters,
1014
1046
  render: (args) => (
1015
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1047
+ <div className="from-fm-surface-primary to-fm-surface-secondary flex h-32 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
1016
1048
  <ExpandIcon {...args} />
1017
1049
  </div>
1018
1050
  ),
@@ -1029,30 +1061,30 @@ export const SizeVariations: Story = {
1029
1061
  },
1030
1062
  },
1031
1063
  render: () => (
1032
- <div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1064
+ <div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-linear-to-br p-8">
1033
1065
  <div className="text-center">
1034
- <ExpandIcon className="!mx-auto mb-2 h-3 w-3 text-emerald-400" />
1035
- <span className="text-xs text-white/60">12px</span>
1066
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
1067
+ <span className="text-fm-tertiary text-xs">12px</span>
1036
1068
  </div>
1037
1069
  <div className="text-center">
1038
- <ExpandIcon className="!mx-auto mb-2 h-4 w-4 text-emerald-400" />
1039
- <span className="text-xs text-white/60">16px</span>
1070
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
1071
+ <span className="text-fm-tertiary text-xs">16px</span>
1040
1072
  </div>
1041
1073
  <div className="text-center">
1042
- <ExpandIcon className="!mx-auto mb-2 h-5 w-5 text-emerald-400" />
1043
- <span className="text-xs text-white/60">20px</span>
1074
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
1075
+ <span className="text-fm-tertiary text-xs">20px</span>
1044
1076
  </div>
1045
1077
  <div className="text-center">
1046
- <ExpandIcon className="!mx-auto mb-2 h-6 w-6 text-emerald-400" />
1047
- <span className="text-xs text-white/60">24px</span>
1078
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
1079
+ <span className="text-fm-tertiary text-xs">24px</span>
1048
1080
  </div>
1049
1081
  <div className="text-center">
1050
- <ExpandIcon className="!mx-auto mb-2 h-8 w-8 text-emerald-400" />
1051
- <span className="text-xs text-white/60">32px</span>
1082
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
1083
+ <span className="text-fm-tertiary text-xs">32px</span>
1052
1084
  </div>
1053
1085
  <div className="text-center">
1054
- <ExpandIcon className="!mx-auto mb-2 h-12 w-12 text-emerald-400" />
1055
- <span className="text-xs text-white/60">48px</span>
1086
+ <ExpandIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
1087
+ <span className="text-fm-tertiary text-xs">48px</span>
1056
1088
  </div>
1057
1089
  </div>
1058
1090
  ),
@@ -1069,34 +1101,38 @@ export const ColorVariations: Story = {
1069
1101
  },
1070
1102
  },
1071
1103
  render: () => (
1072
- <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">
1104
+ <div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-linear-to-br p-8 md:grid-cols-4">
1073
1105
  <div className="text-center">
1074
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-emerald-500/30 bg-emerald-500/20">
1075
- <ExpandIcon className="h-8 w-8 text-emerald-400" />
1106
+ <div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1107
+ <ExpandIcon className="text-fm-icon-positive h-8 w-8" />
1108
+ </div>
1109
+ <div className="text-fm-icon-active text-sm font-medium">Expand</div>
1110
+ <div className="text-fm-icon-positive text-xs">
1111
+ text-fm-icon-positive
1076
1112
  </div>
1077
- <div className="text-sm font-medium text-white">Expand</div>
1078
- <div className="text-xs text-emerald-400">text-emerald-400</div>
1079
1113
  </div>
1080
1114
  <div className="text-center">
1081
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-teal-500/30 bg-teal-500/20">
1082
- <ExpandIcon className="h-8 w-8 text-teal-400" />
1115
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1116
+ <ExpandIcon className="text-fm-icon-info h-8 w-8" />
1083
1117
  </div>
1084
- <div className="text-sm font-medium text-white">Maximize</div>
1085
- <div className="text-xs text-teal-400">text-teal-400</div>
1118
+ <div className="text-fm-icon-active text-sm font-medium">Maximize</div>
1119
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1086
1120
  </div>
1087
1121
  <div className="text-center">
1088
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-green-500/30 bg-green-500/20">
1089
- <ExpandIcon className="h-8 w-8 text-green-400" />
1122
+ <div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1123
+ <ExpandIcon className="text-fm-icon-positive h-8 w-8" />
1124
+ </div>
1125
+ <div className="text-fm-icon-active text-sm font-medium">Active</div>
1126
+ <div className="text-fm-icon-positive text-xs">
1127
+ text-fm-icon-positive
1090
1128
  </div>
1091
- <div className="text-sm font-medium text-white">Active</div>
1092
- <div className="text-xs text-green-400">text-green-400</div>
1093
1129
  </div>
1094
1130
  <div className="text-center">
1095
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-cyan-500/30 bg-cyan-500/20">
1096
- <ExpandIcon className="h-8 w-8 text-cyan-400" />
1131
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1132
+ <ExpandIcon className="text-fm-icon-info h-8 w-8" />
1097
1133
  </div>
1098
- <div className="text-sm font-medium text-white">Focus</div>
1099
- <div className="text-xs text-cyan-400">text-cyan-400</div>
1134
+ <div className="text-fm-icon-active text-sm font-medium">Focus</div>
1135
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1100
1136
  </div>
1101
1137
  </div>
1102
1138
  ),
@@ -1113,20 +1149,20 @@ export const UsageExamples: Story = {
1113
1149
  },
1114
1150
  },
1115
1151
  render: () => (
1116
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1152
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1117
1153
  {/* Video Player */}
1118
1154
  <div className="!space-y-2">
1119
- <h3 className="text-sm font-medium text-white">
1155
+ <h3 className="text-fm-icon-active text-sm font-medium">
1120
1156
  Video Player Controls
1121
1157
  </h3>
1122
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1158
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1123
1159
  <div className="flex items-center justify-between">
1124
1160
  <div className="flex items-center gap-3">
1125
1161
  <div className="h-0 w-0 border-y-[6px] border-l-[8px] border-y-transparent border-l-white" />
1126
- <span className="text-sm text-white">0:42 / 2:18</span>
1162
+ <span className="text-fm-icon-active text-sm">0:42 / 2:18</span>
1127
1163
  </div>
1128
- <button className="rounded border border-emerald-500/30 bg-emerald-500/10 p-2 transition-colors hover:bg-emerald-500/20">
1129
- <ExpandIcon className="h-4 w-4 text-emerald-400" />
1164
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 rounded border p-2 transition-colors">
1165
+ <ExpandIcon className="text-fm-icon-positive h-4 w-4" />
1130
1166
  </button>
1131
1167
  </div>
1132
1168
  </div>
@@ -1134,12 +1170,14 @@ export const UsageExamples: Story = {
1134
1170
 
1135
1171
  {/* Image Gallery */}
1136
1172
  <div className="!space-y-2">
1137
- <h3 className="text-sm font-medium text-white">Image Gallery</h3>
1138
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1139
- <div className="group relative aspect-square rounded-lg bg-gradient-to-br from-gray-700 to-gray-800">
1173
+ <h3 className="text-fm-icon-active text-sm font-medium">
1174
+ Image Gallery
1175
+ </h3>
1176
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1177
+ <div className="group from-fm-surface-secondary to-fm-surface-secondary relative aspect-square rounded-lg bg-linear-to-br">
1140
1178
  <div className="absolute top-2 right-2">
1141
- <button className="rounded border border-white/20 bg-black/60 p-1.5 transition-colors hover:border-emerald-500/30 hover:bg-emerald-500/20">
1142
- <ExpandIcon className="h-3 w-3 text-white" />
1179
+ <button className="border-fm-divider-primary bg-fm-surface-secondary hover:border-fm-icon-positive/30 hover:bg-fm-icon-positive/20 rounded border p-1.5 transition-colors">
1180
+ <ExpandIcon className="text-fm-icon-active h-3 w-3" />
1143
1181
  </button>
1144
1182
  </div>
1145
1183
  </div>
@@ -1162,12 +1200,12 @@ export const Playground: Story = {
1162
1200
  args: {
1163
1201
  width: 24,
1164
1202
  height: 24,
1165
- className: "text-emerald-400",
1203
+ className: "text-fm-icon-positive",
1166
1204
  strokeLinecap: "square",
1167
1205
  },
1168
1206
  render: (args) => (
1169
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1170
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1207
+ <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">
1208
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1171
1209
  <ExpandIcon {...args} />
1172
1210
  </div>
1173
1211
  </div>