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 HeadIcon> = {
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 HeadIcon> = {
40
40
  background: transparent ;
41
41
  }
42
42
  body {
43
- background: #0a0a0a ;
43
+ background: var(--color-fm-surface-primary) ;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a ;
46
+ background: var(--color-fm-surface-primary) ;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent ;
50
50
  border: none ;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white ;
53
+ color: var(--color-fm-icon-active) ;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) ;
56
+ color: var(--color-fm-secondary) ;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) ;
60
- color: rgba(168, 85, 247, 1) ;
61
- border: 1px solid rgba(255, 255, 255, 0.1) ;
59
+ background: var(--color-fm-surface-secondary) ;
60
+ color: var(--color-fm-secondary-500) ;
61
+ border: 1px solid var(--color-fm-divider-secondary) ;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) ;
65
- border: 1px solid rgba(255, 255, 255, 0.1) ;
64
+ background: var(--color-fm-surface-secondary) ;
65
+ border: 1px solid var(--color-fm-divider-secondary) ;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) ;
69
- border: 1px solid rgba(255, 255, 255, 0.1) ;
68
+ background: var(--color-fm-surface-secondary) ;
69
+ border: 1px solid var(--color-fm-divider-secondary) ;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) ;
73
- color: white ;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
72
+ background: var(--color-fm-surface-secondary) ;
73
+ color: var(--color-fm-icon-active) ;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) ;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) ;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
77
+ color: var(--color-fm-secondary) ;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
79
79
  }
80
80
  `}
81
81
  </style>
82
82
 
83
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900/20 to-gray-900">
83
+ <div className="bg-fm-surface-primary min-h-screen">
84
84
  {/* Header */}
85
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
86
- <div className="absolute inset-0 bg-gradient-to-r from-purple-500/10 via-transparent to-blue-500/10" />
85
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
86
+ <div className="from-fm-secondary-500/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
87
87
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
88
88
  <div className="!space-y-6 text-center">
89
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-blue-500/30 bg-gradient-to-br from-blue-500/20 to-purple-500/20">
90
- <HeadIcon 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
+ <HeadIcon 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
  HeadIcon
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 head/profile icon for user avatars, profile
97
97
  sections, and account-related elements. Built with
98
98
  accessibility in mind using Radix UI's AccessibleIcon
@@ -102,28 +102,28 @@ const meta: Meta<typeof HeadIcon> = {
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-blue-300">
105
+ <div className="text-fm-icon-info 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-purple-300">
114
+ <div className="text-fm-secondary-600 text-3xl font-bold">
115
115
  Scalable
116
116
  </div>
117
- <div className="text-sm text-white/60">
117
+ <div className="text-fm-tertiary text-sm">
118
118
  Any size needed
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-cyan-300">
123
+ <div className="text-fm-icon-info text-3xl font-bold">
124
124
  Flexible
125
125
  </div>
126
- <div className="text-sm text-white/60">
126
+ <div className="text-fm-tertiary text-sm">
127
127
  Customizable styling
128
128
  </div>
129
129
  </div>
@@ -136,16 +136,16 @@ const meta: Meta<typeof HeadIcon> = {
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-blue-300">
144
+ <h3 className="text-fm-icon-info! 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 { HeadIcon } from "@icons/head-icon"
150
150
 
151
151
  function MyComponent() {
@@ -161,13 +161,15 @@ function MyComponent() {
161
161
  </div>
162
162
 
163
163
  <div className="!space-y-4">
164
- <h3 className="text-xl font-semibold !text-blue-300">
164
+ <h3 className="text-fm-icon-info! text-xl font-semibold">
165
165
  Live Preview
166
166
  </h3>
167
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
168
- <div className="flex items-center gap-3 rounded-lg border border-blue-500/20 bg-blue-500/10 px-4 py-2">
169
- <HeadIcon className="h-5 w-5 text-blue-400" />
170
- <span className="text-white">User Profile</span>
167
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
168
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 flex items-center gap-3 rounded-lg border px-4 py-2">
169
+ <HeadIcon className="text-fm-icon-info h-5 w-5" />
170
+ <span className="text-fm-icon-active">
171
+ User Profile
172
+ </span>
171
173
  </div>
172
174
  </div>
173
175
  </div>
@@ -176,108 +178,116 @@ function MyComponent() {
176
178
 
177
179
  {/* Props Documentation */}
178
180
  <div className="!space-y-8">
179
- <h2 className="text-center text-3xl font-bold !text-white">
181
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
180
182
  Props & Configuration
181
183
  </h2>
182
184
 
183
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
184
- <div className="bg-white/5 p-4">
185
- <h3 className="text-xl font-semibold !text-white">Props</h3>
185
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
186
+ <div className="bg-fm-surface-secondary p-4">
187
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
188
+ Props
189
+ </h3>
186
190
  </div>
187
191
  <table className="!my-0 w-full">
188
- <thead className="bg-white/5">
189
- <tr className="border-b border-white/10">
190
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
192
+ <thead className="bg-fm-surface-secondary">
193
+ <tr className="border-fm-divider-secondary border-b">
194
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
191
195
  Prop
192
196
  </th>
193
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
197
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
194
198
  Type
195
199
  </th>
196
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
200
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
197
201
  Default
198
202
  </th>
199
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
203
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
200
204
  Description
201
205
  </th>
202
206
  </tr>
203
207
  </thead>
204
208
  <tbody>
205
209
  {" "}
206
- <tr className="!bg-black/10">
207
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
210
+ <tr className="bg-fm-surface-secondary!">
211
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
208
212
  withAccessibility
209
213
  </td>
210
- <td className="px-6 py-4 text-sm !text-white/70">
214
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
211
215
  boolean
212
216
  </td>
213
- <td className="px-6 py-4 text-sm !text-white/50">
217
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
214
218
  true
215
219
  </td>
216
- <td className="px-6 py-4 text-sm !text-white/70">
220
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
217
221
  Whether to wrap the icon with accessibility feature
218
222
  </td>
219
223
  </tr>
220
- <tr className="border-b border-white/5 !bg-black/10">
221
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
224
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
225
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
222
226
  height
223
227
  </td>
224
- <td className="px-6 py-4 text-sm !text-white/70">
228
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
225
229
  number | string
226
230
  </td>
227
- <td className="px-6 py-4 text-sm !text-white/50">17</td>
228
- <td className="px-6 py-4 text-sm !text-white/70">
231
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
232
+ 17
233
+ </td>
234
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
229
235
  Height of the icon in pixels
230
236
  </td>
231
237
  </tr>
232
- <tr className="border-b border-white/5">
233
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
238
+ <tr className="border-fm-divider-tertiary border-b">
239
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
234
240
  stroke
235
241
  </td>
236
- <td className="px-6 py-4 text-sm !text-white/70">
242
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
237
243
  string
238
244
  </td>
239
- <td className="px-6 py-4 text-sm !text-white/50">
245
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
240
246
  currentColor
241
247
  </td>
242
- <td className="px-6 py-4 text-sm !text-white/70">
248
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
243
249
  Stroke color of the icon
244
250
  </td>
245
251
  </tr>
246
- <tr className="border-b border-white/5 !bg-black/10">
247
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
252
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
253
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
248
254
  strokeWidth
249
255
  </td>
250
- <td className="px-6 py-4 text-sm !text-white/70">
256
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
251
257
  number | string
252
258
  </td>
253
- <td className="px-6 py-4 text-sm !text-white/50">
259
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
254
260
  1.5
255
261
  </td>
256
- <td className="px-6 py-4 text-sm !text-white/70">
262
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
257
263
  Width of the stroke
258
264
  </td>
259
265
  </tr>
260
- <tr className="border-b border-white/5">
261
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
266
+ <tr className="border-fm-divider-tertiary border-b">
267
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
262
268
  className
263
269
  </td>
264
- <td className="px-6 py-4 text-sm !text-white/70">
270
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
265
271
  string
266
272
  </td>
267
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
268
- <td className="px-6 py-4 text-sm !text-white/70">
273
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
274
+ -
275
+ </td>
276
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
269
277
  CSS classes for styling
270
278
  </td>
271
279
  </tr>
272
- <tr className="!bg-black/10">
273
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
280
+ <tr className="bg-fm-surface-secondary!">
281
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
274
282
  ...svgProps
275
283
  </td>
276
- <td className="px-6 py-4 text-sm !text-white/70">
284
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
277
285
  SVGProps
278
286
  </td>
279
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
280
- <td className="px-6 py-4 text-sm !text-white/70">
287
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
288
+ -
289
+ </td>
290
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
281
291
  All standard SVG element props
282
292
  </td>
283
293
  </tr>
@@ -288,50 +298,62 @@ function MyComponent() {
288
298
 
289
299
  {/* Size Variations */}
290
300
  <div className="!space-y-8">
291
- <h2 className="text-center text-3xl font-bold !text-white">
301
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
292
302
  Size Variations
293
303
  </h2>
294
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
304
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
295
305
  <div className="!space-y-6">
296
306
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
297
307
  <div className="!space-y-4">
298
- <h3 className="text-lg font-semibold !text-blue-300">
308
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
299
309
  Standard Sizes
300
310
  </h3>
301
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
311
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
302
312
  <div className="text-center">
303
- <HeadIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
304
- <span className="text-xs text-white/60">12px</span>
313
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
314
+ <span className="text-fm-tertiary text-xs">
315
+ 12px
316
+ </span>
305
317
  </div>
306
318
  <div className="text-center">
307
- <HeadIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
308
- <span className="text-xs text-white/60">16px</span>
319
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
320
+ <span className="text-fm-tertiary text-xs">
321
+ 16px
322
+ </span>
309
323
  </div>
310
324
  <div className="text-center">
311
- <HeadIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
312
- <span className="text-xs text-white/60">20px</span>
325
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
326
+ <span className="text-fm-tertiary text-xs">
327
+ 20px
328
+ </span>
313
329
  </div>
314
330
  <div className="text-center">
315
- <HeadIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
316
- <span className="text-xs text-white/60">24px</span>
331
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
332
+ <span className="text-fm-tertiary text-xs">
333
+ 24px
334
+ </span>
317
335
  </div>
318
336
  <div className="text-center">
319
- <HeadIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
320
- <span className="text-xs text-white/60">32px</span>
337
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
338
+ <span className="text-fm-tertiary text-xs">
339
+ 32px
340
+ </span>
321
341
  </div>
322
342
  <div className="text-center">
323
- <HeadIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
324
- <span className="text-xs text-white/60">48px</span>
343
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
344
+ <span className="text-fm-tertiary text-xs">
345
+ 48px
346
+ </span>
325
347
  </div>
326
348
  </div>
327
349
  </div>
328
350
 
329
351
  <div className="!space-y-4">
330
- <h3 className="text-lg font-semibold !text-blue-300">
352
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
331
353
  Code Example
332
354
  </h3>
333
- <div className="rounded-lg bg-black/40 p-4">
334
- <pre className="overflow-x-auto text-sm !text-blue-300">
355
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
356
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
335
357
  {`// Small (16px)
336
358
  <HeadIcon className="h-4 w-4" />
337
359
 
@@ -353,56 +375,56 @@ function MyComponent() {
353
375
 
354
376
  {/* Color Variations */}
355
377
  <div className="!space-y-8">
356
- <h2 className="text-center text-3xl font-bold !text-white">
378
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
357
379
  Color Variations
358
380
  </h2>
359
381
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
360
382
  <div className="!space-y-4">
361
- <h3 className="text-lg font-semibold !text-blue-300">
383
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
362
384
  Profile States
363
385
  </h3>
364
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
386
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
365
387
  <div className="flex items-center gap-4">
366
- <HeadIcon className="h-6 w-6 text-blue-400" />
388
+ <HeadIcon className="text-fm-icon-info h-6 w-6" />
367
389
  <div>
368
- <div className="text-sm font-medium text-white">
390
+ <div className="text-fm-icon-active text-sm font-medium">
369
391
  Default User
370
392
  </div>
371
- <div className="text-xs text-white/60">
372
- text-blue-400
393
+ <div className="text-fm-tertiary text-xs">
394
+ text-fm-icon-info
373
395
  </div>
374
396
  </div>
375
397
  </div>
376
398
  <div className="flex items-center gap-4">
377
- <HeadIcon className="h-6 w-6 text-green-400" />
399
+ <HeadIcon className="text-fm-icon-positive h-6 w-6" />
378
400
  <div>
379
- <div className="text-sm font-medium text-white">
401
+ <div className="text-fm-icon-active text-sm font-medium">
380
402
  Active User
381
403
  </div>
382
- <div className="text-xs text-white/60">
383
- text-green-400
404
+ <div className="text-fm-tertiary text-xs">
405
+ text-fm-icon-positive
384
406
  </div>
385
407
  </div>
386
408
  </div>
387
409
  <div className="flex items-center gap-4">
388
- <HeadIcon className="h-6 w-6 text-purple-400" />
410
+ <HeadIcon className="text-fm-secondary-600 h-6 w-6" />
389
411
  <div>
390
- <div className="text-sm font-medium text-white">
412
+ <div className="text-fm-icon-active text-sm font-medium">
391
413
  Premium User
392
414
  </div>
393
- <div className="text-xs text-white/60">
394
- text-purple-400
415
+ <div className="text-fm-tertiary text-xs">
416
+ text-fm-secondary-600
395
417
  </div>
396
418
  </div>
397
419
  </div>
398
420
  <div className="flex items-center gap-4">
399
- <HeadIcon className="h-6 w-6 text-gray-400" />
421
+ <HeadIcon className="text-fm-placeholder h-6 w-6" />
400
422
  <div>
401
- <div className="text-sm font-medium text-white">
423
+ <div className="text-fm-icon-active text-sm font-medium">
402
424
  Inactive User
403
425
  </div>
404
- <div className="text-xs text-white/60">
405
- text-gray-400
426
+ <div className="text-fm-tertiary text-xs">
427
+ text-fm-placeholder
406
428
  </div>
407
429
  </div>
408
430
  </div>
@@ -410,11 +432,11 @@ function MyComponent() {
410
432
  </div>
411
433
 
412
434
  <div className="!space-y-4">
413
- <h3 className="text-lg font-semibold !text-blue-300">
435
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
414
436
  Custom Colors
415
437
  </h3>
416
- <div className="rounded-lg bg-black/40 p-4">
417
- <pre className="overflow-x-auto text-sm !text-green-300">
438
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
439
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
418
440
  {`// Using Tailwind classes
419
441
  <HeadIcon className="h-6 w-6 text-blue-400" />
420
442
  <HeadIcon className="h-6 w-6 text-purple-500" />
@@ -439,34 +461,34 @@ function MyComponent() {
439
461
 
440
462
  {/* Usage Examples */}
441
463
  <div className="!space-y-8">
442
- <h2 className="text-center text-3xl font-bold !text-white">
464
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
443
465
  Usage Examples
444
466
  </h2>
445
467
 
446
468
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
447
469
  {/* User Profile Card */}
448
470
  <div className="!space-y-4">
449
- <h3 className="text-lg font-semibold !text-blue-300">
471
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
450
472
  User Profile Card
451
473
  </h3>
452
474
  <div className="!space-y-4">
453
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
475
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
454
476
  <div className="flex items-center gap-3">
455
- <div className="flex h-12 w-12 items-center justify-center rounded-full border border-blue-500/30 bg-blue-500/20">
456
- <HeadIcon className="h-6 w-6 text-blue-400" />
477
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 flex h-12 w-12 items-center justify-center rounded-full border">
478
+ <HeadIcon className="text-fm-icon-info h-6 w-6" />
457
479
  </div>
458
480
  <div>
459
- <h4 className="font-medium !text-white">
481
+ <h4 className="text-fm-icon-active! font-medium">
460
482
  John Doe
461
483
  </h4>
462
- <p className="text-sm !text-white/60">
484
+ <p className="text-fm-tertiary! text-sm">
463
485
  Software Engineer
464
486
  </p>
465
487
  </div>
466
488
  </div>
467
489
  </div>
468
- <div className="rounded-lg bg-black/40 p-4">
469
- <pre className="overflow-x-auto text-sm !text-green-300">
490
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
491
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
470
492
  {`<div className="flex items-center gap-3">
471
493
  <div className="flex h-12 w-12 items-center justify-center rounded-full bg-blue-500/20 border border-blue-500/30">
472
494
  <HeadIcon className="h-6 w-6 text-blue-400" />
@@ -483,37 +505,37 @@ function MyComponent() {
483
505
 
484
506
  {/* Navigation Menu */}
485
507
  <div className="!space-y-4">
486
- <h3 className="text-lg font-semibold !text-blue-300">
508
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
487
509
  Navigation Menu
488
510
  </h3>
489
511
  <div className="!space-y-4">
490
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
512
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
491
513
  <nav className="!space-y-2">
492
514
  <a
493
515
  href="#"
494
- className="flex items-center gap-3 rounded-lg px-3 py-2 text-white/70 hover:bg-white/10 hover:text-white"
516
+ className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
495
517
  >
496
518
  <HeadIcon className="h-5 w-5" />
497
519
  <span>Profile</span>
498
520
  </a>
499
521
  <a
500
522
  href="#"
501
- className="flex items-center gap-3 rounded-lg px-3 py-2 text-white/70 hover:bg-white/10 hover:text-white"
523
+ className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
502
524
  >
503
525
  <span className="h-5 w-5">⚙️</span>
504
526
  <span>Settings</span>
505
527
  </a>
506
528
  <a
507
529
  href="#"
508
- className="flex items-center gap-3 rounded-lg px-3 py-2 text-white/70 hover:bg-white/10 hover:text-white"
530
+ className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
509
531
  >
510
532
  <span className="h-5 w-5">📊</span>
511
533
  <span>Analytics</span>
512
534
  </a>
513
535
  </nav>
514
536
  </div>
515
- <div className="rounded-lg bg-black/40 p-4">
516
- <pre className="overflow-x-auto text-sm !text-green-300">
537
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
538
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
517
539
  {`<nav className="space-y-2">
518
540
  <a href="#" className="flex items-center gap-3 rounded-lg px-3 py-2 hover:bg-white/10">
519
541
  <HeadIcon className="h-5 w-5" />
@@ -528,19 +550,19 @@ function MyComponent() {
528
550
 
529
551
  {/* Account Dropdown */}
530
552
  <div className="!space-y-4">
531
- <h3 className="text-lg font-semibold !text-blue-300">
553
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
532
554
  Account Dropdown
533
555
  </h3>
534
556
  <div className="!space-y-4">
535
557
  <div className="relative inline-block">
536
- <button className="flex items-center gap-2 rounded-lg border border-blue-500/30 bg-blue-500/20 px-3 py-2 text-blue-200 transition-colors hover:bg-blue-500/30">
558
+ <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-3 py-2 transition-colors">
537
559
  <HeadIcon className="h-4 w-4" />
538
560
  <span>My Account</span>
539
561
  <span className="text-xs">▼</span>
540
562
  </button>
541
563
  </div>
542
- <div className="rounded-lg bg-black/40 p-4">
543
- <pre className="overflow-x-auto text-sm !text-green-300">
564
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
565
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
544
566
  {`<button className="flex items-center gap-2 bg-blue-500/20 border border-blue-500/30 px-3 py-2 rounded-lg">
545
567
  <HeadIcon className="h-4 w-4" />
546
568
  <span>My Account</span>
@@ -553,26 +575,26 @@ function MyComponent() {
553
575
 
554
576
  {/* User Status */}
555
577
  <div className="!space-y-4">
556
- <h3 className="text-lg font-semibold !text-blue-300">
578
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
557
579
  User Status Indicator
558
580
  </h3>
559
581
  <div className="!space-y-4">
560
582
  <div className="flex gap-4">
561
583
  <div className="relative">
562
- <HeadIcon className="h-8 w-8 text-green-400" />
563
- <div className="absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2 border-gray-900 bg-green-400"></div>
584
+ <HeadIcon className="text-fm-icon-positive h-8 w-8" />
585
+ <div className="border-fm-divider-contrast bg-fm-icon-positive absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2"></div>
564
586
  </div>
565
587
  <div className="relative">
566
- <HeadIcon className="h-8 w-8 text-yellow-400" />
567
- <div className="absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2 border-gray-900 bg-yellow-400"></div>
588
+ <HeadIcon className="text-fm-icon-warning h-8 w-8" />
589
+ <div className="border-fm-divider-contrast bg-fm-icon-warning absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2"></div>
568
590
  </div>
569
591
  <div className="relative">
570
- <HeadIcon className="h-8 w-8 text-gray-400" />
571
- <div className="absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2 border-gray-900 bg-gray-400"></div>
592
+ <HeadIcon className="text-fm-placeholder h-8 w-8" />
593
+ <div className="border-fm-divider-contrast bg-fm-surface-tertiary absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2"></div>
572
594
  </div>
573
595
  </div>
574
- <div className="rounded-lg bg-black/40 p-4">
575
- <pre className="overflow-x-auto text-sm !text-green-300">
596
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
597
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
576
598
  {`<div className="relative">
577
599
  <HeadIcon className="h-8 w-8 text-green-400" />
578
600
  <div className="absolute -bottom-1 -right-1 h-3 w-3 rounded-full border-2 border-gray-900 bg-green-400"></div>
@@ -586,64 +608,64 @@ function MyComponent() {
586
608
 
587
609
  {/* Accessibility */}
588
610
  <div className="!space-y-8">
589
- <h2 className="text-center text-3xl font-bold !text-white">
611
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
590
612
  Accessibility Features
591
613
  </h2>
592
614
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
593
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
594
- <h3 className="text-lg font-semibold !text-green-300">
615
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
616
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
595
617
  ✅ Built-in Features
596
618
  </h3>
597
- <ul className="!space-y-2 text-sm !text-white/70">
598
- <li className="!text-white/70">
619
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
620
+ <li className="text-fm-secondary!">
599
621
  Uses Radix UI AccessibleIcon wrapper
600
622
  </li>
601
- <li className="!text-white/70">
623
+ <li className="text-fm-secondary!">
602
624
  Provides screen reader label "Head Icon"
603
625
  </li>
604
- <li className="!text-white/70">
626
+ <li className="text-fm-secondary!">
605
627
  Supports keyboard navigation when interactive
606
628
  </li>
607
- <li className="!text-white/70">
629
+ <li className="text-fm-secondary!">
608
630
  Maintains proper color contrast ratios
609
631
  </li>
610
- <li className="!text-white/70">
632
+ <li className="text-fm-secondary!">
611
633
  Scales with user's font size preferences
612
634
  </li>
613
635
  </ul>
614
636
  </div>
615
637
 
616
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
617
- <h3 className="text-lg font-semibold !text-blue-300">
638
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
639
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
618
640
  💡 Best Practices
619
641
  </h3>
620
- <ul className="!space-y-2 text-sm text-white/70">
621
- <li className="!text-white/70">
642
+ <ul className="text-fm-secondary !space-y-2 text-sm">
643
+ <li className="text-fm-secondary!">
622
644
  Use for user profile and account contexts
623
645
  </li>
624
- <li className="!text-white/70">
646
+ <li className="text-fm-secondary!">
625
647
  Pair with user names or descriptions
626
648
  </li>
627
- <li className="!text-white/70">
649
+ <li className="text-fm-secondary!">
628
650
  Ensure sufficient color contrast
629
651
  </li>
630
- <li className="!text-white/70">
652
+ <li className="text-fm-secondary!">
631
653
  Add focus states for interactive elements
632
654
  </li>
633
- <li className="!text-white/70">
655
+ <li className="text-fm-secondary!">
634
656
  Consider adding status indicators when needed
635
657
  </li>
636
658
  </ul>
637
659
  </div>
638
660
  </div>
639
661
 
640
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
641
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
662
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
663
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
642
664
  Custom Accessibility Label
643
665
  </h3>
644
666
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
645
- <div className="rounded-lg bg-black/40 p-4">
646
- <pre className="overflow-x-auto text-sm !text-blue-300">
667
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
668
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
647
669
  {`// Custom implementation with specific label
648
670
  import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
649
671
 
@@ -663,13 +685,13 @@ function CustomHeadIcon({ label = "User profile", ...props }) {
663
685
  </pre>
664
686
  </div>
665
687
  <div className="!space-y-4">
666
- <p className="text-sm !text-white/70">
688
+ <p className="text-fm-secondary! text-sm">
667
689
  For specific contexts, you can wrap the HeadIcon with a
668
690
  custom AccessibleIcon component that provides more
669
691
  descriptive labels.
670
692
  </p>
671
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
672
- <div className="flex items-center gap-2 text-sm text-blue-200">
693
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
694
+ <div className="text-fm-icon-info flex items-center gap-2 text-sm">
673
695
  <HeadIcon className="h-4 w-4" />
674
696
  <span>
675
697
  This approach gives screen readers more context
@@ -683,50 +705,58 @@ function CustomHeadIcon({ label = "User profile", ...props }) {
683
705
 
684
706
  {/* Related Icons */}
685
707
  <div className="!space-y-8">
686
- <h2 className="text-center text-3xl font-bold !text-white">
708
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
687
709
  Related Icons
688
710
  </h2>
689
711
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
690
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
691
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
712
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
713
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
692
714
  <span className="text-2xl">👥</span>
693
715
  </div>
694
716
  <div>
695
- <div className="font-medium text-white">GroupIcon</div>
696
- <div className="text-xs text-white/60">
717
+ <div className="text-fm-icon-active font-medium">
718
+ GroupIcon
719
+ </div>
720
+ <div className="text-fm-tertiary text-xs">
697
721
  Multiple users
698
722
  </div>
699
723
  </div>
700
724
  </div>
701
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
702
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
725
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
726
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
703
727
  <span className="text-2xl">⚙️</span>
704
728
  </div>
705
729
  <div>
706
- <div className="font-medium text-white">SettingsIcon</div>
707
- <div className="text-xs text-white/60">
730
+ <div className="text-fm-icon-active font-medium">
731
+ SettingsIcon
732
+ </div>
733
+ <div className="text-fm-tertiary text-xs">
708
734
  Account settings
709
735
  </div>
710
736
  </div>
711
737
  </div>
712
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
713
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
738
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
739
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
714
740
  <span className="text-2xl">🔐</span>
715
741
  </div>
716
742
  <div>
717
- <div className="font-medium text-white">SecurityIcon</div>
718
- <div className="text-xs text-white/60">
743
+ <div className="text-fm-icon-active font-medium">
744
+ SecurityIcon
745
+ </div>
746
+ <div className="text-fm-tertiary text-xs">
719
747
  Security & auth
720
748
  </div>
721
749
  </div>
722
750
  </div>
723
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
724
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
751
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
752
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
725
753
  <span className="text-2xl">📊</span>
726
754
  </div>
727
755
  <div>
728
- <div className="font-medium text-white">StatsIcon</div>
729
- <div className="text-xs text-white/60">
756
+ <div className="text-fm-icon-active font-medium">
757
+ StatsIcon
758
+ </div>
759
+ <div className="text-fm-tertiary text-xs">
730
760
  User analytics
731
761
  </div>
732
762
  </div>
@@ -736,14 +766,14 @@ function CustomHeadIcon({ label = "User profile", ...props }) {
736
766
  </div>
737
767
 
738
768
  {/* Footer */}
739
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
769
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
740
770
  <div className="!mx-auto max-w-7xl px-6 py-8">
741
771
  <div className="!space-y-4 text-center">
742
- <p className="!text-white/60">
772
+ <p className="text-fm-tertiary!">
743
773
  HeadIcon is part of the Aural UI icon library, built with
744
774
  accessibility and consistency in mind.
745
775
  </p>
746
- <p className="text-sm !text-white/40">
776
+ <p className="text-fm-placeholder! text-sm">
747
777
  All icons use Radix UI's AccessibleIcon for screen reader
748
778
  compatibility and follow WCAG guidelines.
749
779
  </p>
@@ -792,8 +822,8 @@ const storyParameters = {
792
822
  backgrounds: {
793
823
  default: "dark",
794
824
  values: [
795
- { name: "dark", value: "#0a0a0a" },
796
- { name: "darker", value: "#000000" },
825
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
826
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
797
827
  ],
798
828
  },
799
829
  }
@@ -802,12 +832,12 @@ export const Default: Story = {
802
832
  args: {
803
833
  width: 24,
804
834
  height: 24,
805
- className: "text-blue-400",
835
+ className: "text-fm-icon-info",
806
836
  withAccessibility: true,
807
837
  },
808
838
  parameters: storyParameters,
809
839
  render: (args) => (
810
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
840
+ <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">
811
841
  <HeadIcon {...args} />
812
842
  </div>
813
843
  ),
@@ -824,30 +854,30 @@ export const SizeVariations: Story = {
824
854
  },
825
855
  },
826
856
  render: () => (
827
- <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">
857
+ <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">
828
858
  <div className="text-center">
829
- <HeadIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
830
- <span className="text-xs text-white/60">12px</span>
859
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
860
+ <span className="text-fm-tertiary text-xs">12px</span>
831
861
  </div>
832
862
  <div className="text-center">
833
- <HeadIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
834
- <span className="text-xs text-white/60">16px</span>
863
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
864
+ <span className="text-fm-tertiary text-xs">16px</span>
835
865
  </div>
836
866
  <div className="text-center">
837
- <HeadIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
838
- <span className="text-xs text-white/60">20px</span>
867
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
868
+ <span className="text-fm-tertiary text-xs">20px</span>
839
869
  </div>
840
870
  <div className="text-center">
841
- <HeadIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
842
- <span className="text-xs text-white/60">24px</span>
871
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
872
+ <span className="text-fm-tertiary text-xs">24px</span>
843
873
  </div>
844
874
  <div className="text-center">
845
- <HeadIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
846
- <span className="text-xs text-white/60">32px</span>
875
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
876
+ <span className="text-fm-tertiary text-xs">32px</span>
847
877
  </div>
848
878
  <div className="text-center">
849
- <HeadIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
850
- <span className="text-xs text-white/60">48px</span>
879
+ <HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
880
+ <span className="text-fm-tertiary text-xs">48px</span>
851
881
  </div>
852
882
  </div>
853
883
  ),
@@ -864,34 +894,38 @@ export const ColorVariations: Story = {
864
894
  },
865
895
  },
866
896
  render: () => (
867
- <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">
897
+ <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">
868
898
  <div className="text-center">
869
- <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">
870
- <HeadIcon className="h-8 w-8 text-blue-400" />
899
+ <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">
900
+ <HeadIcon className="text-fm-icon-info h-8 w-8" />
871
901
  </div>
872
- <div className="text-sm font-medium text-white">Default</div>
873
- <div className="text-xs text-blue-400">text-blue-400</div>
902
+ <div className="text-fm-icon-active text-sm font-medium">Default</div>
903
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
874
904
  </div>
875
905
  <div className="text-center">
876
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-green-500/30 bg-green-500/20">
877
- <HeadIcon className="h-8 w-8 text-green-400" />
906
+ <div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
907
+ <HeadIcon className="text-fm-icon-positive h-8 w-8" />
908
+ </div>
909
+ <div className="text-fm-icon-active text-sm font-medium">Active</div>
910
+ <div className="text-fm-icon-positive text-xs">
911
+ text-fm-icon-positive
878
912
  </div>
879
- <div className="text-sm font-medium text-white">Active</div>
880
- <div className="text-xs text-green-400">text-green-400</div>
881
913
  </div>
882
914
  <div className="text-center">
883
- <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">
884
- <HeadIcon className="h-8 w-8 text-purple-400" />
915
+ <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">
916
+ <HeadIcon className="text-fm-secondary-600 h-8 w-8" />
917
+ </div>
918
+ <div className="text-fm-icon-active text-sm font-medium">Premium</div>
919
+ <div className="text-fm-secondary-600 text-xs">
920
+ text-fm-secondary-600
885
921
  </div>
886
- <div className="text-sm font-medium text-white">Premium</div>
887
- <div className="text-xs text-purple-400">text-purple-400</div>
888
922
  </div>
889
923
  <div className="text-center">
890
- <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">
891
- <HeadIcon className="h-8 w-8 text-gray-400" />
924
+ <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">
925
+ <HeadIcon className="text-fm-placeholder h-8 w-8" />
892
926
  </div>
893
- <div className="text-sm font-medium text-white">Inactive</div>
894
- <div className="text-xs text-gray-400">text-gray-400</div>
927
+ <div className="text-fm-icon-active text-sm font-medium">Inactive</div>
928
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
895
929
  </div>
896
930
  </div>
897
931
  ),
@@ -908,18 +942,20 @@ export const UsageExamples: Story = {
908
942
  },
909
943
  },
910
944
  render: () => (
911
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
945
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
912
946
  {/* User Profile Card */}
913
947
  <div className="!space-y-2">
914
- <h3 className="text-sm font-medium text-white">User Profile Card</h3>
915
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
948
+ <h3 className="text-fm-icon-active text-sm font-medium">
949
+ User Profile Card
950
+ </h3>
951
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
916
952
  <div className="flex items-center gap-3">
917
- <div className="flex h-12 w-12 items-center justify-center rounded-full border border-blue-500/30 bg-blue-500/20">
918
- <HeadIcon className="h-6 w-6 text-blue-400" />
953
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 flex h-12 w-12 items-center justify-center rounded-full border">
954
+ <HeadIcon className="text-fm-icon-info h-6 w-6" />
919
955
  </div>
920
956
  <div>
921
- <h4 className="font-medium text-white">John Doe</h4>
922
- <p className="text-sm text-white/60">Software Engineer</p>
957
+ <h4 className="text-fm-icon-active font-medium">John Doe</h4>
958
+ <p className="text-fm-tertiary text-sm">Software Engineer</p>
923
959
  </div>
924
960
  </div>
925
961
  </div>
@@ -927,19 +963,21 @@ export const UsageExamples: Story = {
927
963
 
928
964
  {/* Navigation Menu */}
929
965
  <div className="!space-y-2">
930
- <h3 className="text-sm font-medium text-white">Navigation Menu</h3>
931
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
966
+ <h3 className="text-fm-icon-active text-sm font-medium">
967
+ Navigation Menu
968
+ </h3>
969
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
932
970
  <nav className="!space-y-2">
933
971
  <a
934
972
  href="#"
935
- className="flex items-center gap-3 rounded-lg px-3 py-2 text-white/70 hover:bg-white/10 hover:text-white"
973
+ className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
936
974
  >
937
975
  <HeadIcon className="h-5 w-5" />
938
976
  <span>Profile</span>
939
977
  </a>
940
978
  <a
941
979
  href="#"
942
- className="flex items-center gap-3 rounded-lg px-3 py-2 text-white/70 hover:bg-white/10 hover:text-white"
980
+ className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
943
981
  >
944
982
  <span className="h-5 w-5">⚙️</span>
945
983
  <span>Settings</span>
@@ -950,9 +988,11 @@ export const UsageExamples: Story = {
950
988
 
951
989
  {/* Account Dropdown */}
952
990
  <div className="!space-y-2">
953
- <h3 className="text-sm font-medium text-white">Account Dropdown</h3>
991
+ <h3 className="text-fm-icon-active text-sm font-medium">
992
+ Account Dropdown
993
+ </h3>
954
994
  <div className="flex gap-4">
955
- <button className="flex items-center gap-2 rounded-lg border border-blue-500/30 bg-blue-500/20 px-3 py-2 text-blue-200 transition-colors hover:bg-blue-500/30">
995
+ <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-3 py-2 transition-colors">
956
996
  <HeadIcon className="h-4 w-4" />
957
997
  <span>My Account</span>
958
998
  <span className="text-xs">▼</span>
@@ -976,12 +1016,12 @@ export const Playground: Story = {
976
1016
  args: {
977
1017
  width: 32,
978
1018
  height: 32,
979
- className: "text-blue-400",
1019
+ className: "text-fm-icon-info",
980
1020
  strokeWidth: 1.5,
981
1021
  },
982
1022
  render: (args) => (
983
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
984
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1023
+ <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">
1024
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
985
1025
  <HeadIcon {...args} />
986
1026
  </div>
987
1027
  </div>