norma-library 0.5.9 → 0.5.11

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 (167) hide show
  1. package/.babelrc.json +18 -18
  2. package/.prettierignore +10 -10
  3. package/.prettierrc.json +20 -20
  4. package/.storybook/main.ts +20 -20
  5. package/.storybook/preview.ts +15 -15
  6. package/README.md +43 -43
  7. package/commitlint.config.js +1 -1
  8. package/dist/esm/components/Card.d.ts +2 -2
  9. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.d.ts +1 -1
  10. package/dist/esm/components/Icons.d.ts +1 -1
  11. package/dist/esm/components/UncontrolledTable/components/header/index.js +4 -13
  12. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -1
  13. package/dist/esm/components/UncontrolledTable/components/header/styles.js +5 -5
  14. package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -1
  15. package/dist/esm/components/UncontrolledTable/index.js +25 -16
  16. package/dist/esm/components/UncontrolledTable/index.js.map +1 -1
  17. package/dist/esm/components/UncontrolledTable/interface.d.ts +9 -0
  18. package/dist/esm/components/UncontrolledTable/styles.d.ts +1 -1
  19. package/dist/esm/components/UncontrolledTable/styles.js +8 -8
  20. package/dist/esm/components/UncontrolledTable/styles.js.map +1 -1
  21. package/docs/index.md +118 -118
  22. package/package.json +136 -136
  23. package/src/components/Accordion.tsx +39 -39
  24. package/src/components/Avatar.tsx +17 -17
  25. package/src/components/Badge.tsx +14 -14
  26. package/src/components/Box/index.tsx +12 -12
  27. package/src/components/Box/interfaces.ts +3 -3
  28. package/src/components/Box/styles.tsx +22 -22
  29. package/src/components/Breadcrumb/index.tsx +27 -27
  30. package/src/components/Breadcrumb/interface.ts +8 -8
  31. package/src/components/Breadcrumb/styles.tsx +32 -32
  32. package/src/components/Button.tsx +26 -26
  33. package/src/components/Card.tsx +37 -37
  34. package/src/components/ChatMessage.tsx +87 -87
  35. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  36. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  37. package/src/components/CheckBox.tsx +21 -21
  38. package/src/components/DateInput/index.tsx +34 -34
  39. package/src/components/DateInput/interface.ts +13 -13
  40. package/src/components/DateInput/styles.tsx +27 -27
  41. package/src/components/DatePicker.tsx +67 -67
  42. package/src/components/DropDown.tsx +24 -24
  43. package/src/components/IconButton.tsx +37 -37
  44. package/src/components/Icons.tsx +82 -82
  45. package/src/components/Modal.tsx +113 -113
  46. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  47. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  48. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  49. package/src/components/MultiSelectInput/index.tsx +60 -60
  50. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  51. package/src/components/MultiSelectInput/styles.tsx +43 -43
  52. package/src/components/Paper.tsx +12 -12
  53. package/src/components/ProgressBar.tsx +47 -47
  54. package/src/components/RadioGroup.tsx +40 -40
  55. package/src/components/RangerSlider.tsx +65 -65
  56. package/src/components/Select.tsx +74 -74
  57. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  58. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  59. package/src/components/SelectInput/index.tsx +45 -45
  60. package/src/components/SelectInput/interfaces.ts +15 -15
  61. package/src/components/SelectInput/styles.tsx +31 -31
  62. package/src/components/Svgs.tsx +506 -506
  63. package/src/components/Table/components/header/index.tsx +86 -86
  64. package/src/components/Table/components/header/styles.tsx +59 -59
  65. package/src/components/Table/components/index.tsx +8 -8
  66. package/src/components/Table/components/pagination/index.tsx +39 -39
  67. package/src/components/Table/components/pagination/styles.tsx +28 -28
  68. package/src/components/Table/components/tbody/index.tsx +30 -30
  69. package/src/components/Table/components/tbody/styles.tsx +4 -4
  70. package/src/components/Table/index.tsx +317 -317
  71. package/src/components/Table/interface.ts +23 -23
  72. package/src/components/Table/styles.tsx +117 -117
  73. package/src/components/Tabs.tsx +106 -106
  74. package/src/components/Tag.tsx +33 -33
  75. package/src/components/TextField.tsx +19 -19
  76. package/src/components/TextInput/index.tsx +37 -37
  77. package/src/components/TextInput/interface.ts +9 -9
  78. package/src/components/TextInput/styles.tsx +23 -23
  79. package/src/components/TimeLine.tsx +89 -89
  80. package/src/components/TimePicker.tsx +78 -78
  81. package/src/components/Typography/Text/index.tsx +20 -20
  82. package/src/components/Typography/Text/interfaces.ts +5 -5
  83. package/src/components/Typography/Text/styles.tsx +40 -40
  84. package/src/components/Typography/Title/index.tsx +22 -22
  85. package/src/components/Typography/Title/interfaces.ts +6 -6
  86. package/src/components/Typography/Title/styles.tsx +40 -40
  87. package/src/components/Typography/index.tsx +6 -6
  88. package/src/components/UncontrolledTable/components/header/index.tsx +63 -78
  89. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -60
  90. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  91. package/src/components/UncontrolledTable/components/pagination/index.tsx +39 -39
  92. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  93. package/src/components/UncontrolledTable/components/tbody/index.tsx +30 -30
  94. package/src/components/UncontrolledTable/components/tbody/styles.tsx +4 -4
  95. package/src/components/UncontrolledTable/index.tsx +307 -291
  96. package/src/components/UncontrolledTable/interface.ts +36 -27
  97. package/src/components/UncontrolledTable/styles.tsx +120 -119
  98. package/src/components/index.ts +24 -24
  99. package/src/helpers/alignments.ts +14 -14
  100. package/src/helpers/borders.ts +18 -18
  101. package/src/helpers/colors.ts +206 -206
  102. package/src/helpers/index.ts +5 -5
  103. package/src/helpers/radios.ts +24 -24
  104. package/src/helpers/sizes.ts +72 -72
  105. package/src/index.ts +64 -64
  106. package/src/interfaces/Accordion.ts +12 -12
  107. package/src/interfaces/Avatar.tsx +15 -15
  108. package/src/interfaces/Badge.ts +19 -19
  109. package/src/interfaces/Button.ts +22 -22
  110. package/src/interfaces/Card.ts +11 -11
  111. package/src/interfaces/ChatMessage.ts +12 -12
  112. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  113. package/src/interfaces/CheckBox.ts +27 -27
  114. package/src/interfaces/DatePicker.ts +13 -13
  115. package/src/interfaces/DropDown.ts +14 -14
  116. package/src/interfaces/IconButton.ts +22 -22
  117. package/src/interfaces/Icons.ts +17 -17
  118. package/src/interfaces/Modal.ts +16 -16
  119. package/src/interfaces/Paper.ts +12 -12
  120. package/src/interfaces/ProgressBar.ts +18 -18
  121. package/src/interfaces/RadioGroup.ts +22 -22
  122. package/src/interfaces/RangerSlider.ts +21 -21
  123. package/src/interfaces/Select.ts +17 -17
  124. package/src/interfaces/Tabs.ts +19 -19
  125. package/src/interfaces/Tag.ts +17 -17
  126. package/src/interfaces/TextField.ts +44 -44
  127. package/src/interfaces/TimeLine.ts +11 -11
  128. package/src/interfaces/TimePicker.ts +13 -13
  129. package/src/interfaces/index.ts +23 -23
  130. package/src/providers/NormaProvider.tsx +13 -13
  131. package/src/sample-data-2.json +178 -178
  132. package/src/sample-data.json +177 -177
  133. package/src/stories/Accordion.stories.tsx +65 -65
  134. package/src/stories/Avatar.stories.tsx +123 -123
  135. package/src/stories/Badge.stories.tsx +39 -39
  136. package/src/stories/Box.stories.tsx +35 -35
  137. package/src/stories/Breadcrumb.stories.tsx +44 -44
  138. package/src/stories/Button.stories.tsx +93 -93
  139. package/src/stories/Card.stories.tsx +39 -39
  140. package/src/stories/ChatMessage.stories.tsx +84 -84
  141. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  142. package/src/stories/CheckBox.stories.tsx +88 -88
  143. package/src/stories/DateInput.stories.tsx +51 -51
  144. package/src/stories/DatePicker.stories.tsx +50 -50
  145. package/src/stories/DropDown.stories.tsx +57 -57
  146. package/src/stories/IconButton.stories.tsx +78 -78
  147. package/src/stories/Modal.stories.tsx +195 -195
  148. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  149. package/src/stories/Paper.stories.tsx +53 -53
  150. package/src/stories/ProgressBar.stories.tsx +95 -95
  151. package/src/stories/RadioGroup.stories.tsx +87 -87
  152. package/src/stories/RangerSlider.stories.tsx +58 -58
  153. package/src/stories/Select.stories.tsx +100 -100
  154. package/src/stories/SelectInput.stories.tsx +78 -78
  155. package/src/stories/Table.stories.tsx +372 -372
  156. package/src/stories/Tabs.stories.tsx +62 -62
  157. package/src/stories/Tag.stories.tsx +56 -56
  158. package/src/stories/Text.stories.tsx +37 -37
  159. package/src/stories/TextField.stories.tsx +310 -310
  160. package/src/stories/TextInput.stories.tsx +52 -52
  161. package/src/stories/TimeLine.stories.tsx +35 -35
  162. package/src/stories/TimePicker.stories.tsx +87 -87
  163. package/src/stories/Title.stories.tsx +43 -43
  164. package/src/stories/UncontrolledTable.stories.tsx +321 -379
  165. package/src/styles/globals.scss +17 -17
  166. package/src/types/index.ts +204 -204
  167. package/vite.config.ts +15 -15
@@ -1,195 +1,195 @@
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
- paperProps={{
124
- sx: {
125
- width: "90vw"
126
- }
127
- }}
128
- >
129
- <>
130
- <Typography id="modal-modal-title" variant="h6" component="h2">
131
- Text in a modal
132
- </Typography>
133
- <Typography id="modal-modal-description" sx={{ mt: 2 }}>
134
- Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
135
- </Typography>
136
- </>
137
- </Modal>
138
- )}
139
- </>
140
- );
141
- };
142
-
143
- ModalAction.storyName = 'Modal Action';
144
-
145
- export const ModalProps = () => {
146
- const [open, setOpen] = React.useState(false);
147
- const handleOpen = () => setOpen(true);
148
- const handleClose = () => setOpen(false);
149
-
150
- const defaultAction = [
151
- {
152
- label: 'Cancelar',
153
- action: handleClose,
154
- color: 'error',
155
- size: 'medium',
156
- variant: 'outlined',
157
- },
158
- {
159
- label: 'Confirmar',
160
- action: handleClose,
161
- color: 'primary',
162
- size: 'medium',
163
- variant: 'contained',
164
- },
165
- ];
166
- return (
167
- <>
168
- <Button onClick={handleOpen} color="primary" variant="outlined">
169
- Open modal
170
- </Button>
171
-
172
- {open && (
173
- <Modal
174
- open={open}
175
- onClose={handleClose}
176
- aria-labelledby="modal-modal-title"
177
- aria-describedby="modal-modal-description"
178
- action={defaultAction}
179
- title="Select a company"
180
- >
181
- <>
182
- <Typography id="modal-modal-title" variant="h6" component="h2">
183
- Text in a modal
184
- </Typography>
185
- <Typography id="modal-modal-description" sx={{ mt: 2 }}>
186
- Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
187
- </Typography>
188
- </>
189
- </Modal>
190
- )}
191
- </>
192
- );
193
- };
194
-
195
- 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
+ paperProps={{
124
+ sx: {
125
+ width: "90vw"
126
+ }
127
+ }}
128
+ >
129
+ <>
130
+ <Typography id="modal-modal-title" variant="h6" component="h2">
131
+ Text in a modal
132
+ </Typography>
133
+ <Typography id="modal-modal-description" sx={{ mt: 2 }}>
134
+ Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
135
+ </Typography>
136
+ </>
137
+ </Modal>
138
+ )}
139
+ </>
140
+ );
141
+ };
142
+
143
+ ModalAction.storyName = 'Modal Action';
144
+
145
+ export const ModalProps = () => {
146
+ const [open, setOpen] = React.useState(false);
147
+ const handleOpen = () => setOpen(true);
148
+ const handleClose = () => setOpen(false);
149
+
150
+ const defaultAction = [
151
+ {
152
+ label: 'Cancelar',
153
+ action: handleClose,
154
+ color: 'error',
155
+ size: 'medium',
156
+ variant: 'outlined',
157
+ },
158
+ {
159
+ label: 'Confirmar',
160
+ action: handleClose,
161
+ color: 'primary',
162
+ size: 'medium',
163
+ variant: 'contained',
164
+ },
165
+ ];
166
+ return (
167
+ <>
168
+ <Button onClick={handleOpen} color="primary" variant="outlined">
169
+ Open modal
170
+ </Button>
171
+
172
+ {open && (
173
+ <Modal
174
+ open={open}
175
+ onClose={handleClose}
176
+ aria-labelledby="modal-modal-title"
177
+ aria-describedby="modal-modal-description"
178
+ action={defaultAction}
179
+ title="Select a company"
180
+ >
181
+ <>
182
+ <Typography id="modal-modal-title" variant="h6" component="h2">
183
+ Text in a modal
184
+ </Typography>
185
+ <Typography id="modal-modal-description" sx={{ mt: 2 }}>
186
+ Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
187
+ </Typography>
188
+ </>
189
+ </Modal>
190
+ )}
191
+ </>
192
+ );
193
+ };
194
+
195
+ ModalProps.storyName = 'Modal Title and Action';
@@ -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
+ );