@keenmate/pure-admin-core 1.1.2 → 1.2.0
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 +32 -1
- package/dist/css/main.css +420 -2
- package/package.json +1 -1
- package/snippets/detail-panel.html +138 -0
- package/src/scss/_base-css-variables.scss +78 -13
- package/src/scss/_core.scss +3 -0
- package/src/scss/core-components/_cards.scss +22 -0
- package/src/scss/core-components/_detail-panel.scss +335 -0
- package/src/scss/core-components/_tooltips.scss +2 -0
- 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 +23 -16
package/README.md
CHANGED
|
@@ -77,6 +77,7 @@ The `snippets/` directory contains clean HTML patterns for all components:
|
|
|
77
77
|
- `utilities.html` - Utility classes
|
|
78
78
|
- `virtual-scroll.html` - Virtual scrolling
|
|
79
79
|
- `web-daterangepicker.html` - Date range picker web component
|
|
80
|
+
- `detail-panel.html` - Detail panel (inline, overlay, full-screen)
|
|
80
81
|
- `web-multiselect.html` - Multiselect web component
|
|
81
82
|
|
|
82
83
|
These snippets are the canonical reference for building framework components in any frontend framework (React, Vue, Svelte, etc.).
|
|
@@ -151,6 +152,10 @@ This enables dark mode support for web components like `@keenmate/web-grid` that
|
|
|
151
152
|
- `.pa-card__header` - Card header
|
|
152
153
|
- `.pa-card__body` - Card body
|
|
153
154
|
- `.pa-card__footer` - Card footer
|
|
155
|
+
- **Semantic variants:** `.pa-card--primary/success/danger/warning`
|
|
156
|
+
- **Theme color variants:** `.pa-card--color-1` through `.pa-card--color-9`
|
|
157
|
+
- Uses `--pa-color-N` for header background and border
|
|
158
|
+
- Text color automatically adjusts via `--pa-color-N-text` for readability
|
|
154
159
|
|
|
155
160
|
### Layout & Sidebar
|
|
156
161
|
- `.pa-layout` - Main layout container
|
|
@@ -230,7 +235,9 @@ This enables dark mode support for web components like `@keenmate/web-grid` that
|
|
|
230
235
|
### Tooltips & Popovers
|
|
231
236
|
- `.pa-tooltip` - Base tooltip (pure CSS, no JS required)
|
|
232
237
|
- `.pa-tooltip--top/right/bottom/left` - Positioning
|
|
233
|
-
- `.pa-tooltip--primary/success/warning/danger` -
|
|
238
|
+
- `.pa-tooltip--primary/success/warning/danger` - Semantic variants
|
|
239
|
+
- `.pa-tooltip--color-1` through `.pa-tooltip--color-9` - Theme color variants
|
|
240
|
+
- Text color automatically adjusts via `--pa-color-N-text` for readability
|
|
234
241
|
- `.pa-tooltip--multiline` - Multiline tooltips
|
|
235
242
|
- `.pa-popover` - Base popover (requires JavaScript)
|
|
236
243
|
- `.pa-popover--sm/md/lg` - Sizes
|
|
@@ -304,6 +311,26 @@ This enables dark mode support for web components like `@keenmate/web-grid` that
|
|
|
304
311
|
- `.pa-notifications__time` - Timestamp
|
|
305
312
|
- `.pa-notifications__footer` - Panel footer with "View all" link
|
|
306
313
|
|
|
314
|
+
### Detail Panel
|
|
315
|
+
- `.pa-detail-view` - Flex wrapper for inline split-view (table + panel side by side)
|
|
316
|
+
- `.pa-detail-view__main` - Left side (table area), `flex: 1`
|
|
317
|
+
- `.pa-detail-view__panel` - Right side panel, hidden by default (`width: 0`)
|
|
318
|
+
- `.pa-detail-view__panel--open` - Shows panel with configured width
|
|
319
|
+
- `.pa-detail-view--overlay` - Card overlay modifier (panel overlays table within card)
|
|
320
|
+
- `.pa-detail-view__overlay` - Backdrop element (click to close), use `--visible` to show
|
|
321
|
+
- `.pa-detail-panel--overlay` - Full-screen overlay mode (fixed position, like profile panel)
|
|
322
|
+
- `.pa-detail-panel--open` - Makes overlay panel visible with slide-in transition
|
|
323
|
+
- `.pa-detail-panel__content` - Panel content wrapper (flex column: header/body/footer)
|
|
324
|
+
- `.pa-detail-panel__header` - Panel header with title, optional action buttons, close button
|
|
325
|
+
- `.pa-detail-panel__title` - Truncated panel title
|
|
326
|
+
- `.pa-detail-panel__close` - Close button
|
|
327
|
+
- `.pa-detail-panel__tabs` - Optional tab navigation (between header and body)
|
|
328
|
+
- `.pa-detail-panel__body` - Scrollable body area
|
|
329
|
+
- `.pa-detail-panel__footer` - Fixed footer with action buttons
|
|
330
|
+
- `.pa-detail-panel__overlay` - Backdrop (overlay mode, click to close)
|
|
331
|
+
- `.pa-detail-panel-resize` - Drag handle on left edge for resizing
|
|
332
|
+
- `.is-selected` - Applied to `<tr>` to highlight selected row
|
|
333
|
+
|
|
307
334
|
### Profile Panel
|
|
308
335
|
- `.pa-profile-panel` - Slide-in profile panel
|
|
309
336
|
- `.pa-profile-panel--open` - Open state
|
|
@@ -342,12 +369,16 @@ This enables dark mode support for web components like `@keenmate/web-grid` that
|
|
|
342
369
|
- `.pa-bg-color-1` through `.pa-bg-color-9` - Background color slots
|
|
343
370
|
- `.pa-text-color-1` through `.pa-text-color-9` - Text color slots
|
|
344
371
|
- `.pa-border-color-1` through `.pa-border-color-9` - Border color slots
|
|
372
|
+
- **CSS Variables:**
|
|
373
|
+
- `--pa-color-1` through `--pa-color-9` - Background colors (theme-defined)
|
|
374
|
+
- `--pa-color-1-text` through `--pa-color-9-text` - Contrast text colors for readability on colored backgrounds
|
|
345
375
|
|
|
346
376
|
## SCSS Variables
|
|
347
377
|
|
|
348
378
|
All components use SCSS variables with `!default` flags, making them fully customizable:
|
|
349
379
|
|
|
350
380
|
- **Colors**: `$main-bg`, `$page-bg`, `$subtle-bg`, `$accent-color`, `$text-color-1`, `$text-color-2`, etc.
|
|
381
|
+
- **Theme Color Slots**: `$color-1` through `$color-9` (background colors), `$color-1-text` through `$color-9-text` (contrast text colors)
|
|
351
382
|
- **Spacing**: `$spacing-xs` through `$spacing-2xl`
|
|
352
383
|
- **Typography**: `$font-size-*`, `$line-height-*`, `$font-weight-*`
|
|
353
384
|
- **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);
|
|
@@ -13146,6 +13301,269 @@ code {
|
|
|
13146
13301
|
padding: 0.4rem 0.8rem;
|
|
13147
13302
|
}
|
|
13148
13303
|
|
|
13304
|
+
/* ========================================
|
|
13305
|
+
Detail Panel Components
|
|
13306
|
+
Inline split-view and overlay detail panels
|
|
13307
|
+
======================================== */
|
|
13308
|
+
:root {
|
|
13309
|
+
--pa-local-detail-panel-width: 40rem;
|
|
13310
|
+
--pa-local-detail-panel-max-width: 64rem;
|
|
13311
|
+
}
|
|
13312
|
+
|
|
13313
|
+
:where(.pa-detail-view__panel) {
|
|
13314
|
+
width: var(--pa-local-detail-panel-width);
|
|
13315
|
+
max-width: var(--pa-local-detail-panel-max-width);
|
|
13316
|
+
}
|
|
13317
|
+
|
|
13318
|
+
.pa-detail-view {
|
|
13319
|
+
display: flex;
|
|
13320
|
+
gap: 0;
|
|
13321
|
+
width: 100%;
|
|
13322
|
+
}
|
|
13323
|
+
.pa-detail-view__main {
|
|
13324
|
+
flex: 1;
|
|
13325
|
+
min-width: 0;
|
|
13326
|
+
overflow: auto;
|
|
13327
|
+
}
|
|
13328
|
+
.pa-detail-view__panel {
|
|
13329
|
+
width: 0;
|
|
13330
|
+
min-width: 0;
|
|
13331
|
+
overflow: hidden;
|
|
13332
|
+
flex-shrink: 0;
|
|
13333
|
+
border-left: 0 solid var(--pa-border-color);
|
|
13334
|
+
}
|
|
13335
|
+
.pa-detail-view__panel--open {
|
|
13336
|
+
width: var(--pa-local-detail-panel-width);
|
|
13337
|
+
min-width: 28rem;
|
|
13338
|
+
max-width: var(--pa-local-detail-panel-max-width);
|
|
13339
|
+
border-left-width: 1px;
|
|
13340
|
+
overflow: visible;
|
|
13341
|
+
}
|
|
13342
|
+
|
|
13343
|
+
.pa-detail-view--overlay {
|
|
13344
|
+
position: relative;
|
|
13345
|
+
overflow: hidden;
|
|
13346
|
+
}
|
|
13347
|
+
.pa-detail-view--overlay .pa-detail-view__panel {
|
|
13348
|
+
position: absolute;
|
|
13349
|
+
top: 0;
|
|
13350
|
+
right: 0;
|
|
13351
|
+
height: 100%;
|
|
13352
|
+
z-index: 2;
|
|
13353
|
+
}
|
|
13354
|
+
|
|
13355
|
+
.pa-detail-view__overlay {
|
|
13356
|
+
position: absolute;
|
|
13357
|
+
top: 0;
|
|
13358
|
+
left: 0;
|
|
13359
|
+
width: 100%;
|
|
13360
|
+
height: 100%;
|
|
13361
|
+
background-color: var(--pa-detail-panel-overlay-bg);
|
|
13362
|
+
z-index: 1;
|
|
13363
|
+
opacity: 0;
|
|
13364
|
+
visibility: hidden;
|
|
13365
|
+
cursor: pointer;
|
|
13366
|
+
}
|
|
13367
|
+
.pa-detail-view__overlay--visible {
|
|
13368
|
+
opacity: 1;
|
|
13369
|
+
visibility: visible;
|
|
13370
|
+
}
|
|
13371
|
+
|
|
13372
|
+
.pa-detail-panel--overlay {
|
|
13373
|
+
position: fixed;
|
|
13374
|
+
top: 0;
|
|
13375
|
+
right: 0;
|
|
13376
|
+
height: 100vh;
|
|
13377
|
+
z-index: 4500;
|
|
13378
|
+
pointer-events: none;
|
|
13379
|
+
opacity: 0;
|
|
13380
|
+
visibility: hidden;
|
|
13381
|
+
}
|
|
13382
|
+
.pa-detail-panel--overlay.pa-detail-panel--open {
|
|
13383
|
+
opacity: 1;
|
|
13384
|
+
visibility: visible;
|
|
13385
|
+
pointer-events: all;
|
|
13386
|
+
}
|
|
13387
|
+
.pa-detail-panel--overlay.pa-detail-panel--open .pa-detail-panel__content {
|
|
13388
|
+
transform: translateX(0);
|
|
13389
|
+
}
|
|
13390
|
+
|
|
13391
|
+
.pa-detail-panel__content {
|
|
13392
|
+
display: flex;
|
|
13393
|
+
flex-direction: column;
|
|
13394
|
+
height: 100%;
|
|
13395
|
+
background-color: var(--pa-card-bg);
|
|
13396
|
+
position: relative;
|
|
13397
|
+
}
|
|
13398
|
+
.pa-detail-panel--overlay .pa-detail-panel__content {
|
|
13399
|
+
position: absolute;
|
|
13400
|
+
top: 0;
|
|
13401
|
+
right: 0;
|
|
13402
|
+
height: 100vh;
|
|
13403
|
+
width: var(--pa-local-detail-panel-width);
|
|
13404
|
+
max-width: var(--pa-local-detail-panel-max-width);
|
|
13405
|
+
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
|
|
13406
|
+
transform: translateX(100%);
|
|
13407
|
+
}
|
|
13408
|
+
|
|
13409
|
+
.pa-detail-panel__overlay {
|
|
13410
|
+
position: absolute;
|
|
13411
|
+
top: 0;
|
|
13412
|
+
left: 0;
|
|
13413
|
+
width: 100vw;
|
|
13414
|
+
height: 100vh;
|
|
13415
|
+
background-color: var(--pa-detail-panel-overlay-bg);
|
|
13416
|
+
cursor: pointer;
|
|
13417
|
+
}
|
|
13418
|
+
|
|
13419
|
+
.pa-detail-panel__header {
|
|
13420
|
+
flex-shrink: 0;
|
|
13421
|
+
display: flex;
|
|
13422
|
+
align-items: center;
|
|
13423
|
+
gap: 0.8rem;
|
|
13424
|
+
padding: 1.2rem 1.6rem;
|
|
13425
|
+
border-bottom: 1px solid var(--pa-border-color);
|
|
13426
|
+
background-color: var(--pa-card-bg);
|
|
13427
|
+
min-height: 0;
|
|
13428
|
+
}
|
|
13429
|
+
|
|
13430
|
+
.pa-detail-panel__title {
|
|
13431
|
+
flex: 1;
|
|
13432
|
+
margin: 0;
|
|
13433
|
+
font-size: 1.8rem;
|
|
13434
|
+
font-weight: 600;
|
|
13435
|
+
color: var(--pa-text-color-1);
|
|
13436
|
+
overflow: hidden;
|
|
13437
|
+
text-overflow: ellipsis;
|
|
13438
|
+
white-space: nowrap;
|
|
13439
|
+
}
|
|
13440
|
+
|
|
13441
|
+
.pa-detail-panel__close {
|
|
13442
|
+
width: 3.2rem;
|
|
13443
|
+
height: 3.2rem;
|
|
13444
|
+
flex-shrink: 0;
|
|
13445
|
+
background: none;
|
|
13446
|
+
border: none;
|
|
13447
|
+
cursor: pointer;
|
|
13448
|
+
display: flex;
|
|
13449
|
+
align-items: center;
|
|
13450
|
+
justify-content: center;
|
|
13451
|
+
color: var(--pa-text-color-2);
|
|
13452
|
+
border-radius: 4px;
|
|
13453
|
+
}
|
|
13454
|
+
.pa-detail-panel__close:hover {
|
|
13455
|
+
background-color: var(--pa-accent-light);
|
|
13456
|
+
color: var(--pa-accent);
|
|
13457
|
+
}
|
|
13458
|
+
.pa-detail-panel__close:focus {
|
|
13459
|
+
outline: 2px solid var(--pa-accent);
|
|
13460
|
+
outline-offset: 2px;
|
|
13461
|
+
}
|
|
13462
|
+
|
|
13463
|
+
.pa-detail-panel__tabs {
|
|
13464
|
+
flex-shrink: 0;
|
|
13465
|
+
padding: 0 1.6rem;
|
|
13466
|
+
border-bottom: 1px solid var(--pa-border-color);
|
|
13467
|
+
background-color: var(--pa-card-bg);
|
|
13468
|
+
}
|
|
13469
|
+
.pa-detail-panel__tabs .pa-tabs__item {
|
|
13470
|
+
color: var(--pa-text-color-2);
|
|
13471
|
+
border-bottom-color: transparent;
|
|
13472
|
+
}
|
|
13473
|
+
.pa-detail-panel__tabs .pa-tabs__item:hover {
|
|
13474
|
+
color: var(--pa-text-color-1);
|
|
13475
|
+
background-color: var(--pa-accent-light);
|
|
13476
|
+
}
|
|
13477
|
+
.pa-detail-panel__tabs .pa-tabs__item--active {
|
|
13478
|
+
color: var(--pa-text-color-1);
|
|
13479
|
+
border-bottom-color: var(--pa-accent);
|
|
13480
|
+
}
|
|
13481
|
+
|
|
13482
|
+
.pa-detail-panel__body {
|
|
13483
|
+
flex: 1;
|
|
13484
|
+
overflow-y: auto;
|
|
13485
|
+
padding: 1.2rem 1.6rem;
|
|
13486
|
+
}
|
|
13487
|
+
|
|
13488
|
+
.pa-detail-panel__footer {
|
|
13489
|
+
flex-shrink: 0;
|
|
13490
|
+
padding: 1.2rem 1.6rem;
|
|
13491
|
+
border-top: 1px solid var(--pa-border-color);
|
|
13492
|
+
background-color: var(--pa-card-bg);
|
|
13493
|
+
display: flex;
|
|
13494
|
+
align-items: center;
|
|
13495
|
+
gap: 0.8rem;
|
|
13496
|
+
}
|
|
13497
|
+
|
|
13498
|
+
.pa-detail-panel-resize {
|
|
13499
|
+
position: absolute;
|
|
13500
|
+
top: 0;
|
|
13501
|
+
left: 0;
|
|
13502
|
+
width: 6px;
|
|
13503
|
+
height: 100%;
|
|
13504
|
+
cursor: col-resize;
|
|
13505
|
+
z-index: 1;
|
|
13506
|
+
}
|
|
13507
|
+
.pa-detail-panel-resize:hover, .pa-detail-panel-resize--active {
|
|
13508
|
+
background-color: var(--pa-accent);
|
|
13509
|
+
opacity: 0.3;
|
|
13510
|
+
}
|
|
13511
|
+
|
|
13512
|
+
.pa-detail-panel-resizing {
|
|
13513
|
+
cursor: col-resize !important;
|
|
13514
|
+
user-select: none !important;
|
|
13515
|
+
}
|
|
13516
|
+
|
|
13517
|
+
.pa-table tbody tr.is-selected {
|
|
13518
|
+
background-color: var(--pa-detail-panel-selected-bg);
|
|
13519
|
+
}
|
|
13520
|
+
.pa-table tbody tr.is-selected:hover {
|
|
13521
|
+
background-color: var(--pa-detail-panel-selected-bg);
|
|
13522
|
+
}
|
|
13523
|
+
|
|
13524
|
+
@media (max-width: 768px) {
|
|
13525
|
+
.pa-detail-view__panel {
|
|
13526
|
+
display: none;
|
|
13527
|
+
}
|
|
13528
|
+
.pa-detail-panel--mobile-overlay {
|
|
13529
|
+
display: block;
|
|
13530
|
+
position: fixed;
|
|
13531
|
+
top: 0;
|
|
13532
|
+
right: 0;
|
|
13533
|
+
height: 100vh;
|
|
13534
|
+
z-index: 4500;
|
|
13535
|
+
pointer-events: none;
|
|
13536
|
+
opacity: 0;
|
|
13537
|
+
visibility: hidden;
|
|
13538
|
+
}
|
|
13539
|
+
.pa-detail-panel--mobile-overlay.pa-detail-panel--open {
|
|
13540
|
+
opacity: 1;
|
|
13541
|
+
visibility: visible;
|
|
13542
|
+
pointer-events: all;
|
|
13543
|
+
}
|
|
13544
|
+
.pa-detail-panel--mobile-overlay.pa-detail-panel--open .pa-detail-panel__content {
|
|
13545
|
+
transform: translateX(0);
|
|
13546
|
+
}
|
|
13547
|
+
.pa-detail-panel--mobile-overlay .pa-detail-panel__content {
|
|
13548
|
+
position: absolute;
|
|
13549
|
+
top: 0;
|
|
13550
|
+
right: 0;
|
|
13551
|
+
height: 100vh;
|
|
13552
|
+
width: 90vw;
|
|
13553
|
+
max-width: none;
|
|
13554
|
+
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
|
|
13555
|
+
transform: translateX(100%);
|
|
13556
|
+
}
|
|
13557
|
+
.pa-detail-panel--mobile-overlay .pa-detail-panel__overlay {
|
|
13558
|
+
position: absolute;
|
|
13559
|
+
top: 0;
|
|
13560
|
+
left: 0;
|
|
13561
|
+
width: 100vw;
|
|
13562
|
+
height: 100vh;
|
|
13563
|
+
background-color: var(--pa-detail-panel-overlay-bg);
|
|
13564
|
+
cursor: pointer;
|
|
13565
|
+
}
|
|
13566
|
+
}
|
|
13149
13567
|
/* ========================================
|
|
13150
13568
|
Settings Panel Component
|
|
13151
13569
|
Floating panel for global settings management
|
package/package.json
CHANGED