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 BubbleCheckIcon> = {
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 BubbleCheckIcon> = {
40
40
  background: transparent ;
41
41
  }
42
42
  body {
43
- background: #0a0a0a ;
43
+ background: var(--color-fm-surface-primary) ;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a ;
46
+ background: var(--color-fm-surface-primary) ;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent ;
50
50
  border: none ;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white ;
53
+ color: var(--color-fm-icon-active) ;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) ;
56
+ color: var(--color-fm-secondary) ;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) ;
60
- color: rgba(168, 85, 247, 1) ;
61
- border: 1px solid rgba(255, 255, 255, 0.1) ;
59
+ background: var(--color-fm-surface-secondary) ;
60
+ color: var(--color-fm-secondary-500) ;
61
+ border: 1px solid var(--color-fm-divider-secondary) ;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) ;
65
- border: 1px solid rgba(255, 255, 255, 0.1) ;
64
+ background: var(--color-fm-surface-secondary) ;
65
+ border: 1px solid var(--color-fm-divider-secondary) ;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) ;
69
- border: 1px solid rgba(255, 255, 255, 0.1) ;
68
+ background: var(--color-fm-surface-secondary) ;
69
+ border: 1px solid var(--color-fm-divider-secondary) ;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) ;
73
- color: white ;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
72
+ background: var(--color-fm-surface-secondary) ;
73
+ color: var(--color-fm-icon-active) ;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) ;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) ;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
77
+ color: var(--color-fm-secondary) ;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
79
79
  }
80
80
  `}
81
81
  </style>
82
82
 
83
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900/20 to-gray-900">
83
+ <div className="bg-fm-surface-primary min-h-screen">
84
84
  {/* Header */}
85
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
86
- <div className="absolute inset-0 bg-gradient-to-r from-purple-500/10 via-transparent to-blue-500/10" />
85
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
86
+ <div className="from-fm-secondary-500/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
87
87
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
88
88
  <div className="!space-y-6 text-center">
89
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-green-500/30 bg-gradient-to-br from-green-500/20 to-emerald-500/20">
90
- <BubbleCheckIcon className="h-12 w-12 text-green-400" />
89
+ <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">
90
+ <BubbleCheckIcon className="text-fm-icon-positive h-12 w-12" />
91
91
  </div>
92
- <h1 className="text-5xl font-bold !text-white">
92
+ <h1 className="text-fm-icon-active! text-5xl font-bold">
93
93
  BubbleCheckIcon
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 communication icon representing successful messages,
97
97
  confirmations, and positive feedback. Combines chat bubble
98
98
  symbolism with checkmark validation for clear success
@@ -102,28 +102,28 @@ const meta: Meta<typeof BubbleCheckIcon> = {
102
102
  {/* Stats */}
103
103
  <div className="flex items-center justify-center gap-8 pt-8">
104
104
  <div className="text-center">
105
- <div className="text-3xl font-bold text-green-300">
105
+ <div className="text-fm-icon-positive text-3xl font-bold">
106
106
  Success
107
107
  </div>
108
- <div className="text-sm text-white/60">
108
+ <div className="text-fm-tertiary text-sm">
109
109
  Positive feedback
110
110
  </div>
111
111
  </div>
112
- <div className="h-8 w-px bg-white/20" />
112
+ <div className="bg-fm-divider-primary h-8 w-px" />
113
113
  <div className="text-center">
114
- <div className="text-3xl font-bold text-emerald-300">
114
+ <div className="text-fm-icon-positive text-3xl font-bold">
115
115
  Communication
116
116
  </div>
117
- <div className="text-sm text-white/60">
117
+ <div className="text-fm-tertiary text-sm">
118
118
  Message validation
119
119
  </div>
120
120
  </div>
121
- <div className="h-8 w-px bg-white/20" />
121
+ <div className="bg-fm-divider-primary h-8 w-px" />
122
122
  <div className="text-center">
123
- <div className="text-3xl font-bold text-teal-300">
123
+ <div className="text-fm-icon-info text-3xl font-bold">
124
124
  Confirmation
125
125
  </div>
126
- <div className="text-sm text-white/60">
126
+ <div className="text-fm-tertiary text-sm">
127
127
  Action completed
128
128
  </div>
129
129
  </div>
@@ -136,16 +136,16 @@ const meta: Meta<typeof BubbleCheckIcon> = {
136
136
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
137
137
  {/* Quick Usage */}
138
138
  <div className="!space-y-8">
139
- <h2 className="text-center text-3xl font-bold !text-white">
139
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
140
140
  Quick Start
141
141
  </h2>
142
142
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
143
143
  <div className="!space-y-4">
144
- <h3 className="text-xl font-semibold !text-green-300">
144
+ <h3 className="text-fm-icon-positive! text-xl font-semibold">
145
145
  Basic Usage
146
146
  </h3>
147
- <div className="rounded-lg bg-black/40 p-4">
148
- <pre className="overflow-x-auto text-sm !text-green-300">
147
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
148
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
149
149
  {`import { BubbleCheckIcon } from "@icons/bubble-check-icon"
150
150
 
151
151
  function SuccessMessage() {
@@ -161,13 +161,13 @@ function SuccessMessage() {
161
161
  </div>
162
162
 
163
163
  <div className="!space-y-4">
164
- <h3 className="text-xl font-semibold !text-green-300">
164
+ <h3 className="text-fm-icon-positive! text-xl font-semibold">
165
165
  Live Preview
166
166
  </h3>
167
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
168
- <div className="flex items-center gap-3 rounded-lg border border-green-500/20 bg-green-500/10 px-4 py-2">
169
- <BubbleCheckIcon className="h-5 w-5 text-green-400" />
170
- <span className="!text-white">
167
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
168
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 flex items-center gap-3 rounded-lg border px-4 py-2">
169
+ <BubbleCheckIcon className="text-fm-icon-positive h-5 w-5" />
170
+ <span className="text-fm-icon-active!">
171
171
  Message sent successfully!
172
172
  </span>
173
173
  </div>
@@ -178,122 +178,130 @@ function SuccessMessage() {
178
178
 
179
179
  {/* Props Documentation */}
180
180
  <div className="!space-y-8">
181
- <h2 className="text-center text-3xl font-bold !text-white">
181
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
182
182
  Props & Configuration
183
183
  </h2>
184
184
 
185
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
186
- <div className="bg-white/5 p-4">
187
- <h3 className="text-xl font-semibold !text-white">Props</h3>
185
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
186
+ <div className="bg-fm-surface-secondary p-4">
187
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
188
+ Props
189
+ </h3>
188
190
  </div>
189
191
  <table className="!my-0 w-full">
190
- <thead className="bg-white/5">
191
- <tr className="border-b border-white/10">
192
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
192
+ <thead className="bg-fm-surface-secondary">
193
+ <tr className="border-fm-divider-secondary border-b">
194
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
193
195
  Prop
194
196
  </th>
195
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
197
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
196
198
  Type
197
199
  </th>
198
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
200
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
199
201
  Default
200
202
  </th>
201
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
203
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
202
204
  Description
203
205
  </th>
204
206
  </tr>
205
207
  </thead>
206
208
  <tbody>
207
209
  {" "}
208
- <tr className="!bg-black/10">
209
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
210
+ <tr className="bg-fm-surface-secondary!">
211
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
210
212
  withAccessibility
211
213
  </td>
212
- <td className="px-6 py-4 text-sm !text-white/70">
214
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
213
215
  boolean
214
216
  </td>
215
- <td className="px-6 py-4 text-sm !text-white/50">
217
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
216
218
  true
217
219
  </td>
218
- <td className="px-6 py-4 text-sm !text-white/70">
220
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
219
221
  Whether to wrap the icon with accessibility feature
220
222
  </td>
221
223
  </tr>
222
- <tr className="border-b border-white/5 !bg-black/10">
223
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
224
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
225
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
224
226
  height
225
227
  </td>
226
- <td className="px-6 py-4 text-sm !text-white/70">
228
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
227
229
  number | string
228
230
  </td>
229
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
230
- <td className="px-6 py-4 text-sm !text-white/70">
231
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
232
+ 24
233
+ </td>
234
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
231
235
  Height of the icon in pixels
232
236
  </td>
233
237
  </tr>
234
- <tr className="border-b border-white/5">
235
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
238
+ <tr className="border-fm-divider-tertiary border-b">
239
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
236
240
  stroke
237
241
  </td>
238
- <td className="px-6 py-4 text-sm !text-white/70">
242
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
239
243
  string
240
244
  </td>
241
- <td className="px-6 py-4 text-sm !text-white/50">
245
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
242
246
  currentColor
243
247
  </td>
244
- <td className="px-6 py-4 text-sm !text-white/70">
248
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
245
249
  Stroke color of the icon
246
250
  </td>
247
251
  </tr>
248
- <tr className="border-b border-white/5 !bg-black/10">
249
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
252
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
253
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
250
254
  strokeWidth
251
255
  </td>
252
- <td className="px-6 py-4 text-sm !text-white/70">
256
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
253
257
  number | string
254
258
  </td>
255
- <td className="px-6 py-4 text-sm !text-white/50">
259
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
256
260
  1.5
257
261
  </td>
258
- <td className="px-6 py-4 text-sm !text-white/70">
262
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
259
263
  Stroke width of the icon
260
264
  </td>
261
265
  </tr>
262
- <tr className="border-b border-white/5">
263
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
266
+ <tr className="border-fm-divider-tertiary border-b">
267
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
264
268
  strokeLinecap
265
269
  </td>
266
- <td className="px-6 py-4 text-sm !text-white/70">
270
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
267
271
  string
268
272
  </td>
269
- <td className="px-6 py-4 text-sm !text-white/50">
273
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
270
274
  square
271
275
  </td>
272
- <td className="px-6 py-4 text-sm !text-white/70">
276
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
273
277
  Line cap style for stroke
274
278
  </td>
275
279
  </tr>
276
- <tr className="border-b border-white/5 !bg-black/10">
277
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
280
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
281
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
278
282
  className
279
283
  </td>
280
- <td className="px-6 py-4 text-sm !text-white/70">
284
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
281
285
  string
282
286
  </td>
283
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
284
- <td className="px-6 py-4 text-sm !text-white/70">
287
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
288
+ -
289
+ </td>
290
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
285
291
  CSS classes for styling
286
292
  </td>
287
293
  </tr>
288
- <tr className="!bg-black/10">
289
- <td className="px-6 py-4 font-mono text-sm !text-green-300">
294
+ <tr className="bg-fm-surface-secondary!">
295
+ <td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
290
296
  ...svgProps
291
297
  </td>
292
- <td className="px-6 py-4 text-sm !text-white/70">
298
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
293
299
  SVGProps
294
300
  </td>
295
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
296
- <td className="px-6 py-4 text-sm !text-white/70">
301
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
302
+ -
303
+ </td>
304
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
297
305
  All standard SVG element props
298
306
  </td>
299
307
  </tr>
@@ -304,50 +312,62 @@ function SuccessMessage() {
304
312
 
305
313
  {/* Size Variations */}
306
314
  <div className="!space-y-8">
307
- <h2 className="text-center text-3xl font-bold !text-white">
315
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
308
316
  Size Variations
309
317
  </h2>
310
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
318
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
311
319
  <div className="!space-y-6">
312
320
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
313
321
  <div className="!space-y-4">
314
- <h3 className="text-lg font-semibold !text-green-300">
322
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
315
323
  Standard Sizes
316
324
  </h3>
317
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
325
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
318
326
  <div className="text-center">
319
- <BubbleCheckIcon className="!mx-auto mb-2 h-3 w-3 text-green-400" />
320
- <span className="text-xs text-white/60">12px</span>
327
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
328
+ <span className="text-fm-tertiary text-xs">
329
+ 12px
330
+ </span>
321
331
  </div>
322
332
  <div className="text-center">
323
- <BubbleCheckIcon className="!mx-auto mb-2 h-4 w-4 text-green-400" />
324
- <span className="text-xs text-white/60">16px</span>
333
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
334
+ <span className="text-fm-tertiary text-xs">
335
+ 16px
336
+ </span>
325
337
  </div>
326
338
  <div className="text-center">
327
- <BubbleCheckIcon className="!mx-auto mb-2 h-5 w-5 text-green-400" />
328
- <span className="text-xs text-white/60">20px</span>
339
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
340
+ <span className="text-fm-tertiary text-xs">
341
+ 20px
342
+ </span>
329
343
  </div>
330
344
  <div className="text-center">
331
- <BubbleCheckIcon className="!mx-auto mb-2 h-6 w-6 text-green-400" />
332
- <span className="text-xs text-white/60">24px</span>
345
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
346
+ <span className="text-fm-tertiary text-xs">
347
+ 24px
348
+ </span>
333
349
  </div>
334
350
  <div className="text-center">
335
- <BubbleCheckIcon className="!mx-auto mb-2 h-8 w-8 text-green-400" />
336
- <span className="text-xs text-white/60">32px</span>
351
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
352
+ <span className="text-fm-tertiary text-xs">
353
+ 32px
354
+ </span>
337
355
  </div>
338
356
  <div className="text-center">
339
- <BubbleCheckIcon className="!mx-auto mb-2 h-12 w-12 text-green-400" />
340
- <span className="text-xs text-white/60">48px</span>
357
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
358
+ <span className="text-fm-tertiary text-xs">
359
+ 48px
360
+ </span>
341
361
  </div>
342
362
  </div>
343
363
  </div>
344
364
 
345
365
  <div className="!space-y-4">
346
- <h3 className="text-lg font-semibold !text-green-300">
366
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
347
367
  Code Example
348
368
  </h3>
349
- <div className="rounded-lg bg-black/40 p-4">
350
- <pre className="overflow-x-auto text-sm !text-blue-300">
369
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
370
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
351
371
  {`// Small (16px)
352
372
  <BubbleCheckIcon className="h-4 w-4" />
353
373
 
@@ -369,56 +389,56 @@ function SuccessMessage() {
369
389
 
370
390
  {/* Color Variations */}
371
391
  <div className="!space-y-8">
372
- <h2 className="text-center text-3xl font-bold !text-white">
392
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
373
393
  Color Variations
374
394
  </h2>
375
395
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
376
396
  <div className="!space-y-4">
377
- <h3 className="text-lg font-semibold !text-green-300">
397
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
378
398
  Success States
379
399
  </h3>
380
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
400
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
381
401
  <div className="flex items-center gap-4">
382
- <BubbleCheckIcon className="h-6 w-6 text-green-400" />
402
+ <BubbleCheckIcon className="text-fm-icon-positive h-6 w-6" />
383
403
  <div>
384
- <div className="text-sm font-medium !text-white">
404
+ <div className="text-fm-icon-active! text-sm font-medium">
385
405
  Success
386
406
  </div>
387
- <div className="text-xs !text-white/60">
388
- text-green-400
407
+ <div className="text-fm-tertiary! text-xs">
408
+ text-fm-icon-positive
389
409
  </div>
390
410
  </div>
391
411
  </div>
392
412
  <div className="flex items-center gap-4">
393
- <BubbleCheckIcon className="h-6 w-6 text-emerald-400" />
413
+ <BubbleCheckIcon className="text-fm-icon-positive h-6 w-6" />
394
414
  <div>
395
- <div className="text-sm font-medium !text-white">
415
+ <div className="text-fm-icon-active! text-sm font-medium">
396
416
  Completed
397
417
  </div>
398
- <div className="text-xs !text-white/60">
399
- text-emerald-400
418
+ <div className="text-fm-tertiary! text-xs">
419
+ text-fm-icon-positive
400
420
  </div>
401
421
  </div>
402
422
  </div>
403
423
  <div className="flex items-center gap-4">
404
- <BubbleCheckIcon className="h-6 w-6 text-teal-400" />
424
+ <BubbleCheckIcon className="text-fm-icon-info h-6 w-6" />
405
425
  <div>
406
- <div className="text-sm font-medium !text-white">
426
+ <div className="text-fm-icon-active! text-sm font-medium">
407
427
  Confirmed
408
428
  </div>
409
- <div className="text-xs !text-white/60">
410
- text-teal-400
429
+ <div className="text-fm-tertiary! text-xs">
430
+ text-fm-icon-info
411
431
  </div>
412
432
  </div>
413
433
  </div>
414
434
  <div className="flex items-center gap-4">
415
- <BubbleCheckIcon className="h-6 w-6 text-lime-400" />
435
+ <BubbleCheckIcon className="text-fm-icon-positive h-6 w-6" />
416
436
  <div>
417
- <div className="text-sm font-medium !text-white">
437
+ <div className="text-fm-icon-active! text-sm font-medium">
418
438
  Approved
419
439
  </div>
420
- <div className="text-xs !text-white/60">
421
- text-lime-400
440
+ <div className="text-fm-tertiary! text-xs">
441
+ text-fm-icon-positive
422
442
  </div>
423
443
  </div>
424
444
  </div>
@@ -426,11 +446,11 @@ function SuccessMessage() {
426
446
  </div>
427
447
 
428
448
  <div className="!space-y-4">
429
- <h3 className="text-lg font-semibold !text-green-300">
449
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
430
450
  Custom Colors
431
451
  </h3>
432
- <div className="rounded-lg bg-black/40 p-4">
433
- <pre className="overflow-x-auto text-sm !text-green-300">
452
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
453
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
434
454
  {`// Using Tailwind classes
435
455
  <BubbleCheckIcon className="h-6 w-6 text-green-400" />
436
456
  <BubbleCheckIcon className="h-6 w-6 text-emerald-500" />
@@ -455,33 +475,33 @@ function SuccessMessage() {
455
475
 
456
476
  {/* Usage Examples */}
457
477
  <div className="!space-y-8">
458
- <h2 className="text-center text-3xl font-bold !text-white">
478
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
459
479
  Usage Examples
460
480
  </h2>
461
481
 
462
482
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
463
483
  {/* Success Message */}
464
484
  <div className="!space-y-4">
465
- <h3 className="text-lg font-semibold !text-green-300">
485
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
466
486
  Success Toast
467
487
  </h3>
468
488
  <div className="!space-y-4">
469
- <div className="rounded-lg border border-green-500/20 bg-green-500/10 p-4">
489
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
470
490
  <div className="flex items-start gap-3">
471
- <BubbleCheckIcon className="mt-0.5 h-5 w-5 flex-shrink-0 text-green-400" />
491
+ <BubbleCheckIcon className="text-fm-icon-positive mt-0.5 h-5 w-5 flex-shrink-0" />
472
492
  <div>
473
- <h4 className="font-medium !text-green-200">
493
+ <h4 className="text-fm-icon-positive! font-medium">
474
494
  Message Sent
475
495
  </h4>
476
- <p className="text-sm !text-green-300/80">
496
+ <p className="text-fm-icon-positive!/80 text-sm">
477
497
  Your message has been delivered successfully to
478
498
  all recipients.
479
499
  </p>
480
500
  </div>
481
501
  </div>
482
502
  </div>
483
- <div className="rounded-lg bg-black/40 p-4">
484
- <pre className="overflow-x-auto text-sm !text-green-300">
503
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
504
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
485
505
  {`<div className="border border-green-500/20 bg-green-500/10 p-4 rounded-lg">
486
506
  <div className="flex items-start gap-3">
487
507
  <BubbleCheckIcon className="h-5 w-5 text-green-400 mt-0.5 flex-shrink-0" />
@@ -500,40 +520,40 @@ function SuccessMessage() {
500
520
 
501
521
  {/* Chat Message Status */}
502
522
  <div className="!space-y-4">
503
- <h3 className="text-lg font-semibold !text-green-300">
523
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
504
524
  Chat Message Status
505
525
  </h3>
506
526
  <div className="!space-y-4">
507
527
  <div className="!space-y-3">
508
528
  <div className="flex justify-end">
509
- <div className="max-w-xs rounded-lg bg-blue-500 px-3 py-2">
510
- <p className="text-sm !text-white">
529
+ <div className="bg-fm-icon-info max-w-xs rounded-lg px-3 py-2">
530
+ <p className="text-fm-icon-active! text-sm">
511
531
  Hey! How are you doing?
512
532
  </p>
513
533
  <div className="mt-1 flex items-center justify-end gap-1">
514
- <span className="text-xs text-blue-100">
534
+ <span className="text-fm-icon-info text-xs">
515
535
  2:30 PM
516
536
  </span>
517
- <BubbleCheckIcon className="h-3 w-3 text-green-300" />
537
+ <BubbleCheckIcon className="text-fm-icon-positive h-3 w-3" />
518
538
  </div>
519
539
  </div>
520
540
  </div>
521
541
  <div className="flex justify-end">
522
- <div className="max-w-xs rounded-lg bg-blue-500 px-3 py-2">
523
- <p className="text-sm !text-white">
542
+ <div className="bg-fm-icon-info max-w-xs rounded-lg px-3 py-2">
543
+ <p className="text-fm-icon-active! text-sm">
524
544
  Did you get my previous message?
525
545
  </p>
526
546
  <div className="mt-1 flex items-center justify-end gap-1">
527
- <span className="text-xs text-blue-100">
547
+ <span className="text-fm-icon-info text-xs">
528
548
  2:32 PM
529
549
  </span>
530
- <BubbleCheckIcon className="h-3 w-3 text-green-300" />
550
+ <BubbleCheckIcon className="text-fm-icon-positive h-3 w-3" />
531
551
  </div>
532
552
  </div>
533
553
  </div>
534
554
  </div>
535
- <div className="rounded-lg bg-black/40 p-4">
536
- <pre className="overflow-x-auto text-sm !text-green-300">
555
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
556
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
537
557
  {`<div className="flex justify-end">
538
558
  <div className="max-w-xs rounded-lg bg-blue-500 px-3 py-2">
539
559
  <p className="text-sm text-white">Hey! How are you doing?</p>
@@ -550,26 +570,26 @@ function SuccessMessage() {
550
570
 
551
571
  {/* Form Confirmation */}
552
572
  <div className="!space-y-4">
553
- <h3 className="text-lg font-semibold !text-green-300">
573
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
554
574
  Form Confirmation
555
575
  </h3>
556
576
  <div className="!space-y-4">
557
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
577
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
558
578
  <div className="text-center">
559
- <div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-green-500/20">
560
- <BubbleCheckIcon className="h-8 w-8 text-green-400" />
579
+ <div className="bg-fm-icon-positive/20 !mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full">
580
+ <BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
561
581
  </div>
562
- <h3 className="mb-2 text-lg font-semibold !text-white">
582
+ <h3 className="text-fm-icon-active! mb-2 text-lg font-semibold">
563
583
  Form Submitted!
564
584
  </h3>
565
- <p className="text-sm !text-white/70">
585
+ <p className="text-fm-secondary! text-sm">
566
586
  We've received your feedback and will get back to
567
587
  you within 24 hours.
568
588
  </p>
569
589
  </div>
570
590
  </div>
571
- <div className="rounded-lg bg-black/40 p-4">
572
- <pre className="overflow-x-auto text-sm !text-green-300">
591
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
592
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
573
593
  {`<div className="text-center">
574
594
  <div className="mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-green-500/20">
575
595
  <BubbleCheckIcon className="h-8 w-8 text-green-400" />
@@ -586,38 +606,38 @@ function SuccessMessage() {
586
606
 
587
607
  {/* Status List */}
588
608
  <div className="!space-y-4">
589
- <h3 className="text-lg font-semibold !text-green-300">
609
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
590
610
  Status List
591
611
  </h3>
592
612
  <div className="!space-y-4">
593
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4">
613
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
594
614
  <div className="flex items-center gap-3">
595
- <BubbleCheckIcon className="h-4 w-4 text-green-400" />
596
- <span className="text-sm !text-white">
615
+ <BubbleCheckIcon className="text-fm-icon-positive h-4 w-4" />
616
+ <span className="text-fm-icon-active! text-sm">
597
617
  Email verification completed
598
618
  </span>
599
619
  </div>
600
620
  <div className="flex items-center gap-3">
601
- <BubbleCheckIcon className="h-4 w-4 text-green-400" />
602
- <span className="text-sm !text-white">
621
+ <BubbleCheckIcon className="text-fm-icon-positive h-4 w-4" />
622
+ <span className="text-fm-icon-active! text-sm">
603
623
  Profile information updated
604
624
  </span>
605
625
  </div>
606
626
  <div className="flex items-center gap-3">
607
- <BubbleCheckIcon className="h-4 w-4 text-green-400" />
608
- <span className="text-sm !text-white">
627
+ <BubbleCheckIcon className="text-fm-icon-positive h-4 w-4" />
628
+ <span className="text-fm-icon-active! text-sm">
609
629
  Security settings configured
610
630
  </span>
611
631
  </div>
612
632
  <div className="flex items-center gap-3">
613
- <div className="h-4 w-4 rounded-full border-2 border-white/20"></div>
614
- <span className="text-sm !text-white/60">
633
+ <div className="border-fm-divider-primary h-4 w-4 rounded-full border-2"></div>
634
+ <span className="text-fm-tertiary! text-sm">
615
635
  Payment method pending
616
636
  </span>
617
637
  </div>
618
638
  </div>
619
- <div className="rounded-lg bg-black/40 p-4">
620
- <pre className="overflow-x-auto text-sm !text-green-300">
639
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
640
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
621
641
  {`<div className="space-y-3">
622
642
  <div className="flex items-center gap-3">
623
643
  <BubbleCheckIcon className="h-4 w-4 text-green-400" />
@@ -639,15 +659,15 @@ function SuccessMessage() {
639
659
 
640
660
  {/* Notification Badges */}
641
661
  <div className="!space-y-4">
642
- <h3 className="text-lg font-semibold !text-green-300">
662
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
643
663
  Notification Badges
644
664
  </h3>
645
665
  <div className="!space-y-4">
646
666
  <div className="flex gap-4">
647
667
  <div className="relative">
648
- <button className="rounded-lg border border-white/10 bg-white/5 p-3 transition-colors hover:bg-white/10">
668
+ <button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
649
669
  <svg
650
- className="h-5 w-5 text-white"
670
+ className="text-fm-icon-active h-5 w-5"
651
671
  fill="none"
652
672
  stroke="currentColor"
653
673
  viewBox="0 0 24 24"
@@ -666,12 +686,12 @@ function SuccessMessage() {
666
686
  />
667
687
  </svg>
668
688
  </button>
669
- <BubbleCheckIcon className="absolute -top-1 -right-1 h-4 w-4 text-green-400" />
689
+ <BubbleCheckIcon className="text-fm-icon-positive absolute -top-1 -right-1 h-4 w-4" />
670
690
  </div>
671
691
  <div className="relative">
672
- <button className="rounded-lg border border-white/10 bg-white/5 p-3 transition-colors hover:bg-white/10">
692
+ <button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
673
693
  <svg
674
- className="h-5 w-5 text-white"
694
+ className="text-fm-icon-active h-5 w-5"
675
695
  fill="none"
676
696
  stroke="currentColor"
677
697
  viewBox="0 0 24 24"
@@ -684,11 +704,11 @@ function SuccessMessage() {
684
704
  />
685
705
  </svg>
686
706
  </button>
687
- <BubbleCheckIcon className="absolute -top-1 -right-1 h-4 w-4 text-green-400" />
707
+ <BubbleCheckIcon className="text-fm-icon-positive absolute -top-1 -right-1 h-4 w-4" />
688
708
  </div>
689
709
  </div>
690
- <div className="rounded-lg bg-black/40 p-4">
691
- <pre className="overflow-x-auto text-sm !text-green-300">
710
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
711
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
692
712
  {`<div className="relative">
693
713
  <button className="p-3 border border-white/10 bg-white/5 rounded-lg">
694
714
  {/* Main icon */}
@@ -702,22 +722,22 @@ function SuccessMessage() {
702
722
 
703
723
  {/* Action Button */}
704
724
  <div className="!space-y-4">
705
- <h3 className="text-lg font-semibold !text-green-300">
725
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
706
726
  Action Button
707
727
  </h3>
708
728
  <div className="!space-y-4">
709
729
  <div className="flex gap-4">
710
- <button className="flex items-center gap-2 rounded-lg border border-green-500/30 bg-green-500/20 px-4 py-2 text-green-200 transition-colors hover:bg-green-500/30">
730
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
711
731
  <BubbleCheckIcon className="h-4 w-4" />
712
732
  Mark as Read
713
733
  </button>
714
- <button className="flex items-center gap-2 rounded-lg border border-emerald-500/30 bg-emerald-500/20 px-4 py-2 text-emerald-200 transition-colors hover:bg-emerald-500/30">
734
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
715
735
  <BubbleCheckIcon className="h-4 w-4" />
716
736
  Approve Message
717
737
  </button>
718
738
  </div>
719
- <div className="rounded-lg bg-black/40 p-4">
720
- <pre className="overflow-x-auto text-sm !text-green-300">
739
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
740
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
721
741
  {`// Confirm action button
722
742
  <button className="flex items-center gap-2 bg-green-500/20 border border-green-500/30 px-4 py-2 rounded-lg">
723
743
  <BubbleCheckIcon className="h-4 w-4" />
@@ -738,40 +758,42 @@ function SuccessMessage() {
738
758
 
739
759
  {/* Animation States */}
740
760
  <div className="!space-y-8">
741
- <h2 className="text-center text-3xl font-bold !text-white">
761
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
742
762
  Animation States
743
763
  </h2>
744
764
  <div className="grid grid-cols-1 gap-8 md:grid-cols-3">
745
765
  <div className="text-center">
746
- <h3 className="mb-4 text-lg font-medium !text-white">
766
+ <h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
747
767
  Bounce Animation
748
768
  </h3>
749
- <div className="rounded-lg border border-white/10 bg-white/5 px-6 py-8">
750
- <BubbleCheckIcon className="!mx-auto h-8 w-8 animate-bounce text-green-400" />
769
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
770
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 animate-bounce" />
751
771
  </div>
752
- <p className="mt-2 text-xs !text-white/60">
772
+ <p className="text-fm-tertiary! mt-2 text-xs">
753
773
  animate-bounce
754
774
  </p>
755
775
  </div>
756
776
 
757
777
  <div className="text-center">
758
- <h3 className="mb-4 text-lg font-medium !text-white">
778
+ <h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
759
779
  Pulse Animation
760
780
  </h3>
761
- <div className="rounded-lg border border-white/10 bg-white/5 px-6 py-8">
762
- <BubbleCheckIcon className="!mx-auto h-8 w-8 animate-pulse text-green-400" />
781
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
782
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 animate-pulse" />
763
783
  </div>
764
- <p className="mt-2 text-xs !text-white/60">animate-pulse</p>
784
+ <p className="text-fm-tertiary! mt-2 text-xs">
785
+ animate-pulse
786
+ </p>
765
787
  </div>
766
788
 
767
789
  <div className="text-center">
768
- <h3 className="mb-4 text-lg font-medium !text-white">
790
+ <h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
769
791
  Scale on Hover
770
792
  </h3>
771
- <div className="rounded-lg border border-white/10 bg-white/5 px-6 py-8">
772
- <BubbleCheckIcon className="!mx-auto h-8 w-8 text-green-400 transition-transform hover:scale-110" />
793
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
794
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 transition-transform hover:scale-110" />
773
795
  </div>
774
- <p className="mt-2 text-xs !text-white/60">
796
+ <p className="text-fm-tertiary! mt-2 text-xs">
775
797
  hover:scale-110
776
798
  </p>
777
799
  </div>
@@ -780,64 +802,64 @@ function SuccessMessage() {
780
802
 
781
803
  {/* Accessibility */}
782
804
  <div className="!space-y-8">
783
- <h2 className="text-center text-3xl font-bold !text-white">
805
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
784
806
  Accessibility Features
785
807
  </h2>
786
808
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
787
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
788
- <h3 className="text-lg font-semibold !text-green-300">
809
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
810
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
789
811
  ✅ Built-in Features
790
812
  </h3>
791
- <ul className="!space-y-2 text-sm !text-white/70">
792
- <li className="!text-white/70">
813
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
814
+ <li className="text-fm-secondary!">
793
815
  Uses Radix UI AccessibleIcon wrapper
794
816
  </li>
795
- <li className="!text-white/70">
817
+ <li className="text-fm-secondary!">
796
818
  Provides screen reader label "Bubble Check icon"
797
819
  </li>
798
- <li className="!text-white/70">
820
+ <li className="text-fm-secondary!">
799
821
  Supports keyboard navigation when interactive
800
822
  </li>
801
- <li className="!text-white/70">
823
+ <li className="text-fm-secondary!">
802
824
  Maintains proper color contrast ratios
803
825
  </li>
804
- <li className="!text-white/70">
826
+ <li className="text-fm-secondary!">
805
827
  Scales with user's font size preferences
806
828
  </li>
807
829
  </ul>
808
830
  </div>
809
831
 
810
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
811
- <h3 className="text-lg font-semibold !text-green-300">
832
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
833
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
812
834
  💡 Best Practices
813
835
  </h3>
814
- <ul className="!space-y-2 text-sm text-white/70">
815
- <li className="!text-white/70">
836
+ <ul className="text-fm-secondary !space-y-2 text-sm">
837
+ <li className="text-fm-secondary!">
816
838
  Always pair with descriptive success text
817
839
  </li>
818
- <li className="!text-white/70">
840
+ <li className="text-fm-secondary!">
819
841
  Use consistent colors for success states
820
842
  </li>
821
- <li className="!text-white/70">
843
+ <li className="text-fm-secondary!">
822
844
  Ensure sufficient color contrast for visibility
823
845
  </li>
824
- <li className="!text-white/70">
846
+ <li className="text-fm-secondary!">
825
847
  Add focus states for interactive elements
826
848
  </li>
827
- <li className="!text-white/70">
849
+ <li className="text-fm-secondary!">
828
850
  Consider animation preferences for users
829
851
  </li>
830
852
  </ul>
831
853
  </div>
832
854
  </div>
833
855
 
834
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
835
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
856
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
857
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
836
858
  Custom Accessibility Implementation
837
859
  </h3>
838
860
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
839
- <div className="rounded-lg bg-black/40 p-4">
840
- <pre className="overflow-x-auto text-sm !text-blue-300">
861
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
862
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
841
863
  {`// Custom implementation with specific context
842
864
  import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
843
865
 
@@ -863,13 +885,13 @@ function SuccessMessageIcon({ label = "Success message", ...props }) {
863
885
  </pre>
864
886
  </div>
865
887
  <div className="!space-y-4">
866
- <p className="text-sm !text-white/70">
888
+ <p className="text-fm-secondary! text-sm">
867
889
  For specific contexts, you can wrap the BubbleCheckIcon
868
890
  with a custom AccessibleIcon component that provides
869
891
  more descriptive labels for different success scenarios.
870
892
  </p>
871
- <div className="rounded-lg border border-green-500/20 bg-green-500/10 p-4">
872
- <div className="flex items-center gap-2 text-sm text-green-200">
893
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
894
+ <div className="text-fm-icon-positive flex items-center gap-2 text-sm">
873
895
  <BubbleCheckIcon className="h-4 w-4" />
874
896
  <span>
875
897
  This gives screen readers specific context about the
@@ -884,48 +906,60 @@ function SuccessMessageIcon({ label = "Success message", ...props }) {
884
906
 
885
907
  {/* Related Icons */}
886
908
  <div className="!space-y-8">
887
- <h2 className="text-center text-3xl font-bold !text-white">
909
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
888
910
  Related Icons
889
911
  </h2>
890
912
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
891
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
892
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
913
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
914
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
893
915
  <span className="text-2xl">✅</span>
894
916
  </div>
895
917
  <div>
896
- <div className="font-medium !text-white">CheckIcon</div>
897
- <div className="text-xs !text-white/60">
918
+ <div className="text-fm-icon-active! font-medium">
919
+ CheckIcon
920
+ </div>
921
+ <div className="text-fm-tertiary! text-xs">
898
922
  Simple checkmark
899
923
  </div>
900
924
  </div>
901
925
  </div>
902
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
903
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
926
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
927
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
904
928
  <span className="text-2xl">💬</span>
905
929
  </div>
906
930
  <div>
907
- <div className="font-medium !text-white">BubbleIcon</div>
908
- <div className="text-xs !text-white/60">Chat bubble</div>
931
+ <div className="text-fm-icon-active! font-medium">
932
+ BubbleIcon
933
+ </div>
934
+ <div className="text-fm-tertiary! text-xs">
935
+ Chat bubble
936
+ </div>
909
937
  </div>
910
938
  </div>
911
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
912
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-emerald-500/20">
939
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
940
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
913
941
  <span className="text-2xl">✉️</span>
914
942
  </div>
915
943
  <div>
916
- <div className="font-medium !text-white">MessageIcon</div>
917
- <div className="text-xs !text-white/60">
944
+ <div className="text-fm-icon-active! font-medium">
945
+ MessageIcon
946
+ </div>
947
+ <div className="text-fm-tertiary! text-xs">
918
948
  Email message
919
949
  </div>
920
950
  </div>
921
951
  </div>
922
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
923
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-teal-500/20">
952
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
953
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
924
954
  <span className="text-2xl">🎉</span>
925
955
  </div>
926
956
  <div>
927
- <div className="font-medium !text-white">SuccessIcon</div>
928
- <div className="text-xs !text-white/60">Celebration</div>
957
+ <div className="text-fm-icon-active! font-medium">
958
+ SuccessIcon
959
+ </div>
960
+ <div className="text-fm-tertiary! text-xs">
961
+ Celebration
962
+ </div>
929
963
  </div>
930
964
  </div>
931
965
  </div>
@@ -933,15 +967,15 @@ function SuccessMessageIcon({ label = "Success message", ...props }) {
933
967
  </div>
934
968
 
935
969
  {/* Footer */}
936
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
970
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
937
971
  <div className="!mx-auto max-w-7xl px-6 py-8">
938
972
  <div className="!space-y-4 text-center">
939
- <p className="!text-white/60">
973
+ <p className="text-fm-tertiary!">
940
974
  BubbleCheckIcon is part of the Aural UI icon library,
941
975
  designed for clear success communication and message
942
976
  validation.
943
977
  </p>
944
- <p className="text-sm !text-white/40">
978
+ <p className="text-fm-placeholder! text-sm">
945
979
  Perfect for chat applications, form confirmations, status
946
980
  indicators, and any interface requiring success feedback.
947
981
  </p>
@@ -995,8 +1029,8 @@ const storyParameters = {
995
1029
  backgrounds: {
996
1030
  default: "dark",
997
1031
  values: [
998
- { name: "dark", value: "#0a0a0a" },
999
- { name: "darker", value: "#000000" },
1032
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1033
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
1000
1034
  ],
1001
1035
  },
1002
1036
  }
@@ -1005,12 +1039,12 @@ export const Default: Story = {
1005
1039
  args: {
1006
1040
  width: 24,
1007
1041
  height: 24,
1008
- className: "text-green-400",
1042
+ className: "text-fm-icon-positive",
1009
1043
  withAccessibility: true,
1010
1044
  },
1011
1045
  parameters: storyParameters,
1012
1046
  render: (args) => (
1013
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1047
+ <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">
1014
1048
  <BubbleCheckIcon {...args} />
1015
1049
  </div>
1016
1050
  ),
@@ -1027,30 +1061,30 @@ export const SizeVariations: Story = {
1027
1061
  },
1028
1062
  },
1029
1063
  render: () => (
1030
- <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">
1064
+ <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">
1031
1065
  <div className="text-center">
1032
- <BubbleCheckIcon className="!mx-auto mb-2 h-3 w-3 text-green-400" />
1033
- <span className="text-xs text-white/60">12px</span>
1066
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
1067
+ <span className="text-fm-tertiary text-xs">12px</span>
1034
1068
  </div>
1035
1069
  <div className="text-center">
1036
- <BubbleCheckIcon className="!mx-auto mb-2 h-4 w-4 text-green-400" />
1037
- <span className="text-xs text-white/60">16px</span>
1070
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
1071
+ <span className="text-fm-tertiary text-xs">16px</span>
1038
1072
  </div>
1039
1073
  <div className="text-center">
1040
- <BubbleCheckIcon className="!mx-auto mb-2 h-5 w-5 text-green-400" />
1041
- <span className="text-xs text-white/60">20px</span>
1074
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
1075
+ <span className="text-fm-tertiary text-xs">20px</span>
1042
1076
  </div>
1043
1077
  <div className="text-center">
1044
- <BubbleCheckIcon className="!mx-auto mb-2 h-6 w-6 text-green-400" />
1045
- <span className="text-xs text-white/60">24px</span>
1078
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
1079
+ <span className="text-fm-tertiary text-xs">24px</span>
1046
1080
  </div>
1047
1081
  <div className="text-center">
1048
- <BubbleCheckIcon className="!mx-auto mb-2 h-8 w-8 text-green-400" />
1049
- <span className="text-xs text-white/60">32px</span>
1082
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
1083
+ <span className="text-fm-tertiary text-xs">32px</span>
1050
1084
  </div>
1051
1085
  <div className="text-center">
1052
- <BubbleCheckIcon className="!mx-auto mb-2 h-12 w-12 text-green-400" />
1053
- <span className="text-xs text-white/60">48px</span>
1086
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
1087
+ <span className="text-fm-tertiary text-xs">48px</span>
1054
1088
  </div>
1055
1089
  </div>
1056
1090
  ),
@@ -1067,34 +1101,44 @@ export const ColorVariations: Story = {
1067
1101
  },
1068
1102
  },
1069
1103
  render: () => (
1070
- <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">
1104
+ <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">
1071
1105
  <div className="text-center">
1072
- <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">
1073
- <BubbleCheckIcon className="h-8 w-8 text-green-400" />
1106
+ <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">
1107
+ <BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
1108
+ </div>
1109
+ <div className="text-fm-icon-active! text-sm font-medium">Success</div>
1110
+ <div className="text-fm-icon-positive text-xs">
1111
+ text-fm-icon-positive
1074
1112
  </div>
1075
- <div className="text-sm font-medium !text-white">Success</div>
1076
- <div className="text-xs text-green-400">text-green-400</div>
1077
1113
  </div>
1078
1114
  <div className="text-center">
1079
- <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">
1080
- <BubbleCheckIcon className="h-8 w-8 text-emerald-400" />
1115
+ <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">
1116
+ <BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
1117
+ </div>
1118
+ <div className="text-fm-icon-active! text-sm font-medium">
1119
+ Completed
1120
+ </div>
1121
+ <div className="text-fm-icon-positive text-xs">
1122
+ text-fm-icon-positive
1081
1123
  </div>
1082
- <div className="text-sm font-medium !text-white">Completed</div>
1083
- <div className="text-xs text-emerald-400">text-emerald-400</div>
1084
1124
  </div>
1085
1125
  <div className="text-center">
1086
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-teal-500/30 bg-teal-500/20">
1087
- <BubbleCheckIcon className="h-8 w-8 text-teal-400" />
1126
+ <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">
1127
+ <BubbleCheckIcon className="text-fm-icon-info h-8 w-8" />
1088
1128
  </div>
1089
- <div className="text-sm font-medium !text-white">Confirmed</div>
1090
- <div className="text-xs text-teal-400">text-teal-400</div>
1129
+ <div className="text-fm-icon-active! text-sm font-medium">
1130
+ Confirmed
1131
+ </div>
1132
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1091
1133
  </div>
1092
1134
  <div className="text-center">
1093
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-lime-500/30 bg-lime-500/20">
1094
- <BubbleCheckIcon className="h-8 w-8 text-lime-400" />
1135
+ <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">
1136
+ <BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
1137
+ </div>
1138
+ <div className="text-fm-icon-active! text-sm font-medium">Approved</div>
1139
+ <div className="text-fm-icon-positive text-xs">
1140
+ text-fm-icon-positive
1095
1141
  </div>
1096
- <div className="text-sm font-medium !text-white">Approved</div>
1097
- <div className="text-xs text-lime-400">text-lime-400</div>
1098
1142
  </div>
1099
1143
  </div>
1100
1144
  ),
@@ -1111,16 +1155,20 @@ export const UsageExamples: Story = {
1111
1155
  },
1112
1156
  },
1113
1157
  render: () => (
1114
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1158
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1115
1159
  {/* Success Toast */}
1116
1160
  <div className="!space-y-2">
1117
- <h3 className="text-sm font-medium !text-white">Success Toast</h3>
1118
- <div className="rounded-lg border border-green-500/20 bg-green-500/10 p-4">
1161
+ <h3 className="text-fm-icon-active! text-sm font-medium">
1162
+ Success Toast
1163
+ </h3>
1164
+ <div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
1119
1165
  <div className="flex items-start gap-3">
1120
- <BubbleCheckIcon className="mt-0.5 h-5 w-5 flex-shrink-0 text-green-400" />
1166
+ <BubbleCheckIcon className="text-fm-icon-positive mt-0.5 h-5 w-5 flex-shrink-0" />
1121
1167
  <div>
1122
- <h4 className="font-medium text-green-200">Message Sent</h4>
1123
- <p className="text-sm text-green-300/80">
1168
+ <h4 className="text-fm-icon-positive font-medium">
1169
+ Message Sent
1170
+ </h4>
1171
+ <p className="text-fm-icon-positive/80 text-sm">
1124
1172
  Your message has been delivered successfully to all recipients.
1125
1173
  </p>
1126
1174
  </div>
@@ -1130,13 +1178,17 @@ export const UsageExamples: Story = {
1130
1178
 
1131
1179
  {/* Chat Status */}
1132
1180
  <div className="!space-y-2">
1133
- <h3 className="text-sm font-medium !text-white">Chat Message Status</h3>
1181
+ <h3 className="text-fm-icon-active! text-sm font-medium">
1182
+ Chat Message Status
1183
+ </h3>
1134
1184
  <div className="flex justify-end">
1135
- <div className="max-w-xs rounded-lg bg-blue-500 px-3 py-2">
1136
- <p className="text-sm text-white">Hey! How are you doing?</p>
1185
+ <div className="bg-fm-icon-info max-w-xs rounded-lg px-3 py-2">
1186
+ <p className="text-fm-icon-active text-sm">
1187
+ Hey! How are you doing?
1188
+ </p>
1137
1189
  <div className="mt-1 flex items-center justify-end gap-1">
1138
- <span className="text-xs text-blue-100">2:30 PM</span>
1139
- <BubbleCheckIcon className="h-3 w-3 text-green-300" />
1190
+ <span className="text-fm-icon-info text-xs">2:30 PM</span>
1191
+ <BubbleCheckIcon className="text-fm-icon-positive h-3 w-3" />
1140
1192
  </div>
1141
1193
  </div>
1142
1194
  </div>
@@ -1144,15 +1196,17 @@ export const UsageExamples: Story = {
1144
1196
 
1145
1197
  {/* Form Confirmation */}
1146
1198
  <div className="!space-y-2">
1147
- <h3 className="text-sm font-medium !text-white">Form Confirmation</h3>
1148
- <div className="rounded-lg border border-white/10 bg-white/5 p-6 text-center">
1149
- <div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-green-500/20">
1150
- <BubbleCheckIcon className="h-8 w-8 text-green-400" />
1199
+ <h3 className="text-fm-icon-active! text-sm font-medium">
1200
+ Form Confirmation
1201
+ </h3>
1202
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6 text-center">
1203
+ <div className="bg-fm-icon-positive/20 !mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full">
1204
+ <BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
1151
1205
  </div>
1152
- <h3 className="mb-2 text-lg font-semibold !text-white">
1206
+ <h3 className="text-fm-icon-active! mb-2 text-lg font-semibold">
1153
1207
  Form Submitted!
1154
1208
  </h3>
1155
- <p className="text-sm !text-white/70">
1209
+ <p className="text-fm-secondary! text-sm">
1156
1210
  We've received your feedback and will get back to you within 24
1157
1211
  hours.
1158
1212
  </p>
@@ -1161,13 +1215,15 @@ export const UsageExamples: Story = {
1161
1215
 
1162
1216
  {/* Action Buttons */}
1163
1217
  <div className="!space-y-2">
1164
- <h3 className="text-sm font-medium !text-white">Action Buttons</h3>
1218
+ <h3 className="text-fm-icon-active! text-sm font-medium">
1219
+ Action Buttons
1220
+ </h3>
1165
1221
  <div className="flex gap-4">
1166
- <button className="flex items-center gap-2 rounded-lg border border-green-500/30 bg-green-500/20 px-4 py-2 text-green-200 transition-colors hover:bg-green-500/30">
1222
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
1167
1223
  <BubbleCheckIcon className="h-4 w-4" />
1168
1224
  Mark as Read
1169
1225
  </button>
1170
- <button className="flex items-center gap-2 rounded-lg border border-emerald-500/30 bg-emerald-500/20 px-4 py-2 text-emerald-200 transition-colors hover:bg-emerald-500/30">
1226
+ <button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
1171
1227
  <BubbleCheckIcon className="h-4 w-4" />
1172
1228
  Approve Message
1173
1229
  </button>
@@ -1188,33 +1244,35 @@ export const AnimatedStates: Story = {
1188
1244
  },
1189
1245
  },
1190
1246
  render: () => (
1191
- <div className="grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-3">
1247
+ <div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-linear-to-br p-8 md:grid-cols-3">
1192
1248
  <div className="text-center">
1193
- <h3 className="mb-4 text-lg font-medium !text-white">
1249
+ <h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
1194
1250
  Bounce Animation
1195
1251
  </h3>
1196
- <div className="rounded-lg border border-white/10 bg-white/5 px-6 py-8">
1197
- <BubbleCheckIcon className="!mx-auto h-8 w-8 animate-bounce text-green-400" />
1252
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
1253
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 animate-bounce" />
1198
1254
  </div>
1199
- <p className="mt-2 text-xs !text-white/60">Success celebration</p>
1255
+ <p className="text-fm-tertiary! mt-2 text-xs">Success celebration</p>
1200
1256
  </div>
1201
1257
 
1202
1258
  <div className="text-center">
1203
- <h3 className="mb-4 text-lg font-medium !text-white">
1259
+ <h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
1204
1260
  Pulse Animation
1205
1261
  </h3>
1206
- <div className="rounded-lg border border-white/10 bg-white/5 px-6 py-8">
1207
- <BubbleCheckIcon className="!mx-auto h-8 w-8 animate-pulse text-green-400" />
1262
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
1263
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 animate-pulse" />
1208
1264
  </div>
1209
- <p className="mt-2 text-xs !text-white/60">Attention drawing</p>
1265
+ <p className="text-fm-tertiary! mt-2 text-xs">Attention drawing</p>
1210
1266
  </div>
1211
1267
 
1212
1268
  <div className="text-center">
1213
- <h3 className="mb-4 text-lg font-medium !text-white">Scale on Hover</h3>
1214
- <div className="rounded-lg border border-white/10 bg-white/5 px-6 py-8">
1215
- <BubbleCheckIcon className="!mx-auto h-8 w-8 text-green-400 transition-transform hover:scale-110" />
1269
+ <h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
1270
+ Scale on Hover
1271
+ </h3>
1272
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
1273
+ <BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 transition-transform hover:scale-110" />
1216
1274
  </div>
1217
- <p className="mt-2 text-xs !text-white/60">Interactive feedback</p>
1275
+ <p className="text-fm-tertiary! mt-2 text-xs">Interactive feedback</p>
1218
1276
  </div>
1219
1277
  </div>
1220
1278
  ),
@@ -1233,13 +1291,13 @@ export const Playground: Story = {
1233
1291
  args: {
1234
1292
  width: 32,
1235
1293
  height: 32,
1236
- className: "text-green-400",
1294
+ className: "text-fm-icon-positive",
1237
1295
  strokeWidth: 1.5,
1238
1296
  strokeLinecap: "square",
1239
1297
  },
1240
1298
  render: (args) => (
1241
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1242
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1299
+ <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">
1300
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1243
1301
  <BubbleCheckIcon {...args} />
1244
1302
  </div>
1245
1303
  </div>