mithril-materialized 2.0.0-beta.10 → 2.0.0-beta.12

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
@@ -2802,21 +2802,21 @@ video.responsive-video {
2802
2802
  height: 30px;
2803
2803
  }
2804
2804
  .pagination li a {
2805
- color: #444;
2805
+ color: var(--mm-text-primary, #444);
2806
2806
  display: inline-block;
2807
2807
  font-size: 1.2rem;
2808
2808
  padding: 0 10px;
2809
2809
  line-height: 30px;
2810
2810
  }
2811
2811
  .pagination li.active a {
2812
- color: #fff;
2812
+ color: var(--mm-text-on-primary, #fff);
2813
2813
  }
2814
2814
  .pagination li.active {
2815
2815
  background-color: #ee6e73;
2816
2816
  }
2817
2817
  .pagination li.disabled a {
2818
2818
  cursor: default;
2819
- color: #999;
2819
+ color: var(--mm-text-disabled, #999);
2820
2820
  }
2821
2821
  .pagination li i {
2822
2822
  font-size: 2rem;
@@ -3147,8 +3147,8 @@ td, th {
3147
3147
  .collection .collection-item.avatar i.circle {
3148
3148
  font-size: 18px;
3149
3149
  line-height: 42px;
3150
- color: #fff;
3151
- background-color: #999;
3150
+ color: var(--mm-text-on-primary, #fff);
3151
+ background-color: var(--mm-text-disabled, #999);
3152
3152
  text-align: center;
3153
3153
  }
3154
3154
  .collection .collection-item.avatar .title {
@@ -3170,7 +3170,7 @@ td, th {
3170
3170
  color: rgb(234.25, 250.25, 248.75);
3171
3171
  }
3172
3172
  .collection .collection-item.active .secondary-content {
3173
- color: #fff;
3173
+ color: var(--mm-text-on-primary, #fff);
3174
3174
  }
3175
3175
  .collection a.collection-item {
3176
3176
  display: block;
@@ -4583,13 +4583,15 @@ small {
4583
4583
  padding: 24px;
4584
4584
  margin: 0.5rem 0 1rem 0;
4585
4585
  border-radius: 2px;
4586
- background-color: #fff;
4586
+ background-color: var(--mm-card-background, #fff);
4587
+ color: var(--mm-text-primary);
4587
4588
  }
4588
4589
 
4589
4590
  .card {
4590
4591
  position: relative;
4591
4592
  margin: 0.5rem 0 1rem 0;
4592
- background-color: #fff;
4593
+ background-color: var(--mm-card-background, #fff);
4594
+ color: var(--mm-text-primary);
4593
4595
  transition: box-shadow 0.25s;
4594
4596
  border-radius: 2px;
4595
4597
  }
@@ -4688,6 +4690,8 @@ small {
4688
4690
  .card .card-content {
4689
4691
  padding: 24px;
4690
4692
  border-radius: 0 0 2px 2px;
4693
+ background-color: var(--mm-card-background, #fff);
4694
+ color: var(--mm-text-primary);
4691
4695
  }
4692
4696
  .card .card-content p {
4693
4697
  margin: 0;
@@ -4696,6 +4700,7 @@ small {
4696
4700
  display: block;
4697
4701
  line-height: 32px;
4698
4702
  margin-bottom: 8px;
4703
+ color: var(--mm-text-primary);
4699
4704
  }
4700
4705
  .card .card-content .card-title i {
4701
4706
  line-height: 32px;
@@ -4721,7 +4726,8 @@ small {
4721
4726
  .card .card-reveal {
4722
4727
  padding: 24px;
4723
4728
  position: absolute;
4724
- background-color: #fff;
4729
+ background-color: var(--mm-card-background, #fff);
4730
+ color: var(--mm-text-primary);
4725
4731
  width: 100%;
4726
4732
  overflow-y: auto;
4727
4733
  left: 0;
@@ -4733,6 +4739,7 @@ small {
4733
4739
  .card .card-reveal .card-title {
4734
4740
  cursor: pointer;
4735
4741
  display: block;
4742
+ color: var(--mm-text-primary);
4736
4743
  }
4737
4744
 
4738
4745
  #toast-container {
@@ -6774,7 +6781,7 @@ select:disabled {
6774
6781
  }
6775
6782
 
6776
6783
  .select-wrapper i {
6777
- color: rgba(0, 0, 0, 0.3);
6784
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
6778
6785
  }
6779
6786
 
6780
6787
  .select-dropdown li.disabled,
@@ -6927,7 +6934,7 @@ input[type=range] {
6927
6934
 
6928
6935
  input[type=range]::-webkit-slider-runnable-track {
6929
6936
  height: 3px;
6930
- background: #c2c0c2;
6937
+ background: var(--mm-border-color, #c2c0c2);
6931
6938
  border: none;
6932
6939
  }
6933
6940
 
@@ -6951,13 +6958,13 @@ input[type=range]::-webkit-slider-thumb {
6951
6958
 
6952
6959
  input[type=range] {
6953
6960
  /* fix for FF unable to apply focus style bug */
6954
- border: 1px solid white;
6961
+ border: 1px solid var(--mm-card-background, white);
6955
6962
  /*required for proper track sizing in FF*/
6956
6963
  }
6957
6964
 
6958
6965
  input[type=range]::-moz-range-track {
6959
6966
  height: 3px;
6960
- background: #c2c0c2;
6967
+ background: var(--mm-border-color, #c2c0c2);
6961
6968
  border: none;
6962
6969
  }
6963
6970
 
@@ -6977,7 +6984,7 @@ input[type=range]::-moz-range-thumb {
6977
6984
  }
6978
6985
 
6979
6986
  input[type=range]:-moz-focusring {
6980
- outline: 1px solid #fff;
6987
+ outline: 1px solid var(--mm-card-background, #fff);
6981
6988
  outline-offset: -1px;
6982
6989
  }
6983
6990
 
@@ -6995,11 +7002,11 @@ input[type=range]::-ms-track {
6995
7002
  }
6996
7003
 
6997
7004
  input[type=range]::-ms-fill-lower {
6998
- background: #777;
7005
+ background: var(--mm-text-secondary, #777);
6999
7006
  }
7000
7007
 
7001
7008
  input[type=range]::-ms-fill-upper {
7002
- background: #ddd;
7009
+ background: var(--mm-surface-color, #ddd);
7003
7010
  }
7004
7011
 
7005
7012
  input[type=range]::-ms-thumb {
@@ -9281,4 +9288,603 @@ nav .theme-toggle:focus {
9281
9288
 
9282
9289
  .wizard-step-indicator[aria-current=step] {
9283
9290
  box-shadow: 0 0 0 4px var(--mm-primary-color-light, rgba(38, 166, 154, 0.2));
9291
+ }
9292
+
9293
+ .datatable-container {
9294
+ background: var(--mm-card-background);
9295
+ color: var(--mm-text-primary);
9296
+ border-radius: 4px;
9297
+ }
9298
+ .datatable-container .datatable-title {
9299
+ color: var(--mm-text-primary);
9300
+ font-weight: 400;
9301
+ margin-bottom: 1rem;
9302
+ }
9303
+ .datatable-container .datatable-global-search {
9304
+ padding-top: 0.5rem;
9305
+ }
9306
+ .datatable-container .datatable-wrapper {
9307
+ position: relative;
9308
+ background: var(--mm-card-background);
9309
+ border-radius: 4px;
9310
+ overflow: hidden;
9311
+ }
9312
+ .datatable-container .table-wrapper {
9313
+ overflow-x: auto;
9314
+ width: 100%;
9315
+ -webkit-overflow-scrolling: touch;
9316
+ background: var(--mm-card-background);
9317
+ }
9318
+ .datatable-container .datatable-loading {
9319
+ padding: 2rem;
9320
+ text-align: center;
9321
+ color: var(--mm-text-secondary);
9322
+ background: var(--mm-card-background);
9323
+ }
9324
+ .datatable-container .datatable-loading .preloader-wrapper {
9325
+ margin-bottom: 1rem;
9326
+ }
9327
+ .datatable-container .datatable-empty {
9328
+ padding: 3rem 2rem;
9329
+ text-align: center;
9330
+ color: var(--mm-text-secondary);
9331
+ font-style: italic;
9332
+ background: var(--mm-card-background);
9333
+ }
9334
+
9335
+ .datatable {
9336
+ background: var(--mm-card-background);
9337
+ color: var(--mm-text-primary);
9338
+ border-collapse: collapse;
9339
+ width: 100%;
9340
+ }
9341
+ .datatable thead {
9342
+ background: var(--mm-card-background);
9343
+ }
9344
+ .datatable thead th {
9345
+ background: var(--mm-card-background);
9346
+ color: var(--mm-text-primary);
9347
+ border-bottom: 1px solid var(--mm-border-color);
9348
+ font-weight: 500;
9349
+ padding: 12px 16px;
9350
+ text-align: left;
9351
+ }
9352
+ .datatable tbody {
9353
+ background: var(--mm-card-background);
9354
+ }
9355
+ .datatable tbody td {
9356
+ background: var(--mm-card-background);
9357
+ color: var(--mm-text-primary);
9358
+ border-bottom: 1px solid var(--mm-border-color);
9359
+ padding: 12px 16px;
9360
+ }
9361
+ .datatable thead th.sortable {
9362
+ cursor: pointer;
9363
+ -webkit-user-select: none;
9364
+ -moz-user-select: none;
9365
+ user-select: none;
9366
+ position: relative;
9367
+ transition: background-color 0.2s ease;
9368
+ padding-right: 32px;
9369
+ }
9370
+ .datatable thead th.sortable:hover {
9371
+ background-color: var(--mm-dropdown-hover);
9372
+ }
9373
+ .datatable thead th.sortable .sort-indicators {
9374
+ position: absolute;
9375
+ right: 8px;
9376
+ top: 50%;
9377
+ transform: translateY(-50%);
9378
+ display: flex;
9379
+ flex-direction: column;
9380
+ line-height: 1;
9381
+ }
9382
+ .datatable thead th.sortable .sort-indicators .sort-icon {
9383
+ font-size: 16px;
9384
+ color: var(--mm-text-disabled);
9385
+ transition: color 0.2s ease;
9386
+ }
9387
+ .datatable thead th.sortable .sort-indicators .sort-icon.active {
9388
+ color: var(--mm-primary-color);
9389
+ }
9390
+ .datatable thead th.sortable .sort-indicators .sort-asc {
9391
+ margin-bottom: 0px;
9392
+ }
9393
+ .datatable thead th.sortable .sort-indicators .sort-desc {
9394
+ margin-top: 0px;
9395
+ }
9396
+ .datatable .align-left {
9397
+ text-align: left;
9398
+ }
9399
+ .datatable .align-center {
9400
+ text-align: center;
9401
+ }
9402
+ .datatable .align-right {
9403
+ text-align: right;
9404
+ }
9405
+ .datatable tbody tr {
9406
+ transition: background-color 0.2s ease;
9407
+ cursor: pointer;
9408
+ }
9409
+ .datatable tbody tr:hover {
9410
+ background-color: var(--mm-dropdown-hover);
9411
+ }
9412
+ .datatable tbody tr:hover td {
9413
+ background-color: var(--mm-dropdown-hover);
9414
+ }
9415
+ .datatable.striped tbody tr:nth-child(odd) {
9416
+ background-color: var(--mm-dropdown-focus);
9417
+ }
9418
+ .datatable.striped tbody tr:nth-child(odd) td {
9419
+ background-color: var(--mm-dropdown-focus);
9420
+ }
9421
+ .datatable.striped tbody tr:nth-child(odd):hover {
9422
+ background-color: var(--mm-dropdown-hover);
9423
+ }
9424
+ .datatable.striped tbody tr:nth-child(odd):hover td {
9425
+ background-color: var(--mm-dropdown-hover);
9426
+ }
9427
+ .datatable .selection-checkbox {
9428
+ width: 40px;
9429
+ text-align: center;
9430
+ padding: 0 8px !important;
9431
+ }
9432
+ .datatable .selection-checkbox label {
9433
+ margin: 0;
9434
+ height: 100%;
9435
+ display: flex;
9436
+ align-items: center;
9437
+ justify-content: center;
9438
+ }
9439
+ .datatable .selection-checkbox input[type=checkbox] {
9440
+ opacity: 1;
9441
+ position: relative;
9442
+ left: auto;
9443
+ top: auto;
9444
+ transform: none;
9445
+ margin-right: 0;
9446
+ }
9447
+ .datatable tbody tr.selected {
9448
+ background-color: var(--mm-dropdown-selected) !important;
9449
+ }
9450
+ .datatable tbody tr.selected td {
9451
+ background-color: var(--mm-dropdown-selected) !important;
9452
+ }
9453
+ .datatable tbody tr.selected:hover {
9454
+ background-color: var(--mm-dropdown-selected) !important;
9455
+ opacity: 0.9;
9456
+ }
9457
+ .datatable tbody tr.selected:hover td {
9458
+ background-color: var(--mm-dropdown-selected) !important;
9459
+ opacity: 0.9;
9460
+ }
9461
+ .datatable.fixed-header thead th {
9462
+ position: sticky;
9463
+ top: 0;
9464
+ background: var(--mm-card-background);
9465
+ z-index: 10;
9466
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
9467
+ }
9468
+
9469
+ .datatable-pagination {
9470
+ margin-top: 1rem;
9471
+ display: flex;
9472
+ justify-content: space-between;
9473
+ align-items: center;
9474
+ flex-wrap: wrap;
9475
+ gap: 1rem;
9476
+ background: var(--mm-card-background);
9477
+ color: var(--mm-text-primary);
9478
+ padding: 1rem;
9479
+ border-top: 1px solid var(--mm-border-color);
9480
+ }
9481
+ .datatable-pagination .pagination-info {
9482
+ color: var(--mm-text-secondary);
9483
+ font-size: 0.9rem;
9484
+ flex: 1;
9485
+ min-width: 200px;
9486
+ }
9487
+ .datatable-pagination .pagination-controls {
9488
+ display: flex;
9489
+ align-items: center;
9490
+ gap: 0.5rem;
9491
+ }
9492
+ .datatable-pagination .pagination-controls button.btn-flat {
9493
+ min-width: 40px;
9494
+ height: 40px;
9495
+ padding: 0;
9496
+ display: flex;
9497
+ align-items: center;
9498
+ justify-content: center;
9499
+ border-radius: 50%;
9500
+ transition: background-color 0.2s ease;
9501
+ background: transparent;
9502
+ color: var(--mm-text-primary);
9503
+ border: 1px solid var(--mm-border-color);
9504
+ }
9505
+ .datatable-pagination .pagination-controls button.btn-flat:hover:not(:disabled) {
9506
+ background-color: var(--mm-dropdown-hover);
9507
+ }
9508
+ .datatable-pagination .pagination-controls button.btn-flat:disabled {
9509
+ color: var(--mm-text-disabled);
9510
+ cursor: not-allowed;
9511
+ border-color: var(--mm-text-disabled);
9512
+ opacity: 0.6;
9513
+ }
9514
+ .datatable-pagination .pagination-controls button.btn-flat i {
9515
+ font-size: 20px;
9516
+ }
9517
+ .datatable-pagination .pagination-controls .page-info {
9518
+ margin: 0 0.5rem;
9519
+ color: var(--mm-text-secondary);
9520
+ font-weight: 500;
9521
+ white-space: nowrap;
9522
+ }
9523
+
9524
+ @media only screen and (max-width : 992px) {
9525
+ .datatable-container .datatable-search {
9526
+ max-width: 100%;
9527
+ }
9528
+ .datatable-container .datatable-pagination {
9529
+ flex-direction: column;
9530
+ align-items: stretch;
9531
+ text-align: center;
9532
+ }
9533
+ .datatable-container .datatable-pagination .pagination-info {
9534
+ order: 2;
9535
+ margin-top: 0.5rem;
9536
+ text-align: center;
9537
+ }
9538
+ .datatable-container .datatable-pagination .pagination-controls {
9539
+ order: 1;
9540
+ justify-content: center;
9541
+ }
9542
+ .datatable.responsive-table.mobile-hide-secondary th:nth-child(n+4),
9543
+ .datatable.responsive-table.mobile-hide-secondary td:nth-child(n+4) {
9544
+ display: none;
9545
+ }
9546
+ }
9547
+ @media only screen and (max-width : 992px) and (max-width : 600px) {
9548
+ .datatable.responsive-table.mobile-stack thead {
9549
+ display: none;
9550
+ }
9551
+ .datatable.responsive-table.mobile-stack tbody tr {
9552
+ display: block;
9553
+ border: 1px solid var(--mm-border-color);
9554
+ margin-bottom: 1rem;
9555
+ padding: 1rem;
9556
+ border-radius: 4px;
9557
+ background: var(--mm-card-background);
9558
+ }
9559
+ .datatable.responsive-table.mobile-stack tbody td {
9560
+ display: block;
9561
+ text-align: left !important;
9562
+ padding: 0.5rem 0;
9563
+ border: none;
9564
+ }
9565
+ .datatable.responsive-table.mobile-stack tbody td::before {
9566
+ content: attr(data-label) ": ";
9567
+ font-weight: bold;
9568
+ color: var(--mm-text-secondary);
9569
+ display: inline-block;
9570
+ min-width: 100px;
9571
+ }
9572
+ }
9573
+ @media (prefers-color-scheme: dark) {
9574
+ :root:not([data-theme]) .datatable-container .datatable thead th.sortable:hover,
9575
+ [data-theme=dark] .datatable-container .datatable thead th.sortable:hover {
9576
+ background-color: var(--mm-dropdown-hover);
9577
+ }
9578
+ :root:not([data-theme]) .datatable-container .datatable tbody tr:hover,
9579
+ [data-theme=dark] .datatable-container .datatable tbody tr:hover {
9580
+ background-color: var(--mm-dropdown-hover);
9581
+ }
9582
+ :root:not([data-theme]) .datatable-container .datatable.striped tbody tr:nth-child(odd),
9583
+ [data-theme=dark] .datatable-container .datatable.striped tbody tr:nth-child(odd) {
9584
+ background-color: rgba(255, 255, 255, 0.05);
9585
+ }
9586
+ :root:not([data-theme]) .datatable-container .datatable.fixed-header thead th,
9587
+ [data-theme=dark] .datatable-container .datatable.fixed-header thead th {
9588
+ border-bottom: 1px solid var(--mm-border-color);
9589
+ }
9590
+ }
9591
+ .datatable {
9592
+ contain: layout style paint;
9593
+ }
9594
+ .datatable.virtual-table {
9595
+ transform: translateZ(0);
9596
+ backface-visibility: hidden;
9597
+ }
9598
+ .datatable tbody tr {
9599
+ transform: translateZ(0);
9600
+ will-change: transform;
9601
+ }
9602
+ .datatable.fixed-layout {
9603
+ table-layout: fixed;
9604
+ }
9605
+ .datatable.fixed-layout th, .datatable.fixed-layout td {
9606
+ overflow: hidden;
9607
+ text-overflow: ellipsis;
9608
+ white-space: nowrap;
9609
+ }
9610
+
9611
+ /* TreeView Component Styles */
9612
+ :root {
9613
+ --tree-node-height: 36px;
9614
+ --tree-indent-size: 24px;
9615
+ --tree-connector-width: 1px;
9616
+ --tree-expand-icon-size: 20px;
9617
+ --tree-bg-color: #ffffff;
9618
+ --tree-text-color: #212121;
9619
+ --tree-text-color-secondary: #757575;
9620
+ --tree-border-color: #e0e0e0;
9621
+ --tree-connector-color: #bdbdbd;
9622
+ --tree-hover-bg: #f5f5f5;
9623
+ --tree-selected-bg: #e3f2fd;
9624
+ --tree-selected-color: #1976d2;
9625
+ --tree-focused-outline: #2196f3;
9626
+ --tree-disabled-color: #9e9e9e;
9627
+ --tree-disabled-bg: #fafafa;
9628
+ }
9629
+
9630
+ [data-theme=dark],
9631
+ .dark-theme,
9632
+ body.dark {
9633
+ --tree-bg-color: #1e1e1e;
9634
+ --tree-text-color: #e0e0e0;
9635
+ --tree-text-color-secondary: #a0a0a0;
9636
+ --tree-border-color: #333333;
9637
+ --tree-connector-color: #555555;
9638
+ --tree-hover-bg: #2d2d2d;
9639
+ --tree-selected-bg: #282a45;
9640
+ --tree-selected-color: #90caf9;
9641
+ --tree-focused-outline: #64b5f6;
9642
+ --tree-disabled-color: #616161;
9643
+ --tree-disabled-bg: #2d2d2d;
9644
+ }
9645
+
9646
+ .tree-view {
9647
+ background-color: var(--tree-bg-color);
9648
+ color: var(--tree-text-color);
9649
+ border: 1px solid var(--tree-border-color);
9650
+ border-radius: 4px;
9651
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
9652
+ font-size: 14px;
9653
+ line-height: 1.5;
9654
+ }
9655
+ .tree-view .tree-root {
9656
+ list-style: none;
9657
+ margin: 0;
9658
+ padding: 0;
9659
+ }
9660
+ .tree-view .tree-node {
9661
+ list-style: none;
9662
+ position: relative;
9663
+ margin: 0;
9664
+ padding: 0;
9665
+ }
9666
+ .tree-view .tree-node.disabled {
9667
+ opacity: 0.6;
9668
+ cursor: not-allowed;
9669
+ }
9670
+ .tree-view .tree-node.disabled .tree-node-content {
9671
+ pointer-events: none;
9672
+ color: var(--tree-disabled-color);
9673
+ background-color: var(--tree-disabled-bg);
9674
+ }
9675
+ .tree-view .tree-node-content {
9676
+ display: flex;
9677
+ align-items: center;
9678
+ min-height: var(--tree-node-height);
9679
+ padding: 4px 8px;
9680
+ cursor: pointer;
9681
+ position: relative;
9682
+ transition: all 0.2s ease;
9683
+ -webkit-user-select: none;
9684
+ -moz-user-select: none;
9685
+ user-select: none;
9686
+ }
9687
+ .tree-view .tree-node-content:hover:not(:disabled) {
9688
+ background-color: var(--tree-hover-bg);
9689
+ }
9690
+ .tree-view .tree-node.selected .tree-node-content {
9691
+ background-color: var(--tree-selected-bg);
9692
+ color: var(--tree-selected-color);
9693
+ font-weight: 500;
9694
+ }
9695
+ .tree-view .tree-node.focused .tree-node-content {
9696
+ background-color: var(--tree-hover-bg);
9697
+ border-right: 1px solid var(--tree-focused-outline);
9698
+ }
9699
+ .tree-view .tree-node.selected.focused .tree-node-content {
9700
+ background-color: var(--tree-selected-bg);
9701
+ }
9702
+ .tree-view.show-connectors .tree-connectors {
9703
+ position: absolute;
9704
+ top: 0;
9705
+ left: 0;
9706
+ width: 100%;
9707
+ height: 100%;
9708
+ pointer-events: none;
9709
+ z-index: 0;
9710
+ }
9711
+ .tree-view.show-connectors .tree-connector {
9712
+ position: absolute;
9713
+ top: 0;
9714
+ height: 100%;
9715
+ width: var(--tree-connector-width);
9716
+ background-color: var(--tree-connector-color);
9717
+ }
9718
+ .tree-view.show-connectors .tree-connector::after {
9719
+ content: "";
9720
+ position: absolute;
9721
+ top: calc(var(--tree-node-height) / 2);
9722
+ left: 0;
9723
+ width: 12px;
9724
+ height: var(--tree-connector-width);
9725
+ background-color: var(--tree-connector-color);
9726
+ }
9727
+ .tree-view.show-connectors .tree-node:last-child .tree-node-content .tree-connector:last-child {
9728
+ height: calc(var(--tree-node-height) / 2 + 2px);
9729
+ }
9730
+ .tree-view.show-connectors .tree-node:not(.tree-last-in-branch) .tree-node-content .tree-connector {
9731
+ height: 100% !important;
9732
+ }
9733
+ .tree-view .tree-expand-icon {
9734
+ display: flex;
9735
+ align-items: center;
9736
+ justify-content: center;
9737
+ width: var(--tree-expand-icon-size);
9738
+ height: var(--tree-expand-icon-size);
9739
+ margin-right: 8px;
9740
+ margin-left: 2px;
9741
+ cursor: pointer;
9742
+ border-radius: 3px;
9743
+ transition: all 0.2s ease;
9744
+ flex-shrink: 0;
9745
+ }
9746
+ .tree-view .tree-expand-icon:hover {
9747
+ background-color: var(--tree-hover-bg);
9748
+ }
9749
+ .tree-view .tree-expand-icon.plus-minus .tree-plus-minus {
9750
+ display: flex;
9751
+ align-items: center;
9752
+ justify-content: center;
9753
+ width: 16px;
9754
+ height: 16px;
9755
+ border: 1px solid var(--tree-connector-color);
9756
+ border-radius: 2px;
9757
+ background-color: var(--tree-bg-color);
9758
+ font-size: 12px;
9759
+ font-weight: bold;
9760
+ line-height: 1;
9761
+ transition: all 0.2s ease;
9762
+ }
9763
+ .tree-view .tree-expand-icon.triangle .tree-triangle {
9764
+ font-size: 10px;
9765
+ transition: transform 0.2s ease;
9766
+ color: var(--tree-text-color-secondary);
9767
+ }
9768
+ .tree-view .tree-expand-icon.triangle .tree-triangle.expanded {
9769
+ transform: rotate(90deg);
9770
+ }
9771
+ .tree-view .tree-expand-icon .tree-caret-icon,
9772
+ .tree-view .tree-expand-icon .tree-chevron-icon {
9773
+ transition: transform 0.2s ease;
9774
+ }
9775
+ .tree-view .tree-expand-spacer {
9776
+ width: var(--tree-expand-icon-size);
9777
+ height: var(--tree-expand-icon-size);
9778
+ margin-right: 8px;
9779
+ margin-left: 2px;
9780
+ flex-shrink: 0;
9781
+ }
9782
+ .tree-view .tree-selection-indicator {
9783
+ margin-right: 8px;
9784
+ flex-shrink: 0;
9785
+ }
9786
+ .tree-view .tree-selection-indicator input[type=checkbox] {
9787
+ width: 16px;
9788
+ height: 16px;
9789
+ margin: 0;
9790
+ cursor: pointer;
9791
+ accent-color: var(--tree-selected-color);
9792
+ }
9793
+ .tree-view .tree-node-icon {
9794
+ margin-right: 8px;
9795
+ font-size: 18px;
9796
+ color: var(--tree-text-color-secondary);
9797
+ flex-shrink: 0;
9798
+ }
9799
+ .tree-view .tree-node-label {
9800
+ flex: 1;
9801
+ overflow: hidden;
9802
+ text-overflow: ellipsis;
9803
+ white-space: nowrap;
9804
+ }
9805
+ .tree-view .tree-children {
9806
+ list-style: none;
9807
+ margin: 0;
9808
+ padding: 0;
9809
+ overflow: hidden;
9810
+ transition: all 0.3s ease;
9811
+ }
9812
+ .tree-view .tree-children.tree-collapsing {
9813
+ max-height: 0;
9814
+ opacity: 0;
9815
+ }
9816
+ .tree-view .tree-children.tree-expanding {
9817
+ max-height: 1000px;
9818
+ opacity: 1;
9819
+ }
9820
+
9821
+ .tree-node .tree-children {
9822
+ animation-duration: 0.3s;
9823
+ animation-fill-mode: both;
9824
+ animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
9825
+ }
9826
+
9827
+ @keyframes tree-expand {
9828
+ from {
9829
+ max-height: 0;
9830
+ opacity: 0;
9831
+ }
9832
+ to {
9833
+ max-height: 1000px;
9834
+ opacity: 1;
9835
+ }
9836
+ }
9837
+ @keyframes tree-collapse {
9838
+ from {
9839
+ max-height: 1000px;
9840
+ opacity: 1;
9841
+ }
9842
+ to {
9843
+ max-height: 0;
9844
+ opacity: 0;
9845
+ }
9846
+ }
9847
+ @media (max-width: 768px) {
9848
+ .tree-view {
9849
+ --tree-node-height: 40px;
9850
+ --tree-indent-size: 20px;
9851
+ }
9852
+ .tree-view .tree-node-content {
9853
+ padding: 0 12px;
9854
+ }
9855
+ }
9856
+ @media (prefers-contrast: high) {
9857
+ .tree-view {
9858
+ --tree-border-color: #000000;
9859
+ --tree-connector-color: #000000;
9860
+ --tree-focused-outline: #0066cc;
9861
+ }
9862
+ .tree-view .tree-node-content:focus {
9863
+ outline-width: 3px;
9864
+ }
9865
+ }
9866
+ @media (prefers-reduced-motion: reduce) {
9867
+ .tree-view .tree-children,
9868
+ .tree-view .tree-expand-icon .tree-triangle,
9869
+ .tree-view .tree-expand-icon .tree-caret-icon,
9870
+ .tree-view .tree-expand-icon .tree-plus-minus,
9871
+ .tree-view .tree-node-content {
9872
+ transition: none;
9873
+ animation: none;
9874
+ }
9875
+ }
9876
+ @media print {
9877
+ .tree-view {
9878
+ --tree-bg-color: white;
9879
+ --tree-text-color: black;
9880
+ --tree-border-color: black;
9881
+ }
9882
+ .tree-view .tree-expand-icon {
9883
+ display: none;
9884
+ }
9885
+ .tree-view .tree-children {
9886
+ display: block !important;
9887
+ opacity: 1 !important;
9888
+ max-height: none !important;
9889
+ }
9284
9890
  }