@keenmate/pure-css 1.0.0-rc02 → 1.0.0-rc04

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,137 @@
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-rc04] — 2026-08-26 [PUBLISHED]
7
+
8
+ ### Changed (BREAKING)
9
+
10
+ - **pure-css now ships only the BASE token contract — component tokens moved to
11
+ the consumer that owns the components.** pure-css is a *foundation*: its
12
+ bundles (`pure-css.css`, `base.css`) now emit only the ~46 base `--pc-*` tokens
13
+ its own CSS consumes or exposes as universal theming primitives (surfaces,
14
+ text, accent, links, border, the semantic role identities + their utility text
15
+ colours, the theme palette slots, the radius scale). The ~165 **component**
16
+ tokens (`--pc-btn-*`, `--pc-card-*`, `--pc-table-*`, `--pc-alert-*`, badges,
17
+ tooltips, panels, command palette, multiselect, sentiment scale, form spacing,
18
+ the derived contextual surfaces, admin layout chrome) are no longer emitted by
19
+ the foundation. They are pure-admin's contract.
20
+ - `output-pc-css-variables` is now base-only. The component tokens are emitted
21
+ by the new **`output-pc-component-variables`** mixin (+ the existing
22
+ `output-pc-alert-variables-{light,dark}`), which pure-css still *defines*
23
+ (they read the shared `$`-variable vocabulary in `variables/*`, so they must
24
+ be authored where that vocabulary is in scope) but does **not** call from its
25
+ own bundle. Consumers that ship the components — pure-admin core, every
26
+ theme — opt in by `@include output-pc-component-variables` alongside
27
+ `output-pc-css-variables`.
28
+ - **Theme authors / anyone calling the emit mixins must add
29
+ `@include output-pc-component-variables;`** (after `output-pc-css-variables`)
30
+ or lose every component token. Consumers of the *compiled* theme/core CSS are
31
+ unaffected — the emitted token set is identical, just split across two mixins.
32
+ - **Every emitted CSS variable de-branded from `--pa-*` to `--pc-*`.** pure-css is
33
+ a *foundation*, but it still emitted its entire runtime custom-property surface
34
+ under pure-admin's `pa` brand. The full `--pa-*` set (~210 vars: `--pa-accent`,
35
+ `--pa-text-color-*`, `--pa-card-bg`, `--pa-border-*`, the contextual /alert sets,
36
+ `--pa-color-1..9` + `-text`, the new `--pc-*` form-spacing family already shipped
37
+ this cut, etc.) is renamed to `--pc-*`. This completes the same de-branding the
38
+ grid/mode classes started above — nothing pure-admin-branded remains in the
39
+ foundation's output.
40
+ - **The emit mixins move too:** `output-pa-css-variables` → `output-pc-css-variables`,
41
+ `output-pa-alert-variables-light` / `-dark` → `output-pc-alert-variables-*`.
42
+ (`output-base-css-variables` is unchanged — `--base-*` is a separate, neutral
43
+ web-component contract and stays.)
44
+ - **Untouched:** `--base-*` (web-component bridge), `--page-loader-*` (pre-FOUC
45
+ loader), and the `.pa-color-{name}` colour-variant **class** (a class, not a
46
+ `--pa-` variable).
47
+ - **Migration:** a boundary-aware replace of the string `--pa-` → `--pc-` across
48
+ markup, stylesheets, inline `style="--pa-…"`, JS `getPropertyValue`/`setProperty`
49
+ calls, and every theme's `:root` / dark-mode `--pa-*` override block. Safe
50
+ because the leading `--` + trailing `-` can't match `--base-*` or `--page-loader-*`.
51
+ pure-admin, its demo, all 16 themes, and the svelte/keen wrappers migrate in
52
+ lockstep with this release.
53
+ - **Grid classes renamed from the consumer-branded `pa-` to the foundation's own
54
+ `pc-` prefix.** `.pa-row` → `.pc-row`, `.pa-col*` → `.pc-col*` (all percentage /
55
+ fraction / responsive / `--grow`/`--shrink`/`--no-padding` variants),
56
+ `.pa-offset*` → `.pc-offset*`, `.pa-cq` → `.pc-cq`, `.pa-hide*` → `.pc-hide*`,
57
+ `.pa-show*` → `.pc-show*`. The grid is a pure-css *foundation* primitive, so it
58
+ should not carry pure-admin's (`pa`) brand — this de-couples it. **No dual-emit:**
59
+ the old `pa-*` grid classes are gone. Consumers must migrate markup
60
+ (`class="pa-col-1-2"` → `class="pc-col-1-2"`) — a boundary-aware find/replace
61
+ (careful: `pa-col` is a substring of `pa-color-*`, which must NOT be touched).
62
+ pure-admin, its demo, and the svelte/keen wrappers are migrated in lockstep.
63
+ - **Light/dark mode scope classes renamed `.pa-mode-*` → `.pc-mode-*`.**
64
+ The light/dark scopes the foundation emits its variables against (and that apps
65
+ toggle on `<body>`) are foundation-owned, so they move to the `pc-` prefix too.
66
+ `output-pc-css-variables` now emits at `:root, .pc-mode-light, .pc-mode-dark`.
67
+ Consumers toggling the class in JS (`classList.add('pc-mode-dark')`) and themes'
68
+ dark-mode blocks migrate in lockstep. (Safe replace: the string `pa-mode-` →
69
+ `pc-mode-`; `pa-modal` is untouched since `mode` ≠ `moda`.)
70
+
71
+ ### Added
72
+
73
+ - **Sizing utilities consolidated into the foundation.** The universal sizing/flex
74
+ utilities that had been left in pure-admin now live here, so a standalone
75
+ pure-css page has the full set: viewport heights `h-full` / `h-screen` /
76
+ `min-h-full` / `min-h-screen` / `max-h-full` / `max-h-screen`, and the
77
+ Tailwind-style flex shorthands `flex-1` / `flex-auto` / `flex-initial` /
78
+ `flex-none` / `flex-grow` / `flex-shrink` (alongside the existing
79
+ `flex-grow-0/1`, `flex-shrink-0/1`). pure-css already owned the width/height %
80
+ + rem scales (`w-*`/`h-*`, `wr-*`/`hr-*`) and the full min/max families
81
+ (`minw-*`/`maxh-*`/`minwr-*`/`maxhr-*`/…); pure-admin's duplicate rem-height
82
+ `h-Nx`/`min-h-Nx`/`max-h-Nx` set (byte-identical to `hr-N`/`minhr-N`/`maxhr-N`)
83
+ is retired in favour of the foundation's `hr-`/`wr-` naming (`r` = rem).
84
+ - **Complete form-spacing contract as runtime CSS variables, under a pure-css-owned
85
+ `--pc-` namespace.** `output-pc-css-variables` now emits the full anatomy of a
86
+ form's spacing at `:root`, so every consumer (pure-admin, keen-docs,
87
+ keen-pure-admin) shares one contract instead of re-declaring `var()` chains or
88
+ being stuck with compile-time-only margins:
89
+ - Vertical rhythm: `--pc-label-gap` (label → control), `--pc-help-gap`
90
+ (control → help/error), `--pc-field-gap` (field → field),
91
+ `--pc-form-actions-offset` (last field → actions row).
92
+ - Inline gaps: `--pc-form-gap` (shared + label↔inline-icon), `--pc-choice-gap`
93
+ (between options), `--pc-choice-inner-gap` (control↔label), `--pc-form-actions-gap`
94
+ (between buttons), `--pc-field-horizontal-gap` (horizontal label col↔input col).
95
+
96
+ The inline "gap" family chains to `--pc-form-gap` (one knob moves them all);
97
+ every var is also overridable on its own scope. These are the first
98
+ foundation-owned runtime vars to use `--pc-` rather than the legacy
99
+ consumer-branded `--pa-` prefix — new foundation tokens should follow suit.
100
+
101
+ ### Changed
102
+
103
+ - **Renamed the misleading `$form-scale` token to `$form-gap`.** It reads like an
104
+ input-sizing multiplier but is only ever consumed as a `gap:` value — the small
105
+ gap between adjacent form bits (a label and its inline icon, footer action
106
+ buttons, checkbox/radio group options). `$form-scale` is kept as a `!default`
107
+ alias of `$form-gap`, so existing overrides keep working; it will be retired in
108
+ a major. (pure-admin reads the gap through `var(--pc-form-gap, …)`, so it is
109
+ also runtime-tunable.)
110
+
111
+ ## [1.0.0-rc03] — 2026-08-21 [PUBLISHED]
112
+
113
+ ### Changed
114
+
115
+ - **BREAKING — renamed the top-bar region tokens from `header` to `navbar`.** The
116
+ foundation's top-region tokens named the bar as a *component block* rather than a
117
+ layout region, which read as misleading once pure-admin's navbar component dropped its
118
+ legacy `pa-header__*` block naming. Renamed:
119
+ - SCSS variables: `$header-height` → `$navbar-height`, `$header-bg` → `$navbar-bg`,
120
+ `$header-border-color` → `$navbar-border-color`, `$header-text` → `$navbar-text`,
121
+ `$header-text-secondary` → `$navbar-text-secondary`,
122
+ `$header-profile-name-color` → `$navbar-profile-name-color`,
123
+ `$z-index-header` → `$z-index-navbar`.
124
+ - CSS variables: `--pa-header-bg` → `--pa-navbar-bg`,
125
+ `--pa-header-border-color` → `--pa-navbar-border-color`,
126
+ `--pa-header-text` → `--pa-navbar-text`,
127
+ `--pa-header-text-secondary` → `--pa-navbar-text-secondary`,
128
+ `--pa-header-profile-name-color` → `--pa-navbar-profile-name-color`.
129
+ - `$footer-height` still mirrors the bar height (now `$navbar-height`); component-header
130
+ tokens (`$card-header-*`, `$table-header-*`) are unaffected.
131
+
132
+ ### Removed
133
+
134
+ - **Dead `$header-brand-padding-left` variable.** Superseded by the navbar's flex `gap`;
135
+ no live rule consumed it (only a stale comment referenced it).
136
+
6
137
  ## [1.0.0-rc02] — 2026-08-05 [PUBLISHED]
7
138
 
8
139
  ### Added
package/README.md CHANGED
@@ -1,47 +1,49 @@
1
1
  # @keenmate/pure-css
2
2
 
3
- The KeenMate CSS **foundation** — the `--base-*` theming contract, the flexbox grid (`.pa-row` / `.pa-col`), and the
3
+ The KeenMate CSS **foundation** — the `--base-*` theming contract, the flexbox grid (`.pc-row` / `.pc-col`), and the
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-rc02
8
-
9
- - **Reboot layer the 10px base is now built in.** pure-css ships
10
- `html { font-size: 10px }` (plus a `box-sizing` reset and neutral base element
11
- styling) via the new `reboot.scss`, included in the `pure-css.css` bundle and
12
- available standalone as `reboot.css` / the `./reboot` export. Every pure-css
13
- rem value assumes a 10px root, so previously a standalone consumer rendered
14
- everything 1.6× too large until they added the base themselves now it just
15
- works out of the box.
16
- - **Themed scrollbars, foundation-wide.** The global thin-scrollbar styling
17
- (`scrollbars.scss`, coloured from the `--pa-*` cascade) moved out of
18
- pure-admin-core, so a standalone pure-css page gets the same scrollbars as a
19
- full admin app. In the bundle, or cherry-pick `scrollbars.css` / `./scrollbars`.
20
-
21
- ## What's New in 1.0.0-rc01
22
-
23
- - **The KeenMate CSS foundation, now standalone.** The `--base-*` theming
24
- contract, the PureCSS grid, and the utility classes — extracted from
25
- `@keenmate/pure-admin-core` so a docs site, marketing page, or component host
26
- can use the foundation without the 40+ admin components.
27
- - **One theming layer everyone shares.** `--base-*` is the single source of
28
- truth; `pure-admin-core`, its `--pa-*` component variables, and every KeenMate
29
- web/Svelte component derive from it via fallback chains so one block of
30
- `--base-*` overrides re-themes all of them at once.
31
- - **Link targets.** `pure-css.css` (everything) or cherry-pick `base.css`
32
- (variables only), `reboot.css` (reset + 10px base), `scrollbars.css`,
33
- `grid.css`, `utilities.css`.
34
- - **The native `.pa-row` / `.pa-col` grid** flexbox columns in 5% percentage
35
- increments plus intuitive fractions (`.pa-col-1-3`, `.pa-col-2-3`, …), with
36
- container-query responsive variants (`.pa-col-md-*`) and RTL-aware gutters.
37
- (This replaces the legacy PureCSS `.pure-g` / `.pure-u-*` grid, which
38
- pure-admin had already stopped using.)
39
- - **New `.gap-*` / `.gap-x-*` / `.gap-y-*` utilities** on the same spacing scale
40
- as the margin/padding helpers the one spacing family core lacked.
41
- - **Self-sufficient border/rounded utilities.** `.border` / `.rounded` consume
42
- the emitted `--pa-border-*` variables, so `base.css` + `utilities.css` render
43
- correct borders and radii standalone — no host stylesheet required.
44
- - **`dist/` is committed** — vendor the built CSS with no Sass toolchain.
7
+ ## What's New in 1.0.0-rc04
8
+
9
+ - **pure-css is now strictly a base it emits only the base token contract
10
+ (BREAKING).** `base.css` / `pure-css.css` ship the ~46 base `--pc-*` tokens the
11
+ foundation actually uses or exposes as universal primitives; the ~165 component
12
+ tokens (buttons, cards, tables, alerts, panels, …) are pure-admin's contract,
13
+ emitted by the new `output-pc-component-variables` mixin. If you author themes
14
+ or call the emit mixins, add `@include output-pc-component-variables;` after
15
+ `output-pc-css-variables`. Consumers of compiled CSS are unaffected.
16
+ - **The foundation namespace is fully de-branded from `pa` to `pc` (BREAKING).**
17
+ pure-css was carved out of pure-admin, so it still carried pure-admin's `pa`
18
+ brand in its public surface. That's gone:
19
+ - **Grid + mode classes:** `.pa-row` / `.pa-col*` / `.pa-offset*` / `.pa-cq` /
20
+ `.pa-hide*` / `.pa-show*` → `.pc-*`; `.pa-mode-light` / `.pa-mode-dark` →
21
+ `.pc-mode-*`.
22
+ - **Every emitted CSS variable:** the whole `--pa-*` runtime surface (~210
23
+ custom properties) `--pc-*` (`--pa-accent` `--pc-accent`, `--pa-card-bg`
24
+ `--pc-card-bg`, `--pa-color-1..9` `--pc-color-1..9`, …). `--base-*`
25
+ (web-component bridge) and `--page-loader-*` are unchanged.
26
+ - **The emit mixins:** `output-pa-css-variables` `output-pc-css-variables`,
27
+ `output-pa-alert-variables-light/dark` `output-pc-alert-variables-*`.
28
+ Consumers migrate markup, `var()` reads, inline `style="--pa-…"`, and theme
29
+ `:root` blocks in lockstep a boundary-aware find/replace of the string
30
+ `--pa-` `--pc-` (safe: it can't touch `--base-*`, `--page-loader-*`, or the
31
+ `.pa-color-{name}` variant **class**).
32
+ - **Sizing utilities consolidated into the foundation.** The universal
33
+ viewport-height utilities (`h-full` / `h-screen` / `min-h-full` /
34
+ `min-h-screen` / `max-h-full` / `max-h-screen`) and the Tailwind-style flex
35
+ shorthands (`flex-1` / `flex-auto` / `flex-initial` / `flex-none` /
36
+ `flex-grow` / `flex-shrink`) now ship from pure-css, so a standalone page gets
37
+ the complete set without borrowing anything from pure-admin. pure-admin's
38
+ duplicate rem-height `h-Nx` / `min-h-Nx` / `max-h-Nx` classes are retired in
39
+ favour of the foundation's `hr-` / `wr-` naming (`r` = rem).
40
+ - **Complete form-spacing contract as runtime `--pc-*` variables** and the
41
+ `$form-scale` → `$form-gap` rename (see CHANGELOG).
42
+
43
+ ## What's New in 1.0.0-rc03
44
+
45
+ - **Theming contract — top-bar region tokens renamed from `header` to `navbar` (BREAKING).** The foundation's top-region tokens named the bar as a *component block* (`header`) rather than the layout region it actually is, which read as misleading once pure-admin's navbar component dropped its legacy `pa-header__*` block naming. Every top-bar token is renamed on both sides of the cascade: the `$header-*` SCSS source variables (`$header-height` → `$navbar-height`, `$header-bg` → `$navbar-bg`, `$header-border-color`, `$header-text`, `$header-text-secondary`, `$header-profile-name-color`, and `$z-index-header` → `$z-index-navbar`) and the emitted `--pa-header-*` custom properties (`--pa-navbar-bg`, `--pa-navbar-border-color`, `--pa-navbar-text`, `--pa-navbar-text-secondary`, `--pa-navbar-profile-name-color`). Consumers reading the old names must update — `$footer-height` still mirrors the bar height (now `$navbar-height`), and the component-header tokens (`$card-header-*`, `$table-header-*`) are deliberately untouched since those *are* component blocks.
46
+ - **Removed the dead `$header-brand-padding-left` variable.** It was superseded by the navbar's flex `gap`; no live rule consumed it — only a stale comment still referenced it — so it's gone from the source of truth.
45
47
 
46
48
  ## Why
47
49
 
@@ -54,7 +56,7 @@ that the components, the admin framework, and everything else all agree on.
54
56
  ```
55
57
  @keenmate/pure-css @keenmate/pure-admin-core
56
58
  ├─ --base-* variables ◀──── imports pure-css, adds
57
- ├─ .pa-row / .pa-col grid the component library
59
+ ├─ .pc-row / .pc-col grid the component library
58
60
  └─ utility classes
59
61
 
60
62
  └── docs sites, portals, component hosts consume the built CSS directly
@@ -96,14 +98,14 @@ $base-page-bg: #0b1020;
96
98
  | Artifact | Contents | When to link |
97
99
  | --- | --- | --- |
98
100
  | `dist/css/pure-css.css` | everything below, in one file | the common case |
99
- | `dist/css/base.css` | only `:root { --base-*; --pa-*; }` | you just need the theming contract (e.g. to theme embedded web components) or a base for a theme override |
100
- | `dist/css/grid.css` | `.pa-row` / `.pa-col-*` (percentage + fraction columns, container-query responsive) | layout only |
101
+ | `dist/css/base.css` | only `:root { --base-*; --pc-*; }` | you just need the theming contract (e.g. to theme embedded web components) or a base for a theme override |
102
+ | `dist/css/grid.css` | `.pc-row` / `.pc-col-*` (percentage + fraction columns, container-query responsive) | layout only |
101
103
  | `dist/css/utilities.css` | spacing / flex / display / width-height utilities (`.m-4`, `.d-flex`, `.w-50`, …) | utilities only |
102
104
 
103
105
  ### The `--base-*` contract
104
106
 
105
107
  `--base-*` is the **single source of truth for theming**. Framework colors, component variables
106
- (`--pa-*`) and web/svelte components all derive from it via fallback chains
108
+ (`--pc-*`) and web/svelte components all derive from it via fallback chains
107
109
  (`--ms-accent-color: var(--base-accent-color, #3b82f6)`). Categories: accent, text, background,
108
110
  border, input, dropdown, tooltip, contextual (success/danger/warning/info), interactive states,
109
111
  typography, border-radius. The full list is `src/scss/variables/_base.scss`.
package/dist/css/base.css CHANGED
@@ -1,11 +1,11 @@
1
1
  :root,
2
- .pa-mode-light,
3
- .pa-mode-dark {
4
- --pa-text-strong: color-mix(in srgb, var(--pa-text-color-1) 85%, transparent);
5
- --pa-text-secondary: color-mix(in srgb, var(--pa-text-color-1) 70%, transparent);
6
- --pa-text-tertiary: color-mix(in srgb, var(--pa-text-color-1) 55%, transparent);
7
- --pa-surface-hover: color-mix(in srgb, var(--pa-text-color-1) 4%, transparent);
8
- --pa-surface-track: color-mix(in srgb, var(--pa-text-color-1) 12%, transparent);
2
+ .pc-mode-light,
3
+ .pc-mode-dark {
4
+ --pc-text-strong: color-mix(in srgb, var(--pc-text-color-1) 85%, transparent);
5
+ --pc-text-secondary: color-mix(in srgb, var(--pc-text-color-1) 70%, transparent);
6
+ --pc-text-tertiary: color-mix(in srgb, var(--pc-text-color-1) 55%, transparent);
7
+ --pc-surface-hover: color-mix(in srgb, var(--pc-text-color-1) 4%, transparent);
8
+ --pc-surface-track: color-mix(in srgb, var(--pc-text-color-1) 12%, transparent);
9
9
  }
10
10
 
11
11
  :root {
@@ -104,201 +104,45 @@
104
104
  --base-border-radius-md: 0.6;
105
105
  --base-border-radius-lg: 0.8;
106
106
  color-scheme: light;
107
- --pa-main-bg: #f8f9fa;
108
- --pa-page-bg: #f8f9fa;
109
- --pa-subtle-bg: #ffffff;
110
- --pa-text-color-1: #2c3e50;
111
- --pa-text-color-2: #6c757d;
112
- --pa-accent: #007bff;
113
- --pa-accent-hover: rgba(0, 123, 255, 0.12);
114
- --pa-accent-light: color-mix(in srgb, var(--pa-accent) 5%, transparent);
115
- --pa-link-color: var(--pa-accent);
116
- --pa-link-color-hover: color-mix(in srgb, var(--pa-link-color), currentColor 50%);
117
- --pa-link-color-visited: var(--pa-link-color);
118
- --pa-border-color: var(--base-border-color, #e1e5e9);
119
- --pa-success: #22c55e;
120
- --pa-warning: #f97316;
121
- --pa-danger: #ef4444;
122
- --pa-info: #17a2b8;
123
- --pa-very-positive: #16a34a;
124
- --pa-positive: var(--pa-success);
125
- --pa-neutral: #9ca3af;
126
- --pa-negative: var(--pa-danger);
127
- --pa-very-negative: #dc2626;
128
- --pa-chart-trendline-height: 3rem;
129
- --pa-chart-trendline-stroke: 2.1;
130
- --pa-detail-bg: rgba(15, 17, 21, 0.97);
131
- --pa-detail-text: #ffffff;
132
- --pa-detail-row-label: rgba(255, 255, 255, 0.75);
133
- --pa-detail-title: rgba(255, 255, 255, 0.55);
134
- --pa-detail-shadow: 0 1.4rem 3.6rem rgba(0, 0, 0, 0.55);
135
- --pa-header-bg: #ffffff;
136
- --pa-header-border-color: #e1e5e9;
137
- --pa-header-text: #2c3e50;
138
- --pa-header-text-secondary: #6c757d;
139
- --pa-header-profile-name-color: #2c3e50;
140
- --pa-sidebar-bg: #f8f9fa;
141
- --pa-sidebar-text: #2c3e50;
142
- --pa-sidebar-text-secondary: #6c757d;
143
- --pa-sidebar-submenu-bg: #e9ecef;
144
- --pa-sidebar-submenu-hover-bg: rgb(85.5830753354%, 87.5490196078%, 89.5149638803%);
145
- --pa-sidebar-submenu-active-bg: rgb(79.7936016512%, 82.5490196078%, 85.3044375645%);
146
- --pa-sidebar-submenu-active-text: #2c3e50;
147
- --pa-footer-bg: #ffffff;
148
- --pa-footer-border-color: #e1e5e9;
149
- --pa-btn-primary-bg: #007bff;
150
- --pa-btn-primary-bg-hover: rgb(20%, 58.5882352941%, 100%);
151
- --pa-btn-primary-bg-light: color-mix(in srgb, var(--pa-btn-primary-bg) 5%, transparent);
152
- --pa-btn-primary-text: #ffffff;
153
- --pa-btn-secondary-bg: #6c757d;
154
- --pa-btn-secondary-bg-hover: #545b62;
155
- --pa-btn-secondary-text: #ffffff;
156
- --pa-btn-secondary-outline-color: var(--pa-btn-secondary-bg);
157
- --pa-btn-success-bg: var(--pa-success);
158
- --pa-btn-success-bg-hover: rgb(10.3896103896%, 60.1986249045%, 28.7242169595%);
159
- --pa-btn-success-text: #ffffff;
160
- --pa-btn-danger-bg: var(--pa-danger);
161
- --pa-btn-danger-bg-hover: rgb(92.1491355163%, 8.2430213465%, 8.2430213465%);
162
- --pa-btn-danger-text: #ffffff;
163
- --pa-btn-warning-bg: var(--pa-warning);
164
- --pa-btn-warning-bg-hover: rgb(84.1086225285%, 35.7371400443%, 2.1658872754%);
165
- --pa-btn-warning-text: #212529;
166
- --pa-btn-info-bg: var(--pa-info);
167
- --pa-btn-info-bg-hover: rgb(6.7973856209%, 47.8772378517%, 54.3790849673%);
168
- --pa-btn-info-text: #ffffff;
169
- --pa-btn-light-bg: #f8f9fa;
170
- --pa-btn-light-bg-hover: #e9ecef;
171
- --pa-btn-light-text: #2c3e50;
172
- --pa-btn-dark-bg: #343a40;
173
- --pa-btn-dark-bg-hover: #1d2124;
174
- --pa-btn-dark-text: #ffffff;
175
- --pa-success-bg: var(--pa-success);
176
- --pa-success-bg-hover: rgb(10.3896103896%, 60.1986249045%, 28.7242169595%);
177
- --pa-success-bg-light: color-mix(in srgb, var(--pa-success) 10%, transparent);
178
- --pa-success-bg-subtle: color-mix(in srgb, var(--pa-success) 8%, transparent);
179
- --pa-success-border: color-mix(in srgb, var(--pa-success) 20%, transparent);
180
- --pa-success-text: #155724;
181
- --pa-success-text-light: #d4edda;
182
- --pa-danger-bg: var(--pa-danger);
183
- --pa-danger-bg-hover: rgb(92.1491355163%, 8.2430213465%, 8.2430213465%);
184
- --pa-danger-bg-light: color-mix(in srgb, var(--pa-danger) 10%, transparent);
185
- --pa-danger-bg-subtle: color-mix(in srgb, var(--pa-danger) 8%, transparent);
186
- --pa-danger-border: color-mix(in srgb, var(--pa-danger) 20%, transparent);
187
- --pa-danger-text: #721c24;
188
- --pa-danger-text-light: #f8d7da;
189
- --pa-warning-bg: var(--pa-warning);
190
- --pa-warning-bg-hover: rgb(84.1086225285%, 35.7371400443%, 2.1658872754%);
191
- --pa-warning-bg-light: color-mix(in srgb, var(--pa-warning) 10%, transparent);
192
- --pa-warning-bg-subtle: color-mix(in srgb, var(--pa-warning) 8%, transparent);
193
- --pa-warning-border: color-mix(in srgb, var(--pa-warning) 20%, transparent);
194
- --pa-warning-text: #856404;
195
- --pa-warning-text-light: #fff3cd;
196
- --pa-info-bg: var(--pa-info);
197
- --pa-info-bg-hover: rgb(6.7973856209%, 47.8772378517%, 54.3790849673%);
198
- --pa-info-bg-light: color-mix(in srgb, var(--pa-info) 10%, transparent);
199
- --pa-info-bg-subtle: color-mix(in srgb, var(--pa-info) 8%, transparent);
200
- --pa-info-border: color-mix(in srgb, var(--pa-info) 20%, transparent);
201
- --pa-info-text: #0c5460;
202
- --pa-info-text-light: #d1ecf1;
203
- --pa-card-bg: #ffffff;
204
- --pa-card-header-bg: #f8f9fa;
205
- --pa-card-footer-bg: #ffffff;
206
- --pa-card-tabs-bg: #f8f9fa;
207
- --pa-input-bg: #ffffff;
208
- --pa-input-border: #ced4da;
209
- --pa-input-text: #495057;
210
- --pa-input-focus-border-color: #007bff;
211
- --pa-select-focus-border-color: #007bff;
212
- --pa-textarea-focus-border-color: #007bff;
213
- --pa-checkbox-border-color: #e1e5e9;
214
- --pa-checkbox-border-color-hover: #007bff;
215
- --pa-checkbox-border-color-checked: #007bff;
216
- --pa-checkbox-bg: #ffffff;
217
- --pa-checkbox-bg-checked: #007bff;
218
- --pa-checkbox-bg-indeterminate: #007bff;
219
- --pa-checkbox-checkmark-color: white;
220
- --pa-checkbox-focus-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
221
- --pa-input-group-prepend-bg: #6c757d;
222
- --pa-input-group-prepend-text: #6c757d;
223
- --pa-input-group-append-bg: #6c757d;
224
- --pa-input-group-append-text: #6c757d;
225
- --pa-table-bg: #ffffff;
226
- --pa-table-header-bg: #f8f9fa;
227
- --pa-table-stripe: #f8f9fa;
228
- --pa-table-hover-bg: #f8f9fa;
229
- --pa-table-hover-accent-color: #007bff;
230
- --pa-modal-overlay-bg: rgba(0, 0, 0, 0.5);
231
- --pa-modal-content-bg: #ffffff;
232
- --pa-badge-success-bg: #d4edda;
233
- --pa-badge-success-text: #155724;
234
- --pa-badge-warning-bg: #fff3cd;
235
- --pa-badge-warning-text: #856404;
236
- --pa-badge-info-bg: #d1ecf1;
237
- --pa-badge-info-text: #0c5460;
238
- --pa-badge-danger-bg: #f8d7da;
239
- --pa-badge-danger-text: #721c24;
240
- --pa-composite-badge-icon-bg: #6c757d;
241
- --pa-composite-badge-label-bg: #e9ecef;
242
- --pa-composite-badge-label-text: #2c3e50;
243
- --pa-composite-badge-label-hover-bg: #e9ecef;
244
- --pa-tooltip-bg: #2c3e50;
245
- --pa-tooltip-text: #ffffff;
246
- --pa-popover-content-bg: #ffffff;
247
- --pa-popover-text-light: #ffffff;
248
- --pa-popover-text-dark: #000000;
249
- --pa-loader-overlay-bg: rgba(255, 255, 255, 0.8);
250
- --pa-profile-overlay-bg: rgba(0, 0, 0, 0.3);
251
- --pa-detail-panel-overlay-bg: rgba(0, 0, 0, 0.3);
252
- --pa-detail-panel-selected-bg: rgba(0, 123, 255, 0.08);
253
- --pa-detail-panel-z-index: 4500;
254
- --pa-command-palette-backdrop-bg: rgba(0, 0, 0, 0.5);
255
- --pa-command-palette-item-hover-bg: rgba(0, 123, 255, 0.05);
256
- --pa-command-palette-item-active-bg: rgba(0, 123, 255, 0.1);
257
- --pa-command-palette-highlight-bg: rgba(0, 123, 255, 0.2);
258
- --pa-command-palette-highlight-text: #007bff;
259
- --pa-command-palette-key-bg: #ffffff;
260
- --pa-command-palette-key-text: #2c3e50;
261
- --pa-command-palette-key-font-size: 1.2rem;
262
- --pa-command-palette-key-font-weight: 600;
263
- --pa-multiselect-dropdown-bg: #ffffff;
264
- --pa-multiselect-dropdown-border: #e1e5e9;
265
- --pa-multiselect-dropdown-text: #2c3e50;
266
- --pa-multiselect-hint-bg: #f8f9fa;
267
- --pa-multiselect-hint-border: #e1e5e9;
268
- --pa-multiselect-option-hover-bg: #f8f9fa;
269
- --pa-multiselect-pill-bg: rgba(0, 123, 255, 0.05);
270
- --pa-multiselect-pill-border: #007bff;
271
- --pa-color-1: transparent;
272
- --pa-color-2: transparent;
273
- --pa-color-3: transparent;
274
- --pa-color-4: transparent;
275
- --pa-color-5: transparent;
276
- --pa-color-6: transparent;
277
- --pa-color-7: transparent;
278
- --pa-color-8: transparent;
279
- --pa-color-9: transparent;
280
- --pa-color-1-text: #ffffff;
281
- --pa-color-2-text: #ffffff;
282
- --pa-color-3-text: #ffffff;
283
- --pa-color-4-text: #ffffff;
284
- --pa-color-5-text: #ffffff;
285
- --pa-color-6-text: #ffffff;
286
- --pa-color-7-text: #ffffff;
287
- --pa-color-8-text: #ffffff;
288
- --pa-color-9-text: #ffffff;
289
- --pa-border-radius-sm: 2px;
290
- --pa-border-radius: 4px;
291
- --pa-border-radius-lg: 8px;
292
- --pa-alert-success-text: color-mix(in srgb, var(--pa-success-bg) 60%, black);
293
- --pa-alert-success-bg: color-mix(in srgb, var(--pa-success-bg) 15%, transparent);
294
- --pa-alert-success-border: color-mix(in srgb, var(--pa-success-bg) 30%, transparent);
295
- --pa-alert-danger-text: color-mix(in srgb, var(--pa-danger-bg) 60%, black);
296
- --pa-alert-danger-bg: color-mix(in srgb, var(--pa-danger-bg) 15%, transparent);
297
- --pa-alert-danger-border: color-mix(in srgb, var(--pa-danger-bg) 30%, transparent);
298
- --pa-alert-warning-text: color-mix(in srgb, var(--pa-warning-bg) 60%, black);
299
- --pa-alert-warning-bg: color-mix(in srgb, var(--pa-warning-bg) 15%, transparent);
300
- --pa-alert-warning-border: color-mix(in srgb, var(--pa-warning-bg) 30%, transparent);
301
- --pa-alert-info-text: color-mix(in srgb, var(--pa-info-bg) 60%, black);
302
- --pa-alert-info-bg: color-mix(in srgb, var(--pa-info-bg) 15%, transparent);
303
- --pa-alert-info-border: color-mix(in srgb, var(--pa-info-bg) 30%, transparent);
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;
113
+ --pc-accent-hover: rgba(0, 123, 255, 0.12);
114
+ --pc-accent-light: color-mix(in srgb, var(--pc-accent) 5%, transparent);
115
+ --pc-link-color: var(--pc-accent);
116
+ --pc-link-color-hover: color-mix(in srgb, var(--pc-link-color), currentColor 50%);
117
+ --pc-link-color-visited: var(--pc-link-color);
118
+ --pc-border-color: var(--base-border-color, #e1e5e9);
119
+ --pc-success: #22c55e;
120
+ --pc-warning: #f97316;
121
+ --pc-danger: #ef4444;
122
+ --pc-info: #17a2b8;
123
+ --pc-success-text: #155724;
124
+ --pc-danger-text: #721c24;
125
+ --pc-warning-text: #856404;
126
+ --pc-info-text: #0c5460;
127
+ --pc-color-1: transparent;
128
+ --pc-color-2: transparent;
129
+ --pc-color-3: transparent;
130
+ --pc-color-4: transparent;
131
+ --pc-color-5: transparent;
132
+ --pc-color-6: transparent;
133
+ --pc-color-7: transparent;
134
+ --pc-color-8: transparent;
135
+ --pc-color-9: transparent;
136
+ --pc-color-1-text: #ffffff;
137
+ --pc-color-2-text: #ffffff;
138
+ --pc-color-3-text: #ffffff;
139
+ --pc-color-4-text: #ffffff;
140
+ --pc-color-5-text: #ffffff;
141
+ --pc-color-6-text: #ffffff;
142
+ --pc-color-7-text: #ffffff;
143
+ --pc-color-8-text: #ffffff;
144
+ --pc-color-9-text: #ffffff;
145
+ --pc-border-radius-sm: 2px;
146
+ --pc-border-radius: 4px;
147
+ --pc-border-radius-lg: 8px;
304
148
  }