aural-ui 3.0.6 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
  2. package/dist/components/avatar/Avatar.stories.tsx +84 -70
  3. package/dist/components/button/Button.stories.tsx +7 -7
  4. package/dist/components/button/index.tsx +7 -7
  5. package/dist/components/card/Card.stories.tsx +3 -3
  6. package/dist/components/char-count/CharCount.stories.tsx +9 -9
  7. package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
  8. package/dist/components/clamp-lines/ClampLines.stories.tsx +25 -0
  9. package/dist/components/clamp-lines/index.tsx +6 -1
  10. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  11. package/dist/components/command/Command.stories.tsx +52 -38
  12. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  13. package/dist/components/divider/Divider.stories.tsx +86 -60
  14. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  15. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  16. package/dist/components/drawer/index.tsx +3 -3
  17. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  18. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  19. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  20. package/dist/components/input/Input.stories.tsx +2 -2
  21. package/dist/components/input/index.tsx +2 -0
  22. package/dist/components/label/Label.stories.tsx +10 -10
  23. package/dist/components/list/List.stories.tsx +58 -44
  24. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  25. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  26. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  27. package/dist/components/overlay/index.tsx +4 -4
  28. package/dist/components/popover/Popover.stories.tsx +132 -106
  29. package/dist/components/radio/Radio.stories.tsx +2 -2
  30. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  31. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  32. package/dist/components/search/Search.stories.tsx +81 -59
  33. package/dist/components/select/Select.stories.tsx +3 -1
  34. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  35. package/dist/components/slider/Slider.stories.tsx +71 -47
  36. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  37. package/dist/components/switch/Switch.stories.tsx +12 -12
  38. package/dist/components/table/Table.stories.tsx +8 -6
  39. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  40. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  41. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  42. package/dist/components/toast/Toast.stories.tsx +51 -45
  43. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  44. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  45. package/dist/icons/Icons.stories.tsx +2 -2
  46. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  47. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  48. package/dist/icons/all-icons.tsx +97 -81
  49. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  50. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  51. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  52. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  53. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  54. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  55. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  56. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  57. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  58. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  59. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  60. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  61. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  62. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  63. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  64. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  65. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  66. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  67. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  68. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  69. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  70. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  71. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  72. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  73. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  74. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  75. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  76. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  77. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  78. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  79. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  80. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  81. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  82. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  83. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  84. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  85. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  86. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  87. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  88. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  89. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  90. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  91. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  92. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  93. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  94. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  95. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  96. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  97. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  98. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  99. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  100. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  101. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  102. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  103. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  104. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  105. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  106. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  107. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  108. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  109. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  110. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  111. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  112. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  113. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  114. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  115. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  116. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  117. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  118. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  119. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  120. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  121. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  122. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  123. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  124. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  125. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  126. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  127. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  128. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  129. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  130. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  131. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  132. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  133. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  134. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  135. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  136. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  137. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  138. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  139. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  140. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  141. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  142. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  143. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  144. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  145. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  146. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  147. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  148. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  149. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  150. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  151. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  152. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  153. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  154. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  155. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  156. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  157. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  158. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  159. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  160. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  161. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  162. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  163. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  164. package/dist/index.cjs +84 -84
  165. package/dist/index.js +84 -84
  166. package/dist/styles/aural-all-theme.css +1222 -0
  167. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  168. package/dist/styles/aural-light-theme.css +1047 -0
  169. package/package.json +1 -1
@@ -11,9 +11,9 @@ const meta: Meta<typeof EyeCloseIcon> = {
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 EyeCloseIcon> = {
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-slate-500/30 bg-gradient-to-br from-slate-500/20 to-gray-500/20">
90
- <EyeCloseIcon className="h-12 w-12 text-slate-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
+ <EyeCloseIcon className="text-fm-tertiary h-12 w-12" />
91
91
  </div>
92
92
  <h1 className="!text-fm-primary text-5xl font-bold">
93
93
  EyeCloseIcon
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 visibility toggle icon for hiding content, password
97
97
  fields, and privacy controls. Features a crossed-out eye
98
98
  design that clearly indicates hidden or private state.
@@ -104,28 +104,30 @@ const meta: Meta<typeof EyeCloseIcon> = {
104
104
  {/* Stats */}
105
105
  <div className="flex items-center justify-center gap-8 pt-8">
106
106
  <div className="text-center">
107
- <div className="text-3xl font-bold text-slate-300">
107
+ <div className="text-fm-secondary text-3xl font-bold">
108
108
  Private
109
109
  </div>
110
- <div className="text-sm text-white/60">
110
+ <div className="text-fm-tertiary text-sm">
111
111
  Content hidden
112
112
  </div>
113
113
  </div>
114
- <div className="h-8 w-px bg-white/20" />
114
+ <div className="bg-fm-divider-primary h-8 w-px" />
115
115
  <div className="text-center">
116
- <div className="text-3xl font-bold text-gray-300">
116
+ <div className="text-fm-secondary text-3xl font-bold">
117
117
  Secure
118
118
  </div>
119
- <div className="text-sm text-white/60">
119
+ <div className="text-fm-tertiary text-sm">
120
120
  Privacy focused
121
121
  </div>
122
122
  </div>
123
- <div className="h-8 w-px bg-white/20" />
123
+ <div className="bg-fm-divider-primary h-8 w-px" />
124
124
  <div className="text-center">
125
- <div className="text-3xl font-bold text-indigo-300">
125
+ <div className="text-fm-icon-info text-3xl font-bold">
126
126
  Interactive
127
127
  </div>
128
- <div className="text-sm text-white/60">Toggle states</div>
128
+ <div className="text-fm-tertiary text-sm">
129
+ Toggle states
130
+ </div>
129
131
  </div>
130
132
  </div>
131
133
  </div>
@@ -136,16 +138,16 @@ const meta: Meta<typeof EyeCloseIcon> = {
136
138
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
137
139
  {/* Quick Usage */}
138
140
  <div className="!space-y-8">
139
- <h2 className="text-center text-3xl font-bold !text-white">
141
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
140
142
  Quick Start
141
143
  </h2>
142
144
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
143
145
  <div className="!space-y-4">
144
- <h3 className="text-xl font-semibold !text-slate-300">
146
+ <h3 className="text-fm-secondary! text-xl font-semibold">
145
147
  Basic Usage
146
148
  </h3>
147
- <div className="rounded-lg bg-black/40 p-4">
148
- <pre className="overflow-x-auto text-sm !text-green-300">
149
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
150
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
149
151
  {`import { EyeCloseIcon } from "@icons/eye-close-icon"
150
152
 
151
153
  function PasswordField() {
@@ -171,18 +173,18 @@ function PasswordField() {
171
173
  </div>
172
174
 
173
175
  <div className="!space-y-4">
174
- <h3 className="text-xl font-semibold !text-slate-300">
176
+ <h3 className="text-fm-secondary! text-xl font-semibold">
175
177
  Live Preview
176
178
  </h3>
177
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
179
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
178
180
  <div className="relative">
179
181
  <input
180
182
  type="password"
181
183
  placeholder="Enter password"
182
- className="rounded-lg border border-white/20 bg-white/5 px-3 py-2 pr-10 text-white placeholder-white/50"
184
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active rounded-lg border px-3 py-2 pr-10 placeholder-white/50"
183
185
  />
184
- <button className="absolute top-1/2 right-2 -translate-y-1/2 rounded p-1 hover:bg-white/10">
185
- <EyeCloseIcon className="h-5 w-5 text-slate-400" />
186
+ <button className="hover:bg-fm-surface-secondary absolute top-1/2 right-2 -translate-y-1/2 rounded p-1">
187
+ <EyeCloseIcon className="text-fm-tertiary h-5 w-5" />
186
188
  </button>
187
189
  </div>
188
190
  </div>
@@ -192,117 +194,129 @@ function PasswordField() {
192
194
 
193
195
  {/* Props Documentation */}
194
196
  <div className="!space-y-8">
195
- <h2 className="text-center text-3xl font-bold !text-white">
197
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
196
198
  Props & Configuration
197
199
  </h2>
198
200
 
199
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
200
- <div className="bg-white/5 p-4">
201
- <h3 className="text-xl font-semibold !text-white">Props</h3>
201
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
202
+ <div className="bg-fm-surface-secondary p-4">
203
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
204
+ Props
205
+ </h3>
202
206
  </div>
203
207
  <table className="!my-0 w-full">
204
- <thead className="bg-white/5">
205
- <tr className="border-b border-white/10">
206
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
208
+ <thead className="bg-fm-surface-secondary">
209
+ <tr className="border-fm-divider-secondary border-b">
210
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
207
211
  Prop
208
212
  </th>
209
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
213
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
210
214
  Type
211
215
  </th>
212
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
216
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
213
217
  Default
214
218
  </th>
215
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
219
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
216
220
  Description
217
221
  </th>
218
222
  </tr>
219
223
  </thead>
220
224
  <tbody>
221
- <tr className="!bg-black/10">
222
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
225
+ <tr className="bg-fm-surface-secondary!">
226
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
223
227
  withAccessibility
224
228
  </td>
225
- <td className="px-6 py-4 text-sm !text-white/70">
229
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
226
230
  boolean
227
231
  </td>
228
- <td className="px-6 py-4 text-sm !text-white/50">
232
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
229
233
  true
230
234
  </td>
231
- <td className="px-6 py-4 text-sm !text-white/70">
235
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
232
236
  Whether to wrap the icon with accessibility feature
233
237
  </td>
234
238
  </tr>
235
- <tr className="border-b border-white/5 !bg-black/10">
236
- <td className="px-6 py-4 font-mono text-sm !text-slate-300">
239
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
240
+ <td className="text-fm-secondary! px-6 py-4 font-mono text-sm">
237
241
  height
238
242
  </td>
239
- <td className="px-6 py-4 text-sm !text-white/70">
243
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
240
244
  number | string
241
245
  </td>
242
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
243
- <td className="px-6 py-4 text-sm !text-white/70">
246
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
247
+ 24
248
+ </td>
249
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
244
250
  Height of the icon in pixels
245
251
  </td>
246
252
  </tr>
247
- <tr className="border-b border-white/5">
248
- <td className="px-6 py-4 font-mono text-sm !text-slate-300">
253
+ <tr className="border-fm-divider-tertiary border-b">
254
+ <td className="text-fm-secondary! px-6 py-4 font-mono text-sm">
249
255
  stroke
250
256
  </td>
251
- <td className="px-6 py-4 text-sm !text-white/70">
257
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
252
258
  string
253
259
  </td>
254
- <td className="px-6 py-4 text-sm !text-white/50">
260
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
255
261
  currentColor
256
262
  </td>
257
- <td className="px-6 py-4 text-sm !text-white/70">
263
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
258
264
  Stroke color of the icon
259
265
  </td>
260
266
  </tr>
261
- <tr className="border-b border-white/5 !bg-black/10">
262
- <td className="px-6 py-4 font-mono text-sm !text-slate-300">
267
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
268
+ <td className="text-fm-secondary! px-6 py-4 font-mono text-sm">
263
269
  strokeWidth
264
270
  </td>
265
- <td className="px-6 py-4 text-sm !text-white/70">
271
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
266
272
  string | number
267
273
  </td>
268
- <td className="px-6 py-4 text-sm !text-white/50">1</td>
269
- <td className="px-6 py-4 text-sm !text-white/70">
274
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
275
+ 1
276
+ </td>
277
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
270
278
  Stroke width of the icon lines
271
279
  </td>
272
280
  </tr>
273
- <tr className="border-b border-white/5">
274
- <td className="px-6 py-4 font-mono text-sm !text-slate-300">
281
+ <tr className="border-fm-divider-tertiary border-b">
282
+ <td className="text-fm-secondary! px-6 py-4 font-mono text-sm">
275
283
  className
276
284
  </td>
277
- <td className="px-6 py-4 text-sm !text-white/70">
285
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
278
286
  string
279
287
  </td>
280
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
281
- <td className="px-6 py-4 text-sm !text-white/70">
288
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
289
+ -
290
+ </td>
291
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
282
292
  CSS classes for styling (use for overrides)
283
293
  </td>
284
294
  </tr>
285
- <tr className="border-b border-white/5 !bg-black/10">
286
- <td className="px-6 py-4 font-mono text-sm !text-slate-300">
295
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
296
+ <td className="text-fm-secondary! px-6 py-4 font-mono text-sm">
287
297
  onClick
288
298
  </td>
289
- <td className="px-6 py-4 text-sm !text-white/70">
299
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
290
300
  function
291
301
  </td>
292
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
293
- <td className="px-6 py-4 text-sm !text-white/70">
302
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
303
+ -
304
+ </td>
305
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
294
306
  Click handler for toggle functionality
295
307
  </td>
296
308
  </tr>
297
- <tr className="!bg-black/10">
298
- <td className="px-6 py-4 font-mono text-sm !text-slate-300">
309
+ <tr className="bg-fm-surface-secondary!">
310
+ <td className="text-fm-secondary! px-6 py-4 font-mono text-sm">
299
311
  ...svgProps
300
312
  </td>
301
- <td className="px-6 py-4 text-sm !text-white/70">
313
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
302
314
  SVGProps
303
315
  </td>
304
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
305
- <td className="px-6 py-4 text-sm !text-white/70">
316
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
317
+ -
318
+ </td>
319
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
306
320
  All standard SVG element props
307
321
  </td>
308
322
  </tr>
@@ -313,50 +327,62 @@ function PasswordField() {
313
327
 
314
328
  {/* Size Variations */}
315
329
  <div className="!space-y-8">
316
- <h2 className="text-center text-3xl font-bold !text-white">
330
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
317
331
  Size Variations
318
332
  </h2>
319
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
333
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
320
334
  <div className="!space-y-6">
321
335
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
322
336
  <div className="!space-y-4">
323
- <h3 className="text-lg font-semibold !text-slate-300">
337
+ <h3 className="text-fm-secondary! text-lg font-semibold">
324
338
  Standard Sizes
325
339
  </h3>
326
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
340
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
327
341
  <div className="text-center">
328
- <EyeCloseIcon className="!mx-auto mb-2 h-3 w-3 text-slate-400" />
329
- <span className="text-xs text-white/60">12px</span>
342
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-3 w-3" />
343
+ <span className="text-fm-tertiary text-xs">
344
+ 12px
345
+ </span>
330
346
  </div>
331
347
  <div className="text-center">
332
- <EyeCloseIcon className="!mx-auto mb-2 h-4 w-4 text-slate-400" />
333
- <span className="text-xs text-white/60">16px</span>
348
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-4 w-4" />
349
+ <span className="text-fm-tertiary text-xs">
350
+ 16px
351
+ </span>
334
352
  </div>
335
353
  <div className="text-center">
336
- <EyeCloseIcon className="!mx-auto mb-2 h-5 w-5 text-slate-400" />
337
- <span className="text-xs text-white/60">20px</span>
354
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-5 w-5" />
355
+ <span className="text-fm-tertiary text-xs">
356
+ 20px
357
+ </span>
338
358
  </div>
339
359
  <div className="text-center">
340
- <EyeCloseIcon className="!mx-auto mb-2 h-6 w-6 text-slate-400" />
341
- <span className="text-xs text-white/60">24px</span>
360
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-6 w-6" />
361
+ <span className="text-fm-tertiary text-xs">
362
+ 24px
363
+ </span>
342
364
  </div>
343
365
  <div className="text-center">
344
- <EyeCloseIcon className="!mx-auto mb-2 h-8 w-8 text-slate-400" />
345
- <span className="text-xs text-white/60">32px</span>
366
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-8 w-8" />
367
+ <span className="text-fm-tertiary text-xs">
368
+ 32px
369
+ </span>
346
370
  </div>
347
371
  <div className="text-center">
348
- <EyeCloseIcon className="!mx-auto mb-2 h-12 w-12 text-slate-400" />
349
- <span className="text-xs text-white/60">48px</span>
372
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-12 w-12" />
373
+ <span className="text-fm-tertiary text-xs">
374
+ 48px
375
+ </span>
350
376
  </div>
351
377
  </div>
352
378
  </div>
353
379
 
354
380
  <div className="!space-y-4">
355
- <h3 className="text-lg font-semibold !text-slate-300">
381
+ <h3 className="text-fm-secondary! text-lg font-semibold">
356
382
  Code Example
357
383
  </h3>
358
- <div className="rounded-lg bg-black/40 p-4">
359
- <pre className="overflow-x-auto text-sm !text-cyan-300">
384
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
385
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
360
386
  {`// Small (16px)
361
387
  <EyeCloseIcon className="h-4 w-4 " />
362
388
 
@@ -382,56 +408,56 @@ function PasswordField() {
382
408
 
383
409
  {/* Color Variations */}
384
410
  <div className="!space-y-8">
385
- <h2 className="text-center text-3xl font-bold !text-white">
411
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
386
412
  Color Variations
387
413
  </h2>
388
414
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
389
415
  <div className="!space-y-4">
390
- <h3 className="text-lg font-semibold !text-slate-300">
416
+ <h3 className="text-fm-secondary! text-lg font-semibold">
391
417
  Semantic Colors
392
418
  </h3>
393
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
419
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
394
420
  <div className="flex items-center gap-4">
395
- <EyeCloseIcon className="h-6 w-6 text-slate-400" />
421
+ <EyeCloseIcon className="text-fm-tertiary h-6 w-6" />
396
422
  <div>
397
- <div className="text-sm font-medium text-white">
423
+ <div className="text-fm-icon-active text-sm font-medium">
398
424
  Default / Hidden
399
425
  </div>
400
- <div className="text-xs text-white/60">
401
- text-slate-400
426
+ <div className="text-fm-tertiary text-xs">
427
+ text-fm-tertiary
402
428
  </div>
403
429
  </div>
404
430
  </div>
405
431
  <div className="flex items-center gap-4">
406
- <EyeCloseIcon className="h-6 w-6 text-gray-400" />
432
+ <EyeCloseIcon className="text-fm-placeholder h-6 w-6" />
407
433
  <div>
408
- <div className="text-sm font-medium text-white">
434
+ <div className="text-fm-icon-active text-sm font-medium">
409
435
  Disabled
410
436
  </div>
411
- <div className="text-xs text-white/60">
412
- text-gray-400
437
+ <div className="text-fm-tertiary text-xs">
438
+ text-fm-placeholder
413
439
  </div>
414
440
  </div>
415
441
  </div>
416
442
  <div className="flex items-center gap-4">
417
- <EyeCloseIcon className="h-6 w-6 text-red-400" />
443
+ <EyeCloseIcon className="text-fm-icon-negative h-6 w-6" />
418
444
  <div>
419
- <div className="text-sm font-medium text-white">
445
+ <div className="text-fm-icon-active text-sm font-medium">
420
446
  Restricted
421
447
  </div>
422
- <div className="text-xs text-white/60">
423
- text-red-400
448
+ <div className="text-fm-tertiary text-xs">
449
+ text-fm-icon-negative
424
450
  </div>
425
451
  </div>
426
452
  </div>
427
453
  <div className="flex items-center gap-4">
428
- <EyeCloseIcon className="h-6 w-6 text-blue-400" />
454
+ <EyeCloseIcon className="text-fm-icon-info h-6 w-6" />
429
455
  <div>
430
- <div className="text-sm font-medium text-white">
456
+ <div className="text-fm-icon-active text-sm font-medium">
431
457
  Interactive
432
458
  </div>
433
- <div className="text-xs text-white/60">
434
- text-blue-400
459
+ <div className="text-fm-tertiary text-xs">
460
+ text-fm-icon-info
435
461
  </div>
436
462
  </div>
437
463
  </div>
@@ -439,11 +465,11 @@ function PasswordField() {
439
465
  </div>
440
466
 
441
467
  <div className="!space-y-4">
442
- <h3 className="text-lg font-semibold !text-slate-300">
468
+ <h3 className="text-fm-secondary! text-lg font-semibold">
443
469
  Custom Colors
444
470
  </h3>
445
- <div className="rounded-lg bg-black/40 p-4">
446
- <pre className="overflow-x-auto text-sm !text-green-300">
471
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
472
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
447
473
  {`// Using Tailwind classes with
448
474
  <EyeCloseIcon className="h-6 w-6 text-slate-400 " />
449
475
  <EyeCloseIcon className="h-6 w-6 text-red-500 " />
@@ -469,38 +495,38 @@ function PasswordField() {
469
495
 
470
496
  {/* Usage Examples */}
471
497
  <div className="!space-y-8">
472
- <h2 className="text-center text-3xl font-bold !text-white">
498
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
473
499
  Usage Examples
474
500
  </h2>
475
501
 
476
502
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
477
503
  {/* Password Field */}
478
504
  <div className="!space-y-4">
479
- <h3 className="text-lg font-semibold !text-slate-300">
505
+ <h3 className="text-fm-secondary! text-lg font-semibold">
480
506
  Password Field Toggle
481
507
  </h3>
482
508
  <div className="!space-y-4">
483
509
  <div className="!space-y-2">
484
- <label className="text-sm font-medium !text-white">
510
+ <label className="text-fm-icon-active! text-sm font-medium">
485
511
  Password
486
512
  </label>
487
513
  <div className="relative">
488
514
  <input
489
515
  type="password"
490
- 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-slate-400 focus:ring-2 focus:ring-slate-400/20"
516
+ 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-slate-400/20"
491
517
  placeholder="Enter your password"
492
518
  defaultValue="mysecretpassword"
493
519
  />
494
- <button className="absolute top-1/2 right-2 -translate-y-1/2 rounded p-1 transition-colors hover:bg-white/10">
495
- <EyeCloseIcon className="h-5 w-5 text-slate-400" />
520
+ <button className="hover:bg-fm-surface-secondary absolute top-1/2 right-2 -translate-y-1/2 rounded p-1 transition-colors">
521
+ <EyeCloseIcon className="text-fm-tertiary h-5 w-5" />
496
522
  </button>
497
523
  </div>
498
- <p className="text-xs text-white/60">
524
+ <p className="text-fm-tertiary text-xs">
499
525
  Click the eye icon to toggle password visibility
500
526
  </p>
501
527
  </div>
502
- <div className="rounded-lg bg-black/40 p-4">
503
- <pre className="overflow-x-auto text-sm !text-green-300">
528
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
529
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
504
530
  {`// Password visibility toggle
505
531
  const [showPassword, setShowPassword] = useState(false)
506
532
 
@@ -527,32 +553,32 @@ const [showPassword, setShowPassword] = useState(false)
527
553
 
528
554
  {/* Content Filter */}
529
555
  <div className="!space-y-4">
530
- <h3 className="text-lg font-semibold !text-slate-300">
556
+ <h3 className="text-fm-secondary! text-lg font-semibold">
531
557
  Content Filter
532
558
  </h3>
533
559
  <div className="!space-y-4">
534
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
560
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
535
561
  <div className="mb-3 flex items-center justify-between">
536
- <span className="font-medium text-white">
562
+ <span className="text-fm-icon-active font-medium">
537
563
  Sensitive Content
538
564
  </span>
539
- <button className="flex items-center gap-2 text-sm text-slate-400 hover:text-white">
565
+ <button className="text-fm-tertiary hover:text-fm-icon-active flex items-center gap-2 text-sm">
540
566
  <EyeCloseIcon className="h-4 w-4" />
541
567
  Hidden
542
568
  </button>
543
569
  </div>
544
- <div className="rounded-lg bg-black/20 p-8 text-center">
545
- <EyeCloseIcon className="mx-auto mb-3 h-12 w-12 text-slate-600" />
546
- <p className="text-sm !text-white/60">
570
+ <div className="bg-fm-surface-secondary rounded-lg p-8 text-center">
571
+ <EyeCloseIcon className="text-fm-icon-inactive mx-auto mb-3 h-12 w-12" />
572
+ <p className="text-fm-tertiary! text-sm">
547
573
  Content hidden due to privacy settings
548
574
  </p>
549
- <button className="mt-2 text-xs text-blue-400 hover:text-blue-300">
575
+ <button className="text-fm-icon-info hover:text-fm-icon-info mt-2 text-xs">
550
576
  Show content
551
577
  </button>
552
578
  </div>
553
579
  </div>
554
- <div className="rounded-lg bg-black/40 p-4">
555
- <pre className="overflow-x-auto text-sm !text-green-300">
580
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
581
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
556
582
  {`// Content filter with hidden state
557
583
  <div className="rounded-lg bg-black/20 p-8 text-center">
558
584
  <EyeCloseIcon className="mx-auto h-12 w-12 text-slate-600 mb-3 " />
@@ -571,56 +597,56 @@ const [showPassword, setShowPassword] = useState(false)
571
597
 
572
598
  {/* Privacy Settings */}
573
599
  <div className="!space-y-4">
574
- <h3 className="text-lg font-semibold !text-slate-300">
600
+ <h3 className="text-fm-secondary! text-lg font-semibold">
575
601
  Privacy Settings
576
602
  </h3>
577
603
  <div className="!space-y-4">
578
604
  <div className="!space-y-3">
579
- <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-4">
605
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-4">
580
606
  <div className="flex items-center gap-3">
581
- <EyeCloseIcon className="h-5 w-5 text-slate-400" />
607
+ <EyeCloseIcon className="text-fm-tertiary h-5 w-5" />
582
608
  <div>
583
- <div className="text-sm font-medium text-white">
609
+ <div className="text-fm-icon-active text-sm font-medium">
584
610
  Profile Visibility
585
611
  </div>
586
- <div className="text-xs text-white/60">
612
+ <div className="text-fm-tertiary text-xs">
587
613
  Your profile is hidden from search
588
614
  </div>
589
615
  </div>
590
616
  </div>
591
617
  <div className="flex items-center">
592
- <span className="mr-3 text-xs text-slate-400">
618
+ <span className="text-fm-tertiary mr-3 text-xs">
593
619
  Private
594
620
  </span>
595
- <div className="relative h-6 w-11 rounded-full bg-slate-600">
596
- <div className="absolute top-1 left-1 h-4 w-4 rounded-full bg-white transition-transform"></div>
621
+ <div className="bg-fm-icon-inactive relative h-6 w-11 rounded-full">
622
+ <div className="bg-fm-surface-contrast absolute top-1 left-1 h-4 w-4 rounded-full transition-transform"></div>
597
623
  </div>
598
624
  </div>
599
625
  </div>
600
- <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-4">
626
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-4">
601
627
  <div className="flex items-center gap-3">
602
- <EyeCloseIcon className="h-5 w-5 text-slate-400" />
628
+ <EyeCloseIcon className="text-fm-tertiary h-5 w-5" />
603
629
  <div>
604
- <div className="text-sm font-medium text-white">
630
+ <div className="text-fm-icon-active text-sm font-medium">
605
631
  Activity Status
606
632
  </div>
607
- <div className="text-xs text-white/60">
633
+ <div className="text-fm-tertiary text-xs">
608
634
  Hide your online status
609
635
  </div>
610
636
  </div>
611
637
  </div>
612
638
  <div className="flex items-center">
613
- <span className="mr-3 text-xs text-slate-400">
639
+ <span className="text-fm-tertiary mr-3 text-xs">
614
640
  Hidden
615
641
  </span>
616
- <div className="relative h-6 w-11 rounded-full bg-slate-600">
617
- <div className="absolute top-1 left-1 h-4 w-4 rounded-full bg-white transition-transform"></div>
642
+ <div className="bg-fm-icon-inactive relative h-6 w-11 rounded-full">
643
+ <div className="bg-fm-surface-contrast absolute top-1 left-1 h-4 w-4 rounded-full transition-transform"></div>
618
644
  </div>
619
645
  </div>
620
646
  </div>
621
647
  </div>
622
- <div className="rounded-lg bg-black/40 p-4">
623
- <pre className="overflow-x-auto text-sm !text-green-300">
648
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
649
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
624
650
  {`// Privacy setting item
625
651
  <div className="flex items-center justify-between p-4 border border-white/10 bg-white/5 rounded-lg">
626
652
  <div className="flex items-center gap-3">
@@ -639,34 +665,34 @@ const [showPassword, setShowPassword] = useState(false)
639
665
 
640
666
  {/* Data Protection */}
641
667
  <div className="!space-y-4">
642
- <h3 className="text-lg font-semibold !text-slate-300">
668
+ <h3 className="text-fm-secondary! text-lg font-semibold">
643
669
  Data Protection
644
670
  </h3>
645
671
  <div className="!space-y-4">
646
- <div className="rounded-lg border border-slate-500/20 bg-slate-500/10 p-4">
672
+ <div className="border-fm-divider-secondary bg-fm-icon-inactive/10 rounded-lg border p-4">
647
673
  <div className="flex items-start gap-3">
648
- <EyeCloseIcon className="mt-0.5 h-5 w-5 flex-shrink-0 text-slate-400" />
674
+ <EyeCloseIcon className="text-fm-tertiary mt-0.5 h-5 w-5 flex-shrink-0" />
649
675
  <div>
650
- <h4 className="font-medium !text-slate-200">
676
+ <h4 className="text-fm-secondary! font-medium">
651
677
  Encrypted Data
652
678
  </h4>
653
- <p className="text-sm !text-slate-300/80">
679
+ <p className="text-fm-secondary!/80 text-sm">
654
680
  Your personal information is encrypted and
655
681
  protected from unauthorized access.
656
682
  </p>
657
683
  <div className="mt-2 flex gap-2">
658
- <span className="inline-flex items-center rounded bg-slate-500/20 px-2 py-1 text-xs text-slate-300">
684
+ <span className="bg-fm-icon-inactive/20 text-fm-secondary inline-flex items-center rounded px-2 py-1 text-xs">
659
685
  End-to-end encrypted
660
686
  </span>
661
- <span className="inline-flex items-center rounded bg-green-500/20 px-2 py-1 text-xs text-green-300">
687
+ <span className="bg-fm-icon-positive/20 text-fm-icon-positive inline-flex items-center rounded px-2 py-1 text-xs">
662
688
  Secure
663
689
  </span>
664
690
  </div>
665
691
  </div>
666
692
  </div>
667
693
  </div>
668
- <div className="rounded-lg bg-black/40 p-4">
669
- <pre className="overflow-x-auto text-sm !text-green-300">
694
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
695
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
670
696
  {`// Data protection notice
671
697
  <div className="border border-slate-500/20 bg-slate-500/10 p-4 rounded-lg">
672
698
  <div className="flex items-start gap-3">
@@ -688,64 +714,64 @@ const [showPassword, setShowPassword] = useState(false)
688
714
 
689
715
  {/* Accessibility */}
690
716
  <div className="!space-y-8">
691
- <h2 className="text-center text-3xl font-bold !text-white">
717
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
692
718
  Accessibility Features
693
719
  </h2>
694
720
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
695
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
696
- <h3 className="text-lg font-semibold !text-green-300">
721
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
722
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
697
723
  ✅ Built-in Features
698
724
  </h3>
699
- <ul className="!space-y-2 text-sm !text-white/70">
700
- <li className="!text-white/70">
725
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
726
+ <li className="text-fm-secondary!">
701
727
  Uses Radix UI AccessibleIcon wrapper
702
728
  </li>
703
- <li className="!text-white/70">
729
+ <li className="text-fm-secondary!">
704
730
  Provides screen reader label "Eye Close icon"
705
731
  </li>
706
- <li className="!text-white/70">
732
+ <li className="text-fm-secondary!">
707
733
  Supports keyboard navigation when interactive
708
734
  </li>
709
- <li className="!text-white/70">
735
+ <li className="text-fm-secondary!">
710
736
  Maintains proper color contrast ratios
711
737
  </li>
712
- <li className="!text-white/70">
738
+ <li className="text-fm-secondary!">
713
739
  Scales with user's font size preferences
714
740
  </li>
715
741
  </ul>
716
742
  </div>
717
743
 
718
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
719
- <h3 className="text-lg font-semibold !text-slate-300">
744
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
745
+ <h3 className="text-fm-secondary! text-lg font-semibold">
720
746
  💡 Best Practices
721
747
  </h3>
722
- <ul className="!space-y-2 text-sm text-white/70">
723
- <li className="!text-white/70">
748
+ <ul className="text-fm-secondary !space-y-2 text-sm">
749
+ <li className="text-fm-secondary!">
724
750
  Always provide clear button labels for toggle actions
725
751
  </li>
726
- <li className="!text-white/70">
752
+ <li className="text-fm-secondary!">
727
753
  Use consistent placement in form fields
728
754
  </li>
729
- <li className="!text-white/70">
755
+ <li className="text-fm-secondary!">
730
756
  Ensure sufficient touch target size (44px minimum)
731
757
  </li>
732
- <li className="!text-white/70">
758
+ <li className="text-fm-secondary!">
733
759
  Provide visible focus states for keyboard users
734
760
  </li>
735
- <li className="!text-white/70">
761
+ <li className="text-fm-secondary!">
736
762
  Consider screen reader announcements for state changes
737
763
  </li>
738
764
  </ul>
739
765
  </div>
740
766
  </div>
741
767
 
742
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
743
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
768
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
769
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
744
770
  Proper ARIA Implementation
745
771
  </h3>
746
772
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
747
- <div className="rounded-lg bg-black/40 p-4">
748
- <pre className="overflow-x-auto text-sm !text-cyan-300">
773
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
774
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
749
775
  {`// Password toggle with proper ARIA
750
776
  <button
751
777
  aria-label={showPassword ? "Hide password" : "Show password"}
@@ -774,13 +800,13 @@ const [showPassword, setShowPassword] = useState(false)
774
800
  </pre>
775
801
  </div>
776
802
  <div className="!space-y-4">
777
- <p className="text-sm !text-white/70">
803
+ <p className="text-fm-secondary! text-sm">
778
804
  When using EyeCloseIcon for interactive elements, always
779
805
  provide descriptive aria-label attributes that explain
780
806
  the current state and what will happen when activated.
781
807
  </p>
782
- <div className="rounded-lg border border-slate-500/20 bg-slate-500/10 p-4">
783
- <div className="flex items-center gap-2 text-sm text-slate-200">
808
+ <div className="border-fm-divider-secondary bg-fm-icon-inactive/10 rounded-lg border p-4">
809
+ <div className="text-fm-secondary flex items-center gap-2 text-sm">
784
810
  <EyeCloseIcon className="h-4 w-4" />
785
811
  <span>
786
812
  Screen readers need context about visibility states
@@ -794,44 +820,54 @@ const [showPassword, setShowPassword] = useState(false)
794
820
 
795
821
  {/* Related Icons */}
796
822
  <div className="!space-y-8">
797
- <h2 className="text-center text-3xl font-bold !text-white">
823
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
798
824
  Related Icons
799
825
  </h2>
800
826
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
801
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
802
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
827
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
828
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
803
829
  <span className="text-2xl">👁️</span>
804
830
  </div>
805
831
  <div>
806
- <div className="font-medium text-white">EyeIcon</div>
807
- <div className="text-xs text-white/60">Show content</div>
832
+ <div className="text-fm-icon-active font-medium">
833
+ EyeIcon
834
+ </div>
835
+ <div className="text-fm-tertiary text-xs">
836
+ Show content
837
+ </div>
808
838
  </div>
809
839
  </div>
810
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
811
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-red-500/20">
840
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
841
+ <div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
812
842
  <span className="text-2xl">🔒</span>
813
843
  </div>
814
844
  <div>
815
- <div className="font-medium text-white">LockIcon</div>
816
- <div className="text-xs text-white/60">Security</div>
845
+ <div className="text-fm-icon-active font-medium">
846
+ LockIcon
847
+ </div>
848
+ <div className="text-fm-tertiary text-xs">Security</div>
817
849
  </div>
818
850
  </div>
819
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
820
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
851
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
852
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
821
853
  <span className="text-2xl">🛡️</span>
822
854
  </div>
823
855
  <div>
824
- <div className="font-medium text-white">ShieldIcon</div>
825
- <div className="text-xs text-white/60">Protection</div>
856
+ <div className="text-fm-icon-active font-medium">
857
+ ShieldIcon
858
+ </div>
859
+ <div className="text-fm-tertiary text-xs">Protection</div>
826
860
  </div>
827
861
  </div>
828
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
829
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
862
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
863
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
830
864
  <span className="text-2xl">⚙️</span>
831
865
  </div>
832
866
  <div>
833
- <div className="font-medium text-white">SettingsIcon</div>
834
- <div className="text-xs text-white/60">Configure</div>
867
+ <div className="text-fm-icon-active font-medium">
868
+ SettingsIcon
869
+ </div>
870
+ <div className="text-fm-tertiary text-xs">Configure</div>
835
871
  </div>
836
872
  </div>
837
873
  </div>
@@ -839,14 +875,14 @@ const [showPassword, setShowPassword] = useState(false)
839
875
  </div>
840
876
 
841
877
  {/* Footer */}
842
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
878
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
843
879
  <div className="!mx-auto max-w-7xl px-6 py-8">
844
880
  <div className="!space-y-4 text-center">
845
- <p className="!text-white/60">
881
+ <p className="text-fm-tertiary!">
846
882
  EyeCloseIcon is part of the Aural UI icon library, built
847
883
  with privacy and accessibility in mind.
848
884
  </p>
849
- <p className="text-sm !text-white/40">
885
+ <p className="text-fm-placeholder! text-sm">
850
886
  All icons use Radix UI's AccessibleIcon for screen reader
851
887
  compatibility and follow WCAG guidelines.
852
888
  </p>
@@ -899,20 +935,20 @@ const storyParameters = {
899
935
  backgrounds: {
900
936
  default: "dark",
901
937
  values: [
902
- { name: "dark", value: "#0a0a0a" },
903
- { name: "darker", value: "#000000" },
938
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
939
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
904
940
  ],
905
941
  },
906
942
  }
907
943
 
908
944
  export const Default: Story = {
909
945
  args: {
910
- className: "h-6 w-6 text-slate-400 ",
946
+ className: "h-6 w-6 text-fm-tertiary ",
911
947
  withAccessibility: true,
912
948
  },
913
949
  parameters: storyParameters,
914
950
  render: (args) => (
915
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
951
+ <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">
916
952
  <EyeCloseIcon {...args} />
917
953
  </div>
918
954
  ),
@@ -929,30 +965,30 @@ export const SizeVariations: Story = {
929
965
  },
930
966
  },
931
967
  render: () => (
932
- <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">
968
+ <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">
933
969
  <div className="text-center">
934
- <EyeCloseIcon className="!mx-auto mb-2 h-3 w-3 text-slate-400" />
935
- <span className="text-xs text-white/60">12px</span>
970
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-3 w-3" />
971
+ <span className="text-fm-tertiary text-xs">12px</span>
936
972
  </div>
937
973
  <div className="text-center">
938
- <EyeCloseIcon className="!mx-auto mb-2 h-4 w-4 text-slate-400" />
939
- <span className="text-xs text-white/60">16px</span>
974
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-4 w-4" />
975
+ <span className="text-fm-tertiary text-xs">16px</span>
940
976
  </div>
941
977
  <div className="text-center">
942
- <EyeCloseIcon className="!mx-auto mb-2 h-5 w-5 text-slate-400" />
943
- <span className="text-xs text-white/60">20px</span>
978
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-5 w-5" />
979
+ <span className="text-fm-tertiary text-xs">20px</span>
944
980
  </div>
945
981
  <div className="text-center">
946
- <EyeCloseIcon className="!mx-auto mb-2 h-6 w-6 text-slate-400" />
947
- <span className="text-xs text-white/60">24px</span>
982
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-6 w-6" />
983
+ <span className="text-fm-tertiary text-xs">24px</span>
948
984
  </div>
949
985
  <div className="text-center">
950
- <EyeCloseIcon className="!mx-auto mb-2 h-8 w-8 text-slate-400" />
951
- <span className="text-xs text-white/60">32px</span>
986
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-8 w-8" />
987
+ <span className="text-fm-tertiary text-xs">32px</span>
952
988
  </div>
953
989
  <div className="text-center">
954
- <EyeCloseIcon className="!mx-auto mb-2 h-12 w-12 text-slate-400" />
955
- <span className="text-xs text-white/60">48px</span>
990
+ <EyeCloseIcon className="text-fm-tertiary !mx-auto mb-2 h-12 w-12" />
991
+ <span className="text-fm-tertiary text-xs">48px</span>
956
992
  </div>
957
993
  </div>
958
994
  ),
@@ -969,34 +1005,40 @@ export const ColorVariations: Story = {
969
1005
  },
970
1006
  },
971
1007
  render: () => (
972
- <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">
1008
+ <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">
973
1009
  <div className="text-center">
974
- <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">
975
- <EyeCloseIcon className="h-8 w-8 text-slate-400" />
1010
+ <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">
1011
+ <EyeCloseIcon className="text-fm-tertiary h-8 w-8" />
976
1012
  </div>
977
- <div className="text-sm font-medium text-white">Default</div>
978
- <div className="text-xs text-slate-400">text-slate-400</div>
1013
+ <div className="text-fm-icon-active text-sm font-medium">Default</div>
1014
+ <div className="text-fm-tertiary text-xs">text-fm-tertiary</div>
979
1015
  </div>
980
1016
  <div className="text-center">
981
- <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">
982
- <EyeCloseIcon className="h-8 w-8 text-gray-400" />
1017
+ <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">
1018
+ <EyeCloseIcon className="text-fm-placeholder h-8 w-8" />
983
1019
  </div>
984
- <div className="text-sm font-medium text-white">Disabled</div>
985
- <div className="text-xs text-gray-400">text-gray-400</div>
1020
+ <div className="text-fm-icon-active text-sm font-medium">Disabled</div>
1021
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
986
1022
  </div>
987
1023
  <div className="text-center">
988
- <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">
989
- <EyeCloseIcon className="h-8 w-8 text-red-400" />
1024
+ <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">
1025
+ <EyeCloseIcon className="text-fm-icon-negative h-8 w-8" />
1026
+ </div>
1027
+ <div className="text-fm-icon-active text-sm font-medium">
1028
+ Restricted
1029
+ </div>
1030
+ <div className="text-fm-icon-negative text-xs">
1031
+ text-fm-icon-negative
990
1032
  </div>
991
- <div className="text-sm font-medium text-white">Restricted</div>
992
- <div className="text-xs text-red-400">text-red-400</div>
993
1033
  </div>
994
1034
  <div className="text-center">
995
- <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">
996
- <EyeCloseIcon className="h-8 w-8 text-blue-400" />
1035
+ <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">
1036
+ <EyeCloseIcon className="text-fm-icon-info h-8 w-8" />
1037
+ </div>
1038
+ <div className="text-fm-icon-active text-sm font-medium">
1039
+ Interactive
997
1040
  </div>
998
- <div className="text-sm font-medium text-white">Interactive</div>
999
- <div className="text-xs text-blue-400">text-blue-400</div>
1041
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1000
1042
  </div>
1001
1043
  </div>
1002
1044
  ),
@@ -1013,34 +1055,36 @@ export const UsageExamples: Story = {
1013
1055
  },
1014
1056
  },
1015
1057
  render: () => (
1016
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1058
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1017
1059
  {/* Password Field */}
1018
1060
  <div className="!space-y-2">
1019
- <h3 className="text-sm font-medium text-white">
1061
+ <h3 className="text-fm-icon-active text-sm font-medium">
1020
1062
  Password Field Toggle
1021
1063
  </h3>
1022
1064
  <div className="relative">
1023
1065
  <input
1024
1066
  type="password"
1025
- className="w-full rounded-lg border border-white/20 bg-white/5 px-3 py-2 pr-10 text-white placeholder-white/50"
1067
+ className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active w-full rounded-lg border px-3 py-2 pr-10 placeholder-white/50"
1026
1068
  placeholder="Enter your password"
1027
1069
  defaultValue="mysecretpassword"
1028
1070
  />
1029
- <button className="absolute top-1/2 right-2 -translate-y-1/2 rounded p-1 hover:bg-white/10">
1030
- <EyeCloseIcon className="h-5 w-5 text-slate-400" />
1071
+ <button className="hover:bg-fm-surface-secondary absolute top-1/2 right-2 -translate-y-1/2 rounded p-1">
1072
+ <EyeCloseIcon className="text-fm-tertiary h-5 w-5" />
1031
1073
  </button>
1032
1074
  </div>
1033
1075
  </div>
1034
1076
 
1035
1077
  {/* Content Filter */}
1036
1078
  <div className="!space-y-2">
1037
- <h3 className="text-sm font-medium text-white">Content Filter</h3>
1038
- <div className="rounded-lg border border-white/10 bg-black/20 p-8 text-center">
1039
- <EyeCloseIcon className="mx-auto mb-3 h-12 w-12 text-slate-600" />
1040
- <p className="text-sm text-white/60">
1079
+ <h3 className="text-fm-icon-active text-sm font-medium">
1080
+ Content Filter
1081
+ </h3>
1082
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8 text-center">
1083
+ <EyeCloseIcon className="text-fm-icon-inactive mx-auto mb-3 h-12 w-12" />
1084
+ <p className="text-fm-tertiary text-sm">
1041
1085
  Content hidden due to privacy settings
1042
1086
  </p>
1043
- <button className="mt-2 text-xs text-blue-400 hover:text-blue-300">
1087
+ <button className="text-fm-icon-info hover:text-fm-icon-info mt-2 text-xs">
1044
1088
  Show content
1045
1089
  </button>
1046
1090
  </div>
@@ -1048,22 +1092,24 @@ export const UsageExamples: Story = {
1048
1092
 
1049
1093
  {/* Privacy Settings */}
1050
1094
  <div className="!space-y-2">
1051
- <h3 className="text-sm font-medium text-white">Privacy Settings</h3>
1052
- <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-4">
1095
+ <h3 className="text-fm-icon-active text-sm font-medium">
1096
+ Privacy Settings
1097
+ </h3>
1098
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-4">
1053
1099
  <div className="flex items-center gap-3">
1054
- <EyeCloseIcon className="h-5 w-5 text-slate-400" />
1100
+ <EyeCloseIcon className="text-fm-tertiary h-5 w-5" />
1055
1101
  <div>
1056
- <div className="text-sm font-medium text-white">
1102
+ <div className="text-fm-icon-active text-sm font-medium">
1057
1103
  Profile Visibility
1058
1104
  </div>
1059
- <div className="text-xs text-white/60">
1105
+ <div className="text-fm-tertiary text-xs">
1060
1106
  Your profile is hidden from search
1061
1107
  </div>
1062
1108
  </div>
1063
1109
  </div>
1064
1110
  <div className="flex items-center">
1065
- <span className="mr-3 text-xs text-slate-400">Private</span>
1066
- <div className="h-6 w-11 rounded-full bg-slate-600"></div>
1111
+ <span className="text-fm-tertiary mr-3 text-xs">Private</span>
1112
+ <div className="bg-fm-icon-inactive h-6 w-11 rounded-full"></div>
1067
1113
  </div>
1068
1114
  </div>
1069
1115
  </div>
@@ -1084,12 +1130,12 @@ export const Playground: Story = {
1084
1130
  args: {
1085
1131
  width: 32,
1086
1132
  height: 32,
1087
- className: "text-slate-400 ",
1133
+ className: "text-fm-tertiary ",
1088
1134
  strokeWidth: 1,
1089
1135
  },
1090
1136
  render: (args) => (
1091
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1092
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1137
+ <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">
1138
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1093
1139
  <EyeCloseIcon {...args} />
1094
1140
  </div>
1095
1141
  </div>