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 TickIcon> = {
11
11
  backgrounds: {
12
12
  default: "dark",
13
13
  values: [
14
- { name: "dark", value: "#0a0a0a" },
15
- { name: "darker", value: "#000000" },
16
- { name: "light", value: "#ffffff" },
14
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
15
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
16
+ { name: "light", value: "var(--color-fm-neutral-1100)" },
17
17
  ],
18
18
  },
19
19
  docs: {
@@ -40,42 +40,42 @@ const meta: Meta<typeof TickIcon> = {
40
40
  background: transparent !important;
41
41
  }
42
42
  body {
43
- background: #0a0a0a !important;
43
+ background: var(--color-fm-surface-primary) !important;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a !important;
46
+ background: var(--color-fm-surface-primary) !important;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent !important;
50
50
  border: none !important;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white !important;
53
+ color: var(--color-fm-icon-active) !important;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) !important;
56
+ color: var(--color-fm-secondary) !important;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) !important;
60
- color: rgba(168, 85, 247, 1) !important;
61
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
59
+ background: var(--color-fm-surface-secondary) !important;
60
+ color: var(--color-fm-secondary-500) !important;
61
+ border: 1px solid var(--color-fm-divider-secondary) !important;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) !important;
65
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
64
+ background: var(--color-fm-surface-secondary) !important;
65
+ border: 1px solid var(--color-fm-divider-secondary) !important;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) !important;
69
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
68
+ background: var(--color-fm-surface-secondary) !important;
69
+ border: 1px solid var(--color-fm-divider-secondary) !important;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) !important;
73
- color: white !important;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
72
+ background: var(--color-fm-surface-secondary) !important;
73
+ color: var(--color-fm-icon-active) !important;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) !important;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
77
+ color: var(--color-fm-secondary) !important;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
79
79
  }
80
80
  @keyframes tick-draw {
81
81
  0% { stroke-dashoffset: 20; }
@@ -95,19 +95,19 @@ const meta: Meta<typeof TickIcon> = {
95
95
  `}
96
96
  </style>
97
97
 
98
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-green-900/20 to-gray-900">
98
+ <div className="from-fm-surface-primary via-fm-icon-positive/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
99
99
  {/* Header */}
100
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
101
- <div className="absolute inset-0 bg-gradient-to-r from-green-500/10 via-transparent to-emerald-500/10" />
100
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
101
+ <div className="from-fm-icon-positive/10 to-fm-icon-positive/10 absolute inset-0 bg-linear-to-r via-transparent" />
102
102
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
103
103
  <div className="!space-y-6 text-center">
104
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-green-500/30 bg-gradient-to-br from-green-500/20 to-emerald-500/20">
105
- <TickIcon className="h-12 w-12 text-green-400" />
104
+ <div className="border-fm-icon-positive/30 from-fm-icon-positive/20 to-fm-icon-positive/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
105
+ <TickIcon className="text-fm-icon-positive h-12 w-12" />
106
106
  </div>
107
107
  <h1 className="!text-fm-primary text-5xl font-bold">
108
108
  TickIcon
109
109
  </h1>
110
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
110
+ <p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
111
111
  A simple checkmark icon for success states, completed tasks,
112
112
  and positive feedback. Features a clean stroke-based design
113
113
  that works perfectly for checkboxes, form validation, and
@@ -118,28 +118,28 @@ const meta: Meta<typeof TickIcon> = {
118
118
  {/* Stats */}
119
119
  <div className="flex items-center justify-center gap-8 pt-8">
120
120
  <div className="text-center">
121
- <div className="text-3xl font-bold text-green-300">
121
+ <div className="text-fm-icon-positive text-3xl font-bold">
122
122
  Clean
123
123
  </div>
124
- <div className="text-sm text-white/60">
124
+ <div className="text-fm-tertiary text-sm">
125
125
  Minimal design
126
126
  </div>
127
127
  </div>
128
- <div className="h-8 w-px bg-white/20" />
128
+ <div className="bg-fm-divider-primary h-8 w-px" />
129
129
  <div className="text-center">
130
- <div className="text-3xl font-bold text-emerald-300">
130
+ <div className="text-fm-icon-positive text-3xl font-bold">
131
131
  Scalable
132
132
  </div>
133
- <div className="text-sm text-white/60">
133
+ <div className="text-fm-tertiary text-sm">
134
134
  Stroke-based vector
135
135
  </div>
136
136
  </div>
137
- <div className="h-8 w-px bg-white/20" />
137
+ <div className="bg-fm-divider-primary h-8 w-px" />
138
138
  <div className="text-center">
139
- <div className="text-3xl font-bold text-teal-300">
139
+ <div className="text-fm-icon-info text-3xl font-bold">
140
140
  Versatile
141
141
  </div>
142
- <div className="text-sm text-white/60">
142
+ <div className="text-fm-tertiary text-sm">
143
143
  Multiple use cases
144
144
  </div>
145
145
  </div>
@@ -152,16 +152,16 @@ const meta: Meta<typeof TickIcon> = {
152
152
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
153
153
  {/* Quick Usage */}
154
154
  <div className="!space-y-8">
155
- <h2 className="text-center text-3xl font-bold !text-white">
155
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
156
156
  Quick Start
157
157
  </h2>
158
158
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
159
159
  <div className="!space-y-4">
160
- <h3 className="text-xl font-semibold !text-green-300">
160
+ <h3 className="text-fm-icon-positive! text-xl font-semibold">
161
161
  Basic Usage
162
162
  </h3>
163
- <div className="rounded-lg bg-black/40 p-4">
164
- <pre className="overflow-x-auto text-sm !text-green-300">
163
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
164
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
165
165
  {`import { TickIcon } from "@icons/tick-icon"
166
166
 
167
167
  function CheckboxComponent() {
@@ -177,13 +177,15 @@ function CheckboxComponent() {
177
177
  </div>
178
178
 
179
179
  <div className="!space-y-4">
180
- <h3 className="text-xl font-semibold !text-green-300">
180
+ <h3 className="text-fm-icon-positive! text-xl font-semibold">
181
181
  Live Preview
182
182
  </h3>
183
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
184
- <div className="flex items-center gap-3 rounded-lg border border-green-500/20 bg-green-500/10 px-4 py-2">
185
- <TickIcon className="h-5 w-5 text-green-400" />
186
- <span className="text-white">Task completed</span>
183
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
184
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 flex items-center gap-3 rounded-lg border px-4 py-2">
185
+ <TickIcon className="text-fm-icon-positive h-5 w-5" />
186
+ <span className="text-fm-icon-active">
187
+ Task completed
188
+ </span>
187
189
  </div>
188
190
  </div>
189
191
  </div>
@@ -192,120 +194,130 @@ function CheckboxComponent() {
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
225
  {" "}
222
- <tr className="!bg-black/10">
223
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
226
+ <tr className="bg-fm-surface-secondary!">
227
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
224
228
  withAccessibility
225
229
  </td>
226
- <td className="px-6 py-4 text-sm !text-white/70">
230
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
227
231
  boolean
228
232
  </td>
229
- <td className="px-6 py-4 text-sm !text-white/50">
233
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
230
234
  true
231
235
  </td>
232
- <td className="px-6 py-4 text-sm !text-white/70">
236
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
233
237
  Whether to wrap the icon with accessibility feature
234
238
  </td>
235
239
  </tr>
236
- <tr className="border-b border-white/5 !bg-black/10">
237
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
240
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
241
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
238
242
  height
239
243
  </td>
240
- <td className="px-6 py-4 text-sm !text-white/70">
244
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
241
245
  number | string
242
246
  </td>
243
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
244
- <td className="px-6 py-4 text-sm !text-white/70">
247
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
248
+ 24
249
+ </td>
250
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
245
251
  Height of the icon in pixels
246
252
  </td>
247
253
  </tr>
248
- <tr className="border-b border-white/5">
249
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
254
+ <tr className="border-fm-divider-tertiary border-b">
255
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
250
256
  stroke
251
257
  </td>
252
- <td className="px-6 py-4 text-sm !text-white/70">
258
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
253
259
  string
254
260
  </td>
255
- <td className="px-6 py-4 text-sm !text-white/50">
261
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
256
262
  currentColor
257
263
  </td>
258
- <td className="px-6 py-4 text-sm !text-white/70">
264
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
259
265
  Stroke color of the checkmark
260
266
  </td>
261
267
  </tr>
262
- <tr className="border-b border-white/5 !bg-black/10">
263
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
268
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
269
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
264
270
  strokeWidth
265
271
  </td>
266
- <td className="px-6 py-4 text-sm !text-white/70">
272
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
267
273
  number | string
268
274
  </td>
269
- <td className="px-6 py-4 text-sm !text-white/50">2</td>
270
- <td className="px-6 py-4 text-sm !text-white/70">
275
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
276
+ 2
277
+ </td>
278
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
271
279
  Width of the stroke line
272
280
  </td>
273
281
  </tr>
274
- <tr className="border-b border-white/5">
275
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
282
+ <tr className="border-fm-divider-tertiary border-b">
283
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
276
284
  className
277
285
  </td>
278
- <td className="px-6 py-4 text-sm !text-white/70">
286
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
279
287
  string
280
288
  </td>
281
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
282
- <td className="px-6 py-4 text-sm !text-white/70">
289
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
290
+ -
291
+ </td>
292
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
283
293
  CSS classes for styling
284
294
  </td>
285
295
  </tr>
286
- <tr className="border-b border-white/5 !bg-black/10">
287
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
296
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
297
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
288
298
  viewBox
289
299
  </td>
290
- <td className="px-6 py-4 text-sm !text-white/70">
300
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
291
301
  string
292
302
  </td>
293
- <td className="px-6 py-4 text-sm !text-white/50">
303
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
294
304
  "0 0 24 24"
295
305
  </td>
296
- <td className="px-6 py-4 text-sm !text-white/70">
306
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
297
307
  SVG viewBox for scaling
298
308
  </td>
299
309
  </tr>
300
- <tr className="!bg-black/10">
301
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
310
+ <tr className="bg-fm-surface-secondary!">
311
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
302
312
  ...svgProps
303
313
  </td>
304
- <td className="px-6 py-4 text-sm !text-white/70">
314
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
305
315
  SVGProps
306
316
  </td>
307
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
308
- <td className="px-6 py-4 text-sm !text-white/70">
317
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
318
+ -
319
+ </td>
320
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
309
321
  All standard SVG element props
310
322
  </td>
311
323
  </tr>
@@ -316,50 +328,62 @@ function CheckboxComponent() {
316
328
 
317
329
  {/* Size Variations */}
318
330
  <div className="!space-y-8">
319
- <h2 className="text-center text-3xl font-bold !text-white">
331
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
320
332
  Size Variations
321
333
  </h2>
322
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
334
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
323
335
  <div className="!space-y-6">
324
336
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
325
337
  <div className="!space-y-4">
326
- <h3 className="text-lg font-semibold !text-green-300">
338
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
327
339
  Standard Sizes
328
340
  </h3>
329
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
341
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
330
342
  <div className="text-center">
331
- <TickIcon className="!mx-auto mb-2 h-3 w-3 text-green-400" />
332
- <span className="text-xs text-white/60">12px</span>
343
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
344
+ <span className="text-fm-tertiary text-xs">
345
+ 12px
346
+ </span>
333
347
  </div>
334
348
  <div className="text-center">
335
- <TickIcon className="!mx-auto mb-2 h-4 w-4 text-green-400" />
336
- <span className="text-xs text-white/60">16px</span>
349
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
350
+ <span className="text-fm-tertiary text-xs">
351
+ 16px
352
+ </span>
337
353
  </div>
338
354
  <div className="text-center">
339
- <TickIcon className="!mx-auto mb-2 h-5 w-5 text-green-400" />
340
- <span className="text-xs text-white/60">20px</span>
355
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
356
+ <span className="text-fm-tertiary text-xs">
357
+ 20px
358
+ </span>
341
359
  </div>
342
360
  <div className="text-center">
343
- <TickIcon className="!mx-auto mb-2 h-6 w-6 text-green-400" />
344
- <span className="text-xs text-white/60">24px</span>
361
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
362
+ <span className="text-fm-tertiary text-xs">
363
+ 24px
364
+ </span>
345
365
  </div>
346
366
  <div className="text-center">
347
- <TickIcon className="!mx-auto mb-2 h-8 w-8 text-green-400" />
348
- <span className="text-xs text-white/60">32px</span>
367
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
368
+ <span className="text-fm-tertiary text-xs">
369
+ 32px
370
+ </span>
349
371
  </div>
350
372
  <div className="text-center">
351
- <TickIcon className="!mx-auto mb-2 h-12 w-12 text-green-400" />
352
- <span className="text-xs text-white/60">48px</span>
373
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
374
+ <span className="text-fm-tertiary text-xs">
375
+ 48px
376
+ </span>
353
377
  </div>
354
378
  </div>
355
379
  </div>
356
380
 
357
381
  <div className="!space-y-4">
358
- <h3 className="text-lg font-semibold !text-green-300">
382
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
359
383
  Code Example
360
384
  </h3>
361
- <div className="rounded-lg bg-black/40 p-4">
362
- <pre className="overflow-x-auto text-sm !text-blue-300">
385
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
386
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
363
387
  {`// Small (16px)
364
388
  <TickIcon className="h-4 w-4" />
365
389
 
@@ -384,56 +408,56 @@ function CheckboxComponent() {
384
408
 
385
409
  {/* Color Variations */}
386
410
  <div className="!space-y-8">
387
- <h2 className="text-center text-3xl font-bold !text-white">
411
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
388
412
  Color Variations
389
413
  </h2>
390
414
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
391
415
  <div className="!space-y-4">
392
- <h3 className="text-lg font-semibold !text-green-300">
416
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
393
417
  Semantic Colors
394
418
  </h3>
395
- <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">
396
420
  <div className="flex items-center gap-4">
397
- <TickIcon className="h-6 w-6 text-green-400" />
421
+ <TickIcon className="text-fm-icon-positive h-6 w-6" />
398
422
  <div>
399
- <div className="text-sm font-medium text-white">
423
+ <div className="text-fm-icon-active text-sm font-medium">
400
424
  Success
401
425
  </div>
402
- <div className="text-xs text-white/60">
403
- text-green-400
426
+ <div className="text-fm-tertiary text-xs">
427
+ text-fm-icon-positive
404
428
  </div>
405
429
  </div>
406
430
  </div>
407
431
  <div className="flex items-center gap-4">
408
- <TickIcon className="h-6 w-6 text-emerald-400" />
432
+ <TickIcon className="text-fm-icon-positive h-6 w-6" />
409
433
  <div>
410
- <div className="text-sm font-medium text-white">
434
+ <div className="text-fm-icon-active text-sm font-medium">
411
435
  Complete
412
436
  </div>
413
- <div className="text-xs text-white/60">
414
- text-emerald-400
437
+ <div className="text-fm-tertiary text-xs">
438
+ text-fm-icon-positive
415
439
  </div>
416
440
  </div>
417
441
  </div>
418
442
  <div className="flex items-center gap-4">
419
- <TickIcon className="h-6 w-6 text-blue-400" />
443
+ <TickIcon className="text-fm-icon-info h-6 w-6" />
420
444
  <div>
421
- <div className="text-sm font-medium text-white">
445
+ <div className="text-fm-icon-active text-sm font-medium">
422
446
  Selected
423
447
  </div>
424
- <div className="text-xs text-white/60">
425
- text-blue-400
448
+ <div className="text-fm-tertiary text-xs">
449
+ text-fm-icon-info
426
450
  </div>
427
451
  </div>
428
452
  </div>
429
453
  <div className="flex items-center gap-4">
430
- <TickIcon className="h-6 w-6 text-purple-400" />
454
+ <TickIcon className="text-fm-secondary-600 h-6 w-6" />
431
455
  <div>
432
- <div className="text-sm font-medium text-white">
456
+ <div className="text-fm-icon-active text-sm font-medium">
433
457
  Verified
434
458
  </div>
435
- <div className="text-xs text-white/60">
436
- text-purple-400
459
+ <div className="text-fm-tertiary text-xs">
460
+ text-fm-secondary-600
437
461
  </div>
438
462
  </div>
439
463
  </div>
@@ -441,11 +465,11 @@ function CheckboxComponent() {
441
465
  </div>
442
466
 
443
467
  <div className="!space-y-4">
444
- <h3 className="text-lg font-semibold !text-green-300">
468
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
445
469
  Custom Colors & Stroke Width
446
470
  </h3>
447
- <div className="rounded-lg bg-black/40 p-4">
448
- <pre className="overflow-x-auto text-sm !text-cyan-300">
471
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
472
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
449
473
  {`// Using Tailwind classes
450
474
  <TickIcon className="h-6 w-6 text-green-400" />
451
475
  <TickIcon className="h-6 w-6 text-emerald-500" />
@@ -477,14 +501,14 @@ function CheckboxComponent() {
477
501
 
478
502
  {/* Usage Examples */}
479
503
  <div className="!space-y-8">
480
- <h2 className="text-center text-3xl font-bold !text-white">
504
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
481
505
  Usage Examples
482
506
  </h2>
483
507
 
484
508
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
485
509
  {/* Checkbox */}
486
510
  <div className="!space-y-4">
487
- <h3 className="text-lg font-semibold !text-green-300">
511
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
488
512
  Custom Checkbox
489
513
  </h3>
490
514
  <div className="!space-y-4">
@@ -496,32 +520,32 @@ function CheckboxComponent() {
496
520
  className="peer sr-only"
497
521
  defaultChecked
498
522
  />
499
- <div className="peer-unchecked:bg-transparent peer-unchecked:border-gray-400 h-5 w-5 rounded border-2 border-green-400 bg-green-400 transition-colors peer-checked:border-green-400 peer-checked:bg-green-400" />
523
+ <div className="peer-unchecked:bg-transparent peer-unchecked:border-fm-divider-primary border-fm-icon-positive bg-fm-icon-positive peer-checked:border-fm-icon-positive peer-checked:bg-fm-icon-positive h-5 w-5 rounded border-2 transition-colors" />
500
524
  <TickIcon
501
- className="peer-unchecked:opacity-0 absolute inset-0 h-5 w-5 text-white opacity-100 transition-opacity"
525
+ className="peer-unchecked:opacity-0 text-fm-icon-active absolute inset-0 h-5 w-5 opacity-100 transition-opacity"
502
526
  strokeWidth={2}
503
527
  />
504
528
  </div>
505
- <span className="text-white">
529
+ <span className="text-fm-icon-active">
506
530
  Accept terms and conditions
507
531
  </span>
508
532
  </label>
509
533
  <label className="flex cursor-pointer items-center gap-3">
510
534
  <div className="relative">
511
535
  <input type="checkbox" className="peer sr-only" />
512
- <div className="h-5 w-5 rounded border-2 border-gray-400 bg-transparent transition-colors peer-checked:border-green-400 peer-checked:bg-green-400" />
536
+ <div className="border-fm-divider-primary peer-checked:border-fm-icon-positive peer-checked:bg-fm-icon-positive h-5 w-5 rounded border-2 bg-transparent transition-colors" />
513
537
  <TickIcon
514
- className="absolute inset-0 h-5 w-5 text-white opacity-0 transition-opacity peer-checked:opacity-100"
538
+ className="text-fm-icon-active absolute inset-0 h-5 w-5 opacity-0 transition-opacity peer-checked:opacity-100"
515
539
  strokeWidth={2}
516
540
  />
517
541
  </div>
518
- <span className="text-white">
542
+ <span className="text-fm-icon-active">
519
543
  Subscribe to newsletter
520
544
  </span>
521
545
  </label>
522
546
  </div>
523
- <div className="rounded-lg bg-black/40 p-4">
524
- <pre className="overflow-x-auto text-sm !text-cyan-300">
547
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
548
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
525
549
  {`<label className="flex items-center gap-3 cursor-pointer">
526
550
  <div className="relative">
527
551
  <input type="checkbox" className="sr-only peer" />
@@ -537,41 +561,41 @@ function CheckboxComponent() {
537
561
 
538
562
  {/* Todo List */}
539
563
  <div className="!space-y-4">
540
- <h3 className="text-lg font-semibold !text-green-300">
564
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
541
565
  Todo List
542
566
  </h3>
543
567
  <div className="!space-y-4">
544
568
  <div className="!space-y-3">
545
- <div className="flex items-center gap-3 rounded-lg border border-white/10 bg-white/5 p-3">
546
- <TickIcon className="h-5 w-5 text-green-400" />
547
- <span className="flex-1 text-white line-through opacity-70">
569
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
570
+ <TickIcon className="text-fm-icon-positive h-5 w-5" />
571
+ <span className="text-fm-icon-active flex-1 line-through opacity-70">
548
572
  Set up project repository
549
573
  </span>
550
- <span className="text-xs text-green-400">
574
+ <span className="text-fm-icon-positive text-xs">
551
575
  Completed
552
576
  </span>
553
577
  </div>
554
- <div className="flex items-center gap-3 rounded-lg border border-white/10 bg-white/5 p-3">
555
- <TickIcon className="h-5 w-5 text-green-400" />
556
- <span className="flex-1 text-white line-through opacity-70">
578
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
579
+ <TickIcon className="text-fm-icon-positive h-5 w-5" />
580
+ <span className="text-fm-icon-active flex-1 line-through opacity-70">
557
581
  Design user interface
558
582
  </span>
559
- <span className="text-xs text-green-400">
583
+ <span className="text-fm-icon-positive text-xs">
560
584
  Completed
561
585
  </span>
562
586
  </div>
563
- <div className="flex items-center gap-3 rounded-lg border border-white/10 bg-white/5 p-3">
564
- <div className="h-5 w-5 rounded-full border-2 border-white/30"></div>
565
- <span className="flex-1 text-white">
587
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
588
+ <div className="border-fm-divider-primary h-5 w-5 rounded-full border-2"></div>
589
+ <span className="text-fm-icon-active flex-1">
566
590
  Implement authentication
567
591
  </span>
568
- <span className="text-xs text-white/50">
592
+ <span className="text-fm-placeholder text-xs">
569
593
  In Progress
570
594
  </span>
571
595
  </div>
572
596
  </div>
573
- <div className="rounded-lg bg-black/40 p-4">
574
- <pre className="overflow-x-auto text-sm !text-cyan-300">
597
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
598
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
575
599
  {`// Completed task
576
600
  <div className="flex items-center gap-3 p-3 border border-white/10 bg-white/5 rounded-lg">
577
601
  <TickIcon className="h-5 w-5 text-green-400" />
@@ -592,30 +616,30 @@ function CheckboxComponent() {
592
616
 
593
617
  {/* Form Validation */}
594
618
  <div className="!space-y-4">
595
- <h3 className="text-lg font-semibold !text-green-300">
619
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
596
620
  Form Validation
597
621
  </h3>
598
622
  <div className="!space-y-4">
599
623
  <div className="!space-y-2">
600
- <label className="text-sm font-medium !text-white">
624
+ <label className="text-fm-icon-active! text-sm font-medium">
601
625
  Password
602
626
  </label>
603
627
  <div className="relative">
604
628
  <input
605
629
  type="password"
606
- className="w-full rounded-lg border border-green-500/50 bg-white/5 px-3 py-2 pr-10 !text-white focus:border-green-500 focus:ring-2 focus:ring-green-500/20"
630
+ className="border-fm-icon-positive/50 bg-fm-surface-secondary text-fm-icon-active! focus:border-fm-icon-positive w-full rounded-lg border px-3 py-2 pr-10 focus:ring-2 focus:ring-green-500/20"
607
631
  placeholder="Enter your password"
608
632
  defaultValue="securepassword123"
609
633
  />
610
- <TickIcon className="absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2 text-green-400" />
634
+ <TickIcon className="text-fm-icon-positive absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2" />
611
635
  </div>
612
- <div className="flex items-center gap-2 text-sm text-green-400">
636
+ <div className="text-fm-icon-positive flex items-center gap-2 text-sm">
613
637
  <TickIcon className="h-4 w-4" strokeWidth={2} />
614
638
  <span>Password meets all requirements</span>
615
639
  </div>
616
640
  </div>
617
- <div className="rounded-lg bg-black/40 p-4">
618
- <pre className="overflow-x-auto text-sm !text-cyan-300">
641
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
642
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
619
643
  {`// Input with validation icon
620
644
  <div className="relative">
621
645
  <input className="pr-10 border-green-500/50" />
@@ -634,46 +658,46 @@ function CheckboxComponent() {
634
658
 
635
659
  {/* Settings Toggle */}
636
660
  <div className="!space-y-4">
637
- <h3 className="text-lg font-semibold !text-green-300">
661
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
638
662
  Settings Options
639
663
  </h3>
640
664
  <div className="!space-y-4">
641
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4">
665
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
642
666
  <div className="flex items-center justify-between">
643
667
  <div className="flex items-center gap-3">
644
- <TickIcon className="h-5 w-5 text-green-400" />
668
+ <TickIcon className="text-fm-icon-positive h-5 w-5" />
645
669
  <div>
646
- <div className="font-medium text-white">
670
+ <div className="text-fm-icon-active font-medium">
647
671
  Email Notifications
648
672
  </div>
649
- <div className="text-sm text-white/60">
673
+ <div className="text-fm-tertiary text-sm">
650
674
  Receive updates via email
651
675
  </div>
652
676
  </div>
653
677
  </div>
654
- <span className="text-xs text-green-400">
678
+ <span className="text-fm-icon-positive text-xs">
655
679
  Enabled
656
680
  </span>
657
681
  </div>
658
682
  <div className="flex items-center justify-between">
659
683
  <div className="flex items-center gap-3">
660
- <div className="h-5 w-5 rounded border border-white/30"></div>
684
+ <div className="border-fm-divider-primary h-5 w-5 rounded border"></div>
661
685
  <div>
662
- <div className="font-medium text-white">
686
+ <div className="text-fm-icon-active font-medium">
663
687
  Push Notifications
664
688
  </div>
665
- <div className="text-sm text-white/60">
689
+ <div className="text-fm-tertiary text-sm">
666
690
  Receive browser notifications
667
691
  </div>
668
692
  </div>
669
693
  </div>
670
- <span className="text-xs text-white/50">
694
+ <span className="text-fm-placeholder text-xs">
671
695
  Disabled
672
696
  </span>
673
697
  </div>
674
698
  </div>
675
- <div className="rounded-lg bg-black/40 p-4">
676
- <pre className="overflow-x-auto text-sm !text-cyan-300">
699
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
700
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
677
701
  {`// Enabled setting
678
702
  <div className="flex items-center justify-between">
679
703
  <div className="flex items-center gap-3">
@@ -692,46 +716,48 @@ function CheckboxComponent() {
692
716
 
693
717
  {/* Step Indicator */}
694
718
  <div className="!space-y-4">
695
- <h3 className="text-lg font-semibold !text-green-300">
719
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
696
720
  Step Progress
697
721
  </h3>
698
722
  <div className="!space-y-4">
699
723
  <div className="flex items-center gap-4">
700
724
  <div className="flex items-center gap-2">
701
- <div className="flex h-8 w-8 items-center justify-center rounded-full bg-green-500">
725
+ <div className="bg-fm-icon-positive flex h-8 w-8 items-center justify-center rounded-full">
702
726
  <TickIcon
703
- className="h-4 w-4 text-white"
727
+ className="text-fm-icon-active h-4 w-4"
704
728
  strokeWidth={2}
705
729
  />
706
730
  </div>
707
- <span className="text-sm text-green-400">
731
+ <span className="text-fm-icon-positive text-sm">
708
732
  Account Setup
709
733
  </span>
710
734
  </div>
711
- <div className="h-px flex-1 bg-green-500"></div>
735
+ <div className="bg-fm-icon-positive h-px flex-1"></div>
712
736
  <div className="flex items-center gap-2">
713
- <div className="flex h-8 w-8 items-center justify-center rounded-full bg-green-500">
737
+ <div className="bg-fm-icon-positive flex h-8 w-8 items-center justify-center rounded-full">
714
738
  <TickIcon
715
- className="h-4 w-4 text-white"
739
+ className="text-fm-icon-active h-4 w-4"
716
740
  strokeWidth={2}
717
741
  />
718
742
  </div>
719
- <span className="text-sm text-green-400">
743
+ <span className="text-fm-icon-positive text-sm">
720
744
  Profile Info
721
745
  </span>
722
746
  </div>
723
- <div className="h-px flex-1 bg-white/20"></div>
747
+ <div className="bg-fm-divider-primary h-px flex-1"></div>
724
748
  <div className="flex items-center gap-2">
725
- <div className="flex h-8 w-8 items-center justify-center rounded-full border-2 border-white/30 bg-white/10">
726
- <span className="text-xs text-white">3</span>
749
+ <div className="border-fm-divider-primary bg-fm-surface-secondary flex h-8 w-8 items-center justify-center rounded-full border-2">
750
+ <span className="text-fm-icon-active text-xs">
751
+ 3
752
+ </span>
727
753
  </div>
728
- <span className="text-sm text-white/60">
754
+ <span className="text-fm-tertiary text-sm">
729
755
  Verification
730
756
  </span>
731
757
  </div>
732
758
  </div>
733
- <div className="rounded-lg bg-black/40 p-4">
734
- <pre className="overflow-x-auto text-sm !text-cyan-300">
759
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
760
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
735
761
  {`// Completed step
736
762
  <div className="flex h-8 w-8 items-center justify-center rounded-full bg-green-500">
737
763
  <TickIcon className="h-4 w-4 text-white" strokeWidth={2} />
@@ -748,29 +774,29 @@ function CheckboxComponent() {
748
774
 
749
775
  {/* Success Message */}
750
776
  <div className="!space-y-4">
751
- <h3 className="text-lg font-semibold !text-green-300">
777
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
752
778
  Success Message
753
779
  </h3>
754
780
  <div className="!space-y-4">
755
- <div className="rounded-lg border border-green-500/20 bg-green-500/10 p-4">
781
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
756
782
  <div className="flex items-start gap-3">
757
783
  <TickIcon
758
- className="animate-tick-scale mt-0.5 h-5 w-5 flex-shrink-0 text-green-400"
784
+ className="animate-tick-scale text-fm-icon-positive mt-0.5 h-5 w-5 flex-shrink-0"
759
785
  strokeWidth={2}
760
786
  />
761
787
  <div>
762
- <h4 className="font-medium !text-green-200">
788
+ <h4 className="text-fm-icon-positive! font-medium">
763
789
  Changes Saved Successfully
764
790
  </h4>
765
- <p className="text-sm !text-green-300/80">
791
+ <p className="text-fm-icon-positive!/80 text-sm">
766
792
  Your profile has been updated and all changes are
767
793
  now active.
768
794
  </p>
769
795
  </div>
770
796
  </div>
771
797
  </div>
772
- <div className="rounded-lg bg-black/40 p-4">
773
- <pre className="overflow-x-auto text-sm !text-cyan-300">
798
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
799
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
774
800
  {`<div className="border border-green-500/20 bg-green-500/10 p-4 rounded-lg">
775
801
  <div className="flex items-start gap-3">
776
802
  <TickIcon className="h-5 w-5 text-green-400 mt-0.5 flex-shrink-0 animate-bounce" strokeWidth={2} />
@@ -791,67 +817,67 @@ function CheckboxComponent() {
791
817
 
792
818
  {/* Interactive States */}
793
819
  <div className="!space-y-8">
794
- <h2 className="text-center text-3xl font-bold !text-white">
820
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
795
821
  Interactive States & Animations
796
822
  </h2>
797
823
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
798
824
  <div className="!space-y-4">
799
- <h3 className="text-lg font-semibold !text-green-300">
825
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
800
826
  Animation Effects
801
827
  </h3>
802
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
828
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
803
829
  <div className="flex items-center gap-4">
804
830
  <TickIcon
805
- className="animate-tick-draw h-8 w-8 text-green-400"
831
+ className="animate-tick-draw text-fm-icon-positive h-8 w-8"
806
832
  strokeWidth={2}
807
833
  />
808
834
  <div>
809
- <div className="text-sm font-medium text-white">
835
+ <div className="text-fm-icon-active text-sm font-medium">
810
836
  Draw Animation
811
837
  </div>
812
- <div className="text-xs text-white/60">
838
+ <div className="text-fm-tertiary text-xs">
813
839
  Stroke drawing effect
814
840
  </div>
815
841
  </div>
816
842
  </div>
817
843
  <div className="flex items-center gap-4">
818
844
  <TickIcon
819
- className="animate-tick-scale h-8 w-8 text-green-400"
845
+ className="animate-tick-scale text-fm-icon-positive h-8 w-8"
820
846
  strokeWidth={2}
821
847
  />
822
848
  <div>
823
- <div className="text-sm font-medium text-white">
849
+ <div className="text-fm-icon-active text-sm font-medium">
824
850
  Scale Effect
825
851
  </div>
826
- <div className="text-xs text-white/60">
852
+ <div className="text-fm-tertiary text-xs">
827
853
  Quick scale animation
828
854
  </div>
829
855
  </div>
830
856
  </div>
831
857
  <div className="flex items-center gap-4">
832
858
  <TickIcon
833
- className="h-8 w-8 text-green-400 transition-transform hover:scale-110"
859
+ className="text-fm-icon-positive h-8 w-8 transition-transform hover:scale-110"
834
860
  strokeWidth={2}
835
861
  />
836
862
  <div>
837
- <div className="text-sm font-medium text-white">
863
+ <div className="text-fm-icon-active text-sm font-medium">
838
864
  Hover Scale
839
865
  </div>
840
- <div className="text-xs text-white/60">
866
+ <div className="text-fm-tertiary text-xs">
841
867
  Interactive growth
842
868
  </div>
843
869
  </div>
844
870
  </div>
845
871
  <div className="flex items-center gap-4">
846
872
  <TickIcon
847
- className="h-8 w-8 text-green-400 transition-colors hover:text-emerald-300"
873
+ className="text-fm-icon-positive hover:text-fm-icon-positive h-8 w-8 transition-colors"
848
874
  strokeWidth={2}
849
875
  />
850
876
  <div>
851
- <div className="text-sm font-medium text-white">
877
+ <div className="text-fm-icon-active text-sm font-medium">
852
878
  Color Transition
853
879
  </div>
854
- <div className="text-xs text-white/60">
880
+ <div className="text-fm-tertiary text-xs">
855
881
  Smooth color change
856
882
  </div>
857
883
  </div>
@@ -860,11 +886,11 @@ function CheckboxComponent() {
860
886
  </div>
861
887
 
862
888
  <div className="!space-y-4">
863
- <h3 className="text-lg font-semibold !text-green-300">
889
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
864
890
  Animation Code
865
891
  </h3>
866
- <div className="rounded-lg bg-black/40 p-4">
867
- <pre className="overflow-x-auto text-sm !text-cyan-300">
892
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
893
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
868
894
  {`// Draw animation keyframes
869
895
  @keyframes tick-draw {
870
896
  0% { stroke-dashoffset: 20; }
@@ -898,70 +924,70 @@ function CheckboxComponent() {
898
924
 
899
925
  {/* Accessibility */}
900
926
  <div className="!space-y-8">
901
- <h2 className="text-center text-3xl font-bold !text-white">
927
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
902
928
  Accessibility Features
903
929
  </h2>
904
930
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
905
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
906
- <h3 className="text-lg font-semibold !text-green-300">
931
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
932
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
907
933
  ✅ Built-in Features
908
934
  </h3>
909
- <ul className="!space-y-2 text-sm !text-white/70">
910
- <li className="!text-white/70">
935
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
936
+ <li className="text-fm-secondary!">
911
937
  Uses Radix UI AccessibleIcon wrapper
912
938
  </li>
913
- <li className="!text-white/70">
939
+ <li className="text-fm-secondary!">
914
940
  Provides screen reader label "Tick icon"
915
941
  </li>
916
- <li className="!text-white/70">
942
+ <li className="text-fm-secondary!">
917
943
  Supports keyboard navigation when interactive
918
944
  </li>
919
- <li className="!text-white/70">
945
+ <li className="text-fm-secondary!">
920
946
  Maintains proper color contrast ratios
921
947
  </li>
922
- <li className="!text-white/70">
948
+ <li className="text-fm-secondary!">
923
949
  Scales with user's font size preferences
924
950
  </li>
925
- <li className="!text-white/70">
951
+ <li className="text-fm-secondary!">
926
952
  Stroke-based design ensures clarity at all sizes
927
953
  </li>
928
954
  </ul>
929
955
  </div>
930
956
 
931
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
932
- <h3 className="text-lg font-semibold !text-green-300">
957
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
958
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
933
959
  💡 Best Practices
934
960
  </h3>
935
- <ul className="!space-y-2 text-sm !text-white/70">
936
- <li className="!text-white/70">
961
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
962
+ <li className="text-fm-secondary!">
937
963
  Always pair with descriptive text or labels
938
964
  </li>
939
- <li className="!text-white/70">
965
+ <li className="text-fm-secondary!">
940
966
  Use consistent colors for success states
941
967
  </li>
942
- <li className="!text-white/70">
968
+ <li className="text-fm-secondary!">
943
969
  Ensure sufficient color contrast (minimum 3:1)
944
970
  </li>
945
- <li className="!text-white/70">
971
+ <li className="text-fm-secondary!">
946
972
  Add focus states for interactive checkboxes
947
973
  </li>
948
- <li className="!text-white/70">
974
+ <li className="text-fm-secondary!">
949
975
  Consider motion sensitivity for animations
950
976
  </li>
951
- <li className="!text-white/70">
977
+ <li className="text-fm-secondary!">
952
978
  Use appropriate stroke width for visibility
953
979
  </li>
954
980
  </ul>
955
981
  </div>
956
982
  </div>
957
983
 
958
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
959
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
984
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
985
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
960
986
  Custom Accessibility Implementation
961
987
  </h3>
962
988
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
963
- <div className="rounded-lg bg-black/40 p-4">
964
- <pre className="overflow-x-auto text-sm !text-cyan-300">
989
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
990
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
965
991
  {`// Custom implementation with specific label
966
992
  import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
967
993
 
@@ -998,14 +1024,14 @@ function CompletionIcon({ label = "Completed", ...props }) {
998
1024
  </pre>
999
1025
  </div>
1000
1026
  <div className="!space-y-4">
1001
- <p className="text-sm !text-white/70">
1027
+ <p className="text-fm-secondary! text-sm">
1002
1028
  When using TickIcon for checkboxes or task completion,
1003
1029
  ensure proper labeling and keyboard accessibility. The
1004
1030
  stroke-based design maintains clarity even when scaled
1005
1031
  for users with visual impairments.
1006
1032
  </p>
1007
- <div className="rounded-lg border border-green-500/20 bg-green-500/10 p-4">
1008
- <div className="flex items-center gap-2 text-sm text-green-200">
1033
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
1034
+ <div className="text-fm-icon-positive flex items-center gap-2 text-sm">
1009
1035
  <TickIcon className="h-4 w-4" strokeWidth={2} />
1010
1036
  <span>
1011
1037
  Clear visual feedback helps all users understand
@@ -1020,52 +1046,58 @@ function CompletionIcon({ label = "Completed", ...props }) {
1020
1046
 
1021
1047
  {/* Related Icons */}
1022
1048
  <div className="!space-y-8">
1023
- <h2 className="text-center text-3xl font-bold !text-white">
1049
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
1024
1050
  Related Icons
1025
1051
  </h2>
1026
1052
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
1027
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
1028
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
1053
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
1054
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
1029
1055
  <span className="text-2xl">✅</span>
1030
1056
  </div>
1031
1057
  <div>
1032
- <div className="font-medium text-white">
1058
+ <div className="text-fm-icon-active font-medium">
1033
1059
  TickCircleIcon
1034
1060
  </div>
1035
- <div className="text-xs text-white/60">
1061
+ <div className="text-fm-tertiary text-xs">
1036
1062
  Checkmark in circle
1037
1063
  </div>
1038
1064
  </div>
1039
1065
  </div>
1040
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
1041
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-red-500/20">
1066
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
1067
+ <div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
1042
1068
  <span className="text-2xl">❌</span>
1043
1069
  </div>
1044
1070
  <div>
1045
- <div className="font-medium text-white">CrossIcon</div>
1046
- <div className="text-xs text-white/60">
1071
+ <div className="text-fm-icon-active font-medium">
1072
+ CrossIcon
1073
+ </div>
1074
+ <div className="text-fm-tertiary text-xs">
1047
1075
  Close/cancel states
1048
1076
  </div>
1049
1077
  </div>
1050
1078
  </div>
1051
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
1052
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
1079
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
1080
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
1053
1081
  <span className="text-2xl">ℹ️</span>
1054
1082
  </div>
1055
1083
  <div>
1056
- <div className="font-medium text-white">InfoIcon</div>
1057
- <div className="text-xs text-white/60">
1084
+ <div className="text-fm-icon-active font-medium">
1085
+ InfoIcon
1086
+ </div>
1087
+ <div className="text-fm-tertiary text-xs">
1058
1088
  Information states
1059
1089
  </div>
1060
1090
  </div>
1061
1091
  </div>
1062
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
1063
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
1092
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
1093
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
1064
1094
  <span className="text-2xl">⚠️</span>
1065
1095
  </div>
1066
1096
  <div>
1067
- <div className="font-medium text-white">AlertIcon</div>
1068
- <div className="text-xs text-white/60">
1097
+ <div className="text-fm-icon-active font-medium">
1098
+ AlertIcon
1099
+ </div>
1100
+ <div className="text-fm-tertiary text-xs">
1069
1101
  Warning states
1070
1102
  </div>
1071
1103
  </div>
@@ -1075,15 +1107,15 @@ function CompletionIcon({ label = "Completed", ...props }) {
1075
1107
  </div>
1076
1108
 
1077
1109
  {/* Footer */}
1078
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
1110
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
1079
1111
  <div className="!mx-auto max-w-7xl px-6 py-8">
1080
1112
  <div className="!space-y-4 text-center">
1081
- <p className="!text-white/60">
1113
+ <p className="text-fm-tertiary!">
1082
1114
  TickIcon is part of the Aural UI icon library, designed for
1083
1115
  checkboxes, task completion, and success feedback with a
1084
1116
  clean stroke-based design.
1085
1117
  </p>
1086
- <p className="text-sm !text-white/40">
1118
+ <p className="text-fm-placeholder! text-sm">
1087
1119
  All icons use Radix UI's AccessibleIcon for screen reader
1088
1120
  compatibility and follow WCAG guidelines for interactive
1089
1121
  elements.
@@ -1133,8 +1165,8 @@ const storyParameters = {
1133
1165
  backgrounds: {
1134
1166
  default: "dark",
1135
1167
  values: [
1136
- { name: "dark", value: "#0a0a0a" },
1137
- { name: "darker", value: "#000000" },
1168
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1169
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
1138
1170
  ],
1139
1171
  },
1140
1172
  }
@@ -1143,12 +1175,12 @@ export const Default: Story = {
1143
1175
  args: {
1144
1176
  width: 24,
1145
1177
  height: 24,
1146
- className: "text-green-400",
1178
+ className: "text-fm-icon-positive",
1147
1179
  withAccessibility: true,
1148
1180
  },
1149
1181
  parameters: storyParameters,
1150
1182
  render: (args) => (
1151
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1183
+ <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">
1152
1184
  <TickIcon {...args} />
1153
1185
  </div>
1154
1186
  ),
@@ -1165,30 +1197,30 @@ export const SizeVariations: Story = {
1165
1197
  },
1166
1198
  },
1167
1199
  render: () => (
1168
- <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">
1200
+ <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">
1169
1201
  <div className="text-center">
1170
- <TickIcon className="!mx-auto mb-2 h-3 w-3 text-green-400" />
1171
- <span className="text-xs text-white/60">12px</span>
1202
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
1203
+ <span className="text-fm-tertiary text-xs">12px</span>
1172
1204
  </div>
1173
1205
  <div className="text-center">
1174
- <TickIcon className="!mx-auto mb-2 h-4 w-4 text-green-400" />
1175
- <span className="text-xs text-white/60">16px</span>
1206
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
1207
+ <span className="text-fm-tertiary text-xs">16px</span>
1176
1208
  </div>
1177
1209
  <div className="text-center">
1178
- <TickIcon className="!mx-auto mb-2 h-5 w-5 text-green-400" />
1179
- <span className="text-xs text-white/60">20px</span>
1210
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
1211
+ <span className="text-fm-tertiary text-xs">20px</span>
1180
1212
  </div>
1181
1213
  <div className="text-center">
1182
- <TickIcon className="!mx-auto mb-2 h-6 w-6 text-green-400" />
1183
- <span className="text-xs text-white/60">24px</span>
1214
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
1215
+ <span className="text-fm-tertiary text-xs">24px</span>
1184
1216
  </div>
1185
1217
  <div className="text-center">
1186
- <TickIcon className="!mx-auto mb-2 h-8 w-8 text-green-400" />
1187
- <span className="text-xs text-white/60">32px</span>
1218
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
1219
+ <span className="text-fm-tertiary text-xs">32px</span>
1188
1220
  </div>
1189
1221
  <div className="text-center">
1190
- <TickIcon className="!mx-auto mb-2 h-12 w-12 text-green-400" />
1191
- <span className="text-xs text-white/60">48px</span>
1222
+ <TickIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
1223
+ <span className="text-fm-tertiary text-xs">48px</span>
1192
1224
  </div>
1193
1225
  </div>
1194
1226
  ),
@@ -1205,34 +1237,40 @@ export const ColorVariations: Story = {
1205
1237
  },
1206
1238
  },
1207
1239
  render: () => (
1208
- <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">
1240
+ <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">
1209
1241
  <div className="text-center">
1210
- <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">
1211
- <TickIcon className="h-8 w-8 text-green-400" strokeWidth={2} />
1242
+ <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">
1243
+ <TickIcon className="text-fm-icon-positive h-8 w-8" strokeWidth={2} />
1244
+ </div>
1245
+ <div className="text-fm-icon-active text-sm font-medium">Success</div>
1246
+ <div className="text-fm-icon-positive text-xs">
1247
+ text-fm-icon-positive
1212
1248
  </div>
1213
- <div className="text-sm font-medium text-white">Success</div>
1214
- <div className="text-xs text-green-400">text-green-400</div>
1215
1249
  </div>
1216
1250
  <div className="text-center">
1217
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-emerald-500/30 bg-emerald-500/20">
1218
- <TickIcon className="h-8 w-8 text-emerald-400" strokeWidth={2} />
1251
+ <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">
1252
+ <TickIcon className="text-fm-icon-positive h-8 w-8" strokeWidth={2} />
1253
+ </div>
1254
+ <div className="text-fm-icon-active text-sm font-medium">Complete</div>
1255
+ <div className="text-fm-icon-positive text-xs">
1256
+ text-fm-icon-positive
1219
1257
  </div>
1220
- <div className="text-sm font-medium text-white">Complete</div>
1221
- <div className="text-xs text-emerald-400">text-emerald-400</div>
1222
1258
  </div>
1223
1259
  <div className="text-center">
1224
- <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">
1225
- <TickIcon className="h-8 w-8 text-blue-400" strokeWidth={2} />
1260
+ <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">
1261
+ <TickIcon className="text-fm-icon-info h-8 w-8" strokeWidth={2} />
1226
1262
  </div>
1227
- <div className="text-sm font-medium text-white">Selected</div>
1228
- <div className="text-xs text-blue-400">text-blue-400</div>
1263
+ <div className="text-fm-icon-active text-sm font-medium">Selected</div>
1264
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1229
1265
  </div>
1230
1266
  <div className="text-center">
1231
- <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">
1232
- <TickIcon className="h-8 w-8 text-purple-400" strokeWidth={2} />
1267
+ <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">
1268
+ <TickIcon className="text-fm-secondary-600 h-8 w-8" strokeWidth={2} />
1269
+ </div>
1270
+ <div className="text-fm-icon-active text-sm font-medium">Verified</div>
1271
+ <div className="text-fm-secondary-600 text-xs">
1272
+ text-fm-secondary-600
1233
1273
  </div>
1234
- <div className="text-sm font-medium text-white">Verified</div>
1235
- <div className="text-xs text-purple-400">text-purple-400</div>
1236
1274
  </div>
1237
1275
  </div>
1238
1276
  ),
@@ -1249,71 +1287,82 @@ export const UsageExamples: Story = {
1249
1287
  },
1250
1288
  },
1251
1289
  render: () => (
1252
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1290
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1253
1291
  {/* Custom Checkbox */}
1254
1292
  <div className="!space-y-2">
1255
- <h3 className="text-sm font-medium text-white">Custom Checkbox</h3>
1293
+ <h3 className="text-fm-icon-active text-sm font-medium">
1294
+ Custom Checkbox
1295
+ </h3>
1256
1296
  <div className="!space-y-3">
1257
1297
  <label className="flex cursor-pointer items-center gap-3">
1258
1298
  <div className="relative">
1259
1299
  <input type="checkbox" className="peer sr-only" defaultChecked />
1260
- <div className="peer-unchecked:bg-transparent peer-unchecked:border-gray-400 h-5 w-5 rounded border-2 border-green-400 bg-green-400 transition-colors peer-checked:border-green-400 peer-checked:bg-green-400" />
1300
+ <div className="peer-unchecked:bg-transparent peer-unchecked:border-fm-divider-primary border-fm-icon-positive bg-fm-icon-positive peer-checked:border-fm-icon-positive peer-checked:bg-fm-icon-positive h-5 w-5 rounded border-2 transition-colors" />
1261
1301
  <TickIcon
1262
- className="peer-unchecked:opacity-0 absolute inset-0 h-5 w-5 text-white opacity-100 transition-opacity"
1302
+ className="peer-unchecked:opacity-0 text-fm-icon-active absolute inset-0 h-5 w-5 opacity-100 transition-opacity"
1263
1303
  strokeWidth={2}
1264
1304
  />
1265
1305
  </div>
1266
- <span className="text-white">Accept terms and conditions</span>
1306
+ <span className="text-fm-icon-active">
1307
+ Accept terms and conditions
1308
+ </span>
1267
1309
  </label>
1268
1310
  <label className="flex cursor-pointer items-center gap-3">
1269
1311
  <div className="relative">
1270
1312
  <input type="checkbox" className="peer sr-only" />
1271
- <div className="h-5 w-5 rounded border-2 border-gray-400 bg-transparent transition-colors peer-checked:border-green-400 peer-checked:bg-green-400" />
1313
+ <div className="border-fm-divider-primary peer-checked:border-fm-icon-positive peer-checked:bg-fm-icon-positive h-5 w-5 rounded border-2 bg-transparent transition-colors" />
1272
1314
  <TickIcon
1273
- className="absolute inset-0 h-5 w-5 text-white opacity-0 transition-opacity peer-checked:opacity-100"
1315
+ className="text-fm-icon-active absolute inset-0 h-5 w-5 opacity-0 transition-opacity peer-checked:opacity-100"
1274
1316
  strokeWidth={2}
1275
1317
  />
1276
1318
  </div>
1277
- <span className="text-white">Subscribe to newsletter</span>
1319
+ <span className="text-fm-icon-active">Subscribe to newsletter</span>
1278
1320
  </label>
1279
1321
  </div>
1280
1322
  </div>
1281
1323
 
1282
1324
  {/* Todo List */}
1283
1325
  <div className="!space-y-2">
1284
- <h3 className="text-sm font-medium text-white">Todo List</h3>
1326
+ <h3 className="text-fm-icon-active text-sm font-medium">Todo List</h3>
1285
1327
  <div className="!space-y-3">
1286
- <div className="flex items-center gap-3 rounded-lg border border-white/10 bg-white/5 p-3">
1287
- <TickIcon className="h-5 w-5 text-green-400" strokeWidth={2} />
1288
- <span className="flex-1 text-white line-through opacity-70">
1328
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
1329
+ <TickIcon
1330
+ className="text-fm-icon-positive h-5 w-5"
1331
+ strokeWidth={2}
1332
+ />
1333
+ <span className="text-fm-icon-active flex-1 line-through opacity-70">
1289
1334
  Set up project repository
1290
1335
  </span>
1291
- <span className="text-xs text-green-400">Completed</span>
1336
+ <span className="text-fm-icon-positive text-xs">Completed</span>
1292
1337
  </div>
1293
- <div className="flex items-center gap-3 rounded-lg border border-white/10 bg-white/5 p-3">
1294
- <div className="h-5 w-5 rounded-full border-2 border-white/30"></div>
1295
- <span className="flex-1 text-white">Implement authentication</span>
1296
- <span className="text-xs text-white/50">In Progress</span>
1338
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
1339
+ <div className="border-fm-divider-primary h-5 w-5 rounded-full border-2"></div>
1340
+ <span className="text-fm-icon-active flex-1">
1341
+ Implement authentication
1342
+ </span>
1343
+ <span className="text-fm-placeholder text-xs">In Progress</span>
1297
1344
  </div>
1298
1345
  </div>
1299
1346
  </div>
1300
1347
 
1301
1348
  {/* Form Validation */}
1302
1349
  <div className="!space-y-2">
1303
- <h3 className="text-sm font-medium text-white">Form Validation</h3>
1350
+ <h3 className="text-fm-icon-active text-sm font-medium">
1351
+ Form Validation
1352
+ </h3>
1304
1353
  <div className="relative">
1305
1354
  <input
1306
1355
  type="password"
1307
- className="w-full rounded-lg border border-green-500/50 bg-white/5 px-3 py-2 pr-10 text-white placeholder-white/50 focus:border-green-500 focus:ring-2 focus:ring-green-500/20"
1356
+ className="border-fm-icon-positive/50 bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-positive w-full rounded-lg border px-3 py-2 pr-10 placeholder-white/50 focus:ring-2 focus:ring-green-500/20"
1308
1357
  placeholder="Enter your password"
1309
1358
  defaultValue="securepassword123"
1310
1359
  />
1311
1360
  <TickIcon
1312
- className="absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2 text-green-400"
1361
+ className="text-fm-icon-positive absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2"
1313
1362
  strokeWidth={2}
1314
1363
  />
1315
1364
  </div>
1316
- <div className="flex items-center gap-2 text-sm text-green-400">
1365
+ <div className="text-fm-icon-positive flex items-center gap-2 text-sm">
1317
1366
  <TickIcon className="h-4 w-4" strokeWidth={2} />
1318
1367
  <span>Password meets all requirements</span>
1319
1368
  </div>
@@ -1335,12 +1384,12 @@ export const Playground: Story = {
1335
1384
  args: {
1336
1385
  width: 32,
1337
1386
  height: 32,
1338
- className: "text-green-400",
1387
+ className: "text-fm-icon-positive",
1339
1388
  strokeWidth: 2,
1340
1389
  },
1341
1390
  render: (args) => (
1342
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1343
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1391
+ <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">
1392
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1344
1393
  <TickIcon {...args} />
1345
1394
  </div>
1346
1395
  </div>