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 StoreCoinIcon> = {
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 StoreCoinIcon> = {
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
  `}
81
81
  </style>
82
82
 
83
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-yellow-900/20 to-gray-900">
83
+ <div className="from-fm-surface-primary via-fm-icon-warning/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
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-yellow-500/10 via-orange-500/10 to-yellow-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-icon-warning/10 via-fm-icon-warning/10 to-fm-icon-warning/10 absolute inset-0 bg-linear-to-r" />
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-yellow-500/30 bg-gradient-to-br from-yellow-500/20 to-orange-500/20">
89
+ <div className="border-fm-icon-warning/30 from-fm-icon-warning/20 to-fm-icon-warning/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
90
  <StoreCoinIcon className="h-12 w-12" />
91
91
  </div>
92
92
  <h1 className="!text-fm-primary text-5xl font-bold">
93
93
  StoreCoinIcon
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 vibrant store coin icon representing in-app purchases,
97
97
  virtual currency, and digital transactions. Built with
98
98
  accessibility in mind using Radix UI's AccessibleIcon
@@ -102,28 +102,28 @@ const meta: Meta<typeof StoreCoinIcon> = {
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-yellow-300">
105
+ <div className="text-fm-icon-warning text-3xl font-bold">
106
106
  Accessible
107
107
  </div>
108
- <div className="text-sm text-white/60">
108
+ <div className="text-fm-tertiary text-sm">
109
109
  Screen reader friendly
110
110
  </div>
111
111
  </div>
112
- <div className="h-8 w-px bg-white/20" />
112
+ <div className="bg-fm-divider-primary h-8 w-px" />
113
113
  <div className="text-center">
114
- <div className="text-3xl font-bold text-orange-300">
114
+ <div className="text-fm-icon-warning text-3xl font-bold">
115
115
  Scalable
116
116
  </div>
117
- <div className="text-sm text-white/60">
117
+ <div className="text-fm-tertiary text-sm">
118
118
  Any size needed
119
119
  </div>
120
120
  </div>
121
- <div className="h-8 w-px bg-white/20" />
121
+ <div className="bg-fm-divider-primary h-8 w-px" />
122
122
  <div className="text-center">
123
- <div className="text-3xl font-bold text-purple-300">
123
+ <div className="text-fm-secondary-600 text-3xl font-bold">
124
124
  Flexible
125
125
  </div>
126
- <div className="text-sm text-white/60">
126
+ <div className="text-fm-tertiary text-sm">
127
127
  Customizable styling
128
128
  </div>
129
129
  </div>
@@ -136,16 +136,16 @@ const meta: Meta<typeof StoreCoinIcon> = {
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-yellow-300">
144
+ <h3 className="text-fm-icon-warning! 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 { StoreCoinIcon } from "@icons/store-coin-icon"
150
150
 
151
151
  function PurchaseButton() {
@@ -161,13 +161,13 @@ function PurchaseButton() {
161
161
  </div>
162
162
 
163
163
  <div className="!space-y-4">
164
- <h3 className="text-xl font-semibold !text-yellow-300">
164
+ <h3 className="text-fm-icon-warning! 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
- <button className="flex items-center gap-3 rounded-lg border border-yellow-500/20 bg-yellow-500/10 px-4 py-2 transition-colors hover:bg-yellow-500/20">
167
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
168
+ <button className="border-fm-icon-warning/20 bg-fm-icon-warning/10 hover:bg-fm-icon-warning/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
169
169
  <StoreCoinIcon className="h-5 w-5" />
170
- <span className="text-white">Buy Coins</span>
170
+ <span className="text-fm-icon-active">Buy Coins</span>
171
171
  </button>
172
172
  </div>
173
173
  </div>
@@ -176,94 +176,102 @@ function PurchaseButton() {
176
176
 
177
177
  {/* Props Documentation */}
178
178
  <div className="!space-y-8">
179
- <h2 className="text-center text-3xl font-bold !text-white">
179
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
180
180
  Props & Configuration
181
181
  </h2>
182
182
 
183
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
184
- <div className="bg-white/5 p-4">
185
- <h3 className="text-xl font-semibold !text-white">Props</h3>
183
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
184
+ <div className="bg-fm-surface-secondary p-4">
185
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
186
+ Props
187
+ </h3>
186
188
  </div>
187
189
  <table className="!my-0 w-full">
188
- <thead className="bg-white/5">
189
- <tr className="border-b border-white/10">
190
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
190
+ <thead className="bg-fm-surface-secondary">
191
+ <tr className="border-fm-divider-secondary border-b">
192
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
191
193
  Prop
192
194
  </th>
193
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
195
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
194
196
  Type
195
197
  </th>
196
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
198
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
197
199
  Default
198
200
  </th>
199
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
201
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
200
202
  Description
201
203
  </th>
202
204
  </tr>
203
205
  </thead>
204
206
  <tbody>
205
207
  {" "}
206
- <tr className="!bg-black/10">
207
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
208
+ <tr className="bg-fm-surface-secondary!">
209
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
208
210
  withAccessibility
209
211
  </td>
210
- <td className="px-6 py-4 text-sm !text-white/70">
212
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
211
213
  boolean
212
214
  </td>
213
- <td className="px-6 py-4 text-sm !text-white/50">
215
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
214
216
  true
215
217
  </td>
216
- <td className="px-6 py-4 text-sm !text-white/70">
218
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
217
219
  Whether to wrap the icon with accessibility feature
218
220
  </td>
219
221
  </tr>
220
- <tr className="border-b border-white/5 !bg-black/10">
221
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
222
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
223
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
222
224
  height
223
225
  </td>
224
- <td className="px-6 py-4 text-sm !text-white/70">
226
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
225
227
  number | string
226
228
  </td>
227
- <td className="px-6 py-4 text-sm !text-white/50">28</td>
228
- <td className="px-6 py-4 text-sm !text-white/70">
229
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
230
+ 28
231
+ </td>
232
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
229
233
  Height of the icon in pixels
230
234
  </td>
231
235
  </tr>
232
- <tr className="border-b border-white/5">
233
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
236
+ <tr className="border-fm-divider-tertiary border-b">
237
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
234
238
  fill
235
239
  </td>
236
- <td className="px-6 py-4 text-sm !text-white/70">
240
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
237
241
  string
238
242
  </td>
239
- <td className="px-6 py-4 text-sm !text-white/50">
243
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
240
244
  Coin gradient
241
245
  </td>
242
- <td className="px-6 py-4 text-sm !text-white/70">
246
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
243
247
  Uses embedded coin colors
244
248
  </td>
245
249
  </tr>
246
- <tr className="border-b border-white/5 !bg-black/10">
247
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
250
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
251
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
248
252
  className
249
253
  </td>
250
- <td className="px-6 py-4 text-sm !text-white/70">
254
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
251
255
  string
252
256
  </td>
253
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
254
- <td className="px-6 py-4 text-sm !text-white/70">
257
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
258
+ -
259
+ </td>
260
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
255
261
  CSS classes for styling
256
262
  </td>
257
263
  </tr>
258
- <tr className="!bg-black/10">
259
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
264
+ <tr className="bg-fm-surface-secondary!">
265
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
260
266
  ...svgProps
261
267
  </td>
262
- <td className="px-6 py-4 text-sm !text-white/70">
268
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
263
269
  SVGProps
264
270
  </td>
265
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
266
- <td className="px-6 py-4 text-sm !text-white/70">
271
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
272
+ -
273
+ </td>
274
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
267
275
  All standard SVG element props
268
276
  </td>
269
277
  </tr>
@@ -274,50 +282,62 @@ function PurchaseButton() {
274
282
 
275
283
  {/* Size Variations */}
276
284
  <div className="!space-y-8">
277
- <h2 className="text-center text-3xl font-bold !text-white">
285
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
278
286
  Size Variations
279
287
  </h2>
280
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
288
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
281
289
  <div className="!space-y-6">
282
290
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
283
291
  <div className="!space-y-4">
284
- <h3 className="text-lg font-semibold !text-yellow-300">
292
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
285
293
  Standard Sizes
286
294
  </h3>
287
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
295
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
288
296
  <div className="text-center">
289
297
  <StoreCoinIcon className="!mx-auto mb-2 h-3 w-3" />
290
- <span className="text-xs text-white/60">12px</span>
298
+ <span className="text-fm-tertiary text-xs">
299
+ 12px
300
+ </span>
291
301
  </div>
292
302
  <div className="text-center">
293
303
  <StoreCoinIcon className="!mx-auto mb-2 h-4 w-4" />
294
- <span className="text-xs text-white/60">16px</span>
304
+ <span className="text-fm-tertiary text-xs">
305
+ 16px
306
+ </span>
295
307
  </div>
296
308
  <div className="text-center">
297
309
  <StoreCoinIcon className="!mx-auto mb-2 h-5 w-5" />
298
- <span className="text-xs text-white/60">20px</span>
310
+ <span className="text-fm-tertiary text-xs">
311
+ 20px
312
+ </span>
299
313
  </div>
300
314
  <div className="text-center">
301
315
  <StoreCoinIcon className="!mx-auto mb-2 h-6 w-6" />
302
- <span className="text-xs text-white/60">24px</span>
316
+ <span className="text-fm-tertiary text-xs">
317
+ 24px
318
+ </span>
303
319
  </div>
304
320
  <div className="text-center">
305
321
  <StoreCoinIcon className="!mx-auto mb-2 h-8 w-8" />
306
- <span className="text-xs text-white/60">32px</span>
322
+ <span className="text-fm-tertiary text-xs">
323
+ 32px
324
+ </span>
307
325
  </div>
308
326
  <div className="text-center">
309
327
  <StoreCoinIcon className="!mx-auto mb-2 h-12 w-12" />
310
- <span className="text-xs text-white/60">48px</span>
328
+ <span className="text-fm-tertiary text-xs">
329
+ 48px
330
+ </span>
311
331
  </div>
312
332
  </div>
313
333
  </div>
314
334
 
315
335
  <div className="!space-y-4">
316
- <h3 className="text-lg font-semibold !text-yellow-300">
336
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
317
337
  Code Example
318
338
  </h3>
319
- <div className="rounded-lg bg-black/40 p-4">
320
- <pre className="overflow-x-auto text-sm !text-blue-300">
339
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
340
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
321
341
  {`// Small (16px)
322
342
  <StoreCoinIcon className="h-4 w-4" />
323
343
 
@@ -339,61 +359,61 @@ function PurchaseButton() {
339
359
 
340
360
  {/* Color Variations */}
341
361
  <div className="!space-y-8">
342
- <h2 className="text-center text-3xl font-bold !text-white">
362
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
343
363
  Color Variations
344
364
  </h2>
345
365
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
346
366
  <div className="!space-y-4">
347
- <h3 className="text-lg font-semibold !text-yellow-300">
367
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
348
368
  Display Contexts
349
369
  </h3>
350
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
370
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
351
371
  <div className="flex items-center gap-4">
352
372
  <StoreCoinIcon className="h-6 w-6" />
353
373
  <div>
354
- <div className="text-sm font-medium text-white">
374
+ <div className="text-fm-icon-active text-sm font-medium">
355
375
  Original Gradient
356
376
  </div>
357
- <div className="text-xs text-white/60">
377
+ <div className="text-fm-tertiary text-xs">
358
378
  Golden coin design
359
379
  </div>
360
380
  </div>
361
381
  </div>
362
382
  <div className="flex items-center gap-4">
363
- <div className="rounded bg-white p-1">
383
+ <div className="bg-fm-surface-contrast rounded p-1">
364
384
  <StoreCoinIcon className="h-5 w-5" />
365
385
  </div>
366
386
  <div>
367
- <div className="text-sm font-medium text-white">
387
+ <div className="text-fm-icon-active text-sm font-medium">
368
388
  On White Background
369
389
  </div>
370
- <div className="text-xs text-white/60">
390
+ <div className="text-fm-tertiary text-xs">
371
391
  Optimal contrast
372
392
  </div>
373
393
  </div>
374
394
  </div>
375
395
  <div className="flex items-center gap-4">
376
- <div className="rounded bg-gray-100 p-1">
396
+ <div className="bg-fm-surface-secondary rounded p-1">
377
397
  <StoreCoinIcon className="h-5 w-5" />
378
398
  </div>
379
399
  <div>
380
- <div className="text-sm font-medium text-white">
400
+ <div className="text-fm-icon-active text-sm font-medium">
381
401
  On Light Background
382
402
  </div>
383
- <div className="text-xs text-white/60">
403
+ <div className="text-fm-tertiary text-xs">
384
404
  Light gray surface
385
405
  </div>
386
406
  </div>
387
407
  </div>
388
408
  <div className="flex items-center gap-4">
389
- <div className="rounded bg-gray-800 p-1">
409
+ <div className="bg-fm-surface-secondary rounded p-1">
390
410
  <StoreCoinIcon className="h-5 w-5" />
391
411
  </div>
392
412
  <div>
393
- <div className="text-sm font-medium text-white">
413
+ <div className="text-fm-icon-active text-sm font-medium">
394
414
  On Dark Background
395
415
  </div>
396
- <div className="text-xs text-white/60">
416
+ <div className="text-fm-tertiary text-xs">
397
417
  Dark surface
398
418
  </div>
399
419
  </div>
@@ -402,11 +422,11 @@ function PurchaseButton() {
402
422
  </div>
403
423
 
404
424
  <div className="!space-y-4">
405
- <h3 className="text-lg font-semibold !text-yellow-300">
425
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
406
426
  Implementation Notes
407
427
  </h3>
408
- <div className="rounded-lg bg-black/40 p-4">
409
- <pre className="overflow-x-auto text-sm !text-green-300">
428
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
429
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
410
430
  {`// Store coin uses embedded gradient colors
411
431
  // Golden orange (#FFB340) with highlights
412
432
 
@@ -432,29 +452,29 @@ function PurchaseButton() {
432
452
 
433
453
  {/* Usage Examples */}
434
454
  <div className="!space-y-8">
435
- <h2 className="text-center text-3xl font-bold !text-white">
455
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
436
456
  Usage Examples
437
457
  </h2>
438
458
 
439
459
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
440
460
  {/* Purchase Actions */}
441
461
  <div className="!space-y-4">
442
- <h3 className="text-lg font-semibold !text-yellow-300">
462
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
443
463
  Purchase Actions
444
464
  </h3>
445
465
  <div className="!space-y-4">
446
466
  <div className="flex gap-4">
447
- <button className="flex items-center gap-2 rounded-lg border border-yellow-500/30 bg-yellow-500/20 px-4 py-2 text-yellow-200 transition-colors hover:bg-yellow-500/30">
467
+ <button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
448
468
  <StoreCoinIcon className="h-4 w-4" />
449
469
  Buy Coins
450
470
  </button>
451
- <button className="flex items-center gap-2 rounded-lg border border-orange-500/30 bg-orange-500/20 px-3 py-2 text-orange-200 transition-colors hover:bg-orange-500/30">
471
+ <button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
452
472
  <StoreCoinIcon className="h-4 w-4" />
453
473
  Earn More
454
474
  </button>
455
475
  </div>
456
- <div className="rounded-lg bg-black/40 p-4">
457
- <pre className="overflow-x-auto text-sm !text-green-300">
476
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
477
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
458
478
  {`// Primary purchase button
459
479
  <button className="flex items-center gap-2 bg-yellow-500/20 border border-yellow-500/30 px-4 py-2 rounded-lg">
460
480
  <StoreCoinIcon className="h-4 w-4" />
@@ -473,35 +493,37 @@ function PurchaseButton() {
473
493
 
474
494
  {/* Balance Display */}
475
495
  <div className="!space-y-4">
476
- <h3 className="text-lg font-semibold !text-yellow-300">
496
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
477
497
  Balance Display
478
498
  </h3>
479
499
  <div className="!space-y-4">
480
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
500
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
481
501
  <div className="flex items-center justify-between">
482
502
  <div className="flex items-center gap-3">
483
- <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-yellow-500/20">
503
+ <div className="bg-fm-icon-warning/20 flex h-10 w-10 items-center justify-center rounded-lg">
484
504
  <StoreCoinIcon className="h-5 w-5" />
485
505
  </div>
486
506
  <div>
487
- <div className="text-sm font-medium text-white">
507
+ <div className="text-fm-icon-active text-sm font-medium">
488
508
  Current Balance
489
509
  </div>
490
- <div className="text-xs text-white/60">
510
+ <div className="text-fm-tertiary text-xs">
491
511
  Store Credits
492
512
  </div>
493
513
  </div>
494
514
  </div>
495
515
  <div className="text-right">
496
- <div className="text-lg font-bold text-yellow-300">
516
+ <div className="text-fm-icon-warning text-lg font-bold">
497
517
  2,450
498
518
  </div>
499
- <div className="text-xs text-white/60">coins</div>
519
+ <div className="text-fm-tertiary text-xs">
520
+ coins
521
+ </div>
500
522
  </div>
501
523
  </div>
502
524
  </div>
503
- <div className="rounded-lg bg-black/40 p-4">
504
- <pre className="overflow-x-auto text-sm !text-green-300">
525
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
526
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
505
527
  {`<div className="flex items-center justify-between">
506
528
  <div className="flex items-center gap-3">
507
529
  <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-yellow-500/20">
@@ -524,33 +546,33 @@ function PurchaseButton() {
524
546
 
525
547
  {/* Store Package */}
526
548
  <div className="!space-y-4">
527
- <h3 className="text-lg font-semibold !text-yellow-300">
549
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
528
550
  Store Package
529
551
  </h3>
530
552
  <div className="!space-y-4">
531
- <div className="rounded-lg border border-yellow-500/20 bg-yellow-500/5 p-6">
553
+ <div className="border-fm-icon-warning/20 bg-fm-icon-warning/5 rounded-lg border p-6">
532
554
  <div className="!space-y-4 text-center">
533
- <div className="!mx-auto flex h-16 w-16 items-center justify-center rounded-lg bg-yellow-500/20">
555
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-16 w-16 items-center justify-center rounded-lg">
534
556
  <StoreCoinIcon className="h-8 w-8" />
535
557
  </div>
536
558
  <div className="!space-y-2">
537
- <h4 className="font-medium !text-white">
559
+ <h4 className="text-fm-icon-active! font-medium">
538
560
  Mega Coin Pack
539
561
  </h4>
540
- <p className="text-sm !text-white/70">
562
+ <p className="text-fm-secondary! text-sm">
541
563
  Get 10,000 coins with 20% bonus
542
564
  </p>
543
- <div className="text-2xl font-bold text-yellow-300">
565
+ <div className="text-fm-icon-warning text-2xl font-bold">
544
566
  $9.99
545
567
  </div>
546
568
  </div>
547
- <button className="rounded-lg bg-yellow-500 px-6 py-2 text-sm text-black transition-colors hover:bg-yellow-600">
569
+ <button className="bg-fm-icon-warning text-fm-icon-active hover:bg-fm-icon-warning rounded-lg px-6 py-2 text-sm transition-colors">
548
570
  Purchase
549
571
  </button>
550
572
  </div>
551
573
  </div>
552
- <div className="rounded-lg bg-black/40 p-4">
553
- <pre className="overflow-x-auto text-sm !text-green-300">
574
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
575
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
554
576
  {`<div className="border border-yellow-500/20 bg-yellow-500/5 p-6 rounded-lg">
555
577
  <div className="space-y-4 text-center">
556
578
  <div className="mx-auto flex h-16 w-16 items-center justify-center rounded-lg bg-yellow-500/20">
@@ -573,35 +595,35 @@ function PurchaseButton() {
573
595
 
574
596
  {/* Transaction History */}
575
597
  <div className="!space-y-4">
576
- <h3 className="text-lg font-semibold !text-yellow-300">
598
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
577
599
  Transaction History
578
600
  </h3>
579
601
  <div className="!space-y-4">
580
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4">
602
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
581
603
  <div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
582
604
  <StoreCoinIcon className="h-4 w-4" />
583
- <span className="flex-1 text-white">
605
+ <span className="text-fm-icon-active flex-1">
584
606
  Purchased Premium Pack
585
607
  </span>
586
- <span className="text-green-400">+500</span>
608
+ <span className="text-fm-icon-positive">+500</span>
587
609
  </div>
588
610
  <div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
589
611
  <StoreCoinIcon className="h-4 w-4" />
590
- <span className="flex-1 text-white">
612
+ <span className="text-fm-icon-active flex-1">
591
613
  Daily Login Bonus
592
614
  </span>
593
- <span className="text-green-400">+50</span>
615
+ <span className="text-fm-icon-positive">+50</span>
594
616
  </div>
595
617
  <div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
596
618
  <StoreCoinIcon className="h-4 w-4" />
597
- <span className="flex-1 text-white">
619
+ <span className="text-fm-icon-active flex-1">
598
620
  Unlocked Special Item
599
621
  </span>
600
- <span className="text-red-400">-200</span>
622
+ <span className="text-fm-icon-negative">-200</span>
601
623
  </div>
602
624
  </div>
603
- <div className="rounded-lg bg-black/40 p-4">
604
- <pre className="overflow-x-auto text-sm !text-green-300">
625
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
626
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
605
627
  {`// Transaction history item
606
628
  <div className="flex items-center gap-3 px-3 py-2 text-sm rounded">
607
629
  <StoreCoinIcon className="h-4 w-4" />
@@ -617,64 +639,64 @@ function PurchaseButton() {
617
639
 
618
640
  {/* Accessibility */}
619
641
  <div className="!space-y-8">
620
- <h2 className="text-center text-3xl font-bold !text-white">
642
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
621
643
  Accessibility Features
622
644
  </h2>
623
645
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
624
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
625
- <h3 className="text-lg font-semibold !text-green-300">
646
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
647
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
626
648
  ✅ Built-in Features
627
649
  </h3>
628
- <ul className="!space-y-2 text-sm !text-white/70">
629
- <li className="!text-white/70">
650
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
651
+ <li className="text-fm-secondary!">
630
652
  Uses Radix UI AccessibleIcon wrapper
631
653
  </li>
632
- <li className="!text-white/70">
654
+ <li className="text-fm-secondary!">
633
655
  Provides screen reader label "Store coin icon"
634
656
  </li>
635
- <li className="!text-white/70">
657
+ <li className="text-fm-secondary!">
636
658
  Supports keyboard navigation when interactive
637
659
  </li>
638
- <li className="!text-white/70">
660
+ <li className="text-fm-secondary!">
639
661
  Maintains proper color contrast ratios
640
662
  </li>
641
- <li className="!text-white/70">
663
+ <li className="text-fm-secondary!">
642
664
  Scales with user's font size preferences
643
665
  </li>
644
666
  </ul>
645
667
  </div>
646
668
 
647
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
648
- <h3 className="text-lg font-semibold !text-yellow-300">
669
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
670
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
649
671
  💡 Best Practices
650
672
  </h3>
651
- <ul className="!space-y-2 text-sm text-white/70">
652
- <li className="!text-white/70">
673
+ <ul className="text-fm-secondary !space-y-2 text-sm">
674
+ <li className="text-fm-secondary!">
653
675
  Always pair with descriptive text for transactions
654
676
  </li>
655
- <li className="!text-white/70">
677
+ <li className="text-fm-secondary!">
656
678
  Use clear coin amounts and pricing
657
679
  </li>
658
- <li className="!text-white/70">
680
+ <li className="text-fm-secondary!">
659
681
  Ensure sufficient spacing around the icon
660
682
  </li>
661
- <li className="!text-white/70">
683
+ <li className="text-fm-secondary!">
662
684
  Add focus states for interactive elements
663
685
  </li>
664
- <li className="!text-white/70">
686
+ <li className="text-fm-secondary!">
665
687
  Consider currency context and regional differences
666
688
  </li>
667
689
  </ul>
668
690
  </div>
669
691
  </div>
670
692
 
671
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
672
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
693
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
694
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
673
695
  Custom Accessibility Label
674
696
  </h3>
675
697
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
676
- <div className="rounded-lg bg-black/40 p-4">
677
- <pre className="overflow-x-auto text-sm !text-blue-300">
698
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
699
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
678
700
  {`// Custom implementation with specific label
679
701
  import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
680
702
 
@@ -694,14 +716,14 @@ function CustomStoreCoinIcon({ label = "Store coin", ...props }) {
694
716
  </pre>
695
717
  </div>
696
718
  <div className="!space-y-4">
697
- <p className="text-sm !text-white/70">
719
+ <p className="text-fm-secondary! text-sm">
698
720
  For specific contexts, you can wrap the StoreCoinIcon
699
721
  with a custom AccessibleIcon component that provides
700
722
  more descriptive labels for in-app purchases and virtual
701
723
  currency.
702
724
  </p>
703
- <div className="rounded-lg border border-yellow-500/20 bg-yellow-500/10 p-4">
704
- <div className="flex items-center gap-2 text-sm text-yellow-200">
725
+ <div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
726
+ <div className="text-fm-icon-warning flex items-center gap-2 text-sm">
705
727
  <StoreCoinIcon className="h-4 w-4" />
706
728
  <span>
707
729
  This approach gives screen readers more context
@@ -715,44 +737,52 @@ function CustomStoreCoinIcon({ label = "Store coin", ...props }) {
715
737
 
716
738
  {/* Related Icons */}
717
739
  <div className="!space-y-8">
718
- <h2 className="text-center text-3xl font-bold !text-white">
740
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
719
741
  Related Icons
720
742
  </h2>
721
743
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
722
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
723
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
744
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
745
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
724
746
  <span className="text-2xl">💰</span>
725
747
  </div>
726
748
  <div>
727
- <div className="font-medium text-white">MoneyIcon</div>
728
- <div className="text-xs text-white/60">Currency</div>
749
+ <div className="text-fm-icon-active font-medium">
750
+ MoneyIcon
751
+ </div>
752
+ <div className="text-fm-tertiary text-xs">Currency</div>
729
753
  </div>
730
754
  </div>
731
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
732
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
755
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
756
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
733
757
  <span className="text-2xl">🛒</span>
734
758
  </div>
735
759
  <div>
736
- <div className="font-medium text-white">ShopIcon</div>
737
- <div className="text-xs text-white/60">Store</div>
760
+ <div className="text-fm-icon-active font-medium">
761
+ ShopIcon
762
+ </div>
763
+ <div className="text-fm-tertiary text-xs">Store</div>
738
764
  </div>
739
765
  </div>
740
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
741
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
766
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
767
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
742
768
  <span className="text-2xl">💳</span>
743
769
  </div>
744
770
  <div>
745
- <div className="font-medium text-white">PaymentIcon</div>
746
- <div className="text-xs text-white/60">Payment</div>
771
+ <div className="text-fm-icon-active font-medium">
772
+ PaymentIcon
773
+ </div>
774
+ <div className="text-fm-tertiary text-xs">Payment</div>
747
775
  </div>
748
776
  </div>
749
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
750
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
777
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
778
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
751
779
  <span className="text-2xl">🎁</span>
752
780
  </div>
753
781
  <div>
754
- <div className="font-medium text-white">RewardIcon</div>
755
- <div className="text-xs text-white/60">Rewards</div>
782
+ <div className="text-fm-icon-active font-medium">
783
+ RewardIcon
784
+ </div>
785
+ <div className="text-fm-tertiary text-xs">Rewards</div>
756
786
  </div>
757
787
  </div>
758
788
  </div>
@@ -760,14 +790,14 @@ function CustomStoreCoinIcon({ label = "Store coin", ...props }) {
760
790
  </div>
761
791
 
762
792
  {/* Footer */}
763
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
793
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
764
794
  <div className="!mx-auto max-w-7xl px-6 py-8">
765
795
  <div className="!space-y-4 text-center">
766
- <p className="!text-white/60">
796
+ <p className="text-fm-tertiary!">
767
797
  StoreCoinIcon is part of the Aural UI icon library, built
768
798
  with accessibility and virtual economy clarity in mind.
769
799
  </p>
770
- <p className="text-sm !text-white/40">
800
+ <p className="text-fm-placeholder! text-sm">
771
801
  All icons use Radix UI's AccessibleIcon for screen reader
772
802
  compatibility and follow WCAG guidelines.
773
803
  </p>
@@ -808,8 +838,8 @@ const storyParameters = {
808
838
  backgrounds: {
809
839
  default: "dark",
810
840
  values: [
811
- { name: "dark", value: "#0a0a0a" },
812
- { name: "darker", value: "#000000" },
841
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
842
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
813
843
  ],
814
844
  },
815
845
  }
@@ -823,8 +853,8 @@ export const Default: Story = {
823
853
  },
824
854
  parameters: storyParameters,
825
855
  render: (args) => (
826
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
827
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
856
+ <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">
857
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
828
858
  <StoreCoinIcon {...args} />
829
859
  </div>
830
860
  </div>
@@ -842,42 +872,42 @@ export const SizeVariations: Story = {
842
872
  },
843
873
  },
844
874
  render: () => (
845
- <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">
875
+ <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">
846
876
  <div className="text-center">
847
- <div className="!mx-auto mb-2 rounded bg-white p-2">
877
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
848
878
  <StoreCoinIcon className="h-3 w-3" />
849
879
  </div>
850
- <span className="text-xs text-white/60">12px</span>
880
+ <span className="text-fm-tertiary text-xs">12px</span>
851
881
  </div>
852
882
  <div className="text-center">
853
- <div className="!mx-auto mb-2 rounded bg-white p-2">
883
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
854
884
  <StoreCoinIcon className="h-4 w-4" />
855
885
  </div>
856
- <span className="text-xs text-white/60">16px</span>
886
+ <span className="text-fm-tertiary text-xs">16px</span>
857
887
  </div>
858
888
  <div className="text-center">
859
- <div className="!mx-auto mb-2 rounded bg-white p-2">
889
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
860
890
  <StoreCoinIcon className="h-5 w-5" />
861
891
  </div>
862
- <span className="text-xs text-white/60">20px</span>
892
+ <span className="text-fm-tertiary text-xs">20px</span>
863
893
  </div>
864
894
  <div className="text-center">
865
- <div className="!mx-auto mb-2 rounded bg-white p-2">
895
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
866
896
  <StoreCoinIcon className="h-6 w-6" />
867
897
  </div>
868
- <span className="text-xs text-white/60">24px</span>
898
+ <span className="text-fm-tertiary text-xs">24px</span>
869
899
  </div>
870
900
  <div className="text-center">
871
- <div className="!mx-auto mb-2 rounded bg-white p-2">
901
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
872
902
  <StoreCoinIcon className="h-8 w-8" />
873
903
  </div>
874
- <span className="text-xs text-white/60">32px</span>
904
+ <span className="text-fm-tertiary text-xs">32px</span>
875
905
  </div>
876
906
  <div className="text-center">
877
- <div className="!mx-auto mb-2 rounded bg-white p-3">
907
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-3">
878
908
  <StoreCoinIcon className="h-12 w-12" />
879
909
  </div>
880
- <span className="text-xs text-white/60">48px</span>
910
+ <span className="text-fm-tertiary text-xs">48px</span>
881
911
  </div>
882
912
  </div>
883
913
  ),
@@ -894,34 +924,42 @@ export const ColorVariations: Story = {
894
924
  },
895
925
  },
896
926
  render: () => (
897
- <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">
927
+ <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">
898
928
  <div className="text-center">
899
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-white">
929
+ <div className="bg-fm-surface-contrast !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
900
930
  <StoreCoinIcon className="h-10 w-10" />
901
931
  </div>
902
- <div className="text-sm font-medium text-white">White Background</div>
903
- <div className="text-xs text-white/60">Recommended</div>
932
+ <div className="text-fm-icon-active text-sm font-medium">
933
+ White Background
934
+ </div>
935
+ <div className="text-fm-tertiary text-xs">Recommended</div>
904
936
  </div>
905
937
  <div className="text-center">
906
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-gray-100">
938
+ <div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
907
939
  <StoreCoinIcon className="h-10 w-10" />
908
940
  </div>
909
- <div className="text-sm font-medium text-white">Light Background</div>
910
- <div className="text-xs text-gray-400">Good contrast</div>
941
+ <div className="text-fm-icon-active text-sm font-medium">
942
+ Light Background
943
+ </div>
944
+ <div className="text-fm-placeholder text-xs">Good contrast</div>
911
945
  </div>
912
946
  <div className="text-center">
913
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-gray-800">
947
+ <div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
914
948
  <StoreCoinIcon className="h-10 w-10" />
915
949
  </div>
916
- <div className="text-sm font-medium text-white">Dark Background</div>
917
- <div className="text-xs text-gray-400">Acceptable</div>
950
+ <div className="text-fm-icon-active text-sm font-medium">
951
+ Dark Background
952
+ </div>
953
+ <div className="text-fm-placeholder text-xs">Acceptable</div>
918
954
  </div>
919
955
  <div className="text-center">
920
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/20 bg-transparent">
956
+ <div className="border-fm-divider-primary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border bg-transparent">
921
957
  <StoreCoinIcon className="h-10 w-10" />
922
958
  </div>
923
- <div className="text-sm font-medium text-white">Transparent</div>
924
- <div className="text-xs text-white/60">Original colors</div>
959
+ <div className="text-fm-icon-active text-sm font-medium">
960
+ Transparent
961
+ </div>
962
+ <div className="text-fm-tertiary text-xs">Original colors</div>
925
963
  </div>
926
964
  </div>
927
965
  ),
@@ -938,16 +976,18 @@ export const UsageExamples: Story = {
938
976
  },
939
977
  },
940
978
  render: () => (
941
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
979
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
942
980
  {/* Purchase Actions */}
943
981
  <div className="!space-y-2">
944
- <h3 className="text-sm font-medium text-white">Purchase Actions</h3>
982
+ <h3 className="text-fm-icon-active text-sm font-medium">
983
+ Purchase Actions
984
+ </h3>
945
985
  <div className="flex gap-4">
946
- <button className="flex items-center gap-2 rounded-lg border border-yellow-500/30 bg-yellow-500/20 px-4 py-2 text-yellow-200 transition-colors hover:bg-yellow-500/30">
986
+ <button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
947
987
  <StoreCoinIcon className="h-4 w-4" />
948
988
  Buy Coins
949
989
  </button>
950
- <button className="flex items-center gap-2 rounded-lg border border-orange-500/30 bg-orange-500/20 px-3 py-2 text-orange-200 transition-colors hover:bg-orange-500/30">
990
+ <button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
951
991
  <StoreCoinIcon className="h-4 w-4" />
952
992
  Earn More
953
993
  </button>
@@ -956,23 +996,27 @@ export const UsageExamples: Story = {
956
996
 
957
997
  {/* Balance Display */}
958
998
  <div className="!space-y-2">
959
- <h3 className="text-sm font-medium text-white">Balance Display</h3>
960
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
999
+ <h3 className="text-fm-icon-active text-sm font-medium">
1000
+ Balance Display
1001
+ </h3>
1002
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
961
1003
  <div className="flex items-center justify-between">
962
1004
  <div className="flex items-center gap-3">
963
- <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-yellow-500/20">
1005
+ <div className="bg-fm-icon-warning/20 flex h-10 w-10 items-center justify-center rounded-lg">
964
1006
  <StoreCoinIcon className="h-5 w-5" />
965
1007
  </div>
966
1008
  <div>
967
- <div className="text-sm font-medium text-white">
1009
+ <div className="text-fm-icon-active text-sm font-medium">
968
1010
  Current Balance
969
1011
  </div>
970
- <div className="text-xs text-white/60">Store Credits</div>
1012
+ <div className="text-fm-tertiary text-xs">Store Credits</div>
971
1013
  </div>
972
1014
  </div>
973
1015
  <div className="text-right">
974
- <div className="text-lg font-bold text-yellow-300">2,450</div>
975
- <div className="text-xs text-white/60">coins</div>
1016
+ <div className="text-fm-icon-warning text-lg font-bold">
1017
+ 2,450
1018
+ </div>
1019
+ <div className="text-fm-tertiary text-xs">coins</div>
976
1020
  </div>
977
1021
  </div>
978
1022
  </div>
@@ -980,22 +1024,30 @@ export const UsageExamples: Story = {
980
1024
 
981
1025
  {/* Transaction History */}
982
1026
  <div className="!space-y-2">
983
- <h3 className="text-sm font-medium text-white">Transaction History</h3>
984
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4">
1027
+ <h3 className="text-fm-icon-active text-sm font-medium">
1028
+ Transaction History
1029
+ </h3>
1030
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
985
1031
  <div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
986
1032
  <StoreCoinIcon className="h-4 w-4" />
987
- <span className="flex-1 text-white">Purchased Premium Pack</span>
988
- <span className="text-green-400">+500</span>
1033
+ <span className="text-fm-icon-active flex-1">
1034
+ Purchased Premium Pack
1035
+ </span>
1036
+ <span className="text-fm-icon-positive">+500</span>
989
1037
  </div>
990
1038
  <div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
991
1039
  <StoreCoinIcon className="h-4 w-4" />
992
- <span className="flex-1 text-white">Daily Login Bonus</span>
993
- <span className="text-green-400">+50</span>
1040
+ <span className="text-fm-icon-active flex-1">
1041
+ Daily Login Bonus
1042
+ </span>
1043
+ <span className="text-fm-icon-positive">+50</span>
994
1044
  </div>
995
1045
  <div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
996
1046
  <StoreCoinIcon className="h-4 w-4" />
997
- <span className="flex-1 text-white">Unlocked Special Item</span>
998
- <span className="text-red-400">-200</span>
1047
+ <span className="text-fm-icon-active flex-1">
1048
+ Unlocked Special Item
1049
+ </span>
1050
+ <span className="text-fm-icon-negative">-200</span>
999
1051
  </div>
1000
1052
  </div>
1001
1053
  </div>
@@ -1019,8 +1071,8 @@ export const Playground: Story = {
1019
1071
  className: "",
1020
1072
  },
1021
1073
  render: (args) => (
1022
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1023
- <div className="rounded-lg border border-white/10 bg-white p-8">
1074
+ <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">
1075
+ <div className="border-fm-divider-secondary bg-fm-surface-contrast rounded-lg border p-8">
1024
1076
  <StoreCoinIcon {...args} />
1025
1077
  </div>
1026
1078
  </div>