/
iconButtonClasses.ts
63 lines (58 loc) · 2.02 KB
/
iconButtonClasses.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
import { generateUtilityClass, generateUtilityClasses } from '../className';
export interface IconButtonClasses {
/** 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 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;
}
export type IconButtonClassKey = keyof IconButtonClasses;
export function getIconButtonUtilityClass(slot: string): string {
return generateUtilityClass('JoyIconButton', slot);
}
const iconButtonClasses: IconButtonClasses = generateUtilityClasses('JoyIconButton', [
'root',
'colorPrimary',
'colorNeutral',
'colorDanger',
'colorInfo',
'colorSuccess',
'colorWarning',
'variantPlain',
'variantOutlined',
'variantSoft',
'variantSolid',
'focusVisible',
'disabled',
'sizeSm',
'sizeMd',
'sizeLg',
]);
export default iconButtonClasses;