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 SearchIcon> = {
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,42 +40,42 @@ const meta: Meta<typeof SearchIcon> = {
40
40
  background: transparent !important;
41
41
  }
42
42
  body {
43
- background: #0a0a0a !important;
43
+ background: var(--color-fm-surface-primary) !important;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a !important;
46
+ background: var(--color-fm-surface-primary) !important;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent !important;
50
50
  border: none !important;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white !important;
53
+ color: var(--color-fm-icon-active) !important;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) !important;
56
+ color: var(--color-fm-secondary) !important;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) !important;
60
- color: rgba(168, 85, 247, 1) !important;
61
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
59
+ background: var(--color-fm-surface-secondary) !important;
60
+ color: var(--color-fm-secondary-500) !important;
61
+ border: 1px solid var(--color-fm-divider-secondary) !important;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) !important;
65
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
64
+ background: var(--color-fm-surface-secondary) !important;
65
+ border: 1px solid var(--color-fm-divider-secondary) !important;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) !important;
69
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
68
+ background: var(--color-fm-surface-secondary) !important;
69
+ border: 1px solid var(--color-fm-divider-secondary) !important;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) !important;
73
- color: white !important;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
72
+ background: var(--color-fm-surface-secondary) !important;
73
+ color: var(--color-fm-icon-active) !important;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) !important;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
77
+ color: var(--color-fm-secondary) !important;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
79
79
  }
80
80
  @keyframes search-pulse {
81
81
  0%, 100% { transform: scale(1); opacity: 1; }
@@ -101,19 +101,19 @@ const meta: Meta<typeof SearchIcon> = {
101
101
  `}
102
102
  </style>
103
103
 
104
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-blue-900/20 to-gray-900">
104
+ <div className="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
105
105
  {/* Header */}
106
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
107
- <div className="absolute inset-0 bg-gradient-to-r from-blue-500/10 via-transparent to-purple-500/10" />
106
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
107
+ <div className="from-fm-icon-info/10 to-fm-secondary-500/10 absolute inset-0 bg-linear-to-r via-transparent" />
108
108
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
109
109
  <div className="!space-y-6 text-center">
110
- <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">
111
- <SearchIcon className="h-12 w-12 text-blue-400" />
110
+ <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">
111
+ <SearchIcon className="text-fm-icon-info h-12 w-12" />
112
112
  </div>
113
113
  <h1 className="!text-fm-primary text-5xl font-bold">
114
114
  SearchIcon
115
115
  </h1>
116
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
116
+ <p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
117
117
  A versatile search icon for search inputs, filters, and
118
118
  discovery features. Perfect for search bars, data tables,
119
119
  and navigation. Built with accessibility in mind using Radix
@@ -123,28 +123,28 @@ const meta: Meta<typeof SearchIcon> = {
123
123
  {/* Stats */}
124
124
  <div className="flex items-center justify-center gap-8 pt-8">
125
125
  <div className="text-center">
126
- <div className="text-3xl font-bold text-blue-300">
126
+ <div className="text-fm-icon-info text-3xl font-bold">
127
127
  Discover
128
128
  </div>
129
- <div className="text-sm text-white/60">
129
+ <div className="text-fm-tertiary text-sm">
130
130
  Find what you need
131
131
  </div>
132
132
  </div>
133
- <div className="h-8 w-px bg-white/20" />
133
+ <div className="bg-fm-divider-primary h-8 w-px" />
134
134
  <div className="text-center">
135
- <div className="text-3xl font-bold text-purple-300">
135
+ <div className="text-fm-secondary-600 text-3xl font-bold">
136
136
  Filter
137
137
  </div>
138
- <div className="text-sm text-white/60">
138
+ <div className="text-fm-tertiary text-sm">
139
139
  Refine your results
140
140
  </div>
141
141
  </div>
142
- <div className="h-8 w-px bg-white/20" />
142
+ <div className="bg-fm-divider-primary h-8 w-px" />
143
143
  <div className="text-center">
144
- <div className="text-3xl font-bold text-cyan-300">
144
+ <div className="text-fm-icon-info text-3xl font-bold">
145
145
  Explore
146
146
  </div>
147
- <div className="text-sm text-white/60">
147
+ <div className="text-fm-tertiary text-sm">
148
148
  Navigate content
149
149
  </div>
150
150
  </div>
@@ -157,16 +157,16 @@ const meta: Meta<typeof SearchIcon> = {
157
157
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
158
158
  {/* Quick Usage */}
159
159
  <div className="!space-y-8">
160
- <h2 className="text-center text-3xl font-bold !text-white">
160
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
161
161
  Quick Start
162
162
  </h2>
163
163
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
164
164
  <div className="!space-y-4">
165
- <h3 className="text-xl font-semibold !text-blue-300">
165
+ <h3 className="text-fm-icon-info! text-xl font-semibold">
166
166
  Basic Usage
167
167
  </h3>
168
- <div className="rounded-lg bg-black/40 p-4">
169
- <pre className="overflow-x-auto text-sm !text-green-300">
168
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
169
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
170
170
  {`import { SearchIcon } from "@icons/search-icon"
171
171
 
172
172
  function SearchInput() {
@@ -186,16 +186,16 @@ function SearchInput() {
186
186
  </div>
187
187
 
188
188
  <div className="!space-y-4">
189
- <h3 className="text-xl font-semibold !text-blue-300">
189
+ <h3 className="text-fm-icon-info! text-xl font-semibold">
190
190
  Live Preview
191
191
  </h3>
192
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
192
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
193
193
  <div className="relative">
194
- <SearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-gray-400" />
194
+ <SearchIcon className="text-fm-placeholder absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
195
195
  <input
196
196
  type="text"
197
197
  placeholder="Search..."
198
- className="rounded-lg border border-white/20 bg-white/10 py-2 pr-4 pl-10 text-white placeholder-white/50 focus:border-blue-400 focus:ring-2 focus:ring-blue-400/20 focus:outline-none"
198
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info rounded-lg border py-2 pr-4 pl-10 placeholder-white/50 focus:ring-2 focus:ring-blue-400/20 focus:outline-none"
199
199
  />
200
200
  </div>
201
201
  </div>
@@ -205,122 +205,130 @@ function SearchInput() {
205
205
 
206
206
  {/* Props Documentation */}
207
207
  <div className="!space-y-8">
208
- <h2 className="text-center text-3xl font-bold !text-white">
208
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
209
209
  Props & Configuration
210
210
  </h2>
211
211
 
212
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
213
- <div className="bg-white/5 p-4">
214
- <h3 className="text-xl font-semibold !text-white">Props</h3>
212
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
213
+ <div className="bg-fm-surface-secondary p-4">
214
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
215
+ Props
216
+ </h3>
215
217
  </div>
216
218
  <table className="!my-0 w-full">
217
- <thead className="bg-white/5">
218
- <tr className="border-b border-white/10">
219
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
219
+ <thead className="bg-fm-surface-secondary">
220
+ <tr className="border-fm-divider-secondary border-b">
221
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
220
222
  Prop
221
223
  </th>
222
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
224
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
223
225
  Type
224
226
  </th>
225
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
227
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
226
228
  Default
227
229
  </th>
228
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
230
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
229
231
  Description
230
232
  </th>
231
233
  </tr>
232
234
  </thead>
233
235
  <tbody>
234
236
  {" "}
235
- <tr className="!bg-black/10">
236
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
237
+ <tr className="bg-fm-surface-secondary!">
238
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
237
239
  withAccessibility
238
240
  </td>
239
- <td className="px-6 py-4 text-sm !text-white/70">
241
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
240
242
  boolean
241
243
  </td>
242
- <td className="px-6 py-4 text-sm !text-white/50">
244
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
243
245
  true
244
246
  </td>
245
- <td className="px-6 py-4 text-sm !text-white/70">
247
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
246
248
  Whether to wrap the icon with accessibility feature
247
249
  </td>
248
250
  </tr>
249
- <tr className="border-b border-white/5 !bg-black/10">
250
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
251
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
252
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
251
253
  height
252
254
  </td>
253
- <td className="px-6 py-4 text-sm !text-white/70">
255
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
254
256
  number | string
255
257
  </td>
256
- <td className="px-6 py-4 text-sm !text-white/50">14</td>
257
- <td className="px-6 py-4 text-sm !text-white/70">
258
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
259
+ 14
260
+ </td>
261
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
258
262
  Height of the icon in pixels
259
263
  </td>
260
264
  </tr>
261
- <tr className="border-b border-white/5">
262
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
265
+ <tr className="border-fm-divider-tertiary border-b">
266
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
263
267
  stroke
264
268
  </td>
265
- <td className="px-6 py-4 text-sm !text-white/70">
269
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
266
270
  string
267
271
  </td>
268
- <td className="px-6 py-4 text-sm !text-white/50">
272
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
269
273
  currentColor
270
274
  </td>
271
- <td className="px-6 py-4 text-sm !text-white/70">
275
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
272
276
  Stroke color of the search icon
273
277
  </td>
274
278
  </tr>
275
- <tr className="border-b border-white/5 !bg-black/10">
276
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
279
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
280
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
277
281
  strokeWidth
278
282
  </td>
279
- <td className="px-6 py-4 text-sm !text-white/70">
283
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
280
284
  number | string
281
285
  </td>
282
- <td className="px-6 py-4 text-sm !text-white/50">
286
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
283
287
  1.5
284
288
  </td>
285
- <td className="px-6 py-4 text-sm !text-white/70">
289
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
286
290
  Thickness of the stroke lines
287
291
  </td>
288
292
  </tr>
289
- <tr className="border-b border-white/5">
290
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
293
+ <tr className="border-fm-divider-tertiary border-b">
294
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
291
295
  strokeLinecap
292
296
  </td>
293
- <td className="px-6 py-4 text-sm !text-white/70">
297
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
294
298
  string
295
299
  </td>
296
- <td className="px-6 py-4 text-sm !text-white/50">
300
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
297
301
  square
298
302
  </td>
299
- <td className="px-6 py-4 text-sm !text-white/70">
303
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
300
304
  Style of line endings
301
305
  </td>
302
306
  </tr>
303
- <tr className="border-b border-white/5 !bg-black/10">
304
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
307
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
308
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
305
309
  className
306
310
  </td>
307
- <td className="px-6 py-4 text-sm !text-white/70">
311
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
308
312
  string
309
313
  </td>
310
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
311
- <td className="px-6 py-4 text-sm !text-white/70">
314
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
315
+ -
316
+ </td>
317
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
312
318
  CSS classes for styling
313
319
  </td>
314
320
  </tr>
315
- <tr className="!bg-black/10">
316
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
321
+ <tr className="bg-fm-surface-secondary!">
322
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
317
323
  ...svgProps
318
324
  </td>
319
- <td className="px-6 py-4 text-sm !text-white/70">
325
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
320
326
  SVGProps
321
327
  </td>
322
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
323
- <td className="px-6 py-4 text-sm !text-white/70">
328
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
329
+ -
330
+ </td>
331
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
324
332
  All standard SVG element props
325
333
  </td>
326
334
  </tr>
@@ -331,50 +339,62 @@ function SearchInput() {
331
339
 
332
340
  {/* Size Variations */}
333
341
  <div className="!space-y-8">
334
- <h2 className="text-center text-3xl font-bold !text-white">
342
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
335
343
  Size Variations
336
344
  </h2>
337
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
345
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
338
346
  <div className="!space-y-6">
339
347
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
340
348
  <div className="!space-y-4">
341
- <h3 className="text-lg font-semibold !text-blue-300">
349
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
342
350
  Standard Sizes
343
351
  </h3>
344
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
352
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
345
353
  <div className="text-center">
346
- <SearchIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
347
- <span className="text-xs text-white/60">12px</span>
354
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
355
+ <span className="text-fm-tertiary text-xs">
356
+ 12px
357
+ </span>
348
358
  </div>
349
359
  <div className="text-center">
350
- <SearchIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
351
- <span className="text-xs text-white/60">16px</span>
360
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
361
+ <span className="text-fm-tertiary text-xs">
362
+ 16px
363
+ </span>
352
364
  </div>
353
365
  <div className="text-center">
354
- <SearchIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
355
- <span className="text-xs text-white/60">20px</span>
366
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
367
+ <span className="text-fm-tertiary text-xs">
368
+ 20px
369
+ </span>
356
370
  </div>
357
371
  <div className="text-center">
358
- <SearchIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
359
- <span className="text-xs text-white/60">24px</span>
372
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
373
+ <span className="text-fm-tertiary text-xs">
374
+ 24px
375
+ </span>
360
376
  </div>
361
377
  <div className="text-center">
362
- <SearchIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
363
- <span className="text-xs text-white/60">32px</span>
378
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
379
+ <span className="text-fm-tertiary text-xs">
380
+ 32px
381
+ </span>
364
382
  </div>
365
383
  <div className="text-center">
366
- <SearchIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
367
- <span className="text-xs text-white/60">48px</span>
384
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
385
+ <span className="text-fm-tertiary text-xs">
386
+ 48px
387
+ </span>
368
388
  </div>
369
389
  </div>
370
390
  </div>
371
391
 
372
392
  <div className="!space-y-4">
373
- <h3 className="text-lg font-semibold !text-blue-300">
393
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
374
394
  Code Example
375
395
  </h3>
376
- <div className="rounded-lg bg-black/40 p-4">
377
- <pre className="overflow-x-auto text-sm !text-cyan-300">
396
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
397
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
378
398
  {`// Small (16px)
379
399
  <SearchIcon className="h-4 w-4" />
380
400
 
@@ -396,56 +416,56 @@ function SearchInput() {
396
416
 
397
417
  {/* Color Variations */}
398
418
  <div className="!space-y-8">
399
- <h2 className="text-center text-3xl font-bold !text-white">
419
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
400
420
  Color Variations
401
421
  </h2>
402
422
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
403
423
  <div className="!space-y-4">
404
- <h3 className="text-lg font-semibold !text-blue-300">
424
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
405
425
  Semantic Colors
406
426
  </h3>
407
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
427
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
408
428
  <div className="flex items-center gap-4">
409
- <SearchIcon className="h-6 w-6 text-blue-400" />
429
+ <SearchIcon className="text-fm-icon-info h-6 w-6" />
410
430
  <div>
411
- <div className="text-sm font-medium text-white">
431
+ <div className="text-fm-icon-active text-sm font-medium">
412
432
  Primary
413
433
  </div>
414
- <div className="text-xs text-white/60">
415
- text-blue-400
434
+ <div className="text-fm-tertiary text-xs">
435
+ text-fm-icon-info
416
436
  </div>
417
437
  </div>
418
438
  </div>
419
439
  <div className="flex items-center gap-4">
420
- <SearchIcon className="h-6 w-6 text-purple-400" />
440
+ <SearchIcon className="text-fm-secondary-600 h-6 w-6" />
421
441
  <div>
422
- <div className="text-sm font-medium text-white">
442
+ <div className="text-fm-icon-active text-sm font-medium">
423
443
  Secondary
424
444
  </div>
425
- <div className="text-xs text-white/60">
426
- text-purple-400
445
+ <div className="text-fm-tertiary text-xs">
446
+ text-fm-secondary-600
427
447
  </div>
428
448
  </div>
429
449
  </div>
430
450
  <div className="flex items-center gap-4">
431
- <SearchIcon className="h-6 w-6 text-cyan-400" />
451
+ <SearchIcon className="text-fm-icon-info h-6 w-6" />
432
452
  <div>
433
- <div className="text-sm font-medium text-white">
453
+ <div className="text-fm-icon-active text-sm font-medium">
434
454
  Info
435
455
  </div>
436
- <div className="text-xs text-white/60">
437
- text-cyan-400
456
+ <div className="text-fm-tertiary text-xs">
457
+ text-fm-icon-info
438
458
  </div>
439
459
  </div>
440
460
  </div>
441
461
  <div className="flex items-center gap-4">
442
- <SearchIcon className="h-6 w-6 text-gray-400" />
462
+ <SearchIcon className="text-fm-placeholder h-6 w-6" />
443
463
  <div>
444
- <div className="text-sm font-medium text-white">
464
+ <div className="text-fm-icon-active text-sm font-medium">
445
465
  Muted
446
466
  </div>
447
- <div className="text-xs text-white/60">
448
- text-gray-400
467
+ <div className="text-fm-tertiary text-xs">
468
+ text-fm-placeholder
449
469
  </div>
450
470
  </div>
451
471
  </div>
@@ -453,11 +473,11 @@ function SearchInput() {
453
473
  </div>
454
474
 
455
475
  <div className="!space-y-4">
456
- <h3 className="text-lg font-semibold !text-blue-300">
476
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
457
477
  Custom Colors
458
478
  </h3>
459
- <div className="rounded-lg bg-black/40 p-4">
460
- <pre className="overflow-x-auto text-sm !text-green-300">
479
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
480
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
461
481
  {`// Using Tailwind classes
462
482
  <SearchIcon className="h-6 w-6 text-blue-400" />
463
483
  <SearchIcon className="h-6 w-6 text-purple-500" />
@@ -482,37 +502,37 @@ function SearchInput() {
482
502
 
483
503
  {/* Usage Examples */}
484
504
  <div className="!space-y-8">
485
- <h2 className="text-center text-3xl font-bold !text-white">
505
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
486
506
  Usage Examples
487
507
  </h2>
488
508
 
489
509
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
490
510
  {/* Search Input */}
491
511
  <div className="!space-y-4">
492
- <h3 className="text-lg font-semibold !text-blue-300">
512
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
493
513
  Search Input Fields
494
514
  </h3>
495
515
  <div className="!space-y-4">
496
516
  <div className="!space-y-3">
497
517
  <div className="relative">
498
- <SearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-gray-400" />
518
+ <SearchIcon className="text-fm-placeholder absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
499
519
  <input
500
520
  type="text"
501
521
  placeholder="Search products..."
502
- className="w-full rounded-lg border border-white/20 bg-white/10 py-2 pr-4 pl-10 text-white placeholder-white/50 focus:border-blue-400 focus:ring-2 focus:ring-blue-400/20 focus:outline-none"
522
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info w-full rounded-lg border py-2 pr-4 pl-10 placeholder-white/50 focus:ring-2 focus:ring-blue-400/20 focus:outline-none"
503
523
  />
504
524
  </div>
505
525
  <div className="relative">
506
- <SearchIcon className="absolute top-1/2 left-3 h-5 w-5 -translate-y-1/2 text-blue-400" />
526
+ <SearchIcon className="text-fm-icon-info absolute top-1/2 left-3 h-5 w-5 -translate-y-1/2" />
507
527
  <input
508
528
  type="text"
509
529
  placeholder="Search users..."
510
- className="w-full rounded-lg border border-blue-400/50 bg-blue-500/10 py-3 pr-4 pl-12 text-white placeholder-blue-200/70 focus:border-blue-400 focus:ring-2 focus:ring-blue-400/20 focus:outline-none"
530
+ className="border-fm-icon-info/50 bg-fm-icon-info/10 text-fm-icon-active focus:border-fm-icon-info w-full rounded-lg border py-3 pr-4 pl-12 placeholder-blue-200/70 focus:ring-2 focus:ring-blue-400/20 focus:outline-none"
511
531
  />
512
532
  </div>
513
533
  </div>
514
- <div className="rounded-lg bg-black/40 p-4">
515
- <pre className="overflow-x-auto text-sm !text-green-300">
534
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
535
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
516
536
  {`<div className="relative">
517
537
  <SearchIcon className="absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-gray-400" />
518
538
  <input
@@ -528,24 +548,24 @@ function SearchInput() {
528
548
 
529
549
  {/* Search Button */}
530
550
  <div className="!space-y-4">
531
- <h3 className="text-lg font-semibold !text-blue-300">
551
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
532
552
  Search Buttons
533
553
  </h3>
534
554
  <div className="!space-y-4">
535
555
  <div className="flex gap-4">
536
- <button className="flex items-center gap-2 rounded-lg border border-blue-500/30 bg-blue-500/20 px-4 py-2 text-blue-200 transition-colors hover:bg-blue-500/30">
556
+ <button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
537
557
  <SearchIcon className="h-4 w-4" />
538
558
  Search
539
559
  </button>
540
- <button className="flex h-10 w-10 items-center justify-center rounded-lg border border-purple-500/30 bg-purple-500/20 text-purple-200 transition-colors hover:bg-purple-500/30">
560
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex h-10 w-10 items-center justify-center rounded-lg border transition-colors">
541
561
  <SearchIcon className="h-5 w-5" />
542
562
  </button>
543
- <button className="flex h-8 w-8 items-center justify-center rounded-full bg-blue-500 text-white shadow-lg transition-transform hover:scale-110">
563
+ <button className="bg-fm-icon-info text-fm-icon-active flex h-8 w-8 items-center justify-center rounded-full shadow-lg transition-transform hover:scale-110">
544
564
  <SearchIcon className="h-4 w-4" />
545
565
  </button>
546
566
  </div>
547
- <div className="rounded-lg bg-black/40 p-4">
548
- <pre className="overflow-x-auto text-sm !text-green-300">
567
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
568
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
549
569
  {`// Search button with text
550
570
  <button className="flex items-center gap-2 bg-blue-500/20 border border-blue-500/30 px-4 py-2 rounded-lg">
551
571
  <SearchIcon className="h-4 w-4" />
@@ -568,49 +588,51 @@ function SearchInput() {
568
588
 
569
589
  {/* Data Table */}
570
590
  <div className="!space-y-4">
571
- <h3 className="text-lg font-semibold !text-blue-300">
591
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
572
592
  Data Table Search
573
593
  </h3>
574
594
  <div className="!space-y-4">
575
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
595
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
576
596
  <div className="mb-4 flex items-center justify-between">
577
- <h4 className="font-medium text-white">Users</h4>
597
+ <h4 className="text-fm-icon-active font-medium">
598
+ Users
599
+ </h4>
578
600
  <div className="relative">
579
- <SearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-gray-400" />
601
+ <SearchIcon className="text-fm-placeholder absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
580
602
  <input
581
603
  type="text"
582
604
  placeholder="Filter users..."
583
- className="rounded-lg border border-white/20 bg-white/10 py-1.5 pr-4 pl-10 text-sm text-white placeholder-white/50 focus:border-blue-400 focus:outline-none"
605
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info rounded-lg border py-1.5 pr-4 pl-10 text-sm placeholder-white/50 focus:outline-none"
584
606
  />
585
607
  </div>
586
608
  </div>
587
609
  <div className="!space-y-2">
588
- <div className="flex items-center gap-3 rounded border border-white/10 bg-white/5 p-2">
589
- <div className="h-8 w-8 rounded-full bg-blue-500/20"></div>
610
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-2">
611
+ <div className="bg-fm-icon-info/20 h-8 w-8 rounded-full"></div>
590
612
  <div>
591
- <div className="text-sm font-medium text-white">
613
+ <div className="text-fm-icon-active text-sm font-medium">
592
614
  John Doe
593
615
  </div>
594
- <div className="text-xs text-white/60">
616
+ <div className="text-fm-tertiary text-xs">
595
617
  john@example.com
596
618
  </div>
597
619
  </div>
598
620
  </div>
599
- <div className="flex items-center gap-3 rounded border border-white/10 bg-white/5 p-2">
600
- <div className="h-8 w-8 rounded-full bg-purple-500/20"></div>
621
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-2">
622
+ <div className="bg-fm-secondary-500/20 h-8 w-8 rounded-full"></div>
601
623
  <div>
602
- <div className="text-sm font-medium text-white">
624
+ <div className="text-fm-icon-active text-sm font-medium">
603
625
  Jane Smith
604
626
  </div>
605
- <div className="text-xs text-white/60">
627
+ <div className="text-fm-tertiary text-xs">
606
628
  jane@example.com
607
629
  </div>
608
630
  </div>
609
631
  </div>
610
632
  </div>
611
633
  </div>
612
- <div className="rounded-lg bg-black/40 p-4">
613
- <pre className="overflow-x-auto text-sm !text-green-300">
634
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
635
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
614
636
  {`<div className="flex items-center justify-between mb-4">
615
637
  <h4>Users</h4>
616
638
  <div className="relative">
@@ -625,37 +647,37 @@ function SearchInput() {
625
647
 
626
648
  {/* Navigation Search */}
627
649
  <div className="!space-y-4">
628
- <h3 className="text-lg font-semibold !text-blue-300">
650
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
629
651
  Navigation & Command Palette
630
652
  </h3>
631
653
  <div className="!space-y-4">
632
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
654
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
633
655
  <div className="!space-y-3">
634
- <div className="flex items-center gap-3 rounded-lg border border-blue-400/30 bg-blue-500/10 p-3">
635
- <SearchIcon className="h-5 w-5 text-blue-400" />
656
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/10 flex items-center gap-3 rounded-lg border p-3">
657
+ <SearchIcon className="text-fm-icon-info h-5 w-5" />
636
658
  <input
637
659
  type="text"
638
660
  placeholder="Search commands..."
639
- className="flex-1 bg-transparent text-white placeholder-blue-200/70 focus:outline-none"
661
+ className="text-fm-icon-active flex-1 bg-transparent placeholder-blue-200/70 focus:outline-none"
640
662
  />
641
- <kbd className="rounded bg-white/10 px-2 py-1 text-xs text-white/70">
663
+ <kbd className="bg-fm-surface-secondary text-fm-secondary rounded px-2 py-1 text-xs">
642
664
  ⌘K
643
665
  </kbd>
644
666
  </div>
645
667
  <div className="!space-y-1">
646
- <div className="flex items-center gap-3 rounded p-2 text-white/80 hover:bg-white/10">
647
- <SearchIcon className="h-4 w-4 text-blue-400" />
668
+ <div className="text-fm-icon-active/80 hover:bg-fm-surface-secondary flex items-center gap-3 rounded p-2">
669
+ <SearchIcon className="text-fm-icon-info h-4 w-4" />
648
670
  <span className="text-sm">Search files</span>
649
671
  </div>
650
- <div className="flex items-center gap-3 rounded p-2 text-white/80 hover:bg-white/10">
651
- <SearchIcon className="h-4 w-4 text-purple-400" />
672
+ <div className="text-fm-icon-active/80 hover:bg-fm-surface-secondary flex items-center gap-3 rounded p-2">
673
+ <SearchIcon className="text-fm-secondary-600 h-4 w-4" />
652
674
  <span className="text-sm">Find in project</span>
653
675
  </div>
654
676
  </div>
655
677
  </div>
656
678
  </div>
657
- <div className="rounded-lg bg-black/40 p-4">
658
- <pre className="overflow-x-auto text-sm !text-green-300">
679
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
680
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
659
681
  {`<div className="flex items-center gap-3 rounded-lg border border-blue-400/30 bg-blue-500/10 p-3">
660
682
  <SearchIcon className="h-5 w-5 text-blue-400" />
661
683
  <input
@@ -674,66 +696,66 @@ function SearchInput() {
674
696
 
675
697
  {/* Interactive States */}
676
698
  <div className="!space-y-8">
677
- <h2 className="text-center text-3xl font-bold !text-white">
699
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
678
700
  Interactive States & Animations
679
701
  </h2>
680
702
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
681
703
  <div className="!space-y-4">
682
- <h3 className="text-lg font-semibold !text-blue-300">
704
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
683
705
  Hover & Animation Effects
684
706
  </h3>
685
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
707
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
686
708
  <div className="flex items-center gap-4">
687
- <SearchIcon className="h-6 w-6 text-white/60 transition-colors hover:text-blue-400" />
709
+ <SearchIcon className="text-fm-tertiary hover:text-fm-icon-info h-6 w-6 transition-colors" />
688
710
  <div>
689
- <div className="text-sm font-medium text-white">
711
+ <div className="text-fm-icon-active text-sm font-medium">
690
712
  Color Change
691
713
  </div>
692
- <div className="text-xs text-white/60">
714
+ <div className="text-fm-tertiary text-xs">
693
715
  Hover to see effect
694
716
  </div>
695
717
  </div>
696
718
  </div>
697
719
  <div className="flex items-center gap-4">
698
- <SearchIcon className="h-6 w-6 text-white transition-transform hover:scale-125" />
720
+ <SearchIcon className="text-fm-icon-active h-6 w-6 transition-transform hover:scale-125" />
699
721
  <div>
700
- <div className="text-sm font-medium text-white">
722
+ <div className="text-fm-icon-active text-sm font-medium">
701
723
  Scale on Hover
702
724
  </div>
703
- <div className="text-xs text-white/60">
725
+ <div className="text-fm-tertiary text-xs">
704
726
  Grow on interaction
705
727
  </div>
706
728
  </div>
707
729
  </div>
708
730
  <div className="flex items-center gap-4">
709
- <SearchIcon className="animate-search-pulse h-6 w-6 text-blue-400" />
731
+ <SearchIcon className="animate-search-pulse text-fm-icon-info h-6 w-6" />
710
732
  <div>
711
- <div className="text-sm font-medium text-white">
733
+ <div className="text-fm-icon-active text-sm font-medium">
712
734
  Search Pulse
713
735
  </div>
714
- <div className="text-xs text-white/60">
736
+ <div className="text-fm-tertiary text-xs">
715
737
  Continuous animation
716
738
  </div>
717
739
  </div>
718
740
  </div>
719
741
  <div className="flex items-center gap-4">
720
- <SearchIcon className="animate-search-bounce h-6 w-6 text-purple-400" />
742
+ <SearchIcon className="animate-search-bounce text-fm-secondary-600 h-6 w-6" />
721
743
  <div>
722
- <div className="text-sm font-medium text-white">
744
+ <div className="text-fm-icon-active text-sm font-medium">
723
745
  Bounce Effect
724
746
  </div>
725
- <div className="text-xs text-white/60">
747
+ <div className="text-fm-tertiary text-xs">
726
748
  Gentle bounce motion
727
749
  </div>
728
750
  </div>
729
751
  </div>
730
752
  <div className="flex items-center gap-4">
731
- <SearchIcon className="animate-search-glow h-6 w-6 text-cyan-400" />
753
+ <SearchIcon className="animate-search-glow text-fm-icon-info h-6 w-6" />
732
754
  <div>
733
- <div className="text-sm font-medium text-white">
755
+ <div className="text-fm-icon-active text-sm font-medium">
734
756
  Glow Animation
735
757
  </div>
736
- <div className="text-xs text-white/60">
758
+ <div className="text-fm-tertiary text-xs">
737
759
  Glowing search effect
738
760
  </div>
739
761
  </div>
@@ -742,11 +764,11 @@ function SearchInput() {
742
764
  </div>
743
765
 
744
766
  <div className="!space-y-4">
745
- <h3 className="text-lg font-semibold !text-blue-300">
767
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
746
768
  State Examples
747
769
  </h3>
748
- <div className="rounded-lg bg-black/40 p-4">
749
- <pre className="overflow-x-auto text-sm !text-cyan-300">
770
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
771
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
750
772
  {`// Color change on hover
751
773
  <SearchIcon className="h-6 w-6 text-white/60 transition-colors hover:text-blue-400" />
752
774
 
@@ -772,64 +794,64 @@ function SearchInput() {
772
794
 
773
795
  {/* Accessibility */}
774
796
  <div className="!space-y-8">
775
- <h2 className="text-center text-3xl font-bold !text-white">
797
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
776
798
  Accessibility Features
777
799
  </h2>
778
800
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
779
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
780
- <h3 className="text-lg font-semibold !text-green-300">
801
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
802
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
781
803
  ✅ Built-in Features
782
804
  </h3>
783
- <ul className="!space-y-2 text-sm !text-white/70">
784
- <li className="!text-white/70">
805
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
806
+ <li className="text-fm-secondary!">
785
807
  Uses Radix UI AccessibleIcon wrapper
786
808
  </li>
787
- <li className="!text-white/70">
809
+ <li className="text-fm-secondary!">
788
810
  Provides screen reader label "Search icon"
789
811
  </li>
790
- <li className="!text-white/70">
812
+ <li className="text-fm-secondary!">
791
813
  Supports keyboard navigation when interactive
792
814
  </li>
793
- <li className="!text-white/70">
815
+ <li className="text-fm-secondary!">
794
816
  Maintains proper color contrast ratios
795
817
  </li>
796
- <li className="!text-white/70">
818
+ <li className="text-fm-secondary!">
797
819
  Scales with user's font size preferences
798
820
  </li>
799
821
  </ul>
800
822
  </div>
801
823
 
802
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
803
- <h3 className="text-lg font-semibold !text-blue-300">
824
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
825
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
804
826
  💡 Best Practices
805
827
  </h3>
806
- <ul className="!space-y-2 text-sm !text-white/70">
807
- <li className="!text-white/70">
828
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
829
+ <li className="text-fm-secondary!">
808
830
  Always provide descriptive labels for search inputs
809
831
  </li>
810
- <li className="!text-white/70">
832
+ <li className="text-fm-secondary!">
811
833
  Use consistent placement in search interfaces
812
834
  </li>
813
- <li className="!text-white/70">
835
+ <li className="text-fm-secondary!">
814
836
  Ensure sufficient click/touch target sizes
815
837
  </li>
816
- <li className="!text-white/70">
838
+ <li className="text-fm-secondary!">
817
839
  Add focus states for keyboard navigation
818
840
  </li>
819
- <li className="!text-white/70">
841
+ <li className="text-fm-secondary!">
820
842
  Consider motion sensitivity for animations
821
843
  </li>
822
844
  </ul>
823
845
  </div>
824
846
  </div>
825
847
 
826
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
827
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
848
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
849
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
828
850
  Custom Accessibility Implementation
829
851
  </h3>
830
852
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
831
- <div className="rounded-lg bg-black/40 p-4">
832
- <pre className="overflow-x-auto text-sm !text-cyan-300">
853
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
854
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
833
855
  {`// Search input with proper ARIA
834
856
  <div className="relative">
835
857
  <SearchIcon
@@ -867,13 +889,13 @@ function SearchInput() {
867
889
  </pre>
868
890
  </div>
869
891
  <div className="!space-y-4">
870
- <p className="text-sm !text-white/70">
892
+ <p className="text-fm-secondary! text-sm">
871
893
  When using SearchIcon in search interfaces, provide
872
894
  clear context about what can be searched and how to
873
895
  interact with the search functionality.
874
896
  </p>
875
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
876
- <div className="flex items-center gap-2 text-sm text-blue-200">
897
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
898
+ <div className="text-fm-icon-info flex items-center gap-2 text-sm">
877
899
  <SearchIcon className="h-4 w-4" />
878
900
  <span>
879
901
  This approach gives screen readers clear context
@@ -888,48 +910,58 @@ function SearchInput() {
888
910
 
889
911
  {/* Related Icons */}
890
912
  <div className="!space-y-8">
891
- <h2 className="text-center text-3xl font-bold !text-white">
913
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
892
914
  Related Icons
893
915
  </h2>
894
916
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
895
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
896
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
917
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
918
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
897
919
  <span className="text-2xl">🔍</span>
898
920
  </div>
899
921
  <div>
900
- <div className="font-medium text-white">FilterIcon</div>
901
- <div className="text-xs text-white/60">
922
+ <div className="text-fm-icon-active font-medium">
923
+ FilterIcon
924
+ </div>
925
+ <div className="text-fm-tertiary text-xs">
902
926
  Filter results
903
927
  </div>
904
928
  </div>
905
929
  </div>
906
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
907
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
908
- <span className="!text-2xl !text-white">↻</span>
930
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
931
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
932
+ <span className="text-fm-icon-active! !text-2xl">↻</span>
909
933
  </div>
910
934
  <div>
911
- <div className="font-medium text-white">RefreshIcon</div>
912
- <div className="text-xs text-white/60">
935
+ <div className="text-fm-icon-active font-medium">
936
+ RefreshIcon
937
+ </div>
938
+ <div className="text-fm-tertiary text-xs">
913
939
  Refresh search
914
940
  </div>
915
941
  </div>
916
942
  </div>
917
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
918
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
919
- <span className="!text-2xl !text-white">✕</span>
943
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
944
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
945
+ <span className="text-fm-icon-active! !text-2xl">✕</span>
920
946
  </div>
921
947
  <div>
922
- <div className="font-medium text-white">CloseIcon</div>
923
- <div className="text-xs text-white/60">Clear search</div>
948
+ <div className="text-fm-icon-active font-medium">
949
+ CloseIcon
950
+ </div>
951
+ <div className="text-fm-tertiary text-xs">
952
+ Clear search
953
+ </div>
924
954
  </div>
925
955
  </div>
926
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
927
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
956
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
957
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
928
958
  <span className="text-2xl">⚙️</span>
929
959
  </div>
930
960
  <div>
931
- <div className="font-medium text-white">SettingsIcon</div>
932
- <div className="text-xs text-white/60">
961
+ <div className="text-fm-icon-active font-medium">
962
+ SettingsIcon
963
+ </div>
964
+ <div className="text-fm-tertiary text-xs">
933
965
  Search settings
934
966
  </div>
935
967
  </div>
@@ -939,14 +971,14 @@ function SearchInput() {
939
971
  </div>
940
972
 
941
973
  {/* Footer */}
942
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
974
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
943
975
  <div className="!mx-auto max-w-7xl px-6 py-8">
944
976
  <div className="!space-y-4 text-center">
945
- <p className="!text-white/60">
977
+ <p className="text-fm-tertiary!">
946
978
  SearchIcon is part of the Aural UI icon library, built for
947
979
  search interfaces, discovery, and navigation.
948
980
  </p>
949
- <p className="text-sm !text-white/40">
981
+ <p className="text-fm-placeholder! text-sm">
950
982
  All icons use Radix UI's AccessibleIcon for screen reader
951
983
  compatibility and follow WCAG guidelines for interactive
952
984
  elements.
@@ -1001,8 +1033,8 @@ const storyParameters = {
1001
1033
  backgrounds: {
1002
1034
  default: "dark",
1003
1035
  values: [
1004
- { name: "dark", value: "#0a0a0a" },
1005
- { name: "darker", value: "#000000" },
1036
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1037
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
1006
1038
  ],
1007
1039
  },
1008
1040
  }
@@ -1011,12 +1043,12 @@ export const Default: Story = {
1011
1043
  args: {
1012
1044
  width: 24,
1013
1045
  height: 24,
1014
- className: "text-blue-400",
1046
+ className: "text-fm-icon-info",
1015
1047
  withAccessibility: true,
1016
1048
  },
1017
1049
  parameters: storyParameters,
1018
1050
  render: (args) => (
1019
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1051
+ <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">
1020
1052
  <SearchIcon {...args} />
1021
1053
  </div>
1022
1054
  ),
@@ -1033,30 +1065,30 @@ export const SizeVariations: Story = {
1033
1065
  },
1034
1066
  },
1035
1067
  render: () => (
1036
- <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">
1068
+ <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">
1037
1069
  <div className="text-center">
1038
- <SearchIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
1039
- <span className="text-xs text-white/60">12px</span>
1070
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
1071
+ <span className="text-fm-tertiary text-xs">12px</span>
1040
1072
  </div>
1041
1073
  <div className="text-center">
1042
- <SearchIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
1043
- <span className="text-xs text-white/60">16px</span>
1074
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
1075
+ <span className="text-fm-tertiary text-xs">16px</span>
1044
1076
  </div>
1045
1077
  <div className="text-center">
1046
- <SearchIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
1047
- <span className="text-xs text-white/60">20px</span>
1078
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
1079
+ <span className="text-fm-tertiary text-xs">20px</span>
1048
1080
  </div>
1049
1081
  <div className="text-center">
1050
- <SearchIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
1051
- <span className="text-xs text-white/60">24px</span>
1082
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
1083
+ <span className="text-fm-tertiary text-xs">24px</span>
1052
1084
  </div>
1053
1085
  <div className="text-center">
1054
- <SearchIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
1055
- <span className="text-xs text-white/60">32px</span>
1086
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
1087
+ <span className="text-fm-tertiary text-xs">32px</span>
1056
1088
  </div>
1057
1089
  <div className="text-center">
1058
- <SearchIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
1059
- <span className="text-xs text-white/60">48px</span>
1090
+ <SearchIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
1091
+ <span className="text-fm-tertiary text-xs">48px</span>
1060
1092
  </div>
1061
1093
  </div>
1062
1094
  ),
@@ -1073,34 +1105,36 @@ export const ColorVariations: Story = {
1073
1105
  },
1074
1106
  },
1075
1107
  render: () => (
1076
- <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">
1108
+ <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">
1077
1109
  <div className="text-center">
1078
- <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">
1079
- <SearchIcon className="h-8 w-8 text-blue-400" />
1110
+ <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">
1111
+ <SearchIcon className="text-fm-icon-info h-8 w-8" />
1080
1112
  </div>
1081
- <div className="text-sm font-medium text-white">Primary</div>
1082
- <div className="text-xs text-blue-400">text-blue-400</div>
1113
+ <div className="text-fm-icon-active text-sm font-medium">Primary</div>
1114
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1083
1115
  </div>
1084
1116
  <div className="text-center">
1085
- <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">
1086
- <SearchIcon className="h-8 w-8 text-purple-400" />
1117
+ <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">
1118
+ <SearchIcon className="text-fm-secondary-600 h-8 w-8" />
1119
+ </div>
1120
+ <div className="text-fm-icon-active text-sm font-medium">Secondary</div>
1121
+ <div className="text-fm-secondary-600 text-xs">
1122
+ text-fm-secondary-600
1087
1123
  </div>
1088
- <div className="text-sm font-medium text-white">Secondary</div>
1089
- <div className="text-xs text-purple-400">text-purple-400</div>
1090
1124
  </div>
1091
1125
  <div className="text-center">
1092
- <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">
1093
- <SearchIcon className="h-8 w-8 text-cyan-400" />
1126
+ <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">
1127
+ <SearchIcon className="text-fm-icon-info h-8 w-8" />
1094
1128
  </div>
1095
- <div className="text-sm font-medium text-white">Info</div>
1096
- <div className="text-xs text-cyan-400">text-cyan-400</div>
1129
+ <div className="text-fm-icon-active text-sm font-medium">Info</div>
1130
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1097
1131
  </div>
1098
1132
  <div className="text-center">
1099
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-gray-500/30 bg-gray-500/20">
1100
- <SearchIcon className="h-8 w-8 text-gray-400" />
1133
+ <div className="border-fm-divider-primary bg-fm-surface-tertiary/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1134
+ <SearchIcon className="text-fm-placeholder h-8 w-8" />
1101
1135
  </div>
1102
- <div className="text-sm font-medium text-white">Muted</div>
1103
- <div className="text-xs text-gray-400">text-gray-400</div>
1136
+ <div className="text-fm-icon-active text-sm font-medium">Muted</div>
1137
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
1104
1138
  </div>
1105
1139
  </div>
1106
1140
  ),
@@ -1117,29 +1151,33 @@ export const UsageExamples: Story = {
1117
1151
  },
1118
1152
  },
1119
1153
  render: () => (
1120
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1154
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1121
1155
  {/* Search Input */}
1122
1156
  <div className="!space-y-2">
1123
- <h3 className="text-sm font-medium text-white">Search Input</h3>
1157
+ <h3 className="text-fm-icon-active text-sm font-medium">
1158
+ Search Input
1159
+ </h3>
1124
1160
  <div className="relative">
1125
- <SearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-gray-400" />
1161
+ <SearchIcon className="text-fm-placeholder absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
1126
1162
  <input
1127
1163
  type="text"
1128
1164
  placeholder="Search products..."
1129
- className="w-full rounded-lg border border-white/20 bg-white/10 py-2 pr-4 pl-10 text-white placeholder-white/50 focus:border-blue-400 focus:ring-2 focus:ring-blue-400/20 focus:outline-none"
1165
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info w-full rounded-lg border py-2 pr-4 pl-10 placeholder-white/50 focus:ring-2 focus:ring-blue-400/20 focus:outline-none"
1130
1166
  />
1131
1167
  </div>
1132
1168
  </div>
1133
1169
 
1134
1170
  {/* Search Buttons */}
1135
1171
  <div className="!space-y-2">
1136
- <h3 className="text-sm font-medium text-white">Search Buttons</h3>
1172
+ <h3 className="text-fm-icon-active text-sm font-medium">
1173
+ Search Buttons
1174
+ </h3>
1137
1175
  <div className="flex gap-4">
1138
- <button className="flex items-center gap-2 rounded-lg border border-blue-500/30 bg-blue-500/20 px-4 py-2 text-blue-200 transition-colors hover:bg-blue-500/30">
1176
+ <button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
1139
1177
  <SearchIcon className="h-4 w-4" />
1140
1178
  Search
1141
1179
  </button>
1142
- <button className="flex h-10 w-10 items-center justify-center rounded-lg border border-purple-500/30 bg-purple-500/20 text-purple-200 transition-colors hover:bg-purple-500/30">
1180
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex h-10 w-10 items-center justify-center rounded-lg border transition-colors">
1143
1181
  <SearchIcon className="h-5 w-5" />
1144
1182
  </button>
1145
1183
  </div>
@@ -1147,15 +1185,17 @@ export const UsageExamples: Story = {
1147
1185
 
1148
1186
  {/* Command Palette */}
1149
1187
  <div className="!space-y-2">
1150
- <h3 className="text-sm font-medium text-white">Command Palette</h3>
1151
- <div className="flex items-center gap-3 rounded-lg border border-blue-400/30 bg-blue-500/10 p-3">
1152
- <SearchIcon className="h-5 w-5 text-blue-400" />
1188
+ <h3 className="text-fm-icon-active text-sm font-medium">
1189
+ Command Palette
1190
+ </h3>
1191
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/10 flex items-center gap-3 rounded-lg border p-3">
1192
+ <SearchIcon className="text-fm-icon-info h-5 w-5" />
1153
1193
  <input
1154
1194
  type="text"
1155
1195
  placeholder="Search commands..."
1156
- className="flex-1 bg-transparent text-white placeholder-blue-200/70 focus:outline-none"
1196
+ className="text-fm-icon-active flex-1 bg-transparent placeholder-blue-200/70 focus:outline-none"
1157
1197
  />
1158
- <kbd className="rounded bg-white/10 px-2 py-1 text-xs text-white/70">
1198
+ <kbd className="bg-fm-surface-secondary text-fm-secondary rounded px-2 py-1 text-xs">
1159
1199
  ⌘K
1160
1200
  </kbd>
1161
1201
  </div>
@@ -1177,11 +1217,11 @@ export const Playground: Story = {
1177
1217
  args: {
1178
1218
  width: 32,
1179
1219
  height: 32,
1180
- className: "text-blue-400",
1220
+ className: "text-fm-icon-info",
1181
1221
  },
1182
1222
  render: (args) => (
1183
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1184
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1223
+ <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">
1224
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1185
1225
  <SearchIcon {...args} />
1186
1226
  </div>
1187
1227
  </div>