norma-library 0.6.64 → 0.6.66
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/.babelrc.json +18 -18
- package/.prettierignore +10 -10
- package/.prettierrc.json +20 -20
- package/.storybook/main.ts +20 -20
- package/.storybook/preview.ts +15 -15
- package/README.md +43 -43
- package/commitlint.config.js +1 -1
- package/dist/esm/components/Card.js +3 -3
- package/dist/esm/components/Card.js.map +1 -1
- package/dist/esm/helpers/colors.js +6 -0
- package/dist/esm/helpers/colors.js.map +1 -1
- package/docs/index.md +118 -118
- package/package.json +136 -136
- package/src/components/Accordion.tsx +39 -39
- package/src/components/Avatar.tsx +17 -17
- package/src/components/Badge.tsx +14 -14
- package/src/components/Box/index.tsx +12 -12
- package/src/components/Box/interfaces.ts +3 -3
- package/src/components/Box/styles.tsx +22 -22
- package/src/components/Breadcrumb/index.tsx +27 -27
- package/src/components/Breadcrumb/interface.ts +8 -8
- package/src/components/Breadcrumb/styles.tsx +32 -32
- package/src/components/Button.tsx +26 -26
- package/src/components/Card.tsx +38 -38
- package/src/components/ChatMessage.tsx +87 -87
- package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
- package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
- package/src/components/CheckBox.tsx +21 -21
- package/src/components/DateInput/index.tsx +34 -34
- package/src/components/DateInput/interface.ts +13 -13
- package/src/components/DateInput/styles.tsx +27 -27
- package/src/components/DatePicker.tsx +67 -67
- package/src/components/DropDown.tsx +24 -24
- package/src/components/IconButton.tsx +37 -37
- package/src/components/Icons.tsx +82 -82
- package/src/components/Modal.tsx +103 -103
- package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
- package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
- package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
- package/src/components/MultiSelectInput/index.tsx +60 -60
- package/src/components/MultiSelectInput/interfaces.ts +15 -15
- package/src/components/MultiSelectInput/styles.tsx +43 -43
- package/src/components/Paper.tsx +12 -12
- package/src/components/ProgressBar.tsx +71 -71
- package/src/components/RadioGroup.tsx +43 -43
- package/src/components/RangerSlider.tsx +65 -65
- package/src/components/Select.tsx +74 -74
- package/src/components/SelectInput/components/Option/index.tsx +61 -61
- package/src/components/SelectInput/components/Option/styles.tsx +8 -8
- package/src/components/SelectInput/index.tsx +45 -45
- package/src/components/SelectInput/interfaces.ts +15 -15
- package/src/components/SelectInput/styles.tsx +31 -31
- package/src/components/StatusModal/StatusModal.style.tsx +75 -75
- package/src/components/StatusModal/StatusModal.tsx +58 -58
- package/src/components/Svgs.tsx +506 -506
- package/src/components/Table/components/header/index.tsx +86 -86
- package/src/components/Table/components/header/styles.tsx +59 -59
- package/src/components/Table/components/index.tsx +8 -8
- package/src/components/Table/components/pagination/index.tsx +39 -39
- package/src/components/Table/components/pagination/styles.tsx +28 -28
- package/src/components/Table/components/tbody/index.tsx +30 -30
- package/src/components/Table/components/tbody/styles.tsx +4 -4
- package/src/components/Table/index.tsx +317 -317
- package/src/components/Table/interface.ts +23 -23
- package/src/components/Table/styles.tsx +117 -117
- package/src/components/Tabs.tsx +105 -105
- package/src/components/Tag.tsx +33 -33
- package/src/components/TextField.tsx +19 -19
- package/src/components/TextInput/index.tsx +37 -37
- package/src/components/TextInput/interface.ts +9 -9
- package/src/components/TextInput/styles.tsx +23 -23
- package/src/components/TimeLine.tsx +89 -89
- package/src/components/TimePicker.tsx +78 -78
- package/src/components/Typography/Text/index.tsx +20 -20
- package/src/components/Typography/Text/interfaces.ts +5 -5
- package/src/components/Typography/Text/styles.tsx +40 -40
- package/src/components/Typography/Title/index.tsx +22 -22
- package/src/components/Typography/Title/interfaces.ts +6 -6
- package/src/components/Typography/Title/styles.tsx +40 -40
- package/src/components/Typography/index.tsx +6 -6
- package/src/components/UncontrolledTable/components/header/index.tsx +72 -72
- package/src/components/UncontrolledTable/components/header/styles.tsx +66 -66
- package/src/components/UncontrolledTable/components/index.tsx +8 -8
- package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
- package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
- package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
- package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
- package/src/components/UncontrolledTable/index.tsx +223 -223
- package/src/components/UncontrolledTable/interface.ts +46 -46
- package/src/components/UncontrolledTable/styles.tsx +123 -123
- package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +58 -58
- package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +71 -71
- package/src/components/UncontrolledTabs/UncontrolledTabsInfo.style.ts +8 -8
- package/src/components/index.ts +24 -24
- package/src/helpers/alignments.ts +14 -14
- package/src/helpers/borders.ts +18 -18
- package/src/helpers/colors.ts +264 -258
- package/src/helpers/index.ts +5 -5
- package/src/helpers/radios.ts +24 -24
- package/src/helpers/sizes.ts +72 -72
- package/src/hooks/useClickOutside.tsx +18 -18
- package/src/index.ts +70 -70
- package/src/interfaces/Accordion.ts +12 -12
- package/src/interfaces/Avatar.tsx +15 -15
- package/src/interfaces/Badge.ts +19 -19
- package/src/interfaces/Button.ts +19 -19
- package/src/interfaces/Card.ts +11 -11
- package/src/interfaces/ChatMessage.ts +12 -12
- package/src/interfaces/ChatMessageBalloon.ts +17 -17
- package/src/interfaces/CheckBox.ts +27 -27
- package/src/interfaces/DatePicker.ts +13 -13
- package/src/interfaces/DropDown.ts +14 -14
- package/src/interfaces/IconButton.ts +22 -22
- package/src/interfaces/Icons.ts +17 -17
- package/src/interfaces/Modal.ts +18 -18
- package/src/interfaces/Paper.ts +12 -12
- package/src/interfaces/ProgressBar.ts +29 -29
- package/src/interfaces/RadioGroup.ts +23 -23
- package/src/interfaces/RangerSlider.ts +21 -21
- package/src/interfaces/Select.ts +17 -17
- package/src/interfaces/Tabs.ts +19 -19
- package/src/interfaces/Tag.ts +17 -17
- package/src/interfaces/TextField.ts +44 -44
- package/src/interfaces/TimeLine.ts +11 -11
- package/src/interfaces/TimePicker.ts +13 -13
- package/src/interfaces/index.ts +23 -23
- package/src/providers/NormaProvider.tsx +13 -13
- package/src/sample-data-2.json +178 -178
- package/src/sample-data.json +177 -177
- package/src/stories/Accordion.stories.tsx +65 -65
- package/src/stories/Avatar.stories.tsx +123 -123
- package/src/stories/Badge.stories.tsx +39 -39
- package/src/stories/Box.stories.tsx +35 -35
- package/src/stories/Breadcrumb.stories.tsx +44 -44
- package/src/stories/Button.stories.tsx +93 -93
- package/src/stories/Card.stories.tsx +39 -39
- package/src/stories/ChatMessage.stories.tsx +84 -84
- package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
- package/src/stories/CheckBox.stories.tsx +88 -88
- package/src/stories/DateInput.stories.tsx +51 -51
- package/src/stories/DatePicker.stories.tsx +50 -50
- package/src/stories/DropDown.stories.tsx +57 -57
- package/src/stories/IconButton.stories.tsx +78 -78
- package/src/stories/Modal.stories.tsx +246 -246
- package/src/stories/ModalStatus.stories.tsx +46 -46
- package/src/stories/MultiSelectInput.stories.tsx +90 -90
- package/src/stories/Paper.stories.tsx +53 -53
- package/src/stories/ProgressBar.stories.tsx +116 -116
- package/src/stories/RadioGroup.stories.tsx +87 -87
- package/src/stories/RangerSlider.stories.tsx +149 -149
- package/src/stories/Select.stories.tsx +100 -100
- package/src/stories/SelectInput.stories.tsx +78 -78
- package/src/stories/Table.stories.tsx +372 -372
- package/src/stories/Tabs.stories.tsx +61 -61
- package/src/stories/Tag.stories.tsx +56 -56
- package/src/stories/Text.stories.tsx +37 -37
- package/src/stories/TextField.stories.tsx +310 -310
- package/src/stories/TextInput.stories.tsx +52 -52
- package/src/stories/TimeLine.stories.tsx +35 -35
- package/src/stories/TimePicker.stories.tsx +87 -87
- package/src/stories/Title.stories.tsx +43 -43
- package/src/stories/UncontrolledTable.stories.tsx +315 -315
- package/src/stories/UncontrolledTabs.stories.tsx +74 -74
- package/src/styles/globals.scss +17 -17
- package/src/types/index.ts +207 -207
- package/src/utils/styledBreakpoints.ts +25 -25
- package/vite.config.ts +15 -15
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import MultiSelectInput from '../components/MultiSelectInput';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Form/MultiSelectInput',
|
|
6
|
-
component: MultiSelectInput,
|
|
7
|
-
tags: ['autodocs'],
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: 'centered',
|
|
10
|
-
},
|
|
11
|
-
argTypes: {
|
|
12
|
-
className: {
|
|
13
|
-
description: 'Adicione uma classe.',
|
|
14
|
-
},
|
|
15
|
-
label: {
|
|
16
|
-
description: 'Adicione uma label.'
|
|
17
|
-
},
|
|
18
|
-
onChange: {
|
|
19
|
-
description: 'Função para capturar o valor quando alterado.'
|
|
20
|
-
},
|
|
21
|
-
placeholder: {
|
|
22
|
-
description: 'Adicione um placeholder.'
|
|
23
|
-
},
|
|
24
|
-
options: {
|
|
25
|
-
description: 'Lista de valores a ser exibido.'
|
|
26
|
-
},
|
|
27
|
-
value: {
|
|
28
|
-
description: 'Valor selecionado.'
|
|
29
|
-
},
|
|
30
|
-
isSearchable: {
|
|
31
|
-
description: 'Habilita a função de buscar um valor.'
|
|
32
|
-
},
|
|
33
|
-
isClearable: {
|
|
34
|
-
description: 'Habilita a função de limpar o item selecionado.'
|
|
35
|
-
},
|
|
36
|
-
disabled: {
|
|
37
|
-
description: 'Habilita ou desabilita.'
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export const Default = (args) => {
|
|
43
|
-
const options = [
|
|
44
|
-
{
|
|
45
|
-
label: 'options 1',
|
|
46
|
-
value: 'value 1'
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
label: 'options 2',
|
|
50
|
-
value: 'value 2'
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
label: 'options 3',
|
|
54
|
-
value: 'value 3'
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
label: 'options 4',
|
|
58
|
-
value: 'value 4'
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
label: 'options 5',
|
|
62
|
-
value: 'value 5'
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
label: 'options 6',
|
|
66
|
-
value: 'value 6'
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
const [selectedValue, setSelectedValue] = useState<any>(options[0])
|
|
70
|
-
return (
|
|
71
|
-
<div style={{
|
|
72
|
-
width: 300
|
|
73
|
-
}}>
|
|
74
|
-
<MultiSelectInput
|
|
75
|
-
options={options}
|
|
76
|
-
value={selectedValue}
|
|
77
|
-
onChange={(value) => setSelectedValue(value)}
|
|
78
|
-
{...args}
|
|
79
|
-
/>
|
|
80
|
-
</div>
|
|
81
|
-
)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
Default.args = {
|
|
85
|
-
className: '',
|
|
86
|
-
label: 'Selecione:',
|
|
87
|
-
placeholder: 'Selecione uma opção',
|
|
88
|
-
disabled: false,
|
|
89
|
-
isSearchable: false,
|
|
90
|
-
isClearable: false,
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import MultiSelectInput from '../components/MultiSelectInput';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Form/MultiSelectInput',
|
|
6
|
+
component: MultiSelectInput,
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
className: {
|
|
13
|
+
description: 'Adicione uma classe.',
|
|
14
|
+
},
|
|
15
|
+
label: {
|
|
16
|
+
description: 'Adicione uma label.'
|
|
17
|
+
},
|
|
18
|
+
onChange: {
|
|
19
|
+
description: 'Função para capturar o valor quando alterado.'
|
|
20
|
+
},
|
|
21
|
+
placeholder: {
|
|
22
|
+
description: 'Adicione um placeholder.'
|
|
23
|
+
},
|
|
24
|
+
options: {
|
|
25
|
+
description: 'Lista de valores a ser exibido.'
|
|
26
|
+
},
|
|
27
|
+
value: {
|
|
28
|
+
description: 'Valor selecionado.'
|
|
29
|
+
},
|
|
30
|
+
isSearchable: {
|
|
31
|
+
description: 'Habilita a função de buscar um valor.'
|
|
32
|
+
},
|
|
33
|
+
isClearable: {
|
|
34
|
+
description: 'Habilita a função de limpar o item selecionado.'
|
|
35
|
+
},
|
|
36
|
+
disabled: {
|
|
37
|
+
description: 'Habilita ou desabilita.'
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const Default = (args) => {
|
|
43
|
+
const options = [
|
|
44
|
+
{
|
|
45
|
+
label: 'options 1',
|
|
46
|
+
value: 'value 1'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
label: 'options 2',
|
|
50
|
+
value: 'value 2'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: 'options 3',
|
|
54
|
+
value: 'value 3'
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
label: 'options 4',
|
|
58
|
+
value: 'value 4'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
label: 'options 5',
|
|
62
|
+
value: 'value 5'
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
label: 'options 6',
|
|
66
|
+
value: 'value 6'
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
const [selectedValue, setSelectedValue] = useState<any>(options[0])
|
|
70
|
+
return (
|
|
71
|
+
<div style={{
|
|
72
|
+
width: 300
|
|
73
|
+
}}>
|
|
74
|
+
<MultiSelectInput
|
|
75
|
+
options={options}
|
|
76
|
+
value={selectedValue}
|
|
77
|
+
onChange={(value) => setSelectedValue(value)}
|
|
78
|
+
{...args}
|
|
79
|
+
/>
|
|
80
|
+
</div>
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
Default.args = {
|
|
85
|
+
className: '',
|
|
86
|
+
label: 'Selecione:',
|
|
87
|
+
placeholder: 'Selecione uma opção',
|
|
88
|
+
disabled: false,
|
|
89
|
+
isSearchable: false,
|
|
90
|
+
isClearable: false,
|
|
91
91
|
}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Paper } from '../components';
|
|
3
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
-
|
|
5
|
-
import Grid from '@mui/material/Grid';
|
|
6
|
-
import Box from '@mui/material/Box';
|
|
7
|
-
import { ThemeProvider, styled } from '@mui/material/styles';
|
|
8
|
-
import { themes } from '../helpers';
|
|
9
|
-
|
|
10
|
-
const Item = styled(Paper)(({ theme }) => ({
|
|
11
|
-
...theme.typography.body2,
|
|
12
|
-
textAlign: 'center',
|
|
13
|
-
height: 60,
|
|
14
|
-
lineHeight: '60px',
|
|
15
|
-
}));
|
|
16
|
-
|
|
17
|
-
const meta = {
|
|
18
|
-
title: 'Layout/Paper',
|
|
19
|
-
component: Paper,
|
|
20
|
-
parameters: {
|
|
21
|
-
// layout: "centered",
|
|
22
|
-
},
|
|
23
|
-
tags: ['autodocs'],
|
|
24
|
-
argTypes: {},
|
|
25
|
-
} satisfies Meta<typeof Paper>;
|
|
26
|
-
|
|
27
|
-
export default meta;
|
|
28
|
-
|
|
29
|
-
type Story = StoryObj<typeof meta>;
|
|
30
|
-
|
|
31
|
-
const defaultArgs = {};
|
|
32
|
-
|
|
33
|
-
export const PaperElevations = () => (
|
|
34
|
-
<Grid container spacing={2}>
|
|
35
|
-
<Grid item xs={12}>
|
|
36
|
-
<Box
|
|
37
|
-
sx={{
|
|
38
|
-
p: 2,
|
|
39
|
-
bgcolor: 'background.default',
|
|
40
|
-
display: 'grid',
|
|
41
|
-
gridTemplateColumns: { md: '1fr 1fr' },
|
|
42
|
-
gap: 2,
|
|
43
|
-
}}
|
|
44
|
-
>
|
|
45
|
-
{[0, 1, 2, 3, 4, 6, 8, 12, 16, 24].map(elevation => (
|
|
46
|
-
<Item key={elevation} elevation={elevation}>
|
|
47
|
-
{`elevation=${elevation}`}
|
|
48
|
-
</Item>
|
|
49
|
-
))}
|
|
50
|
-
</Box>
|
|
51
|
-
</Grid>
|
|
52
|
-
</Grid>
|
|
53
|
-
);
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Paper } from '../components';
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
|
|
5
|
+
import Grid from '@mui/material/Grid';
|
|
6
|
+
import Box from '@mui/material/Box';
|
|
7
|
+
import { ThemeProvider, styled } from '@mui/material/styles';
|
|
8
|
+
import { themes } from '../helpers';
|
|
9
|
+
|
|
10
|
+
const Item = styled(Paper)(({ theme }) => ({
|
|
11
|
+
...theme.typography.body2,
|
|
12
|
+
textAlign: 'center',
|
|
13
|
+
height: 60,
|
|
14
|
+
lineHeight: '60px',
|
|
15
|
+
}));
|
|
16
|
+
|
|
17
|
+
const meta = {
|
|
18
|
+
title: 'Layout/Paper',
|
|
19
|
+
component: Paper,
|
|
20
|
+
parameters: {
|
|
21
|
+
// layout: "centered",
|
|
22
|
+
},
|
|
23
|
+
tags: ['autodocs'],
|
|
24
|
+
argTypes: {},
|
|
25
|
+
} satisfies Meta<typeof Paper>;
|
|
26
|
+
|
|
27
|
+
export default meta;
|
|
28
|
+
|
|
29
|
+
type Story = StoryObj<typeof meta>;
|
|
30
|
+
|
|
31
|
+
const defaultArgs = {};
|
|
32
|
+
|
|
33
|
+
export const PaperElevations = () => (
|
|
34
|
+
<Grid container spacing={2}>
|
|
35
|
+
<Grid item xs={12}>
|
|
36
|
+
<Box
|
|
37
|
+
sx={{
|
|
38
|
+
p: 2,
|
|
39
|
+
bgcolor: 'background.default',
|
|
40
|
+
display: 'grid',
|
|
41
|
+
gridTemplateColumns: { md: '1fr 1fr' },
|
|
42
|
+
gap: 2,
|
|
43
|
+
}}
|
|
44
|
+
>
|
|
45
|
+
{[0, 1, 2, 3, 4, 6, 8, 12, 16, 24].map(elevation => (
|
|
46
|
+
<Item key={elevation} elevation={elevation}>
|
|
47
|
+
{`elevation=${elevation}`}
|
|
48
|
+
</Item>
|
|
49
|
+
))}
|
|
50
|
+
</Box>
|
|
51
|
+
</Grid>
|
|
52
|
+
</Grid>
|
|
53
|
+
);
|
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
-
import { ProgressBar } from '../components';
|
|
4
|
-
import { ColorVariant } from '../types';
|
|
5
|
-
|
|
6
|
-
const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
|
|
7
|
-
|
|
8
|
-
const meta = {
|
|
9
|
-
title: 'Display/ProgressBar',
|
|
10
|
-
component: ProgressBar,
|
|
11
|
-
parameters: {
|
|
12
|
-
layout: 'centered',
|
|
13
|
-
},
|
|
14
|
-
tags: ['autodocs'],
|
|
15
|
-
argTypes: {},
|
|
16
|
-
} satisfies Meta<typeof ProgressBar>;
|
|
17
|
-
|
|
18
|
-
export default meta;
|
|
19
|
-
|
|
20
|
-
type Story = StoryObj<typeof meta>;
|
|
21
|
-
|
|
22
|
-
const defaultArgs = {
|
|
23
|
-
disabled: false,
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export const Playground: Story = {
|
|
27
|
-
args: {
|
|
28
|
-
label: 'Progress',
|
|
29
|
-
total: 100,
|
|
30
|
-
color: 'primary',
|
|
31
|
-
value: 10,
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export const ProgressBarBasic = () => (
|
|
36
|
-
<div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
|
|
37
|
-
<div style={{ position: 'relative', width: '100%' }}>
|
|
38
|
-
<ProgressBar value={40} total={100} color="primary" />
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
ProgressBarBasic.storyName = 'ProgressBar Basic';
|
|
44
|
-
|
|
45
|
-
export const ProgressBarTitle: Story = () => (
|
|
46
|
-
<div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
|
|
47
|
-
<div style={{ position: 'relative', width: '100%' }}>
|
|
48
|
-
<ProgressBar value={10} label="Progress" total={100} />
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
ProgressBarTitle.storyName = 'ProgressBar With Title';
|
|
54
|
-
|
|
55
|
-
export const ProgressBarColors: Story = () => (
|
|
56
|
-
<>
|
|
57
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
58
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
59
|
-
<ProgressBar value={100} total={300} color="inherit" label="Progress Inherit" />
|
|
60
|
-
</div>
|
|
61
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
62
|
-
<ProgressBar value={125} total={1000} color="secondary" label="Progress secondary" />
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
65
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
66
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
67
|
-
<ProgressBar value={22} total={100} color="error" label="Progress error" />
|
|
68
|
-
</div>
|
|
69
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
70
|
-
<ProgressBar value={24} total={100} color="info" label="Progress info" />
|
|
71
|
-
</div>
|
|
72
|
-
</div>
|
|
73
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
74
|
-
<div style={{ display: 'flex', gap: '1rem', marginBottom: 15 }}>
|
|
75
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
76
|
-
<ProgressBar value={45} total={100} color="success" label="Progress success" />
|
|
77
|
-
</div>
|
|
78
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
79
|
-
<ProgressBar value={86} total={100} color="warning" label="Progress warning" />
|
|
80
|
-
</div>
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
</>
|
|
84
|
-
);
|
|
85
|
-
|
|
86
|
-
ProgressBarColors.storyName = 'ProgressBar Colors';
|
|
87
|
-
|
|
88
|
-
export const ProgressBarCustomColors: Story = () => (
|
|
89
|
-
<>
|
|
90
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
91
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
92
|
-
<ProgressBar
|
|
93
|
-
value={50}
|
|
94
|
-
total={100}
|
|
95
|
-
colorCustom={{ root: 'rgba(179, 222, 105, 0.2)', bar: '#b3de69' }}
|
|
96
|
-
htmlLabel={<div>Custom Color Green</div>}
|
|
97
|
-
/>
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
101
|
-
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
102
|
-
<ProgressBar
|
|
103
|
-
value={75}
|
|
104
|
-
total={100}
|
|
105
|
-
colorCustom={{ root: 'rgba(0, 191, 255, 0.2)', bar: '#00bfff' }}
|
|
106
|
-
label="Custom Color Blue"
|
|
107
|
-
h={5}
|
|
108
|
-
hideValue
|
|
109
|
-
fSize='12px'
|
|
110
|
-
/>
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
</>
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
ProgressBarCustomColors.storyName = 'ProgressBar Custom Colors';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
+
import { ProgressBar } from '../components';
|
|
4
|
+
import { ColorVariant } from '../types';
|
|
5
|
+
|
|
6
|
+
const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
|
|
7
|
+
|
|
8
|
+
const meta = {
|
|
9
|
+
title: 'Display/ProgressBar',
|
|
10
|
+
component: ProgressBar,
|
|
11
|
+
parameters: {
|
|
12
|
+
layout: 'centered',
|
|
13
|
+
},
|
|
14
|
+
tags: ['autodocs'],
|
|
15
|
+
argTypes: {},
|
|
16
|
+
} satisfies Meta<typeof ProgressBar>;
|
|
17
|
+
|
|
18
|
+
export default meta;
|
|
19
|
+
|
|
20
|
+
type Story = StoryObj<typeof meta>;
|
|
21
|
+
|
|
22
|
+
const defaultArgs = {
|
|
23
|
+
disabled: false,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const Playground: Story = {
|
|
27
|
+
args: {
|
|
28
|
+
label: 'Progress',
|
|
29
|
+
total: 100,
|
|
30
|
+
color: 'primary',
|
|
31
|
+
value: 10,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const ProgressBarBasic = () => (
|
|
36
|
+
<div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
|
|
37
|
+
<div style={{ position: 'relative', width: '100%' }}>
|
|
38
|
+
<ProgressBar value={40} total={100} color="primary" />
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
ProgressBarBasic.storyName = 'ProgressBar Basic';
|
|
44
|
+
|
|
45
|
+
export const ProgressBarTitle: Story = () => (
|
|
46
|
+
<div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
|
|
47
|
+
<div style={{ position: 'relative', width: '100%' }}>
|
|
48
|
+
<ProgressBar value={10} label="Progress" total={100} />
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
ProgressBarTitle.storyName = 'ProgressBar With Title';
|
|
54
|
+
|
|
55
|
+
export const ProgressBarColors: Story = () => (
|
|
56
|
+
<>
|
|
57
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
58
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
59
|
+
<ProgressBar value={100} total={300} color="inherit" label="Progress Inherit" />
|
|
60
|
+
</div>
|
|
61
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
62
|
+
<ProgressBar value={125} total={1000} color="secondary" label="Progress secondary" />
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
66
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
67
|
+
<ProgressBar value={22} total={100} color="error" label="Progress error" />
|
|
68
|
+
</div>
|
|
69
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
70
|
+
<ProgressBar value={24} total={100} color="info" label="Progress info" />
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
74
|
+
<div style={{ display: 'flex', gap: '1rem', marginBottom: 15 }}>
|
|
75
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
76
|
+
<ProgressBar value={45} total={100} color="success" label="Progress success" />
|
|
77
|
+
</div>
|
|
78
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
79
|
+
<ProgressBar value={86} total={100} color="warning" label="Progress warning" />
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</>
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
ProgressBarColors.storyName = 'ProgressBar Colors';
|
|
87
|
+
|
|
88
|
+
export const ProgressBarCustomColors: Story = () => (
|
|
89
|
+
<>
|
|
90
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
91
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
92
|
+
<ProgressBar
|
|
93
|
+
value={50}
|
|
94
|
+
total={100}
|
|
95
|
+
colorCustom={{ root: 'rgba(179, 222, 105, 0.2)', bar: '#b3de69' }}
|
|
96
|
+
htmlLabel={<div>Custom Color Green</div>}
|
|
97
|
+
/>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
<div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
|
|
101
|
+
<div style={{ position: 'relative', flex: 1, width: '230px' }}>
|
|
102
|
+
<ProgressBar
|
|
103
|
+
value={75}
|
|
104
|
+
total={100}
|
|
105
|
+
colorCustom={{ root: 'rgba(0, 191, 255, 0.2)', bar: '#00bfff' }}
|
|
106
|
+
label="Custom Color Blue"
|
|
107
|
+
h={5}
|
|
108
|
+
hideValue
|
|
109
|
+
fSize='12px'
|
|
110
|
+
/>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</>
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
ProgressBarCustomColors.storyName = 'ProgressBar Custom Colors';
|