ywana-core8 0.2.6 → 0.2.9

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.
@@ -1,18 +1,20 @@
1
- /* ApplicationMenu - Full-screen overlay styles */
1
+ /* ApplicationMenu - Positioned over workspace only */
2
2
 
3
3
  .application-menu-overlay {
4
- position: fixed;
4
+ position: absolute;
5
5
  top: 0;
6
6
  left: 0;
7
7
  right: 0;
8
- bottom: 0;
8
+ bottom: 0; /* Covers entire workspace container */
9
9
  background: rgba(0, 0, 0, 0.8);
10
10
  backdrop-filter: blur(8px);
11
- z-index: 10000;
11
+ z-index: 10000; /* Always above all windows */
12
12
  display: flex;
13
- align-items: center;
14
- justify-content: center;
13
+ align-items: flex-end;
14
+ justify-content: flex-start;
15
15
  animation: fadeIn 0.2s ease-out;
16
+ pointer-events: auto; /* Ensure menu is clickable */
17
+ padding: 0 0 0px 15px; /* Espacio para el taskbar y margen izquierdo */
16
18
  }
17
19
 
18
20
  @keyframes fadeIn {
@@ -26,37 +28,49 @@
26
28
 
27
29
  .application-menu {
28
30
  background: #ffffff;
29
- border-radius: 12px;
30
- box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
31
- width: 90%;
32
- max-width: 900px;
33
- height: 80%;
34
- max-height: 700px;
35
- display: flex;
36
- flex-direction: column;
31
+ border-radius: 12px 12px 0 0;
32
+ box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.3);
33
+ width: 30rem;
34
+ max-width: 1000px;
35
+ height: 80vh; /* Altura fija relativa al viewport */
36
+ max-height: calc(100% - 80px); /* Espacio para taskbar */
37
+ display: grid;
38
+ grid-template-rows: auto auto 1fr;
39
+ grid-template-areas:
40
+ "header"
41
+ "search"
42
+ "main";
37
43
  overflow: hidden;
38
44
  animation: slideIn 0.3s ease-out;
39
45
  }
40
46
 
41
47
  @keyframes slideIn {
42
48
  from {
43
- transform: scale(0.9) translateY(20px);
49
+ transform: translateY(20px);
44
50
  opacity: 0;
45
51
  }
46
52
  to {
47
- transform: scale(1) translateY(0);
53
+ transform: translateY(0);
48
54
  opacity: 1;
49
55
  }
50
56
  }
51
57
 
52
58
  /* Header */
53
59
  .application-menu__header {
60
+ grid-area: header;
54
61
  display: flex;
55
62
  align-items: center;
56
- justify-content: space-between;
57
- padding: 20px 24px;
63
+ justify-content: flex-end;
64
+ padding: 8px 16px;
58
65
  border-bottom: 1px solid #e0e0e0;
59
66
  background: #f8f9fa;
67
+ min-height: 40px;
68
+ }
69
+
70
+ .application-menu__header-controls {
71
+ display: flex;
72
+ align-items: center;
73
+ gap: 6px;
60
74
  }
61
75
 
62
76
  .application-menu__header h2 {
@@ -66,15 +80,48 @@
66
80
  font-weight: 600;
67
81
  }
68
82
 
83
+ .application-menu__view-toggle {
84
+ background: none;
85
+ border: 1px solid #ddd;
86
+ font-size: 14px;
87
+ cursor: pointer;
88
+ color: #666;
89
+ padding: 6px 10px;
90
+ border-radius: 4px;
91
+ transition: all 0.2s ease;
92
+ min-width: 32px;
93
+ height: 32px;
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ }
98
+
99
+ .application-menu__view-toggle:hover {
100
+ background: #e9ecef;
101
+ color: #333;
102
+ border-color: #ccc;
103
+ }
104
+
105
+ .application-menu__view-toggle.active {
106
+ background: #1976d2;
107
+ color: white;
108
+ border-color: #1976d2;
109
+ }
110
+
69
111
  .application-menu__close {
70
112
  background: none;
71
113
  border: none;
72
- font-size: 24px;
114
+ font-size: 20px;
73
115
  color: #666;
74
116
  cursor: pointer;
75
- padding: 4px 8px;
117
+ padding: 6px 8px;
76
118
  border-radius: 4px;
77
119
  transition: all 0.2s ease;
120
+ min-width: 32px;
121
+ height: 32px;
122
+ display: flex;
123
+ align-items: center;
124
+ justify-content: center;
78
125
  }
79
126
 
80
127
  .application-menu__close:hover {
@@ -84,76 +131,231 @@
84
131
 
85
132
  /* Search */
86
133
  .application-menu__search {
87
- padding: 16px 24px;
134
+ grid-area: search;
135
+ padding: 12px 20px;
88
136
  border-bottom: 1px solid #e0e0e0;
89
137
  }
90
138
 
91
139
  .application-menu__search-input {
92
140
  width: 100%;
93
- padding: 12px 16px;
94
- border: 2px solid #e0e0e0;
95
- border-radius: 8px;
96
- font-size: 16px;
141
+ padding: 10px 14px;
142
+ border: 1px solid #ddd;
143
+ border-radius: 6px;
144
+ font-size: 14px;
97
145
  outline: none;
98
146
  transition: border-color 0.2s ease;
99
147
  }
100
148
 
101
149
  .application-menu__search-input:focus {
102
150
  border-color: #1976d2;
151
+ box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
103
152
  }
104
153
 
105
- /* Categories */
106
- .application-menu__categories {
107
- display: flex;
154
+ /* Condensed Mode */
155
+ .application-menu--condensed .application-menu__header {
156
+ padding: 6px 12px;
157
+ min-height: 32px;
158
+ }
159
+
160
+ .application-menu--condensed .application-menu__search {
161
+ padding: 8px 16px;
162
+ }
163
+
164
+ .application-menu--condensed .application-menu__search-input {
165
+ padding: 8px 12px;
166
+ font-size: 13px;
167
+ }
168
+
169
+ .application-menu--condensed .application-menu__content {
170
+ padding: 12px 16px;
171
+ }
172
+
173
+ .application-menu--condensed .application-menu__categories {
174
+ padding: 4px;
175
+ }
176
+
177
+ .application-menu--condensed .application-menu__category {
178
+ width: 36px;
179
+ height: 36px;
180
+ padding: 6px;
181
+ margin: 1px;
182
+ }
183
+
184
+ .application-menu--condensed .category-icon {
185
+ font-size: 16px;
186
+ }
187
+
188
+ .application-menu--condensed .application-menu__category-section {
189
+ margin-bottom: 20px;
190
+ }
191
+
192
+ .application-menu--condensed .category-title {
193
+ font-size: 14px;
194
+ margin-bottom: 8px;
195
+ }
196
+
197
+ .application-menu--condensed .application-menu__apps-grid {
108
198
  gap: 8px;
109
- padding: 16px 24px;
110
- border-bottom: 1px solid #e0e0e0;
199
+ grid-template-columns: repeat(auto-fill, minmax(75px, 1fr));
200
+ }
201
+
202
+ .application-menu--condensed .application-menu__app--grid {
203
+ padding: 8px 6px;
204
+ }
205
+
206
+ .application-menu--condensed .application-menu__app--grid .app-icon {
207
+ font-size: 28px;
208
+ margin-bottom: 4px;
209
+ }
210
+
211
+ .application-menu--condensed .application-menu__app--grid .app-name {
212
+ font-size: 11px;
213
+ }
214
+
215
+ .application-menu--condensed .application-menu__apps-list {
216
+ gap: 1px;
217
+ }
218
+
219
+ .application-menu--condensed .application-menu__app--list {
220
+ padding: 6px 12px;
221
+ gap: 10px;
222
+ }
223
+
224
+ .application-menu--condensed .application-menu__app--list .app-icon {
225
+ font-size: 22px;
226
+ min-width: 22px;
227
+ }
228
+
229
+ .application-menu--condensed .application-menu__app--list .app-name {
230
+ font-size: 12px;
231
+ margin-bottom: 1px;
232
+ }
233
+
234
+ .application-menu--condensed .application-menu__app--list .app-description {
235
+ font-size: 10px;
236
+ }
237
+
238
+ /* Main Grid Layout */
239
+ .application-menu__main {
240
+ grid-area: main;
241
+ display: grid;
242
+ grid-template-columns: 60px 1fr;
243
+ grid-template-areas: "sidebar content";
244
+ height: 100%;
245
+ overflow: hidden;
246
+ }
247
+
248
+ .application-menu--condensed .application-menu__main {
249
+ grid-template-columns: 48px 1fr;
250
+ }
251
+
252
+ /* Sidebar */
253
+ .application-menu__sidebar {
254
+ grid-area: sidebar;
111
255
  background: #f8f9fa;
112
- overflow-x: auto;
256
+ border-right: 1px solid #e0e0e0;
257
+ overflow: hidden;
258
+ display: flex;
259
+ flex-direction: column;
260
+ }
261
+
262
+ /* Categories */
263
+ .application-menu__categories {
264
+ flex: 1;
265
+ padding: 8px;
266
+ overflow-y: auto;
267
+ scrollbar-width: thin;
268
+ scrollbar-color: #ccc transparent;
269
+ }
270
+
271
+ .application-menu__categories::-webkit-scrollbar {
272
+ width: 6px;
273
+ }
274
+
275
+ .application-menu__categories::-webkit-scrollbar-track {
276
+ background: transparent;
277
+ }
278
+
279
+ .application-menu__categories::-webkit-scrollbar-thumb {
280
+ background: #ccc;
281
+ border-radius: 3px;
282
+ }
283
+
284
+ .application-menu__categories::-webkit-scrollbar-thumb:hover {
285
+ background: #999;
113
286
  }
114
287
 
115
288
  .application-menu__category {
116
289
  display: flex;
117
290
  align-items: center;
118
- gap: 8px;
119
- padding: 8px 16px;
120
- background: #ffffff;
121
- border: 1px solid #e0e0e0;
122
- border-radius: 20px;
291
+ justify-content: center;
292
+ padding: 8px;
293
+ margin: 2px;
294
+ background: transparent;
295
+ border: none;
296
+ border-radius: 6px;
123
297
  cursor: pointer;
124
- font-size: 14px;
125
- white-space: nowrap;
126
- transition: all 0.2s ease;
127
- color: #666;
298
+ font-size: 13px;
299
+ text-align: center;
300
+ transition: all 0.15s ease;
301
+ color: #555;
302
+ width: 44px;
303
+ height: 44px;
304
+ position: relative;
128
305
  }
129
306
 
130
307
  .application-menu__category:hover {
131
- background: #f0f0f0;
132
- border-color: #ccc;
308
+ background: #e9ecef;
309
+ color: #333;
133
310
  }
134
311
 
135
312
  .application-menu__category.active {
136
- background: #1976d2;
137
- border-color: #1976d2;
138
- color: white;
313
+ background: #e3f2fd;
314
+ color: #1976d2;
315
+ font-weight: 500;
139
316
  }
140
317
 
141
318
  .category-icon {
142
- font-size: 16px;
319
+ font-size: 20px;
320
+ min-width: 20px;
321
+ }
322
+
323
+ .category-name {
324
+ display: none;
143
325
  }
144
326
 
145
327
  /* Content */
146
328
  .application-menu__content {
147
- flex: 1;
329
+ grid-area: content;
148
330
  overflow-y: auto;
149
- padding: 24px;
331
+ padding: 20px 24px;
332
+ scrollbar-width: thin;
333
+ scrollbar-color: #ccc transparent;
334
+ }
335
+
336
+ .application-menu__content::-webkit-scrollbar {
337
+ width: 8px;
338
+ }
339
+
340
+ .application-menu__content::-webkit-scrollbar-track {
341
+ background: #f1f1f1;
342
+ border-radius: 4px;
343
+ }
344
+
345
+ .application-menu__content::-webkit-scrollbar-thumb {
346
+ background: #ccc;
347
+ border-radius: 4px;
348
+ }
349
+
350
+ .application-menu__content::-webkit-scrollbar-thumb:hover {
351
+ background: #999;
150
352
  }
151
353
 
152
354
  .application-menu__search-results h3,
153
355
  .category-title {
154
- margin: 0 0 16px 0;
356
+ margin: 0 0 12px 0;
155
357
  color: #333;
156
- font-size: 18px;
358
+ font-size: 15px;
157
359
  font-weight: 600;
158
360
  }
159
361
 
@@ -168,18 +370,126 @@
168
370
  /* Apps Grid */
169
371
  .application-menu__apps-grid {
170
372
  display: grid;
171
- grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
172
- gap: 16px;
373
+ grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
374
+ gap: 12px;
375
+ max-width: 100%;
376
+ }
377
+
378
+ .application-menu__app--grid {
379
+ display: flex;
380
+ flex-direction: column;
381
+ align-items: center;
382
+ padding: 12px 8px;
383
+ border-radius: 8px;
384
+ cursor: pointer;
385
+ transition: all 0.15s ease;
386
+ text-align: center;
387
+ background: #ffffff;
388
+ border: 1px solid transparent;
389
+ }
390
+
391
+ .application-menu__app--grid:hover {
392
+ background: #f8f9fa;
393
+ border-color: #e0e0e0;
394
+ transform: translateY(-1px);
395
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
396
+ }
397
+
398
+ .application-menu__app--grid .app-icon {
399
+ font-size: 36px;
400
+ margin-bottom: 6px;
401
+ line-height: 1;
402
+ }
403
+
404
+ .application-menu__app--grid .app-name {
405
+ font-size: 12px;
406
+ font-weight: 500;
407
+ color: #333;
408
+ line-height: 1.2;
409
+ word-break: break-word;
410
+ max-width: 100%;
411
+ }
412
+
413
+ /* Apps List */
414
+ .application-menu__apps-list {
415
+ display: flex;
416
+ flex-direction: column;
417
+ gap: 2px;
418
+ max-width: 100%;
419
+ }
420
+
421
+ .application-menu__app--list {
422
+ display: flex;
423
+ align-items: center;
424
+ padding: 10px 16px;
425
+ border-radius: 6px;
426
+ cursor: pointer;
427
+ transition: all 0.15s ease;
428
+ background: transparent;
429
+ border: none;
430
+ gap: 14px;
431
+ margin-bottom: 2px;
432
+ }
433
+
434
+ .application-menu__app--list:hover {
435
+ background: #f0f7ff;
436
+ color: #1976d2;
437
+ }
438
+
439
+ .application-menu__app--list .app-icon {
440
+ font-size: 28px;
441
+ min-width: 28px;
442
+ line-height: 1;
443
+ display: flex;
444
+ align-items: center;
445
+ justify-content: center;
446
+ }
447
+
448
+ .application-menu__app--list .app-info {
449
+ flex: 1;
450
+ text-align: left;
451
+ min-width: 0;
452
+ }
453
+
454
+ .application-menu__app--list .app-name {
455
+ font-size: 14px;
456
+ font-weight: 500;
457
+ color: #333;
458
+ line-height: 1.4;
459
+ margin-bottom: 3px;
460
+ white-space: nowrap;
461
+ overflow: hidden;
462
+ text-overflow: ellipsis;
173
463
  }
174
464
 
465
+ .application-menu__app--list .app-description {
466
+ font-size: 12px;
467
+ color: #666;
468
+ line-height: 1.3;
469
+ opacity: 0.9;
470
+ white-space: nowrap;
471
+ overflow: hidden;
472
+ text-overflow: ellipsis;
473
+ }
474
+
475
+ .application-menu__app--list:hover .app-name {
476
+ color: #1976d2;
477
+ }
478
+
479
+ .application-menu__app--list:hover .app-description {
480
+ color: #1565c0;
481
+ opacity: 1;
482
+ }
483
+
484
+ /* Legacy support for old class names */
175
485
  .application-menu__app {
176
486
  display: flex;
177
487
  flex-direction: column;
178
488
  align-items: center;
179
- padding: 16px 12px;
180
- border-radius: 12px;
489
+ padding: 12px 8px;
490
+ border-radius: 8px;
181
491
  cursor: pointer;
182
- transition: all 0.2s ease;
492
+ transition: all 0.15s ease;
183
493
  text-align: center;
184
494
  background: #ffffff;
185
495
  border: 1px solid transparent;
@@ -188,22 +498,23 @@
188
498
  .application-menu__app:hover {
189
499
  background: #f8f9fa;
190
500
  border-color: #e0e0e0;
191
- transform: translateY(-2px);
192
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
501
+ transform: translateY(-1px);
502
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
193
503
  }
194
504
 
195
505
  .app-icon {
196
- font-size: 48px;
197
- margin-bottom: 8px;
506
+ font-size: 36px;
507
+ margin-bottom: 6px;
198
508
  line-height: 1;
199
509
  }
200
510
 
201
511
  .app-name {
202
- font-size: 14px;
512
+ font-size: 12px;
203
513
  font-weight: 500;
204
514
  color: #333;
205
515
  line-height: 1.2;
206
516
  word-break: break-word;
517
+ max-width: 100%;
207
518
  }
208
519
 
209
520
  /* No Results */
@@ -228,52 +539,79 @@
228
539
  @media (max-width: 768px) {
229
540
  .application-menu {
230
541
  width: 95%;
231
- height: 90%;
232
- margin: 20px;
542
+ height: 95%;
543
+ max-height: 100%; /* Constrained by workspace container */
544
+ margin: 5px;
545
+ }
546
+
547
+ .application-menu__main {
548
+ grid-template-columns: 50px 1fr;
549
+ }
550
+
551
+ .application-menu__category {
552
+ padding: 8px;
553
+ font-size: 13px;
554
+ height: 40px;
233
555
  }
234
-
556
+
557
+ .category-icon {
558
+ font-size: 18px;
559
+ }
560
+
235
561
  .application-menu__apps-grid {
236
- grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
562
+ grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
237
563
  gap: 12px;
238
564
  }
239
-
565
+
240
566
  .application-menu__app {
241
567
  padding: 12px 8px;
242
568
  }
243
-
569
+
244
570
  .app-icon {
245
- font-size: 40px;
571
+ font-size: 36px;
246
572
  }
247
-
573
+
248
574
  .app-name {
249
575
  font-size: 12px;
250
576
  }
251
-
252
- .application-menu__categories {
253
- padding: 12px 16px;
254
- }
255
-
577
+
256
578
  .application-menu__search,
257
579
  .application-menu__content {
258
580
  padding: 16px;
259
581
  }
260
582
  }
261
583
 
262
- /* Scrollbar styling */
263
- .application-menu__content::-webkit-scrollbar {
264
- width: 8px;
265
- }
584
+ @media (max-width: 480px) {
585
+ /* ApplicationMenu overlay covers entire workspace on mobile */
266
586
 
267
- .application-menu__content::-webkit-scrollbar-track {
268
- background: #f1f1f1;
269
- border-radius: 4px;
270
- }
587
+ .application-menu__main {
588
+ grid-template-columns: 1fr;
589
+ grid-template-rows: auto 1fr;
590
+ grid-template-areas:
591
+ "sidebar"
592
+ "content";
593
+ }
271
594
 
272
- .application-menu__content::-webkit-scrollbar-thumb {
273
- background: #c1c1c1;
274
- border-radius: 4px;
275
- }
595
+ .application-menu__sidebar {
596
+ border-right: none;
597
+ border-bottom: 1px solid #e0e0e0;
598
+ }
276
599
 
277
- .application-menu__content::-webkit-scrollbar-thumb:hover {
278
- background: #a8a8a8;
600
+ .application-menu__categories {
601
+ display: flex;
602
+ flex-direction: row;
603
+ overflow-x: auto;
604
+ overflow-y: hidden;
605
+ padding: 12px 16px;
606
+ gap: 8px;
607
+ }
608
+
609
+ .application-menu__category {
610
+ flex-shrink: 0;
611
+ white-space: nowrap;
612
+ margin: 0;
613
+ width: auto;
614
+ }
279
615
  }
616
+
617
+