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 SuggestionIcon> = {
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 SuggestionIcon> = {
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-blue-900/20 to-gray-900">
83
+ <div className="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
84
84
  {/* Header */}
85
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
86
- <div className="absolute inset-0 bg-gradient-to-r from-blue-500/10 via-transparent to-purple-500/10" />
85
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
86
+ <div className="from-fm-icon-info/10 to-fm-secondary-500/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
- <SuggestionIcon 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
+ <SuggestionIcon 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
  SuggestionIcon
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 versatile suggestion icon for hints, recommendations, and
97
97
  guidance elements. Built with accessibility in mind using
98
98
  Radix UI's AccessibleIcon wrapper.
@@ -101,28 +101,28 @@ const meta: Meta<typeof SuggestionIcon> = {
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
  Accessible
106
106
  </div>
107
- <div className="text-sm text-white/60">
107
+ <div className="text-fm-tertiary text-sm">
108
108
  Screen reader friendly
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
  Scalable
115
115
  </div>
116
- <div className="text-sm text-white/60">
116
+ <div className="text-fm-tertiary text-sm">
117
117
  Any size needed
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-indigo-300">
122
+ <div className="text-fm-icon-info text-3xl font-bold">
123
123
  Flexible
124
124
  </div>
125
- <div className="text-sm text-white/60">
125
+ <div className="text-fm-tertiary text-sm">
126
126
  Customizable styling
127
127
  </div>
128
128
  </div>
@@ -135,16 +135,16 @@ const meta: Meta<typeof SuggestionIcon> = {
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 { SuggestionIcon } from "@icons/suggestion-icon"
149
149
 
150
150
  function MyComponent() {
@@ -160,13 +160,15 @@ function MyComponent() {
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
- <div className="flex items-center gap-3 rounded-lg border border-blue-500/20 bg-blue-500/10 px-4 py-2">
168
- <SuggestionIcon className="h-5 w-5 text-blue-400" />
169
- <span className="text-white">Try this suggestion</span>
166
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
167
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 flex items-center gap-3 rounded-lg border px-4 py-2">
168
+ <SuggestionIcon className="text-fm-icon-info h-5 w-5" />
169
+ <span className="text-fm-icon-active">
170
+ Try this suggestion
171
+ </span>
170
172
  </div>
171
173
  </div>
172
174
  </div>
@@ -175,110 +177,116 @@ function MyComponent() {
175
177
 
176
178
  {/* Props Documentation */}
177
179
  <div className="!space-y-8">
178
- <h2 className="text-center text-3xl font-bold !text-white">
180
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
179
181
  Props & Configuration
180
182
  </h2>
181
183
 
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>
184
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
185
+ <div className="bg-fm-surface-secondary p-4">
186
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
187
+ Props
188
+ </h3>
185
189
  </div>
186
190
  <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">
191
+ <thead className="bg-fm-surface-secondary">
192
+ <tr className="border-fm-divider-secondary border-b">
193
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
190
194
  Prop
191
195
  </th>
192
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
196
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
193
197
  Type
194
198
  </th>
195
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
199
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
196
200
  Default
197
201
  </th>
198
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
202
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
199
203
  Description
200
204
  </th>
201
205
  </tr>
202
206
  </thead>
203
207
  <tbody>
204
208
  {" "}
205
- <tr className="!bg-black/10">
206
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
209
+ <tr className="bg-fm-surface-secondary!">
210
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
207
211
  withAccessibility
208
212
  </td>
209
- <td className="px-6 py-4 text-sm !text-white/70">
213
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
210
214
  boolean
211
215
  </td>
212
- <td className="px-6 py-4 text-sm !text-white/50">
216
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
213
217
  true
214
218
  </td>
215
- <td className="px-6 py-4 text-sm !text-white/70">
219
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
216
220
  Whether to wrap the icon with accessibility feature
217
221
  </td>
218
222
  </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">
223
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
224
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
221
225
  height
222
226
  </td>
223
- <td className="px-6 py-4 text-sm !text-white/70">
227
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
224
228
  number | string
225
229
  </td>
226
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
227
- <td className="px-6 py-4 text-sm !text-white/70">
230
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
231
+ 24
232
+ </td>
233
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
228
234
  Height of the icon in pixels
229
235
  </td>
230
236
  </tr>
231
- <tr className="border-b border-white/5">
232
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
237
+ <tr className="border-fm-divider-tertiary border-b">
238
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
233
239
  fill
234
240
  </td>
235
- <td className="px-6 py-4 text-sm !text-white/70">
241
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
236
242
  string
237
243
  </td>
238
- <td className="px-6 py-4 text-sm !text-white/50">
244
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
239
245
  currentColor
240
246
  </td>
241
- <td className="px-6 py-4 text-sm !text-white/70">
247
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
242
248
  Fill color of the icon
243
249
  </td>
244
250
  </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">
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">
247
253
  className
248
254
  </td>
249
- <td className="px-6 py-4 text-sm !text-white/70">
255
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
250
256
  string
251
257
  </td>
252
- <td className="px-6 py-4 text-sm !text-white/50">
258
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
253
259
  undefined
254
260
  </td>
255
- <td className="px-6 py-4 text-sm !text-white/70">
261
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
256
262
  CSS classes for styling
257
263
  </td>
258
264
  </tr>
259
- <tr className="border-b border-white/5">
260
- <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">
261
267
  stroke
262
268
  </td>
263
- <td className="px-6 py-4 text-sm !text-white/70">
269
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
264
270
  string
265
271
  </td>
266
- <td className="px-6 py-4 text-sm !text-white/50">
272
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
267
273
  currentColor
268
274
  </td>
269
- <td className="px-6 py-4 text-sm !text-white/70">
275
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
270
276
  Stroke color of the icon
271
277
  </td>
272
278
  </tr>
273
- <tr className="!bg-black/10">
274
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
279
+ <tr className="bg-fm-surface-secondary!">
280
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
275
281
  strokeWidth
276
282
  </td>
277
- <td className="px-6 py-4 text-sm !text-white/70">
283
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
278
284
  number | string
279
285
  </td>
280
- <td className="px-6 py-4 text-sm !text-white/50">1</td>
281
- <td className="px-6 py-4 text-sm !text-white/70">
286
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
287
+ 1
288
+ </td>
289
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
282
290
  Width of the stroke
283
291
  </td>
284
292
  </tr>
@@ -289,48 +297,60 @@ function MyComponent() {
289
297
 
290
298
  {/* Size Variations */}
291
299
  <div className="!space-y-8">
292
- <h2 className="text-center text-3xl font-bold !text-white">
300
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
293
301
  Size Variations
294
302
  </h2>
295
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
303
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
296
304
  <div className="!space-y-6">
297
305
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
298
306
  <div className="!space-y-4">
299
- <h3 className="text-lg font-semibold !text-blue-300">
307
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
300
308
  Common Sizes
301
309
  </h3>
302
310
  <div className="flex items-center gap-6">
303
311
  <div className="text-center">
304
- <SuggestionIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
305
- <span className="text-xs text-white/60">16px</span>
312
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
313
+ <span className="text-fm-tertiary text-xs">
314
+ 16px
315
+ </span>
306
316
  </div>
307
317
  <div className="text-center">
308
- <SuggestionIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
309
- <span className="text-xs text-white/60">20px</span>
318
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
319
+ <span className="text-fm-tertiary text-xs">
320
+ 20px
321
+ </span>
310
322
  </div>
311
323
  <div className="text-center">
312
- <SuggestionIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
313
- <span className="text-xs text-white/60">24px</span>
324
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
325
+ <span className="text-fm-tertiary text-xs">
326
+ 24px
327
+ </span>
314
328
  </div>
315
329
  <div className="text-center">
316
- <SuggestionIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
317
- <span className="text-xs text-white/60">32px</span>
330
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
331
+ <span className="text-fm-tertiary text-xs">
332
+ 32px
333
+ </span>
318
334
  </div>
319
335
  </div>
320
336
  </div>
321
337
 
322
338
  <div className="!space-y-4">
323
- <h3 className="text-lg font-semibold !text-blue-300">
339
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
324
340
  Large Displays
325
341
  </h3>
326
342
  <div className="flex items-center gap-6">
327
343
  <div className="text-center">
328
- <SuggestionIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
329
- <span className="text-xs text-white/60">48px</span>
344
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
345
+ <span className="text-fm-tertiary text-xs">
346
+ 48px
347
+ </span>
330
348
  </div>
331
349
  <div className="text-center">
332
- <SuggestionIcon className="!mx-auto mb-2 h-16 w-16 text-blue-400" />
333
- <span className="text-xs text-white/60">64px</span>
350
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-16 w-16" />
351
+ <span className="text-fm-tertiary text-xs">
352
+ 64px
353
+ </span>
334
354
  </div>
335
355
  </div>
336
356
  </div>
@@ -341,42 +361,44 @@ function MyComponent() {
341
361
 
342
362
  {/* Color Variations */}
343
363
  <div className="!space-y-8">
344
- <h2 className="text-center text-3xl font-bold !text-white">
364
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
345
365
  Color Variations
346
366
  </h2>
347
367
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
348
368
  <div className="!space-y-4">
349
- <h3 className="text-lg font-semibold !text-blue-300">
369
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
350
370
  Semantic Colors
351
371
  </h3>
352
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
372
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
353
373
  <div className="flex items-center gap-4">
354
- <SuggestionIcon className="h-6 w-6 text-blue-400" />
355
- <span className="text-blue-300">
374
+ <SuggestionIcon className="text-fm-icon-info h-6 w-6" />
375
+ <span className="text-fm-icon-info">
356
376
  Primary suggestion
357
377
  </span>
358
378
  </div>
359
379
  <div className="flex items-center gap-4">
360
- <SuggestionIcon className="h-6 w-6 text-purple-400" />
361
- <span className="text-purple-300">Hint</span>
380
+ <SuggestionIcon className="text-fm-secondary-600 h-6 w-6" />
381
+ <span className="text-fm-secondary-600">Hint</span>
362
382
  </div>
363
383
  <div className="flex items-center gap-4">
364
- <SuggestionIcon className="h-6 w-6 text-indigo-400" />
365
- <span className="text-indigo-300">Recommendation</span>
384
+ <SuggestionIcon className="text-fm-icon-info h-6 w-6" />
385
+ <span className="text-fm-icon-info">
386
+ Recommendation
387
+ </span>
366
388
  </div>
367
389
  <div className="flex items-center gap-4">
368
- <SuggestionIcon className="h-6 w-6 text-cyan-400" />
369
- <span className="text-cyan-300">Tip</span>
390
+ <SuggestionIcon className="text-fm-icon-info h-6 w-6" />
391
+ <span className="text-fm-icon-info">Tip</span>
370
392
  </div>
371
393
  </div>
372
394
  </div>
373
395
 
374
396
  <div className="!space-y-4">
375
- <h3 className="text-lg font-semibold !text-blue-300">
397
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
376
398
  Custom Colors
377
399
  </h3>
378
- <div className="rounded-lg bg-black/40 p-4">
379
- <pre className="overflow-x-auto text-sm !text-green-300">
400
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
401
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
380
402
  {`// Using Tailwind classes
381
403
  <SuggestionIcon className="h-6 w-6 text-blue-500" />
382
404
  <SuggestionIcon className="h-6 w-6 text-purple-500" />
@@ -395,32 +417,32 @@ function MyComponent() {
395
417
 
396
418
  {/* Usage Examples */}
397
419
  <div className="!space-y-8">
398
- <h2 className="text-center text-3xl font-bold !text-white">
420
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
399
421
  Usage Examples
400
422
  </h2>
401
423
 
402
424
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
403
425
  {/* Suggestion Card */}
404
426
  <div className="!space-y-4">
405
- <h3 className="text-lg font-semibold !text-blue-300">
427
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
406
428
  Suggestion Card
407
429
  </h3>
408
430
  <div className="!space-y-4">
409
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
431
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
410
432
  <div className="flex items-start gap-3">
411
- <SuggestionIcon className="mt-0.5 h-5 w-5 flex-shrink-0 text-blue-400" />
433
+ <SuggestionIcon className="text-fm-icon-info mt-0.5 h-5 w-5 flex-shrink-0" />
412
434
  <div>
413
- <h4 className="font-medium !text-blue-200">
435
+ <h4 className="text-fm-icon-info! font-medium">
414
436
  Pro Tip
415
437
  </h4>
416
- <p className="text-sm !text-blue-300/80">
438
+ <p className="text-fm-icon-info!/80 text-sm">
417
439
  Use keyboard shortcuts to speed up your workflow.
418
440
  </p>
419
441
  </div>
420
442
  </div>
421
443
  </div>
422
- <div className="rounded-lg bg-black/40 p-4">
423
- <pre className="overflow-x-auto text-sm !text-green-300">
444
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
445
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
424
446
  {`<div className="border border-blue-500/20 bg-blue-500/10 p-4">
425
447
  <div className="flex items-start gap-3">
426
448
  <SuggestionIcon className="h-5 w-5 text-blue-400" />
@@ -437,26 +459,26 @@ function MyComponent() {
437
459
 
438
460
  {/* Help Text */}
439
461
  <div className="!space-y-4">
440
- <h3 className="text-lg font-semibold !text-blue-300">
462
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
441
463
  Help Text
442
464
  </h3>
443
465
  <div className="!space-y-4">
444
466
  <div className="!space-y-2">
445
- <label className="block text-sm font-medium text-white">
467
+ <label className="text-fm-icon-active block text-sm font-medium">
446
468
  Username
447
469
  </label>
448
470
  <input
449
471
  type="text"
450
- className="w-full rounded-lg border border-white/20 bg-white/5 px-3 py-2 text-white placeholder-white/50"
472
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active w-full rounded-lg border px-3 py-2 placeholder-white/50"
451
473
  placeholder="Enter username"
452
474
  />
453
- <div className="flex items-center gap-2 text-sm text-blue-400">
475
+ <div className="text-fm-icon-info flex items-center gap-2 text-sm">
454
476
  <SuggestionIcon className="h-4 w-4" />
455
477
  <span>Use at least 3 characters</span>
456
478
  </div>
457
479
  </div>
458
- <div className="rounded-lg bg-black/40 p-4">
459
- <pre className="overflow-x-auto text-sm !text-green-300">
480
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
481
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
460
482
  {`<div className="flex items-center gap-2 text-blue-400">
461
483
  <SuggestionIcon className="h-4 w-4" />
462
484
  <span>Use at least 3 characters</span>
@@ -468,22 +490,22 @@ function MyComponent() {
468
490
 
469
491
  {/* Button Integration */}
470
492
  <div className="!space-y-4">
471
- <h3 className="text-lg font-semibold !text-blue-300">
493
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
472
494
  Button Integration
473
495
  </h3>
474
496
  <div className="!space-y-4">
475
497
  <div className="flex gap-4">
476
- <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">
498
+ <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">
477
499
  <SuggestionIcon className="h-4 w-4" />
478
500
  Show Hints
479
501
  </button>
480
- <button className="flex items-center gap-2 rounded-lg border border-purple-500/30 bg-purple-500/20 px-4 py-2 text-purple-200 transition-colors hover:bg-purple-500/30">
502
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
481
503
  <SuggestionIcon className="h-4 w-4" />
482
504
  Get Suggestions
483
505
  </button>
484
506
  </div>
485
- <div className="rounded-lg bg-black/40 p-4">
486
- <pre className="overflow-x-auto text-sm !text-green-300">
507
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
508
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
487
509
  {`<button className="flex items-center gap-2">
488
510
  <SuggestionIcon className="h-4 w-4" />
489
511
  Show Hints
@@ -495,21 +517,21 @@ function MyComponent() {
495
517
 
496
518
  {/* Tooltip */}
497
519
  <div className="!space-y-4">
498
- <h3 className="text-lg font-semibold !text-blue-300">
520
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
499
521
  Interactive Tooltip
500
522
  </h3>
501
523
  <div className="!space-y-4">
502
524
  <div className="flex items-center gap-2">
503
- <span className="text-white">Need help?</span>
525
+ <span className="text-fm-icon-active">Need help?</span>
504
526
  <div className="group relative">
505
- <SuggestionIcon className="h-4 w-4 cursor-help text-blue-400" />
506
- <div className="invisible absolute bottom-full left-1/2 mb-2 -translate-x-1/2 transform rounded bg-black px-2 py-1 text-xs text-white opacity-0 transition-all group-hover:visible group-hover:opacity-100">
527
+ <SuggestionIcon className="text-fm-icon-info h-4 w-4 cursor-help" />
528
+ <div className="bg-fm-surface-primary text-fm-icon-active invisible absolute bottom-full left-1/2 mb-2 -translate-x-1/2 transform rounded px-2 py-1 text-xs opacity-0 transition-all group-hover:visible group-hover:opacity-100">
507
529
  Click for suggestions
508
530
  </div>
509
531
  </div>
510
532
  </div>
511
- <div className="rounded-lg bg-black/40 p-4">
512
- <pre className="overflow-x-auto text-sm !text-green-300">
533
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
534
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
513
535
  {`<div className="group relative">
514
536
  <SuggestionIcon className="h-4 w-4 cursor-help text-blue-400" />
515
537
  <div className="tooltip">Click for suggestions</div>
@@ -523,64 +545,64 @@ function MyComponent() {
523
545
 
524
546
  {/* Accessibility */}
525
547
  <div className="!space-y-8">
526
- <h2 className="text-center text-3xl font-bold !text-white">
548
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
527
549
  Accessibility Features
528
550
  </h2>
529
551
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
530
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
531
- <h3 className="text-lg font-semibold !text-green-300">
552
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
553
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
532
554
  ✅ Built-in Features
533
555
  </h3>
534
- <ul className="!space-y-2 text-sm !text-white/70">
535
- <li className="!text-white/70">
556
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
557
+ <li className="text-fm-secondary!">
536
558
  Uses Radix UI AccessibleIcon wrapper
537
559
  </li>
538
- <li className="!text-white/70">
560
+ <li className="text-fm-secondary!">
539
561
  Provides screen reader label "Suggestion icon"
540
562
  </li>
541
- <li className="!text-white/70">
563
+ <li className="text-fm-secondary!">
542
564
  Supports keyboard navigation when interactive
543
565
  </li>
544
- <li className="!text-white/70">
566
+ <li className="text-fm-secondary!">
545
567
  Maintains proper color contrast ratios
546
568
  </li>
547
- <li className="!text-white/70">
569
+ <li className="text-fm-secondary!">
548
570
  Scales with user's font size preferences
549
571
  </li>
550
572
  </ul>
551
573
  </div>
552
574
 
553
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
554
- <h3 className="text-lg font-semibold !text-blue-300">
575
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
576
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
555
577
  💡 Best Practices
556
578
  </h3>
557
- <ul className="!space-y-2 text-sm text-white/70">
558
- <li className="!text-white/70">
579
+ <ul className="text-fm-secondary !space-y-2 text-sm">
580
+ <li className="text-fm-secondary!">
559
581
  Always pair with descriptive text
560
582
  </li>
561
- <li className="!text-white/70">
583
+ <li className="text-fm-secondary!">
562
584
  Use consistent colors for suggestion types
563
585
  </li>
564
- <li className="!text-white/70">
586
+ <li className="text-fm-secondary!">
565
587
  Ensure sufficient color contrast
566
588
  </li>
567
- <li className="!text-white/70">
589
+ <li className="text-fm-secondary!">
568
590
  Add focus states for interactive elements
569
591
  </li>
570
- <li className="!text-white/70">
592
+ <li className="text-fm-secondary!">
571
593
  Provide alternative text for screen readers
572
594
  </li>
573
595
  </ul>
574
596
  </div>
575
597
  </div>
576
598
 
577
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
578
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
599
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
600
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
579
601
  Custom Accessibility Label
580
602
  </h3>
581
603
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
582
- <div className="rounded-lg bg-black/40 p-4">
583
- <pre className="overflow-x-auto text-sm !text-blue-300">
604
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
605
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
584
606
  {`import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
585
607
  import { SuggestionIcon } from "@icons/suggestion-icon"
586
608
 
@@ -590,13 +612,13 @@ import { SuggestionIcon } from "@icons/suggestion-icon"
590
612
  </pre>
591
613
  </div>
592
614
  <div className="!space-y-4">
593
- <p className="text-sm !text-white/70">
615
+ <p className="text-fm-secondary! text-sm">
594
616
  For specific contexts, you can wrap the SuggestionIcon
595
617
  with a custom AccessibleIcon component that provides
596
618
  more descriptive labels.
597
619
  </p>
598
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
599
- <div className="flex items-center gap-2 text-blue-200">
620
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
621
+ <div className="text-fm-icon-info flex items-center gap-2">
600
622
  <SuggestionIcon className="h-4 w-4" />
601
623
  <span>Helpful tip available</span>
602
624
  </div>
@@ -608,50 +630,60 @@ import { SuggestionIcon } from "@icons/suggestion-icon"
608
630
 
609
631
  {/* Related Icons */}
610
632
  <div className="!space-y-8">
611
- <h2 className="text-center text-3xl font-bold !text-white">
633
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
612
634
  Related Icons
613
635
  </h2>
614
636
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
615
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
616
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
637
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
638
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
617
639
  <span className="text-2xl">ℹ️</span>
618
640
  </div>
619
641
  <div>
620
- <div className="font-medium text-white">InfoIcon</div>
621
- <div className="text-xs text-white/60">
642
+ <div className="text-fm-icon-active font-medium">
643
+ InfoIcon
644
+ </div>
645
+ <div className="text-fm-tertiary text-xs">
622
646
  Information states
623
647
  </div>
624
648
  </div>
625
649
  </div>
626
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
627
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-yellow-500/20">
650
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
651
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
628
652
  <span className="text-2xl">💡</span>
629
653
  </div>
630
654
  <div>
631
- <div className="font-medium text-white">
655
+ <div className="text-fm-icon-active font-medium">
632
656
  LightbulbIcon
633
657
  </div>
634
- <div className="text-xs text-white/60">Ideas & tips</div>
658
+ <div className="text-fm-tertiary text-xs">
659
+ Ideas & tips
660
+ </div>
635
661
  </div>
636
662
  </div>
637
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
638
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
663
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
664
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
639
665
  <span className="text-2xl">❓</span>
640
666
  </div>
641
667
  <div>
642
- <div className="font-medium text-white">HelpIcon</div>
643
- <div className="text-xs text-white/60">
668
+ <div className="text-fm-icon-active font-medium">
669
+ HelpIcon
670
+ </div>
671
+ <div className="text-fm-tertiary text-xs">
644
672
  Help & guidance
645
673
  </div>
646
674
  </div>
647
675
  </div>
648
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
649
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
676
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
677
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
650
678
  <span className="text-2xl">✨</span>
651
679
  </div>
652
680
  <div>
653
- <div className="font-medium text-white">SparkleIcon</div>
654
- <div className="text-xs text-white/60">Enhancement</div>
681
+ <div className="text-fm-icon-active font-medium">
682
+ SparkleIcon
683
+ </div>
684
+ <div className="text-fm-tertiary text-xs">
685
+ Enhancement
686
+ </div>
655
687
  </div>
656
688
  </div>
657
689
  </div>
@@ -659,14 +691,14 @@ import { SuggestionIcon } from "@icons/suggestion-icon"
659
691
  </div>
660
692
 
661
693
  {/* Footer */}
662
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
694
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
663
695
  <div className="!mx-auto max-w-7xl px-6 py-8">
664
696
  <div className="!space-y-4 text-center">
665
- <p className="!text-white/60">
697
+ <p className="text-fm-tertiary!">
666
698
  SuggestionIcon is part of the Aural UI icon library, built
667
699
  with accessibility and consistency in mind.
668
700
  </p>
669
- <p className="text-sm !text-white/40">
701
+ <p className="text-fm-placeholder! text-sm">
670
702
  All icons use Radix UI's AccessibleIcon for screen reader
671
703
  compatibility and follow WCAG guidelines.
672
704
  </p>
@@ -719,8 +751,8 @@ const storyParameters = {
719
751
  backgrounds: {
720
752
  default: "dark",
721
753
  values: [
722
- { name: "dark", value: "#0a0a0a" },
723
- { name: "darker", value: "#000000" },
754
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
755
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
724
756
  ],
725
757
  },
726
758
  }
@@ -729,12 +761,12 @@ export const Default: Story = {
729
761
  args: {
730
762
  width: 24,
731
763
  height: 24,
732
- className: "text-blue-400",
764
+ className: "text-fm-icon-info",
733
765
  withAccessibility: true,
734
766
  },
735
767
  parameters: storyParameters,
736
768
  render: (args) => (
737
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
769
+ <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">
738
770
  <SuggestionIcon {...args} />
739
771
  </div>
740
772
  ),
@@ -751,30 +783,30 @@ export const SizeVariations: Story = {
751
783
  },
752
784
  },
753
785
  render: () => (
754
- <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">
786
+ <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">
755
787
  <div className="text-center">
756
- <SuggestionIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
757
- <span className="text-xs text-white/60">12px</span>
788
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
789
+ <span className="text-fm-tertiary text-xs">12px</span>
758
790
  </div>
759
791
  <div className="text-center">
760
- <SuggestionIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
761
- <span className="text-xs text-white/60">16px</span>
792
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
793
+ <span className="text-fm-tertiary text-xs">16px</span>
762
794
  </div>
763
795
  <div className="text-center">
764
- <SuggestionIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
765
- <span className="text-xs text-white/60">20px</span>
796
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
797
+ <span className="text-fm-tertiary text-xs">20px</span>
766
798
  </div>
767
799
  <div className="text-center">
768
- <SuggestionIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
769
- <span className="text-xs text-white/60">24px</span>
800
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
801
+ <span className="text-fm-tertiary text-xs">24px</span>
770
802
  </div>
771
803
  <div className="text-center">
772
- <SuggestionIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
773
- <span className="text-xs text-white/60">32px</span>
804
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
805
+ <span className="text-fm-tertiary text-xs">32px</span>
774
806
  </div>
775
807
  <div className="text-center">
776
- <SuggestionIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
777
- <span className="text-xs text-white/60">48px</span>
808
+ <SuggestionIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
809
+ <span className="text-fm-tertiary text-xs">48px</span>
778
810
  </div>
779
811
  </div>
780
812
  ),
@@ -791,34 +823,38 @@ export const ColorVariations: Story = {
791
823
  },
792
824
  },
793
825
  render: () => (
794
- <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">
826
+ <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">
795
827
  <div className="text-center">
796
- <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">
797
- <SuggestionIcon className="h-8 w-8 text-blue-400" />
828
+ <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">
829
+ <SuggestionIcon className="text-fm-icon-info h-8 w-8" />
798
830
  </div>
799
- <div className="text-sm font-medium text-white">Primary</div>
800
- <div className="text-xs text-blue-400">text-blue-400</div>
831
+ <div className="text-fm-icon-active text-sm font-medium">Primary</div>
832
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
801
833
  </div>
802
834
  <div className="text-center">
803
- <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">
804
- <SuggestionIcon className="h-8 w-8 text-purple-400" />
835
+ <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">
836
+ <SuggestionIcon className="text-fm-secondary-600 h-8 w-8" />
837
+ </div>
838
+ <div className="text-fm-icon-active text-sm font-medium">Hint</div>
839
+ <div className="text-fm-secondary-600 text-xs">
840
+ text-fm-secondary-600
805
841
  </div>
806
- <div className="text-sm font-medium text-white">Hint</div>
807
- <div className="text-xs text-purple-400">text-purple-400</div>
808
842
  </div>
809
843
  <div className="text-center">
810
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-indigo-500/30 bg-indigo-500/20">
811
- <SuggestionIcon className="h-8 w-8 text-indigo-400" />
844
+ <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">
845
+ <SuggestionIcon className="text-fm-icon-info h-8 w-8" />
846
+ </div>
847
+ <div className="text-fm-icon-active text-sm font-medium">
848
+ Recommendation
812
849
  </div>
813
- <div className="text-sm font-medium text-white">Recommendation</div>
814
- <div className="text-xs text-indigo-400">text-indigo-400</div>
850
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
815
851
  </div>
816
852
  <div className="text-center">
817
- <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">
818
- <SuggestionIcon className="h-8 w-8 text-cyan-400" />
853
+ <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">
854
+ <SuggestionIcon className="text-fm-icon-info h-8 w-8" />
819
855
  </div>
820
- <div className="text-sm font-medium text-white">Tip</div>
821
- <div className="text-xs text-cyan-400">text-cyan-400</div>
856
+ <div className="text-fm-icon-active text-sm font-medium">Tip</div>
857
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
822
858
  </div>
823
859
  </div>
824
860
  ),
@@ -835,16 +871,18 @@ export const UsageExamples: Story = {
835
871
  },
836
872
  },
837
873
  render: () => (
838
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
874
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
839
875
  {/* Suggestion Card */}
840
876
  <div className="!space-y-2">
841
- <h3 className="text-sm font-medium text-white">Suggestion Card</h3>
842
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
877
+ <h3 className="text-fm-icon-active text-sm font-medium">
878
+ Suggestion Card
879
+ </h3>
880
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
843
881
  <div className="flex items-start gap-3">
844
- <SuggestionIcon className="mt-0.5 h-5 w-5 flex-shrink-0 text-blue-400" />
882
+ <SuggestionIcon className="text-fm-icon-info mt-0.5 h-5 w-5 flex-shrink-0" />
845
883
  <div>
846
- <h4 className="font-medium text-blue-200">Pro Tip</h4>
847
- <p className="text-sm text-blue-300/80">
884
+ <h4 className="text-fm-icon-info font-medium">Pro Tip</h4>
885
+ <p className="text-fm-icon-info/80 text-sm">
848
886
  Use keyboard shortcuts Cmd+K to open the command palette
849
887
  quickly.
850
888
  </p>
@@ -855,16 +893,18 @@ export const UsageExamples: Story = {
855
893
 
856
894
  {/* Help Text */}
857
895
  <div className="!space-y-2">
858
- <h3 className="text-sm font-medium text-white">Form Help Text</h3>
896
+ <h3 className="text-fm-icon-active text-sm font-medium">
897
+ Form Help Text
898
+ </h3>
859
899
  <div className="!space-y-2">
860
900
  <div className="relative">
861
901
  <input
862
902
  type="text"
863
- className="w-full rounded-lg border border-white/20 bg-white/5 px-3 py-2 text-white placeholder-white/50 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20"
903
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info w-full rounded-lg border px-3 py-2 placeholder-white/50 focus:ring-2 focus:ring-blue-500/20"
864
904
  placeholder="Enter username"
865
905
  />
866
906
  </div>
867
- <div className="flex items-center gap-2 text-sm text-blue-400">
907
+ <div className="text-fm-icon-info flex items-center gap-2 text-sm">
868
908
  <SuggestionIcon className="h-4 w-4" />
869
909
  <span>Username should be at least 3 characters long</span>
870
910
  </div>
@@ -873,13 +913,15 @@ export const UsageExamples: Story = {
873
913
 
874
914
  {/* Button Integration */}
875
915
  <div className="!space-y-2">
876
- <h3 className="text-sm font-medium text-white">Button Integration</h3>
916
+ <h3 className="text-fm-icon-active text-sm font-medium">
917
+ Button Integration
918
+ </h3>
877
919
  <div className="flex gap-4">
878
- <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">
920
+ <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">
879
921
  <SuggestionIcon className="h-4 w-4" />
880
922
  Show Hints
881
923
  </button>
882
- <button className="flex items-center gap-2 rounded-lg border border-purple-500/30 bg-purple-500/20 px-4 py-2 text-purple-200 transition-colors hover:bg-purple-500/30">
924
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
883
925
  <SuggestionIcon className="h-4 w-4" />
884
926
  Get Suggestions
885
927
  </button>
@@ -902,12 +944,12 @@ export const Playground: Story = {
902
944
  args: {
903
945
  width: 32,
904
946
  height: 32,
905
- className: "text-blue-400",
947
+ className: "text-fm-icon-info",
906
948
  strokeWidth: 1,
907
949
  },
908
950
  render: (args) => (
909
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
910
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
951
+ <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">
952
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
911
953
  <SuggestionIcon {...args} />
912
954
  </div>
913
955
  </div>