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 DownloadIcon> = {
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 DownloadIcon> = {
40
40
  background: transparent ;
41
41
  }
42
42
  body {
43
- background: #0a0a0a ;
43
+ background: var(--color-fm-surface-primary) ;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a ;
46
+ background: var(--color-fm-surface-primary) ;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent ;
50
50
  border: none ;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white ;
53
+ color: var(--color-fm-icon-active) ;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) ;
56
+ color: var(--color-fm-secondary) ;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) ;
60
- color: rgba(168, 85, 247, 1) ;
61
- border: 1px solid rgba(255, 255, 255, 0.1) ;
59
+ background: var(--color-fm-surface-secondary) ;
60
+ color: var(--color-fm-secondary-500) ;
61
+ border: 1px solid var(--color-fm-divider-secondary) ;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) ;
65
- border: 1px solid rgba(255, 255, 255, 0.1) ;
64
+ background: var(--color-fm-surface-secondary) ;
65
+ border: 1px solid var(--color-fm-divider-secondary) ;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) ;
69
- border: 1px solid rgba(255, 255, 255, 0.1) ;
68
+ background: var(--color-fm-surface-secondary) ;
69
+ border: 1px solid var(--color-fm-divider-secondary) ;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) ;
73
- color: white ;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
72
+ background: var(--color-fm-surface-secondary) ;
73
+ color: var(--color-fm-icon-active) ;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) ;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) ;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
77
+ color: var(--color-fm-secondary) ;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
79
79
  }
80
80
  `}
81
81
  </style>
82
82
 
83
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900/20 to-gray-900">
83
+ <div className="bg-fm-surface-primary min-h-screen">
84
84
  {/* Header */}
85
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
86
- <div className="absolute inset-0 bg-gradient-to-r from-slate-500/10 via-transparent to-gray-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-surface-tertiary/10 to-fm-surface-tertiary/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-gray-500/30 bg-gradient-to-br from-gray-500/20 to-slate-500/20">
90
- <DownloadIcon className="h-12 w-12 text-gray-400" />
89
+ <div className="border-fm-divider-primary from-fm-surface-tertiary/20 to-fm-surface-tertiary/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
+ <DownloadIcon className="text-fm-placeholder h-12 w-12" />
91
91
  </div>
92
92
  <h1 className="!text-fm-primary text-5xl font-bold">
93
93
  DownloadIcon
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 straightforward download icon ideal for saving files,
97
97
  exporting data, or initiating downloads. Designed with
98
98
  clarity and scalability in mind. Built with accessibility in
@@ -102,28 +102,28 @@ const meta: Meta<typeof DownloadIcon> = {
102
102
  {/* Stats */}
103
103
  <div className="flex items-center justify-center gap-8 pt-8">
104
104
  <div className="text-center">
105
- <div className="text-3xl font-bold text-gray-300">
105
+ <div className="text-fm-secondary text-3xl font-bold">
106
106
  Accessible
107
107
  </div>
108
- <div className="text-sm text-white/60">
108
+ <div className="text-fm-tertiary text-sm">
109
109
  Screen reader friendly
110
110
  </div>
111
111
  </div>
112
- <div className="h-8 w-px bg-white/20" />
112
+ <div className="bg-fm-divider-primary h-8 w-px" />
113
113
  <div className="text-center">
114
- <div className="text-3xl font-bold text-slate-300">
114
+ <div className="text-fm-secondary text-3xl font-bold">
115
115
  Minimal
116
116
  </div>
117
- <div className="text-sm text-white/60">
117
+ <div className="text-fm-tertiary text-sm">
118
118
  Clean stroke design
119
119
  </div>
120
120
  </div>
121
- <div className="h-8 w-px bg-white/20" />
121
+ <div className="bg-fm-divider-primary h-8 w-px" />
122
122
  <div className="text-center">
123
- <div className="text-3xl font-bold text-zinc-300">
123
+ <div className="text-fm-secondary text-3xl font-bold">
124
124
  Versatile
125
125
  </div>
126
- <div className="text-sm text-white/60">
126
+ <div className="text-fm-tertiary text-sm">
127
127
  Perfect at any size
128
128
  </div>
129
129
  </div>
@@ -136,16 +136,16 @@ const meta: Meta<typeof DownloadIcon> = {
136
136
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
137
137
  {/* Quick Usage */}
138
138
  <div className="!space-y-8">
139
- <h2 className="text-center text-3xl font-bold !text-white">
139
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
140
140
  Quick Start
141
141
  </h2>
142
142
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
143
143
  <div className="!space-y-4">
144
- <h3 className="text-xl font-semibold !text-gray-300">
144
+ <h3 className="!text-fm-secondary text-xl font-semibold">
145
145
  Basic Usage
146
146
  </h3>
147
- <div className="rounded-lg bg-black/40 p-4">
148
- <pre className="overflow-x-auto text-sm !text-green-300">
147
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
148
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
149
149
  {`import { DownloadIcon } from "@icons/cross-icon"
150
150
 
151
151
  function CloseButton() {
@@ -160,12 +160,12 @@ function CloseButton() {
160
160
  </div>
161
161
 
162
162
  <div className="!space-y-4">
163
- <h3 className="text-xl font-semibold !text-gray-300">
163
+ <h3 className="!text-fm-secondary text-xl font-semibold">
164
164
  Live Preview
165
165
  </h3>
166
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
167
- <button className="rounded-lg border border-white/20 bg-white/5 p-3 transition-colors hover:bg-white/10">
168
- <DownloadIcon className="h-6 w-6 text-gray-300" />
166
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
167
+ <button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
168
+ <DownloadIcon className="text-fm-secondary h-6 w-6" />
169
169
  </button>
170
170
  </div>
171
171
  </div>
@@ -174,108 +174,116 @@ function CloseButton() {
174
174
 
175
175
  {/* Props Documentation */}
176
176
  <div className="!space-y-8">
177
- <h2 className="text-center text-3xl font-bold !text-white">
177
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
178
178
  Props & Configuration
179
179
  </h2>
180
180
 
181
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
182
- <div className="bg-white/5 p-4">
183
- <h3 className="text-xl font-semibold !text-white">Props</h3>
181
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
182
+ <div className="bg-fm-surface-secondary p-4">
183
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
184
+ Props
185
+ </h3>
184
186
  </div>
185
187
  <table className="!my-0 w-full">
186
- <thead className="bg-white/5">
187
- <tr className="border-b border-white/10">
188
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
188
+ <thead className="bg-fm-surface-secondary">
189
+ <tr className="border-fm-divider-secondary border-b">
190
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
189
191
  Prop
190
192
  </th>
191
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
193
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
192
194
  Type
193
195
  </th>
194
- <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">
195
197
  Default
196
198
  </th>
197
- <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">
198
200
  Description
199
201
  </th>
200
202
  </tr>
201
203
  </thead>
202
204
  <tbody>
203
205
  {" "}
204
- <tr className="!bg-black/10">
205
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
206
+ <tr className="bg-fm-surface-secondary!">
207
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
206
208
  withAccessibility
207
209
  </td>
208
- <td className="px-6 py-4 text-sm !text-white/70">
210
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
209
211
  boolean
210
212
  </td>
211
- <td className="px-6 py-4 text-sm !text-white/50">
213
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
212
214
  true
213
215
  </td>
214
- <td className="px-6 py-4 text-sm !text-white/70">
216
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
215
217
  Whether to wrap the icon with accessibility feature
216
218
  </td>
217
219
  </tr>
218
- <tr className="border-b border-white/5 !bg-black/10">
219
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
220
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
221
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
220
222
  height
221
223
  </td>
222
- <td className="px-6 py-4 text-sm !text-white/70">
224
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
223
225
  number | string
224
226
  </td>
225
- <td className="px-6 py-4 text-sm !text-white/50">20</td>
226
- <td className="px-6 py-4 text-sm !text-white/70">
227
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
228
+ 20
229
+ </td>
230
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
227
231
  Height of the icon in pixels
228
232
  </td>
229
233
  </tr>
230
- <tr className="border-b border-white/5">
231
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
234
+ <tr className="border-fm-divider-tertiary border-b">
235
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
232
236
  stroke
233
237
  </td>
234
- <td className="px-6 py-4 text-sm !text-white/70">
238
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
235
239
  string
236
240
  </td>
237
- <td className="px-6 py-4 text-sm !text-white/50">
241
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
238
242
  currentColor
239
243
  </td>
240
- <td className="px-6 py-4 text-sm !text-white/70">
244
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
241
245
  Stroke color of the icon
242
246
  </td>
243
247
  </tr>
244
- <tr className="border-b border-white/5 !bg-black/10">
245
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
248
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
249
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
246
250
  strokeWidth
247
251
  </td>
248
- <td className="px-6 py-4 text-sm !text-white/70">
252
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
249
253
  string | number
250
254
  </td>
251
- <td className="px-6 py-4 text-sm !text-white/50">
255
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
252
256
  1.5
253
257
  </td>
254
- <td className="px-6 py-4 text-sm !text-white/70">
258
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
255
259
  Width of the stroke
256
260
  </td>
257
261
  </tr>
258
- <tr className="border-b border-white/5">
259
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
262
+ <tr className="border-fm-divider-tertiary border-b">
263
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
260
264
  className
261
265
  </td>
262
- <td className="px-6 py-4 text-sm !text-white/70">
266
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
263
267
  string
264
268
  </td>
265
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
266
- <td className="px-6 py-4 text-sm !text-white/70">
269
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
270
+ -
271
+ </td>
272
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
267
273
  CSS classes for styling (use for overrides)
268
274
  </td>
269
275
  </tr>
270
- <tr className="!bg-black/10">
271
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
276
+ <tr className="bg-fm-surface-secondary!">
277
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
272
278
  ...svgProps
273
279
  </td>
274
- <td className="px-6 py-4 text-sm !text-white/70">
280
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
275
281
  SVGProps
276
282
  </td>
277
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
278
- <td className="px-6 py-4 text-sm !text-white/70">
283
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
284
+ -
285
+ </td>
286
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
279
287
  All standard SVG element props
280
288
  </td>
281
289
  </tr>
@@ -286,50 +294,62 @@ function CloseButton() {
286
294
 
287
295
  {/* Size Variations */}
288
296
  <div className="!space-y-8">
289
- <h2 className="text-center text-3xl font-bold !text-white">
297
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
290
298
  Size Variations
291
299
  </h2>
292
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
300
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
293
301
  <div className="!space-y-6">
294
302
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
295
303
  <div className="!space-y-4">
296
- <h3 className="text-lg font-semibold !text-gray-300">
304
+ <h3 className="!text-fm-secondary text-lg font-semibold">
297
305
  Standard Sizes
298
306
  </h3>
299
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
307
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
300
308
  <div className="text-center">
301
- <DownloadIcon className="!mx-auto mb-2 h-3 w-3 text-gray-400" />
302
- <span className="text-xs text-white/60">12px</span>
309
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-3 w-3" />
310
+ <span className="text-fm-tertiary text-xs">
311
+ 12px
312
+ </span>
303
313
  </div>
304
314
  <div className="text-center">
305
- <DownloadIcon className="!mx-auto mb-2 h-4 w-4 text-gray-400" />
306
- <span className="text-xs text-white/60">16px</span>
315
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-4 w-4" />
316
+ <span className="text-fm-tertiary text-xs">
317
+ 16px
318
+ </span>
307
319
  </div>
308
320
  <div className="text-center">
309
- <DownloadIcon className="!mx-auto mb-2 h-5 w-5 text-gray-400" />
310
- <span className="text-xs text-white/60">20px</span>
321
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-5 w-5" />
322
+ <span className="text-fm-tertiary text-xs">
323
+ 20px
324
+ </span>
311
325
  </div>
312
326
  <div className="text-center">
313
- <DownloadIcon className="!mx-auto mb-2 h-6 w-6 text-gray-400" />
314
- <span className="text-xs text-white/60">24px</span>
327
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-6 w-6" />
328
+ <span className="text-fm-tertiary text-xs">
329
+ 24px
330
+ </span>
315
331
  </div>
316
332
  <div className="text-center">
317
- <DownloadIcon className="!mx-auto mb-2 h-8 w-8 text-gray-400" />
318
- <span className="text-xs text-white/60">32px</span>
333
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-8 w-8" />
334
+ <span className="text-fm-tertiary text-xs">
335
+ 32px
336
+ </span>
319
337
  </div>
320
338
  <div className="text-center">
321
- <DownloadIcon className="!mx-auto mb-2 h-12 w-12 text-gray-400" />
322
- <span className="text-xs text-white/60">48px</span>
339
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-12 w-12" />
340
+ <span className="text-fm-tertiary text-xs">
341
+ 48px
342
+ </span>
323
343
  </div>
324
344
  </div>
325
345
  </div>
326
346
 
327
347
  <div className="!space-y-4">
328
- <h3 className="text-lg font-semibold !text-gray-300">
348
+ <h3 className="!text-fm-secondary text-lg font-semibold">
329
349
  Code Example
330
350
  </h3>
331
- <div className="rounded-lg bg-black/40 p-4">
332
- <pre className="overflow-x-auto text-sm !text-cyan-300">
351
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
352
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
333
353
  {`// Small (16px)
334
354
  <DownloadIcon className="h-4 w-4 " />
335
355
 
@@ -351,56 +371,56 @@ function CloseButton() {
351
371
 
352
372
  {/* Color Variations */}
353
373
  <div className="!space-y-8">
354
- <h2 className="text-center text-3xl font-bold !text-white">
374
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
355
375
  Color Variations
356
376
  </h2>
357
377
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
358
378
  <div className="!space-y-4">
359
- <h3 className="text-lg font-semibold !text-gray-300">
379
+ <h3 className="!text-fm-secondary text-lg font-semibold">
360
380
  Semantic Colors
361
381
  </h3>
362
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
382
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
363
383
  <div className="flex items-center gap-4">
364
- <DownloadIcon className="h-6 w-6 text-gray-400" />
384
+ <DownloadIcon className="text-fm-placeholder h-6 w-6" />
365
385
  <div>
366
- <div className="text-sm font-medium text-white">
386
+ <div className="text-fm-icon-active text-sm font-medium">
367
387
  Default / Neutral
368
388
  </div>
369
- <div className="text-xs text-white/60">
370
- text-gray-400
389
+ <div className="text-fm-tertiary text-xs">
390
+ text-fm-placeholder
371
391
  </div>
372
392
  </div>
373
393
  </div>
374
394
  <div className="flex items-center gap-4">
375
- <DownloadIcon className="h-6 w-6 text-red-400" />
395
+ <DownloadIcon className="text-fm-icon-negative h-6 w-6" />
376
396
  <div>
377
- <div className="text-sm font-medium text-white">
397
+ <div className="text-fm-icon-active text-sm font-medium">
378
398
  Close / Error
379
399
  </div>
380
- <div className="text-xs text-white/60">
381
- text-red-400
400
+ <div className="text-fm-tertiary text-xs">
401
+ text-fm-icon-negative
382
402
  </div>
383
403
  </div>
384
404
  </div>
385
405
  <div className="flex items-center gap-4">
386
- <DownloadIcon className="h-6 w-6 text-white/60" />
406
+ <DownloadIcon className="text-fm-tertiary h-6 w-6" />
387
407
  <div>
388
- <div className="text-sm font-medium text-white">
408
+ <div className="text-fm-icon-active text-sm font-medium">
389
409
  Muted
390
410
  </div>
391
- <div className="text-xs text-white/60">
392
- text-white/60
411
+ <div className="text-fm-tertiary text-xs">
412
+ text-fm-tertiary
393
413
  </div>
394
414
  </div>
395
415
  </div>
396
416
  <div className="flex items-center gap-4">
397
- <DownloadIcon className="h-6 w-6 text-slate-300" />
417
+ <DownloadIcon className="text-fm-secondary h-6 w-6" />
398
418
  <div>
399
- <div className="text-sm font-medium text-white">
419
+ <div className="text-fm-icon-active text-sm font-medium">
400
420
  Light
401
421
  </div>
402
- <div className="text-xs text-white/60">
403
- text-slate-300
422
+ <div className="text-fm-tertiary text-xs">
423
+ text-fm-secondary
404
424
  </div>
405
425
  </div>
406
426
  </div>
@@ -408,11 +428,11 @@ function CloseButton() {
408
428
  </div>
409
429
 
410
430
  <div className="!space-y-4">
411
- <h3 className="text-lg font-semibold !text-gray-300">
431
+ <h3 className="!text-fm-secondary text-lg font-semibold">
412
432
  Custom Colors
413
433
  </h3>
414
- <div className="rounded-lg bg-black/40 p-4">
415
- <pre className="overflow-x-auto text-sm !text-green-300">
434
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
435
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
416
436
  {`// Using Tailwind classes with
417
437
  <DownloadIcon className="h-6 w-6 text-gray-400 " />
418
438
  <DownloadIcon className="h-6 w-6 text-red-500 " />
@@ -437,22 +457,22 @@ function CloseButton() {
437
457
 
438
458
  {/* Usage Examples */}
439
459
  <div className="!space-y-8">
440
- <h2 className="text-center text-3xl font-bold !text-white">
460
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
441
461
  Usage Examples
442
462
  </h2>
443
463
 
444
464
  <div className="!space-y-4">
445
465
  <div className="flex items-center gap-4">
446
- <button className="flex items-center gap-2 rounded-lg border border-purple-500/30 bg-purple-500/10 px-4 py-2 text-purple-200 transition-colors hover:bg-purple-500/20">
466
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/10 text-fm-secondary-600 hover:bg-fm-secondary-500/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
447
467
  <DownloadIcon className="h-4 w-4" />
448
468
  Download File
449
469
  </button>
450
- <button className="flex items-center justify-center rounded-full border border-white/20 bg-white/5 p-3 text-white transition-colors hover:bg-white/10">
470
+ <button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active hover:bg-fm-surface-secondary flex items-center justify-center rounded-full border p-3 transition-colors">
451
471
  <DownloadIcon className="h-5 w-5" />
452
472
  </button>
453
473
  </div>
454
- <div className="rounded-lg bg-black/40 p-4">
455
- <pre className="overflow-x-auto text-sm !text-green-300">
474
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
475
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
456
476
  {`// Text button
457
477
  <button className="flex items-center gap-2 bg-purple-500/10 border border-purple-500/30 px-4 py-2 rounded-lg">
458
478
  <DownloadIcon className="h-4 w-4" />
@@ -470,65 +490,65 @@ function CloseButton() {
470
490
 
471
491
  {/* Accessibility */}
472
492
  <div className="!space-y-8">
473
- <h2 className="text-center text-3xl font-bold !text-white">
493
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
474
494
  Accessibility Features
475
495
  </h2>
476
496
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
477
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
478
- <h3 className="text-lg font-semibold !text-green-300">
497
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
498
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
479
499
  ✅ Built-in Features
480
500
  </h3>
481
- <ul className="!space-y-2 text-sm !text-white/70">
482
- <li className="!text-white/70">
501
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
502
+ <li className="text-fm-secondary!">
483
503
  Uses Radix UI AccessibleIcon wrapper
484
504
  </li>
485
- <li className="!text-white/70">
505
+ <li className="text-fm-secondary!">
486
506
  Provides screen reader label "Cross icon"
487
507
  </li>
488
- <li className="!text-white/70">
508
+ <li className="text-fm-secondary!">
489
509
  Supports keyboard navigation when interactive
490
510
  </li>
491
- <li className="!text-white/70">
511
+ <li className="text-fm-secondary!">
492
512
  Maintains proper color contrast ratios
493
513
  </li>
494
- <li className="!text-white/70">
514
+ <li className="text-fm-secondary!">
495
515
  Scales with user's font size preferences
496
516
  </li>
497
517
  </ul>
498
518
  </div>
499
519
 
500
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
501
- <h3 className="text-lg font-semibold !text-gray-300">
520
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
521
+ <h3 className="!text-fm-secondary text-lg font-semibold">
502
522
  💡 Best Practices
503
523
  </h3>
504
- <ul className="!space-y-2 text-sm text-white/70">
505
- <li className="!text-white/70">
524
+ <ul className="text-fm-secondary !space-y-2 text-sm">
525
+ <li className="text-fm-secondary!">
506
526
  Always provide proper button labels for close actions
507
527
  </li>
508
- <li className="!text-white/70">
528
+ <li className="text-fm-secondary!">
509
529
  Use consistent placement for close buttons
510
530
  </li>
511
- <li className="!text-white/70">
531
+ <li className="text-fm-secondary!">
512
532
  Ensure sufficient touch target size (44px minimum)
513
533
  </li>
514
- <li className="!text-white/70">
534
+ <li className="text-fm-secondary!">
515
535
  Provide visible focus states for keyboard users
516
536
  </li>
517
- <li className="!text-white/70">
537
+ <li className="text-fm-secondary!">
518
538
  Consider escape key functionality for modals
519
539
  </li>
520
540
  </ul>
521
541
  </div>
522
542
  </div>
523
543
 
524
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
525
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
544
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
545
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
526
546
  Proper ARIA Implementation
527
547
  </h3>
528
548
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
529
549
  {/* Code Block */}
530
- <div className="rounded-lg bg-black/40 p-4">
531
- <pre className="overflow-x-auto text-sm !text-cyan-300">
550
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
551
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
532
552
  {`// Download report button with ARIA
533
553
  <button
534
554
  aria-label="Download monthly report"
@@ -558,14 +578,14 @@ function CloseButton() {
558
578
 
559
579
  {/* Explanation Block */}
560
580
  <div className="!space-y-4">
561
- <p className="text-sm !text-white/70">
581
+ <p className="text-fm-secondary! text-sm">
562
582
  When using <code>DownloadIcon</code> for download or
563
583
  export actions, make sure to include clear and
564
584
  descriptive <code>aria-label</code>s that explain what
565
585
  is being downloaded or saved.
566
586
  </p>
567
- <div className="rounded-lg border border-gray-500/20 bg-gray-500/10 p-4">
568
- <div className="flex items-center gap-2 text-sm text-gray-200">
587
+ <div className="border-fm-divider-secondary bg-fm-surface-tertiary/10 rounded-lg border p-4">
588
+ <div className="text-fm-secondary flex items-center gap-2 text-sm">
569
589
  <DownloadIcon className="h-4 w-4" />
570
590
  <span>
571
591
  Accessibility labels help users understand the
@@ -580,50 +600,58 @@ function CloseButton() {
580
600
 
581
601
  {/* Related Icons */}
582
602
  <div className="!space-y-8">
583
- <h2 className="text-center text-3xl font-bold !text-white">
603
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
584
604
  Related Icons
585
605
  </h2>
586
606
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
587
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
588
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-red-500/20">
589
- <span className="!text-2xl !text-white">⊗</span>
607
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
608
+ <div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
609
+ <span className="text-fm-icon-active! !text-2xl">⊗</span>
590
610
  </div>
591
611
  <div>
592
- <div className="font-medium text-white">
612
+ <div className="text-fm-icon-active font-medium">
593
613
  CrossCircleIcon
594
614
  </div>
595
- <div className="text-xs text-white/60">
615
+ <div className="text-fm-tertiary text-xs">
596
616
  Cross with circle
597
617
  </div>
598
618
  </div>
599
619
  </div>
600
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
601
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-gray-500/20">
602
- <span className="!text-2xl !text-white">−</span>
620
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
621
+ <div className="bg-fm-surface-tertiary/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
622
+ <span className="text-fm-icon-active! !text-2xl">−</span>
603
623
  </div>
604
624
  <div>
605
- <div className="font-medium text-white">MinusIcon</div>
606
- <div className="text-xs text-white/60">Minimize</div>
625
+ <div className="text-fm-icon-active font-medium">
626
+ MinusIcon
627
+ </div>
628
+ <div className="text-fm-tertiary text-xs">Minimize</div>
607
629
  </div>
608
630
  </div>
609
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
610
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
611
- <span className="!text-2xl !text-white">⚠</span>
631
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
632
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
633
+ <span className="text-fm-icon-active! !text-2xl">⚠</span>
612
634
  </div>
613
635
  <div>
614
- <div className="font-medium text-white">AlertIcon</div>
615
- <div className="text-xs text-white/60">
636
+ <div className="text-fm-icon-active font-medium">
637
+ AlertIcon
638
+ </div>
639
+ <div className="text-fm-tertiary text-xs">
616
640
  Warning states
617
641
  </div>
618
642
  </div>
619
643
  </div>
620
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
621
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
622
- <span className="!text-2xl !text-white">ℹ</span>
644
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
645
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
646
+ <span className="text-fm-icon-active! !text-2xl">ℹ</span>
623
647
  </div>
624
648
  <div>
625
- <div className="font-medium text-white">InfoIcon</div>
626
- <div className="text-xs text-white/60">Information</div>
649
+ <div className="text-fm-icon-active font-medium">
650
+ InfoIcon
651
+ </div>
652
+ <div className="text-fm-tertiary text-xs">
653
+ Information
654
+ </div>
627
655
  </div>
628
656
  </div>
629
657
  </div>
@@ -631,14 +659,14 @@ function CloseButton() {
631
659
  </div>
632
660
 
633
661
  {/* Footer */}
634
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
662
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
635
663
  <div className="!mx-auto max-w-7xl px-6 py-8">
636
664
  <div className="!space-y-4 text-center">
637
- <p className="!text-white/60">
665
+ <p className="text-fm-tertiary!">
638
666
  DownloadIcon is part of the Aural UI icon library, built
639
667
  with simplicity and accessibility in mind.
640
668
  </p>
641
- <p className="text-sm !text-white/40">
669
+ <p className="text-fm-placeholder! text-sm">
642
670
  All icons use Radix UI's AccessibleIcon for screen reader
643
671
  compatibility and follow WCAG guidelines.
644
672
  </p>
@@ -691,20 +719,20 @@ const storyParameters = {
691
719
  backgrounds: {
692
720
  default: "dark",
693
721
  values: [
694
- { name: "dark", value: "#0a0a0a" },
695
- { name: "darker", value: "#000000" },
722
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
723
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
696
724
  ],
697
725
  },
698
726
  }
699
727
 
700
728
  export const Default: Story = {
701
729
  args: {
702
- className: "h-6 w-6 text-gray-400 ",
730
+ className: "h-6 w-6 text-fm-placeholder ",
703
731
  withAccessibility: true,
704
732
  },
705
733
  parameters: storyParameters,
706
734
  render: (args) => (
707
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
735
+ <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">
708
736
  <DownloadIcon {...args} />
709
737
  </div>
710
738
  ),
@@ -721,30 +749,30 @@ export const SizeVariations: Story = {
721
749
  },
722
750
  },
723
751
  render: () => (
724
- <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">
752
+ <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">
725
753
  <div className="text-center">
726
- <DownloadIcon className="!mx-auto mb-2 h-3 w-3 text-gray-400" />
727
- <span className="text-xs text-white/60">12px</span>
754
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-3 w-3" />
755
+ <span className="text-fm-tertiary text-xs">12px</span>
728
756
  </div>
729
757
  <div className="text-center">
730
- <DownloadIcon className="!mx-auto mb-2 h-4 w-4 text-gray-400" />
731
- <span className="text-xs text-white/60">16px</span>
758
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-4 w-4" />
759
+ <span className="text-fm-tertiary text-xs">16px</span>
732
760
  </div>
733
761
  <div className="text-center">
734
- <DownloadIcon className="!mx-auto mb-2 h-5 w-5 text-gray-400" />
735
- <span className="text-xs text-white/60">20px</span>
762
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-5 w-5" />
763
+ <span className="text-fm-tertiary text-xs">20px</span>
736
764
  </div>
737
765
  <div className="text-center">
738
- <DownloadIcon className="!mx-auto mb-2 h-6 w-6 text-gray-400" />
739
- <span className="text-xs text-white/60">24px</span>
766
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-6 w-6" />
767
+ <span className="text-fm-tertiary text-xs">24px</span>
740
768
  </div>
741
769
  <div className="text-center">
742
- <DownloadIcon className="!mx-auto mb-2 h-8 w-8 text-gray-400" />
743
- <span className="text-xs text-white/60">32px</span>
770
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-8 w-8" />
771
+ <span className="text-fm-tertiary text-xs">32px</span>
744
772
  </div>
745
773
  <div className="text-center">
746
- <DownloadIcon className="!mx-auto mb-2 h-12 w-12 text-gray-400" />
747
- <span className="text-xs text-white/60">48px</span>
774
+ <DownloadIcon className="text-fm-placeholder !mx-auto mb-2 h-12 w-12" />
775
+ <span className="text-fm-tertiary text-xs">48px</span>
748
776
  </div>
749
777
  </div>
750
778
  ),
@@ -761,34 +789,38 @@ export const ColorVariations: Story = {
761
789
  },
762
790
  },
763
791
  render: () => (
764
- <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">
792
+ <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">
765
793
  <div className="text-center">
766
- <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">
767
- <DownloadIcon className="h-8 w-8 text-gray-400" />
794
+ <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">
795
+ <DownloadIcon className="text-fm-placeholder h-8 w-8" />
768
796
  </div>
769
- <div className="text-sm font-medium text-white">Default</div>
770
- <div className="text-xs text-gray-400">text-gray-400</div>
797
+ <div className="text-fm-icon-active text-sm font-medium">Default</div>
798
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
771
799
  </div>
772
800
  <div className="text-center">
773
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-red-500/30 bg-red-500/20">
774
- <DownloadIcon className="h-8 w-8 text-red-400" />
801
+ <div className="border-fm-icon-negative/30 bg-fm-icon-negative/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
802
+ <DownloadIcon className="text-fm-icon-negative h-8 w-8" />
803
+ </div>
804
+ <div className="text-fm-icon-active text-sm font-medium">
805
+ Close/Error
806
+ </div>
807
+ <div className="text-fm-icon-negative text-xs">
808
+ text-fm-icon-negative
775
809
  </div>
776
- <div className="text-sm font-medium text-white">Close/Error</div>
777
- <div className="text-xs text-red-400">text-red-400</div>
778
810
  </div>
779
811
  <div className="text-center">
780
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/10 bg-white/5">
781
- <DownloadIcon className="h-8 w-8 text-white/60" />
812
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
813
+ <DownloadIcon className="text-fm-tertiary h-8 w-8" />
782
814
  </div>
783
- <div className="text-sm font-medium text-white">Muted</div>
784
- <div className="text-xs text-white/60">text-white/60</div>
815
+ <div className="text-fm-icon-active text-sm font-medium">Muted</div>
816
+ <div className="text-fm-tertiary text-xs">text-fm-tertiary</div>
785
817
  </div>
786
818
  <div className="text-center">
787
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-slate-500/30 bg-slate-500/20">
788
- <DownloadIcon className="h-8 w-8 text-slate-300" />
819
+ <div className="border-fm-divider-primary bg-fm-icon-inactive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
820
+ <DownloadIcon className="text-fm-secondary h-8 w-8" />
789
821
  </div>
790
- <div className="text-sm font-medium text-white">Light</div>
791
- <div className="text-xs text-slate-300">text-slate-300</div>
822
+ <div className="text-fm-icon-active text-sm font-medium">Light</div>
823
+ <div className="text-fm-secondary text-xs">text-fm-secondary</div>
792
824
  </div>
793
825
  </div>
794
826
  ),
@@ -805,18 +837,22 @@ export const UsageExamples: Story = {
805
837
  },
806
838
  },
807
839
  render: () => (
808
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
840
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
809
841
  {/* Modal Close Button */}
810
842
  <div className="!space-y-2">
811
- <h3 className="text-sm font-medium text-white">Modal Close Button</h3>
812
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
843
+ <h3 className="text-fm-icon-active text-sm font-medium">
844
+ Modal Close Button
845
+ </h3>
846
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
813
847
  <div className="mb-4 flex items-center justify-between">
814
- <h3 className="text-lg font-semibold text-white">Settings</h3>
815
- <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
816
- <DownloadIcon className="h-5 w-5 text-gray-400" />
848
+ <h3 className="text-fm-icon-active text-lg font-semibold">
849
+ Settings
850
+ </h3>
851
+ <button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
852
+ <DownloadIcon className="text-fm-placeholder h-5 w-5" />
817
853
  </button>
818
854
  </div>
819
- <p className="text-white/70">
855
+ <p className="text-fm-secondary">
820
856
  Configure your application preferences and settings.
821
857
  </p>
822
858
  </div>
@@ -824,34 +860,38 @@ export const UsageExamples: Story = {
824
860
 
825
861
  {/* Search Clear Button */}
826
862
  <div className="!space-y-2">
827
- <h3 className="text-sm font-medium text-white">Search Clear Button</h3>
863
+ <h3 className="text-fm-icon-active text-sm font-medium">
864
+ Search Clear Button
865
+ </h3>
828
866
  <div className="relative">
829
867
  <input
830
868
  type="text"
831
- className="w-full rounded-lg border border-white/20 bg-white/5 px-3 py-2 pr-10 text-white placeholder-white/50 focus:border-gray-400 focus:ring-2 focus:ring-gray-400/20"
869
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-divider-primary w-full rounded-lg border px-3 py-2 pr-10 placeholder-white/50 focus:ring-2 focus:ring-gray-400/20"
832
870
  placeholder="Search..."
833
871
  defaultValue="Sample query"
834
872
  />
835
- <button className="absolute top-1/2 right-3 -translate-y-1/2 rounded p-0.5 hover:bg-white/10">
836
- <DownloadIcon className="h-4 w-4 text-gray-400" />
873
+ <button className="hover:bg-fm-surface-secondary absolute top-1/2 right-3 -translate-y-1/2 rounded p-0.5">
874
+ <DownloadIcon className="text-fm-placeholder h-4 w-4" />
837
875
  </button>
838
876
  </div>
839
877
  </div>
840
878
 
841
879
  {/* Tab Close Button */}
842
880
  <div className="!space-y-2">
843
- <h3 className="text-sm font-medium text-white">Tab Close Button</h3>
844
- <div className="flex border-b border-white/10">
845
- <div className="flex items-center gap-2 border-b-2 border-blue-400 px-4 py-2 text-blue-200">
881
+ <h3 className="text-fm-icon-active text-sm font-medium">
882
+ Tab Close Button
883
+ </h3>
884
+ <div className="border-fm-divider-secondary flex border-b">
885
+ <div className="border-fm-icon-info text-fm-icon-info flex items-center gap-2 border-b-2 px-4 py-2">
846
886
  <span>Component.tsx</span>
847
- <button className="rounded p-0.5 hover:bg-blue-500/20">
848
- <DownloadIcon className="h-3 w-3 text-blue-300" />
887
+ <button className="hover:bg-fm-icon-info/20 rounded p-0.5">
888
+ <DownloadIcon className="text-fm-icon-info h-3 w-3" />
849
889
  </button>
850
890
  </div>
851
- <div className="flex items-center gap-2 px-4 py-2 text-white/60 hover:text-white">
891
+ <div className="text-fm-tertiary hover:text-fm-icon-active flex items-center gap-2 px-4 py-2">
852
892
  <span>utils.ts</span>
853
- <button className="rounded p-0.5 opacity-60 hover:bg-white/10 hover:opacity-100">
854
- <DownloadIcon className="h-3 w-3 text-gray-400" />
893
+ <button className="hover:bg-fm-surface-secondary rounded p-0.5 opacity-60 hover:opacity-100">
894
+ <DownloadIcon className="text-fm-placeholder h-3 w-3" />
855
895
  </button>
856
896
  </div>
857
897
  </div>
@@ -873,11 +913,11 @@ export const Playground: Story = {
873
913
  args: {
874
914
  width: 32,
875
915
  height: 32,
876
- className: "text-gray-400 ",
916
+ className: "text-fm-placeholder ",
877
917
  },
878
918
  render: (args) => (
879
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
880
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
919
+ <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">
920
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
881
921
  <DownloadIcon {...args} />
882
922
  </div>
883
923
  </div>