@keenmate/pure-admin-core 2.9.0-rc01 → 2.9.0-rc04
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/README.md +61 -14
- package/dist/css/main.css +748 -2
- package/package.json +3 -1
- package/snippets/buttons.html +51 -0
- package/snippets/cards.html +34 -4
- package/snippets/comparison.html +26 -22
- package/snippets/manifest.json +180 -115
- package/snippets/range-group.html +125 -0
- package/snippets/splitter.html +216 -0
- package/snippets/statistics.html +31 -0
- package/src/js/btn-split-auto-absorb.js +327 -0
- package/src/js/command-palette.js +472 -0
- package/src/js/file-selector.js +1275 -0
- package/src/js/internal/logging.js +121 -0
- package/src/js/logic-tree-renderer.js +303 -0
- package/src/js/modal-dialogs.js +460 -0
- package/src/js/overflow.js +371 -0
- package/src/js/pa-stat-fit.js +184 -0
- package/src/js/range-group.js +663 -0
- package/src/js/search-autocomplete-v2.js +907 -0
- package/src/js/search-autocomplete.js +434 -0
- package/src/js/settings-panel.js +245 -0
- package/src/js/split-button.js +141 -0
- package/src/js/splitter.js +1323 -0
- package/src/js/toast-service.js +302 -0
- package/src/js/tooltips-popovers.js +275 -0
- package/src/js/virtual-scroll.js +143 -0
- package/src/js/virtual-textbox.js +803 -0
- package/src/scss/_core.scss +10 -0
- package/src/scss/core-components/_buttons.scss +59 -0
- package/src/scss/core-components/_cards.scss +206 -0
- package/src/scss/core-components/_overflow.scss +50 -0
- package/src/scss/core-components/_range-group.scss +474 -0
- package/src/scss/core-components/_splitter.scss +206 -0
- package/src/scss/core-components/_statistics.scss +163 -0
- package/src/scss/variables/_components.scss +56 -2
package/dist/css/main.css
CHANGED
|
@@ -5484,11 +5484,35 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5484
5484
|
.pa-card__header .pa-btn-group {
|
|
5485
5485
|
flex-shrink: 0;
|
|
5486
5486
|
}
|
|
5487
|
+
.pa-card__header .pa-card__actions--overflow {
|
|
5488
|
+
flex-shrink: 1;
|
|
5489
|
+
}
|
|
5490
|
+
.pa-card__header:has(> .pa-card__actions--overflow) > .pa-card__title {
|
|
5491
|
+
min-width: 6rem;
|
|
5492
|
+
}
|
|
5493
|
+
.pa-card__header:has(.pa-btn-toolbar) > h1, .pa-card__header:has(.pa-btn-toolbar) > h2, .pa-card__header:has(.pa-btn-toolbar) > h3, .pa-card__header:has(.pa-btn-toolbar) > h4, .pa-card__header:has(.pa-btn-toolbar) > h5, .pa-card__header:has(.pa-btn-toolbar) > h6, .pa-card__header:has(.pa-btn-toolbar) > .pa-card__title {
|
|
5494
|
+
flex-shrink: 9999;
|
|
5495
|
+
min-width: 8rem;
|
|
5496
|
+
}
|
|
5497
|
+
.pa-card__header .pa-card__actions:has(> .pa-btn-toolbar) {
|
|
5498
|
+
flex-shrink: 1;
|
|
5499
|
+
min-width: 0;
|
|
5500
|
+
}
|
|
5487
5501
|
.pa-card__header .pa-btn {
|
|
5488
5502
|
margin-top: -0.25rem;
|
|
5489
5503
|
margin-bottom: -0.25rem;
|
|
5490
5504
|
flex-shrink: 0;
|
|
5491
5505
|
}
|
|
5506
|
+
.pa-card__header .pa-btn-toolbar,
|
|
5507
|
+
.pa-card__header .pa-card__actions--overflow {
|
|
5508
|
+
margin-top: -0.25rem;
|
|
5509
|
+
margin-bottom: -0.25rem;
|
|
5510
|
+
}
|
|
5511
|
+
.pa-card__header .pa-btn-toolbar .pa-btn,
|
|
5512
|
+
.pa-card__header .pa-card__actions--overflow .pa-btn {
|
|
5513
|
+
margin-top: 0;
|
|
5514
|
+
margin-bottom: 0;
|
|
5515
|
+
}
|
|
5492
5516
|
.pa-card__header--underlined h1, .pa-card__header--underlined h2, .pa-card__header--underlined h3, .pa-card__header--underlined h4, .pa-card__header--underlined h5, .pa-card__header--underlined h6 {
|
|
5493
5517
|
border-bottom: 2px solid var(--pa-accent);
|
|
5494
5518
|
padding-bottom: 0.8rem;
|
|
@@ -5593,6 +5617,25 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5593
5617
|
gap: 0.8rem;
|
|
5594
5618
|
align-items: center;
|
|
5595
5619
|
}
|
|
5620
|
+
.pa-card__actions--responsive > .pa-card__actions-full {
|
|
5621
|
+
display: flex;
|
|
5622
|
+
gap: 0.8rem;
|
|
5623
|
+
align-items: center;
|
|
5624
|
+
}
|
|
5625
|
+
.pa-card__actions--responsive > .pa-card__actions-collapsed {
|
|
5626
|
+
display: none;
|
|
5627
|
+
}
|
|
5628
|
+
.pa-card__actions--overflow {
|
|
5629
|
+
min-width: 0;
|
|
5630
|
+
overflow: hidden;
|
|
5631
|
+
}
|
|
5632
|
+
.pa-card__actions--overflow > * {
|
|
5633
|
+
flex-shrink: 0;
|
|
5634
|
+
}
|
|
5635
|
+
.pa-card__header:has(> .pa-card__actions--responsive) {
|
|
5636
|
+
container-type: inline-size;
|
|
5637
|
+
container-name: pa-card-header;
|
|
5638
|
+
}
|
|
5596
5639
|
.pa-card__meta {
|
|
5597
5640
|
color: var(--pa-text-color-2);
|
|
5598
5641
|
font-size: 1.4rem;
|
|
@@ -5922,6 +5965,48 @@ a.pa-card p {
|
|
|
5922
5965
|
padding-bottom: 0.8rem;
|
|
5923
5966
|
}
|
|
5924
5967
|
|
|
5968
|
+
@container pa-card-header (max-width: 28rem) {
|
|
5969
|
+
.pa-card__actions--responsive > .pa-card__actions-full {
|
|
5970
|
+
display: none;
|
|
5971
|
+
}
|
|
5972
|
+
.pa-card__actions--responsive > .pa-card__actions-collapsed {
|
|
5973
|
+
display: flex;
|
|
5974
|
+
align-items: center;
|
|
5975
|
+
}
|
|
5976
|
+
}
|
|
5977
|
+
.pa-splitter__pane--minimized > .pa-card {
|
|
5978
|
+
height: 100%;
|
|
5979
|
+
display: flex;
|
|
5980
|
+
flex-direction: column;
|
|
5981
|
+
margin: 0;
|
|
5982
|
+
}
|
|
5983
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__body,
|
|
5984
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__footer {
|
|
5985
|
+
display: none;
|
|
5986
|
+
}
|
|
5987
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__header {
|
|
5988
|
+
flex: 1 1 auto;
|
|
5989
|
+
justify-content: flex-start;
|
|
5990
|
+
writing-mode: sideways-rl;
|
|
5991
|
+
}
|
|
5992
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__header i,
|
|
5993
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__header svg {
|
|
5994
|
+
writing-mode: initial;
|
|
5995
|
+
}
|
|
5996
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__header .pa-card__title {
|
|
5997
|
+
padding-top: calc((4rem - 1.6rem) / 2 - 0.5rem);
|
|
5998
|
+
}
|
|
5999
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__header .pa-btn,
|
|
6000
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__header .pa-btn-group,
|
|
6001
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__header button,
|
|
6002
|
+
.pa-splitter__pane--minimized > .pa-card > .pa-card__header input {
|
|
6003
|
+
display: none;
|
|
6004
|
+
}
|
|
6005
|
+
|
|
6006
|
+
.pa-splitter--minimize-mirror .pa-splitter__pane--minimized > .pa-card > .pa-card__header :is(h1, h2, h3, h4, h5, h6) {
|
|
6007
|
+
transform: scale(-1, -1);
|
|
6008
|
+
}
|
|
6009
|
+
|
|
5925
6010
|
/* ========================================
|
|
5926
6011
|
Tabs Component
|
|
5927
6012
|
Standalone tabs for organizing content into separate sections
|
|
@@ -6402,6 +6487,7 @@ a.pa-card p {
|
|
|
6402
6487
|
padding: 2.4rem;
|
|
6403
6488
|
min-height: 12.8rem;
|
|
6404
6489
|
min-width: 12.8rem;
|
|
6490
|
+
max-height: 16rem;
|
|
6405
6491
|
position: relative;
|
|
6406
6492
|
border-radius: var(--pa-border-radius);
|
|
6407
6493
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
@@ -6413,7 +6499,7 @@ a.pa-card p {
|
|
|
6413
6499
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
6414
6500
|
}
|
|
6415
6501
|
.pa-stat--square .pa-stat__number {
|
|
6416
|
-
font-size: clamp(3.2rem, 25cqi,
|
|
6502
|
+
font-size: clamp(3.2rem, 25cqi, 7.2rem);
|
|
6417
6503
|
font-weight: 700;
|
|
6418
6504
|
line-height: 1;
|
|
6419
6505
|
color: inherit;
|
|
@@ -6423,7 +6509,7 @@ a.pa-card p {
|
|
|
6423
6509
|
white-space: nowrap;
|
|
6424
6510
|
}
|
|
6425
6511
|
.pa-stat--square .pa-stat__symbol {
|
|
6426
|
-
font-size: clamp(1.6rem, 12cqi,
|
|
6512
|
+
font-size: clamp(1.6rem, 12cqi, 3.6rem);
|
|
6427
6513
|
font-weight: 700;
|
|
6428
6514
|
line-height: 1;
|
|
6429
6515
|
color: inherit;
|
|
@@ -6459,6 +6545,10 @@ a.pa-card p {
|
|
|
6459
6545
|
background-color: var(--pa-warning-bg);
|
|
6460
6546
|
color: var(--pa-btn-warning-text);
|
|
6461
6547
|
}
|
|
6548
|
+
.pa-stat--square.pa-stat--warning .pa-stat__number {
|
|
6549
|
+
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
|
6550
|
+
filter: none;
|
|
6551
|
+
}
|
|
6462
6552
|
.pa-stat--square.pa-stat--danger {
|
|
6463
6553
|
background-color: var(--pa-danger-bg);
|
|
6464
6554
|
color: var(--pa-btn-danger-text);
|
|
@@ -6467,6 +6557,127 @@ a.pa-card p {
|
|
|
6467
6557
|
background-color: var(--pa-text-color-2);
|
|
6468
6558
|
color: var(--pa-btn-primary-text);
|
|
6469
6559
|
}
|
|
6560
|
+
.pa-stat--square[data-pa-stat-fit] {
|
|
6561
|
+
container-type: size;
|
|
6562
|
+
container-name: pa-stat;
|
|
6563
|
+
flex-direction: column;
|
|
6564
|
+
flex-wrap: nowrap;
|
|
6565
|
+
align-content: stretch;
|
|
6566
|
+
align-items: stretch;
|
|
6567
|
+
max-height: none;
|
|
6568
|
+
}
|
|
6569
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__slot {
|
|
6570
|
+
flex: 1 1 auto;
|
|
6571
|
+
min-height: 0;
|
|
6572
|
+
display: flex;
|
|
6573
|
+
align-items: center;
|
|
6574
|
+
justify-content: flex-start;
|
|
6575
|
+
}
|
|
6576
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__group {
|
|
6577
|
+
display: inline-flex;
|
|
6578
|
+
align-items: baseline;
|
|
6579
|
+
column-gap: 0.15em;
|
|
6580
|
+
line-height: 1;
|
|
6581
|
+
white-space: nowrap;
|
|
6582
|
+
font-weight: 700;
|
|
6583
|
+
}
|
|
6584
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__group .pa-stat__number {
|
|
6585
|
+
font-size: 1em;
|
|
6586
|
+
}
|
|
6587
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__group .pa-stat__symbol {
|
|
6588
|
+
font-size: 0.5em;
|
|
6589
|
+
opacity: 0.85;
|
|
6590
|
+
}
|
|
6591
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__meta {
|
|
6592
|
+
display: flex;
|
|
6593
|
+
flex-direction: column;
|
|
6594
|
+
min-width: 0;
|
|
6595
|
+
flex: 0 0 auto;
|
|
6596
|
+
font-size: 1.2rem;
|
|
6597
|
+
}
|
|
6598
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__label {
|
|
6599
|
+
flex: 0 0 auto;
|
|
6600
|
+
margin-top: 0.35em;
|
|
6601
|
+
font-size: 1em;
|
|
6602
|
+
}
|
|
6603
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__change {
|
|
6604
|
+
flex: 0 0 auto;
|
|
6605
|
+
margin-top: 0.35em;
|
|
6606
|
+
font-size: 0.9em;
|
|
6607
|
+
font-weight: 600;
|
|
6608
|
+
line-height: 1.2;
|
|
6609
|
+
color: inherit;
|
|
6610
|
+
white-space: nowrap;
|
|
6611
|
+
overflow: hidden;
|
|
6612
|
+
text-overflow: ellipsis;
|
|
6613
|
+
}
|
|
6614
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__change--positive {
|
|
6615
|
+
color: var(--pa-positive);
|
|
6616
|
+
}
|
|
6617
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__change--neutral {
|
|
6618
|
+
color: var(--pa-neutral);
|
|
6619
|
+
}
|
|
6620
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__change--negative {
|
|
6621
|
+
color: var(--pa-negative);
|
|
6622
|
+
}
|
|
6623
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__context {
|
|
6624
|
+
flex: 0 0 auto;
|
|
6625
|
+
margin-top: 0.35em;
|
|
6626
|
+
font-size: 0.8em;
|
|
6627
|
+
opacity: 0.7;
|
|
6628
|
+
white-space: nowrap;
|
|
6629
|
+
overflow: hidden;
|
|
6630
|
+
text-overflow: ellipsis;
|
|
6631
|
+
}
|
|
6632
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__symbol,
|
|
6633
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__label,
|
|
6634
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__change,
|
|
6635
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__context {
|
|
6636
|
+
display: none;
|
|
6637
|
+
}
|
|
6638
|
+
@container pa-stat (min-width: 8rem) and (min-height: 4.5rem) {
|
|
6639
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__symbol {
|
|
6640
|
+
display: inline;
|
|
6641
|
+
}
|
|
6642
|
+
}
|
|
6643
|
+
@container pa-stat (min-width: 13rem) and (min-height: 6.5rem) {
|
|
6644
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__label {
|
|
6645
|
+
display: block;
|
|
6646
|
+
}
|
|
6647
|
+
}
|
|
6648
|
+
@container pa-stat (min-width: 18rem) and (min-height: 9.5rem) {
|
|
6649
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__change {
|
|
6650
|
+
display: block;
|
|
6651
|
+
}
|
|
6652
|
+
}
|
|
6653
|
+
@container pa-stat (min-width: 24rem) and (min-height: 13rem) {
|
|
6654
|
+
.pa-stat--square[data-pa-stat-fit] .pa-stat__context {
|
|
6655
|
+
display: block;
|
|
6656
|
+
}
|
|
6657
|
+
}
|
|
6658
|
+
.pa-stat--square[data-pa-stat-fit].pa-stat--fit-wide {
|
|
6659
|
+
flex-direction: row;
|
|
6660
|
+
align-items: stretch;
|
|
6661
|
+
column-gap: 2.4rem;
|
|
6662
|
+
}
|
|
6663
|
+
.pa-stat--square[data-pa-stat-fit].pa-stat--fit-wide .pa-stat__slot {
|
|
6664
|
+
flex: 0 0 44%;
|
|
6665
|
+
min-width: 0;
|
|
6666
|
+
justify-content: center;
|
|
6667
|
+
}
|
|
6668
|
+
.pa-stat--square[data-pa-stat-fit].pa-stat--fit-wide .pa-stat__meta {
|
|
6669
|
+
flex: 1 1 auto;
|
|
6670
|
+
min-width: 0;
|
|
6671
|
+
justify-content: center;
|
|
6672
|
+
}
|
|
6673
|
+
.pa-stat--square[data-pa-stat-fit].pa-stat--fit-wide .pa-stat__symbol {
|
|
6674
|
+
display: inline;
|
|
6675
|
+
}
|
|
6676
|
+
.pa-stat--square[data-pa-stat-fit].pa-stat--fit-wide .pa-stat__label,
|
|
6677
|
+
.pa-stat--square[data-pa-stat-fit].pa-stat--fit-wide .pa-stat__change,
|
|
6678
|
+
.pa-stat--square[data-pa-stat-fit].pa-stat--fit-wide .pa-stat__context {
|
|
6679
|
+
display: block;
|
|
6680
|
+
}
|
|
6470
6681
|
|
|
6471
6682
|
.pa-kpi-grid {
|
|
6472
6683
|
margin: -0.8rem;
|
|
@@ -7306,6 +7517,15 @@ a.pa-card p {
|
|
|
7306
7517
|
background-color: var(--pa-main-bg);
|
|
7307
7518
|
border-color: var(--pa-accent);
|
|
7308
7519
|
}
|
|
7520
|
+
.pa-btn--ghost {
|
|
7521
|
+
background-color: transparent;
|
|
7522
|
+
border-color: transparent;
|
|
7523
|
+
color: var(--pa-text-secondary);
|
|
7524
|
+
}
|
|
7525
|
+
.pa-btn--ghost:hover {
|
|
7526
|
+
background-color: var(--pa-surface-hover);
|
|
7527
|
+
color: var(--pa-text-color-1);
|
|
7528
|
+
}
|
|
7309
7529
|
.pa-btn--xs {
|
|
7310
7530
|
height: 3.1rem;
|
|
7311
7531
|
padding: 0.6rem 0.8rem;
|
|
@@ -7810,6 +8030,10 @@ a.pa-card p {
|
|
|
7810
8030
|
border-start-start-radius: 0;
|
|
7811
8031
|
border-end-start-radius: 0;
|
|
7812
8032
|
}
|
|
8033
|
+
.pa-btn-split--collapsed > .pa-btn-split__toggle:first-child {
|
|
8034
|
+
border-radius: var(--pa-border-radius);
|
|
8035
|
+
border-inline-start: none;
|
|
8036
|
+
}
|
|
7813
8037
|
.pa-btn-split__toggle {
|
|
7814
8038
|
border-inline-start: 1px solid rgba(255, 255, 255, 0.25);
|
|
7815
8039
|
padding-inline: 0;
|
|
@@ -7907,6 +8131,18 @@ a.pa-card p {
|
|
|
7907
8131
|
opacity: 0.7;
|
|
7908
8132
|
}
|
|
7909
8133
|
|
|
8134
|
+
.pa-btn-toolbar {
|
|
8135
|
+
display: flex;
|
|
8136
|
+
align-items: center;
|
|
8137
|
+
gap: 0.8rem;
|
|
8138
|
+
min-width: 0;
|
|
8139
|
+
overflow: hidden;
|
|
8140
|
+
flex-shrink: 1;
|
|
8141
|
+
}
|
|
8142
|
+
.pa-btn-toolbar > * {
|
|
8143
|
+
flex-shrink: 0;
|
|
8144
|
+
}
|
|
8145
|
+
|
|
7910
8146
|
/* ========================================
|
|
7911
8147
|
Loader Components
|
|
7912
8148
|
Spinners, dots, bars, pulse, ring, wave loaders and animations
|
|
@@ -11782,6 +12018,356 @@ web-multiselect {
|
|
|
11782
12018
|
pointer-events: none;
|
|
11783
12019
|
}
|
|
11784
12020
|
|
|
12021
|
+
/* ========================================
|
|
12022
|
+
Range Group
|
|
12023
|
+
A compact multi-range filter: one toggle that summarises several
|
|
12024
|
+
numeric range filters (e.g. "Age / Salary / Children") inline, and
|
|
12025
|
+
expands into a floating panel with one slider per dimension.
|
|
12026
|
+
|
|
12027
|
+
Two blocks live here, on purpose:
|
|
12028
|
+
|
|
12029
|
+
- .pa-range — the slider primitive. Single- OR dual-thumb,
|
|
12030
|
+
driven entirely by CSS custom properties that JS
|
|
12031
|
+
sets (--_pos on each thumb, --_fill-start /
|
|
12032
|
+
--_fill-end on the fill). Positioning uses LOGICAL
|
|
12033
|
+
properties (inset-inline-*) so RTL mirrors for
|
|
12034
|
+
free — JS only ever deals in 0–100 percentages.
|
|
12035
|
+
- .pa-range-group — the compact control: a __toggle summarising the
|
|
12036
|
+
rows, and a floating __panel of .pa-range rows.
|
|
12037
|
+
The panel is anchored with Floating UI (see the
|
|
12038
|
+
demo's range-group.js, mirroring split-button.js).
|
|
12039
|
+
|
|
12040
|
+
The group is meant to drop into a filter-card __filters row as a
|
|
12041
|
+
single control that stands in for N sliders. See snippets/range-group.html.
|
|
12042
|
+
======================================== */
|
|
12043
|
+
/* ----------------------------------------
|
|
12044
|
+
Slider primitive — pa-range
|
|
12045
|
+
---------------------------------------- */
|
|
12046
|
+
.pa-range {
|
|
12047
|
+
position: relative;
|
|
12048
|
+
height: 2.2rem;
|
|
12049
|
+
touch-action: none;
|
|
12050
|
+
user-select: none;
|
|
12051
|
+
cursor: pointer;
|
|
12052
|
+
}
|
|
12053
|
+
|
|
12054
|
+
.pa-range--ticks-labeled {
|
|
12055
|
+
height: calc(2.2rem + 1.6rem);
|
|
12056
|
+
}
|
|
12057
|
+
.pa-range--ticks-labeled .pa-range__rail {
|
|
12058
|
+
top: calc(2.2rem / 2);
|
|
12059
|
+
}
|
|
12060
|
+
|
|
12061
|
+
.pa-range__rail {
|
|
12062
|
+
position: absolute;
|
|
12063
|
+
inset-inline: calc(var(--pa-range-thumb-size, 1.6rem) / 2);
|
|
12064
|
+
top: 50%;
|
|
12065
|
+
transform: translateY(-50%);
|
|
12066
|
+
height: var(--pa-range-track-height, 0.4rem);
|
|
12067
|
+
}
|
|
12068
|
+
|
|
12069
|
+
.pa-range__track {
|
|
12070
|
+
position: absolute;
|
|
12071
|
+
inset: 0;
|
|
12072
|
+
border-radius: 999px;
|
|
12073
|
+
background-color: var(--pa-range-track, var(--pa-surface-track));
|
|
12074
|
+
}
|
|
12075
|
+
|
|
12076
|
+
.pa-range__fill {
|
|
12077
|
+
position: absolute;
|
|
12078
|
+
top: 0;
|
|
12079
|
+
bottom: 0;
|
|
12080
|
+
height: var(--pa-range-track-height, 0.4rem);
|
|
12081
|
+
border-radius: 999px;
|
|
12082
|
+
background-color: var(--pa-range-fill, var(--pa-accent));
|
|
12083
|
+
inset-inline-start: var(--_fill-start, 0%);
|
|
12084
|
+
inset-inline-end: var(--_fill-end, 0%);
|
|
12085
|
+
}
|
|
12086
|
+
|
|
12087
|
+
/* ---- Tick marks ----
|
|
12088
|
+
Built by range-group.js when a row has data-ticks. The container lives
|
|
12089
|
+
INSIDE the rail (so 0–100% maps to the same travel as the thumbs) and is
|
|
12090
|
+
the rail's first child — painted behind the track/fill, so each tick shows
|
|
12091
|
+
only as protruding ends. Marks are pointer-events:none, so a track click
|
|
12092
|
+
still reaches the .pa-range click-to-seek handler. */
|
|
12093
|
+
.pa-range__ticks {
|
|
12094
|
+
position: absolute;
|
|
12095
|
+
inset: 0;
|
|
12096
|
+
pointer-events: none;
|
|
12097
|
+
}
|
|
12098
|
+
|
|
12099
|
+
.pa-range__tick {
|
|
12100
|
+
position: absolute;
|
|
12101
|
+
top: 50%;
|
|
12102
|
+
inset-inline-start: var(--_pos, 0%);
|
|
12103
|
+
width: 0.1rem;
|
|
12104
|
+
height: 0.9rem;
|
|
12105
|
+
margin-inline-start: calc(0.1rem / -2);
|
|
12106
|
+
transform: translateY(-50%);
|
|
12107
|
+
border-radius: 999px;
|
|
12108
|
+
background-color: var(--pa-range-tick, var(--pa-border-color));
|
|
12109
|
+
}
|
|
12110
|
+
|
|
12111
|
+
.pa-range__tick--major {
|
|
12112
|
+
width: 0.2rem;
|
|
12113
|
+
height: 1.4rem;
|
|
12114
|
+
margin-inline-start: calc(0.2rem / -2);
|
|
12115
|
+
background-color: var(--pa-range-tick-major, var(--pa-text-tertiary));
|
|
12116
|
+
}
|
|
12117
|
+
|
|
12118
|
+
.pa-range__tick-labels {
|
|
12119
|
+
position: absolute;
|
|
12120
|
+
inset-inline: 0;
|
|
12121
|
+
top: calc(100% + 0.3rem);
|
|
12122
|
+
height: 0;
|
|
12123
|
+
pointer-events: none;
|
|
12124
|
+
}
|
|
12125
|
+
|
|
12126
|
+
.pa-range__tick-label {
|
|
12127
|
+
position: absolute;
|
|
12128
|
+
inset-inline-start: var(--_pos, 0%);
|
|
12129
|
+
transform: translateX(-50%);
|
|
12130
|
+
font-size: 1rem;
|
|
12131
|
+
color: var(--pa-text-tertiary);
|
|
12132
|
+
white-space: nowrap;
|
|
12133
|
+
font-variant-numeric: tabular-nums;
|
|
12134
|
+
}
|
|
12135
|
+
|
|
12136
|
+
.pa-range__thumb {
|
|
12137
|
+
--_thumb-w: var(--pa-range-thumb-size, 1.6rem);
|
|
12138
|
+
--_thumb-h: var(--pa-range-thumb-size, 1.6rem);
|
|
12139
|
+
position: absolute;
|
|
12140
|
+
top: 50%;
|
|
12141
|
+
inset-inline-start: var(--_pos, 0%);
|
|
12142
|
+
margin-inline-start: calc(var(--_thumb-w) / -2);
|
|
12143
|
+
transform: translateY(-50%);
|
|
12144
|
+
width: var(--_thumb-w);
|
|
12145
|
+
height: var(--_thumb-h);
|
|
12146
|
+
padding: 0;
|
|
12147
|
+
border: 0.2rem solid var(--pa-range-thumb-border, var(--pa-accent));
|
|
12148
|
+
border-radius: 50%;
|
|
12149
|
+
background-color: var(--pa-range-thumb-bg, var(--pa-card-bg));
|
|
12150
|
+
cursor: grab;
|
|
12151
|
+
touch-action: none;
|
|
12152
|
+
transition: box-shadow 0.15s ease, border-color 0.15s ease;
|
|
12153
|
+
}
|
|
12154
|
+
.pa-range__thumb:hover {
|
|
12155
|
+
border-color: var(--pa-range-thumb-border-hover, var(--pa-accent-hover));
|
|
12156
|
+
}
|
|
12157
|
+
.pa-range__thumb:focus-visible {
|
|
12158
|
+
outline: none;
|
|
12159
|
+
box-shadow: 0 0 0 0.3rem var(--pa-range-focus-ring, var(--pa-accent-light));
|
|
12160
|
+
}
|
|
12161
|
+
.pa-range__thumb:active, .pa-range__thumb.pa-range__thumb--grabbing {
|
|
12162
|
+
cursor: grabbing;
|
|
12163
|
+
box-shadow: 0 0 0 0.3rem var(--pa-range-focus-ring, var(--pa-accent-light));
|
|
12164
|
+
}
|
|
12165
|
+
|
|
12166
|
+
/* ---- Handle shapes ----
|
|
12167
|
+
Modifiers on .pa-range that restyle its thumbs. Purely cosmetic — no JS
|
|
12168
|
+
involvement — so a shape can be mixed per row. Each just overrides the
|
|
12169
|
+
private size props + border-radius; centring follows automatically. */
|
|
12170
|
+
.pa-range--handle-rect .pa-range__thumb {
|
|
12171
|
+
--_thumb-w: 1.2rem;
|
|
12172
|
+
--_thumb-h: 1.9rem;
|
|
12173
|
+
border-radius: var(--pa-border-radius-sm);
|
|
12174
|
+
}
|
|
12175
|
+
|
|
12176
|
+
.pa-range--handle-bar .pa-range__thumb {
|
|
12177
|
+
--_thumb-w: 0.35rem;
|
|
12178
|
+
--_thumb-h: 2.2rem;
|
|
12179
|
+
border-radius: 999px;
|
|
12180
|
+
background-color: var(--pa-range-thumb-border, var(--pa-accent));
|
|
12181
|
+
}
|
|
12182
|
+
.pa-range--handle-bar .pa-range__thumb:hover {
|
|
12183
|
+
background-color: var(--pa-range-thumb-border-hover, var(--pa-accent-hover));
|
|
12184
|
+
}
|
|
12185
|
+
|
|
12186
|
+
.pa-range--handle-arrow .pa-range__thumb {
|
|
12187
|
+
--_thumb-w: 1.6rem;
|
|
12188
|
+
--_thumb-h: 2rem;
|
|
12189
|
+
border-radius: var(--pa-border-radius-sm);
|
|
12190
|
+
}
|
|
12191
|
+
.pa-range--handle-arrow .pa-range__thumb::before {
|
|
12192
|
+
content: "";
|
|
12193
|
+
position: absolute;
|
|
12194
|
+
top: 50%;
|
|
12195
|
+
inset-inline-start: 50%;
|
|
12196
|
+
width: 0.5rem;
|
|
12197
|
+
height: 0.5rem;
|
|
12198
|
+
border-block-start: 0.2rem solid var(--pa-range-thumb-border, var(--pa-accent));
|
|
12199
|
+
border-inline-end: 0.2rem solid var(--pa-range-thumb-border, var(--pa-accent));
|
|
12200
|
+
transform: translateX(-0.177rem) translate(-50%, -50%) rotate(45deg);
|
|
12201
|
+
}
|
|
12202
|
+
|
|
12203
|
+
.pa-range--handle-arrow .pa-range__thumb--min::before {
|
|
12204
|
+
transform: translateX(0.177rem) translate(-50%, -50%) rotate(-135deg);
|
|
12205
|
+
}
|
|
12206
|
+
|
|
12207
|
+
.pa-range--handle-needle .pa-range__thumb {
|
|
12208
|
+
--_thumb-w: 1.2rem;
|
|
12209
|
+
--_thumb-h: 2.2rem;
|
|
12210
|
+
background-color: transparent;
|
|
12211
|
+
border-color: transparent;
|
|
12212
|
+
border-radius: var(--pa-border-radius-sm);
|
|
12213
|
+
}
|
|
12214
|
+
.pa-range--handle-needle .pa-range__thumb::before {
|
|
12215
|
+
content: "";
|
|
12216
|
+
position: absolute;
|
|
12217
|
+
inset-inline-start: 50%;
|
|
12218
|
+
bottom: 50%;
|
|
12219
|
+
width: 1.2rem;
|
|
12220
|
+
height: 1.1rem;
|
|
12221
|
+
margin-inline-start: calc(1.2rem / -2);
|
|
12222
|
+
background-color: var(--pa-range-thumb-border, var(--pa-accent));
|
|
12223
|
+
clip-path: polygon(50% 100%, 0 0, 100% 0);
|
|
12224
|
+
transition: background-color 0.15s ease;
|
|
12225
|
+
}
|
|
12226
|
+
.pa-range--handle-needle .pa-range__thumb:hover::before {
|
|
12227
|
+
background-color: var(--pa-range-thumb-border-hover, var(--pa-accent-hover));
|
|
12228
|
+
}
|
|
12229
|
+
|
|
12230
|
+
.pa-range--single .pa-range__thumb--min {
|
|
12231
|
+
display: none;
|
|
12232
|
+
}
|
|
12233
|
+
|
|
12234
|
+
.pa-range--disabled {
|
|
12235
|
+
opacity: 0.5;
|
|
12236
|
+
pointer-events: none;
|
|
12237
|
+
}
|
|
12238
|
+
|
|
12239
|
+
/* ----------------------------------------
|
|
12240
|
+
Compact control — pa-range-group
|
|
12241
|
+
---------------------------------------- */
|
|
12242
|
+
.pa-range-group {
|
|
12243
|
+
position: relative;
|
|
12244
|
+
display: inline-flex;
|
|
12245
|
+
}
|
|
12246
|
+
|
|
12247
|
+
.pa-range-group__toggle {
|
|
12248
|
+
display: inline-flex;
|
|
12249
|
+
align-items: center;
|
|
12250
|
+
gap: 1.2rem;
|
|
12251
|
+
width: 100%;
|
|
12252
|
+
padding: 0.8rem 1.2rem;
|
|
12253
|
+
border: 1px solid var(--pa-border-color);
|
|
12254
|
+
border-radius: var(--pa-border-radius);
|
|
12255
|
+
background-color: var(--pa-input-bg);
|
|
12256
|
+
color: var(--pa-text-color-1);
|
|
12257
|
+
font-size: 1.4rem;
|
|
12258
|
+
line-height: 1.3;
|
|
12259
|
+
text-align: start;
|
|
12260
|
+
cursor: pointer;
|
|
12261
|
+
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
12262
|
+
}
|
|
12263
|
+
.pa-range-group__toggle:hover {
|
|
12264
|
+
border-color: var(--pa-accent-hover);
|
|
12265
|
+
}
|
|
12266
|
+
.pa-range-group__toggle:focus-visible {
|
|
12267
|
+
outline: none;
|
|
12268
|
+
border-color: var(--pa-accent);
|
|
12269
|
+
box-shadow: 0 0 0 0.3rem var(--pa-accent-light);
|
|
12270
|
+
}
|
|
12271
|
+
|
|
12272
|
+
.pa-range-group__summary {
|
|
12273
|
+
flex: 1;
|
|
12274
|
+
min-width: 0;
|
|
12275
|
+
font-size: 1.4rem;
|
|
12276
|
+
white-space: nowrap;
|
|
12277
|
+
overflow: hidden;
|
|
12278
|
+
text-overflow: ellipsis;
|
|
12279
|
+
}
|
|
12280
|
+
|
|
12281
|
+
.pa-range-group__seg-label {
|
|
12282
|
+
font-size: 1rem;
|
|
12283
|
+
font-weight: 600;
|
|
12284
|
+
letter-spacing: 0.02em;
|
|
12285
|
+
text-transform: uppercase;
|
|
12286
|
+
color: var(--pa-text-tertiary);
|
|
12287
|
+
}
|
|
12288
|
+
|
|
12289
|
+
.pa-range-group__seg-value {
|
|
12290
|
+
font-weight: 500;
|
|
12291
|
+
color: var(--pa-text-color-1);
|
|
12292
|
+
font-variant-numeric: tabular-nums;
|
|
12293
|
+
}
|
|
12294
|
+
|
|
12295
|
+
.pa-range-group__seg-value--empty {
|
|
12296
|
+
color: var(--pa-text-tertiary);
|
|
12297
|
+
font-weight: 400;
|
|
12298
|
+
}
|
|
12299
|
+
|
|
12300
|
+
.pa-range-group__seg-sep {
|
|
12301
|
+
color: var(--pa-text-tertiary);
|
|
12302
|
+
margin-inline: 0.4rem;
|
|
12303
|
+
}
|
|
12304
|
+
|
|
12305
|
+
.pa-range-group__caret {
|
|
12306
|
+
flex-shrink: 0;
|
|
12307
|
+
font-size: 1.2rem;
|
|
12308
|
+
color: var(--pa-text-secondary);
|
|
12309
|
+
transition: transform 0.2s ease;
|
|
12310
|
+
}
|
|
12311
|
+
|
|
12312
|
+
.pa-range-group--open .pa-range-group__caret {
|
|
12313
|
+
transform: rotate(180deg);
|
|
12314
|
+
}
|
|
12315
|
+
|
|
12316
|
+
/* ---- Floating panel ---- */
|
|
12317
|
+
.pa-range-group__panel {
|
|
12318
|
+
display: none;
|
|
12319
|
+
flex-direction: column;
|
|
12320
|
+
gap: 2.4rem;
|
|
12321
|
+
min-width: var(--pa-range-group-panel-min-width, 32rem);
|
|
12322
|
+
padding: 1.6rem;
|
|
12323
|
+
border: 1px solid var(--pa-border-color);
|
|
12324
|
+
border-radius: var(--pa-border-radius-lg);
|
|
12325
|
+
background-color: var(--pa-card-bg);
|
|
12326
|
+
box-shadow: var(--pa-detail-shadow);
|
|
12327
|
+
z-index: 7500;
|
|
12328
|
+
}
|
|
12329
|
+
.pa-range-group__panel.pa-range-group__panel--open {
|
|
12330
|
+
display: flex;
|
|
12331
|
+
}
|
|
12332
|
+
|
|
12333
|
+
.pa-range-group__row {
|
|
12334
|
+
display: flex;
|
|
12335
|
+
flex-direction: column;
|
|
12336
|
+
gap: 0.8rem;
|
|
12337
|
+
}
|
|
12338
|
+
|
|
12339
|
+
.pa-range-group__row-head {
|
|
12340
|
+
display: flex;
|
|
12341
|
+
align-items: baseline;
|
|
12342
|
+
justify-content: space-between;
|
|
12343
|
+
gap: 0.8rem;
|
|
12344
|
+
}
|
|
12345
|
+
|
|
12346
|
+
.pa-range-group__row-label {
|
|
12347
|
+
font-size: 1.4rem;
|
|
12348
|
+
font-weight: 600;
|
|
12349
|
+
color: var(--pa-text-color-1);
|
|
12350
|
+
}
|
|
12351
|
+
|
|
12352
|
+
.pa-range-group__row-value {
|
|
12353
|
+
font-size: 1.4rem;
|
|
12354
|
+
font-weight: 500;
|
|
12355
|
+
font-variant-numeric: tabular-nums;
|
|
12356
|
+
color: var(--pa-range-fill, var(--pa-accent));
|
|
12357
|
+
}
|
|
12358
|
+
.pa-range-group__row-value.pa-range-group__row-value--empty {
|
|
12359
|
+
color: var(--pa-text-tertiary);
|
|
12360
|
+
}
|
|
12361
|
+
|
|
12362
|
+
.pa-range-group__actions {
|
|
12363
|
+
display: flex;
|
|
12364
|
+
justify-content: flex-end;
|
|
12365
|
+
gap: 0.8rem;
|
|
12366
|
+
margin-top: 0.4rem;
|
|
12367
|
+
padding-top: 2.4rem;
|
|
12368
|
+
border-top: 1px solid var(--pa-border-color);
|
|
12369
|
+
}
|
|
12370
|
+
|
|
11785
12371
|
/* ========================================
|
|
11786
12372
|
Comparison Table Component
|
|
11787
12373
|
Two-column and three-column comparison tables for version control, data changes, and merge operations
|
|
@@ -15242,6 +15828,166 @@ code {
|
|
|
15242
15828
|
transform: rotate(180deg);
|
|
15243
15829
|
}
|
|
15244
15830
|
|
|
15831
|
+
/* ========================================
|
|
15832
|
+
Splitter Component
|
|
15833
|
+
Resizable container with draggable gutters (2 or more panes).
|
|
15834
|
+
Modifiers:
|
|
15835
|
+
--horizontal panes side-by-side, vertical gutter (default)
|
|
15836
|
+
--vertical panes stacked, horizontal gutter
|
|
15837
|
+
--dragging applied to root while user is dragging
|
|
15838
|
+
--collapsed start pane has been collapsed to 0
|
|
15839
|
+
--minimize-mirror flip rail-title text 180° (bottom-to-top reading)
|
|
15840
|
+
|
|
15841
|
+
Rail mode is fully decoupled from any specific component. The splitter
|
|
15842
|
+
only rotates elements marked `[data-pa-splitter-rail-title]` inside a
|
|
15843
|
+
minimized pane; per-component adaptation (e.g. card body / footer
|
|
15844
|
+
hiding) lives in that component's SCSS, keyed off
|
|
15845
|
+
`.pa-splitter__pane--minimized > .pa-foo`. Card integration is in
|
|
15846
|
+
`_cards.scss`.
|
|
15847
|
+
======================================== */
|
|
15848
|
+
:root {
|
|
15849
|
+
--pa-splitter-rail-size: 4rem;
|
|
15850
|
+
}
|
|
15851
|
+
|
|
15852
|
+
.pa-splitter {
|
|
15853
|
+
display: flex;
|
|
15854
|
+
width: 100%;
|
|
15855
|
+
height: 100%;
|
|
15856
|
+
min-width: 0;
|
|
15857
|
+
min-height: 0;
|
|
15858
|
+
overflow: hidden;
|
|
15859
|
+
}
|
|
15860
|
+
.pa-splitter--horizontal {
|
|
15861
|
+
flex-direction: row;
|
|
15862
|
+
}
|
|
15863
|
+
.pa-splitter--horizontal > .pa-splitter__gutter {
|
|
15864
|
+
cursor: col-resize;
|
|
15865
|
+
width: var(--pa-splitter-gutter-size, 0.6rem);
|
|
15866
|
+
height: auto;
|
|
15867
|
+
align-self: stretch;
|
|
15868
|
+
}
|
|
15869
|
+
.pa-splitter--horizontal > .pa-splitter__gutter::before {
|
|
15870
|
+
width: 2px;
|
|
15871
|
+
height: 2.4rem;
|
|
15872
|
+
}
|
|
15873
|
+
.pa-splitter--vertical {
|
|
15874
|
+
flex-direction: column;
|
|
15875
|
+
}
|
|
15876
|
+
.pa-splitter--vertical > .pa-splitter__gutter {
|
|
15877
|
+
cursor: row-resize;
|
|
15878
|
+
width: auto;
|
|
15879
|
+
height: var(--pa-splitter-gutter-size, 0.6rem);
|
|
15880
|
+
align-self: stretch;
|
|
15881
|
+
}
|
|
15882
|
+
.pa-splitter--vertical > .pa-splitter__gutter::before {
|
|
15883
|
+
width: 2.4rem;
|
|
15884
|
+
height: 2px;
|
|
15885
|
+
}
|
|
15886
|
+
.pa-splitter--dragging {
|
|
15887
|
+
user-select: none;
|
|
15888
|
+
}
|
|
15889
|
+
.pa-splitter--dragging > .pa-splitter__pane {
|
|
15890
|
+
pointer-events: none;
|
|
15891
|
+
}
|
|
15892
|
+
.pa-splitter--dragging > .pa-splitter__gutter:not(.pa-splitter__gutter--active) {
|
|
15893
|
+
pointer-events: none;
|
|
15894
|
+
}
|
|
15895
|
+
.pa-splitter--dragging > .pa-splitter__gutter:not(.pa-splitter__gutter--active):focus-visible {
|
|
15896
|
+
box-shadow: none;
|
|
15897
|
+
}
|
|
15898
|
+
.pa-splitter--dragging > .pa-splitter__gutter:not(.pa-splitter__gutter--active):focus-visible::before {
|
|
15899
|
+
background-color: rgba(128, 128, 128, 0.45);
|
|
15900
|
+
}
|
|
15901
|
+
.pa-splitter__gutter--active {
|
|
15902
|
+
background-color: rgba(0, 123, 255, 0.35);
|
|
15903
|
+
}
|
|
15904
|
+
.pa-splitter__gutter--active::before {
|
|
15905
|
+
background-color: #007bff;
|
|
15906
|
+
}
|
|
15907
|
+
.pa-splitter__pane {
|
|
15908
|
+
overflow: auto;
|
|
15909
|
+
min-width: 0;
|
|
15910
|
+
min-height: 0;
|
|
15911
|
+
}
|
|
15912
|
+
.pa-splitter__pane--start {
|
|
15913
|
+
flex: 0 0 auto;
|
|
15914
|
+
}
|
|
15915
|
+
.pa-splitter__pane--end {
|
|
15916
|
+
flex: 1 1 0;
|
|
15917
|
+
}
|
|
15918
|
+
.pa-splitter__pane--minimized {
|
|
15919
|
+
cursor: pointer;
|
|
15920
|
+
overflow: hidden;
|
|
15921
|
+
}
|
|
15922
|
+
.pa-splitter__pane--minimized [data-pa-splitter-rail-title] {
|
|
15923
|
+
writing-mode: sideways-rl;
|
|
15924
|
+
}
|
|
15925
|
+
.pa-splitter__pane--minimized [data-pa-splitter-rail-title] i,
|
|
15926
|
+
.pa-splitter__pane--minimized [data-pa-splitter-rail-title] svg {
|
|
15927
|
+
writing-mode: initial;
|
|
15928
|
+
}
|
|
15929
|
+
.pa-splitter--minimize-mirror .pa-splitter__pane--minimized [data-pa-splitter-rail-title] :is(h1, h2, h3, h4, h5, h6) {
|
|
15930
|
+
transform: scale(-1, -1);
|
|
15931
|
+
}
|
|
15932
|
+
.pa-splitter__gutter {
|
|
15933
|
+
position: relative;
|
|
15934
|
+
flex: 0 0 auto;
|
|
15935
|
+
background-color: rgba(128, 128, 128, 0.08);
|
|
15936
|
+
transition: background-color 0.15s ease;
|
|
15937
|
+
touch-action: none;
|
|
15938
|
+
outline: none;
|
|
15939
|
+
}
|
|
15940
|
+
.pa-splitter__gutter::before {
|
|
15941
|
+
content: "";
|
|
15942
|
+
position: absolute;
|
|
15943
|
+
top: 50%;
|
|
15944
|
+
left: 50%;
|
|
15945
|
+
transform: translate(-50%, -50%);
|
|
15946
|
+
background-color: rgba(128, 128, 128, 0.45);
|
|
15947
|
+
border-radius: 2px;
|
|
15948
|
+
transition: background-color 0.15s ease;
|
|
15949
|
+
}
|
|
15950
|
+
.pa-splitter__gutter:hover {
|
|
15951
|
+
background-color: rgba(128, 128, 128, 0.18);
|
|
15952
|
+
}
|
|
15953
|
+
.pa-splitter__gutter:hover::before {
|
|
15954
|
+
background-color: #007bff;
|
|
15955
|
+
}
|
|
15956
|
+
.pa-splitter__gutter:focus-visible {
|
|
15957
|
+
box-shadow: inset 0 0 0 2px rgba(0, 123, 255, 0.4);
|
|
15958
|
+
}
|
|
15959
|
+
.pa-splitter__gutter:focus-visible::before {
|
|
15960
|
+
background-color: #007bff;
|
|
15961
|
+
}
|
|
15962
|
+
|
|
15963
|
+
/* ========================================
|
|
15964
|
+
Overflow (progressive-collapse row)
|
|
15965
|
+
|
|
15966
|
+
Generic primitive: a horizontal flex row whose children get walked into
|
|
15967
|
+
a "more" menu when the row can't fit, driven by `overflow.js`. Use
|
|
15968
|
+
anywhere you want a button toolbar, breadcrumb row, chip row, or tab bar
|
|
15969
|
+
to collapse gracefully on narrow widths.
|
|
15970
|
+
|
|
15971
|
+
<div class="pa-overflow" data-pa-actions-overflow-from="end">
|
|
15972
|
+
<button class="pa-btn pa-btn--xs">Save</button>
|
|
15973
|
+
<button class="pa-btn pa-btn--xs" data-pa-actions-priority="10">Run</button>
|
|
15974
|
+
</div>
|
|
15975
|
+
|
|
15976
|
+
The card-flavoured alias `pa-card__actions--overflow` carries equivalent
|
|
15977
|
+
rules under `.pa-card__header` (see `_cards.scss`); both wire into the
|
|
15978
|
+
same JS module. ======================================== */
|
|
15979
|
+
.pa-overflow {
|
|
15980
|
+
display: flex;
|
|
15981
|
+
align-items: center;
|
|
15982
|
+
gap: 0.8rem;
|
|
15983
|
+
min-width: 0;
|
|
15984
|
+
overflow: hidden;
|
|
15985
|
+
flex-shrink: 1;
|
|
15986
|
+
}
|
|
15987
|
+
.pa-overflow > * {
|
|
15988
|
+
flex-shrink: 0;
|
|
15989
|
+
}
|
|
15990
|
+
|
|
15245
15991
|
/* ========================================
|
|
15246
15992
|
Data Display Components
|
|
15247
15993
|
Read-only label-value field pairs
|