@keenmate/pure-admin-core 2.0.2 → 2.1.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 +65 -9
- package/dist/css/main.css +311 -85
- package/package.json +6 -4
- package/scripts/download-themes.js +351 -0
- package/scripts/pack-theme.js +2 -2
- package/snippets/badges.html +4 -4
- package/snippets/buttons.html +64 -0
- package/snippets/tooltips.html +36 -36
- package/src/scss/_core.scss +3 -0
- package/src/scss/_fonts.scss +36 -36
- package/src/scss/core-components/_buttons.scss +97 -0
- package/src/scss/core-components/_cards.scss +13 -3
- package/src/scss/core-components/_data-display.scss +35 -2
- package/src/scss/core-components/_filter-card.scss +58 -0
- package/src/scss/core-components/_tables.scss +4 -0
- package/src/scss/core-components/_timeline.scss +2 -2
- package/src/scss/core-components/_tooltips.scss +110 -54
- package/src/scss/core-components/_utilities.scss +362 -362
- package/src/scss/core-components/badges/_badge-base.scss +14 -3
- package/src/scss/core-components/layout/_sidebar.scss +2 -2
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2.1 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2.2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2.1 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2.2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8bH-o.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8bH-o.woff2.1 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2.1 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2.2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvtE2H68T.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvtU2Hw.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvtY2H68T.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvtg2H68T.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvto2H68T.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvts2H68T.woff2 +0 -0
- package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nejog.woff2 +0 -0
- package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nijogp5.woff2 +0 -0
- package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nmjogp5.woff2 +0 -0
- package/dist/fonts/google/PN_xRfK9oXHga0XdZ8g_vT0.woff2 +0 -0
- package/dist/fonts/google/PN_xRfK9oXHga0XdZsg_.woff2 +0 -0
- package/dist/fonts/google/PN_xRfK9oXHga0XdaMg_vT0.woff2 +0 -0
- package/dist/fonts/google/TK3tWkYFABsmjsphPho.woff2 +0 -0
- package/dist/fonts/google/TK3tWkYFABsmjspuPho7vA.woff2 +0 -0
- package/dist/fonts/google/TK3tWkYFABsmjspvPho7vA.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjTYJwQj.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjXYJwQj.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6Vj_YJwQj.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjbYJwQj.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjvYJw.woff2 +0 -0
- package/dist/fonts/google/fonts-tracklist.txt +0 -48
- package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbBjM4.woff2 +0 -0
- package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbOjM7sfA.woff2 +0 -0
- package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbPjM7sfA.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfLtrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfXtrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfbtrQ.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfjtrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfntrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfrtrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfvtrftV.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_B-bnBeA.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_C-bk.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_G-bnBeA.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_M-bnBeA.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_N-bnBeA.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_P-bnBeA.woff2 +0 -0
package/src/scss/_core.scss
CHANGED
package/src/scss/_fonts.scss
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
/* Pure Admin Visual Framework - Default Font Definitions */
|
|
2
|
-
|
|
3
|
-
// Default framework fonts - themes can override these
|
|
4
|
-
// Note: Font size classes for <html> are in _utilities.scss (use px values for correct rem scaling)
|
|
5
|
-
|
|
6
|
-
// Font family classes with system defaults
|
|
7
|
-
.font-family-system {
|
|
8
|
-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
9
|
-
|
|
10
|
-
*, h1, h2, h3, h4, h5, h6, p, div, span, button, input, textarea, select {
|
|
11
|
-
font-family: inherit;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.font-family-sans {
|
|
16
|
-
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
17
|
-
|
|
18
|
-
*, h1, h2, h3, h4, h5, h6, p, div, span, button, input, textarea, select {
|
|
19
|
-
font-family: inherit;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.font-family-serif {
|
|
24
|
-
font-family: Georgia, "Times New Roman", Times, serif;
|
|
25
|
-
|
|
26
|
-
*, h1, h2, h3, h4, h5, h6, p, div, span, button, input, textarea, select {
|
|
27
|
-
font-family: inherit;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.font-family-mono {
|
|
32
|
-
font-family: "Courier New", Courier, monospace;
|
|
33
|
-
|
|
34
|
-
*, h1, h2, h3, h4, h5, h6, p, div, span, button, input, textarea, select {
|
|
35
|
-
font-family: inherit;
|
|
36
|
-
}
|
|
1
|
+
/* Pure Admin Visual Framework - Default Font Definitions */
|
|
2
|
+
|
|
3
|
+
// Default framework fonts - themes can override these
|
|
4
|
+
// Note: Font size classes for <html> are in _utilities.scss (use px values for correct rem scaling)
|
|
5
|
+
|
|
6
|
+
// Font family classes with system defaults
|
|
7
|
+
.font-family-system {
|
|
8
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
9
|
+
|
|
10
|
+
*, h1, h2, h3, h4, h5, h6, p, div, span, button, input, textarea, select {
|
|
11
|
+
font-family: inherit;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.font-family-sans {
|
|
16
|
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
17
|
+
|
|
18
|
+
*, h1, h2, h3, h4, h5, h6, p, div, span, button, input, textarea, select {
|
|
19
|
+
font-family: inherit;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.font-family-serif {
|
|
24
|
+
font-family: Georgia, "Times New Roman", Times, serif;
|
|
25
|
+
|
|
26
|
+
*, h1, h2, h3, h4, h5, h6, p, div, span, button, input, textarea, select {
|
|
27
|
+
font-family: inherit;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.font-family-mono {
|
|
32
|
+
font-family: "Courier New", Courier, monospace;
|
|
33
|
+
|
|
34
|
+
*, h1, h2, h3, h4, h5, h6, p, div, span, button, input, textarea, select {
|
|
35
|
+
font-family: inherit;
|
|
36
|
+
}
|
|
37
37
|
}
|
|
@@ -423,5 +423,102 @@
|
|
|
423
423
|
position: relative;
|
|
424
424
|
z-index: $z-index-modal;
|
|
425
425
|
}
|
|
426
|
+
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// === Split Button (primary action + dropdown toggle) ===
|
|
430
|
+
.pa-btn-split {
|
|
431
|
+
position: relative;
|
|
432
|
+
display: inline-flex;
|
|
433
|
+
|
|
434
|
+
// RTL: reverse order so toggle is on inline-start side
|
|
435
|
+
[dir="rtl"] & {
|
|
436
|
+
flex-direction: row-reverse;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
// Joined buttons with no gap
|
|
440
|
+
.pa-btn {
|
|
441
|
+
border-radius: 0;
|
|
442
|
+
|
|
443
|
+
&:first-child {
|
|
444
|
+
border-start-start-radius: $border-radius;
|
|
445
|
+
border-end-start-radius: $border-radius;
|
|
446
|
+
border-inline-end: none;
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// Toggle button (chevron) - fixed square width
|
|
451
|
+
&__toggle {
|
|
452
|
+
border-start-end-radius: $border-radius;
|
|
453
|
+
border-end-end-radius: $border-radius;
|
|
454
|
+
border-inline-start: $border-width-base solid rgba(255, 255, 255, 0.25);
|
|
455
|
+
border-inline-end: none;
|
|
456
|
+
padding-inline: 0;
|
|
457
|
+
display: inline-flex;
|
|
458
|
+
align-items: center;
|
|
459
|
+
justify-content: center;
|
|
460
|
+
width: $btn-height-base;
|
|
461
|
+
min-width: $btn-height-base;
|
|
462
|
+
|
|
463
|
+
&.pa-btn--xs { width: $btn-height-xs; min-width: $btn-height-xs; }
|
|
464
|
+
&.pa-btn--sm { width: $btn-height-sm; min-width: $btn-height-sm; }
|
|
465
|
+
&.pa-btn--lg { width: $btn-height-lg; min-width: $btn-height-lg; }
|
|
466
|
+
&.pa-btn--xl { width: $btn-height-xl; min-width: $btn-height-xl; }
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
// Chevron icon - opt-in rotation on open
|
|
470
|
+
&__chevron {
|
|
471
|
+
transition: transform $transition-fast $easing-snappy;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
&--open &__chevron {
|
|
475
|
+
transform: rotate(180deg);
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
// Dropdown menu (moved to body and positioned by Floating UI)
|
|
479
|
+
&__menu {
|
|
480
|
+
display: none;
|
|
481
|
+
position: fixed;
|
|
482
|
+
top: 0;
|
|
483
|
+
left: 0;
|
|
484
|
+
width: max-content;
|
|
485
|
+
background: var(--pa-card-bg);
|
|
486
|
+
border: $border-width-base solid var(--pa-border-color);
|
|
487
|
+
border-radius: $border-radius;
|
|
488
|
+
box-shadow: $shadow-2xl;
|
|
489
|
+
z-index: $z-index-dropdown;
|
|
490
|
+
padding: $spacing-xs 0;
|
|
491
|
+
|
|
492
|
+
&--open {
|
|
493
|
+
display: block;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
// Menu items
|
|
498
|
+
&__item {
|
|
499
|
+
display: block;
|
|
500
|
+
width: 100%;
|
|
501
|
+
padding: $spacing-sm $spacing-base;
|
|
502
|
+
border: none;
|
|
503
|
+
background: none;
|
|
504
|
+
text-align: start;
|
|
505
|
+
font-size: $font-size-sm;
|
|
506
|
+
color: var(--pa-text-color);
|
|
507
|
+
cursor: pointer;
|
|
508
|
+
white-space: nowrap;
|
|
509
|
+
|
|
510
|
+
&:hover {
|
|
511
|
+
background-color: var(--pa-accent-hover);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
&--danger {
|
|
515
|
+
color: var(--pa-btn-danger-bg);
|
|
516
|
+
|
|
517
|
+
&:hover {
|
|
518
|
+
background-color: var(--pa-btn-danger-bg);
|
|
519
|
+
color: var(--pa-btn-danger-text);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
}
|
|
426
523
|
}
|
|
427
524
|
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
transition: box-shadow $transition-fast $easing-snappy;
|
|
15
15
|
display: flex;
|
|
16
16
|
flex-direction: column;
|
|
17
|
+
overflow: hidden;
|
|
17
18
|
|
|
18
19
|
&:hover {
|
|
19
20
|
box-shadow: $shadow-lg;
|
|
@@ -64,14 +65,17 @@
|
|
|
64
65
|
font-size: $font-size-base;
|
|
65
66
|
}
|
|
66
67
|
|
|
67
|
-
// Direct heading children -
|
|
68
|
+
// Direct heading children - truncate when card is narrow
|
|
68
69
|
> h1,
|
|
69
70
|
> h2,
|
|
70
71
|
> h3,
|
|
71
72
|
> h4,
|
|
72
73
|
> h5,
|
|
73
74
|
> h6 {
|
|
74
|
-
|
|
75
|
+
min-width: 0;
|
|
76
|
+
overflow: hidden;
|
|
77
|
+
text-overflow: ellipsis;
|
|
78
|
+
white-space: nowrap;
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
// Description paragraphs - flexible middle, truncate with ellipsis
|
|
@@ -155,10 +159,16 @@
|
|
|
155
159
|
}
|
|
156
160
|
}
|
|
157
161
|
|
|
158
|
-
// Wrap modifier - allow description to wrap
|
|
162
|
+
// Wrap modifier - allow heading and description to wrap instead of truncating
|
|
159
163
|
&--wrap {
|
|
160
164
|
flex-wrap: wrap;
|
|
161
165
|
|
|
166
|
+
> h1, > h2, > h3, > h4, > h5, > h6 {
|
|
167
|
+
white-space: normal;
|
|
168
|
+
overflow: visible;
|
|
169
|
+
text-overflow: clip;
|
|
170
|
+
}
|
|
171
|
+
|
|
162
172
|
> p {
|
|
163
173
|
white-space: normal;
|
|
164
174
|
flex-basis: 100%;
|
|
@@ -556,6 +556,15 @@
|
|
|
556
556
|
justify-content: center; // when --middle makes it flex
|
|
557
557
|
}
|
|
558
558
|
|
|
559
|
+
// Value horizontal alignment
|
|
560
|
+
&--value-end &__value {
|
|
561
|
+
text-align: end;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
&--value-center &__value {
|
|
565
|
+
text-align: center;
|
|
566
|
+
}
|
|
567
|
+
|
|
559
568
|
// Truncate: single-line ellipsis on labels and values
|
|
560
569
|
&--truncate &__label,
|
|
561
570
|
&--truncate &__value {
|
|
@@ -581,6 +590,26 @@
|
|
|
581
590
|
}
|
|
582
591
|
}
|
|
583
592
|
|
|
593
|
+
// Responsive: stack label above value in very narrow containers
|
|
594
|
+
@container (max-width: 300px) {
|
|
595
|
+
&, &--cols-2, &--fixed, &--fixed#{&}--cols-2 {
|
|
596
|
+
grid-template-columns: 1fr;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
.pa-desc-table__label {
|
|
600
|
+
border-inline-end: none;
|
|
601
|
+
border-bottom: none;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
.pa-desc-table__value {
|
|
605
|
+
border-inline-end: none;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
.pa-desc-table__value--full {
|
|
609
|
+
grid-column: 1;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
|
|
584
613
|
// Media fallback (for desc-tables outside a container context)
|
|
585
614
|
@media (max-width: $mobile-breakpoint) {
|
|
586
615
|
&, &--cols-2 {
|
|
@@ -876,8 +905,12 @@
|
|
|
876
905
|
}
|
|
877
906
|
|
|
878
907
|
// Label horizontal alignment
|
|
879
|
-
&--label-end &__label { justify-content: flex-end; }
|
|
880
|
-
&--label-center &__label { justify-content: center; }
|
|
908
|
+
&--label-end &__label { justify-content: flex-end; text-align: end; }
|
|
909
|
+
&--label-center &__label { justify-content: center; text-align: center; }
|
|
910
|
+
|
|
911
|
+
// Value horizontal alignment
|
|
912
|
+
&--value-end &__value { justify-content: flex-end; text-align: end; }
|
|
913
|
+
&--value-center &__value { justify-content: center; text-align: center; }
|
|
881
914
|
|
|
882
915
|
// Truncate: single-line ellipsis on both labels and values
|
|
883
916
|
&--truncate &__label,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/* ========================================
|
|
2
|
+
Filter Card
|
|
3
|
+
Expandable filter card with inline filters and collapsible advanced section
|
|
4
|
+
Based on table-filters pattern from pure-admin demos
|
|
5
|
+
======================================== */
|
|
6
|
+
|
|
7
|
+
@use '../variables' as *;
|
|
8
|
+
|
|
9
|
+
.pa-filter-card__row {
|
|
10
|
+
display: flex;
|
|
11
|
+
gap: $spacing-sm;
|
|
12
|
+
align-items: center;
|
|
13
|
+
flex-wrap: wrap;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.pa-filter-card__filters {
|
|
17
|
+
display: flex;
|
|
18
|
+
gap: $spacing-sm;
|
|
19
|
+
align-items: center;
|
|
20
|
+
flex-wrap: wrap;
|
|
21
|
+
flex: 1;
|
|
22
|
+
min-width: 0;
|
|
23
|
+
|
|
24
|
+
> * {
|
|
25
|
+
flex: 1;
|
|
26
|
+
min-width: 200px;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.pa-filter-card__actions {
|
|
31
|
+
display: flex;
|
|
32
|
+
gap: $spacing-xs;
|
|
33
|
+
align-items: center;
|
|
34
|
+
flex-shrink: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.pa-filter-card__advanced {
|
|
38
|
+
margin-top: $spacing-md;
|
|
39
|
+
padding-top: $spacing-md;
|
|
40
|
+
border-top: $border-width-base solid var(--pa-border-color);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.pa-filter-card__advanced-actions {
|
|
44
|
+
display: flex;
|
|
45
|
+
justify-content: flex-end;
|
|
46
|
+
gap: $spacing-sm;
|
|
47
|
+
margin-top: $spacing-md;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.pa-filter-card--loading {
|
|
51
|
+
opacity: 0.7;
|
|
52
|
+
pointer-events: none;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.pa-filter-card--disabled {
|
|
56
|
+
opacity: 0.5;
|
|
57
|
+
pointer-events: none;
|
|
58
|
+
}
|
|
@@ -557,8 +557,8 @@
|
|
|
557
557
|
font-size: $timeline-feed-time-font-size;
|
|
558
558
|
color: var(--pa-text-color-2);
|
|
559
559
|
font-weight: $font-weight-medium;
|
|
560
|
-
text-align:
|
|
561
|
-
padding-
|
|
560
|
+
text-align: end;
|
|
561
|
+
padding-inline-end: $spacing-sm;
|
|
562
562
|
padding-top: $timeline-feed-time-padding-top;
|
|
563
563
|
}
|
|
564
564
|
}
|
|
@@ -21,6 +21,12 @@
|
|
|
21
21
|
cursor: help;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
// Keyword modifier - dotted underline for inline term explanations
|
|
25
|
+
&--keyword {
|
|
26
|
+
border-bottom: $border-width-base dotted currentColor;
|
|
27
|
+
cursor: help;
|
|
28
|
+
}
|
|
29
|
+
|
|
24
30
|
&::before,
|
|
25
31
|
&::after {
|
|
26
32
|
position: absolute;
|
|
@@ -91,25 +97,38 @@
|
|
|
91
97
|
transform: translateX(-50%) translateY(0);
|
|
92
98
|
}
|
|
93
99
|
|
|
94
|
-
//
|
|
95
|
-
&--
|
|
100
|
+
// End position (inline-end: right in LTR, left in RTL)
|
|
101
|
+
&--end::before {
|
|
96
102
|
bottom: auto;
|
|
97
|
-
left:
|
|
103
|
+
left: auto;
|
|
104
|
+
inset-inline-start: calc(100% + $tooltip-distance);
|
|
98
105
|
top: 50%;
|
|
99
106
|
transform: translateX(-$tooltip-offset) translateY(-50%);
|
|
100
107
|
}
|
|
101
108
|
|
|
102
|
-
&--
|
|
109
|
+
&--end::after {
|
|
103
110
|
bottom: auto;
|
|
104
|
-
left:
|
|
111
|
+
left: auto;
|
|
112
|
+
inset-inline-start: calc(100% + ($tooltip-arrow-size - 2px));
|
|
105
113
|
top: 50%;
|
|
106
114
|
transform: translateX(-$tooltip-offset) translateY(-50%);
|
|
107
115
|
border-top-color: transparent;
|
|
108
|
-
border-
|
|
116
|
+
border-inline-end-color: var(--pa-tooltip-bg);
|
|
109
117
|
}
|
|
110
118
|
|
|
111
|
-
&--
|
|
112
|
-
&--
|
|
119
|
+
&--end:hover::before,
|
|
120
|
+
&--end:hover::after {
|
|
121
|
+
transform: translateX(0) translateY(-50%);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// RTL: reverse slide direction for end position
|
|
125
|
+
[dir="rtl"] &--end::before,
|
|
126
|
+
[dir="rtl"] &--end::after {
|
|
127
|
+
transform: translateX($tooltip-offset) translateY(-50%);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
[dir="rtl"] &--end:hover::before,
|
|
131
|
+
[dir="rtl"] &--end:hover::after {
|
|
113
132
|
transform: translateX(0) translateY(-50%);
|
|
114
133
|
}
|
|
115
134
|
|
|
@@ -135,27 +154,38 @@
|
|
|
135
154
|
transform: translateX(-50%) translateY(0);
|
|
136
155
|
}
|
|
137
156
|
|
|
138
|
-
//
|
|
139
|
-
&--
|
|
157
|
+
// Start position (inline-start: left in LTR, right in RTL)
|
|
158
|
+
&--start::before {
|
|
140
159
|
bottom: auto;
|
|
141
160
|
left: auto;
|
|
142
|
-
|
|
161
|
+
inset-inline-end: calc(100% + $tooltip-distance);
|
|
143
162
|
top: 50%;
|
|
144
163
|
transform: translateX($tooltip-offset) translateY(-50%);
|
|
145
164
|
}
|
|
146
165
|
|
|
147
|
-
&--
|
|
166
|
+
&--start::after {
|
|
148
167
|
bottom: auto;
|
|
149
168
|
left: auto;
|
|
150
|
-
|
|
169
|
+
inset-inline-end: calc(100% + ($tooltip-arrow-size - 2px));
|
|
151
170
|
top: 50%;
|
|
152
171
|
transform: translateX($tooltip-offset) translateY(-50%);
|
|
153
172
|
border-top-color: transparent;
|
|
154
|
-
border-
|
|
173
|
+
border-inline-start-color: var(--pa-tooltip-bg);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
&--start:hover::before,
|
|
177
|
+
&--start:hover::after {
|
|
178
|
+
transform: translateX(0) translateY(-50%);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// RTL: reverse slide direction for start position
|
|
182
|
+
[dir="rtl"] &--start::before,
|
|
183
|
+
[dir="rtl"] &--start::after {
|
|
184
|
+
transform: translateX(-$tooltip-offset) translateY(-50%);
|
|
155
185
|
}
|
|
156
186
|
|
|
157
|
-
&--
|
|
158
|
-
&--
|
|
187
|
+
[dir="rtl"] &--start:hover::before,
|
|
188
|
+
[dir="rtl"] &--start:hover::after {
|
|
159
189
|
transform: translateX(0) translateY(-50%);
|
|
160
190
|
}
|
|
161
191
|
|
|
@@ -166,17 +196,17 @@
|
|
|
166
196
|
&--primary::after {
|
|
167
197
|
border-top-color: var(--pa-btn-primary-bg);
|
|
168
198
|
}
|
|
169
|
-
&--primary.pa-tooltip--
|
|
199
|
+
&--primary.pa-tooltip--end::after {
|
|
170
200
|
border-top-color: transparent;
|
|
171
|
-
border-
|
|
201
|
+
border-inline-end-color: var(--pa-btn-primary-bg);
|
|
172
202
|
}
|
|
173
203
|
&--primary.pa-tooltip--bottom::after {
|
|
174
204
|
border-top-color: transparent;
|
|
175
205
|
border-bottom-color: var(--pa-btn-primary-bg);
|
|
176
206
|
}
|
|
177
|
-
&--primary.pa-tooltip--
|
|
207
|
+
&--primary.pa-tooltip--start::after {
|
|
178
208
|
border-top-color: transparent;
|
|
179
|
-
border-
|
|
209
|
+
border-inline-start-color: var(--pa-btn-primary-bg);
|
|
180
210
|
}
|
|
181
211
|
|
|
182
212
|
&--success::before {
|
|
@@ -185,17 +215,17 @@
|
|
|
185
215
|
&--success::after {
|
|
186
216
|
border-top-color: var(--pa-btn-success-bg);
|
|
187
217
|
}
|
|
188
|
-
&--success.pa-tooltip--
|
|
218
|
+
&--success.pa-tooltip--end::after {
|
|
189
219
|
border-top-color: transparent;
|
|
190
|
-
border-
|
|
220
|
+
border-inline-end-color: var(--pa-btn-success-bg);
|
|
191
221
|
}
|
|
192
222
|
&--success.pa-tooltip--bottom::after {
|
|
193
223
|
border-top-color: transparent;
|
|
194
224
|
border-bottom-color: var(--pa-btn-success-bg);
|
|
195
225
|
}
|
|
196
|
-
&--success.pa-tooltip--
|
|
226
|
+
&--success.pa-tooltip--start::after {
|
|
197
227
|
border-top-color: transparent;
|
|
198
|
-
border-
|
|
228
|
+
border-inline-start-color: var(--pa-btn-success-bg);
|
|
199
229
|
}
|
|
200
230
|
|
|
201
231
|
&--warning::before {
|
|
@@ -205,17 +235,17 @@
|
|
|
205
235
|
&--warning::after {
|
|
206
236
|
border-top-color: var(--pa-btn-warning-bg);
|
|
207
237
|
}
|
|
208
|
-
&--warning.pa-tooltip--
|
|
238
|
+
&--warning.pa-tooltip--end::after {
|
|
209
239
|
border-top-color: transparent;
|
|
210
|
-
border-
|
|
240
|
+
border-inline-end-color: var(--pa-btn-warning-bg);
|
|
211
241
|
}
|
|
212
242
|
&--warning.pa-tooltip--bottom::after {
|
|
213
243
|
border-top-color: transparent;
|
|
214
244
|
border-bottom-color: var(--pa-btn-warning-bg);
|
|
215
245
|
}
|
|
216
|
-
&--warning.pa-tooltip--
|
|
246
|
+
&--warning.pa-tooltip--start::after {
|
|
217
247
|
border-top-color: transparent;
|
|
218
|
-
border-
|
|
248
|
+
border-inline-start-color: var(--pa-btn-warning-bg);
|
|
219
249
|
}
|
|
220
250
|
|
|
221
251
|
&--danger::before {
|
|
@@ -224,17 +254,17 @@
|
|
|
224
254
|
&--danger::after {
|
|
225
255
|
border-top-color: var(--pa-btn-danger-bg);
|
|
226
256
|
}
|
|
227
|
-
&--danger.pa-tooltip--
|
|
257
|
+
&--danger.pa-tooltip--end::after {
|
|
228
258
|
border-top-color: transparent;
|
|
229
|
-
border-
|
|
259
|
+
border-inline-end-color: var(--pa-btn-danger-bg);
|
|
230
260
|
}
|
|
231
261
|
&--danger.pa-tooltip--bottom::after {
|
|
232
262
|
border-top-color: transparent;
|
|
233
263
|
border-bottom-color: var(--pa-btn-danger-bg);
|
|
234
264
|
}
|
|
235
|
-
&--danger.pa-tooltip--
|
|
265
|
+
&--danger.pa-tooltip--start::after {
|
|
236
266
|
border-top-color: transparent;
|
|
237
|
-
border-
|
|
267
|
+
border-inline-start-color: var(--pa-btn-danger-bg);
|
|
238
268
|
}
|
|
239
269
|
|
|
240
270
|
// Numbered color variants (color-1 through color-9)
|
|
@@ -247,17 +277,17 @@
|
|
|
247
277
|
&--color-#{$i}::after {
|
|
248
278
|
border-top-color: var(--pa-color-#{$i});
|
|
249
279
|
}
|
|
250
|
-
&--color-#{$i}.pa-tooltip--
|
|
280
|
+
&--color-#{$i}.pa-tooltip--end::after {
|
|
251
281
|
border-top-color: transparent;
|
|
252
|
-
border-
|
|
282
|
+
border-inline-end-color: var(--pa-color-#{$i});
|
|
253
283
|
}
|
|
254
284
|
&--color-#{$i}.pa-tooltip--bottom::after {
|
|
255
285
|
border-top-color: transparent;
|
|
256
286
|
border-bottom-color: var(--pa-color-#{$i});
|
|
257
287
|
}
|
|
258
|
-
&--color-#{$i}.pa-tooltip--
|
|
288
|
+
&--color-#{$i}.pa-tooltip--start::after {
|
|
259
289
|
border-top-color: transparent;
|
|
260
|
-
border-
|
|
290
|
+
border-inline-start-color: var(--pa-color-#{$i});
|
|
261
291
|
}
|
|
262
292
|
}
|
|
263
293
|
|
|
@@ -304,43 +334,69 @@
|
|
|
304
334
|
transform: translateX(-50%) translateY(0) !important;
|
|
305
335
|
}
|
|
306
336
|
|
|
307
|
-
// Auto-flip from
|
|
308
|
-
&--auto-flip-
|
|
309
|
-
left:
|
|
337
|
+
// Auto-flip from start to end
|
|
338
|
+
&--auto-flip-end::before {
|
|
339
|
+
left: auto !important;
|
|
310
340
|
right: auto !important;
|
|
341
|
+
inset-inline-start: calc(100% + $tooltip-distance) !important;
|
|
311
342
|
transform: translateX(-$tooltip-offset) translateY(-50%) !important;
|
|
312
343
|
}
|
|
313
344
|
|
|
314
|
-
&--auto-flip-
|
|
315
|
-
left:
|
|
345
|
+
&--auto-flip-end::after {
|
|
346
|
+
left: auto !important;
|
|
316
347
|
right: auto !important;
|
|
348
|
+
inset-inline-start: calc(100% + ($tooltip-arrow-size - 2px)) !important;
|
|
317
349
|
transform: translateX(-$tooltip-offset) translateY(-50%) !important;
|
|
318
|
-
border-
|
|
319
|
-
border-
|
|
350
|
+
border-inline-start-color: transparent !important;
|
|
351
|
+
border-inline-end-color: var(--pa-tooltip-bg) !important;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
&--auto-flip-end:hover::before,
|
|
355
|
+
&--auto-flip-end:hover::after {
|
|
356
|
+
transform: translateX(0) translateY(-50%) !important;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// RTL: reverse slide direction for auto-flip-end
|
|
360
|
+
[dir="rtl"] &--auto-flip-end::before,
|
|
361
|
+
[dir="rtl"] &--auto-flip-end::after {
|
|
362
|
+
transform: translateX($tooltip-offset) translateY(-50%) !important;
|
|
320
363
|
}
|
|
321
364
|
|
|
322
|
-
&--auto-flip-
|
|
323
|
-
&--auto-flip-
|
|
365
|
+
[dir="rtl"] &--auto-flip-end:hover::before,
|
|
366
|
+
[dir="rtl"] &--auto-flip-end:hover::after {
|
|
324
367
|
transform: translateX(0) translateY(-50%) !important;
|
|
325
368
|
}
|
|
326
369
|
|
|
327
|
-
// Auto-flip from
|
|
328
|
-
&--auto-flip-
|
|
329
|
-
right: calc(100% + $tooltip-distance) !important;
|
|
370
|
+
// Auto-flip from end to start
|
|
371
|
+
&--auto-flip-start::before {
|
|
330
372
|
left: auto !important;
|
|
373
|
+
right: auto !important;
|
|
374
|
+
inset-inline-end: calc(100% + $tooltip-distance) !important;
|
|
331
375
|
transform: translateX($tooltip-offset) translateY(-50%) !important;
|
|
332
376
|
}
|
|
333
377
|
|
|
334
|
-
&--auto-flip-
|
|
335
|
-
right: calc(100% + ($tooltip-arrow-size - 2px)) !important;
|
|
378
|
+
&--auto-flip-start::after {
|
|
336
379
|
left: auto !important;
|
|
380
|
+
right: auto !important;
|
|
381
|
+
inset-inline-end: calc(100% + ($tooltip-arrow-size - 2px)) !important;
|
|
337
382
|
transform: translateX($tooltip-offset) translateY(-50%) !important;
|
|
338
|
-
border-
|
|
339
|
-
border-
|
|
383
|
+
border-inline-end-color: transparent !important;
|
|
384
|
+
border-inline-start-color: var(--pa-tooltip-bg) !important;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
&--auto-flip-start:hover::before,
|
|
388
|
+
&--auto-flip-start:hover::after {
|
|
389
|
+
transform: translateX(0) translateY(-50%) !important;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
// RTL: reverse slide direction for auto-flip-start
|
|
393
|
+
[dir="rtl"] &--auto-flip-start::before,
|
|
394
|
+
[dir="rtl"] &--auto-flip-start::after {
|
|
395
|
+
transform: translateX(-$tooltip-offset) translateY(-50%) !important;
|
|
340
396
|
}
|
|
341
397
|
|
|
342
|
-
&--auto-flip-
|
|
343
|
-
&--auto-flip-
|
|
398
|
+
[dir="rtl"] &--auto-flip-start:hover::before,
|
|
399
|
+
[dir="rtl"] &--auto-flip-start:hover::after {
|
|
344
400
|
transform: translateX(0) translateY(-50%) !important;
|
|
345
401
|
}
|
|
346
402
|
}
|