norma-library 0.5.4 → 0.5.10
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.
- package/.storybook/main.ts +20 -0
- package/.storybook/preview.ts +15 -0
- package/README.md +13 -11
- package/dist/esm/components/Box/index.d.ts +4 -0
- package/dist/esm/components/Box/index.js +8 -0
- package/dist/esm/components/Box/index.js.map +1 -0
- package/dist/esm/components/Box/interfaces.d.ts +5 -0
- package/dist/esm/components/Box/interfaces.js +2 -0
- package/dist/esm/components/Box/interfaces.js.map +1 -0
- package/dist/esm/components/Box/styles.d.ts +3 -0
- package/dist/esm/components/Box/styles.js +17 -0
- package/dist/esm/components/Box/styles.js.map +1 -0
- package/dist/esm/components/Breadcrumb/index.d.ts +4 -0
- package/dist/esm/components/Breadcrumb/index.js +18 -0
- package/dist/esm/components/Breadcrumb/index.js.map +1 -0
- package/dist/esm/components/Breadcrumb/interface.d.ts +8 -0
- package/dist/esm/components/Breadcrumb/interface.js +2 -0
- package/dist/esm/components/Breadcrumb/interface.js.map +1 -0
- package/dist/esm/components/Breadcrumb/styles.d.ts +5 -0
- package/dist/esm/components/Breadcrumb/styles.js +8 -0
- package/dist/esm/components/Breadcrumb/styles.js.map +1 -0
- package/dist/esm/components/Card.js.map +1 -1
- package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.d.ts +3 -0
- package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.js +29 -0
- package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.js.map +1 -0
- package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.d.ts +16 -0
- package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.js +13 -0
- package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.js.map +1 -0
- package/dist/esm/components/DateInput/index.d.ts +4 -0
- package/dist/esm/components/DateInput/index.js +15 -0
- package/dist/esm/components/DateInput/index.js.map +1 -0
- package/dist/esm/components/DateInput/interface.d.ts +12 -0
- package/dist/esm/components/DateInput/interface.js +2 -0
- package/dist/esm/components/DateInput/interface.js.map +1 -0
- package/dist/esm/components/DateInput/styles.d.ts +5 -0
- package/dist/esm/components/DateInput/styles.js +7 -0
- package/dist/esm/components/DateInput/styles.js.map +1 -0
- package/dist/esm/components/Icons.d.ts +1 -1
- package/dist/esm/components/Icons.js.map +1 -1
- package/dist/esm/components/Modal.d.ts +1 -1
- package/dist/esm/components/Modal.js +17 -13
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/MultiSelectInput/components/MultiValue/index.d.ts +3 -0
- package/dist/esm/components/MultiSelectInput/components/MultiValue/index.js +30 -0
- package/dist/esm/components/MultiSelectInput/components/MultiValue/index.js.map +1 -0
- package/dist/esm/components/MultiSelectInput/components/Option/index.d.ts +3 -0
- package/dist/esm/components/MultiSelectInput/components/Option/index.js +36 -0
- package/dist/esm/components/MultiSelectInput/components/Option/index.js.map +1 -0
- package/dist/esm/components/MultiSelectInput/components/Option/styles.d.ts +2 -0
- package/dist/esm/components/MultiSelectInput/components/Option/styles.js +5 -0
- package/dist/esm/components/MultiSelectInput/components/Option/styles.js.map +1 -0
- package/dist/esm/components/MultiSelectInput/index.d.ts +4 -0
- package/dist/esm/components/MultiSelectInput/index.js +33 -0
- package/dist/esm/components/MultiSelectInput/index.js.map +1 -0
- package/dist/esm/components/MultiSelectInput/interfaces.d.ts +15 -0
- package/dist/esm/components/MultiSelectInput/interfaces.js +2 -0
- package/dist/esm/components/MultiSelectInput/interfaces.js.map +1 -0
- package/dist/esm/components/MultiSelectInput/styles.d.ts +3 -0
- package/dist/esm/components/MultiSelectInput/styles.js +6 -0
- package/dist/esm/components/MultiSelectInput/styles.js.map +1 -0
- package/dist/esm/components/ProgressBar.d.ts +1 -1
- package/dist/esm/components/ProgressBar.js +4 -4
- package/dist/esm/components/ProgressBar.js.map +1 -1
- package/dist/esm/components/SelectInput/components/Option/index.d.ts +3 -0
- package/dist/esm/components/SelectInput/components/Option/index.js +34 -0
- package/dist/esm/components/SelectInput/components/Option/index.js.map +1 -0
- package/dist/esm/components/SelectInput/components/Option/styles.d.ts +2 -0
- package/dist/esm/components/SelectInput/components/Option/styles.js +5 -0
- package/dist/esm/components/SelectInput/components/Option/styles.js.map +1 -0
- package/dist/esm/components/SelectInput/index.d.ts +4 -0
- package/dist/esm/components/SelectInput/index.js +19 -0
- package/dist/esm/components/SelectInput/index.js.map +1 -0
- package/dist/esm/components/SelectInput/interfaces.d.ts +15 -0
- package/dist/esm/components/SelectInput/interfaces.js +2 -0
- package/dist/esm/components/SelectInput/interfaces.js.map +1 -0
- package/dist/esm/components/SelectInput/styles.d.ts +3 -0
- package/dist/esm/components/SelectInput/styles.js +6 -0
- package/dist/esm/components/SelectInput/styles.js.map +1 -0
- package/dist/esm/components/Svgs.d.ts +1 -0
- package/dist/esm/components/Svgs.js +4 -0
- package/dist/esm/components/Svgs.js.map +1 -1
- package/dist/esm/components/Table/components/header/index.d.ts +3 -0
- package/dist/esm/components/Table/components/header/index.js +47 -0
- package/dist/esm/components/Table/components/header/index.js.map +1 -0
- package/dist/esm/components/Table/components/header/styles.d.ts +9 -0
- package/dist/esm/components/Table/components/header/styles.js +12 -0
- package/dist/esm/components/Table/components/header/styles.js.map +1 -0
- package/dist/esm/components/Table/components/index.d.ts +4 -0
- package/dist/esm/components/Table/components/index.js +5 -0
- package/dist/esm/components/Table/components/index.js.map +1 -0
- package/dist/esm/components/Table/components/pagination/index.d.ts +3 -0
- package/dist/esm/components/Table/components/pagination/index.js +26 -0
- package/dist/esm/components/Table/components/pagination/index.js.map +1 -0
- package/dist/esm/components/Table/components/pagination/styles.d.ts +2 -0
- package/dist/esm/components/Table/components/pagination/styles.js +5 -0
- package/dist/esm/components/Table/components/pagination/styles.js.map +1 -0
- package/dist/esm/components/Table/components/tbody/index.d.ts +3 -0
- package/dist/esm/components/Table/components/tbody/index.js +15 -0
- package/dist/esm/components/Table/components/tbody/index.js.map +1 -0
- package/dist/esm/components/Table/components/tbody/styles.d.ts +1 -0
- package/dist/esm/components/Table/components/tbody/styles.js +5 -0
- package/dist/esm/components/Table/components/tbody/styles.js.map +1 -0
- package/dist/esm/components/Table/index.d.ts +4 -0
- package/dist/esm/components/Table/index.js +227 -0
- package/dist/esm/components/Table/index.js.map +1 -0
- package/dist/esm/components/Table/interface.d.ts +26 -0
- package/dist/esm/components/Table/interface.js +2 -0
- package/dist/esm/components/Table/interface.js.map +1 -0
- package/dist/esm/components/Table/styles.d.ts +11 -0
- package/dist/esm/components/Table/styles.js +14 -0
- package/dist/esm/components/Table/styles.js.map +1 -0
- package/dist/esm/components/Tabs.d.ts +1 -1
- package/dist/esm/components/Tabs.js +6 -6
- package/dist/esm/components/Tabs.js.map +1 -1
- package/dist/esm/components/TextInput/index.d.ts +4 -0
- package/dist/esm/components/TextInput/index.js +16 -0
- package/dist/esm/components/TextInput/index.js.map +1 -0
- package/dist/esm/components/TextInput/interface.d.ts +10 -0
- package/dist/esm/components/TextInput/interface.js +2 -0
- package/dist/esm/components/TextInput/interface.js.map +1 -0
- package/dist/esm/components/TextInput/styles.d.ts +4 -0
- package/dist/esm/components/TextInput/styles.js +7 -0
- package/dist/esm/components/TextInput/styles.js.map +1 -0
- package/dist/esm/components/Typography/Text/index.d.ts +4 -0
- package/dist/esm/components/Typography/Text/index.js +8 -0
- package/dist/esm/components/Typography/Text/index.js.map +1 -0
- package/dist/esm/components/Typography/Text/interfaces.d.ts +7 -0
- package/dist/esm/components/Typography/Text/interfaces.js +2 -0
- package/dist/esm/components/Typography/Text/interfaces.js.map +1 -0
- package/dist/esm/components/Typography/Text/styles.d.ts +3 -0
- package/dist/esm/components/Typography/Text/styles.js +35 -0
- package/dist/esm/components/Typography/Text/styles.js.map +1 -0
- package/dist/esm/components/Typography/Title/index.d.ts +4 -0
- package/dist/esm/components/Typography/Title/index.js +8 -0
- package/dist/esm/components/Typography/Title/index.js.map +1 -0
- package/dist/esm/components/Typography/Title/interfaces.d.ts +8 -0
- package/dist/esm/components/Typography/Title/interfaces.js +2 -0
- package/dist/esm/components/Typography/Title/interfaces.js.map +1 -0
- package/dist/esm/components/Typography/Title/styles.d.ts +3 -0
- package/dist/esm/components/Typography/Title/styles.js +35 -0
- package/dist/esm/components/Typography/Title/styles.js.map +1 -0
- package/dist/esm/components/Typography/index.d.ts +3 -0
- package/dist/esm/components/Typography/index.js +4 -0
- package/dist/esm/components/Typography/index.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/components/header/index.d.ts +3 -0
- package/dist/esm/components/UncontrolledTable/components/header/index.js +27 -0
- package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/components/header/styles.d.ts +9 -0
- package/dist/esm/components/UncontrolledTable/components/header/styles.js +12 -0
- package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/components/index.d.ts +4 -0
- package/dist/esm/components/UncontrolledTable/components/index.js +5 -0
- package/dist/esm/components/UncontrolledTable/components/index.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/components/pagination/index.d.ts +3 -0
- package/dist/esm/components/UncontrolledTable/components/pagination/index.js +26 -0
- package/dist/esm/components/UncontrolledTable/components/pagination/index.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/components/pagination/styles.d.ts +2 -0
- package/dist/esm/components/UncontrolledTable/components/pagination/styles.js +5 -0
- package/dist/esm/components/UncontrolledTable/components/pagination/styles.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/components/tbody/index.d.ts +3 -0
- package/dist/esm/components/UncontrolledTable/components/tbody/index.js +15 -0
- package/dist/esm/components/UncontrolledTable/components/tbody/index.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/components/tbody/styles.d.ts +1 -0
- package/dist/esm/components/UncontrolledTable/components/tbody/styles.js +5 -0
- package/dist/esm/components/UncontrolledTable/components/tbody/styles.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/index.d.ts +4 -0
- package/dist/esm/components/UncontrolledTable/index.js +156 -0
- package/dist/esm/components/UncontrolledTable/index.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/interface.d.ts +29 -0
- package/dist/esm/components/UncontrolledTable/interface.js +2 -0
- package/dist/esm/components/UncontrolledTable/interface.js.map +1 -0
- package/dist/esm/components/UncontrolledTable/styles.d.ts +11 -0
- package/dist/esm/components/UncontrolledTable/styles.js +14 -0
- package/dist/esm/components/UncontrolledTable/styles.js.map +1 -0
- package/dist/esm/components/index.d.ts +2 -1
- package/dist/esm/components/index.js +2 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/helpers/alignments.js.map +1 -1
- package/dist/esm/helpers/borders.js.map +1 -1
- package/dist/esm/helpers/colors.js.map +1 -1
- package/dist/esm/helpers/radios.js.map +1 -1
- package/dist/esm/helpers/sizes.js.map +1 -1
- package/dist/esm/index.d.ts +12 -1
- package/dist/esm/index.js +12 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/ChatMessageBalloon.d.ts +16 -0
- package/dist/esm/interfaces/ChatMessageBalloon.js +2 -0
- package/dist/esm/interfaces/ChatMessageBalloon.js.map +1 -0
- package/dist/esm/interfaces/Modal.d.ts +2 -1
- package/dist/esm/interfaces/Select.d.ts +1 -1
- package/dist/esm/interfaces/TextField.d.ts +2 -1
- package/dist/esm/interfaces/index.d.ts +1 -1
- package/dist/esm/interfaces/index.js +1 -1
- package/dist/esm/interfaces/index.js.map +1 -1
- package/dist/esm/types/index.d.ts +2 -0
- package/dist/esm/types/index.js.map +1 -1
- package/package.json +29 -27
- package/src/components/Box/index.tsx +13 -0
- package/src/components/Box/interfaces.ts +4 -0
- package/src/components/Box/styles.tsx +23 -0
- package/src/components/Breadcrumb/index.tsx +27 -0
- package/src/components/Breadcrumb/interface.ts +9 -0
- package/src/components/Breadcrumb/styles.tsx +33 -0
- package/src/components/Card.tsx +1 -2
- package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -0
- package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -0
- package/src/components/DateInput/index.tsx +35 -0
- package/src/components/DateInput/interface.ts +14 -0
- package/src/components/DateInput/styles.tsx +28 -0
- package/src/components/Modal.tsx +37 -33
- package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -0
- package/src/components/MultiSelectInput/components/Option/index.tsx +63 -0
- package/src/components/MultiSelectInput/components/Option/styles.tsx +9 -0
- package/src/components/MultiSelectInput/index.tsx +61 -0
- package/src/components/MultiSelectInput/interfaces.ts +16 -0
- package/src/components/MultiSelectInput/styles.tsx +44 -0
- package/src/components/ProgressBar.tsx +4 -4
- package/src/components/SelectInput/components/Option/index.tsx +62 -0
- package/src/components/SelectInput/components/Option/styles.tsx +9 -0
- package/src/components/SelectInput/index.tsx +46 -0
- package/src/components/SelectInput/interfaces.ts +16 -0
- package/src/components/SelectInput/styles.tsx +32 -0
- package/src/components/Svgs.tsx +8 -0
- package/src/components/Table/components/header/index.tsx +87 -0
- package/src/components/Table/components/header/styles.tsx +60 -0
- package/src/components/Table/components/index.tsx +9 -0
- package/src/components/Table/components/pagination/index.tsx +40 -0
- package/src/components/Table/components/pagination/styles.tsx +29 -0
- package/src/components/Table/components/tbody/index.tsx +31 -0
- package/src/components/Table/components/tbody/styles.tsx +5 -0
- package/src/components/Table/index.tsx +318 -0
- package/src/components/Table/interface.ts +24 -0
- package/src/components/Table/styles.tsx +118 -0
- package/src/components/Tabs.tsx +5 -5
- package/src/components/TextInput/index.tsx +38 -0
- package/src/components/TextInput/interface.ts +10 -0
- package/src/components/TextInput/styles.tsx +24 -0
- package/src/components/Typography/Text/index.tsx +21 -0
- package/src/components/Typography/Text/interfaces.ts +6 -0
- package/src/components/Typography/Text/styles.tsx +41 -0
- package/src/components/Typography/Title/index.tsx +23 -0
- package/src/components/Typography/Title/interfaces.ts +7 -0
- package/src/components/Typography/Title/styles.tsx +41 -0
- package/src/components/Typography/index.tsx +7 -0
- package/src/components/UncontrolledTable/components/header/index.tsx +51 -0
- package/src/components/UncontrolledTable/components/header/styles.tsx +59 -0
- package/src/components/UncontrolledTable/components/index.tsx +9 -0
- package/src/components/UncontrolledTable/components/pagination/index.tsx +40 -0
- package/src/components/UncontrolledTable/components/pagination/styles.tsx +29 -0
- package/src/components/UncontrolledTable/components/tbody/index.tsx +31 -0
- package/src/components/UncontrolledTable/components/tbody/styles.tsx +5 -0
- package/src/components/UncontrolledTable/index.tsx +300 -0
- package/src/components/UncontrolledTable/interface.ts +27 -0
- package/src/components/UncontrolledTable/styles.tsx +120 -0
- package/src/components/index.ts +2 -1
- package/src/helpers/colors.ts +0 -1
- package/src/index.css +0 -2
- package/src/index.ts +26 -0
- package/src/interfaces/ChatMessageBalloon.ts +17 -0
- package/src/interfaces/Modal.ts +2 -1
- package/src/interfaces/Select.ts +1 -1
- package/src/interfaces/TextField.ts +2 -1
- package/src/interfaces/index.ts +1 -1
- package/src/sample-data-2.json +178 -0
- package/src/sample-data.json +3 -4
- package/src/stories/Box.stories.tsx +36 -0
- package/src/stories/Breadcrumb.stories.tsx +45 -0
- package/src/stories/Button.stories.tsx +3 -1
- package/src/stories/Card.stories.tsx +1 -1
- package/src/stories/ChatMessageBalloon.stories.tsx +108 -0
- package/src/stories/DateInput.stories.tsx +52 -0
- package/src/stories/Modal.stories.tsx +5 -0
- package/src/stories/MultiSelectInput.stories.tsx +91 -0
- package/src/stories/ProgressBar.stories.tsx +2 -2
- package/src/stories/SelectInput.stories.tsx +79 -0
- package/src/stories/Table.stories.tsx +373 -0
- package/src/stories/Tabs.stories.tsx +1 -1
- package/src/stories/Text.stories.tsx +38 -0
- package/src/stories/TextInput.stories.tsx +53 -0
- package/src/stories/Title.stories.tsx +44 -0
- package/src/stories/UncontrolledTable.stories.tsx +379 -0
- package/src/styles/custom.css +1 -0
- package/src/styles/{globals.css → globals.scss} +1 -4
- package/src/types/index.ts +3 -0
- package/tsconfig.json +1 -1
- package/vite.config.ts +15 -0
- package/.husky/commit-msg +0 -4
- package/dist/Button/index.d.ts +0 -9
- package/dist/Button/types.d.ts +0 -18
- package/dist/Card/Card.d.ts +0 -3
- package/dist/Card/CardHeader.d.ts +0 -3
- package/dist/Card/index.d.ts +0 -4
- package/dist/Card/styles.d.ts +0 -546
- package/dist/Card/types.d.ts +0 -8
- package/dist/esm/components/DataGrid/base/dropdown.d.ts +0 -4
- package/dist/esm/components/DataGrid/base/dropdown.js +0 -126
- package/dist/esm/components/DataGrid/base/dropdown.js.map +0 -1
- package/dist/esm/components/DataGrid/base/number-filter.d.ts +0 -4
- package/dist/esm/components/DataGrid/base/number-filter.js +0 -30
- package/dist/esm/components/DataGrid/base/number-filter.js.map +0 -1
- package/dist/esm/components/DataGrid/base/sorting.d.ts +0 -5
- package/dist/esm/components/DataGrid/base/sorting.js +0 -15
- package/dist/esm/components/DataGrid/base/sorting.js.map +0 -1
- package/dist/esm/components/DataGrid/icons.d.ts +0 -4
- package/dist/esm/components/DataGrid/icons.js +0 -15
- package/dist/esm/components/DataGrid/icons.js.map +0 -1
- package/dist/esm/components/DataGrid/index.d.ts +0 -5
- package/dist/esm/components/DataGrid/index.js +0 -133
- package/dist/esm/components/DataGrid/index.js.map +0 -1
- package/dist/esm/components/DataGrid/shared.d.ts +0 -20
- package/dist/esm/components/DataGrid/shared.js +0 -128
- package/dist/esm/components/DataGrid/shared.js.map +0 -1
- package/dist/esm/components/DataGrid/styled.d.ts +0 -10
- package/dist/esm/components/DataGrid/styled.js +0 -73
- package/dist/esm/components/DataGrid/styled.js.map +0 -1
- package/dist/esm/interfaces/DataGrid.d.ts +0 -40
- package/dist/esm/interfaces/DataGrid.js +0 -2
- package/dist/esm/interfaces/DataGrid.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.es.js +0 -6992
- package/dist/index.es.js.map +0 -1
- package/dist/index.umd.js +0 -266
- package/dist/index.umd.js.map +0 -1
- package/dist/vite.svg +0 -1
- package/src/components/DataGrid/allData.json +0 -2918
- package/src/components/DataGrid/base/dropdown.tsx +0 -212
- package/src/components/DataGrid/base/number-filter.tsx +0 -43
- package/src/components/DataGrid/base/sorting.tsx +0 -29
- package/src/components/DataGrid/icons.tsx +0 -53
- package/src/components/DataGrid/index.tsx +0 -247
- package/src/components/DataGrid/shared.ts +0 -154
- package/src/components/DataGrid/styled.ts +0 -96
- package/src/components/DataGrid/styles/dropdown.module.css +0 -86
- package/src/components/DataGrid/styles/number-filter.module.css +0 -16
- package/src/components/DataGrid/styles/styles.module.css +0 -107
- package/src/interfaces/DataGrid.ts +0 -46
- package/src/stories/DataGrid.stories.tsx +0 -28
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
import "react-datepicker/dist/react-datepicker.css";
|
|
3
|
+
import { ContainerStyles } from './interface';
|
|
4
|
+
|
|
5
|
+
export const Container = styled.div<ContainerStyles>`
|
|
6
|
+
width: 100%;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
.react-datepicker-wrapper {
|
|
10
|
+
width: 100%;
|
|
11
|
+
input {
|
|
12
|
+
border: none;
|
|
13
|
+
color: #4D4F5C;
|
|
14
|
+
border-bottom: 1px solid #00000033;
|
|
15
|
+
outline: none;
|
|
16
|
+
font-size: 18px;
|
|
17
|
+
padding: 8px;
|
|
18
|
+
width: 100%;
|
|
19
|
+
font-size: 16px;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
`
|
|
23
|
+
|
|
24
|
+
export const Label = styled.label`
|
|
25
|
+
font-size: 14px;
|
|
26
|
+
margin: 0 0 4px 0;
|
|
27
|
+
color: #666;
|
|
28
|
+
`
|
package/src/components/Modal.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Modal as MuiModal, Paper, Box } from '@mui/material';
|
|
2
|
+
import { Modal as MuiModal, Paper, Box, Typography } from '@mui/material';
|
|
3
3
|
import { ModalBaseProps } from '../interfaces';
|
|
4
4
|
import { styled } from '@mui/material/styles';
|
|
5
5
|
import { IconButton } from './IconButton';
|
|
@@ -15,18 +15,18 @@ const ModalContentStyled = styled(Paper)`
|
|
|
15
15
|
left: 50%;
|
|
16
16
|
width: 421px;
|
|
17
17
|
transform: translate(-50%, -50%);
|
|
18
|
-
|
|
18
|
+
background-color: #FFF;
|
|
19
19
|
box-shadow: 24px;
|
|
20
|
-
padding: 16px;
|
|
21
20
|
`;
|
|
22
21
|
|
|
23
22
|
const ModalHeaderStyled = styled(Box)`
|
|
24
23
|
text-align: left;
|
|
25
24
|
border-bottom: 1px solid #00000033;
|
|
25
|
+
box-sizing: border-box;
|
|
26
26
|
margin: 0;
|
|
27
|
-
top: -5px;
|
|
28
27
|
position: relative;
|
|
29
|
-
padding:
|
|
28
|
+
padding: 22px 26px 15px 26px;
|
|
29
|
+
justify-content: space-between;
|
|
30
30
|
display: flex;
|
|
31
31
|
|
|
32
32
|
& h2 {
|
|
@@ -36,14 +36,18 @@ const ModalHeaderStyled = styled(Box)`
|
|
|
36
36
|
`;
|
|
37
37
|
|
|
38
38
|
const ModalFooterStyled = styled(Box)`
|
|
39
|
-
text-align: left;
|
|
40
39
|
border-top: 1px solid #00000033;
|
|
41
|
-
|
|
42
|
-
bottom: -5px;
|
|
40
|
+
box-sizing: border-box;
|
|
43
41
|
position: relative;
|
|
44
|
-
padding:
|
|
42
|
+
padding: 24px;
|
|
45
43
|
display: flex;
|
|
46
44
|
justify-content: end;
|
|
45
|
+
gap: 24px;
|
|
46
|
+
`;
|
|
47
|
+
|
|
48
|
+
const ModalContainerChildrenStyled = styled(Box)`
|
|
49
|
+
box-sizing: border-box;
|
|
50
|
+
padding: 24px;
|
|
47
51
|
`;
|
|
48
52
|
|
|
49
53
|
export function Close() {
|
|
@@ -65,40 +69,40 @@ export function Close() {
|
|
|
65
69
|
);
|
|
66
70
|
}
|
|
67
71
|
|
|
68
|
-
export const Modal = ({ open, children, ...props }: ModalBaseProps) => {
|
|
69
|
-
|
|
72
|
+
export const Modal = ({ open, children, paperProps, ...props }: ModalBaseProps) => {
|
|
70
73
|
return (
|
|
71
74
|
<ModalStyled open {...props}>
|
|
72
|
-
<ModalContentStyled>
|
|
75
|
+
<ModalContentStyled {...paperProps}>
|
|
73
76
|
{props.title && (
|
|
74
77
|
<ModalHeaderStyled>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
</IconButton>
|
|
87
|
-
</>
|
|
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>
|
|
88
89
|
</ModalHeaderStyled>
|
|
89
90
|
)}
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
<ModalContainerChildrenStyled>
|
|
92
|
+
{children}
|
|
93
|
+
</ModalContainerChildrenStyled>
|
|
94
|
+
{!!props.action?.length && (
|
|
92
95
|
<ModalFooterStyled>
|
|
93
|
-
{props.action.map((
|
|
96
|
+
{props.action.map(({color, variant, action, size, label, ...rest}, key) => (
|
|
94
97
|
<Button
|
|
95
|
-
color={
|
|
96
|
-
variant={
|
|
98
|
+
color={color}
|
|
99
|
+
variant={variant}
|
|
97
100
|
key={key}
|
|
98
|
-
onClick={
|
|
99
|
-
|
|
101
|
+
onClick={action}
|
|
102
|
+
size={size}
|
|
103
|
+
{...rest}
|
|
100
104
|
>
|
|
101
|
-
{
|
|
105
|
+
{label}
|
|
102
106
|
</Button>
|
|
103
107
|
))}
|
|
104
108
|
</ModalFooterStyled>
|
|
@@ -0,0 +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
|
|
@@ -0,0 +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
|
+
|
|
63
|
+
export default Option
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React, { useState } from "react"
|
|
2
|
+
import Select from "react-select"
|
|
3
|
+
import { MultiSelectProps } from "./interfaces"
|
|
4
|
+
import * as S from "./styles"
|
|
5
|
+
import Option from "./components/Option"
|
|
6
|
+
import MultiValue from "./components/MultiValue"
|
|
7
|
+
|
|
8
|
+
const MultiSelectInput:React.FC<MultiSelectProps> = ({
|
|
9
|
+
className,
|
|
10
|
+
label,
|
|
11
|
+
onChange,
|
|
12
|
+
placeholder,
|
|
13
|
+
disabled,
|
|
14
|
+
options,
|
|
15
|
+
value,
|
|
16
|
+
isSearchable,
|
|
17
|
+
isClearable,
|
|
18
|
+
}) => {
|
|
19
|
+
const [valueSelected, setValueSelected] = useState(value)
|
|
20
|
+
|
|
21
|
+
const components = {
|
|
22
|
+
MultiValueContainer: ({ selectProps, data }: any) => {
|
|
23
|
+
const values = selectProps.value;
|
|
24
|
+
if (values) {
|
|
25
|
+
const separator = values.length > 1 ? ', ' : ''
|
|
26
|
+
return values[values.length - 1]?.label === data?.label
|
|
27
|
+
? data?.label
|
|
28
|
+
: data?.label + `${separator}`;
|
|
29
|
+
}
|
|
30
|
+
return
|
|
31
|
+
},
|
|
32
|
+
Option,
|
|
33
|
+
MultiValue
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<S.Container className={className}>
|
|
38
|
+
{ label ? <S.Label>{label}</S.Label> : null }
|
|
39
|
+
<Select
|
|
40
|
+
placeholder={placeholder}
|
|
41
|
+
className="react-select-container"
|
|
42
|
+
classNamePrefix="react-select"
|
|
43
|
+
defaultValue={valueSelected || []}
|
|
44
|
+
options={options}
|
|
45
|
+
isMulti
|
|
46
|
+
closeMenuOnSelect={false}
|
|
47
|
+
hideSelectedOptions={false}
|
|
48
|
+
isDisabled={disabled}
|
|
49
|
+
isSearchable={isSearchable}
|
|
50
|
+
isClearable={isClearable}
|
|
51
|
+
components={components}
|
|
52
|
+
onChange={(values: any) => {
|
|
53
|
+
setValueSelected(values)
|
|
54
|
+
onChange(values)
|
|
55
|
+
}}
|
|
56
|
+
/>
|
|
57
|
+
</S.Container>
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export default MultiSelectInput
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface Option {
|
|
2
|
+
value: string | number,
|
|
3
|
+
label: string
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface MultiSelectProps {
|
|
7
|
+
className?: string
|
|
8
|
+
label?: string
|
|
9
|
+
onChange: Function
|
|
10
|
+
placeholder?: string
|
|
11
|
+
disabled?: boolean
|
|
12
|
+
options: Option[]
|
|
13
|
+
value: Option
|
|
14
|
+
isSearchable?: boolean
|
|
15
|
+
isClearable?: boolean
|
|
16
|
+
}
|
|
@@ -0,0 +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;
|
|
44
|
+
`
|
|
@@ -28,20 +28,20 @@ const ProgressBarLabelStyled = styled(Typography)`
|
|
|
28
28
|
font: normal normal normal 16px/20px Source Sans Pro;
|
|
29
29
|
`;
|
|
30
30
|
|
|
31
|
-
export const ProgressBar = ({ value = 0, label, variant = 'determinate', total, ...props }: ProgressBarBaseProps) => {
|
|
31
|
+
export const ProgressBar = ({ value = 0, label, variant = 'determinate', total, className, ...props }: ProgressBarBaseProps) => {
|
|
32
32
|
const percentage = value && total ? (value / total) * 100 : 0;
|
|
33
33
|
|
|
34
34
|
return (
|
|
35
|
-
<div style={{ minWidth: '100px' }}>
|
|
35
|
+
<div className={className} style={{ minWidth: '100px' }}>
|
|
36
36
|
{label && (
|
|
37
37
|
<ProgressBarLabelStyled>
|
|
38
38
|
{label}
|
|
39
39
|
<span style={{ right: 0 }}>
|
|
40
|
-
{
|
|
40
|
+
{value} ({percentage.toFixed(2)}%)
|
|
41
41
|
</span>
|
|
42
42
|
</ProgressBarLabelStyled>
|
|
43
43
|
)}
|
|
44
|
-
<ProgressBarStyled value={
|
|
44
|
+
<ProgressBarStyled value={percentage} variant={variant} {...props} />
|
|
45
45
|
</div>
|
|
46
46
|
);
|
|
47
47
|
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React, { useState } from "react"
|
|
2
|
+
import { components } from "react-select"
|
|
3
|
+
import * as S from "./styles";
|
|
4
|
+
|
|
5
|
+
const Option:React.FC<any> = ({
|
|
6
|
+
isFocused,
|
|
7
|
+
isSelected,
|
|
8
|
+
innerProps,
|
|
9
|
+
children,
|
|
10
|
+
getStyles,
|
|
11
|
+
isDisabled,
|
|
12
|
+
...rest
|
|
13
|
+
}) => {
|
|
14
|
+
const [isActive, setIsActive] = useState(false);
|
|
15
|
+
const onMouseDown = () => setIsActive(true);
|
|
16
|
+
const onMouseUp = () => setIsActive(false);
|
|
17
|
+
const onMouseLeave = () => setIsActive(false);
|
|
18
|
+
|
|
19
|
+
let bg = "transparent"
|
|
20
|
+
let color = "#000"
|
|
21
|
+
|
|
22
|
+
if (isFocused) {
|
|
23
|
+
bg = "#f1f1f1"
|
|
24
|
+
};
|
|
25
|
+
if (isActive) {
|
|
26
|
+
bg = "#F8F9FA"
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const style = {
|
|
30
|
+
alignItems: "center",
|
|
31
|
+
transition: "0.3s",
|
|
32
|
+
backgroundColor: bg,
|
|
33
|
+
color: color,
|
|
34
|
+
display: "flex ",
|
|
35
|
+
gap: '8px'
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const props = {
|
|
39
|
+
...innerProps,
|
|
40
|
+
onMouseDown,
|
|
41
|
+
onMouseUp,
|
|
42
|
+
onMouseLeave,
|
|
43
|
+
style,
|
|
44
|
+
...rest
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
return (
|
|
48
|
+
<S.Container>
|
|
49
|
+
<components.Option
|
|
50
|
+
{...rest}
|
|
51
|
+
isDisabled={isDisabled}
|
|
52
|
+
isFocused={isFocused}
|
|
53
|
+
isSelected={isSelected}
|
|
54
|
+
getStyles={getStyles}
|
|
55
|
+
innerProps={props}>
|
|
56
|
+
{children}
|
|
57
|
+
</components.Option>
|
|
58
|
+
</S.Container>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export default Option
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React, { useState } from "react"
|
|
2
|
+
import Select from "react-select"
|
|
3
|
+
import { SelectInputProps } from "./interfaces"
|
|
4
|
+
import * as S from "./styles"
|
|
5
|
+
import Option from "./components/Option"
|
|
6
|
+
|
|
7
|
+
const SelectInput:React.FC<SelectInputProps> = ({
|
|
8
|
+
className,
|
|
9
|
+
label,
|
|
10
|
+
onChange,
|
|
11
|
+
placeholder,
|
|
12
|
+
disabled,
|
|
13
|
+
options,
|
|
14
|
+
value,
|
|
15
|
+
isSearchable,
|
|
16
|
+
isClearable,
|
|
17
|
+
}) => {
|
|
18
|
+
const [valueSelected, setValueSelected] = useState(value)
|
|
19
|
+
|
|
20
|
+
const components = {
|
|
21
|
+
Option
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<S.Container className={className}>
|
|
26
|
+
{ label ? <S.Label>{label}</S.Label> : null }
|
|
27
|
+
<Select
|
|
28
|
+
placeholder={placeholder}
|
|
29
|
+
className="react-select-container"
|
|
30
|
+
classNamePrefix="react-select"
|
|
31
|
+
defaultValue={valueSelected || ''}
|
|
32
|
+
options={options}
|
|
33
|
+
isDisabled={disabled}
|
|
34
|
+
isSearchable={isSearchable}
|
|
35
|
+
isClearable={isClearable}
|
|
36
|
+
components={components}
|
|
37
|
+
onChange={(values: any) => {
|
|
38
|
+
setValueSelected(values)
|
|
39
|
+
onChange(values)
|
|
40
|
+
}}
|
|
41
|
+
/>
|
|
42
|
+
</S.Container>
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export default SelectInput
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface Option {
|
|
2
|
+
value: string | number,
|
|
3
|
+
label: string
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface SelectInputProps {
|
|
7
|
+
className?: string
|
|
8
|
+
label?: string
|
|
9
|
+
onChange: Function
|
|
10
|
+
placeholder?: string
|
|
11
|
+
disabled?: boolean
|
|
12
|
+
options: Option[]
|
|
13
|
+
value: Option
|
|
14
|
+
isSearchable?: boolean
|
|
15
|
+
isClearable?: boolean
|
|
16
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
|
|
3
|
+
export const Container = styled.div`
|
|
4
|
+
width: 100%;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
.react-select {
|
|
8
|
+
&__control {
|
|
9
|
+
border-radius: 0;
|
|
10
|
+
border: none;
|
|
11
|
+
border-bottom: 1px solid #00000033;
|
|
12
|
+
}
|
|
13
|
+
&__control--is-focused {
|
|
14
|
+
border-bottom: 1px solid #00000033;
|
|
15
|
+
box-shadow: none;
|
|
16
|
+
}
|
|
17
|
+
&__control:hover {
|
|
18
|
+
border: none;
|
|
19
|
+
border-bottom: 1px solid #00000033;
|
|
20
|
+
box-shadow: 0 0 0 #fff;
|
|
21
|
+
}
|
|
22
|
+
&__indicator-separator {
|
|
23
|
+
background: #fff;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
`
|
|
27
|
+
|
|
28
|
+
export const Label = styled.label`
|
|
29
|
+
font-size: 14px;
|
|
30
|
+
margin: 0 0 4px 0;
|
|
31
|
+
color: #666;
|
|
32
|
+
`
|
package/src/components/Svgs.tsx
CHANGED
|
@@ -495,4 +495,12 @@ export const iconsSVG = {
|
|
|
495
495
|
/>
|
|
496
496
|
</>
|
|
497
497
|
),
|
|
498
|
+
warning: (
|
|
499
|
+
<>
|
|
500
|
+
<g id="warning">
|
|
501
|
+
<path strokeWidth="0" d="M27.5 55C12.34 55 0 42.66 0 27.5S12.34 0 27.5 0 55 12.34 55 27.5 42.66 55 27.5 55Zm0-48.89c-11.79 0-21.39 9.6-21.39 21.39s9.6 21.39 21.39 21.39 21.39-9.6 21.39-21.39S39.29 6.11 27.5 6.11Z"/>
|
|
502
|
+
<path strokeWidth="0" d="M27.5 29.89a3.06 3.06 0 0 1-3.06-3.06v-8.71a3.06 3.06 0 1 1 6.12 0v8.71a3.06 3.06 0 0 1-3.06 3.06ZM27.5 40.32c-.81 0-1.59-.33-2.16-.9-.57-.57-.9-1.34-.9-2.16s.33-1.59.9-2.16c1.12-1.14 3.18-1.14 4.32 0 .57.57.9 1.37.9 2.16s-.33 1.59-.9 2.16-1.37.9-2.16.9Z"/>
|
|
503
|
+
</g>
|
|
504
|
+
</>
|
|
505
|
+
),
|
|
498
506
|
} as const;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React, { useState } from "react"
|
|
2
|
+
import * as S from "./styles"
|
|
3
|
+
import SettingsIcon from '@mui/icons-material/Settings';
|
|
4
|
+
|
|
5
|
+
const Header:React.FC<any> = ({
|
|
6
|
+
table,
|
|
7
|
+
globalFilters,
|
|
8
|
+
orderSmallest,
|
|
9
|
+
orderLargest,
|
|
10
|
+
showTotalResults,
|
|
11
|
+
showSettings,
|
|
12
|
+
setGlobalFilters,
|
|
13
|
+
setOrderLargest,
|
|
14
|
+
setOrderSmallest,
|
|
15
|
+
customTotalResult
|
|
16
|
+
}) => {
|
|
17
|
+
const [openTools, setOpenTools] = useState(false)
|
|
18
|
+
|
|
19
|
+
const totalResults = customTotalResult ? customTotalResult : `${table.getRowModel().rows.length} resultados encontrados.`
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<S.Header $showResults={showTotalResults}>
|
|
23
|
+
<div>
|
|
24
|
+
{ showTotalResults
|
|
25
|
+
? <S.Results>
|
|
26
|
+
<S.TextResult>{totalResults}</S.TextResult>
|
|
27
|
+
<S.TextClearSearchContent>
|
|
28
|
+
{ globalFilters.length || !!orderSmallest || !!orderLargest ? <S.TextClearSearch onClick={() => {
|
|
29
|
+
table.resetColumnFilters(true)
|
|
30
|
+
setGlobalFilters([])
|
|
31
|
+
setOrderLargest(false)
|
|
32
|
+
setOrderSmallest(false)
|
|
33
|
+
table.resetSorting(true)
|
|
34
|
+
}}>Limpar busca</S.TextClearSearch> : null }
|
|
35
|
+
</S.TextClearSearchContent>
|
|
36
|
+
</S.Results>
|
|
37
|
+
: null
|
|
38
|
+
}
|
|
39
|
+
</div>
|
|
40
|
+
{
|
|
41
|
+
!showTotalResults
|
|
42
|
+
? (
|
|
43
|
+
globalFilters.length || !!orderSmallest || !!orderLargest ? <S.TextClearSearch onClick={() => {
|
|
44
|
+
table.resetColumnFilters(true)
|
|
45
|
+
setGlobalFilters([])
|
|
46
|
+
setOrderLargest(false)
|
|
47
|
+
setOrderSmallest(false)
|
|
48
|
+
table.resetSorting(true)
|
|
49
|
+
}}>Limpar busca</S.TextClearSearch> : null
|
|
50
|
+
)
|
|
51
|
+
: null
|
|
52
|
+
}
|
|
53
|
+
<S.Tools>
|
|
54
|
+
{ showSettings
|
|
55
|
+
? <S.IconTools onClick={() => setOpenTools(!openTools)}>
|
|
56
|
+
<SettingsIcon sx={{ fontSize: 16, color: '#DE8B50' }} />
|
|
57
|
+
</S.IconTools>
|
|
58
|
+
: null
|
|
59
|
+
}
|
|
60
|
+
{
|
|
61
|
+
openTools
|
|
62
|
+
? <S.ListTools>
|
|
63
|
+
{ table.getAllLeafColumns().map((column: any) => {
|
|
64
|
+
return (
|
|
65
|
+
<div key={column.id} className="px-1">
|
|
66
|
+
<label>
|
|
67
|
+
<input
|
|
68
|
+
{...{
|
|
69
|
+
type: 'checkbox',
|
|
70
|
+
checked: column.getIsVisible(),
|
|
71
|
+
onChange: column.getToggleVisibilityHandler(),
|
|
72
|
+
}}
|
|
73
|
+
/>{' '}
|
|
74
|
+
{column.id}
|
|
75
|
+
</label>
|
|
76
|
+
</div>
|
|
77
|
+
)
|
|
78
|
+
})}
|
|
79
|
+
</S.ListTools>
|
|
80
|
+
: null
|
|
81
|
+
}
|
|
82
|
+
</S.Tools>
|
|
83
|
+
</S.Header>
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export default Header
|