norma-library 0.6.3 → 0.6.4

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 (169) 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/components/header/index.js +3 -1
  9. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -1
  10. package/dist/esm/components/UncontrolledTable/components/header/styles.js +1 -1
  11. package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -1
  12. package/dist/esm/components/UncontrolledTable/index.js +1 -1
  13. package/dist/esm/components/UncontrolledTable/index.js.map +1 -1
  14. package/dist/esm/components/UncontrolledTable/interface.d.ts +2 -0
  15. package/docs/index.md +118 -118
  16. package/package.json +136 -136
  17. package/src/components/Accordion.tsx +39 -39
  18. package/src/components/Avatar.tsx +17 -17
  19. package/src/components/Badge.tsx +14 -14
  20. package/src/components/Box/index.tsx +12 -12
  21. package/src/components/Box/interfaces.ts +3 -3
  22. package/src/components/Box/styles.tsx +22 -22
  23. package/src/components/Breadcrumb/index.tsx +27 -27
  24. package/src/components/Breadcrumb/interface.ts +8 -8
  25. package/src/components/Breadcrumb/styles.tsx +32 -32
  26. package/src/components/Button.tsx +26 -26
  27. package/src/components/Card.tsx +37 -37
  28. package/src/components/ChatMessage.tsx +87 -87
  29. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  30. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  31. package/src/components/CheckBox.tsx +21 -21
  32. package/src/components/DateInput/index.tsx +34 -34
  33. package/src/components/DateInput/interface.ts +13 -13
  34. package/src/components/DateInput/styles.tsx +27 -27
  35. package/src/components/DatePicker.tsx +67 -67
  36. package/src/components/DropDown.tsx +24 -24
  37. package/src/components/IconButton.tsx +37 -37
  38. package/src/components/Icons.tsx +82 -82
  39. package/src/components/Modal.tsx +103 -103
  40. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  41. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  42. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  43. package/src/components/MultiSelectInput/index.tsx +60 -60
  44. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  45. package/src/components/MultiSelectInput/styles.tsx +43 -43
  46. package/src/components/Paper.tsx +12 -12
  47. package/src/components/ProgressBar.tsx +71 -71
  48. package/src/components/RadioGroup.tsx +43 -43
  49. package/src/components/RangerSlider.tsx +65 -65
  50. package/src/components/Select.tsx +74 -74
  51. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  52. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  53. package/src/components/SelectInput/index.tsx +45 -45
  54. package/src/components/SelectInput/interfaces.ts +15 -15
  55. package/src/components/SelectInput/styles.tsx +31 -31
  56. package/src/components/StatusModal/StatusModal.style.tsx +75 -75
  57. package/src/components/StatusModal/StatusModal.tsx +58 -58
  58. package/src/components/Svgs.tsx +506 -506
  59. package/src/components/Table/components/header/index.tsx +86 -86
  60. package/src/components/Table/components/header/styles.tsx +59 -59
  61. package/src/components/Table/components/index.tsx +8 -8
  62. package/src/components/Table/components/pagination/index.tsx +39 -39
  63. package/src/components/Table/components/pagination/styles.tsx +28 -28
  64. package/src/components/Table/components/tbody/index.tsx +30 -30
  65. package/src/components/Table/components/tbody/styles.tsx +4 -4
  66. package/src/components/Table/index.tsx +317 -317
  67. package/src/components/Table/interface.ts +23 -23
  68. package/src/components/Table/styles.tsx +117 -117
  69. package/src/components/Tabs.tsx +105 -105
  70. package/src/components/Tag.tsx +33 -33
  71. package/src/components/TextField.tsx +19 -19
  72. package/src/components/TextInput/index.tsx +37 -37
  73. package/src/components/TextInput/interface.ts +9 -9
  74. package/src/components/TextInput/styles.tsx +23 -23
  75. package/src/components/TimeLine.tsx +89 -89
  76. package/src/components/TimePicker.tsx +78 -78
  77. package/src/components/Typography/Text/index.tsx +20 -20
  78. package/src/components/Typography/Text/interfaces.ts +5 -5
  79. package/src/components/Typography/Text/styles.tsx +40 -40
  80. package/src/components/Typography/Title/index.tsx +22 -22
  81. package/src/components/Typography/Title/interfaces.ts +6 -6
  82. package/src/components/Typography/Title/styles.tsx +40 -40
  83. package/src/components/Typography/index.tsx +6 -6
  84. package/src/components/UncontrolledTable/components/header/index.tsx +72 -65
  85. package/src/components/UncontrolledTable/components/header/styles.tsx +65 -63
  86. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  87. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  88. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  89. package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
  90. package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
  91. package/src/components/UncontrolledTable/index.tsx +222 -221
  92. package/src/components/UncontrolledTable/interface.ts +44 -43
  93. package/src/components/UncontrolledTable/styles.tsx +123 -123
  94. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +56 -56
  95. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
  96. package/src/components/index.ts +24 -24
  97. package/src/helpers/alignments.ts +14 -14
  98. package/src/helpers/borders.ts +18 -18
  99. package/src/helpers/colors.ts +258 -258
  100. package/src/helpers/index.ts +5 -5
  101. package/src/helpers/radios.ts +24 -24
  102. package/src/helpers/sizes.ts +72 -72
  103. package/src/hooks/useClickOutside.tsx +18 -18
  104. package/src/index.ts +70 -70
  105. package/src/interfaces/Accordion.ts +12 -12
  106. package/src/interfaces/Avatar.tsx +15 -15
  107. package/src/interfaces/Badge.ts +19 -19
  108. package/src/interfaces/Button.ts +22 -22
  109. package/src/interfaces/Card.ts +11 -11
  110. package/src/interfaces/ChatMessage.ts +12 -12
  111. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  112. package/src/interfaces/CheckBox.ts +27 -27
  113. package/src/interfaces/DatePicker.ts +13 -13
  114. package/src/interfaces/DropDown.ts +14 -14
  115. package/src/interfaces/IconButton.ts +22 -22
  116. package/src/interfaces/Icons.ts +17 -17
  117. package/src/interfaces/Modal.ts +18 -18
  118. package/src/interfaces/Paper.ts +12 -12
  119. package/src/interfaces/ProgressBar.ts +29 -29
  120. package/src/interfaces/RadioGroup.ts +23 -23
  121. package/src/interfaces/RangerSlider.ts +21 -21
  122. package/src/interfaces/Select.ts +17 -17
  123. package/src/interfaces/Tabs.ts +19 -19
  124. package/src/interfaces/Tag.ts +17 -17
  125. package/src/interfaces/TextField.ts +44 -44
  126. package/src/interfaces/TimeLine.ts +11 -11
  127. package/src/interfaces/TimePicker.ts +13 -13
  128. package/src/interfaces/index.ts +23 -23
  129. package/src/providers/NormaProvider.tsx +13 -13
  130. package/src/sample-data-2.json +178 -178
  131. package/src/sample-data.json +177 -177
  132. package/src/stories/Accordion.stories.tsx +65 -65
  133. package/src/stories/Avatar.stories.tsx +123 -123
  134. package/src/stories/Badge.stories.tsx +39 -39
  135. package/src/stories/Box.stories.tsx +35 -35
  136. package/src/stories/Breadcrumb.stories.tsx +44 -44
  137. package/src/stories/Button.stories.tsx +93 -93
  138. package/src/stories/Card.stories.tsx +39 -39
  139. package/src/stories/ChatMessage.stories.tsx +84 -84
  140. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  141. package/src/stories/CheckBox.stories.tsx +88 -88
  142. package/src/stories/DateInput.stories.tsx +51 -51
  143. package/src/stories/DatePicker.stories.tsx +50 -50
  144. package/src/stories/DropDown.stories.tsx +57 -57
  145. package/src/stories/IconButton.stories.tsx +78 -78
  146. package/src/stories/Modal.stories.tsx +246 -246
  147. package/src/stories/ModalStatus.stories.tsx +46 -46
  148. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  149. package/src/stories/Paper.stories.tsx +53 -53
  150. package/src/stories/ProgressBar.stories.tsx +116 -116
  151. package/src/stories/RadioGroup.stories.tsx +87 -87
  152. package/src/stories/RangerSlider.stories.tsx +149 -149
  153. package/src/stories/Select.stories.tsx +100 -100
  154. package/src/stories/SelectInput.stories.tsx +78 -78
  155. package/src/stories/Table.stories.tsx +372 -372
  156. package/src/stories/Tabs.stories.tsx +61 -61
  157. package/src/stories/Tag.stories.tsx +56 -56
  158. package/src/stories/Text.stories.tsx +37 -37
  159. package/src/stories/TextField.stories.tsx +310 -310
  160. package/src/stories/TextInput.stories.tsx +52 -52
  161. package/src/stories/TimeLine.stories.tsx +35 -35
  162. package/src/stories/TimePicker.stories.tsx +87 -87
  163. package/src/stories/Title.stories.tsx +43 -43
  164. package/src/stories/UncontrolledTable.stories.tsx +315 -305
  165. package/src/stories/UncontrolledTabs.stories.tsx +63 -63
  166. package/src/styles/globals.scss +17 -17
  167. package/src/types/index.ts +207 -207
  168. package/src/utils/styledBreakpoints.ts +25 -25
  169. 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,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
+ };
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
+ })