norma-library 0.4.9 → 0.5.0

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.
Files changed (246) hide show
  1. package/.babelrc.json +1 -1
  2. package/.husky/commit-msg +4 -0
  3. package/.prettierignore +11 -0
  4. package/.prettierrc.json +20 -0
  5. package/CHANGELOG.md +0 -0
  6. package/CONTRIBUTING.md +0 -0
  7. package/README.md +42 -0
  8. package/commitlint.config.js +1 -0
  9. package/dist/Button/index.d.ts +9 -0
  10. package/dist/Button/types.d.ts +18 -0
  11. package/dist/Card/Card.d.ts +3 -0
  12. package/dist/Card/CardHeader.d.ts +3 -0
  13. package/dist/Card/index.d.ts +4 -0
  14. package/dist/Card/styles.d.ts +546 -0
  15. package/dist/Card/types.d.ts +8 -0
  16. package/dist/esm/components/Accordion.d.ts +2 -2
  17. package/dist/esm/components/Accordion.js +8 -8
  18. package/dist/esm/components/Accordion.js.map +1 -1
  19. package/dist/esm/components/Avatar.d.ts +2 -2
  20. package/dist/esm/components/Avatar.js +7 -7
  21. package/dist/esm/components/Avatar.js.map +1 -1
  22. package/dist/esm/components/Badge.d.ts +2 -2
  23. package/dist/esm/components/Badge.js +5 -5
  24. package/dist/esm/components/Badge.js.map +1 -1
  25. package/dist/esm/components/Button.d.ts +2 -2
  26. package/dist/esm/components/Button.js +10 -10
  27. package/dist/esm/components/Button.js.map +1 -1
  28. package/dist/esm/components/Card.d.ts +3 -3
  29. package/dist/esm/components/Card.js +8 -8
  30. package/dist/esm/components/Card.js.map +1 -1
  31. package/dist/esm/components/ChatMessage.d.ts +2 -2
  32. package/dist/esm/components/ChatMessage.js +35 -35
  33. package/dist/esm/components/ChatMessage.js.map +1 -1
  34. package/dist/esm/components/CheckBox.d.ts +2 -2
  35. package/dist/esm/components/CheckBox.js +5 -5
  36. package/dist/esm/components/CheckBox.js.map +1 -1
  37. package/dist/esm/components/DataGrid/base/dropdown.d.ts +2 -2
  38. package/dist/esm/components/DataGrid/base/dropdown.js +32 -32
  39. package/dist/esm/components/DataGrid/base/dropdown.js.map +1 -1
  40. package/dist/esm/components/DataGrid/base/number-filter.d.ts +2 -2
  41. package/dist/esm/components/DataGrid/base/number-filter.js +21 -21
  42. package/dist/esm/components/DataGrid/base/sorting.d.ts +2 -2
  43. package/dist/esm/components/DataGrid/base/sorting.js +1 -1
  44. package/dist/esm/components/DataGrid/base/sorting.js.map +1 -1
  45. package/dist/esm/components/DataGrid/icons.d.ts +1 -1
  46. package/dist/esm/components/DataGrid/icons.js +1 -1
  47. package/dist/esm/components/DataGrid/icons.js.map +1 -1
  48. package/dist/esm/components/DataGrid/index.d.ts +2 -2
  49. package/dist/esm/components/DataGrid/index.js +35 -44
  50. package/dist/esm/components/DataGrid/index.js.map +1 -1
  51. package/dist/esm/components/DataGrid/shared.d.ts +1 -1
  52. package/dist/esm/components/DataGrid/shared.js +19 -32
  53. package/dist/esm/components/DataGrid/shared.js.map +1 -1
  54. package/dist/esm/components/DataGrid/styled.d.ts +2 -2
  55. package/dist/esm/components/DataGrid/styled.js +35 -35
  56. package/dist/esm/components/DataGrid/styled.js.map +1 -1
  57. package/dist/esm/components/DatePicker.d.ts +5 -5
  58. package/dist/esm/components/DatePicker.js +37 -37
  59. package/dist/esm/components/DatePicker.js.map +1 -1
  60. package/dist/esm/components/DropDown.d.ts +2 -2
  61. package/dist/esm/components/DropDown.js +6 -6
  62. package/dist/esm/components/DropDown.js.map +1 -1
  63. package/dist/esm/components/IconButton.d.ts +2 -2
  64. package/dist/esm/components/IconButton.js +7 -7
  65. package/dist/esm/components/IconButton.js.map +1 -1
  66. package/dist/esm/components/Icons.d.ts +2 -2
  67. package/dist/esm/components/Icons.js +10 -10
  68. package/dist/esm/components/Icons.js.map +1 -1
  69. package/dist/esm/components/Modal.d.ts +2 -2
  70. package/dist/esm/components/Modal.js +8 -8
  71. package/dist/esm/components/Modal.js.map +1 -1
  72. package/dist/esm/components/Paper.d.ts +2 -2
  73. package/dist/esm/components/Paper.js +5 -5
  74. package/dist/esm/components/Paper.js.map +1 -1
  75. package/dist/esm/components/ProgressBar.d.ts +2 -2
  76. package/dist/esm/components/ProgressBar.js +11 -11
  77. package/dist/esm/components/ProgressBar.js.map +1 -1
  78. package/dist/esm/components/RadioGroup.d.ts +2 -2
  79. package/dist/esm/components/RadioGroup.js +7 -7
  80. package/dist/esm/components/RadioGroup.js.map +1 -1
  81. package/dist/esm/components/RangerSlider.d.ts +2 -2
  82. package/dist/esm/components/RangerSlider.js +31 -31
  83. package/dist/esm/components/RangerSlider.js.map +1 -1
  84. package/dist/esm/components/Select.d.ts +2 -2
  85. package/dist/esm/components/Select.js +14 -14
  86. package/dist/esm/components/Select.js.map +1 -1
  87. package/dist/esm/components/Svgs.d.ts +1 -1
  88. package/dist/esm/components/Svgs.js +1 -1
  89. package/dist/esm/components/Svgs.js.map +1 -1
  90. package/dist/esm/components/Tabs.d.ts +2 -2
  91. package/dist/esm/components/Tabs.js +25 -26
  92. package/dist/esm/components/Tabs.js.map +1 -1
  93. package/dist/esm/components/Tag.d.ts +2 -2
  94. package/dist/esm/components/Tag.js +8 -8
  95. package/dist/esm/components/Tag.js.map +1 -1
  96. package/dist/esm/components/TextField.d.ts +2 -2
  97. package/dist/esm/components/TextField.js +8 -8
  98. package/dist/esm/components/TextField.js.map +1 -1
  99. package/dist/esm/components/TimeLine.d.ts +2 -2
  100. package/dist/esm/components/TimeLine.js +20 -20
  101. package/dist/esm/components/TimeLine.js.map +1 -1
  102. package/dist/esm/components/TimePicker.d.ts +8 -8
  103. package/dist/esm/components/TimePicker.js +43 -43
  104. package/dist/esm/components/TimePicker.js.map +1 -1
  105. package/dist/esm/components/index.d.ts +23 -23
  106. package/dist/esm/components/index.js +23 -23
  107. package/dist/esm/helpers/alignments.js +7 -7
  108. package/dist/esm/helpers/borders.js +11 -11
  109. package/dist/esm/helpers/colors.js +41 -41
  110. package/dist/esm/helpers/index.d.ts +5 -5
  111. package/dist/esm/helpers/index.js +5 -5
  112. package/dist/esm/helpers/sizes.d.ts +1 -1
  113. package/dist/esm/helpers/sizes.js +39 -39
  114. package/dist/esm/helpers/sizes.js.map +1 -1
  115. package/dist/esm/index.d.ts +17 -17
  116. package/dist/esm/index.js +17 -17
  117. package/dist/esm/interfaces/Accordion.d.ts +3 -3
  118. package/dist/esm/interfaces/Avatar.d.ts +6 -6
  119. package/dist/esm/interfaces/Badge.d.ts +7 -7
  120. package/dist/esm/interfaces/Button.d.ts +5 -5
  121. package/dist/esm/interfaces/Card.d.ts +3 -3
  122. package/dist/esm/interfaces/ChatMessage.d.ts +1 -1
  123. package/dist/esm/interfaces/CheckBox.d.ts +10 -10
  124. package/dist/esm/interfaces/DataGrid.d.ts +4 -4
  125. package/dist/esm/interfaces/DatePicker.d.ts +3 -3
  126. package/dist/esm/interfaces/DropDown.d.ts +4 -4
  127. package/dist/esm/interfaces/IconButton.d.ts +5 -5
  128. package/dist/esm/interfaces/Icons.d.ts +3 -3
  129. package/dist/esm/interfaces/Modal.d.ts +3 -3
  130. package/dist/esm/interfaces/Paper.d.ts +4 -4
  131. package/dist/esm/interfaces/ProgressBar.d.ts +5 -5
  132. package/dist/esm/interfaces/RadioGroup.d.ts +4 -4
  133. package/dist/esm/interfaces/RangerSlider.d.ts +8 -8
  134. package/dist/esm/interfaces/Select.d.ts +3 -3
  135. package/dist/esm/interfaces/Tabs.d.ts +3 -3
  136. package/dist/esm/interfaces/Tag.d.ts +5 -5
  137. package/dist/esm/interfaces/TextField.d.ts +12 -12
  138. package/dist/esm/interfaces/TimeLine.d.ts +3 -3
  139. package/dist/esm/interfaces/TimePicker.d.ts +3 -3
  140. package/dist/esm/interfaces/index.d.ts +23 -23
  141. package/dist/esm/interfaces/index.js +23 -23
  142. package/dist/esm/types/index.d.ts +41 -41
  143. package/dist/esm/types/index.js +2 -2
  144. package/dist/esm/types/index.js.map +1 -1
  145. package/dist/index.d.ts +2 -0
  146. package/dist/index.es.js +6992 -0
  147. package/dist/index.es.js.map +1 -0
  148. package/dist/index.umd.js +266 -0
  149. package/dist/index.umd.js.map +1 -0
  150. package/dist/vite.svg +1 -0
  151. package/docs/index.md +118 -0
  152. package/package.json +64 -8
  153. package/src/components/Accordion.tsx +47 -64
  154. package/src/components/Avatar.tsx +22 -29
  155. package/src/components/Badge.tsx +19 -22
  156. package/src/components/Button.tsx +12 -19
  157. package/src/components/Card.tsx +44 -47
  158. package/src/components/ChatMessage.tsx +87 -89
  159. package/src/components/CheckBox.tsx +8 -19
  160. package/src/components/DataGrid/allData.json +2918 -2918
  161. package/src/components/DataGrid/base/dropdown.tsx +212 -235
  162. package/src/components/DataGrid/base/number-filter.tsx +43 -43
  163. package/src/components/DataGrid/base/sorting.tsx +29 -35
  164. package/src/components/DataGrid/icons.tsx +53 -61
  165. package/src/components/DataGrid/index.tsx +254 -319
  166. package/src/components/DataGrid/shared.ts +154 -179
  167. package/src/components/DataGrid/styled.ts +96 -102
  168. package/src/components/DataGrid/styles/dropdown.module.css +86 -86
  169. package/src/components/DataGrid/styles/number-filter.module.css +16 -16
  170. package/src/components/DataGrid/styles/styles.module.css +107 -107
  171. package/src/components/DatePicker.tsx +73 -84
  172. package/src/components/DropDown.tsx +31 -38
  173. package/src/components/IconButton.tsx +12 -29
  174. package/src/components/Icons.tsx +82 -87
  175. package/src/components/Modal.tsx +114 -123
  176. package/src/components/Paper.tsx +19 -22
  177. package/src/components/ProgressBar.tsx +54 -63
  178. package/src/components/RadioGroup.tsx +47 -55
  179. package/src/components/RangerSlider.tsx +70 -81
  180. package/src/components/Select.tsx +82 -98
  181. package/src/components/Svgs.tsx +498 -522
  182. package/src/components/Tabs.tsx +111 -140
  183. package/src/components/Tag.tsx +37 -45
  184. package/src/components/TextField.tsx +11 -22
  185. package/src/components/TimeLine.tsx +93 -103
  186. package/src/components/TimePicker.tsx +84 -95
  187. package/src/components/index.ts +23 -23
  188. package/src/helpers/alignments.ts +7 -7
  189. package/src/helpers/borders.ts +11 -11
  190. package/src/helpers/colors.ts +42 -42
  191. package/src/helpers/index.ts +5 -5
  192. package/src/helpers/sizes.ts +39 -46
  193. package/src/index.ts +17 -17
  194. package/src/interfaces/Accordion.ts +12 -12
  195. package/src/interfaces/Avatar.tsx +15 -18
  196. package/src/interfaces/Badge.ts +19 -32
  197. package/src/interfaces/Button.ts +5 -10
  198. package/src/interfaces/Card.ts +11 -11
  199. package/src/interfaces/ChatMessage.ts +12 -12
  200. package/src/interfaces/CheckBox.ts +12 -18
  201. package/src/interfaces/DataGrid.ts +46 -51
  202. package/src/interfaces/DatePicker.ts +13 -13
  203. package/src/interfaces/DropDown.ts +14 -14
  204. package/src/interfaces/IconButton.ts +5 -10
  205. package/src/interfaces/Icons.ts +17 -17
  206. package/src/interfaces/Modal.ts +15 -15
  207. package/src/interfaces/Paper.ts +12 -12
  208. package/src/interfaces/ProgressBar.ts +18 -25
  209. package/src/interfaces/RadioGroup.ts +22 -28
  210. package/src/interfaces/RangerSlider.ts +21 -32
  211. package/src/interfaces/Select.ts +17 -17
  212. package/src/interfaces/Tabs.ts +19 -24
  213. package/src/interfaces/Tag.ts +17 -17
  214. package/src/interfaces/TextField.ts +14 -34
  215. package/src/interfaces/TimeLine.ts +11 -16
  216. package/src/interfaces/TimePicker.ts +13 -13
  217. package/src/interfaces/index.ts +23 -23
  218. package/src/sample-data.json +178 -178
  219. package/src/stories/Accordion.stories.tsx +65 -65
  220. package/src/stories/Avatar.stories.tsx +123 -139
  221. package/src/stories/Badge.stories.tsx +39 -47
  222. package/src/stories/Button.stories.tsx +18 -26
  223. package/src/stories/Card.stories.tsx +40 -55
  224. package/src/stories/ChatMessage.stories.tsx +84 -85
  225. package/src/stories/CheckBox.stories.tsx +17 -23
  226. package/src/stories/DataGrid.stories.tsx +28 -28
  227. package/src/stories/DatePicker.stories.tsx +50 -77
  228. package/src/stories/DropDown.stories.tsx +57 -57
  229. package/src/stories/IconButton.stories.tsx +78 -114
  230. package/src/stories/Modal.stories.tsx +190 -190
  231. package/src/stories/Paper.stories.tsx +53 -53
  232. package/src/stories/ProgressBar.stories.tsx +95 -139
  233. package/src/stories/RadioGroup.stories.tsx +21 -28
  234. package/src/stories/RangerSlider.stories.tsx +58 -68
  235. package/src/stories/Select.stories.tsx +100 -128
  236. package/src/stories/Tabs.stories.tsx +62 -62
  237. package/src/stories/Tag.stories.tsx +56 -74
  238. package/src/stories/TextField.stories.tsx +54 -189
  239. package/src/stories/TimeLine.stories.tsx +35 -43
  240. package/src/stories/TimePicker.stories.tsx +87 -113
  241. package/src/types/index.ts +90 -155
  242. package/tsconfig.json +1 -1
  243. package/buildcache/front-end +0 -1
  244. package/norma-library.tar +0 -0
  245. package/postcss.config.js +0 -6
  246. package/tailwind.config.js +0 -58
@@ -1,114 +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[] = [
9
- "inherit",
10
- "primary",
11
- "secondary",
12
- "success",
13
- "error",
14
- "info",
15
- "warning",
16
- ];
17
-
18
- const meta = {
19
- title: "Layout/IconButton",
20
- component: IconButton,
21
- parameters: {
22
- layout: "centered",
23
- },
24
- tags: ["autodocs"],
25
- argTypes: {},
26
- } satisfies Meta<typeof IconButton>;
27
-
28
- export default meta;
29
-
30
- type Story = StoryObj<typeof meta>;
31
-
32
- const defaultArgs = {
33
- color: "primary",
34
- };
35
-
36
- export const Playground: Story = {
37
- args: {
38
- children: <Icons icon="checkCircle" color="primary" />,
39
- size: "medium",
40
- color: "primary",
41
- variant: "text",
42
- },
43
- };
44
-
45
- export const IconButtonSizes = () => (
46
- <>
47
- {sizes.map((size, key) => (
48
- <IconButton
49
- key={key}
50
- size={size}
51
- variant="text"
52
- color="primary"
53
- sx={{ marginRight: "5px" }}
54
- >
55
- <Icons icon="checkCircle" color="primary" scale={size} />
56
- </IconButton>
57
- ))}
58
- </>
59
- );
60
-
61
- IconButtonSizes.storyName = "IconButton Sizes";
62
-
63
- export const IconButtonVariants = () => (
64
- <>
65
- {variants.map((variant, key) => (
66
- <IconButton
67
- key={key}
68
- size="medium"
69
- variant={variant}
70
- color="primary"
71
- sx={{ marginRight: "5px" }}
72
- >
73
- <Icons
74
- icon="faceHappy"
75
- color={variant === "contained" ? "white" : "primary"}
76
- scale="medium"
77
- />
78
- </IconButton>
79
- ))}
80
- </>
81
- );
82
-
83
- IconButtonVariants.storyName = "IconButton Variants";
84
-
85
- export const IconButtonColors = () => (
86
- <>
87
- {colors.map((color, key) => (
88
- <IconButton
89
- key={key}
90
- size="medium"
91
- variant="outlined"
92
- color={color}
93
- sx={{ margin: "5px" }}
94
- >
95
- <Icons icon="starOutlined" color={color} scale="medium" />
96
- </IconButton>
97
- ))}
98
- <div>
99
- {colors.map((color, key) => (
100
- <IconButton
101
- key={key}
102
- size="medium"
103
- variant="contained"
104
- color={color}
105
- sx={{ margin: "5px" }}
106
- >
107
- <Icons icon="user" color="white" scale="medium" />
108
- </IconButton>
109
- ))}
110
- </div>
111
- </>
112
- );
113
-
114
- 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';
@@ -1,190 +1,190 @@
1
- import React from "react";
2
-
3
- import type { Meta, StoryObj } from "@storybook/react";
4
- import { Button, Modal } from "../components";
5
- import { Box, Typography } from "@mui/material";
6
-
7
- const meta = {
8
- title: "Layout/Modal",
9
- component: Modal,
10
- parameters: {
11
- layout: "centered",
12
- },
13
- tags: ["autodocs"],
14
- argTypes: {},
15
- } satisfies Meta<typeof Modal>;
16
-
17
- export default meta;
18
-
19
- type Story = StoryObj<typeof meta>;
20
-
21
- export const ModalBasic = () => {
22
- const [open, setOpen] = React.useState(false);
23
- const handleOpen = () => setOpen(true);
24
- const handleClose = () => setOpen(false);
25
-
26
- return (
27
- <>
28
- <Button onClick={handleOpen} color="primary" variant="outlined">
29
- Open modal
30
- </Button>
31
-
32
- {open && (
33
- <Modal
34
- open={open}
35
- onClose={handleClose}
36
- aria-labelledby="modal-modal-title"
37
- aria-describedby="modal-modal-description"
38
- >
39
- <>
40
- <Typography id="modal-modal-title" variant="h6" component="h2">
41
- Text in a modal
42
- </Typography>
43
- <Typography id="modal-modal-description" sx={{ mt: 2 }}>
44
- Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
45
- </Typography>
46
- </>
47
- </Modal>
48
- )}
49
- </>
50
- );
51
- };
52
-
53
- ModalBasic.storyName = "Modal Basic";
54
-
55
- export const ModalTitle = () => {
56
- const [open, setOpen] = React.useState(false);
57
- const handleOpen = () => setOpen(true);
58
- const handleClose = () => setOpen(false);
59
- return (
60
- <>
61
- <Button onClick={handleOpen} color="primary" variant="outlined">
62
- Open modal
63
- </Button>
64
-
65
- {open && (
66
- <Modal
67
- open={open}
68
- onClose={handleClose}
69
- aria-labelledby="modal-modal-title"
70
- aria-describedby="modal-modal-description"
71
- title="Title Modal"
72
- >
73
- <>
74
- <Typography id="modal-modal-title" variant="h6" component="h2">
75
- Text in a modal
76
- </Typography>
77
- <Typography id="modal-modal-description" sx={{ mt: 2 }}>
78
- Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
79
- </Typography>
80
- </>
81
- </Modal>
82
- )}
83
- </>
84
- );
85
- };
86
-
87
- ModalTitle.storyName = "Modal Title";
88
-
89
- export const ModalAction = () => {
90
- const [open, setOpen] = React.useState(false);
91
- const handleOpen = () => setOpen(true);
92
- const handleClose = () => setOpen(false);
93
-
94
- const defaultAction = [
95
- {
96
- label: "Cancelar",
97
- action: handleClose,
98
- color: "error",
99
- size: "medium",
100
- variant: "outlined",
101
- },
102
- {
103
- label: "Confirmar",
104
- action: handleClose,
105
- color: "primary",
106
- size: "medium",
107
- variant: "contained",
108
- },
109
- ];
110
- return (
111
- <>
112
- <Button onClick={handleOpen} color="primary" variant="outlined">
113
- Open modal
114
- </Button>
115
-
116
- {open && (
117
- <Modal
118
- open={open}
119
- onClose={handleClose}
120
- aria-labelledby="modal-modal-title"
121
- aria-describedby="modal-modal-description"
122
- action={defaultAction}
123
- >
124
- <>
125
- <Typography id="modal-modal-title" variant="h6" component="h2">
126
- Text in a modal
127
- </Typography>
128
- <Typography id="modal-modal-description" sx={{ mt: 2 }}>
129
- Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
130
- </Typography>
131
- </>
132
- </Modal>
133
- )}
134
- </>
135
- );
136
- };
137
-
138
- ModalAction.storyName = "Modal Action";
139
-
140
- export const ModalProps = () => {
141
- const [open, setOpen] = React.useState(false);
142
- const handleOpen = () => setOpen(true);
143
- const handleClose = () => setOpen(false);
144
-
145
- const defaultAction = [
146
- {
147
- label: "Cancelar",
148
- action: handleClose,
149
- color: "error",
150
- size: "medium",
151
- variant: "outlined",
152
- },
153
- {
154
- label: "Confirmar",
155
- action: handleClose,
156
- color: "primary",
157
- size: "medium",
158
- variant: "contained",
159
- },
160
- ];
161
- return (
162
- <>
163
- <Button onClick={handleOpen} color="primary" variant="outlined">
164
- Open modal
165
- </Button>
166
-
167
- {open && (
168
- <Modal
169
- open={open}
170
- onClose={handleClose}
171
- aria-labelledby="modal-modal-title"
172
- aria-describedby="modal-modal-description"
173
- action={defaultAction}
174
- title="Select a company"
175
- >
176
- <>
177
- <Typography id="modal-modal-title" variant="h6" component="h2">
178
- Text in a modal
179
- </Typography>
180
- <Typography id="modal-modal-description" sx={{ mt: 2 }}>
181
- Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
182
- </Typography>
183
- </>
184
- </Modal>
185
- )}
186
- </>
187
- );
188
- };
189
-
190
- ModalProps.storyName = "Modal Title and Action";
1
+ import React from 'react';
2
+
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ import { Button, Modal } from '../components';
5
+ import { Box, Typography } from '@mui/material';
6
+
7
+ const meta = {
8
+ title: 'Layout/Modal',
9
+ component: Modal,
10
+ parameters: {
11
+ layout: 'centered',
12
+ },
13
+ tags: ['autodocs'],
14
+ argTypes: {},
15
+ } satisfies Meta<typeof Modal>;
16
+
17
+ export default meta;
18
+
19
+ type Story = StoryObj<typeof meta>;
20
+
21
+ export const ModalBasic = () => {
22
+ const [open, setOpen] = React.useState(false);
23
+ const handleOpen = () => setOpen(true);
24
+ const handleClose = () => setOpen(false);
25
+
26
+ return (
27
+ <>
28
+ <Button onClick={handleOpen} color="primary" variant="outlined">
29
+ Open modal
30
+ </Button>
31
+
32
+ {open && (
33
+ <Modal
34
+ open={open}
35
+ onClose={handleClose}
36
+ aria-labelledby="modal-modal-title"
37
+ aria-describedby="modal-modal-description"
38
+ >
39
+ <>
40
+ <Typography id="modal-modal-title" variant="h6" component="h2">
41
+ Text in a modal
42
+ </Typography>
43
+ <Typography id="modal-modal-description" sx={{ mt: 2 }}>
44
+ Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
45
+ </Typography>
46
+ </>
47
+ </Modal>
48
+ )}
49
+ </>
50
+ );
51
+ };
52
+
53
+ ModalBasic.storyName = 'Modal Basic';
54
+
55
+ export const ModalTitle = () => {
56
+ const [open, setOpen] = React.useState(false);
57
+ const handleOpen = () => setOpen(true);
58
+ const handleClose = () => setOpen(false);
59
+ return (
60
+ <>
61
+ <Button onClick={handleOpen} color="primary" variant="outlined">
62
+ Open modal
63
+ </Button>
64
+
65
+ {open && (
66
+ <Modal
67
+ open={open}
68
+ onClose={handleClose}
69
+ aria-labelledby="modal-modal-title"
70
+ aria-describedby="modal-modal-description"
71
+ title="Title Modal"
72
+ >
73
+ <>
74
+ <Typography id="modal-modal-title" variant="h6" component="h2">
75
+ Text in a modal
76
+ </Typography>
77
+ <Typography id="modal-modal-description" sx={{ mt: 2 }}>
78
+ Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
79
+ </Typography>
80
+ </>
81
+ </Modal>
82
+ )}
83
+ </>
84
+ );
85
+ };
86
+
87
+ ModalTitle.storyName = 'Modal Title';
88
+
89
+ export const ModalAction = () => {
90
+ const [open, setOpen] = React.useState(false);
91
+ const handleOpen = () => setOpen(true);
92
+ const handleClose = () => setOpen(false);
93
+
94
+ const defaultAction = [
95
+ {
96
+ label: 'Cancelar',
97
+ action: handleClose,
98
+ color: 'error',
99
+ size: 'medium',
100
+ variant: 'outlined',
101
+ },
102
+ {
103
+ label: 'Confirmar',
104
+ action: handleClose,
105
+ color: 'primary',
106
+ size: 'medium',
107
+ variant: 'contained',
108
+ },
109
+ ];
110
+ return (
111
+ <>
112
+ <Button onClick={handleOpen} color="primary" variant="outlined">
113
+ Open modal
114
+ </Button>
115
+
116
+ {open && (
117
+ <Modal
118
+ open={open}
119
+ onClose={handleClose}
120
+ aria-labelledby="modal-modal-title"
121
+ aria-describedby="modal-modal-description"
122
+ action={defaultAction}
123
+ >
124
+ <>
125
+ <Typography id="modal-modal-title" variant="h6" component="h2">
126
+ Text in a modal
127
+ </Typography>
128
+ <Typography id="modal-modal-description" sx={{ mt: 2 }}>
129
+ Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
130
+ </Typography>
131
+ </>
132
+ </Modal>
133
+ )}
134
+ </>
135
+ );
136
+ };
137
+
138
+ ModalAction.storyName = 'Modal Action';
139
+
140
+ export const ModalProps = () => {
141
+ const [open, setOpen] = React.useState(false);
142
+ const handleOpen = () => setOpen(true);
143
+ const handleClose = () => setOpen(false);
144
+
145
+ const defaultAction = [
146
+ {
147
+ label: 'Cancelar',
148
+ action: handleClose,
149
+ color: 'error',
150
+ size: 'medium',
151
+ variant: 'outlined',
152
+ },
153
+ {
154
+ label: 'Confirmar',
155
+ action: handleClose,
156
+ color: 'primary',
157
+ size: 'medium',
158
+ variant: 'contained',
159
+ },
160
+ ];
161
+ return (
162
+ <>
163
+ <Button onClick={handleOpen} color="primary" variant="outlined">
164
+ Open modal
165
+ </Button>
166
+
167
+ {open && (
168
+ <Modal
169
+ open={open}
170
+ onClose={handleClose}
171
+ aria-labelledby="modal-modal-title"
172
+ aria-describedby="modal-modal-description"
173
+ action={defaultAction}
174
+ title="Select a company"
175
+ >
176
+ <>
177
+ <Typography id="modal-modal-title" variant="h6" component="h2">
178
+ Text in a modal
179
+ </Typography>
180
+ <Typography id="modal-modal-description" sx={{ mt: 2 }}>
181
+ Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
182
+ </Typography>
183
+ </>
184
+ </Modal>
185
+ )}
186
+ </>
187
+ );
188
+ };
189
+
190
+ ModalProps.storyName = 'Modal Title and Action';