norma-library 0.6.5 → 0.6.61

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 (172) 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/index.js +2 -2
  9. package/dist/esm/components/UncontrolledTable/index.js.map +1 -1
  10. package/dist/esm/components/UncontrolledTable/interface.d.ts +1 -0
  11. package/dist/esm/components/UncontrolledTable/styles.d.ts +1 -0
  12. package/dist/esm/components/UncontrolledTable/styles.js +2 -2
  13. package/dist/esm/components/UncontrolledTable/styles.js.map +1 -1
  14. package/dist/esm/helpers/colors.d.ts +72 -0
  15. package/dist/esm/helpers/colors.js +66 -27
  16. package/dist/esm/helpers/colors.js.map +1 -1
  17. package/docs/index.md +118 -118
  18. package/package.json +136 -136
  19. package/src/components/Accordion.tsx +39 -39
  20. package/src/components/Avatar.tsx +17 -17
  21. package/src/components/Badge.tsx +14 -14
  22. package/src/components/Box/index.tsx +12 -12
  23. package/src/components/Box/interfaces.ts +3 -3
  24. package/src/components/Box/styles.tsx +22 -22
  25. package/src/components/Breadcrumb/index.tsx +27 -27
  26. package/src/components/Breadcrumb/interface.ts +8 -8
  27. package/src/components/Breadcrumb/styles.tsx +32 -32
  28. package/src/components/Button.tsx +26 -26
  29. package/src/components/Card.tsx +37 -37
  30. package/src/components/ChatMessage.tsx +87 -87
  31. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  32. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  33. package/src/components/CheckBox.tsx +21 -21
  34. package/src/components/DateInput/index.tsx +34 -34
  35. package/src/components/DateInput/interface.ts +13 -13
  36. package/src/components/DateInput/styles.tsx +27 -27
  37. package/src/components/DatePicker.tsx +67 -67
  38. package/src/components/DropDown.tsx +24 -24
  39. package/src/components/IconButton.tsx +37 -37
  40. package/src/components/Icons.tsx +82 -82
  41. package/src/components/Modal.tsx +103 -103
  42. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  43. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  44. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  45. package/src/components/MultiSelectInput/index.tsx +60 -60
  46. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  47. package/src/components/MultiSelectInput/styles.tsx +43 -43
  48. package/src/components/Paper.tsx +12 -12
  49. package/src/components/ProgressBar.tsx +71 -71
  50. package/src/components/RadioGroup.tsx +43 -43
  51. package/src/components/RangerSlider.tsx +65 -65
  52. package/src/components/Select.tsx +74 -74
  53. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  54. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  55. package/src/components/SelectInput/index.tsx +45 -45
  56. package/src/components/SelectInput/interfaces.ts +15 -15
  57. package/src/components/SelectInput/styles.tsx +31 -31
  58. package/src/components/StatusModal/StatusModal.style.tsx +75 -75
  59. package/src/components/StatusModal/StatusModal.tsx +58 -58
  60. package/src/components/Svgs.tsx +506 -506
  61. package/src/components/Table/components/header/index.tsx +86 -86
  62. package/src/components/Table/components/header/styles.tsx +59 -59
  63. package/src/components/Table/components/index.tsx +8 -8
  64. package/src/components/Table/components/pagination/index.tsx +39 -39
  65. package/src/components/Table/components/pagination/styles.tsx +28 -28
  66. package/src/components/Table/components/tbody/index.tsx +30 -30
  67. package/src/components/Table/components/tbody/styles.tsx +4 -4
  68. package/src/components/Table/index.tsx +317 -317
  69. package/src/components/Table/interface.ts +23 -23
  70. package/src/components/Table/styles.tsx +117 -117
  71. package/src/components/Tabs.tsx +105 -105
  72. package/src/components/Tag.tsx +33 -33
  73. package/src/components/TextField.tsx +19 -19
  74. package/src/components/TextInput/index.tsx +37 -37
  75. package/src/components/TextInput/interface.ts +9 -9
  76. package/src/components/TextInput/styles.tsx +23 -23
  77. package/src/components/TimeLine.tsx +89 -89
  78. package/src/components/TimePicker.tsx +78 -78
  79. package/src/components/Typography/Text/index.tsx +20 -20
  80. package/src/components/Typography/Text/interfaces.ts +5 -5
  81. package/src/components/Typography/Text/styles.tsx +40 -40
  82. package/src/components/Typography/Title/index.tsx +22 -22
  83. package/src/components/Typography/Title/interfaces.ts +6 -6
  84. package/src/components/Typography/Title/styles.tsx +40 -40
  85. package/src/components/Typography/index.tsx +6 -6
  86. package/src/components/UncontrolledTable/components/header/index.tsx +72 -72
  87. package/src/components/UncontrolledTable/components/header/styles.tsx +66 -66
  88. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  89. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  90. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  91. package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
  92. package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
  93. package/src/components/UncontrolledTable/index.tsx +223 -222
  94. package/src/components/UncontrolledTable/interface.ts +46 -44
  95. package/src/components/UncontrolledTable/styles.tsx +123 -123
  96. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +58 -58
  97. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +71 -71
  98. package/src/components/UncontrolledTabs/UncontrolledTabsInfo.style.ts +8 -8
  99. package/src/components/index.ts +24 -24
  100. package/src/helpers/alignments.ts +14 -14
  101. package/src/helpers/borders.ts +18 -18
  102. package/src/helpers/colors.ts +298 -258
  103. package/src/helpers/index.ts +5 -5
  104. package/src/helpers/radios.ts +24 -24
  105. package/src/helpers/sizes.ts +72 -72
  106. package/src/hooks/useClickOutside.tsx +18 -18
  107. package/src/index.ts +70 -70
  108. package/src/interfaces/Accordion.ts +12 -12
  109. package/src/interfaces/Avatar.tsx +15 -15
  110. package/src/interfaces/Badge.ts +19 -19
  111. package/src/interfaces/Button.ts +22 -22
  112. package/src/interfaces/Card.ts +11 -11
  113. package/src/interfaces/ChatMessage.ts +12 -12
  114. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  115. package/src/interfaces/CheckBox.ts +27 -27
  116. package/src/interfaces/DatePicker.ts +13 -13
  117. package/src/interfaces/DropDown.ts +14 -14
  118. package/src/interfaces/IconButton.ts +22 -22
  119. package/src/interfaces/Icons.ts +17 -17
  120. package/src/interfaces/Modal.ts +18 -18
  121. package/src/interfaces/Paper.ts +12 -12
  122. package/src/interfaces/ProgressBar.ts +29 -29
  123. package/src/interfaces/RadioGroup.ts +23 -23
  124. package/src/interfaces/RangerSlider.ts +21 -21
  125. package/src/interfaces/Select.ts +17 -17
  126. package/src/interfaces/Tabs.ts +19 -19
  127. package/src/interfaces/Tag.ts +17 -17
  128. package/src/interfaces/TextField.ts +44 -44
  129. package/src/interfaces/TimeLine.ts +11 -11
  130. package/src/interfaces/TimePicker.ts +13 -13
  131. package/src/interfaces/index.ts +23 -23
  132. package/src/providers/NormaProvider.tsx +13 -13
  133. package/src/sample-data-2.json +178 -178
  134. package/src/sample-data.json +177 -177
  135. package/src/stories/Accordion.stories.tsx +65 -65
  136. package/src/stories/Avatar.stories.tsx +123 -123
  137. package/src/stories/Badge.stories.tsx +39 -39
  138. package/src/stories/Box.stories.tsx +35 -35
  139. package/src/stories/Breadcrumb.stories.tsx +44 -44
  140. package/src/stories/Button.stories.tsx +93 -93
  141. package/src/stories/Card.stories.tsx +39 -39
  142. package/src/stories/ChatMessage.stories.tsx +84 -84
  143. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  144. package/src/stories/CheckBox.stories.tsx +88 -88
  145. package/src/stories/DateInput.stories.tsx +51 -51
  146. package/src/stories/DatePicker.stories.tsx +50 -50
  147. package/src/stories/DropDown.stories.tsx +57 -57
  148. package/src/stories/IconButton.stories.tsx +78 -78
  149. package/src/stories/Modal.stories.tsx +246 -246
  150. package/src/stories/ModalStatus.stories.tsx +46 -46
  151. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  152. package/src/stories/Paper.stories.tsx +53 -53
  153. package/src/stories/ProgressBar.stories.tsx +116 -116
  154. package/src/stories/RadioGroup.stories.tsx +87 -87
  155. package/src/stories/RangerSlider.stories.tsx +149 -149
  156. package/src/stories/Select.stories.tsx +100 -100
  157. package/src/stories/SelectInput.stories.tsx +78 -78
  158. package/src/stories/Table.stories.tsx +372 -372
  159. package/src/stories/Tabs.stories.tsx +61 -61
  160. package/src/stories/Tag.stories.tsx +56 -56
  161. package/src/stories/Text.stories.tsx +37 -37
  162. package/src/stories/TextField.stories.tsx +310 -310
  163. package/src/stories/TextInput.stories.tsx +52 -52
  164. package/src/stories/TimeLine.stories.tsx +35 -35
  165. package/src/stories/TimePicker.stories.tsx +87 -87
  166. package/src/stories/Title.stories.tsx +43 -43
  167. package/src/stories/UncontrolledTable.stories.tsx +315 -315
  168. package/src/stories/UncontrolledTabs.stories.tsx +74 -74
  169. package/src/styles/globals.scss +17 -17
  170. package/src/types/index.ts +207 -207
  171. package/src/utils/styledBreakpoints.ts +25 -25
  172. package/vite.config.ts +15 -15
@@ -1,74 +1,74 @@
1
- import React, { useState } from 'react';
2
-
3
- import type { Meta, StoryObj } from '@storybook/react';
4
- import UncontrolledTabs from '../components/UncontrolledTabs/UncontrolledTabs';
5
- import { DataTabs } from '../types';
6
- import { Typography } from '@mui/material';
7
-
8
- const data: DataTabs[] = [
9
- {
10
- label: 'Tab 1',
11
- id: 'panel-1',
12
- children: (
13
- <Typography>
14
- Tab 1 - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet
15
- blandit leo lobortis eget.
16
- </Typography>
17
- ),
18
- },
19
- {
20
- label: 'Tab 2',
21
- id: 'panel-2',
22
- children: (
23
- <Typography>
24
- Tab 2 - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet
25
- blandit leo lobortis eget.
26
- </Typography>
27
- ),
28
- },
29
- ];
30
-
31
- const meta = {
32
- title: 'Uncontrolled/Tabs',
33
- component: UncontrolledTabs,
34
- tags: ['autodocs'],
35
- parameters: {
36
- layout: 'centered',
37
- },
38
- argTypes: {
39
- tabs: data,
40
- },
41
- } satisfies Meta<typeof UncontrolledTabs>;
42
-
43
- export default meta;
44
-
45
- type Story = StoryObj<typeof meta>;
46
-
47
- export const Playground: Story = {
48
- args: {
49
- tab: 0,
50
- tabs: data,
51
- },
52
- };
53
-
54
- export const UncontrolledTabsBasic = () => {
55
- const [tab, setTab] = useState(0);
56
- return (
57
- <div style={{ width: '480px', marginBottom: 30 }}>
58
- <UncontrolledTabs tab={tab} tabs={data} onTabChange={(evt, tab) => setTab(tab)} />
59
- </div>
60
- );
61
- };
62
-
63
- UncontrolledTabsBasic.storyName = 'Uncontrolled Tabs';
64
-
65
- export const UncontrolledTabsInfo = () => {
66
- const [tab, setTab] = useState(0);
67
- return (
68
- <div style={{ width: '480px', marginBottom: 30 }}>
69
- <UncontrolledTabs info={<div>Informação dentro da tab</div>} tab={tab} tabs={data} onTabChange={(evt, tab) => setTab(tab)} />
70
- </div>
71
- );
72
- };
73
-
74
- UncontrolledTabsInfo.storyName = 'Uncontrolled Tabs With Info';
1
+ import React, { useState } from 'react';
2
+
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ import UncontrolledTabs from '../components/UncontrolledTabs/UncontrolledTabs';
5
+ import { DataTabs } from '../types';
6
+ import { Typography } from '@mui/material';
7
+
8
+ const data: DataTabs[] = [
9
+ {
10
+ label: 'Tab 1',
11
+ id: 'panel-1',
12
+ children: (
13
+ <Typography>
14
+ Tab 1 - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet
15
+ blandit leo lobortis eget.
16
+ </Typography>
17
+ ),
18
+ },
19
+ {
20
+ label: 'Tab 2',
21
+ id: 'panel-2',
22
+ children: (
23
+ <Typography>
24
+ Tab 2 - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet
25
+ blandit leo lobortis eget.
26
+ </Typography>
27
+ ),
28
+ },
29
+ ];
30
+
31
+ const meta = {
32
+ title: 'Uncontrolled/Tabs',
33
+ component: UncontrolledTabs,
34
+ tags: ['autodocs'],
35
+ parameters: {
36
+ layout: 'centered',
37
+ },
38
+ argTypes: {
39
+ tabs: data,
40
+ },
41
+ } satisfies Meta<typeof UncontrolledTabs>;
42
+
43
+ export default meta;
44
+
45
+ type Story = StoryObj<typeof meta>;
46
+
47
+ export const Playground: Story = {
48
+ args: {
49
+ tab: 0,
50
+ tabs: data,
51
+ },
52
+ };
53
+
54
+ export const UncontrolledTabsBasic = () => {
55
+ const [tab, setTab] = useState(0);
56
+ return (
57
+ <div style={{ width: '480px', marginBottom: 30 }}>
58
+ <UncontrolledTabs tab={tab} tabs={data} onTabChange={(evt, tab) => setTab(tab)} />
59
+ </div>
60
+ );
61
+ };
62
+
63
+ UncontrolledTabsBasic.storyName = 'Uncontrolled Tabs';
64
+
65
+ export const UncontrolledTabsInfo = () => {
66
+ const [tab, setTab] = useState(0);
67
+ return (
68
+ <div style={{ width: '480px', marginBottom: 30 }}>
69
+ <UncontrolledTabs info={<div>Informação dentro da tab</div>} tab={tab} tabs={data} onTabChange={(evt, tab) => setTab(tab)} />
70
+ </div>
71
+ );
72
+ };
73
+
74
+ UncontrolledTabsInfo.storyName = 'Uncontrolled Tabs With Info';
@@ -1,18 +1,18 @@
1
-
2
- :root {
3
- --transparent: transparent;
4
- --current: currentColor;
5
- --primary: #fe761c;
6
- --secondary: #43bbf2;
7
- --error: #d63643;
8
- --warning: #ffc300;
9
- --info: #71d5f7;
10
- --success: #6bc235;
11
- --helper: #5a2a79;
12
- }
13
-
14
- .appearance-none {
15
- -webkit-appearance: none;
16
- -moz-appearance: none;
17
- appearance: none;
1
+
2
+ :root {
3
+ --transparent: transparent;
4
+ --current: currentColor;
5
+ --primary: #fe761c;
6
+ --secondary: #43bbf2;
7
+ --error: #d63643;
8
+ --warning: #ffc300;
9
+ --info: #71d5f7;
10
+ --success: #6bc235;
11
+ --helper: #5a2a79;
12
+ }
13
+
14
+ .appearance-none {
15
+ -webkit-appearance: none;
16
+ -moz-appearance: none;
17
+ appearance: none;
18
18
  }
@@ -1,207 +1,207 @@
1
- import {
2
- AvatarProps as MuiAvatarProps,
3
- ButtonProps as MuiButtonProps,
4
- BadgeProps as MuiBadgeProps,
5
- IconButtonProps as MuiIconButtonProps,
6
- TextFieldProps as MuiTextFieldProps,
7
- CheckboxProps as MuiCheckBoxProps,
8
- MenuProps as MuiDropDownProps,
9
- ChipProps as MuiChipProps,
10
- LinearProgressProps as MuiLinearProgressProps,
11
- SliderProps as MuiSliderProps,
12
- AccordionProps as MuiAccordionProps,
13
- TabsProps as MuiTabsProps,
14
- SelectProps as MuiSelectProps,
15
- PaperProps as MuiPaperProps,
16
- SvgIconProps,
17
- ModalProps,
18
- CardProps as MuiCardProps,
19
- TableProps as MuiTableProps,
20
- } from '@mui/material';
21
-
22
- import { TimelineProps as MuiTimeLineProps } from '@mui/lab';
23
-
24
- import { SwitchBaseProps as MuiSwitchBaseProps } from '@mui/material/internal/SwitchBase';
25
-
26
- import { iconsSVG } from '../components/Svgs';
27
-
28
- export type ColorVariant = 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning';
29
-
30
- export type DisabledVariant = 'true' | 'false';
31
-
32
- export type TextFieldColorVariant = 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning';
33
-
34
- export type CheckBoxColorVariant = 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | 'default';
35
-
36
- export type SizeVariant = 'small' | 'medium' | 'large';
37
- export type ButtonVariant = 'text' | 'outlined' | 'contained';
38
- export type DropVariant = 'menu' | 'selectedMenu';
39
- export type TagVariant = 'outlined' | 'contained';
40
- export type TabsVariant = 'standard' | 'scrollable' | 'fullWidth';
41
- export type DatePickVariant = 'responsive' | 'desktop' | 'mobile';
42
- export type ProgressVariant = 'determinate' | 'indeterminate' | 'buffer' | 'query';
43
-
44
- export type MuiButtonBaseProps = Omit<MuiButtonProps, 'sx' | 'color' | 'size' | 'variant'>;
45
-
46
- export type MuiIconButtonBaseProps = Omit<MuiIconButtonProps, 'sx' | 'color' | 'size' | 'variant'>;
47
-
48
- export type TextFieldValue = string | number;
49
- export type TextFieldVariant = 'standard' | 'outlined' | 'filled';
50
- export type TextFieldSizeVariant = 'small' | 'medium';
51
- export type DirectionVariant = 'vertical' | 'horizontal';
52
- export type PaperVariant = 'elevation' | 'outlined';
53
- export type PositionVariant = 'left' | 'right' | 'alternate' | 'alternate-reverse';
54
-
55
- export type MuiTextFieldBaseProps = Omit<
56
- MuiTextFieldProps,
57
- | 'onChange'
58
- | 'onBlur'
59
- | 'onFocus'
60
- | 'defaultValue'
61
- | 'size'
62
- | 'value'
63
- | 'id'
64
- | 'fullWidth'
65
- | 'helperText'
66
- | 'type'
67
- | 'InputProps'
68
- | 'InputLabelProps'
69
- | 'autoComplete'
70
- | 'label'
71
- | 'helperText'
72
- | 'InputLabelProps'
73
- | 'margin'
74
- | 'maxRows'
75
- | 'minRows'
76
- | 'multiline'
77
- | 'name'
78
- | 'placeholder'
79
- | 'rows'
80
- | 'select'
81
- | 'SelectProps'
82
- | 'sx'
83
- | 'autoFocus'
84
- | 'error'
85
- | 'classes'
86
- | 'children'
87
- | 'color'
88
- | 'variant'
89
- >;
90
-
91
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
92
- export interface CheckboxPropsSizeOverrides {}
93
-
94
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
95
- export interface CheckboxPropsColorOverrides {}
96
-
97
- export type MuiCheckBoxBaseProps = Omit<MuiCheckBoxProps, 'sx'>;
98
- export type MuiModalBaseProps = Omit<ModalProps, 'sx'>;
99
- export type MuiCardBaseProps = Omit<MuiCardProps, 'sx'>;
100
- export type MuiDropDownBaseProps = Omit<MuiDropDownProps, 'sx' | 'variant'>;
101
- export type MuiTagBaseProps = Omit<MuiChipProps, 'sx' | 'color'>;
102
- export type MuiRangerSliderBaseProps = Omit<MuiSliderProps, 'sx' | 'color'>;
103
- export type MuiProgressBarBaseProps = Omit<MuiLinearProgressProps, 'sx' | 'ref'>;
104
- export type MuiTabsBaseProps = Omit<MuiTabsProps, 'sx' | 'children' | 'onChange' | 'variant' | 'value'>;
105
- export type MuiAccordionBaseProps = Omit<MuiAccordionProps, 'sx' | 'children' | 'defaultExpanded' | 'onChange'>;
106
- export type MuiSelectBaseProps = Omit<MuiSelectProps, 'sx' | 'value' | 'onClose' | 'onOpen' | 'input' | 'label'>;
107
-
108
- export type MuiPaperBaseProps = Omit<MuiPaperProps, 'sx'>;
109
-
110
- export type MuiDatePickerBaseProps = Omit<MuiTextFieldProps, 'sx'>;
111
-
112
- export type MuiDataGridBaseProps = Omit<MuiTableProps, 'sx'>;
113
-
114
- export type MuiAvatarBaseProps = Omit<MuiAvatarProps, 'sx' | 'src' | 'children' | 'variant' | 'sizes'>;
115
-
116
- export type MuiTimeLineBaseProps = Omit<MuiTimeLineProps, 'sx' | 'position' | 'children' | 'ref'>;
117
-
118
- export type MuiBadgeBaseProps = Omit<
119
- MuiBadgeProps,
120
- 'sx' | 'color' | 'children' | 'invisible' | 'variant' | 'className' | 'badgeContent'
121
- >;
122
-
123
- export type IconScale = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | '2xlarge' | '3xlarge';
124
-
125
- export type IconColors =
126
- | 'inherit'
127
- | 'primary'
128
- | 'secondary'
129
- | 'error'
130
- | 'info'
131
- | 'success'
132
- | 'warning'
133
- | 'white'
134
- | 'black';
135
-
136
- export const scaleSize: Record<IconScale, number> = {
137
- xsmall: 14,
138
- small: 20,
139
- medium: 24,
140
- large: 28,
141
- xlarge: 32,
142
- '2xlarge': 36,
143
- '3xlarge': 40,
144
- };
145
-
146
- export type SVGIconProps = {
147
- icon: React.ReactNode;
148
- } & SvgIconProps;
149
-
150
- export type IconType = keyof typeof iconsSVG;
151
- export type IconKey = keyof typeof iconsSVG;
152
-
153
- export type MuiRadioBaseProps = Omit<
154
- MuiSwitchBaseProps,
155
- 'checkedIcon' | 'color' | 'icon' | 'type' | 'checked' | 'size'
156
- >;
157
-
158
- export type OptionsRadios = {
159
- label: string | React.ReactNode;
160
- value: string;
161
- size?: TextFieldSizeVariant;
162
- };
163
-
164
- export type OnAction = {
165
- label: string;
166
- action: React.ReactEventHandler<{}>;
167
- color?: ColorVariant;
168
- size?: SizeVariant;
169
- variant?: ButtonVariant;
170
- disabled?: boolean;
171
- };
172
-
173
- export type DataAccordion = {
174
- label: string;
175
- id: string;
176
- children: NonNullable<React.ReactNode>;
177
- };
178
-
179
- export type DataTabs = {
180
- label: string;
181
- id: string;
182
- children: NonNullable<React.ReactNode>;
183
- tabPanel?: {
184
- props?: React.HTMLAttributes<HTMLDivElement>
185
- };
186
- };
187
-
188
- export type DataSelect = {
189
- label: string;
190
- value: string | number;
191
- };
192
-
193
- export type DataTimeLine = {
194
- id?: string;
195
- title: string;
196
- data: string;
197
- by: string;
198
- };
199
-
200
- export type RenderProps<E extends HTMLElement = HTMLElement> = {
201
- focusRef?: React.MutableRefObject<E | null>;
202
- id?: string;
203
- };
204
-
205
- export type StyledProgressBarProps = {
206
- colorCustom?: string;
207
- };
1
+ import {
2
+ AvatarProps as MuiAvatarProps,
3
+ ButtonProps as MuiButtonProps,
4
+ BadgeProps as MuiBadgeProps,
5
+ IconButtonProps as MuiIconButtonProps,
6
+ TextFieldProps as MuiTextFieldProps,
7
+ CheckboxProps as MuiCheckBoxProps,
8
+ MenuProps as MuiDropDownProps,
9
+ ChipProps as MuiChipProps,
10
+ LinearProgressProps as MuiLinearProgressProps,
11
+ SliderProps as MuiSliderProps,
12
+ AccordionProps as MuiAccordionProps,
13
+ TabsProps as MuiTabsProps,
14
+ SelectProps as MuiSelectProps,
15
+ PaperProps as MuiPaperProps,
16
+ SvgIconProps,
17
+ ModalProps,
18
+ CardProps as MuiCardProps,
19
+ TableProps as MuiTableProps,
20
+ } from '@mui/material';
21
+
22
+ import { TimelineProps as MuiTimeLineProps } from '@mui/lab';
23
+
24
+ import { SwitchBaseProps as MuiSwitchBaseProps } from '@mui/material/internal/SwitchBase';
25
+
26
+ import { iconsSVG } from '../components/Svgs';
27
+
28
+ export type ColorVariant = 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning';
29
+
30
+ export type DisabledVariant = 'true' | 'false';
31
+
32
+ export type TextFieldColorVariant = 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning';
33
+
34
+ export type CheckBoxColorVariant = 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | 'default';
35
+
36
+ export type SizeVariant = 'small' | 'medium' | 'large';
37
+ export type ButtonVariant = 'text' | 'outlined' | 'contained';
38
+ export type DropVariant = 'menu' | 'selectedMenu';
39
+ export type TagVariant = 'outlined' | 'contained';
40
+ export type TabsVariant = 'standard' | 'scrollable' | 'fullWidth';
41
+ export type DatePickVariant = 'responsive' | 'desktop' | 'mobile';
42
+ export type ProgressVariant = 'determinate' | 'indeterminate' | 'buffer' | 'query';
43
+
44
+ export type MuiButtonBaseProps = Omit<MuiButtonProps, 'sx' | 'color' | 'size' | 'variant'>;
45
+
46
+ export type MuiIconButtonBaseProps = Omit<MuiIconButtonProps, 'sx' | 'color' | 'size' | 'variant'>;
47
+
48
+ export type TextFieldValue = string | number;
49
+ export type TextFieldVariant = 'standard' | 'outlined' | 'filled';
50
+ export type TextFieldSizeVariant = 'small' | 'medium';
51
+ export type DirectionVariant = 'vertical' | 'horizontal';
52
+ export type PaperVariant = 'elevation' | 'outlined';
53
+ export type PositionVariant = 'left' | 'right' | 'alternate' | 'alternate-reverse';
54
+
55
+ export type MuiTextFieldBaseProps = Omit<
56
+ MuiTextFieldProps,
57
+ | 'onChange'
58
+ | 'onBlur'
59
+ | 'onFocus'
60
+ | 'defaultValue'
61
+ | 'size'
62
+ | 'value'
63
+ | 'id'
64
+ | 'fullWidth'
65
+ | 'helperText'
66
+ | 'type'
67
+ | 'InputProps'
68
+ | 'InputLabelProps'
69
+ | 'autoComplete'
70
+ | 'label'
71
+ | 'helperText'
72
+ | 'InputLabelProps'
73
+ | 'margin'
74
+ | 'maxRows'
75
+ | 'minRows'
76
+ | 'multiline'
77
+ | 'name'
78
+ | 'placeholder'
79
+ | 'rows'
80
+ | 'select'
81
+ | 'SelectProps'
82
+ | 'sx'
83
+ | 'autoFocus'
84
+ | 'error'
85
+ | 'classes'
86
+ | 'children'
87
+ | 'color'
88
+ | 'variant'
89
+ >;
90
+
91
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
92
+ export interface CheckboxPropsSizeOverrides {}
93
+
94
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
95
+ export interface CheckboxPropsColorOverrides {}
96
+
97
+ export type MuiCheckBoxBaseProps = Omit<MuiCheckBoxProps, 'sx'>;
98
+ export type MuiModalBaseProps = Omit<ModalProps, 'sx'>;
99
+ export type MuiCardBaseProps = Omit<MuiCardProps, 'sx'>;
100
+ export type MuiDropDownBaseProps = Omit<MuiDropDownProps, 'sx' | 'variant'>;
101
+ export type MuiTagBaseProps = Omit<MuiChipProps, 'sx' | 'color'>;
102
+ export type MuiRangerSliderBaseProps = Omit<MuiSliderProps, 'sx' | 'color'>;
103
+ export type MuiProgressBarBaseProps = Omit<MuiLinearProgressProps, 'sx' | 'ref'>;
104
+ export type MuiTabsBaseProps = Omit<MuiTabsProps, 'sx' | 'children' | 'onChange' | 'variant' | 'value'>;
105
+ export type MuiAccordionBaseProps = Omit<MuiAccordionProps, 'sx' | 'children' | 'defaultExpanded' | 'onChange'>;
106
+ export type MuiSelectBaseProps = Omit<MuiSelectProps, 'sx' | 'value' | 'onClose' | 'onOpen' | 'input' | 'label'>;
107
+
108
+ export type MuiPaperBaseProps = Omit<MuiPaperProps, 'sx'>;
109
+
110
+ export type MuiDatePickerBaseProps = Omit<MuiTextFieldProps, 'sx'>;
111
+
112
+ export type MuiDataGridBaseProps = Omit<MuiTableProps, 'sx'>;
113
+
114
+ export type MuiAvatarBaseProps = Omit<MuiAvatarProps, 'sx' | 'src' | 'children' | 'variant' | 'sizes'>;
115
+
116
+ export type MuiTimeLineBaseProps = Omit<MuiTimeLineProps, 'sx' | 'position' | 'children' | 'ref'>;
117
+
118
+ export type MuiBadgeBaseProps = Omit<
119
+ MuiBadgeProps,
120
+ 'sx' | 'color' | 'children' | 'invisible' | 'variant' | 'className' | 'badgeContent'
121
+ >;
122
+
123
+ export type IconScale = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | '2xlarge' | '3xlarge';
124
+
125
+ export type IconColors =
126
+ | 'inherit'
127
+ | 'primary'
128
+ | 'secondary'
129
+ | 'error'
130
+ | 'info'
131
+ | 'success'
132
+ | 'warning'
133
+ | 'white'
134
+ | 'black';
135
+
136
+ export const scaleSize: Record<IconScale, number> = {
137
+ xsmall: 14,
138
+ small: 20,
139
+ medium: 24,
140
+ large: 28,
141
+ xlarge: 32,
142
+ '2xlarge': 36,
143
+ '3xlarge': 40,
144
+ };
145
+
146
+ export type SVGIconProps = {
147
+ icon: React.ReactNode;
148
+ } & SvgIconProps;
149
+
150
+ export type IconType = keyof typeof iconsSVG;
151
+ export type IconKey = keyof typeof iconsSVG;
152
+
153
+ export type MuiRadioBaseProps = Omit<
154
+ MuiSwitchBaseProps,
155
+ 'checkedIcon' | 'color' | 'icon' | 'type' | 'checked' | 'size'
156
+ >;
157
+
158
+ export type OptionsRadios = {
159
+ label: string | React.ReactNode;
160
+ value: string;
161
+ size?: TextFieldSizeVariant;
162
+ };
163
+
164
+ export type OnAction = {
165
+ label: string;
166
+ action: React.ReactEventHandler<{}>;
167
+ color?: ColorVariant;
168
+ size?: SizeVariant;
169
+ variant?: ButtonVariant;
170
+ disabled?: boolean;
171
+ };
172
+
173
+ export type DataAccordion = {
174
+ label: string;
175
+ id: string;
176
+ children: NonNullable<React.ReactNode>;
177
+ };
178
+
179
+ export type DataTabs = {
180
+ label: string;
181
+ id: string;
182
+ children: NonNullable<React.ReactNode>;
183
+ tabPanel?: {
184
+ props?: React.HTMLAttributes<HTMLDivElement>
185
+ };
186
+ };
187
+
188
+ export type DataSelect = {
189
+ label: string;
190
+ value: string | number;
191
+ };
192
+
193
+ export type DataTimeLine = {
194
+ id?: string;
195
+ title: string;
196
+ data: string;
197
+ by: string;
198
+ };
199
+
200
+ export type RenderProps<E extends HTMLElement = HTMLElement> = {
201
+ focusRef?: React.MutableRefObject<E | null>;
202
+ id?: string;
203
+ };
204
+
205
+ export type StyledProgressBarProps = {
206
+ colorCustom?: string;
207
+ };
@@ -1,25 +1,25 @@
1
- import { css } from 'styled-components';
2
-
3
- type Breakpoint = {
4
- cssProp: string;
5
- cssPropUnits: string;
6
- values: { [key: number]: number }[];
7
- mediaQueryType: 'max-width' | 'min-width' | 'max-height' | 'min-height';
8
- };
9
-
10
- export const breakpoints = (breakpoints: Breakpoint) => {
11
- const { cssProp, cssPropUnits, values, mediaQueryType } = breakpoints;
12
-
13
- const breakpointProps = values.reduce((mediaQueries, value) => {
14
- const [screenBreakpoint, cssPropBreakpoint] = [Object.keys(value)[0], Object.values(value)[0]];
15
- return (mediaQueries += `
16
- @media screen and (${mediaQueryType}: ${screenBreakpoint}px) {
17
- ${cssProp}: ${cssPropBreakpoint}${cssPropUnits};
18
- }
19
- `);
20
- }, '');
21
-
22
- return css`
23
- ${breakpointProps}
24
- `;
25
- };
1
+ import { css } from 'styled-components';
2
+
3
+ type Breakpoint = {
4
+ cssProp: string;
5
+ cssPropUnits: string;
6
+ values: { [key: number]: number }[];
7
+ mediaQueryType: 'max-width' | 'min-width' | 'max-height' | 'min-height';
8
+ };
9
+
10
+ export const breakpoints = (breakpoints: Breakpoint) => {
11
+ const { cssProp, cssPropUnits, values, mediaQueryType } = breakpoints;
12
+
13
+ const breakpointProps = values.reduce((mediaQueries, value) => {
14
+ const [screenBreakpoint, cssPropBreakpoint] = [Object.keys(value)[0], Object.values(value)[0]];
15
+ return (mediaQueries += `
16
+ @media screen and (${mediaQueryType}: ${screenBreakpoint}px) {
17
+ ${cssProp}: ${cssPropBreakpoint}${cssPropUnits};
18
+ }
19
+ `);
20
+ }, '');
21
+
22
+ return css`
23
+ ${breakpointProps}
24
+ `;
25
+ };