long-git-cli 1.0.16 → 1.0.18

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.
@@ -0,0 +1,381 @@
1
+ /**
2
+ * 主样式文件
3
+ * 包含全局样式、布局和基础组件
4
+ */
5
+
6
+ /* ==================== CSS Variables ==================== */
7
+ :root {
8
+ /* 颜色 */
9
+ --primary-color: #2563eb;
10
+ --success-color: #10b981;
11
+ --warning-color: #f59e0b;
12
+ --error-color: #ef4444;
13
+ --bg-color: #f9fafb;
14
+ --card-bg: #ffffff;
15
+ --text-primary: #111827;
16
+ --text-secondary: #6b7280;
17
+ --border-color: #e5e7eb;
18
+ --hover-bg: #f3f4f6;
19
+
20
+ /* 间距 */
21
+ --spacing-xs: 0.25rem;
22
+ --spacing-sm: 0.5rem;
23
+ --spacing-md: 1rem;
24
+ --spacing-lg: 1.5rem;
25
+ --spacing-xl: 2rem;
26
+
27
+ /* 圆角 */
28
+ --radius-sm: 0.25rem;
29
+ --radius-md: 0.5rem;
30
+ --radius-lg: 0.75rem;
31
+
32
+ /* 阴影 */
33
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
34
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
35
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
36
+
37
+ /* 字体 */
38
+ --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
39
+ "Helvetica Neue", Arial, sans-serif;
40
+ }
41
+
42
+ /* ==================== 全局样式 ==================== */
43
+ * {
44
+ margin: 0;
45
+ padding: 0;
46
+ box-sizing: border-box;
47
+ }
48
+
49
+ body {
50
+ font-family: var(--font-family);
51
+ font-size: 14px;
52
+ line-height: 1.5;
53
+ color: var(--text-primary);
54
+ background-color: var(--bg-color);
55
+ -webkit-font-smoothing: antialiased;
56
+ -moz-osx-font-smoothing: grayscale;
57
+ }
58
+
59
+ /* ==================== 布局 ==================== */
60
+ .container {
61
+ display: flex;
62
+ flex-direction: column;
63
+ min-height: 100vh;
64
+ }
65
+
66
+ .header {
67
+ background-color: var(--card-bg);
68
+ border-bottom: 1px solid var(--border-color);
69
+ padding: var(--spacing-lg) var(--spacing-xl);
70
+ box-shadow: var(--shadow-sm);
71
+ }
72
+
73
+ .header h1 {
74
+ font-size: 1.5rem;
75
+ font-weight: 600;
76
+ color: var(--text-primary);
77
+ }
78
+
79
+ .main-content {
80
+ display: flex;
81
+ flex: 1;
82
+ overflow: hidden;
83
+ }
84
+
85
+ /* ==================== 侧边栏 ==================== */
86
+ .sidebar {
87
+ width: 240px;
88
+ background-color: var(--card-bg);
89
+ border-right: 1px solid var(--border-color);
90
+ padding: var(--spacing-lg);
91
+ overflow-y: auto;
92
+ }
93
+
94
+ .nav {
95
+ display: flex;
96
+ flex-direction: column;
97
+ gap: var(--spacing-sm);
98
+ }
99
+
100
+ .nav-item {
101
+ display: flex;
102
+ align-items: center;
103
+ gap: var(--spacing-md);
104
+ padding: var(--spacing-md);
105
+ border-radius: var(--radius-md);
106
+ color: var(--text-secondary);
107
+ text-decoration: none;
108
+ transition: all 0.2s ease;
109
+ cursor: pointer;
110
+ }
111
+
112
+ .nav-item:hover {
113
+ background-color: var(--hover-bg);
114
+ color: var(--text-primary);
115
+ }
116
+
117
+ .nav-item.active {
118
+ background-color: var(--primary-color);
119
+ color: white;
120
+ }
121
+
122
+ .nav-icon {
123
+ font-size: 1.25rem;
124
+ }
125
+
126
+ .nav-text {
127
+ font-size: 0.875rem;
128
+ font-weight: 500;
129
+ }
130
+
131
+ /* ==================== 内容区域 ==================== */
132
+ .content {
133
+ flex: 1;
134
+ padding: var(--spacing-xl);
135
+ overflow-y: auto;
136
+ background-color: var(--bg-color);
137
+ }
138
+
139
+ .page {
140
+ display: none;
141
+ }
142
+
143
+ .page.active {
144
+ display: block;
145
+ animation: fadeIn 0.3s ease;
146
+ }
147
+
148
+ @keyframes fadeIn {
149
+ from {
150
+ opacity: 0;
151
+ transform: translateY(10px);
152
+ }
153
+ to {
154
+ opacity: 1;
155
+ transform: translateY(0);
156
+ }
157
+ }
158
+
159
+ .page h2 {
160
+ font-size: 1.5rem;
161
+ font-weight: 600;
162
+ margin-bottom: var(--spacing-lg);
163
+ color: var(--text-primary);
164
+ }
165
+
166
+ /* ==================== 卡片 ==================== */
167
+ .card {
168
+ background-color: var(--card-bg);
169
+ border-radius: var(--radius-lg);
170
+ padding: var(--spacing-lg);
171
+ box-shadow: var(--shadow-sm);
172
+ margin-bottom: var(--spacing-lg);
173
+ }
174
+
175
+ .card-header {
176
+ display: flex;
177
+ justify-content: space-between;
178
+ align-items: center;
179
+ margin-bottom: var(--spacing-md);
180
+ }
181
+
182
+ .card-title {
183
+ font-size: 1.125rem;
184
+ font-weight: 600;
185
+ color: var(--text-primary);
186
+ }
187
+
188
+ .card-body {
189
+ color: var(--text-secondary);
190
+ }
191
+
192
+ /* ==================== 表单 ==================== */
193
+ .form-group {
194
+ margin-bottom: var(--spacing-lg);
195
+ }
196
+
197
+ .form-label {
198
+ display: block;
199
+ font-size: 0.875rem;
200
+ font-weight: 500;
201
+ color: var(--text-primary);
202
+ margin-bottom: var(--spacing-sm);
203
+ }
204
+
205
+ .form-input {
206
+ width: 100%;
207
+ padding: var(--spacing-md);
208
+ border: 1px solid var(--border-color);
209
+ border-radius: var(--radius-md);
210
+ font-size: 0.875rem;
211
+ color: var(--text-primary);
212
+ transition: all 0.2s ease;
213
+ }
214
+
215
+ .form-input:focus {
216
+ outline: none;
217
+ border-color: var(--primary-color);
218
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
219
+ }
220
+
221
+ .form-input::placeholder {
222
+ color: var(--text-secondary);
223
+ }
224
+
225
+ .form-select {
226
+ width: 100%;
227
+ padding: var(--spacing-md);
228
+ border: 1px solid var(--border-color);
229
+ border-radius: var(--radius-md);
230
+ font-size: 0.875rem;
231
+ color: var(--text-primary);
232
+ background-color: white;
233
+ cursor: pointer;
234
+ transition: all 0.2s ease;
235
+ }
236
+
237
+ .form-select:focus {
238
+ outline: none;
239
+ border-color: var(--primary-color);
240
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
241
+ }
242
+
243
+ /* ==================== 按钮 ==================== */
244
+ .btn {
245
+ display: inline-flex;
246
+ align-items: center;
247
+ justify-content: center;
248
+ gap: var(--spacing-sm);
249
+ padding: var(--spacing-md) var(--spacing-lg);
250
+ border: none;
251
+ border-radius: var(--radius-md);
252
+ font-size: 0.875rem;
253
+ font-weight: 500;
254
+ cursor: pointer;
255
+ transition: all 0.2s ease;
256
+ text-decoration: none;
257
+ }
258
+
259
+ .btn:disabled {
260
+ opacity: 0.5;
261
+ cursor: not-allowed;
262
+ }
263
+
264
+ .btn-primary {
265
+ background-color: var(--primary-color);
266
+ color: white;
267
+ }
268
+
269
+ .btn-primary:hover:not(:disabled) {
270
+ background-color: #1d4ed8;
271
+ }
272
+
273
+ .btn-secondary {
274
+ background-color: var(--hover-bg);
275
+ color: var(--text-primary);
276
+ }
277
+
278
+ .btn-secondary:hover:not(:disabled) {
279
+ background-color: var(--border-color);
280
+ }
281
+
282
+ .btn-success {
283
+ background-color: var(--success-color);
284
+ color: white;
285
+ }
286
+
287
+ .btn-success:hover:not(:disabled) {
288
+ background-color: #059669;
289
+ }
290
+
291
+ .btn-danger {
292
+ background-color: var(--error-color);
293
+ color: white;
294
+ }
295
+
296
+ .btn-danger:hover:not(:disabled) {
297
+ background-color: #dc2626;
298
+ }
299
+
300
+ .btn-sm {
301
+ padding: var(--spacing-sm) var(--spacing-md);
302
+ font-size: 0.75rem;
303
+ }
304
+
305
+ /* ==================== 工具类 ==================== */
306
+ .hidden {
307
+ display: none !important;
308
+ }
309
+
310
+ .text-center {
311
+ text-align: center;
312
+ }
313
+
314
+ .text-right {
315
+ text-align: right;
316
+ }
317
+
318
+ .mt-sm {
319
+ margin-top: var(--spacing-sm);
320
+ }
321
+ .mt-md {
322
+ margin-top: var(--spacing-md);
323
+ }
324
+ .mt-lg {
325
+ margin-top: var(--spacing-lg);
326
+ }
327
+
328
+ .mb-sm {
329
+ margin-bottom: var(--spacing-sm);
330
+ }
331
+ .mb-md {
332
+ margin-bottom: var(--spacing-md);
333
+ }
334
+ .mb-lg {
335
+ margin-bottom: var(--spacing-lg);
336
+ }
337
+
338
+ .flex {
339
+ display: flex;
340
+ }
341
+
342
+ .flex-col {
343
+ flex-direction: column;
344
+ }
345
+
346
+ .items-center {
347
+ align-items: center;
348
+ }
349
+
350
+ .justify-between {
351
+ justify-content: space-between;
352
+ }
353
+
354
+ .gap-sm {
355
+ gap: var(--spacing-sm);
356
+ }
357
+ .gap-md {
358
+ gap: var(--spacing-md);
359
+ }
360
+ .gap-lg {
361
+ gap: var(--spacing-lg);
362
+ }
363
+
364
+ /* ==================== Jenkins Instance 样式 ==================== */
365
+ .jenkins-instance {
366
+ padding: var(--spacing-lg);
367
+ border: 1px solid var(--border-color);
368
+ border-radius: var(--radius-md);
369
+ background-color: var(--bg-color);
370
+ }
371
+
372
+ /* ==================== Modal 内容样式 ==================== */
373
+ .modal-body input[type="checkbox"] {
374
+ width: 1rem;
375
+ height: 1rem;
376
+ cursor: pointer;
377
+ }
378
+
379
+ .modal-body label {
380
+ cursor: pointer;
381
+ }