norma-library 0.5.147 → 0.5.148

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