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 PaperPlaneIcon> = {
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 PaperPlaneIcon> = {
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
- <PaperPlaneIcon 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
+ <PaperPlaneIcon 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
  PaperPlaneIcon
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 paper-planeIcon icon symbolizing replies, submissions, and
97
97
  outbound communication. Ideal for use in chat UIs, comment
98
98
  boxes, and form submissions. Built with accessibility in
@@ -102,28 +102,28 @@ const meta: Meta<typeof PaperPlaneIcon> = {
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,17 +136,17 @@ const meta: Meta<typeof PaperPlaneIcon> = {
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
  {/* Basic Usage */}
144
144
  <div className="!space-y-4">
145
- <h3 className="text-xl font-semibold !text-purple-300">
145
+ <h3 className="text-fm-secondary-600! text-xl font-semibold">
146
146
  Basic Usage
147
147
  </h3>
148
- <div className="rounded-lg bg-black/40 p-4">
149
- <pre className="overflow-x-auto text-sm !text-green-300">
148
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
149
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
150
150
  {`import { PaperPlaneIcon } from "lucide-react"
151
151
 
152
152
  function SendMessageButton({ onSend }) {
@@ -166,13 +166,15 @@ function SendMessageButton({ onSend }) {
166
166
 
167
167
  {/* Live Preview */}
168
168
  <div className="!space-y-4">
169
- <h3 className="text-xl font-semibold !text-purple-300">
169
+ <h3 className="text-fm-secondary-600! text-xl font-semibold">
170
170
  Live Preview
171
171
  </h3>
172
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
173
- <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">
174
- <span className="text-white">Send Message</span>
175
- <PaperPlaneIcon className="h-4 w-4 text-purple-400" />
172
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
173
+ <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">
174
+ <span className="text-fm-icon-active">
175
+ Send Message
176
+ </span>
177
+ <PaperPlaneIcon className="text-fm-secondary-600 h-4 w-4" />
176
178
  </button>
177
179
  </div>
178
180
  </div>
@@ -181,108 +183,116 @@ function SendMessageButton({ onSend }) {
181
183
 
182
184
  {/* Props Documentation */}
183
185
  <div className="!space-y-8">
184
- <h2 className="text-center text-3xl font-bold !text-white">
186
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
185
187
  Props & Configuration
186
188
  </h2>
187
189
 
188
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
189
- <div className="bg-white/5 p-4">
190
- <h3 className="text-xl font-semibold !text-white">Props</h3>
190
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
191
+ <div className="bg-fm-surface-secondary p-4">
192
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
193
+ Props
194
+ </h3>
191
195
  </div>
192
196
  <table className="!my-0 w-full">
193
- <thead className="bg-white/5">
194
- <tr className="border-b border-white/10">
195
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
197
+ <thead className="bg-fm-surface-secondary">
198
+ <tr className="border-fm-divider-secondary border-b">
199
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
196
200
  Prop
197
201
  </th>
198
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
202
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
199
203
  Type
200
204
  </th>
201
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
205
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
202
206
  Default
203
207
  </th>
204
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
208
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
205
209
  Description
206
210
  </th>
207
211
  </tr>
208
212
  </thead>
209
213
  <tbody>
210
214
  {" "}
211
- <tr className="!bg-black/10">
212
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
215
+ <tr className="bg-fm-surface-secondary!">
216
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
213
217
  withAccessibility
214
218
  </td>
215
- <td className="px-6 py-4 text-sm !text-white/70">
219
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
216
220
  boolean
217
221
  </td>
218
- <td className="px-6 py-4 text-sm !text-white/50">
222
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
219
223
  true
220
224
  </td>
221
- <td className="px-6 py-4 text-sm !text-white/70">
225
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
222
226
  Whether to wrap the icon with accessibility feature
223
227
  </td>
224
228
  </tr>
225
- <tr className="border-b border-white/5 !bg-black/10">
226
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
229
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
230
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
227
231
  height
228
232
  </td>
229
- <td className="px-6 py-4 text-sm !text-white/70">
233
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
230
234
  number | string
231
235
  </td>
232
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
233
- <td className="px-6 py-4 text-sm !text-white/70">
236
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
237
+ 24
238
+ </td>
239
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
234
240
  Height of the icon in pixels
235
241
  </td>
236
242
  </tr>
237
- <tr className="border-b border-white/5">
238
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
243
+ <tr className="border-fm-divider-tertiary border-b">
244
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
239
245
  stroke
240
246
  </td>
241
- <td className="px-6 py-4 text-sm !text-white/70">
247
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
242
248
  string
243
249
  </td>
244
- <td className="px-6 py-4 text-sm !text-white/50">
250
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
245
251
  currentColor
246
252
  </td>
247
- <td className="px-6 py-4 text-sm !text-white/70">
253
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
248
254
  Stroke color of the icon
249
255
  </td>
250
256
  </tr>
251
- <tr className="border-b border-white/5 !bg-black/10">
252
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
257
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
258
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
253
259
  className
254
260
  </td>
255
- <td className="px-6 py-4 text-sm !text-white/70">
261
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
256
262
  string
257
263
  </td>
258
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
259
- <td className="px-6 py-4 text-sm !text-white/70">
264
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
265
+ -
266
+ </td>
267
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
260
268
  CSS classes for styling (use for overrides)
261
269
  </td>
262
270
  </tr>
263
- <tr className="border-b border-white/5">
264
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
271
+ <tr className="border-fm-divider-tertiary border-b">
272
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
265
273
  strokeWidth
266
274
  </td>
267
- <td className="px-6 py-4 text-sm !text-white/70">
275
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
268
276
  number | string
269
277
  </td>
270
- <td className="px-6 py-4 text-sm !text-white/50">
278
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
271
279
  1.5
272
280
  </td>
273
- <td className="px-6 py-4 text-sm !text-white/70">
281
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
274
282
  Stroke width of the chevron line
275
283
  </td>
276
284
  </tr>
277
- <tr className="!bg-black/10">
278
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
285
+ <tr className="bg-fm-surface-secondary!">
286
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
279
287
  ...svgProps
280
288
  </td>
281
- <td className="px-6 py-4 text-sm !text-white/70">
289
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
282
290
  SVGProps
283
291
  </td>
284
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
285
- <td className="px-6 py-4 text-sm !text-white/70">
292
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
293
+ -
294
+ </td>
295
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
286
296
  All standard SVG element props
287
297
  </td>
288
298
  </tr>
@@ -293,50 +303,62 @@ function SendMessageButton({ onSend }) {
293
303
 
294
304
  {/* Size Variations */}
295
305
  <div className="!space-y-8">
296
- <h2 className="text-center text-3xl font-bold !text-white">
306
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
297
307
  Size Variations
298
308
  </h2>
299
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
309
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
300
310
  <div className="!space-y-6">
301
311
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
302
312
  <div className="!space-y-4">
303
- <h3 className="text-lg font-semibold !text-purple-300">
313
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
304
314
  Standard Sizes
305
315
  </h3>
306
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
316
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
307
317
  <div className="text-center">
308
- <PaperPlaneIcon className="!mx-auto mb-2 h-3 w-3 text-purple-400" />
309
- <span className="text-xs text-white/60">12px</span>
318
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
319
+ <span className="text-fm-tertiary text-xs">
320
+ 12px
321
+ </span>
310
322
  </div>
311
323
  <div className="text-center">
312
- <PaperPlaneIcon className="!mx-auto mb-2 h-4 w-4 text-purple-400" />
313
- <span className="text-xs text-white/60">16px</span>
324
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
325
+ <span className="text-fm-tertiary text-xs">
326
+ 16px
327
+ </span>
314
328
  </div>
315
329
  <div className="text-center">
316
- <PaperPlaneIcon className="!mx-auto mb-2 h-5 w-5 text-purple-400" />
317
- <span className="text-xs text-white/60">20px</span>
330
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
331
+ <span className="text-fm-tertiary text-xs">
332
+ 20px
333
+ </span>
318
334
  </div>
319
335
  <div className="text-center">
320
- <PaperPlaneIcon className="!mx-auto mb-2 h-6 w-6 text-purple-400" />
321
- <span className="text-xs text-white/60">24px</span>
336
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
337
+ <span className="text-fm-tertiary text-xs">
338
+ 24px
339
+ </span>
322
340
  </div>
323
341
  <div className="text-center">
324
- <PaperPlaneIcon className="!mx-auto mb-2 h-8 w-8 text-purple-400" />
325
- <span className="text-xs text-white/60">32px</span>
342
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
343
+ <span className="text-fm-tertiary text-xs">
344
+ 32px
345
+ </span>
326
346
  </div>
327
347
  <div className="text-center">
328
- <PaperPlaneIcon className="!mx-auto mb-2 h-12 w-12 text-purple-400" />
329
- <span className="text-xs text-white/60">48px</span>
348
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
349
+ <span className="text-fm-tertiary text-xs">
350
+ 48px
351
+ </span>
330
352
  </div>
331
353
  </div>
332
354
  </div>
333
355
 
334
356
  <div className="!space-y-4">
335
- <h3 className="text-lg font-semibold !text-purple-300">
357
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
336
358
  Code Example
337
359
  </h3>
338
- <div className="rounded-lg bg-black/40 p-4">
339
- <pre className="overflow-x-auto text-sm !text-blue-300">
360
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
361
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
340
362
  {`// Small (16px)
341
363
  <PaperPlaneIcon className="h-4 w-4 " />
342
364
 
@@ -358,56 +380,56 @@ function SendMessageButton({ onSend }) {
358
380
 
359
381
  {/* Color Variations */}
360
382
  <div className="!space-y-8">
361
- <h2 className="text-center text-3xl font-bold !text-white">
383
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
362
384
  Color Variations
363
385
  </h2>
364
386
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
365
387
  <div className="!space-y-4">
366
- <h3 className="text-lg font-semibold !text-purple-300">
388
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
367
389
  Semantic Colors
368
390
  </h3>
369
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
391
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
370
392
  <div className="flex items-center gap-4">
371
- <PaperPlaneIcon className="h-6 w-6 text-purple-400" />
393
+ <PaperPlaneIcon className="text-fm-secondary-600 h-6 w-6" />
372
394
  <div>
373
- <div className="text-sm font-medium text-white">
395
+ <div className="text-fm-icon-active text-sm font-medium">
374
396
  Primary
375
397
  </div>
376
- <div className="text-xs text-white/60">
377
- text-purple-400
398
+ <div className="text-fm-tertiary text-xs">
399
+ text-fm-secondary-600
378
400
  </div>
379
401
  </div>
380
402
  </div>
381
403
  <div className="flex items-center gap-4">
382
- <PaperPlaneIcon className="h-6 w-6 text-gray-400" />
404
+ <PaperPlaneIcon className="text-fm-placeholder h-6 w-6" />
383
405
  <div>
384
- <div className="text-sm font-medium text-white">
406
+ <div className="text-fm-icon-active text-sm font-medium">
385
407
  Secondary
386
408
  </div>
387
- <div className="text-xs text-white/60">
388
- text-gray-400
409
+ <div className="text-fm-tertiary text-xs">
410
+ text-fm-placeholder
389
411
  </div>
390
412
  </div>
391
413
  </div>
392
414
  <div className="flex items-center gap-4">
393
- <PaperPlaneIcon className="h-6 w-6 text-green-400" />
415
+ <PaperPlaneIcon className="text-fm-icon-positive h-6 w-6" />
394
416
  <div>
395
- <div className="text-sm font-medium text-white">
417
+ <div className="text-fm-icon-active text-sm font-medium">
396
418
  Accent
397
419
  </div>
398
- <div className="text-xs text-white/60">
399
- text-green-400
420
+ <div className="text-fm-tertiary text-xs">
421
+ text-fm-icon-positive
400
422
  </div>
401
423
  </div>
402
424
  </div>
403
425
  <div className="flex items-center gap-4">
404
- <PaperPlaneIcon className="h-6 w-6 text-white/40" />
426
+ <PaperPlaneIcon className="text-fm-placeholder h-6 w-6" />
405
427
  <div>
406
- <div className="text-sm font-medium text-white">
428
+ <div className="text-fm-icon-active text-sm font-medium">
407
429
  Disabled
408
430
  </div>
409
- <div className="text-xs text-white/60">
410
- text-white/40
431
+ <div className="text-fm-tertiary text-xs">
432
+ text-fm-placeholder
411
433
  </div>
412
434
  </div>
413
435
  </div>
@@ -415,11 +437,11 @@ function SendMessageButton({ onSend }) {
415
437
  </div>
416
438
 
417
439
  <div className="!space-y-4">
418
- <h3 className="text-lg font-semibold !text-purple-300">
440
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
419
441
  Custom Colors
420
442
  </h3>
421
- <div className="rounded-lg bg-black/40 p-4">
422
- <pre className="overflow-x-auto text-sm !text-green-300">
443
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
444
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
423
445
  {`// Using Tailwind classes with
424
446
  <PaperPlaneIcon className="h-6 w-6 text-purple-400 " />
425
447
  <PaperPlaneIcon className="h-6 w-6 text-green-500 " />
@@ -444,28 +466,28 @@ function SendMessageButton({ onSend }) {
444
466
 
445
467
  {/* Usage Examples */}
446
468
  <div className="!space-y-8">
447
- <h2 className="text-center text-3xl font-bold !text-white">
469
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
448
470
  Usage Examples
449
471
  </h2>
450
472
 
451
473
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
452
474
  {/* Send Message */}
453
475
  <div className="!space-y-4">
454
- <h3 className="text-lg font-semibold !text-purple-300">
476
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
455
477
  Send Message
456
478
  </h3>
457
479
  <div className="!space-y-4">
458
480
  <div className="flex items-center gap-4">
459
- <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">
481
+ <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">
460
482
  <PaperPlaneIcon className="h-4 w-4" />
461
483
  Send Message
462
484
  </button>
463
- <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">
485
+ <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">
464
486
  <PaperPlaneIcon className="h-5 w-5" />
465
487
  </button>
466
488
  </div>
467
- <div className="rounded-lg bg-black/40 p-4">
468
- <pre className="overflow-x-auto text-sm !text-green-300">
489
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
490
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
469
491
  {`// Full-width send button
470
492
  <button className="flex items-center gap-2 bg-purple-500/10 border border-purple-500/30 px-4 py-2 rounded-lg">
471
493
  <PaperPlaneIcon className="h-4 w-4" />
@@ -483,26 +505,26 @@ function SendMessageButton({ onSend }) {
483
505
 
484
506
  {/* Reply to a Message */}
485
507
  <div className="!space-y-4">
486
- <h3 className="text-lg font-semibold !text-purple-300">
508
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
487
509
  Reply to a Message
488
510
  </h3>
489
511
  <div className="!space-y-4">
490
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
512
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
491
513
  <div className="flex items-center justify-between">
492
- <span className="font-medium text-white">
514
+ <span className="text-fm-icon-active font-medium">
493
515
  From: Olivia
494
516
  </span>
495
- <button className="flex items-center gap-2 text-purple-400 hover:text-purple-300">
517
+ <button className="text-fm-secondary-600 hover:text-fm-secondary-600 flex items-center gap-2">
496
518
  <PaperPlaneIcon className="h-4 w-4" />
497
519
  Reply
498
520
  </button>
499
521
  </div>
500
- <div className="mt-3 text-sm text-white/70">
522
+ <div className="text-fm-secondary mt-3 text-sm">
501
523
  “Could you send over the latest project brief?”
502
524
  </div>
503
525
  </div>
504
- <div className="rounded-lg bg-black/40 p-4">
505
- <pre className="overflow-x-auto text-sm !text-green-300">
526
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
527
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
506
528
  {`// Reply to incoming message
507
529
  <div className="flex items-center justify-between">
508
530
  <span className="font-medium text-white">From: Olivia</span>
@@ -524,65 +546,65 @@ function SendMessageButton({ onSend }) {
524
546
 
525
547
  {/* Accessibility */}
526
548
  <div className="!space-y-8">
527
- <h2 className="text-center text-3xl font-bold !text-white">
549
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
528
550
  Accessibility Features
529
551
  </h2>
530
552
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
531
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
532
- <h3 className="text-lg font-semibold !text-green-300">
553
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
554
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
533
555
  ✅ Built-in Features
534
556
  </h3>
535
- <ul className="!space-y-2 text-sm !text-white/70">
536
- <li className="!text-white/70">
557
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
558
+ <li className="text-fm-secondary!">
537
559
  Uses Radix UI AccessibleIcon wrapper
538
560
  </li>
539
- <li className="!text-white/70">
561
+ <li className="text-fm-secondary!">
540
562
  Provides screen reader label "Chevron Up icon"
541
563
  </li>
542
- <li className="!text-white/70">
564
+ <li className="text-fm-secondary!">
543
565
  Supports keyboard navigation when interactive
544
566
  </li>
545
- <li className="!text-white/70">
567
+ <li className="text-fm-secondary!">
546
568
  Maintains proper color contrast ratios
547
569
  </li>
548
- <li className="!text-white/70">
570
+ <li className="text-fm-secondary!">
549
571
  Scales with user's font size preferences
550
572
  </li>
551
573
  </ul>
552
574
  </div>
553
575
 
554
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
555
- <h3 className="text-lg font-semibold !text-purple-300">
576
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
577
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
556
578
  💡 Best Practices
557
579
  </h3>
558
- <ul className="!space-y-2 text-sm text-white/70">
559
- <li className="!text-white/70">
580
+ <ul className="text-fm-secondary !space-y-2 text-sm">
581
+ <li className="text-fm-secondary!">
560
582
  Use descriptive aria-labels for navigation buttons
561
583
  </li>
562
- <li className="!text-white/70">
584
+ <li className="text-fm-secondary!">
563
585
  Provide keyboard shortcuts for common actions
564
586
  </li>
565
- <li className="!text-white/70">
587
+ <li className="text-fm-secondary!">
566
588
  Ensure sufficient touch target size (44px minimum)
567
589
  </li>
568
- <li className="!text-white/70">
590
+ <li className="text-fm-secondary!">
569
591
  Add focus states for interactive elements
570
592
  </li>
571
- <li className="!text-white/70">
593
+ <li className="text-fm-secondary!">
572
594
  Consider aria-expanded for collapsible content
573
595
  </li>
574
596
  </ul>
575
597
  </div>
576
598
  </div>
577
599
 
578
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
579
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
600
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
601
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
580
602
  Proper ARIA Implementation
581
603
  </h3>
582
604
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
583
605
  {/* Code Block */}
584
- <div className="rounded-lg bg-black/40 p-4">
585
- <pre className="overflow-x-auto text-sm !text-blue-300">
606
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
607
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
586
608
  {`// Send message button with ARIA
587
609
  <button
588
610
  aria-label="Send message to recipient"
@@ -615,15 +637,15 @@ function SendMessageButton({ onSend }) {
615
637
 
616
638
  {/* Explanation Block */}
617
639
  <div className="!space-y-4">
618
- <p className="text-sm !text-white/70">
640
+ <p className="text-fm-secondary! text-sm">
619
641
  Use clear and specific ARIA labels for all
620
642
  message-related actions such as sending, replying, or
621
643
  sorting. Screen reader users benefit most when the
622
644
  action and the context (like sender name or sorting
623
645
  method) are announced.
624
646
  </p>
625
- <div className="rounded-lg border border-purple-500/20 bg-purple-500/10 p-4">
626
- <div className="flex items-center gap-2 text-sm text-purple-200">
647
+ <div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
648
+ <div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
627
649
  <PaperPlaneIcon className="h-4 w-4" />
628
650
  <span>
629
651
  Use <code>aria-label</code> to describe the *intent*
@@ -639,56 +661,60 @@ function SendMessageButton({ onSend }) {
639
661
 
640
662
  {/* Related Icons */}
641
663
  <div className="!space-y-8">
642
- <h2 className="text-center text-3xl font-bold !text-white">
664
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
643
665
  Related Icons
644
666
  </h2>
645
667
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
646
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
647
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
648
- <span className="!text-2xl !text-white">↓</span>
668
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
669
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
670
+ <span className="text-fm-icon-active! !text-2xl">↓</span>
649
671
  </div>
650
672
  <div>
651
- <div className="font-medium text-white">
673
+ <div className="text-fm-icon-active font-medium">
652
674
  ChevronDownIcon
653
675
  </div>
654
- <div className="text-xs text-white/60">
676
+ <div className="text-fm-tertiary text-xs">
655
677
  Downward direction
656
678
  </div>
657
679
  </div>
658
680
  </div>
659
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
660
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-500/20">
661
- <span className="!text-2xl !text-white">→</span>
681
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
682
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
683
+ <span className="text-fm-icon-active! !text-2xl">→</span>
662
684
  </div>
663
685
  <div>
664
- <div className="font-medium text-white">
686
+ <div className="text-fm-icon-active font-medium">
665
687
  ChevronRightIcon
666
688
  </div>
667
- <div className="text-xs text-white/60">
689
+ <div className="text-fm-tertiary text-xs">
668
690
  Right direction
669
691
  </div>
670
692
  </div>
671
693
  </div>
672
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
673
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-pink-500/20">
674
- <span className="!text-2xl !text-white">←</span>
694
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
695
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
696
+ <span className="text-fm-icon-active! !text-2xl">←</span>
675
697
  </div>
676
698
  <div>
677
- <div className="font-medium text-white">
699
+ <div className="text-fm-icon-active font-medium">
678
700
  ChevronLeftIcon
679
701
  </div>
680
- <div className="text-xs text-white/60">
702
+ <div className="text-fm-tertiary text-xs">
681
703
  Left direction
682
704
  </div>
683
705
  </div>
684
706
  </div>
685
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
686
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
687
- <span className="!text-2xl !text-white">↑</span>
707
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
708
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
709
+ <span className="text-fm-icon-active! !text-2xl">↑</span>
688
710
  </div>
689
711
  <div>
690
- <div className="font-medium text-white">ArrowUpIcon</div>
691
- <div className="text-xs text-white/60">Arrow variant</div>
712
+ <div className="text-fm-icon-active font-medium">
713
+ ArrowUpIcon
714
+ </div>
715
+ <div className="text-fm-tertiary text-xs">
716
+ Arrow variant
717
+ </div>
692
718
  </div>
693
719
  </div>
694
720
  </div>
@@ -696,14 +722,14 @@ function SendMessageButton({ onSend }) {
696
722
  </div>
697
723
 
698
724
  {/* Footer */}
699
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
725
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
700
726
  <div className="!mx-auto max-w-7xl px-6 py-8">
701
727
  <div className="!space-y-4 text-center">
702
- <p className="!text-white/60">
728
+ <p className="text-fm-tertiary!">
703
729
  PaperPlaneIcon is part of the Aural UI icon library, built
704
730
  with accessibility and intuitive upward navigation in mind.
705
731
  </p>
706
- <p className="text-sm !text-white/40">
732
+ <p className="text-fm-placeholder! text-sm">
707
733
  All icons use Radix UI's AccessibleIcon for screen reader
708
734
  compatibility and follow WCAG guidelines.
709
735
  </p>
@@ -752,8 +778,8 @@ const storyParameters = {
752
778
  backgrounds: {
753
779
  default: "dark",
754
780
  values: [
755
- { name: "dark", value: "#0a0a0a" },
756
- { name: "darker", value: "#000000" },
781
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
782
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
757
783
  ],
758
784
  },
759
785
  }
@@ -762,12 +788,12 @@ export const Default: Story = {
762
788
  args: {
763
789
  width: 24,
764
790
  height: 24,
765
- className: "text-purple-400 ",
791
+ className: "text-fm-secondary-600 ",
766
792
  withAccessibility: true,
767
793
  },
768
794
  parameters: storyParameters,
769
795
  render: (args) => (
770
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
796
+ <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">
771
797
  <PaperPlaneIcon {...args} />
772
798
  </div>
773
799
  ),
@@ -784,30 +810,30 @@ export const SizeVariations: Story = {
784
810
  },
785
811
  },
786
812
  render: () => (
787
- <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">
813
+ <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">
788
814
  <div className="text-center">
789
- <PaperPlaneIcon className="!mx-auto mb-2 h-3 w-3 text-purple-400" />
790
- <span className="text-xs text-white/60">12px</span>
815
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
816
+ <span className="text-fm-tertiary text-xs">12px</span>
791
817
  </div>
792
818
  <div className="text-center">
793
- <PaperPlaneIcon className="!mx-auto mb-2 h-4 w-4 text-purple-400" />
794
- <span className="text-xs text-white/60">16px</span>
819
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
820
+ <span className="text-fm-tertiary text-xs">16px</span>
795
821
  </div>
796
822
  <div className="text-center">
797
- <PaperPlaneIcon className="!mx-auto mb-2 h-5 w-5 text-purple-400" />
798
- <span className="text-xs text-white/60">20px</span>
823
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
824
+ <span className="text-fm-tertiary text-xs">20px</span>
799
825
  </div>
800
826
  <div className="text-center">
801
- <PaperPlaneIcon className="!mx-auto mb-2 h-6 w-6 text-purple-400" />
802
- <span className="text-xs text-white/60">24px</span>
827
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
828
+ <span className="text-fm-tertiary text-xs">24px</span>
803
829
  </div>
804
830
  <div className="text-center">
805
- <PaperPlaneIcon className="!mx-auto mb-2 h-8 w-8 text-purple-400" />
806
- <span className="text-xs text-white/60">32px</span>
831
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
832
+ <span className="text-fm-tertiary text-xs">32px</span>
807
833
  </div>
808
834
  <div className="text-center">
809
- <PaperPlaneIcon className="!mx-auto mb-2 h-12 w-12 text-purple-400" />
810
- <span className="text-xs text-white/60">48px</span>
835
+ <PaperPlaneIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
836
+ <span className="text-fm-tertiary text-xs">48px</span>
811
837
  </div>
812
838
  </div>
813
839
  ),
@@ -824,34 +850,38 @@ export const ColorVariations: Story = {
824
850
  },
825
851
  },
826
852
  render: () => (
827
- <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">
853
+ <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">
828
854
  <div className="text-center">
829
- <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">
830
- <PaperPlaneIcon className="h-8 w-8 text-purple-400" />
855
+ <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">
856
+ <PaperPlaneIcon className="text-fm-secondary-600 h-8 w-8" />
857
+ </div>
858
+ <div className="text-fm-icon-active text-sm font-medium">Primary</div>
859
+ <div className="text-fm-secondary-600 text-xs">
860
+ text-fm-secondary-600
831
861
  </div>
832
- <div className="text-sm font-medium text-white">Primary</div>
833
- <div className="text-xs text-purple-400">text-purple-400</div>
834
862
  </div>
835
863
  <div className="text-center">
836
- <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">
837
- <PaperPlaneIcon className="h-8 w-8 text-gray-400" />
864
+ <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">
865
+ <PaperPlaneIcon className="text-fm-placeholder h-8 w-8" />
838
866
  </div>
839
- <div className="text-sm font-medium text-white">Secondary</div>
840
- <div className="text-xs text-gray-400">text-gray-400</div>
867
+ <div className="text-fm-icon-active text-sm font-medium">Secondary</div>
868
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
841
869
  </div>
842
870
  <div className="text-center">
843
- <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">
844
- <PaperPlaneIcon className="h-8 w-8 text-green-400" />
871
+ <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">
872
+ <PaperPlaneIcon className="text-fm-icon-positive h-8 w-8" />
873
+ </div>
874
+ <div className="text-fm-icon-active text-sm font-medium">Accent</div>
875
+ <div className="text-fm-icon-positive text-xs">
876
+ text-fm-icon-positive
845
877
  </div>
846
- <div className="text-sm font-medium text-white">Accent</div>
847
- <div className="text-xs text-green-400">text-green-400</div>
848
878
  </div>
849
879
  <div className="text-center">
850
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/10 bg-white/5">
851
- <PaperPlaneIcon className="h-8 w-8 text-white/40" />
880
+ <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">
881
+ <PaperPlaneIcon className="text-fm-placeholder h-8 w-8" />
852
882
  </div>
853
- <div className="text-sm font-medium text-white">Disabled</div>
854
- <div className="text-xs text-white/40">text-white/40</div>
883
+ <div className="text-fm-icon-active text-sm font-medium">Disabled</div>
884
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
855
885
  </div>
856
886
  </div>
857
887
  ),
@@ -868,16 +898,18 @@ export const UsageExamples: Story = {
868
898
  },
869
899
  },
870
900
  render: () => (
871
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
901
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
872
902
  {/* Copy Content */}
873
903
  <div className="!space-y-2">
874
- <h3 className="text-sm font-medium text-white">Scroll to Top</h3>
904
+ <h3 className="text-fm-icon-active text-sm font-medium">
905
+ Scroll to Top
906
+ </h3>
875
907
  <div className="flex items-center gap-4">
876
- <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">
908
+ <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">
877
909
  <PaperPlaneIcon className="h-4 w-4" />
878
910
  Back to Top
879
911
  </button>
880
- <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">
912
+ <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">
881
913
  <PaperPlaneIcon className="h-5 w-5" />
882
914
  </button>
883
915
  </div>
@@ -885,13 +917,17 @@ export const UsageExamples: Story = {
885
917
 
886
918
  {/* Collapsible */}
887
919
  <div className="!space-y-2">
888
- <h3 className="text-sm font-medium text-white">Collapsible Content</h3>
889
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
920
+ <h3 className="text-fm-icon-active text-sm font-medium">
921
+ Collapsible Content
922
+ </h3>
923
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
890
924
  <button className="flex w-full items-center justify-between text-left">
891
- <span className="font-medium text-white">Advanced Settings</span>
892
- <PaperPlaneIcon className="h-4 w-4 text-white/60 transition-transform" />
925
+ <span className="text-fm-icon-active font-medium">
926
+ Advanced Settings
927
+ </span>
928
+ <PaperPlaneIcon className="text-fm-tertiary h-4 w-4 transition-transform" />
893
929
  </button>
894
- <div className="mt-3 space-y-2 text-sm text-white/70">
930
+ <div className="text-fm-secondary mt-3 space-y-2 text-sm">
895
931
  <div>Option 1: Enable advanced features</div>
896
932
  <div>Option 2: Custom configuration</div>
897
933
  </div>
@@ -900,16 +936,18 @@ export const UsageExamples: Story = {
900
936
 
901
937
  {/* Sort Controls */}
902
938
  <div className="!space-y-2">
903
- <h3 className="text-sm font-medium text-white">Sort Controls</h3>
904
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
939
+ <h3 className="text-fm-icon-active text-sm font-medium">
940
+ Sort Controls
941
+ </h3>
942
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
905
943
  <div className="space-y-2">
906
- <button className="flex w-full items-center justify-between rounded px-3 py-2 text-left text-white hover:bg-white/10">
944
+ <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">
907
945
  <span>Name</span>
908
- <PaperPlaneIcon className="h-4 w-4 text-purple-400" />
946
+ <PaperPlaneIcon className="text-fm-secondary-600 h-4 w-4" />
909
947
  </button>
910
- <button className="flex w-full items-center justify-between rounded px-3 py-2 text-left text-white hover:bg-white/10">
948
+ <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">
911
949
  <span>Date</span>
912
- <PaperPlaneIcon className="h-4 w-4 text-white/40" />
950
+ <PaperPlaneIcon className="text-fm-placeholder h-4 w-4" />
913
951
  </button>
914
952
  </div>
915
953
  </div>
@@ -931,12 +969,12 @@ export const Playground: Story = {
931
969
  args: {
932
970
  width: 32,
933
971
  height: 32,
934
- className: "text-purple-400 ",
972
+ className: "text-fm-secondary-600 ",
935
973
  strokeWidth: 1.5,
936
974
  },
937
975
  render: (args) => (
938
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
939
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
976
+ <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">
977
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
940
978
  <PaperPlaneIcon {...args} />
941
979
  </div>
942
980
  </div>