@cyberpunk-vue/theme-chalk 1.14.0 → 1.14.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.
Files changed (47) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.css.map +1 -1
  3. package/package.json +1 -1
  4. package/src/common/var.scss +247 -247
  5. package/src/components/avatar-group.scss +113 -113
  6. package/src/components/avatar.scss +123 -123
  7. package/src/components/badge.scss +210 -210
  8. package/src/components/breadcrumb.scss +203 -203
  9. package/src/components/button.scss +975 -975
  10. package/src/components/card.scss +699 -696
  11. package/src/components/checkbox-group.scss +22 -22
  12. package/src/components/checkbox.scss +320 -320
  13. package/src/components/col.scss +43 -43
  14. package/src/components/dialog.scss +360 -360
  15. package/src/components/divider.scss +250 -250
  16. package/src/components/empty.scss +99 -99
  17. package/src/components/form-item.scss +189 -189
  18. package/src/components/form.scss +59 -59
  19. package/src/components/icon.scss +83 -83
  20. package/src/components/image-preview.scss +147 -147
  21. package/src/components/image.scss +351 -351
  22. package/src/components/input-number.scss +129 -129
  23. package/src/components/input.scss +362 -362
  24. package/src/components/loading.scss +64 -64
  25. package/src/components/notification.scss +348 -348
  26. package/src/components/pagination.scss +287 -280
  27. package/src/components/pattern-background.scss +18 -18
  28. package/src/components/popover.scss +438 -438
  29. package/src/components/progress.scss +438 -438
  30. package/src/components/radio-group.scss +22 -22
  31. package/src/components/radio.scss +286 -286
  32. package/src/components/row.scss +12 -12
  33. package/src/components/scrollbar.scss +40 -40
  34. package/src/components/segmented.scss +566 -566
  35. package/src/components/select.scss +15 -1
  36. package/src/components/slider.scss +421 -421
  37. package/src/components/status-indicator.scss +206 -206
  38. package/src/components/switch.scss +405 -405
  39. package/src/components/table.scss +474 -474
  40. package/src/components/tag.scss +416 -416
  41. package/src/components/text.scss +310 -271
  42. package/src/components/textarea.scss +106 -104
  43. package/src/components/timeline.scss +379 -379
  44. package/src/components/tree.scss +397 -397
  45. package/src/components/upload.scss +509 -509
  46. package/src/index.scss +60 -60
  47. package/src/mixins/mixins.scss +156 -156
@@ -1,362 +1,362 @@
1
- // CpInput 组件样式
2
- // 赛博朋克/机甲风格
3
-
4
- @use '../common/var' as *;
5
- @use '../mixins/mixins' as *;
6
-
7
- @include b(input) {
8
- // 基础样式
9
- position: relative;
10
- display: inline-flex;
11
- align-items: center;
12
- width: 100%;
13
- padding: 0 var(--cp-spacing-md);
14
- background: transparent;
15
- border: 1px solid var(--cp-input-inactive-border-color, var(--cp-border));
16
- color: var(--cp-input-text-color, var(--cp-text-primary));
17
- font-family: var(--cp-font-family-ui);
18
- transition: all 0.2s ease;
19
-
20
- // 机甲风切角 (Top-Left, Bottom-Right)
21
- clip-path: polygon(8px 0,
22
- 100% 0,
23
- 100% calc(100% - 8px),
24
- calc(100% - 8px) 100%,
25
- 0 100%,
26
- 0 8px);
27
-
28
- // 装饰性小方块 (右上角)
29
- &::after {
30
- content: '';
31
- position: absolute;
32
- top: 0;
33
- right: 0;
34
- width: 6px;
35
- height: 6px;
36
- background: var(--cp-input-inactive-border-color, var(--cp-border));
37
- opacity: 0.6;
38
- z-index: 2;
39
- transition: all 0.2s ease;
40
- }
41
-
42
- // ===== 尺寸 =====
43
- @include m(sm) {
44
- height: var(--cp-size-sm);
45
- font-size: var(--cp-font-size-sm);
46
- padding: 0 var(--cp-spacing-sm);
47
- clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
48
-
49
- &::after {
50
- width: 5px;
51
- height: 5px;
52
- }
53
- }
54
-
55
- @include m(md) {
56
- height: var(--cp-size-md);
57
- font-size: var(--cp-font-size-md);
58
- }
59
-
60
- @include m(lg) {
61
- height: var(--cp-size-lg);
62
- font-size: var(--cp-font-size-lg);
63
- padding: 0 var(--cp-spacing-lg);
64
- clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
65
-
66
- &::after {
67
- width: 8px;
68
- height: 8px;
69
- }
70
- }
71
-
72
- // ===== Outline 变体 (默认) =====
73
- @include m(outline) {
74
- background: transparent;
75
- border-color: var(--cp-input-inactive-border-color, var(--cp-border));
76
-
77
- &::after {
78
- background: var(--cp-input-inactive-border-color, var(--cp-border));
79
- }
80
-
81
- &:hover:not(.is-disabled):not(.is-readonly) {
82
- border-color: var(--cp-color-primary);
83
-
84
- &::after {
85
- background: var(--cp-color-primary);
86
- opacity: 0.8;
87
- }
88
- }
89
-
90
- &.is-focused {
91
- border-color: var(--cp-color-primary);
92
- box-shadow: 0 0 10px var(--cp-color-primary-light), inset 0 0 5px var(--cp-color-primary-light);
93
-
94
- &::after {
95
- background: var(--cp-color-primary);
96
- opacity: 1;
97
- box-shadow: 0 0 5px var(--cp-color-primary);
98
- }
99
- }
100
- }
101
-
102
- // ===== Filled 变体 =====
103
- @include m(filled) {
104
- background: var(--cp-bg-elevated);
105
- border-color: var(--cp-input-inactive-border-color, var(--cp-border));
106
-
107
- &::after {
108
- background: var(--cp-input-inactive-border-color, var(--cp-border));
109
- }
110
-
111
- &:hover:not(.is-disabled):not(.is-readonly) {
112
- border-color: var(--cp-color-primary);
113
- background: color-mix(in srgb, var(--cp-color-primary) 5%, transparent);
114
-
115
- &::after {
116
- background: var(--cp-color-primary);
117
- opacity: 0.8;
118
- }
119
- }
120
-
121
- &.is-focused {
122
- border-color: var(--cp-color-primary);
123
- background: color-mix(in srgb, var(--cp-color-primary) 8%, transparent);
124
- box-shadow: 0 0 10px var(--cp-color-primary-light);
125
-
126
- &::after {
127
- background: var(--cp-color-primary);
128
- opacity: 1;
129
- }
130
- }
131
- }
132
-
133
- // ===== Ghost 变体 =====
134
- @include m(ghost) {
135
- background: transparent;
136
- border-color: transparent;
137
- border-bottom-color: var(--cp-input-inactive-border-color, var(--cp-border));
138
- clip-path: none;
139
- border-radius: 0;
140
-
141
- &::after {
142
- display: none;
143
- }
144
-
145
- &:hover:not(.is-disabled):not(.is-readonly) {
146
- border-bottom-color: var(--cp-color-primary);
147
- }
148
-
149
- &.is-focused {
150
- border-bottom-color: var(--cp-color-primary);
151
- box-shadow: 0 2px 0 0 var(--cp-color-primary);
152
- }
153
- }
154
-
155
- // ===== 形状模式 =====
156
- // no-clip (直角)
157
- @include m(shape-no-clip) {
158
- clip-path: none;
159
- border-radius: 0;
160
-
161
- &::after {
162
- display: none;
163
- }
164
- }
165
-
166
- // round (圆角)
167
- @include m(shape-round) {
168
- clip-path: none;
169
- border-radius: var(--cp-radius-lg);
170
-
171
- &::after {
172
- display: none;
173
- }
174
- }
175
-
176
- // ===== 状态 =====
177
- @include when(disabled) {
178
- cursor: not-allowed;
179
- opacity: 0.5;
180
- filter: grayscale(0.5);
181
-
182
- .cp-input__inner {
183
- cursor: not-allowed;
184
- }
185
- }
186
-
187
- @include when(readonly) {
188
- .cp-input__inner {
189
- cursor: default;
190
- }
191
- }
192
-
193
- // ===== 自定义颜色 =====
194
- @include when(custom-color) {
195
- &:hover:not(.is-disabled):not(.is-readonly) {
196
- border-color: var(--cp-input-custom-color);
197
-
198
- &::after {
199
- background: var(--cp-input-custom-color);
200
- }
201
- }
202
-
203
- &.is-focused {
204
- border-color: var(--cp-input-custom-color);
205
- box-shadow: 0 0 10px var(--cp-input-custom-color-light), inset 0 0 5px var(--cp-input-custom-color-light);
206
-
207
- &::after {
208
- background: var(--cp-input-custom-color);
209
- box-shadow: 0 0 5px var(--cp-input-custom-color);
210
- }
211
- }
212
-
213
- // Ghost 变体 - 确保只有底部边框显示颜色
214
- &.cp-input--ghost {
215
- // 基础状态:保持顶部/左右边框透明
216
- border-color: transparent;
217
- border-bottom-color: var(--cp-input-inactive-border-color, var(--cp-border));
218
-
219
- &:hover:not(.is-disabled):not(.is-readonly) {
220
- border-color: transparent;
221
- border-bottom-color: var(--cp-input-custom-color);
222
- }
223
-
224
- &.is-focused {
225
- border-color: transparent;
226
- border-bottom-color: var(--cp-input-custom-color);
227
- box-shadow: 0 2px 0 0 var(--cp-input-custom-color);
228
- }
229
- }
230
- }
231
-
232
- // ===== 内部元素 =====
233
- @include e(inner) {
234
- flex: 1;
235
- width: 100%;
236
- height: 100%;
237
- padding: 0;
238
- background: transparent;
239
- border: none;
240
- outline: none;
241
- color: inherit;
242
- font-family: inherit;
243
- font-size: inherit;
244
- transition: opacity var(--cp-input-clear-duration, 150ms) ease, transform var(--cp-input-clear-duration, 150ms) ease, letter-spacing var(--cp-input-clear-duration, 150ms) ease;
245
-
246
- &::placeholder {
247
- color: var(--cp-input-placeholder-color, var(--cp-text-muted));
248
- }
249
-
250
- // 覆盖浏览器自动填充样式
251
- &:-webkit-autofill,
252
- &:-webkit-autofill:hover,
253
- &:-webkit-autofill:focus,
254
- &:-webkit-autofill:active {
255
- -webkit-text-fill-color: var(--cp-input-text-color, var(--cp-text-primary)) !important;
256
- -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
257
- box-shadow: 0 0 0 1000px transparent inset !important;
258
- background-color: transparent !important;
259
- background-clip: text !important;
260
- -webkit-background-clip: text !important;
261
- transition: background-color 5000s ease-in-out 0s;
262
- caret-color: var(--cp-input-text-color, var(--cp-text-primary));
263
- }
264
-
265
- // 移除 number 类型的箭头
266
- &[type="number"] {
267
- -moz-appearance: textfield;
268
- appearance: textfield;
269
-
270
- &::-webkit-outer-spin-button,
271
- &::-webkit-inner-spin-button {
272
- -webkit-appearance: none;
273
- appearance: none;
274
- margin: 0;
275
- }
276
- }
277
- }
278
-
279
- // 清除动画状态
280
- @include when(clearing) {
281
- .cp-input__inner {
282
- opacity: 0;
283
- transform: scaleX(0.8);
284
- letter-spacing: -0.5em;
285
- transform-origin: left center;
286
- }
287
- }
288
-
289
- @include e(prefix) {
290
- display: inline-flex;
291
- align-items: center;
292
- margin-right: var(--cp-spacing-sm);
293
- color: var(--cp-text-secondary);
294
- font-size: 1.1em;
295
-
296
- .cp-icon {
297
- --cp-icon-size: 1em;
298
- }
299
- }
300
-
301
- @include e(suffix) {
302
- display: inline-flex;
303
- align-items: center;
304
- margin-left: var(--cp-spacing-sm);
305
- color: var(--cp-text-secondary);
306
- font-size: 1.1em;
307
-
308
- .cp-icon {
309
- --cp-icon-size: 1em;
310
- }
311
- }
312
-
313
- @include e(clear) {
314
- display: inline-flex;
315
- align-items: center;
316
- margin-left: var(--cp-spacing-xs);
317
- color: var(--cp-text-muted);
318
- font-size: 1em;
319
- cursor: pointer;
320
- transition: color 0.2s ease;
321
-
322
- &:hover {
323
- color: var(--cp-text-secondary);
324
- }
325
-
326
- svg {
327
- width: 1em;
328
- height: 1em;
329
- }
330
- }
331
-
332
- @include e(password) {
333
- display: inline-flex;
334
- align-items: center;
335
- margin-left: var(--cp-spacing-xs);
336
- color: var(--cp-text-muted);
337
- font-size: 1em;
338
- cursor: pointer;
339
- transition: color 0.2s ease;
340
-
341
- &:hover {
342
- color: var(--cp-color-primary);
343
- }
344
-
345
- svg {
346
- width: 1.1em;
347
- height: 1.1em;
348
- }
349
- }
350
-
351
- @include e(count) {
352
- display: inline-flex;
353
- align-items: center;
354
- margin-left: var(--cp-spacing-sm);
355
- padding-left: var(--cp-spacing-sm);
356
- border-left: 1px solid var(--cp-border);
357
- color: var(--cp-text-muted);
358
- font-size: var(--cp-font-size-sm);
359
- white-space: nowrap;
360
- font-family: var(--cp-font-family-mono);
361
- }
362
- }
1
+ // CpInput 组件样式
2
+ // 赛博朋克/机甲风格
3
+
4
+ @use '../common/var' as *;
5
+ @use '../mixins/mixins' as *;
6
+
7
+ @include b(input) {
8
+ // 基础样式
9
+ position: relative;
10
+ display: inline-flex;
11
+ align-items: center;
12
+ width: 100%;
13
+ padding: 0 var(--cp-spacing-md);
14
+ background: transparent;
15
+ border: 1px solid var(--cp-input-inactive-border-color, var(--cp-border));
16
+ color: var(--cp-input-text-color, var(--cp-text-primary));
17
+ font-family: var(--cp-font-family-ui);
18
+ transition: all 0.2s ease;
19
+
20
+ // 机甲风切角 (Top-Left, Bottom-Right)
21
+ clip-path: polygon(8px 0,
22
+ 100% 0,
23
+ 100% calc(100% - 8px),
24
+ calc(100% - 8px) 100%,
25
+ 0 100%,
26
+ 0 8px);
27
+
28
+ // 装饰性小方块 (右上角)
29
+ &::after {
30
+ content: '';
31
+ position: absolute;
32
+ top: 0;
33
+ right: 0;
34
+ width: 6px;
35
+ height: 6px;
36
+ background: var(--cp-input-inactive-border-color, var(--cp-border));
37
+ opacity: 0.6;
38
+ z-index: 2;
39
+ transition: all 0.2s ease;
40
+ }
41
+
42
+ // ===== 尺寸 =====
43
+ @include m(sm) {
44
+ height: var(--cp-size-sm);
45
+ font-size: var(--cp-font-size-sm);
46
+ padding: 0 var(--cp-spacing-sm);
47
+ clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
48
+
49
+ &::after {
50
+ width: 5px;
51
+ height: 5px;
52
+ }
53
+ }
54
+
55
+ @include m(md) {
56
+ height: var(--cp-size-md);
57
+ font-size: var(--cp-font-size-md);
58
+ }
59
+
60
+ @include m(lg) {
61
+ height: var(--cp-size-lg);
62
+ font-size: var(--cp-font-size-lg);
63
+ padding: 0 var(--cp-spacing-lg);
64
+ clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
65
+
66
+ &::after {
67
+ width: 8px;
68
+ height: 8px;
69
+ }
70
+ }
71
+
72
+ // ===== Outline 变体 (默认) =====
73
+ @include m(outline) {
74
+ background: transparent;
75
+ border-color: var(--cp-input-inactive-border-color, var(--cp-border));
76
+
77
+ &::after {
78
+ background: var(--cp-input-inactive-border-color, var(--cp-border));
79
+ }
80
+
81
+ &:hover:not(.is-disabled):not(.is-readonly) {
82
+ border-color: var(--cp-color-primary);
83
+
84
+ &::after {
85
+ background: var(--cp-color-primary);
86
+ opacity: 0.8;
87
+ }
88
+ }
89
+
90
+ &.is-focused {
91
+ border-color: var(--cp-color-primary);
92
+ box-shadow: 0 0 10px var(--cp-color-primary-light), inset 0 0 5px var(--cp-color-primary-light);
93
+
94
+ &::after {
95
+ background: var(--cp-color-primary);
96
+ opacity: 1;
97
+ box-shadow: 0 0 5px var(--cp-color-primary);
98
+ }
99
+ }
100
+ }
101
+
102
+ // ===== Filled 变体 =====
103
+ @include m(filled) {
104
+ background: var(--cp-bg-elevated);
105
+ border-color: var(--cp-input-inactive-border-color, var(--cp-border));
106
+
107
+ &::after {
108
+ background: var(--cp-input-inactive-border-color, var(--cp-border));
109
+ }
110
+
111
+ &:hover:not(.is-disabled):not(.is-readonly) {
112
+ border-color: var(--cp-color-primary);
113
+ background: color-mix(in srgb, var(--cp-color-primary) 5%, transparent);
114
+
115
+ &::after {
116
+ background: var(--cp-color-primary);
117
+ opacity: 0.8;
118
+ }
119
+ }
120
+
121
+ &.is-focused {
122
+ border-color: var(--cp-color-primary);
123
+ background: color-mix(in srgb, var(--cp-color-primary) 8%, transparent);
124
+ box-shadow: 0 0 10px var(--cp-color-primary-light);
125
+
126
+ &::after {
127
+ background: var(--cp-color-primary);
128
+ opacity: 1;
129
+ }
130
+ }
131
+ }
132
+
133
+ // ===== Ghost 变体 =====
134
+ @include m(ghost) {
135
+ background: transparent;
136
+ border-color: transparent;
137
+ border-bottom-color: var(--cp-input-inactive-border-color, var(--cp-border));
138
+ clip-path: none;
139
+ border-radius: 0;
140
+
141
+ &::after {
142
+ display: none;
143
+ }
144
+
145
+ &:hover:not(.is-disabled):not(.is-readonly) {
146
+ border-bottom-color: var(--cp-color-primary);
147
+ }
148
+
149
+ &.is-focused {
150
+ border-bottom-color: var(--cp-color-primary);
151
+ box-shadow: 0 2px 0 0 var(--cp-color-primary);
152
+ }
153
+ }
154
+
155
+ // ===== 形状模式 =====
156
+ // no-clip (直角)
157
+ @include m(shape-no-clip) {
158
+ clip-path: none;
159
+ border-radius: 0;
160
+
161
+ &::after {
162
+ display: none;
163
+ }
164
+ }
165
+
166
+ // round (圆角)
167
+ @include m(shape-round) {
168
+ clip-path: none;
169
+ border-radius: var(--cp-radius-lg);
170
+
171
+ &::after {
172
+ display: none;
173
+ }
174
+ }
175
+
176
+ // ===== 状态 =====
177
+ @include when(disabled) {
178
+ cursor: not-allowed;
179
+ opacity: 0.5;
180
+ filter: grayscale(0.5);
181
+
182
+ .cp-input__inner {
183
+ cursor: not-allowed;
184
+ }
185
+ }
186
+
187
+ @include when(readonly) {
188
+ .cp-input__inner {
189
+ cursor: default;
190
+ }
191
+ }
192
+
193
+ // ===== 自定义颜色 =====
194
+ @include when(custom-color) {
195
+ &:hover:not(.is-disabled):not(.is-readonly) {
196
+ border-color: var(--cp-input-custom-color);
197
+
198
+ &::after {
199
+ background: var(--cp-input-custom-color);
200
+ }
201
+ }
202
+
203
+ &.is-focused {
204
+ border-color: var(--cp-input-custom-color);
205
+ box-shadow: 0 0 10px var(--cp-input-custom-color-light), inset 0 0 5px var(--cp-input-custom-color-light);
206
+
207
+ &::after {
208
+ background: var(--cp-input-custom-color);
209
+ box-shadow: 0 0 5px var(--cp-input-custom-color);
210
+ }
211
+ }
212
+
213
+ // Ghost 变体 - 确保只有底部边框显示颜色
214
+ &.cp-input--ghost {
215
+ // 基础状态:保持顶部/左右边框透明
216
+ border-color: transparent;
217
+ border-bottom-color: var(--cp-input-inactive-border-color, var(--cp-border));
218
+
219
+ &:hover:not(.is-disabled):not(.is-readonly) {
220
+ border-color: transparent;
221
+ border-bottom-color: var(--cp-input-custom-color);
222
+ }
223
+
224
+ &.is-focused {
225
+ border-color: transparent;
226
+ border-bottom-color: var(--cp-input-custom-color);
227
+ box-shadow: 0 2px 0 0 var(--cp-input-custom-color);
228
+ }
229
+ }
230
+ }
231
+
232
+ // ===== 内部元素 =====
233
+ @include e(inner) {
234
+ flex: 1;
235
+ width: 100%;
236
+ height: 100%;
237
+ padding: 0;
238
+ background: transparent;
239
+ border: none;
240
+ outline: none;
241
+ color: inherit;
242
+ font-family: inherit;
243
+ font-size: inherit;
244
+ transition: opacity var(--cp-input-clear-duration, 150ms) ease, transform var(--cp-input-clear-duration, 150ms) ease, letter-spacing var(--cp-input-clear-duration, 150ms) ease;
245
+
246
+ &::placeholder {
247
+ color: var(--cp-input-placeholder-color, var(--cp-text-muted));
248
+ }
249
+
250
+ // 覆盖浏览器自动填充样式
251
+ &:-webkit-autofill,
252
+ &:-webkit-autofill:hover,
253
+ &:-webkit-autofill:focus,
254
+ &:-webkit-autofill:active {
255
+ -webkit-text-fill-color: var(--cp-input-text-color, var(--cp-text-primary)) !important;
256
+ -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
257
+ box-shadow: 0 0 0 1000px transparent inset !important;
258
+ background-color: transparent !important;
259
+ background-clip: text !important;
260
+ -webkit-background-clip: text !important;
261
+ transition: background-color 5000s ease-in-out 0s;
262
+ caret-color: var(--cp-input-text-color, var(--cp-text-primary));
263
+ }
264
+
265
+ // 移除 number 类型的箭头
266
+ &[type="number"] {
267
+ -moz-appearance: textfield;
268
+ appearance: textfield;
269
+
270
+ &::-webkit-outer-spin-button,
271
+ &::-webkit-inner-spin-button {
272
+ -webkit-appearance: none;
273
+ appearance: none;
274
+ margin: 0;
275
+ }
276
+ }
277
+ }
278
+
279
+ // 清除动画状态
280
+ @include when(clearing) {
281
+ .cp-input__inner {
282
+ opacity: 0;
283
+ transform: scaleX(0.8);
284
+ letter-spacing: -0.5em;
285
+ transform-origin: left center;
286
+ }
287
+ }
288
+
289
+ @include e(prefix) {
290
+ display: inline-flex;
291
+ align-items: center;
292
+ margin-right: var(--cp-spacing-sm);
293
+ color: var(--cp-text-secondary);
294
+ font-size: 1.1em;
295
+
296
+ .cp-icon {
297
+ --cp-icon-size: 1em;
298
+ }
299
+ }
300
+
301
+ @include e(suffix) {
302
+ display: inline-flex;
303
+ align-items: center;
304
+ margin-left: var(--cp-spacing-sm);
305
+ color: var(--cp-text-secondary);
306
+ font-size: 1.1em;
307
+
308
+ .cp-icon {
309
+ --cp-icon-size: 1em;
310
+ }
311
+ }
312
+
313
+ @include e(clear) {
314
+ display: inline-flex;
315
+ align-items: center;
316
+ margin-left: var(--cp-spacing-xs);
317
+ color: var(--cp-text-muted);
318
+ font-size: 1em;
319
+ cursor: pointer;
320
+ transition: color 0.2s ease;
321
+
322
+ &:hover {
323
+ color: var(--cp-text-secondary);
324
+ }
325
+
326
+ svg {
327
+ width: 1em;
328
+ height: 1em;
329
+ }
330
+ }
331
+
332
+ @include e(password) {
333
+ display: inline-flex;
334
+ align-items: center;
335
+ margin-left: var(--cp-spacing-xs);
336
+ color: var(--cp-text-muted);
337
+ font-size: 1em;
338
+ cursor: pointer;
339
+ transition: color 0.2s ease;
340
+
341
+ &:hover {
342
+ color: var(--cp-color-primary);
343
+ }
344
+
345
+ svg {
346
+ width: 1.1em;
347
+ height: 1.1em;
348
+ }
349
+ }
350
+
351
+ @include e(count) {
352
+ display: inline-flex;
353
+ align-items: center;
354
+ margin-left: var(--cp-spacing-sm);
355
+ padding-left: var(--cp-spacing-sm);
356
+ border-left: 1px solid var(--cp-border);
357
+ color: var(--cp-text-muted);
358
+ font-size: var(--cp-font-size-sm);
359
+ white-space: nowrap;
360
+ font-family: var(--cp-font-family-mono);
361
+ }
362
+ }