norma-library 0.6.65 → 0.6.67

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 (202) 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/Box/interfaces.d.ts +0 -1
  9. package/dist/esm/components/Box/styles.d.ts +0 -1
  10. package/dist/esm/components/Breadcrumb/styles.d.ts +0 -1
  11. package/dist/esm/components/Card.js +7 -11
  12. package/dist/esm/components/Card.js.map +1 -1
  13. package/dist/esm/components/DateInput/styles.d.ts +0 -1
  14. package/dist/esm/components/Icons.d.ts +2 -2
  15. package/dist/esm/components/MultiSelectInput/components/Option/styles.d.ts +0 -1
  16. package/dist/esm/components/MultiSelectInput/styles.d.ts +0 -1
  17. package/dist/esm/components/SelectInput/components/Option/styles.d.ts +0 -1
  18. package/dist/esm/components/SelectInput/styles.d.ts +0 -1
  19. package/dist/esm/components/StatusModal/StatusModal.style.d.ts +1 -2
  20. package/dist/esm/components/Table/components/header/styles.d.ts +0 -1
  21. package/dist/esm/components/Table/components/pagination/styles.d.ts +0 -1
  22. package/dist/esm/components/Table/styles.d.ts +0 -1
  23. package/dist/esm/components/TextInput/styles.d.ts +0 -1
  24. package/dist/esm/components/Typography/Text/interfaces.d.ts +0 -1
  25. package/dist/esm/components/Typography/Text/styles.d.ts +0 -1
  26. package/dist/esm/components/Typography/Title/interfaces.d.ts +0 -1
  27. package/dist/esm/components/Typography/Title/styles.d.ts +0 -1
  28. package/dist/esm/components/UncontrolledTable/components/header/styles.d.ts +0 -1
  29. package/dist/esm/components/UncontrolledTable/components/pagination/styles.d.ts +0 -1
  30. package/dist/esm/components/UncontrolledTable/components/tbody/styles.d.ts +0 -1
  31. package/dist/esm/components/UncontrolledTable/interface.d.ts +0 -1
  32. package/dist/esm/components/UncontrolledTable/styles.d.ts +2 -3
  33. package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.d.ts +0 -1
  34. package/dist/esm/interfaces/Accordion.d.ts +0 -1
  35. package/dist/esm/interfaces/Card.d.ts +0 -1
  36. package/dist/esm/interfaces/ChatMessage.d.ts +0 -1
  37. package/dist/esm/interfaces/DatePicker.d.ts +0 -1
  38. package/dist/esm/interfaces/Modal.d.ts +0 -1
  39. package/dist/esm/interfaces/Paper.d.ts +0 -1
  40. package/dist/esm/interfaces/ProgressBar.d.ts +0 -1
  41. package/dist/esm/interfaces/Select.d.ts +0 -1
  42. package/dist/esm/interfaces/Tabs.d.ts +0 -1
  43. package/dist/esm/interfaces/Tag.d.ts +0 -1
  44. package/dist/esm/interfaces/TimeLine.d.ts +0 -1
  45. package/dist/esm/interfaces/TimePicker.d.ts +0 -1
  46. package/dist/esm/types/index.d.ts +0 -1
  47. package/docs/index.md +118 -118
  48. package/package.json +136 -136
  49. package/src/components/Accordion.tsx +39 -39
  50. package/src/components/Avatar.tsx +17 -17
  51. package/src/components/Badge.tsx +14 -14
  52. package/src/components/Box/index.tsx +12 -12
  53. package/src/components/Box/interfaces.ts +3 -3
  54. package/src/components/Box/styles.tsx +22 -22
  55. package/src/components/Breadcrumb/index.tsx +27 -27
  56. package/src/components/Breadcrumb/interface.ts +8 -8
  57. package/src/components/Breadcrumb/styles.tsx +32 -32
  58. package/src/components/Button.tsx +26 -26
  59. package/src/components/Card.tsx +36 -38
  60. package/src/components/ChatMessage.tsx +87 -87
  61. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  62. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  63. package/src/components/CheckBox.tsx +21 -21
  64. package/src/components/DateInput/index.tsx +34 -34
  65. package/src/components/DateInput/interface.ts +13 -13
  66. package/src/components/DateInput/styles.tsx +27 -27
  67. package/src/components/DatePicker.tsx +67 -67
  68. package/src/components/DropDown.tsx +24 -24
  69. package/src/components/IconButton.tsx +37 -37
  70. package/src/components/Icons.tsx +82 -82
  71. package/src/components/Modal.tsx +103 -103
  72. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  73. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  74. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  75. package/src/components/MultiSelectInput/index.tsx +60 -60
  76. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  77. package/src/components/MultiSelectInput/styles.tsx +43 -43
  78. package/src/components/Paper.tsx +12 -12
  79. package/src/components/ProgressBar.tsx +71 -71
  80. package/src/components/RadioGroup.tsx +43 -43
  81. package/src/components/RangerSlider.tsx +65 -65
  82. package/src/components/Select.tsx +74 -74
  83. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  84. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  85. package/src/components/SelectInput/index.tsx +45 -45
  86. package/src/components/SelectInput/interfaces.ts +15 -15
  87. package/src/components/SelectInput/styles.tsx +31 -31
  88. package/src/components/StatusModal/StatusModal.style.tsx +75 -75
  89. package/src/components/StatusModal/StatusModal.tsx +58 -58
  90. package/src/components/Svgs.tsx +506 -506
  91. package/src/components/Table/components/header/index.tsx +86 -86
  92. package/src/components/Table/components/header/styles.tsx +59 -59
  93. package/src/components/Table/components/index.tsx +8 -8
  94. package/src/components/Table/components/pagination/index.tsx +39 -39
  95. package/src/components/Table/components/pagination/styles.tsx +28 -28
  96. package/src/components/Table/components/tbody/index.tsx +30 -30
  97. package/src/components/Table/components/tbody/styles.tsx +4 -4
  98. package/src/components/Table/index.tsx +317 -317
  99. package/src/components/Table/interface.ts +23 -23
  100. package/src/components/Table/styles.tsx +117 -117
  101. package/src/components/Tabs.tsx +105 -105
  102. package/src/components/Tag.tsx +33 -33
  103. package/src/components/TextField.tsx +19 -19
  104. package/src/components/TextInput/index.tsx +37 -37
  105. package/src/components/TextInput/interface.ts +9 -9
  106. package/src/components/TextInput/styles.tsx +23 -23
  107. package/src/components/TimeLine.tsx +89 -89
  108. package/src/components/TimePicker.tsx +78 -78
  109. package/src/components/Typography/Text/index.tsx +20 -20
  110. package/src/components/Typography/Text/interfaces.ts +5 -5
  111. package/src/components/Typography/Text/styles.tsx +40 -40
  112. package/src/components/Typography/Title/index.tsx +22 -22
  113. package/src/components/Typography/Title/interfaces.ts +6 -6
  114. package/src/components/Typography/Title/styles.tsx +40 -40
  115. package/src/components/Typography/index.tsx +6 -6
  116. package/src/components/UncontrolledTable/components/header/index.tsx +72 -72
  117. package/src/components/UncontrolledTable/components/header/styles.tsx +66 -66
  118. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  119. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  120. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  121. package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
  122. package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
  123. package/src/components/UncontrolledTable/index.tsx +223 -223
  124. package/src/components/UncontrolledTable/interface.ts +46 -46
  125. package/src/components/UncontrolledTable/styles.tsx +123 -123
  126. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +58 -58
  127. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +71 -71
  128. package/src/components/UncontrolledTabs/UncontrolledTabsInfo.style.ts +8 -8
  129. package/src/components/index.ts +24 -24
  130. package/src/helpers/alignments.ts +14 -14
  131. package/src/helpers/borders.ts +18 -18
  132. package/src/helpers/colors.ts +264 -264
  133. package/src/helpers/index.ts +5 -5
  134. package/src/helpers/radios.ts +24 -24
  135. package/src/helpers/sizes.ts +72 -72
  136. package/src/hooks/useClickOutside.tsx +18 -18
  137. package/src/index.ts +70 -70
  138. package/src/interfaces/Accordion.ts +12 -12
  139. package/src/interfaces/Avatar.tsx +15 -15
  140. package/src/interfaces/Badge.ts +19 -19
  141. package/src/interfaces/Button.ts +19 -19
  142. package/src/interfaces/Card.ts +11 -11
  143. package/src/interfaces/ChatMessage.ts +12 -12
  144. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  145. package/src/interfaces/CheckBox.ts +27 -27
  146. package/src/interfaces/DatePicker.ts +13 -13
  147. package/src/interfaces/DropDown.ts +14 -14
  148. package/src/interfaces/IconButton.ts +22 -22
  149. package/src/interfaces/Icons.ts +17 -17
  150. package/src/interfaces/Modal.ts +18 -18
  151. package/src/interfaces/Paper.ts +12 -12
  152. package/src/interfaces/ProgressBar.ts +29 -29
  153. package/src/interfaces/RadioGroup.ts +23 -23
  154. package/src/interfaces/RangerSlider.ts +21 -21
  155. package/src/interfaces/Select.ts +17 -17
  156. package/src/interfaces/Tabs.ts +19 -19
  157. package/src/interfaces/Tag.ts +17 -17
  158. package/src/interfaces/TextField.ts +44 -44
  159. package/src/interfaces/TimeLine.ts +11 -11
  160. package/src/interfaces/TimePicker.ts +13 -13
  161. package/src/interfaces/index.ts +23 -23
  162. package/src/providers/NormaProvider.tsx +13 -13
  163. package/src/sample-data-2.json +178 -178
  164. package/src/sample-data.json +177 -177
  165. package/src/stories/Accordion.stories.tsx +65 -65
  166. package/src/stories/Avatar.stories.tsx +123 -123
  167. package/src/stories/Badge.stories.tsx +39 -39
  168. package/src/stories/Box.stories.tsx +35 -35
  169. package/src/stories/Breadcrumb.stories.tsx +44 -44
  170. package/src/stories/Button.stories.tsx +93 -93
  171. package/src/stories/Card.stories.tsx +39 -39
  172. package/src/stories/ChatMessage.stories.tsx +84 -84
  173. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  174. package/src/stories/CheckBox.stories.tsx +88 -88
  175. package/src/stories/DateInput.stories.tsx +51 -51
  176. package/src/stories/DatePicker.stories.tsx +50 -50
  177. package/src/stories/DropDown.stories.tsx +57 -57
  178. package/src/stories/IconButton.stories.tsx +78 -78
  179. package/src/stories/Modal.stories.tsx +246 -246
  180. package/src/stories/ModalStatus.stories.tsx +46 -46
  181. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  182. package/src/stories/Paper.stories.tsx +53 -53
  183. package/src/stories/ProgressBar.stories.tsx +116 -116
  184. package/src/stories/RadioGroup.stories.tsx +87 -87
  185. package/src/stories/RangerSlider.stories.tsx +149 -149
  186. package/src/stories/Select.stories.tsx +100 -100
  187. package/src/stories/SelectInput.stories.tsx +78 -78
  188. package/src/stories/Table.stories.tsx +372 -372
  189. package/src/stories/Tabs.stories.tsx +61 -61
  190. package/src/stories/Tag.stories.tsx +56 -56
  191. package/src/stories/Text.stories.tsx +37 -37
  192. package/src/stories/TextField.stories.tsx +310 -310
  193. package/src/stories/TextInput.stories.tsx +52 -52
  194. package/src/stories/TimeLine.stories.tsx +35 -35
  195. package/src/stories/TimePicker.stories.tsx +87 -87
  196. package/src/stories/Title.stories.tsx +43 -43
  197. package/src/stories/UncontrolledTable.stories.tsx +315 -315
  198. package/src/stories/UncontrolledTabs.stories.tsx +74 -74
  199. package/src/styles/globals.scss +17 -17
  200. package/src/types/index.ts +207 -207
  201. package/src/utils/styledBreakpoints.ts +25 -25
  202. package/vite.config.ts +15 -15
@@ -1,74 +1,74 @@
1
- import React from 'react';
2
- import {
3
- FormControl,
4
- InputLabel,
5
- ListItemText,
6
- MenuItem,
7
- Select as MuiSelect,
8
- OutlinedInput,
9
- } from '@mui/material';
10
- import { SelectBaseProps } from '../interfaces';
11
- import { styled } from '@mui/material/styles';
12
- import { CheckBox } from './CheckBox';
13
-
14
- const ITEM_HEIGHT = 48;
15
- const ITEM_PADDING_TOP = 8;
16
- const MenuProps = {
17
- PaperProps: {
18
- style: {
19
- maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP,
20
- width: 250,
21
- },
22
- },
23
- };
24
-
25
- const SelectStyled = styled(MuiSelect)(({ multiple, variant }) => ({
26
- '& .MuiOutlinedInput-notchedOutline': {
27
- border: multiple === true ? 'none' : '1px solid #666666 ',
28
- borderRadius: multiple === true ? 0 : 4,
29
- borderBottom: '1px solid #666666',
30
- },
31
- '& .MuiFormLabel-root': {
32
- backgroundColor: variant === 'standard' ? '#fff' : 'inherit',
33
- padding: variant === 'standard' ? '0 5px' : 0,
34
- },
35
- }));
36
-
37
- export const Select = ({ label, onChange, data = [], value = '', multiple = false, ...props }: SelectBaseProps) => {
38
- return (
39
- <FormControl fullWidth>
40
- <InputLabel id={props.id}>{label}</InputLabel>
41
-
42
- {multiple ? (
43
- <SelectStyled
44
- labelId={props.id}
45
- id="demo-simple-select"
46
- value={value}
47
- MenuProps={MenuProps}
48
- input={<OutlinedInput label="Tag" />}
49
- renderValue={(selected: any) => selected.join(', ')}
50
- onChange={onChange}
51
- multiple
52
- {...props}
53
- >
54
- {data &&
55
- data.map((item, key) => (
56
- <MenuItem value={item.value} key={key}>
57
- <CheckBox checked={value.includes(String(item.value))} />
58
- <ListItemText primary={String(item.label)} />
59
- </MenuItem>
60
- ))}
61
- </SelectStyled>
62
- ) : (
63
- <SelectStyled labelId={props.id} id="demo-simple-select" value={value} onChange={onChange} {...props}>
64
- {data &&
65
- data.map((item, key) => (
66
- <MenuItem value={item.value} key={key}>
67
- <ListItemText primary={String(item.label)} />
68
- </MenuItem>
69
- ))}
70
- </SelectStyled>
71
- )}
72
- </FormControl>
73
- );
74
- };
1
+ import React from 'react';
2
+ import {
3
+ FormControl,
4
+ InputLabel,
5
+ ListItemText,
6
+ MenuItem,
7
+ Select as MuiSelect,
8
+ OutlinedInput,
9
+ } from '@mui/material';
10
+ import { SelectBaseProps } from '../interfaces';
11
+ import { styled } from '@mui/material/styles';
12
+ import { CheckBox } from './CheckBox';
13
+
14
+ const ITEM_HEIGHT = 48;
15
+ const ITEM_PADDING_TOP = 8;
16
+ const MenuProps = {
17
+ PaperProps: {
18
+ style: {
19
+ maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP,
20
+ width: 250,
21
+ },
22
+ },
23
+ };
24
+
25
+ const SelectStyled = styled(MuiSelect)(({ multiple, variant }) => ({
26
+ '& .MuiOutlinedInput-notchedOutline': {
27
+ border: multiple === true ? 'none' : '1px solid #666666 ',
28
+ borderRadius: multiple === true ? 0 : 4,
29
+ borderBottom: '1px solid #666666',
30
+ },
31
+ '& .MuiFormLabel-root': {
32
+ backgroundColor: variant === 'standard' ? '#fff' : 'inherit',
33
+ padding: variant === 'standard' ? '0 5px' : 0,
34
+ },
35
+ }));
36
+
37
+ export const Select = ({ label, onChange, data = [], value = '', multiple = false, ...props }: SelectBaseProps) => {
38
+ return (
39
+ <FormControl fullWidth>
40
+ <InputLabel id={props.id}>{label}</InputLabel>
41
+
42
+ {multiple ? (
43
+ <SelectStyled
44
+ labelId={props.id}
45
+ id="demo-simple-select"
46
+ value={value}
47
+ MenuProps={MenuProps}
48
+ input={<OutlinedInput label="Tag" />}
49
+ renderValue={(selected: any) => selected.join(', ')}
50
+ onChange={onChange}
51
+ multiple
52
+ {...props}
53
+ >
54
+ {data &&
55
+ data.map((item, key) => (
56
+ <MenuItem value={item.value} key={key}>
57
+ <CheckBox checked={value.includes(String(item.value))} />
58
+ <ListItemText primary={String(item.label)} />
59
+ </MenuItem>
60
+ ))}
61
+ </SelectStyled>
62
+ ) : (
63
+ <SelectStyled labelId={props.id} id="demo-simple-select" value={value} onChange={onChange} {...props}>
64
+ {data &&
65
+ data.map((item, key) => (
66
+ <MenuItem value={item.value} key={key}>
67
+ <ListItemText primary={String(item.label)} />
68
+ </MenuItem>
69
+ ))}
70
+ </SelectStyled>
71
+ )}
72
+ </FormControl>
73
+ );
74
+ };
@@ -1,62 +1,62 @@
1
- import React, { useState } from "react"
2
- import { components } from "react-select"
3
- import * as S from "./styles";
4
-
5
- const Option:React.FC<any> = ({
6
- isFocused,
7
- isSelected,
8
- innerProps,
9
- children,
10
- getStyles,
11
- isDisabled,
12
- ...rest
13
- }) => {
14
- const [isActive, setIsActive] = useState(false);
15
- const onMouseDown = () => setIsActive(true);
16
- const onMouseUp = () => setIsActive(false);
17
- const onMouseLeave = () => setIsActive(false);
18
-
19
- let bg = "transparent"
20
- let color = "#000"
21
-
22
- if (isFocused) {
23
- bg = "#f1f1f1"
24
- };
25
- if (isActive) {
26
- bg = "#F8F9FA"
27
- };
28
-
29
- const style = {
30
- alignItems: "center",
31
- transition: "0.3s",
32
- backgroundColor: bg,
33
- color: color,
34
- display: "flex ",
35
- gap: '8px'
36
- };
37
-
38
- const props = {
39
- ...innerProps,
40
- onMouseDown,
41
- onMouseUp,
42
- onMouseLeave,
43
- style,
44
- ...rest
45
- };
46
-
47
- return (
48
- <S.Container>
49
- <components.Option
50
- {...rest}
51
- isDisabled={isDisabled}
52
- isFocused={isFocused}
53
- isSelected={isSelected}
54
- getStyles={getStyles}
55
- innerProps={props}>
56
- {children}
57
- </components.Option>
58
- </S.Container>
59
- );
60
- };
61
-
1
+ import React, { useState } from "react"
2
+ import { components } from "react-select"
3
+ import * as S from "./styles";
4
+
5
+ const Option:React.FC<any> = ({
6
+ isFocused,
7
+ isSelected,
8
+ innerProps,
9
+ children,
10
+ getStyles,
11
+ isDisabled,
12
+ ...rest
13
+ }) => {
14
+ const [isActive, setIsActive] = useState(false);
15
+ const onMouseDown = () => setIsActive(true);
16
+ const onMouseUp = () => setIsActive(false);
17
+ const onMouseLeave = () => setIsActive(false);
18
+
19
+ let bg = "transparent"
20
+ let color = "#000"
21
+
22
+ if (isFocused) {
23
+ bg = "#f1f1f1"
24
+ };
25
+ if (isActive) {
26
+ bg = "#F8F9FA"
27
+ };
28
+
29
+ const style = {
30
+ alignItems: "center",
31
+ transition: "0.3s",
32
+ backgroundColor: bg,
33
+ color: color,
34
+ display: "flex ",
35
+ gap: '8px'
36
+ };
37
+
38
+ const props = {
39
+ ...innerProps,
40
+ onMouseDown,
41
+ onMouseUp,
42
+ onMouseLeave,
43
+ style,
44
+ ...rest
45
+ };
46
+
47
+ return (
48
+ <S.Container>
49
+ <components.Option
50
+ {...rest}
51
+ isDisabled={isDisabled}
52
+ isFocused={isFocused}
53
+ isSelected={isSelected}
54
+ getStyles={getStyles}
55
+ innerProps={props}>
56
+ {children}
57
+ </components.Option>
58
+ </S.Container>
59
+ );
60
+ };
61
+
62
62
  export default Option
@@ -1,9 +1,9 @@
1
- import styled from "styled-components";
2
-
3
- export const Container = styled.div`
4
- font-size: 16px;
5
- color: #666666;
6
- &:nth-child(even) {
7
- background: #F8F9FA;
8
- }
1
+ import styled from "styled-components";
2
+
3
+ export const Container = styled.div`
4
+ font-size: 16px;
5
+ color: #666666;
6
+ &:nth-child(even) {
7
+ background: #F8F9FA;
8
+ }
9
9
  `
@@ -1,46 +1,46 @@
1
- import React, { useState } from "react"
2
- import Select from "react-select"
3
- import { SelectInputProps } from "./interfaces"
4
- import * as S from "./styles"
5
- import Option from "./components/Option"
6
-
7
- const SelectInput:React.FC<SelectInputProps> = ({
8
- className,
9
- label,
10
- onChange,
11
- placeholder,
12
- disabled,
13
- options,
14
- value,
15
- isSearchable,
16
- isClearable,
17
- }) => {
18
- const [valueSelected, setValueSelected] = useState(value)
19
-
20
- const components = {
21
- Option
22
- }
23
-
24
- return (
25
- <S.Container className={className}>
26
- { label ? <S.Label>{label}</S.Label> : null }
27
- <Select
28
- placeholder={placeholder}
29
- className="react-select-container"
30
- classNamePrefix="react-select"
31
- defaultValue={valueSelected || ''}
32
- options={options}
33
- isDisabled={disabled}
34
- isSearchable={isSearchable}
35
- isClearable={isClearable}
36
- components={components}
37
- onChange={(values: any) => {
38
- setValueSelected(values)
39
- onChange(values)
40
- }}
41
- />
42
- </S.Container>
43
- )
44
- }
45
-
1
+ import React, { useState } from "react"
2
+ import Select from "react-select"
3
+ import { SelectInputProps } from "./interfaces"
4
+ import * as S from "./styles"
5
+ import Option from "./components/Option"
6
+
7
+ const SelectInput:React.FC<SelectInputProps> = ({
8
+ className,
9
+ label,
10
+ onChange,
11
+ placeholder,
12
+ disabled,
13
+ options,
14
+ value,
15
+ isSearchable,
16
+ isClearable,
17
+ }) => {
18
+ const [valueSelected, setValueSelected] = useState(value)
19
+
20
+ const components = {
21
+ Option
22
+ }
23
+
24
+ return (
25
+ <S.Container className={className}>
26
+ { label ? <S.Label>{label}</S.Label> : null }
27
+ <Select
28
+ placeholder={placeholder}
29
+ className="react-select-container"
30
+ classNamePrefix="react-select"
31
+ defaultValue={valueSelected || ''}
32
+ options={options}
33
+ isDisabled={disabled}
34
+ isSearchable={isSearchable}
35
+ isClearable={isClearable}
36
+ components={components}
37
+ onChange={(values: any) => {
38
+ setValueSelected(values)
39
+ onChange(values)
40
+ }}
41
+ />
42
+ </S.Container>
43
+ )
44
+ }
45
+
46
46
  export default SelectInput
@@ -1,16 +1,16 @@
1
- export interface Option {
2
- value: string | number,
3
- label: string
4
- }
5
-
6
- export interface SelectInputProps {
7
- className?: string
8
- label?: string
9
- onChange: Function
10
- placeholder?: string
11
- disabled?: boolean
12
- options: Option[]
13
- value: Option
14
- isSearchable?: boolean
15
- isClearable?: boolean
1
+ export interface Option {
2
+ value: string | number,
3
+ label: string
4
+ }
5
+
6
+ export interface SelectInputProps {
7
+ className?: string
8
+ label?: string
9
+ onChange: Function
10
+ placeholder?: string
11
+ disabled?: boolean
12
+ options: Option[]
13
+ value: Option
14
+ isSearchable?: boolean
15
+ isClearable?: boolean
16
16
  }
@@ -1,32 +1,32 @@
1
- import styled from "styled-components";
2
-
3
- export const Container = styled.div`
4
- width: 100%;
5
- display: flex;
6
- flex-direction: column;
7
- .react-select {
8
- &__control {
9
- border-radius: 0;
10
- border: none;
11
- border-bottom: 1px solid #00000033;
12
- }
13
- &__control--is-focused {
14
- border-bottom: 1px solid #00000033;
15
- box-shadow: none;
16
- }
17
- &__control:hover {
18
- border: none;
19
- border-bottom: 1px solid #00000033;
20
- box-shadow: 0 0 0 #fff;
21
- }
22
- &__indicator-separator {
23
- background: #fff;
24
- }
25
- }
26
- `
27
-
28
- export const Label = styled.label`
29
- font-size: 14px;
30
- margin: 0 0 4px 0;
31
- color: #666;
1
+ import styled from "styled-components";
2
+
3
+ export const Container = styled.div`
4
+ width: 100%;
5
+ display: flex;
6
+ flex-direction: column;
7
+ .react-select {
8
+ &__control {
9
+ border-radius: 0;
10
+ border: none;
11
+ border-bottom: 1px solid #00000033;
12
+ }
13
+ &__control--is-focused {
14
+ border-bottom: 1px solid #00000033;
15
+ box-shadow: none;
16
+ }
17
+ &__control:hover {
18
+ border: none;
19
+ border-bottom: 1px solid #00000033;
20
+ box-shadow: 0 0 0 #fff;
21
+ }
22
+ &__indicator-separator {
23
+ background: #fff;
24
+ }
25
+ }
26
+ `
27
+
28
+ export const Label = styled.label`
29
+ font-size: 14px;
30
+ margin: 0 0 4px 0;
31
+ color: #666;
32
32
  `
@@ -1,75 +1,75 @@
1
- import styled from 'styled-components';
2
-
3
- export const Container = styled.div`
4
- width: 100vw;
5
- height: 100vh;
6
- position: fixed;
7
- top: 0;
8
- left: 0;
9
- display: flex;
10
- justify-content: center;
11
- align-items: center;
12
- background: rgba(0, 0, 0, 0.6);
13
- z-index: 9999;
14
- `;
15
-
16
- export const Modal = styled.div<{ $w?: string }>`
17
- display: flex;
18
- width: ${props => props.$w || '430px'};
19
- padding: 24px;
20
- flex-direction: column;
21
- justify-content: center;
22
- align-items: flex-start;
23
- border-radius: 4px;
24
- background: #fff;
25
- `;
26
-
27
- export const ModalHeader = styled.div`
28
- display: flex;
29
- gap: 16px;
30
- align-self: stretch;
31
- align-items: center;
32
- `;
33
-
34
- export const ModalIcon = styled.div<{ $bg: string }>`
35
- display: flex;
36
- padding: 4px;
37
- align-items: center;
38
- border-radius: 4px;
39
- background-color: ${props => props.$bg};
40
- `;
41
-
42
- export const ModalTitle = styled.h1`
43
- color: #1d1d1d;
44
- font-size: 24px;
45
- font-style: normal;
46
- font-weight: 500;
47
- letter-spacing: 0.25px;
48
- margin: 0;
49
- `;
50
-
51
- export const ModalBody = styled.div`
52
- display: flex;
53
- width: 100%;
54
- border-bottom: 2px solid #a3a3a3;
55
- margin-top: 16px;
56
- padding-bottom: 32px;
57
- `;
58
-
59
- export const ModalText = styled.p`
60
- color: rgba(0, 0, 0, 0.87);
61
- font-size: 16px;
62
- font-style: normal;
63
- font-weight: 400;
64
- letter-spacing: 0.17px;
65
- margin: 0;
66
- line-height: 1.3;
67
- `;
68
-
69
- export const ModalFooter = styled.div`
70
- display: flex;
71
- justify-content: flex-end;
72
- width: 100%;
73
- margin-top: 8px;
74
- gap: 8px;
75
- `;
1
+ import styled from 'styled-components';
2
+
3
+ export const Container = styled.div`
4
+ width: 100vw;
5
+ height: 100vh;
6
+ position: fixed;
7
+ top: 0;
8
+ left: 0;
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+ background: rgba(0, 0, 0, 0.6);
13
+ z-index: 9999;
14
+ `;
15
+
16
+ export const Modal = styled.div<{ $w?: string }>`
17
+ display: flex;
18
+ width: ${props => props.$w || '430px'};
19
+ padding: 24px;
20
+ flex-direction: column;
21
+ justify-content: center;
22
+ align-items: flex-start;
23
+ border-radius: 4px;
24
+ background: #fff;
25
+ `;
26
+
27
+ export const ModalHeader = styled.div`
28
+ display: flex;
29
+ gap: 16px;
30
+ align-self: stretch;
31
+ align-items: center;
32
+ `;
33
+
34
+ export const ModalIcon = styled.div<{ $bg: string }>`
35
+ display: flex;
36
+ padding: 4px;
37
+ align-items: center;
38
+ border-radius: 4px;
39
+ background-color: ${props => props.$bg};
40
+ `;
41
+
42
+ export const ModalTitle = styled.h1`
43
+ color: #1d1d1d;
44
+ font-size: 24px;
45
+ font-style: normal;
46
+ font-weight: 500;
47
+ letter-spacing: 0.25px;
48
+ margin: 0;
49
+ `;
50
+
51
+ export const ModalBody = styled.div`
52
+ display: flex;
53
+ width: 100%;
54
+ border-bottom: 2px solid #a3a3a3;
55
+ margin-top: 16px;
56
+ padding-bottom: 32px;
57
+ `;
58
+
59
+ export const ModalText = styled.p`
60
+ color: rgba(0, 0, 0, 0.87);
61
+ font-size: 16px;
62
+ font-style: normal;
63
+ font-weight: 400;
64
+ letter-spacing: 0.17px;
65
+ margin: 0;
66
+ line-height: 1.3;
67
+ `;
68
+
69
+ export const ModalFooter = styled.div`
70
+ display: flex;
71
+ justify-content: flex-end;
72
+ width: 100%;
73
+ margin-top: 8px;
74
+ gap: 8px;
75
+ `;