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.
package/dist/index.css CHANGED
@@ -5449,6 +5449,11 @@ td.actions {
5449
5449
  white-space: nowrap;
5450
5450
  }
5451
5451
 
5452
+ /* Ensure icons inside buttons don't block clicks */
5453
+ .btn .icon {
5454
+ pointer-events: none;
5455
+ }
5456
+
5452
5457
  .btn.outlined {
5453
5458
  color: var(--primary-color);
5454
5459
  border: solid 1px var(--primary-color);
@@ -15822,6 +15827,7 @@ li.selected,
15822
15827
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
15823
15828
  overflow: hidden;
15824
15829
  user-select: none;
15830
+ pointer-events: auto; /* Ensure windows are clickable */
15825
15831
  }
15826
15832
 
15827
15833
  .window:focus-within {
@@ -16061,21 +16067,120 @@ li.selected,
16061
16067
  .window--dragging * {
16062
16068
  user-select: none !important;
16063
16069
  }
16064
- /* ApplicationMenu - Full-screen overlay styles */
16070
+
16071
+ /* Window Resize Handles */
16072
+ .window__resize-handle {
16073
+ position: absolute;
16074
+ background: transparent;
16075
+ z-index: 10;
16076
+ }
16077
+
16078
+ /* Edge handles */
16079
+ .window__resize-handle--n {
16080
+ top: -3px;
16081
+ left: 8px;
16082
+ right: 8px;
16083
+ height: 6px;
16084
+ cursor: n-resize;
16085
+ }
16086
+
16087
+ .window__resize-handle--s {
16088
+ bottom: -3px;
16089
+ left: 8px;
16090
+ right: 8px;
16091
+ height: 6px;
16092
+ cursor: s-resize;
16093
+ }
16094
+
16095
+ .window__resize-handle--e {
16096
+ top: 8px;
16097
+ bottom: 8px;
16098
+ right: -3px;
16099
+ width: 6px;
16100
+ cursor: e-resize;
16101
+ }
16102
+
16103
+ .window__resize-handle--w {
16104
+ top: 8px;
16105
+ bottom: 8px;
16106
+ left: -3px;
16107
+ width: 6px;
16108
+ cursor: w-resize;
16109
+ }
16110
+
16111
+ /* Corner handles */
16112
+ .window__resize-handle--ne {
16113
+ top: -3px;
16114
+ right: -3px;
16115
+ width: 12px;
16116
+ height: 12px;
16117
+ cursor: ne-resize;
16118
+ }
16119
+
16120
+ .window__resize-handle--nw {
16121
+ top: -3px;
16122
+ left: -3px;
16123
+ width: 12px;
16124
+ height: 12px;
16125
+ cursor: nw-resize;
16126
+ }
16127
+
16128
+ .window__resize-handle--se {
16129
+ bottom: -3px;
16130
+ right: -3px;
16131
+ width: 12px;
16132
+ height: 12px;
16133
+ cursor: se-resize;
16134
+ }
16135
+
16136
+ .window__resize-handle--sw {
16137
+ bottom: -3px;
16138
+ left: -3px;
16139
+ width: 12px;
16140
+ height: 12px;
16141
+ cursor: sw-resize;
16142
+ }
16143
+
16144
+ /* Resize handle hover effects */
16145
+ .window__resize-handle:hover {
16146
+ background: rgba(25, 118, 210, 0.2);
16147
+ }
16148
+
16149
+ /* Window resizing state */
16150
+ .window--resizing {
16151
+ pointer-events: none;
16152
+ }
16153
+
16154
+ .window--resizing * {
16155
+ pointer-events: none !important;
16156
+ }
16157
+
16158
+ /* Allow resize handles to work during resize */
16159
+ .window--resizing .window__resize-handle {
16160
+ pointer-events: auto !important;
16161
+ }
16162
+
16163
+ /* Disable text selection during resize */
16164
+ .window--resizing * {
16165
+ user-select: none !important;
16166
+ }
16167
+ /* ApplicationMenu - Positioned over workspace only */
16065
16168
 
16066
16169
  .application-menu-overlay {
16067
- position: fixed;
16170
+ position: absolute;
16068
16171
  top: 0;
16069
16172
  left: 0;
16070
16173
  right: 0;
16071
- bottom: 0;
16174
+ bottom: 0; /* Covers entire workspace container */
16072
16175
  background: rgba(0, 0, 0, 0.8);
16073
16176
  backdrop-filter: blur(8px);
16074
- z-index: 10000;
16177
+ z-index: 10000; /* Always above all windows */
16075
16178
  display: flex;
16076
- align-items: center;
16077
- justify-content: center;
16179
+ align-items: flex-end;
16180
+ justify-content: flex-start;
16078
16181
  animation: fadeIn 0.2s ease-out;
16182
+ pointer-events: auto; /* Ensure menu is clickable */
16183
+ padding: 0 0 0px 15px; /* Espacio para el taskbar y margen izquierdo */
16079
16184
  }
16080
16185
 
16081
16186
  @keyframes fadeIn {
@@ -16089,37 +16194,49 @@ li.selected,
16089
16194
 
16090
16195
  .application-menu {
16091
16196
  background: #ffffff;
16092
- border-radius: 12px;
16093
- box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
16094
- width: 90%;
16095
- max-width: 900px;
16096
- height: 80%;
16097
- max-height: 700px;
16098
- display: flex;
16099
- flex-direction: column;
16197
+ border-radius: 12px 12px 0 0;
16198
+ box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.3);
16199
+ width: 30rem;
16200
+ max-width: 1000px;
16201
+ height: 80vh; /* Altura fija relativa al viewport */
16202
+ max-height: calc(100% - 80px); /* Espacio para taskbar */
16203
+ display: grid;
16204
+ grid-template-rows: auto auto 1fr;
16205
+ grid-template-areas:
16206
+ "header"
16207
+ "search"
16208
+ "main";
16100
16209
  overflow: hidden;
16101
16210
  animation: slideIn 0.3s ease-out;
16102
16211
  }
16103
16212
 
16104
16213
  @keyframes slideIn {
16105
16214
  from {
16106
- transform: scale(0.9) translateY(20px);
16215
+ transform: translateY(20px);
16107
16216
  opacity: 0;
16108
16217
  }
16109
16218
  to {
16110
- transform: scale(1) translateY(0);
16219
+ transform: translateY(0);
16111
16220
  opacity: 1;
16112
16221
  }
16113
16222
  }
16114
16223
 
16115
16224
  /* Header */
16116
16225
  .application-menu__header {
16226
+ grid-area: header;
16117
16227
  display: flex;
16118
16228
  align-items: center;
16119
- justify-content: space-between;
16120
- padding: 20px 24px;
16229
+ justify-content: flex-end;
16230
+ padding: 8px 16px;
16121
16231
  border-bottom: 1px solid #e0e0e0;
16122
16232
  background: #f8f9fa;
16233
+ min-height: 40px;
16234
+ }
16235
+
16236
+ .application-menu__header-controls {
16237
+ display: flex;
16238
+ align-items: center;
16239
+ gap: 6px;
16123
16240
  }
16124
16241
 
16125
16242
  .application-menu__header h2 {
@@ -16129,15 +16246,48 @@ li.selected,
16129
16246
  font-weight: 600;
16130
16247
  }
16131
16248
 
16249
+ .application-menu__view-toggle {
16250
+ background: none;
16251
+ border: 1px solid #ddd;
16252
+ font-size: 14px;
16253
+ cursor: pointer;
16254
+ color: #666;
16255
+ padding: 6px 10px;
16256
+ border-radius: 4px;
16257
+ transition: all 0.2s ease;
16258
+ min-width: 32px;
16259
+ height: 32px;
16260
+ display: flex;
16261
+ align-items: center;
16262
+ justify-content: center;
16263
+ }
16264
+
16265
+ .application-menu__view-toggle:hover {
16266
+ background: #e9ecef;
16267
+ color: #333;
16268
+ border-color: #ccc;
16269
+ }
16270
+
16271
+ .application-menu__view-toggle.active {
16272
+ background: #1976d2;
16273
+ color: white;
16274
+ border-color: #1976d2;
16275
+ }
16276
+
16132
16277
  .application-menu__close {
16133
16278
  background: none;
16134
16279
  border: none;
16135
- font-size: 24px;
16280
+ font-size: 20px;
16136
16281
  color: #666;
16137
16282
  cursor: pointer;
16138
- padding: 4px 8px;
16283
+ padding: 6px 8px;
16139
16284
  border-radius: 4px;
16140
16285
  transition: all 0.2s ease;
16286
+ min-width: 32px;
16287
+ height: 32px;
16288
+ display: flex;
16289
+ align-items: center;
16290
+ justify-content: center;
16141
16291
  }
16142
16292
 
16143
16293
  .application-menu__close:hover {
@@ -16147,76 +16297,231 @@ li.selected,
16147
16297
 
16148
16298
  /* Search */
16149
16299
  .application-menu__search {
16150
- padding: 16px 24px;
16300
+ grid-area: search;
16301
+ padding: 12px 20px;
16151
16302
  border-bottom: 1px solid #e0e0e0;
16152
16303
  }
16153
16304
 
16154
16305
  .application-menu__search-input {
16155
16306
  width: 100%;
16156
- padding: 12px 16px;
16157
- border: 2px solid #e0e0e0;
16158
- border-radius: 8px;
16159
- font-size: 16px;
16307
+ padding: 10px 14px;
16308
+ border: 1px solid #ddd;
16309
+ border-radius: 6px;
16310
+ font-size: 14px;
16160
16311
  outline: none;
16161
16312
  transition: border-color 0.2s ease;
16162
16313
  }
16163
16314
 
16164
16315
  .application-menu__search-input:focus {
16165
16316
  border-color: #1976d2;
16317
+ box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
16166
16318
  }
16167
16319
 
16168
- /* Categories */
16169
- .application-menu__categories {
16170
- display: flex;
16320
+ /* Condensed Mode */
16321
+ .application-menu--condensed .application-menu__header {
16322
+ padding: 6px 12px;
16323
+ min-height: 32px;
16324
+ }
16325
+
16326
+ .application-menu--condensed .application-menu__search {
16327
+ padding: 8px 16px;
16328
+ }
16329
+
16330
+ .application-menu--condensed .application-menu__search-input {
16331
+ padding: 8px 12px;
16332
+ font-size: 13px;
16333
+ }
16334
+
16335
+ .application-menu--condensed .application-menu__content {
16336
+ padding: 12px 16px;
16337
+ }
16338
+
16339
+ .application-menu--condensed .application-menu__categories {
16340
+ padding: 4px;
16341
+ }
16342
+
16343
+ .application-menu--condensed .application-menu__category {
16344
+ width: 36px;
16345
+ height: 36px;
16346
+ padding: 6px;
16347
+ margin: 1px;
16348
+ }
16349
+
16350
+ .application-menu--condensed .category-icon {
16351
+ font-size: 16px;
16352
+ }
16353
+
16354
+ .application-menu--condensed .application-menu__category-section {
16355
+ margin-bottom: 20px;
16356
+ }
16357
+
16358
+ .application-menu--condensed .category-title {
16359
+ font-size: 14px;
16360
+ margin-bottom: 8px;
16361
+ }
16362
+
16363
+ .application-menu--condensed .application-menu__apps-grid {
16171
16364
  gap: 8px;
16172
- padding: 16px 24px;
16173
- border-bottom: 1px solid #e0e0e0;
16365
+ grid-template-columns: repeat(auto-fill, minmax(75px, 1fr));
16366
+ }
16367
+
16368
+ .application-menu--condensed .application-menu__app--grid {
16369
+ padding: 8px 6px;
16370
+ }
16371
+
16372
+ .application-menu--condensed .application-menu__app--grid .app-icon {
16373
+ font-size: 28px;
16374
+ margin-bottom: 4px;
16375
+ }
16376
+
16377
+ .application-menu--condensed .application-menu__app--grid .app-name {
16378
+ font-size: 11px;
16379
+ }
16380
+
16381
+ .application-menu--condensed .application-menu__apps-list {
16382
+ gap: 1px;
16383
+ }
16384
+
16385
+ .application-menu--condensed .application-menu__app--list {
16386
+ padding: 6px 12px;
16387
+ gap: 10px;
16388
+ }
16389
+
16390
+ .application-menu--condensed .application-menu__app--list .app-icon {
16391
+ font-size: 22px;
16392
+ min-width: 22px;
16393
+ }
16394
+
16395
+ .application-menu--condensed .application-menu__app--list .app-name {
16396
+ font-size: 12px;
16397
+ margin-bottom: 1px;
16398
+ }
16399
+
16400
+ .application-menu--condensed .application-menu__app--list .app-description {
16401
+ font-size: 10px;
16402
+ }
16403
+
16404
+ /* Main Grid Layout */
16405
+ .application-menu__main {
16406
+ grid-area: main;
16407
+ display: grid;
16408
+ grid-template-columns: 60px 1fr;
16409
+ grid-template-areas: "sidebar content";
16410
+ height: 100%;
16411
+ overflow: hidden;
16412
+ }
16413
+
16414
+ .application-menu--condensed .application-menu__main {
16415
+ grid-template-columns: 48px 1fr;
16416
+ }
16417
+
16418
+ /* Sidebar */
16419
+ .application-menu__sidebar {
16420
+ grid-area: sidebar;
16174
16421
  background: #f8f9fa;
16175
- overflow-x: auto;
16422
+ border-right: 1px solid #e0e0e0;
16423
+ overflow: hidden;
16424
+ display: flex;
16425
+ flex-direction: column;
16426
+ }
16427
+
16428
+ /* Categories */
16429
+ .application-menu__categories {
16430
+ flex: 1;
16431
+ padding: 8px;
16432
+ overflow-y: auto;
16433
+ scrollbar-width: thin;
16434
+ scrollbar-color: #ccc transparent;
16435
+ }
16436
+
16437
+ .application-menu__categories::-webkit-scrollbar {
16438
+ width: 6px;
16439
+ }
16440
+
16441
+ .application-menu__categories::-webkit-scrollbar-track {
16442
+ background: transparent;
16443
+ }
16444
+
16445
+ .application-menu__categories::-webkit-scrollbar-thumb {
16446
+ background: #ccc;
16447
+ border-radius: 3px;
16448
+ }
16449
+
16450
+ .application-menu__categories::-webkit-scrollbar-thumb:hover {
16451
+ background: #999;
16176
16452
  }
16177
16453
 
16178
16454
  .application-menu__category {
16179
16455
  display: flex;
16180
16456
  align-items: center;
16181
- gap: 8px;
16182
- padding: 8px 16px;
16183
- background: #ffffff;
16184
- border: 1px solid #e0e0e0;
16185
- border-radius: 20px;
16457
+ justify-content: center;
16458
+ padding: 8px;
16459
+ margin: 2px;
16460
+ background: transparent;
16461
+ border: none;
16462
+ border-radius: 6px;
16186
16463
  cursor: pointer;
16187
- font-size: 14px;
16188
- white-space: nowrap;
16189
- transition: all 0.2s ease;
16190
- color: #666;
16464
+ font-size: 13px;
16465
+ text-align: center;
16466
+ transition: all 0.15s ease;
16467
+ color: #555;
16468
+ width: 44px;
16469
+ height: 44px;
16470
+ position: relative;
16191
16471
  }
16192
16472
 
16193
16473
  .application-menu__category:hover {
16194
- background: #f0f0f0;
16195
- border-color: #ccc;
16474
+ background: #e9ecef;
16475
+ color: #333;
16196
16476
  }
16197
16477
 
16198
16478
  .application-menu__category.active {
16199
- background: #1976d2;
16200
- border-color: #1976d2;
16201
- color: white;
16479
+ background: #e3f2fd;
16480
+ color: #1976d2;
16481
+ font-weight: 500;
16202
16482
  }
16203
16483
 
16204
16484
  .category-icon {
16205
- font-size: 16px;
16485
+ font-size: 20px;
16486
+ min-width: 20px;
16487
+ }
16488
+
16489
+ .category-name {
16490
+ display: none;
16206
16491
  }
16207
16492
 
16208
16493
  /* Content */
16209
16494
  .application-menu__content {
16210
- flex: 1;
16495
+ grid-area: content;
16211
16496
  overflow-y: auto;
16212
- padding: 24px;
16497
+ padding: 20px 24px;
16498
+ scrollbar-width: thin;
16499
+ scrollbar-color: #ccc transparent;
16500
+ }
16501
+
16502
+ .application-menu__content::-webkit-scrollbar {
16503
+ width: 8px;
16504
+ }
16505
+
16506
+ .application-menu__content::-webkit-scrollbar-track {
16507
+ background: #f1f1f1;
16508
+ border-radius: 4px;
16509
+ }
16510
+
16511
+ .application-menu__content::-webkit-scrollbar-thumb {
16512
+ background: #ccc;
16513
+ border-radius: 4px;
16514
+ }
16515
+
16516
+ .application-menu__content::-webkit-scrollbar-thumb:hover {
16517
+ background: #999;
16213
16518
  }
16214
16519
 
16215
16520
  .application-menu__search-results h3,
16216
16521
  .category-title {
16217
- margin: 0 0 16px 0;
16522
+ margin: 0 0 12px 0;
16218
16523
  color: #333;
16219
- font-size: 18px;
16524
+ font-size: 15px;
16220
16525
  font-weight: 600;
16221
16526
  }
16222
16527
 
@@ -16231,42 +16536,151 @@ li.selected,
16231
16536
  /* Apps Grid */
16232
16537
  .application-menu__apps-grid {
16233
16538
  display: grid;
16234
- grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
16235
- gap: 16px;
16539
+ grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
16540
+ gap: 12px;
16541
+ max-width: 100%;
16236
16542
  }
16237
16543
 
16238
- .application-menu__app {
16544
+ .application-menu__app--grid {
16239
16545
  display: flex;
16240
16546
  flex-direction: column;
16241
16547
  align-items: center;
16242
- padding: 16px 12px;
16243
- border-radius: 12px;
16548
+ padding: 12px 8px;
16549
+ border-radius: 8px;
16244
16550
  cursor: pointer;
16245
- transition: all 0.2s ease;
16551
+ transition: all 0.15s ease;
16246
16552
  text-align: center;
16247
16553
  background: #ffffff;
16248
16554
  border: 1px solid transparent;
16249
16555
  }
16250
16556
 
16251
- .application-menu__app:hover {
16557
+ .application-menu__app--grid:hover {
16252
16558
  background: #f8f9fa;
16253
16559
  border-color: #e0e0e0;
16254
- transform: translateY(-2px);
16255
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
16560
+ transform: translateY(-1px);
16561
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
16562
+ }
16563
+
16564
+ .application-menu__app--grid .app-icon {
16565
+ font-size: 36px;
16566
+ margin-bottom: 6px;
16567
+ line-height: 1;
16568
+ }
16569
+
16570
+ .application-menu__app--grid .app-name {
16571
+ font-size: 12px;
16572
+ font-weight: 500;
16573
+ color: #333;
16574
+ line-height: 1.2;
16575
+ word-break: break-word;
16576
+ max-width: 100%;
16577
+ }
16578
+
16579
+ /* Apps List */
16580
+ .application-menu__apps-list {
16581
+ display: flex;
16582
+ flex-direction: column;
16583
+ gap: 2px;
16584
+ max-width: 100%;
16585
+ }
16586
+
16587
+ .application-menu__app--list {
16588
+ display: flex;
16589
+ align-items: center;
16590
+ padding: 10px 16px;
16591
+ border-radius: 6px;
16592
+ cursor: pointer;
16593
+ transition: all 0.15s ease;
16594
+ background: transparent;
16595
+ border: none;
16596
+ gap: 14px;
16597
+ margin-bottom: 2px;
16598
+ }
16599
+
16600
+ .application-menu__app--list:hover {
16601
+ background: #f0f7ff;
16602
+ color: #1976d2;
16603
+ }
16604
+
16605
+ .application-menu__app--list .app-icon {
16606
+ font-size: 28px;
16607
+ min-width: 28px;
16608
+ line-height: 1;
16609
+ display: flex;
16610
+ align-items: center;
16611
+ justify-content: center;
16612
+ }
16613
+
16614
+ .application-menu__app--list .app-info {
16615
+ flex: 1;
16616
+ text-align: left;
16617
+ min-width: 0;
16618
+ }
16619
+
16620
+ .application-menu__app--list .app-name {
16621
+ font-size: 14px;
16622
+ font-weight: 500;
16623
+ color: #333;
16624
+ line-height: 1.4;
16625
+ margin-bottom: 3px;
16626
+ white-space: nowrap;
16627
+ overflow: hidden;
16628
+ text-overflow: ellipsis;
16629
+ }
16630
+
16631
+ .application-menu__app--list .app-description {
16632
+ font-size: 12px;
16633
+ color: #666;
16634
+ line-height: 1.3;
16635
+ opacity: 0.9;
16636
+ white-space: nowrap;
16637
+ overflow: hidden;
16638
+ text-overflow: ellipsis;
16639
+ }
16640
+
16641
+ .application-menu__app--list:hover .app-name {
16642
+ color: #1976d2;
16643
+ }
16644
+
16645
+ .application-menu__app--list:hover .app-description {
16646
+ color: #1565c0;
16647
+ opacity: 1;
16648
+ }
16649
+
16650
+ /* Legacy support for old class names */
16651
+ .application-menu__app {
16652
+ display: flex;
16653
+ flex-direction: column;
16654
+ align-items: center;
16655
+ padding: 12px 8px;
16656
+ border-radius: 8px;
16657
+ cursor: pointer;
16658
+ transition: all 0.15s ease;
16659
+ text-align: center;
16660
+ background: #ffffff;
16661
+ border: 1px solid transparent;
16662
+ }
16663
+
16664
+ .application-menu__app:hover {
16665
+ background: #f8f9fa;
16666
+ border-color: #e0e0e0;
16667
+ transform: translateY(-1px);
16668
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
16256
16669
  }
16257
16670
 
16258
16671
  .app-icon {
16259
- font-size: 48px;
16260
- margin-bottom: 8px;
16672
+ font-size: 36px;
16673
+ margin-bottom: 6px;
16261
16674
  line-height: 1;
16262
16675
  }
16263
16676
 
16264
16677
  .app-name {
16265
- font-size: 14px;
16678
+ font-size: 12px;
16266
16679
  font-weight: 500;
16267
16680
  color: #333;
16268
16681
  line-height: 1.2;
16269
16682
  word-break: break-word;
16683
+ max-width: 100%;
16270
16684
  }
16271
16685
 
16272
16686
  /* No Results */
@@ -16291,55 +16705,82 @@ li.selected,
16291
16705
  @media (max-width: 768px) {
16292
16706
  .application-menu {
16293
16707
  width: 95%;
16294
- height: 90%;
16295
- margin: 20px;
16708
+ height: 95%;
16709
+ max-height: 100%; /* Constrained by workspace container */
16710
+ margin: 5px;
16296
16711
  }
16297
-
16712
+
16713
+ .application-menu__main {
16714
+ grid-template-columns: 50px 1fr;
16715
+ }
16716
+
16717
+ .application-menu__category {
16718
+ padding: 8px;
16719
+ font-size: 13px;
16720
+ height: 40px;
16721
+ }
16722
+
16723
+ .category-icon {
16724
+ font-size: 18px;
16725
+ }
16726
+
16298
16727
  .application-menu__apps-grid {
16299
- grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
16728
+ grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
16300
16729
  gap: 12px;
16301
16730
  }
16302
-
16731
+
16303
16732
  .application-menu__app {
16304
16733
  padding: 12px 8px;
16305
16734
  }
16306
-
16735
+
16307
16736
  .app-icon {
16308
- font-size: 40px;
16737
+ font-size: 36px;
16309
16738
  }
16310
-
16739
+
16311
16740
  .app-name {
16312
16741
  font-size: 12px;
16313
16742
  }
16314
-
16315
- .application-menu__categories {
16316
- padding: 12px 16px;
16317
- }
16318
-
16743
+
16319
16744
  .application-menu__search,
16320
16745
  .application-menu__content {
16321
16746
  padding: 16px;
16322
16747
  }
16323
16748
  }
16324
16749
 
16325
- /* Scrollbar styling */
16326
- .application-menu__content::-webkit-scrollbar {
16327
- width: 8px;
16328
- }
16750
+ @media (max-width: 480px) {
16751
+ /* ApplicationMenu overlay covers entire workspace on mobile */
16329
16752
 
16330
- .application-menu__content::-webkit-scrollbar-track {
16331
- background: #f1f1f1;
16332
- border-radius: 4px;
16333
- }
16753
+ .application-menu__main {
16754
+ grid-template-columns: 1fr;
16755
+ grid-template-rows: auto 1fr;
16756
+ grid-template-areas:
16757
+ "sidebar"
16758
+ "content";
16759
+ }
16334
16760
 
16335
- .application-menu__content::-webkit-scrollbar-thumb {
16336
- background: #c1c1c1;
16337
- border-radius: 4px;
16338
- }
16761
+ .application-menu__sidebar {
16762
+ border-right: none;
16763
+ border-bottom: 1px solid #e0e0e0;
16764
+ }
16339
16765
 
16340
- .application-menu__content::-webkit-scrollbar-thumb:hover {
16341
- background: #a8a8a8;
16766
+ .application-menu__categories {
16767
+ display: flex;
16768
+ flex-direction: row;
16769
+ overflow-x: auto;
16770
+ overflow-y: hidden;
16771
+ padding: 12px 16px;
16772
+ gap: 8px;
16773
+ }
16774
+
16775
+ .application-menu__category {
16776
+ flex-shrink: 0;
16777
+ white-space: nowrap;
16778
+ margin: 0;
16779
+ width: auto;
16780
+ }
16342
16781
  }
16782
+
16783
+
16343
16784
  /* Desktop Component Styles */
16344
16785
 
16345
16786
  .desktop {
@@ -16366,8 +16807,38 @@ li.selected,
16366
16807
  width: 100%;
16367
16808
  height: 100%;
16368
16809
  z-index: 1;
16810
+ display: flex;
16811
+ flex-direction: column;
16369
16812
  }
16370
16813
 
16814
+ /* Workspace container - takes available space above taskbar */
16815
+ .desktop__workspace-container {
16816
+ position: relative;
16817
+ flex: 1;
16818
+ overflow: hidden;
16819
+ z-index: 1;
16820
+ }
16821
+
16822
+ /* Workspace - container for windows with boundaries */
16823
+ .workspace {
16824
+ position: relative;
16825
+ width: 100%;
16826
+ height: 100%;
16827
+ overflow: hidden;
16828
+ }
16829
+
16830
+ .desktop-taskbar {
16831
+
16832
+ & .icon {
16833
+ color: white;
16834
+ & :hover {
16835
+ color: #fff;
16836
+ background-color: rgba(255, 255, 255, 0.1);
16837
+ }
16838
+ }
16839
+ }
16840
+
16841
+
16371
16842
  /* Desktop variants */
16372
16843
  .desktop--dark {
16373
16844
  color: white;
@@ -16503,6 +16974,60 @@ li.selected,
16503
16974
  border-color: rgba(255, 255, 255, 0.4);
16504
16975
  }
16505
16976
 
16977
+ /* Windows Start Button Styling */
16978
+ .desktop--windows .toggle-button {
16979
+ /* Reset selector styles and apply Windows button styling */
16980
+ position: relative;
16981
+ padding: 8px 16px;
16982
+ display: flex;
16983
+ align-items: center;
16984
+ justify-content: center;
16985
+ gap: 8px;
16986
+ overflow: hidden;
16987
+ border: 1px solid rgba(255, 255, 255, 0.2);
16988
+ outline: none;
16989
+ transition: all 0.2s ease;
16990
+ color: white;
16991
+ background: linear-gradient(180deg, #0078d4 0%, #106ebe 100%);
16992
+ min-height: 40px;
16993
+ border-radius: 4px;
16994
+ cursor: pointer;
16995
+ font-family: 'Segoe UI', sans-serif;
16996
+ font-weight: 500;
16997
+ text-decoration: none;
16998
+ white-space: nowrap;
16999
+ list-style: none;
17000
+ margin: 0;
17001
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
17002
+ }
17003
+
17004
+ .desktop--windows .toggle-button:hover:not(.toggle-button--disabled) {
17005
+ background: linear-gradient(180deg, #106ebe 0%, #005a9e 100%);
17006
+ border-color: rgba(255, 255, 255, 0.3);
17007
+ transform: none;
17008
+ }
17009
+
17010
+ .desktop--windows .toggle-button.selected {
17011
+ background: linear-gradient(180deg, #005a9e 0%, #004578 100%);
17012
+ color: white;
17013
+ border-color: rgba(255, 255, 255, 0.4);
17014
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
17015
+ }
17016
+
17017
+ .desktop--windows .toggle-button:focus {
17018
+ outline: 2px solid rgba(255, 255, 255, 0.5);
17019
+ outline-offset: 2px;
17020
+ }
17021
+
17022
+ .desktop--windows .toggle-button--disabled {
17023
+ background: rgba(200, 200, 200, 0.3) !important;
17024
+ color: rgba(100, 100, 100, 0.5) !important;
17025
+ border-color: rgba(255, 255, 255, 0.1) !important;
17026
+ cursor: not-allowed;
17027
+ opacity: 1;
17028
+ box-shadow: none;
17029
+ }
17030
+
16506
17031
  /* Windows Application Menu */
16507
17032
  .desktop--windows .application-menu {
16508
17033
  background: rgba(248, 248, 248, 0.95);
@@ -16530,15 +17055,12 @@ li.selected,
16530
17055
 
16531
17056
  .desktop--windows .application-menu__category {
16532
17057
  background: #ffffff;
16533
- border: 1px solid #e0e0e0;
16534
- border-radius: 16px;
16535
17058
  font-family: 'Segoe UI', sans-serif;
16536
17059
  font-size: 13px;
16537
17060
  }
16538
17061
 
16539
17062
  .desktop--windows .application-menu__category:hover {
16540
17063
  background: #f5f5f5;
16541
- border-color: #d0d0d0;
16542
17064
  }
16543
17065
 
16544
17066
  .desktop--windows .application-menu__category.active {
@@ -16703,6 +17225,61 @@ li.selected,
16703
17225
  border-color: rgba(53, 132, 228, 0.5);
16704
17226
  }
16705
17227
 
17228
+ /* Linux Start Button Styling (GNOME Activities) */
17229
+ .desktop--linux .toggle-button {
17230
+ /* Reset selector styles and apply Linux button styling */
17231
+ position: relative;
17232
+ padding: 8px 16px;
17233
+ display: flex;
17234
+ align-items: center;
17235
+ justify-content: center;
17236
+ gap: 8px;
17237
+ overflow: hidden;
17238
+ border: 1px solid rgba(255, 255, 255, 0.15);
17239
+ outline: none;
17240
+ transition: all 0.3s ease;
17241
+ color: #ffffff;
17242
+ background: linear-gradient(180deg, rgba(53, 132, 228, 0.9) 0%, rgba(26, 95, 180, 0.9) 100%);
17243
+ min-height: 40px;
17244
+ border-radius: 8px;
17245
+ cursor: pointer;
17246
+ font-family: 'Ubuntu', 'Cantarell', sans-serif;
17247
+ font-weight: 500;
17248
+ text-decoration: none;
17249
+ white-space: nowrap;
17250
+ list-style: none;
17251
+ margin: 0;
17252
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
17253
+ }
17254
+
17255
+ .desktop--linux .toggle-button:hover:not(.toggle-button--disabled) {
17256
+ background: linear-gradient(180deg, rgba(53, 132, 228, 1) 0%, rgba(26, 95, 180, 1) 100%);
17257
+ border-color: rgba(255, 255, 255, 0.25);
17258
+ transform: translateY(-1px);
17259
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
17260
+ }
17261
+
17262
+ .desktop--linux .toggle-button.selected {
17263
+ background: linear-gradient(180deg, rgba(26, 95, 180, 0.9) 0%, rgba(15, 70, 140, 0.9) 100%);
17264
+ color: #ffffff;
17265
+ border-color: rgba(255, 255, 255, 0.3);
17266
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(53, 132, 228, 0.4);
17267
+ }
17268
+
17269
+ .desktop--linux .toggle-button:focus {
17270
+ outline: 2px solid rgba(53, 132, 228, 0.6);
17271
+ outline-offset: 2px;
17272
+ }
17273
+
17274
+ .desktop--linux .toggle-button--disabled {
17275
+ background: rgba(255, 255, 255, 0.1) !important;
17276
+ color: rgba(255, 255, 255, 0.4) !important;
17277
+ border-color: rgba(255, 255, 255, 0.05) !important;
17278
+ cursor: not-allowed;
17279
+ opacity: 1;
17280
+ box-shadow: none;
17281
+ }
17282
+
16706
17283
  /* Linux Application Menu (Activities Overview) */
16707
17284
  .desktop--linux .application-menu {
16708
17285
  background: rgba(36, 31, 49, 0.95);
@@ -16958,6 +17535,63 @@ li.selected,
16958
17535
  color: #007aff;
16959
17536
  }
16960
17537
 
17538
+ /* macOS Start Button Styling (Dock-inspired) */
17539
+ .desktop--macos .toggle-button {
17540
+ /* Reset selector styles and apply macOS button styling */
17541
+ position: relative;
17542
+ padding: 8px 16px;
17543
+ display: flex;
17544
+ align-items: center;
17545
+ justify-content: center;
17546
+ gap: 8px;
17547
+ overflow: hidden;
17548
+ border: 1px solid rgba(0, 0, 0, 0.1);
17549
+ outline: none;
17550
+ transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
17551
+ color: #1d1d1f;
17552
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 248, 248, 0.9) 100%);
17553
+ min-height: 40px;
17554
+ border-radius: 12px;
17555
+ cursor: pointer;
17556
+ font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
17557
+ font-weight: 500;
17558
+ text-decoration: none;
17559
+ white-space: nowrap;
17560
+ list-style: none;
17561
+ margin: 0;
17562
+ backdrop-filter: blur(20px);
17563
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
17564
+ }
17565
+
17566
+ .desktop--macos .toggle-button:hover:not(.toggle-button--disabled) {
17567
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 245, 245, 0.95) 100%);
17568
+ border-color: rgba(0, 0, 0, 0.15);
17569
+ transform: translateY(-1px);
17570
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
17571
+ }
17572
+
17573
+ .desktop--macos .toggle-button.selected {
17574
+ background: linear-gradient(180deg, rgba(0, 122, 255, 0.9) 0%, rgba(0, 100, 210, 0.9) 100%);
17575
+ color: white;
17576
+ border-color: rgba(0, 122, 255, 0.3);
17577
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2), 0 2px 8px rgba(0, 122, 255, 0.3);
17578
+ }
17579
+
17580
+ .desktop--macos .toggle-button:focus {
17581
+ outline: 2px solid rgba(0, 122, 255, 0.5);
17582
+ outline-offset: 2px;
17583
+ }
17584
+
17585
+ .desktop--macos .toggle-button--disabled {
17586
+ background: rgba(248, 248, 248, 0.5) !important;
17587
+ color: rgba(60, 60, 67, 0.3) !important;
17588
+ border-color: rgba(0, 0, 0, 0.05) !important;
17589
+ cursor: not-allowed;
17590
+ opacity: 1;
17591
+ box-shadow: none;
17592
+ backdrop-filter: none;
17593
+ }
17594
+
16961
17595
  /* macOS Application Menu (Launchpad-inspired) */
16962
17596
  .desktop--macos .application-menu {
16963
17597
  background: rgba(255, 255, 255, 0.9);