@posiwise/core-styles 1.0.17 → 1.0.19
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/package.json
CHANGED
|
@@ -421,15 +421,20 @@
|
|
|
421
421
|
}
|
|
422
422
|
}
|
|
423
423
|
|
|
424
|
-
// Collapsed Action column (Linear/Notion pattern, codified 2026-05-21
|
|
425
|
-
//
|
|
426
|
-
//
|
|
427
|
-
//
|
|
428
|
-
//
|
|
424
|
+
// Collapsed Action column (Linear/Notion pattern, codified 2026-05-21;
|
|
425
|
+
// made OPT-IN 2026-05-22). The platform DEFAULT is the classic, always-
|
|
426
|
+
// visible inline icon strip (pre-2026-05-21 behaviour) — it needs no rules
|
|
427
|
+
// here, it's just the natural table rendering plus the `.actions-list-*`
|
|
428
|
+
// min-widths below. A view OPTS IN to this collapsed/hover-float treatment
|
|
429
|
+
// by adding `.actions-collapsed` to its `.primeng-datatable-container`.
|
|
430
|
+
// When opted in, the Action column reserves no horizontal space at rest —
|
|
431
|
+
// header text is hidden, th + td collapse to 0 width, and the <ul> floats
|
|
432
|
+
// over the row's right edge on row hover. Soft 80ms exit delay so quick
|
|
433
|
+
// row-to-row mouse movements don't flicker the strip in/out.
|
|
429
434
|
//
|
|
430
435
|
// Covers all `actions-list-{two,three,four}` variants. Per-view local
|
|
431
436
|
// SCSS should NOT redeclare this — pattern lives in `admin-list-view.md`.
|
|
432
|
-
.primeng-datatable-container {
|
|
437
|
+
.primeng-datatable-container.actions-collapsed {
|
|
433
438
|
th[class*='actions-list-'],
|
|
434
439
|
td[data-head='Action'] {
|
|
435
440
|
width: 0 !important;
|
|
@@ -446,6 +451,19 @@
|
|
|
446
451
|
// header bar. (Updated 2026-05-21 — prior transparent bg
|
|
447
452
|
// produced a visible gap after DELETED in admin lists.)
|
|
448
453
|
border-color: transparent !important;
|
|
454
|
+
// Clip the (now hidden) header label. The font-size:0 above is
|
|
455
|
+
// routinely defeated by a per-view `th { font-size: 11px !important }`
|
|
456
|
+
// override (admin density tables), so the transparent "Actions"
|
|
457
|
+
// text still lays out ~53px wide and spills out of this 0-width
|
|
458
|
+
// cell — producing a phantom horizontal scroll on
|
|
459
|
+
// .p-datatable-table-container even when every column already fits
|
|
460
|
+
// (the residual scroll then also induces a small vertical one).
|
|
461
|
+
// Clipping here guarantees the collapsed header contributes zero
|
|
462
|
+
// width regardless of any font-size override. The body
|
|
463
|
+
// td[data-head='Action'] deliberately keeps overflow:visible (its
|
|
464
|
+
// floating action <ul> must escape the cell) — only the header is
|
|
465
|
+
// clipped. (Added 2026-05-22.)
|
|
466
|
+
overflow: hidden !important;
|
|
449
467
|
}
|
|
450
468
|
|
|
451
469
|
td[data-head='Action'] {
|
|
@@ -548,6 +566,46 @@
|
|
|
548
566
|
}
|
|
549
567
|
}
|
|
550
568
|
|
|
569
|
+
// Touch fallback (AI52) — devices with no hover capability never fire
|
|
570
|
+
// tr:hover, so the collapsed/floating action strip above stays invisible
|
|
571
|
+
// and Edit/Delete become unreachable. On no-hover pointers, un-collapse
|
|
572
|
+
// the Action column and render the icon strip INLINE (static, always
|
|
573
|
+
// visible) so the actions are tappable. The strip is no longer a floating
|
|
574
|
+
// overlay here, so it doesn't cover row content. The table already scrolls
|
|
575
|
+
// horizontally below 1200px (admin-list-view.md T-7), so the reserved
|
|
576
|
+
// column width simply joins that scroll. Codified 2026-05-21.
|
|
577
|
+
@media (hover: none) {
|
|
578
|
+
.primeng-datatable-container.actions-collapsed {
|
|
579
|
+
th[class*='actions-list-'],
|
|
580
|
+
td[data-head='Action'],
|
|
581
|
+
td[data-head='Action'][data-head],
|
|
582
|
+
th[class*='actions-list-'][class*='actions-list-'] {
|
|
583
|
+
width: auto !important;
|
|
584
|
+
min-width: auto !important;
|
|
585
|
+
max-width: none !important;
|
|
586
|
+
padding: 6px 10px !important;
|
|
587
|
+
border-width: 1px !important;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
td[data-head='Action'] ul {
|
|
591
|
+
position: static;
|
|
592
|
+
opacity: 1;
|
|
593
|
+
transform: none;
|
|
594
|
+
background: transparent;
|
|
595
|
+
box-shadow: none;
|
|
596
|
+
border-radius: 0;
|
|
597
|
+
padding: 0 !important;
|
|
598
|
+
// keep icons on one line; the table scroller handles overflow
|
|
599
|
+
flex-wrap: nowrap;
|
|
600
|
+
white-space: nowrap;
|
|
601
|
+
// the ul stretches full-width in the stacked cell, so right-pack
|
|
602
|
+
// its icons to line up with the value column (the data-head
|
|
603
|
+
// label sits left).
|
|
604
|
+
justify-content: flex-end;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
551
609
|
// Active-sort column background: PrimeNG's preset uses its own
|
|
552
610
|
// hardcoded primary; bind it to --first so the sorted column tracks
|
|
553
611
|
// the tenant accent (consistent with .p-datatable-thead default bg).
|
|
@@ -630,6 +688,20 @@
|
|
|
630
688
|
}
|
|
631
689
|
}
|
|
632
690
|
|
|
691
|
+
// Warning categorical ramp — mirrors the blue-grey ramp above. The bare
|
|
692
|
+
// `.bg-warning` flat rule stays the semantic amber (Unsub, status chips);
|
|
693
|
+
// only the indexed `bg-warning-N` variants that appDynamicBadge emits for
|
|
694
|
+
// multi-value columns (e.g. product Category, app versions) get a distinct
|
|
695
|
+
// calm tint per value. Without this, the flat `[class*='bg-warning']` rule
|
|
696
|
+
// collapses every distinct value to one fill platform-wide — the regression
|
|
697
|
+
// the dense restyle introduced for warning-family categorical badges.
|
|
698
|
+
@for $i from 1 through 24 {
|
|
699
|
+
.primeng-datatable-container .badge.bg-warning-#{$i} {
|
|
700
|
+
background-color: hsl($i * 15, 18%, 92%) !important;
|
|
701
|
+
color: hsl($i * 15, 32%, 35%) !important;
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
|
|
633
705
|
// Shape dot per B-2 — accessibility beyond colour alone.
|
|
634
706
|
.primeng-datatable-container .badge[class*='bg-success']::before,
|
|
635
707
|
.primeng-datatable-container .badge[class*='bg-danger']::before,
|
|
@@ -750,6 +822,14 @@
|
|
|
750
822
|
|
|
751
823
|
> div {
|
|
752
824
|
flex: 1 1 auto;
|
|
825
|
+
// Zero the intrinsic Bootstrap .col gutter padding (~5px) that
|
|
826
|
+
// surfaces only in the stacked mobile layout. The dropdowns sit
|
|
827
|
+
// in `.col-*` (padded) while the search box sits in a bare
|
|
828
|
+
// `.text-end` (no padding), so without this they render at
|
|
829
|
+
// different widths and misalign. Edge-align all three at full
|
|
830
|
+
// width instead.
|
|
831
|
+
padding-left: 0;
|
|
832
|
+
padding-right: 0;
|
|
753
833
|
}
|
|
754
834
|
}
|
|
755
835
|
}
|
|
@@ -54,6 +54,17 @@ button:hover {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
// Date-picker / input-group trailing toggle: match the platform's 36px input
|
|
58
|
+
// height so the calendar trigger stays flush with the adjacent .form-control.
|
|
59
|
+
// (_dynamic-styles colours `.input-group-append .btn` brand-blue but never sizes
|
|
60
|
+
// it, so the button rendered shorter than the input.)
|
|
61
|
+
.input-group-append .btn {
|
|
62
|
+
min-height: 36px;
|
|
63
|
+
display: inline-flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
}
|
|
67
|
+
|
|
57
68
|
.btn-group,
|
|
58
69
|
.input-group {
|
|
59
70
|
span {
|
|
@@ -5129,6 +5129,18 @@ body {
|
|
|
5129
5129
|
margin: 15px 0;
|
|
5130
5130
|
padding: 5px;
|
|
5131
5131
|
|
|
5132
|
+
// Kill the trackpad rubber-band overscroll on the horizontal table
|
|
5133
|
+
// scrollers. With the default `auto`, scrolling a wide table to its right
|
|
5134
|
+
// edge lets you push a few px further and bounce back — reads as a "wiggle".
|
|
5135
|
+
// `none` suppresses the overscroll affordance entirely (`contain` would only
|
|
5136
|
+
// stop scroll-chaining, keeping the local bounce). Applies to the outer
|
|
5137
|
+
// `.table-responsive` (narrow viewports) and PrimeNG's inner
|
|
5138
|
+
// `.p-datatable-table-container` (the real scroller on wide views).
|
|
5139
|
+
&,
|
|
5140
|
+
.p-datatable-table-container {
|
|
5141
|
+
overscroll-behavior-x: none;
|
|
5142
|
+
}
|
|
5143
|
+
|
|
5132
5144
|
// Used across CRM/Admin tables for MRR + totals cells
|
|
5133
5145
|
.expected-mrr,
|
|
5134
5146
|
.mrr-header {
|
|
@@ -5196,11 +5208,12 @@ body {
|
|
|
5196
5208
|
}
|
|
5197
5209
|
|
|
5198
5210
|
// Apply the right-corner radius to whichever cell visually sits at the
|
|
5199
|
-
// right edge
|
|
5200
|
-
// the
|
|
5201
|
-
//
|
|
5211
|
+
// right edge. In the default (classic) mode the action <th> is visible and
|
|
5212
|
+
// IS the last child, so `th:last-child` rounds it. Only when a view opts in
|
|
5213
|
+
// to `.actions-collapsed` (last <th> collapsed to 0px) does the visible right
|
|
5214
|
+
// edge become the previous header cell — round that one then.
|
|
5202
5215
|
.primeng-datatable-container table thead tr:first-child th:last-child,
|
|
5203
|
-
.primeng-datatable-container
|
|
5216
|
+
.primeng-datatable-container.actions-collapsed
|
|
5204
5217
|
table
|
|
5205
5218
|
thead
|
|
5206
5219
|
tr:first-child
|