ui-style-kit-css 2.0.4 → 2.1.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/CHANGELOG.md +23 -0
- package/README.md +62 -15
- package/dist/ui-style-kit.css +10349 -4578
- package/dist/ui-style-kit.min.css +3 -2
- package/dist/ui-style-kit.visual.css +11125 -0
- package/dist/ui-style-kit.visual.min.css +7 -0
- package/dist/ui-style-kit.with-bridge.css +10355 -4583
- package/dist/ui-style-kit.with-bridge.min.css +3 -2
- package/dist/visual/bauhaus.css +2948 -0
- package/dist/visual/bento.css +2967 -0
- package/dist/visual/brutalism.css +2731 -0
- package/dist/visual/cyberpunk.css +2757 -0
- package/dist/visual/maximalist.css +2955 -0
- package/dist/visual/minimal-saas.css +2946 -0
- package/dist/visual/neumorphism.css +2952 -0
- package/dist/visual/retro-glass.css +2768 -0
- package/dist/visual/retrofuturism.css +2939 -0
- package/dist/visual/tactile.css +2933 -0
- package/dist/visual/y2k.css +2729 -0
- package/docs/ECOSYSTEM.md +13 -12
- package/docs/NATIVE-ELEMENTS.md +52 -0
- package/docs/PUBLISHING.md +14 -4
- package/docs/TOKENS.md +13 -0
- package/manifest.json +436 -0
- package/package.json +27 -4
- package/styles/compat-layout.css +88 -0
- package/styles/components.css +671 -0
- package/styles/interactive-surface-bridge.css +5 -3
- package/styles/interactive-surface-theme.css +114 -0
- package/styles/maximalist.css +1 -1
- package/styles/native-elements.css +211 -9
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to **UI Style Kit CSS** will be documented here.
|
|
4
4
|
|
|
5
|
+
## [2.1.0] - 2026-07-20
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added visual-only full, minified, and focused preset entrypoints for applications that own their structural layout.
|
|
10
|
+
- Added `manifest.json` with preset entrypoints, themes, modes, composed class capabilities, deprecated structural suffixes, and native-part ownership classifications.
|
|
11
|
+
- Added a canonical `interactive-surface-theme.css` bridge that supplies public tokens and paint while leaving interaction mechanics to `interactive-surface-css/state-core.css`.
|
|
12
|
+
- Added CSS Tree AST contract coverage for generated class retention, export targets, cascade layers, and bridge ownership boundaries.
|
|
13
|
+
- Added exact `@axe-core/playwright` representative scans and a sharded 990-combination UI matrix across presets, themes, modes, and browser engines.
|
|
14
|
+
- Added manifest-backed demo control data and real `showModal()` dialog coverage for themed native backdrop behavior.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Rebuilt combined output around the ordered `theme_colors`, `native_elements`, `components`, `presets`, and `compat_layout` layers.
|
|
19
|
+
- Moved shared component foundations into `components` and isolated retained prefixed structural helpers in `compat_layout`.
|
|
20
|
+
- Formatted generated CSS through Lightning CSS and pinned `css-tree` exactly for deterministic AST partitioning.
|
|
21
|
+
- Increased native and custom checkbox/radio targets to the WCAG 2.2 24px minimum and tightened demo accessibility semantics.
|
|
22
|
+
|
|
23
|
+
### Deprecated
|
|
24
|
+
|
|
25
|
+
- Deprecated the `page`, `container`, `section`, `grid`, `stack`, `cluster`, and `split` prefixed structural suffixes for removal in v3.
|
|
26
|
+
- Deprecated the stateful `interactive-surface-bridge` and `with-bridge` integration paths while preserving their existing behavior.
|
|
27
|
+
|
|
5
28
|
## [2.0.4] - 2026-07-20
|
|
6
29
|
|
|
7
30
|
### Added
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ It is separate from, but complementary to, **Interactive Surface CSS**. Use **UI
|
|
|
9
9
|
|
|
10
10
|
## Current Release
|
|
11
11
|
|
|
12
|
-
`v2.0
|
|
12
|
+
`v2.1.0` introduces a visual-only public API, a machine-readable capability manifest, a five-layer build architecture, and a canonical token-only Interactive Surface theme bridge. Existing default and focused entrypoints remain compatible, including their deprecated structural helpers, and parser-based minification remains exactly pinned.
|
|
13
13
|
|
|
14
14
|
[Showcase website](https://foscat.github.io/ui-style-kit-css/)
|
|
15
15
|
|
|
@@ -50,9 +50,11 @@ These libraries stay standalone, but the current aligned set is:
|
|
|
50
50
|
|
|
51
51
|
| Library | Aligned version | Owns |
|
|
52
52
|
|---|---:|---|
|
|
53
|
-
| `ui-style-kit-css@2.0
|
|
54
|
-
| `interactive-surface-css@1.
|
|
55
|
-
| `layout-style-css@
|
|
53
|
+
| `ui-style-kit-css@2.1.0` | staged source target | visual identity, color themes, UI paint, native HTML styling, content wrapping, and bridge tokens |
|
|
54
|
+
| `interactive-surface-css@1.5.0` | published release | interaction-state primitives, surface behavior, state layers, and input affordances |
|
|
55
|
+
| `layout-style-css@2.1.0` | staged source target | structural wrappers, grids, sections, app shells, and layout recipes |
|
|
56
|
+
|
|
57
|
+
UI Style Kit `2.1.0` and Layout Style `2.1.0` remain staged source targets until their release approvals complete. Interactive Surface `1.5.0` is the released companion state engine for this upgrade path.
|
|
56
58
|
|
|
57
59
|
Use one, two, or all three depending on the project. UI Style Kit does not require the sibling libraries, and the optional bridge only maps shared `--usk-*` roles into Interactive Surface tokens when consumers import it.
|
|
58
60
|
|
|
@@ -64,6 +66,8 @@ For import order, ownership boundaries, and adoption paths, see the [Ecosystem g
|
|
|
64
66
|
- 10 shared color schemes
|
|
65
67
|
- `light`, `dark`, and `contrast` modes
|
|
66
68
|
- Combined CSS bundle and per-style production imports
|
|
69
|
+
- Visual-only full and focused entrypoints for consumer-owned layouts
|
|
70
|
+
- Machine-readable `manifest.json` preset, theme, mode, class, and native-part capabilities
|
|
67
71
|
- Shared `theme-colors.css`, `native-elements.css`, and `content-overflow.css` layers for all UI systems
|
|
68
72
|
- Scoped native HTML element coverage, including semantic containers and inline text elements
|
|
69
73
|
- Visible `:focus-visible` defaults
|
|
@@ -72,7 +76,8 @@ For import order, ownership boundaries, and adoption paths, see the [Ecosystem g
|
|
|
72
76
|
- Theme-driven card, panel, control, page-background, and spinner defaults
|
|
73
77
|
- Visible tooltip classes and native `[role="tooltip"]` styling inside each UI scope
|
|
74
78
|
- Font-family override variables for body, headings, controls, and mono text
|
|
75
|
-
-
|
|
79
|
+
- Canonical token-and-paint-only theme bridge for `interactive-surface-css/state-core.css`
|
|
80
|
+
- Deprecated stateful bridge exports retained unchanged for backward compatibility
|
|
76
81
|
- Reduced-motion, high-contrast, forced-colors, and print support
|
|
77
82
|
- Cascade-layered CSS for easier consumer overrides
|
|
78
83
|
- No runtime dependencies
|
|
@@ -91,7 +96,15 @@ Use a single style import for production apps that use one visual system:
|
|
|
91
96
|
import "ui-style-kit-css/minimal-saas.css";
|
|
92
97
|
```
|
|
93
98
|
|
|
94
|
-
|
|
99
|
+
The existing focused entrypoints retain the v2 structural helpers. New integrations that already own layout should use a focused visual-only entrypoint:
|
|
100
|
+
|
|
101
|
+
```js
|
|
102
|
+
import "ui-style-kit-css/visual/minimal-saas.css";
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Use `ui-style-kit-css/visual.css` for runtime preset switching without the deprecated prefixed layout selectors. The exact preset, theme, mode, class, and native-part capability matrix is available from `ui-style-kit-css/manifest.json`.
|
|
106
|
+
|
|
107
|
+
In `v2.1.0`, legacy standalone style files continue to import the shared color-scheme, native-element fallback, and content-overflow layers. Bundlers that understand CSS `@import` resolve them automatically. If your build pipeline does not resolve CSS imports, import the shared dependencies before the style file:
|
|
95
108
|
|
|
96
109
|
```js
|
|
97
110
|
import "ui-style-kit-css/theme-colors.css";
|
|
@@ -113,7 +126,15 @@ Use the full bundle when users need to switch `data-ui` systems at runtime:
|
|
|
113
126
|
import "ui-style-kit-css/dist/ui-style-kit.css";
|
|
114
127
|
```
|
|
115
128
|
|
|
116
|
-
|
|
129
|
+
For the canonical state-only integration, import visual paint, the token-only theme bridge, and Interactive Surface state mechanics as separate ownership layers:
|
|
130
|
+
|
|
131
|
+
```js
|
|
132
|
+
import "ui-style-kit-css/visual/minimal-saas.css";
|
|
133
|
+
import "ui-style-kit-css/interactive-surface-theme.css";
|
|
134
|
+
import "interactive-surface-css/state-core.css";
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
The older stateful bridge and combined bundle remain available for compatibility, but they are deprecated and have not been redirected to the token-only behavior:
|
|
117
138
|
|
|
118
139
|
```js
|
|
119
140
|
import "ui-style-kit-css/with-bridge.css";
|
|
@@ -126,7 +147,7 @@ import "ui-style-kit-css/minimal-saas.css";
|
|
|
126
147
|
import "ui-style-kit-css/interactive-surface-bridge";
|
|
127
148
|
```
|
|
128
149
|
|
|
129
|
-
The default
|
|
150
|
+
The default and visual-only bundles do **not** include either bridge. That keeps UI paint independent and prevents accidental duplicate bridge imports.
|
|
130
151
|
|
|
131
152
|
When the bridge is attached, add `.interactive-surface` to interactable elements and use `data-surface-variant` plus `data-surface-level="1"`, `"2"`, or `"3"` to opt into the visible rest, hover, active, and focus treatments. The bridge inherits from shared `--usk-*` roles instead of duplicating per-theme or per-preset token maps.
|
|
132
153
|
|
|
@@ -134,11 +155,13 @@ When the bridge is attached, add `.interactive-surface` to interactable elements
|
|
|
134
155
|
|
|
135
156
|
| Import | Raw | Gzip | Best for |
|
|
136
157
|
|---|---:|---:|---|
|
|
137
|
-
| `ui-style-kit-css/dist/ui-style-kit.min.css` | ~
|
|
138
|
-
| `ui-style-kit-css/
|
|
158
|
+
| `ui-style-kit-css/dist/ui-style-kit.min.css` | ~299 KB | ~39 KB | Compatible runtime UI-system switchers and demos |
|
|
159
|
+
| `ui-style-kit-css/visual.min.css` | ~290 KB | ~38 KB | Runtime visual switching with consumer-owned layout |
|
|
160
|
+
| `ui-style-kit-css/with-bridge.css` | ~369 KB | ~44 KB | Deprecated runtime switcher plus stateful bridge |
|
|
139
161
|
| `ui-style-kit-css/theme-colors.css` | ~25 KB | ~3 KB | Shared color schemes for standalone style imports |
|
|
140
|
-
| `ui-style-kit-css/native-elements.css` | ~
|
|
162
|
+
| `ui-style-kit-css/native-elements.css` | ~21 KB | ~3 KB | Shared native HTML fallback styling |
|
|
141
163
|
| `ui-style-kit-css/content-overflow.css` | ~7 KB | ~1 KB | Shared long-text containment for standalone style imports |
|
|
164
|
+
| `ui-style-kit-css/interactive-surface-theme.css` | ~8 KB | ~1 KB | Canonical token-and-paint bridge for Interactive Surface state core |
|
|
142
165
|
| Single style imports | ~26-28 KB | ~5-6 KB | Production apps with one visual system |
|
|
143
166
|
|
|
144
167
|
## CDN usage
|
|
@@ -149,10 +172,10 @@ Use the latest published NPM package:
|
|
|
149
172
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@latest/dist/ui-style-kit.min.css" />
|
|
150
173
|
```
|
|
151
174
|
|
|
152
|
-
For production
|
|
175
|
+
For production, pin the exact approved release rather than relying on `latest`:
|
|
153
176
|
|
|
154
177
|
```html
|
|
155
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.0
|
|
178
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.1.0/dist/ui-style-kit.min.css" />
|
|
156
179
|
```
|
|
157
180
|
|
|
158
181
|
## Basic usage
|
|
@@ -244,6 +267,8 @@ CSS improves accessibility presentation, but it cannot guarantee accessibility b
|
|
|
244
267
|
|
|
245
268
|
Semantic text utilities such as `saas-text-primary`, `saas-text-warning`, and `saas-text-danger` use the active theme palette directly. Filled UI such as buttons, badges, and busy states use compact `on-*` aliases like `--saas-on-primary` and `--saas-on-danger`.
|
|
246
269
|
|
|
270
|
+
For the full native-element and subpart support contract, including platform-owned picker and popup limitations, see [Native Element Coverage](docs/NATIVE-ELEMENTS.md).
|
|
271
|
+
|
|
247
272
|
## Loading states
|
|
248
273
|
|
|
249
274
|
Every style includes theme-driven spinner utilities:
|
|
@@ -290,6 +315,8 @@ Override `--<prefix>-font-sans` and `--<prefix>-font-display` for the broadest c
|
|
|
290
315
|
|
|
291
316
|
The library styles are wrapped in `@layer ui-style-kit.*`. Unlayered consumer CSS can override the library without specificity fights:
|
|
292
317
|
|
|
318
|
+
The declared order is `theme_colors`, `native_elements`, `components`, `presets`, then `compat_layout`. Visual-only entrypoints leave the final compatibility layer empty of deprecated structural selectors.
|
|
319
|
+
|
|
293
320
|
```css
|
|
294
321
|
[data-ui="minimal-saas"][data-theme="arctic-indigo"] {
|
|
295
322
|
--saas-radius-md: 1rem;
|
|
@@ -314,6 +341,7 @@ The color model is intentionally small: shared `--usk-*` RGB variables feed pref
|
|
|
314
341
|
```txt
|
|
315
342
|
ui-style-kit-css/
|
|
316
343
|
package.json
|
|
344
|
+
manifest.json
|
|
317
345
|
README.md
|
|
318
346
|
LICENSE
|
|
319
347
|
CHANGELOG.md
|
|
@@ -321,11 +349,18 @@ ui-style-kit-css/
|
|
|
321
349
|
dist/
|
|
322
350
|
ui-style-kit.css
|
|
323
351
|
ui-style-kit.min.css
|
|
352
|
+
ui-style-kit.visual.css
|
|
353
|
+
ui-style-kit.visual.min.css
|
|
324
354
|
ui-style-kit.with-bridge.css
|
|
325
355
|
ui-style-kit.with-bridge.min.css
|
|
356
|
+
visual/
|
|
357
|
+
minimal-saas.css
|
|
358
|
+
...
|
|
326
359
|
styles/
|
|
327
360
|
theme-colors.css
|
|
328
361
|
native-elements.css
|
|
362
|
+
components.css
|
|
363
|
+
compat-layout.css
|
|
329
364
|
content-overflow.css
|
|
330
365
|
minimal-saas.css
|
|
331
366
|
bento.css
|
|
@@ -338,6 +373,7 @@ ui-style-kit-css/
|
|
|
338
373
|
cyberpunk.css
|
|
339
374
|
y2k.css
|
|
340
375
|
retro-glass.css
|
|
376
|
+
interactive-surface-theme.css
|
|
341
377
|
interactive-surface-bridge.css
|
|
342
378
|
docs/
|
|
343
379
|
TOKENS.md
|
|
@@ -351,10 +387,21 @@ The checked-in demo, favicon pack, and social preview image stay in the reposito
|
|
|
351
387
|
|
|
352
388
|
```bash
|
|
353
389
|
npm run check
|
|
390
|
+
npm run test:e2e
|
|
391
|
+
npm run test:axe
|
|
392
|
+
npm run test:visual
|
|
393
|
+
npm run test:matrix
|
|
354
394
|
npm run pack:dry-run
|
|
355
395
|
```
|
|
356
396
|
|
|
357
|
-
`npm run check` rebuilds the bundles, runs stylelint, verifies package metadata, checks the documented class API, and validates contrast for base text/link pairs and filled component `on-*` pairs.
|
|
397
|
+
`npm run check` rebuilds the bundles, runs stylelint, verifies package metadata, checks the documented class API, and validates contrast for base text/link pairs and filled component `on-*` pairs. Browser release gates add all-engine Playwright coverage, representative Axe scans, curated visual smoke checks, and the sharded `11 presets x 10 themes x 3 modes x 3 engines` matrix.
|
|
398
|
+
|
|
399
|
+
## v2.1.0 Architecture Notes
|
|
400
|
+
|
|
401
|
+
- Prefer `visual.css` or `visual/<preset>.css` when Layout Style CSS or application CSS owns structure.
|
|
402
|
+
- Existing root, minified, focused preset, `interactive-surface-bridge`, and `with-bridge` entrypoints preserve their v2 behavior.
|
|
403
|
+
- Treat `page`, `container`, `section`, `grid`, `stack`, `cluster`, and `split` suffixes as deprecated compatibility helpers; their removal is reserved for v3.
|
|
404
|
+
- Prefer `interactive-surface-theme.css` with `interactive-surface-css/state-core.css`. The old stateful bridge exports remain deprecated compatibility paths.
|
|
358
405
|
|
|
359
406
|
## v2.0.1 Migration Notes
|
|
360
407
|
|
|
@@ -363,7 +410,7 @@ The `v2.0.1` release line removes duplicated per-UI color-scheme blocks. Color s
|
|
|
363
410
|
- Use `--usk-*-rgb` when defining or overriding a color scheme.
|
|
364
411
|
- Continue using prefixed functional tokens such as `--saas-primary`, `--neo-card-bg`, and `--rg-on-primary` inside components.
|
|
365
412
|
- Import `ui-style-kit-css/theme-colors.css`, `ui-style-kit-css/native-elements.css`, and `ui-style-kit-css/content-overflow.css` before standalone style files if your bundler does not follow CSS `@import`.
|
|
366
|
-
-
|
|
413
|
+
- Existing v2.0.1 integrations can keep using `ui-style-kit-css/interactive-surface-bridge` or `ui-style-kit-css/with-bridge.css`; those stateful compatibility paths are deprecated in v2.1.0. New integrations should compose the visual, theme-bridge, and state-core entrypoints documented above.
|
|
367
414
|
|
|
368
415
|
## License
|
|
369
416
|
|