norma-library 0.5.129 → 0.5.131

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 (161) 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/ProgressBar.js +1 -1
  9. package/dist/esm/components/ProgressBar.js.map +1 -1
  10. package/dist/esm/components/RadioGroup.js +1 -1
  11. package/dist/esm/components/RadioGroup.js.map +1 -1
  12. package/docs/index.md +118 -118
  13. package/package.json +136 -136
  14. package/src/components/Accordion.tsx +39 -39
  15. package/src/components/Avatar.tsx +17 -17
  16. package/src/components/Badge.tsx +14 -14
  17. package/src/components/Box/index.tsx +12 -12
  18. package/src/components/Box/interfaces.ts +3 -3
  19. package/src/components/Box/styles.tsx +22 -22
  20. package/src/components/Breadcrumb/index.tsx +27 -27
  21. package/src/components/Breadcrumb/interface.ts +8 -8
  22. package/src/components/Breadcrumb/styles.tsx +32 -32
  23. package/src/components/Button.tsx +26 -26
  24. package/src/components/Card.tsx +37 -37
  25. package/src/components/ChatMessage.tsx +87 -87
  26. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  27. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  28. package/src/components/CheckBox.tsx +21 -21
  29. package/src/components/DateInput/index.tsx +34 -34
  30. package/src/components/DateInput/interface.ts +13 -13
  31. package/src/components/DateInput/styles.tsx +27 -27
  32. package/src/components/DatePicker.tsx +67 -67
  33. package/src/components/DropDown.tsx +24 -24
  34. package/src/components/IconButton.tsx +37 -37
  35. package/src/components/Icons.tsx +82 -82
  36. package/src/components/Modal.tsx +113 -113
  37. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  38. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  39. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  40. package/src/components/MultiSelectInput/index.tsx +60 -60
  41. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  42. package/src/components/MultiSelectInput/styles.tsx +43 -43
  43. package/src/components/Paper.tsx +12 -12
  44. package/src/components/ProgressBar.tsx +50 -51
  45. package/src/components/RadioGroup.tsx +43 -43
  46. package/src/components/RangerSlider.tsx +65 -65
  47. package/src/components/Select.tsx +74 -74
  48. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  49. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  50. package/src/components/SelectInput/index.tsx +45 -45
  51. package/src/components/SelectInput/interfaces.ts +15 -15
  52. package/src/components/SelectInput/styles.tsx +31 -31
  53. package/src/components/Svgs.tsx +506 -506
  54. package/src/components/Table/components/header/index.tsx +86 -86
  55. package/src/components/Table/components/header/styles.tsx +59 -59
  56. package/src/components/Table/components/index.tsx +8 -8
  57. package/src/components/Table/components/pagination/index.tsx +39 -39
  58. package/src/components/Table/components/pagination/styles.tsx +28 -28
  59. package/src/components/Table/components/tbody/index.tsx +30 -30
  60. package/src/components/Table/components/tbody/styles.tsx +4 -4
  61. package/src/components/Table/index.tsx +317 -317
  62. package/src/components/Table/interface.ts +23 -23
  63. package/src/components/Table/styles.tsx +117 -117
  64. package/src/components/Tabs.tsx +105 -105
  65. package/src/components/Tag.tsx +33 -33
  66. package/src/components/TextField.tsx +19 -19
  67. package/src/components/TextInput/index.tsx +37 -37
  68. package/src/components/TextInput/interface.ts +9 -9
  69. package/src/components/TextInput/styles.tsx +23 -23
  70. package/src/components/TimeLine.tsx +89 -89
  71. package/src/components/TimePicker.tsx +78 -78
  72. package/src/components/Typography/Text/index.tsx +20 -20
  73. package/src/components/Typography/Text/interfaces.ts +5 -5
  74. package/src/components/Typography/Text/styles.tsx +40 -40
  75. package/src/components/Typography/Title/index.tsx +22 -22
  76. package/src/components/Typography/Title/interfaces.ts +6 -6
  77. package/src/components/Typography/Title/styles.tsx +40 -40
  78. package/src/components/Typography/index.tsx +6 -6
  79. package/src/components/UncontrolledTable/components/header/index.tsx +63 -63
  80. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -59
  81. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  82. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  83. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  84. package/src/components/UncontrolledTable/components/tbody/index.tsx +30 -30
  85. package/src/components/UncontrolledTable/components/tbody/styles.tsx +4 -4
  86. package/src/components/UncontrolledTable/index.tsx +226 -226
  87. package/src/components/UncontrolledTable/interface.ts +42 -42
  88. package/src/components/UncontrolledTable/styles.tsx +120 -120
  89. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +51 -51
  90. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
  91. package/src/components/index.ts +24 -24
  92. package/src/helpers/alignments.ts +14 -14
  93. package/src/helpers/borders.ts +18 -18
  94. package/src/helpers/colors.ts +206 -206
  95. package/src/helpers/index.ts +5 -5
  96. package/src/helpers/radios.ts +24 -24
  97. package/src/helpers/sizes.ts +72 -72
  98. package/src/index.ts +66 -66
  99. package/src/interfaces/Accordion.ts +12 -12
  100. package/src/interfaces/Avatar.tsx +15 -15
  101. package/src/interfaces/Badge.ts +19 -19
  102. package/src/interfaces/Button.ts +22 -22
  103. package/src/interfaces/Card.ts +11 -11
  104. package/src/interfaces/ChatMessage.ts +12 -12
  105. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  106. package/src/interfaces/CheckBox.ts +27 -27
  107. package/src/interfaces/DatePicker.ts +13 -13
  108. package/src/interfaces/DropDown.ts +14 -14
  109. package/src/interfaces/IconButton.ts +22 -22
  110. package/src/interfaces/Icons.ts +17 -17
  111. package/src/interfaces/Modal.ts +16 -16
  112. package/src/interfaces/Paper.ts +12 -12
  113. package/src/interfaces/ProgressBar.ts +19 -19
  114. package/src/interfaces/RadioGroup.ts +23 -23
  115. package/src/interfaces/RangerSlider.ts +21 -21
  116. package/src/interfaces/Select.ts +17 -17
  117. package/src/interfaces/Tabs.ts +19 -19
  118. package/src/interfaces/Tag.ts +17 -17
  119. package/src/interfaces/TextField.ts +44 -44
  120. package/src/interfaces/TimeLine.ts +11 -11
  121. package/src/interfaces/TimePicker.ts +13 -13
  122. package/src/interfaces/index.ts +23 -23
  123. package/src/providers/NormaProvider.tsx +13 -13
  124. package/src/sample-data-2.json +178 -178
  125. package/src/sample-data.json +177 -177
  126. package/src/stories/Accordion.stories.tsx +65 -65
  127. package/src/stories/Avatar.stories.tsx +123 -123
  128. package/src/stories/Badge.stories.tsx +39 -39
  129. package/src/stories/Box.stories.tsx +35 -35
  130. package/src/stories/Breadcrumb.stories.tsx +44 -44
  131. package/src/stories/Button.stories.tsx +93 -93
  132. package/src/stories/Card.stories.tsx +39 -39
  133. package/src/stories/ChatMessage.stories.tsx +84 -84
  134. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  135. package/src/stories/CheckBox.stories.tsx +88 -88
  136. package/src/stories/DateInput.stories.tsx +51 -51
  137. package/src/stories/DatePicker.stories.tsx +50 -50
  138. package/src/stories/DropDown.stories.tsx +57 -57
  139. package/src/stories/IconButton.stories.tsx +78 -78
  140. package/src/stories/Modal.stories.tsx +195 -195
  141. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  142. package/src/stories/Paper.stories.tsx +53 -53
  143. package/src/stories/ProgressBar.stories.tsx +95 -95
  144. package/src/stories/RadioGroup.stories.tsx +87 -87
  145. package/src/stories/RangerSlider.stories.tsx +58 -58
  146. package/src/stories/Select.stories.tsx +100 -100
  147. package/src/stories/SelectInput.stories.tsx +78 -78
  148. package/src/stories/Table.stories.tsx +372 -372
  149. package/src/stories/Tabs.stories.tsx +61 -61
  150. package/src/stories/Tag.stories.tsx +56 -56
  151. package/src/stories/Text.stories.tsx +37 -37
  152. package/src/stories/TextField.stories.tsx +310 -310
  153. package/src/stories/TextInput.stories.tsx +52 -52
  154. package/src/stories/TimeLine.stories.tsx +35 -35
  155. package/src/stories/TimePicker.stories.tsx +87 -87
  156. package/src/stories/Title.stories.tsx +43 -43
  157. package/src/stories/UncontrolledTable.stories.tsx +337 -337
  158. package/src/stories/UncontrolledTabs.stories.tsx +63 -63
  159. package/src/styles/globals.scss +17 -17
  160. package/src/types/index.ts +204 -204
  161. package/vite.config.ts +15 -15
@@ -1,63 +1,63 @@
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';
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';
@@ -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,204 +1,204 @@
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
- };
184
-
185
- export type DataSelect = {
186
- label: string;
187
- value: string | number;
188
- };
189
-
190
- export type DataTimeLine = {
191
- id?: string;
192
- title: string;
193
- data: string;
194
- by: string;
195
- };
196
-
197
- export type RenderProps<E extends HTMLElement = HTMLElement> = {
198
- focusRef?: React.MutableRefObject<E | null>;
199
- id?: string;
200
- };
201
-
202
- export type StyledProgressBarProps = {
203
- colorCustom?: string;
204
- };
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
+ };
184
+
185
+ export type DataSelect = {
186
+ label: string;
187
+ value: string | number;
188
+ };
189
+
190
+ export type DataTimeLine = {
191
+ id?: string;
192
+ title: string;
193
+ data: string;
194
+ by: string;
195
+ };
196
+
197
+ export type RenderProps<E extends HTMLElement = HTMLElement> = {
198
+ focusRef?: React.MutableRefObject<E | null>;
199
+ id?: string;
200
+ };
201
+
202
+ export type StyledProgressBarProps = {
203
+ colorCustom?: string;
204
+ };
package/vite.config.ts CHANGED
@@ -1,15 +1,15 @@
1
- import { defineConfig } from 'vite'
2
- import react from '@vitejs/plugin-react'
3
-
4
- // https://vitejs.dev/config/
5
- export default defineConfig({
6
- base: './',
7
- plugins: [react()],
8
- css: {
9
- preprocessorOptions: {
10
- scss: {
11
- additionalData: `@import "@/styles/global.scss";`
12
- },
13
- },
14
- },
15
- })
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ // https://vitejs.dev/config/
5
+ export default defineConfig({
6
+ base: './',
7
+ plugins: [react()],
8
+ css: {
9
+ preprocessorOptions: {
10
+ scss: {
11
+ additionalData: `@import "@/styles/global.scss";`
12
+ },
13
+ },
14
+ },
15
+ })