@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,211 +1,211 @@
1
- // CpBadge 组件样式
2
- // 赛博朋克/机甲风格
3
-
4
- @use '../common/var' as *;
5
- @use '../mixins/mixins' as *;
6
-
7
- // Badge 颜色映射
8
- $badge-types: (
9
- primary: var(--cp-color-primary),
10
- success: var(--cp-color-success),
11
- warning: var(--cp-color-warning),
12
- error: var(--cp-color-error),
13
- info: var(--cp-color-info),
14
- default: var(--cp-text-secondary),
15
- );
16
-
17
- // 需要使用深色文字的亮色类型
18
- $badge-dark-text-types: (primary, success, warning);
19
-
20
- @include b(badge) {
21
- position: relative;
22
- display: inline-flex;
23
- vertical-align: middle;
24
-
25
- // CSS 变量默认值
26
- --cp-badge-color: var(--cp-color-error);
27
- --cp-badge-text-color: #fff;
28
- --cp-badge-offset-x: 0px;
29
- --cp-badge-offset-y: 0px;
30
-
31
- // ===== 徽章内容元素 =====
32
- @include e(content) {
33
- position: absolute;
34
- top: 0;
35
- right: 0;
36
- transform: translate(
37
- calc(50% + var(--cp-badge-offset-x)),
38
- calc(-50% + var(--cp-badge-offset-y))
39
- );
40
- z-index: 1;
41
-
42
- display: inline-flex;
43
- align-items: center;
44
- justify-content: center;
45
-
46
- min-width: 18px;
47
- height: 18px;
48
- padding: 0 5px;
49
- border-radius: 9px;
50
-
1
+ // CpBadge 组件样式
2
+ // 赛博朋克/机甲风格
3
+
4
+ @use '../common/var' as *;
5
+ @use '../mixins/mixins' as *;
6
+
7
+ // Badge 颜色映射
8
+ $badge-types: (
9
+ primary: var(--cp-color-primary),
10
+ success: var(--cp-color-success),
11
+ warning: var(--cp-color-warning),
12
+ error: var(--cp-color-error),
13
+ info: var(--cp-color-info),
14
+ default: var(--cp-text-secondary),
15
+ );
16
+
17
+ // 需要使用深色文字的亮色类型
18
+ $badge-dark-text-types: (primary, success, warning);
19
+
20
+ @include b(badge) {
21
+ position: relative;
22
+ display: inline-flex;
23
+ vertical-align: middle;
24
+
25
+ // CSS 变量默认值
26
+ --cp-badge-color: var(--cp-color-error);
27
+ --cp-badge-text-color: #fff;
28
+ --cp-badge-offset-x: 0px;
29
+ --cp-badge-offset-y: 0px;
30
+
31
+ // ===== 徽章内容元素 =====
32
+ @include e(content) {
33
+ position: absolute;
34
+ top: 0;
35
+ right: 0;
36
+ transform: translate(
37
+ calc(50% + var(--cp-badge-offset-x)),
38
+ calc(-50% + var(--cp-badge-offset-y))
39
+ );
40
+ z-index: 1;
41
+
42
+ display: inline-flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+
46
+ min-width: 18px;
47
+ height: 18px;
48
+ padding: 0 5px;
49
+ border-radius: 9px;
50
+
51
51
  font-family: var(--cp-font-family-ui);
52
- font-size: 11px;
53
- font-weight: 600;
54
- white-space: nowrap;
55
-
56
- box-sizing: border-box;
57
- transition: all 0.2s ease;
58
-
59
- // 渲染优先:自定义颜色变量
60
- background: var(--cp-badge-color);
61
- color: var(--cp-badge-text-color);
62
- border: 1px solid transparent;
63
- }
64
-
65
- // ===== 尺寸 =====
66
- @include m(size-small) {
67
- .cp-badge__content {
68
- min-width: 14px;
69
- height: 14px;
70
- padding: 0 3px;
71
- border-radius: 7px;
72
- font-size: 9px;
73
- }
74
-
75
- &.is-dot .cp-badge__content {
76
- min-width: 6px;
77
- width: 6px;
78
- height: 6px;
79
- }
80
- }
81
-
82
- @include m(size-default) {
83
- // 默认尺寸,使用基础样式
84
- }
85
-
86
- @include m(size-large) {
87
- .cp-badge__content {
88
- min-width: 22px;
89
- height: 22px;
90
- padding: 0 6px;
91
- border-radius: 11px;
92
- font-size: 13px;
93
- }
94
-
95
- &.is-dot .cp-badge__content {
96
- min-width: 10px;
97
- width: 10px;
98
- height: 10px;
99
- }
100
- }
101
-
102
- // ===== 自定义文字颜色 (Pattern 153: Root-First Modifier Placement) =====
103
- // Move this to a place where it can win over variants
104
- @include when(custom-text-color) {
105
- .cp-badge__content {
106
- color: var(--cp-badge-text-color) !important;
107
- }
108
- }
109
-
110
- // ===== 变体样式 (由根部 modifier 驱动) =====
111
-
112
- // Solid - 实心填充 (默认)
113
- @include m(variant-solid) {
114
- .cp-badge__content {
115
- background: var(--cp-badge-color);
116
- border-color: transparent;
117
- }
118
-
119
- // 亮色类型(primary, success, warning)使用对应的文字颜色变量
120
- &.cp-badge--type-primary:not(.is-custom-text-color) .cp-badge__content {
121
- color: var(--cp-color-primary-text);
122
- }
123
- &.cp-badge--type-success:not(.is-custom-text-color) .cp-badge__content {
124
- color: var(--cp-color-success-text);
125
- }
126
- &.cp-badge--type-warning:not(.is-custom-text-color) .cp-badge__content {
127
- color: var(--cp-color-warning-text);
128
- }
129
- }
130
-
131
- // Outline - 边框描边
132
- @include m(variant-outline) {
133
- .cp-badge__content {
134
- background: rgba(0, 0, 0, 0.4);
135
- backdrop-filter: blur(4px);
136
- color: var(--cp-badge-color);
137
- border: 1px solid var(--cp-badge-color);
138
- }
139
- }
140
-
141
- // Glow - 发光效果 (赛博朋克风格)
142
- @include m(variant-glow) {
143
- .cp-badge__content {
144
- background: var(--cp-badge-color);
145
- border-color: transparent;
146
- box-shadow:
147
- 0 0 6px var(--cp-badge-color),
148
- 0 0 12px color-mix(in srgb, var(--cp-badge-color) 40%, transparent),
149
- inset 0 0 4px rgba(255, 255, 255, 0.3);
150
- animation: cp-badge-pulse 2s ease-in-out infinite;
151
- }
152
-
153
- // 亮色类型使用对应的文字颜色变量
154
- &.cp-badge--type-primary:not(.is-custom-text-color) .cp-badge__content {
155
- color: var(--cp-color-primary-text);
156
- }
157
- &.cp-badge--type-success:not(.is-custom-text-color) .cp-badge__content {
158
- color: var(--cp-color-success-text);
159
- }
160
- &.cp-badge--type-warning:not(.is-custom-text-color) .cp-badge__content {
161
- color: var(--cp-color-warning-text);
162
- }
163
- }
164
-
165
- // ===== Dot 模式 (由根部 is-dot 驱动) =====
166
- @include when(dot) {
167
- .cp-badge__content {
168
- min-width: 8px;
169
- width: 8px;
170
- height: 8px;
171
- padding: 0;
172
- border-radius: 50%;
173
- }
174
-
175
- // Glow 变体在 dot 模式下的特殊效果
176
- &.cp-badge--variant-glow .cp-badge__content {
177
- box-shadow:
178
- 0 0 4px var(--cp-badge-color),
179
- 0 0 8px color-mix(in srgb, var(--cp-badge-color) 60%, transparent);
180
- }
181
- }
182
- }
183
-
184
- // ===== 动画定义 =====
185
- @keyframes cp-badge-pulse {
186
- 0%,
187
- 100% {
188
- box-shadow:
189
- 0 0 6px var(--cp-badge-color),
190
- 0 0 12px color-mix(in srgb, var(--cp-badge-color) 40%, transparent),
191
- inset 0 0 4px rgba(255, 255, 255, 0.3);
192
- }
193
- 50% {
194
- box-shadow:
195
- 0 0 10px var(--cp-badge-color),
196
- 0 0 20px color-mix(in srgb, var(--cp-badge-color) 50%, transparent),
197
- inset 0 0 6px rgba(255, 255, 255, 0.4);
198
- }
199
- }
200
-
201
- // ===== 过渡动画 =====
202
- .cp-badge-fade-enter-active,
203
- .cp-badge-fade-leave-active {
204
- transition: all 0.2s ease;
205
- }
206
-
207
- .cp-badge-fade-enter-from,
208
- .cp-badge-fade-leave-to {
209
- opacity: 0;
210
- transform: translate(calc(50% + var(--cp-badge-offset-x, 0px)), calc(-50% + var(--cp-badge-offset-y, 0px))) scale(0.5);
211
- }
52
+ font-size: 11px;
53
+ font-weight: 600;
54
+ white-space: nowrap;
55
+
56
+ box-sizing: border-box;
57
+ transition: all 0.2s ease;
58
+
59
+ // 渲染优先:自定义颜色变量
60
+ background: var(--cp-badge-color);
61
+ color: var(--cp-badge-text-color);
62
+ border: 1px solid transparent;
63
+ }
64
+
65
+ // ===== 尺寸 =====
66
+ @include m(size-small) {
67
+ .cp-badge__content {
68
+ min-width: 14px;
69
+ height: 14px;
70
+ padding: 0 3px;
71
+ border-radius: 7px;
72
+ font-size: 9px;
73
+ }
74
+
75
+ &.is-dot .cp-badge__content {
76
+ min-width: 6px;
77
+ width: 6px;
78
+ height: 6px;
79
+ }
80
+ }
81
+
82
+ @include m(size-default) {
83
+ // 默认尺寸,使用基础样式
84
+ }
85
+
86
+ @include m(size-large) {
87
+ .cp-badge__content {
88
+ min-width: 22px;
89
+ height: 22px;
90
+ padding: 0 6px;
91
+ border-radius: 11px;
92
+ font-size: 13px;
93
+ }
94
+
95
+ &.is-dot .cp-badge__content {
96
+ min-width: 10px;
97
+ width: 10px;
98
+ height: 10px;
99
+ }
100
+ }
101
+
102
+ // ===== 自定义文字颜色 (Pattern 153: Root-First Modifier Placement) =====
103
+ // Move this to a place where it can win over variants
104
+ @include when(custom-text-color) {
105
+ .cp-badge__content {
106
+ color: var(--cp-badge-text-color) !important;
107
+ }
108
+ }
109
+
110
+ // ===== 变体样式 (由根部 modifier 驱动) =====
111
+
112
+ // Solid - 实心填充 (默认)
113
+ @include m(variant-solid) {
114
+ .cp-badge__content {
115
+ background: var(--cp-badge-color);
116
+ border-color: transparent;
117
+ }
118
+
119
+ // 亮色类型(primary, success, warning)使用对应的文字颜色变量
120
+ &.cp-badge--type-primary:not(.is-custom-text-color) .cp-badge__content {
121
+ color: var(--cp-color-primary-text);
122
+ }
123
+ &.cp-badge--type-success:not(.is-custom-text-color) .cp-badge__content {
124
+ color: var(--cp-color-success-text);
125
+ }
126
+ &.cp-badge--type-warning:not(.is-custom-text-color) .cp-badge__content {
127
+ color: var(--cp-color-warning-text);
128
+ }
129
+ }
130
+
131
+ // Outline - 边框描边
132
+ @include m(variant-outline) {
133
+ .cp-badge__content {
134
+ background: rgba(0, 0, 0, 0.4);
135
+ backdrop-filter: blur(4px);
136
+ color: var(--cp-badge-color);
137
+ border: 1px solid var(--cp-badge-color);
138
+ }
139
+ }
140
+
141
+ // Glow - 发光效果 (赛博朋克风格)
142
+ @include m(variant-glow) {
143
+ .cp-badge__content {
144
+ background: var(--cp-badge-color);
145
+ border-color: transparent;
146
+ box-shadow:
147
+ 0 0 6px var(--cp-badge-color),
148
+ 0 0 12px color-mix(in srgb, var(--cp-badge-color) 40%, transparent),
149
+ inset 0 0 4px rgba(255, 255, 255, 0.3);
150
+ animation: cp-badge-pulse 2s ease-in-out infinite;
151
+ }
152
+
153
+ // 亮色类型使用对应的文字颜色变量
154
+ &.cp-badge--type-primary:not(.is-custom-text-color) .cp-badge__content {
155
+ color: var(--cp-color-primary-text);
156
+ }
157
+ &.cp-badge--type-success:not(.is-custom-text-color) .cp-badge__content {
158
+ color: var(--cp-color-success-text);
159
+ }
160
+ &.cp-badge--type-warning:not(.is-custom-text-color) .cp-badge__content {
161
+ color: var(--cp-color-warning-text);
162
+ }
163
+ }
164
+
165
+ // ===== Dot 模式 (由根部 is-dot 驱动) =====
166
+ @include when(dot) {
167
+ .cp-badge__content {
168
+ min-width: 8px;
169
+ width: 8px;
170
+ height: 8px;
171
+ padding: 0;
172
+ border-radius: 50%;
173
+ }
174
+
175
+ // Glow 变体在 dot 模式下的特殊效果
176
+ &.cp-badge--variant-glow .cp-badge__content {
177
+ box-shadow:
178
+ 0 0 4px var(--cp-badge-color),
179
+ 0 0 8px color-mix(in srgb, var(--cp-badge-color) 60%, transparent);
180
+ }
181
+ }
182
+ }
183
+
184
+ // ===== 动画定义 =====
185
+ @keyframes cp-badge-pulse {
186
+ 0%,
187
+ 100% {
188
+ box-shadow:
189
+ 0 0 6px var(--cp-badge-color),
190
+ 0 0 12px color-mix(in srgb, var(--cp-badge-color) 40%, transparent),
191
+ inset 0 0 4px rgba(255, 255, 255, 0.3);
192
+ }
193
+ 50% {
194
+ box-shadow:
195
+ 0 0 10px var(--cp-badge-color),
196
+ 0 0 20px color-mix(in srgb, var(--cp-badge-color) 50%, transparent),
197
+ inset 0 0 6px rgba(255, 255, 255, 0.4);
198
+ }
199
+ }
200
+
201
+ // ===== 过渡动画 =====
202
+ .cp-badge-fade-enter-active,
203
+ .cp-badge-fade-leave-active {
204
+ transition: all 0.2s ease;
205
+ }
206
+
207
+ .cp-badge-fade-enter-from,
208
+ .cp-badge-fade-leave-to {
209
+ opacity: 0;
210
+ transform: translate(calc(50% + var(--cp-badge-offset-x, 0px)), calc(-50% + var(--cp-badge-offset-y, 0px))) scale(0.5);
211
+ }