norma-library 0.6.3 → 0.6.5
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/UncontrolledTable/components/header/index.js +4 -2
- package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -1
- package/dist/esm/components/UncontrolledTable/components/header/styles.js +1 -1
- package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -1
- package/dist/esm/components/UncontrolledTable/index.js +1 -1
- package/dist/esm/components/UncontrolledTable/index.js.map +1 -1
- package/dist/esm/components/UncontrolledTable/interface.d.ts +2 -0
- package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.d.ts +2 -1
- package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.js +5 -2
- package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.js.map +1 -1
- package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.d.ts +2 -0
- package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.js +5 -0
- package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.js.map +1 -0
- 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 +37 -37
- 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 -65
- package/src/components/UncontrolledTable/components/header/styles.tsx +66 -63
- 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 +222 -221
- package/src/components/UncontrolledTable/interface.ts +44 -43
- package/src/components/UncontrolledTable/styles.tsx +123 -123
- package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +58 -56
- package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +71 -68
- package/src/components/UncontrolledTabs/UncontrolledTabsInfo.style.ts +8 -0
- 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 +258 -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 +22 -22
- 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 -305
- package/src/stories/UncontrolledTabs.stories.tsx +74 -63
- 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,52 +1,52 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import DateInput from '../components/DateInput';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Form/DateInput',
|
|
6
|
-
component: DateInput,
|
|
7
|
-
tags: ['autodocs'],
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: 'centered',
|
|
10
|
-
},
|
|
11
|
-
argTypes: {
|
|
12
|
-
dateFormat: {
|
|
13
|
-
description: "Adicione uma formato de data: 'dd/MM/yyyy' ou 'dd/MM/yyyy HH:mm'.",
|
|
14
|
-
options: ['dd/MM/yyyy', 'dd/MM/yyyy HH:mm']
|
|
15
|
-
},
|
|
16
|
-
className: {
|
|
17
|
-
description: 'Adicione uma classe.',
|
|
18
|
-
},
|
|
19
|
-
label: {
|
|
20
|
-
description: 'Adicione uma label.'
|
|
21
|
-
},
|
|
22
|
-
dateSelected: {
|
|
23
|
-
description: 'Adicione uma data inicial.'
|
|
24
|
-
},
|
|
25
|
-
onChange: {
|
|
26
|
-
description: 'Função para capturar o valor quando alterado.'
|
|
27
|
-
},
|
|
28
|
-
showTimeSelect: {
|
|
29
|
-
description: 'Adiciona horario na seleção da data.'
|
|
30
|
-
},
|
|
31
|
-
timeFormat: {
|
|
32
|
-
description: "Adicione uma formato ao horario na seleção da data."
|
|
33
|
-
},
|
|
34
|
-
disabled: {
|
|
35
|
-
description: 'Habilita ou desabilita.'
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export const Default = (args) => <DateInput {...args} />
|
|
42
|
-
|
|
43
|
-
Default.args = {
|
|
44
|
-
dateFormat: "dd/MM/yyyy HH:mm",
|
|
45
|
-
className: '',
|
|
46
|
-
label: 'Data:',
|
|
47
|
-
dateSelected: new Date(),
|
|
48
|
-
onChange: '',
|
|
49
|
-
showTimeSelect: false,
|
|
50
|
-
timeFormat: 'HH:mm',
|
|
51
|
-
disabled: false
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import DateInput from '../components/DateInput';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Form/DateInput',
|
|
6
|
+
component: DateInput,
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
dateFormat: {
|
|
13
|
+
description: "Adicione uma formato de data: 'dd/MM/yyyy' ou 'dd/MM/yyyy HH:mm'.",
|
|
14
|
+
options: ['dd/MM/yyyy', 'dd/MM/yyyy HH:mm']
|
|
15
|
+
},
|
|
16
|
+
className: {
|
|
17
|
+
description: 'Adicione uma classe.',
|
|
18
|
+
},
|
|
19
|
+
label: {
|
|
20
|
+
description: 'Adicione uma label.'
|
|
21
|
+
},
|
|
22
|
+
dateSelected: {
|
|
23
|
+
description: 'Adicione uma data inicial.'
|
|
24
|
+
},
|
|
25
|
+
onChange: {
|
|
26
|
+
description: 'Função para capturar o valor quando alterado.'
|
|
27
|
+
},
|
|
28
|
+
showTimeSelect: {
|
|
29
|
+
description: 'Adiciona horario na seleção da data.'
|
|
30
|
+
},
|
|
31
|
+
timeFormat: {
|
|
32
|
+
description: "Adicione uma formato ao horario na seleção da data."
|
|
33
|
+
},
|
|
34
|
+
disabled: {
|
|
35
|
+
description: 'Habilita ou desabilita.'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const Default = (args) => <DateInput {...args} />
|
|
42
|
+
|
|
43
|
+
Default.args = {
|
|
44
|
+
dateFormat: "dd/MM/yyyy HH:mm",
|
|
45
|
+
className: '',
|
|
46
|
+
label: 'Data:',
|
|
47
|
+
dateSelected: new Date(),
|
|
48
|
+
onChange: '',
|
|
49
|
+
showTimeSelect: false,
|
|
50
|
+
timeFormat: 'HH:mm',
|
|
51
|
+
disabled: false
|
|
52
52
|
}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { DatePicker } from '../components';
|
|
3
|
-
import type { Meta } from '@storybook/react';
|
|
4
|
-
|
|
5
|
-
const meta = {
|
|
6
|
-
title: 'Form/DatePicker',
|
|
7
|
-
component: DatePicker,
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: 'centered',
|
|
10
|
-
},
|
|
11
|
-
tags: ['autodocs'],
|
|
12
|
-
argTypes: {},
|
|
13
|
-
} satisfies Meta<typeof DatePicker>;
|
|
14
|
-
|
|
15
|
-
export default meta;
|
|
16
|
-
|
|
17
|
-
export const BasicDatePicker = () => <DatePicker sx={{ minWidth: 275 }} label="DatePicker" />;
|
|
18
|
-
BasicDatePicker.storyName = 'DatePicker Basic';
|
|
19
|
-
|
|
20
|
-
export const DatePickerVariants = () => (
|
|
21
|
-
<>
|
|
22
|
-
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
23
|
-
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Responsive" variant="responsive" />
|
|
24
|
-
</div>
|
|
25
|
-
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
26
|
-
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Mobile" variant="mobile" />
|
|
27
|
-
</div>
|
|
28
|
-
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
29
|
-
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Desktop" variant="desktop" />
|
|
30
|
-
</div>
|
|
31
|
-
</>
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
DatePickerVariants.storyName = 'DatePicker Variants';
|
|
35
|
-
|
|
36
|
-
export const DatePickerLanguage = () => (
|
|
37
|
-
<>
|
|
38
|
-
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
39
|
-
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Brazil" language="pt-br" />
|
|
40
|
-
</div>
|
|
41
|
-
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
42
|
-
<DatePicker sx={{ minWidth: 275 }} label="DatePicker English" language="en" format="YYYY-MM-DD" />
|
|
43
|
-
</div>
|
|
44
|
-
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
45
|
-
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Spain" language="es" />
|
|
46
|
-
</div>
|
|
47
|
-
</>
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
DatePickerLanguage.storyName = 'DatePicker Languages';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DatePicker } from '../components';
|
|
3
|
+
import type { Meta } from '@storybook/react';
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'Form/DatePicker',
|
|
7
|
+
component: DatePicker,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
tags: ['autodocs'],
|
|
12
|
+
argTypes: {},
|
|
13
|
+
} satisfies Meta<typeof DatePicker>;
|
|
14
|
+
|
|
15
|
+
export default meta;
|
|
16
|
+
|
|
17
|
+
export const BasicDatePicker = () => <DatePicker sx={{ minWidth: 275 }} label="DatePicker" />;
|
|
18
|
+
BasicDatePicker.storyName = 'DatePicker Basic';
|
|
19
|
+
|
|
20
|
+
export const DatePickerVariants = () => (
|
|
21
|
+
<>
|
|
22
|
+
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
23
|
+
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Responsive" variant="responsive" />
|
|
24
|
+
</div>
|
|
25
|
+
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
26
|
+
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Mobile" variant="mobile" />
|
|
27
|
+
</div>
|
|
28
|
+
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
29
|
+
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Desktop" variant="desktop" />
|
|
30
|
+
</div>
|
|
31
|
+
</>
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
DatePickerVariants.storyName = 'DatePicker Variants';
|
|
35
|
+
|
|
36
|
+
export const DatePickerLanguage = () => (
|
|
37
|
+
<>
|
|
38
|
+
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
39
|
+
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Brazil" language="pt-br" />
|
|
40
|
+
</div>
|
|
41
|
+
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
42
|
+
<DatePicker sx={{ minWidth: 275 }} label="DatePicker English" language="en" format="YYYY-MM-DD" />
|
|
43
|
+
</div>
|
|
44
|
+
<div style={{ width: '480px', marginBottom: 30 }}>
|
|
45
|
+
<DatePicker sx={{ minWidth: 275 }} label="DatePicker Spain" language="es" />
|
|
46
|
+
</div>
|
|
47
|
+
</>
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
DatePickerLanguage.storyName = 'DatePicker Languages';
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
-
import { Button, DropDown } from '../components';
|
|
5
|
-
import { MenuItem } from '@mui/material';
|
|
6
|
-
|
|
7
|
-
const meta = {
|
|
8
|
-
title: 'Layout/DropDown',
|
|
9
|
-
component: DropDown,
|
|
10
|
-
parameters: {
|
|
11
|
-
layout: 'centered',
|
|
12
|
-
},
|
|
13
|
-
tags: ['autodocs'],
|
|
14
|
-
argTypes: {},
|
|
15
|
-
} satisfies Meta<typeof DropDown>;
|
|
16
|
-
|
|
17
|
-
export default meta;
|
|
18
|
-
|
|
19
|
-
type Story = StoryObj<typeof meta>;
|
|
20
|
-
|
|
21
|
-
export const DropDownlBasic = () => {
|
|
22
|
-
const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
|
|
23
|
-
const open = Boolean(anchorEl);
|
|
24
|
-
|
|
25
|
-
const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
|
|
26
|
-
setAnchorEl(event.currentTarget);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const handleClose = () => {
|
|
30
|
-
setAnchorEl(null);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
return (
|
|
34
|
-
<>
|
|
35
|
-
<Button
|
|
36
|
-
id="basic-button"
|
|
37
|
-
aria-controls={open ? 'basic-menu' : undefined}
|
|
38
|
-
aria-haspopup="true"
|
|
39
|
-
aria-expanded={open ? 'true' : undefined}
|
|
40
|
-
onClick={handleClick}
|
|
41
|
-
color="primary"
|
|
42
|
-
variant="outlined"
|
|
43
|
-
>
|
|
44
|
-
Open DropDown
|
|
45
|
-
</Button>
|
|
46
|
-
{open && (
|
|
47
|
-
<DropDown onClose={handleClose} open anchorEl={anchorEl}>
|
|
48
|
-
<MenuItem onClick={handleClose}>Profile</MenuItem>
|
|
49
|
-
<MenuItem onClick={handleClose}>My account</MenuItem>
|
|
50
|
-
<MenuItem onClick={handleClose}>Logout</MenuItem>
|
|
51
|
-
</DropDown>
|
|
52
|
-
)}
|
|
53
|
-
</>
|
|
54
|
-
);
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
DropDownlBasic.storyName = 'DropDown Basic';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
import { Button, DropDown } from '../components';
|
|
5
|
+
import { MenuItem } from '@mui/material';
|
|
6
|
+
|
|
7
|
+
const meta = {
|
|
8
|
+
title: 'Layout/DropDown',
|
|
9
|
+
component: DropDown,
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: 'centered',
|
|
12
|
+
},
|
|
13
|
+
tags: ['autodocs'],
|
|
14
|
+
argTypes: {},
|
|
15
|
+
} satisfies Meta<typeof DropDown>;
|
|
16
|
+
|
|
17
|
+
export default meta;
|
|
18
|
+
|
|
19
|
+
type Story = StoryObj<typeof meta>;
|
|
20
|
+
|
|
21
|
+
export const DropDownlBasic = () => {
|
|
22
|
+
const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
|
|
23
|
+
const open = Boolean(anchorEl);
|
|
24
|
+
|
|
25
|
+
const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
|
|
26
|
+
setAnchorEl(event.currentTarget);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const handleClose = () => {
|
|
30
|
+
setAnchorEl(null);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<>
|
|
35
|
+
<Button
|
|
36
|
+
id="basic-button"
|
|
37
|
+
aria-controls={open ? 'basic-menu' : undefined}
|
|
38
|
+
aria-haspopup="true"
|
|
39
|
+
aria-expanded={open ? 'true' : undefined}
|
|
40
|
+
onClick={handleClick}
|
|
41
|
+
color="primary"
|
|
42
|
+
variant="outlined"
|
|
43
|
+
>
|
|
44
|
+
Open DropDown
|
|
45
|
+
</Button>
|
|
46
|
+
{open && (
|
|
47
|
+
<DropDown onClose={handleClose} open anchorEl={anchorEl}>
|
|
48
|
+
<MenuItem onClick={handleClose}>Profile</MenuItem>
|
|
49
|
+
<MenuItem onClick={handleClose}>My account</MenuItem>
|
|
50
|
+
<MenuItem onClick={handleClose}>Logout</MenuItem>
|
|
51
|
+
</DropDown>
|
|
52
|
+
)}
|
|
53
|
+
</>
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
DropDownlBasic.storyName = 'DropDown Basic';
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { IconButton, Icons } from '../components';
|
|
3
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
-
import { ButtonVariant, SizeVariant, ColorVariant } from '../types';
|
|
5
|
-
|
|
6
|
-
const sizes: SizeVariant[] = ['small', 'medium', 'large'];
|
|
7
|
-
const variants: ButtonVariant[] = ['text', 'outlined', 'contained'];
|
|
8
|
-
const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
|
|
9
|
-
|
|
10
|
-
const meta = {
|
|
11
|
-
title: 'Layout/IconButton',
|
|
12
|
-
component: IconButton,
|
|
13
|
-
parameters: {
|
|
14
|
-
layout: 'centered',
|
|
15
|
-
},
|
|
16
|
-
tags: ['autodocs'],
|
|
17
|
-
argTypes: {},
|
|
18
|
-
} satisfies Meta<typeof IconButton>;
|
|
19
|
-
|
|
20
|
-
export default meta;
|
|
21
|
-
|
|
22
|
-
type Story = StoryObj<typeof meta>;
|
|
23
|
-
|
|
24
|
-
const defaultArgs = {
|
|
25
|
-
color: 'primary',
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export const Playground: Story = {
|
|
29
|
-
args: {
|
|
30
|
-
children: <Icons icon="checkCircle" color="primary" />,
|
|
31
|
-
size: 'medium',
|
|
32
|
-
color: 'primary',
|
|
33
|
-
variant: 'text',
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export const IconButtonSizes = () => (
|
|
38
|
-
<>
|
|
39
|
-
{sizes.map((size, key) => (
|
|
40
|
-
<IconButton key={key} size={size} variant="text" color="primary" sx={{ marginRight: '5px' }}>
|
|
41
|
-
<Icons icon="checkCircle" color="primary" scale={size} />
|
|
42
|
-
</IconButton>
|
|
43
|
-
))}
|
|
44
|
-
</>
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
IconButtonSizes.storyName = 'IconButton Sizes';
|
|
48
|
-
|
|
49
|
-
export const IconButtonVariants = () => (
|
|
50
|
-
<>
|
|
51
|
-
{variants.map((variant, key) => (
|
|
52
|
-
<IconButton key={key} size="medium" variant={variant} color="primary" sx={{ marginRight: '5px' }}>
|
|
53
|
-
<Icons icon="faceHappy" color={variant === 'contained' ? 'white' : 'primary'} scale="medium" />
|
|
54
|
-
</IconButton>
|
|
55
|
-
))}
|
|
56
|
-
</>
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
IconButtonVariants.storyName = 'IconButton Variants';
|
|
60
|
-
|
|
61
|
-
export const IconButtonColors = () => (
|
|
62
|
-
<>
|
|
63
|
-
{colors.map((color, key) => (
|
|
64
|
-
<IconButton key={key} size="medium" variant="outlined" color={color} sx={{ margin: '5px' }}>
|
|
65
|
-
<Icons icon="starOutlined" color={color} scale="medium" />
|
|
66
|
-
</IconButton>
|
|
67
|
-
))}
|
|
68
|
-
<div>
|
|
69
|
-
{colors.map((color, key) => (
|
|
70
|
-
<IconButton key={key} size="medium" variant="contained" color={color} sx={{ margin: '5px' }}>
|
|
71
|
-
<Icons icon="user" color="white" scale="medium" />
|
|
72
|
-
</IconButton>
|
|
73
|
-
))}
|
|
74
|
-
</div>
|
|
75
|
-
</>
|
|
76
|
-
);
|
|
77
|
-
|
|
78
|
-
IconButtonColors.storyName = 'IconButton Colors';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IconButton, Icons } from '../components';
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
import { ButtonVariant, SizeVariant, ColorVariant } from '../types';
|
|
5
|
+
|
|
6
|
+
const sizes: SizeVariant[] = ['small', 'medium', 'large'];
|
|
7
|
+
const variants: ButtonVariant[] = ['text', 'outlined', 'contained'];
|
|
8
|
+
const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
|
|
9
|
+
|
|
10
|
+
const meta = {
|
|
11
|
+
title: 'Layout/IconButton',
|
|
12
|
+
component: IconButton,
|
|
13
|
+
parameters: {
|
|
14
|
+
layout: 'centered',
|
|
15
|
+
},
|
|
16
|
+
tags: ['autodocs'],
|
|
17
|
+
argTypes: {},
|
|
18
|
+
} satisfies Meta<typeof IconButton>;
|
|
19
|
+
|
|
20
|
+
export default meta;
|
|
21
|
+
|
|
22
|
+
type Story = StoryObj<typeof meta>;
|
|
23
|
+
|
|
24
|
+
const defaultArgs = {
|
|
25
|
+
color: 'primary',
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const Playground: Story = {
|
|
29
|
+
args: {
|
|
30
|
+
children: <Icons icon="checkCircle" color="primary" />,
|
|
31
|
+
size: 'medium',
|
|
32
|
+
color: 'primary',
|
|
33
|
+
variant: 'text',
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const IconButtonSizes = () => (
|
|
38
|
+
<>
|
|
39
|
+
{sizes.map((size, key) => (
|
|
40
|
+
<IconButton key={key} size={size} variant="text" color="primary" sx={{ marginRight: '5px' }}>
|
|
41
|
+
<Icons icon="checkCircle" color="primary" scale={size} />
|
|
42
|
+
</IconButton>
|
|
43
|
+
))}
|
|
44
|
+
</>
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
IconButtonSizes.storyName = 'IconButton Sizes';
|
|
48
|
+
|
|
49
|
+
export const IconButtonVariants = () => (
|
|
50
|
+
<>
|
|
51
|
+
{variants.map((variant, key) => (
|
|
52
|
+
<IconButton key={key} size="medium" variant={variant} color="primary" sx={{ marginRight: '5px' }}>
|
|
53
|
+
<Icons icon="faceHappy" color={variant === 'contained' ? 'white' : 'primary'} scale="medium" />
|
|
54
|
+
</IconButton>
|
|
55
|
+
))}
|
|
56
|
+
</>
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
IconButtonVariants.storyName = 'IconButton Variants';
|
|
60
|
+
|
|
61
|
+
export const IconButtonColors = () => (
|
|
62
|
+
<>
|
|
63
|
+
{colors.map((color, key) => (
|
|
64
|
+
<IconButton key={key} size="medium" variant="outlined" color={color} sx={{ margin: '5px' }}>
|
|
65
|
+
<Icons icon="starOutlined" color={color} scale="medium" />
|
|
66
|
+
</IconButton>
|
|
67
|
+
))}
|
|
68
|
+
<div>
|
|
69
|
+
{colors.map((color, key) => (
|
|
70
|
+
<IconButton key={key} size="medium" variant="contained" color={color} sx={{ margin: '5px' }}>
|
|
71
|
+
<Icons icon="user" color="white" scale="medium" />
|
|
72
|
+
</IconButton>
|
|
73
|
+
))}
|
|
74
|
+
</div>
|
|
75
|
+
</>
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
IconButtonColors.storyName = 'IconButton Colors';
|