@12-apps/ui 1.5.0 → 1.5.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/package.json +16 -8
- 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,481 +0,0 @@
|
|
|
1
|
-
import { Box, Button,Stack, Typography } from '@mui/material';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
|
|
5
|
-
import { Progress } from './Progress';
|
|
6
|
-
|
|
7
|
-
const meta: Meta<typeof Progress> = {
|
|
8
|
-
title: 'DataDisplay/Progress',
|
|
9
|
-
component: Progress,
|
|
10
|
-
parameters: {
|
|
11
|
-
layout: 'padded',
|
|
12
|
-
},
|
|
13
|
-
tags: ['autodocs', 'component:Progress', 'checked'],
|
|
14
|
-
argTypes: {
|
|
15
|
-
variant: {
|
|
16
|
-
control: { type: 'select' },
|
|
17
|
-
options: ['linear', 'circular', 'segmented', 'gradient'],
|
|
18
|
-
},
|
|
19
|
-
size: {
|
|
20
|
-
control: { type: 'select' },
|
|
21
|
-
options: ['sm', 'md', 'lg'],
|
|
22
|
-
},
|
|
23
|
-
color: {
|
|
24
|
-
control: { type: 'select' },
|
|
25
|
-
options: ['primary', 'secondary', 'success', 'warning', 'error', 'neutral'],
|
|
26
|
-
},
|
|
27
|
-
value: {
|
|
28
|
-
control: { type: 'range', min: 0, max: 100, step: 1 },
|
|
29
|
-
},
|
|
30
|
-
glow: {
|
|
31
|
-
control: { type: 'boolean' },
|
|
32
|
-
},
|
|
33
|
-
pulse: {
|
|
34
|
-
control: { type: 'boolean' },
|
|
35
|
-
},
|
|
36
|
-
showLabel: {
|
|
37
|
-
control: { type: 'boolean' },
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export default meta;
|
|
43
|
-
type Story = StoryObj<typeof meta>;
|
|
44
|
-
|
|
45
|
-
// Basic examples
|
|
46
|
-
export const Default: Story = {
|
|
47
|
-
args: {
|
|
48
|
-
value: 65,
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export const WithLabel: Story = {
|
|
53
|
-
args: {
|
|
54
|
-
value: 75,
|
|
55
|
-
showLabel: true,
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export const Indeterminate: Story = {
|
|
60
|
-
args: {
|
|
61
|
-
// No value = indeterminate
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
// Variants
|
|
66
|
-
export const Variants: Story = {
|
|
67
|
-
render: () => (
|
|
68
|
-
<Stack spacing={4}>
|
|
69
|
-
<Box>
|
|
70
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
71
|
-
Linear
|
|
72
|
-
</Typography>
|
|
73
|
-
<Progress variant="linear" value={60} showLabel />
|
|
74
|
-
</Box>
|
|
75
|
-
<Box>
|
|
76
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
77
|
-
Circular
|
|
78
|
-
</Typography>
|
|
79
|
-
<Progress variant="circular" value={75} showLabel />
|
|
80
|
-
</Box>
|
|
81
|
-
<Box>
|
|
82
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
83
|
-
Segmented
|
|
84
|
-
</Typography>
|
|
85
|
-
<Progress variant="segmented" value={45} segments={8} showLabel />
|
|
86
|
-
</Box>
|
|
87
|
-
<Box>
|
|
88
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
89
|
-
Gradient
|
|
90
|
-
</Typography>
|
|
91
|
-
<Progress variant="gradient" value={80} showLabel />
|
|
92
|
-
</Box>
|
|
93
|
-
</Stack>
|
|
94
|
-
),
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
// Sizes
|
|
98
|
-
export const Sizes: Story = {
|
|
99
|
-
render: () => (
|
|
100
|
-
<Stack spacing={3}>
|
|
101
|
-
<Box>
|
|
102
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
103
|
-
Small
|
|
104
|
-
</Typography>
|
|
105
|
-
<Progress size="sm" value={40} showLabel />
|
|
106
|
-
</Box>
|
|
107
|
-
<Box>
|
|
108
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
109
|
-
Medium
|
|
110
|
-
</Typography>
|
|
111
|
-
<Progress size="md" value={60} showLabel />
|
|
112
|
-
</Box>
|
|
113
|
-
<Box>
|
|
114
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
115
|
-
Large
|
|
116
|
-
</Typography>
|
|
117
|
-
<Progress size="lg" value={80} showLabel />
|
|
118
|
-
</Box>
|
|
119
|
-
</Stack>
|
|
120
|
-
),
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
// Colors
|
|
124
|
-
export const Colors: Story = {
|
|
125
|
-
render: () => (
|
|
126
|
-
<Stack spacing={2}>
|
|
127
|
-
<Progress color="primary" value={70} showLabel />
|
|
128
|
-
<Progress color="secondary" value={70} showLabel />
|
|
129
|
-
<Progress color="success" value={70} showLabel />
|
|
130
|
-
<Progress color="warning" value={70} showLabel />
|
|
131
|
-
<Progress color="error" value={70} showLabel />
|
|
132
|
-
<Progress color="neutral" value={70} showLabel />
|
|
133
|
-
</Stack>
|
|
134
|
-
),
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
// Circular variations
|
|
138
|
-
export const CircularSizes: Story = {
|
|
139
|
-
render: () => (
|
|
140
|
-
<Stack direction="row" spacing={3} alignItems="center">
|
|
141
|
-
<Box textAlign="center">
|
|
142
|
-
<Progress variant="circular" size="sm" value={45} showLabel />
|
|
143
|
-
<Typography variant="caption" display="block" sx={{ mt: 1 }}>
|
|
144
|
-
Small
|
|
145
|
-
</Typography>
|
|
146
|
-
</Box>
|
|
147
|
-
<Box textAlign="center">
|
|
148
|
-
<Progress variant="circular" size="md" value={65} showLabel />
|
|
149
|
-
<Typography variant="caption" display="block" sx={{ mt: 1 }}>
|
|
150
|
-
Medium
|
|
151
|
-
</Typography>
|
|
152
|
-
</Box>
|
|
153
|
-
<Box textAlign="center">
|
|
154
|
-
<Progress variant="circular" size="lg" value={85} showLabel />
|
|
155
|
-
<Typography variant="caption" display="block" sx={{ mt: 1 }}>
|
|
156
|
-
Large
|
|
157
|
-
</Typography>
|
|
158
|
-
</Box>
|
|
159
|
-
<Box textAlign="center">
|
|
160
|
-
<Progress variant="circular" circularSize={64} thickness={6} value={95} showLabel />
|
|
161
|
-
<Typography variant="caption" display="block" sx={{ mt: 1 }}>
|
|
162
|
-
Custom
|
|
163
|
-
</Typography>
|
|
164
|
-
</Box>
|
|
165
|
-
</Stack>
|
|
166
|
-
),
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
// Segmented variations
|
|
170
|
-
export const SegmentedVariations: Story = {
|
|
171
|
-
render: () => (
|
|
172
|
-
<Stack spacing={3}>
|
|
173
|
-
<Box>
|
|
174
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
175
|
-
5 Segments
|
|
176
|
-
</Typography>
|
|
177
|
-
<Progress variant="segmented" segments={5} value={60} showLabel />
|
|
178
|
-
</Box>
|
|
179
|
-
<Box>
|
|
180
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
181
|
-
10 Segments
|
|
182
|
-
</Typography>
|
|
183
|
-
<Progress variant="segmented" segments={10} value={70} showLabel />
|
|
184
|
-
</Box>
|
|
185
|
-
<Box>
|
|
186
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
187
|
-
20 Segments
|
|
188
|
-
</Typography>
|
|
189
|
-
<Progress variant="segmented" segments={20} value={85} showLabel />
|
|
190
|
-
</Box>
|
|
191
|
-
</Stack>
|
|
192
|
-
),
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
// With effects
|
|
196
|
-
export const WithGlow: Story = {
|
|
197
|
-
args: {
|
|
198
|
-
variant: 'gradient',
|
|
199
|
-
value: 75,
|
|
200
|
-
glow: true,
|
|
201
|
-
showLabel: true,
|
|
202
|
-
color: 'primary',
|
|
203
|
-
},
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
export const WithPulse: Story = {
|
|
207
|
-
args: {
|
|
208
|
-
variant: 'linear',
|
|
209
|
-
value: 60,
|
|
210
|
-
pulse: true,
|
|
211
|
-
showLabel: true,
|
|
212
|
-
color: 'success',
|
|
213
|
-
},
|
|
214
|
-
};
|
|
215
|
-
|
|
216
|
-
export const WithGlowAndPulse: Story = {
|
|
217
|
-
args: {
|
|
218
|
-
variant: 'circular',
|
|
219
|
-
value: 90,
|
|
220
|
-
glow: true,
|
|
221
|
-
pulse: true,
|
|
222
|
-
showLabel: true,
|
|
223
|
-
color: 'warning',
|
|
224
|
-
size: 'lg',
|
|
225
|
-
},
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
// Real-world examples
|
|
229
|
-
const FileUploadComponent = () => {
|
|
230
|
-
const [progress, setProgress] = React.useState(0);
|
|
231
|
-
const [isUploading, setIsUploading] = React.useState(false);
|
|
232
|
-
|
|
233
|
-
const startUpload = () => {
|
|
234
|
-
setIsUploading(true);
|
|
235
|
-
setProgress(0);
|
|
236
|
-
|
|
237
|
-
const interval = window.setInterval(() => {
|
|
238
|
-
setProgress((prev) => {
|
|
239
|
-
if (prev >= 100) {
|
|
240
|
-
window.clearInterval(interval);
|
|
241
|
-
window.setTimeout(() => setIsUploading(false), 500);
|
|
242
|
-
return 100;
|
|
243
|
-
}
|
|
244
|
-
return prev + Math.random() * 15;
|
|
245
|
-
});
|
|
246
|
-
}, 200);
|
|
247
|
-
};
|
|
248
|
-
|
|
249
|
-
return (
|
|
250
|
-
<Box sx={{ width: 400 }}>
|
|
251
|
-
<Typography variant="h6" sx={{ mb: 2 }}>
|
|
252
|
-
File Upload Progress
|
|
253
|
-
</Typography>
|
|
254
|
-
<Progress variant="gradient" value={progress} showLabel color="success" glow={isUploading} />
|
|
255
|
-
<Box sx={{ mt: 2, display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
|
|
256
|
-
<Typography variant="body2" color="text.secondary">
|
|
257
|
-
{isUploading
|
|
258
|
-
? 'Uploading document.pdf...'
|
|
259
|
-
: progress === 100
|
|
260
|
-
? 'Upload complete!'
|
|
261
|
-
: 'Ready to upload'}
|
|
262
|
-
</Typography>
|
|
263
|
-
<Button variant="contained" size="small" onClick={startUpload} disabled={isUploading}>
|
|
264
|
-
{isUploading ? 'Uploading...' : 'Start Upload'}
|
|
265
|
-
</Button>
|
|
266
|
-
</Box>
|
|
267
|
-
</Box>
|
|
268
|
-
);
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
export const FileUpload: Story = {
|
|
272
|
-
render: () => <FileUploadComponent />,
|
|
273
|
-
};
|
|
274
|
-
|
|
275
|
-
export const SkillLevels: Story = {
|
|
276
|
-
render: () => (
|
|
277
|
-
<Stack spacing={3} sx={{ width: 400 }}>
|
|
278
|
-
<Typography variant="h6">Skill Levels</Typography>
|
|
279
|
-
<Box>
|
|
280
|
-
<Box sx={{ display: 'flex', justifyContent: 'space-between', mb: 1 }}>
|
|
281
|
-
<Typography variant="body2">React</Typography>
|
|
282
|
-
<Typography variant="body2" color="text.secondary">
|
|
283
|
-
Expert
|
|
284
|
-
</Typography>
|
|
285
|
-
</Box>
|
|
286
|
-
<Progress variant="segmented" segments={5} value={100} color="success" />
|
|
287
|
-
</Box>
|
|
288
|
-
<Box>
|
|
289
|
-
<Box sx={{ display: 'flex', justifyContent: 'space-between', mb: 1 }}>
|
|
290
|
-
<Typography variant="body2">TypeScript</Typography>
|
|
291
|
-
<Typography variant="body2" color="text.secondary">
|
|
292
|
-
Advanced
|
|
293
|
-
</Typography>
|
|
294
|
-
</Box>
|
|
295
|
-
<Progress variant="segmented" segments={5} value={80} color="primary" />
|
|
296
|
-
</Box>
|
|
297
|
-
<Box>
|
|
298
|
-
<Box sx={{ display: 'flex', justifyContent: 'space-between', mb: 1 }}>
|
|
299
|
-
<Typography variant="body2">Node.js</Typography>
|
|
300
|
-
<Typography variant="body2" color="text.secondary">
|
|
301
|
-
Intermediate
|
|
302
|
-
</Typography>
|
|
303
|
-
</Box>
|
|
304
|
-
<Progress variant="segmented" segments={5} value={60} color="warning" />
|
|
305
|
-
</Box>
|
|
306
|
-
<Box>
|
|
307
|
-
<Box sx={{ display: 'flex', justifyContent: 'space-between', mb: 1 }}>
|
|
308
|
-
<Typography variant="body2">Docker</Typography>
|
|
309
|
-
<Typography variant="body2" color="text.secondary">
|
|
310
|
-
Beginner
|
|
311
|
-
</Typography>
|
|
312
|
-
</Box>
|
|
313
|
-
<Progress variant="segmented" segments={5} value={20} color="error" />
|
|
314
|
-
</Box>
|
|
315
|
-
</Stack>
|
|
316
|
-
),
|
|
317
|
-
};
|
|
318
|
-
|
|
319
|
-
export const Dashboard: Story = {
|
|
320
|
-
render: () => (
|
|
321
|
-
<Stack direction="row" spacing={4}>
|
|
322
|
-
<Box textAlign="center">
|
|
323
|
-
<Typography variant="h6" sx={{ mb: 2 }}>
|
|
324
|
-
CPU Usage
|
|
325
|
-
</Typography>
|
|
326
|
-
<Progress variant="circular" value={72} showLabel color="warning" size="lg" glow />
|
|
327
|
-
</Box>
|
|
328
|
-
<Box textAlign="center">
|
|
329
|
-
<Typography variant="h6" sx={{ mb: 2 }}>
|
|
330
|
-
Memory
|
|
331
|
-
</Typography>
|
|
332
|
-
<Progress variant="circular" value={45} showLabel color="success" size="lg" />
|
|
333
|
-
</Box>
|
|
334
|
-
<Box textAlign="center">
|
|
335
|
-
<Typography variant="h6" sx={{ mb: 2 }}>
|
|
336
|
-
Storage
|
|
337
|
-
</Typography>
|
|
338
|
-
<Progress variant="circular" value={89} showLabel color="error" size="lg" pulse />
|
|
339
|
-
</Box>
|
|
340
|
-
</Stack>
|
|
341
|
-
),
|
|
342
|
-
};
|
|
343
|
-
|
|
344
|
-
// Loading states
|
|
345
|
-
export const LoadingStates: Story = {
|
|
346
|
-
render: () => (
|
|
347
|
-
<Stack spacing={4}>
|
|
348
|
-
<Box>
|
|
349
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
350
|
-
Linear Indeterminate
|
|
351
|
-
</Typography>
|
|
352
|
-
<Progress variant="linear" />
|
|
353
|
-
</Box>
|
|
354
|
-
<Box>
|
|
355
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
356
|
-
Circular Indeterminate
|
|
357
|
-
</Typography>
|
|
358
|
-
<Progress variant="circular" />
|
|
359
|
-
</Box>
|
|
360
|
-
<Box>
|
|
361
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
362
|
-
With Effects
|
|
363
|
-
</Typography>
|
|
364
|
-
<Progress variant="gradient" glow pulse />
|
|
365
|
-
</Box>
|
|
366
|
-
</Stack>
|
|
367
|
-
),
|
|
368
|
-
};
|
|
369
|
-
|
|
370
|
-
// Required exports for validation
|
|
371
|
-
export const AllVariants = Variants;
|
|
372
|
-
export const AllSizes = Sizes;
|
|
373
|
-
export const AllStates: Story = {
|
|
374
|
-
render: () => (
|
|
375
|
-
<Stack spacing={4}>
|
|
376
|
-
<Box>
|
|
377
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
378
|
-
Default State
|
|
379
|
-
</Typography>
|
|
380
|
-
<Progress variant="linear" value={60} showLabel />
|
|
381
|
-
</Box>
|
|
382
|
-
<Box>
|
|
383
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
384
|
-
Loading State
|
|
385
|
-
</Typography>
|
|
386
|
-
<Progress variant="linear" />
|
|
387
|
-
</Box>
|
|
388
|
-
<Box>
|
|
389
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
390
|
-
Complete State
|
|
391
|
-
</Typography>
|
|
392
|
-
<Progress variant="linear" value={100} showLabel />
|
|
393
|
-
</Box>
|
|
394
|
-
<Box>
|
|
395
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
396
|
-
With Glow Effect
|
|
397
|
-
</Typography>
|
|
398
|
-
<Progress variant="gradient" value={75} glow showLabel />
|
|
399
|
-
</Box>
|
|
400
|
-
<Box>
|
|
401
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
402
|
-
With Pulse Effect
|
|
403
|
-
</Typography>
|
|
404
|
-
<Progress variant="linear" value={45} pulse showLabel />
|
|
405
|
-
</Box>
|
|
406
|
-
</Stack>
|
|
407
|
-
),
|
|
408
|
-
};
|
|
409
|
-
|
|
410
|
-
export const InteractiveStates: Story = {
|
|
411
|
-
render: () => {
|
|
412
|
-
const [progress, setProgress] = React.useState(25);
|
|
413
|
-
|
|
414
|
-
return (
|
|
415
|
-
<Stack spacing={3} sx={{ width: 400 }}>
|
|
416
|
-
<Typography variant="h6">Interactive Progress Control</Typography>
|
|
417
|
-
<Progress variant="gradient" value={progress} showLabel glow />
|
|
418
|
-
<Stack direction="row" spacing={2}>
|
|
419
|
-
<Button
|
|
420
|
-
variant="outlined"
|
|
421
|
-
size="small"
|
|
422
|
-
onClick={() => setProgress(Math.max(0, progress - 10))}
|
|
423
|
-
>
|
|
424
|
-
-10%
|
|
425
|
-
</Button>
|
|
426
|
-
<Button
|
|
427
|
-
variant="outlined"
|
|
428
|
-
size="small"
|
|
429
|
-
onClick={() => setProgress(Math.min(100, progress + 10))}
|
|
430
|
-
>
|
|
431
|
-
+10%
|
|
432
|
-
</Button>
|
|
433
|
-
<Button variant="contained" size="small" onClick={() => setProgress(0)}>
|
|
434
|
-
Reset
|
|
435
|
-
</Button>
|
|
436
|
-
</Stack>
|
|
437
|
-
</Stack>
|
|
438
|
-
);
|
|
439
|
-
},
|
|
440
|
-
};
|
|
441
|
-
|
|
442
|
-
export const Responsive: Story = {
|
|
443
|
-
render: () => (
|
|
444
|
-
<Stack spacing={4}>
|
|
445
|
-
<Box>
|
|
446
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
447
|
-
Mobile View (Small)
|
|
448
|
-
</Typography>
|
|
449
|
-
<Box sx={{ width: 300 }}>
|
|
450
|
-
<Progress variant="linear" value={65} showLabel />
|
|
451
|
-
</Box>
|
|
452
|
-
</Box>
|
|
453
|
-
<Box>
|
|
454
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
455
|
-
Tablet View (Medium)
|
|
456
|
-
</Typography>
|
|
457
|
-
<Box sx={{ width: 500 }}>
|
|
458
|
-
<Progress variant="segmented" segments={10} value={70} showLabel />
|
|
459
|
-
</Box>
|
|
460
|
-
</Box>
|
|
461
|
-
<Box>
|
|
462
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
463
|
-
Desktop View (Large)
|
|
464
|
-
</Typography>
|
|
465
|
-
<Box sx={{ width: 800 }}>
|
|
466
|
-
<Progress variant="gradient" value={80} showLabel glow />
|
|
467
|
-
</Box>
|
|
468
|
-
</Box>
|
|
469
|
-
<Box>
|
|
470
|
-
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
471
|
-
Circular Responsive
|
|
472
|
-
</Typography>
|
|
473
|
-
<Stack direction="row" spacing={3}>
|
|
474
|
-
<Progress variant="circular" size="sm" value={40} showLabel />
|
|
475
|
-
<Progress variant="circular" size="md" value={60} showLabel />
|
|
476
|
-
<Progress variant="circular" size="lg" value={80} showLabel />
|
|
477
|
-
</Stack>
|
|
478
|
-
</Box>
|
|
479
|
-
</Stack>
|
|
480
|
-
),
|
|
481
|
-
};
|