ywana-core8 0.2.19 → 0.2.21

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.
@@ -45,7 +45,11 @@
45
45
  }
46
46
 
47
47
  .desktop-taskbar {
48
-
48
+ position: relative;
49
+ z-index: 10000; /* Above everything: workspace (1), windows (100-9999), overlays (9000-9999) */
50
+ background: rgba(0, 0, 0, 0.8); /* Default dark background */
51
+ backdrop-filter: blur(10px);
52
+
49
53
  & .icon {
50
54
  color: white;
51
55
  & :hover {
@@ -53,6 +57,45 @@
53
57
  background-color: rgba(255, 255, 255, 0.1);
54
58
  }
55
59
  }
60
+
61
+ /* Ensure menu inside taskbar appears above everything */
62
+ & .menu-icon > menu {
63
+ z-index: 10001; /* Above taskbar itself */
64
+ /* Dark theme for taskbar menus */
65
+ background-color: rgba(40, 40, 40, 0.98);
66
+ backdrop-filter: blur(10px);
67
+ border-color: rgba(255, 255, 255, 0.15);
68
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
69
+ }
70
+
71
+ /* Menu items styling for dark theme */
72
+ & .menu-icon > menu .menu-item > label {
73
+ color: rgba(255, 255, 255, 0.95);
74
+ }
75
+
76
+ & .menu-icon > menu .menu-item > .icon {
77
+ color: rgba(255, 255, 255, 0.85);
78
+ }
79
+
80
+ & .menu-icon > menu .menu-item > .meta {
81
+ color: rgba(255, 255, 255, 0.6);
82
+ }
83
+
84
+ /* Hover state for menu items */
85
+ & .menu-icon > menu li:hover {
86
+ background-color: rgba(255, 255, 255, 0.15);
87
+ }
88
+
89
+ /* Disabled items */
90
+ & .menu-icon > menu .menu-item.disabled > label,
91
+ & .menu-icon > menu .menu-item.disabled > .icon {
92
+ color: rgba(255, 255, 255, 0.3);
93
+ }
94
+
95
+ /* Separator */
96
+ & .menu-icon > menu .menu-separator {
97
+ border-top-color: rgba(255, 255, 255, 0.15);
98
+ }
56
99
  }
57
100
 
58
101
 
@@ -73,15 +116,399 @@
73
116
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
74
117
  }
75
118
 
119
+ /* ============================================
120
+ DESKTOP OVERLAY SYSTEM
121
+ Z-INDEX LAYERS:
122
+ - Workspace: 1
123
+ - Windows: 100-9999
124
+ - Desktop Overlays: 9000-9999
125
+ - Taskbar: 10000
126
+ - Taskbar Menus: 10001
127
+ ============================================ */
128
+
129
+ /* Desktop Overlay Layer Container */
130
+ /* Note: Positioned within workspace-container to not cover taskbar */
131
+ .desktop-overlay-layer {
132
+ position: absolute;
133
+ top: 0;
134
+ left: 0;
135
+ right: 0;
136
+ bottom: 0;
137
+ pointer-events: none; /* Allow clicks through when no overlays */
138
+ z-index: 9000; /* Above windows (100-9999) but below taskbar (10000) */
139
+ }
140
+
141
+ /* Individual Desktop Overlay */
142
+ .desktop-overlay {
143
+ position: absolute;
144
+ top: 0;
145
+ left: 0;
146
+ right: 0;
147
+ bottom: 0;
148
+ pointer-events: auto;
149
+ display: flex;
150
+ }
151
+
152
+ /* Backdrop */
153
+ .desktop-overlay--backdrop {
154
+ background: rgba(0, 0, 0, 0.16);
155
+ }
156
+
157
+ /* Backdrop with blur */
158
+ .desktop-overlay--blur {
159
+ backdrop-filter: blur(1px);
160
+ }
161
+
162
+ /* Overlay content container */
163
+ .desktop-overlay__content {
164
+ position: relative;
165
+ max-width: 100%;
166
+ max-height: 100%;
167
+ }
168
+
169
+ /* ============================================
170
+ POSITION VARIANTS
171
+ ============================================ */
172
+
173
+ .desktop-overlay--position-center {
174
+ align-items: center;
175
+ justify-content: center;
176
+ }
177
+
178
+ .desktop-overlay--position-top {
179
+ align-items: flex-start;
180
+ justify-content: center;
181
+ }
182
+
183
+ .desktop-overlay--position-bottom {
184
+ align-items: flex-end;
185
+ justify-content: center;
186
+ }
187
+
188
+ .desktop-overlay--position-left {
189
+ align-items: center;
190
+ justify-content: flex-start;
191
+ }
192
+
193
+ .desktop-overlay--position-right {
194
+ align-items: center;
195
+ justify-content: flex-end;
196
+ }
197
+
198
+ .desktop-overlay--position-top-left {
199
+ align-items: flex-start;
200
+ justify-content: flex-start;
201
+ }
202
+
203
+ .desktop-overlay--position-top-right {
204
+ align-items: flex-start;
205
+ justify-content: flex-end;
206
+ }
207
+
208
+ .desktop-overlay--position-bottom-left {
209
+ align-items: flex-end;
210
+ justify-content: flex-start;
211
+ }
212
+
213
+ .desktop-overlay--position-bottom-right {
214
+ align-items: flex-end;
215
+ justify-content: flex-end;
216
+ }
217
+
218
+ .desktop-overlay--position-custom {
219
+ align-items: flex-start;
220
+ justify-content: flex-start;
221
+ }
222
+
223
+ /* ============================================
224
+ SIZE VARIANTS
225
+ ============================================ */
226
+
227
+ .desktop-overlay--size-auto .desktop-overlay__content {
228
+ width: auto;
229
+ height: auto;
230
+ }
231
+
232
+ .desktop-overlay--size-full .desktop-overlay__content {
233
+ width: 100%;
234
+ height: 100%;
235
+ }
236
+
237
+ .desktop-overlay--size-large .desktop-overlay__content {
238
+ width: 80%;
239
+ height: 80%;
240
+ max-width: 1200px;
241
+ max-height: 800px;
242
+ }
243
+
244
+ .desktop-overlay--size-medium .desktop-overlay__content {
245
+ width: 60%;
246
+ height: 60%;
247
+ max-width: 800px;
248
+ max-height: 600px;
249
+ }
250
+
251
+ .desktop-overlay--size-small .desktop-overlay__content {
252
+ width: 40%;
253
+ height: 40%;
254
+ max-width: 500px;
255
+ max-height: 400px;
256
+ }
257
+
258
+ .desktop-overlay--size-custom .desktop-overlay__content {
259
+ /* Custom size set via inline styles */
260
+ }
261
+
262
+ /* ============================================
263
+ ANIMATIONS - ENTER
264
+ ============================================ */
265
+
266
+ /* Fade */
267
+ .desktop-overlay--enter-fade {
268
+ animation: desktopOverlayFadeIn var(--animation-duration, 300ms) ease-out;
269
+ }
270
+
271
+ @keyframes desktopOverlayFadeIn {
272
+ from {
273
+ opacity: 0;
274
+ }
275
+ to {
276
+ opacity: 1;
277
+ }
278
+ }
279
+
280
+ /* Slide Up */
281
+ .desktop-overlay--enter-slide-up .desktop-overlay__content {
282
+ animation: desktopOverlaySlideUp var(--animation-duration, 300ms) ease-out;
283
+ }
284
+
285
+ @keyframes desktopOverlaySlideUp {
286
+ from {
287
+ transform: translateY(100%);
288
+ opacity: 0;
289
+ }
290
+ to {
291
+ transform: translateY(0);
292
+ opacity: 1;
293
+ }
294
+ }
295
+
296
+ /* Slide Down */
297
+ .desktop-overlay--enter-slide-down .desktop-overlay__content {
298
+ animation: desktopOverlaySlideDown var(--animation-duration, 300ms) ease-out;
299
+ }
300
+
301
+ @keyframes desktopOverlaySlideDown {
302
+ from {
303
+ transform: translateY(-100%);
304
+ opacity: 0;
305
+ }
306
+ to {
307
+ transform: translateY(0);
308
+ opacity: 1;
309
+ }
310
+ }
311
+
312
+ /* Slide Left */
313
+ .desktop-overlay--enter-slide-left .desktop-overlay__content {
314
+ animation: desktopOverlaySlideLeft var(--animation-duration, 300ms) ease-out;
315
+ }
316
+
317
+ @keyframes desktopOverlaySlideLeft {
318
+ from {
319
+ transform: translateX(100%);
320
+ opacity: 0;
321
+ }
322
+ to {
323
+ transform: translateX(0);
324
+ opacity: 1;
325
+ }
326
+ }
327
+
328
+ /* Slide Right */
329
+ .desktop-overlay--enter-slide-right .desktop-overlay__content {
330
+ animation: desktopOverlaySlideRight var(--animation-duration, 300ms) ease-out;
331
+ }
332
+
333
+ @keyframes desktopOverlaySlideRight {
334
+ from {
335
+ transform: translateX(-100%);
336
+ opacity: 0;
337
+ }
338
+ to {
339
+ transform: translateX(0);
340
+ opacity: 1;
341
+ }
342
+ }
343
+
344
+ /* Scale */
345
+ .desktop-overlay--enter-scale .desktop-overlay__content {
346
+ animation: desktopOverlayScaleIn var(--animation-duration, 300ms) ease-out;
347
+ }
348
+
349
+ @keyframes desktopOverlayScaleIn {
350
+ from {
351
+ transform: scale(0.8);
352
+ opacity: 0;
353
+ }
354
+ to {
355
+ transform: scale(1);
356
+ opacity: 1;
357
+ }
358
+ }
359
+
360
+ /* None */
361
+ .desktop-overlay--enter-none {
362
+ /* No animation */
363
+ }
364
+
365
+ /* ============================================
366
+ ANIMATIONS - EXIT
367
+ ============================================ */
368
+
369
+ /* Fade */
370
+ .desktop-overlay--exit-fade {
371
+ animation: desktopOverlayFadeOut var(--animation-duration, 300ms) ease-in;
372
+ }
373
+
374
+ @keyframes desktopOverlayFadeOut {
375
+ from {
376
+ opacity: 1;
377
+ }
378
+ to {
379
+ opacity: 0;
380
+ }
381
+ }
382
+
383
+ /* Slide Up */
384
+ .desktop-overlay--exit-slide-up .desktop-overlay__content {
385
+ animation: desktopOverlaySlideUpExit var(--animation-duration, 300ms) ease-in;
386
+ }
387
+
388
+ @keyframes desktopOverlaySlideUpExit {
389
+ from {
390
+ transform: translateY(0);
391
+ opacity: 1;
392
+ }
393
+ to {
394
+ transform: translateY(-100%);
395
+ opacity: 0;
396
+ }
397
+ }
398
+
399
+ /* Slide Down */
400
+ .desktop-overlay--exit-slide-down .desktop-overlay__content {
401
+ animation: desktopOverlaySlideDownExit var(--animation-duration, 300ms) ease-in;
402
+ }
403
+
404
+ @keyframes desktopOverlaySlideDownExit {
405
+ from {
406
+ transform: translateY(0);
407
+ opacity: 1;
408
+ }
409
+ to {
410
+ transform: translateY(100%);
411
+ opacity: 0;
412
+ }
413
+ }
414
+
415
+ /* Slide Left */
416
+ .desktop-overlay--exit-slide-left .desktop-overlay__content {
417
+ animation: desktopOverlaySlideLeftExit var(--animation-duration, 300ms) ease-in;
418
+ }
419
+
420
+ @keyframes desktopOverlaySlideLeftExit {
421
+ from {
422
+ transform: translateX(0);
423
+ opacity: 1;
424
+ }
425
+ to {
426
+ transform: translateX(-100%);
427
+ opacity: 0;
428
+ }
429
+ }
430
+
431
+ /* Slide Right */
432
+ .desktop-overlay--exit-slide-right .desktop-overlay__content {
433
+ animation: desktopOverlaySlideRightExit var(--animation-duration, 300ms) ease-in;
434
+ }
435
+
436
+ @keyframes desktopOverlaySlideRightExit {
437
+ from {
438
+ transform: translateX(0);
439
+ opacity: 1;
440
+ }
441
+ to {
442
+ transform: translateX(100%);
443
+ opacity: 0;
444
+ }
445
+ }
446
+
447
+ /* Scale */
448
+ .desktop-overlay--exit-scale .desktop-overlay__content {
449
+ animation: desktopOverlayScaleOut var(--animation-duration, 300ms) ease-in;
450
+ }
451
+
452
+ @keyframes desktopOverlayScaleOut {
453
+ from {
454
+ transform: scale(1);
455
+ opacity: 1;
456
+ }
457
+ to {
458
+ transform: scale(0.8);
459
+ opacity: 0;
460
+ }
461
+ }
462
+
463
+ /* None */
464
+ .desktop-overlay--exit-none {
465
+ /* No animation */
466
+ }
467
+
468
+ /* ============================================
469
+ LAUNCHPAD SPECIFIC OVERLAY
470
+ ============================================ */
471
+
472
+ .desktop-overlay--launchpad {
473
+ align-items: flex-end;
474
+ justify-content: flex-start;
475
+ }
476
+
477
+ .desktop-overlay__content--launchpad {
478
+ padding: 0 0 0 15px;
479
+ }
480
+
76
481
  /* Responsive design */
77
482
  @media (max-width: 768px) {
78
483
  .desktop {
79
484
  font-size: 14px;
80
485
  }
486
+
487
+ .desktop-overlay--size-large .desktop-overlay__content {
488
+ width: 90%;
489
+ height: 90%;
490
+ }
491
+
492
+ .desktop-overlay--size-medium .desktop-overlay__content {
493
+ width: 80%;
494
+ height: 80%;
495
+ }
496
+
497
+ .desktop-overlay--size-small .desktop-overlay__content {
498
+ width: 70%;
499
+ height: 70%;
500
+ }
81
501
  }
82
502
 
83
503
  @media (max-width: 480px) {
84
504
  .desktop {
85
505
  font-size: 12px;
86
506
  }
507
+
508
+ .desktop-overlay--size-large .desktop-overlay__content,
509
+ .desktop-overlay--size-medium .desktop-overlay__content,
510
+ .desktop-overlay--size-small .desktop-overlay__content {
511
+ width: 95%;
512
+ height: 95%;
513
+ }
87
514
  }