@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,59 +1,59 @@
1
- // CpForm 组件样式
2
-
3
- @use '../common/var' as *;
4
- @use '../mixins/mixins' as *;
5
-
6
- @include b(form) {
7
- display: flex;
8
- flex-direction: column;
9
- gap: var(--cp-form-gap, var(--cp-spacing-lg));
10
-
11
- // ===== Label 位置 =====
12
- @include m(label-top) {
13
- .cp-form-item {
14
- flex-direction: column;
15
- align-items: stretch;
16
- }
17
-
18
- .cp-form-item__label {
19
- width: auto !important;
20
- min-width: unset !important;
21
- justify-content: flex-start;
22
- margin-bottom: var(--cp-form-item-gap, var(--cp-spacing-sm));
23
- padding-right: 0;
24
- }
25
- }
26
-
27
- @include m(label-left) {
28
- .cp-form-item__label {
29
- justify-content: flex-start;
30
- }
31
- }
32
-
33
- @include m(label-right) {
34
- .cp-form-item__label {
35
- justify-content: flex-end;
36
- }
37
- }
38
-
39
- // ===== 行内模式 =====
40
- @include m(inline) {
41
- flex-direction: row;
42
- flex-wrap: wrap;
43
- gap: var(--cp-form-inline-gap, var(--cp-spacing-lg));
44
-
45
- .cp-form-item {
46
- flex: none;
47
- margin-bottom: 0;
48
- }
49
- }
50
-
51
- // ===== 尺寸 =====
52
- @include m(sm) {
53
- --cp-form-label-font-size: var(--cp-font-size-sm);
54
- }
55
-
56
- @include m(lg) {
57
- --cp-form-label-font-size: var(--cp-font-size-lg);
58
- }
59
- }
1
+ // CpForm 组件样式
2
+
3
+ @use '../common/var' as *;
4
+ @use '../mixins/mixins' as *;
5
+
6
+ @include b(form) {
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: var(--cp-form-gap, var(--cp-spacing-lg));
10
+
11
+ // ===== Label 位置 =====
12
+ @include m(label-top) {
13
+ .cp-form-item {
14
+ flex-direction: column;
15
+ align-items: stretch;
16
+ }
17
+
18
+ .cp-form-item__label {
19
+ width: auto !important;
20
+ min-width: unset !important;
21
+ justify-content: flex-start;
22
+ margin-bottom: var(--cp-form-item-gap, var(--cp-spacing-sm));
23
+ padding-right: 0;
24
+ }
25
+ }
26
+
27
+ @include m(label-left) {
28
+ .cp-form-item__label {
29
+ justify-content: flex-start;
30
+ }
31
+ }
32
+
33
+ @include m(label-right) {
34
+ .cp-form-item__label {
35
+ justify-content: flex-end;
36
+ }
37
+ }
38
+
39
+ // ===== 行内模式 =====
40
+ @include m(inline) {
41
+ flex-direction: row;
42
+ flex-wrap: wrap;
43
+ gap: var(--cp-form-inline-gap, var(--cp-spacing-lg));
44
+
45
+ .cp-form-item {
46
+ flex: none;
47
+ margin-bottom: 0;
48
+ }
49
+ }
50
+
51
+ // ===== 尺寸 =====
52
+ @include m(sm) {
53
+ --cp-form-label-font-size: var(--cp-font-size-sm);
54
+ }
55
+
56
+ @include m(lg) {
57
+ --cp-form-label-font-size: var(--cp-font-size-lg);
58
+ }
59
+ }
@@ -1,84 +1,84 @@
1
- @use '../mixins/mixins' as *;
2
- @use '../common/var' as *;
3
-
4
- @include b(icon) {
5
- // 基础样式
6
- display: inline-flex;
7
- align-items: center;
8
- justify-content: center;
9
- font-size: var(--cp-icon-size, 24px);
10
- width: var(--cp-icon-size, 24px);
11
- height: var(--cp-icon-size, 24px);
12
- color: inherit;
13
- vertical-align: middle;
14
-
15
- // SVG 继承颜色
16
- svg {
17
- width: 1em;
18
- height: 1em;
19
- fill: currentColor;
20
- }
21
-
22
- // SVG 容器
23
- @include e(svg) {
24
- display: inline-flex;
25
- align-items: center;
26
- justify-content: center;
27
-
28
- svg {
29
- width: 100%;
30
- height: 100%;
31
- }
32
- }
33
-
34
- // 字体图标嵌套
35
- >i {
36
- font-size: inherit;
37
- color: inherit;
38
- }
39
-
40
- // === 颜色类型 ===
41
- @include m(default) {
42
- color: inherit;
43
- }
44
-
45
- @include m(primary) {
46
- color: var(--cp-color-primary);
47
- }
48
-
49
- @include m(success) {
50
- color: var(--cp-color-success);
51
- }
52
-
53
- @include m(warning) {
54
- color: var(--cp-color-warning);
55
- }
56
-
57
- @include m(error) {
58
- color: var(--cp-color-error);
59
- }
60
-
61
- @include m(info) {
62
- color: var(--cp-color-info);
63
- }
64
-
65
- // === 状态 ===
66
- @include when(custom-color) {
67
- color: var(--cp-icon-color);
68
- }
69
-
70
- @include when(spin) {
71
- animation: cp-icon-spin 1s linear infinite;
72
- }
73
- }
74
-
75
- // 旋转动画
76
- @keyframes cp-icon-spin {
77
- from {
78
- transform: rotate(0deg);
79
- }
80
-
81
- to {
82
- transform: rotate(360deg);
83
- }
1
+ @use '../mixins/mixins' as *;
2
+ @use '../common/var' as *;
3
+
4
+ @include b(icon) {
5
+ // 基础样式
6
+ display: inline-flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ font-size: var(--cp-icon-size, 24px);
10
+ width: var(--cp-icon-size, 24px);
11
+ height: var(--cp-icon-size, 24px);
12
+ color: inherit;
13
+ vertical-align: middle;
14
+
15
+ // SVG 继承颜色
16
+ svg {
17
+ width: 1em;
18
+ height: 1em;
19
+ fill: currentColor;
20
+ }
21
+
22
+ // SVG 容器
23
+ @include e(svg) {
24
+ display: inline-flex;
25
+ align-items: center;
26
+ justify-content: center;
27
+
28
+ svg {
29
+ width: 100%;
30
+ height: 100%;
31
+ }
32
+ }
33
+
34
+ // 字体图标嵌套
35
+ >i {
36
+ font-size: inherit;
37
+ color: inherit;
38
+ }
39
+
40
+ // === 颜色类型 ===
41
+ @include m(default) {
42
+ color: inherit;
43
+ }
44
+
45
+ @include m(primary) {
46
+ color: var(--cp-color-primary);
47
+ }
48
+
49
+ @include m(success) {
50
+ color: var(--cp-color-success);
51
+ }
52
+
53
+ @include m(warning) {
54
+ color: var(--cp-color-warning);
55
+ }
56
+
57
+ @include m(error) {
58
+ color: var(--cp-color-error);
59
+ }
60
+
61
+ @include m(info) {
62
+ color: var(--cp-color-info);
63
+ }
64
+
65
+ // === 状态 ===
66
+ @include when(custom-color) {
67
+ color: var(--cp-icon-color);
68
+ }
69
+
70
+ @include when(spin) {
71
+ animation: cp-icon-spin 1s linear infinite;
72
+ }
73
+ }
74
+
75
+ // 旋转动画
76
+ @keyframes cp-icon-spin {
77
+ from {
78
+ transform: rotate(0deg);
79
+ }
80
+
81
+ to {
82
+ transform: rotate(360deg);
83
+ }
84
84
  }
@@ -1,147 +1,147 @@
1
- // CpImagePreview 组件样式
2
- // 赛博朋克风格全屏大图预览
3
-
4
- @use '../common/var' as *;
5
- @use '../mixins/mixins' as *;
6
-
7
- // ===== 动画 =====
8
- @keyframes cp-image-preview-fade-in {
9
- from {
10
- opacity: 0;
11
- }
12
- to {
13
- opacity: 1;
14
- }
15
- }
16
-
17
- @keyframes cp-image-preview-fade-out {
18
- from {
19
- opacity: 1;
20
- }
21
- to {
22
- opacity: 0;
23
- }
24
- }
25
-
26
- // Transition classes
27
- .cp-image-preview-fade-enter-active {
28
- animation: cp-image-preview-fade-in 0.3s ease-out;
29
- }
30
-
31
- .cp-image-preview-fade-leave-active {
32
- animation: cp-image-preview-fade-out 0.2s ease-in forwards;
33
- }
34
-
35
- @include b(image-preview) {
36
- position: fixed;
37
- inset: 0;
38
- display: flex;
39
- align-items: center;
40
- justify-content: center;
41
- background: rgba(0, 0, 0, 0.85);
42
- user-select: none;
43
-
44
- // ===== 关闭按钮 =====
45
- @include e(close) {
46
- position: absolute;
47
- top: 16px;
48
- right: 16px;
49
- z-index: 2;
50
- }
51
-
52
- // ===== 切换箭头 =====
53
- @include e(arrow) {
54
- position: absolute;
55
- top: 50%;
56
- transform: translateY(-50%);
57
- z-index: 2;
58
-
59
- @include m(left) {
60
- left: 16px;
61
- }
62
-
63
- @include m(right) {
64
- right: 16px;
65
- }
66
- }
67
-
68
- // ===== 图片画布 =====
69
- @include e(canvas) {
70
- display: flex;
71
- align-items: center;
72
- justify-content: center;
73
- width: 100%;
74
- height: 100%;
75
- overflow: hidden;
76
- }
77
-
78
- // ===== 加载中 =====
79
- @include e(loading) {
80
- display: flex;
81
- align-items: center;
82
- justify-content: center;
83
- }
84
-
85
- // ===== 图片 =====
86
- @include e(img) {
87
- max-width: 90vw;
88
- max-height: 90vh;
89
- object-fit: contain;
90
- transition: transform 0.3s ease;
91
- cursor: grab;
92
-
93
- &:active {
94
- cursor: grabbing;
95
- }
96
-
97
- // 拖拽中禁用过渡,消除不跟手感
98
- &.is-dragging {
99
- transition: none;
100
- }
101
- }
102
-
103
- // ===== 底部工具栏 =====
104
- @include e(toolbar) {
105
- position: absolute;
106
- bottom: 24px;
107
- left: 50%;
108
- transform: translateX(-50%);
109
- z-index: 2;
110
- display: flex;
111
- align-items: center;
112
- gap: 6px;
113
- padding: 8px;
114
- background: rgba(10, 10, 16, 0.75);
115
- backdrop-filter: blur(12px);
116
- border: 1px solid rgba(255, 255, 255, 0.1);
117
- clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
118
-
119
- // 让工具栏内的按钮继承间距
120
- > * {
121
- flex-shrink: 0;
122
- }
123
- }
124
-
125
- // ===== 分隔符 =====
126
- @include e(divider) {
127
- display: inline-block;
128
- width: 1px;
129
- height: 18px;
130
- margin: 0 4px;
131
- background: rgba(255, 255, 255, 0.12);
132
- }
133
-
134
- // ===== 图片计数 =====
135
- @include e(counter) {
136
- position: absolute;
137
- top: 20px;
138
- left: 50%;
139
- transform: translateX(-50%);
140
- z-index: 2;
141
- font-family: var(--cp-font-family-mono, monospace);
142
- font-size: 14px;
143
- color: rgba(255, 255, 255, 0.6);
144
- letter-spacing: 0.1em;
145
- text-shadow: 0 0 8px rgba(0, 0, 0, 0.8);
146
- }
147
- }
1
+ // CpImagePreview 组件样式
2
+ // 赛博朋克风格全屏大图预览
3
+
4
+ @use '../common/var' as *;
5
+ @use '../mixins/mixins' as *;
6
+
7
+ // ===== 动画 =====
8
+ @keyframes cp-image-preview-fade-in {
9
+ from {
10
+ opacity: 0;
11
+ }
12
+ to {
13
+ opacity: 1;
14
+ }
15
+ }
16
+
17
+ @keyframes cp-image-preview-fade-out {
18
+ from {
19
+ opacity: 1;
20
+ }
21
+ to {
22
+ opacity: 0;
23
+ }
24
+ }
25
+
26
+ // Transition classes
27
+ .cp-image-preview-fade-enter-active {
28
+ animation: cp-image-preview-fade-in 0.3s ease-out;
29
+ }
30
+
31
+ .cp-image-preview-fade-leave-active {
32
+ animation: cp-image-preview-fade-out 0.2s ease-in forwards;
33
+ }
34
+
35
+ @include b(image-preview) {
36
+ position: fixed;
37
+ inset: 0;
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ background: rgba(0, 0, 0, 0.85);
42
+ user-select: none;
43
+
44
+ // ===== 关闭按钮 =====
45
+ @include e(close) {
46
+ position: absolute;
47
+ top: 16px;
48
+ right: 16px;
49
+ z-index: 2;
50
+ }
51
+
52
+ // ===== 切换箭头 =====
53
+ @include e(arrow) {
54
+ position: absolute;
55
+ top: 50%;
56
+ transform: translateY(-50%);
57
+ z-index: 2;
58
+
59
+ @include m(left) {
60
+ left: 16px;
61
+ }
62
+
63
+ @include m(right) {
64
+ right: 16px;
65
+ }
66
+ }
67
+
68
+ // ===== 图片画布 =====
69
+ @include e(canvas) {
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ width: 100%;
74
+ height: 100%;
75
+ overflow: hidden;
76
+ }
77
+
78
+ // ===== 加载中 =====
79
+ @include e(loading) {
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ }
84
+
85
+ // ===== 图片 =====
86
+ @include e(img) {
87
+ max-width: 90vw;
88
+ max-height: 90vh;
89
+ object-fit: contain;
90
+ transition: transform 0.3s ease;
91
+ cursor: grab;
92
+
93
+ &:active {
94
+ cursor: grabbing;
95
+ }
96
+
97
+ // 拖拽中禁用过渡,消除不跟手感
98
+ &.is-dragging {
99
+ transition: none;
100
+ }
101
+ }
102
+
103
+ // ===== 底部工具栏 =====
104
+ @include e(toolbar) {
105
+ position: absolute;
106
+ bottom: 24px;
107
+ left: 50%;
108
+ transform: translateX(-50%);
109
+ z-index: 2;
110
+ display: flex;
111
+ align-items: center;
112
+ gap: 6px;
113
+ padding: 8px;
114
+ background: rgba(10, 10, 16, 0.75);
115
+ backdrop-filter: blur(12px);
116
+ border: 1px solid rgba(255, 255, 255, 0.1);
117
+ clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
118
+
119
+ // 让工具栏内的按钮继承间距
120
+ > * {
121
+ flex-shrink: 0;
122
+ }
123
+ }
124
+
125
+ // ===== 分隔符 =====
126
+ @include e(divider) {
127
+ display: inline-block;
128
+ width: 1px;
129
+ height: 18px;
130
+ margin: 0 4px;
131
+ background: rgba(255, 255, 255, 0.12);
132
+ }
133
+
134
+ // ===== 图片计数 =====
135
+ @include e(counter) {
136
+ position: absolute;
137
+ top: 20px;
138
+ left: 50%;
139
+ transform: translateX(-50%);
140
+ z-index: 2;
141
+ font-family: var(--cp-font-family-mono, monospace);
142
+ font-size: 14px;
143
+ color: rgba(255, 255, 255, 0.6);
144
+ letter-spacing: 0.1em;
145
+ text-shadow: 0 0 8px rgba(0, 0, 0, 0.8);
146
+ }
147
+ }