@admin-core/design 0.1.0 → 0.2.1

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 (45) hide show
  1. package/README.en.md +698 -0
  2. package/README.md +588 -285
  3. package/dist/index.cjs +5 -1
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2616 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.umd.js +5 -1
  10. package/dist/index.umd.js.map +1 -1
  11. package/dist/style.css +1 -1
  12. package/dist/theme/composables.d.ts +89 -0
  13. package/dist/theme/composables.d.ts.map +1 -0
  14. package/dist/theme/constants.d.ts +56 -0
  15. package/dist/theme/constants.d.ts.map +1 -0
  16. package/dist/theme/i18n/en-US.d.ts +3 -0
  17. package/dist/theme/i18n/en-US.d.ts.map +1 -0
  18. package/dist/theme/i18n/index.d.ts +34 -0
  19. package/dist/theme/i18n/index.d.ts.map +1 -0
  20. package/dist/theme/i18n/zh-CN.d.ts +69 -0
  21. package/dist/theme/i18n/zh-CN.d.ts.map +1 -0
  22. package/dist/theme/index.d.ts +52 -0
  23. package/dist/theme/index.d.ts.map +1 -0
  24. package/dist/theme/integration.d.ts +124 -0
  25. package/dist/theme/integration.d.ts.map +1 -0
  26. package/dist/theme/types.d.ts +135 -0
  27. package/dist/theme/types.d.ts.map +1 -0
  28. package/dist/theme/utils.d.ts +230 -0
  29. package/dist/theme/utils.d.ts.map +1 -0
  30. package/package.json +32 -4
  31. package/src/css/base.css +145 -0
  32. package/src/css/components.css +96 -0
  33. package/src/css/index.css +21 -0
  34. package/src/css/integrations/ant-design-vue.css +64 -0
  35. package/src/css/integrations/arco-design.css +62 -0
  36. package/src/css/integrations/element-plus.css +157 -0
  37. package/src/css/integrations/index.css +17 -0
  38. package/src/css/integrations/naive-ui.css +60 -0
  39. package/src/css/nprogress.css +74 -0
  40. package/src/css/transition.css +256 -0
  41. package/src/css/ui.css +117 -0
  42. package/src/css/utilities.css +138 -0
  43. package/src/tokens/dark.css +406 -0
  44. package/src/tokens/index.ts +6 -0
  45. package/src/tokens/light.css +297 -0
@@ -0,0 +1,256 @@
1
+ /* Vue 过渡动画样式 */
2
+
3
+ /* ========== 向上滑动过渡 ========== */
4
+ .slide-up-enter-active,
5
+ .slide-up-leave-active {
6
+ transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
7
+ }
8
+
9
+ .slide-up-move {
10
+ transition: transform 0.3s;
11
+ }
12
+
13
+ .slide-up-enter-from,
14
+ .slide-up-leave-to {
15
+ opacity: 0;
16
+ transform: translateY(-15px);
17
+ }
18
+
19
+ /* ========== 向下滑动过渡 ========== */
20
+ .slide-down-enter-active,
21
+ .slide-down-leave-active {
22
+ transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
23
+ }
24
+
25
+ .slide-down-move {
26
+ transition: transform 0.3s;
27
+ }
28
+
29
+ .slide-down-enter-from,
30
+ .slide-down-leave-to {
31
+ opacity: 0;
32
+ transform: translateY(15px);
33
+ }
34
+
35
+ /* ========== 向左滑动过渡 ========== */
36
+ .slide-left-enter-active,
37
+ .slide-left-leave-active {
38
+ transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
39
+ }
40
+
41
+ .slide-left-move {
42
+ transition: transform 0.3s;
43
+ }
44
+
45
+ .slide-left-enter-from,
46
+ .slide-left-leave-to {
47
+ opacity: 0;
48
+ transform: translate(-15px);
49
+ }
50
+
51
+ /* ========== 向右滑动过渡 ========== */
52
+ .slide-right-enter-active,
53
+ .slide-right-leave-active {
54
+ transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
55
+ }
56
+
57
+ .slide-right-move {
58
+ transition: transform 0.3s;
59
+ }
60
+
61
+ .slide-right-enter-from,
62
+ .slide-right-leave-to {
63
+ opacity: 0;
64
+ transform: translate(15px);
65
+ }
66
+
67
+ /* ========== 淡入淡出过渡 ========== */
68
+ .fade-transition-enter-active,
69
+ .fade-transition-leave-active {
70
+ transition: opacity 0.2s ease-in-out;
71
+ }
72
+
73
+ .fade-transition-enter-from,
74
+ .fade-transition-leave-to {
75
+ opacity: 0;
76
+ }
77
+
78
+ /* 简化版淡入淡出 */
79
+ .fade-enter-active,
80
+ .fade-leave-active {
81
+ transition: opacity 0.2s ease-in-out;
82
+ }
83
+
84
+ .fade-enter-from,
85
+ .fade-leave-to {
86
+ opacity: 0;
87
+ }
88
+
89
+ /* ========== 淡入淡出 + 滑动过渡 ========== */
90
+ .fade-slide-leave-active,
91
+ .fade-slide-enter-active {
92
+ transition: all 0.3s;
93
+ }
94
+
95
+ .fade-slide-enter-from {
96
+ opacity: 0;
97
+ transform: translate(-30px);
98
+ }
99
+
100
+ .fade-slide-leave-to {
101
+ opacity: 0;
102
+ transform: translate(30px);
103
+ }
104
+
105
+ /* ========== 淡入淡出 + 向下滑动 ========== */
106
+ .fade-down-enter-active,
107
+ .fade-down-leave-active {
108
+ transition:
109
+ opacity 0.25s,
110
+ transform 0.3s;
111
+ }
112
+
113
+ .fade-down-enter-from {
114
+ opacity: 0;
115
+ transform: translateY(-10%);
116
+ }
117
+
118
+ .fade-down-leave-to {
119
+ opacity: 0;
120
+ transform: translateY(10%);
121
+ }
122
+
123
+ /* ========== 淡入淡出 + 缩放过渡 ========== */
124
+ .fade-scale-leave-active,
125
+ .fade-scale-enter-active {
126
+ transition: all 0.28s;
127
+ }
128
+
129
+ .fade-scale-enter-from {
130
+ opacity: 0;
131
+ transform: scale(1.2);
132
+ }
133
+
134
+ .fade-scale-leave-to {
135
+ opacity: 0;
136
+ transform: scale(0.8);
137
+ }
138
+
139
+ /* ========== 淡入淡出 + 向上滑动 ========== */
140
+ .fade-up-enter-active,
141
+ .fade-up-leave-active {
142
+ transition:
143
+ opacity 0.2s,
144
+ transform 0.25s;
145
+ }
146
+
147
+ .fade-up-enter-from {
148
+ opacity: 0;
149
+ transform: translateY(10%);
150
+ }
151
+
152
+ .fade-up-leave-to {
153
+ opacity: 0;
154
+ transform: translateY(-10%);
155
+ }
156
+
157
+ /* ========== 动画关键帧 ========== */
158
+
159
+ /* 淡入淡出 + 滑动动画 */
160
+ @keyframes fade-slide {
161
+ 0% {
162
+ opacity: 0;
163
+ transform: translate(-30px);
164
+ }
165
+
166
+ 50% {
167
+ opacity: 1;
168
+ }
169
+
170
+ 100% {
171
+ opacity: 0;
172
+ transform: translate(30px);
173
+ }
174
+ }
175
+
176
+ /* 淡入淡出动画 */
177
+ @keyframes fade {
178
+ 0% {
179
+ opacity: 0;
180
+ }
181
+
182
+ 50% {
183
+ opacity: 1;
184
+ }
185
+
186
+ 100% {
187
+ opacity: 0;
188
+ }
189
+ }
190
+
191
+ /* 淡入淡出 + 向上动画 */
192
+ @keyframes fade-up {
193
+ 0% {
194
+ opacity: 0;
195
+ transform: translateY(10%);
196
+ }
197
+
198
+ 50% {
199
+ opacity: 1;
200
+ }
201
+
202
+ 100% {
203
+ opacity: 0;
204
+ transform: translateY(-10%);
205
+ }
206
+ }
207
+
208
+ /* 淡入淡出 + 向下动画 */
209
+ @keyframes fade-down {
210
+ 0% {
211
+ opacity: 0;
212
+ transform: translateY(-10%);
213
+ }
214
+
215
+ 50% {
216
+ opacity: 1;
217
+ }
218
+
219
+ 100% {
220
+ opacity: 0;
221
+ transform: translateY(10%);
222
+ }
223
+ }
224
+
225
+ /* ========== 慢速动画类 ========== */
226
+ .fade-slow {
227
+ animation: fade 3s infinite;
228
+ }
229
+
230
+ .fade-slide-slow {
231
+ animation: fade-slide 3s infinite;
232
+ }
233
+
234
+ .fade-up-slow {
235
+ animation: fade-up 3s infinite;
236
+ }
237
+
238
+ .fade-down-slow {
239
+ animation: fade-down 3s infinite;
240
+ }
241
+
242
+ /* ========== 折叠过渡 ========== */
243
+ .collapse-transition {
244
+ transition:
245
+ 0.2s height ease-in-out,
246
+ 0.2s padding-top ease-in-out,
247
+ 0.2s padding-bottom ease-in-out;
248
+ }
249
+
250
+ .collapse-transition-leave-active,
251
+ .collapse-transition-enter-active {
252
+ transition:
253
+ 0.2s max-height ease-in-out,
254
+ 0.2s padding-top ease-in-out,
255
+ 0.2s margin-top ease-in-out;
256
+ }
package/src/css/ui.css ADDED
@@ -0,0 +1,117 @@
1
+ /* UI 组件样式 */
2
+
3
+ /* ========== 侧边内容动画 ========== */
4
+ .side-content {
5
+ animation-duration: 0.3s;
6
+ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
7
+ }
8
+
9
+ /* 从顶部滑入 */
10
+ .side-content[data-side='top'] {
11
+ animation-name: slide-up;
12
+ }
13
+
14
+ /* 从底部滑入 */
15
+ .side-content[data-side='bottom'] {
16
+ animation-name: slide-down;
17
+ }
18
+
19
+ /* 从左侧滑入 */
20
+ .side-content[data-side='left'] {
21
+ animation-name: slide-left;
22
+ }
23
+
24
+ /* 从右侧滑入 */
25
+ .side-content[data-side='right'] {
26
+ animation-name: slide-right;
27
+ }
28
+
29
+ /* ========== 面包屑过渡动画 ========== */
30
+ .breadcrumb-transition-enter-active {
31
+ transition:
32
+ transform 0.4s cubic-bezier(0.76, 0, 0.24, 1),
33
+ opacity 0.4s cubic-bezier(0.76, 0, 0.24, 1);
34
+ }
35
+
36
+ .breadcrumb-transition-leave-active {
37
+ display: none;
38
+ }
39
+
40
+ .breadcrumb-transition-enter-from {
41
+ opacity: 0;
42
+ transform: translateX(30px) skewX(-30deg);
43
+ }
44
+
45
+ /* ========== 滑动动画关键帧 ========== */
46
+
47
+ /* 向下滑入 */
48
+ @keyframes slide-down {
49
+ from {
50
+ opacity: 0;
51
+ transform: translateY(50px);
52
+ }
53
+
54
+ to {
55
+ opacity: 1;
56
+ transform: translateY(0);
57
+ }
58
+ }
59
+
60
+ /* 向左滑入 */
61
+ @keyframes slide-left {
62
+ from {
63
+ opacity: 0;
64
+ transform: translateX(-50px);
65
+ }
66
+
67
+ to {
68
+ opacity: 1;
69
+ transform: translateX(0);
70
+ }
71
+ }
72
+
73
+ /* 向右滑入 */
74
+ @keyframes slide-right {
75
+ from {
76
+ opacity: 0;
77
+ transform: translateX(50px);
78
+ }
79
+
80
+ to {
81
+ opacity: 1;
82
+ transform: translateX(0);
83
+ }
84
+ }
85
+
86
+ /* 向上滑入 */
87
+ @keyframes slide-up {
88
+ from {
89
+ opacity: 0;
90
+ transform: translateY(-50px);
91
+ }
92
+
93
+ to {
94
+ opacity: 1;
95
+ transform: translateY(0);
96
+ }
97
+ }
98
+
99
+ /* ========== 弹窗层级 ========== */
100
+ .z-popup {
101
+ z-index: var(--popup-z-index);
102
+ }
103
+
104
+ /* ========== 收缩动画 ========== */
105
+ @keyframes shrink {
106
+ 0% {
107
+ transform: scale(1);
108
+ }
109
+
110
+ 50% {
111
+ transform: scale(0.9);
112
+ }
113
+
114
+ 100% {
115
+ transform: scale(1);
116
+ }
117
+ }
@@ -0,0 +1,138 @@
1
+ /**
2
+ * 自定义工具类
3
+ * 基于设计令牌的颜色工具类
4
+ *
5
+ * 手动定义透明度变体以支持 bg-primary/10 等用法
6
+ */
7
+ @layer utilities {
8
+ /* 背景色工具类 - 完整不透明度 */
9
+ .bg-primary {
10
+ background-color: hsl(var(--primary));
11
+ }
12
+
13
+ /* 背景色透明度变体 */
14
+ .bg-primary\/10 {
15
+ background-color: hsl(var(--primary) / 0.1);
16
+ }
17
+
18
+ .bg-primary\/30 {
19
+ background-color: hsl(var(--primary) / 0.3);
20
+ }
21
+
22
+ .bg-primary\/50 {
23
+ background-color: hsl(var(--primary) / 0.5);
24
+ }
25
+
26
+ .bg-primary\/70 {
27
+ background-color: hsl(var(--primary) / 0.7);
28
+ }
29
+
30
+ .bg-primary\/90 {
31
+ background-color: hsl(var(--primary) / 0.9);
32
+ }
33
+
34
+ /* 其他背景色 */
35
+ .bg-secondary {
36
+ background-color: hsl(var(--secondary));
37
+ }
38
+
39
+ .bg-accent {
40
+ background-color: hsl(var(--accent));
41
+ }
42
+
43
+ .bg-muted {
44
+ background-color: hsl(var(--muted));
45
+ }
46
+
47
+ .bg-destructive {
48
+ background-color: hsl(var(--destructive));
49
+ }
50
+
51
+ .bg-success {
52
+ background-color: hsl(var(--success));
53
+ }
54
+
55
+ .bg-warning {
56
+ background-color: hsl(var(--warning));
57
+ }
58
+
59
+ .bg-info {
60
+ background-color: hsl(var(--info));
61
+ }
62
+
63
+ .bg-card {
64
+ background-color: hsl(var(--card));
65
+ }
66
+
67
+ .bg-background {
68
+ background-color: hsl(var(--background));
69
+ }
70
+
71
+ .bg-input-background {
72
+ background-color: hsl(var(--input-background));
73
+ }
74
+
75
+ .bg-header {
76
+ background-color: hsl(var(--header));
77
+ }
78
+
79
+ /* 文字颜色工具类 */
80
+ .text-primary-foreground {
81
+ color: hsl(var(--primary-foreground));
82
+ }
83
+
84
+ .text-secondary-foreground {
85
+ color: hsl(var(--secondary-foreground));
86
+ }
87
+
88
+ .text-accent-foreground {
89
+ color: hsl(var(--accent-foreground));
90
+ }
91
+
92
+ .text-muted-foreground {
93
+ color: hsl(var(--muted-foreground));
94
+ }
95
+
96
+ .text-destructive-foreground {
97
+ color: hsl(var(--destructive-foreground));
98
+ }
99
+
100
+ .text-success-foreground {
101
+ color: hsl(var(--success-foreground));
102
+ }
103
+
104
+ .text-warning-foreground {
105
+ color: hsl(var(--warning-foreground));
106
+ }
107
+
108
+ .text-info-foreground {
109
+ color: hsl(var(--info-foreground));
110
+ }
111
+
112
+ .text-card-foreground {
113
+ color: hsl(var(--card-foreground));
114
+ }
115
+
116
+ .text-foreground {
117
+ color: hsl(var(--foreground));
118
+ }
119
+
120
+ .text-input-placeholder {
121
+ color: hsl(var(--input-placeholder));
122
+ }
123
+
124
+ /* 边框颜色工具类 */
125
+ .border-border {
126
+ border-color: hsl(var(--border));
127
+ }
128
+
129
+ .border-input {
130
+ border-color: hsl(var(--input));
131
+ }
132
+
133
+ /* Ring 颜色 */
134
+ .ring-ring {
135
+ --tw-ring-color: hsl(var(--ring));
136
+ }
137
+ }
138
+