@primer/components 0.0.0-202111885047 → 0.0.0-2021119104340

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.
@@ -1,202 +0,0 @@
1
- import { VariantType } from './types';
2
- import { Theme } from '../ThemeProvider';
3
- export declare const TEXT_ROW_HEIGHT = "20px";
4
- export declare const getVariantStyles: (variant?: VariantType, theme?: Theme | undefined) => {
5
- color: string;
6
- backgroundColor: string;
7
- boxShadow: string;
8
- '&:hover:not([disabled])': {
9
- backgroundColor: string;
10
- };
11
- '&:focus:not([disabled])': {
12
- boxShadow: string;
13
- };
14
- '&:active:not([disabled])': {
15
- backgroundColor: string;
16
- boxShadow: string;
17
- };
18
- '&:disabled': {
19
- color: string;
20
- backgroundColor: string;
21
- };
22
- } | {
23
- color: string;
24
- backgroundColor: string;
25
- borderColor: string;
26
- boxShadow: string;
27
- '&:hover:not([disabled])': {
28
- color: string;
29
- backgroundColor: string;
30
- };
31
- '&:focus:not([disabled])': {
32
- boxShadow: string;
33
- };
34
- '&:active:not([disabled])': {
35
- backgroundColor: string;
36
- boxShadow: string;
37
- };
38
- '&:disabled': {
39
- color: string;
40
- backgroundColor: string;
41
- };
42
- '[data-component="ButtonCounter"]': {
43
- backgroundColor: string;
44
- color: string;
45
- };
46
- } | {
47
- color: string;
48
- backgroundColor: string;
49
- boxShadow: string;
50
- '&:hover:not([disabled])': {
51
- color: string;
52
- backgroundColor: string;
53
- borderColor: string;
54
- boxShadow: string;
55
- '[data-component="ButtonCounter"]': {
56
- backgroundColor: string;
57
- color: string;
58
- };
59
- };
60
- '&:focus:not([disabled])': {
61
- borderColor: string;
62
- boxShadow: string;
63
- };
64
- '&:active:not([disabled])': {
65
- color: string;
66
- backgroundColor: string;
67
- boxShadow: string;
68
- borderColor: string;
69
- };
70
- '&:disabled': {
71
- color: string;
72
- backgroundColor: string;
73
- borderColor: string;
74
- '[data-component="ButtonCounter"]': {
75
- backgroundColor: string;
76
- };
77
- };
78
- '[data-component="ButtonCounter"]': {
79
- color: string;
80
- backgroundColor: string;
81
- };
82
- } | {
83
- color: string;
84
- backgroundColor: string;
85
- border: string;
86
- boxShadow: string;
87
- '&:hover:not([disabled])': {
88
- backgroundColor: string;
89
- };
90
- '&:focus:not([disabled])': {
91
- boxShadow: string;
92
- };
93
- '&:active:not([disabled])': {
94
- backgroundColor: string;
95
- };
96
- '&:disabled': {
97
- color: string;
98
- };
99
- } | {
100
- color: string;
101
- boxShadow: string;
102
- '&:hover': {
103
- color: string;
104
- backgroundColor: string;
105
- borderColor: string;
106
- boxShadow: string;
107
- '[data-component="ButtonCounter"]': {
108
- backgroundColor: string;
109
- color: string;
110
- };
111
- };
112
- '&:focus': {
113
- borderColor: string;
114
- boxShadow: string;
115
- };
116
- '&:active:not([disabled])': {
117
- color: string;
118
- backgroundColor: string;
119
- boxShadow: string;
120
- borderColor: string;
121
- };
122
- '&:disabled': {
123
- color: string;
124
- backgroundColor: string;
125
- borderColor: string;
126
- '[data-component="ButtonCounter"]': {
127
- backgroundColor: string;
128
- };
129
- };
130
- '[data-component="ButtonCounter"]': {
131
- backgroundColor: string;
132
- color: string;
133
- };
134
- };
135
- export declare const getSizeStyles: (size: string | undefined, variant: VariantType | undefined, iconOnly: boolean) => {
136
- paddingY: string;
137
- paddingX: string;
138
- fontSize: number;
139
- '[data-component="ButtonCounter"]': {
140
- fontSize: number;
141
- };
142
- };
143
- export declare const getBaseStyles: (theme?: Theme | undefined) => {
144
- borderRadius: string;
145
- border: string;
146
- borderColor: any;
147
- fontWeight: string;
148
- lineHeight: string;
149
- whiteSpace: string;
150
- verticalAlign: string;
151
- cursor: string;
152
- appearance: string;
153
- userSelect: string;
154
- textDecoration: string;
155
- textAlign: string;
156
- '&:focus': {
157
- outline: string;
158
- };
159
- '&:disabled': {
160
- cursor: string;
161
- };
162
- '&:disabled svg': {
163
- opacity: string;
164
- };
165
- };
166
- export declare const getButtonStyles: (theme?: Theme | undefined) => {
167
- display: string;
168
- gridTemplateAreas: string;
169
- '& > :not(:last-child)': {
170
- mr: string;
171
- };
172
- '[data-component="leadingIcon"]': {
173
- gridArea: string;
174
- };
175
- '[data-component="text"]': {
176
- gridArea: string;
177
- };
178
- '[data-component="trailingIcon"]': {
179
- gridArea: string;
180
- };
181
- borderRadius: string;
182
- border: string;
183
- borderColor: any;
184
- fontWeight: string;
185
- lineHeight: string;
186
- whiteSpace: string;
187
- verticalAlign: string;
188
- cursor: string;
189
- appearance: string;
190
- userSelect: string;
191
- textDecoration: string;
192
- textAlign: string;
193
- '&:focus': {
194
- outline: string;
195
- };
196
- '&:disabled': {
197
- cursor: string;
198
- };
199
- '&:disabled svg': {
200
- opacity: string;
201
- };
202
- };
@@ -1,229 +0,0 @@
1
- export const TEXT_ROW_HEIGHT = '20px'; // custom value off the scale
2
-
3
- export const getVariantStyles = (variant = 'default', theme) => {
4
- const style = {
5
- default: {
6
- color: 'btn.text',
7
- backgroundColor: 'btn.bg',
8
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.shadow}, ${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.insetShadow}`,
9
- '&:hover:not([disabled])': {
10
- backgroundColor: 'btn.hoverBg'
11
- },
12
- // focus must come before :active so that the active box shadow overrides
13
- '&:focus:not([disabled])': {
14
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.focusShadow}`
15
- },
16
- '&:active:not([disabled])': {
17
- backgroundColor: 'btn.selectedBg',
18
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.shadowActive}`
19
- },
20
- '&:disabled': {
21
- color: 'primer.fg.disabled',
22
- backgroundColor: 'btn.disabledBg'
23
- }
24
- },
25
- primary: {
26
- color: 'btn.primary.text',
27
- backgroundColor: 'btn.primary.bg',
28
- borderColor: 'border.subtle',
29
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.primary.shadow}`,
30
- '&:hover:not([disabled])': {
31
- color: 'btn.primary.hoverText',
32
- backgroundColor: 'btn.primary.hoverBg'
33
- },
34
- // focus must come before :active so that the active box shadow overrides
35
- '&:focus:not([disabled])': {
36
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.primary.focusShadow}`
37
- },
38
- '&:active:not([disabled])': {
39
- backgroundColor: 'btn.primary.selectedBg',
40
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.primary.selectedShadow}`
41
- },
42
- '&:disabled': {
43
- color: 'btn.primary.disabledText',
44
- backgroundColor: 'btn.primary.disabledBg'
45
- },
46
- '[data-component="ButtonCounter"]': {
47
- backgroundColor: 'btn.primary.counterBg',
48
- color: 'btn.primary.text'
49
- }
50
- },
51
- danger: {
52
- color: 'btn.danger.text',
53
- backgroundColor: 'btn.bg',
54
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.shadow}`,
55
- '&:hover:not([disabled])': {
56
- color: 'btn.danger.hoverText',
57
- backgroundColor: 'btn.danger.hoverBg',
58
- borderColor: 'btn.danger.hoverBorder',
59
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.danger.hoverShadow}`,
60
- '[data-component="ButtonCounter"]': {
61
- backgroundColor: 'btn.danger.hoverCounterBg',
62
- color: 'btn.danger.hoverText'
63
- }
64
- },
65
- // focus must come before :active so that the active box shadow overrides
66
- '&:focus:not([disabled])': {
67
- borderColor: 'btn.danger.focusBorder',
68
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.danger.focusShadow}`
69
- },
70
- '&:active:not([disabled])': {
71
- color: 'btn.danger.selectedText',
72
- backgroundColor: 'btn.danger.selectedBg',
73
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.danger.selectedShadow}`,
74
- borderColor: 'btn.danger.selectedBorder'
75
- },
76
- '&:disabled': {
77
- color: 'btn.danger.disabledText',
78
- backgroundColor: 'btn.danger.disabledBg',
79
- borderColor: 'btn.danger.disabledBorder',
80
- '[data-component="ButtonCounter"]': {
81
- backgroundColor: 'btn.danger.disabledCounterBg'
82
- }
83
- },
84
- '[data-component="ButtonCounter"]': {
85
- color: 'btn.danger.text',
86
- backgroundColor: 'btn.danger.counterBg'
87
- }
88
- },
89
- invisible: {
90
- color: 'accent.fg',
91
- backgroundColor: 'transparent',
92
- border: '0',
93
- boxShadow: 'none',
94
- '&:hover:not([disabled])': {
95
- backgroundColor: 'btn.hoverBg'
96
- },
97
- // focus must come before :active so that the active box shadow overrides
98
- '&:focus:not([disabled])': {
99
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.focusShadow}`
100
- },
101
- '&:active:not([disabled])': {
102
- backgroundColor: 'btn.selectedBg'
103
- },
104
- '&:disabled': {
105
- color: 'primer.fg.disabled'
106
- }
107
- },
108
- outline: {
109
- color: 'btn.outline.text',
110
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.shadow}`,
111
- '&:hover': {
112
- color: 'btn.outline.hoverText',
113
- backgroundColor: 'btn.outline.hoverBg',
114
- borderColor: 'outline.hoverBorder',
115
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.outline.hoverShadow}`,
116
- '[data-component="ButtonCounter"]': {
117
- backgroundColor: 'btn.outline.hoverCounterBg',
118
- color: 'btn.outline.hoverText'
119
- }
120
- },
121
- // focus must come before :active so that the active box shadow overrides
122
- '&:focus': {
123
- borderColor: 'btn.outline.focusBorder',
124
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.outline.focusShadow}`
125
- },
126
- '&:active:not([disabled])': {
127
- color: 'btn.outline.selectedText',
128
- backgroundColor: 'btn.outline.selectedBg',
129
- boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.outline.selectedShadow}`,
130
- borderColor: 'btn.outline.selectedBorder'
131
- },
132
- '&:disabled': {
133
- color: 'btn.outline.disabledText',
134
- backgroundColor: 'btn.outline.disabledBg',
135
- borderColor: 'btn.border',
136
- '[data-component="ButtonCounter"]': {
137
- backgroundColor: 'btn.outline.disabledCounterBg'
138
- }
139
- },
140
- '[data-component="ButtonCounter"]': {
141
- backgroundColor: 'btn.outline.counterBg',
142
- color: 'btn.outline.text'
143
- }
144
- }
145
- };
146
- return style[variant];
147
- };
148
- export const getSizeStyles = (size = 'medium', variant = 'default', iconOnly) => {
149
- let paddingY, paddingX, fontSize;
150
-
151
- switch (size) {
152
- case 'small':
153
- paddingY = 3;
154
- paddingX = 12;
155
- fontSize = 0;
156
- break;
157
-
158
- case 'large':
159
- paddingY = 9;
160
- paddingX = 20;
161
- fontSize = 2;
162
- break;
163
-
164
- case 'medium':
165
- default:
166
- paddingY = 5;
167
- paddingX = 16;
168
- fontSize = 1;
169
- }
170
-
171
- if (iconOnly) {
172
- paddingX = paddingY + 2;
173
- }
174
-
175
- if (variant === 'invisible') {
176
- paddingY = paddingY + 1;
177
- }
178
-
179
- return {
180
- paddingY: `${paddingY}px`,
181
- paddingX: `${paddingX}px`,
182
- fontSize,
183
- '[data-component="ButtonCounter"]': {
184
- fontSize
185
- }
186
- };
187
- };
188
- export const getBaseStyles = theme => ({
189
- borderRadius: '2',
190
- border: '1px solid',
191
- borderColor: theme === null || theme === void 0 ? void 0 : theme.colors.btn.border,
192
- fontWeight: 'bold',
193
- lineHeight: TEXT_ROW_HEIGHT,
194
- whiteSpace: 'nowrap',
195
- verticalAlign: 'middle',
196
- cursor: 'pointer',
197
- appearance: 'none',
198
- userSelect: 'none',
199
- textDecoration: 'none',
200
- textAlign: 'center',
201
- '&:focus': {
202
- outline: 'none'
203
- },
204
- '&:disabled': {
205
- cursor: 'default'
206
- },
207
- '&:disabled svg': {
208
- opacity: '0.6'
209
- }
210
- });
211
- export const getButtonStyles = theme => {
212
- const styles = { ...getBaseStyles(theme),
213
- display: 'grid',
214
- gridTemplateAreas: '"leadingIcon text trailingIcon"',
215
- '& > :not(:last-child)': {
216
- mr: '2'
217
- },
218
- '[data-component="leadingIcon"]': {
219
- gridArea: 'leadingIcon'
220
- },
221
- '[data-component="text"]': {
222
- gridArea: 'text'
223
- },
224
- '[data-component="trailingIcon"]': {
225
- gridArea: 'trailingIcon'
226
- }
227
- };
228
- return styles;
229
- };