aural-ui 3.0.6 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
  2. package/dist/components/avatar/Avatar.stories.tsx +84 -70
  3. package/dist/components/button/Button.stories.tsx +7 -7
  4. package/dist/components/button/index.tsx +7 -7
  5. package/dist/components/card/Card.stories.tsx +3 -3
  6. package/dist/components/char-count/CharCount.stories.tsx +9 -9
  7. package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
  8. package/dist/components/clamp-lines/ClampLines.stories.tsx +25 -0
  9. package/dist/components/clamp-lines/index.tsx +6 -1
  10. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  11. package/dist/components/command/Command.stories.tsx +52 -38
  12. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  13. package/dist/components/divider/Divider.stories.tsx +86 -60
  14. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  15. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  16. package/dist/components/drawer/index.tsx +3 -3
  17. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  18. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  19. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  20. package/dist/components/input/Input.stories.tsx +2 -2
  21. package/dist/components/input/index.tsx +2 -0
  22. package/dist/components/label/Label.stories.tsx +10 -10
  23. package/dist/components/list/List.stories.tsx +58 -44
  24. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  25. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  26. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  27. package/dist/components/overlay/index.tsx +4 -4
  28. package/dist/components/popover/Popover.stories.tsx +132 -106
  29. package/dist/components/radio/Radio.stories.tsx +2 -2
  30. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  31. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  32. package/dist/components/search/Search.stories.tsx +81 -59
  33. package/dist/components/select/Select.stories.tsx +3 -1
  34. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  35. package/dist/components/slider/Slider.stories.tsx +71 -47
  36. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  37. package/dist/components/switch/Switch.stories.tsx +12 -12
  38. package/dist/components/table/Table.stories.tsx +8 -6
  39. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  40. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  41. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  42. package/dist/components/toast/Toast.stories.tsx +51 -45
  43. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  44. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  45. package/dist/icons/Icons.stories.tsx +2 -2
  46. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  47. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  48. package/dist/icons/all-icons.tsx +97 -81
  49. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  50. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  51. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  52. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  53. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  54. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  55. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  56. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  57. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  58. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  59. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  60. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  61. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  62. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  63. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  64. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  65. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  66. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  67. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  68. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  69. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  70. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  71. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  72. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  73. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  74. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  75. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  76. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  77. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  78. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  79. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  80. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  81. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  82. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  83. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  84. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  85. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  86. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  87. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  88. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  89. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  90. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  91. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  92. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  93. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  94. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  95. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  96. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  97. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  98. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  99. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  100. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  101. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  102. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  103. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  104. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  105. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  106. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  107. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  108. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  109. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  110. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  111. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  112. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  113. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  114. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  115. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  116. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  117. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  118. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  119. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  120. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  121. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  122. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  123. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  124. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  125. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  126. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  127. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  128. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  129. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  130. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  131. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  132. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  133. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  134. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  135. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  136. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  137. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  138. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  139. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  140. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  141. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  142. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  143. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  144. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  145. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  146. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  147. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  148. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  149. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  150. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  151. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  152. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  153. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  154. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  155. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  156. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  157. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  158. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  159. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  160. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  161. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  162. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  163. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  164. package/dist/index.cjs +84 -84
  165. package/dist/index.js +84 -84
  166. package/dist/styles/aural-all-theme.css +1222 -0
  167. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  168. package/dist/styles/aural-light-theme.css +1047 -0
  169. package/package.json +1 -1
@@ -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",