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
@@ -78,7 +78,7 @@ A flexible overlay component for creating modal backgrounds, loading states, and
78
78
  ### Loading State
79
79
  \`\`\`tsx
80
80
  <Overlay opacity="medium" glass="high">
81
- <div className="text-white">Loading...</div>
81
+ <div className="text-fm-primary">Loading...</div>
82
82
  </Overlay>
83
83
  \`\`\`
84
84
  `,
@@ -99,7 +99,7 @@ const BackgroundContent = () => (
99
99
  <h1 className="mb-4 text-4xl font-bold text-white">
100
100
  Background Content
101
101
  </h1>
102
- <p className="text-white/80">
102
+ <p className="text-fm-tertiary">
103
103
  This content sits behind the overlay to demonstrate the effects
104
104
  </p>
105
105
  </header>
@@ -108,11 +108,11 @@ const BackgroundContent = () => (
108
108
  {Array.from({ length: 6 }, (_, i) => (
109
109
  <div
110
110
  key={i}
111
- className="rounded-lg border border-white/20 bg-white/10 p-6"
111
+ className="border-fm-divider-secondary bg-fm-surface-secondary/80 rounded-lg border p-6"
112
112
  >
113
113
  <div className="mb-4">
114
114
  <h3 className="text-lg font-semibold text-white">Card {i + 1}</h3>
115
- <p className="text-sm text-white/70">
115
+ <p className="text-fm-secondary text-sm">
116
116
  Sample card content with some description text
117
117
  </p>
118
118
  </div>
@@ -122,7 +122,7 @@ const BackgroundContent = () => (
122
122
  Image Placeholder
123
123
  </span>
124
124
  </div>
125
- <p className="text-sm text-white/80">
125
+ <p className="text-fm-tertiary text-sm">
126
126
  This is some sample content that demonstrates how the overlay
127
127
  affects background visibility and readability.
128
128
  </p>
@@ -151,8 +151,10 @@ export const OpacityVariants: Story = {
151
151
 
152
152
  {/* Control Panel */}
153
153
  <div className="fixed top-4 left-4 z-50 space-y-2">
154
- <div className="space-y-2 rounded-lg bg-black/80 p-4 backdrop-blur-sm">
155
- <h3 className="text-sm font-medium text-white">Opacity Variants</h3>
154
+ <div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
155
+ <h3 className="text-fm-primary text-sm font-medium">
156
+ Opacity Variants
157
+ </h3>
156
158
  <div className="space-y-2">
157
159
  <Button
158
160
  size="sm"
@@ -211,11 +213,11 @@ export const OpacityVariants: Story = {
211
213
  {/* Overlays */}
212
214
  {activeOverlay === "low" && (
213
215
  <Overlay opacity="low">
214
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
215
- <h3 className="mb-2 text-lg font-semibold text-white">
216
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
217
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
216
218
  Low Opacity Overlay
217
219
  </h3>
218
- <p className="text-sm text-white/70">
220
+ <p className="text-fm-secondary text-sm">
219
221
  40% background dimming - Background remains quite visible
220
222
  </p>
221
223
  </div>
@@ -224,11 +226,11 @@ export const OpacityVariants: Story = {
224
226
 
225
227
  {activeOverlay === "medium" && (
226
228
  <Overlay opacity="medium">
227
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
228
- <h3 className="mb-2 text-lg font-semibold text-white">
229
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
230
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
229
231
  Medium Opacity Overlay
230
232
  </h3>
231
- <p className="text-sm text-white/70">
233
+ <p className="text-fm-secondary text-sm">
232
234
  60% background dimming - Balanced visibility
233
235
  </p>
234
236
  </div>
@@ -237,11 +239,11 @@ export const OpacityVariants: Story = {
237
239
 
238
240
  {activeOverlay === "high" && (
239
241
  <Overlay opacity="high">
240
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
241
- <h3 className="mb-2 text-lg font-semibold text-white">
242
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
243
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
242
244
  High Opacity Overlay
243
245
  </h3>
244
- <p className="text-sm text-white/70">
246
+ <p className="text-fm-secondary text-sm">
245
247
  80% background dimming - Strong focus on overlay content
246
248
  </p>
247
249
  </div>
@@ -250,11 +252,11 @@ export const OpacityVariants: Story = {
250
252
 
251
253
  {activeOverlay === "none" && (
252
254
  <Overlay opacity="none">
253
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
254
- <h3 className="mb-2 text-lg font-semibold text-white">
255
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
256
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
255
257
  No Opacity Overlay
256
258
  </h3>
257
- <p className="text-sm text-white/70">
259
+ <p className="text-fm-secondary text-sm">
258
260
  100% background coverage - Complete background blocking
259
261
  </p>
260
262
  </div>
@@ -284,8 +286,8 @@ export const GlassEffectVariants: Story = {
284
286
 
285
287
  {/* Control Panel */}
286
288
  <div className="fixed top-4 right-4 z-50 space-y-2">
287
- <div className="space-y-2 rounded-lg bg-black/80 p-4 backdrop-blur-sm">
288
- <h3 className="text-sm font-medium text-white">
289
+ <div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
290
+ <h3 className="text-fm-primary text-sm font-medium">
289
291
  Glass Effect Variants
290
292
  </h3>
291
293
  <div className="space-y-2">
@@ -346,11 +348,11 @@ export const GlassEffectVariants: Story = {
346
348
  {/* Glass Effect Overlays */}
347
349
  {activeGlass === "none" && (
348
350
  <Overlay opacity="medium" glass="none">
349
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6">
350
- <h3 className="mb-2 text-lg font-semibold text-white">
351
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6">
352
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
351
353
  No Glass Effect
352
354
  </h3>
353
- <p className="text-sm text-white/70">
355
+ <p className="text-fm-secondary text-sm">
354
356
  Clean overlay without backdrop blur
355
357
  </p>
356
358
  </div>
@@ -359,11 +361,11 @@ export const GlassEffectVariants: Story = {
359
361
 
360
362
  {activeGlass === "low" && (
361
363
  <Overlay opacity="medium" glass="low">
362
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6">
363
- <h3 className="mb-2 text-lg font-semibold text-white">
364
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6">
365
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
364
366
  Low Glass Effect
365
367
  </h3>
366
- <p className="text-sm text-white/70">
368
+ <p className="text-fm-secondary text-sm">
367
369
  Subtle backdrop blur for gentle glass effect
368
370
  </p>
369
371
  </div>
@@ -372,11 +374,11 @@ export const GlassEffectVariants: Story = {
372
374
 
373
375
  {activeGlass === "medium" && (
374
376
  <Overlay opacity="medium" glass="medium">
375
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6">
376
- <h3 className="mb-2 text-lg font-semibold text-white">
377
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6">
378
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
377
379
  Medium Glass Effect
378
380
  </h3>
379
- <p className="text-sm text-white/70">
381
+ <p className="text-fm-secondary text-sm">
380
382
  Balanced backdrop blur for modern glass aesthetics
381
383
  </p>
382
384
  </div>
@@ -385,11 +387,11 @@ export const GlassEffectVariants: Story = {
385
387
 
386
388
  {activeGlass === "high" && (
387
389
  <Overlay opacity="medium" glass="high">
388
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6">
389
- <h3 className="mb-2 text-lg font-semibold text-white">
390
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6">
391
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
390
392
  High Glass Effect
391
393
  </h3>
392
- <p className="text-sm text-white/70">
394
+ <p className="text-fm-secondary text-sm">
393
395
  Strong backdrop blur for premium frosted glass look
394
396
  </p>
395
397
  </div>
@@ -424,8 +426,8 @@ export const LoadingStates: Story = {
424
426
 
425
427
  {/* Control Panel */}
426
428
  <div className="fixed top-4 left-1/2 z-50 -translate-x-1/2 transform">
427
- <div className="space-y-2 rounded-lg bg-black/80 p-4 backdrop-blur-sm">
428
- <h3 className="text-center text-sm font-medium text-white">
429
+ <div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
430
+ <h3 className="text-fm-primary text-center text-sm font-medium">
429
431
  Loading States
430
432
  </h3>
431
433
  <div className="flex gap-2">
@@ -457,10 +459,10 @@ export const LoadingStates: Story = {
457
459
  {/* Loading Overlays */}
458
460
  {loadingType === "spinner" && (
459
461
  <Overlay opacity="high" glass="medium">
460
- <div className="text-center text-white">
461
- <div className="mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-white"></div>
462
+ <div className="text-fm-primary text-center">
463
+ <div className="border-fm-primary mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2"></div>
462
464
  <h3 className="mb-2 text-lg font-medium">Loading...</h3>
463
- <p className="text-white/70">
465
+ <p className="text-fm-secondary">
464
466
  Please wait while we process your request
465
467
  </p>
466
468
  </div>
@@ -469,16 +471,16 @@ export const LoadingStates: Story = {
469
471
 
470
472
  {loadingType === "progress" && (
471
473
  <Overlay opacity="high" glass="low">
472
- <div className="min-w-80 rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
473
- <div className="text-center text-white">
474
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 min-w-80 rounded-lg border p-6 backdrop-blur-sm">
475
+ <div className="text-fm-primary text-center">
474
476
  <h3 className="mb-4 text-lg font-medium">Uploading Files</h3>
475
- <div className="mb-4 h-2 w-full rounded-full bg-white/20">
477
+ <div className="bg-fm-surface-tertiary mb-4 h-2 w-full rounded-full">
476
478
  <div
477
- className="h-2 animate-pulse rounded-full bg-blue-500"
479
+ className="bg-fm-info h-2 animate-pulse rounded-full"
478
480
  style={{ width: "65%" }}
479
481
  ></div>
480
482
  </div>
481
- <p className="text-white/70">
483
+ <p className="text-fm-secondary">
482
484
  65% complete - 3 of 5 files uploaded
483
485
  </p>
484
486
  </div>
@@ -488,20 +490,20 @@ export const LoadingStates: Story = {
488
490
 
489
491
  {loadingType === "dots" && (
490
492
  <Overlay opacity="medium" glass="high">
491
- <div className="text-center text-white">
493
+ <div className="text-fm-primary text-center">
492
494
  <div className="mb-4 flex items-center justify-center space-x-2">
493
- <div className="h-3 w-3 animate-bounce rounded-full bg-white"></div>
495
+ <div className="bg-fm-primary h-3 w-3 animate-bounce rounded-full"></div>
494
496
  <div
495
- className="h-3 w-3 animate-bounce rounded-full bg-white"
497
+ className="bg-fm-primary h-3 w-3 animate-bounce rounded-full"
496
498
  style={{ animationDelay: "0.1s" }}
497
499
  ></div>
498
500
  <div
499
- className="h-3 w-3 animate-bounce rounded-full bg-white"
501
+ className="bg-fm-primary h-3 w-3 animate-bounce rounded-full"
500
502
  style={{ animationDelay: "0.2s" }}
501
503
  ></div>
502
504
  </div>
503
505
  <h3 className="mb-2 text-lg font-medium">Processing</h3>
504
- <p className="text-white/70">Analyzing your data...</p>
506
+ <p className="text-fm-secondary">Analyzing your data...</p>
505
507
  </div>
506
508
  </Overlay>
507
509
  )}
@@ -531,8 +533,8 @@ export const InteractiveExamples: Story = {
531
533
 
532
534
  {/* Control Panel */}
533
535
  <div className="fixed top-4 left-1/2 z-50 -translate-x-1/2 transform">
534
- <div className="space-y-2 rounded-lg bg-black/80 p-4 backdrop-blur-sm">
535
- <h3 className="text-center text-sm font-medium text-white">
536
+ <div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
537
+ <h3 className="text-fm-primary text-center text-sm font-medium">
536
538
  Interactive Examples
537
539
  </h3>
538
540
  <div className="flex gap-2">
@@ -556,23 +558,25 @@ export const InteractiveExamples: Story = {
556
558
  {/* Search Modal */}
557
559
  {showSearch && (
558
560
  <Overlay opacity="medium" glass="medium">
559
- <div className="w-full max-w-lg rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
561
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 w-full max-w-lg rounded-lg border p-6 backdrop-blur-sm">
560
562
  <div className="mb-4 flex items-center justify-between">
561
- <h3 className="text-lg font-semibold text-white">Search</h3>
563
+ <h3 className="text-fm-primary text-lg font-semibold">
564
+ Search
565
+ </h3>
562
566
  <button
563
567
  onClick={() => setShowSearch(false)}
564
- className="rounded-full p-2 text-white hover:bg-white/10"
568
+ className="text-fm-primary hover:bg-fm-surface-secondary rounded-full p-2"
565
569
  >
566
570
  <CrossIcon className="h-4 w-4" />
567
571
  </button>
568
572
  </div>
569
573
  <div className="space-y-4">
570
574
  <div className="relative">
571
- <SearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-white/60" />
575
+ <SearchIcon className="text-fm-secondary absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
572
576
  <input
573
577
  type="text"
574
578
  placeholder="Search anything..."
575
- className="w-full rounded-lg border border-white/20 bg-white/10 py-3 pr-4 pl-10 text-white placeholder-white/60 focus:border-white/40 focus:outline-none"
579
+ className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-primary placeholder:text-fm-tertiary focus:border-fm-divider-primary w-full rounded-lg border py-3 pr-4 pl-10 focus:outline-none"
576
580
  />
577
581
  </div>
578
582
  <div className="space-y-2">
@@ -580,10 +584,10 @@ export const InteractiveExamples: Story = {
580
584
  (item, i) => (
581
585
  <div
582
586
  key={i}
583
- className="flex items-center gap-3 rounded-lg p-3 hover:bg-white/10"
587
+ className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-3"
584
588
  >
585
- <SearchIcon className="h-4 w-4 text-white/60" />
586
- <span className="text-white">{item}</span>
589
+ <SearchIcon className="text-fm-secondary h-4 w-4" />
590
+ <span className="text-fm-primary">{item}</span>
587
591
  </div>
588
592
  )
589
593
  )}
@@ -596,12 +600,14 @@ export const InteractiveExamples: Story = {
596
600
  {/* Settings Modal */}
597
601
  {showSettings && (
598
602
  <Overlay opacity="high" glass="low">
599
- <div className="w-full max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
603
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 w-full max-w-md rounded-lg border p-6 backdrop-blur-sm">
600
604
  <div className="mb-4 flex items-center justify-between">
601
- <h3 className="text-lg font-semibold text-white">Settings</h3>
605
+ <h3 className="text-fm-primary text-lg font-semibold">
606
+ Settings
607
+ </h3>
602
608
  <button
603
609
  onClick={() => setShowSettings(false)}
604
- className="rounded-full p-2 text-white hover:bg-white/10"
610
+ className="text-fm-primary hover:bg-fm-surface-secondary rounded-full p-2"
605
611
  >
606
612
  <CrossIcon className="h-4 w-4" />
607
613
  </button>
@@ -614,13 +620,13 @@ export const InteractiveExamples: Story = {
614
620
  ].map((item, i) => (
615
621
  <div
616
622
  key={i}
617
- className="flex items-center justify-between rounded-lg p-3 hover:bg-white/10"
623
+ className="hover:bg-fm-surface-secondary flex items-center justify-between rounded-lg p-3"
618
624
  >
619
625
  <div className="flex items-center gap-3">
620
- <item.icon className="h-5 w-5 text-white/60" />
621
- <span className="text-white">{item.label}</span>
626
+ <item.icon className="text-fm-secondary h-5 w-5" />
627
+ <span className="text-fm-primary">{item.label}</span>
622
628
  </div>
623
- <ChevronRightIcon className="h-4 w-4 text-white/60" />
629
+ <ChevronRightIcon className="text-fm-secondary h-4 w-4" />
624
630
  </div>
625
631
  ))}
626
632
  </div>
@@ -631,13 +637,13 @@ export const InteractiveExamples: Story = {
631
637
  {/* Confirmation Modal */}
632
638
  {showConfirm && (
633
639
  <Overlay opacity="high" glass="high">
634
- <div className="w-full max-w-sm rounded-lg border border-red-500/30 bg-red-900/20 p-6 backdrop-blur-sm">
640
+ <div className="border-fm-divider-negative bg-fm-surface-negative-sec w-full max-w-sm rounded-lg border p-6 backdrop-blur-sm">
635
641
  <div className="text-center">
636
- <AlertIcon className="mx-auto mb-4 h-12 w-12 text-red-400" />
637
- <h3 className="mb-2 text-lg font-semibold text-white">
642
+ <AlertIcon className="text-fm-negative mx-auto mb-4 h-12 w-12" />
643
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
638
644
  Confirm Action
639
645
  </h3>
640
- <p className="mb-6 text-sm text-white/70">
646
+ <p className="text-fm-secondary mb-6 text-sm">
641
647
  This action cannot be undone. Are you sure you want to
642
648
  continue?
643
649
  </p>
@@ -687,8 +693,8 @@ export const NoiseTextureVariants: Story = {
687
693
 
688
694
  {/* Control Panel */}
689
695
  <div className="fixed bottom-4 left-1/2 z-50 -translate-x-1/2 transform">
690
- <div className="space-y-2 rounded-lg bg-black/80 p-4 backdrop-blur-sm">
691
- <h3 className="text-center text-sm font-medium text-white">
696
+ <div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
697
+ <h3 className="text-fm-primary text-center text-sm font-medium">
692
698
  Noise Texture Variants
693
699
  </h3>
694
700
  <div className="flex gap-2">
@@ -745,11 +751,11 @@ export const NoiseTextureVariants: Story = {
745
751
  {/* Noise Overlays */}
746
752
  {activeNoise === "none" && (
747
753
  <Overlay opacity="medium" glass="low" noise="none">
748
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
749
- <h3 className="mb-2 text-lg font-semibold text-white">
754
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
755
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
750
756
  No Noise Texture
751
757
  </h3>
752
- <p className="text-sm text-white/70">
758
+ <p className="text-fm-secondary text-sm">
753
759
  Clean overlay without any texture patterns
754
760
  </p>
755
761
  </div>
@@ -758,11 +764,11 @@ export const NoiseTextureVariants: Story = {
758
764
 
759
765
  {activeNoise === "low" && (
760
766
  <Overlay opacity="medium" glass="low" noise="low">
761
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
762
- <h3 className="mb-2 text-lg font-semibold text-white">
767
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
768
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
763
769
  Low Noise Texture
764
770
  </h3>
765
- <p className="text-sm text-white/70">
771
+ <p className="text-fm-secondary text-sm">
766
772
  Subtle noise pattern for added visual interest
767
773
  </p>
768
774
  </div>
@@ -771,11 +777,11 @@ export const NoiseTextureVariants: Story = {
771
777
 
772
778
  {activeNoise === "medium" && (
773
779
  <Overlay opacity="medium" glass="low" noise="medium">
774
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
775
- <h3 className="mb-2 text-lg font-semibold text-white">
780
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
781
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
776
782
  Medium Noise Texture
777
783
  </h3>
778
- <p className="text-sm text-white/70">
784
+ <p className="text-fm-secondary text-sm">
779
785
  Balanced noise pattern for enhanced texture
780
786
  </p>
781
787
  </div>
@@ -784,11 +790,11 @@ export const NoiseTextureVariants: Story = {
784
790
 
785
791
  {activeNoise === "high" && (
786
792
  <Overlay opacity="medium" glass="low" noise="high">
787
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
788
- <h3 className="mb-2 text-lg font-semibold text-white">
793
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
794
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
789
795
  High Noise Texture
790
796
  </h3>
791
- <p className="text-sm text-white/70">
797
+ <p className="text-fm-secondary text-sm">
792
798
  Prominent noise pattern for dramatic effect
793
799
  </p>
794
800
  </div>
@@ -856,8 +862,8 @@ export const CombinedEffectsShowcase: Story = {
856
862
 
857
863
  {/* Control Panel */}
858
864
  <div className="fixed top-1/2 left-4 z-50 -translate-y-1/2 transform">
859
- <div className="space-y-2 rounded-lg bg-black/80 p-4 backdrop-blur-sm">
860
- <h3 className="text-sm font-medium text-white">
865
+ <div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
866
+ <h3 className="text-fm-primary text-sm font-medium">
861
867
  Effect Combinations
862
868
  </h3>
863
869
  <div className="space-y-2">
@@ -891,11 +897,11 @@ export const CombinedEffectsShowcase: Story = {
891
897
  {/* Effect Information Panel */}
892
898
  {currentCombo && (
893
899
  <div className="fixed top-1/2 right-4 z-50 -translate-y-1/2 transform">
894
- <div className="max-w-xs space-y-2 rounded-lg bg-black/80 p-4 backdrop-blur-sm">
895
- <h4 className="text-sm font-medium text-white">
900
+ <div className="bg-fm-surface-primary border-fm-divider-secondary max-w-xs space-y-2 rounded-lg border p-4 backdrop-blur-sm">
901
+ <h4 className="text-fm-primary text-sm font-medium">
896
902
  {combinations.find((c) => c.id === currentCombo)?.name} Effect
897
903
  </h4>
898
- <div className="space-y-1 text-xs text-white/70">
904
+ <div className="text-fm-secondary space-y-1 text-xs">
899
905
  <div>
900
906
  Opacity:{" "}
901
907
  {combinations.find((c) => c.id === currentCombo)?.opacity}
@@ -923,15 +929,15 @@ export const CombinedEffectsShowcase: Story = {
923
929
  glass={combo.glass}
924
930
  noise={combo.noise}
925
931
  >
926
- <div className="max-w-md rounded-lg border border-white/20 bg-white/10 p-6 backdrop-blur-sm">
927
- <h3 className="mb-2 text-lg font-semibold text-white">
932
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
933
+ <h3 className="text-fm-primary mb-2 text-lg font-semibold">
928
934
  {combo.name} Overlay
929
935
  </h3>
930
- <p className="mb-4 text-sm text-white/70">
936
+ <p className="text-fm-secondary mb-4 text-sm">
931
937
  Combination of {combo.opacity} opacity, {combo.glass} glass
932
938
  effect, and {combo.noise} noise texture
933
939
  </p>
934
- <p className="text-sm text-white/80">
940
+ <p className="text-fm-tertiary text-sm">
935
941
  This combination creates a {combo.name.toLowerCase()}{" "}
936
942
  overlay effect suitable for different design contexts and
937
943
  user interface needs.
@@ -7,10 +7,10 @@ const overlayVariants = cva(
7
7
  {
8
8
  variants: {
9
9
  opacity: {
10
- high: "bg-black/80 ", // 80% opacity
11
- medium: "bg-black/60", // 60% opacity
12
- low: "bg-black/40", // 40% opacity
13
- none: "bg-black",
10
+ high: "bg-fm-scrim/80",
11
+ medium: "bg-fm-scrim/60",
12
+ low: "bg-fm-scrim/40",
13
+ none: "bg-fm-scrim",
14
14
  },
15
15
  glass: {
16
16
  high: "backdrop-blur-lg",