norma-library 0.5.131 → 0.5.133

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 (184) 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/Box/styles.d.ts +1 -1
  9. package/dist/esm/components/Breadcrumb/styles.d.ts +4 -4
  10. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.d.ts +1 -1
  11. package/dist/esm/components/DateInput/styles.d.ts +2 -2
  12. package/dist/esm/components/Icons.d.ts +1 -1
  13. package/dist/esm/components/Modal.js +4 -4
  14. package/dist/esm/components/Modal.js.map +1 -1
  15. package/dist/esm/components/MultiSelectInput/components/Option/styles.d.ts +1 -1
  16. package/dist/esm/components/MultiSelectInput/styles.d.ts +2 -2
  17. package/dist/esm/components/ProgressBar.d.ts +1 -1
  18. package/dist/esm/components/ProgressBar.js +19 -8
  19. package/dist/esm/components/ProgressBar.js.map +1 -1
  20. package/dist/esm/components/SelectInput/components/Option/styles.d.ts +1 -1
  21. package/dist/esm/components/SelectInput/styles.d.ts +2 -2
  22. package/dist/esm/components/Table/components/header/styles.d.ts +8 -8
  23. package/dist/esm/components/Table/components/pagination/styles.d.ts +1 -1
  24. package/dist/esm/components/Table/components/tbody/styles.d.ts +1 -1
  25. package/dist/esm/components/Table/styles.d.ts +10 -10
  26. package/dist/esm/components/TextInput/styles.d.ts +3 -3
  27. package/dist/esm/components/Typography/Text/styles.d.ts +1 -1
  28. package/dist/esm/components/Typography/Title/styles.d.ts +1 -1
  29. package/dist/esm/components/UncontrolledTable/components/header/styles.d.ts +8 -8
  30. package/dist/esm/components/UncontrolledTable/components/pagination/styles.d.ts +1 -1
  31. package/dist/esm/components/UncontrolledTable/components/tbody/styles.d.ts +1 -1
  32. package/dist/esm/components/UncontrolledTable/styles.d.ts +10 -10
  33. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.style.d.ts +1 -1
  34. package/dist/esm/interfaces/ProgressBar.d.ts +5 -1
  35. package/docs/index.md +118 -118
  36. package/package.json +136 -136
  37. package/src/components/Accordion.tsx +39 -39
  38. package/src/components/Avatar.tsx +17 -17
  39. package/src/components/Badge.tsx +14 -14
  40. package/src/components/Box/index.tsx +12 -12
  41. package/src/components/Box/interfaces.ts +3 -3
  42. package/src/components/Box/styles.tsx +22 -22
  43. package/src/components/Breadcrumb/index.tsx +27 -27
  44. package/src/components/Breadcrumb/interface.ts +8 -8
  45. package/src/components/Breadcrumb/styles.tsx +32 -32
  46. package/src/components/Button.tsx +26 -26
  47. package/src/components/Card.tsx +37 -37
  48. package/src/components/ChatMessage.tsx +87 -87
  49. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  50. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  51. package/src/components/CheckBox.tsx +21 -21
  52. package/src/components/DateInput/index.tsx +34 -34
  53. package/src/components/DateInput/interface.ts +13 -13
  54. package/src/components/DateInput/styles.tsx +27 -27
  55. package/src/components/DatePicker.tsx +67 -67
  56. package/src/components/DropDown.tsx +24 -24
  57. package/src/components/IconButton.tsx +37 -37
  58. package/src/components/Icons.tsx +82 -82
  59. package/src/components/Modal.tsx +103 -113
  60. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  61. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  62. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  63. package/src/components/MultiSelectInput/index.tsx +60 -60
  64. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  65. package/src/components/MultiSelectInput/styles.tsx +43 -43
  66. package/src/components/Paper.tsx +12 -12
  67. package/src/components/ProgressBar.tsx +63 -50
  68. package/src/components/RadioGroup.tsx +43 -43
  69. package/src/components/RangerSlider.tsx +65 -65
  70. package/src/components/Select.tsx +74 -74
  71. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  72. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  73. package/src/components/SelectInput/index.tsx +45 -45
  74. package/src/components/SelectInput/interfaces.ts +15 -15
  75. package/src/components/SelectInput/styles.tsx +31 -31
  76. package/src/components/Svgs.tsx +506 -506
  77. package/src/components/Table/components/header/index.tsx +86 -86
  78. package/src/components/Table/components/header/styles.tsx +59 -59
  79. package/src/components/Table/components/index.tsx +8 -8
  80. package/src/components/Table/components/pagination/index.tsx +39 -39
  81. package/src/components/Table/components/pagination/styles.tsx +28 -28
  82. package/src/components/Table/components/tbody/index.tsx +30 -30
  83. package/src/components/Table/components/tbody/styles.tsx +4 -4
  84. package/src/components/Table/index.tsx +317 -317
  85. package/src/components/Table/interface.ts +23 -23
  86. package/src/components/Table/styles.tsx +117 -117
  87. package/src/components/Tabs.tsx +105 -105
  88. package/src/components/Tag.tsx +33 -33
  89. package/src/components/TextField.tsx +19 -19
  90. package/src/components/TextInput/index.tsx +37 -37
  91. package/src/components/TextInput/interface.ts +9 -9
  92. package/src/components/TextInput/styles.tsx +23 -23
  93. package/src/components/TimeLine.tsx +89 -89
  94. package/src/components/TimePicker.tsx +78 -78
  95. package/src/components/Typography/Text/index.tsx +20 -20
  96. package/src/components/Typography/Text/interfaces.ts +5 -5
  97. package/src/components/Typography/Text/styles.tsx +40 -40
  98. package/src/components/Typography/Title/index.tsx +22 -22
  99. package/src/components/Typography/Title/interfaces.ts +6 -6
  100. package/src/components/Typography/Title/styles.tsx +40 -40
  101. package/src/components/Typography/index.tsx +6 -6
  102. package/src/components/UncontrolledTable/components/header/index.tsx +63 -63
  103. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -59
  104. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  105. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  106. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  107. package/src/components/UncontrolledTable/components/tbody/index.tsx +30 -30
  108. package/src/components/UncontrolledTable/components/tbody/styles.tsx +4 -4
  109. package/src/components/UncontrolledTable/index.tsx +226 -226
  110. package/src/components/UncontrolledTable/interface.ts +42 -42
  111. package/src/components/UncontrolledTable/styles.tsx +120 -120
  112. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +51 -51
  113. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
  114. package/src/components/index.ts +24 -24
  115. package/src/helpers/alignments.ts +14 -14
  116. package/src/helpers/borders.ts +18 -18
  117. package/src/helpers/colors.ts +206 -206
  118. package/src/helpers/index.ts +5 -5
  119. package/src/helpers/radios.ts +24 -24
  120. package/src/helpers/sizes.ts +72 -72
  121. package/src/index.ts +66 -66
  122. package/src/interfaces/Accordion.ts +12 -12
  123. package/src/interfaces/Avatar.tsx +15 -15
  124. package/src/interfaces/Badge.ts +19 -19
  125. package/src/interfaces/Button.ts +22 -22
  126. package/src/interfaces/Card.ts +11 -11
  127. package/src/interfaces/ChatMessage.ts +12 -12
  128. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  129. package/src/interfaces/CheckBox.ts +27 -27
  130. package/src/interfaces/DatePicker.ts +13 -13
  131. package/src/interfaces/DropDown.ts +14 -14
  132. package/src/interfaces/IconButton.ts +22 -22
  133. package/src/interfaces/Icons.ts +17 -17
  134. package/src/interfaces/Modal.ts +16 -16
  135. package/src/interfaces/Paper.ts +12 -12
  136. package/src/interfaces/ProgressBar.ts +25 -19
  137. package/src/interfaces/RadioGroup.ts +23 -23
  138. package/src/interfaces/RangerSlider.ts +21 -21
  139. package/src/interfaces/Select.ts +17 -17
  140. package/src/interfaces/Tabs.ts +19 -19
  141. package/src/interfaces/Tag.ts +17 -17
  142. package/src/interfaces/TextField.ts +44 -44
  143. package/src/interfaces/TimeLine.ts +11 -11
  144. package/src/interfaces/TimePicker.ts +13 -13
  145. package/src/interfaces/index.ts +23 -23
  146. package/src/providers/NormaProvider.tsx +13 -13
  147. package/src/sample-data-2.json +178 -178
  148. package/src/sample-data.json +177 -177
  149. package/src/stories/Accordion.stories.tsx +65 -65
  150. package/src/stories/Avatar.stories.tsx +123 -123
  151. package/src/stories/Badge.stories.tsx +39 -39
  152. package/src/stories/Box.stories.tsx +35 -35
  153. package/src/stories/Breadcrumb.stories.tsx +44 -44
  154. package/src/stories/Button.stories.tsx +93 -93
  155. package/src/stories/Card.stories.tsx +39 -39
  156. package/src/stories/ChatMessage.stories.tsx +84 -84
  157. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  158. package/src/stories/CheckBox.stories.tsx +88 -88
  159. package/src/stories/DateInput.stories.tsx +51 -51
  160. package/src/stories/DatePicker.stories.tsx +50 -50
  161. package/src/stories/DropDown.stories.tsx +57 -57
  162. package/src/stories/IconButton.stories.tsx +78 -78
  163. package/src/stories/Modal.stories.tsx +195 -195
  164. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  165. package/src/stories/Paper.stories.tsx +53 -53
  166. package/src/stories/ProgressBar.stories.tsx +113 -95
  167. package/src/stories/RadioGroup.stories.tsx +87 -87
  168. package/src/stories/RangerSlider.stories.tsx +158 -58
  169. package/src/stories/Select.stories.tsx +100 -100
  170. package/src/stories/SelectInput.stories.tsx +78 -78
  171. package/src/stories/Table.stories.tsx +372 -372
  172. package/src/stories/Tabs.stories.tsx +61 -61
  173. package/src/stories/Tag.stories.tsx +56 -56
  174. package/src/stories/Text.stories.tsx +37 -37
  175. package/src/stories/TextField.stories.tsx +310 -310
  176. package/src/stories/TextInput.stories.tsx +52 -52
  177. package/src/stories/TimeLine.stories.tsx +35 -35
  178. package/src/stories/TimePicker.stories.tsx +87 -87
  179. package/src/stories/Title.stories.tsx +43 -43
  180. package/src/stories/UncontrolledTable.stories.tsx +337 -337
  181. package/src/stories/UncontrolledTabs.stories.tsx +63 -63
  182. package/src/styles/globals.scss +17 -17
  183. package/src/types/index.ts +204 -204
  184. package/vite.config.ts +15 -15
@@ -1,44 +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
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
@@ -1,63 +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
-
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
63
  export default Option
@@ -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,61 +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
-
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
61
  export default MultiSelectInput
@@ -1,16 +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
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
16
  }
@@ -1,44 +1,44 @@
1
- import styled from "styled-components";
2
-
3
- export const Container = styled.div`
4
- width: 100%;
5
- display: flex;
6
- flex-direction: column;
7
- .react-select {
8
- &__control {
9
- border-radius: 0;
10
- border: none;
11
- border-bottom: 1px solid #00000033;
12
- }
13
- &__control--is-focused {
14
- border-bottom: 1px solid #00000033;
15
- box-shadow: none;
16
- }
17
- &__control:hover {
18
- border: none;
19
- border-bottom: 1px solid #00000033 !important;
20
- box-shadow: 0 0 0 #fff;
21
- }
22
- &__indicator-separator {
23
- background: #fff;
24
- }
25
- &__multi-value {
26
- background: transparent;
27
- border-radius: 4px;
28
- &__label {
29
- color: #4D4F5C;
30
- font-size: 18px;
31
- padding: 0;
32
- }
33
- &__remove {
34
- display: none;
35
- }
36
- }
37
- }
38
- `
39
-
40
- export const Label = styled.label`
41
- font-size: 14px;
42
- margin: 0 0 4px 0;
43
- color: #4D4F5C;
1
+ import styled from "styled-components";
2
+
3
+ export const Container = styled.div`
4
+ width: 100%;
5
+ display: flex;
6
+ flex-direction: column;
7
+ .react-select {
8
+ &__control {
9
+ border-radius: 0;
10
+ border: none;
11
+ border-bottom: 1px solid #00000033;
12
+ }
13
+ &__control--is-focused {
14
+ border-bottom: 1px solid #00000033;
15
+ box-shadow: none;
16
+ }
17
+ &__control:hover {
18
+ border: none;
19
+ border-bottom: 1px solid #00000033 !important;
20
+ box-shadow: 0 0 0 #fff;
21
+ }
22
+ &__indicator-separator {
23
+ background: #fff;
24
+ }
25
+ &__multi-value {
26
+ background: transparent;
27
+ border-radius: 4px;
28
+ &__label {
29
+ color: #4D4F5C;
30
+ font-size: 18px;
31
+ padding: 0;
32
+ }
33
+ &__remove {
34
+ display: none;
35
+ }
36
+ }
37
+ }
38
+ `
39
+
40
+ export const Label = styled.label`
41
+ font-size: 14px;
42
+ margin: 0 0 4px 0;
43
+ color: #4D4F5C;
44
44
  `
@@ -1,12 +1,12 @@
1
- import React from 'react';
2
- import { Paper as MuiPaper } from '@mui/material';
3
- import { PaperBaseProps } from '../interfaces';
4
- import { styled } from '@mui/material/styles';
5
-
6
- const PaperStyled = styled(MuiPaper)({});
7
-
8
- export const Paper = ({ children, ...props }: PaperBaseProps & {}) => {
9
- return (
10
- <PaperStyled {...props}>{children}</PaperStyled>
11
- );
12
- };
1
+ import React from 'react';
2
+ import { Paper as MuiPaper } from '@mui/material';
3
+ import { PaperBaseProps } from '../interfaces';
4
+ import { styled } from '@mui/material/styles';
5
+
6
+ const PaperStyled = styled(MuiPaper)({});
7
+
8
+ export const Paper = ({ children, ...props }: PaperBaseProps & {}) => {
9
+ return (
10
+ <PaperStyled {...props}>{children}</PaperStyled>
11
+ );
12
+ };
@@ -1,50 +1,63 @@
1
- import React from 'react';
2
- import { LinearProgress as MuiProgressBar, linearProgressClasses, Typography } from '@mui/material';
3
-
4
- import { ProgressBarBaseProps } from '../interfaces';
5
- import { styled } from '@mui/material/styles';
6
-
7
- const ProgressBarStyled = styled(MuiProgressBar)({
8
- width: '100%',
9
- height: '10px',
10
- borderRadius: '10px',
11
- position: 'relative',
12
- backgroundColor: `&.${linearProgressClasses.determinate} {
13
- background-color: #e0e0e0,
14
- }`,
15
- });
16
-
17
- const ProgressBarLabelStyled = styled(Typography)`
18
- display: flex;
19
- justify-content: space-between;
20
- align-items: center;
21
- margin-bottom: 8px;
22
- position: relative;
23
- text-align: left;
24
- `;
25
-
26
- export const ProgressBar = ({
27
- value = 0,
28
- label,
29
- variant = 'determinate',
30
- total,
31
- className,
32
- localeString,
33
- ...props
34
- }: ProgressBarBaseProps) => {
35
- const percentage = value && total ? (value / total) * 100 : 0;
36
-
37
- return (
38
- <div className={className} style={{ minWidth: '100px' }}>
39
- {label && (
40
- <ProgressBarLabelStyled>
41
- {label}
42
- <span style={{ right: 0 }}>
43
- {localeString ? value.toLocaleString() : value} ({percentage.toFixed(2)}%)
44
- </span>
45
- </ProgressBarLabelStyled>
46
- )}
47
- <ProgressBarStyled value={percentage} variant={variant} {...props} />
48
- </div>
49
- );
50
- };
1
+ import React from 'react';
2
+ import { LinearProgress as MuiProgressBar, linearProgressClasses, Typography } from '@mui/material';
3
+ import { styled } from '@mui/material/styles';
4
+ import { ProgressBarBaseProps, CustomColor } from '../interfaces';
5
+
6
+ const ProgressBarStyled = styled(MuiProgressBar)<{ colorCustom?: CustomColor }>(
7
+ ({ colorCustom }) => ({
8
+ width: '100%',
9
+ height: '10px',
10
+ borderRadius: '10px',
11
+ position: 'relative',
12
+ backgroundColor: colorCustom ? colorCustom.root : undefined,
13
+ [`&.${linearProgressClasses.determinate}`]: {
14
+ backgroundColor: colorCustom ? colorCustom.root : undefined,
15
+ },
16
+ [`& .${linearProgressClasses.bar}`]: {
17
+ backgroundColor: colorCustom ? colorCustom.bar : undefined,
18
+ },
19
+ })
20
+ );
21
+
22
+ const ProgressBarLabelStyled = styled(Typography)`
23
+ display: flex;
24
+ justify-content: space-between;
25
+ align-items: center;
26
+ margin-bottom: 8px;
27
+ position: relative;
28
+ text-align: left;
29
+ `;
30
+
31
+ export const ProgressBar = ({
32
+ value = 0,
33
+ label,
34
+ variant = 'determinate',
35
+ total,
36
+ className,
37
+ localeString,
38
+ colorCustom,
39
+ color = 'primary',
40
+ ...props
41
+ }: ProgressBarBaseProps) => {
42
+ const percentage = value && total ? (value / total) * 100 : 0;
43
+
44
+ return (
45
+ <div className={className} style={{ minWidth: '100px' }}>
46
+ {label && (
47
+ <ProgressBarLabelStyled>
48
+ {label}
49
+ <span style={{ right: 0 }}>
50
+ {localeString ? value.toLocaleString() : value} ({percentage.toFixed(2)}%)
51
+ </span>
52
+ </ProgressBarLabelStyled>
53
+ )}
54
+ <ProgressBarStyled
55
+ value={percentage}
56
+ variant={variant}
57
+ colorCustom={colorCustom}
58
+ color={colorCustom ? undefined : color}
59
+ {...props}
60
+ />
61
+ </div>
62
+ );
63
+ };