@keenmate/pure-css 1.0.0-rc01
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 +49 -0
- package/LICENSE +21 -0
- package/README.md +138 -0
- package/dist/css/base.css +304 -0
- package/dist/css/grid.css +1761 -0
- package/dist/css/pure-css.css +4839 -0
- package/dist/css/utilities.css +2773 -0
- package/package.json +62 -0
- package/src/scss/_base-css-variables.scss +648 -0
- package/src/scss/_fonts.scss +37 -0
- package/src/scss/_pa-grid.scss +292 -0
- package/src/scss/base.scss +15 -0
- package/src/scss/grid.scss +7 -0
- package/src/scss/pure-css.scss +28 -0
- package/src/scss/utilities.scss +759 -0
- package/src/scss/variables/_base.scss +232 -0
- package/src/scss/variables/_colors.scss +231 -0
- package/src/scss/variables/_components.scss +835 -0
- package/src/scss/variables/_index.scss +23 -0
- package/src/scss/variables/_layout.scss +65 -0
- package/src/scss/variables/_spacing.scss +78 -0
- package/src/scss/variables/_system.scss +89 -0
- package/src/scss/variables/_typography.scss +37 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@keenmate/pure-css` are documented here. Format based on
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
5
|
+
|
|
6
|
+
## [1.0.0-rc01] — 2026-08-04
|
|
7
|
+
|
|
8
|
+
Initial extraction of the CSS foundation out of `@keenmate/pure-admin-core`.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Border/rounded utilities now resolve (were inert).** `.border` / `.border-{top,right,bottom,left}`
|
|
13
|
+
and `.rounded` / `.rounded-{lg,top,…}` referenced bare `--border-color` / `--border-radius`
|
|
14
|
+
variables the framework never emits — so they fell back to a `currentColor` border and no radius
|
|
15
|
+
(a latent bug inherited from pure-admin-core). Repointed them at the emitted `--pa-border-color` /
|
|
16
|
+
`--pa-border-radius(-lg)` (themed from `--base-*`). Now `base.css` + `utilities.css` are
|
|
17
|
+
**self-sufficient** — the border/radius utilities work standalone, no host shim.
|
|
18
|
+
- **`--pa-border-color` is now a live reference** — emitted as `var(--base-border-color, <literal>)`
|
|
19
|
+
instead of a baked literal (it's a pure pass-through, no derivation lost). So it — and the `.border`
|
|
20
|
+
utilities that read it — follow a **runtime** `--base-border-color` override (a theme or dark-mode
|
|
21
|
+
class toggling it at `:root`/`.pa-mode-dark`), not just build-time themes.
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- **`--base-*` theming contract** — `src/scss/variables/*` (the `$base-*` source of truth plus the
|
|
26
|
+
derived typography/spacing/colors/layout/system/components modules) and
|
|
27
|
+
`_base-css-variables.scss` (the mixin emitting `--base-*` and derived `--pa-*` custom properties).
|
|
28
|
+
- **Native flexbox grid** — `_pa-grid.scss` (`.pa-row` / `.pa-col`: percentage columns in 5%
|
|
29
|
+
increments, intuitive fractions, container-query responsive variants, offsets, visibility helpers),
|
|
30
|
+
relocated from pure-admin-core's `core-components/_grid.scss`. Replaces the legacy PureCSS
|
|
31
|
+
`.pure-g` / `.pure-u-*` grid, which pure-admin had already stopped using — so pure-css ships the
|
|
32
|
+
grid consumers actually use, not the deprecated one.
|
|
33
|
+
- **Utilities** — `utilities.scss` (spacing / flex / display / width-height classes) plus the generic
|
|
34
|
+
`.font-family-system/-sans/-serif/-mono` classes from `_fonts.scss` (core keeps `_fonts.scss`
|
|
35
|
+
standalone; here it `@use`s into utilities so all foundation utilities ship together). Adds
|
|
36
|
+
`.gap-*` / `.gap-x-*` / `.gap-y-*` (flex/grid gap, same `$spacers` scale) — the one spacing family
|
|
37
|
+
core lacked, needed to express flex layouts with utilities.
|
|
38
|
+
- **Build entries & artifacts** — `pure-css.scss` (full bundle), `base.scss` (variables only),
|
|
39
|
+
`grid.scss` (grid only), and the existing `utilities.scss`, compiled to
|
|
40
|
+
`dist/css/{pure-css,base,grid,utilities}.css`. `dist/` is committed for toolchain-free vendoring.
|
|
41
|
+
- Package tooling: `package.json` (`@keenmate/pure-css`, `exports` for `.`/`./base`/`./grid`/
|
|
42
|
+
`./utilities`/`./scss`), `Makefile`, `README`, this changelog.
|
|
43
|
+
|
|
44
|
+
### Notes
|
|
45
|
+
|
|
46
|
+
- **pure-admin-core consumes this package** as its single source for the foundation (thin
|
|
47
|
+
`@import`/`@forward` shims for the variables, `--base-*`/`--pa-*` emit mixins, utilities, and the
|
|
48
|
+
grid). The two no longer carry duplicate copies, so compiled `--base-*` values and grid output
|
|
49
|
+
match core's `dist/css/main.css` exactly.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Pure Admin
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# @keenmate/pure-css
|
|
2
|
+
|
|
3
|
+
The KeenMate CSS **foundation** — the `--base-*` theming contract, the flexbox grid (`.pa-row` / `.pa-col`), and the
|
|
4
|
+
utility classes — extracted from [`@keenmate/pure-admin-core`](https://github.com/KeenMate/pure-admin)
|
|
5
|
+
so it can be consumed on its own.
|
|
6
|
+
|
|
7
|
+
## What's New in 1.0.0-rc01
|
|
8
|
+
|
|
9
|
+
- **The KeenMate CSS foundation, now standalone.** The `--base-*` theming
|
|
10
|
+
contract, the PureCSS grid, and the utility classes — extracted from
|
|
11
|
+
`@keenmate/pure-admin-core` so a docs site, marketing page, or component host
|
|
12
|
+
can use the foundation without the 40+ admin components.
|
|
13
|
+
- **One theming layer everyone shares.** `--base-*` is the single source of
|
|
14
|
+
truth; `pure-admin-core`, its `--pa-*` component variables, and every KeenMate
|
|
15
|
+
web/Svelte component derive from it via fallback chains — so one block of
|
|
16
|
+
`--base-*` overrides re-themes all of them at once.
|
|
17
|
+
- **Four link targets.** `pure-css.css` (everything) or cherry-pick `base.css`
|
|
18
|
+
(variables only), `grid.css`, `utilities.css`.
|
|
19
|
+
- **The native `.pa-row` / `.pa-col` grid** — flexbox columns in 5% percentage
|
|
20
|
+
increments plus intuitive fractions (`.pa-col-1-3`, `.pa-col-2-3`, …), with
|
|
21
|
+
container-query responsive variants (`.pa-col-md-*`) and RTL-aware gutters.
|
|
22
|
+
(This replaces the legacy PureCSS `.pure-g` / `.pure-u-*` grid, which
|
|
23
|
+
pure-admin had already stopped using.)
|
|
24
|
+
- **New `.gap-*` / `.gap-x-*` / `.gap-y-*` utilities** on the same spacing scale
|
|
25
|
+
as the margin/padding helpers — the one spacing family core lacked.
|
|
26
|
+
- **Self-sufficient border/rounded utilities.** `.border` / `.rounded` consume
|
|
27
|
+
the emitted `--pa-border-*` variables, so `base.css` + `utilities.css` render
|
|
28
|
+
correct borders and radii standalone — no host stylesheet required.
|
|
29
|
+
- **`dist/` is committed** — vendor the built CSS with no Sass toolchain.
|
|
30
|
+
|
|
31
|
+
## Why
|
|
32
|
+
|
|
33
|
+
Any surface that isn't a full admin app — a docs site, a marketing page, a standalone widget host —
|
|
34
|
+
wants the *foundation* (variables + grid + utilities) without pure-admin-core's 40+ components. And
|
|
35
|
+
every KeenMate web component (`<web-multiselect>`, …) and Svelte component already reads its colors
|
|
36
|
+
from the `--base-*` custom properties. Shipping those from one small package means one theming layer
|
|
37
|
+
that the components, the admin framework, and everything else all agree on.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
@keenmate/pure-css @keenmate/pure-admin-core
|
|
41
|
+
├─ --base-* variables ◀──── imports pure-css, adds
|
|
42
|
+
├─ .pa-row / .pa-col grid the component library
|
|
43
|
+
└─ utility classes
|
|
44
|
+
▲
|
|
45
|
+
└── docs sites, portals, component hosts consume the built CSS directly
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm install @keenmate/pure-css
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Quick Start
|
|
55
|
+
|
|
56
|
+
**Prebuilt CSS (simplest):**
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<link rel="stylesheet" href="node_modules/@keenmate/pure-css/dist/css/pure-css.css">
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
or cherry-pick:
|
|
63
|
+
|
|
64
|
+
```html
|
|
65
|
+
<link rel="stylesheet" href="…/pure-css/dist/css/base.css"> <!-- variables only -->
|
|
66
|
+
<link rel="stylesheet" href="…/pure-css/dist/css/grid.css"> <!-- + grid -->
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**SCSS (customize before compiling):**
|
|
70
|
+
|
|
71
|
+
```scss
|
|
72
|
+
// Override the source of truth; everything re-derives.
|
|
73
|
+
$base-accent-color: #4f46e5;
|
|
74
|
+
$base-page-bg: #0b1020;
|
|
75
|
+
|
|
76
|
+
@use '@keenmate/pure-css/scss/pure-css';
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## What's in it
|
|
80
|
+
|
|
81
|
+
| Artifact | Contents | When to link |
|
|
82
|
+
| --- | --- | --- |
|
|
83
|
+
| `dist/css/pure-css.css` | everything below, in one file | the common case |
|
|
84
|
+
| `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 |
|
|
85
|
+
| `dist/css/grid.css` | `.pa-row` / `.pa-col-*` (percentage + fraction columns, container-query responsive) | layout only |
|
|
86
|
+
| `dist/css/utilities.css` | spacing / flex / display / width-height utilities (`.m-4`, `.d-flex`, `.w-50`, …) | utilities only |
|
|
87
|
+
|
|
88
|
+
### The `--base-*` contract
|
|
89
|
+
|
|
90
|
+
`--base-*` is the **single source of truth for theming**. Framework colors, component variables
|
|
91
|
+
(`--pa-*`) and web/svelte components all derive from it via fallback chains
|
|
92
|
+
(`--ms-accent-color: var(--base-accent-color, #3b82f6)`). Categories: accent, text, background,
|
|
93
|
+
border, input, dropdown, tooltip, contextual (success/danger/warning/info), interactive states,
|
|
94
|
+
typography, border-radius. The full list is `src/scss/variables/_base.scss`.
|
|
95
|
+
|
|
96
|
+
## Theming
|
|
97
|
+
|
|
98
|
+
A **theme** is nothing but a set of `--base-*` values. The lightest possible theme is a stylesheet
|
|
99
|
+
that redeclares them, loaded *after* `base.css`:
|
|
100
|
+
|
|
101
|
+
```css
|
|
102
|
+
:root {
|
|
103
|
+
--base-accent-color: #4f46e5;
|
|
104
|
+
--base-page-bg: #f6f8fb;
|
|
105
|
+
--base-text-color-1: #1a2233;
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Because pure-admin-core, the components and any consumer all read the same variables, that one block
|
|
110
|
+
re-themes all of them at once. This is the same model as
|
|
111
|
+
[`@keenmate/pure-admin-themes`](https://github.com/KeenMate/pure-admin-themes), so the same CLI and
|
|
112
|
+
publishing infrastructure applies.
|
|
113
|
+
|
|
114
|
+
## Build
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
make install # sass
|
|
118
|
+
make build # src/scss -> dist/css (bundle + base + grid + utilities)
|
|
119
|
+
make sizes # show artifact sizes
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
`dist/` is committed so consumers can vendor the built CSS without a Sass toolchain.
|
|
123
|
+
|
|
124
|
+
## Provenance
|
|
125
|
+
|
|
126
|
+
The SCSS is the foundation extracted from `pure-admin-core`'s `src/scss` — the `variables/` modules,
|
|
127
|
+
`_base-css-variables.scss`, `utilities.scss`, `_fonts.scss`, and the native grid (`_pa-grid.scss`,
|
|
128
|
+
formerly core's `core-components/_grid.scss`). **pure-admin-core now consumes this package** as its
|
|
129
|
+
single source for the foundation (thin `@import`/`@forward` shims), so the two no longer drift —
|
|
130
|
+
core's compiled `--base-*` values and grid output match pure-css exactly.
|
|
131
|
+
|
|
132
|
+
One intentional difference: `utilities.scss` here `@use`s `_fonts.scss` so the generic
|
|
133
|
+
`.font-family-*` classes ship with the other utilities, whereas core keeps `_fonts.scss` standalone.
|
|
134
|
+
`_rtl-helpers.scss` and the component layer stay in core.
|
|
135
|
+
|
|
136
|
+
## License
|
|
137
|
+
|
|
138
|
+
MIT © KeenMate. The grid is derived from [Pure](https://purecss.io/) (Yahoo!, BSD).
|
|
@@ -0,0 +1,304 @@
|
|
|
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);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
:root {
|
|
12
|
+
--base-accent-color: #007bff;
|
|
13
|
+
--base-accent-color-hover: rgb(20%, 58.5882352941%, 100%);
|
|
14
|
+
--base-accent-color-active: rgb(40%, 68.9411764706%, 100%);
|
|
15
|
+
--base-accent-color-light: rgba(0, 123, 255, 0.05);
|
|
16
|
+
--base-accent-color-light-hover: rgba(0, 123, 255, 0.12);
|
|
17
|
+
--base-text-color-1: #2c3e50;
|
|
18
|
+
--base-text-color-2: #6c757d;
|
|
19
|
+
--base-text-color-3: #7a8a99;
|
|
20
|
+
--base-text-color-4: #a3b1bf;
|
|
21
|
+
--base-text-color-on-accent: #ffffff;
|
|
22
|
+
--base-main-bg: #ffffff;
|
|
23
|
+
--base-page-bg: #f8f9fa;
|
|
24
|
+
--base-subtle-bg: #e9ecef;
|
|
25
|
+
--base-inverse-bg: #2c3e50;
|
|
26
|
+
--base-overlay-bg: rgba(0, 0, 0, 0.5);
|
|
27
|
+
--base-shadow-color: rgba(0, 0, 0, 0.15);
|
|
28
|
+
--base-hover-bg: #e9ecef;
|
|
29
|
+
--base-active-bg: rgb(85.5830753354%, 87.5490196078%, 89.5149638803%);
|
|
30
|
+
--base-disabled-bg: #e9ecef;
|
|
31
|
+
--base-elevated-bg: #f5f5f5;
|
|
32
|
+
--base-border-color: #e1e5e9;
|
|
33
|
+
--base-border: 1px solid #e1e5e9;
|
|
34
|
+
--base-input-bg: #ffffff;
|
|
35
|
+
--base-input-color: #495057;
|
|
36
|
+
--base-input-border: 1px solid #ced4da;
|
|
37
|
+
--base-input-border-hover: 1px solid #b8bfc6;
|
|
38
|
+
--base-input-border-focus: 1px solid #007bff;
|
|
39
|
+
--base-input-placeholder-color: #a3b1bf;
|
|
40
|
+
--base-input-bg-disabled: rgba(255, 255, 255, 0.5);
|
|
41
|
+
--base-input-size-xs-height: 3.1;
|
|
42
|
+
--base-input-size-sm-height: 3.3;
|
|
43
|
+
--base-input-size-md-height: 3.5;
|
|
44
|
+
--base-input-size-lg-height: 3.8;
|
|
45
|
+
--base-input-size-xl-height: 4.1;
|
|
46
|
+
--base-dropdown-bg: #ffffff;
|
|
47
|
+
--base-dropdown-border: 1px solid #e1e5e9;
|
|
48
|
+
--base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
|
|
49
|
+
--base-tooltip-bg: #2c3e50;
|
|
50
|
+
--base-tooltip-text-color: #ffffff;
|
|
51
|
+
--base-success-color: #22c55e;
|
|
52
|
+
--base-success-color-hover: rgb(10.3896103896%, 60.1986249045%, 28.7242169595%);
|
|
53
|
+
--base-success-bg-light: rgba(34, 197, 94, 0.1);
|
|
54
|
+
--base-success-bg-subtle: rgba(34, 197, 94, 0.08);
|
|
55
|
+
--base-success-border: rgba(34, 197, 94, 0.2);
|
|
56
|
+
--base-success-text: #155724;
|
|
57
|
+
--base-success-text-light: #d4edda;
|
|
58
|
+
--base-text-on-success: #ffffff;
|
|
59
|
+
--base-danger-color: #ef4444;
|
|
60
|
+
--base-danger-color-hover: rgb(92.1491355163%, 8.2430213465%, 8.2430213465%);
|
|
61
|
+
--base-danger-bg-light: rgba(239, 68, 68, 0.1);
|
|
62
|
+
--base-danger-bg-subtle: rgba(239, 68, 68, 0.08);
|
|
63
|
+
--base-danger-border: rgba(239, 68, 68, 0.2);
|
|
64
|
+
--base-danger-text: #721c24;
|
|
65
|
+
--base-danger-text-light: #f8d7da;
|
|
66
|
+
--base-text-on-danger: #ffffff;
|
|
67
|
+
--base-warning-color: #f97316;
|
|
68
|
+
--base-warning-color-hover: rgb(84.1086225285%, 35.7371400443%, 2.1658872754%);
|
|
69
|
+
--base-warning-bg-light: rgba(249, 115, 22, 0.1);
|
|
70
|
+
--base-warning-bg-subtle: rgba(249, 115, 22, 0.08);
|
|
71
|
+
--base-warning-border: rgba(249, 115, 22, 0.2);
|
|
72
|
+
--base-warning-text: #856404;
|
|
73
|
+
--base-warning-text-light: #fff3cd;
|
|
74
|
+
--base-text-on-warning: #212529;
|
|
75
|
+
--base-info-color: #17a2b8;
|
|
76
|
+
--base-info-color-hover: rgb(6.7973856209%, 47.8772378517%, 54.3790849673%);
|
|
77
|
+
--base-info-bg-light: rgba(23, 162, 184, 0.1);
|
|
78
|
+
--base-info-bg-subtle: rgba(23, 162, 184, 0.08);
|
|
79
|
+
--base-info-border: rgba(23, 162, 184, 0.2);
|
|
80
|
+
--base-info-text: #0c5460;
|
|
81
|
+
--base-info-text-light: #d1ecf1;
|
|
82
|
+
--base-text-on-info: #ffffff;
|
|
83
|
+
--base-hover-overlay: rgba(0, 0, 0, 0.04);
|
|
84
|
+
--base-active-overlay: rgba(0, 0, 0, 0.08);
|
|
85
|
+
--base-focus-ring-color: #007bff;
|
|
86
|
+
--base-focus-ring-width: 3px;
|
|
87
|
+
--base-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
|
|
88
|
+
--base-font-family-mono: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
|
|
89
|
+
--base-font-size-2xs: 1;
|
|
90
|
+
--base-font-size-xs: 1.2;
|
|
91
|
+
--base-font-size-sm: 1.4;
|
|
92
|
+
--base-font-size-base: 1.6;
|
|
93
|
+
--base-font-size-lg: 1.8;
|
|
94
|
+
--base-font-size-xl: 2;
|
|
95
|
+
--base-font-size-2xl: 2.4;
|
|
96
|
+
--base-font-weight-normal: 400;
|
|
97
|
+
--base-font-weight-medium: 500;
|
|
98
|
+
--base-font-weight-semibold: 600;
|
|
99
|
+
--base-font-weight-bold: 700;
|
|
100
|
+
--base-line-height-tight: 1.25;
|
|
101
|
+
--base-line-height-normal: 1.5;
|
|
102
|
+
--base-line-height-relaxed: 1.75;
|
|
103
|
+
--base-border-radius-sm: 0.4;
|
|
104
|
+
--base-border-radius-md: 0.6;
|
|
105
|
+
--base-border-radius-lg: 0.8;
|
|
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);
|
|
304
|
+
}
|