norma-library 0.5.3 → 0.5.50
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/dist/esm/components/Accordion.js +7 -11
- package/dist/esm/components/Accordion.js.map +1 -1
- package/dist/esm/components/Avatar.js +3 -7
- package/dist/esm/components/Avatar.js.map +1 -1
- package/dist/esm/components/Badge.js +3 -7
- package/dist/esm/components/Badge.js.map +1 -1
- package/dist/esm/components/Button.js +5 -9
- package/dist/esm/components/Button.js.map +1 -1
- package/dist/esm/components/Card.js +4 -7
- package/dist/esm/components/Card.js.map +1 -1
- package/dist/esm/components/CheckBox.js +3 -6
- package/dist/esm/components/CheckBox.js.map +1 -1
- package/dist/esm/components/DataGrid/index.js +29 -33
- package/dist/esm/components/DataGrid/index.js.map +1 -1
- package/dist/esm/components/DatePicker.js +6 -11
- package/dist/esm/components/DatePicker.js.map +1 -1
- package/dist/esm/components/DropDown.js +5 -10
- package/dist/esm/components/DropDown.js.map +1 -1
- package/dist/esm/components/IconButton.js +4 -7
- package/dist/esm/components/IconButton.js.map +1 -1
- package/dist/esm/components/Modal.js +11 -15
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/Paper.js +3 -7
- package/dist/esm/components/Paper.js.map +1 -1
- package/dist/esm/components/ProgressBar.js +11 -15
- package/dist/esm/components/ProgressBar.js.map +1 -1
- package/dist/esm/components/RadioGroup.js +6 -10
- package/dist/esm/components/RadioGroup.js.map +1 -1
- package/dist/esm/components/RangerSlider.js +4 -7
- package/dist/esm/components/RangerSlider.js.map +1 -1
- package/dist/esm/components/Select.js +10 -14
- package/dist/esm/components/Select.js.map +1 -1
- package/dist/esm/components/Tabs.js +8 -11
- package/dist/esm/components/Tabs.js.map +1 -1
- package/dist/esm/components/Tag.js +8 -11
- package/dist/esm/components/Tag.js.map +1 -1
- package/dist/esm/components/TextField.js +4 -8
- package/dist/esm/components/TextField.js.map +1 -1
- package/dist/esm/components/TimeLine.js +4 -7
- package/dist/esm/components/TimeLine.js.map +1 -1
- package/dist/esm/components/TimePicker.js +6 -11
- package/dist/esm/components/TimePicker.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/NormaProvider.d.ts +3 -0
- package/dist/esm/providers/NormaProvider.js +7 -0
- package/dist/esm/providers/NormaProvider.js.map +1 -0
- package/package.json +1 -1
- package/src/components/Accordion.tsx +17 -25
- package/src/components/Avatar.tsx +3 -8
- package/src/components/Badge.tsx +3 -8
- package/src/components/Button.tsx +11 -16
- package/src/components/Card.tsx +7 -12
- package/src/components/CheckBox.tsx +5 -8
- package/src/components/DataGrid/index.tsx +87 -94
- package/src/components/DatePicker.tsx +9 -15
- package/src/components/DropDown.tsx +15 -22
- package/src/components/IconButton.tsx +7 -11
- package/src/components/Modal.tsx +40 -45
- package/src/components/Paper.tsx +3 -10
- package/src/components/ProgressBar.tsx +12 -19
- package/src/components/RadioGroup.tsx +21 -28
- package/src/components/RangerSlider.tsx +4 -9
- package/src/components/Select.tsx +34 -42
- package/src/components/Tabs.tsx +15 -20
- package/src/components/Tag.tsx +13 -17
- package/src/components/TextField.tsx +5 -10
- package/src/components/TimeLine.tsx +5 -9
- package/src/components/TimePicker.tsx +8 -14
- package/src/index.ts +2 -0
- package/src/providers/NormaProvider.tsx +13 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import {
|
|
3
3
|
FormControl,
|
|
4
4
|
InputLabel,
|
|
@@ -6,11 +6,8 @@ import {
|
|
|
6
6
|
MenuItem,
|
|
7
7
|
Select as MuiSelect,
|
|
8
8
|
OutlinedInput,
|
|
9
|
-
ThemeProvider,
|
|
10
|
-
useMediaQuery,
|
|
11
9
|
} from '@mui/material';
|
|
12
10
|
import { SelectBaseProps } from '../interfaces';
|
|
13
|
-
import { themes } from '../helpers';
|
|
14
11
|
import { styled } from '@mui/material/styles';
|
|
15
12
|
import { CheckBox } from './CheckBox';
|
|
16
13
|
|
|
@@ -38,45 +35,40 @@ const SelectStyled = styled(MuiSelect)(({ multiple, variant }) => ({
|
|
|
38
35
|
}));
|
|
39
36
|
|
|
40
37
|
export const Select = ({ label, onChange, data = [], value = '', multiple = false, ...props }: SelectBaseProps) => {
|
|
41
|
-
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
|
|
42
|
-
const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
|
|
43
|
-
|
|
44
38
|
return (
|
|
45
|
-
<
|
|
46
|
-
<
|
|
47
|
-
<InputLabel id={props.id}>{label}</InputLabel>
|
|
39
|
+
<FormControl fullWidth>
|
|
40
|
+
<InputLabel id={props.id}>{label}</InputLabel>
|
|
48
41
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
</ThemeProvider>
|
|
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>
|
|
81
73
|
);
|
|
82
74
|
};
|
package/src/components/Tabs.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import { Box, Tabs as MuiTabs, Tab,
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box, Tabs as MuiTabs, Tab, Typography } from '@mui/material';
|
|
3
3
|
import { TabPanelProps, TabsBaseProps } from '../interfaces';
|
|
4
|
-
import { palette
|
|
4
|
+
import { palette } from '../helpers';
|
|
5
5
|
import { styled } from '@mui/material/styles';
|
|
6
6
|
import { ColorVariant } from '@/types';
|
|
7
7
|
|
|
@@ -88,24 +88,19 @@ export const Tabs = ({ data = [], color = 'primary', ...props }: TabsBaseProps)
|
|
|
88
88
|
console.log(event);
|
|
89
89
|
};
|
|
90
90
|
|
|
91
|
-
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
|
|
92
|
-
const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
|
|
93
|
-
|
|
94
91
|
return (
|
|
95
|
-
<
|
|
96
|
-
<Box sx={{
|
|
97
|
-
<
|
|
98
|
-
<
|
|
99
|
-
|
|
100
|
-
</TabsStyled>
|
|
101
|
-
</Box>
|
|
102
|
-
{data &&
|
|
103
|
-
data.map((item, key) => (
|
|
104
|
-
<CustomTabPanel value={value} index={key}>
|
|
105
|
-
{item.children}
|
|
106
|
-
</CustomTabPanel>
|
|
107
|
-
))}
|
|
92
|
+
<Box sx={{ width: '100%' }}>
|
|
93
|
+
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
|
|
94
|
+
<TabsStyled value={value} color={color} onChange={handleChange} aria-label="basic tabs example" {...props}>
|
|
95
|
+
{data && data.map((item, key) => <TabStyled label={item.label} color={color} {...a11yProps(key)} />)}
|
|
96
|
+
</TabsStyled>
|
|
108
97
|
</Box>
|
|
109
|
-
|
|
98
|
+
{data &&
|
|
99
|
+
data.map((item, key) => (
|
|
100
|
+
<CustomTabPanel value={value} index={key}>
|
|
101
|
+
{item.children}
|
|
102
|
+
</CustomTabPanel>
|
|
103
|
+
))}
|
|
104
|
+
</Box>
|
|
110
105
|
);
|
|
111
106
|
};
|
package/src/components/Tag.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import { Chip as MuiTag
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Chip as MuiTag } from '@mui/material';
|
|
3
3
|
import { TagBaseProps } from '../interfaces';
|
|
4
|
-
import { palette
|
|
4
|
+
import { palette } from '../helpers';
|
|
5
5
|
import { styled } from '@mui/material/styles';
|
|
6
6
|
import { ColorVariant } from '@/types';
|
|
7
7
|
|
|
@@ -18,20 +18,16 @@ const colorMap: Record<ColorVariant, string> = {
|
|
|
18
18
|
const TagStyled = styled(MuiTag)({});
|
|
19
19
|
|
|
20
20
|
export const Tag = ({ label, color = 'primary', outlined = false, ...props }: TagBaseProps) => {
|
|
21
|
-
|
|
22
|
-
const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
|
|
23
|
-
|
|
21
|
+
|
|
24
22
|
return (
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
/>
|
|
35
|
-
</ThemeProvider>
|
|
23
|
+
<TagStyled
|
|
24
|
+
label={label}
|
|
25
|
+
sx={{
|
|
26
|
+
color: outlined !== true ? '#FFFF' : colorMap[color],
|
|
27
|
+
backgroundColor: outlined !== true ? colorMap[color] : 'inherit',
|
|
28
|
+
border: `1px solid ${colorMap[color]}`,
|
|
29
|
+
}}
|
|
30
|
+
{...props}
|
|
31
|
+
/>
|
|
36
32
|
);
|
|
37
33
|
};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
|
|
3
|
-
import { FormControl,
|
|
3
|
+
import { FormControl, TextField as MuiTextField } from '@mui/material';
|
|
4
4
|
|
|
5
5
|
import { TextFieldBaseProps } from '../interfaces';
|
|
6
6
|
import { styled } from '@mui/material/styles';
|
|
7
|
-
import { themes } from '../helpers';
|
|
8
7
|
|
|
9
8
|
const TextFieldStyled = styled(MuiTextField)({
|
|
10
9
|
textTransform: 'none',
|
|
@@ -12,13 +11,9 @@ const TextFieldStyled = styled(MuiTextField)({
|
|
|
12
11
|
});
|
|
13
12
|
|
|
14
13
|
export const TextField: React.FC<TextFieldBaseProps> = ({ label, ...props }) => {
|
|
15
|
-
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
|
|
16
|
-
const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
|
|
17
14
|
return (
|
|
18
|
-
<
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
</FormControl>
|
|
22
|
-
</ThemeProvider>
|
|
15
|
+
<FormControl sx={{ width: '100%' }}>
|
|
16
|
+
<TextFieldStyled {...props} label={label} />
|
|
17
|
+
</FormControl>
|
|
23
18
|
);
|
|
24
19
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import {
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Typography } from '@mui/material';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
Timeline as MuiTimeLine,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import { TimeLineBaseProps } from '@/interfaces/TimeLine';
|
|
15
15
|
|
|
16
16
|
import { styled } from '@mui/material/styles';
|
|
17
|
-
import { palette, lightenRGB
|
|
17
|
+
import { palette, lightenRGB } from '../helpers';
|
|
18
18
|
import { ColorVariant, DataTimeLine } from '@/types';
|
|
19
19
|
|
|
20
20
|
const colorMap: Record<ColorVariant, string> = {
|
|
@@ -58,9 +58,7 @@ export const TimeLine: React.FC<TimeLineBaseProps> = ({
|
|
|
58
58
|
position = 'left',
|
|
59
59
|
...props
|
|
60
60
|
}) => {
|
|
61
|
-
|
|
62
|
-
const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.light), [prefersDarkMode]);
|
|
63
|
-
|
|
61
|
+
|
|
64
62
|
const renderList = data.map((item, key) => (
|
|
65
63
|
<TimelineItem key={key}>
|
|
66
64
|
<TimelineSeparator>
|
|
@@ -86,8 +84,6 @@ export const TimeLine: React.FC<TimeLineBaseProps> = ({
|
|
|
86
84
|
));
|
|
87
85
|
|
|
88
86
|
return (
|
|
89
|
-
<
|
|
90
|
-
<TimeLineStyled {...props}>{renderList}</TimeLineStyled>
|
|
91
|
-
</ThemeProvider>
|
|
87
|
+
<TimeLineStyled {...props}>{renderList}</TimeLineStyled>
|
|
92
88
|
);
|
|
93
89
|
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import { ThemeProvider, useMediaQuery } from '@mui/material';
|
|
1
|
+
import React from 'react';
|
|
3
2
|
import { DemoContainer } from '@mui/x-date-pickers/internals/demo';
|
|
4
3
|
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
5
4
|
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
|
|
6
5
|
import { TimePicker as MuiTimePicker } from '@mui/x-date-pickers/TimePicker';
|
|
7
6
|
import { MobileTimePicker as MuiMobileTimePicker } from '@mui/x-date-pickers/MobileTimePicker';
|
|
8
7
|
import { DesktopTimePicker as MuiDesktopTimePicker } from '@mui/x-date-pickers/DesktopTimePicker';
|
|
9
|
-
import { themes } from '../helpers';
|
|
10
8
|
import { styled } from '@mui/material/styles';
|
|
11
9
|
|
|
12
10
|
import 'dayjs/locale/pt-br';
|
|
@@ -67,18 +65,14 @@ export const TimePicker = ({
|
|
|
67
65
|
language = 'pt-br',
|
|
68
66
|
variant = 'desktop',
|
|
69
67
|
}: TimePickerBaseProps) => {
|
|
70
|
-
const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
|
|
71
|
-
const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
|
|
72
68
|
|
|
73
69
|
return (
|
|
74
|
-
<
|
|
75
|
-
<
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
</LocalizationProvider>
|
|
82
|
-
</ThemeProvider>
|
|
70
|
+
<LocalizationProvider dateAdapter={AdapterDayjs} adapterLocale={language}>
|
|
71
|
+
<DemoContainer components={['TimePicker', 'MobileTimePicker', 'DesktopTimePicker']}>
|
|
72
|
+
{variant === 'responsive' && <MuiTimePickerStyled label={label} timezone={timezone} />}
|
|
73
|
+
{variant === 'mobile' && <MuiMobileTimePickerStyled label={label} timezone={timezone} />}
|
|
74
|
+
{variant === 'desktop' && <MuiDesktopTimePickerStyled label={label} timezone={timezone} />}
|
|
75
|
+
</DemoContainer>
|
|
76
|
+
</LocalizationProvider>
|
|
83
77
|
);
|
|
84
78
|
};
|
package/src/index.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { Tabs } from './components/Tabs';
|
|
|
14
14
|
import { Tag } from './components/Tag';
|
|
15
15
|
import { TextField } from './components/TextField';
|
|
16
16
|
import { DatePicker } from './components/DatePicker';
|
|
17
|
+
import { NormaProvider } from './providers/NormaProvider';
|
|
17
18
|
import { themes, getPalette } from './helpers';
|
|
18
19
|
|
|
19
20
|
export {
|
|
@@ -34,5 +35,6 @@ export {
|
|
|
34
35
|
Tabs,
|
|
35
36
|
Tag,
|
|
36
37
|
TextField,
|
|
38
|
+
NormaProvider,
|
|
37
39
|
themes,
|
|
38
40
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ThemeProvider } from '@mui/material';
|
|
3
|
+
import { ThemeProviderProps } from "@mui/material/styles/ThemeProvider";
|
|
4
|
+
|
|
5
|
+
export const NormaProvider = (props:ThemeProviderProps) => {
|
|
6
|
+
const { theme, children } = props;
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
<ThemeProvider theme={theme}>
|
|
10
|
+
{children}
|
|
11
|
+
</ThemeProvider>
|
|
12
|
+
);
|
|
13
|
+
};
|