norma-library 0.5.125 → 0.5.127

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 (181) 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/MultiSelectInput/components/Option/styles.d.ts +1 -1
  14. package/dist/esm/components/MultiSelectInput/styles.d.ts +2 -2
  15. package/dist/esm/components/RadioGroup.js +1 -1
  16. package/dist/esm/components/RadioGroup.js.map +1 -1
  17. package/dist/esm/components/SelectInput/components/Option/styles.d.ts +1 -1
  18. package/dist/esm/components/SelectInput/styles.d.ts +2 -2
  19. package/dist/esm/components/Table/components/header/styles.d.ts +8 -8
  20. package/dist/esm/components/Table/components/pagination/styles.d.ts +1 -1
  21. package/dist/esm/components/Table/components/tbody/styles.d.ts +1 -1
  22. package/dist/esm/components/Table/styles.d.ts +10 -10
  23. package/dist/esm/components/TextInput/styles.d.ts +3 -3
  24. package/dist/esm/components/Typography/Text/styles.d.ts +1 -1
  25. package/dist/esm/components/Typography/Title/styles.d.ts +1 -1
  26. package/dist/esm/components/UncontrolledTable/components/header/styles.d.ts +8 -8
  27. package/dist/esm/components/UncontrolledTable/components/pagination/styles.d.ts +1 -1
  28. package/dist/esm/components/UncontrolledTable/components/tbody/styles.d.ts +1 -1
  29. package/dist/esm/components/UncontrolledTable/styles.d.ts +10 -10
  30. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.style.d.ts +1 -1
  31. package/dist/esm/types/index.d.ts +1 -1
  32. package/docs/index.md +118 -118
  33. package/package.json +136 -136
  34. package/src/components/Accordion.tsx +39 -39
  35. package/src/components/Avatar.tsx +17 -17
  36. package/src/components/Badge.tsx +14 -14
  37. package/src/components/Box/index.tsx +12 -12
  38. package/src/components/Box/interfaces.ts +3 -3
  39. package/src/components/Box/styles.tsx +22 -22
  40. package/src/components/Breadcrumb/index.tsx +27 -27
  41. package/src/components/Breadcrumb/interface.ts +8 -8
  42. package/src/components/Breadcrumb/styles.tsx +32 -32
  43. package/src/components/Button.tsx +26 -26
  44. package/src/components/Card.tsx +37 -37
  45. package/src/components/ChatMessage.tsx +87 -87
  46. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  47. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  48. package/src/components/CheckBox.tsx +21 -21
  49. package/src/components/DateInput/index.tsx +34 -34
  50. package/src/components/DateInput/interface.ts +13 -13
  51. package/src/components/DateInput/styles.tsx +27 -27
  52. package/src/components/DatePicker.tsx +67 -67
  53. package/src/components/DropDown.tsx +24 -24
  54. package/src/components/IconButton.tsx +37 -37
  55. package/src/components/Icons.tsx +82 -82
  56. package/src/components/Modal.tsx +113 -113
  57. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  58. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  59. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  60. package/src/components/MultiSelectInput/index.tsx +60 -60
  61. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  62. package/src/components/MultiSelectInput/styles.tsx +43 -43
  63. package/src/components/Paper.tsx +12 -12
  64. package/src/components/ProgressBar.tsx +51 -51
  65. package/src/components/RadioGroup.tsx +41 -40
  66. package/src/components/RangerSlider.tsx +65 -65
  67. package/src/components/Select.tsx +74 -74
  68. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  69. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  70. package/src/components/SelectInput/index.tsx +45 -45
  71. package/src/components/SelectInput/interfaces.ts +15 -15
  72. package/src/components/SelectInput/styles.tsx +31 -31
  73. package/src/components/Svgs.tsx +506 -506
  74. package/src/components/Table/components/header/index.tsx +86 -86
  75. package/src/components/Table/components/header/styles.tsx +59 -59
  76. package/src/components/Table/components/index.tsx +8 -8
  77. package/src/components/Table/components/pagination/index.tsx +39 -39
  78. package/src/components/Table/components/pagination/styles.tsx +28 -28
  79. package/src/components/Table/components/tbody/index.tsx +30 -30
  80. package/src/components/Table/components/tbody/styles.tsx +4 -4
  81. package/src/components/Table/index.tsx +317 -317
  82. package/src/components/Table/interface.ts +23 -23
  83. package/src/components/Table/styles.tsx +117 -117
  84. package/src/components/Tabs.tsx +106 -106
  85. package/src/components/Tag.tsx +33 -33
  86. package/src/components/TextField.tsx +19 -19
  87. package/src/components/TextInput/index.tsx +37 -37
  88. package/src/components/TextInput/interface.ts +9 -9
  89. package/src/components/TextInput/styles.tsx +23 -23
  90. package/src/components/TimeLine.tsx +89 -89
  91. package/src/components/TimePicker.tsx +78 -78
  92. package/src/components/Typography/Text/index.tsx +20 -20
  93. package/src/components/Typography/Text/interfaces.ts +5 -5
  94. package/src/components/Typography/Text/styles.tsx +40 -40
  95. package/src/components/Typography/Title/index.tsx +22 -22
  96. package/src/components/Typography/Title/interfaces.ts +6 -6
  97. package/src/components/Typography/Title/styles.tsx +40 -40
  98. package/src/components/Typography/index.tsx +6 -6
  99. package/src/components/UncontrolledTable/components/header/index.tsx +63 -63
  100. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -59
  101. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  102. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  103. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  104. package/src/components/UncontrolledTable/components/tbody/index.tsx +30 -30
  105. package/src/components/UncontrolledTable/components/tbody/styles.tsx +4 -4
  106. package/src/components/UncontrolledTable/index.tsx +226 -226
  107. package/src/components/UncontrolledTable/interface.ts +42 -42
  108. package/src/components/UncontrolledTable/styles.tsx +120 -120
  109. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +52 -52
  110. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
  111. package/src/components/index.ts +24 -24
  112. package/src/helpers/alignments.ts +14 -14
  113. package/src/helpers/borders.ts +18 -18
  114. package/src/helpers/colors.ts +206 -206
  115. package/src/helpers/index.ts +5 -5
  116. package/src/helpers/radios.ts +24 -24
  117. package/src/helpers/sizes.ts +72 -72
  118. package/src/index.ts +66 -66
  119. package/src/interfaces/Accordion.ts +12 -12
  120. package/src/interfaces/Avatar.tsx +15 -15
  121. package/src/interfaces/Badge.ts +19 -19
  122. package/src/interfaces/Button.ts +22 -22
  123. package/src/interfaces/Card.ts +11 -11
  124. package/src/interfaces/ChatMessage.ts +12 -12
  125. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  126. package/src/interfaces/CheckBox.ts +27 -27
  127. package/src/interfaces/DatePicker.ts +13 -13
  128. package/src/interfaces/DropDown.ts +14 -14
  129. package/src/interfaces/IconButton.ts +22 -22
  130. package/src/interfaces/Icons.ts +17 -17
  131. package/src/interfaces/Modal.ts +16 -16
  132. package/src/interfaces/Paper.ts +12 -12
  133. package/src/interfaces/ProgressBar.ts +19 -19
  134. package/src/interfaces/RadioGroup.ts +22 -22
  135. package/src/interfaces/RangerSlider.ts +21 -21
  136. package/src/interfaces/Select.ts +17 -17
  137. package/src/interfaces/Tabs.ts +19 -19
  138. package/src/interfaces/Tag.ts +17 -17
  139. package/src/interfaces/TextField.ts +44 -44
  140. package/src/interfaces/TimeLine.ts +11 -11
  141. package/src/interfaces/TimePicker.ts +13 -13
  142. package/src/interfaces/index.ts +23 -23
  143. package/src/providers/NormaProvider.tsx +13 -13
  144. package/src/sample-data-2.json +178 -178
  145. package/src/sample-data.json +177 -177
  146. package/src/stories/Accordion.stories.tsx +65 -65
  147. package/src/stories/Avatar.stories.tsx +123 -123
  148. package/src/stories/Badge.stories.tsx +39 -39
  149. package/src/stories/Box.stories.tsx +35 -35
  150. package/src/stories/Breadcrumb.stories.tsx +44 -44
  151. package/src/stories/Button.stories.tsx +93 -93
  152. package/src/stories/Card.stories.tsx +39 -39
  153. package/src/stories/ChatMessage.stories.tsx +84 -84
  154. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  155. package/src/stories/CheckBox.stories.tsx +88 -88
  156. package/src/stories/DateInput.stories.tsx +51 -51
  157. package/src/stories/DatePicker.stories.tsx +50 -50
  158. package/src/stories/DropDown.stories.tsx +57 -57
  159. package/src/stories/IconButton.stories.tsx +78 -78
  160. package/src/stories/Modal.stories.tsx +195 -195
  161. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  162. package/src/stories/Paper.stories.tsx +53 -53
  163. package/src/stories/ProgressBar.stories.tsx +95 -95
  164. package/src/stories/RadioGroup.stories.tsx +87 -87
  165. package/src/stories/RangerSlider.stories.tsx +58 -58
  166. package/src/stories/Select.stories.tsx +100 -100
  167. package/src/stories/SelectInput.stories.tsx +78 -78
  168. package/src/stories/Table.stories.tsx +372 -372
  169. package/src/stories/Tabs.stories.tsx +61 -61
  170. package/src/stories/Tag.stories.tsx +56 -56
  171. package/src/stories/Text.stories.tsx +37 -37
  172. package/src/stories/TextField.stories.tsx +310 -310
  173. package/src/stories/TextInput.stories.tsx +52 -52
  174. package/src/stories/TimeLine.stories.tsx +35 -35
  175. package/src/stories/TimePicker.stories.tsx +87 -87
  176. package/src/stories/Title.stories.tsx +43 -43
  177. package/src/stories/UncontrolledTable.stories.tsx +337 -337
  178. package/src/stories/UncontrolledTabs.stories.tsx +63 -63
  179. package/src/styles/globals.scss +17 -17
  180. package/src/types/index.ts +204 -204
  181. package/vite.config.ts +15 -15
@@ -1,55 +1,55 @@
1
- import React, { useMemo } from 'react';
2
- import { Typography } from '@mui/material';
3
- import { ChatMessageBalloonProps } from '../../interfaces';
4
- import * as S from './ChatMessageBalloon.style'
5
-
6
- export const ChatMessageBalloon: React.FC<ChatMessageBalloonProps> = ({
7
- label,
8
- description,
9
- date,
10
- direction,
11
- children,
12
- className,
13
- bottomChildren,
14
- onMouseEnter,
15
- onMouseLeave,
16
- onRowMouseEnter,
17
- onRowMouseLeave,
18
- highlight,
19
- ...rest
20
- }) => {
21
-
22
- const ballonClassNames = useMemo(() => {
23
- const classNames = []
24
- if(!!onMouseEnter) classNames.push('is-interactive')
25
- if(!!highlight) classNames.push('is-highlight')
26
- return classNames.join(" ")
27
- }, [highlight, onMouseEnter])
28
-
29
- return (
30
- <S.ChatMessageBalloonContainerStyle className={className} {...rest}>
31
- <S.ChatMessageBalloonRowStyle direction={direction} onMouseLeave={onRowMouseLeave} onMouseEnter={onRowMouseEnter}>
32
- <S.ChatMessageBalloonStyle onMouseLeave={onMouseLeave} onMouseEnter={onMouseEnter} direction={direction} className={ballonClassNames}>
33
- <Typography
34
- variant="subtitle2"
35
- style={{
36
- fontSize: "1rem",
37
- fontWeight: "600",
38
- marginBottom: '5px'
39
- }}
40
- >
41
- {label}
42
- </Typography>
43
- {description}
44
- </S.ChatMessageBalloonStyle>
45
- <S.ChatMessageChildrenStyle direction={direction}>
46
- {children}
47
- </S.ChatMessageChildrenStyle>
48
- </S.ChatMessageBalloonRowStyle>
49
- <S.ChatMessageBalloonRowStyle direction={direction} sx={{gap: "10px"}}>
50
- <S.ChatMessageDateStyle fontSize={"0.7rem"}>{date}</S.ChatMessageDateStyle>
51
- {bottomChildren}
52
- </S.ChatMessageBalloonRowStyle>
53
- </S.ChatMessageBalloonContainerStyle>
54
- );
55
- };
1
+ import React, { useMemo } from 'react';
2
+ import { Typography } from '@mui/material';
3
+ import { ChatMessageBalloonProps } from '../../interfaces';
4
+ import * as S from './ChatMessageBalloon.style'
5
+
6
+ export const ChatMessageBalloon: React.FC<ChatMessageBalloonProps> = ({
7
+ label,
8
+ description,
9
+ date,
10
+ direction,
11
+ children,
12
+ className,
13
+ bottomChildren,
14
+ onMouseEnter,
15
+ onMouseLeave,
16
+ onRowMouseEnter,
17
+ onRowMouseLeave,
18
+ highlight,
19
+ ...rest
20
+ }) => {
21
+
22
+ const ballonClassNames = useMemo(() => {
23
+ const classNames = []
24
+ if(!!onMouseEnter) classNames.push('is-interactive')
25
+ if(!!highlight) classNames.push('is-highlight')
26
+ return classNames.join(" ")
27
+ }, [highlight, onMouseEnter])
28
+
29
+ return (
30
+ <S.ChatMessageBalloonContainerStyle className={className} {...rest}>
31
+ <S.ChatMessageBalloonRowStyle direction={direction} onMouseLeave={onRowMouseLeave} onMouseEnter={onRowMouseEnter}>
32
+ <S.ChatMessageBalloonStyle onMouseLeave={onMouseLeave} onMouseEnter={onMouseEnter} direction={direction} className={ballonClassNames}>
33
+ <Typography
34
+ variant="subtitle2"
35
+ style={{
36
+ fontSize: "1rem",
37
+ fontWeight: "600",
38
+ marginBottom: '5px'
39
+ }}
40
+ >
41
+ {label}
42
+ </Typography>
43
+ {description}
44
+ </S.ChatMessageBalloonStyle>
45
+ <S.ChatMessageChildrenStyle direction={direction}>
46
+ {children}
47
+ </S.ChatMessageChildrenStyle>
48
+ </S.ChatMessageBalloonRowStyle>
49
+ <S.ChatMessageBalloonRowStyle direction={direction} sx={{gap: "10px"}}>
50
+ <S.ChatMessageDateStyle fontSize={"0.7rem"}>{date}</S.ChatMessageDateStyle>
51
+ {bottomChildren}
52
+ </S.ChatMessageBalloonRowStyle>
53
+ </S.ChatMessageBalloonContainerStyle>
54
+ );
55
+ };
@@ -1,21 +1,21 @@
1
- import React from 'react';
2
- import { FormControlLabel, Checkbox as MuiCheckbox } from '@mui/material';
3
-
4
- import { CheckBoxBaseProps } from '../interfaces';
5
-
6
- import { styled } from '@mui/material/styles';
7
-
8
- const CheckBoxStyled = styled(MuiCheckbox)({});
9
-
10
- export const CheckBox = ({ ...props }: CheckBoxBaseProps) => {
11
-
12
- return (
13
- <>
14
- {props.label ? (
15
- <FormControlLabel control={<CheckBoxStyled {...props} />} label={props.label} />
16
- ) : (
17
- <CheckBoxStyled {...props} />
18
- )}
19
- </>
20
- );
21
- };
1
+ import React from 'react';
2
+ import { FormControlLabel, Checkbox as MuiCheckbox } from '@mui/material';
3
+
4
+ import { CheckBoxBaseProps } from '../interfaces';
5
+
6
+ import { styled } from '@mui/material/styles';
7
+
8
+ const CheckBoxStyled = styled(MuiCheckbox)({});
9
+
10
+ export const CheckBox = ({ ...props }: CheckBoxBaseProps) => {
11
+
12
+ return (
13
+ <>
14
+ {props.label ? (
15
+ <FormControlLabel control={<CheckBoxStyled {...props} />} label={props.label} />
16
+ ) : (
17
+ <CheckBoxStyled {...props} />
18
+ )}
19
+ </>
20
+ );
21
+ };
@@ -1,35 +1,35 @@
1
- import React, { useState } from "react"
2
- import DatePicker from "react-datepicker";
3
- import * as S from "./styles"
4
- import { DateInputProps } from './interface';
5
-
6
- const DateInput:React.FC<DateInputProps> = ({
7
- label,
8
- dateFormat,
9
- dateSelected,
10
- className,
11
- showTimeSelect,
12
- timeFormat,
13
- disabled,
14
- onChange
15
- }) => {
16
- const [date, setDate] = useState<Date | null>(dateSelected)
17
- return (
18
- <S.Container className={className}>
19
- <S.Label>{label}</S.Label>
20
- <DatePicker
21
- dateFormat={dateFormat}
22
- selected={date}
23
- showTimeSelect={showTimeSelect}
24
- timeFormat={timeFormat}
25
- disabled={disabled}
26
- onChange={(date) => {
27
- setDate(date)
28
- onChange(date)
29
- }}
30
- />
31
- </S.Container>
32
- )
33
- }
34
-
1
+ import React, { useState } from "react"
2
+ import DatePicker from "react-datepicker";
3
+ import * as S from "./styles"
4
+ import { DateInputProps } from './interface';
5
+
6
+ const DateInput:React.FC<DateInputProps> = ({
7
+ label,
8
+ dateFormat,
9
+ dateSelected,
10
+ className,
11
+ showTimeSelect,
12
+ timeFormat,
13
+ disabled,
14
+ onChange
15
+ }) => {
16
+ const [date, setDate] = useState<Date | null>(dateSelected)
17
+ return (
18
+ <S.Container className={className}>
19
+ <S.Label>{label}</S.Label>
20
+ <DatePicker
21
+ dateFormat={dateFormat}
22
+ selected={date}
23
+ showTimeSelect={showTimeSelect}
24
+ timeFormat={timeFormat}
25
+ disabled={disabled}
26
+ onChange={(date) => {
27
+ setDate(date)
28
+ onChange(date)
29
+ }}
30
+ />
31
+ </S.Container>
32
+ )
33
+ }
34
+
35
35
  export default DateInput
@@ -1,14 +1,14 @@
1
- export interface DateInputProps {
2
- className?: string
3
- label: string
4
- dateSelected: Date
5
- onChange: Function
6
- dateFormat: string
7
- showTimeSelect?: boolean
8
- timeFormat?: string
9
- disabled?: boolean
10
- }
11
-
12
- export interface ContainerStyles {
13
-
1
+ export interface DateInputProps {
2
+ className?: string
3
+ label: string
4
+ dateSelected: Date
5
+ onChange: Function
6
+ dateFormat: string
7
+ showTimeSelect?: boolean
8
+ timeFormat?: string
9
+ disabled?: boolean
10
+ }
11
+
12
+ export interface ContainerStyles {
13
+
14
14
  }
@@ -1,28 +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;
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
28
  `
@@ -1,67 +1,67 @@
1
- import React from 'react';
2
- import { DemoContainer } from '@mui/x-date-pickers/internals/demo';
3
- import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
4
- import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
5
- import { DatePicker as MuiDatePicker } from '@mui/x-date-pickers/DatePicker';
6
- import { MobileDatePicker as MuiMobileDatePicker } from '@mui/x-date-pickers/MobileDatePicker';
7
- import { DesktopDatePicker as MuiDesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';
8
- import { DatePickerBaseProps } from '../interfaces';
9
- import { styled } from '@mui/material/styles';
10
-
11
- import 'dayjs/locale/pt-br';
12
- import 'dayjs/locale/en';
13
- import 'dayjs/locale/es';
14
-
15
- const MuiDatePickerStyled = styled(MuiDatePicker)({
16
- '& .MuiOutlinedInput-notchedOutline': {
17
- border: 'none',
18
- borderRadius: 0,
19
- borderBottom: '1px solid #666666',
20
- },
21
- '& .MuiFormLabel-root': {
22
- backgroundColor: '#fff',
23
- padding: '0 5px',
24
- },
25
- });
26
-
27
- const MuiMobileDatePickerStyled = styled(MuiMobileDatePicker)({
28
- '& .MuiOutlinedInput-notchedOutline': {
29
- border: 'none',
30
- borderRadius: 0,
31
- borderBottom: '1px solid #666666',
32
- },
33
- '& .MuiFormLabel-root': {
34
- backgroundColor: '#fff',
35
- padding: '0 5px',
36
- },
37
- });
38
-
39
- const MuiDesktopDatePickerStyled = styled(MuiDesktopDatePicker)({
40
- '& .MuiOutlinedInput-notchedOutline': {
41
- border: 'none',
42
- borderRadius: 0,
43
- borderBottom: '1px solid #666666',
44
- },
45
- '& .MuiFormLabel-root': {
46
- backgroundColor: '#fff',
47
- padding: '0 5px',
48
- },
49
- });
50
-
51
- export const DatePicker = ({
52
- label,
53
- format = 'DD/MM/YYYY',
54
- language = 'pt-br',
55
- variant = 'desktop',
56
- }: DatePickerBaseProps) => {
57
-
58
- return (
59
- <LocalizationProvider dateAdapter={AdapterDayjs} adapterLocale={language}>
60
- <DemoContainer components={['TimePicker', 'MobileTimePicker', 'DesktopTimePicker']}>
61
- {variant === 'responsive' && <MuiDatePickerStyled label={label} format={format} />}
62
- {variant === 'mobile' && <MuiMobileDatePickerStyled label={label} format={format} />}
63
- {variant === 'desktop' && <MuiDesktopDatePickerStyled label={label} format={format} />}
64
- </DemoContainer>
65
- </LocalizationProvider>
66
- );
67
- };
1
+ import React from 'react';
2
+ import { DemoContainer } from '@mui/x-date-pickers/internals/demo';
3
+ import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
4
+ import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
5
+ import { DatePicker as MuiDatePicker } from '@mui/x-date-pickers/DatePicker';
6
+ import { MobileDatePicker as MuiMobileDatePicker } from '@mui/x-date-pickers/MobileDatePicker';
7
+ import { DesktopDatePicker as MuiDesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';
8
+ import { DatePickerBaseProps } from '../interfaces';
9
+ import { styled } from '@mui/material/styles';
10
+
11
+ import 'dayjs/locale/pt-br';
12
+ import 'dayjs/locale/en';
13
+ import 'dayjs/locale/es';
14
+
15
+ const MuiDatePickerStyled = styled(MuiDatePicker)({
16
+ '& .MuiOutlinedInput-notchedOutline': {
17
+ border: 'none',
18
+ borderRadius: 0,
19
+ borderBottom: '1px solid #666666',
20
+ },
21
+ '& .MuiFormLabel-root': {
22
+ backgroundColor: '#fff',
23
+ padding: '0 5px',
24
+ },
25
+ });
26
+
27
+ const MuiMobileDatePickerStyled = styled(MuiMobileDatePicker)({
28
+ '& .MuiOutlinedInput-notchedOutline': {
29
+ border: 'none',
30
+ borderRadius: 0,
31
+ borderBottom: '1px solid #666666',
32
+ },
33
+ '& .MuiFormLabel-root': {
34
+ backgroundColor: '#fff',
35
+ padding: '0 5px',
36
+ },
37
+ });
38
+
39
+ const MuiDesktopDatePickerStyled = styled(MuiDesktopDatePicker)({
40
+ '& .MuiOutlinedInput-notchedOutline': {
41
+ border: 'none',
42
+ borderRadius: 0,
43
+ borderBottom: '1px solid #666666',
44
+ },
45
+ '& .MuiFormLabel-root': {
46
+ backgroundColor: '#fff',
47
+ padding: '0 5px',
48
+ },
49
+ });
50
+
51
+ export const DatePicker = ({
52
+ label,
53
+ format = 'DD/MM/YYYY',
54
+ language = 'pt-br',
55
+ variant = 'desktop',
56
+ }: DatePickerBaseProps) => {
57
+
58
+ return (
59
+ <LocalizationProvider dateAdapter={AdapterDayjs} adapterLocale={language}>
60
+ <DemoContainer components={['TimePicker', 'MobileTimePicker', 'DesktopTimePicker']}>
61
+ {variant === 'responsive' && <MuiDatePickerStyled label={label} format={format} />}
62
+ {variant === 'mobile' && <MuiMobileDatePickerStyled label={label} format={format} />}
63
+ {variant === 'desktop' && <MuiDesktopDatePickerStyled label={label} format={format} />}
64
+ </DemoContainer>
65
+ </LocalizationProvider>
66
+ );
67
+ };
@@ -1,24 +1,24 @@
1
- import React from 'react';
2
- import { Menu as MuiDropDown } from '@mui/material';
3
- import { DropDownBaseProps } from '../interfaces';
4
- import { styled } from '@mui/material/styles';
5
-
6
- const DropDownStyled = styled(MuiDropDown)({});
7
-
8
- export const DropDown = ({ open, children, ...props }: DropDownBaseProps) => {
9
-
10
- return (
11
- <DropDownStyled
12
- open
13
- id="basic-menu"
14
- anchorEl={props.anchorEl}
15
- onClose={props.onClose}
16
- MenuListProps={{
17
- 'aria-labelledby': 'basic-button',
18
- }}
19
- {...props}
20
- >
21
- {children}
22
- </DropDownStyled>
23
- );
24
- };
1
+ import React from 'react';
2
+ import { Menu as MuiDropDown } from '@mui/material';
3
+ import { DropDownBaseProps } from '../interfaces';
4
+ import { styled } from '@mui/material/styles';
5
+
6
+ const DropDownStyled = styled(MuiDropDown)({});
7
+
8
+ export const DropDown = ({ open, children, ...props }: DropDownBaseProps) => {
9
+
10
+ return (
11
+ <DropDownStyled
12
+ open
13
+ id="basic-menu"
14
+ anchorEl={props.anchorEl}
15
+ onClose={props.onClose}
16
+ MenuListProps={{
17
+ 'aria-labelledby': 'basic-button',
18
+ }}
19
+ {...props}
20
+ >
21
+ {children}
22
+ </DropDownStyled>
23
+ );
24
+ };
@@ -1,37 +1,37 @@
1
- import React from 'react';
2
- import { IconButton as MuiIconButton } from '@mui/material';
3
- import { IconButtonBaseProps } from '../interfaces';
4
- import { palette } from '../helpers';
5
- import { styled } from '@mui/material/styles';
6
- import { ButtonVariant, ColorVariant } from '@/types';
7
-
8
- const colorMap: Record<ColorVariant, string> = {
9
- inherit: palette.inherit,
10
- primary: palette.primary,
11
- secondary: palette.secondary,
12
- error: palette.error,
13
- warning: palette.warning,
14
- info: palette.info,
15
- success: palette.success,
16
- };
17
-
18
- const IconButtonStyled = styled(MuiIconButton)<{
19
- circle: boolean;
20
- color: ColorVariant;
21
- variant: ButtonVariant;
22
- cursor: string;
23
- }>(({ circle, color, variant, cursor }) => ({
24
- borderRadius: circle === true ? 99 : 5,
25
- border: variant === 'outlined' ? `1px solid ${colorMap[color]}` : 'none',
26
- backgroundColor: variant === 'contained' ? `${colorMap[color]}` : 'none',
27
- cursor: cursor,
28
- }));
29
-
30
- export const IconButton = ({ circle = false, children, ...props }: IconButtonBaseProps) => {
31
-
32
- return (
33
- <IconButtonStyled circle={circle} color="primary" variant="text" cursor="default" {...props}>
34
- {children}
35
- </IconButtonStyled>
36
- );
37
- };
1
+ import React from 'react';
2
+ import { IconButton as MuiIconButton } from '@mui/material';
3
+ import { IconButtonBaseProps } from '../interfaces';
4
+ import { palette } from '../helpers';
5
+ import { styled } from '@mui/material/styles';
6
+ import { ButtonVariant, ColorVariant } from '@/types';
7
+
8
+ const colorMap: Record<ColorVariant, string> = {
9
+ inherit: palette.inherit,
10
+ primary: palette.primary,
11
+ secondary: palette.secondary,
12
+ error: palette.error,
13
+ warning: palette.warning,
14
+ info: palette.info,
15
+ success: palette.success,
16
+ };
17
+
18
+ const IconButtonStyled = styled(MuiIconButton)<{
19
+ circle: boolean;
20
+ color: ColorVariant;
21
+ variant: ButtonVariant;
22
+ cursor: string;
23
+ }>(({ circle, color, variant, cursor }) => ({
24
+ borderRadius: circle === true ? 99 : 5,
25
+ border: variant === 'outlined' ? `1px solid ${colorMap[color]}` : 'none',
26
+ backgroundColor: variant === 'contained' ? `${colorMap[color]}` : 'none',
27
+ cursor: cursor,
28
+ }));
29
+
30
+ export const IconButton = ({ circle = false, children, ...props }: IconButtonBaseProps) => {
31
+
32
+ return (
33
+ <IconButtonStyled circle={circle} color="primary" variant="text" cursor="default" {...props}>
34
+ {children}
35
+ </IconButtonStyled>
36
+ );
37
+ };