aural-ui 3.0.7 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
  2. package/dist/components/avatar/Avatar.stories.tsx +84 -70
  3. package/dist/components/button/Button.stories.tsx +7 -7
  4. package/dist/components/button/index.tsx +7 -7
  5. package/dist/components/card/Card.stories.tsx +3 -3
  6. package/dist/components/char-count/CharCount.stories.tsx +9 -9
  7. package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
  8. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  9. package/dist/components/command/Command.stories.tsx +52 -38
  10. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  11. package/dist/components/divider/Divider.stories.tsx +86 -60
  12. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  13. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  14. package/dist/components/drawer/index.tsx +3 -3
  15. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  16. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  17. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  18. package/dist/components/input/Input.stories.tsx +2 -2
  19. package/dist/components/label/Label.stories.tsx +10 -10
  20. package/dist/components/list/List.stories.tsx +58 -44
  21. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  22. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  23. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  24. package/dist/components/overlay/index.tsx +4 -4
  25. package/dist/components/popover/Popover.stories.tsx +132 -106
  26. package/dist/components/radio/Radio.stories.tsx +2 -2
  27. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  28. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  29. package/dist/components/search/Search.stories.tsx +81 -59
  30. package/dist/components/select/Select.stories.tsx +3 -1
  31. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  32. package/dist/components/slider/Slider.stories.tsx +71 -47
  33. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  34. package/dist/components/switch/Switch.stories.tsx +12 -12
  35. package/dist/components/table/Table.stories.tsx +8 -6
  36. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  37. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  38. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  39. package/dist/components/toast/Toast.stories.tsx +51 -45
  40. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  41. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  42. package/dist/icons/Icons.stories.tsx +2 -2
  43. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  44. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  45. package/dist/icons/all-icons.tsx +97 -81
  46. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  47. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  48. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  49. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  50. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  51. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  52. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  53. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  54. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  55. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  56. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  57. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  58. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  59. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  60. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  61. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  62. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  63. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  64. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  65. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  66. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  67. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  68. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  69. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  70. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  71. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  72. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  73. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  74. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  75. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  76. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  77. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  78. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  79. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  80. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  81. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  82. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  83. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  84. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  85. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  86. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  87. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  88. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  89. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  90. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  91. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  92. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  93. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  94. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  95. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  96. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  97. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  98. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  99. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  100. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  101. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  102. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  103. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  104. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  105. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  106. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  107. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  108. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  109. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  110. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  111. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  112. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  113. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  114. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  115. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  116. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  117. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  118. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  119. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  120. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  121. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  122. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  123. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  124. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  125. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  126. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  127. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  128. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  129. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  130. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  131. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  132. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  133. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  134. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  135. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  136. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  137. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  138. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  139. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  140. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  141. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  142. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  143. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  144. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  145. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  146. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  147. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  148. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  149. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  150. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  151. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  152. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  153. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  154. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  155. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  156. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  157. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  158. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  159. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  160. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  161. package/dist/index.cjs +84 -84
  162. package/dist/index.js +84 -84
  163. package/dist/styles/aural-all-theme.css +1222 -0
  164. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  165. package/dist/styles/aural-light-theme.css +1047 -0
  166. package/package.json +1 -1
@@ -11,9 +11,9 @@ const meta: Meta<typeof BubbleSparkleIcon> = {
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 BubbleSparkleIcon> = {
40
40
  background: transparent ;
41
41
  }
42
42
  body {
43
- background: #0a0a0a ;
43
+ background: var(--color-fm-surface-primary) ;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a ;
46
+ background: var(--color-fm-surface-primary) ;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent ;
50
50
  border: none ;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white ;
53
+ color: var(--color-fm-icon-active) ;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) ;
56
+ color: var(--color-fm-secondary) ;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) ;
60
- color: rgba(168, 85, 247, 1) ;
61
- border: 1px solid rgba(255, 255, 255, 0.1) ;
59
+ background: var(--color-fm-surface-secondary) ;
60
+ color: var(--color-fm-secondary-500) ;
61
+ border: 1px solid var(--color-fm-divider-secondary) ;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) ;
65
- border: 1px solid rgba(255, 255, 255, 0.1) ;
64
+ background: var(--color-fm-surface-secondary) ;
65
+ border: 1px solid var(--color-fm-divider-secondary) ;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) ;
69
- border: 1px solid rgba(255, 255, 255, 0.1) ;
68
+ background: var(--color-fm-surface-secondary) ;
69
+ border: 1px solid var(--color-fm-divider-secondary) ;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) ;
73
- color: white ;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
72
+ background: var(--color-fm-surface-secondary) ;
73
+ color: var(--color-fm-icon-active) ;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) ;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) ;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
77
+ color: var(--color-fm-secondary) ;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
79
79
  }
80
80
  `}
81
81
  </style>
82
82
 
83
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900/20 to-gray-900">
83
+ <div className="bg-fm-surface-primary min-h-screen">
84
84
  {/* Header */}
85
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
86
- <div className="absolute inset-0 bg-gradient-to-r from-purple-500/10 via-transparent to-blue-500/10" />
85
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
86
+ <div className="from-fm-secondary-500/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
87
87
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
88
88
  <div className="!space-y-6 text-center">
89
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-purple-500/30 bg-gradient-to-br from-purple-500/20 to-blue-500/20">
90
- <BubbleSparkleIcon className="h-12 w-12 text-purple-400" />
89
+ <div className="border-fm-secondary-500/30 from-fm-secondary-500/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
90
+ <BubbleSparkleIcon 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
  BubbleSparkleIcon
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 magical bubble icon with sparkle effects for
97
97
  conversations, chat bubbles, and communication interfaces.
98
98
  Perfect for highlighting special messages and interactive
@@ -102,28 +102,28 @@ const meta: Meta<typeof BubbleSparkleIcon> = {
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-blue-300">
114
+ <div className="text-fm-icon-info 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-pink-300">
123
+ <div className="text-fm-secondary-600 text-3xl font-bold">
124
124
  Magical
125
125
  </div>
126
- <div className="text-sm text-white/60">
126
+ <div className="text-fm-tertiary text-sm">
127
127
  Sparkle effects
128
128
  </div>
129
129
  </div>
@@ -136,16 +136,16 @@ const meta: Meta<typeof BubbleSparkleIcon> = {
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 { BubbleSparkleIcon } from "@icons/bubble-sparkle-icon"
150
150
 
151
151
  function ChatMessage() {
@@ -161,13 +161,15 @@ function ChatMessage() {
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
- <div className="flex items-center gap-3 rounded-lg border border-purple-500/20 bg-purple-500/10 px-4 py-2">
169
- <BubbleSparkleIcon className="h-5 w-5 text-purple-400" />
170
- <span className="text-white">Special message</span>
167
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
168
+ <div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 flex items-center gap-3 rounded-lg border px-4 py-2">
169
+ <BubbleSparkleIcon className="text-fm-secondary-600 h-5 w-5" />
170
+ <span className="text-fm-icon-active">
171
+ Special message
172
+ </span>
171
173
  </div>
172
174
  </div>
173
175
  </div>
@@ -176,94 +178,102 @@ function ChatMessage() {
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
  className
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">-</td>
240
- <td className="px-6 py-4 text-sm !text-white/70">
245
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
246
+ -
247
+ </td>
248
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
241
249
  CSS classes for styling (use for overrides)
242
250
  </td>
243
251
  </tr>
244
- <tr className="border-b border-white/5 !bg-black/10">
245
- <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">
246
254
  stroke
247
255
  </td>
248
- <td className="px-6 py-4 text-sm !text-white/70">
256
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
249
257
  string
250
258
  </td>
251
- <td className="px-6 py-4 text-sm !text-white/50">
259
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
252
260
  currentColor
253
261
  </td>
254
- <td className="px-6 py-4 text-sm !text-white/70">
262
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
255
263
  Stroke color of the icon
256
264
  </td>
257
265
  </tr>
258
- <tr className="!bg-black/10">
259
- <td className="px-6 py-4 font-mono text-sm !text-purple-300">
266
+ <tr className="bg-fm-surface-secondary!">
267
+ <td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
260
268
  ...svgProps
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
  SVGProps
264
272
  </td>
265
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
266
- <td className="px-6 py-4 text-sm !text-white/70">
273
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
274
+ -
275
+ </td>
276
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
267
277
  All standard SVG element props
268
278
  </td>
269
279
  </tr>
@@ -274,50 +284,62 @@ function ChatMessage() {
274
284
 
275
285
  {/* Size Variations */}
276
286
  <div className="!space-y-8">
277
- <h2 className="text-center text-3xl font-bold !text-white">
287
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
278
288
  Size Variations
279
289
  </h2>
280
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
290
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
281
291
  <div className="!space-y-6">
282
292
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
283
293
  <div className="!space-y-4">
284
- <h3 className="text-lg font-semibold !text-purple-300">
294
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
285
295
  Standard Sizes
286
296
  </h3>
287
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
297
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
288
298
  <div className="text-center">
289
- <BubbleSparkleIcon className="!mx-auto mb-2 h-3 w-3 text-purple-400" />
290
- <span className="text-xs text-white/60">12px</span>
299
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
300
+ <span className="text-fm-tertiary text-xs">
301
+ 12px
302
+ </span>
291
303
  </div>
292
304
  <div className="text-center">
293
- <BubbleSparkleIcon className="!mx-auto mb-2 h-4 w-4 text-purple-400" />
294
- <span className="text-xs text-white/60">16px</span>
305
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
306
+ <span className="text-fm-tertiary text-xs">
307
+ 16px
308
+ </span>
295
309
  </div>
296
310
  <div className="text-center">
297
- <BubbleSparkleIcon className="!mx-auto mb-2 h-5 w-5 text-purple-400" />
298
- <span className="text-xs text-white/60">20px</span>
311
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
312
+ <span className="text-fm-tertiary text-xs">
313
+ 20px
314
+ </span>
299
315
  </div>
300
316
  <div className="text-center">
301
- <BubbleSparkleIcon className="!mx-auto mb-2 h-6 w-6 text-purple-400" />
302
- <span className="text-xs text-white/60">24px</span>
317
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
318
+ <span className="text-fm-tertiary text-xs">
319
+ 24px
320
+ </span>
303
321
  </div>
304
322
  <div className="text-center">
305
- <BubbleSparkleIcon className="!mx-auto mb-2 h-8 w-8 text-purple-400" />
306
- <span className="text-xs text-white/60">32px</span>
323
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
324
+ <span className="text-fm-tertiary text-xs">
325
+ 32px
326
+ </span>
307
327
  </div>
308
328
  <div className="text-center">
309
- <BubbleSparkleIcon className="!mx-auto mb-2 h-12 w-12 text-purple-400" />
310
- <span className="text-xs text-white/60">48px</span>
329
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
330
+ <span className="text-fm-tertiary text-xs">
331
+ 48px
332
+ </span>
311
333
  </div>
312
334
  </div>
313
335
  </div>
314
336
 
315
337
  <div className="!space-y-4">
316
- <h3 className="text-lg font-semibold !text-purple-300">
338
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
317
339
  Code Example
318
340
  </h3>
319
- <div className="rounded-lg bg-black/40 p-4">
320
- <pre className="overflow-x-auto text-sm !text-blue-300">
341
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
342
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
321
343
  {`// Small (16px)
322
344
  <BubbleSparkleIcon className="h-4 w-4 " />
323
345
 
@@ -339,56 +361,56 @@ function ChatMessage() {
339
361
 
340
362
  {/* Color Variations */}
341
363
  <div className="!space-y-8">
342
- <h2 className="text-center text-3xl font-bold !text-white">
364
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
343
365
  Color Variations
344
366
  </h2>
345
367
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
346
368
  <div className="!space-y-4">
347
- <h3 className="text-lg font-semibold !text-purple-300">
369
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
348
370
  Semantic Colors
349
371
  </h3>
350
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
372
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
351
373
  <div className="flex items-center gap-4">
352
- <BubbleSparkleIcon className="h-6 w-6 text-purple-400" />
374
+ <BubbleSparkleIcon className="text-fm-secondary-600 h-6 w-6" />
353
375
  <div>
354
- <div className="text-sm font-medium text-white">
376
+ <div className="text-fm-icon-active text-sm font-medium">
355
377
  Magic
356
378
  </div>
357
- <div className="text-xs text-white/60">
358
- text-purple-400
379
+ <div className="text-fm-tertiary text-xs">
380
+ text-fm-secondary-600
359
381
  </div>
360
382
  </div>
361
383
  </div>
362
384
  <div className="flex items-center gap-4">
363
- <BubbleSparkleIcon className="h-6 w-6 text-blue-400" />
385
+ <BubbleSparkleIcon className="text-fm-icon-info h-6 w-6" />
364
386
  <div>
365
- <div className="text-sm font-medium text-white">
387
+ <div className="text-fm-icon-active text-sm font-medium">
366
388
  Chat
367
389
  </div>
368
- <div className="text-xs text-white/60">
369
- text-blue-400
390
+ <div className="text-fm-tertiary text-xs">
391
+ text-fm-icon-info
370
392
  </div>
371
393
  </div>
372
394
  </div>
373
395
  <div className="flex items-center gap-4">
374
- <BubbleSparkleIcon className="h-6 w-6 text-pink-400" />
396
+ <BubbleSparkleIcon className="text-fm-secondary-600 h-6 w-6" />
375
397
  <div>
376
- <div className="text-sm font-medium text-white">
398
+ <div className="text-fm-icon-active text-sm font-medium">
377
399
  Special
378
400
  </div>
379
- <div className="text-xs text-white/60">
380
- text-pink-400
401
+ <div className="text-fm-tertiary text-xs">
402
+ text-fm-secondary-600
381
403
  </div>
382
404
  </div>
383
405
  </div>
384
406
  <div className="flex items-center gap-4">
385
- <BubbleSparkleIcon className="h-6 w-6 text-cyan-400" />
407
+ <BubbleSparkleIcon className="text-fm-icon-info h-6 w-6" />
386
408
  <div>
387
- <div className="text-sm font-medium text-white">
409
+ <div className="text-fm-icon-active text-sm font-medium">
388
410
  Highlight
389
411
  </div>
390
- <div className="text-xs text-white/60">
391
- text-cyan-400
412
+ <div className="text-fm-tertiary text-xs">
413
+ text-fm-icon-info
392
414
  </div>
393
415
  </div>
394
416
  </div>
@@ -396,11 +418,11 @@ function ChatMessage() {
396
418
  </div>
397
419
 
398
420
  <div className="!space-y-4">
399
- <h3 className="text-lg font-semibold !text-purple-300">
421
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
400
422
  Custom Colors
401
423
  </h3>
402
- <div className="rounded-lg bg-black/40 p-4">
403
- <pre className="overflow-x-auto text-sm !text-green-300">
424
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
425
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
404
426
  {`// Using Tailwind classes with
405
427
  <BubbleSparkleIcon className="h-6 w-6 text-purple-400 " />
406
428
  <BubbleSparkleIcon className="h-6 w-6 text-pink-500 " />
@@ -425,33 +447,33 @@ function ChatMessage() {
425
447
 
426
448
  {/* Usage Examples */}
427
449
  <div className="!space-y-8">
428
- <h2 className="text-center text-3xl font-bold !text-white">
450
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
429
451
  Usage Examples
430
452
  </h2>
431
453
 
432
454
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
433
455
  {/* Chat Interface */}
434
456
  <div className="!space-y-4">
435
- <h3 className="text-lg font-semibold !text-purple-300">
457
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
436
458
  Chat Interface
437
459
  </h3>
438
460
  <div className="!space-y-4">
439
- <div className="rounded-lg border border-purple-500/20 bg-purple-500/10 p-4">
461
+ <div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
440
462
  <div className="flex items-start gap-3">
441
- <BubbleSparkleIcon className="mt-0.5 h-5 w-5 flex-shrink-0 text-purple-400" />
463
+ <BubbleSparkleIcon className="text-fm-secondary-600 mt-0.5 h-5 w-5 flex-shrink-0" />
442
464
  <div>
443
- <h4 className="font-medium !text-purple-200">
465
+ <h4 className="text-fm-secondary-600! font-medium">
444
466
  AI Assistant
445
467
  </h4>
446
- <p className="text-sm !text-purple-300/80">
468
+ <p className="text-fm-secondary-600!/80 text-sm">
447
469
  I can help you with special tasks and magical
448
470
  features!
449
471
  </p>
450
472
  </div>
451
473
  </div>
452
474
  </div>
453
- <div className="rounded-lg bg-black/40 p-4">
454
- <pre className="overflow-x-auto text-sm !text-green-300">
475
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
476
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
455
477
  {`<div className="border border-purple-500/20 bg-purple-500/10 p-4 rounded-lg">
456
478
  <div className="flex items-start gap-3">
457
479
  <BubbleSparkleIcon className="h-5 w-5 text-purple-400 mt-0.5 flex-shrink-0 " />
@@ -470,20 +492,20 @@ function ChatMessage() {
470
492
 
471
493
  {/* Special Message */}
472
494
  <div className="!space-y-4">
473
- <h3 className="text-lg font-semibold !text-purple-300">
495
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
474
496
  Special Message Badge
475
497
  </h3>
476
498
  <div className="!space-y-4">
477
499
  <div className="!space-y-2">
478
500
  <div className="relative inline-block">
479
- <div className="rounded-lg border border-white/10 bg-white/5 px-4 py-2 text-white">
501
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-icon-active rounded-lg border px-4 py-2">
480
502
  Hello! How can I help you today?
481
503
  </div>
482
- <BubbleSparkleIcon className="absolute -top-1 -right-1 h-4 w-4 text-pink-400" />
504
+ <BubbleSparkleIcon className="text-fm-secondary-600 absolute -top-1 -right-1 h-4 w-4" />
483
505
  </div>
484
506
  </div>
485
- <div className="rounded-lg bg-black/40 p-4">
486
- <pre className="overflow-x-auto text-sm !text-green-300">
507
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
508
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
487
509
  {`// Message with sparkle badge
488
510
  <div className="relative inline-block">
489
511
  <div className="rounded-lg border border-white/10 bg-white/5 px-4 py-2 text-white">
@@ -498,22 +520,22 @@ function ChatMessage() {
498
520
 
499
521
  {/* Button Integration */}
500
522
  <div className="!space-y-4">
501
- <h3 className="text-lg font-semibold !text-purple-300">
523
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
502
524
  Button Integration
503
525
  </h3>
504
526
  <div className="!space-y-4">
505
527
  <div className="flex gap-4">
506
- <button className="flex items-center gap-2 rounded-lg border border-purple-500/30 bg-purple-500/20 px-4 py-2 text-purple-200 transition-colors hover:bg-purple-500/30">
528
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
507
529
  <BubbleSparkleIcon className="h-4 w-4" />
508
530
  Start Magic Chat
509
531
  </button>
510
- <button className="flex items-center gap-2 rounded-lg border border-blue-500/30 bg-blue-500/20 px-4 py-2 text-blue-200 transition-colors hover:bg-blue-500/30">
532
+ <button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
511
533
  <BubbleSparkleIcon className="h-4 w-4" />
512
534
  Create Bubble
513
535
  </button>
514
536
  </div>
515
- <div className="rounded-lg bg-black/40 p-4">
516
- <pre className="overflow-x-auto text-sm !text-green-300">
537
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
538
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
517
539
  {`// Magic chat button
518
540
  <button className="flex items-center gap-2 bg-purple-500/20 border border-purple-500/30 px-4 py-2 rounded-lg">
519
541
  <BubbleSparkleIcon className="h-4 w-4 " />
@@ -532,21 +554,21 @@ function ChatMessage() {
532
554
 
533
555
  {/* Navigation Item */}
534
556
  <div className="!space-y-4">
535
- <h3 className="text-lg font-semibold !text-purple-300">
557
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
536
558
  Navigation Item
537
559
  </h3>
538
560
  <div className="!space-y-4">
539
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
540
- <div className="flex items-center gap-3 text-white">
541
- <BubbleSparkleIcon className="h-5 w-5 text-purple-400" />
561
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
562
+ <div className="text-fm-icon-active flex items-center gap-3">
563
+ <BubbleSparkleIcon className="text-fm-secondary-600 h-5 w-5" />
542
564
  <span className="font-medium">Magic Messages</span>
543
- <span className="ml-auto rounded-full bg-purple-500/20 px-2 py-1 text-xs text-purple-300">
565
+ <span className="bg-fm-secondary-500/20 text-fm-secondary-600 ml-auto rounded-full px-2 py-1 text-xs">
544
566
  3 new
545
567
  </span>
546
568
  </div>
547
569
  </div>
548
- <div className="rounded-lg bg-black/40 p-4">
549
- <pre className="overflow-x-auto text-sm !text-green-300">
570
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
571
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
550
572
  {`<div className="flex items-center gap-3 text-white">
551
573
  <BubbleSparkleIcon className="h-5 w-5 text-purple-400 " />
552
574
  <span className="font-medium">Magic Messages</span>
@@ -563,51 +585,51 @@ function ChatMessage() {
563
585
 
564
586
  {/* Accessibility */}
565
587
  <div className="!space-y-8">
566
- <h2 className="text-center text-3xl font-bold !text-white">
588
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
567
589
  Accessibility Features
568
590
  </h2>
569
591
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
570
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
571
- <h3 className="text-lg font-semibold !text-green-300">
592
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
593
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
572
594
  ✅ Built-in Features
573
595
  </h3>
574
- <ul className="!space-y-2 text-sm !text-white/70">
575
- <li className="!text-white/70">
596
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
597
+ <li className="text-fm-secondary!">
576
598
  Uses Radix UI AccessibleIcon wrapper
577
599
  </li>
578
- <li className="!text-white/70">
600
+ <li className="text-fm-secondary!">
579
601
  Provides screen reader label "Bubble Sparkle icon"
580
602
  </li>
581
- <li className="!text-white/70">
603
+ <li className="text-fm-secondary!">
582
604
  Supports keyboard navigation when interactive
583
605
  </li>
584
- <li className="!text-white/70">
606
+ <li className="text-fm-secondary!">
585
607
  Maintains proper color contrast ratios
586
608
  </li>
587
- <li className="!text-white/70">
609
+ <li className="text-fm-secondary!">
588
610
  Scales with user's font size preferences
589
611
  </li>
590
612
  </ul>
591
613
  </div>
592
614
 
593
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
594
- <h3 className="text-lg font-semibold !text-purple-300">
615
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
616
+ <h3 className="text-fm-secondary-600! text-lg font-semibold">
595
617
  💡 Best Practices
596
618
  </h3>
597
- <ul className="!space-y-2 text-sm text-white/70">
598
- <li className="!text-white/70">
619
+ <ul className="text-fm-secondary !space-y-2 text-sm">
620
+ <li className="text-fm-secondary!">
599
621
  Always pair with descriptive text
600
622
  </li>
601
- <li className="!text-white/70">
623
+ <li className="text-fm-secondary!">
602
624
  Use consistent colors for message types
603
625
  </li>
604
- <li className="!text-white/70">
626
+ <li className="text-fm-secondary!">
605
627
  Ensure sufficient color contrast
606
628
  </li>
607
- <li className="!text-white/70">
629
+ <li className="text-fm-secondary!">
608
630
  Add focus states for interactive elements
609
631
  </li>
610
- <li className="!text-white/70">
632
+ <li className="text-fm-secondary!">
611
633
  Consider sparkle effect visibility
612
634
  </li>
613
635
  </ul>
@@ -617,46 +639,58 @@ function ChatMessage() {
617
639
 
618
640
  {/* Related Icons */}
619
641
  <div className="!space-y-8">
620
- <h2 className="text-center text-3xl font-bold !text-white">
642
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
621
643
  Related Icons
622
644
  </h2>
623
645
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
624
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
625
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
646
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
647
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
626
648
  <span className="text-2xl">💬</span>
627
649
  </div>
628
650
  <div>
629
- <div className="font-medium text-white">ChatIcon</div>
630
- <div className="text-xs text-white/60">Regular chat</div>
651
+ <div className="text-fm-icon-active font-medium">
652
+ ChatIcon
653
+ </div>
654
+ <div className="text-fm-tertiary text-xs">
655
+ Regular chat
656
+ </div>
631
657
  </div>
632
658
  </div>
633
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
634
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
659
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
660
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
635
661
  <span className="text-2xl">✨</span>
636
662
  </div>
637
663
  <div>
638
- <div className="font-medium text-white">SparkleIcon</div>
639
- <div className="text-xs text-white/60">Magic effects</div>
664
+ <div className="text-fm-icon-active font-medium">
665
+ SparkleIcon
666
+ </div>
667
+ <div className="text-fm-tertiary text-xs">
668
+ Magic effects
669
+ </div>
640
670
  </div>
641
671
  </div>
642
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
643
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
672
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
673
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
644
674
  <span className="text-2xl">💭</span>
645
675
  </div>
646
676
  <div>
647
- <div className="font-medium text-white">ThoughtIcon</div>
648
- <div className="text-xs text-white/60">
677
+ <div className="text-fm-icon-active font-medium">
678
+ ThoughtIcon
679
+ </div>
680
+ <div className="text-fm-tertiary text-xs">
649
681
  Thought bubbles
650
682
  </div>
651
683
  </div>
652
684
  </div>
653
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
654
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-pink-500/20">
685
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
686
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
655
687
  <span className="text-2xl">🗨️</span>
656
688
  </div>
657
689
  <div>
658
- <div className="font-medium text-white">MessageIcon</div>
659
- <div className="text-xs text-white/60">Messages</div>
690
+ <div className="text-fm-icon-active font-medium">
691
+ MessageIcon
692
+ </div>
693
+ <div className="text-fm-tertiary text-xs">Messages</div>
660
694
  </div>
661
695
  </div>
662
696
  </div>
@@ -664,15 +698,15 @@ function ChatMessage() {
664
698
  </div>
665
699
 
666
700
  {/* Footer */}
667
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
701
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
668
702
  <div className="!mx-auto max-w-7xl px-6 py-8">
669
703
  <div className="!space-y-4 text-center">
670
- <p className="!text-white/60">
704
+ <p className="text-fm-tertiary!">
671
705
  BubbleSparkleIcon is part of the Aural UI icon library,
672
706
  built with accessibility and magical user experiences in
673
707
  mind.
674
708
  </p>
675
- <p className="text-sm !text-white/40">
709
+ <p className="text-fm-placeholder! text-sm">
676
710
  All icons use Radix UI's AccessibleIcon for screen reader
677
711
  compatibility and follow WCAG guidelines.
678
712
  </p>
@@ -717,8 +751,8 @@ const storyParameters = {
717
751
  backgrounds: {
718
752
  default: "dark",
719
753
  values: [
720
- { name: "dark", value: "#0a0a0a" },
721
- { name: "darker", value: "#000000" },
754
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
755
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
722
756
  ],
723
757
  },
724
758
  }
@@ -727,12 +761,12 @@ export const Default: Story = {
727
761
  args: {
728
762
  width: 24,
729
763
  height: 24,
730
- className: "text-purple-400 ",
764
+ className: "text-fm-secondary-600 ",
731
765
  withAccessibility: true,
732
766
  },
733
767
  parameters: storyParameters,
734
768
  render: (args) => (
735
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
769
+ <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">
736
770
  <BubbleSparkleIcon {...args} />
737
771
  </div>
738
772
  ),
@@ -749,30 +783,30 @@ export const SizeVariations: Story = {
749
783
  },
750
784
  },
751
785
  render: () => (
752
- <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">
786
+ <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">
753
787
  <div className="text-center">
754
- <BubbleSparkleIcon className="!mx-auto mb-2 h-3 w-3 text-purple-400" />
755
- <span className="text-xs text-white/60">12px</span>
788
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
789
+ <span className="text-fm-tertiary text-xs">12px</span>
756
790
  </div>
757
791
  <div className="text-center">
758
- <BubbleSparkleIcon className="!mx-auto mb-2 h-4 w-4 text-purple-400" />
759
- <span className="text-xs text-white/60">16px</span>
792
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
793
+ <span className="text-fm-tertiary text-xs">16px</span>
760
794
  </div>
761
795
  <div className="text-center">
762
- <BubbleSparkleIcon className="!mx-auto mb-2 h-5 w-5 text-purple-400" />
763
- <span className="text-xs text-white/60">20px</span>
796
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
797
+ <span className="text-fm-tertiary text-xs">20px</span>
764
798
  </div>
765
799
  <div className="text-center">
766
- <BubbleSparkleIcon className="!mx-auto mb-2 h-6 w-6 text-purple-400" />
767
- <span className="text-xs text-white/60">24px</span>
800
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
801
+ <span className="text-fm-tertiary text-xs">24px</span>
768
802
  </div>
769
803
  <div className="text-center">
770
- <BubbleSparkleIcon className="!mx-auto mb-2 h-8 w-8 text-purple-400" />
771
- <span className="text-xs text-white/60">32px</span>
804
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
805
+ <span className="text-fm-tertiary text-xs">32px</span>
772
806
  </div>
773
807
  <div className="text-center">
774
- <BubbleSparkleIcon className="!mx-auto mb-2 h-12 w-12 text-purple-400" />
775
- <span className="text-xs text-white/60">48px</span>
808
+ <BubbleSparkleIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
809
+ <span className="text-fm-tertiary text-xs">48px</span>
776
810
  </div>
777
811
  </div>
778
812
  ),
@@ -789,34 +823,38 @@ export const ColorVariations: Story = {
789
823
  },
790
824
  },
791
825
  render: () => (
792
- <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">
826
+ <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">
793
827
  <div className="text-center">
794
- <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">
795
- <BubbleSparkleIcon className="h-8 w-8 text-purple-400" />
828
+ <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">
829
+ <BubbleSparkleIcon className="text-fm-secondary-600 h-8 w-8" />
830
+ </div>
831
+ <div className="text-fm-icon-active text-sm font-medium">Magic</div>
832
+ <div className="text-fm-secondary-600 text-xs">
833
+ text-fm-secondary-600
796
834
  </div>
797
- <div className="text-sm font-medium text-white">Magic</div>
798
- <div className="text-xs text-purple-400">text-purple-400</div>
799
835
  </div>
800
836
  <div className="text-center">
801
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-blue-500/30 bg-blue-500/20">
802
- <BubbleSparkleIcon className="h-8 w-8 text-blue-400" />
837
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
838
+ <BubbleSparkleIcon className="text-fm-icon-info h-8 w-8" />
803
839
  </div>
804
- <div className="text-sm font-medium text-white">Chat</div>
805
- <div className="text-xs text-blue-400">text-blue-400</div>
840
+ <div className="text-fm-icon-active text-sm font-medium">Chat</div>
841
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
806
842
  </div>
807
843
  <div className="text-center">
808
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-pink-500/30 bg-pink-500/20">
809
- <BubbleSparkleIcon className="h-8 w-8 text-pink-400" />
844
+ <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">
845
+ <BubbleSparkleIcon className="text-fm-secondary-600 h-8 w-8" />
846
+ </div>
847
+ <div className="text-fm-icon-active text-sm font-medium">Special</div>
848
+ <div className="text-fm-secondary-600 text-xs">
849
+ text-fm-secondary-600
810
850
  </div>
811
- <div className="text-sm font-medium text-white">Special</div>
812
- <div className="text-xs text-pink-400">text-pink-400</div>
813
851
  </div>
814
852
  <div className="text-center">
815
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-cyan-500/30 bg-cyan-500/20">
816
- <BubbleSparkleIcon className="h-8 w-8 text-cyan-400" />
853
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
854
+ <BubbleSparkleIcon className="text-fm-icon-info h-8 w-8" />
817
855
  </div>
818
- <div className="text-sm font-medium text-white">Highlight</div>
819
- <div className="text-xs text-cyan-400">text-cyan-400</div>
856
+ <div className="text-fm-icon-active text-sm font-medium">Highlight</div>
857
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
820
858
  </div>
821
859
  </div>
822
860
  ),
@@ -833,16 +871,20 @@ export const UsageExamples: Story = {
833
871
  },
834
872
  },
835
873
  render: () => (
836
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
874
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
837
875
  {/* Chat Interface */}
838
876
  <div className="!space-y-2">
839
- <h3 className="text-sm font-medium text-white">Chat Interface</h3>
840
- <div className="rounded-lg border border-purple-500/20 bg-purple-500/10 p-4">
877
+ <h3 className="text-fm-icon-active text-sm font-medium">
878
+ Chat Interface
879
+ </h3>
880
+ <div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
841
881
  <div className="flex items-start gap-3">
842
- <BubbleSparkleIcon className="mt-0.5 h-5 w-5 flex-shrink-0 text-purple-400" />
882
+ <BubbleSparkleIcon className="text-fm-secondary-600 mt-0.5 h-5 w-5 flex-shrink-0" />
843
883
  <div>
844
- <h4 className="font-medium text-purple-200">AI Assistant</h4>
845
- <p className="text-sm text-purple-300/80">
884
+ <h4 className="text-fm-secondary-600 font-medium">
885
+ AI Assistant
886
+ </h4>
887
+ <p className="text-fm-secondary-600/80 text-sm">
846
888
  I can help you with special tasks and magical features!
847
889
  </p>
848
890
  </div>
@@ -852,26 +894,28 @@ export const UsageExamples: Story = {
852
894
 
853
895
  {/* Special Message Badge */}
854
896
  <div className="!space-y-2">
855
- <h3 className="text-sm font-medium text-white">
897
+ <h3 className="text-fm-icon-active text-sm font-medium">
856
898
  Special Message Badge
857
899
  </h3>
858
900
  <div className="relative inline-block">
859
- <div className="rounded-lg border border-white/10 bg-white/5 px-4 py-2 text-white">
901
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-icon-active rounded-lg border px-4 py-2">
860
902
  Hello! How can I help you today?
861
903
  </div>
862
- <BubbleSparkleIcon className="absolute -top-1 -right-1 h-4 w-4 text-pink-400" />
904
+ <BubbleSparkleIcon className="text-fm-secondary-600 absolute -top-1 -right-1 h-4 w-4" />
863
905
  </div>
864
906
  </div>
865
907
 
866
908
  {/* Button Integration */}
867
909
  <div className="!space-y-2">
868
- <h3 className="text-sm font-medium text-white">Button Integration</h3>
910
+ <h3 className="text-fm-icon-active text-sm font-medium">
911
+ Button Integration
912
+ </h3>
869
913
  <div className="flex gap-4">
870
- <button className="flex items-center gap-2 rounded-lg border border-purple-500/30 bg-purple-500/20 px-4 py-2 text-purple-200 transition-colors hover:bg-purple-500/30">
914
+ <button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
871
915
  <BubbleSparkleIcon className="h-4 w-4" />
872
916
  Start Magic Chat
873
917
  </button>
874
- <button className="flex items-center gap-2 rounded-lg border border-blue-500/30 bg-blue-500/20 px-4 py-2 text-blue-200 transition-colors hover:bg-blue-500/30">
918
+ <button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
875
919
  <BubbleSparkleIcon className="h-4 w-4" />
876
920
  Create Bubble
877
921
  </button>
@@ -880,12 +924,14 @@ export const UsageExamples: Story = {
880
924
 
881
925
  {/* Navigation Item */}
882
926
  <div className="!space-y-2">
883
- <h3 className="text-sm font-medium text-white">Navigation Item</h3>
884
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
885
- <div className="flex items-center gap-3 text-white">
886
- <BubbleSparkleIcon className="h-5 w-5 text-purple-400" />
927
+ <h3 className="text-fm-icon-active text-sm font-medium">
928
+ Navigation Item
929
+ </h3>
930
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
931
+ <div className="text-fm-icon-active flex items-center gap-3">
932
+ <BubbleSparkleIcon className="text-fm-secondary-600 h-5 w-5" />
887
933
  <span className="font-medium">Magic Messages</span>
888
- <span className="ml-auto rounded-full bg-purple-500/20 px-2 py-1 text-xs text-purple-300">
934
+ <span className="bg-fm-secondary-500/20 text-fm-secondary-600 ml-auto rounded-full px-2 py-1 text-xs">
889
935
  3 new
890
936
  </span>
891
937
  </div>
@@ -908,11 +954,11 @@ export const Playground: Story = {
908
954
  args: {
909
955
  width: 32,
910
956
  height: 32,
911
- className: "text-purple-400 ",
957
+ className: "text-fm-secondary-600 ",
912
958
  },
913
959
  render: (args) => (
914
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
915
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
960
+ <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">
961
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
916
962
  <BubbleSparkleIcon {...args} />
917
963
  </div>
918
964
  </div>