@keenmate/pure-css 1.0.0-rc05 → 1.0.0-rc07

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/CHANGELOG.md CHANGED
@@ -3,6 +3,119 @@
3
3
  All notable changes to `@keenmate/pure-css` are documented here. Format based on
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
5
5
 
6
+ ## [1.0.0-rc07] — 2026-09-08 [PUBLISHED]
7
+
8
+ The **shared theming knob** release. Before rc07 the same visual token (a tooltip
9
+ background, an input border, a dropdown surface) was produced *twice and
10
+ independently* — pure-admin's `--pc-*` component tokens were baked compile-time
11
+ literals, while the KeenMate web components read `--base-*` live — so they agreed
12
+ only by coincidence and diverged the instant a theme retuned `--base-*` at
13
+ runtime (every dual-mode theme does exactly this at `.pc-mode-dark`). rc07 makes
14
+ `--base-*` the single runtime knob: override one namespace and pure-admin
15
+ components + the web components re-theme together, in light and dark.
16
+
17
+ ### Added
18
+
19
+ - **Gap `--base-*` tokens the web components already read but pure-css never
20
+ emitted** — so they stop falling through to hardcoded component defaults and
21
+ actually theme: `--base-text-inverted`, `--base-checkbox-border-color`,
22
+ `--base-input-border-color` (+ the `--base-input-border` shorthand),
23
+ `--base-input-clear-color` / `--base-input-clear-bg-hover`, the solid role
24
+ fills `--base-success-bg` / `--base-danger-bg` / `--base-warning-bg`, and
25
+ `--base-rem`.
26
+
27
+ ### Changed
28
+
29
+ - **`--pc-*` component tokens now derive from `--base-*` at runtime.** ~40 themed
30
+ `--pc-*` tokens (buttons, cards, inputs, checkbox, input groups, tables, modal,
31
+ tooltip/popover, command palette, multiselect) were rewritten from baked
32
+ `#{$…}` literals to the guiding-rule form `var(--base-x, #{$fallback})`. The
33
+ `#{$fallback}` preserves today's compiled value, so **light-mode output is
34
+ unchanged** — but the token now follows any runtime `--base-*` override, shared
35
+ with the web components.
36
+ - **The app shell surfaces stay compile-time — deliberately not `--base-*`-derived.**
37
+ The navbar/sidebar/footer surface + text tokens (`--pc-navbar-*`,
38
+ `--pc-sidebar-*`, `--pc-footer-*`) are emitted as plain `#{$…}` literals, *not*
39
+ `var(--base-main-bg, …)`. The shell is a distinct brand surface a theme sets on
40
+ its own (e.g. a yellow navbar) independent of the `--base-*` card/page palette;
41
+ since `--base-main-bg` is always emitted, deriving the navbar from it would let
42
+ the base palette win and erase the brand colour. Standalone (`base.css`-only)
43
+ rendering is still covered — the shell CSS itself resolves
44
+ `var(--pc-navbar-bg, var(--base-main-bg))`, so the `--base-*` floor applies only
45
+ when no `--pc-*` is emitted (the rc06 contract), not as a runtime override of it.
46
+ - **Surface-token naming realigned with the `--base-*` model (B5).**
47
+ `--pc-main-bg` is now the **white surface** (`--base-main-bg`), `--pc-subtle-bg`
48
+ the **muted grey** (`--base-subtle-bg`), and `--pc-page-bg` remains the **grey
49
+ canvas**. Previously `--pc-main-bg` *was* the grey canvas and `--pc-subtle-bg`
50
+ *was* white — an inversion vs the `--base-*` vocabulary. pure-css's own shell
51
+ canvas usages (reboot `body`, `.pc-layout`, scrollbars) were repointed
52
+ `--pc-main-bg` → `--pc-page-bg` so the canvas stays grey. **Downstream code
53
+ reading `--pc-main-bg` / `--pc-subtle-bg` must re-check intent** — see
54
+ pure-admin-core rc19, which repoints its component surfaces accordingly.
55
+ - `$base-elevated-bg` default changed from the stray `#f5f5f5` to `$base-page-bg`.
56
+
57
+ ### Fixed
58
+
59
+ - **Broken `$`-link:** `$input-border` was a hardcoded `#ced4da` (the comment even
60
+ claimed it came from base) — reconnected to `$base-input-border-color`, so input
61
+ borders finally track the theme.
62
+ - **Semantic surface reconciliation** so pure-admin and the web components resolve
63
+ the *same* base token per surface: card/table headers + striped rows →
64
+ `--base-elevated-bg`, dropdown/popover → `--base-dropdown-bg`, table/multiselect
65
+ hover → `--base-hover-bg`, checkbox border → `--base-checkbox-border-color`.
66
+ - **Sidebar search box alignment + collapsed-rail gating (`_sidebar.scss`).** The
67
+ search input's inline padding was rebalanced to `0 $spacing-base 0 $spacing-sm`
68
+ so its magnifier lines up with the nav-row icons below it (margin `$spacing-sm` +
69
+ padding-left `$spacing-sm` = the `$spacing-base` nav inset) instead of sitting one
70
+ box-margin too far in. The collapsed-rail rules that shed the search frame/field
71
+ down to the submit icon were re-scoped from `.pc-layout__sidebar--icon-collapse`
72
+ to `.sidebar-hidden .pc-layout__sidebar--icon-collapse` — the mode class stays on
73
+ the element while the rail is expanded, so the unscoped rules were stripping the
74
+ search frame in the expanded state too.
75
+
76
+ ## [1.0.0-rc06] — 2026-08-30
77
+
78
+ ### Fixed
79
+
80
+ - **The app shell now renders standalone — component `--pc-*` tokens fall back to
81
+ `--base-*`.** rc05 relocated the shell into the foundation, but its CSS
82
+ hard-referenced component tokens (`--pc-navbar-bg`, `--pc-sidebar-*`,
83
+ `--pc-footer-*`, `--pc-card-bg`, `--pc-input-bg`) that pure-css does **not**
84
+ emit — those are pure-admin's `output-pc-component-variables` contract. So a
85
+ consumer linking `base.css` / `pure-css.css` alone (keen-docs hit this) got an
86
+ unstyled navbar/sidebar. Every such reference now carries a `--base-*` fallback
87
+ traced from the token's own derivation: `var(--pc-navbar-bg, var(--base-main-bg))`,
88
+ `var(--pc-sidebar-bg, var(--base-page-bg))`, navbar/sidebar text →
89
+ `--base-text-color-1/2`, borders → `--base-border-color`, submenu surfaces →
90
+ `--base-subtle-bg`, input → `--base-input-bg`. This makes `--pc-*` an *optional*
91
+ override layer over a guaranteed `--base-*` floor — link only the base vars and
92
+ the shell just works; set `--pc-navbar-bg` to tune the bar independently of the
93
+ page. 40 references across the eight shell partials.
94
+ - **Dangling token references in `_fit-flyout.scss`.** The fit-flyout trigger
95
+ referenced `--pc-accent-color` (defined nowhere — the token is `--pc-accent`)
96
+ with no fallback, so its focus outline was inert; and `--pc-hover-bg` (also
97
+ undefined) with only an rgba literal. Repointed to
98
+ `var(--pc-accent, var(--base-accent-color))` and
99
+ `var(--pc-hover-bg, var(--base-hover-bg, rgba(…)))`.
100
+
101
+ ### Changed
102
+
103
+ - **Unified the `--pc-border-radius*` scale with the `--base-border-radius-*`
104
+ contract the components already use.** pure-css shipped two disconnected radius
105
+ systems: `--base-border-radius-sm/md/lg` (the unitless rem-multipliers
106
+ `0.4/0.6/0.8` every web/svelte component reads — e.g. web-multiselect's
107
+ `calc(var(--base-border-radius-md) * --ms-rem)`), and its OWN
108
+ `--pc-border-radius-sm/base/lg` as hardcoded `2px/4px/8px` literals disconnected
109
+ from the base layer. On one themed page a `<keen-web-multiselect>` and a pure-css
110
+ `.rounded` element rounded differently, and a runtime `--base-border-radius-*`
111
+ override re-rounded the components but not pure-css's own elements. The three
112
+ `--pc-border-radius*` tokens now derive from the base contract —
113
+ `calc(var(--base-border-radius-{sm,md,lg}, <default>) * 1rem)` (unsuffixed
114
+ `--pc-border-radius` = the `-md` mid step) — mirroring how `--pc-border-color`
115
+ already tracked `--base-border-color`. **Rendered radii change** to match the
116
+ ecosystem: `-sm` 2px → 4px, mid 4px → 6px, `-lg` 8px (unchanged). Overriding
117
+ `--base-border-radius-*` now re-rounds pure-css and the components together.
118
+
6
119
  ## [1.0.0-rc05] — 2026-08-27 [PUBLISHED]
7
120
 
8
121
  ### Added
package/README.md CHANGED
@@ -4,48 +4,19 @@ The KeenMate CSS **foundation** — the `--base-*` theming contract, the flexbox
4
4
  utility classes — extracted from [`@keenmate/pure-admin-core`](https://github.com/KeenMate/pure-admin)
5
5
  so it can be consumed on its own.
6
6
 
7
- ## What's New in 1.0.0-rc05
8
-
9
- - **App shell the navbar, sidebar, and layout container join the foundation** — pure-css has been variables + grid + utilities since the extraction; rc05 relocates the structural *app-shell* layer out of `@keenmate/pure-admin-core`, so a standalone page gets the same navbar/sidebar/layout chrome as a full admin app without pulling in the 40+ component library. Eight new partials (`_navbar.scss`, `_navbar-elements.scss`, `_sidebar.scss`, `_sidebar-states.scss`, `_layout-container.scss`, `_layout-responsive.scss`, `_resize-handle.scss`, `_fit-flyout.scss`) `@use` into the `pure-css.css` bundle `base.css`, `grid.css` and `utilities.css` are untouched and there's no new CSS artifact. The emitted surface is `pc-`-branded like the rest of the foundation: the fixed navbar (`.pc-navbar` + `__start`/`__center`/`__end`, burger, brand `.pc-app-header`, `.pc-navmenu`, profile button, theme switcher), the nested sidebar with hidden/icon-collapse/expanded states and a drag-to-resize handle (`.pc-sidebar`, `.pc-layout__sidebar`, `.pc-sidebar-resize`), and the layout wrapper (`.pc-layout` + `__main`/`__content`/`__footer`) with mobile/tablet media queries. pure-admin-core now `@forward`s same-named partials instead of owning copies, so the shell is single-sourced here and can't drift.
10
- - **The shell now brings its own behaviour pure-css is no longer CSS-only** — the shell's JavaScript ships with the foundation as a small, dependency-free runtime under `src/js/`, exposed as source (no build step) via a new `./js` export. `pure-css.js` installs `window.pureCss` an event bus, live viewport / OS-colour-scheme / capability-first device sources, overlay primitives (scroll-lock, keyboard-inset), an open-menu registry, a shared `config` baseline single-sourced from the SCSS via `--pc-*` vars, and `components.initAll(scope)` — and the shell engines hang off it: `fit.js` (the `data-pc-fit` fit engine, which also absorbed the former `navbar-collapse.js` progressive nav-folding via `data-pc-fit-nav`, so that file no longer exists), `navbar-dropdown.js`, `sidebar-resize.js`, and `container-breakpoint.js`. The runtime is load-order-safe and stands alone when pure-admin is absent; the shell CSS is authored no-JS-safe, so styling degrades gracefully rather than breaking when the runtime isn't loaded.
11
- - **The grid's automatic responsive context now ships in the same bundle** — `_pa-grid.scss`'s container-query responsive columns (`.pc-col-md-*`, …) need a containment-context ancestor, documented as `.pc-layout__main`. That selector previously lived only in pure-admin-core, so the note was aspirational for a standalone pure-css page; with `_layout-container.scss` relocated into the bundle, `.pc-layout__main` is emitted here and the responsive variants get their context out of the box (the stale comment still read `.pa-layout__main` from before the rc04 de-brand — corrected to `.pc-layout__main`).
12
- - **Toolchain-free zip distribution via GitHub Releases** — a new `.github/workflows/release.yml` builds the CSS on every `v*.*.*` tag push and publishes a GitHub Release carrying `pure-css-<version>.zip` (the same file set as the npm package `dist/`, `src/scss/`, `README.md`, `CHANGELOG.md`, `LICENSE`) plus a `.sha256` checksum, so consumers who don't use npm can vendor the built foundation as a drop-in. rc tags (those containing `-`) publish as GitHub pre-releases. Mirrors pure-admin-core's release workflow, adapted for this single-package repo.
13
-
14
- ## What's New in 1.0.0-rc04
15
-
16
- - **pure-css is now strictly a base — it emits only the base token contract
17
- (BREAKING).** `base.css` / `pure-css.css` ship the ~46 base `--pc-*` tokens the
18
- foundation actually uses or exposes as universal primitives; the ~165 component
19
- tokens (buttons, cards, tables, alerts, panels, …) are pure-admin's contract,
20
- emitted by the new `output-pc-component-variables` mixin. If you author themes
21
- or call the emit mixins, add `@include output-pc-component-variables;` after
22
- `output-pc-css-variables`. Consumers of compiled CSS are unaffected.
23
- - **The foundation namespace is fully de-branded from `pa` to `pc` (BREAKING).**
24
- pure-css was carved out of pure-admin, so it still carried pure-admin's `pa`
25
- brand in its public surface. That's gone:
26
- - **Grid + mode classes:** `.pa-row` / `.pa-col*` / `.pa-offset*` / `.pa-cq` /
27
- `.pa-hide*` / `.pa-show*` → `.pc-*`; `.pa-mode-light` / `.pa-mode-dark` →
28
- `.pc-mode-*`.
29
- - **Every emitted CSS variable:** the whole `--pa-*` runtime surface (~210
30
- custom properties) → `--pc-*` (`--pa-accent` → `--pc-accent`, `--pa-card-bg`
31
- → `--pc-card-bg`, `--pa-color-1..9` → `--pc-color-1..9`, …). `--base-*`
32
- (web-component bridge) and `--page-loader-*` are unchanged.
33
- - **The emit mixins:** `output-pa-css-variables` → `output-pc-css-variables`,
34
- `output-pa-alert-variables-light/dark` → `output-pc-alert-variables-*`.
35
- Consumers migrate markup, `var()` reads, inline `style="--pa-…"`, and theme
36
- `:root` blocks in lockstep — a boundary-aware find/replace of the string
37
- `--pa-` → `--pc-` (safe: it can't touch `--base-*`, `--page-loader-*`, or the
38
- `.pa-color-{name}` variant **class**).
39
- - **Sizing utilities consolidated into the foundation.** The universal
40
- viewport-height utilities (`h-full` / `h-screen` / `min-h-full` /
41
- `min-h-screen` / `max-h-full` / `max-h-screen`) and the Tailwind-style flex
42
- shorthands (`flex-1` / `flex-auto` / `flex-initial` / `flex-none` /
43
- `flex-grow` / `flex-shrink`) now ship from pure-css, so a standalone page gets
44
- the complete set without borrowing anything from pure-admin. pure-admin's
45
- duplicate rem-height `h-Nx` / `min-h-Nx` / `max-h-Nx` classes are retired in
46
- favour of the foundation's `hr-` / `wr-` naming (`r` = rem).
47
- - **Complete form-spacing contract as runtime `--pc-*` variables** and the
48
- `$form-scale` → `$form-gap` rename (see CHANGELOG).
7
+ ## What's New in 1.0.0-rc07
8
+
9
+ - **Themingone runtime knob re-themes pure-admin components and the web components together** — before rc07 the same visual token was produced twice and independently: pure-admin's `--pc-*` component tokens were baked as compile-time literals, while the KeenMate web components read `--base-*` live, so they agreed only by coincidence and diverged the instant a theme retuned `--base-*` at runtime (every dark-mode toggle does exactly this at `.pc-mode-dark`). ~40 themed `--pc-*` tokens in `_base-css-variables.scss` (buttons, cards, inputs, checkbox, input groups, tables, modal, tooltip/popover, command palette, multiselect) were rewritten from `#{$…}` literals to the guiding-rule form `var(--base-x, #{$fallback})`. The `#{$fallback}` preserves today's compiled value so light-mode output is byte-for-byte unchanged, but each token now follows any runtime `--base-*` override the same knob the web components already read.
10
+ - **App shell navbar/sidebar/footer surfaces stay a distinct brand colour, deliberately not `--base-*`-derived** — the shell's surface + text tokens (`--pc-navbar-*`, `--pc-sidebar-*`, `--pc-footer-*`) are emitted as plain `#{$…}` literals, *not* `var(--base-main-bg, )`. A theme sets the shell's brand (e.g. a yellow navbar) independently of the `--base-*` card/page palette, and since `--base-main-bg` is always emitted, deriving the navbar from it would let the base palette win and erase the brand. Standalone (`base.css`-only) rendering still works because the shell CSS resolves `var(--pc-navbar-bg, var(--base-main-bg))` the `--base-*` floor applies only when no `--pc-*` is emitted (the rc06 contract), never as a runtime override of it.
11
+ - **Theming gap `--base-*` tokens the web components read but pure-css never emitted** — several `--base-*` vars the components already consumed were falling through to hardcoded component defaults because pure-css didn't emit them, so they couldn't be themed. rc07 emits them: `--base-text-inverted`, `--base-checkbox-border-color`, `--base-input-border-color` (+ the `--base-input-border` shorthand), `--base-input-clear-color` / `--base-input-clear-bg-hover`, the solid role fills `--base-success-bg` / `--base-danger-bg` / `--base-warning-bg`, and `--base-rem`.
12
+ - **Surfaces — `--pc-main-bg` / `--pc-subtle-bg` naming realigned with the `--base-*` model** — `--pc-main-bg` is now the **white surface** and `--pc-subtle-bg` the **muted grey**, matching `--base-main-bg` / `--base-subtle-bg`; previously the two were inverted (`--pc-main-bg` *was* the grey canvas). pure-css's own canvas usages (reboot `body`, `.pc-layout`, scrollbars) were repointed `--pc-main-bg` `--pc-page-bg` so the page canvas stays grey. **Downstream code reading `--pc-main-bg` / `--pc-subtle-bg` must re-check intent** see pure-admin-core rc19.
13
+ - **Fixed — input borders finally track the theme** — `$input-border` was a hardcoded `#ced4da` (its own comment wrongly claimed it came from base); it's reconnected to `$base-input-border-color`. Also a semantic surface reconciliation so pure-admin and the web components resolve the *same* base token per surface (card/table headers + striped rows → `--base-elevated-bg`, dropdown/popover → `--base-dropdown-bg`, hover → `--base-hover-bg`).
14
+ - **Fixed — sidebar search box alignment + collapsed-rail gating** — the search input's inline padding was rebalanced (`0 $spacing-base 0 $spacing-sm`) so its magnifier lines up with the nav-row icons below it, and the collapsed-rail rules that strip the search down to the submit icon were re-scoped from `.pc-layout__sidebar--icon-collapse` to `.sidebar-hidden .pc-layout__sidebar--icon-collapse` — the mode class stays on the element while the rail is expanded, so the unscoped rules were stripping the search frame in the expanded state too.
15
+
16
+ ## What's New in 1.0.0-rc06
17
+
18
+ - **The app shell renders standalone — no `--pc-*` component setup required** — rc05 moved the shell into the foundation, but its CSS referenced component tokens (`--pc-navbar-bg`, `--pc-sidebar-*`, `--pc-card-bg`, …) that pure-css doesn't emit, so linking `base.css` / `pure-css.css` alone gave an unstyled navbar/sidebar (keen-docs hit this). Every such reference now falls back to a `--base-*` var that pure-css *does* emit — `var(--pc-navbar-bg, var(--base-main-bg))` and friends, 40 in all, each traced from the token's real derivation. That's a clean two-tier contract: link the base vars and the shell just works out of the box; set the `--pc-*` token only when you want to fine-tune a piece independently. Also fixed two dangling refs in the fit flyout (`--pc-accent-color` → `--pc-accent`, plus a `--base-hover-bg` tier for `--pc-hover-bg`).
19
+ - **One border-radius scale across the whole ecosystem** — pure-css shipped two disconnected radius systems: the `--base-border-radius-sm/md/lg` multipliers every web/svelte component reads (e.g. web-multiselect), and its own `--pc-border-radius*` as hardcoded 2/4/8px literals that ignored the base layer — so a `<keen-web-multiselect>` and a pure-css `.rounded` element rounded differently on the same theme, and a runtime `--base-border-radius-*` override moved the components but not pure-css's own elements. The `--pc-border-radius*` tokens now derive from `--base-border-radius-*` (`calc(var(--base-border-radius-md, 0.6) * 1rem)`), so radii match the components and one override re-rounds everything together. Rendered corners change slightly: small 2px→4px, medium 4px→6px, large unchanged.
49
20
 
50
21
  ## Why
51
22
 
package/dist/css/base.css CHANGED
@@ -28,16 +28,21 @@
28
28
  --base-hover-bg: #e9ecef;
29
29
  --base-active-bg: rgb(85.5830753354%, 87.5490196078%, 89.5149638803%);
30
30
  --base-disabled-bg: #e9ecef;
31
- --base-elevated-bg: #f5f5f5;
31
+ --base-elevated-bg: #f8f9fa;
32
+ --base-text-inverted: #ffffff;
32
33
  --base-border-color: #e1e5e9;
33
34
  --base-border: 1px solid #e1e5e9;
35
+ --base-checkbox-border-color: #e1e5e9;
34
36
  --base-input-bg: #ffffff;
35
37
  --base-input-color: #495057;
36
38
  --base-input-border: 1px solid #ced4da;
39
+ --base-input-border-color: #ced4da;
37
40
  --base-input-border-hover: 1px solid #b8bfc6;
38
41
  --base-input-border-focus: 1px solid #007bff;
39
42
  --base-input-placeholder-color: #a3b1bf;
40
43
  --base-input-bg-disabled: rgba(255, 255, 255, 0.5);
44
+ --base-input-clear-color: #7a8a99;
45
+ --base-input-clear-bg-hover: #e9ecef;
41
46
  --base-input-size-xs-height: 3.1;
42
47
  --base-input-size-sm-height: 3.3;
43
48
  --base-input-size-md-height: 3.5;
@@ -48,7 +53,9 @@
48
53
  --base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
49
54
  --base-tooltip-bg: #2c3e50;
50
55
  --base-tooltip-text-color: #ffffff;
56
+ --base-tooltip-color: #ffffff;
51
57
  --base-success-color: #22c55e;
58
+ --base-success-bg: #22c55e;
52
59
  --base-success-color-hover: rgb(10.3896103896%, 60.1986249045%, 28.7242169595%);
53
60
  --base-success-bg-light: rgba(34, 197, 94, 0.1);
54
61
  --base-success-bg-subtle: rgba(34, 197, 94, 0.08);
@@ -57,6 +64,7 @@
57
64
  --base-success-text-light: #d4edda;
58
65
  --base-text-on-success: #ffffff;
59
66
  --base-danger-color: #ef4444;
67
+ --base-danger-bg: #ef4444;
60
68
  --base-danger-color-hover: rgb(92.1491355163%, 8.2430213465%, 8.2430213465%);
61
69
  --base-danger-bg-light: rgba(239, 68, 68, 0.1);
62
70
  --base-danger-bg-subtle: rgba(239, 68, 68, 0.08);
@@ -65,6 +73,7 @@
65
73
  --base-danger-text-light: #f8d7da;
66
74
  --base-text-on-danger: #ffffff;
67
75
  --base-warning-color: #f97316;
76
+ --base-warning-bg: #f97316;
68
77
  --base-warning-color-hover: rgb(84.1086225285%, 35.7371400443%, 2.1658872754%);
69
78
  --base-warning-bg-light: rgba(249, 115, 22, 0.1);
70
79
  --base-warning-bg-subtle: rgba(249, 115, 22, 0.08);
@@ -103,13 +112,14 @@
103
112
  --base-border-radius-sm: 0.4;
104
113
  --base-border-radius-md: 0.6;
105
114
  --base-border-radius-lg: 0.8;
115
+ --base-rem: 1rem;
106
116
  color-scheme: light;
107
- --pc-main-bg: #f8f9fa;
108
- --pc-page-bg: #f8f9fa;
109
- --pc-subtle-bg: #ffffff;
110
- --pc-text-color-1: #2c3e50;
111
- --pc-text-color-2: #6c757d;
112
- --pc-accent: #007bff;
117
+ --pc-main-bg: #ffffff;
118
+ --pc-page-bg: var(--base-page-bg, #f8f9fa);
119
+ --pc-subtle-bg: #e9ecef;
120
+ --pc-text-color-1: var(--base-text-color-1, #2c3e50);
121
+ --pc-text-color-2: var(--base-text-color-2, #6c757d);
122
+ --pc-accent: var(--base-accent-color, #007bff);
113
123
  --pc-accent-hover: rgba(0, 123, 255, 0.12);
114
124
  --pc-accent-light: color-mix(in srgb, var(--pc-accent) 5%, transparent);
115
125
  --pc-link-color: var(--pc-accent);
@@ -142,7 +152,7 @@
142
152
  --pc-color-7-text: #ffffff;
143
153
  --pc-color-8-text: #ffffff;
144
154
  --pc-color-9-text: #ffffff;
145
- --pc-border-radius-sm: 2px;
146
- --pc-border-radius: 4px;
147
- --pc-border-radius-lg: 8px;
155
+ --pc-border-radius-sm: calc(var(--base-border-radius-sm, 0.4) * 1rem);
156
+ --pc-border-radius: calc(var(--base-border-radius-md, 0.6) * 1rem);
157
+ --pc-border-radius-lg: calc(var(--base-border-radius-lg, 0.8) * 1rem);
148
158
  }