aural-ui 3.0.6 → 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 (169) 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/clamp-lines/ClampLines.stories.tsx +25 -0
  9. package/dist/components/clamp-lines/index.tsx +6 -1
  10. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  11. package/dist/components/command/Command.stories.tsx +52 -38
  12. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  13. package/dist/components/divider/Divider.stories.tsx +86 -60
  14. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  15. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  16. package/dist/components/drawer/index.tsx +3 -3
  17. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  18. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  19. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  20. package/dist/components/input/Input.stories.tsx +2 -2
  21. package/dist/components/input/index.tsx +2 -0
  22. package/dist/components/label/Label.stories.tsx +10 -10
  23. package/dist/components/list/List.stories.tsx +58 -44
  24. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  25. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  26. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  27. package/dist/components/overlay/index.tsx +4 -4
  28. package/dist/components/popover/Popover.stories.tsx +132 -106
  29. package/dist/components/radio/Radio.stories.tsx +2 -2
  30. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  31. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  32. package/dist/components/search/Search.stories.tsx +81 -59
  33. package/dist/components/select/Select.stories.tsx +3 -1
  34. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  35. package/dist/components/slider/Slider.stories.tsx +71 -47
  36. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  37. package/dist/components/switch/Switch.stories.tsx +12 -12
  38. package/dist/components/table/Table.stories.tsx +8 -6
  39. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  40. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  41. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  42. package/dist/components/toast/Toast.stories.tsx +51 -45
  43. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  44. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  45. package/dist/icons/Icons.stories.tsx +2 -2
  46. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  47. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  48. package/dist/icons/all-icons.tsx +97 -81
  49. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  50. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  51. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  52. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  53. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  54. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  55. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  56. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  57. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  58. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  59. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  60. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  61. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  62. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  63. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  64. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  65. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  66. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  67. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  68. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  69. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  70. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  71. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  72. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  73. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  74. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  75. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  76. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  77. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  78. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  79. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  80. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  81. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  82. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  83. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  84. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  85. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  86. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  87. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  88. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  89. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  90. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  91. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  92. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  93. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  94. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  95. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  96. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  97. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  98. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  99. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  100. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  101. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  102. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  103. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  104. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  105. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  106. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  107. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  108. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  109. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  110. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  111. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  112. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  113. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  114. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  115. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  116. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  117. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  118. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  119. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  120. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  121. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  122. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  123. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  124. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  125. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  126. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  127. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  128. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  129. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  130. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  131. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  132. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  133. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  134. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  135. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  136. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  137. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  138. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  139. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  140. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  141. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  142. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  143. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  144. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  145. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  146. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  147. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  148. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  149. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  150. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  151. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  152. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  153. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  154. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  155. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  156. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  157. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  158. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  159. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  160. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  161. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  162. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  163. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  164. package/dist/index.cjs +84 -84
  165. package/dist/index.js +84 -84
  166. package/dist/styles/aural-all-theme.css +1222 -0
  167. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  168. package/dist/styles/aural-light-theme.css +1047 -0
  169. package/package.json +1 -1
@@ -11,9 +11,9 @@ const meta: Meta<typeof AngleDownIcon> = {
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 AngleDownIcon> = {
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-purple-900/20 to-gray-900">
83
+ <div className="bg-fm-surface-primary min-h-screen">
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-purple-500/10 via-transparent to-blue-500/10" />
85
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
86
+ <div className="from-fm-secondary-500/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-blue-500/30 bg-gradient-to-br from-blue-500/20 to-purple-500/20">
90
- <AngleDownIcon className="h-12 w-12 text-blue-400" />
89
+ <div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
+ <AngleDownIcon className="text-fm-icon-info h-12 w-12" />
91
91
  </div>
92
92
  <h1 className="!text-fm-primary text-5xl font-bold">
93
93
  AngleDownIcon
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 directional icon for dropdowns, accordions, and
97
97
  collapsible content. Essential for navigation and
98
98
  interactive UI elements that expand downward.
@@ -101,28 +101,28 @@ const meta: Meta<typeof AngleDownIcon> = {
101
101
  {/* Stats */}
102
102
  <div className="flex items-center justify-center gap-8 pt-8">
103
103
  <div className="text-center">
104
- <div className="text-3xl font-bold text-blue-300">
104
+ <div className="text-fm-icon-info text-3xl font-bold">
105
105
  Navigation
106
106
  </div>
107
- <div className="text-sm text-white/60">
107
+ <div className="text-fm-tertiary text-sm">
108
108
  Directional guidance
109
109
  </div>
110
110
  </div>
111
- <div className="h-8 w-px bg-white/20" />
111
+ <div className="bg-fm-divider-primary h-8 w-px" />
112
112
  <div className="text-center">
113
- <div className="text-3xl font-bold text-purple-300">
113
+ <div className="text-fm-secondary-600 text-3xl font-bold">
114
114
  Interactive
115
115
  </div>
116
- <div className="text-sm text-white/60">
116
+ <div className="text-fm-tertiary text-sm">
117
117
  Dropdown friendly
118
118
  </div>
119
119
  </div>
120
- <div className="h-8 w-px bg-white/20" />
120
+ <div className="bg-fm-divider-primary h-8 w-px" />
121
121
  <div className="text-center">
122
- <div className="text-3xl font-bold text-green-300">
122
+ <div className="text-fm-icon-positive text-3xl font-bold">
123
123
  Animated
124
124
  </div>
125
- <div className="text-sm text-white/60">
125
+ <div className="text-fm-tertiary text-sm">
126
126
  Smooth transitions
127
127
  </div>
128
128
  </div>
@@ -135,16 +135,16 @@ const meta: Meta<typeof AngleDownIcon> = {
135
135
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
136
136
  {/* Quick Usage */}
137
137
  <div className="!space-y-8">
138
- <h2 className="text-center text-3xl font-bold !text-white">
138
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
139
139
  Quick Start
140
140
  </h2>
141
141
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
142
142
  <div className="!space-y-4">
143
- <h3 className="text-xl font-semibold !text-blue-300">
143
+ <h3 className="text-fm-icon-info! text-xl font-semibold">
144
144
  Basic Usage
145
145
  </h3>
146
- <div className="rounded-lg bg-black/40 p-4">
147
- <pre className="overflow-x-auto text-sm !text-green-300">
146
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
147
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
148
148
  {`import { AngleDownIcon } from "@icons/angle-down-icon"
149
149
 
150
150
  function DropdownButton() {
@@ -160,13 +160,13 @@ function DropdownButton() {
160
160
  </div>
161
161
 
162
162
  <div className="!space-y-4">
163
- <h3 className="text-xl font-semibold !text-blue-300">
163
+ <h3 className="text-fm-icon-info! text-xl font-semibold">
164
164
  Live Preview
165
165
  </h3>
166
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
167
- <button className="flex items-center gap-2 rounded-lg border border-blue-500/20 bg-blue-500/10 px-4 py-2 text-white transition-colors hover:bg-blue-500/20">
166
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
167
+ <button className="border-fm-icon-info/20 bg-fm-icon-info/10 text-fm-icon-active hover:bg-fm-icon-info/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
168
168
  <span>Options</span>
169
- <AngleDownIcon className="h-4 w-4 text-blue-400 transition-transform hover:rotate-180" />
169
+ <AngleDownIcon className="text-fm-icon-info h-4 w-4 transition-transform hover:rotate-180" />
170
170
  </button>
171
171
  </div>
172
172
  </div>
@@ -175,106 +175,116 @@ function DropdownButton() {
175
175
 
176
176
  {/* Props Documentation */}
177
177
  <div className="!space-y-8">
178
- <h2 className="text-center text-3xl font-bold !text-white">
178
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
179
179
  Props & Configuration
180
180
  </h2>
181
181
 
182
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
183
- <div className="bg-white/5 p-4">
184
- <h3 className="text-xl font-semibold !text-white">Props</h3>
182
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
183
+ <div className="bg-fm-surface-secondary p-4">
184
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
185
+ Props
186
+ </h3>
185
187
  </div>
186
188
  <table className="!my-0 w-full">
187
- <thead className="bg-white/5">
188
- <tr className="border-b border-white/10">
189
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
189
+ <thead className="bg-fm-surface-secondary">
190
+ <tr className="border-fm-divider-secondary border-b">
191
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
190
192
  Prop
191
193
  </th>
192
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
194
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
193
195
  Type
194
196
  </th>
195
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
197
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
196
198
  Default
197
199
  </th>
198
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
200
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
199
201
  Description
200
202
  </th>
201
203
  </tr>
202
204
  </thead>
203
205
  <tbody>
204
206
  {" "}
205
- <tr className="!bg-black/10">
206
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
207
+ <tr className="bg-fm-surface-secondary!">
208
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
207
209
  withAccessibility
208
210
  </td>
209
- <td className="px-6 py-4 text-sm !text-white/70">
211
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
210
212
  boolean
211
213
  </td>
212
- <td className="px-6 py-4 text-sm !text-white/50">
214
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
213
215
  true
214
216
  </td>
215
- <td className="px-6 py-4 text-sm !text-white/70">
217
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
216
218
  Whether to wrap the icon with accessibility feature
217
219
  </td>
218
220
  </tr>
219
- <tr className="border-b border-white/5 !bg-black/10">
220
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
221
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
222
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
221
223
  height
222
224
  </td>
223
- <td className="px-6 py-4 text-sm !text-white/70">
225
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
224
226
  number | string
225
227
  </td>
226
- <td className="px-6 py-4 text-sm !text-white/50">16</td>
227
- <td className="px-6 py-4 text-sm !text-white/70">
228
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
229
+ 16
230
+ </td>
231
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
228
232
  Height of the icon in pixels
229
233
  </td>
230
234
  </tr>
231
- <tr className="border-b border-white/5">
232
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
235
+ <tr className="border-fm-divider-tertiary border-b">
236
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
233
237
  stroke
234
238
  </td>
235
- <td className="px-6 py-4 text-sm !text-white/70">
239
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
236
240
  string
237
241
  </td>
238
- <td className="px-6 py-4 text-sm !text-white/50">
242
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
239
243
  currentColor
240
244
  </td>
241
- <td className="px-6 py-4 text-sm !text-white/70">
245
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
242
246
  Stroke color of the icon
243
247
  </td>
244
248
  </tr>
245
- <tr className="border-b border-white/5 !bg-black/10">
246
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
249
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
250
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
247
251
  strokeWidth
248
252
  </td>
249
- <td className="px-6 py-4 text-sm !text-white/70">
253
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
250
254
  number | string
251
255
  </td>
252
- <td className="px-6 py-4 text-sm !text-white/50">2</td>
253
- <td className="px-6 py-4 text-sm !text-white/70">
256
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
257
+ 2
258
+ </td>
259
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
254
260
  Stroke width of the icon
255
261
  </td>
256
262
  </tr>
257
- <tr className="border-b border-white/5">
258
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
263
+ <tr className="border-fm-divider-tertiary border-b">
264
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
259
265
  className
260
266
  </td>
261
- <td className="px-6 py-4 text-sm !text-white/70">
267
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
262
268
  string
263
269
  </td>
264
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
265
- <td className="px-6 py-4 text-sm !text-white/70">
270
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
271
+ -
272
+ </td>
273
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
266
274
  CSS classes for styling
267
275
  </td>
268
276
  </tr>
269
- <tr className="!bg-black/10">
270
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
277
+ <tr className="bg-fm-surface-secondary!">
278
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
271
279
  ...svgProps
272
280
  </td>
273
- <td className="px-6 py-4 text-sm !text-white/70">
281
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
274
282
  SVGProps
275
283
  </td>
276
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
277
- <td className="px-6 py-4 text-sm !text-white/70">
284
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
285
+ -
286
+ </td>
287
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
278
288
  All standard SVG element props
279
289
  </td>
280
290
  </tr>
@@ -285,50 +295,62 @@ function DropdownButton() {
285
295
 
286
296
  {/* Size Variations */}
287
297
  <div className="!space-y-8">
288
- <h2 className="text-center text-3xl font-bold !text-white">
298
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
289
299
  Size Variations
290
300
  </h2>
291
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
301
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
292
302
  <div className="!space-y-6">
293
303
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
294
304
  <div className="!space-y-4">
295
- <h3 className="text-lg font-semibold !text-blue-300">
305
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
296
306
  Standard Sizes
297
307
  </h3>
298
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
308
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
299
309
  <div className="text-center">
300
- <AngleDownIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
301
- <span className="text-xs text-white/60">12px</span>
310
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
311
+ <span className="text-fm-tertiary text-xs">
312
+ 12px
313
+ </span>
302
314
  </div>
303
315
  <div className="text-center">
304
- <AngleDownIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
305
- <span className="text-xs text-white/60">16px</span>
316
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
317
+ <span className="text-fm-tertiary text-xs">
318
+ 16px
319
+ </span>
306
320
  </div>
307
321
  <div className="text-center">
308
- <AngleDownIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
309
- <span className="text-xs text-white/60">20px</span>
322
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
323
+ <span className="text-fm-tertiary text-xs">
324
+ 20px
325
+ </span>
310
326
  </div>
311
327
  <div className="text-center">
312
- <AngleDownIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
313
- <span className="text-xs text-white/60">24px</span>
328
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
329
+ <span className="text-fm-tertiary text-xs">
330
+ 24px
331
+ </span>
314
332
  </div>
315
333
  <div className="text-center">
316
- <AngleDownIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
317
- <span className="text-xs text-white/60">32px</span>
334
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
335
+ <span className="text-fm-tertiary text-xs">
336
+ 32px
337
+ </span>
318
338
  </div>
319
339
  <div className="text-center">
320
- <AngleDownIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
321
- <span className="text-xs text-white/60">48px</span>
340
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
341
+ <span className="text-fm-tertiary text-xs">
342
+ 48px
343
+ </span>
322
344
  </div>
323
345
  </div>
324
346
  </div>
325
347
 
326
348
  <div className="!space-y-4">
327
- <h3 className="text-lg font-semibold !text-blue-300">
349
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
328
350
  Code Example
329
351
  </h3>
330
- <div className="rounded-lg bg-black/40 p-4">
331
- <pre className="overflow-x-auto text-sm !text-green-300">
352
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
353
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
332
354
  {`// Small (16px)
333
355
  <AngleDownIcon className="h-4 w-4" />
334
356
 
@@ -350,37 +372,37 @@ function DropdownButton() {
350
372
 
351
373
  {/* Direction & Animation */}
352
374
  <div className="!space-y-8">
353
- <h2 className="text-center text-3xl font-bold !text-white">
375
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
354
376
  Direction & Animation
355
377
  </h2>
356
378
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
357
379
  <div className="!space-y-4">
358
- <h3 className="text-lg font-semibold !text-blue-300">
380
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
359
381
  Directional Variants
360
382
  </h3>
361
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
383
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
362
384
  <div className="grid grid-cols-2 gap-4">
363
385
  <div className="flex flex-col items-center gap-2">
364
- <AngleDownIcon className="h-6 w-6 text-blue-400" />
365
- <span className="text-xs !text-white/60">
386
+ <AngleDownIcon className="text-fm-icon-info h-6 w-6" />
387
+ <span className="text-fm-tertiary! text-xs">
366
388
  Down (Default)
367
389
  </span>
368
390
  </div>
369
391
  <div className="flex flex-col items-center gap-2">
370
- <AngleDownIcon className="h-6 w-6 rotate-180 text-blue-400" />
371
- <span className="text-xs !text-white/60">
392
+ <AngleDownIcon className="text-fm-icon-info h-6 w-6 rotate-180" />
393
+ <span className="text-fm-tertiary! text-xs">
372
394
  Up (rotate-180)
373
395
  </span>
374
396
  </div>
375
397
  <div className="flex flex-col items-center gap-2">
376
- <AngleDownIcon className="h-6 w-6 -rotate-90 text-blue-400" />
377
- <span className="text-xs !text-white/60">
398
+ <AngleDownIcon className="text-fm-icon-info h-6 w-6 -rotate-90" />
399
+ <span className="text-fm-tertiary! text-xs">
378
400
  Right (-rotate-90)
379
401
  </span>
380
402
  </div>
381
403
  <div className="flex flex-col items-center gap-2">
382
- <AngleDownIcon className="h-6 w-6 rotate-90 text-blue-400" />
383
- <span className="text-xs !text-white/60">
404
+ <AngleDownIcon className="text-fm-icon-info h-6 w-6 rotate-90" />
405
+ <span className="text-fm-tertiary! text-xs">
384
406
  Left (rotate-90)
385
407
  </span>
386
408
  </div>
@@ -389,11 +411,11 @@ function DropdownButton() {
389
411
  </div>
390
412
 
391
413
  <div className="!space-y-4">
392
- <h3 className="text-lg font-semibold !text-blue-300">
414
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
393
415
  Animation Examples
394
416
  </h3>
395
- <div className="rounded-lg bg-black/40 p-4">
396
- <pre className="overflow-x-auto text-sm !text-green-300">
417
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
418
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
397
419
  {`// Smooth rotation transition
398
420
  <AngleDownIcon className="h-4 w-4 transition-transform duration-200 hover:rotate-180" />
399
421
 
@@ -401,7 +423,7 @@ function DropdownButton() {
401
423
  <AngleDownIcon className={\`h-4 w-4 transition-transform \${isOpen ? 'rotate-180' : ''}\`} />
402
424
 
403
425
  // Dropdown state animation
404
- <AngleDownIcon className="h-4 w-4 transition-all group-hover:rotate-180 group-hover:text-blue-300" />`}
426
+ <AngleDownIcon className="h-4 w-4 transition-all group-hover:rotate-180 group-hover:text-fm-icon-info" />`}
405
427
  </pre>
406
428
  </div>
407
429
  </div>
@@ -410,25 +432,25 @@ function DropdownButton() {
410
432
 
411
433
  {/* Usage Examples */}
412
434
  <div className="!space-y-8">
413
- <h2 className="text-center text-3xl font-bold !text-white">
435
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
414
436
  Usage Examples
415
437
  </h2>
416
438
 
417
439
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
418
440
  {/* Dropdown Menu */}
419
441
  <div className="!space-y-4">
420
- <h3 className="text-lg font-semibold !text-blue-300">
442
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
421
443
  Dropdown Menu
422
444
  </h3>
423
445
  <div className="!space-y-4">
424
446
  <div className="relative">
425
- <button className="flex w-full items-center justify-between rounded-lg border border-white/10 bg-white/5 px-4 py-3 text-white transition-colors hover:bg-white/10">
447
+ <button className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-icon-active hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded-lg border px-4 py-3 transition-colors">
426
448
  <span>Select an option</span>
427
- <AngleDownIcon className="h-4 w-4 text-gray-400 transition-transform group-hover:rotate-180" />
449
+ <AngleDownIcon className="text-fm-placeholder h-4 w-4 transition-transform group-hover:rotate-180" />
428
450
  </button>
429
451
  </div>
430
- <div className="rounded-lg bg-black/40 p-4">
431
- <pre className="overflow-x-auto text-sm !text-green-300">
452
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
453
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
432
454
  {`<button className="flex items-center justify-between w-full px-4 py-3 bg-white/5 border border-white/10 rounded-lg">
433
455
  <span>Select an option</span>
434
456
  <AngleDownIcon className="h-4 w-4 text-gray-400 transition-transform group-hover:rotate-180" />
@@ -440,20 +462,20 @@ function DropdownButton() {
440
462
 
441
463
  {/* Accordion */}
442
464
  <div className="!space-y-4">
443
- <h3 className="text-lg font-semibold !text-blue-300">
465
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
444
466
  Accordion Header
445
467
  </h3>
446
468
  <div className="!space-y-4">
447
- <div className="rounded-lg border border-white/10 bg-white/5">
448
- <button className="flex w-full items-center justify-between p-4 text-left transition-colors hover:bg-white/5">
449
- <h4 className="font-medium !text-white">
469
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border">
470
+ <button className="hover:bg-fm-surface-secondary flex w-full items-center justify-between p-4 text-left transition-colors">
471
+ <h4 className="text-fm-icon-active! font-medium">
450
472
  Frequently Asked Questions
451
473
  </h4>
452
- <AngleDownIcon className="h-5 w-5 text-blue-400 transition-transform" />
474
+ <AngleDownIcon className="text-fm-icon-info h-5 w-5 transition-transform" />
453
475
  </button>
454
476
  </div>
455
- <div className="rounded-lg bg-black/40 p-4">
456
- <pre className="overflow-x-auto text-sm !text-green-300">
477
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
478
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
457
479
  {`<button className="flex items-center justify-between w-full p-4 text-left">
458
480
  <h4 className="font-medium text-white">Frequently Asked Questions</h4>
459
481
  <AngleDownIcon className={\`h-5 w-5 text-blue-400 transition-transform \${isOpen ? 'rotate-180' : ''}\`} />
@@ -465,26 +487,26 @@ function DropdownButton() {
465
487
 
466
488
  {/* Select Input */}
467
489
  <div className="!space-y-4">
468
- <h3 className="text-lg font-semibold !text-blue-300">
490
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
469
491
  Select Input
470
492
  </h3>
471
493
  <div className="!space-y-4">
472
494
  <div className="!space-y-2">
473
- <label className="text-sm font-medium !text-white">
495
+ <label className="text-fm-icon-active! text-sm font-medium">
474
496
  Country
475
497
  </label>
476
498
  <div className="relative">
477
- <select className="w-full appearance-none rounded-lg border border-white/10 bg-white/5 px-3 py-2 pr-10 !text-white focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20">
499
+ <select className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-icon-active! focus:border-fm-icon-info w-full appearance-none rounded-lg border px-3 py-2 pr-10 focus:ring-2 focus:ring-blue-500/20">
478
500
  <option value="">Choose a country</option>
479
501
  <option value="us">United States</option>
480
502
  <option value="ca">Canada</option>
481
503
  <option value="uk">United Kingdom</option>
482
504
  </select>
483
- <AngleDownIcon className="pointer-events-none absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2 text-gray-400" />
505
+ <AngleDownIcon className="text-fm-placeholder pointer-events-none absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2" />
484
506
  </div>
485
507
  </div>
486
- <div className="rounded-lg bg-black/40 p-4">
487
- <pre className="overflow-x-auto text-sm !text-green-300">
508
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
509
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
488
510
  {`<div className="relative">
489
511
  <select className="w-full appearance-none pr-10 ...">
490
512
  <option>Choose a country</option>
@@ -499,28 +521,32 @@ function DropdownButton() {
499
521
 
500
522
  {/* Navigation Submenu */}
501
523
  <div className="!space-y-4">
502
- <h3 className="text-lg font-semibold !text-blue-300">
524
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
503
525
  Navigation Submenu
504
526
  </h3>
505
527
  <div className="!space-y-4">
506
- <nav className="rounded-lg border border-white/10 bg-white/5 p-4">
528
+ <nav className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
507
529
  <ul className="!list-none !space-y-2">
508
530
  <li>
509
- <button className="flex w-full items-center justify-between rounded px-3 py-2 text-left transition-colors hover:bg-white/10">
510
- <span className="!text-white">Products</span>
511
- <AngleDownIcon className="h-4 w-4 text-gray-400" />
531
+ <button className="hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded px-3 py-2 text-left transition-colors">
532
+ <span className="text-fm-icon-active!">
533
+ Products
534
+ </span>
535
+ <AngleDownIcon className="text-fm-placeholder h-4 w-4" />
512
536
  </button>
513
537
  </li>
514
538
  <li>
515
- <button className="flex w-full items-center justify-between rounded px-3 py-2 text-left transition-colors hover:bg-white/10">
516
- <span className="!text-white">Services</span>
517
- <AngleDownIcon className="h-4 w-4 text-gray-400" />
539
+ <button className="hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded px-3 py-2 text-left transition-colors">
540
+ <span className="text-fm-icon-active!">
541
+ Services
542
+ </span>
543
+ <AngleDownIcon className="text-fm-placeholder h-4 w-4" />
518
544
  </button>
519
545
  </li>
520
546
  </ul>
521
547
  </nav>
522
- <div className="rounded-lg bg-black/40 p-4">
523
- <pre className="overflow-x-auto text-sm !text-green-300">
548
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
549
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
524
550
  {`<button className="flex items-center justify-between w-full px-3 py-2">
525
551
  <span>Products</span>
526
552
  <AngleDownIcon className="h-4 w-4 text-gray-400" />
@@ -532,19 +558,21 @@ function DropdownButton() {
532
558
 
533
559
  {/* Sort Dropdown */}
534
560
  <div className="!space-y-4">
535
- <h3 className="text-lg font-semibold !text-blue-300">
561
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
536
562
  Sort Dropdown
537
563
  </h3>
538
564
  <div className="!space-y-4">
539
565
  <div className="flex items-center gap-2">
540
- <span className="text-sm !text-white/70">Sort by:</span>
541
- <button className="flex items-center gap-2 rounded border border-white/10 bg-white/5 px-3 py-1 text-sm transition-colors hover:bg-white/10">
542
- <span className="!text-white">Date</span>
543
- <AngleDownIcon className="h-3 w-3 text-gray-400" />
566
+ <span className="text-fm-secondary! text-sm">
567
+ Sort by:
568
+ </span>
569
+ <button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex items-center gap-2 rounded border px-3 py-1 text-sm transition-colors">
570
+ <span className="text-fm-icon-active!">Date</span>
571
+ <AngleDownIcon className="text-fm-placeholder h-3 w-3" />
544
572
  </button>
545
573
  </div>
546
- <div className="rounded-lg bg-black/40 p-4">
547
- <pre className="overflow-x-auto text-sm !text-green-300">
574
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
575
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
548
576
  {`<button className="flex items-center gap-2 px-3 py-1 text-sm border border-white/10 bg-white/5 rounded">
549
577
  <span>Date</span>
550
578
  <AngleDownIcon className="h-3 w-3 text-gray-400" />
@@ -556,32 +584,32 @@ function DropdownButton() {
556
584
 
557
585
  {/* Collapsible Section */}
558
586
  <div className="!space-y-4">
559
- <h3 className="text-lg font-semibold !text-blue-300">
587
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
560
588
  Collapsible Section
561
589
  </h3>
562
590
  <div className="!space-y-4">
563
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
591
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
564
592
  <button className="mb-3 flex w-full items-center justify-between">
565
- <h4 className="font-medium !text-white">
593
+ <h4 className="text-fm-icon-active! font-medium">
566
594
  Advanced Settings
567
595
  </h4>
568
- <AngleDownIcon className="h-4 w-4 text-blue-400" />
596
+ <AngleDownIcon className="text-fm-icon-info h-4 w-4" />
569
597
  </button>
570
- <div className="rounded border border-white/5 bg-white/5 p-3">
571
- <p className="text-sm !text-white/70">
598
+ <div className="border-fm-divider-tertiary bg-fm-surface-secondary rounded border p-3">
599
+ <p className="text-fm-secondary! text-sm">
572
600
  Additional configuration options will appear here
573
601
  when expanded.
574
602
  </p>
575
603
  </div>
576
604
  </div>
577
- <div className="rounded-lg bg-black/40 p-4">
578
- <pre className="overflow-x-auto text-sm !text-green-300">
605
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
606
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
579
607
  {`<button className="flex items-center justify-between w-full mb-3" onClick={toggleExpanded}>
580
608
  <h4 className="font-medium text-white">Advanced Settings</h4>
581
609
  <AngleDownIcon className={\`h-4 w-4 text-blue-400 transition-transform \${isExpanded ? 'rotate-180' : ''}\`} />
582
610
  </button>
583
611
  {isExpanded && (
584
- <div className="bg-white/5 border border-white/5 rounded p-3">
612
+ <div className="bg-fm-surface-secondary border border-fm-divider-tertiary rounded p-3">
585
613
  {/* Content */}
586
614
  </div>
587
615
  )}`}
@@ -594,64 +622,64 @@ function DropdownButton() {
594
622
 
595
623
  {/* Accessibility */}
596
624
  <div className="!space-y-8">
597
- <h2 className="text-center text-3xl font-bold !text-white">
625
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
598
626
  Accessibility Features
599
627
  </h2>
600
628
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
601
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
602
- <h3 className="text-lg font-semibold !text-green-300">
629
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
630
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
603
631
  ✅ Built-in Features
604
632
  </h3>
605
- <ul className="!space-y-2 text-sm !text-white/70">
606
- <li className="!text-white/70">
633
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
634
+ <li className="text-fm-secondary!">
607
635
  Uses Radix UI AccessibleIcon wrapper
608
636
  </li>
609
- <li className="!text-white/70">
637
+ <li className="text-fm-secondary!">
610
638
  Provides screen reader label "Angle down icon"
611
639
  </li>
612
- <li className="!text-white/70">
640
+ <li className="text-fm-secondary!">
613
641
  Supports keyboard navigation in interactive contexts
614
642
  </li>
615
- <li className="!text-white/70">
643
+ <li className="text-fm-secondary!">
616
644
  Maintains proper color contrast ratios
617
645
  </li>
618
- <li className="!text-white/70">
646
+ <li className="text-fm-secondary!">
619
647
  Respects user's motion preferences
620
648
  </li>
621
649
  </ul>
622
650
  </div>
623
651
 
624
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
625
- <h3 className="text-lg font-semibold !text-blue-300">
652
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
653
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
626
654
  💡 Best Practices
627
655
  </h3>
628
- <ul className="!space-y-2 text-sm text-white/70">
629
- <li className="!text-white/70">
656
+ <ul className="text-fm-secondary !space-y-2 text-sm">
657
+ <li className="text-fm-secondary!">
630
658
  Use with proper ARIA labels for dropdowns
631
659
  </li>
632
- <li className="!text-white/70">
660
+ <li className="text-fm-secondary!">
633
661
  Indicate expanded/collapsed state clearly
634
662
  </li>
635
- <li className="!text-white/70">
663
+ <li className="text-fm-secondary!">
636
664
  Provide keyboard shortcuts for power users
637
665
  </li>
638
- <li className="!text-white/70">
666
+ <li className="text-fm-secondary!">
639
667
  Use consistent animation directions
640
668
  </li>
641
- <li className="!text-white/70">
669
+ <li className="text-fm-secondary!">
642
670
  Test with screen readers
643
671
  </li>
644
672
  </ul>
645
673
  </div>
646
674
  </div>
647
675
 
648
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
649
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
676
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
677
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
650
678
  Accessible Dropdown Implementation
651
679
  </h3>
652
680
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
653
- <div className="rounded-lg bg-black/40 p-4">
654
- <pre className="overflow-x-auto text-sm !text-blue-300">
681
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
682
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
655
683
  {`// Accessible dropdown with proper ARIA attributes
656
684
  function AccessibleDropdown() {
657
685
  const [isOpen, setIsOpen] = useState(false)
@@ -682,12 +710,12 @@ function AccessibleDropdown() {
682
710
  </pre>
683
711
  </div>
684
712
  <div className="!space-y-4">
685
- <p className="text-sm !text-white/70">
713
+ <p className="text-fm-secondary! text-sm">
686
714
  This implementation includes proper ARIA attributes for
687
715
  screen readers and keyboard navigation support.
688
716
  </p>
689
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
690
- <div className="flex items-center gap-2 text-sm !text-blue-200">
717
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
718
+ <div className="text-fm-icon-info! flex items-center gap-2 text-sm">
691
719
  <AngleDownIcon className="h-4 w-4" />
692
720
  <span>
693
721
  The icon is marked as aria-hidden since the button
@@ -702,54 +730,58 @@ function AccessibleDropdown() {
702
730
 
703
731
  {/* Related Icons */}
704
732
  <div className="!space-y-8">
705
- <h2 className="text-center text-3xl font-bold !text-white">
733
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
706
734
  Related Icons
707
735
  </h2>
708
736
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
709
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
710
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
711
- <AngleDownIcon className="h-6 w-6 rotate-180 text-blue-400" />
737
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
738
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
739
+ <AngleDownIcon className="text-fm-icon-info h-6 w-6 rotate-180" />
712
740
  </div>
713
741
  <div>
714
- <div className="font-medium text-white">AngleUpIcon</div>
715
- <div className="text-xs text-white/60">
742
+ <div className="text-fm-icon-active font-medium">
743
+ AngleUpIcon
744
+ </div>
745
+ <div className="text-fm-tertiary text-xs">
716
746
  Upward direction
717
747
  </div>
718
748
  </div>
719
749
  </div>
720
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
721
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
722
- <AngleDownIcon className="h-6 w-6 -rotate-90 text-green-400" />
750
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
751
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
752
+ <AngleDownIcon className="text-fm-icon-positive h-6 w-6 -rotate-90" />
723
753
  </div>
724
754
  <div>
725
- <div className="font-medium text-white">
755
+ <div className="text-fm-icon-active font-medium">
726
756
  AngleRightIcon
727
757
  </div>
728
- <div className="text-xs text-white/60">
758
+ <div className="text-fm-tertiary text-xs">
729
759
  Right direction
730
760
  </div>
731
761
  </div>
732
762
  </div>
733
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
734
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
735
- <AngleDownIcon className="h-6 w-6 rotate-90 text-purple-400" />
763
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
764
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
765
+ <AngleDownIcon className="text-fm-secondary-600 h-6 w-6 rotate-90" />
736
766
  </div>
737
767
  <div>
738
- <div className="font-medium text-white">
768
+ <div className="text-fm-icon-active font-medium">
739
769
  AngleLeftIcon
740
770
  </div>
741
- <div className="text-xs text-white/60">
771
+ <div className="text-fm-tertiary text-xs">
742
772
  Left direction
743
773
  </div>
744
774
  </div>
745
775
  </div>
746
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
747
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
776
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
777
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
748
778
  <span className="text-2xl">⚡</span>
749
779
  </div>
750
780
  <div>
751
- <div className="font-medium text-white">ChevronIcon</div>
752
- <div className="text-xs text-white/60">
781
+ <div className="text-fm-icon-active font-medium">
782
+ ChevronIcon
783
+ </div>
784
+ <div className="text-fm-tertiary text-xs">
753
785
  Alternative style
754
786
  </div>
755
787
  </div>
@@ -759,14 +791,14 @@ function AccessibleDropdown() {
759
791
  </div>
760
792
 
761
793
  {/* Footer */}
762
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
794
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
763
795
  <div className="!mx-auto max-w-7xl px-6 py-8">
764
796
  <div className="!space-y-4 text-center">
765
- <p className="!text-white/60">
797
+ <p className="text-fm-tertiary!">
766
798
  AngleDownIcon is part of the Aural UI icon library, designed
767
799
  for intuitive navigation and interaction.
768
800
  </p>
769
- <p className="text-sm !text-white/40">
801
+ <p className="text-fm-placeholder! text-sm">
770
802
  Perfect for dropdowns, accordions, and any collapsible
771
803
  content that requires directional indication.
772
804
  </p>
@@ -815,8 +847,8 @@ const storyParameters = {
815
847
  backgrounds: {
816
848
  default: "dark",
817
849
  values: [
818
- { name: "dark", value: "#0a0a0a" },
819
- { name: "darker", value: "#000000" },
850
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
851
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
820
852
  ],
821
853
  },
822
854
  }
@@ -825,12 +857,12 @@ export const Default: Story = {
825
857
  args: {
826
858
  width: 24,
827
859
  height: 24,
828
- className: "text-blue-400",
860
+ className: "text-fm-icon-info",
829
861
  withAccessibility: true,
830
862
  },
831
863
  parameters: storyParameters,
832
864
  render: (args) => (
833
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
865
+ <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">
834
866
  <AngleDownIcon {...args} />
835
867
  </div>
836
868
  ),
@@ -847,30 +879,30 @@ export const SizeVariations: Story = {
847
879
  },
848
880
  },
849
881
  render: () => (
850
- <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">
882
+ <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">
851
883
  <div className="text-center">
852
- <AngleDownIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
853
- <span className="text-xs text-white/60">12px</span>
884
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
885
+ <span className="text-fm-tertiary text-xs">12px</span>
854
886
  </div>
855
887
  <div className="text-center">
856
- <AngleDownIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
857
- <span className="text-xs text-white/60">16px</span>
888
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
889
+ <span className="text-fm-tertiary text-xs">16px</span>
858
890
  </div>
859
891
  <div className="text-center">
860
- <AngleDownIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
861
- <span className="text-xs text-white/60">20px</span>
892
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
893
+ <span className="text-fm-tertiary text-xs">20px</span>
862
894
  </div>
863
895
  <div className="text-center">
864
- <AngleDownIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
865
- <span className="text-xs text-white/60">24px</span>
896
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
897
+ <span className="text-fm-tertiary text-xs">24px</span>
866
898
  </div>
867
899
  <div className="text-center">
868
- <AngleDownIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
869
- <span className="text-xs text-white/60">32px</span>
900
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
901
+ <span className="text-fm-tertiary text-xs">32px</span>
870
902
  </div>
871
903
  <div className="text-center">
872
- <AngleDownIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
873
- <span className="text-xs text-white/60">48px</span>
904
+ <AngleDownIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
905
+ <span className="text-fm-tertiary text-xs">48px</span>
874
906
  </div>
875
907
  </div>
876
908
  ),
@@ -887,34 +919,34 @@ export const DirectionalVariations: Story = {
887
919
  },
888
920
  },
889
921
  render: () => (
890
- <div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-4">
922
+ <div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-2 items-center justify-center gap-8 rounded-lg bg-linear-to-br p-8 md:grid-cols-4">
891
923
  <div className="text-center">
892
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-blue-500/30 bg-blue-500/20">
893
- <AngleDownIcon className="h-8 w-8 text-blue-400" />
924
+ <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">
925
+ <AngleDownIcon className="text-fm-icon-info h-8 w-8" />
894
926
  </div>
895
- <div className="text-sm font-medium text-white">Down</div>
896
- <div className="text-xs text-blue-400">Default</div>
927
+ <div className="text-fm-icon-active text-sm font-medium">Down</div>
928
+ <div className="text-fm-icon-info text-xs">Default</div>
897
929
  </div>
898
930
  <div className="text-center">
899
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-purple-500/30 bg-purple-500/20">
900
- <AngleDownIcon className="h-8 w-8 rotate-180 text-purple-400" />
931
+ <div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
932
+ <AngleDownIcon className="text-fm-secondary-600 h-8 w-8 rotate-180" />
901
933
  </div>
902
- <div className="text-sm font-medium text-white">Up</div>
903
- <div className="text-xs text-purple-400">rotate-180</div>
934
+ <div className="text-fm-icon-active text-sm font-medium">Up</div>
935
+ <div className="text-fm-secondary-600 text-xs">rotate-180</div>
904
936
  </div>
905
937
  <div className="text-center">
906
- <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">
907
- <AngleDownIcon className="h-8 w-8 -rotate-90 text-green-400" />
938
+ <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">
939
+ <AngleDownIcon className="text-fm-icon-positive h-8 w-8 -rotate-90" />
908
940
  </div>
909
- <div className="text-sm font-medium text-white">Right</div>
910
- <div className="text-xs text-green-400">-rotate-90</div>
941
+ <div className="text-fm-icon-active text-sm font-medium">Right</div>
942
+ <div className="text-fm-icon-positive text-xs">-rotate-90</div>
911
943
  </div>
912
944
  <div className="text-center">
913
- <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">
914
- <AngleDownIcon className="h-8 w-8 rotate-90 text-orange-400" />
945
+ <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">
946
+ <AngleDownIcon className="text-fm-icon-warning h-8 w-8 rotate-90" />
915
947
  </div>
916
- <div className="text-sm font-medium text-white">Left</div>
917
- <div className="text-xs text-orange-400">rotate-90</div>
948
+ <div className="text-fm-icon-active text-sm font-medium">Left</div>
949
+ <div className="text-fm-icon-warning text-xs">rotate-90</div>
918
950
  </div>
919
951
  </div>
920
952
  ),
@@ -931,50 +963,56 @@ export const UsageExamples: Story = {
931
963
  },
932
964
  },
933
965
  render: () => (
934
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
966
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
935
967
  {/* Dropdown */}
936
968
  <div className="!space-y-2">
937
- <h3 className="text-sm font-medium text-white">Dropdown Menu</h3>
938
- <button className="flex w-full items-center justify-between rounded-lg border border-white/10 bg-white/5 px-4 py-3 text-white transition-colors hover:bg-white/10">
969
+ <h3 className="text-fm-icon-active text-sm font-medium">
970
+ Dropdown Menu
971
+ </h3>
972
+ <button className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-icon-active hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded-lg border px-4 py-3 transition-colors">
939
973
  <span>Select an option</span>
940
- <AngleDownIcon className="h-4 w-4 text-gray-400 transition-transform hover:rotate-180" />
974
+ <AngleDownIcon className="text-fm-placeholder h-4 w-4 transition-transform hover:rotate-180" />
941
975
  </button>
942
976
  </div>
943
977
 
944
978
  {/* Accordion */}
945
979
  <div className="!space-y-2">
946
- <h3 className="text-sm font-medium text-white">Accordion</h3>
947
- <div className="rounded-lg border border-white/10 bg-white/5">
948
- <button className="flex w-full items-center justify-between p-4 text-left transition-colors hover:bg-white/5">
949
- <h4 className="font-medium text-white">
980
+ <h3 className="text-fm-icon-active text-sm font-medium">Accordion</h3>
981
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border">
982
+ <button className="hover:bg-fm-surface-secondary flex w-full items-center justify-between p-4 text-left transition-colors">
983
+ <h4 className="text-fm-icon-active font-medium">
950
984
  Frequently Asked Questions
951
985
  </h4>
952
- <AngleDownIcon className="h-5 w-5 text-blue-400 transition-transform" />
986
+ <AngleDownIcon className="text-fm-icon-info h-5 w-5 transition-transform" />
953
987
  </button>
954
988
  </div>
955
989
  </div>
956
990
 
957
991
  {/* Select Input */}
958
992
  <div className="!space-y-2">
959
- <h3 className="text-sm font-medium text-white">Select Input</h3>
993
+ <h3 className="text-fm-icon-active text-sm font-medium">
994
+ Select Input
995
+ </h3>
960
996
  <div className="relative">
961
- <select className="w-full appearance-none rounded-lg border border-white/10 bg-white/5 px-3 py-2 pr-10 text-white focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20">
997
+ <select className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info w-full appearance-none rounded-lg border px-3 py-2 pr-10 focus:ring-2 focus:ring-blue-500/20">
962
998
  <option value="">Choose a country</option>
963
999
  <option value="us">United States</option>
964
1000
  <option value="ca">Canada</option>
965
1001
  </select>
966
- <AngleDownIcon className="pointer-events-none absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2 text-gray-400" />
1002
+ <AngleDownIcon className="text-fm-placeholder pointer-events-none absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2" />
967
1003
  </div>
968
1004
  </div>
969
1005
 
970
1006
  {/* Sort Dropdown */}
971
1007
  <div className="!space-y-2">
972
- <h3 className="text-sm font-medium text-white">Sort Dropdown</h3>
1008
+ <h3 className="text-fm-icon-active text-sm font-medium">
1009
+ Sort Dropdown
1010
+ </h3>
973
1011
  <div className="flex items-center gap-2">
974
- <span className="text-sm text-white/70">Sort by:</span>
975
- <button className="flex items-center gap-2 rounded border border-white/10 bg-white/5 px-3 py-1 text-sm transition-colors hover:bg-white/10">
976
- <span className="text-white">Date</span>
977
- <AngleDownIcon className="h-3 w-3 text-gray-400" />
1012
+ <span className="text-fm-secondary text-sm">Sort by:</span>
1013
+ <button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex items-center gap-2 rounded border px-3 py-1 text-sm transition-colors">
1014
+ <span className="text-fm-icon-active">Date</span>
1015
+ <AngleDownIcon className="text-fm-placeholder h-3 w-3" />
978
1016
  </button>
979
1017
  </div>
980
1018
  </div>
@@ -993,21 +1031,25 @@ export const AnimatedStates: Story = {
993
1031
  },
994
1032
  },
995
1033
  render: () => (
996
- <div className="grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-2">
1034
+ <div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-linear-to-br p-8 md:grid-cols-2">
997
1035
  <div className="text-center">
998
- <h3 className="mb-4 text-lg font-medium text-white">Hover Animation</h3>
999
- <button className="group rounded-lg border border-blue-500/30 bg-blue-500/10 px-6 py-3 transition-colors hover:bg-blue-500/20">
1000
- <AngleDownIcon className="h-6 w-6 text-blue-400 transition-transform duration-300 group-hover:rotate-180" />
1036
+ <h3 className="text-fm-icon-active mb-4 text-lg font-medium">
1037
+ Hover Animation
1038
+ </h3>
1039
+ <button className="group border-fm-icon-info/30 bg-fm-icon-info/10 hover:bg-fm-icon-info/20 rounded-lg border px-6 py-3 transition-colors">
1040
+ <AngleDownIcon className="text-fm-icon-info h-6 w-6 transition-transform duration-300 group-hover:rotate-180" />
1001
1041
  </button>
1002
- <p className="mt-2 text-xs text-white/60">Hover to rotate</p>
1042
+ <p className="text-fm-tertiary mt-2 text-xs">Hover to rotate</p>
1003
1043
  </div>
1004
1044
 
1005
1045
  <div className="text-center">
1006
- <h3 className="mb-4 text-lg font-medium text-white">Toggle State</h3>
1007
- <button className="rounded-lg border border-green-500/30 bg-green-500/10 px-6 py-3 transition-colors hover:bg-green-500/20">
1008
- <AngleDownIcon className="h-6 w-6 rotate-180 text-green-400 transition-transform duration-300" />
1046
+ <h3 className="text-fm-icon-active mb-4 text-lg font-medium">
1047
+ Toggle State
1048
+ </h3>
1049
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 rounded-lg border px-6 py-3 transition-colors">
1050
+ <AngleDownIcon className="text-fm-icon-positive h-6 w-6 rotate-180 transition-transform duration-300" />
1009
1051
  </button>
1010
- <p className="mt-2 text-xs text-white/60">Expanded state</p>
1052
+ <p className="text-fm-tertiary mt-2 text-xs">Expanded state</p>
1011
1053
  </div>
1012
1054
  </div>
1013
1055
  ),
@@ -1026,12 +1068,12 @@ export const Playground: Story = {
1026
1068
  args: {
1027
1069
  width: 32,
1028
1070
  height: 32,
1029
- className: "text-blue-400",
1071
+ className: "text-fm-icon-info",
1030
1072
  strokeWidth: 2,
1031
1073
  },
1032
1074
  render: (args) => (
1033
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1034
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1075
+ <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">
1076
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1035
1077
  <AngleDownIcon {...args} />
1036
1078
  </div>
1037
1079
  </div>