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.
- package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
- package/dist/components/avatar/Avatar.stories.tsx +84 -70
- package/dist/components/button/Button.stories.tsx +7 -7
- package/dist/components/button/index.tsx +7 -7
- package/dist/components/card/Card.stories.tsx +3 -3
- package/dist/components/char-count/CharCount.stories.tsx +9 -9
- package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
- package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
- package/dist/components/command/Command.stories.tsx +52 -38
- package/dist/components/dialog/Dialog.stories.tsx +89 -84
- package/dist/components/divider/Divider.stories.tsx +86 -60
- package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
- package/dist/components/drawer/Drawer.stories.tsx +74 -44
- package/dist/components/drawer/index.tsx +3 -3
- package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
- package/dist/components/helper-text/HelperText.stories.tsx +2 -2
- package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
- package/dist/components/input/Input.stories.tsx +2 -2
- package/dist/components/label/Label.stories.tsx +10 -10
- package/dist/components/list/List.stories.tsx +58 -44
- package/dist/components/marquee/Marquee.stories.tsx +131 -113
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
- package/dist/components/overlay/Overlay.stories.tsx +98 -92
- package/dist/components/overlay/index.tsx +4 -4
- package/dist/components/popover/Popover.stories.tsx +132 -106
- package/dist/components/radio/Radio.stories.tsx +2 -2
- package/dist/components/resizable/Resizable.stories.tsx +186 -138
- package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
- package/dist/components/search/Search.stories.tsx +81 -59
- package/dist/components/select/Select.stories.tsx +3 -1
- package/dist/components/sheet/Sheet.stories.tsx +68 -54
- package/dist/components/slider/Slider.stories.tsx +71 -47
- package/dist/components/stepper/Stepper.stories.tsx +16 -16
- package/dist/components/switch/Switch.stories.tsx +12 -12
- package/dist/components/table/Table.stories.tsx +8 -6
- package/dist/components/tabs/Tabs.stories.tsx +324 -268
- package/dist/components/textarea/TextArea.stories.tsx +1 -1
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
- package/dist/components/toast/Toast.stories.tsx +51 -45
- package/dist/components/toggle/Toggle.stories.tsx +111 -89
- package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
- package/dist/icons/Icons.stories.tsx +2 -2
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
- package/dist/icons/all-icons.tsx +97 -81
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
- package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
- package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
- package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
- package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
- package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
- package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
- package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
- package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
- package/dist/icons/spinner-solid-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
- package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
- package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
- package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
- package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
- package/dist/index.cjs +84 -84
- package/dist/index.js +84 -84
- package/dist/styles/aural-all-theme.css +1222 -0
- package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
- package/dist/styles/aural-light-theme.css +1047 -0
- 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
|
|
174
|
-
<div className="space-y-1 text-xs
|
|
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-
|
|
176
|
+
Variant: <span className="text-fm-primary">{variant}</span>
|
|
177
177
|
</div>
|
|
178
178
|
<div>
|
|
179
179
|
Border Config:{" "}
|
|
180
|
-
<span className="text-
|
|
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
|
|
203
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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="
|
|
380
|
-
<p className="text-
|
|
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
|
|
404
|
-
|
|
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
|
|
476
|
+
<h3 className="text-fm-primary mb-2 font-medium">
|
|
470
477
|
Dialog Variants with Border Styles
|
|
471
478
|
</h3>
|
|
472
|
-
<p className="text-
|
|
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-
|
|
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
|
|
498
|
-
<span className="font-medium
|
|
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-
|
|
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="
|
|
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
|
|
515
|
-
<span className="font-medium
|
|
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-
|
|
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="
|
|
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
|
|
533
|
-
<span className="font-medium
|
|
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-
|
|
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="
|
|
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
|
|
550
|
-
<span className="font-medium
|
|
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-
|
|
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
|
|
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="
|
|
676
|
-
<p className="text-
|
|
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
|
|
701
|
+
<h3 className="text-fm-primary mb-2 font-medium">
|
|
702
702
|
Nested Modal with Custom Borders
|
|
703
703
|
</h3>
|
|
704
|
-
<p className="text-
|
|
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
|
|
859
|
-
<p className="text-
|
|
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
|
|
910
|
+
<div className="text-fm-secondary grid grid-cols-2 gap-2 text-xs">
|
|
912
911
|
<div>
|
|
913
912
|
Opacity:{" "}
|
|
914
|
-
<span className="text-
|
|
913
|
+
<span className="text-fm-primary">
|
|
914
|
+
{opacity || "default"}
|
|
915
|
+
</span>
|
|
915
916
|
</div>
|
|
916
917
|
<div>
|
|
917
918
|
Glass:{" "}
|
|
918
|
-
<span className="text-
|
|
919
|
+
<span className="text-fm-primary">{glass || "default"}</span>
|
|
919
920
|
</div>
|
|
920
921
|
<div>
|
|
921
|
-
Noise:
|
|
922
|
+
Noise:{" "}
|
|
923
|
+
<span className="text-fm-primary">{noise || "none"}</span>
|
|
922
924
|
</div>
|
|
923
925
|
<div>
|
|
924
926
|
Border:{" "}
|
|
925
|
-
<span className="text-
|
|
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
|
|
948
|
+
<h3 className="text-fm-primary mb-2 font-medium">
|
|
947
949
|
Overlay Variations with Borders
|
|
948
950
|
</h3>
|
|
949
|
-
<p className="text-
|
|
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
|
|
1045
|
-
<h4 className="mb-2 font-medium
|
|
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
|
|
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
|
|
1057
|
-
<h4 className="mb-2 font-medium
|
|
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
|
|
1053
|
+
<ul className="text-fm-secondary space-y-1 text-sm">
|
|
1061
1054
|
<li>
|
|
1062
|
-
•
|
|
1063
|
-
|
|
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
|
-
•
|
|
1067
|
-
|
|
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
|
-
•
|
|
1071
|
-
|
|
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
|
-
•
|
|
1075
|
-
|
|
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
|
|
1081
|
-
<h4 className="mb-2 font-medium
|
|
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
|
|
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
|
|
1111
|
+
<h3 className="text-fm-primary mb-2 font-medium">
|
|
1107
1112
|
Accessibility Features
|
|
1108
1113
|
</h3>
|
|
1109
|
-
<p className="text-
|
|
1114
|
+
<p className="text-fm-secondary text-sm">
|
|
1110
1115
|
Dialog with comprehensive accessibility and border configuration
|
|
1111
1116
|
</p>
|
|
1112
1117
|
</div>
|