zenkit-css 1.0.0

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 (96) hide show
  1. package/README.md +182 -0
  2. package/dist/zenkit.css +33721 -0
  3. package/dist/zenkit.css.map +1 -0
  4. package/dist/zenkit.min.css +1 -0
  5. package/dist/zenkit.min.css.map +1 -0
  6. package/package.json +41 -0
  7. package/scss/abstracts/_functions.scss +174 -0
  8. package/scss/abstracts/_mixins.scss +272 -0
  9. package/scss/abstracts/_variables.scss +216 -0
  10. package/scss/base/_reset.scss +130 -0
  11. package/scss/base/_root.scss +194 -0
  12. package/scss/base/_typography.scss +271 -0
  13. package/scss/components/_accordion.scss +200 -0
  14. package/scss/components/_affix.scss +278 -0
  15. package/scss/components/_alerts.scss +175 -0
  16. package/scss/components/_anchor.scss +438 -0
  17. package/scss/components/_autocomplete.scss +530 -0
  18. package/scss/components/_avatar.scss +256 -0
  19. package/scss/components/_backtop.scss +329 -0
  20. package/scss/components/_badges.scss +266 -0
  21. package/scss/components/_breadcrumb.scss +102 -0
  22. package/scss/components/_buttons.scss +340 -0
  23. package/scss/components/_calendar.scss +787 -0
  24. package/scss/components/_cards.scss +265 -0
  25. package/scss/components/_carousel.scss +306 -0
  26. package/scss/components/_cascader.scss +510 -0
  27. package/scss/components/_close-button.scss +106 -0
  28. package/scss/components/_colorpicker.scss +593 -0
  29. package/scss/components/_datepicker.scss +625 -0
  30. package/scss/components/_descriptions.scss +453 -0
  31. package/scss/components/_divider.scss +253 -0
  32. package/scss/components/_drawer.scss +485 -0
  33. package/scss/components/_dropdown.scss +323 -0
  34. package/scss/components/_empty.scss +321 -0
  35. package/scss/components/_floatbutton.scss +400 -0
  36. package/scss/components/_forms.scss +753 -0
  37. package/scss/components/_image.scss +497 -0
  38. package/scss/components/_inputnumber.scss +475 -0
  39. package/scss/components/_layout.scss +538 -0
  40. package/scss/components/_list-group.scss +227 -0
  41. package/scss/components/_list.scss +528 -0
  42. package/scss/components/_mentions.scss +479 -0
  43. package/scss/components/_menu.scss +510 -0
  44. package/scss/components/_message.scss +412 -0
  45. package/scss/components/_modal.scss +304 -0
  46. package/scss/components/_navbar.scss +329 -0
  47. package/scss/components/_notification.scss +499 -0
  48. package/scss/components/_offcanvas.scss +274 -0
  49. package/scss/components/_pagination.scss +176 -0
  50. package/scss/components/_placeholder.scss +237 -0
  51. package/scss/components/_popconfirm.scss +393 -0
  52. package/scss/components/_popover.scss +298 -0
  53. package/scss/components/_progress.scss +225 -0
  54. package/scss/components/_rating.scss +314 -0
  55. package/scss/components/_result.scss +383 -0
  56. package/scss/components/_segmented.scss +441 -0
  57. package/scss/components/_select.scss +412 -0
  58. package/scss/components/_spinners.scss +229 -0
  59. package/scss/components/_statistic.scss +336 -0
  60. package/scss/components/_steps.scss +343 -0
  61. package/scss/components/_tabs.scss +239 -0
  62. package/scss/components/_tag.scss +317 -0
  63. package/scss/components/_timeline.scss +341 -0
  64. package/scss/components/_timepicker.scss +468 -0
  65. package/scss/components/_toast.scss +279 -0
  66. package/scss/components/_tooltip.scss +305 -0
  67. package/scss/components/_tour.scss +488 -0
  68. package/scss/components/_transfer.scss +556 -0
  69. package/scss/components/_tree.scss +518 -0
  70. package/scss/components/_treeselect.scss +531 -0
  71. package/scss/components/_upload.scss +510 -0
  72. package/scss/components/_watermark.scss +314 -0
  73. package/scss/content/_figures.scss +38 -0
  74. package/scss/content/_images.scss +138 -0
  75. package/scss/content/_tables.scss +232 -0
  76. package/scss/layout/_container.scss +71 -0
  77. package/scss/layout/_grid.scss +258 -0
  78. package/scss/utilities/_animations.scss +494 -0
  79. package/scss/utilities/_borders.scss +246 -0
  80. package/scss/utilities/_colors.scss +194 -0
  81. package/scss/utilities/_display.scss +263 -0
  82. package/scss/utilities/_filters.scss +328 -0
  83. package/scss/utilities/_flex.scss +178 -0
  84. package/scss/utilities/_float.scss +70 -0
  85. package/scss/utilities/_grid-utils.scss +151 -0
  86. package/scss/utilities/_helpers.scss +479 -0
  87. package/scss/utilities/_interactions.scss +249 -0
  88. package/scss/utilities/_overflow.scss +204 -0
  89. package/scss/utilities/_position.scss +245 -0
  90. package/scss/utilities/_shadows.scss +67 -0
  91. package/scss/utilities/_sizing.scss +217 -0
  92. package/scss/utilities/_spacing.scss +207 -0
  93. package/scss/utilities/_text.scss +237 -0
  94. package/scss/utilities/_transforms.scss +368 -0
  95. package/scss/utilities/_visibility.scss +251 -0
  96. package/scss/zenkit.scss +121 -0
@@ -0,0 +1,383 @@
1
+ // ========================================
2
+ // ZenKit - Result / Status Pages
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+
7
+ // ----------------------------------------
8
+ // Base Result
9
+ // ----------------------------------------
10
+ .result {
11
+ display: flex;
12
+ flex-direction: column;
13
+ align-items: center;
14
+ justify-content: center;
15
+ text-align: center;
16
+ padding: 3rem 1.5rem;
17
+ }
18
+
19
+ // ----------------------------------------
20
+ // Result Icon
21
+ // ----------------------------------------
22
+ .result-icon {
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: center;
26
+ width: 5rem;
27
+ height: 5rem;
28
+ margin-bottom: 1.5rem;
29
+ border-radius: 50%;
30
+
31
+ svg {
32
+ width: 3rem;
33
+ height: 3rem;
34
+ }
35
+ }
36
+
37
+ // Result Icon Colors
38
+ .result-icon-success {
39
+ color: $success;
40
+ background-color: $success-light;
41
+ }
42
+
43
+ .result-icon-error,
44
+ .result-icon-danger {
45
+ color: $danger;
46
+ background-color: $danger-light;
47
+ }
48
+
49
+ .result-icon-warning {
50
+ color: $warning-dark;
51
+ background-color: $warning-light;
52
+ }
53
+
54
+ .result-icon-info {
55
+ color: $info;
56
+ background-color: $info-light;
57
+ }
58
+
59
+ .result-icon-primary {
60
+ color: var(--primary);
61
+ background-color: var(--primary-50);
62
+ }
63
+
64
+ // ----------------------------------------
65
+ // Result Title
66
+ // ----------------------------------------
67
+ .result-title {
68
+ font-size: var(--text-2xl);
69
+ font-weight: $font-weight-bold;
70
+ color: var(--text);
71
+ margin-bottom: 0.5rem;
72
+ }
73
+
74
+ // ----------------------------------------
75
+ // Result Subtitle
76
+ // ----------------------------------------
77
+ .result-subtitle {
78
+ font-size: var(--text-base);
79
+ color: var(--text-muted);
80
+ max-width: 480px;
81
+ margin-bottom: 1.5rem;
82
+ line-height: $line-height-relaxed;
83
+ }
84
+
85
+ // ----------------------------------------
86
+ // Result Actions
87
+ // ----------------------------------------
88
+ .result-actions {
89
+ display: flex;
90
+ flex-wrap: wrap;
91
+ align-items: center;
92
+ justify-content: center;
93
+ gap: 0.75rem;
94
+ margin-top: 0.5rem;
95
+ }
96
+
97
+ // ----------------------------------------
98
+ // Result Extra Content
99
+ // ----------------------------------------
100
+ .result-extra {
101
+ margin-top: 2rem;
102
+ padding-top: 2rem;
103
+ border-top: $border-width solid var(--border);
104
+ width: 100%;
105
+ max-width: 600px;
106
+ }
107
+
108
+ // ----------------------------------------
109
+ // Result Status Variants
110
+ // ----------------------------------------
111
+ .result-success {
112
+ .result-title {
113
+ color: $success-dark;
114
+ }
115
+ }
116
+
117
+ .result-error {
118
+ .result-title {
119
+ color: $danger-dark;
120
+ }
121
+ }
122
+
123
+ .result-warning {
124
+ .result-title {
125
+ color: $warning-dark;
126
+ }
127
+ }
128
+
129
+ .result-info {
130
+ .result-title {
131
+ color: $info-dark;
132
+ }
133
+ }
134
+
135
+ // ----------------------------------------
136
+ // Result Sizes
137
+ // ----------------------------------------
138
+ .result-sm {
139
+ padding: 2rem 1rem;
140
+
141
+ .result-icon {
142
+ width: 3.5rem;
143
+ height: 3.5rem;
144
+ margin-bottom: 1rem;
145
+
146
+ svg {
147
+ width: 2rem;
148
+ height: 2rem;
149
+ }
150
+ }
151
+
152
+ .result-title {
153
+ font-size: var(--text-lg);
154
+ }
155
+
156
+ .result-subtitle {
157
+ font-size: var(--text-sm);
158
+ margin-bottom: 1rem;
159
+ }
160
+ }
161
+
162
+ .result-lg {
163
+ padding: 4rem 2rem;
164
+
165
+ .result-icon {
166
+ width: 7rem;
167
+ height: 7rem;
168
+ margin-bottom: 2rem;
169
+
170
+ svg {
171
+ width: 4rem;
172
+ height: 4rem;
173
+ }
174
+ }
175
+
176
+ .result-title {
177
+ font-size: var(--text-3xl);
178
+ }
179
+
180
+ .result-subtitle {
181
+ font-size: var(--text-lg);
182
+ max-width: 560px;
183
+ }
184
+ }
185
+
186
+ // ----------------------------------------
187
+ // Full Page Result
188
+ // ----------------------------------------
189
+ .result-fullpage {
190
+ min-height: 100vh;
191
+ padding: 2rem;
192
+
193
+ .result-icon {
194
+ width: 8rem;
195
+ height: 8rem;
196
+
197
+ svg {
198
+ width: 5rem;
199
+ height: 5rem;
200
+ }
201
+ }
202
+
203
+ .result-title {
204
+ font-size: var(--text-4xl);
205
+ }
206
+
207
+ .result-subtitle {
208
+ font-size: var(--text-xl);
209
+ max-width: 640px;
210
+ }
211
+ }
212
+
213
+ // ----------------------------------------
214
+ // Result with Image
215
+ // ----------------------------------------
216
+ .result-image {
217
+ max-width: 320px;
218
+ max-height: 240px;
219
+ margin-bottom: 2rem;
220
+
221
+ img,
222
+ svg {
223
+ width: 100%;
224
+ height: auto;
225
+ }
226
+ }
227
+
228
+ // ----------------------------------------
229
+ // Common Result Types
230
+ // ----------------------------------------
231
+
232
+ // 404 Not Found
233
+ .result-404 {
234
+ .result-code {
235
+ font-size: var(--text-5xl);
236
+ font-weight: $font-weight-bold;
237
+ color: var(--gray-300);
238
+ margin-bottom: 1rem;
239
+ line-height: 1;
240
+ }
241
+ }
242
+
243
+ // 403 Forbidden
244
+ .result-403 {
245
+ .result-icon {
246
+ color: $warning-dark;
247
+ background-color: $warning-light;
248
+ }
249
+ }
250
+
251
+ // 500 Server Error
252
+ .result-500 {
253
+ .result-icon {
254
+ color: $danger;
255
+ background-color: $danger-light;
256
+ }
257
+ }
258
+
259
+ // ----------------------------------------
260
+ // Result Card
261
+ // ----------------------------------------
262
+ .result-card {
263
+ padding: 2rem;
264
+ background-color: var(--bg);
265
+ border: $border-width solid var(--border);
266
+ border-radius: var(--radius-lg);
267
+ box-shadow: var(--shadow);
268
+ }
269
+
270
+ // ----------------------------------------
271
+ // Inline Result (Compact)
272
+ // ----------------------------------------
273
+ .result-inline {
274
+ flex-direction: row;
275
+ text-align: left;
276
+ padding: 1.5rem;
277
+ gap: 1rem;
278
+
279
+ .result-icon {
280
+ margin-bottom: 0;
281
+ flex-shrink: 0;
282
+ }
283
+
284
+ .result-content {
285
+ flex: 1;
286
+ }
287
+
288
+ .result-subtitle {
289
+ margin-bottom: 0;
290
+ }
291
+
292
+ .result-actions {
293
+ flex-shrink: 0;
294
+ margin-top: 0;
295
+ justify-content: flex-end;
296
+ }
297
+ }
298
+
299
+ // ----------------------------------------
300
+ // Result with Steps
301
+ // ----------------------------------------
302
+ .result-steps {
303
+ margin-top: 2rem;
304
+ width: 100%;
305
+ max-width: 480px;
306
+ }
307
+
308
+ .result-step {
309
+ display: flex;
310
+ align-items: flex-start;
311
+ gap: 0.75rem;
312
+ padding: 0.75rem 0;
313
+ text-align: left;
314
+
315
+ &:not(:last-child) {
316
+ border-bottom: $border-width solid var(--border);
317
+ }
318
+ }
319
+
320
+ .result-step-number {
321
+ display: flex;
322
+ align-items: center;
323
+ justify-content: center;
324
+ width: 1.5rem;
325
+ height: 1.5rem;
326
+ font-size: var(--text-xs);
327
+ font-weight: $font-weight-semibold;
328
+ color: var(--white);
329
+ background-color: var(--primary);
330
+ border-radius: 50%;
331
+ flex-shrink: 0;
332
+ }
333
+
334
+ .result-step-content {
335
+ flex: 1;
336
+
337
+ .result-step-title {
338
+ font-size: var(--text-sm);
339
+ font-weight: $font-weight-medium;
340
+ color: var(--text);
341
+ }
342
+
343
+ .result-step-description {
344
+ font-size: var(--text-xs);
345
+ color: var(--text-muted);
346
+ margin-top: 0.125rem;
347
+ }
348
+ }
349
+
350
+ // ----------------------------------------
351
+ // Animated Result Icon
352
+ // ----------------------------------------
353
+ .result-icon-animated {
354
+ animation: result-icon-bounce 0.5s ease-out;
355
+ }
356
+
357
+ @keyframes result-icon-bounce {
358
+ 0% {
359
+ transform: scale(0);
360
+ opacity: 0;
361
+ }
362
+ 50% {
363
+ transform: scale(1.1);
364
+ }
365
+ 100% {
366
+ transform: scale(1);
367
+ opacity: 1;
368
+ }
369
+ }
370
+
371
+ // Checkmark animation for success
372
+ .result-icon-success.result-icon-animated svg {
373
+ animation: result-checkmark 0.4s ease-out 0.2s both;
374
+ }
375
+
376
+ @keyframes result-checkmark {
377
+ 0% {
378
+ stroke-dashoffset: 100;
379
+ }
380
+ 100% {
381
+ stroke-dashoffset: 0;
382
+ }
383
+ }