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
@@ -170,14 +170,14 @@ export const BorderConfigurations: Story = {
170
170
  <DialogDescription>{description}</DialogDescription>
171
171
  </DialogHeader>
172
172
  <div className="py-4">
173
- <div className="rounded-lg border border-white/10 bg-white/5 p-3">
174
- <div className="space-y-1 text-xs text-white/60">
173
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-3">
174
+ <div className="text-fm-secondary space-y-1 text-xs">
175
175
  <div>
176
- Variant: <span className="text-white">{variant}</span>
176
+ Variant: <span className="text-fm-primary">{variant}</span>
177
177
  </div>
178
178
  <div>
179
179
  Border Config:{" "}
180
- <span className="text-white">
180
+ <span className="text-fm-primary">
181
181
  {Array.isArray(borderConfig)
182
182
  ? `[${borderConfig.join(", ")}]`
183
183
  : borderConfig}
@@ -199,8 +199,10 @@ export const BorderConfigurations: Story = {
199
199
  return (
200
200
  <div className="space-y-8">
201
201
  <div className="text-center">
202
- <h3 className="mb-2 font-medium text-white">Border Configurations</h3>
203
- <p className="text-sm text-white/60">
202
+ <h3 className="text-fm-primary mb-2 font-medium">
203
+ Border Configurations
204
+ </h3>
205
+ <p className="text-fm-secondary text-sm">
204
206
  Explore different border configurations for dialog variants
205
207
  </p>
206
208
  </div>
@@ -208,7 +210,9 @@ export const BorderConfigurations: Story = {
208
210
  <div className="space-y-6">
209
211
  {/* All Borders */}
210
212
  <div className="space-y-4">
211
- <h4 className="text-sm font-medium text-white/80">All Borders</h4>
213
+ <h4 className="text-fm-secondary text-sm font-medium">
214
+ All Borders
215
+ </h4>
212
216
  <div className="flex flex-wrap gap-2">
213
217
  <BorderConfigDialog
214
218
  borderConfig="all"
@@ -233,7 +237,7 @@ export const BorderConfigurations: Story = {
233
237
 
234
238
  {/* Single Sides */}
235
239
  <div className="space-y-4">
236
- <h4 className="text-sm font-medium text-white/80">
240
+ <h4 className="text-fm-secondary text-sm font-medium">
237
241
  Single Side Borders
238
242
  </h4>
239
243
  <div className="flex flex-wrap gap-2">
@@ -266,7 +270,7 @@ export const BorderConfigurations: Story = {
266
270
 
267
271
  {/* Two Sides */}
268
272
  <div className="space-y-4">
269
- <h4 className="text-sm font-medium text-white/80">
273
+ <h4 className="text-fm-secondary text-sm font-medium">
270
274
  Two Side Borders
271
275
  </h4>
272
276
  <div className="flex flex-wrap gap-2">
@@ -299,7 +303,7 @@ export const BorderConfigurations: Story = {
299
303
 
300
304
  {/* Three Sides */}
301
305
  <div className="space-y-4">
302
- <h4 className="text-sm font-medium text-white/80">
306
+ <h4 className="text-fm-secondary text-sm font-medium">
303
307
  Three Side Borders
304
308
  </h4>
305
309
  <div className="flex flex-wrap gap-2">
@@ -320,7 +324,9 @@ export const BorderConfigurations: Story = {
320
324
 
321
325
  {/* No Border */}
322
326
  <div className="space-y-4">
323
- <h4 className="text-sm font-medium text-white/80">No Borders</h4>
327
+ <h4 className="text-fm-secondary text-sm font-medium">
328
+ No Borders
329
+ </h4>
324
330
  <div className="flex flex-wrap gap-2">
325
331
  <BorderConfigDialog
326
332
  borderConfig="none"
@@ -362,7 +368,6 @@ export const DialogCleanupExample: Story = {
362
368
  <Button>Open Dialog with Cleanup</Button>
363
369
  </DialogTrigger>
364
370
  <DialogContent
365
- borderConfig="all"
366
371
  variant="info"
367
372
  //@ts-expect-error onEscapeKeyDown available in Radix v2.0.0
368
373
  onEscapeKeyDown={handleClose}
@@ -376,8 +381,8 @@ export const DialogCleanupExample: Story = {
376
381
  </DialogDescription>
377
382
  </DialogHeader>
378
383
  <div className="py-4">
379
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-3">
380
- <p className="text-sm text-blue-200">
384
+ <div className="border-fm-info bg-fm-surface-info-sec rounded-lg border p-3">
385
+ <p className="text-fm-info text-sm">
381
386
  The useDialogCleanup hook ensures that pointer-events: none
382
387
  doesn't get stuck on the body element when the dialog closes,
383
388
  which was a common issue in React 18.
@@ -400,8 +405,10 @@ export const DialogCleanupExample: Story = {
400
405
  return (
401
406
  <div className="space-y-8">
402
407
  <div className="text-center">
403
- <h3 className="mb-2 font-medium text-white">Dialog Cleanup Hook</h3>
404
- <p className="text-sm text-white/60">
408
+ <h3 className="text-fm-primary mb-2 font-medium">
409
+ Dialog Cleanup Hook
410
+ </h3>
411
+ <p className="text-fm-secondary text-sm">
405
412
  Demonstrates useDialogCleanup hook for React 18 compatibility
406
413
  </p>
407
414
  </div>
@@ -466,10 +473,10 @@ export const BasicVariants: Story = {
466
473
  return (
467
474
  <div className="space-y-8">
468
475
  <div className="text-center">
469
- <h3 className="mb-2 font-medium text-white">
476
+ <h3 className="text-fm-primary mb-2 font-medium">
470
477
  Dialog Variants with Border Styles
471
478
  </h3>
472
- <p className="text-sm text-white/60">
479
+ <p className="text-fm-secondary text-sm">
473
480
  Different dialog variants with customized border configurations
474
481
  </p>
475
482
  </div>
@@ -477,11 +484,10 @@ export const BasicVariants: Story = {
477
484
  <div className="flex flex-wrap justify-center gap-4">
478
485
  <DialogWithCleanupVariant
479
486
  variant="neutral"
480
- borderConfig="top"
481
487
  title="Neutral Dialog"
482
488
  description="This is a neutral dialog with top border."
483
489
  >
484
- <p className="text-sm text-white/80">
490
+ <p className="text-fm-secondary text-sm">
485
491
  Neutral dialogs with minimal top border accent are perfect for
486
492
  general information and settings.
487
493
  </p>
@@ -489,15 +495,14 @@ export const BasicVariants: Story = {
489
495
 
490
496
  <DialogWithCleanupVariant
491
497
  variant="positive"
492
- borderConfig="all"
493
498
  title="Success Dialog"
494
499
  description="Operation completed successfully!"
495
500
  >
496
501
  <div className="mb-2 flex items-center gap-2">
497
- <TickIcon className="h-5 w-5 text-green-400" />
498
- <span className="font-medium text-green-400">Success!</span>
502
+ <TickIcon className="text-fm-positive h-5 w-5" />
503
+ <span className="text-fm-positive font-medium">Success!</span>
499
504
  </div>
500
- <p className="text-sm text-white/80">
505
+ <p className="text-fm-secondary text-sm">
501
506
  Success dialogs with full border frame provide strong positive
502
507
  feedback.
503
508
  </p>
@@ -505,16 +510,15 @@ export const BasicVariants: Story = {
505
510
 
506
511
  <DialogWithCleanupVariant
507
512
  variant="warning"
508
- borderConfig={["top", "bottom"]}
509
513
  title="Warning Dialog"
510
514
  description="Please review the following before proceeding."
511
515
  >
512
- <div className="rounded-lg border border-yellow-500/20 bg-yellow-500/10 p-3">
516
+ <div className="border-fm-divider-warning bg-fm-surface-warning-alpha-15 rounded-lg border p-3">
513
517
  <div className="mb-2 flex items-center gap-2">
514
- <AlertIcon className="h-4 w-4 text-yellow-400" />
515
- <span className="font-medium text-yellow-400">Warning</span>
518
+ <AlertIcon className="text-fm-warning h-4 w-4" />
519
+ <span className="text-fm-warning font-medium">Warning</span>
516
520
  </div>
517
- <p className="text-sm text-yellow-200">
521
+ <p className="text-fm-warning-sec text-sm">
518
522
  Warning dialogs with horizontal borders create focused
519
523
  attention.
520
524
  </p>
@@ -523,16 +527,15 @@ export const BasicVariants: Story = {
523
527
 
524
528
  <DialogWithCleanupVariant
525
529
  variant="negative"
526
- borderConfig={["left", "right"]}
527
530
  title="Error Dialog"
528
531
  description="An error occurred that requires your attention."
529
532
  >
530
- <div className="rounded-lg border border-red-500/20 bg-red-500/10 p-3">
533
+ <div className="border-fm-divider-negative bg-fm-surface-negative-alpha-15 rounded-lg border p-3">
531
534
  <div className="mb-2 flex items-center gap-2">
532
- <AlertIcon className="h-4 w-4 text-red-400" />
533
- <span className="font-medium text-red-400">Error</span>
535
+ <AlertIcon className="text-fm-negative h-4 w-4" />
536
+ <span className="text-fm-negative font-medium">Error</span>
534
537
  </div>
535
- <p className="text-sm text-red-200">
538
+ <p className="text-fm-negative-sec text-sm">
536
539
  Error dialogs with vertical borders provide urgent visual cues.
537
540
  </p>
538
541
  </div>
@@ -540,16 +543,15 @@ export const BasicVariants: Story = {
540
543
 
541
544
  <DialogWithCleanupVariant
542
545
  variant="info"
543
- borderConfig="none"
544
546
  title="Information Dialog"
545
547
  description="Here's some important information for you."
546
548
  >
547
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-3">
549
+ <div className="border-fm-info bg-fm-surface-info-alpha-15 rounded-lg border p-3">
548
550
  <div className="mb-2 flex items-center gap-2">
549
- <LightBulbSimpleIcon className="h-4 w-4 text-blue-400" />
550
- <span className="font-medium text-blue-400">Information</span>
551
+ <LightBulbSimpleIcon className="text-fm-info h-4 w-4" />
552
+ <span className="text-fm-info font-medium">Information</span>
551
553
  </div>
552
- <p className="text-sm text-blue-200">
554
+ <p className="text-fm-info-sec text-sm">
553
555
  Clean info dialogs without borders for minimal, focused content
554
556
  presentation.
555
557
  </p>
@@ -604,7 +606,6 @@ export const NestedModalWithCleanup: Story = {
604
606
  </DialogTrigger>
605
607
  <DialogContent
606
608
  className="max-w-md"
607
- borderConfig={["top", "left", "right"]}
608
609
  variant="neutral"
609
610
  //@ts-expect-error onEscapeKeyDown available in Radix v2.0.0
610
611
  onEscapeKeyDown={handleEditClose}
@@ -651,7 +652,6 @@ export const NestedModalWithCleanup: Story = {
651
652
  <Dialog open={isDeleteOpen} onOpenChange={setIsDeleteOpen}>
652
653
  <DialogContent
653
654
  variant="negative"
654
- borderConfig="all"
655
655
  classes={{
656
656
  root: "max-w-sm",
657
657
  overlay: "z-60",
@@ -663,7 +663,7 @@ export const NestedModalWithCleanup: Story = {
663
663
  >
664
664
  <DialogHeader>
665
665
  <DialogTitle className="flex items-center gap-2">
666
- <AlertIcon className="h-5 w-5 text-red-400" />
666
+ <AlertIcon className="text-fm-negative h-5 w-5" />
667
667
  Delete Account
668
668
  </DialogTitle>
669
669
  <DialogDescription>
@@ -672,8 +672,8 @@ export const NestedModalWithCleanup: Story = {
672
672
  </DialogHeader>
673
673
 
674
674
  <div className="py-4">
675
- <div className="rounded-lg border border-red-500/20 bg-red-500/10 p-3">
676
- <p className="text-sm text-red-200">
675
+ <div className="border-fm-divider-negative bg-fm-surface-negative-alpha-15 rounded-lg border p-3">
676
+ <p className="text-fm-negative-sec text-sm">
677
677
  Are you absolutely sure you want to delete this account?
678
678
  This will permanently remove all associated data.
679
679
  </p>
@@ -698,10 +698,10 @@ export const NestedModalWithCleanup: Story = {
698
698
  return (
699
699
  <div className="space-y-8">
700
700
  <div className="text-center">
701
- <h3 className="mb-2 font-medium text-white">
701
+ <h3 className="text-fm-primary mb-2 font-medium">
702
702
  Nested Modal with Custom Borders
703
703
  </h3>
704
- <p className="text-sm text-white/60">
704
+ <p className="text-fm-secondary text-sm">
705
705
  Modal-on-modal with different border configurations
706
706
  </p>
707
707
  </div>
@@ -754,7 +754,6 @@ export const FormDialog: Story = {
754
754
  </DialogTrigger>
755
755
  <DialogContent
756
756
  className="max-w-md"
757
- borderConfig={["top", "bottom"]}
758
757
  variant="info"
759
758
  //@ts-expect-error onEscapeKeyDown available in Radix v2.0.0
760
759
  onEscapeKeyDown={handleClose}
@@ -855,8 +854,8 @@ export const FormDialog: Story = {
855
854
  return (
856
855
  <div className="space-y-8">
857
856
  <div className="text-center">
858
- <h3 className="mb-2 font-medium text-white">Form Dialog</h3>
859
- <p className="text-sm text-white/60">
857
+ <h3 className="text-fm-primary mb-2 font-medium">Form Dialog</h3>
858
+ <p className="text-fm-secondary text-sm">
860
859
  Dialog containing form elements with horizontal border accent
861
860
  </p>
862
861
  </div>
@@ -908,21 +907,24 @@ export const OverlayVariations: Story = {
908
907
  <DialogDescription>{description}</DialogDescription>
909
908
  </DialogHeader>
910
909
  <div className="py-4">
911
- <div className="grid grid-cols-2 gap-2 text-xs text-white/60">
910
+ <div className="text-fm-secondary grid grid-cols-2 gap-2 text-xs">
912
911
  <div>
913
912
  Opacity:{" "}
914
- <span className="text-white">{opacity || "default"}</span>
913
+ <span className="text-fm-primary">
914
+ {opacity || "default"}
915
+ </span>
915
916
  </div>
916
917
  <div>
917
918
  Glass:{" "}
918
- <span className="text-white">{glass || "default"}</span>
919
+ <span className="text-fm-primary">{glass || "default"}</span>
919
920
  </div>
920
921
  <div>
921
- Noise: <span className="text-white">{noise || "none"}</span>
922
+ Noise:{" "}
923
+ <span className="text-fm-primary">{noise || "none"}</span>
922
924
  </div>
923
925
  <div>
924
926
  Border:{" "}
925
- <span className="text-white">
927
+ <span className="text-fm-primary">
926
928
  {Array.isArray(borderConfig)
927
929
  ? `[${borderConfig.join(", ")}]`
928
930
  : borderConfig || "top"}
@@ -943,10 +945,10 @@ export const OverlayVariations: Story = {
943
945
  return (
944
946
  <div className="space-y-8">
945
947
  <div className="text-center">
946
- <h3 className="mb-2 font-medium text-white">
948
+ <h3 className="text-fm-primary mb-2 font-medium">
947
949
  Overlay Variations with Borders
948
950
  </h3>
949
- <p className="text-sm text-white/60">
951
+ <p className="text-fm-secondary text-sm">
950
952
  Different overlay effects combined with border configurations
951
953
  </p>
952
954
  </div>
@@ -954,49 +956,41 @@ export const OverlayVariations: Story = {
954
956
  <div className="grid grid-cols-2 gap-4 md:grid-cols-3 lg:grid-cols-4">
955
957
  <OverlayDialog
956
958
  opacity="low"
957
- borderConfig="top"
958
959
  title="Low Opacity"
959
960
  description="Subtle background dimming (40%)"
960
961
  />
961
962
  <OverlayDialog
962
963
  opacity="medium"
963
- borderConfig={["top", "bottom"]}
964
964
  title="Medium Opacity"
965
965
  description="Balanced background dimming (60%)"
966
966
  />
967
967
  <OverlayDialog
968
968
  opacity="high"
969
- borderConfig="all"
970
969
  title="High Opacity"
971
970
  description="Strong background dimming (80%)"
972
971
  />
973
972
  <OverlayDialog
974
973
  opacity="none"
975
- borderConfig="none"
976
974
  title="Full Opacity"
977
975
  description="Complete background coverage (100%)"
978
976
  />
979
977
  <OverlayDialog
980
978
  glass="low"
981
- borderConfig={["left", "right"]}
982
979
  title="Low Glass"
983
980
  description="Subtle backdrop blur effect"
984
981
  />
985
982
  <OverlayDialog
986
983
  glass="medium"
987
- borderConfig="all"
988
984
  title="Medium Glass"
989
985
  description="Balanced backdrop blur effect"
990
986
  />
991
987
  <OverlayDialog
992
988
  glass="high"
993
- borderConfig="top"
994
989
  title="High Glass"
995
990
  description="Strong backdrop blur effect"
996
991
  />
997
992
  <OverlayDialog
998
993
  noise="low"
999
- borderConfig={["top", "left", "right"]}
1000
994
  title="Low Noise"
1001
995
  description="Subtle texture pattern"
1002
996
  />
@@ -1026,7 +1020,6 @@ export const AccessibilityExample: Story = {
1026
1020
  <Button>Accessible Dialog Demo</Button>
1027
1021
  </DialogTrigger>
1028
1022
  <DialogContent
1029
- borderConfig="all"
1030
1023
  variant="info"
1031
1024
  //@ts-expect-error onEscapeKeyDown available in Radix v2.0.0
1032
1025
  onEscapeKeyDown={handleDialogClose}
@@ -1041,11 +1034,11 @@ export const AccessibilityExample: Story = {
1041
1034
  </DialogHeader>
1042
1035
 
1043
1036
  <div className="space-y-4">
1044
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1045
- <h4 className="mb-2 font-medium text-white">
1037
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1038
+ <h4 className="text-fm-primary mb-2 font-medium">
1046
1039
  Border Configuration
1047
1040
  </h4>
1048
- <ul className="space-y-1 text-sm text-white/80">
1041
+ <ul className="text-fm-secondary space-y-1 text-sm">
1049
1042
  <li>• Complete border frame for maximum visual emphasis</li>
1050
1043
  <li>• Customizable per dialog context and importance</li>
1051
1044
  <li>• Maintains accessibility contrast ratios</li>
@@ -1053,35 +1046,47 @@ export const AccessibilityExample: Story = {
1053
1046
  </ul>
1054
1047
  </div>
1055
1048
 
1056
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1057
- <h4 className="mb-2 font-medium text-white">
1049
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1050
+ <h4 className="text-fm-primary mb-2 font-medium">
1058
1051
  Keyboard Navigation
1059
1052
  </h4>
1060
- <ul className="space-y-1 text-sm text-white/80">
1053
+ <ul className="text-fm-secondary space-y-1 text-sm">
1061
1054
  <li>
1062
- <kbd className="rounded bg-white/10 px-1">Tab</kbd> -
1063
- Navigate between elements
1055
+ {"• "}
1056
+ <kbd className="bg-fm-surface-tertiary rounded px-1">
1057
+ Tab
1058
+ </kbd>{" "}
1059
+ - Navigate between elements
1064
1060
  </li>
1065
1061
  <li>
1066
- <kbd className="rounded bg-white/10 px-1">Escape</kbd> -
1067
- Close dialog
1062
+ {"• "}
1063
+ <kbd className="bg-fm-surface-tertiary rounded px-1">
1064
+ Escape
1065
+ </kbd>{" "}
1066
+ - Close dialog
1068
1067
  </li>
1069
1068
  <li>
1070
- <kbd className="rounded bg-white/10 px-1">Enter</kbd> -
1071
- Activate buttons
1069
+ {"• "}
1070
+ <kbd className="bg-fm-surface-tertiary rounded px-1">
1071
+ Enter
1072
+ </kbd>{" "}
1073
+ - Activate buttons
1072
1074
  </li>
1073
1075
  <li>
1074
- <kbd className="rounded bg-white/10 px-1">Space</kbd> -
1075
- Activate buttons
1076
+ {"• "}
1077
+ <kbd className="bg-fm-surface-tertiary rounded px-1">
1078
+ Space
1079
+ </kbd>{" "}
1080
+ - Activate buttons
1076
1081
  </li>
1077
1082
  </ul>
1078
1083
  </div>
1079
1084
 
1080
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1081
- <h4 className="mb-2 font-medium text-white">
1085
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1086
+ <h4 className="text-fm-primary mb-2 font-medium">
1082
1087
  React 18 Compatibility
1083
1088
  </h4>
1084
- <ul className="space-y-1 text-sm text-white/80">
1089
+ <ul className="text-fm-secondary space-y-1 text-sm">
1085
1090
  <li>• Cleanup hook prevents pointer-events issues</li>
1086
1091
  <li>• Proper modal stacking support</li>
1087
1092
  <li>• Body scroll restoration</li>
@@ -1103,10 +1108,10 @@ export const AccessibilityExample: Story = {
1103
1108
  return (
1104
1109
  <div className="space-y-8">
1105
1110
  <div className="text-center">
1106
- <h3 className="mb-2 font-medium text-white">
1111
+ <h3 className="text-fm-primary mb-2 font-medium">
1107
1112
  Accessibility Features
1108
1113
  </h3>
1109
- <p className="text-sm text-white/60">
1114
+ <p className="text-fm-secondary text-sm">
1110
1115
  Dialog with comprehensive accessibility and border configuration
1111
1116
  </p>
1112
1117
  </div>