@zimyo/ui 1.1.1 → 1.1.2
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.
- package/README.md +15 -0
- package/dist/Accordion/index.esm.js +2 -6
- package/dist/Accordion/index.js +2 -6
- package/dist/Select/index.d.ts +22 -0
- package/dist/Select/index.esm.js +63 -0
- package/dist/Select/index.js +68 -0
- package/dist/Switch/index.d.ts +14 -0
- package/dist/Switch/index.esm.js +9 -0
- package/dist/Switch/index.js +11 -0
- package/dist/Tabs/index.d.ts +36 -0
- package/dist/Tabs/index.esm.js +202 -0
- package/dist/Tabs/index.js +207 -0
- package/dist/TextInput/index.d.ts +18 -0
- package/dist/TextInput/index.esm.js +34 -0
- package/dist/TextInput/index.js +36 -0
- package/dist/index.d.ts +185 -0
- package/dist/index.esm.js +253 -0
- package/dist/index.js +261 -0
- package/dist/theme/index.d.ts +91 -0
- package/dist/theme/index.esm.js +137 -0
- package/dist/theme/index.js +142 -0
- package/package.json +29 -7
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var material = require('@mui/material');
|
|
7
|
+
|
|
8
|
+
// Custom Tab Component
|
|
9
|
+
const CustomTab = React.forwardRef(({ badge, sx, label, ...props }, ref) => {
|
|
10
|
+
const theme = material.useTheme();
|
|
11
|
+
const tabLabel = badge ? React.createElement(material.Box, { sx: { display: 'flex', alignItems: 'center', gap: 1 } }, label, React.createElement(material.Box, {
|
|
12
|
+
component: 'span',
|
|
13
|
+
sx: {
|
|
14
|
+
backgroundColor: theme.palette.error.main,
|
|
15
|
+
color: theme.palette.error.contrastText,
|
|
16
|
+
borderRadius: '10px',
|
|
17
|
+
padding: '2px 6px',
|
|
18
|
+
fontSize: '0.75rem',
|
|
19
|
+
fontWeight: 600,
|
|
20
|
+
minWidth: '18px',
|
|
21
|
+
height: '18px',
|
|
22
|
+
display: 'flex',
|
|
23
|
+
alignItems: 'center',
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
lineHeight: 1,
|
|
26
|
+
}
|
|
27
|
+
}, badge)) : label;
|
|
28
|
+
return React.createElement(material.Tab, {
|
|
29
|
+
ref,
|
|
30
|
+
sx: {
|
|
31
|
+
position: 'relative',
|
|
32
|
+
...sx,
|
|
33
|
+
},
|
|
34
|
+
label: tabLabel,
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
CustomTab.displayName = 'CustomTab';
|
|
39
|
+
// Main Tabs Component
|
|
40
|
+
const Tabs = React.forwardRef(({ items, value, onChange, variant = 'standard', orientation = 'horizontal', styleVariant = 'default', size = 'medium', centered = false, allowScrollButtonsMobile = false, scrollButtons = 'auto', sx = {}, tabSx = {}, iconPosition = 'start', indicatorColor = 'primary', textColor = 'primary', ...props }, ref) => {
|
|
41
|
+
const theme = material.useTheme();
|
|
42
|
+
// Get size-based styling
|
|
43
|
+
const getSizeStyles = () => {
|
|
44
|
+
switch (size) {
|
|
45
|
+
case 'small':
|
|
46
|
+
return {
|
|
47
|
+
minHeight: 36,
|
|
48
|
+
fontSize: '0.875rem',
|
|
49
|
+
padding: '6px 12px',
|
|
50
|
+
};
|
|
51
|
+
case 'large':
|
|
52
|
+
return {
|
|
53
|
+
minHeight: 56,
|
|
54
|
+
fontSize: '1rem',
|
|
55
|
+
padding: '12px 24px',
|
|
56
|
+
};
|
|
57
|
+
default:
|
|
58
|
+
return {
|
|
59
|
+
minHeight: 48,
|
|
60
|
+
fontSize: '0.9375rem',
|
|
61
|
+
padding: '8px 16px',
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
// Get style variant specific styling
|
|
66
|
+
const getStyleVariantStyles = () => {
|
|
67
|
+
const baseStyles = getSizeStyles();
|
|
68
|
+
switch (styleVariant) {
|
|
69
|
+
case 'filled':
|
|
70
|
+
return {
|
|
71
|
+
'& .MuiTab-root': {
|
|
72
|
+
...baseStyles,
|
|
73
|
+
backgroundColor: material.alpha(theme.palette.action.hover, 0.08),
|
|
74
|
+
borderRadius: theme.shape.borderRadius,
|
|
75
|
+
margin: '0 4px',
|
|
76
|
+
border: 'none',
|
|
77
|
+
'&.Mui-selected': {
|
|
78
|
+
backgroundColor: theme.palette.primary.main,
|
|
79
|
+
color: theme.palette.primary.contrastText,
|
|
80
|
+
},
|
|
81
|
+
'&:hover': {
|
|
82
|
+
backgroundColor: material.alpha(theme.palette.action.hover, 0.12),
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
'& .MuiTabs-indicator': {
|
|
86
|
+
display: 'none',
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
case 'outlined':
|
|
90
|
+
return {
|
|
91
|
+
'& .MuiTab-root': {
|
|
92
|
+
...baseStyles,
|
|
93
|
+
border: `1px solid ${material.alpha(theme.palette.divider, 0.5)}`,
|
|
94
|
+
borderRadius: theme.shape.borderRadius,
|
|
95
|
+
margin: '0 2px',
|
|
96
|
+
'&.Mui-selected': {
|
|
97
|
+
borderColor: theme.palette.primary.main,
|
|
98
|
+
backgroundColor: material.alpha(theme.palette.primary.main, 0.08),
|
|
99
|
+
color: theme.palette.primary.main,
|
|
100
|
+
},
|
|
101
|
+
'&:hover': {
|
|
102
|
+
borderColor: material.alpha(theme.palette.primary.main, 0.5),
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
'& .MuiTabs-indicator': {
|
|
106
|
+
display: 'none',
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
case 'pills':
|
|
110
|
+
return {
|
|
111
|
+
'& .MuiTab-root': {
|
|
112
|
+
...baseStyles,
|
|
113
|
+
borderRadius: 25,
|
|
114
|
+
margin: '0 4px',
|
|
115
|
+
backgroundColor: 'transparent',
|
|
116
|
+
border: `1px solid transparent`,
|
|
117
|
+
'&.Mui-selected': {
|
|
118
|
+
backgroundColor: theme.palette.primary.main,
|
|
119
|
+
color: theme.palette.primary.contrastText,
|
|
120
|
+
},
|
|
121
|
+
'&:hover': {
|
|
122
|
+
backgroundColor: material.alpha(theme.palette.action.hover, 0.08),
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
'& .MuiTabs-indicator': {
|
|
126
|
+
display: 'none',
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
case 'underlined':
|
|
130
|
+
return {
|
|
131
|
+
'& .MuiTab-root': {
|
|
132
|
+
...baseStyles,
|
|
133
|
+
borderBottom: `2px solid transparent`,
|
|
134
|
+
'&.Mui-selected': {
|
|
135
|
+
borderBottomColor: theme.palette.primary.main,
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
'& .MuiTabs-indicator': {
|
|
139
|
+
display: 'none',
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
default:
|
|
143
|
+
return {
|
|
144
|
+
'& .MuiTab-root': {
|
|
145
|
+
...baseStyles,
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
return React.createElement(material.Box, { ref }, React.createElement(material.Tabs, {
|
|
151
|
+
value,
|
|
152
|
+
onChange,
|
|
153
|
+
variant,
|
|
154
|
+
orientation,
|
|
155
|
+
centered,
|
|
156
|
+
allowScrollButtonsMobile,
|
|
157
|
+
scrollButtons,
|
|
158
|
+
indicatorColor,
|
|
159
|
+
textColor,
|
|
160
|
+
sx: {
|
|
161
|
+
...getStyleVariantStyles(),
|
|
162
|
+
'& .MuiTab-root': {
|
|
163
|
+
textTransform: 'none',
|
|
164
|
+
fontWeight: 500,
|
|
165
|
+
letterSpacing: '0.5px',
|
|
166
|
+
transition: 'all 0.2s ease-in-out',
|
|
167
|
+
...getStyleVariantStyles()['& .MuiTab-root'],
|
|
168
|
+
...tabSx,
|
|
169
|
+
},
|
|
170
|
+
...sx,
|
|
171
|
+
},
|
|
172
|
+
...props,
|
|
173
|
+
}, ...items.map((item) => {
|
|
174
|
+
// Create the label content based on icon position
|
|
175
|
+
let labelContent;
|
|
176
|
+
if (item.icon) {
|
|
177
|
+
switch (iconPosition) {
|
|
178
|
+
case 'end':
|
|
179
|
+
labelContent = React.createElement(material.Box, { sx: { display: 'flex', alignItems: 'center', gap: 1, flexDirection: 'row-reverse' } }, item.icon, item.label);
|
|
180
|
+
break;
|
|
181
|
+
case 'top':
|
|
182
|
+
labelContent = React.createElement(material.Box, { sx: { display: 'flex', alignItems: 'center', gap: 0.5, flexDirection: 'column' } }, item.icon, item.label);
|
|
183
|
+
break;
|
|
184
|
+
case 'bottom':
|
|
185
|
+
labelContent = React.createElement(material.Box, { sx: { display: 'flex', alignItems: 'center', gap: 0.5, flexDirection: 'column-reverse' } }, item.icon, item.label);
|
|
186
|
+
break;
|
|
187
|
+
default: // 'start'
|
|
188
|
+
labelContent = React.createElement(material.Box, { sx: { display: 'flex', alignItems: 'center', gap: 1 } }, item.icon, item.label);
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
labelContent = item.label;
|
|
194
|
+
}
|
|
195
|
+
return React.createElement(CustomTab, {
|
|
196
|
+
key: item.value,
|
|
197
|
+
value: item.value,
|
|
198
|
+
disabled: item.disabled,
|
|
199
|
+
badge: item.badge,
|
|
200
|
+
label: labelContent,
|
|
201
|
+
});
|
|
202
|
+
})));
|
|
203
|
+
});
|
|
204
|
+
Tabs.displayName = 'Tabs';
|
|
205
|
+
|
|
206
|
+
exports.Tabs = Tabs;
|
|
207
|
+
exports.default = Tabs;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TextFieldProps } from '@mui/material';
|
|
3
|
+
|
|
4
|
+
interface TextInputProps extends Omit<TextFieldProps, 'variant'> {
|
|
5
|
+
label?: string;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
IS_MANDATORY?: boolean | number | string;
|
|
8
|
+
startIcon?: React.ReactNode;
|
|
9
|
+
endIcon?: React.ReactNode;
|
|
10
|
+
error?: boolean;
|
|
11
|
+
variant?: 'outlined' | 'filled' | 'standard';
|
|
12
|
+
helperText?: string;
|
|
13
|
+
type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'search';
|
|
14
|
+
}
|
|
15
|
+
declare const TextInput: React.ForwardRefExoticComponent<Omit<TextInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
16
|
+
|
|
17
|
+
export { TextInput as default };
|
|
18
|
+
export type { TextInputProps };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { TextField, InputAdornment } from '@mui/material';
|
|
4
|
+
|
|
5
|
+
const TextInput = React.forwardRef(({ label = '', placeholder, IS_MANDATORY = false,
|
|
6
|
+
// multiline = false,
|
|
7
|
+
startIcon, endIcon, error = false, helperText, type = 'text', variant = 'outlined', ...rest }, ref) => {
|
|
8
|
+
return (jsx(TextField, { fullWidth: true, inputRef: ref, type: type,
|
|
9
|
+
// multiline={multiline}
|
|
10
|
+
label: label, placeholder: placeholder, required: (IS_MANDATORY == 1 || IS_MANDATORY == true) ? true : false, error: error, InputLabelProps: !label ? { shrink: false } : undefined, sx: {
|
|
11
|
+
'& .MuiInputLabel-outlined': {
|
|
12
|
+
top: '-4px',
|
|
13
|
+
fontSize: '13px',
|
|
14
|
+
fontWeight: 500,
|
|
15
|
+
},
|
|
16
|
+
'& .MuiOutlinedInput-root': {
|
|
17
|
+
minHeight: '44px',
|
|
18
|
+
borderRadius: '10px',
|
|
19
|
+
},
|
|
20
|
+
'& input': {
|
|
21
|
+
padding: '10.5px 14px',
|
|
22
|
+
},
|
|
23
|
+
'& input::placeholder': {
|
|
24
|
+
fontSize: '13px',
|
|
25
|
+
opacity: 0.5,
|
|
26
|
+
},
|
|
27
|
+
}, helperText: helperText, InputProps: {
|
|
28
|
+
startAdornment: startIcon ? (jsx(InputAdornment, { position: "start", children: startIcon })) : undefined,
|
|
29
|
+
endAdornment: endIcon ? (jsx(InputAdornment, { position: "end", children: endIcon })) : undefined,
|
|
30
|
+
}, variant: variant, ...rest }));
|
|
31
|
+
});
|
|
32
|
+
TextInput.displayName = 'TextInput';
|
|
33
|
+
|
|
34
|
+
export { TextInput as default };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var material = require('@mui/material');
|
|
6
|
+
|
|
7
|
+
const TextInput = React.forwardRef(({ label = '', placeholder, IS_MANDATORY = false,
|
|
8
|
+
// multiline = false,
|
|
9
|
+
startIcon, endIcon, error = false, helperText, type = 'text', variant = 'outlined', ...rest }, ref) => {
|
|
10
|
+
return (jsxRuntime.jsx(material.TextField, { fullWidth: true, inputRef: ref, type: type,
|
|
11
|
+
// multiline={multiline}
|
|
12
|
+
label: label, placeholder: placeholder, required: (IS_MANDATORY == 1 || IS_MANDATORY == true) ? true : false, error: error, InputLabelProps: !label ? { shrink: false } : undefined, sx: {
|
|
13
|
+
'& .MuiInputLabel-outlined': {
|
|
14
|
+
top: '-4px',
|
|
15
|
+
fontSize: '13px',
|
|
16
|
+
fontWeight: 500,
|
|
17
|
+
},
|
|
18
|
+
'& .MuiOutlinedInput-root': {
|
|
19
|
+
minHeight: '44px',
|
|
20
|
+
borderRadius: '10px',
|
|
21
|
+
},
|
|
22
|
+
'& input': {
|
|
23
|
+
padding: '10.5px 14px',
|
|
24
|
+
},
|
|
25
|
+
'& input::placeholder': {
|
|
26
|
+
fontSize: '13px',
|
|
27
|
+
opacity: 0.5,
|
|
28
|
+
},
|
|
29
|
+
}, helperText: helperText, InputProps: {
|
|
30
|
+
startAdornment: startIcon ? (jsxRuntime.jsx(material.InputAdornment, { position: "start", children: startIcon })) : undefined,
|
|
31
|
+
endAdornment: endIcon ? (jsxRuntime.jsx(material.InputAdornment, { position: "end", children: endIcon })) : undefined,
|
|
32
|
+
}, variant: variant, ...rest }));
|
|
33
|
+
});
|
|
34
|
+
TextInput.displayName = 'TextInput';
|
|
35
|
+
|
|
36
|
+
module.exports = TextInput;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { ButtonProps as ButtonProps$1, CardProps, TypographyProps, SxProps as SxProps$1 } from '@mui/material';
|
|
4
|
+
import { SxProps } from '@mui/system';
|
|
5
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
|
+
import { Theme } from '@mui/material/styles';
|
|
7
|
+
|
|
8
|
+
interface ButtonProps extends Omit<ButtonProps$1, 'sx'> {
|
|
9
|
+
loading?: boolean;
|
|
10
|
+
loadingText?: string;
|
|
11
|
+
sx?: SxProps;
|
|
12
|
+
loaderSize?: number;
|
|
13
|
+
loaderPosition?: 'start' | 'end' | 'center';
|
|
14
|
+
}
|
|
15
|
+
declare const Button: React__default.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
|
|
17
|
+
interface CardRootProps extends CardProps {
|
|
18
|
+
sx?: SxProps;
|
|
19
|
+
variant?: 'elevated' | 'outlined' | 'bordered';
|
|
20
|
+
children: React__default.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare const Card: React$1.FC<CardRootProps> & {
|
|
24
|
+
Header: ({ title, subtitle, action, }: {
|
|
25
|
+
title?: string | React.ReactNode;
|
|
26
|
+
subtitle?: string | React.ReactNode;
|
|
27
|
+
action?: React.ReactNode;
|
|
28
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
29
|
+
Content: ({ children, sx }: {
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
sx?: any;
|
|
32
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
33
|
+
Body: ({ children, sx }: {
|
|
34
|
+
children: React.ReactNode;
|
|
35
|
+
sx?: any;
|
|
36
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
37
|
+
Actions: ({ children, sx }: {
|
|
38
|
+
children: React.ReactNode;
|
|
39
|
+
sx?: any;
|
|
40
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
41
|
+
Image: ({ src, height, alt }: {
|
|
42
|
+
src: string;
|
|
43
|
+
height?: number | string;
|
|
44
|
+
alt?: string;
|
|
45
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
46
|
+
Skeleton: ({ lines }: {
|
|
47
|
+
lines?: number;
|
|
48
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
interface HeadingProps extends TypographyProps {
|
|
52
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
53
|
+
}
|
|
54
|
+
declare const Heading: ({ level, ...props }: HeadingProps) => react_jsx_runtime.JSX.Element;
|
|
55
|
+
|
|
56
|
+
interface TextProps extends TypographyProps {
|
|
57
|
+
size?: 'sm' | 'md' | 'lg';
|
|
58
|
+
}
|
|
59
|
+
declare const Text: ({ size, ...props }: TextProps) => react_jsx_runtime.JSX.Element;
|
|
60
|
+
|
|
61
|
+
declare const Lead: (props: TypographyProps) => react_jsx_runtime.JSX.Element;
|
|
62
|
+
|
|
63
|
+
declare const Muted: (props: TypographyProps) => react_jsx_runtime.JSX.Element;
|
|
64
|
+
|
|
65
|
+
declare const Strong: (props: TypographyProps) => react_jsx_runtime.JSX.Element;
|
|
66
|
+
|
|
67
|
+
declare const Caption: (props: TypographyProps) => react_jsx_runtime.JSX.Element;
|
|
68
|
+
|
|
69
|
+
declare const Blockquote: (props: TypographyProps) => react_jsx_runtime.JSX.Element;
|
|
70
|
+
|
|
71
|
+
interface CodeProps {
|
|
72
|
+
children: React.ReactNode;
|
|
73
|
+
sx?: SxProps$1;
|
|
74
|
+
}
|
|
75
|
+
declare const Code: ({ children, sx }: CodeProps) => react_jsx_runtime.JSX.Element;
|
|
76
|
+
|
|
77
|
+
declare const index_Blockquote: typeof Blockquote;
|
|
78
|
+
declare const index_Caption: typeof Caption;
|
|
79
|
+
declare const index_Code: typeof Code;
|
|
80
|
+
declare const index_Heading: typeof Heading;
|
|
81
|
+
declare const index_Lead: typeof Lead;
|
|
82
|
+
declare const index_Muted: typeof Muted;
|
|
83
|
+
declare const index_Strong: typeof Strong;
|
|
84
|
+
declare const index_Text: typeof Text;
|
|
85
|
+
declare namespace index {
|
|
86
|
+
export {
|
|
87
|
+
index_Blockquote as Blockquote,
|
|
88
|
+
index_Caption as Caption,
|
|
89
|
+
index_Code as Code,
|
|
90
|
+
index_Heading as Heading,
|
|
91
|
+
index_Lead as Lead,
|
|
92
|
+
index_Muted as Muted,
|
|
93
|
+
index_Strong as Strong,
|
|
94
|
+
index_Text as Text,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
interface UILibraryThemeProviderProps {
|
|
99
|
+
children: React__default.ReactNode;
|
|
100
|
+
primaryColor?: string;
|
|
101
|
+
secondaryColor?: string;
|
|
102
|
+
enableCssBaseline?: boolean;
|
|
103
|
+
}
|
|
104
|
+
declare const UILibraryThemeProvider: React__default.FC<UILibraryThemeProviderProps>;
|
|
105
|
+
|
|
106
|
+
declare module '@mui/material/styles' {
|
|
107
|
+
interface Theme {
|
|
108
|
+
radius: {
|
|
109
|
+
xs: string;
|
|
110
|
+
sm: string;
|
|
111
|
+
md: string;
|
|
112
|
+
lg: string;
|
|
113
|
+
xl: string;
|
|
114
|
+
full: string;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
interface ThemeOptions {
|
|
118
|
+
radius?: {
|
|
119
|
+
xs?: string;
|
|
120
|
+
sm?: string;
|
|
121
|
+
md?: string;
|
|
122
|
+
lg?: string;
|
|
123
|
+
xl?: string;
|
|
124
|
+
full?: string;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
interface ThemeConfig {
|
|
129
|
+
primaryColor?: string;
|
|
130
|
+
secondaryColor?: string;
|
|
131
|
+
}
|
|
132
|
+
declare const createCustomTheme: (config?: ThemeConfig) => Theme;
|
|
133
|
+
declare const theme: Theme;
|
|
134
|
+
|
|
135
|
+
declare const designTokens: {
|
|
136
|
+
colors: {
|
|
137
|
+
primary: {
|
|
138
|
+
50: string;
|
|
139
|
+
100: string;
|
|
140
|
+
500: string;
|
|
141
|
+
900: string;
|
|
142
|
+
};
|
|
143
|
+
secondary: {
|
|
144
|
+
50: string;
|
|
145
|
+
100: string;
|
|
146
|
+
500: string;
|
|
147
|
+
900: string;
|
|
148
|
+
};
|
|
149
|
+
neutral: {
|
|
150
|
+
50: string;
|
|
151
|
+
100: string;
|
|
152
|
+
200: string;
|
|
153
|
+
500: string;
|
|
154
|
+
900: string;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
spacing: {
|
|
158
|
+
xs: string;
|
|
159
|
+
sm: string;
|
|
160
|
+
md: string;
|
|
161
|
+
lg: string;
|
|
162
|
+
xl: string;
|
|
163
|
+
};
|
|
164
|
+
radius: {
|
|
165
|
+
xs: string;
|
|
166
|
+
sm: string;
|
|
167
|
+
md: string;
|
|
168
|
+
lg: string;
|
|
169
|
+
xl: string;
|
|
170
|
+
full: string;
|
|
171
|
+
};
|
|
172
|
+
typography: {
|
|
173
|
+
fontFamily: string;
|
|
174
|
+
fontSize: {
|
|
175
|
+
xs: string;
|
|
176
|
+
sm: string;
|
|
177
|
+
md: string;
|
|
178
|
+
lg: string;
|
|
179
|
+
xl: string;
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
export { Button, Card, index as Typography, UILibraryThemeProvider, createCustomTheme, designTokens, theme };
|
|
185
|
+
export type { ButtonProps, ThemeConfig, UILibraryThemeProviderProps };
|