norma-library 0.5.127 → 0.5.129

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 (164) 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/RadioGroup.js +2 -1
  9. package/dist/esm/components/RadioGroup.js.map +1 -1
  10. package/dist/esm/components/Tabs.js +0 -1
  11. package/dist/esm/components/Tabs.js.map +1 -1
  12. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.style.js +0 -1
  13. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.style.js.map +1 -1
  14. package/dist/esm/interfaces/RadioGroup.d.ts +2 -1
  15. package/docs/index.md +118 -118
  16. package/package.json +136 -136
  17. package/src/components/Accordion.tsx +39 -39
  18. package/src/components/Avatar.tsx +17 -17
  19. package/src/components/Badge.tsx +14 -14
  20. package/src/components/Box/index.tsx +12 -12
  21. package/src/components/Box/interfaces.ts +3 -3
  22. package/src/components/Box/styles.tsx +22 -22
  23. package/src/components/Breadcrumb/index.tsx +27 -27
  24. package/src/components/Breadcrumb/interface.ts +8 -8
  25. package/src/components/Breadcrumb/styles.tsx +32 -32
  26. package/src/components/Button.tsx +26 -26
  27. package/src/components/Card.tsx +37 -37
  28. package/src/components/ChatMessage.tsx +87 -87
  29. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  30. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  31. package/src/components/CheckBox.tsx +21 -21
  32. package/src/components/DateInput/index.tsx +34 -34
  33. package/src/components/DateInput/interface.ts +13 -13
  34. package/src/components/DateInput/styles.tsx +27 -27
  35. package/src/components/DatePicker.tsx +67 -67
  36. package/src/components/DropDown.tsx +24 -24
  37. package/src/components/IconButton.tsx +37 -37
  38. package/src/components/Icons.tsx +82 -82
  39. package/src/components/Modal.tsx +113 -113
  40. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  41. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  42. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  43. package/src/components/MultiSelectInput/index.tsx +60 -60
  44. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  45. package/src/components/MultiSelectInput/styles.tsx +43 -43
  46. package/src/components/Paper.tsx +12 -12
  47. package/src/components/ProgressBar.tsx +51 -51
  48. package/src/components/RadioGroup.tsx +43 -41
  49. package/src/components/RangerSlider.tsx +65 -65
  50. package/src/components/Select.tsx +74 -74
  51. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  52. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  53. package/src/components/SelectInput/index.tsx +45 -45
  54. package/src/components/SelectInput/interfaces.ts +15 -15
  55. package/src/components/SelectInput/styles.tsx +31 -31
  56. package/src/components/Svgs.tsx +506 -506
  57. package/src/components/Table/components/header/index.tsx +86 -86
  58. package/src/components/Table/components/header/styles.tsx +59 -59
  59. package/src/components/Table/components/index.tsx +8 -8
  60. package/src/components/Table/components/pagination/index.tsx +39 -39
  61. package/src/components/Table/components/pagination/styles.tsx +28 -28
  62. package/src/components/Table/components/tbody/index.tsx +30 -30
  63. package/src/components/Table/components/tbody/styles.tsx +4 -4
  64. package/src/components/Table/index.tsx +317 -317
  65. package/src/components/Table/interface.ts +23 -23
  66. package/src/components/Table/styles.tsx +117 -117
  67. package/src/components/Tabs.tsx +105 -106
  68. package/src/components/Tag.tsx +33 -33
  69. package/src/components/TextField.tsx +19 -19
  70. package/src/components/TextInput/index.tsx +37 -37
  71. package/src/components/TextInput/interface.ts +9 -9
  72. package/src/components/TextInput/styles.tsx +23 -23
  73. package/src/components/TimeLine.tsx +89 -89
  74. package/src/components/TimePicker.tsx +78 -78
  75. package/src/components/Typography/Text/index.tsx +20 -20
  76. package/src/components/Typography/Text/interfaces.ts +5 -5
  77. package/src/components/Typography/Text/styles.tsx +40 -40
  78. package/src/components/Typography/Title/index.tsx +22 -22
  79. package/src/components/Typography/Title/interfaces.ts +6 -6
  80. package/src/components/Typography/Title/styles.tsx +40 -40
  81. package/src/components/Typography/index.tsx +6 -6
  82. package/src/components/UncontrolledTable/components/header/index.tsx +63 -63
  83. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -59
  84. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  85. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  86. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  87. package/src/components/UncontrolledTable/components/tbody/index.tsx +30 -30
  88. package/src/components/UncontrolledTable/components/tbody/styles.tsx +4 -4
  89. package/src/components/UncontrolledTable/index.tsx +226 -226
  90. package/src/components/UncontrolledTable/interface.ts +42 -42
  91. package/src/components/UncontrolledTable/styles.tsx +120 -120
  92. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +51 -52
  93. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
  94. package/src/components/index.ts +24 -24
  95. package/src/helpers/alignments.ts +14 -14
  96. package/src/helpers/borders.ts +18 -18
  97. package/src/helpers/colors.ts +206 -206
  98. package/src/helpers/index.ts +5 -5
  99. package/src/helpers/radios.ts +24 -24
  100. package/src/helpers/sizes.ts +72 -72
  101. package/src/index.ts +66 -66
  102. package/src/interfaces/Accordion.ts +12 -12
  103. package/src/interfaces/Avatar.tsx +15 -15
  104. package/src/interfaces/Badge.ts +19 -19
  105. package/src/interfaces/Button.ts +22 -22
  106. package/src/interfaces/Card.ts +11 -11
  107. package/src/interfaces/ChatMessage.ts +12 -12
  108. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  109. package/src/interfaces/CheckBox.ts +27 -27
  110. package/src/interfaces/DatePicker.ts +13 -13
  111. package/src/interfaces/DropDown.ts +14 -14
  112. package/src/interfaces/IconButton.ts +22 -22
  113. package/src/interfaces/Icons.ts +17 -17
  114. package/src/interfaces/Modal.ts +16 -16
  115. package/src/interfaces/Paper.ts +12 -12
  116. package/src/interfaces/ProgressBar.ts +19 -19
  117. package/src/interfaces/RadioGroup.ts +23 -22
  118. package/src/interfaces/RangerSlider.ts +21 -21
  119. package/src/interfaces/Select.ts +17 -17
  120. package/src/interfaces/Tabs.ts +19 -19
  121. package/src/interfaces/Tag.ts +17 -17
  122. package/src/interfaces/TextField.ts +44 -44
  123. package/src/interfaces/TimeLine.ts +11 -11
  124. package/src/interfaces/TimePicker.ts +13 -13
  125. package/src/interfaces/index.ts +23 -23
  126. package/src/providers/NormaProvider.tsx +13 -13
  127. package/src/sample-data-2.json +178 -178
  128. package/src/sample-data.json +177 -177
  129. package/src/stories/Accordion.stories.tsx +65 -65
  130. package/src/stories/Avatar.stories.tsx +123 -123
  131. package/src/stories/Badge.stories.tsx +39 -39
  132. package/src/stories/Box.stories.tsx +35 -35
  133. package/src/stories/Breadcrumb.stories.tsx +44 -44
  134. package/src/stories/Button.stories.tsx +93 -93
  135. package/src/stories/Card.stories.tsx +39 -39
  136. package/src/stories/ChatMessage.stories.tsx +84 -84
  137. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  138. package/src/stories/CheckBox.stories.tsx +88 -88
  139. package/src/stories/DateInput.stories.tsx +51 -51
  140. package/src/stories/DatePicker.stories.tsx +50 -50
  141. package/src/stories/DropDown.stories.tsx +57 -57
  142. package/src/stories/IconButton.stories.tsx +78 -78
  143. package/src/stories/Modal.stories.tsx +195 -195
  144. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  145. package/src/stories/Paper.stories.tsx +53 -53
  146. package/src/stories/ProgressBar.stories.tsx +95 -95
  147. package/src/stories/RadioGroup.stories.tsx +87 -87
  148. package/src/stories/RangerSlider.stories.tsx +58 -58
  149. package/src/stories/Select.stories.tsx +100 -100
  150. package/src/stories/SelectInput.stories.tsx +78 -78
  151. package/src/stories/Table.stories.tsx +372 -372
  152. package/src/stories/Tabs.stories.tsx +61 -61
  153. package/src/stories/Tag.stories.tsx +56 -56
  154. package/src/stories/Text.stories.tsx +37 -37
  155. package/src/stories/TextField.stories.tsx +310 -310
  156. package/src/stories/TextInput.stories.tsx +52 -52
  157. package/src/stories/TimeLine.stories.tsx +35 -35
  158. package/src/stories/TimePicker.stories.tsx +87 -87
  159. package/src/stories/Title.stories.tsx +43 -43
  160. package/src/stories/UncontrolledTable.stories.tsx +337 -337
  161. package/src/stories/UncontrolledTabs.stories.tsx +63 -63
  162. package/src/styles/globals.scss +17 -17
  163. package/src/types/index.ts +204 -204
  164. package/vite.config.ts +15 -15
@@ -1,44 +1,44 @@
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 !important;
20
- box-shadow: 0 0 0 #fff;
21
- }
22
- &__indicator-separator {
23
- background: #fff;
24
- }
25
- &__multi-value {
26
- background: transparent;
27
- border-radius: 4px;
28
- &__label {
29
- color: #4D4F5C;
30
- font-size: 18px;
31
- padding: 0;
32
- }
33
- &__remove {
34
- display: none;
35
- }
36
- }
37
- }
38
- `
39
-
40
- export const Label = styled.label`
41
- font-size: 14px;
42
- margin: 0 0 4px 0;
43
- color: #4D4F5C;
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 !important;
20
+ box-shadow: 0 0 0 #fff;
21
+ }
22
+ &__indicator-separator {
23
+ background: #fff;
24
+ }
25
+ &__multi-value {
26
+ background: transparent;
27
+ border-radius: 4px;
28
+ &__label {
29
+ color: #4D4F5C;
30
+ font-size: 18px;
31
+ padding: 0;
32
+ }
33
+ &__remove {
34
+ display: none;
35
+ }
36
+ }
37
+ }
38
+ `
39
+
40
+ export const Label = styled.label`
41
+ font-size: 14px;
42
+ margin: 0 0 4px 0;
43
+ color: #4D4F5C;
44
44
  `
@@ -1,12 +1,12 @@
1
- import React from 'react';
2
- import { Paper as MuiPaper } from '@mui/material';
3
- import { PaperBaseProps } from '../interfaces';
4
- import { styled } from '@mui/material/styles';
5
-
6
- const PaperStyled = styled(MuiPaper)({});
7
-
8
- export const Paper = ({ children, ...props }: PaperBaseProps & {}) => {
9
- return (
10
- <PaperStyled {...props}>{children}</PaperStyled>
11
- );
12
- };
1
+ import React from 'react';
2
+ import { Paper as MuiPaper } from '@mui/material';
3
+ import { PaperBaseProps } from '../interfaces';
4
+ import { styled } from '@mui/material/styles';
5
+
6
+ const PaperStyled = styled(MuiPaper)({});
7
+
8
+ export const Paper = ({ children, ...props }: PaperBaseProps & {}) => {
9
+ return (
10
+ <PaperStyled {...props}>{children}</PaperStyled>
11
+ );
12
+ };
@@ -1,51 +1,51 @@
1
- import React from 'react';
2
- import { LinearProgress as MuiProgressBar, linearProgressClasses, Typography } from '@mui/material';
3
-
4
- import { ProgressBarBaseProps } from '../interfaces';
5
- import { styled } from '@mui/material/styles';
6
-
7
- const ProgressBarStyled = styled(MuiProgressBar)({
8
- width: '100%',
9
- height: '10px',
10
- borderRadius: '10px',
11
- position: 'relative',
12
- backgroundColor: `&.${linearProgressClasses.determinate} {
13
- background-color: #e0e0e0,
14
- }`,
15
- });
16
-
17
- const ProgressBarLabelStyled = styled(Typography)`
18
- display: flex;
19
- justify-content: space-between;
20
- align-items: center;
21
- margin-bottom: 8px;
22
- position: relative;
23
- text-align: left;
24
- font: normal normal normal 16px/20px Source Sans Pro;
25
- `;
26
-
27
- export const ProgressBar = ({
28
- value = 0,
29
- label,
30
- variant = 'determinate',
31
- total,
32
- className,
33
- localeString,
34
- ...props
35
- }: ProgressBarBaseProps) => {
36
- const percentage = value && total ? (value / total) * 100 : 0;
37
-
38
- return (
39
- <div className={className} style={{ minWidth: '100px' }}>
40
- {label && (
41
- <ProgressBarLabelStyled>
42
- {label}
43
- <span style={{ right: 0 }}>
44
- {localeString ? value.toLocaleString() : value} ({percentage.toFixed(2)}%)
45
- </span>
46
- </ProgressBarLabelStyled>
47
- )}
48
- <ProgressBarStyled value={percentage} variant={variant} {...props} />
49
- </div>
50
- );
51
- };
1
+ import React from 'react';
2
+ import { LinearProgress as MuiProgressBar, linearProgressClasses, Typography } from '@mui/material';
3
+
4
+ import { ProgressBarBaseProps } from '../interfaces';
5
+ import { styled } from '@mui/material/styles';
6
+
7
+ const ProgressBarStyled = styled(MuiProgressBar)({
8
+ width: '100%',
9
+ height: '10px',
10
+ borderRadius: '10px',
11
+ position: 'relative',
12
+ backgroundColor: `&.${linearProgressClasses.determinate} {
13
+ background-color: #e0e0e0,
14
+ }`,
15
+ });
16
+
17
+ const ProgressBarLabelStyled = styled(Typography)`
18
+ display: flex;
19
+ justify-content: space-between;
20
+ align-items: center;
21
+ margin-bottom: 8px;
22
+ position: relative;
23
+ text-align: left;
24
+ font: normal normal normal 16px/20px Source Sans Pro;
25
+ `;
26
+
27
+ export const ProgressBar = ({
28
+ value = 0,
29
+ label,
30
+ variant = 'determinate',
31
+ total,
32
+ className,
33
+ localeString,
34
+ ...props
35
+ }: ProgressBarBaseProps) => {
36
+ const percentage = value && total ? (value / total) * 100 : 0;
37
+
38
+ return (
39
+ <div className={className} style={{ minWidth: '100px' }}>
40
+ {label && (
41
+ <ProgressBarLabelStyled>
42
+ {label}
43
+ <span style={{ right: 0 }}>
44
+ {localeString ? value.toLocaleString() : value} ({percentage.toFixed(2)}%)
45
+ </span>
46
+ </ProgressBarLabelStyled>
47
+ )}
48
+ <ProgressBarStyled value={percentage} variant={variant} {...props} />
49
+ </div>
50
+ );
51
+ };
@@ -1,41 +1,43 @@
1
- import React from 'react';
2
- import {
3
- FormControl,
4
- FormControlLabel,
5
- FormLabel,
6
- Radio as MuiRadio,
7
- RadioGroup as MuiRadioGroup,
8
- } from '@mui/material';
9
-
10
- import { styled } from '@mui/material/styles';
11
- import { RadioBaseProps } from '../interfaces/RadioGroup';
12
- import { TextFieldSizeVariant } from '../types';
13
-
14
- const RadioStyled = styled(MuiRadio)({});
15
- const sizes: TextFieldSizeVariant[] = ['small', 'medium'];
16
-
17
- export const RadioGroup = ({ ...props }: RadioBaseProps) => {
18
-
19
- return (
20
- <FormControl>
21
- <FormLabel id={props.id}>{props.label}</FormLabel>
22
- <MuiRadioGroup
23
- aria-labelledby={props.id}
24
- defaultValue={props.checked}
25
- name="radio-buttons-group"
26
- row={props.direction === 'horizontal' ? true : false}
27
- >
28
- {props.options &&
29
- props.options.map((item, key) => (
30
- <FormControlLabel
31
- value={item.value}
32
- control={<RadioStyled color={props.color} size={item.size ? item.size : sizes[1]} />}
33
- label={item.label}
34
- key={key}
35
- sx={{alignItems: "start"}}
36
- />
37
- ))}
38
- </MuiRadioGroup>
39
- </FormControl>
40
- );
41
- };
1
+ import React from 'react';
2
+ import {
3
+ FormControl,
4
+ FormControlLabel,
5
+ FormLabel,
6
+ Radio as MuiRadio,
7
+ RadioGroup as MuiRadioGroup,
8
+ } from '@mui/material';
9
+
10
+ import { styled } from '@mui/material/styles';
11
+ import { RadioBaseProps } from '../interfaces/RadioGroup';
12
+ import { TextFieldSizeVariant } from '../types';
13
+
14
+ const RadioStyled = styled(MuiRadio)({});
15
+ const sizes: TextFieldSizeVariant[] = ['small', 'medium'];
16
+
17
+ export const RadioGroup = ({ ...props }: RadioBaseProps) => {
18
+ const { onChange } = props;
19
+
20
+ return (
21
+ <FormControl>
22
+ <FormLabel id={props.id}>{props.label}</FormLabel>
23
+ <MuiRadioGroup
24
+ aria-labelledby={props.id}
25
+ defaultValue={props.checked}
26
+ name="radio-buttons-group"
27
+ row={props.direction === 'horizontal' ? true : false}
28
+ onChange={!!onChange ? (event, value) => onChange(event, value) : undefined}
29
+ >
30
+ {props.options &&
31
+ props.options.map((item, key) => (
32
+ <FormControlLabel
33
+ value={item.value}
34
+ control={<RadioStyled color={props.color} size={item.size ? item.size : sizes[1]} />}
35
+ label={item.label}
36
+ key={key}
37
+ sx={{alignItems: "start"}}
38
+ />
39
+ ))}
40
+ </MuiRadioGroup>
41
+ </FormControl>
42
+ );
43
+ };
@@ -1,65 +1,65 @@
1
- import React from 'react';
2
- import { Slider as MuiSlider } from '@mui/material';
3
- import { palette } from '../helpers';
4
- import { styled } from '@mui/material/styles';
5
- import { ColorVariant } from '@/types';
6
- import { RangerSliderBaseProps } from '@/interfaces/RangerSlider';
7
-
8
- const colorMap: Record<ColorVariant, string> = {
9
- inherit: palette.inherit,
10
- primary: palette.primary,
11
- secondary: palette.secondary,
12
- error: palette.error,
13
- warning: palette.warning,
14
- info: palette.info,
15
- success: palette.success,
16
- };
17
-
18
- const RangerSliderStyled = styled(MuiSlider)(() => ({
19
- height: 8,
20
- '& .MuiSlider-track': {
21
- border: 'none',
22
- },
23
- '& .MuiSlider-thumb': {
24
- height: 18,
25
- width: 18,
26
- backgroundColor: '#FFF',
27
- border: `2px solid ${colorMap['primary']}`,
28
- '&:focus, &:hover, &.Mui-active, &.Mui-focusVisible': {
29
- boxShadow: 'inherit',
30
- },
31
- '&:before': {
32
- width: '8px',
33
- height: '8px',
34
- position: 'absolute',
35
- display: 'block',
36
- background: colorMap['primary'],
37
- },
38
- },
39
- '& .MuiSlider-valueLabel': {
40
- fontSize: 12,
41
- fontWeight: 'normal',
42
- top: 40,
43
- position: 'absolute',
44
- backgroundColor: 'unset',
45
- color: colorMap['primary'],
46
- '&:before': {
47
- display: 'none',
48
- },
49
- '& *': {
50
- background: 'transparent',
51
- color: '#000',
52
- },
53
- },
54
- '& .MuiSlider-rail': {
55
- color: '#F0F2F8 ',
56
- opacity: 1,
57
- height: 10,
58
- },
59
- }));
60
-
61
- export const RangerSlider = ({ defaultValue = 50, color = 'primary', ...props }: RangerSliderBaseProps) => {
62
- return (
63
- <RangerSliderStyled aria-label="Default" color={color} {...props} />
64
- );
65
- };
1
+ import React from 'react';
2
+ import { Slider as MuiSlider } from '@mui/material';
3
+ import { palette } from '../helpers';
4
+ import { styled } from '@mui/material/styles';
5
+ import { ColorVariant } from '@/types';
6
+ import { RangerSliderBaseProps } from '@/interfaces/RangerSlider';
7
+
8
+ const colorMap: Record<ColorVariant, string> = {
9
+ inherit: palette.inherit,
10
+ primary: palette.primary,
11
+ secondary: palette.secondary,
12
+ error: palette.error,
13
+ warning: palette.warning,
14
+ info: palette.info,
15
+ success: palette.success,
16
+ };
17
+
18
+ const RangerSliderStyled = styled(MuiSlider)(() => ({
19
+ height: 8,
20
+ '& .MuiSlider-track': {
21
+ border: 'none',
22
+ },
23
+ '& .MuiSlider-thumb': {
24
+ height: 18,
25
+ width: 18,
26
+ backgroundColor: '#FFF',
27
+ border: `2px solid ${colorMap['primary']}`,
28
+ '&:focus, &:hover, &.Mui-active, &.Mui-focusVisible': {
29
+ boxShadow: 'inherit',
30
+ },
31
+ '&:before': {
32
+ width: '8px',
33
+ height: '8px',
34
+ position: 'absolute',
35
+ display: 'block',
36
+ background: colorMap['primary'],
37
+ },
38
+ },
39
+ '& .MuiSlider-valueLabel': {
40
+ fontSize: 12,
41
+ fontWeight: 'normal',
42
+ top: 40,
43
+ position: 'absolute',
44
+ backgroundColor: 'unset',
45
+ color: colorMap['primary'],
46
+ '&:before': {
47
+ display: 'none',
48
+ },
49
+ '& *': {
50
+ background: 'transparent',
51
+ color: '#000',
52
+ },
53
+ },
54
+ '& .MuiSlider-rail': {
55
+ color: '#F0F2F8 ',
56
+ opacity: 1,
57
+ height: 10,
58
+ },
59
+ }));
60
+
61
+ export const RangerSlider = ({ defaultValue = 50, color = 'primary', ...props }: RangerSliderBaseProps) => {
62
+ return (
63
+ <RangerSliderStyled aria-label="Default" color={color} {...props} />
64
+ );
65
+ };
@@ -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
+ };