norma-library 0.6.2 → 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,9 +1,9 @@
1
- import styled from "styled-components";
2
-
3
- export const Container = styled.div`
4
- font-size: 16px;
5
- color: #666666;
6
- &:nth-child(even) {
7
- background: #F8F9FA;
8
- }
1
+ import styled from "styled-components";
2
+
3
+ export const Container = styled.div`
4
+ font-size: 16px;
5
+ color: #666666;
6
+ &:nth-child(even) {
7
+ background: #F8F9FA;
8
+ }
9
9
  `
@@ -1,46 +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
-
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
46
  export default SelectInput
@@ -1,16 +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
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
16
  }
@@ -1,32 +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;
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
32
  `
@@ -1,75 +1,75 @@
1
- import styled from 'styled-components';
2
-
3
- export const Container = styled.div`
4
- width: 100vw;
5
- height: 100vh;
6
- position: fixed;
7
- top: 0;
8
- left: 0;
9
- display: flex;
10
- justify-content: center;
11
- align-items: center;
12
- background: rgba(0, 0, 0, 0.6);
13
- z-index: 9999;
14
- `;
15
-
16
- export const Modal = styled.div<{ $w?: string }>`
17
- display: flex;
18
- width: ${props => props.$w || '430px'};
19
- padding: 24px;
20
- flex-direction: column;
21
- justify-content: center;
22
- align-items: flex-start;
23
- border-radius: 4px;
24
- background: #fff;
25
- `;
26
-
27
- export const ModalHeader = styled.div`
28
- display: flex;
29
- gap: 16px;
30
- align-self: stretch;
31
- align-items: center;
32
- `;
33
-
34
- export const ModalIcon = styled.div<{ $bg: string }>`
35
- display: flex;
36
- padding: 4px;
37
- align-items: center;
38
- border-radius: 4px;
39
- background-color: ${props => props.$bg};
40
- `;
41
-
42
- export const ModalTitle = styled.h1`
43
- color: #1d1d1d;
44
- font-size: 24px;
45
- font-style: normal;
46
- font-weight: 500;
47
- letter-spacing: 0.25px;
48
- margin: 0;
49
- `;
50
-
51
- export const ModalBody = styled.div`
52
- display: flex;
53
- width: 100%;
54
- border-bottom: 2px solid #a3a3a3;
55
- margin-top: 16px;
56
- padding-bottom: 32px;
57
- `;
58
-
59
- export const ModalText = styled.p`
60
- color: rgba(0, 0, 0, 0.87);
61
- font-size: 16px;
62
- font-style: normal;
63
- font-weight: 400;
64
- letter-spacing: 0.17px;
65
- margin: 0;
66
- line-height: 1.3;
67
- `;
68
-
69
- export const ModalFooter = styled.div`
70
- display: flex;
71
- justify-content: flex-end;
72
- width: 100%;
73
- margin-top: 8px;
74
- gap: 8px;
75
- `;
1
+ import styled from 'styled-components';
2
+
3
+ export const Container = styled.div`
4
+ width: 100vw;
5
+ height: 100vh;
6
+ position: fixed;
7
+ top: 0;
8
+ left: 0;
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+ background: rgba(0, 0, 0, 0.6);
13
+ z-index: 9999;
14
+ `;
15
+
16
+ export const Modal = styled.div<{ $w?: string }>`
17
+ display: flex;
18
+ width: ${props => props.$w || '430px'};
19
+ padding: 24px;
20
+ flex-direction: column;
21
+ justify-content: center;
22
+ align-items: flex-start;
23
+ border-radius: 4px;
24
+ background: #fff;
25
+ `;
26
+
27
+ export const ModalHeader = styled.div`
28
+ display: flex;
29
+ gap: 16px;
30
+ align-self: stretch;
31
+ align-items: center;
32
+ `;
33
+
34
+ export const ModalIcon = styled.div<{ $bg: string }>`
35
+ display: flex;
36
+ padding: 4px;
37
+ align-items: center;
38
+ border-radius: 4px;
39
+ background-color: ${props => props.$bg};
40
+ `;
41
+
42
+ export const ModalTitle = styled.h1`
43
+ color: #1d1d1d;
44
+ font-size: 24px;
45
+ font-style: normal;
46
+ font-weight: 500;
47
+ letter-spacing: 0.25px;
48
+ margin: 0;
49
+ `;
50
+
51
+ export const ModalBody = styled.div`
52
+ display: flex;
53
+ width: 100%;
54
+ border-bottom: 2px solid #a3a3a3;
55
+ margin-top: 16px;
56
+ padding-bottom: 32px;
57
+ `;
58
+
59
+ export const ModalText = styled.p`
60
+ color: rgba(0, 0, 0, 0.87);
61
+ font-size: 16px;
62
+ font-style: normal;
63
+ font-weight: 400;
64
+ letter-spacing: 0.17px;
65
+ margin: 0;
66
+ line-height: 1.3;
67
+ `;
68
+
69
+ export const ModalFooter = styled.div`
70
+ display: flex;
71
+ justify-content: flex-end;
72
+ width: 100%;
73
+ margin-top: 8px;
74
+ gap: 8px;
75
+ `;
@@ -1,58 +1,58 @@
1
- import React from 'react';
2
-
3
- import { WarningRounded, CheckCircleRounded, InfoRounded } from '@mui/icons-material';
4
-
5
- import * as S from './StatusModal.style';
6
- import { Button } from '../Button';
7
- import { OnAction } from '@/types';
8
-
9
- interface ModalStatusProps {
10
- title: string;
11
- text: string;
12
- type: 'success' | 'info' | 'warning';
13
- actions: OnAction[];
14
- w?: string;
15
- }
16
-
17
- export const ModalStatus = (props: ModalStatusProps) => {
18
- const { title, text, type, actions, w } = props;
19
-
20
- const iconBgColor = {
21
- warning: '#FFDB9F',
22
- info: '#D9FCFE',
23
- success: '#C9F5CB',
24
- };
25
-
26
- return (
27
- <S.Container>
28
- <S.Modal $w={w}>
29
- <S.ModalHeader>
30
- <S.ModalIcon $bg={iconBgColor[type]}>
31
- {type === 'warning' && <WarningRounded sx={{ fill: '#B74608' }} />}
32
- {type === 'info' && <InfoRounded sx={{ fill: '#154F8C' }} />}
33
- {type === 'success' && <CheckCircleRounded sx={{ fill: '#2E7D32' }} />}
34
- </S.ModalIcon>
35
- <S.ModalTitle>{title}</S.ModalTitle>
36
- </S.ModalHeader>
37
- <S.ModalBody>
38
- <S.ModalText>{text}</S.ModalText>
39
- </S.ModalBody>
40
- <S.ModalFooter>
41
- {actions.map((action, key) => {
42
- return (
43
- <Button
44
- key={key}
45
- color={action.color || 'primary'}
46
- variant={action.variant || 'contained'}
47
- disabled={action.disabled}
48
- onClick={action.action}
49
- >
50
- {action.label}
51
- </Button>
52
- );
53
- })}
54
- </S.ModalFooter>
55
- </S.Modal>
56
- </S.Container>
57
- );
58
- };
1
+ import React from 'react';
2
+
3
+ import { WarningRounded, CheckCircleRounded, InfoRounded } from '@mui/icons-material';
4
+
5
+ import * as S from './StatusModal.style';
6
+ import { Button } from '../Button';
7
+ import { OnAction } from '@/types';
8
+
9
+ interface ModalStatusProps {
10
+ title: string;
11
+ text: string;
12
+ type: 'success' | 'info' | 'warning';
13
+ actions: OnAction[];
14
+ w?: string;
15
+ }
16
+
17
+ export const ModalStatus = (props: ModalStatusProps) => {
18
+ const { title, text, type, actions, w } = props;
19
+
20
+ const iconBgColor = {
21
+ warning: '#FFDB9F',
22
+ info: '#D9FCFE',
23
+ success: '#C9F5CB',
24
+ };
25
+
26
+ return (
27
+ <S.Container>
28
+ <S.Modal $w={w}>
29
+ <S.ModalHeader>
30
+ <S.ModalIcon $bg={iconBgColor[type]}>
31
+ {type === 'warning' && <WarningRounded sx={{ fill: '#B74608' }} />}
32
+ {type === 'info' && <InfoRounded sx={{ fill: '#154F8C' }} />}
33
+ {type === 'success' && <CheckCircleRounded sx={{ fill: '#2E7D32' }} />}
34
+ </S.ModalIcon>
35
+ <S.ModalTitle>{title}</S.ModalTitle>
36
+ </S.ModalHeader>
37
+ <S.ModalBody>
38
+ <S.ModalText>{text}</S.ModalText>
39
+ </S.ModalBody>
40
+ <S.ModalFooter>
41
+ {actions.map((action, key) => {
42
+ return (
43
+ <Button
44
+ key={key}
45
+ color={action.color || 'primary'}
46
+ variant={action.variant || 'contained'}
47
+ disabled={action.disabled}
48
+ onClick={action.action}
49
+ >
50
+ {action.label}
51
+ </Button>
52
+ );
53
+ })}
54
+ </S.ModalFooter>
55
+ </S.Modal>
56
+ </S.Container>
57
+ );
58
+ };