@keenmate/pure-admin-core 2.5.0 → 2.7.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 +25 -14
- package/dist/css/main.css +379 -297
- package/package.json +1 -1
- package/src/scss/_base-css-variables.scss +157 -32
- package/src/scss/core-components/_alerts.scss +2 -2
- package/src/scss/core-components/_base.scss +19 -2
- package/src/scss/core-components/_buttons.scss +12 -8
- package/src/scss/core-components/_callouts.scss +1 -1
- package/src/scss/core-components/_cards.scss +4 -4
- package/src/scss/core-components/_checkbox-lists.scss +2 -2
- package/src/scss/core-components/_comparison.scss +7 -4
- package/src/scss/core-components/_data-display.scss +24 -15
- package/src/scss/core-components/_data-viz.scss +140 -132
- package/src/scss/core-components/_file-selector.scss +34 -34
- package/src/scss/core-components/_lists.scss +4 -4
- package/src/scss/core-components/_logic-tree.scss +2 -2
- package/src/scss/core-components/_modals.scss +69 -0
- package/src/scss/core-components/_notifications.scss +17 -17
- package/src/scss/core-components/_popconfirm.scss +1 -1
- package/src/scss/core-components/_statistics.scss +40 -37
- package/src/scss/core-components/_tabs.scss +12 -12
- package/src/scss/core-components/_timeline.scss +30 -30
- package/src/scss/core-components/badges/_composite-badge-variants.scss +7 -7
- package/src/scss/core-components/badges/_composite-badge.scss +1 -1
- package/src/scss/core-components/badges/_labels.scss +6 -6
- package/src/scss/core-components/forms/_input-wrapper.scss +1 -1
- package/src/scss/core-components/forms/_query-editor.scss +10 -10
- package/src/scss/core-components/layout/_sidebar-states.scss +1 -0
- package/src/scss/core-components/layout/_sidebar.scss +1 -0
- package/src/scss/variables/_base.scss +15 -3
- package/src/scss/variables/_colors.scss +1 -0
- package/src/scss/variables/_components.scss +26 -14
package/README.md
CHANGED
|
@@ -2,20 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
Lightweight, data-focused CSS/SCSS admin framework with Corporate theme as default.
|
|
4
4
|
|
|
5
|
-
## What's New in 2.
|
|
6
|
-
|
|
7
|
-
- **
|
|
8
|
-
- **
|
|
9
|
-
-
|
|
10
|
-
- **
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
- **
|
|
17
|
-
-
|
|
18
|
-
-
|
|
5
|
+
## What's New in 2.7.0
|
|
6
|
+
|
|
7
|
+
- **Full `core-components/` consolidation pass — every SCSS-baked role colour migrated to CSS custom properties.** Started with the four files deferred from 2.6.0 (`_statistics.scss` / `_data-display.scss` / `_data-viz.scss` / `_comparison.scss`) and extended to cover the rest: timelines, file selectors, query editors, lists, checkbox lists, logic trees, input wrappers, composite badges, notifications, and live-data card states. Roughly 120 SCSS-baked role-colour references migrated, so theme overrides of `--pa-success` / `--pa-warning` / `--pa-danger` / `--pa-info` now cascade into every component in `core-components/`. Many of these previously baked colours at compile time and silently ignored theme overrides.
|
|
8
|
+
- **Five broken `rgba(var(--pa-X), Y)` rules fixed** — CSS `rgba()` doesn't accept `var()` as a colour input, so the entire declaration is invalid and silently dropped by browsers. Found across `_query-editor.scss`, `_file-selector.scss`, `_notifications.scss`, and `_timeline.scss` — operator-token tints, modal close-button hovers, secondary notification action backgrounds, and secondary timeline dot shadows all rendered transparent. All converted to `color-mix(in srgb, var(--pa-X) Y%, transparent)`.
|
|
9
|
+
- **`.pa-fields--chips` and `.pa-accent-grid` bug fix** — both referenced non-existent `var(--pa-*-color)` tokens, silently falling back to hardcoded RGB literals (`#28a745`, `#e68a00`, etc.). Now reference the canonical `--pa-success` / `--pa-warning` / `--pa-danger` / `--pa-info` tokens. Themes that override role colours now reach these components for the first time.
|
|
10
|
+
- **`.pa-card--live-up` / `--live-down` migrated to the sentiment scale** — direction-of-change indicators (live-data tinted backgrounds reflecting tick direction) moved from role colours (`$success-bg` / `$danger-bg`) to `var(--pa-positive)` / `var(--pa-negative)`. Sentiment is the right semantic layer for ordinal change, leaving the role-colour scale free for categorical urgency.
|
|
11
|
+
- **Timeline simple-variant dot tuning (Visual breaking)** — shadow opacity bumped `0.3 → 0.5` so green / orange / red drop shadows actually register on warm dark themes (only blue read clearly at 30%). Border-radius pulled out as `$timeline-simple-dot-border-radius` (default `30%`, was hardcoded `50%`) — circles → squircles. Both still overridable via `!default`.
|
|
12
|
+
- **Sass interpolation gotcha squashed** — `#{$x * 100}%` was producing `50 %` (with a stray space) in compiled CSS, which `color-mix()` rejects as invalid. Affected all five timeline shadow variants and the composite-badge focus ring — shadows simply didn't render. Fixed via `#{$x * 100%}` (unit inside the multiplication, so Sass emits a real percentage). Worth knowing if you're using the same pattern in your own SCSS.
|
|
13
|
+
- **Global link styling added** — the framework had no `a {}` rule, so links fell back to browser-default `#0000EE` blue (unreadable on dark themes; equally bad on bright theme accents). Added `--pa-link-color` / `--pa-link-color-hover` / `--pa-link-color-visited` tokens defaulting to `var(--pa-accent)`, plus a global rule in `_base.scss` wrapped in `:where()` so component-level overrides (sidebar, navbar, alerts) win without specificity wars. Links now follow the theme's accent by default. Hover uses `color-mix(in srgb, var(--pa-link-color), currentColor 50%)` so it auto-darkens on light themes and auto-lightens on dark themes without per-mode declarations. Theme authors can override the link tokens for distinct link colours.
|
|
14
|
+
- **`.pa-gauge` rebuilt as a true ring with a transparent centre (Visual breaking)** — the previous "donut hole" was an opaque overlay using `var(--pa-card-bg)`, so it broke whenever the gauge wasn't placed directly on a card surface. Replaced with a `mask-image` cut that carves a real transparent hole, working on any surface. Inner and outer ring boundaries are now concentric (`at 50% 100%` shared by conic gradient and mask), so ring thickness is uniform all the way around.
|
|
15
|
+
- **`.pa-gauge` layout rebuild (Visual breaking)** — gauge label (`CPU` / `Memory` / `Temp` / etc.) moved out of the donut hole onto a row below the baseline alongside `__min` and `__max`. Donut hole now holds only the value at `font-size-3xl` (`2.8rem`), anchored at the baseline. New `--pa-gauge-fill` CSS var collapses 4 redundant variant rules into a single token override; new `--pa-gauge-size` CSS var for per-instance size control (`<div class="pa-gauge" style="--pa-gauge-size: 16rem">`).
|
|
16
|
+
- **Track-background visibility fix in dark themes** — `.pa-data-bar` and `.pa-bar-list` used `rgba(0, 0, 0, 0.06)` (effectively invisible in dark mode). Migrated to `var(--pa-surface-track)` so they invert correctly between light and dark themes alongside the rest of the surface tier system.
|
|
17
|
+
- **`.pa-modal--banded` — new compositional modal style.** Combines with the existing role classes — `<div class="pa-modal pa-modal--success pa-modal--banded">` — so header AND footer wear the role colour as filled bands while body and the modal's own buttons stay neutral. Bands consume the alert tokens (`--pa-alert-X-bg/-text/-border`), so the banded modal automatically tracks the alert palette across light/dark themes (15% mix in light, 45% in dark). Compositional pattern means new role variants are one compound selector each, not duplicated structural blocks. Plus a base-rule fix: `.pa-modal__footer` now has matching `border-radius` so coloured footers no longer square off at the bottom corners — latent bug that only surfaced once a fill landed on the footer.
|
|
18
|
+
- **`.pa-btn--outline-secondary` visibility fix on light themes** — the default for `--pa-btn-secondary-outline-color` was the *filled* button's text colour (`#ffffff` on light themes), so outline-secondary rendered as a white border + white text on a white surface (invisible). Default now points to `var(--pa-btn-secondary-bg)` — the filled button's background colour — so outline-secondary inherits a mid-grey by default and reads correctly. Themes that intentionally diverge can still set the token explicitly.
|
|
19
|
+
- **`--pa-sidebar-submenu-active-text` — new token for high-contrast active submenu rows.** Active state set the background colour but inherited text colour from the sidebar's regular text token; on themes where the active background is an intentionally bright brand colour (e.g. corporate's blue-600), the inherited dark-mode text became unreadable against the bright active fill. New token defaults to the existing sidebar text colour (zero impact on themes that don't override the active bg) and can be set to white/high-contrast independently. Applied at both the level-2 submenu link and the collapsed-state toggle.
|
|
20
|
+
- **`.pa-btn-split` chevron corners rebuilt** — the container previously used `overflow: hidden` + `border-radius` to clip both trigger buttons (which had `border-radius: 0`) to a rounded outer shape. With `display: inline-flex` adjacent buttons, hover-fill paint could bypass the rounded-corner clip on outline variants in some browsers/themes, producing square chevron corners. Rebuilt to not rely on container clipping: each trigger keeps its own `border-radius` from base `.pa-btn`; only the inner edges (between main button and chevron toggle) are flattened via logical-property radii. Per-row action buttons inside the dropdown menu are unaffected — the rule now scopes to direct children only.
|
|
21
|
+
|
|
22
|
+
## What's New in 2.6.0
|
|
23
|
+
|
|
24
|
+
- **Seven KPI showcase designs** under the new `KPI` sidebar group — Terminal grid (Bloomberg-style dense panel with view-mode toggle), Sparkline list (one-row-per-KPI with filled-area chart), Comparison gauges (progress bars with target tick), Hero + supporting (big focal metric + side rail), Bento (asymmetric grid with sparklines behind values), Numeric strip (tabular spreadsheet-style), and Editorial minimal (light-weight typography with hairline rules). Each page ships with a Usage Guide + CSS Classes Reference card so the markup is documented in-place.
|
|
25
|
+
- **Framework token consolidation** — single source of truth for role colours (`--pa-success / --pa-warning / --pa-danger / --pa-info`), a new 5-step sentiment scale (`--pa-very-positive` through `--pa-very-negative`), text-contrast tiers (`--pa-text-strong / -secondary / -tertiary`), surface tints (`--pa-surface-hover / -track`), popover chrome (`--pa-detail-*`), and chart trendline tokens (`--pa-chart-trendline-height / -stroke`). Button + contextual surfaces rewired so a single override of `--pa-success` cascades through everything.
|
|
26
|
+
- **Role colours migrated to Tailwind palette (Visual breaking)** — `$base-success-color` → `#22c55e`, `$base-warning-color` → `#f97316` (most visible: warning yellow → orange), `$base-danger-color` → `#ef4444`. Themes that override these via `!default` still win; consumers using stock defaults will see the shift on buttons, alerts, and contextual chips.
|
|
27
|
+
- **`pa-stat--square` redesigned (Visual breaking)** — `__symbol` is now an inline 50%-sized companion next to `__number` (was a giant 12%-opacity watermark), markup order drives prefix-vs-suffix layout (`<symbol><number>` for `$847K`, `<number><symbol>` for `87%`), and font sizes are container-relative (`cqi`) so values track tile width instead of viewport. Multi-character units like `°C`, `¥`, `M` now render correctly at any tile size.
|
|
28
|
+
- **Theme-aware dashboard chart + new `pa:theme-change` event** — the demo's D3 chart was reading CSS custom properties from `<html>` (always returned `:root` defaults) and snapshotting them once at draw time. Fixed both bugs and introduced a `pa:theme-change` window event that any consumer code with cached theme-dependent values can listen to and re-render.
|
|
29
|
+
- **Progress ring / gauge dark-theme fixes** — `__inner` mask switched from compile-time `$card-bg` to runtime `var(--pa-card-bg)` so the percentage value stays readable in dark themes; track colours moved from `rgba(0,0,0,0.08)` to a `color-mix(... var(--pa-text-color-1) 12%, transparent)` so the unfilled portion is visible on both light and dark surfaces.
|
|
19
30
|
|
|
20
31
|
## Installation
|
|
21
32
|
|