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
@@ -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>