aural-ui 3.0.6 → 4.0.1

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