norma-library 0.5.10 → 0.5.12

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 (162) 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/Card.d.ts +2 -2
  9. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.d.ts +1 -1
  10. package/dist/esm/components/Icons.d.ts +1 -1
  11. package/dist/esm/components/UncontrolledTable/components/header/index.js +3 -5
  12. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -1
  13. package/dist/esm/components/UncontrolledTable/index.js +9 -6
  14. package/dist/esm/components/UncontrolledTable/index.js.map +1 -1
  15. package/dist/esm/components/UncontrolledTable/interface.d.ts +9 -0
  16. package/docs/index.md +118 -118
  17. package/package.json +136 -136
  18. package/src/components/Accordion.tsx +39 -39
  19. package/src/components/Avatar.tsx +17 -17
  20. package/src/components/Badge.tsx +14 -14
  21. package/src/components/Box/index.tsx +12 -12
  22. package/src/components/Box/interfaces.ts +3 -3
  23. package/src/components/Box/styles.tsx +22 -22
  24. package/src/components/Breadcrumb/index.tsx +27 -27
  25. package/src/components/Breadcrumb/interface.ts +8 -8
  26. package/src/components/Breadcrumb/styles.tsx +32 -32
  27. package/src/components/Button.tsx +26 -26
  28. package/src/components/Card.tsx +37 -37
  29. package/src/components/ChatMessage.tsx +87 -87
  30. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  31. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  32. package/src/components/CheckBox.tsx +21 -21
  33. package/src/components/DateInput/index.tsx +34 -34
  34. package/src/components/DateInput/interface.ts +13 -13
  35. package/src/components/DateInput/styles.tsx +27 -27
  36. package/src/components/DatePicker.tsx +67 -67
  37. package/src/components/DropDown.tsx +24 -24
  38. package/src/components/IconButton.tsx +37 -37
  39. package/src/components/Icons.tsx +82 -82
  40. package/src/components/Modal.tsx +113 -113
  41. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  42. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  43. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  44. package/src/components/MultiSelectInput/index.tsx +60 -60
  45. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  46. package/src/components/MultiSelectInput/styles.tsx +43 -43
  47. package/src/components/Paper.tsx +12 -12
  48. package/src/components/ProgressBar.tsx +51 -47
  49. package/src/components/RadioGroup.tsx +40 -40
  50. package/src/components/RangerSlider.tsx +65 -65
  51. package/src/components/Select.tsx +74 -74
  52. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  53. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  54. package/src/components/SelectInput/index.tsx +45 -45
  55. package/src/components/SelectInput/interfaces.ts +15 -15
  56. package/src/components/SelectInput/styles.tsx +31 -31
  57. package/src/components/Svgs.tsx +506 -506
  58. package/src/components/Table/components/header/index.tsx +86 -86
  59. package/src/components/Table/components/header/styles.tsx +59 -59
  60. package/src/components/Table/components/index.tsx +8 -8
  61. package/src/components/Table/components/pagination/index.tsx +39 -39
  62. package/src/components/Table/components/pagination/styles.tsx +28 -28
  63. package/src/components/Table/components/tbody/index.tsx +30 -30
  64. package/src/components/Table/components/tbody/styles.tsx +4 -4
  65. package/src/components/Table/index.tsx +317 -317
  66. package/src/components/Table/interface.ts +23 -23
  67. package/src/components/Table/styles.tsx +117 -117
  68. package/src/components/Tabs.tsx +106 -106
  69. package/src/components/Tag.tsx +33 -33
  70. package/src/components/TextField.tsx +19 -19
  71. package/src/components/TextInput/index.tsx +37 -37
  72. package/src/components/TextInput/interface.ts +9 -9
  73. package/src/components/TextInput/styles.tsx +23 -23
  74. package/src/components/TimeLine.tsx +89 -89
  75. package/src/components/TimePicker.tsx +78 -78
  76. package/src/components/Typography/Text/index.tsx +20 -20
  77. package/src/components/Typography/Text/interfaces.ts +5 -5
  78. package/src/components/Typography/Text/styles.tsx +40 -40
  79. package/src/components/Typography/Title/index.tsx +22 -22
  80. package/src/components/Typography/Title/interfaces.ts +6 -6
  81. package/src/components/Typography/Title/styles.tsx +40 -40
  82. package/src/components/Typography/index.tsx +6 -6
  83. package/src/components/UncontrolledTable/components/header/index.tsx +63 -51
  84. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -59
  85. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  86. package/src/components/UncontrolledTable/components/pagination/index.tsx +39 -39
  87. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  88. package/src/components/UncontrolledTable/components/tbody/index.tsx +30 -30
  89. package/src/components/UncontrolledTable/components/tbody/styles.tsx +4 -4
  90. package/src/components/UncontrolledTable/index.tsx +307 -300
  91. package/src/components/UncontrolledTable/interface.ts +36 -27
  92. package/src/components/UncontrolledTable/styles.tsx +120 -120
  93. package/src/components/index.ts +24 -24
  94. package/src/helpers/alignments.ts +14 -14
  95. package/src/helpers/borders.ts +18 -18
  96. package/src/helpers/colors.ts +206 -206
  97. package/src/helpers/index.ts +5 -5
  98. package/src/helpers/radios.ts +24 -24
  99. package/src/helpers/sizes.ts +72 -72
  100. package/src/index.ts +64 -64
  101. package/src/interfaces/Accordion.ts +12 -12
  102. package/src/interfaces/Avatar.tsx +15 -15
  103. package/src/interfaces/Badge.ts +19 -19
  104. package/src/interfaces/Button.ts +22 -22
  105. package/src/interfaces/Card.ts +11 -11
  106. package/src/interfaces/ChatMessage.ts +12 -12
  107. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  108. package/src/interfaces/CheckBox.ts +27 -27
  109. package/src/interfaces/DatePicker.ts +13 -13
  110. package/src/interfaces/DropDown.ts +14 -14
  111. package/src/interfaces/IconButton.ts +22 -22
  112. package/src/interfaces/Icons.ts +17 -17
  113. package/src/interfaces/Modal.ts +16 -16
  114. package/src/interfaces/Paper.ts +12 -12
  115. package/src/interfaces/ProgressBar.ts +19 -18
  116. package/src/interfaces/RadioGroup.ts +22 -22
  117. package/src/interfaces/RangerSlider.ts +21 -21
  118. package/src/interfaces/Select.ts +17 -17
  119. package/src/interfaces/Tabs.ts +19 -19
  120. package/src/interfaces/Tag.ts +17 -17
  121. package/src/interfaces/TextField.ts +44 -44
  122. package/src/interfaces/TimeLine.ts +11 -11
  123. package/src/interfaces/TimePicker.ts +13 -13
  124. package/src/interfaces/index.ts +23 -23
  125. package/src/providers/NormaProvider.tsx +13 -13
  126. package/src/sample-data-2.json +178 -178
  127. package/src/sample-data.json +177 -177
  128. package/src/stories/Accordion.stories.tsx +65 -65
  129. package/src/stories/Avatar.stories.tsx +123 -123
  130. package/src/stories/Badge.stories.tsx +39 -39
  131. package/src/stories/Box.stories.tsx +35 -35
  132. package/src/stories/Breadcrumb.stories.tsx +44 -44
  133. package/src/stories/Button.stories.tsx +93 -93
  134. package/src/stories/Card.stories.tsx +39 -39
  135. package/src/stories/ChatMessage.stories.tsx +84 -84
  136. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  137. package/src/stories/CheckBox.stories.tsx +88 -88
  138. package/src/stories/DateInput.stories.tsx +51 -51
  139. package/src/stories/DatePicker.stories.tsx +50 -50
  140. package/src/stories/DropDown.stories.tsx +57 -57
  141. package/src/stories/IconButton.stories.tsx +78 -78
  142. package/src/stories/Modal.stories.tsx +195 -195
  143. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  144. package/src/stories/Paper.stories.tsx +53 -53
  145. package/src/stories/ProgressBar.stories.tsx +95 -95
  146. package/src/stories/RadioGroup.stories.tsx +87 -87
  147. package/src/stories/RangerSlider.stories.tsx +58 -58
  148. package/src/stories/Select.stories.tsx +100 -100
  149. package/src/stories/SelectInput.stories.tsx +78 -78
  150. package/src/stories/Table.stories.tsx +372 -372
  151. package/src/stories/Tabs.stories.tsx +62 -62
  152. package/src/stories/Tag.stories.tsx +56 -56
  153. package/src/stories/Text.stories.tsx +37 -37
  154. package/src/stories/TextField.stories.tsx +310 -310
  155. package/src/stories/TextInput.stories.tsx +52 -52
  156. package/src/stories/TimeLine.stories.tsx +35 -35
  157. package/src/stories/TimePicker.stories.tsx +87 -87
  158. package/src/stories/Title.stories.tsx +43 -43
  159. package/src/stories/UncontrolledTable.stories.tsx +321 -379
  160. package/src/styles/globals.scss +17 -17
  161. package/src/types/index.ts +204 -204
  162. package/vite.config.ts +15 -15
@@ -1,74 +1,74 @@
1
- import React from 'react';
2
- import {
3
- FormControl,
4
- InputLabel,
5
- ListItemText,
6
- MenuItem,
7
- Select as MuiSelect,
8
- OutlinedInput,
9
- } from '@mui/material';
10
- import { SelectBaseProps } from '../interfaces';
11
- import { styled } from '@mui/material/styles';
12
- import { CheckBox } from './CheckBox';
13
-
14
- const ITEM_HEIGHT = 48;
15
- const ITEM_PADDING_TOP = 8;
16
- const MenuProps = {
17
- PaperProps: {
18
- style: {
19
- maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP,
20
- width: 250,
21
- },
22
- },
23
- };
24
-
25
- const SelectStyled = styled(MuiSelect)(({ multiple, variant }) => ({
26
- '& .MuiOutlinedInput-notchedOutline': {
27
- border: multiple === true ? 'none' : '1px solid #666666 ',
28
- borderRadius: multiple === true ? 0 : 4,
29
- borderBottom: '1px solid #666666',
30
- },
31
- '& .MuiFormLabel-root': {
32
- backgroundColor: variant === 'standard' ? '#fff' : 'inherit',
33
- padding: variant === 'standard' ? '0 5px' : 0,
34
- },
35
- }));
36
-
37
- export const Select = ({ label, onChange, data = [], value = '', multiple = false, ...props }: SelectBaseProps) => {
38
- return (
39
- <FormControl fullWidth>
40
- <InputLabel id={props.id}>{label}</InputLabel>
41
-
42
- {multiple ? (
43
- <SelectStyled
44
- labelId={props.id}
45
- id="demo-simple-select"
46
- value={value}
47
- MenuProps={MenuProps}
48
- input={<OutlinedInput label="Tag" />}
49
- renderValue={(selected: any) => selected.join(', ')}
50
- onChange={onChange}
51
- multiple
52
- {...props}
53
- >
54
- {data &&
55
- data.map((item, key) => (
56
- <MenuItem value={item.value} key={key}>
57
- <CheckBox checked={value.includes(String(item.value))} />
58
- <ListItemText primary={String(item.label)} />
59
- </MenuItem>
60
- ))}
61
- </SelectStyled>
62
- ) : (
63
- <SelectStyled labelId={props.id} id="demo-simple-select" value={value} onChange={onChange} {...props}>
64
- {data &&
65
- data.map((item, key) => (
66
- <MenuItem value={item.value} key={key}>
67
- <ListItemText primary={String(item.label)} />
68
- </MenuItem>
69
- ))}
70
- </SelectStyled>
71
- )}
72
- </FormControl>
73
- );
74
- };
1
+ import React from 'react';
2
+ import {
3
+ FormControl,
4
+ InputLabel,
5
+ ListItemText,
6
+ MenuItem,
7
+ Select as MuiSelect,
8
+ OutlinedInput,
9
+ } from '@mui/material';
10
+ import { SelectBaseProps } from '../interfaces';
11
+ import { styled } from '@mui/material/styles';
12
+ import { CheckBox } from './CheckBox';
13
+
14
+ const ITEM_HEIGHT = 48;
15
+ const ITEM_PADDING_TOP = 8;
16
+ const MenuProps = {
17
+ PaperProps: {
18
+ style: {
19
+ maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP,
20
+ width: 250,
21
+ },
22
+ },
23
+ };
24
+
25
+ const SelectStyled = styled(MuiSelect)(({ multiple, variant }) => ({
26
+ '& .MuiOutlinedInput-notchedOutline': {
27
+ border: multiple === true ? 'none' : '1px solid #666666 ',
28
+ borderRadius: multiple === true ? 0 : 4,
29
+ borderBottom: '1px solid #666666',
30
+ },
31
+ '& .MuiFormLabel-root': {
32
+ backgroundColor: variant === 'standard' ? '#fff' : 'inherit',
33
+ padding: variant === 'standard' ? '0 5px' : 0,
34
+ },
35
+ }));
36
+
37
+ export const Select = ({ label, onChange, data = [], value = '', multiple = false, ...props }: SelectBaseProps) => {
38
+ return (
39
+ <FormControl fullWidth>
40
+ <InputLabel id={props.id}>{label}</InputLabel>
41
+
42
+ {multiple ? (
43
+ <SelectStyled
44
+ labelId={props.id}
45
+ id="demo-simple-select"
46
+ value={value}
47
+ MenuProps={MenuProps}
48
+ input={<OutlinedInput label="Tag" />}
49
+ renderValue={(selected: any) => selected.join(', ')}
50
+ onChange={onChange}
51
+ multiple
52
+ {...props}
53
+ >
54
+ {data &&
55
+ data.map((item, key) => (
56
+ <MenuItem value={item.value} key={key}>
57
+ <CheckBox checked={value.includes(String(item.value))} />
58
+ <ListItemText primary={String(item.label)} />
59
+ </MenuItem>
60
+ ))}
61
+ </SelectStyled>
62
+ ) : (
63
+ <SelectStyled labelId={props.id} id="demo-simple-select" value={value} onChange={onChange} {...props}>
64
+ {data &&
65
+ data.map((item, key) => (
66
+ <MenuItem value={item.value} key={key}>
67
+ <ListItemText primary={String(item.label)} />
68
+ </MenuItem>
69
+ ))}
70
+ </SelectStyled>
71
+ )}
72
+ </FormControl>
73
+ );
74
+ };
@@ -1,62 +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
-
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
62
  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,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
  `