@keenmate/pure-admin-core 1.5.0 → 1.5.1
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 +89 -0
- package/dist/css/main.css +431 -0
- package/package.json +1 -1
- package/src/scss/core-components/_cards.scss +23 -0
- package/src/scss/core-components/_data-display.scss +514 -19
- package/src/scss/core-components/_detail-panel.scss +6 -0
- package/src/scss/core-components/_tables.scss +7 -0
- package/src/scss/utilities.scss +13 -0
- package/src/scss/variables/_components.scss +98 -1
package/README.md
CHANGED
|
@@ -180,6 +180,13 @@ Sizes: `0`, `xs`, `sm`, `md`, `base`, `lg`, `xl`, `2xl`, `auto`
|
|
|
180
180
|
- **Theme color variants:** `.pa-card--color-1` through `.pa-card--color-9`
|
|
181
181
|
- Uses `--pa-color-N` for header background and border
|
|
182
182
|
- Text color automatically adjusts via `--pa-color-N-text` for readability
|
|
183
|
+
- `.pa-card--ghost` - Invisible container (no background, border, or shadow) — layout wrapper only
|
|
184
|
+
- `.pa-card--stat` - Compact padding for stat cards
|
|
185
|
+
- **Card tabs:**
|
|
186
|
+
- `.pa-card__tabs` - Tab navigation below header
|
|
187
|
+
- `.pa-card__tab` / `.pa-card__tab--active` - Tab buttons
|
|
188
|
+
- `.pa-card__tab-content` / `.pa-card__tab-content--active` - Tab panels
|
|
189
|
+
- `.pa-card__tabs--inline` - Pill-style tabs inside header
|
|
183
190
|
|
|
184
191
|
### Layout & Sidebar
|
|
185
192
|
- `.pa-layout` - Main layout container
|
|
@@ -380,6 +387,88 @@ Works with both `pa-table` and `web-grid` component. First/last columns automati
|
|
|
380
387
|
- `.pa-profile-panel__favorite-item` - Favorite link (with remove button)
|
|
381
388
|
- `.pa-profile-panel__actions` - Action buttons (Sign Out, etc.)
|
|
382
389
|
|
|
390
|
+
### Data Display
|
|
391
|
+
|
|
392
|
+
Read-only label-value patterns for displaying structured data. All patterns support RTL via CSS logical properties and respond to container width via CSS Container Queries.
|
|
393
|
+
|
|
394
|
+
#### Fields (label-value pairs)
|
|
395
|
+
- `.pa-field` - Single label-value pair
|
|
396
|
+
- `.pa-field__label` - Label element
|
|
397
|
+
- `.pa-field__value` - Value element
|
|
398
|
+
- `.pa-fields` - Container for multiple fields (stacked list)
|
|
399
|
+
- `.pa-fields--cols-2/3/4` - Multi-column grid layout
|
|
400
|
+
- `.pa-fields--horizontal` - Side-by-side label/value layout
|
|
401
|
+
- `.pa-fields--table` - Table-like alignment with fixed label width
|
|
402
|
+
- `.pa-fields--bordered` - Bottom borders between fields
|
|
403
|
+
- `.pa-fields--striped` - Alternating row backgrounds
|
|
404
|
+
- `.pa-fields--compact` - Reduced spacing
|
|
405
|
+
- `.pa-fields--inline` - Inline horizontal flow
|
|
406
|
+
- `.pa-fields--relaxed` - Extra spacing
|
|
407
|
+
- `.pa-fields--row` - Horizontal row with wrapping
|
|
408
|
+
- `.pa-fields--filled` - Tinted label backgrounds
|
|
409
|
+
- `.pa-fields--no-border` - Remove all borders
|
|
410
|
+
- `.pa-fields--linear` - Underline-style fields (label above, value with bottom border)
|
|
411
|
+
- `.pa-fields--chips` - Chip/tag style values with color variants
|
|
412
|
+
- `.pa-fields--color-1` through `--color-9` - Theme color accents
|
|
413
|
+
- `.pa-field--full` - Full-width field spanning all columns
|
|
414
|
+
- `.pa-field--copy-btn/--copy-click/--copy-hover` - Copy-to-clipboard patterns
|
|
415
|
+
- `.pa-field-group` - Group fields under a titled section
|
|
416
|
+
- `.pa-field__value--success/warning/danger` - Semantic chip color variants (with `--chips`)
|
|
417
|
+
|
|
418
|
+
#### Desc Table (CSS Grid description list)
|
|
419
|
+
- `.pa-desc-table` - Grid-based label-value table (auto label width)
|
|
420
|
+
- `.pa-desc-table--cols-2` - Two-column layout
|
|
421
|
+
- `.pa-desc-table--fixed` - Fixed label width (configurable via `--label-width`)
|
|
422
|
+
- `.pa-desc-table--middle` - Vertically center labels and values
|
|
423
|
+
- `.pa-desc-table--label-end` - Right-align labels
|
|
424
|
+
- `.pa-desc-table--label-center` - Center-align labels
|
|
425
|
+
- `.pa-desc-table--truncate` - Truncate overflow with ellipsis
|
|
426
|
+
- `.pa-desc-table__label` - Label cell
|
|
427
|
+
- `.pa-desc-table__value` - Value cell
|
|
428
|
+
- `.pa-desc-table__value--full` - Value spanning full row width
|
|
429
|
+
|
|
430
|
+
#### Dot Leaders (receipt/invoice style)
|
|
431
|
+
- `.pa-dot-leaders` - Container for dot-leader items
|
|
432
|
+
- `.pa-dot-leaders__item` - Single row
|
|
433
|
+
- `.pa-dot-leaders__item--total` - Bold total row with top border
|
|
434
|
+
- `.pa-dot-leaders__label` - Label text
|
|
435
|
+
- `.pa-dot-leaders__leader` - Dotted fill between label and value
|
|
436
|
+
- `.pa-dot-leaders__value` - Right-aligned value
|
|
437
|
+
|
|
438
|
+
#### Property Card (grouped key-value card)
|
|
439
|
+
- `.pa-prop-card` - Self-contained card with header + rows
|
|
440
|
+
- `.pa-prop-card__header` - Colored header bar
|
|
441
|
+
- `.pa-prop-card__row` - Key-value row with bottom border
|
|
442
|
+
- `.pa-prop-card__label` - Row label
|
|
443
|
+
- `.pa-prop-card__value` - Row value
|
|
444
|
+
- `.pa-prop-card__value--bold` - Bold value text
|
|
445
|
+
|
|
446
|
+
#### Banded (label column with tinted background)
|
|
447
|
+
- `.pa-banded` - Container for banded rows
|
|
448
|
+
- `.pa-banded__row` - Horizontal label-value row
|
|
449
|
+
- `.pa-banded__label` - Label with tinted background band
|
|
450
|
+
- `.pa-banded__value` - Value cell
|
|
451
|
+
- `.pa-banded--narrow` - Narrower label column
|
|
452
|
+
- `.pa-banded--wide` - Wider label column
|
|
453
|
+
- `.pa-banded--middle` - Vertically center content
|
|
454
|
+
- `.pa-banded--label-end` - Right-align labels
|
|
455
|
+
- `.pa-banded--label-center` - Center-align labels
|
|
456
|
+
- `.pa-banded--truncate` - Truncate overflow with ellipsis
|
|
457
|
+
|
|
458
|
+
#### Accent Grid (color-coded items)
|
|
459
|
+
- `.pa-accent-grid` - Grid container with color-coded left borders
|
|
460
|
+
- `.pa-accent-grid__item` - Grid item with accent border
|
|
461
|
+
- `.pa-accent-grid__item--success/warning/danger/info` - Semantic color variants
|
|
462
|
+
- `.pa-accent-grid__label` - Item label
|
|
463
|
+
- `.pa-accent-grid__value` - Item value
|
|
464
|
+
|
|
465
|
+
#### Container Query Wrappers
|
|
466
|
+
Wrap data display components in these containers to enable responsive behavior based on the container width (not viewport):
|
|
467
|
+
- `.pa-fields-container` - Container for `.pa-fields` (collapses multi-column to single column)
|
|
468
|
+
- `.pa-desc-container` - Container for `.pa-desc-table` (collapses to narrower layout)
|
|
469
|
+
- `.pa-banded-container` - Container for `.pa-banded` (stacks label above value)
|
|
470
|
+
- `.pa-cq` - General-purpose container query utility (`container-type: inline-size`)
|
|
471
|
+
|
|
383
472
|
## Utility Classes
|
|
384
473
|
|
|
385
474
|
### Flexbox Alignment
|
package/dist/css/main.css
CHANGED
|
@@ -1935,6 +1935,26 @@
|
|
|
1935
1935
|
min-height: 50rem !important;
|
|
1936
1936
|
}
|
|
1937
1937
|
|
|
1938
|
+
.minhr-60 {
|
|
1939
|
+
min-height: 60rem !important;
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1942
|
+
.minhr-70 {
|
|
1943
|
+
min-height: 70rem !important;
|
|
1944
|
+
}
|
|
1945
|
+
|
|
1946
|
+
.minhr-80 {
|
|
1947
|
+
min-height: 80rem !important;
|
|
1948
|
+
}
|
|
1949
|
+
|
|
1950
|
+
.minhr-90 {
|
|
1951
|
+
min-height: 90rem !important;
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
.minhr-100 {
|
|
1955
|
+
min-height: 100rem !important;
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1938
1958
|
.maxhr-1 {
|
|
1939
1959
|
max-height: 1rem !important;
|
|
1940
1960
|
}
|
|
@@ -2579,6 +2599,10 @@
|
|
|
2579
2599
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
|
|
2580
2600
|
}
|
|
2581
2601
|
|
|
2602
|
+
.pa-cq {
|
|
2603
|
+
container-type: inline-size;
|
|
2604
|
+
}
|
|
2605
|
+
|
|
2582
2606
|
/* Pure Admin Visual Framework - Core Styles */
|
|
2583
2607
|
/* ========================================
|
|
2584
2608
|
Component Imports
|
|
@@ -5514,6 +5538,22 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5514
5538
|
.pa-card--stat .pa-card__body {
|
|
5515
5539
|
padding: 2.4rem 1.6rem;
|
|
5516
5540
|
}
|
|
5541
|
+
.pa-card--ghost {
|
|
5542
|
+
background: transparent !important;
|
|
5543
|
+
border: none !important;
|
|
5544
|
+
box-shadow: none !important;
|
|
5545
|
+
}
|
|
5546
|
+
.pa-card--ghost:hover {
|
|
5547
|
+
box-shadow: none !important;
|
|
5548
|
+
}
|
|
5549
|
+
.pa-card--ghost .pa-card__header {
|
|
5550
|
+
background: transparent !important;
|
|
5551
|
+
border-bottom: none !important;
|
|
5552
|
+
}
|
|
5553
|
+
.pa-card--ghost .pa-card__footer {
|
|
5554
|
+
background: transparent !important;
|
|
5555
|
+
border-top: none !important;
|
|
5556
|
+
}
|
|
5517
5557
|
.pa-card--color-1 {
|
|
5518
5558
|
border-color: var(--pa-color-1);
|
|
5519
5559
|
}
|
|
@@ -10528,6 +10568,11 @@ web-multiselect {
|
|
|
10528
10568
|
.pa-table-card:has(.pa-detail-view) .pa-table-card__body {
|
|
10529
10569
|
position: relative;
|
|
10530
10570
|
overflow: hidden;
|
|
10571
|
+
display: flex;
|
|
10572
|
+
flex-direction: column;
|
|
10573
|
+
}
|
|
10574
|
+
.pa-table-card:has(.pa-detail-view) .pa-table-card__body .pa-detail-view {
|
|
10575
|
+
flex: 1;
|
|
10531
10576
|
}
|
|
10532
10577
|
.pa-table-card__header {
|
|
10533
10578
|
padding: 0.5rem 1rem;
|
|
@@ -13868,6 +13913,9 @@ code {
|
|
|
13868
13913
|
background-color: var(--pa-card-bg);
|
|
13869
13914
|
position: relative;
|
|
13870
13915
|
}
|
|
13916
|
+
.pa-detail-panel__content--bordered {
|
|
13917
|
+
border-block: 1px solid var(--pa-border-color);
|
|
13918
|
+
}
|
|
13871
13919
|
.pa-detail-panel--overlay .pa-detail-panel__content {
|
|
13872
13920
|
position: absolute;
|
|
13873
13921
|
top: 0;
|
|
@@ -13961,6 +14009,7 @@ code {
|
|
|
13961
14009
|
.pa-detail-panel__body {
|
|
13962
14010
|
flex: 1;
|
|
13963
14011
|
overflow-y: auto;
|
|
14012
|
+
overscroll-behavior: contain;
|
|
13964
14013
|
padding: 1.2rem 1.6rem;
|
|
13965
14014
|
}
|
|
13966
14015
|
|
|
@@ -14283,6 +14332,10 @@ code {
|
|
|
14283
14332
|
margin-top: 2.4rem;
|
|
14284
14333
|
}
|
|
14285
14334
|
|
|
14335
|
+
.pa-fields-container {
|
|
14336
|
+
container-type: inline-size;
|
|
14337
|
+
}
|
|
14338
|
+
|
|
14286
14339
|
.pa-fields {
|
|
14287
14340
|
display: flex;
|
|
14288
14341
|
flex-direction: column;
|
|
@@ -14303,6 +14356,11 @@ code {
|
|
|
14303
14356
|
.pa-fields--cols-4 {
|
|
14304
14357
|
grid-template-columns: repeat(4, 1fr);
|
|
14305
14358
|
}
|
|
14359
|
+
@container (max-width: 768px) {
|
|
14360
|
+
.pa-fields--cols-2, .pa-fields--cols-3, .pa-fields--cols-4 {
|
|
14361
|
+
grid-template-columns: 1fr;
|
|
14362
|
+
}
|
|
14363
|
+
}
|
|
14306
14364
|
@media (max-width: 768px) {
|
|
14307
14365
|
.pa-fields--cols-2, .pa-fields--cols-3, .pa-fields--cols-4 {
|
|
14308
14366
|
grid-template-columns: 1fr;
|
|
@@ -14376,6 +14434,11 @@ code {
|
|
|
14376
14434
|
flex: 1;
|
|
14377
14435
|
min-width: 0;
|
|
14378
14436
|
}
|
|
14437
|
+
@container (max-width: 768px) {
|
|
14438
|
+
.pa-fields--row {
|
|
14439
|
+
flex-direction: column;
|
|
14440
|
+
}
|
|
14441
|
+
}
|
|
14379
14442
|
@media (max-width: 768px) {
|
|
14380
14443
|
.pa-fields--row {
|
|
14381
14444
|
flex-direction: column;
|
|
@@ -14444,6 +14507,374 @@ code {
|
|
|
14444
14507
|
border-inline-start: none;
|
|
14445
14508
|
padding-inline-start: 0;
|
|
14446
14509
|
}
|
|
14510
|
+
.pa-fields--linear {
|
|
14511
|
+
gap: 0.8rem;
|
|
14512
|
+
border-inline-start: none;
|
|
14513
|
+
padding-inline-start: 0;
|
|
14514
|
+
}
|
|
14515
|
+
.pa-fields--linear .pa-field {
|
|
14516
|
+
flex-direction: row;
|
|
14517
|
+
align-items: center;
|
|
14518
|
+
gap: 1.2rem;
|
|
14519
|
+
font-size: 1.4rem;
|
|
14520
|
+
line-height: 1.5;
|
|
14521
|
+
min-height: 2.8rem;
|
|
14522
|
+
}
|
|
14523
|
+
.pa-fields--linear .pa-field__label {
|
|
14524
|
+
flex: 0 0 10rem;
|
|
14525
|
+
font-size: 1.4rem;
|
|
14526
|
+
text-transform: none;
|
|
14527
|
+
letter-spacing: normal;
|
|
14528
|
+
opacity: 1;
|
|
14529
|
+
font-weight: 400;
|
|
14530
|
+
color: var(--pa-text-color-2);
|
|
14531
|
+
}
|
|
14532
|
+
.pa-fields--linear .pa-field__value {
|
|
14533
|
+
flex: 1;
|
|
14534
|
+
min-width: 0;
|
|
14535
|
+
font-size: 1.4rem;
|
|
14536
|
+
font-weight: 500;
|
|
14537
|
+
color: var(--pa-text-color-1);
|
|
14538
|
+
}
|
|
14539
|
+
.pa-fields--chips {
|
|
14540
|
+
flex-direction: row;
|
|
14541
|
+
flex-wrap: wrap;
|
|
14542
|
+
gap: 0.6rem 1.4rem;
|
|
14543
|
+
padding: 0.4rem 0;
|
|
14544
|
+
border-inline-start: none;
|
|
14545
|
+
padding-inline-start: 0;
|
|
14546
|
+
}
|
|
14547
|
+
.pa-fields--chips .pa-field {
|
|
14548
|
+
flex-direction: row;
|
|
14549
|
+
align-items: center;
|
|
14550
|
+
gap: 0.5rem;
|
|
14551
|
+
font-size: 1.4rem;
|
|
14552
|
+
}
|
|
14553
|
+
.pa-fields--chips .pa-field__label {
|
|
14554
|
+
font-size: 1.4rem;
|
|
14555
|
+
text-transform: none;
|
|
14556
|
+
letter-spacing: normal;
|
|
14557
|
+
opacity: 1;
|
|
14558
|
+
font-weight: 400;
|
|
14559
|
+
color: var(--pa-text-color-2);
|
|
14560
|
+
}
|
|
14561
|
+
.pa-fields--chips .pa-field__value {
|
|
14562
|
+
background: rgba(128, 128, 128, 0.1);
|
|
14563
|
+
color: var(--pa-text-color-1);
|
|
14564
|
+
font-weight: 500;
|
|
14565
|
+
padding: 0.2rem 0.8rem;
|
|
14566
|
+
border-radius: 4px;
|
|
14567
|
+
font-size: 1.3rem;
|
|
14568
|
+
}
|
|
14569
|
+
.pa-fields--chips .pa-field__value--success {
|
|
14570
|
+
background: var(--pa-success-bg-light, rgba(0, 200, 80, 0.12));
|
|
14571
|
+
color: var(--pa-success-color, #28a745);
|
|
14572
|
+
}
|
|
14573
|
+
.pa-fields--chips .pa-field__value--warning {
|
|
14574
|
+
background: var(--pa-warning-bg-light, rgba(255, 165, 0, 0.12));
|
|
14575
|
+
color: var(--pa-warning-color, #e68a00);
|
|
14576
|
+
}
|
|
14577
|
+
.pa-fields--chips .pa-field__value--danger {
|
|
14578
|
+
background: var(--pa-danger-bg-light, rgba(255, 0, 0, 0.12));
|
|
14579
|
+
color: var(--pa-danger-color, #dc3545);
|
|
14580
|
+
}
|
|
14581
|
+
|
|
14582
|
+
.pa-desc-container {
|
|
14583
|
+
container-type: inline-size;
|
|
14584
|
+
}
|
|
14585
|
+
|
|
14586
|
+
.pa-desc-table {
|
|
14587
|
+
display: grid;
|
|
14588
|
+
grid-template-columns: repeat(3, auto 1fr);
|
|
14589
|
+
border: 1px solid var(--pa-border-color);
|
|
14590
|
+
border-radius: 4px;
|
|
14591
|
+
overflow: hidden;
|
|
14592
|
+
}
|
|
14593
|
+
.pa-desc-table--cols-2 {
|
|
14594
|
+
grid-template-columns: repeat(2, auto 1fr);
|
|
14595
|
+
}
|
|
14596
|
+
.pa-desc-table--fixed {
|
|
14597
|
+
grid-template-columns: repeat(3, minmax(0, var(--label-width, 14rem)) minmax(0, 1fr));
|
|
14598
|
+
}
|
|
14599
|
+
.pa-desc-table--fixed.pa-desc-table--cols-2 {
|
|
14600
|
+
grid-template-columns: repeat(2, minmax(0, var(--label-width, 14rem)) minmax(0, 1fr));
|
|
14601
|
+
}
|
|
14602
|
+
.pa-desc-table__label, .pa-desc-table__value {
|
|
14603
|
+
padding: 1.2rem 1.6rem;
|
|
14604
|
+
border-bottom: 1px solid var(--pa-border-color);
|
|
14605
|
+
font-size: 1.4rem;
|
|
14606
|
+
line-height: 1.5;
|
|
14607
|
+
}
|
|
14608
|
+
.pa-desc-table__label {
|
|
14609
|
+
background: rgba(128, 128, 128, 0.06);
|
|
14610
|
+
color: var(--pa-text-color-2);
|
|
14611
|
+
font-weight: 400;
|
|
14612
|
+
white-space: nowrap;
|
|
14613
|
+
border-inline-end: 1px solid var(--pa-border-color);
|
|
14614
|
+
}
|
|
14615
|
+
.pa-desc-table__label::after {
|
|
14616
|
+
content: ":";
|
|
14617
|
+
margin-inline-start: 2px;
|
|
14618
|
+
}
|
|
14619
|
+
.pa-desc-table__value {
|
|
14620
|
+
color: var(--pa-text-color-1);
|
|
14621
|
+
font-weight: 500;
|
|
14622
|
+
border-inline-end: 1px solid var(--pa-border-color);
|
|
14623
|
+
min-width: 0;
|
|
14624
|
+
}
|
|
14625
|
+
.pa-desc-table__value--full {
|
|
14626
|
+
grid-column: 2/-1;
|
|
14627
|
+
}
|
|
14628
|
+
.pa-desc-table--middle .pa-desc-table__label, .pa-desc-table--middle .pa-desc-table__value {
|
|
14629
|
+
display: flex;
|
|
14630
|
+
align-items: center;
|
|
14631
|
+
}
|
|
14632
|
+
.pa-desc-table--label-end .pa-desc-table__label {
|
|
14633
|
+
text-align: end;
|
|
14634
|
+
justify-content: flex-end;
|
|
14635
|
+
}
|
|
14636
|
+
.pa-desc-table--label-center .pa-desc-table__label {
|
|
14637
|
+
text-align: center;
|
|
14638
|
+
justify-content: center;
|
|
14639
|
+
}
|
|
14640
|
+
.pa-desc-table--truncate .pa-desc-table__label, .pa-desc-table--truncate .pa-desc-table__value {
|
|
14641
|
+
overflow: hidden;
|
|
14642
|
+
text-overflow: ellipsis;
|
|
14643
|
+
white-space: nowrap;
|
|
14644
|
+
}
|
|
14645
|
+
@container (max-width: 768px) {
|
|
14646
|
+
.pa-desc-table, .pa-desc-table--cols-2 {
|
|
14647
|
+
grid-template-columns: auto 1fr;
|
|
14648
|
+
}
|
|
14649
|
+
.pa-desc-table--fixed, .pa-desc-table--fixed.pa-desc-table--cols-2 {
|
|
14650
|
+
grid-template-columns: minmax(0, var(--label-width, 14rem)) minmax(0, 1fr);
|
|
14651
|
+
}
|
|
14652
|
+
.pa-desc-table .pa-desc-table__value--full {
|
|
14653
|
+
grid-column: 2;
|
|
14654
|
+
}
|
|
14655
|
+
}
|
|
14656
|
+
@media (max-width: 768px) {
|
|
14657
|
+
.pa-desc-table, .pa-desc-table--cols-2 {
|
|
14658
|
+
grid-template-columns: auto 1fr;
|
|
14659
|
+
}
|
|
14660
|
+
.pa-desc-table--fixed, .pa-desc-table--fixed.pa-desc-table--cols-2 {
|
|
14661
|
+
grid-template-columns: minmax(0, var(--label-width, 14rem)) minmax(0, 1fr);
|
|
14662
|
+
}
|
|
14663
|
+
.pa-desc-table .pa-desc-table__value--full {
|
|
14664
|
+
grid-column: 2;
|
|
14665
|
+
}
|
|
14666
|
+
}
|
|
14667
|
+
|
|
14668
|
+
.pa-dot-leaders {
|
|
14669
|
+
display: flex;
|
|
14670
|
+
flex-direction: column;
|
|
14671
|
+
gap: 0;
|
|
14672
|
+
}
|
|
14673
|
+
.pa-dot-leaders__item {
|
|
14674
|
+
display: flex;
|
|
14675
|
+
align-items: baseline;
|
|
14676
|
+
padding: 0.6rem 0;
|
|
14677
|
+
}
|
|
14678
|
+
.pa-dot-leaders__item--total {
|
|
14679
|
+
margin-top: 0.4rem;
|
|
14680
|
+
padding-top: 0.8rem;
|
|
14681
|
+
border-top: 2px solid var(--pa-text-color-1);
|
|
14682
|
+
}
|
|
14683
|
+
.pa-dot-leaders__label {
|
|
14684
|
+
font-size: 1.4rem;
|
|
14685
|
+
font-weight: 500;
|
|
14686
|
+
color: var(--pa-text-color-2);
|
|
14687
|
+
white-space: nowrap;
|
|
14688
|
+
flex-shrink: 0;
|
|
14689
|
+
}
|
|
14690
|
+
.pa-dot-leaders__leader {
|
|
14691
|
+
flex: 1;
|
|
14692
|
+
border-bottom: 2px dotted var(--pa-border-color);
|
|
14693
|
+
margin: 0 0.8rem;
|
|
14694
|
+
margin-bottom: 0.25em;
|
|
14695
|
+
min-width: 2rem;
|
|
14696
|
+
}
|
|
14697
|
+
.pa-dot-leaders__value {
|
|
14698
|
+
font-size: 1.4rem;
|
|
14699
|
+
font-weight: 600;
|
|
14700
|
+
color: var(--pa-text-color-1);
|
|
14701
|
+
white-space: nowrap;
|
|
14702
|
+
text-align: end;
|
|
14703
|
+
font-variant-numeric: tabular-nums;
|
|
14704
|
+
}
|
|
14705
|
+
.pa-dot-leaders__item--total .pa-dot-leaders__label {
|
|
14706
|
+
font-weight: 700;
|
|
14707
|
+
color: var(--pa-text-color-1);
|
|
14708
|
+
}
|
|
14709
|
+
.pa-dot-leaders__item--total .pa-dot-leaders__value {
|
|
14710
|
+
font-size: 1.6rem;
|
|
14711
|
+
font-weight: 700;
|
|
14712
|
+
}
|
|
14713
|
+
|
|
14714
|
+
.pa-prop-card {
|
|
14715
|
+
border: 1px solid var(--pa-border-color);
|
|
14716
|
+
border-radius: 6px;
|
|
14717
|
+
overflow: hidden;
|
|
14718
|
+
}
|
|
14719
|
+
.pa-prop-card__header {
|
|
14720
|
+
padding: 1rem 1.6rem;
|
|
14721
|
+
font-weight: 600;
|
|
14722
|
+
font-size: 1.3rem;
|
|
14723
|
+
text-transform: uppercase;
|
|
14724
|
+
letter-spacing: 0.04em;
|
|
14725
|
+
color: var(--pa-text-color-2);
|
|
14726
|
+
background: rgba(128, 128, 128, 0.04);
|
|
14727
|
+
border-bottom: 1px solid var(--pa-border-color);
|
|
14728
|
+
}
|
|
14729
|
+
.pa-prop-card__row {
|
|
14730
|
+
display: flex;
|
|
14731
|
+
justify-content: space-between;
|
|
14732
|
+
align-items: center;
|
|
14733
|
+
padding: 1rem 1.6rem;
|
|
14734
|
+
border-bottom: 1px solid rgba(128, 128, 128, 0.08);
|
|
14735
|
+
font-size: 1.4rem;
|
|
14736
|
+
gap: 1.6rem;
|
|
14737
|
+
}
|
|
14738
|
+
.pa-prop-card__row:last-child {
|
|
14739
|
+
border-bottom: none;
|
|
14740
|
+
}
|
|
14741
|
+
.pa-prop-card__label {
|
|
14742
|
+
color: var(--pa-text-color-2);
|
|
14743
|
+
font-weight: 400;
|
|
14744
|
+
flex-shrink: 0;
|
|
14745
|
+
}
|
|
14746
|
+
.pa-prop-card__value {
|
|
14747
|
+
color: var(--pa-text-color-1);
|
|
14748
|
+
font-weight: 500;
|
|
14749
|
+
text-align: end;
|
|
14750
|
+
overflow-wrap: anywhere;
|
|
14751
|
+
}
|
|
14752
|
+
.pa-prop-card__value--bold {
|
|
14753
|
+
font-weight: 700;
|
|
14754
|
+
}
|
|
14755
|
+
|
|
14756
|
+
.pa-banded-container {
|
|
14757
|
+
container-type: inline-size;
|
|
14758
|
+
}
|
|
14759
|
+
|
|
14760
|
+
.pa-banded {
|
|
14761
|
+
border: 1px solid var(--pa-border-color);
|
|
14762
|
+
border-radius: 4px;
|
|
14763
|
+
overflow: hidden;
|
|
14764
|
+
}
|
|
14765
|
+
.pa-banded__row {
|
|
14766
|
+
display: flex;
|
|
14767
|
+
border-bottom: 1px solid var(--pa-border-color);
|
|
14768
|
+
font-size: 1.4rem;
|
|
14769
|
+
align-items: stretch;
|
|
14770
|
+
}
|
|
14771
|
+
.pa-banded__row:last-child {
|
|
14772
|
+
border-bottom: none;
|
|
14773
|
+
}
|
|
14774
|
+
.pa-banded__label {
|
|
14775
|
+
flex: 0 0 auto;
|
|
14776
|
+
width: 14rem;
|
|
14777
|
+
padding: 0.8rem 1.2rem;
|
|
14778
|
+
background: rgba(128, 128, 128, 0.06);
|
|
14779
|
+
color: var(--pa-text-color-2);
|
|
14780
|
+
font-weight: 500;
|
|
14781
|
+
border-inline-end: 1px solid var(--pa-border-color);
|
|
14782
|
+
display: flex;
|
|
14783
|
+
align-items: flex-start;
|
|
14784
|
+
}
|
|
14785
|
+
.pa-banded__value {
|
|
14786
|
+
flex: 1;
|
|
14787
|
+
padding: 0.8rem 1.2rem;
|
|
14788
|
+
color: var(--pa-text-color-1);
|
|
14789
|
+
font-weight: 400;
|
|
14790
|
+
display: flex;
|
|
14791
|
+
align-items: flex-start;
|
|
14792
|
+
overflow-wrap: anywhere;
|
|
14793
|
+
min-width: 0;
|
|
14794
|
+
}
|
|
14795
|
+
.pa-banded--narrow .pa-banded__label {
|
|
14796
|
+
width: 10rem;
|
|
14797
|
+
}
|
|
14798
|
+
.pa-banded--wide .pa-banded__label {
|
|
14799
|
+
width: 20rem;
|
|
14800
|
+
}
|
|
14801
|
+
.pa-banded--middle .pa-banded__label, .pa-banded--middle .pa-banded__value {
|
|
14802
|
+
align-items: center;
|
|
14803
|
+
}
|
|
14804
|
+
.pa-banded--label-end .pa-banded__label {
|
|
14805
|
+
justify-content: flex-end;
|
|
14806
|
+
}
|
|
14807
|
+
.pa-banded--label-center .pa-banded__label {
|
|
14808
|
+
justify-content: center;
|
|
14809
|
+
}
|
|
14810
|
+
.pa-banded--truncate .pa-banded__label, .pa-banded--truncate .pa-banded__value {
|
|
14811
|
+
overflow: hidden;
|
|
14812
|
+
text-overflow: ellipsis;
|
|
14813
|
+
white-space: nowrap;
|
|
14814
|
+
}
|
|
14815
|
+
@container (max-width: 768px) {
|
|
14816
|
+
.pa-banded__row {
|
|
14817
|
+
flex-direction: column;
|
|
14818
|
+
}
|
|
14819
|
+
.pa-banded .pa-banded__label {
|
|
14820
|
+
width: auto !important;
|
|
14821
|
+
border-inline-end: none;
|
|
14822
|
+
border-bottom: 1px solid var(--pa-border-color);
|
|
14823
|
+
}
|
|
14824
|
+
.pa-banded .pa-banded__label, .pa-banded .pa-banded__value {
|
|
14825
|
+
display: block;
|
|
14826
|
+
}
|
|
14827
|
+
}
|
|
14828
|
+
@media (max-width: 768px) {
|
|
14829
|
+
.pa-banded__row {
|
|
14830
|
+
flex-direction: column;
|
|
14831
|
+
}
|
|
14832
|
+
.pa-banded .pa-banded__label {
|
|
14833
|
+
width: auto !important;
|
|
14834
|
+
border-inline-end: none;
|
|
14835
|
+
border-bottom: 1px solid var(--pa-border-color);
|
|
14836
|
+
}
|
|
14837
|
+
.pa-banded .pa-banded__label, .pa-banded .pa-banded__value {
|
|
14838
|
+
display: block;
|
|
14839
|
+
}
|
|
14840
|
+
}
|
|
14841
|
+
|
|
14842
|
+
.pa-accent-grid {
|
|
14843
|
+
display: grid;
|
|
14844
|
+
grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
|
|
14845
|
+
gap: 0.8rem;
|
|
14846
|
+
}
|
|
14847
|
+
.pa-accent-grid__item {
|
|
14848
|
+
padding: 0.8rem 1.2rem;
|
|
14849
|
+
padding-inline-start: 1.4rem;
|
|
14850
|
+
border-inline-start: 3px solid var(--pa-accent, #3b82f6);
|
|
14851
|
+
}
|
|
14852
|
+
.pa-accent-grid__item--success {
|
|
14853
|
+
border-inline-start-color: var(--pa-success-color, #28a745);
|
|
14854
|
+
}
|
|
14855
|
+
.pa-accent-grid__item--warning {
|
|
14856
|
+
border-inline-start-color: var(--pa-warning-color, #e68a00);
|
|
14857
|
+
}
|
|
14858
|
+
.pa-accent-grid__item--danger {
|
|
14859
|
+
border-inline-start-color: var(--pa-danger-color, #dc3545);
|
|
14860
|
+
}
|
|
14861
|
+
.pa-accent-grid__item--info {
|
|
14862
|
+
border-inline-start-color: var(--pa-info-color, #17a2b8);
|
|
14863
|
+
}
|
|
14864
|
+
.pa-accent-grid__label {
|
|
14865
|
+
font-size: 1.1rem;
|
|
14866
|
+
font-weight: 500;
|
|
14867
|
+
color: var(--pa-text-color-2);
|
|
14868
|
+
margin-bottom: 0.2rem;
|
|
14869
|
+
text-transform: uppercase;
|
|
14870
|
+
letter-spacing: 0.03em;
|
|
14871
|
+
}
|
|
14872
|
+
.pa-accent-grid__value {
|
|
14873
|
+
font-size: 1.5rem;
|
|
14874
|
+
font-weight: 600;
|
|
14875
|
+
color: var(--pa-text-color-1);
|
|
14876
|
+
line-height: 1.2;
|
|
14877
|
+
}
|
|
14447
14878
|
|
|
14448
14879
|
/* ========================================
|
|
14449
14880
|
Utility Components
|
package/package.json
CHANGED
|
@@ -254,6 +254,29 @@
|
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
256
|
|
|
257
|
+
// Ghost card - invisible container, same spacing/sizing behavior
|
|
258
|
+
// Uses !important to beat dark-mode scoped overrides like
|
|
259
|
+
// `.pa-mode-dark .pa-card { box-shadow: ... }` which have (0,2,0) specificity
|
|
260
|
+
&--ghost {
|
|
261
|
+
background: transparent !important;
|
|
262
|
+
border: none !important;
|
|
263
|
+
box-shadow: none !important;
|
|
264
|
+
|
|
265
|
+
&:hover {
|
|
266
|
+
box-shadow: none !important;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.pa-card__header {
|
|
270
|
+
background: transparent !important;
|
|
271
|
+
border-bottom: none !important;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.pa-card__footer {
|
|
275
|
+
background: transparent !important;
|
|
276
|
+
border-top: none !important;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
257
280
|
// Theme color variants (color-1 through color-9)
|
|
258
281
|
// These use theme-customizable colors from --pa-color-* CSS variables
|
|
259
282
|
@for $i from 1 through 9 {
|