@keenmate/pure-admin-core 1.1.1 → 1.1.3
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 +11 -1
- package/dist/css/main.css +179 -230
- package/package.json +1 -1
- package/snippets/buttons.html +12 -0
- package/src/scss/_base-css-variables.scss +72 -13
- package/src/scss/core-components/_cards.scss +22 -0
- package/src/scss/core-components/_tooltips.scss +2 -0
- package/src/scss/core-components/_utilities.scss +10 -0
- package/src/scss/core-components/_web-components-theme.scss +14 -287
- package/src/scss/core-components/forms/_input-groups.scss +4 -2
- package/src/scss/variables/_base.scss +13 -0
- package/src/scss/variables/_colors.scss +12 -0
- package/src/scss/variables/_components.scss +3 -16
package/README.md
CHANGED
|
@@ -151,6 +151,10 @@ This enables dark mode support for web components like `@keenmate/web-grid` that
|
|
|
151
151
|
- `.pa-card__header` - Card header
|
|
152
152
|
- `.pa-card__body` - Card body
|
|
153
153
|
- `.pa-card__footer` - Card footer
|
|
154
|
+
- **Semantic variants:** `.pa-card--primary/success/danger/warning`
|
|
155
|
+
- **Theme color variants:** `.pa-card--color-1` through `.pa-card--color-9`
|
|
156
|
+
- Uses `--pa-color-N` for header background and border
|
|
157
|
+
- Text color automatically adjusts via `--pa-color-N-text` for readability
|
|
154
158
|
|
|
155
159
|
### Layout & Sidebar
|
|
156
160
|
- `.pa-layout` - Main layout container
|
|
@@ -230,7 +234,9 @@ This enables dark mode support for web components like `@keenmate/web-grid` that
|
|
|
230
234
|
### Tooltips & Popovers
|
|
231
235
|
- `.pa-tooltip` - Base tooltip (pure CSS, no JS required)
|
|
232
236
|
- `.pa-tooltip--top/right/bottom/left` - Positioning
|
|
233
|
-
- `.pa-tooltip--primary/success/warning/danger` -
|
|
237
|
+
- `.pa-tooltip--primary/success/warning/danger` - Semantic variants
|
|
238
|
+
- `.pa-tooltip--color-1` through `.pa-tooltip--color-9` - Theme color variants
|
|
239
|
+
- Text color automatically adjusts via `--pa-color-N-text` for readability
|
|
234
240
|
- `.pa-tooltip--multiline` - Multiline tooltips
|
|
235
241
|
- `.pa-popover` - Base popover (requires JavaScript)
|
|
236
242
|
- `.pa-popover--sm/md/lg` - Sizes
|
|
@@ -342,12 +348,16 @@ This enables dark mode support for web components like `@keenmate/web-grid` that
|
|
|
342
348
|
- `.pa-bg-color-1` through `.pa-bg-color-9` - Background color slots
|
|
343
349
|
- `.pa-text-color-1` through `.pa-text-color-9` - Text color slots
|
|
344
350
|
- `.pa-border-color-1` through `.pa-border-color-9` - Border color slots
|
|
351
|
+
- **CSS Variables:**
|
|
352
|
+
- `--pa-color-1` through `--pa-color-9` - Background colors (theme-defined)
|
|
353
|
+
- `--pa-color-1-text` through `--pa-color-9-text` - Contrast text colors for readability on colored backgrounds
|
|
345
354
|
|
|
346
355
|
## SCSS Variables
|
|
347
356
|
|
|
348
357
|
All components use SCSS variables with `!default` flags, making them fully customizable:
|
|
349
358
|
|
|
350
359
|
- **Colors**: `$main-bg`, `$page-bg`, `$subtle-bg`, `$accent-color`, `$text-color-1`, `$text-color-2`, etc.
|
|
360
|
+
- **Theme Color Slots**: `$color-1` through `$color-9` (background colors), `$color-1-text` through `$color-9-text` (contrast text colors)
|
|
351
361
|
- **Spacing**: `$spacing-xs` through `$spacing-2xl`
|
|
352
362
|
- **Typography**: `$font-size-*`, `$line-height-*`, `$font-weight-*`
|
|
353
363
|
- **Components**: `$btn-*`, `$card-*`, `$table-*`, etc.
|
package/dist/css/main.css
CHANGED
|
@@ -5385,6 +5385,141 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5385
5385
|
.pa-card--stat .pa-card__body {
|
|
5386
5386
|
padding: 2.4rem 1.6rem;
|
|
5387
5387
|
}
|
|
5388
|
+
.pa-card--color-1 {
|
|
5389
|
+
border-color: var(--pa-color-1);
|
|
5390
|
+
}
|
|
5391
|
+
.pa-card--color-1 .pa-card__header {
|
|
5392
|
+
background-color: var(--pa-color-1);
|
|
5393
|
+
color: var(--pa-color-1-text);
|
|
5394
|
+
}
|
|
5395
|
+
.pa-card--color-1 .pa-card__header h1,
|
|
5396
|
+
.pa-card--color-1 .pa-card__header h2,
|
|
5397
|
+
.pa-card--color-1 .pa-card__header h3,
|
|
5398
|
+
.pa-card--color-1 .pa-card__header h4,
|
|
5399
|
+
.pa-card--color-1 .pa-card__header h5,
|
|
5400
|
+
.pa-card--color-1 .pa-card__header h6 {
|
|
5401
|
+
color: var(--pa-color-1-text);
|
|
5402
|
+
}
|
|
5403
|
+
.pa-card--color-2 {
|
|
5404
|
+
border-color: var(--pa-color-2);
|
|
5405
|
+
}
|
|
5406
|
+
.pa-card--color-2 .pa-card__header {
|
|
5407
|
+
background-color: var(--pa-color-2);
|
|
5408
|
+
color: var(--pa-color-2-text);
|
|
5409
|
+
}
|
|
5410
|
+
.pa-card--color-2 .pa-card__header h1,
|
|
5411
|
+
.pa-card--color-2 .pa-card__header h2,
|
|
5412
|
+
.pa-card--color-2 .pa-card__header h3,
|
|
5413
|
+
.pa-card--color-2 .pa-card__header h4,
|
|
5414
|
+
.pa-card--color-2 .pa-card__header h5,
|
|
5415
|
+
.pa-card--color-2 .pa-card__header h6 {
|
|
5416
|
+
color: var(--pa-color-2-text);
|
|
5417
|
+
}
|
|
5418
|
+
.pa-card--color-3 {
|
|
5419
|
+
border-color: var(--pa-color-3);
|
|
5420
|
+
}
|
|
5421
|
+
.pa-card--color-3 .pa-card__header {
|
|
5422
|
+
background-color: var(--pa-color-3);
|
|
5423
|
+
color: var(--pa-color-3-text);
|
|
5424
|
+
}
|
|
5425
|
+
.pa-card--color-3 .pa-card__header h1,
|
|
5426
|
+
.pa-card--color-3 .pa-card__header h2,
|
|
5427
|
+
.pa-card--color-3 .pa-card__header h3,
|
|
5428
|
+
.pa-card--color-3 .pa-card__header h4,
|
|
5429
|
+
.pa-card--color-3 .pa-card__header h5,
|
|
5430
|
+
.pa-card--color-3 .pa-card__header h6 {
|
|
5431
|
+
color: var(--pa-color-3-text);
|
|
5432
|
+
}
|
|
5433
|
+
.pa-card--color-4 {
|
|
5434
|
+
border-color: var(--pa-color-4);
|
|
5435
|
+
}
|
|
5436
|
+
.pa-card--color-4 .pa-card__header {
|
|
5437
|
+
background-color: var(--pa-color-4);
|
|
5438
|
+
color: var(--pa-color-4-text);
|
|
5439
|
+
}
|
|
5440
|
+
.pa-card--color-4 .pa-card__header h1,
|
|
5441
|
+
.pa-card--color-4 .pa-card__header h2,
|
|
5442
|
+
.pa-card--color-4 .pa-card__header h3,
|
|
5443
|
+
.pa-card--color-4 .pa-card__header h4,
|
|
5444
|
+
.pa-card--color-4 .pa-card__header h5,
|
|
5445
|
+
.pa-card--color-4 .pa-card__header h6 {
|
|
5446
|
+
color: var(--pa-color-4-text);
|
|
5447
|
+
}
|
|
5448
|
+
.pa-card--color-5 {
|
|
5449
|
+
border-color: var(--pa-color-5);
|
|
5450
|
+
}
|
|
5451
|
+
.pa-card--color-5 .pa-card__header {
|
|
5452
|
+
background-color: var(--pa-color-5);
|
|
5453
|
+
color: var(--pa-color-5-text);
|
|
5454
|
+
}
|
|
5455
|
+
.pa-card--color-5 .pa-card__header h1,
|
|
5456
|
+
.pa-card--color-5 .pa-card__header h2,
|
|
5457
|
+
.pa-card--color-5 .pa-card__header h3,
|
|
5458
|
+
.pa-card--color-5 .pa-card__header h4,
|
|
5459
|
+
.pa-card--color-5 .pa-card__header h5,
|
|
5460
|
+
.pa-card--color-5 .pa-card__header h6 {
|
|
5461
|
+
color: var(--pa-color-5-text);
|
|
5462
|
+
}
|
|
5463
|
+
.pa-card--color-6 {
|
|
5464
|
+
border-color: var(--pa-color-6);
|
|
5465
|
+
}
|
|
5466
|
+
.pa-card--color-6 .pa-card__header {
|
|
5467
|
+
background-color: var(--pa-color-6);
|
|
5468
|
+
color: var(--pa-color-6-text);
|
|
5469
|
+
}
|
|
5470
|
+
.pa-card--color-6 .pa-card__header h1,
|
|
5471
|
+
.pa-card--color-6 .pa-card__header h2,
|
|
5472
|
+
.pa-card--color-6 .pa-card__header h3,
|
|
5473
|
+
.pa-card--color-6 .pa-card__header h4,
|
|
5474
|
+
.pa-card--color-6 .pa-card__header h5,
|
|
5475
|
+
.pa-card--color-6 .pa-card__header h6 {
|
|
5476
|
+
color: var(--pa-color-6-text);
|
|
5477
|
+
}
|
|
5478
|
+
.pa-card--color-7 {
|
|
5479
|
+
border-color: var(--pa-color-7);
|
|
5480
|
+
}
|
|
5481
|
+
.pa-card--color-7 .pa-card__header {
|
|
5482
|
+
background-color: var(--pa-color-7);
|
|
5483
|
+
color: var(--pa-color-7-text);
|
|
5484
|
+
}
|
|
5485
|
+
.pa-card--color-7 .pa-card__header h1,
|
|
5486
|
+
.pa-card--color-7 .pa-card__header h2,
|
|
5487
|
+
.pa-card--color-7 .pa-card__header h3,
|
|
5488
|
+
.pa-card--color-7 .pa-card__header h4,
|
|
5489
|
+
.pa-card--color-7 .pa-card__header h5,
|
|
5490
|
+
.pa-card--color-7 .pa-card__header h6 {
|
|
5491
|
+
color: var(--pa-color-7-text);
|
|
5492
|
+
}
|
|
5493
|
+
.pa-card--color-8 {
|
|
5494
|
+
border-color: var(--pa-color-8);
|
|
5495
|
+
}
|
|
5496
|
+
.pa-card--color-8 .pa-card__header {
|
|
5497
|
+
background-color: var(--pa-color-8);
|
|
5498
|
+
color: var(--pa-color-8-text);
|
|
5499
|
+
}
|
|
5500
|
+
.pa-card--color-8 .pa-card__header h1,
|
|
5501
|
+
.pa-card--color-8 .pa-card__header h2,
|
|
5502
|
+
.pa-card--color-8 .pa-card__header h3,
|
|
5503
|
+
.pa-card--color-8 .pa-card__header h4,
|
|
5504
|
+
.pa-card--color-8 .pa-card__header h5,
|
|
5505
|
+
.pa-card--color-8 .pa-card__header h6 {
|
|
5506
|
+
color: var(--pa-color-8-text);
|
|
5507
|
+
}
|
|
5508
|
+
.pa-card--color-9 {
|
|
5509
|
+
border-color: var(--pa-color-9);
|
|
5510
|
+
}
|
|
5511
|
+
.pa-card--color-9 .pa-card__header {
|
|
5512
|
+
background-color: var(--pa-color-9);
|
|
5513
|
+
color: var(--pa-color-9-text);
|
|
5514
|
+
}
|
|
5515
|
+
.pa-card--color-9 .pa-card__header h1,
|
|
5516
|
+
.pa-card--color-9 .pa-card__header h2,
|
|
5517
|
+
.pa-card--color-9 .pa-card__header h3,
|
|
5518
|
+
.pa-card--color-9 .pa-card__header h4,
|
|
5519
|
+
.pa-card--color-9 .pa-card__header h5,
|
|
5520
|
+
.pa-card--color-9 .pa-card__header h6 {
|
|
5521
|
+
color: var(--pa-color-9-text);
|
|
5522
|
+
}
|
|
5388
5523
|
.pa-card__tabs {
|
|
5389
5524
|
display: flex;
|
|
5390
5525
|
border-bottom: 1px solid var(--pa-border-color);
|
|
@@ -7590,6 +7725,7 @@ a.pa-card p {
|
|
|
7590
7725
|
}
|
|
7591
7726
|
.pa-tooltip--color-1::before {
|
|
7592
7727
|
background-color: var(--pa-color-1);
|
|
7728
|
+
color: var(--pa-color-1-text);
|
|
7593
7729
|
}
|
|
7594
7730
|
.pa-tooltip--color-1::after {
|
|
7595
7731
|
border-top-color: var(--pa-color-1);
|
|
@@ -7608,6 +7744,7 @@ a.pa-card p {
|
|
|
7608
7744
|
}
|
|
7609
7745
|
.pa-tooltip--color-2::before {
|
|
7610
7746
|
background-color: var(--pa-color-2);
|
|
7747
|
+
color: var(--pa-color-2-text);
|
|
7611
7748
|
}
|
|
7612
7749
|
.pa-tooltip--color-2::after {
|
|
7613
7750
|
border-top-color: var(--pa-color-2);
|
|
@@ -7626,6 +7763,7 @@ a.pa-card p {
|
|
|
7626
7763
|
}
|
|
7627
7764
|
.pa-tooltip--color-3::before {
|
|
7628
7765
|
background-color: var(--pa-color-3);
|
|
7766
|
+
color: var(--pa-color-3-text);
|
|
7629
7767
|
}
|
|
7630
7768
|
.pa-tooltip--color-3::after {
|
|
7631
7769
|
border-top-color: var(--pa-color-3);
|
|
@@ -7644,6 +7782,7 @@ a.pa-card p {
|
|
|
7644
7782
|
}
|
|
7645
7783
|
.pa-tooltip--color-4::before {
|
|
7646
7784
|
background-color: var(--pa-color-4);
|
|
7785
|
+
color: var(--pa-color-4-text);
|
|
7647
7786
|
}
|
|
7648
7787
|
.pa-tooltip--color-4::after {
|
|
7649
7788
|
border-top-color: var(--pa-color-4);
|
|
@@ -7662,6 +7801,7 @@ a.pa-card p {
|
|
|
7662
7801
|
}
|
|
7663
7802
|
.pa-tooltip--color-5::before {
|
|
7664
7803
|
background-color: var(--pa-color-5);
|
|
7804
|
+
color: var(--pa-color-5-text);
|
|
7665
7805
|
}
|
|
7666
7806
|
.pa-tooltip--color-5::after {
|
|
7667
7807
|
border-top-color: var(--pa-color-5);
|
|
@@ -7680,6 +7820,7 @@ a.pa-card p {
|
|
|
7680
7820
|
}
|
|
7681
7821
|
.pa-tooltip--color-6::before {
|
|
7682
7822
|
background-color: var(--pa-color-6);
|
|
7823
|
+
color: var(--pa-color-6-text);
|
|
7683
7824
|
}
|
|
7684
7825
|
.pa-tooltip--color-6::after {
|
|
7685
7826
|
border-top-color: var(--pa-color-6);
|
|
@@ -7698,6 +7839,7 @@ a.pa-card p {
|
|
|
7698
7839
|
}
|
|
7699
7840
|
.pa-tooltip--color-7::before {
|
|
7700
7841
|
background-color: var(--pa-color-7);
|
|
7842
|
+
color: var(--pa-color-7-text);
|
|
7701
7843
|
}
|
|
7702
7844
|
.pa-tooltip--color-7::after {
|
|
7703
7845
|
border-top-color: var(--pa-color-7);
|
|
@@ -7716,6 +7858,7 @@ a.pa-card p {
|
|
|
7716
7858
|
}
|
|
7717
7859
|
.pa-tooltip--color-8::before {
|
|
7718
7860
|
background-color: var(--pa-color-8);
|
|
7861
|
+
color: var(--pa-color-8-text);
|
|
7719
7862
|
}
|
|
7720
7863
|
.pa-tooltip--color-8::after {
|
|
7721
7864
|
border-top-color: var(--pa-color-8);
|
|
@@ -7734,6 +7877,7 @@ a.pa-card p {
|
|
|
7734
7877
|
}
|
|
7735
7878
|
.pa-tooltip--color-9::before {
|
|
7736
7879
|
background-color: var(--pa-color-9);
|
|
7880
|
+
color: var(--pa-color-9-text);
|
|
7737
7881
|
}
|
|
7738
7882
|
.pa-tooltip--color-9::after {
|
|
7739
7883
|
border-top-color: var(--pa-color-9);
|
|
@@ -7966,30 +8110,39 @@ a.pa-card p {
|
|
|
7966
8110
|
}
|
|
7967
8111
|
.pa-tooltip-floating.pa-tooltip--color-1 {
|
|
7968
8112
|
background-color: var(--pa-color-1);
|
|
8113
|
+
color: var(--pa-color-1-text);
|
|
7969
8114
|
}
|
|
7970
8115
|
.pa-tooltip-floating.pa-tooltip--color-2 {
|
|
7971
8116
|
background-color: var(--pa-color-2);
|
|
8117
|
+
color: var(--pa-color-2-text);
|
|
7972
8118
|
}
|
|
7973
8119
|
.pa-tooltip-floating.pa-tooltip--color-3 {
|
|
7974
8120
|
background-color: var(--pa-color-3);
|
|
8121
|
+
color: var(--pa-color-3-text);
|
|
7975
8122
|
}
|
|
7976
8123
|
.pa-tooltip-floating.pa-tooltip--color-4 {
|
|
7977
8124
|
background-color: var(--pa-color-4);
|
|
8125
|
+
color: var(--pa-color-4-text);
|
|
7978
8126
|
}
|
|
7979
8127
|
.pa-tooltip-floating.pa-tooltip--color-5 {
|
|
7980
8128
|
background-color: var(--pa-color-5);
|
|
8129
|
+
color: var(--pa-color-5-text);
|
|
7981
8130
|
}
|
|
7982
8131
|
.pa-tooltip-floating.pa-tooltip--color-6 {
|
|
7983
8132
|
background-color: var(--pa-color-6);
|
|
8133
|
+
color: var(--pa-color-6-text);
|
|
7984
8134
|
}
|
|
7985
8135
|
.pa-tooltip-floating.pa-tooltip--color-7 {
|
|
7986
8136
|
background-color: var(--pa-color-7);
|
|
8137
|
+
color: var(--pa-color-7-text);
|
|
7987
8138
|
}
|
|
7988
8139
|
.pa-tooltip-floating.pa-tooltip--color-8 {
|
|
7989
8140
|
background-color: var(--pa-color-8);
|
|
8141
|
+
color: var(--pa-color-8-text);
|
|
7990
8142
|
}
|
|
7991
8143
|
.pa-tooltip-floating.pa-tooltip--color-9 {
|
|
7992
8144
|
background-color: var(--pa-color-9);
|
|
8145
|
+
color: var(--pa-color-9-text);
|
|
7993
8146
|
}
|
|
7994
8147
|
|
|
7995
8148
|
/* ========================================
|
|
@@ -8710,6 +8863,7 @@ a.pa-card p {
|
|
|
8710
8863
|
.pa-input-group__prepend {
|
|
8711
8864
|
background-color: var(--pa-input-group-prepend-bg);
|
|
8712
8865
|
color: var(--pa-input-group-prepend-text);
|
|
8866
|
+
border-color: var(--pa-input-group-prepend-bg);
|
|
8713
8867
|
border-right: none;
|
|
8714
8868
|
}
|
|
8715
8869
|
.pa-input-group__prepend:first-child {
|
|
@@ -8719,6 +8873,7 @@ a.pa-card p {
|
|
|
8719
8873
|
.pa-input-group__append {
|
|
8720
8874
|
background-color: var(--pa-input-group-append-bg);
|
|
8721
8875
|
color: var(--pa-input-group-append-text);
|
|
8876
|
+
border-color: var(--pa-input-group-append-bg);
|
|
8722
8877
|
border-left: none;
|
|
8723
8878
|
}
|
|
8724
8879
|
.pa-input-group__append:last-child {
|
|
@@ -8726,10 +8881,10 @@ a.pa-card p {
|
|
|
8726
8881
|
border-bottom-right-radius: 4px;
|
|
8727
8882
|
}
|
|
8728
8883
|
.pa-input-group__prepend + .pa-input-group__prepend {
|
|
8729
|
-
border-left: 1px solid var(--pa-
|
|
8884
|
+
border-left: 1px solid var(--pa-input-group-prepend-bg);
|
|
8730
8885
|
}
|
|
8731
8886
|
.pa-input-group__append + .pa-input-group__append {
|
|
8732
|
-
border-left: 1px solid var(--pa-
|
|
8887
|
+
border-left: 1px solid var(--pa-input-group-append-bg);
|
|
8733
8888
|
}
|
|
8734
8889
|
.pa-input-group:has(.pa-input:focus) .pa-input-group__prepend {
|
|
8735
8890
|
border-right: 1px solid var(--pa-input-focus-border-color);
|
|
@@ -9295,235 +9450,21 @@ input:indeterminate + .pa-checkbox__box::after {
|
|
|
9295
9450
|
* Maps Pure Admin SCSS variables to web component CSS custom properties
|
|
9296
9451
|
*
|
|
9297
9452
|
* @keenmate/web-multiselect: Uses --base-* variables from _base-css-variables.scss
|
|
9298
|
-
* @keenmate/web-daterangepicker: Uses --
|
|
9299
|
-
|
|
9300
|
-
|
|
9453
|
+
* @keenmate/web-daterangepicker: Uses --base-* variables from _base-css-variables.scss
|
|
9454
|
+
*
|
|
9455
|
+
* NOTE: Both components use the --base-* CSS variable system with built-in fallback chains:
|
|
9456
|
+
* 1. External override: --ms-accent-color: #custom
|
|
9457
|
+
* 2. Theme base value: var(--base-accent-color)
|
|
9458
|
+
* 3. Hardcoded default: #3b82f6
|
|
9459
|
+
*
|
|
9460
|
+
* This means Pure Admin only needs to set --base-* variables (via the
|
|
9461
|
+
* output-base-css-variables mixin) and the components will automatically
|
|
9462
|
+
* pick up the theme colors.
|
|
9301
9463
|
*/
|
|
9302
|
-
/*
|
|
9303
|
-
|
|
9304
|
-
|
|
9305
|
-
|
|
9306
|
-
NOTE: Variables set directly on web-daterangepicker
|
|
9307
|
-
element to pierce shadow DOM (custom properties
|
|
9308
|
-
cascade into shadow DOM when set on host element)
|
|
9309
|
-
======================================== */
|
|
9310
|
-
web-daterangepicker {
|
|
9311
|
-
/* ===== BASE PRIMITIVES ===== */
|
|
9312
|
-
/* Colors */
|
|
9313
|
-
--drp-accent-color: #007bff;
|
|
9314
|
-
--drp-primary-bg: #007bff;
|
|
9315
|
-
--drp-primary-bg-hover: rgb(51, 149.4, 255);
|
|
9316
|
-
--drp-text-primary: var(--pa-text-color-1);
|
|
9317
|
-
--drp-text-secondary: var(--pa-text-color-2);
|
|
9318
|
-
--drp-border-color: #e1e5e9;
|
|
9319
|
-
--drp-card-bg: var(--pa-card-bg);
|
|
9320
|
-
--drp-hover-bg: #f8f9fa;
|
|
9321
|
-
/* Spacing */
|
|
9322
|
-
--drp-spacing-xs: 0.4rem;
|
|
9323
|
-
--drp-spacing-sm: 0.8rem;
|
|
9324
|
-
--drp-spacing-md: 1.2rem;
|
|
9325
|
-
--drp-spacing-base: 1.6rem;
|
|
9326
|
-
--drp-spacing-lg: 2.4rem;
|
|
9327
|
-
--drp-spacing-xl: 3.2rem;
|
|
9328
|
-
/* Typography */
|
|
9329
|
-
--drp-font-size-xs: 1.2rem;
|
|
9330
|
-
--drp-font-size-sm: 1.4rem;
|
|
9331
|
-
--drp-font-size-base: 1.6rem;
|
|
9332
|
-
--drp-font-size-lg: 1.8rem;
|
|
9333
|
-
--drp-font-weight-normal: 400;
|
|
9334
|
-
--drp-font-weight-medium: 500;
|
|
9335
|
-
--drp-font-weight-semibold: 600;
|
|
9336
|
-
/* Animations */
|
|
9337
|
-
--drp-transition-fast: 0.1s;
|
|
9338
|
-
--drp-transition-normal: 0.15s;
|
|
9339
|
-
--drp-easing-snappy: ease-out;
|
|
9340
|
-
--drp-easing-smooth: ease;
|
|
9341
|
-
/* Shadows */
|
|
9342
|
-
--drp-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
9343
|
-
--drp-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
9344
|
-
--drp-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
9345
|
-
--drp-shadow-xl: 0 0 60px rgba(0, 0, 0, 0.12);
|
|
9346
|
-
/* Border radius */
|
|
9347
|
-
--drp-border-radius: 4px;
|
|
9348
|
-
--drp-border-radius-sm: 2px;
|
|
9349
|
-
--drp-border-radius-lg: 8px;
|
|
9350
|
-
/* Border width */
|
|
9351
|
-
--drp-border-width-base: 1px;
|
|
9352
|
-
--drp-border-width-medium: 2px;
|
|
9353
|
-
/* ===== INPUT FIELD SEMANTIC VARIABLES ===== */
|
|
9354
|
-
/* Input colors */
|
|
9355
|
-
--drp-input-background: var(--pa-input-bg);
|
|
9356
|
-
--drp-input-color: var(--pa-text-color-1);
|
|
9357
|
-
--drp-input-border-color: #ced4da;
|
|
9358
|
-
--drp-input-border-color-hover: #007bff;
|
|
9359
|
-
--drp-input-border-color-focus: #007bff;
|
|
9360
|
-
--drp-input-placeholder-color: var(--pa-text-color-2);
|
|
9361
|
-
--drp-input-disabled-background: var(--pa-input-bg);
|
|
9362
|
-
--drp-input-disabled-color: var(--pa-text-color-2);
|
|
9363
|
-
/* Input focus effects */
|
|
9364
|
-
--drp-input-focus-shadow-color: rgba(0, 123, 255, 0.05);
|
|
9365
|
-
--drp-input-focus-shadow-size: 3px;
|
|
9366
|
-
/* Input icon */
|
|
9367
|
-
--drp-input-icon-color: var(--pa-text-color-2);
|
|
9368
|
-
--drp-input-icon-opacity: 1;
|
|
9369
|
-
/* Input size variants - matched to Pure Admin .pa-input sizes (10px base)
|
|
9370
|
-
Heights: xs=31px, sm=33px, md=35px, lg=38px, xl=41px */
|
|
9371
|
-
/* Extra Small (31px) */
|
|
9372
|
-
--drp-input-size-xs-font: 1.2rem;
|
|
9373
|
-
--drp-input-size-xs-padding-v: 0.8rem;
|
|
9374
|
-
--drp-input-size-xs-padding-h: 0.8rem;
|
|
9375
|
-
--drp-input-size-xs-height: 3.1rem; /* 31px (10px base) */
|
|
9376
|
-
--drp-input-size-xs-icon-size: 1.2rem; /* 12px (10px base) */
|
|
9377
|
-
/* Small (33px - same height as xs, slightly larger icon) */
|
|
9378
|
-
--drp-input-size-sm-font: 1.2rem;
|
|
9379
|
-
--drp-input-size-sm-padding-v: 0.8rem;
|
|
9380
|
-
--drp-input-size-sm-padding-h: 0.8rem;
|
|
9381
|
-
--drp-input-size-sm-height: 3.3rem; /* 33px (10px base) */
|
|
9382
|
-
--drp-input-size-sm-icon-size: 1.4rem; /* 14px (10px base) */
|
|
9383
|
-
/* Medium/Default (maps to pa-input: 35px) */
|
|
9384
|
-
--drp-input-size-md-font: 1.4rem;
|
|
9385
|
-
--drp-input-size-md-padding-v: 0.8rem;
|
|
9386
|
-
--drp-input-size-md-padding-h: 0.8rem;
|
|
9387
|
-
--drp-input-size-md-height: 3.5rem; /* 35px (10px base) */
|
|
9388
|
-
--drp-input-size-md-icon-size: 1.6rem; /* 16px (10px base) */
|
|
9389
|
-
/* Large (maps to pa-input--lg: 38px) */
|
|
9390
|
-
--drp-input-size-lg-font: 1.6rem;
|
|
9391
|
-
--drp-input-size-lg-padding-v: 0.8rem;
|
|
9392
|
-
--drp-input-size-lg-padding-h: 0.8rem;
|
|
9393
|
-
--drp-input-size-lg-height: 3.8rem; /* 38px (10px base) */
|
|
9394
|
-
--drp-input-size-lg-icon-size: 1.8rem; /* 18px (10px base) */
|
|
9395
|
-
/* Extra Large (maps to pa-input--xl: 41px) */
|
|
9396
|
-
--drp-input-size-xl-font: 1.8rem;
|
|
9397
|
-
--drp-input-size-xl-padding-v: 0.8rem;
|
|
9398
|
-
--drp-input-size-xl-padding-h: 0.8rem;
|
|
9399
|
-
--drp-input-size-xl-height: 4.1rem; /* 41px (10px base) */
|
|
9400
|
-
--drp-input-size-xl-icon-size: 2rem; /* 20px (10px base) */
|
|
9401
|
-
/* ===== CALENDAR CONTAINER ===== */
|
|
9402
|
-
--drp-calendar-bg: var(--pa-card-bg);
|
|
9403
|
-
--drp-calendar-border: #e1e5e9;
|
|
9404
|
-
--drp-calendar-shadow: 0 0 60px rgba(0, 0, 0, 0.12);
|
|
9405
|
-
--drp-calendar-border-radius: 4px;
|
|
9406
|
-
--drp-calendar-padding: 1.6rem;
|
|
9407
|
-
--drp-calendar-z-index: 1000;
|
|
9408
|
-
/* ===== HEADER ===== */
|
|
9409
|
-
--drp-header-padding: 0.8rem 1.2rem;
|
|
9410
|
-
--drp-header-font-size: 1.6rem;
|
|
9411
|
-
--drp-header-font-weight: 600;
|
|
9412
|
-
--drp-header-text-color: var(--pa-text-color-1);
|
|
9413
|
-
--drp-header-bg-hover: rgba(0, 123, 255, 0.12);
|
|
9414
|
-
--drp-header-bg-active: rgba(0, 123, 255, 0.05);
|
|
9415
|
-
/* ===== NAVIGATION ===== */
|
|
9416
|
-
--drp-nav-btn-size: 3.2rem; /* 32px (10px base) */
|
|
9417
|
-
--drp-nav-text-color: var(--pa-text-color-1);
|
|
9418
|
-
--drp-nav-border-color: #e1e5e9;
|
|
9419
|
-
--drp-nav-bg-hover: rgba(0, 123, 255, 0.12);
|
|
9420
|
-
--drp-nav-bg-active: rgba(0, 123, 255, 0.05);
|
|
9421
|
-
--drp-nav-border-hover: #007bff;
|
|
9422
|
-
/* ===== WEEKDAY HEADER ===== */
|
|
9423
|
-
--drp-weekday-font-size: 1.2rem;
|
|
9424
|
-
--drp-weekday-font-weight: 600;
|
|
9425
|
-
--drp-weekday-color: var(--pa-text-color-2);
|
|
9426
|
-
--drp-weekday-padding: 0.4rem;
|
|
9427
|
-
/* ===== CALENDAR GRID ===== */
|
|
9428
|
-
--drp-day-size: 3.6rem; /* 36px (10px base) */
|
|
9429
|
-
--drp-day-font-size: 1.4rem;
|
|
9430
|
-
--drp-day-border-radius: 2px;
|
|
9431
|
-
/* Day states */
|
|
9432
|
-
--drp-day-text-color: var(--pa-text-color-1);
|
|
9433
|
-
--drp-day-bg-hover: rgba(0, 123, 255, 0.12);
|
|
9434
|
-
--drp-day-border-hover: transparent;
|
|
9435
|
-
/* Today indicator */
|
|
9436
|
-
--drp-day-today-border: #007bff;
|
|
9437
|
-
/* Selected state */
|
|
9438
|
-
--drp-day-selected-bg: #007bff;
|
|
9439
|
-
--drp-day-selected-color: #ffffff;
|
|
9440
|
-
/* Range state */
|
|
9441
|
-
--drp-day-range-bg: rgba(0, 123, 255, 0.05);
|
|
9442
|
-
--drp-day-range-text: var(--pa-text-color-1);
|
|
9443
|
-
/* Focused state */
|
|
9444
|
-
--drp-day-focused-outline: #007bff;
|
|
9445
|
-
/* Disabled state */
|
|
9446
|
-
--drp-day-disabled-color: var(--pa-text-color-2);
|
|
9447
|
-
--drp-day-disabled-opacity: 0.65;
|
|
9448
|
-
/* Other month */
|
|
9449
|
-
--drp-day-other-month-color: var(--pa-text-color-2);
|
|
9450
|
-
--drp-day-other-month-opacity: 0.5;
|
|
9451
|
-
/* ===== BADGES ===== */
|
|
9452
|
-
/* Dot badges (original style) */
|
|
9453
|
-
--drp-badge-size: 0.6rem; /* 6px (10px base) */
|
|
9454
|
-
--drp-badge-primary: #007bff;
|
|
9455
|
-
--drp-badge-success: #28a745;
|
|
9456
|
-
--drp-badge-warning: #ffc107;
|
|
9457
|
-
--drp-badge-danger: #dc3545;
|
|
9458
|
-
--drp-badge-info: #17a2b8;
|
|
9459
|
-
/* Number badges */
|
|
9460
|
-
--drp-badge-number-bg: #dc3545;
|
|
9461
|
-
--drp-badge-number-color: #ffffff;
|
|
9462
|
-
/* Count badges */
|
|
9463
|
-
--drp-badge-count-bg: #007bff;
|
|
9464
|
-
--drp-badge-count-color: #ffffff;
|
|
9465
|
-
/* Text badges */
|
|
9466
|
-
--drp-badge-text-bg: rgba(0, 123, 255, 0.05);
|
|
9467
|
-
--drp-badge-text-color: var(--pa-text-color-1);
|
|
9468
|
-
/* ===== SUMMARY BAR ===== */
|
|
9469
|
-
--drp-summary-bg: #f8f9fa;
|
|
9470
|
-
--drp-summary-border-color: #e1e5e9;
|
|
9471
|
-
--drp-summary-text-color: var(--pa-text-color-1);
|
|
9472
|
-
--drp-summary-count-color: #007bff;
|
|
9473
|
-
--drp-summary-padding: 0.8rem 1.2rem;
|
|
9474
|
-
--drp-summary-font-size: 1.4rem;
|
|
9475
|
-
--drp-summary-font-weight: 500;
|
|
9476
|
-
/* ===== BUTTONS ===== */
|
|
9477
|
-
/* Today button */
|
|
9478
|
-
--drp-button-today-bg: #6c757d;
|
|
9479
|
-
--drp-button-today-bg-hover: #545b62;
|
|
9480
|
-
--drp-button-today-color: #ffffff;
|
|
9481
|
-
--drp-button-today-border: #e1e5e9;
|
|
9482
|
-
/* Clear button */
|
|
9483
|
-
--drp-button-clear-bg: #6c757d;
|
|
9484
|
-
--drp-button-clear-bg-hover: #545b62;
|
|
9485
|
-
--drp-button-clear-color: #ffffff;
|
|
9486
|
-
--drp-button-clear-border: #e1e5e9;
|
|
9487
|
-
/* Cancel button */
|
|
9488
|
-
--drp-button-cancel-bg: #6c757d;
|
|
9489
|
-
--drp-button-cancel-bg-hover: #545b62;
|
|
9490
|
-
--drp-button-cancel-color: #ffffff;
|
|
9491
|
-
--drp-button-cancel-border: #e1e5e9;
|
|
9492
|
-
/* Apply button */
|
|
9493
|
-
--drp-button-apply-bg: #007bff;
|
|
9494
|
-
--drp-button-apply-bg-hover: rgb(51, 149.4, 255);
|
|
9495
|
-
--drp-button-apply-color: #ffffff;
|
|
9496
|
-
--drp-button-apply-border: #007bff;
|
|
9497
|
-
/* Button sizing */
|
|
9498
|
-
--drp-button-padding: 0.8rem 1rem;
|
|
9499
|
-
--drp-button-font-size: 1.4rem;
|
|
9500
|
-
--drp-button-border-radius: 4px;
|
|
9501
|
-
--drp-button-gap: 0.8rem;
|
|
9502
|
-
/* ===== UNIFIED NAVIGATION ===== */
|
|
9503
|
-
/* Range selectors in unified nav */
|
|
9504
|
-
--drp-unified-range-text-color: var(--pa-text-color-1);
|
|
9505
|
-
--drp-unified-range-bg-hover: rgba(0, 123, 255, 0.12);
|
|
9506
|
-
--drp-unified-range-bg-active: rgba(0, 123, 255, 0.05);
|
|
9507
|
-
/* Month/Year display */
|
|
9508
|
-
--drp-unified-month-color: var(--pa-text-color-1);
|
|
9509
|
-
/* Rolling selector disabled state */
|
|
9510
|
-
--drp-unified-rolling-disabled-color: var(--pa-text-color-2);
|
|
9511
|
-
/* ===== ROLLING SELECTOR ===== */
|
|
9512
|
-
--drp-rolling-bg: var(--pa-card-bg);
|
|
9513
|
-
--drp-rolling-border: #e1e5e9;
|
|
9514
|
-
--drp-rolling-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
9515
|
-
--drp-rolling-item-hover-bg: rgba(0, 123, 255, 0.12);
|
|
9516
|
-
--drp-rolling-item-selected-bg: #007bff;
|
|
9517
|
-
--drp-rolling-item-selected-text: #ffffff;
|
|
9518
|
-
--drp-rolling-font-size: 1.4rem;
|
|
9519
|
-
--drp-rolling-item-text-color: var(--pa-text-color-1);
|
|
9520
|
-
--drp-rolling-item-disabled-color: var(--pa-text-color-2);
|
|
9521
|
-
/* ===== LOADING OVERLAY ===== */
|
|
9522
|
-
--drp-loading-bg: rgba(255, 255, 255, 0.8);
|
|
9523
|
-
--drp-loading-spinner-color: #007bff;
|
|
9524
|
-
--drp-loading-spinner-size: 1.6rem;
|
|
9525
|
-
/* ===== MULTIPLE MONTHS ===== */
|
|
9526
|
-
--drp-months-gap: 2.4rem;
|
|
9464
|
+
/* Web Multiselect - Group label styling */
|
|
9465
|
+
web-multiselect {
|
|
9466
|
+
--ms-group-label-color: var(--base-text-color-1);
|
|
9467
|
+
--ms-group-label-font-weight: 600;
|
|
9527
9468
|
}
|
|
9528
9469
|
|
|
9529
9470
|
.pa-file-input {
|
|
@@ -13991,6 +13932,14 @@ html.font-size-4xl {
|
|
|
13991
13932
|
white-space: nowrap;
|
|
13992
13933
|
}
|
|
13993
13934
|
|
|
13935
|
+
.pa-link {
|
|
13936
|
+
color: #007bff;
|
|
13937
|
+
text-decoration: none;
|
|
13938
|
+
}
|
|
13939
|
+
.pa-link:hover {
|
|
13940
|
+
text-decoration: underline;
|
|
13941
|
+
}
|
|
13942
|
+
|
|
13994
13943
|
.component-showcase {
|
|
13995
13944
|
display: flex;
|
|
13996
13945
|
flex-wrap: wrap;
|
package/package.json
CHANGED
package/snippets/buttons.html
CHANGED
|
@@ -248,6 +248,18 @@
|
|
|
248
248
|
Continue
|
|
249
249
|
</button>
|
|
250
250
|
|
|
251
|
+
<!-- Fixed Width with Truncation -->
|
|
252
|
+
<!-- Use minwr-* + maxwr-* to constrain width, text-truncate on inner span for ellipsis -->
|
|
253
|
+
<button class="pa-btn pa-btn--primary minwr-10 maxwr-10">
|
|
254
|
+
<span class="pa-btn__icon">✓</span>
|
|
255
|
+
<span class="text-truncate">Save All Changes</span>
|
|
256
|
+
</button>
|
|
257
|
+
|
|
258
|
+
<button class="pa-btn pa-btn--secondary minwr-10 maxwr-10">
|
|
259
|
+
<span class="pa-btn__icon">×</span>
|
|
260
|
+
<span class="text-truncate">Cancel and Go Back</span>
|
|
261
|
+
</button>
|
|
262
|
+
|
|
251
263
|
|
|
252
264
|
<!-- BUTTON ALIGNMENT -->
|
|
253
265
|
|
|
@@ -148,6 +148,65 @@
|
|
|
148
148
|
--base-border-radius-lg: #{$base-border-radius-lg};
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
// ============================================================================
|
|
152
|
+
// ALERT COLOR DERIVATION MIXINS
|
|
153
|
+
// ============================================================================
|
|
154
|
+
// These mixins use color-mix() to automatically derive alert colors from
|
|
155
|
+
// semantic base colors (--pa-success-bg, --pa-danger-bg, etc.)
|
|
156
|
+
//
|
|
157
|
+
// Light mode: dark text on subtle backgrounds
|
|
158
|
+
// Dark mode: light text on tinted backgrounds
|
|
159
|
+
//
|
|
160
|
+
// Themes call the appropriate mixin instead of hardcoding 12+ CSS variables.
|
|
161
|
+
// Override specific variables after the mixin call if needed.
|
|
162
|
+
// ============================================================================
|
|
163
|
+
|
|
164
|
+
// Light mode: dark text on subtle backgrounds
|
|
165
|
+
@mixin output-pa-alert-variables-light {
|
|
166
|
+
// Success
|
|
167
|
+
--pa-alert-success-text: color-mix(in srgb, var(--pa-success-bg) #{$alert-text-mix-light}, black);
|
|
168
|
+
--pa-alert-success-bg: color-mix(in srgb, var(--pa-success-bg) #{$alert-bg-opacity-light}%, transparent);
|
|
169
|
+
--pa-alert-success-border: color-mix(in srgb, var(--pa-success-bg) #{$alert-border-opacity-light}%, transparent);
|
|
170
|
+
|
|
171
|
+
// Danger
|
|
172
|
+
--pa-alert-danger-text: color-mix(in srgb, var(--pa-danger-bg) #{$alert-text-mix-light}, black);
|
|
173
|
+
--pa-alert-danger-bg: color-mix(in srgb, var(--pa-danger-bg) #{$alert-bg-opacity-light}%, transparent);
|
|
174
|
+
--pa-alert-danger-border: color-mix(in srgb, var(--pa-danger-bg) #{$alert-border-opacity-light}%, transparent);
|
|
175
|
+
|
|
176
|
+
// Warning
|
|
177
|
+
--pa-alert-warning-text: color-mix(in srgb, var(--pa-warning-bg) #{$alert-text-mix-light}, black);
|
|
178
|
+
--pa-alert-warning-bg: color-mix(in srgb, var(--pa-warning-bg) #{$alert-bg-opacity-light}%, transparent);
|
|
179
|
+
--pa-alert-warning-border: color-mix(in srgb, var(--pa-warning-bg) #{$alert-border-opacity-light}%, transparent);
|
|
180
|
+
|
|
181
|
+
// Info
|
|
182
|
+
--pa-alert-info-text: color-mix(in srgb, var(--pa-info-bg) #{$alert-text-mix-light}, black);
|
|
183
|
+
--pa-alert-info-bg: color-mix(in srgb, var(--pa-info-bg) #{$alert-bg-opacity-light}%, transparent);
|
|
184
|
+
--pa-alert-info-border: color-mix(in srgb, var(--pa-info-bg) #{$alert-border-opacity-light}%, transparent);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Dark mode: white text on tinted backgrounds (white text is always readable)
|
|
188
|
+
@mixin output-pa-alert-variables-dark {
|
|
189
|
+
// Success
|
|
190
|
+
--pa-alert-success-text: #ffffff;
|
|
191
|
+
--pa-alert-success-bg: color-mix(in srgb, var(--pa-success-bg) #{$alert-bg-opacity-dark}%, transparent);
|
|
192
|
+
--pa-alert-success-border: color-mix(in srgb, var(--pa-success-bg) #{$alert-border-opacity-dark}%, transparent);
|
|
193
|
+
|
|
194
|
+
// Danger
|
|
195
|
+
--pa-alert-danger-text: #ffffff;
|
|
196
|
+
--pa-alert-danger-bg: color-mix(in srgb, var(--pa-danger-bg) #{$alert-bg-opacity-dark}%, transparent);
|
|
197
|
+
--pa-alert-danger-border: color-mix(in srgb, var(--pa-danger-bg) #{$alert-border-opacity-dark}%, transparent);
|
|
198
|
+
|
|
199
|
+
// Warning
|
|
200
|
+
--pa-alert-warning-text: #ffffff;
|
|
201
|
+
--pa-alert-warning-bg: color-mix(in srgb, var(--pa-warning-bg) #{$alert-bg-opacity-dark}%, transparent);
|
|
202
|
+
--pa-alert-warning-border: color-mix(in srgb, var(--pa-warning-bg) #{$alert-border-opacity-dark}%, transparent);
|
|
203
|
+
|
|
204
|
+
// Info
|
|
205
|
+
--pa-alert-info-text: #ffffff;
|
|
206
|
+
--pa-alert-info-bg: color-mix(in srgb, var(--pa-info-bg) #{$alert-bg-opacity-dark}%, transparent);
|
|
207
|
+
--pa-alert-info-border: color-mix(in srgb, var(--pa-info-bg) #{$alert-border-opacity-dark}%, transparent);
|
|
208
|
+
}
|
|
209
|
+
|
|
151
210
|
// ============================================================================
|
|
152
211
|
// PURE ADMIN THEME CSS VARIABLES OUTPUT MIXIN
|
|
153
212
|
// ============================================================================
|
|
@@ -343,20 +402,9 @@
|
|
|
343
402
|
--pa-modal-content-bg: #{$modal-content-bg};
|
|
344
403
|
|
|
345
404
|
// =========================================================================
|
|
346
|
-
// ALERT COLORS
|
|
405
|
+
// ALERT COLORS - Now derived via output-pa-alert-variables-light/dark mixins
|
|
406
|
+
// Themes must call the appropriate mixin after output-pa-css-variables
|
|
347
407
|
// =========================================================================
|
|
348
|
-
--pa-alert-success-bg: #{$alert-success-bg};
|
|
349
|
-
--pa-alert-success-border: #{$alert-success-border};
|
|
350
|
-
--pa-alert-success-text: #{$alert-success-text};
|
|
351
|
-
--pa-alert-danger-bg: #{$alert-danger-bg};
|
|
352
|
-
--pa-alert-danger-border: #{$alert-danger-border};
|
|
353
|
-
--pa-alert-danger-text: #{$alert-danger-text};
|
|
354
|
-
--pa-alert-warning-bg: #{$alert-warning-bg};
|
|
355
|
-
--pa-alert-warning-border: #{$alert-warning-border};
|
|
356
|
-
--pa-alert-warning-text: #{$alert-warning-text};
|
|
357
|
-
--pa-alert-info-bg: #{$alert-info-bg};
|
|
358
|
-
--pa-alert-info-border: #{$alert-info-border};
|
|
359
|
-
--pa-alert-info-text: #{$alert-info-text};
|
|
360
408
|
|
|
361
409
|
// =========================================================================
|
|
362
410
|
// BADGE COLORS
|
|
@@ -429,4 +477,15 @@
|
|
|
429
477
|
--pa-color-7: #{$color-7};
|
|
430
478
|
--pa-color-8: #{$color-8};
|
|
431
479
|
--pa-color-9: #{$color-9};
|
|
480
|
+
|
|
481
|
+
// Theme color slots - text/contrast colors
|
|
482
|
+
--pa-color-1-text: #{$color-1-text};
|
|
483
|
+
--pa-color-2-text: #{$color-2-text};
|
|
484
|
+
--pa-color-3-text: #{$color-3-text};
|
|
485
|
+
--pa-color-4-text: #{$color-4-text};
|
|
486
|
+
--pa-color-5-text: #{$color-5-text};
|
|
487
|
+
--pa-color-6-text: #{$color-6-text};
|
|
488
|
+
--pa-color-7-text: #{$color-7-text};
|
|
489
|
+
--pa-color-8-text: #{$color-8-text};
|
|
490
|
+
--pa-color-9-text: #{$color-9-text};
|
|
432
491
|
}
|
|
@@ -213,6 +213,28 @@
|
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
+
// Theme color variants (color-1 through color-9)
|
|
217
|
+
// These use theme-customizable colors from --pa-color-* CSS variables
|
|
218
|
+
@for $i from 1 through 9 {
|
|
219
|
+
&--color-#{$i} {
|
|
220
|
+
border-color: var(--pa-color-#{$i});
|
|
221
|
+
|
|
222
|
+
.pa-card__header {
|
|
223
|
+
background-color: var(--pa-color-#{$i});
|
|
224
|
+
color: var(--pa-color-#{$i}-text);
|
|
225
|
+
|
|
226
|
+
h1,
|
|
227
|
+
h2,
|
|
228
|
+
h3,
|
|
229
|
+
h4,
|
|
230
|
+
h5,
|
|
231
|
+
h6 {
|
|
232
|
+
color: var(--pa-color-#{$i}-text);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
216
238
|
// Card tabs
|
|
217
239
|
&__tabs {
|
|
218
240
|
display: flex;
|
|
@@ -242,6 +242,7 @@
|
|
|
242
242
|
@for $i from 1 through 9 {
|
|
243
243
|
&--color-#{$i}::before {
|
|
244
244
|
background-color: var(--pa-color-#{$i});
|
|
245
|
+
color: var(--pa-color-#{$i}-text);
|
|
245
246
|
}
|
|
246
247
|
&--color-#{$i}::after {
|
|
247
248
|
border-top-color: var(--pa-color-#{$i});
|
|
@@ -538,6 +539,7 @@
|
|
|
538
539
|
@for $i from 1 through 9 {
|
|
539
540
|
&.pa-tooltip--color-#{$i} {
|
|
540
541
|
background-color: var(--pa-color-#{$i});
|
|
542
|
+
color: var(--pa-color-#{$i}-text);
|
|
541
543
|
}
|
|
542
544
|
}
|
|
543
545
|
}
|
|
@@ -260,6 +260,16 @@ html.font-size-4xl {
|
|
|
260
260
|
white-space: nowrap;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
// Link styling
|
|
264
|
+
.pa-link {
|
|
265
|
+
color: $accent-color;
|
|
266
|
+
text-decoration: none;
|
|
267
|
+
|
|
268
|
+
&:hover {
|
|
269
|
+
text-decoration: underline;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
263
273
|
// Component showcase styling
|
|
264
274
|
.component-showcase {
|
|
265
275
|
display: flex;
|
|
@@ -2,293 +2,20 @@
|
|
|
2
2
|
* Maps Pure Admin SCSS variables to web component CSS custom properties
|
|
3
3
|
*
|
|
4
4
|
* @keenmate/web-multiselect: Uses --base-* variables from _base-css-variables.scss
|
|
5
|
-
* @keenmate/web-daterangepicker: Uses --
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
* @keenmate/web-daterangepicker: Uses --base-* variables from _base-css-variables.scss
|
|
6
|
+
*
|
|
7
|
+
* NOTE: Both components use the --base-* CSS variable system with built-in fallback chains:
|
|
8
|
+
* 1. External override: --ms-accent-color: #custom
|
|
9
|
+
* 2. Theme base value: var(--base-accent-color)
|
|
10
|
+
* 3. Hardcoded default: #3b82f6
|
|
11
|
+
*
|
|
12
|
+
* This means Pure Admin only needs to set --base-* variables (via the
|
|
13
|
+
* output-base-css-variables mixin) and the components will automatically
|
|
14
|
+
* pick up the theme colors.
|
|
9
15
|
*/
|
|
10
16
|
|
|
11
|
-
/*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
NOTE: Variables set directly on web-daterangepicker
|
|
16
|
-
element to pierce shadow DOM (custom properties
|
|
17
|
-
cascade into shadow DOM when set on host element)
|
|
18
|
-
======================================== */
|
|
19
|
-
|
|
20
|
-
web-daterangepicker {
|
|
21
|
-
/* ===== BASE PRIMITIVES ===== */
|
|
22
|
-
|
|
23
|
-
/* Colors */
|
|
24
|
-
--drp-accent-color: #{$accent-color};
|
|
25
|
-
--drp-primary-bg: #{$btn-primary-bg};
|
|
26
|
-
--drp-primary-bg-hover: #{$btn-primary-bg-hover};
|
|
27
|
-
--drp-text-primary: var(--pa-text-color-1);
|
|
28
|
-
--drp-text-secondary: var(--pa-text-color-2);
|
|
29
|
-
--drp-border-color: #{$border-color};
|
|
30
|
-
--drp-card-bg: var(--pa-card-bg);
|
|
31
|
-
--drp-hover-bg: #{$table-hover-bg};
|
|
32
|
-
|
|
33
|
-
/* Spacing */
|
|
34
|
-
--drp-spacing-xs: #{$spacing-xs};
|
|
35
|
-
--drp-spacing-sm: #{$spacing-sm};
|
|
36
|
-
--drp-spacing-md: #{$spacing-md};
|
|
37
|
-
--drp-spacing-base: #{$spacing-base};
|
|
38
|
-
--drp-spacing-lg: #{$spacing-lg};
|
|
39
|
-
--drp-spacing-xl: #{$spacing-xl};
|
|
40
|
-
|
|
41
|
-
/* Typography */
|
|
42
|
-
--drp-font-size-xs: #{$font-size-xs};
|
|
43
|
-
--drp-font-size-sm: #{$font-size-sm};
|
|
44
|
-
--drp-font-size-base: #{$font-size-base};
|
|
45
|
-
--drp-font-size-lg: #{$font-size-lg};
|
|
46
|
-
--drp-font-weight-normal: #{$font-weight-normal};
|
|
47
|
-
--drp-font-weight-medium: #{$font-weight-medium};
|
|
48
|
-
--drp-font-weight-semibold: #{$font-weight-semibold};
|
|
49
|
-
|
|
50
|
-
/* Animations */
|
|
51
|
-
--drp-transition-fast: #{$transition-fast};
|
|
52
|
-
--drp-transition-normal: #{$transition-normal};
|
|
53
|
-
--drp-easing-snappy: #{$easing-snappy};
|
|
54
|
-
--drp-easing-smooth: #{$easing-smooth};
|
|
55
|
-
|
|
56
|
-
/* Shadows */
|
|
57
|
-
--drp-shadow-sm: #{$shadow-sm};
|
|
58
|
-
--drp-shadow-md: #{$shadow-md};
|
|
59
|
-
--drp-shadow-lg: #{$shadow-lg};
|
|
60
|
-
--drp-shadow-xl: #{$shadow-xl};
|
|
61
|
-
|
|
62
|
-
/* Border radius */
|
|
63
|
-
--drp-border-radius: #{$border-radius};
|
|
64
|
-
--drp-border-radius-sm: #{$border-radius-sm};
|
|
65
|
-
--drp-border-radius-lg: #{$border-radius-lg};
|
|
66
|
-
|
|
67
|
-
/* Border width */
|
|
68
|
-
--drp-border-width-base: #{$border-width-base};
|
|
69
|
-
--drp-border-width-medium: #{$border-width-medium};
|
|
70
|
-
|
|
71
|
-
/* ===== INPUT FIELD SEMANTIC VARIABLES ===== */
|
|
72
|
-
|
|
73
|
-
/* Input colors */
|
|
74
|
-
--drp-input-background: var(--pa-input-bg);
|
|
75
|
-
--drp-input-color: var(--pa-text-color-1);
|
|
76
|
-
--drp-input-border-color: #{$input-border};
|
|
77
|
-
--drp-input-border-color-hover: #{$accent-color};
|
|
78
|
-
--drp-input-border-color-focus: #{$accent-color};
|
|
79
|
-
--drp-input-placeholder-color: var(--pa-text-color-2);
|
|
80
|
-
--drp-input-disabled-background: var(--pa-input-bg);
|
|
81
|
-
--drp-input-disabled-color: var(--pa-text-color-2);
|
|
82
|
-
|
|
83
|
-
/* Input focus effects */
|
|
84
|
-
--drp-input-focus-shadow-color: #{$accent-light};
|
|
85
|
-
--drp-input-focus-shadow-size: #{$focus-ring-width};
|
|
86
|
-
|
|
87
|
-
/* Input icon */
|
|
88
|
-
--drp-input-icon-color: var(--pa-text-color-2);
|
|
89
|
-
--drp-input-icon-opacity: 1;
|
|
90
|
-
|
|
91
|
-
/* Input size variants - matched to Pure Admin .pa-input sizes (10px base)
|
|
92
|
-
Heights: xs=31px, sm=33px, md=35px, lg=38px, xl=41px */
|
|
93
|
-
|
|
94
|
-
/* Extra Small (31px) */
|
|
95
|
-
--drp-input-size-xs-font: #{$font-size-xs};
|
|
96
|
-
--drp-input-size-xs-padding-v: #{$input-padding-v};
|
|
97
|
-
--drp-input-size-xs-padding-h: #{$input-padding-h};
|
|
98
|
-
--drp-input-size-xs-height: 3.1rem; /* 31px (10px base) */
|
|
99
|
-
--drp-input-size-xs-icon-size: 1.2rem; /* 12px (10px base) */
|
|
100
|
-
|
|
101
|
-
/* Small (33px - same height as xs, slightly larger icon) */
|
|
102
|
-
--drp-input-size-sm-font: #{$font-size-xs};
|
|
103
|
-
--drp-input-size-sm-padding-v: #{$input-padding-v};
|
|
104
|
-
--drp-input-size-sm-padding-h: #{$input-padding-h};
|
|
105
|
-
--drp-input-size-sm-height: 3.3rem; /* 33px (10px base) */
|
|
106
|
-
--drp-input-size-sm-icon-size: 1.4rem; /* 14px (10px base) */
|
|
107
|
-
|
|
108
|
-
/* Medium/Default (maps to pa-input: 35px) */
|
|
109
|
-
--drp-input-size-md-font: #{$font-size-sm};
|
|
110
|
-
--drp-input-size-md-padding-v: #{$input-padding-v};
|
|
111
|
-
--drp-input-size-md-padding-h: #{$input-padding-h};
|
|
112
|
-
--drp-input-size-md-height: 3.5rem; /* 35px (10px base) */
|
|
113
|
-
--drp-input-size-md-icon-size: 1.6rem; /* 16px (10px base) */
|
|
114
|
-
|
|
115
|
-
/* Large (maps to pa-input--lg: 38px) */
|
|
116
|
-
--drp-input-size-lg-font: #{$font-size-base};
|
|
117
|
-
--drp-input-size-lg-padding-v: #{$input-padding-v};
|
|
118
|
-
--drp-input-size-lg-padding-h: #{$input-padding-h};
|
|
119
|
-
--drp-input-size-lg-height: 3.8rem; /* 38px (10px base) */
|
|
120
|
-
--drp-input-size-lg-icon-size: 1.8rem; /* 18px (10px base) */
|
|
121
|
-
|
|
122
|
-
/* Extra Large (maps to pa-input--xl: 41px) */
|
|
123
|
-
--drp-input-size-xl-font: #{$font-size-lg};
|
|
124
|
-
--drp-input-size-xl-padding-v: #{$input-padding-v};
|
|
125
|
-
--drp-input-size-xl-padding-h: #{$input-padding-h};
|
|
126
|
-
--drp-input-size-xl-height: 4.1rem; /* 41px (10px base) */
|
|
127
|
-
--drp-input-size-xl-icon-size: 2rem; /* 20px (10px base) */
|
|
128
|
-
|
|
129
|
-
/* ===== CALENDAR CONTAINER ===== */
|
|
130
|
-
|
|
131
|
-
--drp-calendar-bg: var(--pa-card-bg);
|
|
132
|
-
--drp-calendar-border: #{$border-color};
|
|
133
|
-
--drp-calendar-shadow: #{$shadow-xl};
|
|
134
|
-
--drp-calendar-border-radius: #{$border-radius};
|
|
135
|
-
--drp-calendar-padding: #{$spacing-base};
|
|
136
|
-
--drp-calendar-z-index: #{$z-index-dropdown};
|
|
137
|
-
|
|
138
|
-
/* ===== HEADER ===== */
|
|
139
|
-
|
|
140
|
-
--drp-header-padding: #{$spacing-sm} #{$spacing-md};
|
|
141
|
-
--drp-header-font-size: #{$font-size-base};
|
|
142
|
-
--drp-header-font-weight: #{$font-weight-semibold};
|
|
143
|
-
--drp-header-text-color: var(--pa-text-color-1);
|
|
144
|
-
--drp-header-bg-hover: #{$accent-hover};
|
|
145
|
-
--drp-header-bg-active: #{$accent-light};
|
|
146
|
-
|
|
147
|
-
/* ===== NAVIGATION ===== */
|
|
148
|
-
|
|
149
|
-
--drp-nav-btn-size: 3.2rem; /* 32px (10px base) */
|
|
150
|
-
--drp-nav-text-color: var(--pa-text-color-1);
|
|
151
|
-
--drp-nav-border-color: #{$border-color};
|
|
152
|
-
--drp-nav-bg-hover: #{$accent-hover};
|
|
153
|
-
--drp-nav-bg-active: #{$accent-light};
|
|
154
|
-
--drp-nav-border-hover: #{$accent-color};
|
|
155
|
-
|
|
156
|
-
/* ===== WEEKDAY HEADER ===== */
|
|
157
|
-
|
|
158
|
-
--drp-weekday-font-size: #{$font-size-xs};
|
|
159
|
-
--drp-weekday-font-weight: #{$font-weight-semibold};
|
|
160
|
-
--drp-weekday-color: var(--pa-text-color-2);
|
|
161
|
-
--drp-weekday-padding: #{$spacing-xs};
|
|
162
|
-
|
|
163
|
-
/* ===== CALENDAR GRID ===== */
|
|
164
|
-
|
|
165
|
-
--drp-day-size: 3.6rem; /* 36px (10px base) */
|
|
166
|
-
--drp-day-font-size: #{$font-size-sm};
|
|
167
|
-
--drp-day-border-radius: #{$border-radius-sm};
|
|
168
|
-
|
|
169
|
-
/* Day states */
|
|
170
|
-
--drp-day-text-color: var(--pa-text-color-1);
|
|
171
|
-
--drp-day-bg-hover: #{$accent-hover};
|
|
172
|
-
--drp-day-border-hover: transparent;
|
|
173
|
-
|
|
174
|
-
/* Today indicator */
|
|
175
|
-
--drp-day-today-border: #{$accent-color};
|
|
176
|
-
|
|
177
|
-
/* Selected state */
|
|
178
|
-
--drp-day-selected-bg: #{$accent-color};
|
|
179
|
-
--drp-day-selected-color: #ffffff;
|
|
180
|
-
|
|
181
|
-
/* Range state */
|
|
182
|
-
--drp-day-range-bg: #{$accent-light};
|
|
183
|
-
--drp-day-range-text: var(--pa-text-color-1);
|
|
184
|
-
|
|
185
|
-
/* Focused state */
|
|
186
|
-
--drp-day-focused-outline: #{$accent-color};
|
|
187
|
-
|
|
188
|
-
/* Disabled state */
|
|
189
|
-
--drp-day-disabled-color: var(--pa-text-color-2);
|
|
190
|
-
--drp-day-disabled-opacity: #{$opacity-disabled};
|
|
191
|
-
|
|
192
|
-
/* Other month */
|
|
193
|
-
--drp-day-other-month-color: var(--pa-text-color-2);
|
|
194
|
-
--drp-day-other-month-opacity: #{$opacity-muted};
|
|
195
|
-
|
|
196
|
-
/* ===== BADGES ===== */
|
|
197
|
-
|
|
198
|
-
/* Dot badges (original style) */
|
|
199
|
-
--drp-badge-size: 0.6rem; /* 6px (10px base) */
|
|
200
|
-
--drp-badge-primary: #{$btn-primary-bg};
|
|
201
|
-
--drp-badge-success: #{$success-bg};
|
|
202
|
-
--drp-badge-warning: #{$warning-bg};
|
|
203
|
-
--drp-badge-danger: #{$danger-bg};
|
|
204
|
-
--drp-badge-info: #{$info-bg};
|
|
205
|
-
|
|
206
|
-
/* Number badges */
|
|
207
|
-
--drp-badge-number-bg: #{$danger-bg};
|
|
208
|
-
--drp-badge-number-color: #ffffff;
|
|
209
|
-
|
|
210
|
-
/* Count badges */
|
|
211
|
-
--drp-badge-count-bg: #{$accent-color};
|
|
212
|
-
--drp-badge-count-color: #ffffff;
|
|
213
|
-
|
|
214
|
-
/* Text badges */
|
|
215
|
-
--drp-badge-text-bg: #{$accent-light};
|
|
216
|
-
--drp-badge-text-color: var(--pa-text-color-1);
|
|
217
|
-
|
|
218
|
-
/* ===== SUMMARY BAR ===== */
|
|
219
|
-
|
|
220
|
-
--drp-summary-bg: #{$card-header-bg};
|
|
221
|
-
--drp-summary-border-color: #{$border-color};
|
|
222
|
-
--drp-summary-text-color: var(--pa-text-color-1);
|
|
223
|
-
--drp-summary-count-color: #{$accent-color};
|
|
224
|
-
--drp-summary-padding: #{$spacing-sm} #{$spacing-md};
|
|
225
|
-
--drp-summary-font-size: #{$font-size-sm};
|
|
226
|
-
--drp-summary-font-weight: #{$font-weight-medium};
|
|
227
|
-
|
|
228
|
-
/* ===== BUTTONS ===== */
|
|
229
|
-
|
|
230
|
-
/* Today button */
|
|
231
|
-
--drp-button-today-bg: #{$btn-secondary-bg};
|
|
232
|
-
--drp-button-today-bg-hover: #{$btn-secondary-bg-hover};
|
|
233
|
-
--drp-button-today-color: #{$btn-secondary-text};
|
|
234
|
-
--drp-button-today-border: #{$border-color};
|
|
235
|
-
|
|
236
|
-
/* Clear button */
|
|
237
|
-
--drp-button-clear-bg: #{$btn-secondary-bg};
|
|
238
|
-
--drp-button-clear-bg-hover: #{$btn-secondary-bg-hover};
|
|
239
|
-
--drp-button-clear-color: #{$btn-secondary-text};
|
|
240
|
-
--drp-button-clear-border: #{$border-color};
|
|
241
|
-
|
|
242
|
-
/* Cancel button */
|
|
243
|
-
--drp-button-cancel-bg: #{$btn-secondary-bg};
|
|
244
|
-
--drp-button-cancel-bg-hover: #{$btn-secondary-bg-hover};
|
|
245
|
-
--drp-button-cancel-color: #{$btn-secondary-text};
|
|
246
|
-
--drp-button-cancel-border: #{$border-color};
|
|
247
|
-
|
|
248
|
-
/* Apply button */
|
|
249
|
-
--drp-button-apply-bg: #{$btn-primary-bg};
|
|
250
|
-
--drp-button-apply-bg-hover: #{$btn-primary-bg-hover};
|
|
251
|
-
--drp-button-apply-color: #{$btn-primary-text};
|
|
252
|
-
--drp-button-apply-border: #{$btn-primary-bg};
|
|
253
|
-
|
|
254
|
-
/* Button sizing */
|
|
255
|
-
--drp-button-padding: #{$btn-padding-sm-v} #{$btn-padding-sm-h};
|
|
256
|
-
--drp-button-font-size: #{$font-size-sm};
|
|
257
|
-
--drp-button-border-radius: #{$border-radius};
|
|
258
|
-
--drp-button-gap: #{$spacing-sm};
|
|
259
|
-
|
|
260
|
-
/* ===== UNIFIED NAVIGATION ===== */
|
|
261
|
-
|
|
262
|
-
/* Range selectors in unified nav */
|
|
263
|
-
--drp-unified-range-text-color: var(--pa-text-color-1);
|
|
264
|
-
--drp-unified-range-bg-hover: #{$accent-hover};
|
|
265
|
-
--drp-unified-range-bg-active: #{$accent-light};
|
|
266
|
-
|
|
267
|
-
/* Month/Year display */
|
|
268
|
-
--drp-unified-month-color: var(--pa-text-color-1);
|
|
269
|
-
|
|
270
|
-
/* Rolling selector disabled state */
|
|
271
|
-
--drp-unified-rolling-disabled-color: var(--pa-text-color-2);
|
|
272
|
-
|
|
273
|
-
/* ===== ROLLING SELECTOR ===== */
|
|
274
|
-
|
|
275
|
-
--drp-rolling-bg: var(--pa-card-bg);
|
|
276
|
-
--drp-rolling-border: #{$border-color};
|
|
277
|
-
--drp-rolling-shadow: #{$shadow-md};
|
|
278
|
-
--drp-rolling-item-hover-bg: #{$accent-hover};
|
|
279
|
-
--drp-rolling-item-selected-bg: #{$accent-color};
|
|
280
|
-
--drp-rolling-item-selected-text: #ffffff;
|
|
281
|
-
--drp-rolling-font-size: #{$font-size-sm};
|
|
282
|
-
--drp-rolling-item-text-color: var(--pa-text-color-1);
|
|
283
|
-
--drp-rolling-item-disabled-color: var(--pa-text-color-2);
|
|
284
|
-
|
|
285
|
-
/* ===== LOADING OVERLAY ===== */
|
|
286
|
-
|
|
287
|
-
--drp-loading-bg: rgba(255, 255, 255, 0.8);
|
|
288
|
-
--drp-loading-spinner-color: #{$accent-color};
|
|
289
|
-
--drp-loading-spinner-size: #{$spinner-size};
|
|
290
|
-
|
|
291
|
-
/* ===== MULTIPLE MONTHS ===== */
|
|
292
|
-
|
|
293
|
-
--drp-months-gap: #{$spacing-lg};
|
|
17
|
+
/* Web Multiselect - Group label styling */
|
|
18
|
+
web-multiselect {
|
|
19
|
+
--ms-group-label-color: var(--base-text-color-1);
|
|
20
|
+
--ms-group-label-font-weight: 600;
|
|
294
21
|
}
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
&__prepend {
|
|
48
48
|
background-color: var(--pa-input-group-prepend-bg);
|
|
49
49
|
color: var(--pa-input-group-prepend-text);
|
|
50
|
+
border-color: var(--pa-input-group-prepend-bg);
|
|
50
51
|
border-right: none;
|
|
51
52
|
|
|
52
53
|
&:first-child {
|
|
@@ -58,6 +59,7 @@
|
|
|
58
59
|
&__append {
|
|
59
60
|
background-color: var(--pa-input-group-append-bg);
|
|
60
61
|
color: var(--pa-input-group-append-text);
|
|
62
|
+
border-color: var(--pa-input-group-append-bg);
|
|
61
63
|
border-left: none;
|
|
62
64
|
|
|
63
65
|
&:last-child {
|
|
@@ -68,11 +70,11 @@
|
|
|
68
70
|
|
|
69
71
|
// Adjacent prepends/appends need borders between them
|
|
70
72
|
&__prepend + &__prepend {
|
|
71
|
-
border-left: $border-width-base solid var(--pa-
|
|
73
|
+
border-left: $border-width-base solid var(--pa-input-group-prepend-bg);
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
&__append + &__append {
|
|
75
|
-
border-left: $border-width-base solid var(--pa-
|
|
77
|
+
border-left: $border-width-base solid var(--pa-input-group-append-bg);
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
// When input is focused, show focus border on adjacent prepend/append
|
|
@@ -213,3 +213,16 @@ $base-border-radius-lg: 0.8 !default; // 8px
|
|
|
213
213
|
|
|
214
214
|
// Command palette input height (must be after $base-input-size-* variables)
|
|
215
215
|
$command-palette-input-height: #{$base-input-size-lg-height}rem !default;
|
|
216
|
+
|
|
217
|
+
// =============================================================================
|
|
218
|
+
// ALERT COLOR DERIVATION PARAMETERS
|
|
219
|
+
// Used by color-mix() mixins to derive alert colors from semantic base colors
|
|
220
|
+
// Themes can override these to customize alert appearance
|
|
221
|
+
// =============================================================================
|
|
222
|
+
|
|
223
|
+
$alert-bg-opacity-light: 15 !default; // Light mode: subtle bg (%)
|
|
224
|
+
$alert-bg-opacity-dark: 45 !default; // Dark mode: punchy, vibrant bg (%)
|
|
225
|
+
$alert-border-opacity-light: 30 !default; // Light mode border (%)
|
|
226
|
+
$alert-border-opacity-dark: 70 !default; // Dark mode border - more visible (%)
|
|
227
|
+
$alert-text-mix-light: 60% !default; // Mix with black for dark text
|
|
228
|
+
$alert-text-mix-dark: 80% !default; // Mix with white for light text
|
|
@@ -216,3 +216,15 @@ $color-6: transparent !default;
|
|
|
216
216
|
$color-7: transparent !default;
|
|
217
217
|
$color-8: transparent !default;
|
|
218
218
|
$color-9: transparent !default;
|
|
219
|
+
|
|
220
|
+
// Theme color slots - text/contrast colors
|
|
221
|
+
// These define the text color to use when color-N is used as a background
|
|
222
|
+
$color-1-text: #ffffff !default;
|
|
223
|
+
$color-2-text: #ffffff !default;
|
|
224
|
+
$color-3-text: #ffffff !default;
|
|
225
|
+
$color-4-text: #ffffff !default;
|
|
226
|
+
$color-5-text: #ffffff !default;
|
|
227
|
+
$color-6-text: #ffffff !default;
|
|
228
|
+
$color-7-text: #ffffff !default;
|
|
229
|
+
$color-8-text: #ffffff !default;
|
|
230
|
+
$color-9-text: #ffffff !default;
|
|
@@ -283,24 +283,11 @@ $alert-icon-margin: $spacing-sm !default;
|
|
|
283
283
|
$alert-list-padding-left: $spacing-lg !default;
|
|
284
284
|
$alert-list-item-margin-top: $card-footer-padding-v !default;
|
|
285
285
|
|
|
286
|
-
// Alert colors
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
$alert-success-text: $success-bg !default;
|
|
290
|
-
|
|
291
|
-
$alert-danger-bg: $danger-bg-subtle !default;
|
|
292
|
-
$alert-danger-border: $danger-border !default;
|
|
293
|
-
$alert-danger-text: $danger-bg !default;
|
|
286
|
+
// Alert colors - Now derived via color-mix() mixins in _base-css-variables.scss
|
|
287
|
+
// Themes call output-pa-alert-variables-light/dark instead of hardcoding values
|
|
288
|
+
// Keep only the text transform variable as it's not color-related
|
|
294
289
|
$alert-danger-text-transform: none !default;
|
|
295
290
|
|
|
296
|
-
$alert-warning-bg: $warning-bg-subtle !default;
|
|
297
|
-
$alert-warning-border: $warning-border !default;
|
|
298
|
-
$alert-warning-text: $warning-bg !default;
|
|
299
|
-
|
|
300
|
-
$alert-info-bg: $info-bg-subtle !default;
|
|
301
|
-
$alert-info-border: $info-border !default;
|
|
302
|
-
$alert-info-text: $info-bg !default;
|
|
303
|
-
|
|
304
291
|
// ============================================================================
|
|
305
292
|
// CALLOUT SYSTEM
|
|
306
293
|
// ============================================================================
|