File size: 9,020 Bytes
9697ede
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

[data-component="button-v2"] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 6px;
  font-style: normal;
  font-weight: 530;
  font-size: 13px;
  line-height: 20px;
  color: var(--v2-text-text-base);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.04px;
  user-select: none;
  cursor: pointer;
  outline: none;
}

[data-component="button-v2"]:focus {
  outline: none;
}

[data-component="button-v2"]:is(:focus-visible, [data-state="focus"]):not(:disabled):not([data-variant="loading"]) {
  outline: 2px solid var(--v2-border-border-focus);
  outline-offset: 2.5px;
}

[data-component="button-v2"][data-size="normal"] {
  height: 28px;
  padding: 0 11px;
}

[data-component="button-v2"][data-size="small"] {
  height: 24px;
  padding: 0 9px;
  border-radius: 4px;
}

[data-component="button-v2"][data-size="large"] {
  height: 32px;
  padding: 0 15px;
}

[data-component="button-v2"][data-icon][data-size="small"] {
  padding-left: 9px;
}

[data-component="button-v2"][data-icon][data-size="normal"] {
  padding-left: 11px;
}

[data-component="button-v2"][data-icon][data-size="large"] {
  padding-left: 15px;
}

[data-component="button-v2"] [data-slot="icon-svg"] {
  color: currentColor;
}

/* Neutral */
[data-component="button-v2"][data-variant="neutral"] {
  background-color: var(--v2-background-bg-button-neutral);
  color: var(--v2-text-text-base);
  box-shadow: var(--v2-elevation-button-neutral);
}

[data-component="button-v2"][data-variant="neutral"]:is(:hover, [data-state="hover"]):not(:disabled) {
  background-image:
    linear-gradient(90deg, var(--v2-overlay-simple-overlay-hover) 0%, var(--v2-overlay-simple-overlay-hover) 100%),
    linear-gradient(90deg, var(--v2-background-bg-button-neutral) 0%, var(--v2-background-bg-button-neutral) 100%);
}

[data-component="button-v2"][data-variant="neutral"]:is(:active, [data-state="pressed"]):not(:disabled) {
  background-image:
    linear-gradient(90deg, var(--v2-overlay-simple-overlay-pressed) 0%, var(--v2-overlay-simple-overlay-pressed) 100%),
    linear-gradient(90deg, var(--v2-background-bg-button-neutral) 0%, var(--v2-background-bg-button-neutral) 100%);
}

[data-component="button-v2"][data-variant="neutral"]:is(:disabled, [data-state="disabled"]) {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Danger */
[data-component="button-v2"][data-variant="danger"] {
  background-color: var(--v2-background-bg-button-neutral);
  color: var(--v2-state-fg-danger);
  box-shadow: var(--v2-elevation-button-neutral);
}

[data-component="button-v2"][data-variant="danger"]:is(:hover, [data-state="hover"]):not(:disabled) {
  background-image:
    linear-gradient(90deg, var(--v2-overlay-simple-overlay-hover) 0%, var(--v2-overlay-simple-overlay-hover) 100%),
    linear-gradient(90deg, var(--v2-background-bg-button-neutral) 0%, var(--v2-background-bg-button-neutral) 100%);
}

[data-component="button-v2"][data-variant="danger"]:is(:active, [data-state="pressed"]):not(:disabled) {
  background-image:
    linear-gradient(90deg, var(--v2-overlay-simple-overlay-pressed) 0%, var(--v2-overlay-simple-overlay-pressed) 100%),
    linear-gradient(90deg, var(--v2-background-bg-button-neutral) 0%, var(--v2-background-bg-button-neutral) 100%);
}

[data-component="button-v2"][data-variant="danger"]:is(:disabled, [data-state="disabled"]) {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-component="button-v2"][data-variant="warning"] {
  background-color: var(--v2-background-bg-button-neutral);
  color: var(--v2-state-fg-warning);
  box-shadow: var(--v2-elevation-button-neutral);
}

[data-component="button-v2"][data-variant="warning"]:is(:hover, [data-state="hover"]):not(:disabled) {
  background-image:
    linear-gradient(90deg, var(--v2-overlay-simple-overlay-hover) 0%, var(--v2-overlay-simple-overlay-hover) 100%),
    linear-gradient(90deg, var(--v2-background-bg-button-neutral) 0%, var(--v2-background-bg-button-neutral) 100%);
}

[data-component="button-v2"][data-variant="warning"]:is(:active, [data-state="pressed"]):not(:disabled) {
  background-image:
    linear-gradient(90deg, var(--v2-overlay-simple-overlay-pressed) 0%, var(--v2-overlay-simple-overlay-pressed) 100%),
    linear-gradient(90deg, var(--v2-background-bg-button-neutral) 0%, var(--v2-background-bg-button-neutral) 100%);
}

[data-component="button-v2"][data-variant="warning"]:is(:disabled, [data-state="disabled"]) {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Outline */
[data-component="button-v2"][data-variant="outline"] {
  background-color: transparent;
  color: var(--v2-text-text-base);
  box-shadow: inset 0 0 0 1px var(--v2-border-border-muted);
}

[data-component="button-v2"][data-variant="outline"]:is(:hover, [data-state="hover"]):not(:disabled) {
  background-color: var(--v2-overlay-simple-overlay-hover);
}

[data-component="button-v2"][data-variant="outline"]:is(:active, [data-state="pressed"]):not(:disabled) {
  background-color: var(--v2-overlay-simple-overlay-pressed);
}

[data-component="button-v2"][data-variant="outline"]:is(:disabled, [data-state="disabled"]) {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Contrast */
[data-component="button-v2"][data-variant="contrast"] {
  background-image:
    linear-gradient(180deg, var(--v2-alpha-light-20) 0%, var(--v2-alpha-light-0) 100%),
    linear-gradient(90deg, var(--v2-background-bg-contrast) 0%, var(--v2-background-bg-contrast) 100%);
  color: var(--v2-text-text-contrast);
  text-shadow: 0 0.5px 0.5px rgba(0, 0, 0, 0.3);
  box-shadow: var(--v2-elevation-button-contrast);
}

[data-component="button-v2"][data-variant="contrast"]:is(:hover, [data-state="hover"]):not(:disabled) {
  background-image:
    linear-gradient(
      90deg,
      var(--v2-overlay-simple-overlay-contrast-hover) 0%,
      var(--v2-overlay-simple-overlay-contrast-hover) 100%
    ),
    linear-gradient(180deg, var(--v2-alpha-light-20) 0%, var(--v2-alpha-light-0) 100%),
    linear-gradient(90deg, var(--v2-background-bg-contrast) 0%, var(--v2-background-bg-contrast) 100%);
}

[data-component="button-v2"][data-variant="contrast"]:is(:active, [data-state="pressed"]):not(:disabled) {
  background-image:
    linear-gradient(
      90deg,
      var(--v2-overlay-simple-overlay-contrast-pressed) 0%,
      var(--v2-overlay-simple-overlay-contrast-pressed) 100%
    ),
    linear-gradient(180deg, var(--v2-alpha-light-20) 0%, var(--v2-alpha-light-0) 100%),
    linear-gradient(90deg, var(--v2-background-bg-contrast) 0%, var(--v2-background-bg-contrast) 100%);
}

[data-component="button-v2"][data-variant="contrast"]:is(:disabled, [data-state="disabled"]) {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Loading */
[data-component="button-v2"][data-variant="loading"] {
  background: var(--v2-background-bg-layer-02);
  color: var(--v2-text-text-base);
  box-shadow: inset 0 0 0 0.5px var(--v2-border-border-muted);
  cursor: default;
  pointer-events: none;
}

/* Ghost */
[data-component="button-v2"][data-variant="ghost"] {
  background-color: transparent;
  color: var(--v2-text-text-base);
}

[data-component="button-v2"][data-variant="ghost"]:is(:hover, [data-state="hover"]):not(:disabled):not(
    [data-expanded]
  ) {
  background-color: var(--v2-overlay-simple-overlay-hover);
}

[data-component="button-v2"][data-variant="ghost"]:is(:active, [data-state="pressed"]):not(:disabled) {
  background-color: var(--v2-overlay-simple-overlay-pressed);
}

[data-component="button-v2"][data-variant="ghost"]:where([data-expanded]):not(:disabled) {
  background-color: var(--v2-overlay-simple-overlay-pressed);
}

[data-component="button-v2"][data-variant="ghost"]:is(:disabled, [data-state="disabled"]) {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Ghost muted */
[data-component="button-v2"][data-variant="ghost-muted"] {
  background-color: transparent;
  color: var(--v2-text-text-muted);
}

[data-component="button-v2"][data-variant="ghost-muted"] [data-slot="icon-svg"] {
  color: var(--v2-icon-icon-muted);
}

[data-component="button-v2"][data-variant="ghost-muted"]:is(:hover, [data-state="hover"]):not(:disabled):not(
    [data-expanded]
  ) {
  background-color: var(--v2-overlay-simple-overlay-hover);
}

[data-component="button-v2"][data-variant="ghost-muted"]:is(:active, [data-state="pressed"]):not(:disabled) {
  background-color: var(--v2-overlay-simple-overlay-pressed);
}

[data-component="button-v2"][data-variant="ghost-muted"]:where([data-expanded]):not(:disabled) {
  background-color: var(--v2-overlay-simple-overlay-pressed);
  color: var(--v2-text-text-base);
}

[data-component="button-v2"][data-variant="ghost-muted"]:where([data-expanded]):not(:disabled) [data-slot="icon-svg"] {
  color: var(--v2-icon-icon-base);
}

[data-component="button-v2"][data-variant="ghost-muted"]:is(:disabled, [data-state="disabled"]) {
  opacity: 0.5;
  cursor: not-allowed;
}