forked from mui/material-ui
/
buttonClasses.ts
72 lines (67 loc) · 2.29 KB
/
buttonClasses.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import { generateUtilityClass, generateUtilityClasses } from '../className';
export interface ButtonClasses {
/** Styles applied to the root element. */
root: string;
/** Styles applied to the root element if `color="primary"`. */
colorPrimary: string;
/** Styles applied to the root element if `color="neutral"`. */
colorNeutral: string;
/** Styles applied to the root element if `color="danger"`. */
colorDanger: string;
/** Styles applied to the root element if `color="info"`. */
colorInfo: string;
/** Styles applied to the root element if `color="success"`. */
colorSuccess: string;
/** Styles applied to the root element if `color="warning"`. */
colorWarning: string;
/** Styles applied to the root element if `variant="plain"`. */
variantPlain: string;
/** Styles applied to the root element if `variant="outlined"`. */
variantOutlined: string;
/** Styles applied to the root element if `variant="soft"`. */
variantSoft: string;
/** Styles applied to the root element if `variant="solid"`. */
variantSolid: string;
/** State class applied to the ButtonBase root element if the button is keyboard focused. */
focusVisible: string;
/** State class applied to the root element if `disabled={true}`. */
disabled: string;
/** Styles applied to the root element if `size="sm"`. */
sizeSm: string;
/** Styles applied to the root element if `size="md"`. */
sizeMd: string;
/** Styles applied to the root element if `size="lg"`. */
sizeLg: string;
/** Styles applied to the root element if `fullWidth={true}`. */
fullWidth: string;
/** Styles applied to the startIcon element if supplied. */
startIcon: string;
/** Styles applied to the endIcon element if supplied. */
endIcon: string;
}
export type ButtonClassKey = keyof ButtonClasses;
export function getButtonUtilityClass(slot: string): string {
return generateUtilityClass('JoyButton', slot);
}
const buttonClasses: ButtonClasses = generateUtilityClasses('JoyButton', [
'root',
'colorPrimary',
'colorNeutral',
'colorDanger',
'colorInfo',
'colorSuccess',
'colorWarning',
'variantPlain',
'variantOutlined',
'variantSoft',
'variantSolid',
'focusVisible',
'disabled',
'sizeSm',
'sizeMd',
'sizeLg',
'fullWidth',
'startIcon',
'endIcon',
]);
export default buttonClasses;