@industry-theme/xterm-terminal-panel 0.5.15 → 0.5.17

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 (3) hide show
  1. package/dist/index.css +0 -1931
  2. package/dist/index.js +56 -3347
  3. package/package.json +4 -3
package/dist/index.css CHANGED
@@ -166,1934 +166,3 @@
166
166
  .terminal-working-overlay.closing {
167
167
  animation: blinds-up .3s ease-in forwards;
168
168
  }
169
-
170
- /* node_modules/@principal-ade/panels/dist/index.css */
171
- .animated-resizable-layout {
172
- position: relative;
173
- background-color: var(--panel-background);
174
- width: 100%;
175
- height: 100%;
176
- }
177
-
178
- .hybrid-panel {
179
- overflow: auto;
180
- background-color: var(--panel-background);
181
- height: 100%;
182
- }
183
-
184
- .resize-handle {
185
- background-color: var(--panel-handle);
186
- display: flex;
187
- cursor: col-resize;
188
- position: relative;
189
- justify-content: center;
190
- align-items: center;
191
- width: 8px;
192
- transition: background-color .2s, opacity .3s, width .3s;
193
- }
194
-
195
- .resize-handle.collapsed {
196
- opacity: 0;
197
- pointer-events: none;
198
- }
199
-
200
- .resize-handle:hover {
201
- background-color: var(--panel-handle-hover);
202
- }
203
-
204
- .resize-handle:active {
205
- background-color: var(--panel-handle-active);
206
- }
207
-
208
- .handle-bar {
209
- display: flex;
210
- position: relative;
211
- justify-content: center;
212
- align-items: center;
213
- width: 100%;
214
- height: 100%;
215
- }
216
-
217
- .collapse-toggle {
218
- position: absolute;
219
- background: var(--panel-button-bg);
220
- border: 1px solid var(--panel-button-border);
221
- cursor: pointer;
222
- color: var(--panel-button-icon);
223
- outline: none;
224
- display: flex;
225
- z-index: 10;
226
- border-radius: 4px;
227
- justify-content: center;
228
- align-items: center;
229
- padding: 4px 8px;
230
- transition: all .2s;
231
- font-size: 14px;
232
- box-shadow: 0 2px 4px #0000001a;
233
- }
234
-
235
- .animated-vertical-layout {
236
- position: relative;
237
- background-color: var(--panel-background);
238
- width: 100%;
239
- height: 100%;
240
- }
241
-
242
- .vertical-panel {
243
- overflow: auto;
244
- background-color: var(--panel-background);
245
- width: 100%;
246
- }
247
-
248
- .panel-content-wrapper {
249
- overflow: auto;
250
- width: 100%;
251
- height: 100%;
252
- }
253
-
254
- .vertical-resize-handle {
255
- background-color: var(--panel-handle);
256
- display: flex;
257
- cursor: row-resize;
258
- position: relative;
259
- justify-content: center;
260
- align-items: center;
261
- height: 8px;
262
- transition: background-color .2s, opacity .3s, height .3s;
263
- }
264
-
265
- .vertical-resize-handle.collapsed {
266
- opacity: 0;
267
- pointer-events: none;
268
- }
269
-
270
- .vertical-resize-handle:hover {
271
- background-color: var(--panel-handle-hover);
272
- }
273
-
274
- .vertical-resize-handle:active {
275
- background-color: var(--panel-handle-active);
276
- }
277
-
278
- .handle-bar {
279
- display: flex;
280
- position: relative;
281
- justify-content: center;
282
- align-items: center;
283
- gap: 8px;
284
- width: 100%;
285
- height: 100%;
286
- }
287
-
288
- .collapse-toggle {
289
- background: var(--panel-button-bg);
290
- border: 1px solid var(--panel-button-border);
291
- cursor: pointer;
292
- color: var(--panel-button-icon);
293
- outline: none;
294
- display: flex;
295
- z-index: 10;
296
- border-radius: 4px;
297
- justify-content: center;
298
- align-items: center;
299
- padding: 4px 8px;
300
- transition: all .2s;
301
- font-size: 14px;
302
- box-shadow: 0 2px 4px #0000001a;
303
- }
304
-
305
- .collapse-toggle:hover:not(:disabled) {
306
- background-color: var(--panel-button-hover);
307
- box-shadow: 0 2px 6px #00000026;
308
- }
309
-
310
- .collapse-toggle:active:not(:disabled) {
311
- opacity: .8;
312
- }
313
-
314
- .collapsible-split-pane {
315
- position: relative;
316
- display: flex;
317
- background-color: var(--panel-background);
318
- flex-direction: column;
319
- width: 100%;
320
- height: 100%;
321
- }
322
-
323
- .csp-header {
324
- display: flex;
325
- background-color: var(--panel-handle);
326
- border-bottom: 1px solid var(--panel-border, #80808033);
327
- -webkit-user-select: none;
328
- user-select: none;
329
- flex-shrink: 0;
330
- align-items: center;
331
- gap: 8px;
332
- padding: 0 12px;
333
- transition: background-color .15s;
334
- }
335
-
336
- .csp-header-collapsed {
337
- cursor: pointer;
338
- }
339
-
340
- .csp-header-collapsed:hover {
341
- background-color: var(--panel-handle-hover);
342
- }
343
-
344
- .csp-header-collapsed:focus {
345
- outline: none;
346
- box-shadow: inset 0 0 0 2px var(--panel-focus-ring, #3b82f680);
347
- }
348
-
349
- .csp-header-icon {
350
- display: flex;
351
- color: var(--panel-text-secondary, #888);
352
- justify-content: center;
353
- align-items: center;
354
- font-size: 14px;
355
- }
356
-
357
- .csp-header-title {
358
- color: var(--panel-text, #333);
359
- white-space: nowrap;
360
- overflow: hidden;
361
- text-overflow: ellipsis;
362
- flex: 1;
363
- font-size: 12px;
364
- font-weight: 500;
365
- }
366
-
367
- .csp-header-toggle {
368
- display: flex;
369
- color: var(--panel-text-secondary, #888);
370
- cursor: pointer;
371
- background: none;
372
- border: none;
373
- border-radius: 3px;
374
- justify-content: center;
375
- align-items: center;
376
- width: 20px;
377
- height: 20px;
378
- padding: 0;
379
- transition: background-color .15s, color .15s;
380
- }
381
-
382
- .csp-header-toggle:hover {
383
- background-color: var(--panel-button-hover, #80808033);
384
- color: var(--panel-text, #333);
385
- }
386
-
387
- .csp-content-area {
388
- display: flex;
389
- flex-direction: column;
390
- flex: 1;
391
- min-height: 0;
392
- }
393
-
394
- .csp-primary-content-full {
395
- overflow: hidden;
396
- flex: 1;
397
- min-height: 0;
398
- }
399
-
400
- .csp-secondary-panel, .csp-primary-panel {
401
- overflow: hidden;
402
- background-color: var(--panel-background);
403
- }
404
-
405
- .csp-panel-content {
406
- display: flex;
407
- overflow: hidden;
408
- flex-direction: column;
409
- width: 100%;
410
- height: 100%;
411
- }
412
-
413
- .csp-secondary-body {
414
- overflow: auto;
415
- width: 100%;
416
- height: 100%;
417
- }
418
-
419
- .csp-resize-handle {
420
- background-color: var(--panel-handle);
421
- display: flex;
422
- cursor: row-resize;
423
- position: relative;
424
- flex-shrink: 0;
425
- justify-content: center;
426
- align-items: center;
427
- height: 6px;
428
- transition: background-color .15s;
429
- }
430
-
431
- .csp-resize-handle:hover {
432
- background-color: var(--panel-handle-hover);
433
- }
434
-
435
- .csp-resize-handle:active {
436
- background-color: var(--panel-handle-active);
437
- }
438
-
439
- .csp-resize-handle-bar {
440
- background-color: var(--panel-handle-bar, #80808066);
441
- border-radius: 2px;
442
- width: 32px;
443
- height: 3px;
444
- transition: background-color .15s;
445
- }
446
-
447
- .csp-resize-handle:hover .csp-resize-handle-bar {
448
- background-color: var(--panel-handle-bar-hover, #80808099);
449
- }
450
-
451
- .three-panel-layout {
452
- display: flex;
453
- position: relative;
454
- background-color: var(--panel-background);
455
- box-sizing: border-box;
456
- flex-direction: column;
457
- width: 100%;
458
- height: 100%;
459
- }
460
-
461
- .three-panel-item {
462
- display: flex;
463
- overflow: hidden;
464
- position: relative;
465
- background-color: var(--panel-background);
466
- box-sizing: border-box;
467
- flex-direction: column;
468
- min-width: 0;
469
- }
470
-
471
- .three-panel-item[data-edit-mode="true"] {
472
- background-color: var(--panel-accent-bg);
473
- border-radius: 12px;
474
- }
475
-
476
- .three-panel-layout [data-panel] {
477
- transition: flex-grow var(--panel-transition-duration, .3s) var(--panel-transition-easing, cubic-bezier(.4, 0, .2, 1));
478
- }
479
-
480
- .three-panel-layout.is-dragging [data-panel] {
481
- transition: none;
482
- }
483
-
484
- .three-panel-item.collapsible-panel {
485
- will-change: flex;
486
- }
487
-
488
- .three-panel-item.collapsible-panel.collapsed {
489
- visibility: hidden;
490
- overflow: hidden !important;
491
- flex: 0 !important;
492
- width: 0 !important;
493
- min-width: 0 !important;
494
- max-width: 0 !important;
495
- }
496
-
497
- .panel-content-wrapper {
498
- overflow-x: hidden;
499
- overflow-y: auto;
500
- will-change: opacity;
501
- box-sizing: border-box;
502
- flex: 1;
503
- min-width: 0;
504
- }
505
-
506
- .resize-handle {
507
- position: relative;
508
- display: flex;
509
- cursor: col-resize;
510
- background: var(--panel-border);
511
- justify-content: center;
512
- align-items: center;
513
- overflow: visible !important;
514
- width: 1px !important;
515
- }
516
-
517
- .resize-handle:before {
518
- content: "";
519
- position: absolute;
520
- background: none;
521
- inset: 0 -10px;
522
- }
523
-
524
- .resize-handle:after {
525
- content: "";
526
- position: absolute;
527
- background: var(--panel-handle);
528
- opacity: 0;
529
- z-index: -1;
530
- transition: opacity .2s;
531
- inset: 0 -10px;
532
- }
533
-
534
- .resize-handle:hover:after {
535
- opacity: 1;
536
- }
537
-
538
- .resize-handle:hover {
539
- background: var(--panel-handle-hover);
540
- }
541
-
542
- .resize-handle:active:after {
543
- opacity: 1;
544
- background: var(--panel-handle-active);
545
- }
546
-
547
- .resize-handle:active {
548
- background: var(--panel-handle-active);
549
- }
550
-
551
- .resize-handle.collapsed {
552
- visibility: hidden;
553
- width: 0 !important;
554
- }
555
-
556
- .resize-handle.left-handle.collapsed {
557
- margin-right: -1px;
558
- }
559
-
560
- .resize-handle.right-handle.collapsed {
561
- margin-left: -1px;
562
- }
563
-
564
- .handle-bar {
565
- position: relative;
566
- display: flex;
567
- z-index: 2;
568
- justify-content: center;
569
- align-items: center;
570
- width: 100%;
571
- height: 100%;
572
- }
573
-
574
- .collapse-toggle {
575
- position: absolute;
576
- background: var(--panel-button-bg);
577
- border: 1px solid var(--panel-button-border);
578
- display: flex;
579
- cursor: pointer;
580
- color: var(--panel-button-icon);
581
- z-index: 10;
582
- border-radius: 4px;
583
- justify-content: center;
584
- align-items: center;
585
- width: 20px;
586
- height: 40px;
587
- padding: 0;
588
- transition: all .2s;
589
- font-size: 12px;
590
- line-height: 1;
591
- top: 50%;
592
- left: 50%;
593
- transform: translate(-50%, -50%);
594
- }
595
-
596
- .collapse-toggle:hover {
597
- background: var(--panel-button-hover);
598
- }
599
-
600
- .collapse-toggle:active {
601
- opacity: .8;
602
- }
603
-
604
- .collapse-toggle:disabled {
605
- opacity: .5;
606
- cursor: not-allowed;
607
- }
608
-
609
- @media (max-width: 768px) {
610
- .resize-handle:before, .resize-handle:after {
611
- left: -8px;
612
- right: -8px;
613
- }
614
-
615
- .collapse-toggle {
616
- width: 24px;
617
- height: 48px;
618
- font-size: 14px;
619
- }
620
- }
621
-
622
- @keyframes wiggle {
623
- 0% {
624
- transform: rotate(0);
625
- }
626
-
627
- 25% {
628
- transform: rotate(1deg);
629
- }
630
-
631
- 50% {
632
- transform: rotate(0);
633
- }
634
-
635
- 75% {
636
- transform: rotate(-1deg);
637
- }
638
-
639
- to {
640
- transform: rotate(0);
641
- }
642
- }
643
-
644
- @keyframes scaleIn {
645
- 0% {
646
- transform: scale(.95);
647
- opacity: 0;
648
- }
649
-
650
- to {
651
- transform: scale(1);
652
- opacity: 1;
653
- }
654
- }
655
-
656
- @keyframes pulse {
657
- 0%, to {
658
- box-shadow: 0 0 #3b82f666;
659
- }
660
-
661
- 50% {
662
- box-shadow: 0 0 0 8px #3b82f600;
663
- }
664
- }
665
-
666
- .editable-panel-layout {
667
- position: relative;
668
- width: 100%;
669
- height: 100%;
670
- }
671
-
672
- .editable-panel-layout.edit-mode-active {
673
- background: #0000000d;
674
- }
675
-
676
- [data-slot][data-edit-mode="true"] {
677
- transform-origin: center center;
678
- cursor: grab;
679
- will-change: transform;
680
- transition: transform .3s cubic-bezier(.4,0,.2,1);
681
- transform: scale(.95);
682
- }
683
-
684
- [data-slot][data-edit-mode="true"]:active {
685
- cursor: grabbing;
686
- }
687
-
688
- [data-slot][data-dragging="true"] {
689
- cursor: grabbing !important;
690
- transition: none !important;
691
- transform: scale(.95) !important;
692
- }
693
-
694
- .edit-mode-active [data-slot][data-edit-mode="true"] {
695
- transform-origin: center center;
696
- }
697
-
698
- .slot-with-overlay {
699
- position: relative;
700
- width: 100%;
701
- height: 100%;
702
- }
703
-
704
- .slot-with-overlay.dragging {
705
- opacity: 0;
706
- pointer-events: none;
707
- }
708
-
709
- .slot-edit-overlay {
710
- position: absolute;
711
- pointer-events: auto;
712
- cursor: grab;
713
- z-index: 100;
714
- display: flex;
715
- background: none;
716
- border: none;
717
- flex-direction: column;
718
- justify-content: center;
719
- align-items: center;
720
- inset: 0;
721
- }
722
-
723
- .slot-edit-overlay:hover {
724
- background: #3b82f608;
725
- }
726
-
727
- .slot-edit-overlay:active {
728
- cursor: grabbing;
729
- }
730
-
731
- .drag-indicator, .slot-position-label {
732
- display: none;
733
- }
734
-
735
- .edit-mode-toggle {
736
- position: absolute;
737
- z-index: 1000;
738
- color: #374151;
739
- cursor: pointer;
740
- background: #fff;
741
- border: 1px solid #e5e7eb;
742
- border-radius: 8px;
743
- padding: 8px 16px;
744
- transition: all .2s;
745
- font-size: 14px;
746
- font-weight: 500;
747
- top: 16px;
748
- right: 16px;
749
- box-shadow: 0 2px 4px #0000001a;
750
- }
751
-
752
- .edit-mode-toggle:hover {
753
- background: #f9fafb;
754
- box-shadow: 0 4px 6px #0000001a;
755
- }
756
-
757
- .edit-mode-toggle.active {
758
- color: #fff;
759
- background: #3b82f6;
760
- border-color: #2563eb;
761
- }
762
-
763
- .edit-mode-overlay {
764
- position: fixed;
765
- z-index: 998;
766
- animation: fadeIn .2s ease;
767
- background: #0000004d;
768
- inset: 0;
769
- }
770
-
771
- @keyframes fadeIn {
772
- 0% {
773
- opacity: 0;
774
- }
775
-
776
- to {
777
- opacity: 1;
778
- }
779
- }
780
-
781
- .edit-mode-configurator {
782
- position: relative;
783
- z-index: 999;
784
- animation: scaleIn .3s ease;
785
- padding: 20px;
786
- }
787
-
788
- .panel-slot {
789
- position: relative;
790
- border: 2px dashed #0000;
791
- border-radius: 12px;
792
- min-height: 120px;
793
- padding: 12px;
794
- transition: all .3s;
795
- }
796
-
797
- .panel-slot.edit-mode {
798
- background: #ffffff80;
799
- border-color: #d1d5db;
800
- }
801
-
802
- .panel-slot.drag-over {
803
- background: #3b82f61a;
804
- border-color: #3b82f6;
805
- box-shadow: 0 0 0 4px #3b82f61a;
806
- }
807
-
808
- .panel-slot.empty {
809
- display: flex;
810
- color: #9ca3af;
811
- justify-content: center;
812
- align-items: center;
813
- font-size: 14px;
814
- }
815
-
816
- .draggable-panel {
817
- position: relative;
818
- cursor: grab;
819
- -webkit-user-select: none;
820
- user-select: none;
821
- background: #fff;
822
- border: 1px solid #e5e7eb;
823
- border-radius: 8px;
824
- margin: 8px 0;
825
- padding: 12px 16px;
826
- transition: all .2s;
827
- }
828
-
829
- .draggable-panel:hover {
830
- border-color: #3b82f6;
831
- box-shadow: 0 2px 8px #0000001a;
832
- }
833
-
834
- .draggable-panel.dragging {
835
- opacity: .5;
836
- cursor: grabbing;
837
- }
838
-
839
- .draggable-panel.edit-mode {
840
- animation: wiggle .4s ease-in-out infinite;
841
- transform-origin: center;
842
- }
843
-
844
- .draggable-panel.edit-mode:nth-child(odd) {
845
- animation-delay: .1s;
846
- }
847
-
848
- .draggable-panel.edit-mode:nth-child(2n) {
849
- animation-delay: .2s;
850
- }
851
-
852
- .remove-button {
853
- position: absolute;
854
- color: #fff;
855
- display: flex;
856
- cursor: pointer;
857
- opacity: 0;
858
- z-index: 10;
859
- background: #ef4444;
860
- border: 2px solid #fff;
861
- border-radius: 50%;
862
- justify-content: center;
863
- align-items: center;
864
- width: 20px;
865
- height: 20px;
866
- transition: all .2s;
867
- font-size: 12px;
868
- font-weight: 700;
869
- top: -6px;
870
- right: -6px;
871
- transform: scale(0);
872
- box-shadow: 0 2px 4px #0003;
873
- }
874
-
875
- .draggable-panel.edit-mode .remove-button {
876
- opacity: 1;
877
- animation: pulse 2s infinite;
878
- transform: scale(1);
879
- }
880
-
881
- .remove-button:hover {
882
- background: #dc2626;
883
- transform: scale(1.1);
884
- }
885
-
886
- .panel-label {
887
- display: flex;
888
- color: #374151;
889
- align-items: center;
890
- gap: 8px;
891
- font-size: 14px;
892
- font-weight: 500;
893
- }
894
-
895
- .panel-icon {
896
- display: flex;
897
- justify-content: center;
898
- align-items: center;
899
- width: 20px;
900
- height: 20px;
901
- }
902
-
903
- .drag-handle {
904
- display: none;
905
- opacity: .4;
906
- cursor: grab;
907
- width: 24px;
908
- height: 24px;
909
- }
910
-
911
- .edit-mode .drag-handle {
912
- display: flex;
913
- justify-content: center;
914
- align-items: center;
915
- }
916
-
917
- .drag-overlay {
918
- cursor: grabbing;
919
- opacity: .9;
920
- background: #fff;
921
- border: 2px solid #3b82f6;
922
- border-radius: 8px;
923
- padding: 12px 16px;
924
- box-shadow: 0 8px 16px #0003;
925
- }
926
-
927
- .panel-group {
928
- background: #fff;
929
- border: 2px solid #e5e7eb;
930
- border-radius: 12px;
931
- padding: 8px;
932
- }
933
-
934
- .panel-group.edit-mode {
935
- animation: wiggle .5s ease-in-out infinite;
936
- border-color: #3b82f6;
937
- }
938
-
939
- .panel-group-header {
940
- display: flex;
941
- border-bottom: 1px solid #e5e7eb;
942
- justify-content: space-between;
943
- align-items: center;
944
- margin-bottom: 8px;
945
- padding: 8px;
946
- }
947
-
948
- .panel-group-title {
949
- color: #6b7280;
950
- text-transform: uppercase;
951
- font-size: 12px;
952
- font-weight: 600;
953
- }
954
-
955
- .available-panels {
956
- background: #fff;
957
- border-radius: 12px;
958
- padding: 16px;
959
- box-shadow: 0 4px 6px #0000001a;
960
- }
961
-
962
- .available-panels-title {
963
- color: #374151;
964
- margin-bottom: 12px;
965
- font-size: 16px;
966
- font-weight: 600;
967
- }
968
-
969
- .available-panels-list {
970
- display: flex;
971
- flex-direction: column;
972
- gap: 8px;
973
- }
974
-
975
- .slot-label {
976
- color: #6b7280;
977
- text-transform: uppercase;
978
- display: flex;
979
- align-items: center;
980
- gap: 8px;
981
- margin-bottom: 8px;
982
- font-size: 12px;
983
- font-weight: 600;
984
- }
985
-
986
- .slot-indicator {
987
- background: #d1d5db;
988
- border-radius: 50%;
989
- width: 8px;
990
- height: 8px;
991
- }
992
-
993
- .slot-indicator.active {
994
- background: #3b82f6;
995
- }
996
-
997
- .action-buttons {
998
- position: fixed;
999
- z-index: 1001;
1000
- display: flex;
1001
- animation: scaleIn .3s ease;
1002
- background: #fff;
1003
- border-radius: 12px;
1004
- gap: 12px;
1005
- padding: 12px 24px;
1006
- bottom: 24px;
1007
- left: 50%;
1008
- transform: translate(-50%);
1009
- box-shadow: 0 8px 16px #00000026;
1010
- }
1011
-
1012
- .action-button {
1013
- color: #374151;
1014
- cursor: pointer;
1015
- background: #fff;
1016
- border: 1px solid #e5e7eb;
1017
- border-radius: 8px;
1018
- padding: 10px 20px;
1019
- transition: all .2s;
1020
- font-size: 14px;
1021
- font-weight: 500;
1022
- }
1023
-
1024
- .action-button:hover {
1025
- background: #f9fafb;
1026
- }
1027
-
1028
- .action-button.primary {
1029
- color: #fff;
1030
- background: #3b82f6;
1031
- border-color: #2563eb;
1032
- }
1033
-
1034
- .action-button.primary:hover {
1035
- background: #2563eb;
1036
- }
1037
-
1038
- @media (max-width: 768px) {
1039
- .edit-mode-toggle {
1040
- padding: 6px 12px;
1041
- font-size: 12px;
1042
- top: 8px;
1043
- right: 8px;
1044
- }
1045
-
1046
- .action-buttons {
1047
- padding: 10px 16px;
1048
- bottom: 16px;
1049
- }
1050
-
1051
- .action-button {
1052
- padding: 8px 16px;
1053
- font-size: 13px;
1054
- }
1055
- }
1056
-
1057
- @media (prefers-color-scheme: dark) {
1058
- .edit-mode-toggle {
1059
- color: #f9fafb;
1060
- background: #1f2937;
1061
- border-color: #374151;
1062
- }
1063
-
1064
- .edit-mode-toggle:hover {
1065
- background: #374151;
1066
- }
1067
-
1068
- .draggable-panel {
1069
- color: #f9fafb;
1070
- background: #1f2937;
1071
- border-color: #374151;
1072
- }
1073
-
1074
- .available-panels {
1075
- background: #1f2937;
1076
- }
1077
-
1078
- .panel-label {
1079
- color: #f9fafb;
1080
- }
1081
-
1082
- .action-buttons {
1083
- background: #1f2937;
1084
- }
1085
-
1086
- .action-button {
1087
- color: #f9fafb;
1088
- background: #1f2937;
1089
- border-color: #374151;
1090
- }
1091
-
1092
- .action-button:hover {
1093
- background: #374151;
1094
- }
1095
- }
1096
-
1097
- .panel-configurator {
1098
- display: flex;
1099
- background: var(--configurator-bg);
1100
- border-radius: 8px;
1101
- flex-direction: column;
1102
- gap: 2rem;
1103
- padding: 1.5rem;
1104
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
1105
- }
1106
-
1107
- .configurator-section {
1108
- display: flex;
1109
- flex-direction: column;
1110
- gap: 1rem;
1111
- }
1112
-
1113
- .section-title {
1114
- color: var(--configurator-title);
1115
- text-transform: uppercase;
1116
- letter-spacing: .05em;
1117
- text-align: center;
1118
- margin: 0;
1119
- font-size: .875rem;
1120
- font-weight: 600;
1121
- }
1122
-
1123
- .slots-container {
1124
- display: grid;
1125
- grid-template-columns: repeat(3, 1fr);
1126
- align-items: start;
1127
- gap: 1rem;
1128
- width: 75%;
1129
- margin: 0 auto;
1130
- }
1131
-
1132
- .slot {
1133
- position: relative;
1134
- aspect-ratio: 1 / 1.3;
1135
- background: var(--slot-bg);
1136
- border: 2px solid var(--slot-border);
1137
- cursor: pointer;
1138
- display: flex;
1139
- overflow: hidden;
1140
- box-sizing: border-box;
1141
- border-radius: 6px;
1142
- flex-direction: column;
1143
- gap: .5rem;
1144
- width: 100%;
1145
- padding: 2.5rem 1rem 1rem;
1146
- transition: all .2s;
1147
- }
1148
-
1149
- .slot:hover {
1150
- border-color: var(--slot-border-hover);
1151
- box-shadow: 0 2px 4px #0000000d;
1152
- }
1153
-
1154
- .slot.selected {
1155
- border-color: var(--slot-border-selected);
1156
- background: var(--slot-bg-selected);
1157
- box-shadow: 0 0 0 3px var(--slot-bg-selected);
1158
- }
1159
-
1160
- .slot.empty {
1161
- border-style: dashed;
1162
- }
1163
-
1164
- .slot-label {
1165
- color: var(--slot-label);
1166
- text-transform: capitalize;
1167
- text-align: left;
1168
- font-size: .75rem;
1169
- font-weight: 600;
1170
- }
1171
-
1172
- .slot[data-position="middle"] .slot-label, .slot[data-position="middle"] .slot-panel-name, .slot[data-position="middle"] .slot-empty-state {
1173
- text-align: center;
1174
- }
1175
-
1176
- .slot[data-position="right"] .slot-label, .slot[data-position="right"] .slot-panel-name, .slot[data-position="right"] .slot-empty-state {
1177
- text-align: right;
1178
- }
1179
-
1180
- .slot-content {
1181
- display: flex;
1182
- overflow-y: auto;
1183
- flex-direction: column;
1184
- flex: 1;
1185
- gap: .5rem;
1186
- min-height: 0;
1187
- }
1188
-
1189
- .slot-panel-name {
1190
- color: var(--slot-content-text);
1191
- font-size: .875rem;
1192
- font-weight: 600;
1193
- }
1194
-
1195
- .slot-preview {
1196
- display: flex;
1197
- background: var(--slot-preview-bg);
1198
- border: 1px solid var(--slot-preview-border);
1199
- color: var(--slot-preview-text);
1200
- border-radius: 4px;
1201
- flex: 1;
1202
- justify-content: center;
1203
- align-items: center;
1204
- padding: .5rem;
1205
- font-size: .75rem;
1206
- }
1207
-
1208
- .slot-empty-state {
1209
- display: flex;
1210
- color: var(--slot-empty-text);
1211
- flex: 1;
1212
- justify-content: center;
1213
- align-items: center;
1214
- min-height: 0;
1215
- font-size: .875rem;
1216
- font-style: italic;
1217
- }
1218
-
1219
- .slot-clear-btn {
1220
- position: absolute;
1221
- background: var(--clear-btn-bg);
1222
- color: var(--clear-btn-text);
1223
- cursor: pointer;
1224
- display: flex;
1225
- opacity: 0;
1226
- border: none;
1227
- border-radius: 4px;
1228
- justify-content: center;
1229
- align-items: center;
1230
- width: 24px;
1231
- height: 24px;
1232
- padding: 0;
1233
- transition: opacity .2s;
1234
- font-size: 1.25rem;
1235
- line-height: 1;
1236
- top: .25rem;
1237
- right: .25rem;
1238
- }
1239
-
1240
- .slot:hover .slot-clear-btn {
1241
- opacity: 1;
1242
- }
1243
-
1244
- .slot-clear-btn:hover {
1245
- background: var(--clear-btn-hover);
1246
- transform: scale(1.1);
1247
- }
1248
-
1249
- .available-panels {
1250
- display: grid;
1251
- grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
1252
- gap: .75rem;
1253
- width: 75%;
1254
- margin: 0 auto;
1255
- }
1256
-
1257
- .available-panel {
1258
- background: var(--panel-bg);
1259
- border: 2px solid var(--panel-border);
1260
- cursor: pointer;
1261
- display: flex;
1262
- border-radius: 6px;
1263
- flex-direction: column;
1264
- gap: .5rem;
1265
- min-height: 80px;
1266
- padding: .75rem;
1267
- transition: all .2s;
1268
- }
1269
-
1270
- .available-panel:hover {
1271
- border-color: var(--panel-border-hover);
1272
- transform: translateY(-2px);
1273
- box-shadow: 0 2px 4px #0000000d;
1274
- }
1275
-
1276
- .available-panel.selected {
1277
- border-color: var(--panel-border-selected);
1278
- background: var(--panel-bg-selected);
1279
- box-shadow: 0 0 0 3px var(--panel-bg-selected);
1280
- }
1281
-
1282
- .available-panel.in-use {
1283
- opacity: .5;
1284
- border-style: dashed;
1285
- }
1286
-
1287
- .available-panel.in-use:hover {
1288
- opacity: .6;
1289
- transform: translateY(0);
1290
- }
1291
-
1292
- .panel-label {
1293
- color: var(--panel-label-text);
1294
- font-size: .875rem;
1295
- font-weight: 600;
1296
- }
1297
-
1298
- .panel-preview {
1299
- display: flex;
1300
- background: var(--panel-preview-bg);
1301
- color: var(--panel-preview-text);
1302
- border-radius: 4px;
1303
- flex: 1;
1304
- justify-content: center;
1305
- align-items: center;
1306
- padding: .5rem;
1307
- font-size: .75rem;
1308
- }
1309
-
1310
- .selection-hint {
1311
- background: var(--hint-bg);
1312
- border: 1px solid var(--hint-border);
1313
- color: var(--hint-text);
1314
- text-align: center;
1315
- border-radius: 6px;
1316
- padding: .75rem 1rem;
1317
- font-size: .875rem;
1318
- }
1319
-
1320
- .available-panel.multi-selected {
1321
- border-color: var(--panel-border-selected);
1322
- background: var(--panel-bg-selected);
1323
- box-shadow: 0 0 0 2px var(--panel-bg-selected);
1324
- }
1325
-
1326
- .multi-select-badge {
1327
- background: var(--panel-border-selected);
1328
- color: #fff;
1329
- border-radius: 12px;
1330
- margin-left: .5rem;
1331
- padding: .25rem .5rem;
1332
- font-size: .75rem;
1333
- font-weight: 400;
1334
- }
1335
-
1336
- .multi-select-hint {
1337
- background: var(--panel-bg-selected);
1338
- border-color: var(--panel-border-selected);
1339
- }
1340
-
1341
- .slot.tab-group {
1342
- border-style: solid;
1343
- }
1344
-
1345
- .group-content {
1346
- position: relative;
1347
- overflow-y: auto;
1348
- min-height: 0;
1349
- }
1350
-
1351
- .group-badge {
1352
- color: var(--panel-border-selected);
1353
- margin-bottom: .5rem;
1354
- font-size: .75rem;
1355
- font-weight: 600;
1356
- }
1357
-
1358
- .group-panels {
1359
- display: flex;
1360
- overflow-y: auto;
1361
- flex-direction: column;
1362
- flex: 1;
1363
- gap: .25rem;
1364
- min-height: 0;
1365
- }
1366
-
1367
- .group-panel-label {
1368
- color: var(--slot-content-text);
1369
- background: var(--slot-preview-bg);
1370
- border-left: 3px solid var(--panel-border-selected);
1371
- border-radius: 3px;
1372
- padding: .25rem .5rem;
1373
- font-size: .75rem;
1374
- }
1375
-
1376
- .slot-panel-label {
1377
- color: var(--slot-content-text);
1378
- text-align: center;
1379
- font-size: .875rem;
1380
- font-weight: 600;
1381
- }
1382
-
1383
- .create-tab-group-btn {
1384
- background: var(--panel-border-selected);
1385
- color: #fff;
1386
- cursor: pointer;
1387
- border: none;
1388
- border-radius: 4px;
1389
- margin-top: .5rem;
1390
- padding: .5rem .75rem;
1391
- transition: all .2s;
1392
- font-size: .75rem;
1393
- font-weight: 600;
1394
- }
1395
-
1396
- .create-tab-group-btn:hover {
1397
- transform: scale(1.05);
1398
- box-shadow: 0 2px 4px #0000001a;
1399
- }
1400
-
1401
- .tab-mode-toggle {
1402
- position: absolute;
1403
- background: var(--slot-bg);
1404
- border: 1px solid var(--slot-border);
1405
- cursor: pointer;
1406
- z-index: 10;
1407
- opacity: .7;
1408
- color: var(--slot-content-text);
1409
- border-radius: 4px;
1410
- padding: .25rem .5rem;
1411
- transition: all .2s;
1412
- font-size: .85rem;
1413
- top: .5rem;
1414
- left: .5rem;
1415
- }
1416
-
1417
- .tab-mode-toggle svg {
1418
- display: block;
1419
- }
1420
-
1421
- .tab-mode-toggle:hover {
1422
- opacity: 1;
1423
- border-color: var(--slot-border-hover);
1424
- background: var(--slot-preview-bg);
1425
- }
1426
-
1427
- .tab-mode-toggle.active {
1428
- opacity: 1;
1429
- background: var(--panel-border-selected);
1430
- color: #fff;
1431
- border-color: var(--panel-border-selected);
1432
- }
1433
-
1434
- .tab-config-controls {
1435
- margin-bottom: .5rem;
1436
- }
1437
-
1438
- .tab-config-label {
1439
- display: flex;
1440
- color: var(--slot-label);
1441
- align-items: center;
1442
- gap: .5rem;
1443
- font-size: .75rem;
1444
- }
1445
-
1446
- .tab-config-label select {
1447
- border: 1px solid var(--slot-border);
1448
- background: var(--slot-bg);
1449
- color: var(--slot-content-text);
1450
- cursor: pointer;
1451
- border-radius: 3px;
1452
- padding: .25rem .5rem;
1453
- font-size: .7rem;
1454
- }
1455
-
1456
- .group-panel-item {
1457
- display: flex;
1458
- background: var(--slot-preview-bg);
1459
- border-left: 3px solid var(--panel-border-selected);
1460
- border-radius: 3px;
1461
- justify-content: space-between;
1462
- align-items: center;
1463
- gap: .5rem;
1464
- padding: .25rem .5rem;
1465
- }
1466
-
1467
- .group-panel-label {
1468
- color: var(--slot-content-text);
1469
- display: flex;
1470
- flex: 1;
1471
- align-items: center;
1472
- gap: .25rem;
1473
- font-size: .75rem;
1474
- }
1475
-
1476
- .default-badge {
1477
- color: var(--panel-border-selected);
1478
- font-size: .9em;
1479
- }
1480
-
1481
- .remove-from-group-btn {
1482
- background: var(--clear-btn-bg);
1483
- color: var(--clear-btn-text);
1484
- cursor: pointer;
1485
- display: flex;
1486
- opacity: .7;
1487
- border: none;
1488
- border-radius: 3px;
1489
- justify-content: center;
1490
- align-items: center;
1491
- width: 18px;
1492
- height: 18px;
1493
- padding: 0;
1494
- transition: all .2s;
1495
- font-size: 1rem;
1496
- line-height: 1;
1497
- }
1498
-
1499
- .remove-from-group-btn:hover {
1500
- opacity: 1;
1501
- transform: scale(1.1);
1502
- }
1503
-
1504
- .usage-hint {
1505
- background: var(--slot-preview-bg);
1506
- border: 1px solid var(--slot-border);
1507
- color: var(--hint-text);
1508
- text-align: center;
1509
- border-radius: 6px;
1510
- padding: .75rem 1rem;
1511
- font-size: .875rem;
1512
- }
1513
-
1514
- .tab-group {
1515
- display: flex;
1516
- overflow: hidden;
1517
- width: 100%;
1518
- height: 100%;
1519
- }
1520
-
1521
- .tab-group.tab-position-top, .tab-group.tab-position-bottom {
1522
- flex-direction: column;
1523
- }
1524
-
1525
- .tab-group.tab-position-left, .tab-group.tab-position-right {
1526
- flex-direction: row;
1527
- }
1528
-
1529
- .tab-list {
1530
- display: flex;
1531
- background: var(--tab-list-bg, #f5f5f5);
1532
- border-bottom: 1px solid var(--tab-border, #ddd);
1533
- overflow-x: auto;
1534
- overflow-y: hidden;
1535
- scrollbar-width: none;
1536
- -ms-overflow-style: none;
1537
- flex-shrink: 0;
1538
- gap: 0;
1539
- padding: 0;
1540
- }
1541
-
1542
- .tab-list::-webkit-scrollbar {
1543
- display: none;
1544
- }
1545
-
1546
- .tab-position-top .tab-list, .tab-position-bottom .tab-list {
1547
- width: 100%;
1548
- }
1549
-
1550
- .tab-list.centered {
1551
- justify-content: flex-start;
1552
- }
1553
-
1554
- @media (min-width: 0) {
1555
- .tab-list.centered {
1556
- justify-content: center;
1557
- }
1558
-
1559
- .tab-list.centered:has(.tab-button:nth-child(n)) {
1560
- justify-content: flex-start;
1561
- }
1562
- }
1563
-
1564
- .tab-position-bottom .tab-list {
1565
- border-top: none;
1566
- border-bottom: none;
1567
- }
1568
-
1569
- .tab-position-left .tab-list, .tab-position-right .tab-list {
1570
- border-bottom: none;
1571
- border-right: none;
1572
- flex-direction: column;
1573
- width: auto;
1574
- min-width: 120px;
1575
- }
1576
-
1577
- .tab-position-top .tab-button, .tab-position-bottom .tab-button {
1578
- flex: 1 1 0;
1579
- min-width: 40px;
1580
- max-width: 100%;
1581
- }
1582
-
1583
- .tab-button {
1584
- background: var(--tab-bg, #fff);
1585
- border: 1px solid var(--tab-border, #ddd);
1586
- cursor: pointer;
1587
- font-family: var(--tab-font-family, inherit);
1588
- font-size: var(--tab-font-size, 14px);
1589
- font-weight: var(--tab-font-weight, 500);
1590
- color: var(--tab-text, #333);
1591
- white-space: nowrap;
1592
- display: flex;
1593
- box-sizing: border-box;
1594
- container-type: inline-size;
1595
- border-radius: 0;
1596
- justify-content: center;
1597
- align-items: center;
1598
- gap: 6px;
1599
- height: 39px;
1600
- padding: 8px 16px;
1601
- transition: all .2s;
1602
- line-height: 1;
1603
- }
1604
-
1605
- .tab-position-top .tab-button {
1606
- border-top: none;
1607
- border-bottom: none;
1608
- border-left: none;
1609
- }
1610
-
1611
- .tab-position-top .tab-button:last-child {
1612
- border-right: none;
1613
- }
1614
-
1615
- .tab-position-bottom .tab-button {
1616
- border-top: none;
1617
- border-bottom: none;
1618
- border-left: none;
1619
- }
1620
-
1621
- .tab-position-bottom .tab-button:last-child {
1622
- border-right: none;
1623
- }
1624
-
1625
- .tab-position-left .tab-button {
1626
- border-bottom: none;
1627
- border-right: none;
1628
- }
1629
-
1630
- .tab-position-left .tab-button:last-child {
1631
- border-bottom: 1px solid var(--tab-border, #ddd);
1632
- }
1633
-
1634
- .tab-position-right .tab-button {
1635
- border-bottom: none;
1636
- border-left: none;
1637
- }
1638
-
1639
- .tab-position-right .tab-button:last-child {
1640
- border-bottom: 1px solid var(--tab-border, #ddd);
1641
- }
1642
-
1643
- .tab-icon {
1644
- display: inline-flex;
1645
- justify-content: center;
1646
- align-items: center;
1647
- }
1648
-
1649
- .tab-label {
1650
- display: none;
1651
- }
1652
-
1653
- @container (width >= 100px) {
1654
- .tab-label {
1655
- display: inline;
1656
- }
1657
-
1658
- .tab-icon {
1659
- display: none;
1660
- }
1661
- }
1662
-
1663
- .tab-button:hover {
1664
- background: var(--tab-bg-hover, #f9f9f9);
1665
- }
1666
-
1667
- .tab-button.active {
1668
- background: var(--tab-bg-active, #007bff);
1669
- color: var(--tab-text-active, #fff);
1670
- border-color: var(--tab-border-active, #007bff);
1671
- }
1672
-
1673
- .tab-button:focus-visible {
1674
- outline: 2px solid var(--tab-focus, #007bff);
1675
- outline-offset: 2px;
1676
- }
1677
-
1678
- .tab-content {
1679
- overflow: auto;
1680
- background: var(--tab-content-bg, #fff);
1681
- flex: 1;
1682
- }
1683
-
1684
- .tab-group-empty {
1685
- display: flex;
1686
- color: var(--tab-empty-text, #999);
1687
- justify-content: center;
1688
- align-items: center;
1689
- height: 100%;
1690
- font-style: italic;
1691
- }
1692
-
1693
- .snap-carousel-container {
1694
- display: flex;
1695
- overflow-x: auto;
1696
- overflow-y: hidden;
1697
- scroll-snap-type: x mandatory;
1698
- scroll-behavior: smooth;
1699
- gap: var(--snap-carousel-gap, 0px);
1700
- background-color: var(--panel-background);
1701
- box-sizing: border-box;
1702
- position: relative;
1703
- container-type: inline-size;
1704
- -ms-overflow-style: none;
1705
- scrollbar-width: none;
1706
- width: 100%;
1707
- height: 100%;
1708
- margin: 0;
1709
- padding: 0;
1710
- left: 0;
1711
- transform: none;
1712
- }
1713
-
1714
- .snap-carousel-container::-webkit-scrollbar {
1715
- display: none;
1716
- }
1717
-
1718
- .snap-carousel-container.swipe-disabled {
1719
- touch-action: pan-y pinch-zoom;
1720
- overscroll-behavior-x: none;
1721
- }
1722
-
1723
- .snap-carousel-panel {
1724
- scroll-snap-align: start;
1725
- scroll-snap-stop: always;
1726
- width: var(--snap-carousel-panel-width, 33.33%);
1727
- box-sizing: border-box;
1728
- overflow: hidden;
1729
- flex: none;
1730
- height: 100%;
1731
- }
1732
-
1733
- @media (max-width: 540px) {
1734
- .snap-carousel-panel {
1735
- min-width: 280px;
1736
- }
1737
- }
1738
-
1739
- .mobile-tab-layout {
1740
- display: flex;
1741
- overflow: hidden;
1742
- flex-direction: column;
1743
- width: 100%;
1744
- height: 100%;
1745
- }
1746
-
1747
- .mobile-tab-content {
1748
- overflow: hidden;
1749
- flex: 1;
1750
- min-height: 0;
1751
- }
1752
-
1753
- .mobile-tab-nav {
1754
- display: flex;
1755
- background: var(--tab-list-bg, #f5f5f5);
1756
- border-top: 1px solid var(--tab-border, #ddd);
1757
- flex-shrink: 0;
1758
- margin: 0;
1759
- padding: 0;
1760
- }
1761
-
1762
- .mobile-tab-button {
1763
- display: flex;
1764
- padding: 14px 4px;
1765
- padding-bottom: calc(14px + min(12px, env(safe-area-inset-bottom, 0px)));
1766
- cursor: pointer;
1767
- font-family: var(--tab-font-family, inherit);
1768
- font-size: var(--tab-font-size, 11px);
1769
- font-weight: var(--tab-font-weight, 500);
1770
- color: var(--tab-text, #666);
1771
- background: none;
1772
- border: none;
1773
- flex-direction: column;
1774
- flex: 1;
1775
- justify-content: center;
1776
- align-items: center;
1777
- gap: 6px;
1778
- min-width: 0;
1779
- transition: color .2s;
1780
- }
1781
-
1782
- .mobile-tab-button:hover {
1783
- color: var(--tab-text-hover, #333);
1784
- }
1785
-
1786
- .mobile-tab-button.active {
1787
- color: var(--mobile-tab-text-active, #007bff);
1788
- }
1789
-
1790
- .mobile-tab-button .tab-icon {
1791
- display: flex;
1792
- color: var(--tab-icon-color, #999);
1793
- justify-content: center;
1794
- align-items: center;
1795
- transition: color .2s;
1796
- font-size: 24px;
1797
- }
1798
-
1799
- .mobile-tab-button.active .tab-icon {
1800
- color: var(--mobile-tab-icon-active, #007bff);
1801
- }
1802
-
1803
- .mobile-tab-button .tab-label {
1804
- display: block;
1805
- white-space: nowrap;
1806
- overflow: hidden;
1807
- text-overflow: ellipsis;
1808
- color: inherit;
1809
- opacity: 1;
1810
- max-width: 100%;
1811
- font-size: 11px;
1812
- line-height: 1.2;
1813
- }
1814
-
1815
- .mobile-tab-button:focus-visible {
1816
- outline: 2px solid var(--tab-focus, #007bff);
1817
- outline-offset: -2px;
1818
- z-index: 1;
1819
- }
1820
-
1821
- :root {
1822
- --panels-background: #fff;
1823
- --panels-foreground: #000;
1824
- --panels-border: #e5e7eb;
1825
- --panels-handle-bg: #f3f4f6;
1826
- --panels-handle-hover: #e5e7eb;
1827
- --panels-handle-active: #d1d5db;
1828
- --panels-button-bg: #fff;
1829
- --panels-button-hover: #f9fafb;
1830
- --panels-button-active: #f3f4f6;
1831
- --panels-shadow: #0000001a;
1832
- --panels-animation-duration: .3s;
1833
- --panels-animation-easing: cubic-bezier(.4, 0, .2, 1);
1834
- }
1835
-
1836
- @media (prefers-color-scheme: dark) {
1837
- :root {
1838
- --panels-background: #1a1a1a;
1839
- --panels-foreground: #fff;
1840
- --panels-border: #404040;
1841
- --panels-handle-bg: #2a2a2a;
1842
- --panels-handle-hover: #333;
1843
- --panels-handle-active: #404040;
1844
- --panels-button-bg: #2a2a2a;
1845
- --panels-button-hover: #333;
1846
- --panels-button-active: #404040;
1847
- --panels-shadow: #0000004d;
1848
- }
1849
- }
1850
-
1851
- [data-theme="light"] {
1852
- --panels-background: #fff;
1853
- --panels-foreground: #000;
1854
- --panels-border: #e5e7eb;
1855
- --panels-handle-bg: #f3f4f6;
1856
- --panels-handle-hover: #e5e7eb;
1857
- --panels-handle-active: #d1d5db;
1858
- --panels-button-bg: #fff;
1859
- --panels-button-hover: #f9fafb;
1860
- --panels-button-active: #f3f4f6;
1861
- --panels-shadow: #0000001a;
1862
- }
1863
-
1864
- [data-theme="dark"] {
1865
- --panels-background: #1a1a1a;
1866
- --panels-foreground: #fff;
1867
- --panels-border: #404040;
1868
- --panels-handle-bg: #2a2a2a;
1869
- --panels-handle-hover: #333;
1870
- --panels-handle-active: #404040;
1871
- --panels-button-bg: #2a2a2a;
1872
- --panels-button-hover: #333;
1873
- --panels-button-active: #404040;
1874
- --panels-shadow: #0000004d;
1875
- }
1876
-
1877
- .panels-container {
1878
- display: flex;
1879
- background-color: var(--panels-background);
1880
- color: var(--panels-foreground);
1881
- position: relative;
1882
- width: 100%;
1883
- height: 100%;
1884
- }
1885
-
1886
- .panels-panel {
1887
- position: relative;
1888
- overflow: auto;
1889
- background-color: var(--panels-background);
1890
- }
1891
-
1892
- .panels-handle {
1893
- background-color: var(--panels-handle-bg);
1894
- position: relative;
1895
- z-index: 10;
1896
- transition: background-color .15s;
1897
- }
1898
-
1899
- .panels-handle:hover {
1900
- background-color: var(--panels-handle-hover);
1901
- }
1902
-
1903
- .panels-handle:active {
1904
- background-color: var(--panels-handle-active);
1905
- }
1906
-
1907
- .panels-handle-horizontal {
1908
- cursor: col-resize;
1909
- width: 8px;
1910
- }
1911
-
1912
- .panels-handle-vertical {
1913
- cursor: row-resize;
1914
- height: 8px;
1915
- }
1916
-
1917
- .panels-handle-collapsed {
1918
- pointer-events: none;
1919
- background-color: var(--panels-border) !important;
1920
- cursor: default !important;
1921
- width: 1px !important;
1922
- min-width: 1px !important;
1923
- }
1924
-
1925
- .panels-handle-collapsed .panels-collapse-button {
1926
- pointer-events: auto;
1927
- }
1928
-
1929
- .panels-collapse-button {
1930
- position: absolute;
1931
- background-color: var(--panels-button-bg);
1932
- border: 1px solid var(--panels-border);
1933
- display: flex;
1934
- cursor: pointer;
1935
- box-shadow: 0 1px 3px var(--panels-shadow);
1936
- z-index: 20;
1937
- border-radius: 4px;
1938
- justify-content: center;
1939
- align-items: center;
1940
- width: 24px;
1941
- height: 24px;
1942
- transition: all .15s;
1943
- top: 50%;
1944
- left: 50%;
1945
- transform: translate(-50%, -50%);
1946
- }
1947
-
1948
- .panels-collapse-button:hover {
1949
- background-color: var(--panels-button-hover);
1950
- transform: translate(-50%, -50%)scale(1.1);
1951
- }
1952
-
1953
- .panels-collapse-button:active {
1954
- background-color: var(--panels-button-active);
1955
- transform: translate(-50%, -50%)scale(.95);
1956
- }
1957
-
1958
- .panels-collapse-button-floating {
1959
- position: absolute;
1960
- z-index: 30;
1961
- left: -12px;
1962
- }
1963
-
1964
- .panels-collapse-icon {
1965
- stroke: var(--panels-foreground);
1966
- stroke-width: 2;
1967
- fill: none;
1968
- width: 16px;
1969
- height: 16px;
1970
- transition: transform .15s;
1971
- }
1972
-
1973
- .panels-content-fade {
1974
- transition: opacity var(--panels-animation-duration) var(--panels-animation-easing);
1975
- }
1976
-
1977
- .panels-content-fading {
1978
- opacity: .3;
1979
- }
1980
-
1981
- .panels-content-hidden {
1982
- opacity: 0;
1983
- }
1984
-
1985
- .panels-animating {
1986
- pointer-events: none;
1987
- }
1988
-
1989
- @media (max-width: 768px) {
1990
- .panels-handle-horizontal {
1991
- width: 4px;
1992
- }
1993
-
1994
- .panels-handle-vertical {
1995
- height: 4px;
1996
- }
1997
-
1998
- .panels-collapse-button {
1999
- width: 20px;
2000
- height: 20px;
2001
- }
2002
-
2003
- .panels-collapse-icon {
2004
- width: 12px;
2005
- height: 12px;
2006
- }
2007
- }
2008
-
2009
- .panels-mobile-stack {
2010
- display: flex;
2011
- flex-direction: column;
2012
- gap: 1rem;
2013
- padding: 1rem;
2014
- }
2015
-
2016
- .panels-mobile-panel {
2017
- border: 1px solid var(--panels-border);
2018
- border-radius: 8px;
2019
- padding: 1rem;
2020
- }
2021
-
2022
- .panels-tabs-header {
2023
- display: flex;
2024
- border-bottom: 1px solid var(--panels-border);
2025
- background-color: var(--panels-handle-bg);
2026
- }
2027
-
2028
- .panels-tab {
2029
- color: var(--panels-foreground);
2030
- cursor: pointer;
2031
- position: relative;
2032
- background: none;
2033
- border: none;
2034
- flex: 1;
2035
- padding: .75rem 1rem;
2036
- transition: background-color .15s;
2037
- }
2038
-
2039
- .panels-tab:hover {
2040
- background-color: var(--panels-handle-hover);
2041
- }
2042
-
2043
- .panels-tab-active {
2044
- background-color: var(--panels-background);
2045
- }
2046
-
2047
- .panels-tab-active:after {
2048
- content: "";
2049
- position: absolute;
2050
- background-color: var(--panels-foreground);
2051
- height: 2px;
2052
- bottom: -1px;
2053
- left: 0;
2054
- right: 0;
2055
- }
2056
-
2057
- .panels-drawer-toggle {
2058
- position: fixed;
2059
- z-index: 100;
2060
- background-color: var(--panels-button-bg);
2061
- border: 1px solid var(--panels-border);
2062
- display: flex;
2063
- cursor: pointer;
2064
- box-shadow: 0 2px 8px var(--panels-shadow);
2065
- border-radius: 8px;
2066
- justify-content: center;
2067
- align-items: center;
2068
- width: 40px;
2069
- height: 40px;
2070
- top: 1rem;
2071
- left: 1rem;
2072
- }
2073
-
2074
- .panels-drawer-icon {
2075
- width: 24px;
2076
- height: 24px;
2077
- }
2078
-
2079
- .panels-drawer {
2080
- position: fixed;
2081
- background-color: var(--panels-background);
2082
- border-right: 1px solid var(--panels-border);
2083
- transition: transform var(--panels-animation-duration) var(--panels-animation-easing);
2084
- z-index: 90;
2085
- overflow-y: auto;
2086
- width: 300px;
2087
- top: 0;
2088
- bottom: 0;
2089
- left: 0;
2090
- transform: translate(-100%);
2091
- }
2092
-
2093
- .panels-drawer-open {
2094
- transform: translate(0);
2095
- }
2096
-
2097
- .panels-drawer-panel, .panels-main-panel {
2098
- padding: 4rem 1rem 1rem;
2099
- }