@12-apps/ui 1.5.0 → 1.5.2
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/package.json +17 -9
- package/src/button/index.ts +1 -0
- package/src/social-login-button/index.ts +1 -0
- package/src/{social-login-button.tsx → social-login-button/social-login-button.tsx} +5 -5
- package/src/user-avatar/index.ts +1 -0
- package/src/{user-avatar.tsx → user-avatar/user-avatar.tsx} +4 -4
- package/eslint.config.js +0 -89
- package/src/__tests__/data-grid.test.tsx +0 -125
- package/src/__tests__/package-wiring.test.ts +0 -41
- package/src/__tests__/setup.ts +0 -1
- package/src/__tests__/social-login-button.test.tsx +0 -186
- package/src/__tests__/user-avatar.test.tsx +0 -195
- package/src/__tests__/viewport.test.ts +0 -50
- package/src/components/command/__tests__/command.test.tsx +0 -112
- package/src/components/data-display/Alert/Alert.stories.tsx +0 -559
- package/src/components/data-display/Alert/Alert.test.stories.tsx +0 -707
- package/src/components/data-display/AlertDialog/AlertDialog.stories.tsx +0 -362
- package/src/components/data-display/AlertDialog/AlertDialog.test.stories.tsx +0 -763
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.stories.tsx +0 -230
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.test.stories.tsx +0 -270
- package/src/components/data-display/Avatar/Avatar.stories.tsx +0 -721
- package/src/components/data-display/Avatar/Avatar.test.stories.tsx +0 -822
- package/src/components/data-display/Badge/Badge.stories.tsx +0 -1134
- package/src/components/data-display/Badge/Badge.test.stories.tsx +0 -1194
- package/src/components/data-display/Banner/Banner.stories.tsx +0 -528
- package/src/components/data-display/Banner/Banner.test.stories.tsx +0 -511
- package/src/components/data-display/Carousel/Carousel.stories.tsx +0 -607
- package/src/components/data-display/Carousel/Carousel.test.stories.tsx +0 -701
- package/src/components/data-display/Chart/Chart.stories.tsx +0 -568
- package/src/components/data-display/Chart/Chart.test.stories.tsx +0 -174
- package/src/components/data-display/Chart/SpecChart.stories.tsx +0 -150
- package/src/components/data-display/Chart/SpecChart.test.stories.tsx +0 -56
- package/src/components/data-display/Chart/__tests__/SpecChart.test.tsx +0 -60
- package/src/components/data-display/Chart/__tests__/chart-format.test.ts +0 -43
- package/src/components/data-display/Chart/__tests__/chart-spec.test.ts +0 -119
- package/src/components/data-display/Chip/Chip.stories.tsx +0 -252
- package/src/components/data-display/Chip/Chip.test.stories.tsx +0 -266
- package/src/components/data-display/DataGrid/DataGrid.stories.tsx +0 -515
- package/src/components/data-display/DataGrid/DataGrid.test.stories.tsx +0 -653
- package/src/components/data-display/DataViews/__tests__/DataViewsGrid.test.tsx +0 -271
- package/src/components/data-display/DataViews/__tests__/DataViewsTableBase.test.tsx +0 -134
- package/src/components/data-display/DataViews/__tests__/SaveViewModal.test.tsx +0 -83
- package/src/components/data-display/DataViews/__tests__/data-views-filter.test.ts +0 -115
- package/src/components/data-display/DataViews/__tests__/data-views-preview.test.ts +0 -53
- package/src/components/data-display/DataViews/__tests__/range-pill.test.tsx +0 -114
- package/src/components/data-display/DataViews/base-card.stories.tsx +0 -136
- package/src/components/data-display/DescriptionItem/DescriptionItem.stories.tsx +0 -254
- package/src/components/data-display/EmptyState/EmptyState.stories.tsx +0 -282
- package/src/components/data-display/EmptyState/EmptyState.test.stories.tsx +0 -441
- package/src/components/data-display/ErrorState/ErrorState.stories.tsx +0 -110
- package/src/components/data-display/ErrorState/ErrorState.test.stories.tsx +0 -133
- package/src/components/data-display/HoverCard/HoverCard.stories.tsx +0 -650
- package/src/components/data-display/HoverCard/HoverCard.test.stories.tsx +0 -929
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.stories.tsx +0 -411
- package/src/components/data-display/LazyImage/LazyImage.stories.tsx +0 -387
- package/src/components/data-display/Lightbox/Lightbox.stories.tsx +0 -315
- package/src/components/data-display/Lightbox/Lightbox.test.stories.tsx +0 -598
- package/src/components/data-display/LoadingState/LoadingState.stories.tsx +0 -124
- package/src/components/data-display/LoadingState/LoadingState.test.stories.tsx +0 -99
- package/src/components/data-display/MapPreview/MapPreview.stories.tsx +0 -458
- package/src/components/data-display/MapPreview/MapPreview.test.stories.tsx +0 -394
- package/src/components/data-display/Popover/Popover.stories.tsx +0 -295
- package/src/components/data-display/Popover/Popover.test.stories.tsx +0 -1162
- package/src/components/data-display/Progress/Progress.stories.tsx +0 -481
- package/src/components/data-display/Progress/Progress.test.stories.tsx +0 -2070
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.stories.tsx +0 -160
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.test.stories.tsx +0 -190
- package/src/components/data-display/Sheet/Sheet.stories.tsx +0 -883
- package/src/components/data-display/Sheet/Sheet.test.stories.tsx +0 -1105
- package/src/components/data-display/StatCard/StatCard.stories.tsx +0 -167
- package/src/components/data-display/StatCard/StatCard.test.stories.tsx +0 -240
- package/src/components/data-display/Stepper/Stepper.stories.tsx +0 -540
- package/src/components/data-display/Stepper/Stepper.test.stories.tsx +0 -600
- package/src/components/data-display/Table/Table.stories.tsx +0 -803
- package/src/components/data-display/Table/Table.test.stories.tsx +0 -369
- package/src/components/data-display/Timeline/Timeline.stories.tsx +0 -442
- package/src/components/data-display/Timeline/Timeline.test.stories.tsx +0 -930
- package/src/components/data-display/TimingDiagram/TimingDiagram.stories.tsx +0 -475
- package/src/components/data-display/TimingDiagram/TimingDiagram.test.stories.tsx +0 -734
- package/src/components/data-display/Tooltip/Tooltip.stories.tsx +0 -468
- package/src/components/data-display/Tooltip/Tooltip.test.stories.tsx +0 -1154
- package/src/components/feedback/ConfirmAction/ConfirmAction.stories.tsx +0 -146
- package/src/components/feedback/ConfirmAction/ConfirmAction.test.stories.tsx +0 -114
- package/src/components/feedback/ConfirmAction/__tests__/confirm-action.test.tsx +0 -288
- package/src/components/feedback/Dialog/Dialog.stories.tsx +0 -833
- package/src/components/feedback/Dialog/Dialog.test.stories.tsx +0 -964
- package/src/components/feedback/Dialog/__tests__/dialog-content-spacing.test.tsx +0 -66
- package/src/components/feedback/Modal/Modal.stories.tsx +0 -765
- package/src/components/feedback/Modal/Modal.test.stories.tsx +0 -251
- package/src/components/feedback/Sonner/Sonner.stories.tsx +0 -698
- package/src/components/feedback/Sonner/Sonner.test.stories.tsx +0 -896
- package/src/components/feedback/StackedModal/StackedModal.stories.tsx +0 -1783
- package/src/components/feedback/StackedModal/StackedModal.test.stories.tsx +0 -973
- package/src/components/feedback/StackedModal/__tests__/stacked-modal-viewport.test.tsx +0 -104
- package/src/components/feedback/Toast/Toast.stories.tsx +0 -548
- package/src/components/feedback/Toast/Toast.test.stories.tsx +0 -834
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.stories.tsx +0 -691
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.test.stories.tsx +0 -634
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.stories.tsx +0 -665
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.test.stories.tsx +0 -727
- package/src/components/form/Autocomplete/Autocomplete.stories.tsx +0 -715
- package/src/components/form/Autocomplete/Autocomplete.test.stories.tsx +0 -825
- package/src/components/form/Button/Button.stories.tsx +0 -365
- package/src/components/form/Button/Button.test.stories.tsx +0 -607
- package/src/components/form/Calendar/Calendar.stories.tsx +0 -349
- package/src/components/form/Calendar/Calendar.test.stories.tsx +0 -464
- package/src/components/form/CepField/CepField.stories.tsx +0 -138
- package/src/components/form/CepField/CepField.test.stories.tsx +0 -281
- package/src/components/form/Checkbox/Checkbox.stories.tsx +0 -265
- package/src/components/form/Checkbox/Checkbox.test.stories.tsx +0 -181
- package/src/components/form/CodeEditor/CodeEditor.stories.tsx +0 -871
- package/src/components/form/CodeEditor/CodeEditor.test.stories.tsx +0 -574
- package/src/components/form/Command/Command.stories.tsx +0 -580
- package/src/components/form/Command/Command.test.stories.tsx +0 -215
- package/src/components/form/CreatableSelect/CreatableSelect.stories.tsx +0 -112
- package/src/components/form/CreatableSelect/CreatableSelect.test.stories.tsx +0 -134
- package/src/components/form/Form/Form.stories.tsx +0 -687
- package/src/components/form/Form/Form.test.stories.tsx +0 -601
- package/src/components/form/Input/Input.stories.tsx +0 -260
- package/src/components/form/Input/Input.test.stories.tsx +0 -1191
- package/src/components/form/InputOTP/InputOTP.stories.tsx +0 -774
- package/src/components/form/InputOTP/InputOTP.test.stories.tsx +0 -588
- package/src/components/form/Label/Label.stories.tsx +0 -473
- package/src/components/form/Label/Label.test.stories.tsx +0 -915
- package/src/components/form/Menubar/Menubar.stories.tsx +0 -472
- package/src/components/form/Menubar/Menubar.test.stories.tsx +0 -584
- package/src/components/form/PasswordStrength/PasswordStrength.stories.tsx +0 -562
- package/src/components/form/PasswordStrength/PasswordStrength.test.stories.tsx +0 -327
- package/src/components/form/PhoneInput/PhoneInput.stories.tsx +0 -495
- package/src/components/form/PhoneInput/PhoneInput.test.stories.tsx +0 -666
- package/src/components/form/RadioGroup/RadioGroup.stories.tsx +0 -518
- package/src/components/form/RadioGroup/RadioGroup.test.stories.tsx +0 -685
- package/src/components/form/RichTextEditor/RichTextEditor.stories.tsx +0 -261
- package/src/components/form/RichTextEditor/RichTextEditor.test.stories.tsx +0 -491
- package/src/components/form/SearchPalette/SearchPalette.stories.tsx +0 -135
- package/src/components/form/Select/Select.stories.tsx +0 -364
- package/src/components/form/Select/Select.test.stories.tsx +0 -985
- package/src/components/form/Slider/Slider.stories.tsx +0 -418
- package/src/components/form/Slider/Slider.test.stories.tsx +0 -1042
- package/src/components/form/Switch/Switch.stories.tsx +0 -697
- package/src/components/form/Switch/Switch.test.stories.tsx +0 -597
- package/src/components/form/Textarea/Textarea.stories.tsx +0 -473
- package/src/components/form/Textarea/Textarea.test.stories.tsx +0 -702
- package/src/components/form/Toggle/Toggle.stories.tsx +0 -638
- package/src/components/form/Toggle/Toggle.test.stories.tsx +0 -1159
- package/src/components/form/ToggleGroup/ToggleGroup.stories.tsx +0 -617
- package/src/components/form/ToggleGroup/ToggleGroup.test.stories.tsx +0 -915
- package/src/components/form/UploadButton/UploadButton.stories.tsx +0 -367
- package/src/components/form/UploadButton/UploadButton.test.stories.tsx +0 -573
- package/src/components/form/total-form/total-form.test.tsx +0 -214
- package/src/components/layout/Accordion/Accordion.stories.tsx +0 -694
- package/src/components/layout/Accordion/Accordion.test.stories.tsx +0 -1344
- package/src/components/layout/Card/Card.stories.tsx +0 -591
- package/src/components/layout/Card/Card.test.stories.tsx +0 -1134
- package/src/components/layout/CardGrid/__tests__/CardGrid.test.tsx +0 -92
- package/src/components/layout/Collapsible/Collapsible.stories.tsx +0 -180
- package/src/components/layout/Collapsible/Collapsible.test.stories.tsx +0 -308
- package/src/components/layout/Container/Container.stories.tsx +0 -557
- package/src/components/layout/Container/Container.test.stories.tsx +0 -745
- package/src/components/layout/ContentToolbar/ContentToolbar.stories.tsx +0 -129
- package/src/components/layout/ContentToolbar/ContentToolbar.test.stories.tsx +0 -251
- package/src/components/layout/ContentToolbar/__tests__/ColumnsMenu.test.tsx +0 -39
- package/src/components/layout/ContentToolbar/__tests__/MultiSelectDropdown.test.tsx +0 -131
- package/src/components/layout/ContentToolbar/__tests__/SavedViewsMenu.test.tsx +0 -99
- package/src/components/layout/Dashboard/Dashboard.stories.tsx +0 -104
- package/src/components/layout/Dashboard/Dashboard.test.stories.tsx +0 -190
- package/src/components/layout/Drawer/Drawer.stories.tsx +0 -658
- package/src/components/layout/Drawer/Drawer.test.stories.tsx +0 -1343
- package/src/components/layout/Resizable/Resizable.stories.tsx +0 -1039
- package/src/components/layout/Resizable/Resizable.test.stories.tsx +0 -754
- package/src/components/layout/ScrollArea/ScrollArea.stories.tsx +0 -651
- package/src/components/layout/ScrollArea/ScrollArea.test.stories.tsx +0 -619
- package/src/components/layout/Separator/Separator.stories.tsx +0 -563
- package/src/components/layout/Separator/Separator.test.stories.tsx +0 -518
- package/src/components/layout/SettingsLayout/SettingsLayout.stories.tsx +0 -192
- package/src/components/layout/SettingsLayout/SettingsLayout.test.stories.tsx +0 -175
- package/src/components/layout/Sidebar/Sidebar.stories.tsx +0 -609
- package/src/components/layout/Sidebar/Sidebar.test.stories.tsx +0 -1324
- package/src/components/layout/Skeleton/Skeleton.stories.tsx +0 -689
- package/src/components/layout/Skeleton/Skeleton.test.stories.tsx +0 -521
- package/src/components/layout/Spacer/Spacer.stories.tsx +0 -502
- package/src/components/layout/Spacer/Spacer.test.stories.tsx +0 -474
- package/src/components/layout/TableFilter/TableFilter.stories.tsx +0 -82
- package/src/components/layout/TableFilter/TableFilter.test.stories.tsx +0 -87
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.stories.tsx +0 -638
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.test.stories.tsx +0 -1008
- package/src/components/navigation/CommandPalette/CommandPalette.stories.tsx +0 -386
- package/src/components/navigation/CommandPalette/CommandPalette.test.stories.tsx +0 -435
- package/src/components/navigation/ContextMenu/ContextMenu.stories.tsx +0 -614
- package/src/components/navigation/ContextMenu/ContextMenu.test.stories.tsx +0 -845
- package/src/components/navigation/DropdownMenu/DropdownMenu.stories.tsx +0 -578
- package/src/components/navigation/DropdownMenu/DropdownMenu.test.stories.tsx +0 -660
- package/src/components/navigation/NavigationMenu/stories/NavigationMenu.stories.tsx +0 -516
- package/src/components/navigation/NavigationMenu/stories/NavigationMenu.test.stories.tsx +0 -935
- package/src/components/navigation/NavigationMenu/stories/NavigationMenuHorizontal.stories.tsx +0 -501
- package/src/components/navigation/NavigationMenu/stories/NavigationMenuVertical.stories.tsx +0 -453
- package/src/components/navigation/Pagination/Pagination.stories.tsx +0 -602
- package/src/components/navigation/Pagination/Pagination.test.stories.tsx +0 -520
- package/src/components/navigation/Tabs/Tabs.stories.tsx +0 -1004
- package/src/components/navigation/Tabs/Tabs.test.stories.tsx +0 -1225
- package/src/components/typography/Blockquote/Blockquote.stories.tsx +0 -359
- package/src/components/typography/Blockquote/Blockquote.test.stories.tsx +0 -432
- package/src/components/typography/Code/Code.stories.tsx +0 -686
- package/src/components/typography/Code/Code.test.stories.tsx +0 -703
- package/src/components/typography/Heading/Heading.stories.tsx +0 -451
- package/src/components/typography/Heading/Heading.test.stories.tsx +0 -830
- package/src/components/typography/Paragraph/Paragraph.stories.tsx +0 -280
- package/src/components/typography/Paragraph/Paragraph.test.stories.tsx +0 -231
- package/src/components/typography/Text/Text.stories.tsx +0 -359
- package/src/components/typography/Text/Text.test.stories.tsx +0 -759
- package/src/components/utility/AnimatedIcon/AnimatedIcon.stories.tsx +0 -945
- package/src/components/utility/AnimatedIcon/AnimatedIcon.test.stories.tsx +0 -603
- package/src/components/utility/AspectRatio/AspectRatio.stories.tsx +0 -414
- package/src/components/utility/AspectRatio/AspectRatio.test.stories.tsx +0 -859
- package/src/components/utility/InfiniteScroll/InfiniteScroll.stories.tsx +0 -620
- package/src/components/utility/InfiniteScroll/InfiniteScroll.test.stories.tsx +0 -361
- package/src/components/utility/InstallPrompt/InstallPrompt.stories.tsx +0 -118
- package/src/components/utility/InstallPrompt/InstallPrompt.test.stories.tsx +0 -83
- package/src/components/utility/InstallPrompt/__tests__/InstallPrompt.ios.test.tsx +0 -65
- package/src/components/utility/InstallPrompt/__tests__/usePwaInstall.test.tsx +0 -271
- package/src/components/utility/Portal/Portal.stories.tsx +0 -340
- package/src/components/utility/Portal/Portal.test.stories.tsx +0 -2086
- package/src/components/utility/Transition/Transition.stories.tsx +0 -493
- package/src/components/utility/Transition/Transition.test.stories.tsx +0 -854
- package/src/components/utility/VirtualList/VirtualList.stories.tsx +0 -1073
- package/src/components/utility/VirtualList/VirtualList.test.stories.tsx +0 -1085
- package/src/components/utility/WorkflowStep/WorkflowStep.stories.tsx +0 -431
- package/src/components/utility/WorkflowStep/WorkflowStep.test.stories.tsx +0 -364
- /package/src/{button.tsx → button/button.tsx} +0 -0
|
@@ -1,559 +0,0 @@
|
|
|
1
|
-
import CheckCircle from '@mui/icons-material/CheckCircle';
|
|
2
|
-
import Notifications from '@mui/icons-material/Notifications';
|
|
3
|
-
import Security from '@mui/icons-material/Security';
|
|
4
|
-
import Star from '@mui/icons-material/Star';
|
|
5
|
-
import MuiWarning from '@mui/icons-material/Warning';
|
|
6
|
-
import { Box, Button,Stack, Typography } from '@mui/material';
|
|
7
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
8
|
-
import React from 'react';
|
|
9
|
-
|
|
10
|
-
import { Alert } from './Alert';
|
|
11
|
-
|
|
12
|
-
const meta: Meta<typeof Alert> = {
|
|
13
|
-
title: 'DataDisplay/Alert',
|
|
14
|
-
component: Alert,
|
|
15
|
-
parameters: {
|
|
16
|
-
layout: 'padded',
|
|
17
|
-
docs: {
|
|
18
|
-
description: {
|
|
19
|
-
component:
|
|
20
|
-
'A beautiful and versatile Alert component with multiple variants, animations, and accessibility features. Supports info, success, warning, danger, glass, and gradient styles with optional glow and pulse effects.',
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
tags: ['autodocs', 'component:Alert'],
|
|
25
|
-
argTypes: {
|
|
26
|
-
variant: {
|
|
27
|
-
control: { type: 'select' },
|
|
28
|
-
options: ['info', 'success', 'warning', 'danger', 'glass', 'gradient'],
|
|
29
|
-
description: 'The visual style variant of the alert',
|
|
30
|
-
table: {
|
|
31
|
-
defaultValue: { summary: 'info' },
|
|
32
|
-
type: { summary: 'string' },
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
color: {
|
|
36
|
-
control: { type: 'select' },
|
|
37
|
-
options: ['primary', 'secondary', 'success', 'warning', 'danger', 'neutral'],
|
|
38
|
-
description: 'Override color for the alert',
|
|
39
|
-
table: {
|
|
40
|
-
type: { summary: 'string' },
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
glow: {
|
|
44
|
-
control: { type: 'boolean' },
|
|
45
|
-
description: 'Add a glowing shadow effect',
|
|
46
|
-
table: {
|
|
47
|
-
defaultValue: { summary: 'false' },
|
|
48
|
-
type: { summary: 'boolean' },
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
pulse: {
|
|
52
|
-
control: { type: 'boolean' },
|
|
53
|
-
description: 'Add a pulsing animation effect',
|
|
54
|
-
table: {
|
|
55
|
-
defaultValue: { summary: 'false' },
|
|
56
|
-
type: { summary: 'boolean' },
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
showIcon: {
|
|
60
|
-
control: { type: 'boolean' },
|
|
61
|
-
description: 'Whether to show the default icon',
|
|
62
|
-
table: {
|
|
63
|
-
defaultValue: { summary: 'true' },
|
|
64
|
-
type: { summary: 'boolean' },
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
closable: {
|
|
68
|
-
control: { type: 'boolean' },
|
|
69
|
-
description: 'Whether the alert can be dismissed',
|
|
70
|
-
table: {
|
|
71
|
-
defaultValue: { summary: 'false' },
|
|
72
|
-
type: { summary: 'boolean' },
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
title: {
|
|
76
|
-
control: { type: 'text' },
|
|
77
|
-
description: 'Alert title text',
|
|
78
|
-
table: {
|
|
79
|
-
type: { summary: 'string' },
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
description: {
|
|
83
|
-
control: { type: 'text' },
|
|
84
|
-
description: 'Alert description text',
|
|
85
|
-
table: {
|
|
86
|
-
type: { summary: 'string' },
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
animate: {
|
|
90
|
-
control: { type: 'boolean' },
|
|
91
|
-
description: 'Whether to animate the alert on mount',
|
|
92
|
-
table: {
|
|
93
|
-
defaultValue: { summary: 'true' },
|
|
94
|
-
type: { summary: 'boolean' },
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
export default meta;
|
|
101
|
-
type Story = StoryObj<typeof meta>;
|
|
102
|
-
|
|
103
|
-
// Basic variants
|
|
104
|
-
export const Default: Story = {
|
|
105
|
-
args: {
|
|
106
|
-
children: 'This is a default alert message.',
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export const Info: Story = {
|
|
111
|
-
args: {
|
|
112
|
-
variant: 'info',
|
|
113
|
-
children: 'This is an info alert with useful information.',
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
export const Success: Story = {
|
|
118
|
-
args: {
|
|
119
|
-
variant: 'success',
|
|
120
|
-
children: 'Success! Your action was completed successfully.',
|
|
121
|
-
},
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
export const Warning: Story = {
|
|
125
|
-
args: {
|
|
126
|
-
variant: 'warning',
|
|
127
|
-
children: 'Warning! Please check your input and try again.',
|
|
128
|
-
},
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
export const Danger: Story = {
|
|
132
|
-
args: {
|
|
133
|
-
variant: 'danger',
|
|
134
|
-
children: 'Error! Something went wrong. Please try again.',
|
|
135
|
-
},
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
export const Glass: Story = {
|
|
139
|
-
args: {
|
|
140
|
-
variant: 'glass',
|
|
141
|
-
children: 'This is a glass-morphism alert with a blurred background.',
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
// With title and description
|
|
146
|
-
export const WithTitle: Story = {
|
|
147
|
-
args: {
|
|
148
|
-
variant: 'success',
|
|
149
|
-
title: 'Payment Successful',
|
|
150
|
-
description:
|
|
151
|
-
'Your payment has been processed successfully. You will receive a confirmation email shortly.',
|
|
152
|
-
},
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
// With custom icon
|
|
156
|
-
export const WithCustomIcon: Story = {
|
|
157
|
-
args: {
|
|
158
|
-
variant: 'info',
|
|
159
|
-
icon: <Star />,
|
|
160
|
-
title: 'Pro Tip',
|
|
161
|
-
children: 'You can customize the alert icon to match your content.',
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
// Without icon
|
|
166
|
-
export const WithoutIcon: Story = {
|
|
167
|
-
args: {
|
|
168
|
-
variant: 'warning',
|
|
169
|
-
showIcon: false,
|
|
170
|
-
children: 'This alert does not display an icon.',
|
|
171
|
-
},
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
// Closable alert
|
|
175
|
-
export const Closable: Story = {
|
|
176
|
-
args: {
|
|
177
|
-
variant: 'info',
|
|
178
|
-
closable: true,
|
|
179
|
-
title: 'Notification',
|
|
180
|
-
children: 'This alert can be closed by clicking the X button.',
|
|
181
|
-
},
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
// With effects
|
|
185
|
-
export const WithGlow: Story = {
|
|
186
|
-
args: {
|
|
187
|
-
variant: 'success',
|
|
188
|
-
glow: true,
|
|
189
|
-
title: 'Success with Glow',
|
|
190
|
-
children: 'This alert has a glowing effect around it.',
|
|
191
|
-
},
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
export const WithPulse: Story = {
|
|
195
|
-
args: {
|
|
196
|
-
variant: 'warning',
|
|
197
|
-
pulse: true,
|
|
198
|
-
title: 'Attention Required',
|
|
199
|
-
children: 'This alert has a pulsing animation to grab attention.',
|
|
200
|
-
},
|
|
201
|
-
};
|
|
202
|
-
|
|
203
|
-
export const WithGlowAndPulse: Story = {
|
|
204
|
-
args: {
|
|
205
|
-
variant: 'danger',
|
|
206
|
-
glow: true,
|
|
207
|
-
pulse: true,
|
|
208
|
-
title: 'Critical Alert',
|
|
209
|
-
children: 'This alert combines both glow and pulse effects.',
|
|
210
|
-
},
|
|
211
|
-
};
|
|
212
|
-
|
|
213
|
-
// All variants showcase
|
|
214
|
-
export const AllVariants: Story = {
|
|
215
|
-
render: () => (
|
|
216
|
-
<Stack spacing={2}>
|
|
217
|
-
<Alert variant="info" title="Information" closable>
|
|
218
|
-
This is an informational message with important details.
|
|
219
|
-
</Alert>
|
|
220
|
-
<Alert variant="success" title="Success" closable>
|
|
221
|
-
Your action was completed successfully!
|
|
222
|
-
</Alert>
|
|
223
|
-
<Alert variant="warning" title="Warning" closable>
|
|
224
|
-
Please review your settings before continuing.
|
|
225
|
-
</Alert>
|
|
226
|
-
<Alert variant="danger" title="Error" closable>
|
|
227
|
-
An error occurred while processing your request.
|
|
228
|
-
</Alert>
|
|
229
|
-
<Alert variant="glass" title="Glass Effect" closable>
|
|
230
|
-
This alert uses glassmorphism design with backdrop blur.
|
|
231
|
-
</Alert>
|
|
232
|
-
</Stack>
|
|
233
|
-
),
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
// Interactive examples
|
|
237
|
-
export const Interactive: Story = {
|
|
238
|
-
render: () => (
|
|
239
|
-
<Stack spacing={2}>
|
|
240
|
-
<Alert
|
|
241
|
-
variant="success"
|
|
242
|
-
title="Interactive Demo"
|
|
243
|
-
glow
|
|
244
|
-
closable
|
|
245
|
-
onClose={() => {
|
|
246
|
-
/** do nothing */
|
|
247
|
-
}}
|
|
248
|
-
>
|
|
249
|
-
Click the close button to dismiss this alert.
|
|
250
|
-
</Alert>
|
|
251
|
-
<Alert variant="warning" pulse icon={<MuiWarning />} title="Attention">
|
|
252
|
-
This alert pulses to grab your attention.
|
|
253
|
-
</Alert>
|
|
254
|
-
<Alert variant="glass" glow pulse title="Combined Effects" closable>
|
|
255
|
-
Glass morphism with glow and pulse effects combined.
|
|
256
|
-
</Alert>
|
|
257
|
-
</Stack>
|
|
258
|
-
),
|
|
259
|
-
};
|
|
260
|
-
|
|
261
|
-
// Gradient variant showcase
|
|
262
|
-
export const GradientVariant: Story = {
|
|
263
|
-
args: {
|
|
264
|
-
variant: 'gradient',
|
|
265
|
-
title: 'Gradient Alert',
|
|
266
|
-
description: 'This alert features a beautiful gradient background with shimmer effect',
|
|
267
|
-
closable: true,
|
|
268
|
-
color: 'primary',
|
|
269
|
-
},
|
|
270
|
-
};
|
|
271
|
-
|
|
272
|
-
// Custom content with actions
|
|
273
|
-
export const WithActions: Story = {
|
|
274
|
-
render: () => (
|
|
275
|
-
<Stack spacing={2}>
|
|
276
|
-
<Alert
|
|
277
|
-
variant="info"
|
|
278
|
-
title="System Update Available"
|
|
279
|
-
description="A new version is available. Update now to get the latest features and improvements."
|
|
280
|
-
closable
|
|
281
|
-
>
|
|
282
|
-
<Box sx={{ mt: 2, display: 'flex', gap: 1 }}>
|
|
283
|
-
<Button size="small" variant="contained" color="info">
|
|
284
|
-
Update Now
|
|
285
|
-
</Button>
|
|
286
|
-
<Button size="small" variant="outlined" color="inherit">
|
|
287
|
-
Remind Me Later
|
|
288
|
-
</Button>
|
|
289
|
-
</Box>
|
|
290
|
-
</Alert>
|
|
291
|
-
<Alert
|
|
292
|
-
variant="warning"
|
|
293
|
-
icon={<Security />}
|
|
294
|
-
title="Security Alert"
|
|
295
|
-
description="Unusual activity detected on your account"
|
|
296
|
-
closable
|
|
297
|
-
>
|
|
298
|
-
<Box sx={{ mt: 2, display: 'flex', gap: 1 }}>
|
|
299
|
-
<Button size="small" variant="contained" color="warning">
|
|
300
|
-
Review Activity
|
|
301
|
-
</Button>
|
|
302
|
-
<Button size="small" variant="text" color="inherit">
|
|
303
|
-
Dismiss
|
|
304
|
-
</Button>
|
|
305
|
-
</Box>
|
|
306
|
-
</Alert>
|
|
307
|
-
</Stack>
|
|
308
|
-
),
|
|
309
|
-
};
|
|
310
|
-
|
|
311
|
-
// Long content handling
|
|
312
|
-
export const LongContent: Story = {
|
|
313
|
-
args: {
|
|
314
|
-
variant: 'info',
|
|
315
|
-
title: 'Terms of Service Update',
|
|
316
|
-
description:
|
|
317
|
-
'We have updated our terms of service to better protect your privacy and improve our services. These changes include enhanced data protection measures, clearer explanations of how we use your information, and new rights regarding your personal data. Please review the updated terms carefully as they affect your use of our services.',
|
|
318
|
-
closable: true,
|
|
319
|
-
},
|
|
320
|
-
};
|
|
321
|
-
|
|
322
|
-
// Multiple alerts with different priorities
|
|
323
|
-
export const PriorityLevels: Story = {
|
|
324
|
-
render: () => (
|
|
325
|
-
<Stack spacing={2}>
|
|
326
|
-
<Alert
|
|
327
|
-
variant="danger"
|
|
328
|
-
title="Critical Error"
|
|
329
|
-
description="System failure detected. Immediate action required."
|
|
330
|
-
pulse
|
|
331
|
-
glow
|
|
332
|
-
icon={<Notifications />}
|
|
333
|
-
/>
|
|
334
|
-
<Alert
|
|
335
|
-
variant="warning"
|
|
336
|
-
title="Warning"
|
|
337
|
-
description="Your session will expire in 5 minutes"
|
|
338
|
-
pulse
|
|
339
|
-
/>
|
|
340
|
-
<Alert
|
|
341
|
-
variant="info"
|
|
342
|
-
title="Information"
|
|
343
|
-
description="New features have been added to your dashboard"
|
|
344
|
-
/>
|
|
345
|
-
<Alert
|
|
346
|
-
variant="success"
|
|
347
|
-
title="Task Complete"
|
|
348
|
-
description="All files have been successfully uploaded"
|
|
349
|
-
icon={<CheckCircle />}
|
|
350
|
-
/>
|
|
351
|
-
</Stack>
|
|
352
|
-
),
|
|
353
|
-
};
|
|
354
|
-
|
|
355
|
-
// Accessibility showcase
|
|
356
|
-
export const AccessibilityFocus: Story = {
|
|
357
|
-
render: () => (
|
|
358
|
-
<Stack spacing={2}>
|
|
359
|
-
<Typography variant="body2" gutterBottom>
|
|
360
|
-
These alerts are fully accessible with proper ARIA attributes
|
|
361
|
-
</Typography>
|
|
362
|
-
<Alert
|
|
363
|
-
variant="info"
|
|
364
|
-
title="Accessible Alert"
|
|
365
|
-
description="This alert uses aria-live='polite' for screen readers"
|
|
366
|
-
showIcon
|
|
367
|
-
closable
|
|
368
|
-
/>
|
|
369
|
-
<Alert
|
|
370
|
-
variant="danger"
|
|
371
|
-
title="Urgent Alert"
|
|
372
|
-
description="This critical alert uses aria-live='assertive' for immediate announcement"
|
|
373
|
-
showIcon
|
|
374
|
-
closable
|
|
375
|
-
/>
|
|
376
|
-
</Stack>
|
|
377
|
-
),
|
|
378
|
-
};
|
|
379
|
-
|
|
380
|
-
// Real-world use cases
|
|
381
|
-
const RealWorldExamplesComponent = () => {
|
|
382
|
-
const [showWelcome, setShowWelcome] = React.useState(true);
|
|
383
|
-
const [showNotification, setShowNotification] = React.useState(true);
|
|
384
|
-
|
|
385
|
-
return (
|
|
386
|
-
<Stack spacing={2}>
|
|
387
|
-
{showWelcome && (
|
|
388
|
-
<Alert
|
|
389
|
-
variant="gradient"
|
|
390
|
-
color="primary"
|
|
391
|
-
title="Welcome Back!"
|
|
392
|
-
description="You have 3 new messages and 5 pending tasks"
|
|
393
|
-
icon={<Star />}
|
|
394
|
-
closable
|
|
395
|
-
onClose={() => setShowWelcome(false)}
|
|
396
|
-
/>
|
|
397
|
-
)}
|
|
398
|
-
|
|
399
|
-
{showNotification && (
|
|
400
|
-
<Alert
|
|
401
|
-
variant="glass"
|
|
402
|
-
title="Cookie Notice"
|
|
403
|
-
description="We use cookies to enhance your experience"
|
|
404
|
-
closable
|
|
405
|
-
onClose={() => setShowNotification(false)}
|
|
406
|
-
>
|
|
407
|
-
<Box sx={{ mt: 2, display: 'flex', gap: 1 }}>
|
|
408
|
-
<Button size="small" variant="contained">
|
|
409
|
-
Accept All
|
|
410
|
-
</Button>
|
|
411
|
-
<Button size="small" variant="outlined">
|
|
412
|
-
Manage Preferences
|
|
413
|
-
</Button>
|
|
414
|
-
</Box>
|
|
415
|
-
</Alert>
|
|
416
|
-
)}
|
|
417
|
-
|
|
418
|
-
<Alert
|
|
419
|
-
variant="success"
|
|
420
|
-
title="Payment Successful"
|
|
421
|
-
description="Transaction ID: #TXN-2024-001234"
|
|
422
|
-
icon={<CheckCircle />}
|
|
423
|
-
glow
|
|
424
|
-
>
|
|
425
|
-
<Typography variant="caption" sx={{ opacity: 0.8, display: 'block', mt: 1 }}>
|
|
426
|
-
You will receive a confirmation email shortly
|
|
427
|
-
</Typography>
|
|
428
|
-
</Alert>
|
|
429
|
-
|
|
430
|
-
<Alert
|
|
431
|
-
variant="warning"
|
|
432
|
-
title="Subscription Expiring Soon"
|
|
433
|
-
description="Your premium subscription expires in 7 days"
|
|
434
|
-
pulse
|
|
435
|
-
>
|
|
436
|
-
<Box sx={{ mt: 2 }}>
|
|
437
|
-
<Button size="small" variant="contained" color="warning" fullWidth>
|
|
438
|
-
Renew Subscription
|
|
439
|
-
</Button>
|
|
440
|
-
</Box>
|
|
441
|
-
</Alert>
|
|
442
|
-
</Stack>
|
|
443
|
-
);
|
|
444
|
-
};
|
|
445
|
-
|
|
446
|
-
export const RealWorldExamples: Story = {
|
|
447
|
-
render: RealWorldExamplesComponent,
|
|
448
|
-
};
|
|
449
|
-
|
|
450
|
-
// Performance: Multiple alerts
|
|
451
|
-
export const MultipleAlerts: Story = {
|
|
452
|
-
render: () => (
|
|
453
|
-
<Box sx={{ maxHeight: 400, overflow: 'auto' }}>
|
|
454
|
-
<Stack spacing={1}>
|
|
455
|
-
{Array.from({ length: 10 }, (_, i) => (
|
|
456
|
-
<Alert
|
|
457
|
-
key={i}
|
|
458
|
-
variant={
|
|
459
|
-
(['info', 'success', 'warning', 'danger', 'glass', 'gradient'] as const)[i % 6]
|
|
460
|
-
}
|
|
461
|
-
title={`Alert ${i + 1}`}
|
|
462
|
-
description={`This is alert number ${i + 1} in the list`}
|
|
463
|
-
closable={i % 2 === 0}
|
|
464
|
-
glow={i % 3 === 0}
|
|
465
|
-
pulse={i % 5 === 0}
|
|
466
|
-
/>
|
|
467
|
-
))}
|
|
468
|
-
</Stack>
|
|
469
|
-
</Box>
|
|
470
|
-
),
|
|
471
|
-
};
|
|
472
|
-
|
|
473
|
-
// Empty states
|
|
474
|
-
export const MinimalContent: Story = {
|
|
475
|
-
render: () => (
|
|
476
|
-
<Stack spacing={2}>
|
|
477
|
-
<Alert variant="info">Simple alert with just text content</Alert>
|
|
478
|
-
<Alert variant="success" showIcon={false}>
|
|
479
|
-
Alert without icon
|
|
480
|
-
</Alert>
|
|
481
|
-
<Alert variant="warning" title="Title Only" />
|
|
482
|
-
<Alert variant="danger" description="Description only, no title" />
|
|
483
|
-
</Stack>
|
|
484
|
-
),
|
|
485
|
-
};
|
|
486
|
-
|
|
487
|
-
// Required story exports for validation
|
|
488
|
-
export const AllSizes: Story = {
|
|
489
|
-
render: () => (
|
|
490
|
-
<Stack spacing={2}>
|
|
491
|
-
<Alert variant="info" title="Info Alert" description="Standard size alert message" />
|
|
492
|
-
<Alert variant="success" title="Success Alert" description="Standard size success message" />
|
|
493
|
-
<Alert variant="warning" title="Warning Alert" description="Standard size warning message" />
|
|
494
|
-
</Stack>
|
|
495
|
-
),
|
|
496
|
-
};
|
|
497
|
-
|
|
498
|
-
export const AllStates: Story = {
|
|
499
|
-
render: () => (
|
|
500
|
-
<Stack spacing={2}>
|
|
501
|
-
<Alert variant="info" title="Default State" description="Normal alert state" />
|
|
502
|
-
<Alert variant="success" title="Success State" description="Success alert state" />
|
|
503
|
-
<Alert variant="warning" title="Warning State" description="Warning alert state" />
|
|
504
|
-
<Alert variant="danger" title="Error State" description="Error alert state" />
|
|
505
|
-
<Alert variant="glass" title="Glass State" description="Glass morphism alert state" />
|
|
506
|
-
<Alert variant="gradient" title="Gradient State" description="Gradient alert state" />
|
|
507
|
-
</Stack>
|
|
508
|
-
),
|
|
509
|
-
};
|
|
510
|
-
|
|
511
|
-
export const InteractiveStates: Story = {
|
|
512
|
-
render: () => (
|
|
513
|
-
<Stack spacing={2}>
|
|
514
|
-
<Alert variant="info" title="Standard Alert" description="Non-interactive alert" />
|
|
515
|
-
<Alert variant="success" title="Closable Alert" description="Click the X to close" closable />
|
|
516
|
-
<Alert variant="warning" title="Glow Effect" description="Alert with glow effect" glow />
|
|
517
|
-
<Alert variant="danger" title="Pulse Effect" description="Alert with pulse animation" pulse />
|
|
518
|
-
<Alert
|
|
519
|
-
variant="glass"
|
|
520
|
-
title="Combined Effects"
|
|
521
|
-
description="Closable with glow and pulse"
|
|
522
|
-
closable
|
|
523
|
-
glow
|
|
524
|
-
pulse
|
|
525
|
-
/>
|
|
526
|
-
</Stack>
|
|
527
|
-
),
|
|
528
|
-
};
|
|
529
|
-
|
|
530
|
-
export const Responsive: Story = {
|
|
531
|
-
render: () => (
|
|
532
|
-
<Box sx={{ width: '100%' }}>
|
|
533
|
-
<Stack spacing={2}>
|
|
534
|
-
<Alert
|
|
535
|
-
variant="info"
|
|
536
|
-
title="Responsive Alert"
|
|
537
|
-
description="This alert adapts to different screen sizes and container widths"
|
|
538
|
-
closable
|
|
539
|
-
/>
|
|
540
|
-
<Box sx={{ maxWidth: 400 }}>
|
|
541
|
-
<Alert
|
|
542
|
-
variant="success"
|
|
543
|
-
title="Narrow Container"
|
|
544
|
-
description="Alert in a constrained width container"
|
|
545
|
-
closable
|
|
546
|
-
/>
|
|
547
|
-
</Box>
|
|
548
|
-
<Box sx={{ maxWidth: 200 }}>
|
|
549
|
-
<Alert
|
|
550
|
-
variant="warning"
|
|
551
|
-
title="Very Narrow"
|
|
552
|
-
description="Alert in very narrow space"
|
|
553
|
-
showIcon={false}
|
|
554
|
-
/>
|
|
555
|
-
</Box>
|
|
556
|
-
</Stack>
|
|
557
|
-
</Box>
|
|
558
|
-
),
|
|
559
|
-
};
|