norma-library 0.5.131 → 0.5.132

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 (182) 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/styles.d.ts +1 -1
  9. package/dist/esm/components/Breadcrumb/styles.d.ts +4 -4
  10. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.d.ts +1 -1
  11. package/dist/esm/components/DateInput/styles.d.ts +2 -2
  12. package/dist/esm/components/Icons.d.ts +1 -1
  13. package/dist/esm/components/MultiSelectInput/components/Option/styles.d.ts +1 -1
  14. package/dist/esm/components/MultiSelectInput/styles.d.ts +2 -2
  15. package/dist/esm/components/ProgressBar.d.ts +1 -1
  16. package/dist/esm/components/ProgressBar.js +19 -8
  17. package/dist/esm/components/ProgressBar.js.map +1 -1
  18. package/dist/esm/components/SelectInput/components/Option/styles.d.ts +1 -1
  19. package/dist/esm/components/SelectInput/styles.d.ts +2 -2
  20. package/dist/esm/components/Table/components/header/styles.d.ts +8 -8
  21. package/dist/esm/components/Table/components/pagination/styles.d.ts +1 -1
  22. package/dist/esm/components/Table/components/tbody/styles.d.ts +1 -1
  23. package/dist/esm/components/Table/styles.d.ts +10 -10
  24. package/dist/esm/components/TextInput/styles.d.ts +3 -3
  25. package/dist/esm/components/Typography/Text/styles.d.ts +1 -1
  26. package/dist/esm/components/Typography/Title/styles.d.ts +1 -1
  27. package/dist/esm/components/UncontrolledTable/components/header/styles.d.ts +8 -8
  28. package/dist/esm/components/UncontrolledTable/components/pagination/styles.d.ts +1 -1
  29. package/dist/esm/components/UncontrolledTable/components/tbody/styles.d.ts +1 -1
  30. package/dist/esm/components/UncontrolledTable/styles.d.ts +10 -10
  31. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.style.d.ts +1 -1
  32. package/dist/esm/interfaces/ProgressBar.d.ts +5 -1
  33. package/docs/index.md +118 -118
  34. package/package.json +136 -136
  35. package/src/components/Accordion.tsx +39 -39
  36. package/src/components/Avatar.tsx +17 -17
  37. package/src/components/Badge.tsx +14 -14
  38. package/src/components/Box/index.tsx +12 -12
  39. package/src/components/Box/interfaces.ts +3 -3
  40. package/src/components/Box/styles.tsx +22 -22
  41. package/src/components/Breadcrumb/index.tsx +27 -27
  42. package/src/components/Breadcrumb/interface.ts +8 -8
  43. package/src/components/Breadcrumb/styles.tsx +32 -32
  44. package/src/components/Button.tsx +26 -26
  45. package/src/components/Card.tsx +37 -37
  46. package/src/components/ChatMessage.tsx +87 -87
  47. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  48. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  49. package/src/components/CheckBox.tsx +21 -21
  50. package/src/components/DateInput/index.tsx +34 -34
  51. package/src/components/DateInput/interface.ts +13 -13
  52. package/src/components/DateInput/styles.tsx +27 -27
  53. package/src/components/DatePicker.tsx +67 -67
  54. package/src/components/DropDown.tsx +24 -24
  55. package/src/components/IconButton.tsx +37 -37
  56. package/src/components/Icons.tsx +82 -82
  57. package/src/components/Modal.tsx +113 -113
  58. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  59. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  60. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  61. package/src/components/MultiSelectInput/index.tsx +60 -60
  62. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  63. package/src/components/MultiSelectInput/styles.tsx +43 -43
  64. package/src/components/Paper.tsx +12 -12
  65. package/src/components/ProgressBar.tsx +63 -50
  66. package/src/components/RadioGroup.tsx +43 -43
  67. package/src/components/RangerSlider.tsx +65 -65
  68. package/src/components/Select.tsx +74 -74
  69. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  70. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  71. package/src/components/SelectInput/index.tsx +45 -45
  72. package/src/components/SelectInput/interfaces.ts +15 -15
  73. package/src/components/SelectInput/styles.tsx +31 -31
  74. package/src/components/Svgs.tsx +506 -506
  75. package/src/components/Table/components/header/index.tsx +86 -86
  76. package/src/components/Table/components/header/styles.tsx +59 -59
  77. package/src/components/Table/components/index.tsx +8 -8
  78. package/src/components/Table/components/pagination/index.tsx +39 -39
  79. package/src/components/Table/components/pagination/styles.tsx +28 -28
  80. package/src/components/Table/components/tbody/index.tsx +30 -30
  81. package/src/components/Table/components/tbody/styles.tsx +4 -4
  82. package/src/components/Table/index.tsx +317 -317
  83. package/src/components/Table/interface.ts +23 -23
  84. package/src/components/Table/styles.tsx +117 -117
  85. package/src/components/Tabs.tsx +105 -105
  86. package/src/components/Tag.tsx +33 -33
  87. package/src/components/TextField.tsx +19 -19
  88. package/src/components/TextInput/index.tsx +37 -37
  89. package/src/components/TextInput/interface.ts +9 -9
  90. package/src/components/TextInput/styles.tsx +23 -23
  91. package/src/components/TimeLine.tsx +89 -89
  92. package/src/components/TimePicker.tsx +78 -78
  93. package/src/components/Typography/Text/index.tsx +20 -20
  94. package/src/components/Typography/Text/interfaces.ts +5 -5
  95. package/src/components/Typography/Text/styles.tsx +40 -40
  96. package/src/components/Typography/Title/index.tsx +22 -22
  97. package/src/components/Typography/Title/interfaces.ts +6 -6
  98. package/src/components/Typography/Title/styles.tsx +40 -40
  99. package/src/components/Typography/index.tsx +6 -6
  100. package/src/components/UncontrolledTable/components/header/index.tsx +63 -63
  101. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -59
  102. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  103. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  104. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  105. package/src/components/UncontrolledTable/components/tbody/index.tsx +30 -30
  106. package/src/components/UncontrolledTable/components/tbody/styles.tsx +4 -4
  107. package/src/components/UncontrolledTable/index.tsx +226 -226
  108. package/src/components/UncontrolledTable/interface.ts +42 -42
  109. package/src/components/UncontrolledTable/styles.tsx +120 -120
  110. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +51 -51
  111. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
  112. package/src/components/index.ts +24 -24
  113. package/src/helpers/alignments.ts +14 -14
  114. package/src/helpers/borders.ts +18 -18
  115. package/src/helpers/colors.ts +206 -206
  116. package/src/helpers/index.ts +5 -5
  117. package/src/helpers/radios.ts +24 -24
  118. package/src/helpers/sizes.ts +72 -72
  119. package/src/index.ts +66 -66
  120. package/src/interfaces/Accordion.ts +12 -12
  121. package/src/interfaces/Avatar.tsx +15 -15
  122. package/src/interfaces/Badge.ts +19 -19
  123. package/src/interfaces/Button.ts +22 -22
  124. package/src/interfaces/Card.ts +11 -11
  125. package/src/interfaces/ChatMessage.ts +12 -12
  126. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  127. package/src/interfaces/CheckBox.ts +27 -27
  128. package/src/interfaces/DatePicker.ts +13 -13
  129. package/src/interfaces/DropDown.ts +14 -14
  130. package/src/interfaces/IconButton.ts +22 -22
  131. package/src/interfaces/Icons.ts +17 -17
  132. package/src/interfaces/Modal.ts +16 -16
  133. package/src/interfaces/Paper.ts +12 -12
  134. package/src/interfaces/ProgressBar.ts +25 -19
  135. package/src/interfaces/RadioGroup.ts +23 -23
  136. package/src/interfaces/RangerSlider.ts +21 -21
  137. package/src/interfaces/Select.ts +17 -17
  138. package/src/interfaces/Tabs.ts +19 -19
  139. package/src/interfaces/Tag.ts +17 -17
  140. package/src/interfaces/TextField.ts +44 -44
  141. package/src/interfaces/TimeLine.ts +11 -11
  142. package/src/interfaces/TimePicker.ts +13 -13
  143. package/src/interfaces/index.ts +23 -23
  144. package/src/providers/NormaProvider.tsx +13 -13
  145. package/src/sample-data-2.json +178 -178
  146. package/src/sample-data.json +177 -177
  147. package/src/stories/Accordion.stories.tsx +65 -65
  148. package/src/stories/Avatar.stories.tsx +123 -123
  149. package/src/stories/Badge.stories.tsx +39 -39
  150. package/src/stories/Box.stories.tsx +35 -35
  151. package/src/stories/Breadcrumb.stories.tsx +44 -44
  152. package/src/stories/Button.stories.tsx +93 -93
  153. package/src/stories/Card.stories.tsx +39 -39
  154. package/src/stories/ChatMessage.stories.tsx +84 -84
  155. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  156. package/src/stories/CheckBox.stories.tsx +88 -88
  157. package/src/stories/DateInput.stories.tsx +51 -51
  158. package/src/stories/DatePicker.stories.tsx +50 -50
  159. package/src/stories/DropDown.stories.tsx +57 -57
  160. package/src/stories/IconButton.stories.tsx +78 -78
  161. package/src/stories/Modal.stories.tsx +195 -195
  162. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  163. package/src/stories/Paper.stories.tsx +53 -53
  164. package/src/stories/ProgressBar.stories.tsx +113 -95
  165. package/src/stories/RadioGroup.stories.tsx +87 -87
  166. package/src/stories/RangerSlider.stories.tsx +58 -58
  167. package/src/stories/Select.stories.tsx +100 -100
  168. package/src/stories/SelectInput.stories.tsx +78 -78
  169. package/src/stories/Table.stories.tsx +372 -372
  170. package/src/stories/Tabs.stories.tsx +61 -61
  171. package/src/stories/Tag.stories.tsx +56 -56
  172. package/src/stories/Text.stories.tsx +37 -37
  173. package/src/stories/TextField.stories.tsx +310 -310
  174. package/src/stories/TextInput.stories.tsx +52 -52
  175. package/src/stories/TimeLine.stories.tsx +35 -35
  176. package/src/stories/TimePicker.stories.tsx +87 -87
  177. package/src/stories/Title.stories.tsx +43 -43
  178. package/src/stories/UncontrolledTable.stories.tsx +337 -337
  179. package/src/stories/UncontrolledTabs.stories.tsx +63 -63
  180. package/src/styles/globals.scss +17 -17
  181. package/src/types/index.ts +204 -204
  182. package/vite.config.ts +15 -15
@@ -1,82 +1,82 @@
1
- import React, { FunctionComponent } from 'react';
2
- import { iconsSVG } from './Svgs';
3
- import { IconColors, IconScale } from '../types';
4
- import { IconsProps, SvgProps } from '../interfaces/Icons';
5
- import styled from '@emotion/styled';
6
- import { palette } from '../helpers';
7
-
8
- export const Svg = styled.svg<SvgProps>(
9
- {
10
- shapeRendering: 'inherit',
11
- transform: 'translate3d(0,0,0)',
12
- },
13
- ({ inline }) => (inline ? { display: 'inline-block' } : { display: 'block' }),
14
- );
15
-
16
- const scaleSize: Record<IconScale, number> = {
17
- xsmall: 14,
18
- small: 20,
19
- medium: 24,
20
- large: 28,
21
- xlarge: 32,
22
- '2xlarge': 36,
23
- '3xlarge': 40,
24
- };
25
-
26
- // Definindo um objeto com as cores de preenchimento e traço com base no MUI
27
- const colors: Record<IconColors, string> = {
28
- inherit: palette.inherit,
29
- primary: palette.primary,
30
- secondary: palette.secondary,
31
- error: palette.error,
32
- info: palette.info,
33
- success: palette.success,
34
- warning: palette.warning,
35
- white: palette.white,
36
- black: palette.black,
37
- };
38
-
39
- export const Icons: FunctionComponent<IconsProps> = ({
40
- icon,
41
- scale,
42
- useSymbol,
43
- color = 'inherit',
44
- ...props
45
- }: IconsProps) => {
46
- let width = 24;
47
- let height = 24;
48
- if (scale) {
49
- width = scaleSize[scale];
50
- height = scaleSize[scale];
51
- }
52
-
53
- // Obtém a cor de preenchimento e traço com base no valor da prop 'color'
54
- const fill = colors[color];
55
- const stroke = colors[color];
56
-
57
- const Svg = styled.svg`
58
- display: inline-block;
59
- shape-rendering: inherit;
60
- vertical-align: middle;
61
- fill: ${fill};
62
- path {
63
- stroke: ${stroke};
64
- }
65
- circle {
66
- stroke: ${stroke};
67
- }
68
- rect {
69
- stroke: ${stroke};
70
- }
71
- `;
72
-
73
- return (
74
- <Svg viewBox="0 0 56 56" width={`${width}px`} height={`${height}px`} {...props}>
75
- {useSymbol ? (
76
- <use xlinkHref={`#icon--${icon}`} fill={fill} stroke={stroke} />
77
- ) : (
78
- React.cloneElement(iconsSVG[icon], { fill, stroke })
79
- )}
80
- </Svg>
81
- );
82
- };
1
+ import React, { FunctionComponent } from 'react';
2
+ import { iconsSVG } from './Svgs';
3
+ import { IconColors, IconScale } from '../types';
4
+ import { IconsProps, SvgProps } from '../interfaces/Icons';
5
+ import styled from '@emotion/styled';
6
+ import { palette } from '../helpers';
7
+
8
+ export const Svg = styled.svg<SvgProps>(
9
+ {
10
+ shapeRendering: 'inherit',
11
+ transform: 'translate3d(0,0,0)',
12
+ },
13
+ ({ inline }) => (inline ? { display: 'inline-block' } : { display: 'block' }),
14
+ );
15
+
16
+ const scaleSize: Record<IconScale, number> = {
17
+ xsmall: 14,
18
+ small: 20,
19
+ medium: 24,
20
+ large: 28,
21
+ xlarge: 32,
22
+ '2xlarge': 36,
23
+ '3xlarge': 40,
24
+ };
25
+
26
+ // Definindo um objeto com as cores de preenchimento e traço com base no MUI
27
+ const colors: Record<IconColors, string> = {
28
+ inherit: palette.inherit,
29
+ primary: palette.primary,
30
+ secondary: palette.secondary,
31
+ error: palette.error,
32
+ info: palette.info,
33
+ success: palette.success,
34
+ warning: palette.warning,
35
+ white: palette.white,
36
+ black: palette.black,
37
+ };
38
+
39
+ export const Icons: FunctionComponent<IconsProps> = ({
40
+ icon,
41
+ scale,
42
+ useSymbol,
43
+ color = 'inherit',
44
+ ...props
45
+ }: IconsProps) => {
46
+ let width = 24;
47
+ let height = 24;
48
+ if (scale) {
49
+ width = scaleSize[scale];
50
+ height = scaleSize[scale];
51
+ }
52
+
53
+ // Obtém a cor de preenchimento e traço com base no valor da prop 'color'
54
+ const fill = colors[color];
55
+ const stroke = colors[color];
56
+
57
+ const Svg = styled.svg`
58
+ display: inline-block;
59
+ shape-rendering: inherit;
60
+ vertical-align: middle;
61
+ fill: ${fill};
62
+ path {
63
+ stroke: ${stroke};
64
+ }
65
+ circle {
66
+ stroke: ${stroke};
67
+ }
68
+ rect {
69
+ stroke: ${stroke};
70
+ }
71
+ `;
72
+
73
+ return (
74
+ <Svg viewBox="0 0 56 56" width={`${width}px`} height={`${height}px`} {...props}>
75
+ {useSymbol ? (
76
+ <use xlinkHref={`#icon--${icon}`} fill={fill} stroke={stroke} />
77
+ ) : (
78
+ React.cloneElement(iconsSVG[icon], { fill, stroke })
79
+ )}
80
+ </Svg>
81
+ );
82
+ };
@@ -1,113 +1,113 @@
1
- import React from 'react';
2
- import { Modal as MuiModal, Paper, Box, Typography } from '@mui/material';
3
- import { ModalBaseProps } from '../interfaces';
4
- import { styled } from '@mui/material/styles';
5
- import { IconButton } from './IconButton';
6
- import { Button } from './Button';
7
-
8
- const ModalStyled = styled(MuiModal)({});
9
-
10
- const ModalContentStyled = styled(Paper)`
11
- border: 1px solid #00000033;
12
- border-radius: 4px;
13
- position: absolute;
14
- top: 50%;
15
- left: 50%;
16
- width: 421px;
17
- transform: translate(-50%, -50%);
18
- background-color: #FFF;
19
- box-shadow: 24px;
20
- `;
21
-
22
- const ModalHeaderStyled = styled(Box)`
23
- text-align: left;
24
- border-bottom: 1px solid #00000033;
25
- box-sizing: border-box;
26
- margin: 0;
27
- position: relative;
28
- padding: 22px 26px 15px 26px;
29
- justify-content: space-between;
30
- display: flex;
31
-
32
- & h2 {
33
- font: normal normal 600 18px/30px Source Sans Pro;
34
- color: #292929;
35
- }
36
- `;
37
-
38
- const ModalFooterStyled = styled(Box)`
39
- border-top: 1px solid #00000033;
40
- box-sizing: border-box;
41
- position: relative;
42
- padding: 24px;
43
- display: flex;
44
- justify-content: end;
45
- gap: 24px;
46
- `;
47
-
48
- const ModalContainerChildrenStyled = styled(Box)`
49
- box-sizing: border-box;
50
- padding: 24px;
51
- `;
52
-
53
- export function Close() {
54
- return (
55
- <svg
56
- fill="#808080"
57
- viewBox="0 0 24 24"
58
- xmlns="http://www.w3.org/2000/svg"
59
- aria-hidden="true"
60
- height="24"
61
- width="24"
62
- >
63
- <path
64
- clipRule="evenodd"
65
- fillRule="evenodd"
66
- d="M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z"
67
- />
68
- </svg>
69
- );
70
- }
71
-
72
- export const Modal = ({ open, children, paperProps, ...props }: ModalBaseProps) => {
73
- return (
74
- <ModalStyled open {...props}>
75
- <ModalContentStyled {...paperProps}>
76
- {props.title && (
77
- <ModalHeaderStyled>
78
- <Typography variant='h2'>{props.title}</Typography>
79
- <IconButton
80
- onClick={props.onClose}
81
- size="small"
82
- color="inherit"
83
- variant="text"
84
- cursor="pointer"
85
- sx={{padding: "0"}}
86
- >
87
- <Close />
88
- </IconButton>
89
- </ModalHeaderStyled>
90
- )}
91
- <ModalContainerChildrenStyled>
92
- {children}
93
- </ModalContainerChildrenStyled>
94
- {!!props.action?.length && (
95
- <ModalFooterStyled>
96
- {props.action.map(({color, variant, action, size, label, ...rest}, key) => (
97
- <Button
98
- color={color}
99
- variant={variant}
100
- key={key}
101
- onClick={action}
102
- size={size}
103
- {...rest}
104
- >
105
- {label}
106
- </Button>
107
- ))}
108
- </ModalFooterStyled>
109
- )}
110
- </ModalContentStyled>
111
- </ModalStyled>
112
- );
113
- };
1
+ import React from 'react';
2
+ import { Modal as MuiModal, Paper, Box, Typography } from '@mui/material';
3
+ import { ModalBaseProps } from '../interfaces';
4
+ import { styled } from '@mui/material/styles';
5
+ import { IconButton } from './IconButton';
6
+ import { Button } from './Button';
7
+
8
+ const ModalStyled = styled(MuiModal)({});
9
+
10
+ const ModalContentStyled = styled(Paper)`
11
+ border: 1px solid #00000033;
12
+ border-radius: 4px;
13
+ position: absolute;
14
+ top: 50%;
15
+ left: 50%;
16
+ width: 421px;
17
+ transform: translate(-50%, -50%);
18
+ background-color: #FFF;
19
+ box-shadow: 24px;
20
+ `;
21
+
22
+ const ModalHeaderStyled = styled(Box)`
23
+ text-align: left;
24
+ border-bottom: 1px solid #00000033;
25
+ box-sizing: border-box;
26
+ margin: 0;
27
+ position: relative;
28
+ padding: 22px 26px 15px 26px;
29
+ justify-content: space-between;
30
+ display: flex;
31
+
32
+ & h2 {
33
+ font: normal normal 600 18px/30px Source Sans Pro;
34
+ color: #292929;
35
+ }
36
+ `;
37
+
38
+ const ModalFooterStyled = styled(Box)`
39
+ border-top: 1px solid #00000033;
40
+ box-sizing: border-box;
41
+ position: relative;
42
+ padding: 24px;
43
+ display: flex;
44
+ justify-content: end;
45
+ gap: 24px;
46
+ `;
47
+
48
+ const ModalContainerChildrenStyled = styled(Box)`
49
+ box-sizing: border-box;
50
+ padding: 24px;
51
+ `;
52
+
53
+ export function Close() {
54
+ return (
55
+ <svg
56
+ fill="#808080"
57
+ viewBox="0 0 24 24"
58
+ xmlns="http://www.w3.org/2000/svg"
59
+ aria-hidden="true"
60
+ height="24"
61
+ width="24"
62
+ >
63
+ <path
64
+ clipRule="evenodd"
65
+ fillRule="evenodd"
66
+ d="M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z"
67
+ />
68
+ </svg>
69
+ );
70
+ }
71
+
72
+ export const Modal = ({ open, children, paperProps, ...props }: ModalBaseProps) => {
73
+ return (
74
+ <ModalStyled open {...props}>
75
+ <ModalContentStyled {...paperProps}>
76
+ {props.title && (
77
+ <ModalHeaderStyled>
78
+ <Typography variant='h2'>{props.title}</Typography>
79
+ <IconButton
80
+ onClick={props.onClose}
81
+ size="small"
82
+ color="inherit"
83
+ variant="text"
84
+ cursor="pointer"
85
+ sx={{padding: "0"}}
86
+ >
87
+ <Close />
88
+ </IconButton>
89
+ </ModalHeaderStyled>
90
+ )}
91
+ <ModalContainerChildrenStyled>
92
+ {children}
93
+ </ModalContainerChildrenStyled>
94
+ {!!props.action?.length && (
95
+ <ModalFooterStyled>
96
+ {props.action.map(({color, variant, action, size, label, ...rest}, key) => (
97
+ <Button
98
+ color={color}
99
+ variant={variant}
100
+ key={key}
101
+ onClick={action}
102
+ size={size}
103
+ {...rest}
104
+ >
105
+ {label}
106
+ </Button>
107
+ ))}
108
+ </ModalFooterStyled>
109
+ )}
110
+ </ModalContentStyled>
111
+ </ModalStyled>
112
+ );
113
+ };
@@ -1,44 +1,44 @@
1
- import React from 'react'
2
- import { components } from "react-select"
3
-
4
- const MoreSelectedBadge = ({ items }: any) => {
5
- const style = {
6
- marginLeft: "auto",
7
- background: "#F8F9FA",
8
- color: "#666666",
9
- borderRadius: "4px",
10
- fontFamily: "Open Sans",
11
- fontSize: "11px",
12
- padding: "3px",
13
- order: 99
14
- };
15
-
16
- const title = items.join(", ");
17
- const length = items.length;
18
- const label = `+ ${length}`;
19
-
20
- return (
21
- <div style={style} title={title}>
22
- {label}
23
- </div>
24
- );
25
- };
26
-
27
- const MultiValue:React.FC<any> = ({
28
- index,
29
- getValue,
30
- ...props
31
- }) => {
32
- const maxToShow = 3;
33
- const overflow = getValue()
34
- .slice(maxToShow)
35
- .map((x: any) => x.label);
36
-
37
- return index < maxToShow ? (
38
- <components.MultiValue {...props} />
39
- ) : index === maxToShow ? (
40
- <MoreSelectedBadge items={overflow} />
41
- ) : null;
42
- }
43
-
44
- export default MultiValue
1
+ import React from 'react'
2
+ import { components } from "react-select"
3
+
4
+ const MoreSelectedBadge = ({ items }: any) => {
5
+ const style = {
6
+ marginLeft: "auto",
7
+ background: "#F8F9FA",
8
+ color: "#666666",
9
+ borderRadius: "4px",
10
+ fontFamily: "Open Sans",
11
+ fontSize: "11px",
12
+ padding: "3px",
13
+ order: 99
14
+ };
15
+
16
+ const title = items.join(", ");
17
+ const length = items.length;
18
+ const label = `+ ${length}`;
19
+
20
+ return (
21
+ <div style={style} title={title}>
22
+ {label}
23
+ </div>
24
+ );
25
+ };
26
+
27
+ const MultiValue:React.FC<any> = ({
28
+ index,
29
+ getValue,
30
+ ...props
31
+ }) => {
32
+ const maxToShow = 3;
33
+ const overflow = getValue()
34
+ .slice(maxToShow)
35
+ .map((x: any) => x.label);
36
+
37
+ return index < maxToShow ? (
38
+ <components.MultiValue {...props} />
39
+ ) : index === maxToShow ? (
40
+ <MoreSelectedBadge items={overflow} />
41
+ ) : null;
42
+ }
43
+
44
+ export default MultiValue
@@ -1,63 +1,63 @@
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
- <input type="checkbox" checked={isSelected} onChange={() => null}/>
57
- {children}
58
- </components.Option>
59
- </S.Container>
60
- );
61
- };
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
+ <input type="checkbox" checked={isSelected} onChange={() => null}/>
57
+ {children}
58
+ </components.Option>
59
+ </S.Container>
60
+ );
61
+ };
62
+
63
63
  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
  `