norma-library 0.6.3 → 0.6.5

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 (176) 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 +4 -2
  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/dist/esm/components/UncontrolledTabs/UncontrolledTabs.d.ts +2 -1
  16. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.js +5 -2
  17. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.js.map +1 -1
  18. package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.d.ts +2 -0
  19. package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.js +5 -0
  20. package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.js.map +1 -0
  21. package/docs/index.md +118 -118
  22. package/package.json +136 -136
  23. package/src/components/Accordion.tsx +39 -39
  24. package/src/components/Avatar.tsx +17 -17
  25. package/src/components/Badge.tsx +14 -14
  26. package/src/components/Box/index.tsx +12 -12
  27. package/src/components/Box/interfaces.ts +3 -3
  28. package/src/components/Box/styles.tsx +22 -22
  29. package/src/components/Breadcrumb/index.tsx +27 -27
  30. package/src/components/Breadcrumb/interface.ts +8 -8
  31. package/src/components/Breadcrumb/styles.tsx +32 -32
  32. package/src/components/Button.tsx +26 -26
  33. package/src/components/Card.tsx +37 -37
  34. package/src/components/ChatMessage.tsx +87 -87
  35. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  36. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  37. package/src/components/CheckBox.tsx +21 -21
  38. package/src/components/DateInput/index.tsx +34 -34
  39. package/src/components/DateInput/interface.ts +13 -13
  40. package/src/components/DateInput/styles.tsx +27 -27
  41. package/src/components/DatePicker.tsx +67 -67
  42. package/src/components/DropDown.tsx +24 -24
  43. package/src/components/IconButton.tsx +37 -37
  44. package/src/components/Icons.tsx +82 -82
  45. package/src/components/Modal.tsx +103 -103
  46. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  47. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  48. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  49. package/src/components/MultiSelectInput/index.tsx +60 -60
  50. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  51. package/src/components/MultiSelectInput/styles.tsx +43 -43
  52. package/src/components/Paper.tsx +12 -12
  53. package/src/components/ProgressBar.tsx +71 -71
  54. package/src/components/RadioGroup.tsx +43 -43
  55. package/src/components/RangerSlider.tsx +65 -65
  56. package/src/components/Select.tsx +74 -74
  57. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  58. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  59. package/src/components/SelectInput/index.tsx +45 -45
  60. package/src/components/SelectInput/interfaces.ts +15 -15
  61. package/src/components/SelectInput/styles.tsx +31 -31
  62. package/src/components/StatusModal/StatusModal.style.tsx +75 -75
  63. package/src/components/StatusModal/StatusModal.tsx +58 -58
  64. package/src/components/Svgs.tsx +506 -506
  65. package/src/components/Table/components/header/index.tsx +86 -86
  66. package/src/components/Table/components/header/styles.tsx +59 -59
  67. package/src/components/Table/components/index.tsx +8 -8
  68. package/src/components/Table/components/pagination/index.tsx +39 -39
  69. package/src/components/Table/components/pagination/styles.tsx +28 -28
  70. package/src/components/Table/components/tbody/index.tsx +30 -30
  71. package/src/components/Table/components/tbody/styles.tsx +4 -4
  72. package/src/components/Table/index.tsx +317 -317
  73. package/src/components/Table/interface.ts +23 -23
  74. package/src/components/Table/styles.tsx +117 -117
  75. package/src/components/Tabs.tsx +105 -105
  76. package/src/components/Tag.tsx +33 -33
  77. package/src/components/TextField.tsx +19 -19
  78. package/src/components/TextInput/index.tsx +37 -37
  79. package/src/components/TextInput/interface.ts +9 -9
  80. package/src/components/TextInput/styles.tsx +23 -23
  81. package/src/components/TimeLine.tsx +89 -89
  82. package/src/components/TimePicker.tsx +78 -78
  83. package/src/components/Typography/Text/index.tsx +20 -20
  84. package/src/components/Typography/Text/interfaces.ts +5 -5
  85. package/src/components/Typography/Text/styles.tsx +40 -40
  86. package/src/components/Typography/Title/index.tsx +22 -22
  87. package/src/components/Typography/Title/interfaces.ts +6 -6
  88. package/src/components/Typography/Title/styles.tsx +40 -40
  89. package/src/components/Typography/index.tsx +6 -6
  90. package/src/components/UncontrolledTable/components/header/index.tsx +72 -65
  91. package/src/components/UncontrolledTable/components/header/styles.tsx +66 -63
  92. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  93. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  94. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  95. package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
  96. package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
  97. package/src/components/UncontrolledTable/index.tsx +222 -221
  98. package/src/components/UncontrolledTable/interface.ts +44 -43
  99. package/src/components/UncontrolledTable/styles.tsx +123 -123
  100. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +58 -56
  101. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +71 -68
  102. package/src/components/UncontrolledTabs/UncontrolledTabsInfo.style.ts +8 -0
  103. package/src/components/index.ts +24 -24
  104. package/src/helpers/alignments.ts +14 -14
  105. package/src/helpers/borders.ts +18 -18
  106. package/src/helpers/colors.ts +258 -258
  107. package/src/helpers/index.ts +5 -5
  108. package/src/helpers/radios.ts +24 -24
  109. package/src/helpers/sizes.ts +72 -72
  110. package/src/hooks/useClickOutside.tsx +18 -18
  111. package/src/index.ts +70 -70
  112. package/src/interfaces/Accordion.ts +12 -12
  113. package/src/interfaces/Avatar.tsx +15 -15
  114. package/src/interfaces/Badge.ts +19 -19
  115. package/src/interfaces/Button.ts +22 -22
  116. package/src/interfaces/Card.ts +11 -11
  117. package/src/interfaces/ChatMessage.ts +12 -12
  118. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  119. package/src/interfaces/CheckBox.ts +27 -27
  120. package/src/interfaces/DatePicker.ts +13 -13
  121. package/src/interfaces/DropDown.ts +14 -14
  122. package/src/interfaces/IconButton.ts +22 -22
  123. package/src/interfaces/Icons.ts +17 -17
  124. package/src/interfaces/Modal.ts +18 -18
  125. package/src/interfaces/Paper.ts +12 -12
  126. package/src/interfaces/ProgressBar.ts +29 -29
  127. package/src/interfaces/RadioGroup.ts +23 -23
  128. package/src/interfaces/RangerSlider.ts +21 -21
  129. package/src/interfaces/Select.ts +17 -17
  130. package/src/interfaces/Tabs.ts +19 -19
  131. package/src/interfaces/Tag.ts +17 -17
  132. package/src/interfaces/TextField.ts +44 -44
  133. package/src/interfaces/TimeLine.ts +11 -11
  134. package/src/interfaces/TimePicker.ts +13 -13
  135. package/src/interfaces/index.ts +23 -23
  136. package/src/providers/NormaProvider.tsx +13 -13
  137. package/src/sample-data-2.json +178 -178
  138. package/src/sample-data.json +177 -177
  139. package/src/stories/Accordion.stories.tsx +65 -65
  140. package/src/stories/Avatar.stories.tsx +123 -123
  141. package/src/stories/Badge.stories.tsx +39 -39
  142. package/src/stories/Box.stories.tsx +35 -35
  143. package/src/stories/Breadcrumb.stories.tsx +44 -44
  144. package/src/stories/Button.stories.tsx +93 -93
  145. package/src/stories/Card.stories.tsx +39 -39
  146. package/src/stories/ChatMessage.stories.tsx +84 -84
  147. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  148. package/src/stories/CheckBox.stories.tsx +88 -88
  149. package/src/stories/DateInput.stories.tsx +51 -51
  150. package/src/stories/DatePicker.stories.tsx +50 -50
  151. package/src/stories/DropDown.stories.tsx +57 -57
  152. package/src/stories/IconButton.stories.tsx +78 -78
  153. package/src/stories/Modal.stories.tsx +246 -246
  154. package/src/stories/ModalStatus.stories.tsx +46 -46
  155. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  156. package/src/stories/Paper.stories.tsx +53 -53
  157. package/src/stories/ProgressBar.stories.tsx +116 -116
  158. package/src/stories/RadioGroup.stories.tsx +87 -87
  159. package/src/stories/RangerSlider.stories.tsx +149 -149
  160. package/src/stories/Select.stories.tsx +100 -100
  161. package/src/stories/SelectInput.stories.tsx +78 -78
  162. package/src/stories/Table.stories.tsx +372 -372
  163. package/src/stories/Tabs.stories.tsx +61 -61
  164. package/src/stories/Tag.stories.tsx +56 -56
  165. package/src/stories/Text.stories.tsx +37 -37
  166. package/src/stories/TextField.stories.tsx +310 -310
  167. package/src/stories/TextInput.stories.tsx +52 -52
  168. package/src/stories/TimeLine.stories.tsx +35 -35
  169. package/src/stories/TimePicker.stories.tsx +87 -87
  170. package/src/stories/Title.stories.tsx +43 -43
  171. package/src/stories/UncontrolledTable.stories.tsx +315 -305
  172. package/src/stories/UncontrolledTabs.stories.tsx +74 -63
  173. package/src/styles/globals.scss +17 -17
  174. package/src/types/index.ts +207 -207
  175. package/src/utils/styledBreakpoints.ts +25 -25
  176. package/vite.config.ts +15 -15
@@ -1,41 +1,41 @@
1
- import styled from "styled-components";
2
- import { TextProps } from "./interfaces";
3
-
4
- const setSize = (size: string) => {
5
- switch (size) {
6
- case "small":
7
- return "18px";
8
- case "medium":
9
- return "24px";
10
- case "large":
11
- return "30px"
12
- default:
13
- return "24px";
14
- }
15
- }
16
-
17
- const setColor = (size: string) => {
18
- switch (size) {
19
- case "default":
20
- return "#000";
21
- case "secondary":
22
- return "#666";
23
- case "success":
24
- return "#6BC235"
25
- case "warning":
26
- return "#FF7F11"
27
- case "danger":
28
- return "#D63643"
29
- case "info":
30
- return "#43BBF2"
31
- default:
32
- return "#000";
33
- }
34
- }
35
-
36
- export const Container = styled.h1<TextProps>`
37
- margin: 0;
38
- padding: 0;
39
- color: ${props => setColor(props.type)};
40
- font-size: ${props => setSize(props.size)};
1
+ import styled from "styled-components";
2
+ import { TextProps } from "./interfaces";
3
+
4
+ const setSize = (size: string) => {
5
+ switch (size) {
6
+ case "small":
7
+ return "18px";
8
+ case "medium":
9
+ return "24px";
10
+ case "large":
11
+ return "30px"
12
+ default:
13
+ return "24px";
14
+ }
15
+ }
16
+
17
+ const setColor = (size: string) => {
18
+ switch (size) {
19
+ case "default":
20
+ return "#000";
21
+ case "secondary":
22
+ return "#666";
23
+ case "success":
24
+ return "#6BC235"
25
+ case "warning":
26
+ return "#FF7F11"
27
+ case "danger":
28
+ return "#D63643"
29
+ case "info":
30
+ return "#43BBF2"
31
+ default:
32
+ return "#000";
33
+ }
34
+ }
35
+
36
+ export const Container = styled.h1<TextProps>`
37
+ margin: 0;
38
+ padding: 0;
39
+ color: ${props => setColor(props.type)};
40
+ font-size: ${props => setSize(props.size)};
41
41
  `
@@ -1,7 +1,7 @@
1
- import Text from "./Text";
2
- import Title from "./Title"
3
-
4
- export {
5
- Text,
6
- Title
1
+ import Text from "./Text";
2
+ import Title from "./Title"
3
+
4
+ export {
5
+ Text,
6
+ Title
7
7
  }
@@ -1,65 +1,72 @@
1
- import React, { useRef, useState } from 'react';
2
- import * as S from './styles';
3
- import SettingsIcon from '@mui/icons-material/Settings';
4
- import { CheckBox } from '../../../CheckBox';
5
- import useClickOutside from '../../../../hooks/useClickOutside';
6
-
7
- const Header: React.FC<any> = ({
8
- table,
9
- showTotalResults,
10
- showSettings,
11
- showClearFiels,
12
- onClearFieldsClick,
13
- customTotalResults,
14
- clearLabel,
15
- }) => {
16
- const [openTools, setOpenTools] = useState(false);
17
- const listToolsRef = useRef<HTMLDivElement>(null);
18
-
19
- useClickOutside(listToolsRef, () => setOpenTools(false));
20
-
21
- return (
22
- <S.Header $showResults={showTotalResults}>
23
- <div>
24
- {showTotalResults && (
25
- <S.Results>
26
- <S.TextResult>
27
- {customTotalResults ? customTotalResults : `${table.getRowModel().rows.length} resultados encontrados.`}
28
- </S.TextResult>
29
- </S.Results>
30
- )}
31
- {showClearFiels && (
32
- <S.TextClearSearch onClick={() => onClearFieldsClick && onClearFieldsClick()}>
33
- {clearLabel || 'Limpar busca'}
34
- </S.TextClearSearch>
35
- )}
36
- </div>
37
- <S.Tools>
38
- {showSettings ? (
39
- <S.IconTools onClick={() => setOpenTools(!openTools)}>
40
- <SettingsIcon sx={{ fontSize: 16, color: '#DE8B50' }} />
41
- </S.IconTools>
42
- ) : null}
43
- {openTools ? (
44
- <S.ListTools ref={listToolsRef}>
45
- {table.getAllLeafColumns().map((column: any) => {
46
- return (
47
- <div key={column.id} className="px-1">
48
- <CheckBox
49
- label={column.columnDef.header || column.id}
50
- size="small"
51
- checked={column.getIsVisible()}
52
- value={column.getIsVisible()}
53
- onChange={column.getToggleVisibilityHandler()}
54
- />
55
- </div>
56
- );
57
- })}
58
- </S.ListTools>
59
- ) : null}
60
- </S.Tools>
61
- </S.Header>
62
- );
63
- };
64
-
65
- export default Header;
1
+ import React, { useRef, useState } from 'react';
2
+ import * as S from './styles';
3
+ import SettingsIcon from '@mui/icons-material/Settings';
4
+ import { CheckBox } from '../../../CheckBox';
5
+ import useClickOutside from '../../../../hooks/useClickOutside';
6
+
7
+ const Header: React.FC<any> = ({
8
+ table,
9
+ showTotalResults,
10
+ showSettings,
11
+ showClearFiels,
12
+ onClearFieldsClick,
13
+ customTotalResults,
14
+ clearLabel,
15
+ customIcons,
16
+ }) => {
17
+ const [openTools, setOpenTools] = useState(false);
18
+ const listToolsRef = useRef<HTMLDivElement>(null);
19
+
20
+ useClickOutside(listToolsRef, () => setOpenTools(false));
21
+
22
+ return (
23
+ <S.Header $showResults={showTotalResults}>
24
+ <div>
25
+ {showTotalResults && (
26
+ <S.Results>
27
+ <S.TextResult>
28
+ {customTotalResults ? customTotalResults : `${table.getRowModel().rows.length} resultados encontrados.`}
29
+ </S.TextResult>
30
+ </S.Results>
31
+ )}
32
+ {showClearFiels && (
33
+ <S.TextClearSearch onClick={() => onClearFieldsClick && onClearFieldsClick()}>
34
+ {clearLabel || 'Limpar busca'}
35
+ </S.TextClearSearch>
36
+ )}
37
+ </div>
38
+ <S.Tools>
39
+ {showSettings ? (
40
+ <S.IconTools onClick={() => setOpenTools(!openTools)}>
41
+ <SettingsIcon sx={{ fontSize: 18, color: '#DE8B50' }} />
42
+ </S.IconTools>
43
+ ) : null}
44
+
45
+ {customIcons &&
46
+ customIcons.map((IconComponent: React.ReactNode, index: number) => (
47
+ <S.IconTools key={index} >{IconComponent}</S.IconTools>
48
+ ))}
49
+
50
+ {openTools ? (
51
+ <S.ListTools ref={listToolsRef}>
52
+ {table.getAllLeafColumns().map((column: any) => {
53
+ return (
54
+ <div key={column.id} className="px-1">
55
+ <CheckBox
56
+ label={column.columnDef.header || column.id}
57
+ size="small"
58
+ checked={column.getIsVisible()}
59
+ value={column.getIsVisible()}
60
+ onChange={column.getToggleVisibilityHandler()}
61
+ />
62
+ </div>
63
+ );
64
+ })}
65
+ </S.ListTools>
66
+ ) : null}
67
+ </S.Tools>
68
+ </S.Header>
69
+ );
70
+ };
71
+
72
+ export default Header;
@@ -1,63 +1,66 @@
1
- import styled from 'styled-components';
2
-
3
- export const Header = styled.div<any>`
4
- display: flex;
5
- justify-content: space-between;
6
- width: calc(100% - 32px);
7
- @media screen and (max-width: 1440px) {
8
- width: calc(100% - 16px);
9
- }
10
- margin: 0 auto;
11
- `;
12
-
13
- export const Results = styled.div`
14
- display: flex;
15
- flex-direction: column;
16
- gap: 8px;
17
- `;
18
-
19
- export const Tools = styled.div``;
20
-
21
- export const TextResult = styled.div`
22
- color: #666666;
23
- font-size: 16px;
24
- `;
25
-
26
- export const TextClearSearchContent = styled.div`
27
- height: 10px;
28
- `;
29
-
30
- export const TextClearSearch = styled.p`
31
- color: #de8b50;
32
- font-size: 14px;
33
- cursor: pointer;
34
- margin: 0;
35
- &:hover {
36
- text-decoration: underline;
37
- }
38
- `;
39
-
40
- export const IconTools = styled.div`
41
- width: 24px;
42
- height: 24px;
43
- cursor: pointer;
44
- `;
45
-
46
- export const ListTools = styled.div`
47
- padding: 12px;
48
- margin: 6px 0 0 -106px;
49
- position: absolute;
50
- background: #fff;
51
- box-shadow: 0px 3px 6px #00000029;
52
- border: 1px solid #e0e0e0;
53
- display: flex;
54
- flex-direction: column;
55
- gap: 8px;
56
- font-size: 14px;
57
- z-index: 100;
58
- label {
59
- display: flex;
60
- gap: 8px;
61
- align-items: center;
62
- }
63
- `;
1
+ import styled from 'styled-components';
2
+
3
+ export const Header = styled.div<any>`
4
+ display: flex;
5
+ justify-content: space-between;
6
+ width: calc(100% - 32px);
7
+ @media screen and (max-width: 1440px) {
8
+ width: calc(100% - 16px);
9
+ }
10
+ margin: 0 auto;
11
+ `;
12
+
13
+ export const Results = styled.div`
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: 8px;
17
+ `;
18
+
19
+ export const Tools = styled.div`
20
+ display: flex;
21
+ align-items: center;
22
+ `;
23
+
24
+ export const TextResult = styled.div`
25
+ color: #666666;
26
+ font-size: 16px;
27
+ `;
28
+
29
+ export const TextClearSearchContent = styled.div`
30
+ height: 10px;
31
+ `;
32
+
33
+ export const TextClearSearch = styled.p`
34
+ color: #de8b50;
35
+ font-size: 14px;
36
+ cursor: pointer;
37
+ margin: 0;
38
+ &:hover {
39
+ text-decoration: underline;
40
+ }
41
+ `;
42
+
43
+ export const IconTools = styled.div`
44
+ width: 24px;
45
+ height: 24px;
46
+ cursor: pointer;
47
+ `;
48
+
49
+ export const ListTools = styled.div`
50
+ padding: 12px;
51
+ margin: 6px 0 0 -106px;
52
+ position: absolute;
53
+ background: #fff;
54
+ box-shadow: 0px 3px 6px #00000029;
55
+ border: 1px solid #e0e0e0;
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: 8px;
59
+ font-size: 14px;
60
+ z-index: 100;
61
+ label {
62
+ display: flex;
63
+ gap: 8px;
64
+ align-items: center;
65
+ }
66
+ `;
@@ -1,9 +1,9 @@
1
- import Pagination from "./pagination";
2
- import Header from "./header"
3
- import TBody from "./tbody";
4
-
5
- export {
6
- Pagination,
7
- Header,
8
- TBody
1
+ import Pagination from "./pagination";
2
+ import Header from "./header"
3
+ import TBody from "./tbody";
4
+
5
+ export {
6
+ Pagination,
7
+ Header,
8
+ TBody
9
9
  }
@@ -1,43 +1,43 @@
1
- import React from 'react';
2
- import { Pagination as MuiPagination, PaginationItem } from '@mui/material';
3
- import * as S from './styles';
4
-
5
- interface PaginationProps {
6
- count: number;
7
- pagination: { pageIndex: number; pageSize: number };
8
- onChangePage: (page: number) => void;
9
- }
10
-
11
- const Pagination = (props: PaginationProps) => {
12
- const { count, pagination, onChangePage } = props;
13
-
14
- const PreviousPagination: React.FC<any> = () => {
15
- return <span>{'<'}</span>;
16
- };
17
-
18
- const NextPagination: React.FC<any> = () => {
19
- return <span>{'>'}</span>;
20
- };
21
-
22
- return (
23
- <S.Pagination>
24
- <div className="content">
25
- <MuiPagination
26
- onChange={(_event: React.ChangeEvent<unknown>, page: number) => onChangePage(page)}
27
- page={pagination.pageIndex}
28
- count={count}
29
- renderItem={(item: any) => (
30
- <PaginationItem
31
- classes={{ root: 'button', selected: 'button-active' }}
32
- slots={{ previous: PreviousPagination, next: NextPagination }}
33
- sx={{ height: '35px', minWidth: '35px' }}
34
- {...item}
35
- />
36
- )}
37
- />
38
- </div>
39
- </S.Pagination>
40
- );
41
- };
42
-
43
- export default Pagination;
1
+ import React from 'react';
2
+ import { Pagination as MuiPagination, PaginationItem } from '@mui/material';
3
+ import * as S from './styles';
4
+
5
+ interface PaginationProps {
6
+ count: number;
7
+ pagination: { pageIndex: number; pageSize: number };
8
+ onChangePage: (page: number) => void;
9
+ }
10
+
11
+ const Pagination = (props: PaginationProps) => {
12
+ const { count, pagination, onChangePage } = props;
13
+
14
+ const PreviousPagination: React.FC<any> = () => {
15
+ return <span>{'<'}</span>;
16
+ };
17
+
18
+ const NextPagination: React.FC<any> = () => {
19
+ return <span>{'>'}</span>;
20
+ };
21
+
22
+ return (
23
+ <S.Pagination>
24
+ <div className="content">
25
+ <MuiPagination
26
+ onChange={(_event: React.ChangeEvent<unknown>, page: number) => onChangePage(page)}
27
+ page={pagination.pageIndex}
28
+ count={count}
29
+ renderItem={(item: any) => (
30
+ <PaginationItem
31
+ classes={{ root: 'button', selected: 'button-active' }}
32
+ slots={{ previous: PreviousPagination, next: NextPagination }}
33
+ sx={{ height: '35px', minWidth: '35px' }}
34
+ {...item}
35
+ />
36
+ )}
37
+ />
38
+ </div>
39
+ </S.Pagination>
40
+ );
41
+ };
42
+
43
+ export default Pagination;
@@ -1,29 +1,29 @@
1
- import styled from "styled-components";
2
-
3
- export const Pagination = styled.div`
4
- width: 100%;
5
- margin: 24px 0 0 0;
6
- display: flex;
7
- justify-content: center;
8
- .content {
9
- display: flex;
10
- gap: 8px;
11
- .button {
12
- border: 1px solid #E8E9EC;
13
- background: #fff;
14
- border-radius: 4px;
15
- color: #4D4F5C;
16
- cursor: pointer;
17
- &:disabled {
18
- opacity: 0.4;
19
- }
20
- }
21
- .button-active {
22
- border: 1px solid #FFDB9F;
23
- background: #FFDB9F;
24
- color: #B74616;
25
- border-radius: 4px;
26
- cursor: pointer;
27
- }
28
- }
1
+ import styled from "styled-components";
2
+
3
+ export const Pagination = styled.div`
4
+ width: 100%;
5
+ margin: 24px 0 0 0;
6
+ display: flex;
7
+ justify-content: center;
8
+ .content {
9
+ display: flex;
10
+ gap: 8px;
11
+ .button {
12
+ border: 1px solid #E8E9EC;
13
+ background: #fff;
14
+ border-radius: 4px;
15
+ color: #4D4F5C;
16
+ cursor: pointer;
17
+ &:disabled {
18
+ opacity: 0.4;
19
+ }
20
+ }
21
+ .button-active {
22
+ border: 1px solid #FFDB9F;
23
+ background: #FFDB9F;
24
+ color: #B74616;
25
+ border-radius: 4px;
26
+ cursor: pointer;
27
+ }
28
+ }
29
29
  `
@@ -1,33 +1,33 @@
1
- import React from 'react';
2
- import { flexRender } from '@tanstack/react-table';
3
- import * as S from './styles';
4
-
5
- const TBody: React.FC<any> = ({ table, onClick, onMouseOver, onMouseOut }) => {
6
- return (
7
- <tbody>
8
- {table.getRowModel().rows.map((row: any, index: number) => {
9
- return (
10
- <S.Tr
11
- key={index}
12
- $hasAction={!!onClick || !!onMouseOver || !!onMouseOut}
13
- onClick={() => (onClick ? onClick(row.original) : null)}
14
- onMouseOver={() => (onMouseOver ? onMouseOver(row.original) : null)}
15
- onMouseOut={() => (onMouseOut ? onMouseOut(row.original) : null)}
16
- >
17
- {row.getVisibleCells().map((cell: any, index: number) => {
18
- return (
19
- <S.Td key={index}>
20
- {cell.column.columnDef.type == 'action'
21
- ? cell.getValue()
22
- : flexRender(cell.column.columnDef.cell, cell.getContext())}
23
- </S.Td>
24
- );
25
- })}
26
- </S.Tr>
27
- );
28
- })}
29
- </tbody>
30
- );
31
- };
32
-
33
- export default TBody;
1
+ import React from 'react';
2
+ import { flexRender } from '@tanstack/react-table';
3
+ import * as S from './styles';
4
+
5
+ const TBody: React.FC<any> = ({ table, onClick, onMouseOver, onMouseOut }) => {
6
+ return (
7
+ <tbody>
8
+ {table.getRowModel().rows.map((row: any, index: number) => {
9
+ return (
10
+ <S.Tr
11
+ key={index}
12
+ $hasAction={!!onClick || !!onMouseOver || !!onMouseOut}
13
+ onClick={() => (onClick ? onClick(row.original) : null)}
14
+ onMouseOver={() => (onMouseOver ? onMouseOver(row.original) : null)}
15
+ onMouseOut={() => (onMouseOut ? onMouseOut(row.original) : null)}
16
+ >
17
+ {row.getVisibleCells().map((cell: any, index: number) => {
18
+ return (
19
+ <S.Td key={index}>
20
+ {cell.column.columnDef.type == 'action'
21
+ ? cell.getValue()
22
+ : flexRender(cell.column.columnDef.cell, cell.getContext())}
23
+ </S.Td>
24
+ );
25
+ })}
26
+ </S.Tr>
27
+ );
28
+ })}
29
+ </tbody>
30
+ );
31
+ };
32
+
33
+ export default TBody;
@@ -1,32 +1,32 @@
1
- import { breakpoints } from '../../../../utils/styledBreakpoints';
2
- import styled from 'styled-components';
3
-
4
- export const Tr = styled.tr<any>`
5
- color: inherit;
6
- display: table-row;
7
- vertical-align: middle;
8
- outline: 0;
9
- &:nth-of-type(even) {
10
- background-color: #fafafa;
11
- }
12
- `;
13
-
14
- export const Td = styled.td`
15
- font-weight: 500;
16
- font-size: 0.875rem;
17
- line-height: 1.5rem;
18
- letter-spacing: 0.01071em;
19
- display: table-cell;
20
- vertical-align: inherit;
21
- border-bottom: 1px solid rgba(224, 224, 224, 1);
22
- text-align: left;
23
- padding: 16px;
24
- ${breakpoints({
25
- cssProp: 'padding',
26
- cssPropUnits: 'px',
27
- values: [{ 1440: 8 }],
28
- mediaQueryType: 'max-width',
29
- })};
30
- color: #666666;
31
- font-size: 0.875rem;
32
- `;
1
+ import { breakpoints } from '../../../../utils/styledBreakpoints';
2
+ import styled from 'styled-components';
3
+
4
+ export const Tr = styled.tr<any>`
5
+ color: inherit;
6
+ display: table-row;
7
+ vertical-align: middle;
8
+ outline: 0;
9
+ &:nth-of-type(even) {
10
+ background-color: #fafafa;
11
+ }
12
+ `;
13
+
14
+ export const Td = styled.td`
15
+ font-weight: 500;
16
+ font-size: 0.875rem;
17
+ line-height: 1.5rem;
18
+ letter-spacing: 0.01071em;
19
+ display: table-cell;
20
+ vertical-align: inherit;
21
+ border-bottom: 1px solid rgba(224, 224, 224, 1);
22
+ text-align: left;
23
+ padding: 16px;
24
+ ${breakpoints({
25
+ cssProp: 'padding',
26
+ cssPropUnits: 'px',
27
+ values: [{ 1440: 8 }],
28
+ mediaQueryType: 'max-width',
29
+ })};
30
+ color: #666666;
31
+ font-size: 0.875rem;
32
+ `;