norma-library 0.6.3 → 0.6.4

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 (169) 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/UncontrolledTable/components/header/index.js +3 -1
  9. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -1
  10. package/dist/esm/components/UncontrolledTable/components/header/styles.js +1 -1
  11. package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -1
  12. package/dist/esm/components/UncontrolledTable/index.js +1 -1
  13. package/dist/esm/components/UncontrolledTable/index.js.map +1 -1
  14. package/dist/esm/components/UncontrolledTable/interface.d.ts +2 -0
  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 +103 -103
  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 +71 -71
  48. package/src/components/RadioGroup.tsx +43 -43
  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/StatusModal/StatusModal.style.tsx +75 -75
  57. package/src/components/StatusModal/StatusModal.tsx +58 -58
  58. package/src/components/Svgs.tsx +506 -506
  59. package/src/components/Table/components/header/index.tsx +86 -86
  60. package/src/components/Table/components/header/styles.tsx +59 -59
  61. package/src/components/Table/components/index.tsx +8 -8
  62. package/src/components/Table/components/pagination/index.tsx +39 -39
  63. package/src/components/Table/components/pagination/styles.tsx +28 -28
  64. package/src/components/Table/components/tbody/index.tsx +30 -30
  65. package/src/components/Table/components/tbody/styles.tsx +4 -4
  66. package/src/components/Table/index.tsx +317 -317
  67. package/src/components/Table/interface.ts +23 -23
  68. package/src/components/Table/styles.tsx +117 -117
  69. package/src/components/Tabs.tsx +105 -105
  70. package/src/components/Tag.tsx +33 -33
  71. package/src/components/TextField.tsx +19 -19
  72. package/src/components/TextInput/index.tsx +37 -37
  73. package/src/components/TextInput/interface.ts +9 -9
  74. package/src/components/TextInput/styles.tsx +23 -23
  75. package/src/components/TimeLine.tsx +89 -89
  76. package/src/components/TimePicker.tsx +78 -78
  77. package/src/components/Typography/Text/index.tsx +20 -20
  78. package/src/components/Typography/Text/interfaces.ts +5 -5
  79. package/src/components/Typography/Text/styles.tsx +40 -40
  80. package/src/components/Typography/Title/index.tsx +22 -22
  81. package/src/components/Typography/Title/interfaces.ts +6 -6
  82. package/src/components/Typography/Title/styles.tsx +40 -40
  83. package/src/components/Typography/index.tsx +6 -6
  84. package/src/components/UncontrolledTable/components/header/index.tsx +72 -65
  85. package/src/components/UncontrolledTable/components/header/styles.tsx +65 -63
  86. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  87. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  88. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  89. package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
  90. package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
  91. package/src/components/UncontrolledTable/index.tsx +222 -221
  92. package/src/components/UncontrolledTable/interface.ts +44 -43
  93. package/src/components/UncontrolledTable/styles.tsx +123 -123
  94. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +56 -56
  95. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
  96. package/src/components/index.ts +24 -24
  97. package/src/helpers/alignments.ts +14 -14
  98. package/src/helpers/borders.ts +18 -18
  99. package/src/helpers/colors.ts +258 -258
  100. package/src/helpers/index.ts +5 -5
  101. package/src/helpers/radios.ts +24 -24
  102. package/src/helpers/sizes.ts +72 -72
  103. package/src/hooks/useClickOutside.tsx +18 -18
  104. package/src/index.ts +70 -70
  105. package/src/interfaces/Accordion.ts +12 -12
  106. package/src/interfaces/Avatar.tsx +15 -15
  107. package/src/interfaces/Badge.ts +19 -19
  108. package/src/interfaces/Button.ts +22 -22
  109. package/src/interfaces/Card.ts +11 -11
  110. package/src/interfaces/ChatMessage.ts +12 -12
  111. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  112. package/src/interfaces/CheckBox.ts +27 -27
  113. package/src/interfaces/DatePicker.ts +13 -13
  114. package/src/interfaces/DropDown.ts +14 -14
  115. package/src/interfaces/IconButton.ts +22 -22
  116. package/src/interfaces/Icons.ts +17 -17
  117. package/src/interfaces/Modal.ts +18 -18
  118. package/src/interfaces/Paper.ts +12 -12
  119. package/src/interfaces/ProgressBar.ts +29 -29
  120. package/src/interfaces/RadioGroup.ts +23 -23
  121. package/src/interfaces/RangerSlider.ts +21 -21
  122. package/src/interfaces/Select.ts +17 -17
  123. package/src/interfaces/Tabs.ts +19 -19
  124. package/src/interfaces/Tag.ts +17 -17
  125. package/src/interfaces/TextField.ts +44 -44
  126. package/src/interfaces/TimeLine.ts +11 -11
  127. package/src/interfaces/TimePicker.ts +13 -13
  128. package/src/interfaces/index.ts +23 -23
  129. package/src/providers/NormaProvider.tsx +13 -13
  130. package/src/sample-data-2.json +178 -178
  131. package/src/sample-data.json +177 -177
  132. package/src/stories/Accordion.stories.tsx +65 -65
  133. package/src/stories/Avatar.stories.tsx +123 -123
  134. package/src/stories/Badge.stories.tsx +39 -39
  135. package/src/stories/Box.stories.tsx +35 -35
  136. package/src/stories/Breadcrumb.stories.tsx +44 -44
  137. package/src/stories/Button.stories.tsx +93 -93
  138. package/src/stories/Card.stories.tsx +39 -39
  139. package/src/stories/ChatMessage.stories.tsx +84 -84
  140. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  141. package/src/stories/CheckBox.stories.tsx +88 -88
  142. package/src/stories/DateInput.stories.tsx +51 -51
  143. package/src/stories/DatePicker.stories.tsx +50 -50
  144. package/src/stories/DropDown.stories.tsx +57 -57
  145. package/src/stories/IconButton.stories.tsx +78 -78
  146. package/src/stories/Modal.stories.tsx +246 -246
  147. package/src/stories/ModalStatus.stories.tsx +46 -46
  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 +116 -116
  151. package/src/stories/RadioGroup.stories.tsx +87 -87
  152. package/src/stories/RangerSlider.stories.tsx +149 -149
  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 +61 -61
  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 +315 -305
  165. package/src/stories/UncontrolledTabs.stories.tsx +63 -63
  166. package/src/styles/globals.scss +17 -17
  167. package/src/types/index.ts +207 -207
  168. package/src/utils/styledBreakpoints.ts +25 -25
  169. package/vite.config.ts +15 -15
@@ -1,26 +1,26 @@
1
- import React from 'react';
2
- import { Button as MuiButton } from '@mui/material';
3
- import { ButtonBaseProps } from '../interfaces';
4
- import { styled } from '@mui/material/styles';
5
-
6
- const ButtonStyled = styled(MuiButton)({
7
- textTransform: 'none',
8
- '& .MuiButton-sizeLarge': {
9
- height: '75px',
10
- backgroundColor: 'red',
11
- },
12
- });
13
-
14
- export const Button = ({ label, children, ...props }: ButtonBaseProps) => {
15
-
16
- return (
17
- <ButtonStyled
18
- {...props}
19
- sx={{
20
- color: props.variant === 'contained' ? '#FFFF' : props.color,
21
- }}
22
- >
23
- {label ? label : children}
24
- </ButtonStyled>
25
- );
26
- };
1
+ import React from 'react';
2
+ import { Button as MuiButton } from '@mui/material';
3
+ import { ButtonBaseProps } from '../interfaces';
4
+ import { styled } from '@mui/material/styles';
5
+
6
+ const ButtonStyled = styled(MuiButton)({
7
+ textTransform: 'none',
8
+ '& .MuiButton-sizeLarge': {
9
+ height: '75px',
10
+ backgroundColor: 'red',
11
+ },
12
+ });
13
+
14
+ export const Button = ({ label, children, ...props }: ButtonBaseProps) => {
15
+
16
+ return (
17
+ <ButtonStyled
18
+ {...props}
19
+ sx={{
20
+ color: props.variant === 'contained' ? '#FFFF' : props.color,
21
+ }}
22
+ >
23
+ {label ? label : children}
24
+ </ButtonStyled>
25
+ );
26
+ };
@@ -1,38 +1,38 @@
1
- import React from 'react';
2
- import { Card as MuiCard } from '@mui/material';
3
- import { CardBaseProps } from '../interfaces';
4
- import { palette } from '../helpers';
5
- import { styled } from '@mui/material/styles';
6
- import { ColorVariant } from '@/types';
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 CardStyled = styled(MuiCard)<{
19
- borderColor?: ColorVariant;
20
- }>(({ borderColor }) => ({
21
- padding: 16,
22
- borderRadius: 5,
23
- boxShadow: '0px 2px 8px #00000053',
24
- borderLeft: borderColor ? `7px solid ${colorMap[borderColor]}` : 'none',
25
- }));
26
-
27
- export const Card = ({
28
- children,
29
- border,
30
- color = 'inherit',
31
- ...props
32
- }: CardBaseProps & { border?: boolean; color?: ColorVariant }) => {
33
- return (
34
- <CardStyled borderColor={border ? color : undefined} {...props}>
35
- {children}
36
- </CardStyled>
37
- );
1
+ import React from 'react';
2
+ import { Card as MuiCard } from '@mui/material';
3
+ import { CardBaseProps } from '../interfaces';
4
+ import { palette } from '../helpers';
5
+ import { styled } from '@mui/material/styles';
6
+ import { ColorVariant } from '@/types';
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 CardStyled = styled(MuiCard)<{
19
+ borderColor?: ColorVariant;
20
+ }>(({ borderColor }) => ({
21
+ padding: 16,
22
+ borderRadius: 5,
23
+ boxShadow: '0px 2px 8px #00000053',
24
+ borderLeft: borderColor ? `7px solid ${colorMap[borderColor]}` : 'none',
25
+ }));
26
+
27
+ export const Card = ({
28
+ children,
29
+ border,
30
+ color = 'inherit',
31
+ ...props
32
+ }: CardBaseProps & { border?: boolean; color?: ColorVariant }) => {
33
+ return (
34
+ <CardStyled borderColor={border ? color : undefined} {...props}>
35
+ {children}
36
+ </CardStyled>
37
+ );
38
38
  };
@@ -1,87 +1,87 @@
1
- import React from 'react';
2
- import { Box, Typography } from '@mui/material';
3
- import { styled } from '@mui/material/styles';
4
- import { ChatMessageProps } from '@/interfaces';
5
-
6
- const Item = styled(Box)<{
7
- orient?: string;
8
- }>(({ orient }) => ({
9
- borderColor: '#ccc',
10
- display: 'flex',
11
- position: 'relative',
12
- width: '100%',
13
- justifyContent: orient === 'replay' ? 'flex-end' : 'flex-start',
14
- marginBottom: '10px',
15
- alignItems: 'center',
16
- }));
17
-
18
- const ContainerStyled = styled(Box)({
19
- display: 'flex',
20
- flexDirection: 'column',
21
- alignItems: 'center',
22
- minWidth: '640px',
23
- backgroundColor: '#F0F0F0',
24
- padding: '10px',
25
- });
26
-
27
- const BoxStyled = styled(Box)<{
28
- orient?: string;
29
- }>(({ orient }) => ({
30
- width: '70%',
31
- backgroundColor: orient === 'replay' ? '#E18B50' : '#FFF',
32
- color: orient === 'replay' ? '#FFF' : '#4D4F5C',
33
- borderTopLeftRadius: 30,
34
- borderTopRightRadius: 30,
35
- borderBottomLeftRadius: orient === 'me' ? 2 : 30,
36
- borderBottomRightRadius: orient === 'me' ? 30 : 2,
37
- marginLeft: orient === 'replay' ? '10px' : 0,
38
- marginRight: orient === 'me' ? '10px' : 0,
39
- padding: 20,
40
- }));
41
-
42
- export const ChatMessage: React.FC<ChatMessageProps> = ({ data }) => {
43
- return (
44
- <ContainerStyled>
45
- {data.map((item, key) => (
46
- <Item key={key} orient={item.send}>
47
- {item.emotion && item.send === 'replay' && <>{item.emotion}</>}
48
- <BoxStyled orient={item.send}>
49
- <Typography
50
- variant="subtitle2"
51
- style={{
52
- marginBottom: '5px',
53
- font: 'normal normal 600 16px/20px Source Sans Pro',
54
- }}
55
- >
56
- {item.name}
57
- </Typography>
58
- <Typography
59
- variant="body1"
60
- style={{
61
- font: 'normal normal normal 16px/20px Source Sans Pro',
62
- }}
63
- >
64
- {item.message}
65
- </Typography>
66
- <Typography
67
- variant="caption"
68
- style={{
69
- position: 'absolute',
70
- bottom: '-18px',
71
- left: item.send === 'me' ? 0 : 'auto',
72
- right: item.send === 'me' ? 'auto' : 0,
73
- font: 'normal normal normal 11px/13px Source Sans Pro',
74
- opacity: 0.5,
75
- color: '#4D4F5C',
76
- }}
77
- >
78
- {item.time}
79
- </Typography>
80
- </BoxStyled>
81
- {item.emotion && item.send === 'me' && <>{item.emotion}</>}
82
- {item.emotionReplay && item.send === 'me' && <>{item.emotionReplay}</>}
83
- </Item>
84
- ))}
85
- </ContainerStyled>
86
- );
87
- };
1
+ import React from 'react';
2
+ import { Box, Typography } from '@mui/material';
3
+ import { styled } from '@mui/material/styles';
4
+ import { ChatMessageProps } from '@/interfaces';
5
+
6
+ const Item = styled(Box)<{
7
+ orient?: string;
8
+ }>(({ orient }) => ({
9
+ borderColor: '#ccc',
10
+ display: 'flex',
11
+ position: 'relative',
12
+ width: '100%',
13
+ justifyContent: orient === 'replay' ? 'flex-end' : 'flex-start',
14
+ marginBottom: '10px',
15
+ alignItems: 'center',
16
+ }));
17
+
18
+ const ContainerStyled = styled(Box)({
19
+ display: 'flex',
20
+ flexDirection: 'column',
21
+ alignItems: 'center',
22
+ minWidth: '640px',
23
+ backgroundColor: '#F0F0F0',
24
+ padding: '10px',
25
+ });
26
+
27
+ const BoxStyled = styled(Box)<{
28
+ orient?: string;
29
+ }>(({ orient }) => ({
30
+ width: '70%',
31
+ backgroundColor: orient === 'replay' ? '#E18B50' : '#FFF',
32
+ color: orient === 'replay' ? '#FFF' : '#4D4F5C',
33
+ borderTopLeftRadius: 30,
34
+ borderTopRightRadius: 30,
35
+ borderBottomLeftRadius: orient === 'me' ? 2 : 30,
36
+ borderBottomRightRadius: orient === 'me' ? 30 : 2,
37
+ marginLeft: orient === 'replay' ? '10px' : 0,
38
+ marginRight: orient === 'me' ? '10px' : 0,
39
+ padding: 20,
40
+ }));
41
+
42
+ export const ChatMessage: React.FC<ChatMessageProps> = ({ data }) => {
43
+ return (
44
+ <ContainerStyled>
45
+ {data.map((item, key) => (
46
+ <Item key={key} orient={item.send}>
47
+ {item.emotion && item.send === 'replay' && <>{item.emotion}</>}
48
+ <BoxStyled orient={item.send}>
49
+ <Typography
50
+ variant="subtitle2"
51
+ style={{
52
+ marginBottom: '5px',
53
+ font: 'normal normal 600 16px/20px Source Sans Pro',
54
+ }}
55
+ >
56
+ {item.name}
57
+ </Typography>
58
+ <Typography
59
+ variant="body1"
60
+ style={{
61
+ font: 'normal normal normal 16px/20px Source Sans Pro',
62
+ }}
63
+ >
64
+ {item.message}
65
+ </Typography>
66
+ <Typography
67
+ variant="caption"
68
+ style={{
69
+ position: 'absolute',
70
+ bottom: '-18px',
71
+ left: item.send === 'me' ? 0 : 'auto',
72
+ right: item.send === 'me' ? 'auto' : 0,
73
+ font: 'normal normal normal 11px/13px Source Sans Pro',
74
+ opacity: 0.5,
75
+ color: '#4D4F5C',
76
+ }}
77
+ >
78
+ {item.time}
79
+ </Typography>
80
+ </BoxStyled>
81
+ {item.emotion && item.send === 'me' && <>{item.emotion}</>}
82
+ {item.emotionReplay && item.send === 'me' && <>{item.emotionReplay}</>}
83
+ </Item>
84
+ ))}
85
+ </ContainerStyled>
86
+ );
87
+ };
@@ -1,56 +1,56 @@
1
- import { Box, Typography } from '@mui/material';
2
- import { styled } from '@mui/material/styles';
3
-
4
- export const ChatMessageBalloonContainerStyle: any = styled(Box)({
5
- display: 'flex',
6
- flexDirection: 'column',
7
- });
8
-
9
- export const ChatMessageBalloonRowStyle: any = styled('div')<{ direction: string }>`
10
- display: flex;
11
- margin-bottom: 8px;
12
- flex-direction: ${props => (props.direction === 'I' ? 'row-reverse' : 'row')};
13
-
14
- &:last-child {
15
- margin-bottom: 0px;
16
- }
17
- `;
18
-
19
- export const ChatMessageBalloonStyle: any = styled('div')<{ direction: string }>`
20
- background-color: ${props => (props.direction === 'I' ? '#FFF' : '#E18B50')};
21
- border: 2px solid transparent;
22
- border-radius: ${props => (props.direction === 'I' ? '20px 20px 0px 20px' : '20px 20px 20px 0px')};
23
- box-sizing: border-box;
24
- color: ${props => (props.direction === 'I' ? '#4D4F5B' : '#FFF')};
25
- display: flex;
26
- flex-direction: column;
27
- padding: 12px 24px;
28
- width: 60%;
29
- transition: border 0.6s cubic-bezier(0.16, 1, 0.3, 1);
30
-
31
- &.is-highlight {
32
- border: 2px solid #8a8888;
33
- }
34
-
35
- &.is-interactive {
36
- cursor: pointer;
37
-
38
- &:hover {
39
- border: 2px solid #8a8888;
40
- }
41
- }
42
- `;
43
-
44
- export const ChatMessageDateStyle: any = styled(Typography)`
45
- color: #43425d;
46
- opacity: 0.5;
47
- `;
48
-
49
- export const ChatMessageChildrenStyle: any = styled('div')<{ direction: string }>`
50
- align-items: center;
51
- box-sizing: border-box;
52
- display: flex;
53
- flex: 1;
54
- justify-content: ${props => (props.direction === 'I' ? 'end' : 'start')};
55
- padding: 8px;
56
- `;
1
+ import { Box, Typography } from '@mui/material';
2
+ import { styled } from '@mui/material/styles';
3
+
4
+ export const ChatMessageBalloonContainerStyle: any = styled(Box)({
5
+ display: 'flex',
6
+ flexDirection: 'column',
7
+ });
8
+
9
+ export const ChatMessageBalloonRowStyle: any = styled('div')<{ direction: string }>`
10
+ display: flex;
11
+ margin-bottom: 8px;
12
+ flex-direction: ${props => (props.direction === 'I' ? 'row-reverse' : 'row')};
13
+
14
+ &:last-child {
15
+ margin-bottom: 0px;
16
+ }
17
+ `;
18
+
19
+ export const ChatMessageBalloonStyle: any = styled('div')<{ direction: string }>`
20
+ background-color: ${props => (props.direction === 'I' ? '#FFF' : '#E18B50')};
21
+ border: 2px solid transparent;
22
+ border-radius: ${props => (props.direction === 'I' ? '20px 20px 0px 20px' : '20px 20px 20px 0px')};
23
+ box-sizing: border-box;
24
+ color: ${props => (props.direction === 'I' ? '#4D4F5B' : '#FFF')};
25
+ display: flex;
26
+ flex-direction: column;
27
+ padding: 12px 24px;
28
+ width: 60%;
29
+ transition: border 0.6s cubic-bezier(0.16, 1, 0.3, 1);
30
+
31
+ &.is-highlight {
32
+ border: 2px solid #8a8888;
33
+ }
34
+
35
+ &.is-interactive {
36
+ cursor: pointer;
37
+
38
+ &:hover {
39
+ border: 2px solid #8a8888;
40
+ }
41
+ }
42
+ `;
43
+
44
+ export const ChatMessageDateStyle: any = styled(Typography)`
45
+ color: #43425d;
46
+ opacity: 0.5;
47
+ `;
48
+
49
+ export const ChatMessageChildrenStyle: any = styled('div')<{ direction: string }>`
50
+ align-items: center;
51
+ box-sizing: border-box;
52
+ display: flex;
53
+ flex: 1;
54
+ justify-content: ${props => (props.direction === 'I' ? 'end' : 'start')};
55
+ padding: 8px;
56
+ `;
@@ -1,55 +1,55 @@
1
- import React, { useMemo } from 'react';
2
- import { Typography } from '@mui/material';
3
- import { ChatMessageBalloonProps } from '../../interfaces';
4
- import * as S from './ChatMessageBalloon.style'
5
-
6
- export const ChatMessageBalloon: React.FC<ChatMessageBalloonProps> = ({
7
- label,
8
- description,
9
- date,
10
- direction,
11
- children,
12
- className,
13
- bottomChildren,
14
- onMouseEnter,
15
- onMouseLeave,
16
- onRowMouseEnter,
17
- onRowMouseLeave,
18
- highlight,
19
- ...rest
20
- }) => {
21
-
22
- const ballonClassNames = useMemo(() => {
23
- const classNames = []
24
- if(!!onMouseEnter) classNames.push('is-interactive')
25
- if(!!highlight) classNames.push('is-highlight')
26
- return classNames.join(" ")
27
- }, [highlight, onMouseEnter])
28
-
29
- return (
30
- <S.ChatMessageBalloonContainerStyle className={className} {...rest}>
31
- <S.ChatMessageBalloonRowStyle direction={direction} onMouseLeave={onRowMouseLeave} onMouseEnter={onRowMouseEnter}>
32
- <S.ChatMessageBalloonStyle onMouseLeave={onMouseLeave} onMouseEnter={onMouseEnter} direction={direction} className={ballonClassNames}>
33
- <Typography
34
- variant="subtitle2"
35
- style={{
36
- fontSize: "1rem",
37
- fontWeight: "600",
38
- marginBottom: '5px'
39
- }}
40
- >
41
- {label}
42
- </Typography>
43
- {description}
44
- </S.ChatMessageBalloonStyle>
45
- <S.ChatMessageChildrenStyle direction={direction}>
46
- {children}
47
- </S.ChatMessageChildrenStyle>
48
- </S.ChatMessageBalloonRowStyle>
49
- <S.ChatMessageBalloonRowStyle direction={direction} sx={{gap: "10px"}}>
50
- <S.ChatMessageDateStyle fontSize={"0.7rem"}>{date}</S.ChatMessageDateStyle>
51
- {bottomChildren}
52
- </S.ChatMessageBalloonRowStyle>
53
- </S.ChatMessageBalloonContainerStyle>
54
- );
55
- };
1
+ import React, { useMemo } from 'react';
2
+ import { Typography } from '@mui/material';
3
+ import { ChatMessageBalloonProps } from '../../interfaces';
4
+ import * as S from './ChatMessageBalloon.style'
5
+
6
+ export const ChatMessageBalloon: React.FC<ChatMessageBalloonProps> = ({
7
+ label,
8
+ description,
9
+ date,
10
+ direction,
11
+ children,
12
+ className,
13
+ bottomChildren,
14
+ onMouseEnter,
15
+ onMouseLeave,
16
+ onRowMouseEnter,
17
+ onRowMouseLeave,
18
+ highlight,
19
+ ...rest
20
+ }) => {
21
+
22
+ const ballonClassNames = useMemo(() => {
23
+ const classNames = []
24
+ if(!!onMouseEnter) classNames.push('is-interactive')
25
+ if(!!highlight) classNames.push('is-highlight')
26
+ return classNames.join(" ")
27
+ }, [highlight, onMouseEnter])
28
+
29
+ return (
30
+ <S.ChatMessageBalloonContainerStyle className={className} {...rest}>
31
+ <S.ChatMessageBalloonRowStyle direction={direction} onMouseLeave={onRowMouseLeave} onMouseEnter={onRowMouseEnter}>
32
+ <S.ChatMessageBalloonStyle onMouseLeave={onMouseLeave} onMouseEnter={onMouseEnter} direction={direction} className={ballonClassNames}>
33
+ <Typography
34
+ variant="subtitle2"
35
+ style={{
36
+ fontSize: "1rem",
37
+ fontWeight: "600",
38
+ marginBottom: '5px'
39
+ }}
40
+ >
41
+ {label}
42
+ </Typography>
43
+ {description}
44
+ </S.ChatMessageBalloonStyle>
45
+ <S.ChatMessageChildrenStyle direction={direction}>
46
+ {children}
47
+ </S.ChatMessageChildrenStyle>
48
+ </S.ChatMessageBalloonRowStyle>
49
+ <S.ChatMessageBalloonRowStyle direction={direction} sx={{gap: "10px"}}>
50
+ <S.ChatMessageDateStyle fontSize={"0.7rem"}>{date}</S.ChatMessageDateStyle>
51
+ {bottomChildren}
52
+ </S.ChatMessageBalloonRowStyle>
53
+ </S.ChatMessageBalloonContainerStyle>
54
+ );
55
+ };
@@ -1,21 +1,21 @@
1
- import React from 'react';
2
- import { FormControlLabel, Checkbox as MuiCheckbox } from '@mui/material';
3
-
4
- import { CheckBoxBaseProps } from '../interfaces';
5
-
6
- import { styled } from '@mui/material/styles';
7
-
8
- const CheckBoxStyled = styled(MuiCheckbox)({});
9
-
10
- export const CheckBox = ({ ...props }: CheckBoxBaseProps) => {
11
-
12
- return (
13
- <>
14
- {props.label ? (
15
- <FormControlLabel control={<CheckBoxStyled {...props} />} label={props.label} />
16
- ) : (
17
- <CheckBoxStyled {...props} />
18
- )}
19
- </>
20
- );
21
- };
1
+ import React from 'react';
2
+ import { FormControlLabel, Checkbox as MuiCheckbox } from '@mui/material';
3
+
4
+ import { CheckBoxBaseProps } from '../interfaces';
5
+
6
+ import { styled } from '@mui/material/styles';
7
+
8
+ const CheckBoxStyled = styled(MuiCheckbox)({});
9
+
10
+ export const CheckBox = ({ ...props }: CheckBoxBaseProps) => {
11
+
12
+ return (
13
+ <>
14
+ {props.label ? (
15
+ <FormControlLabel control={<CheckBoxStyled {...props} />} label={props.label} />
16
+ ) : (
17
+ <CheckBoxStyled {...props} />
18
+ )}
19
+ </>
20
+ );
21
+ };
@@ -1,35 +1,35 @@
1
- import React, { useState } from "react"
2
- import DatePicker from "react-datepicker";
3
- import * as S from "./styles"
4
- import { DateInputProps } from './interface';
5
-
6
- const DateInput:React.FC<DateInputProps> = ({
7
- label,
8
- dateFormat,
9
- dateSelected,
10
- className,
11
- showTimeSelect,
12
- timeFormat,
13
- disabled,
14
- onChange
15
- }) => {
16
- const [date, setDate] = useState<Date | null>(dateSelected)
17
- return (
18
- <S.Container className={className}>
19
- <S.Label>{label}</S.Label>
20
- <DatePicker
21
- dateFormat={dateFormat}
22
- selected={date}
23
- showTimeSelect={showTimeSelect}
24
- timeFormat={timeFormat}
25
- disabled={disabled}
26
- onChange={(date) => {
27
- setDate(date)
28
- onChange(date)
29
- }}
30
- />
31
- </S.Container>
32
- )
33
- }
34
-
1
+ import React, { useState } from "react"
2
+ import DatePicker from "react-datepicker";
3
+ import * as S from "./styles"
4
+ import { DateInputProps } from './interface';
5
+
6
+ const DateInput:React.FC<DateInputProps> = ({
7
+ label,
8
+ dateFormat,
9
+ dateSelected,
10
+ className,
11
+ showTimeSelect,
12
+ timeFormat,
13
+ disabled,
14
+ onChange
15
+ }) => {
16
+ const [date, setDate] = useState<Date | null>(dateSelected)
17
+ return (
18
+ <S.Container className={className}>
19
+ <S.Label>{label}</S.Label>
20
+ <DatePicker
21
+ dateFormat={dateFormat}
22
+ selected={date}
23
+ showTimeSelect={showTimeSelect}
24
+ timeFormat={timeFormat}
25
+ disabled={disabled}
26
+ onChange={(date) => {
27
+ setDate(date)
28
+ onChange(date)
29
+ }}
30
+ />
31
+ </S.Container>
32
+ )
33
+ }
34
+
35
35
  export default DateInput
@@ -1,14 +1,14 @@
1
- export interface DateInputProps {
2
- className?: string
3
- label: string
4
- dateSelected: Date
5
- onChange: Function
6
- dateFormat: string
7
- showTimeSelect?: boolean
8
- timeFormat?: string
9
- disabled?: boolean
10
- }
11
-
12
- export interface ContainerStyles {
13
-
1
+ export interface DateInputProps {
2
+ className?: string
3
+ label: string
4
+ dateSelected: Date
5
+ onChange: Function
6
+ dateFormat: string
7
+ showTimeSelect?: boolean
8
+ timeFormat?: string
9
+ disabled?: boolean
10
+ }
11
+
12
+ export interface ContainerStyles {
13
+
14
14
  }