ui-style-kit-css 2.2.0 → 2.3.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 +38 -0
- package/README.md +100 -31
- package/STYLE-MAP.md +19 -0
- package/dist/ui-style-kit.css +18417 -1704
- package/dist/ui-style-kit.min.css +2 -2
- package/dist/ui-style-kit.visual.css +17709 -1446
- package/dist/ui-style-kit.visual.min.css +2 -2
- package/dist/ui-style-kit.with-bridge.css +18425 -1706
- package/dist/ui-style-kit.with-bridge.min.css +2 -2
- package/dist/visual/art-deco.css +4776 -0
- package/dist/visual/bauhaus.css +1809 -78
- package/dist/visual/bento.css +1825 -97
- package/dist/visual/brutalism.css +1774 -35
- package/dist/visual/clay.css +4789 -0
- package/dist/visual/cyberpunk.css +1765 -35
- package/dist/visual/data-terminal.css +4804 -0
- package/dist/visual/editorial-luxe.css +4804 -0
- package/dist/visual/industrial-utility.css +4797 -0
- package/dist/visual/maximalist.css +1771 -37
- package/dist/visual/minimal-saas.css +1801 -78
- package/dist/visual/neo-noir.css +4790 -0
- package/dist/visual/neumorphism.css +1807 -78
- package/dist/visual/organic-modern.css +4767 -0
- package/dist/visual/paper-editorial.css +4799 -0
- package/dist/visual/retro-glass.css +1786 -36
- package/dist/visual/retrofuturism.css +1759 -36
- package/dist/visual/tactile.css +1760 -36
- package/dist/visual/technical-blueprint.css +4791 -0
- package/dist/visual/y2k.css +1767 -35
- package/docs/ECOSYSTEM.md +8 -4
- package/docs/PUBLISHING.md +14 -10
- package/docs/STYLE-GUIDE.md +53 -13
- package/docs/TOKENS.md +10 -1
- package/docs/superpowers/plans/2026-08-29-preset-identity-system-refinement.md +649 -0
- package/docs/superpowers/specs/2026-08-29-preset-identity-system-refinement-design.md +212 -0
- package/manifest.json +160 -2
- package/package.json +63 -6
- package/styles/art-deco.css +683 -0
- package/styles/bauhaus.css +237 -3
- package/styles/bento.css +266 -7
- package/styles/brutalism.css +235 -3
- package/styles/clay.css +692 -0
- package/styles/components.css +608 -14
- package/styles/content-overflow.css +423 -4
- package/styles/cyberpunk.css +234 -3
- package/styles/data-terminal.css +691 -0
- package/styles/editorial-luxe.css +687 -0
- package/styles/industrial-utility.css +690 -0
- package/styles/interactive-surface-bridge.css +11 -5
- package/styles/interactive-surface-theme.css +11 -3
- package/styles/maximalist.css +238 -4
- package/styles/minimal-saas.css +234 -3
- package/styles/native-elements.css +64 -12
- package/styles/neo-noir.css +690 -0
- package/styles/neumorphism.css +234 -3
- package/styles/organic-modern.css +683 -0
- package/styles/paper-editorial.css +688 -0
- package/styles/retro-glass.css +242 -3
- package/styles/retrofuturism.css +233 -3
- package/styles/tactile.css +235 -3
- package/styles/technical-blueprint.css +686 -0
- package/styles/theme-colors.css +796 -5
- package/styles/y2k.css +237 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,44 @@ All notable changes to **UI Style Kit CSS** will be documented here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [2.3.0] - 2026-08-29
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Added nine new first-class UI systems: `editorial-luxe`, `organic-modern`, `industrial-utility`, `technical-blueprint`, `art-deco`, `clay`, `data-terminal`, `paper-editorial`, and `neo-noir`, bringing the library to 20 presets.
|
|
12
|
+
- Added ten shared color themes—`chrome-navy`, `recycled-emerald`, `industrial-orange`, `performance-red`, `heritage-brass`, `service-blue-red`, `newsprint-crimson`, `foundry-amber`, `soft-orchid`, and `electric-noir`—with light, dark, and contrast modes, bringing the shared theme set to 20.
|
|
13
|
+
- Added a universal commercial/marketing component vocabulary across all 20 UI systems: service and feature cards, card media and accent edges, icon medallions, clipped and heavy-outline buttons, seal badges, feature strips/items, callout bars, eyebrow text, and media scrims.
|
|
14
|
+
- Added a live demo showcase and contract tests for the new cross-style component suffixes and published bundles.
|
|
15
|
+
- Expanded the manifest-driven browser matrix to 20 presets × 20 themes × 3 modes × 3 engines (3,600 combinations).
|
|
16
|
+
- Added manifest-generated shared containment and expanded-component inventories so all 20 presets stay synchronized with the public registry.
|
|
17
|
+
- Added distinct preset-owned loader geometry for all 20 spinner utilities and native or component busy-button indicators.
|
|
18
|
+
- Added a declared modern-browser support floor, exactly pinned Browserslist resolution, and a CSS Tree-backed `check:compat` release gate for every generated entrypoint.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Gave all 20 presets distinct CTA, card, medallion, strip, scrim, and callout identities while preserving the existing class names and theme color roles.
|
|
23
|
+
- Separated filled service actions from framed callout actions so `button-cut` and `button-outline-heavy` express independent, preset-coherent roles instead of sharing one generic CTA silhouette.
|
|
24
|
+
- Reworked the commercial and utility demo specimens to use active theme tokens, explicit utility composition, and container-aware native typography.
|
|
25
|
+
- Aligned ecosystem verification and documentation with `layout-style-css@3.1.0` and `interactive-surface-css@1.6.0`, including the current exported manifests and `foundation.css`.
|
|
26
|
+
- Expanded the commercial component documentation with composition, accessibility, and responsive-behavior guidance.
|
|
27
|
+
- Routed every Lightning CSS formatting and minification pass through the shared package Browserslist targets, with stable fallbacks and guarded progressive enhancements.
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- Prevented the outer showcase grid from leaking its twelve-column rules into the nested commercial component grid.
|
|
32
|
+
- Kept busy indicators separated from labels and contained inside native busy buttons.
|
|
33
|
+
- Removed the CTA modifier specificity conflict so `button-cut` geometry can express each preset instead of falling back to a generic shape.
|
|
34
|
+
- Removed obsolete Layout `integrations/ui-style-kit.css` and `legacy.css` expectations from packed ecosystem verification.
|
|
35
|
+
- Prevented shared switch foundations from shrinking the track or applying a second thumb translation over the preset-owned checked position.
|
|
36
|
+
- Replaced the stretched faceted Clay CTA with a compact, softly clipped inflated pill that matches Clay controls.
|
|
37
|
+
- Strengthened light-mode component edges to a verified 3:1 non-text contrast minimum without changing semantic theme colors.
|
|
38
|
+
- Prevented editable-field background paint from leaking onto button, submit, and reset inputs when the Interactive Surface bridge adds its hook class.
|
|
39
|
+
- Corrected the remaining light-mode soft-surface and primary-hover contrast failures and expanded the manifest-driven audit to all 1,200 preset, theme, and mode states.
|
|
40
|
+
- Kept preset eyebrow and native strong-text rules from overriding the high-contrast foreground inside media-scrim captions.
|
|
41
|
+
- Replaced Bento's fixed six-column feature helper with intrinsic, container-aware tiles so metric labels do not collapse into narrow vertical text columns.
|
|
42
|
+
- Normalized semantic action inputs independently of bridge hook classes, stopped read-only field paint from overriding action controls, and kept deprecated bridge foreground/background swaps atomic so transient states remain readable.
|
|
43
|
+
- Restored prefixed Retro Glass `backdrop-filter` output, removed obsolete intrinsic CTA sizing diagnostics, and guarded `color-mix()`, `text-wrap`, and `forced-color-adjust` enhancements for the declared support floor.
|
|
44
|
+
|
|
7
45
|
## [2.2.0] - 2026-08-09
|
|
8
46
|
|
|
9
47
|
### Added
|
package/README.md
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
**UI Style Kit CSS** is a CSS-only theme and UI style preset library for accessible websites, dashboards, admin interfaces, and customer-facing pages.
|
|
7
7
|
|
|
8
|
-
It is separate from, but complementary to, **Interactive Surface CSS**. Use **UI Style Kit CSS** for visual identity, color themes, UI presets, layout mood, and native HTML styling. Use **Interactive Surface CSS** for interaction-state animation systems and surface behavior.
|
|
8
|
+
It is separate from, but complementary to, **Interactive Surface CSS** and **Layout Style CSS**. Use **UI Style Kit CSS** for visual identity, color themes, UI presets, layout mood, and native HTML styling. Use **Interactive Surface CSS** for interaction-state animation systems and surface behavior. Use **Layout Style CSS** for responsive layout wrappers, grid systems, macro-structure positioning, and container scaffolding.
|
|
9
9
|
|
|
10
10
|
## Current Release
|
|
11
11
|
|
|
12
|
-
`v2.
|
|
12
|
+
`v2.3.0` expands the library to 20 UI style systems and 20 shared color schemes, adds a universal commercial component vocabulary and a declared modern-browser support floor, and grows the browser matrix to 3,600 preset/theme/mode/engine combinations. Existing default, focused, visual-only, and bridge entrypoints remain compatible, and parser-based minification remains exactly pinned.
|
|
13
13
|
|
|
14
14
|
[Showcase website](https://foscat.github.io/ui-style-kit-css/)
|
|
15
15
|
|
|
@@ -50,11 +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.
|
|
54
|
-
| `interactive-surface-css@1.6.0` |
|
|
55
|
-
| `layout-style-css@3.0
|
|
53
|
+
| `ui-style-kit-css@2.3.0` | current release target | visual identity, color themes, UI paint, native HTML styling, content wrapping, and bridge tokens |
|
|
54
|
+
| `interactive-surface-css@1.6.0` | compatible state release | interaction-state primitives, surface behavior, state layers, and input affordances |
|
|
55
|
+
| `layout-style-css@3.1.0` | compatible structural release | structural wrappers, grids, sections, app shells, and layout recipes |
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
UI Style Kit `2.3.0` is the current release target and is verified with Interactive Surface `1.6.0`. Layout Style `3.1.0` is the compatible structural release. The validated minimum remains `ui-style-kit-css@2.1.0`, `interactive-surface-css@1.5.0`, and `layout-style-css@3.0.0`.
|
|
58
58
|
|
|
59
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.
|
|
60
60
|
|
|
@@ -66,8 +66,8 @@ For import order, ownership boundaries, and adoption paths, see the [Ecosystem g
|
|
|
66
66
|
|
|
67
67
|
## Features
|
|
68
68
|
|
|
69
|
-
-
|
|
70
|
-
-
|
|
69
|
+
- 20 UI style systems
|
|
70
|
+
- 20 shared color schemes
|
|
71
71
|
- `light`, `dark`, and `contrast` modes
|
|
72
72
|
- Combined CSS bundle and per-style production imports
|
|
73
73
|
- Visual-only full and focused entrypoints for consumer-owned layouts
|
|
@@ -108,7 +108,7 @@ Use the generated default bundle for semantic components that can switch across
|
|
|
108
108
|
import "ui-style-kit-css";
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
Use `ui-style-kit-css/visual.css` for the same 29-selector semantic runtime API without the deprecated prefixed layout selectors. The generated default, visual, and with-bridge bundles all support all
|
|
111
|
+
Use `ui-style-kit-css/visual.css` for the same 29-selector semantic runtime API without the deprecated prefixed layout selectors. The generated default, visual, and with-bridge bundles all support all 20 `data-ui` values.
|
|
112
112
|
|
|
113
113
|
Applications fixed to one preset can use a generated focused visual entrypoint. It includes semantic aliases scoped to that preset only:
|
|
114
114
|
|
|
@@ -128,7 +128,7 @@ import "ui-style-kit-css/minimal-saas.css";
|
|
|
128
128
|
import "ui-style-kit-css/styles/minimal-saas.css";
|
|
129
129
|
```
|
|
130
130
|
|
|
131
|
-
|
|
131
|
+
Compatible 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:
|
|
132
132
|
|
|
133
133
|
```js
|
|
134
134
|
import "ui-style-kit-css/theme-colors.css";
|
|
@@ -162,12 +162,12 @@ When the bridge is attached, add `.interactive-surface` to interactable elements
|
|
|
162
162
|
|
|
163
163
|
| Import | Raw | Gzip | Best for |
|
|
164
164
|
|---|---:|---:|---|
|
|
165
|
-
| `ui-style-kit-css/dist/ui-style-kit.min.css` | ~
|
|
166
|
-
| `ui-style-kit-css/visual.min.css` | ~
|
|
167
|
-
| `ui-style-kit-css/with-bridge.css` | ~
|
|
168
|
-
| `ui-style-kit-css/theme-colors.css` | ~
|
|
169
|
-
| `ui-style-kit-css/native-elements.css` | ~
|
|
170
|
-
| `ui-style-kit-css/content-overflow.css` | ~
|
|
165
|
+
| `ui-style-kit-css/dist/ui-style-kit.min.css` | ~855 KB | ~125 KB | Compatible runtime UI-system switchers and demos |
|
|
166
|
+
| `ui-style-kit-css/visual.min.css` | ~841 KB | ~123 KB | Runtime visual switching with consumer-owned layout |
|
|
167
|
+
| `ui-style-kit-css/with-bridge.css` | ~1015 KB | ~143 KB | Deprecated runtime switcher plus stateful bridge |
|
|
168
|
+
| `ui-style-kit-css/theme-colors.css` | ~50 KB | ~6 KB | Shared color schemes for standalone style imports |
|
|
169
|
+
| `ui-style-kit-css/native-elements.css` | ~24 KB | ~4 KB | Shared native HTML fallback styling |
|
|
170
|
+
| `ui-style-kit-css/content-overflow.css` | ~20 KB | ~3 KB | Shared long-text containment for standalone style imports |
|
|
171
171
|
| `ui-style-kit-css/interactive-surface-theme.css` | ~8 KB | ~1 KB | Canonical token-and-paint bridge for Interactive Surface state core |
|
|
172
172
|
| Single style imports | ~26-28 KB | ~5-6 KB | Production apps with one visual system |
|
|
173
173
|
|
|
@@ -182,7 +182,7 @@ Use the latest published NPM package:
|
|
|
182
182
|
For production, pin the exact approved release rather than relying on `latest`:
|
|
183
183
|
|
|
184
184
|
```html
|
|
185
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.
|
|
185
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.3.0/dist/ui-style-kit.min.css" />
|
|
186
186
|
```
|
|
187
187
|
|
|
188
188
|
## Basic usage
|
|
@@ -212,21 +212,21 @@ This changes the semantic components' visual preset without replacing their DOM
|
|
|
212
212
|
|
|
213
213
|
## Semantic component API
|
|
214
214
|
|
|
215
|
-
`manifest.json#semanticComponentApi` is the authoritative specification for the implemented generic component API. Its 29 selectors keep the same class names while `data-ui` changes across all
|
|
215
|
+
`manifest.json#semanticComponentApi` is the authoritative specification for the implemented generic component API. Its 29 selectors keep the same class names while `data-ui` changes across all 20 presets. `implementationStatus` records the two retained `.ui-spinner` and `.ui-tooltip` hooks, the 27 generated semantic aliases, and an empty pending set.
|
|
216
216
|
|
|
217
217
|
| Role | Generic selectors | Switching coverage |
|
|
218
218
|
|---|---|---|
|
|
219
|
-
| Buttons | `.ui-button`, `.ui-icon-button` | all
|
|
220
|
-
| Card | `.ui-card` | all
|
|
221
|
-
| Forms | `.ui-field`, `.ui-label`, `.ui-help-text`, `.ui-input`, `.ui-select`, `.ui-textarea` | all
|
|
222
|
-
| Choice controls | `.ui-check`, `.ui-check-control`, `.ui-radio`, `.ui-radio-control`, `.ui-switch`, `.ui-switch-track`, `.ui-switch-thumb` | all
|
|
223
|
-
| Badge | `.ui-badge` | all
|
|
224
|
-
| Alert | `.ui-alert`, `.ui-alert-title`, `.ui-alert-body` | all
|
|
225
|
-
| Navigation | `.ui-nav`, `.ui-nav-link` | all
|
|
226
|
-
| Table | `.ui-table`, `.ui-table-wrap` | all
|
|
227
|
-
| Progress | `.ui-progress`, `.ui-progress-bar` | all
|
|
228
|
-
| Toolbar | `.ui-toolbar` | all
|
|
229
|
-
| Existing generic hooks | `.ui-spinner`, `.ui-tooltip` | all
|
|
219
|
+
| Buttons | `.ui-button`, `.ui-icon-button` | all 20 presets |
|
|
220
|
+
| Card | `.ui-card` | all 20 presets |
|
|
221
|
+
| Forms | `.ui-field`, `.ui-label`, `.ui-help-text`, `.ui-input`, `.ui-select`, `.ui-textarea` | all 20 presets |
|
|
222
|
+
| Choice controls | `.ui-check`, `.ui-check-control`, `.ui-radio`, `.ui-radio-control`, `.ui-switch`, `.ui-switch-track`, `.ui-switch-thumb` | all 20 presets |
|
|
223
|
+
| Badge | `.ui-badge` | all 20 presets |
|
|
224
|
+
| Alert | `.ui-alert`, `.ui-alert-title`, `.ui-alert-body` | all 20 presets |
|
|
225
|
+
| Navigation | `.ui-nav`, `.ui-nav-link` | all 20 presets |
|
|
226
|
+
| Table | `.ui-table`, `.ui-table-wrap` | all 20 presets |
|
|
227
|
+
| Progress | `.ui-progress`, `.ui-progress-bar` | all 20 presets |
|
|
228
|
+
| Toolbar | `.ui-toolbar` | all 20 presets |
|
|
229
|
+
| Existing generic hooks | `.ui-spinner`, `.ui-tooltip` | all 20 presets |
|
|
230
230
|
|
|
231
231
|
The only new attribute is context-constrained `data-ui-variant`. Omit it for the neutral treatment.
|
|
232
232
|
|
|
@@ -264,6 +264,15 @@ For example, a fixed Minimal SaaS integration may continue to use `<button class
|
|
|
264
264
|
| Cyberpunk | `cyberpunk` | `cyber` | security, gaming, encryption, tech demos |
|
|
265
265
|
| Y2K | `y2k` | `y2k` | nostalgic, playful, fashion/music/event sites |
|
|
266
266
|
| Retro Glass | `retro-glass` | `rg` | futuristic glass dashboards and hero sections |
|
|
267
|
+
| Editorial Luxe | `editorial-luxe` | `luxe` | luxury brands, architecture, hospitality, premium editorial sites |
|
|
268
|
+
| Organic Modern | `organic-modern` | `organic` | wellness, sustainability, hospitality, natural product brands |
|
|
269
|
+
| Industrial Utility | `industrial-utility` | `utility` | operations software, manufacturing, logistics, fleet and equipment systems |
|
|
270
|
+
| Technical Blueprint | `technical-blueprint` | `blueprint` | engineering, architecture, technical documentation, scientific tools |
|
|
271
|
+
| Art Deco | `art-deco` | `deco` | luxury, hospitality, heritage brands, events and distinctive showcases |
|
|
272
|
+
| Clay | `clay` | `clay` | friendly SaaS, collaborative tools, education and approachable product sites |
|
|
273
|
+
| Data Terminal | `data-terminal` | `terminal` | operator consoles, telemetry, infrastructure, monitoring and developer tools |
|
|
274
|
+
| Paper Editorial | `paper-editorial` | `paper` | news, magazines, journals, cultural sites and story-led publishing |
|
|
275
|
+
| Neo-Noir | `neo-noir` | `noir` | cinematic portfolios, nightlife, premium creative studios and dramatic product sites |
|
|
267
276
|
|
|
268
277
|
## Color themes
|
|
269
278
|
|
|
@@ -278,10 +287,67 @@ desert-sage
|
|
|
278
287
|
rose-quartz
|
|
279
288
|
cyber-lime
|
|
280
289
|
arctic-indigo
|
|
290
|
+
chrome-navy
|
|
291
|
+
recycled-emerald
|
|
292
|
+
industrial-orange
|
|
293
|
+
performance-red
|
|
294
|
+
heritage-brass
|
|
295
|
+
service-blue-red
|
|
296
|
+
newsprint-crimson
|
|
297
|
+
foundry-amber
|
|
298
|
+
soft-orchid
|
|
299
|
+
electric-noir
|
|
281
300
|
```
|
|
282
301
|
|
|
283
302
|
Color schemes are defined once in `styles/theme-colors.css` as shared `--usk-*` RGB roles. Each UI style maps those shared roles back to its public prefix, so existing component rules still consume variables such as `--saas-primary`, `--bau-surface`, and `--rg-on-primary`.
|
|
284
303
|
|
|
304
|
+
## Commercial component modifiers
|
|
305
|
+
|
|
306
|
+
The cross-style API also includes reusable marketing and service-site patterns. These suffixes are available for all 20 UI systems and inherit the active `data-theme` / `data-mode` palette:
|
|
307
|
+
|
|
308
|
+
```txt
|
|
309
|
+
card-media
|
|
310
|
+
card-service
|
|
311
|
+
card-feature
|
|
312
|
+
card-accent-edge
|
|
313
|
+
icon-medallion
|
|
314
|
+
button-cut
|
|
315
|
+
button-outline-heavy
|
|
316
|
+
badge-seal
|
|
317
|
+
feature-strip
|
|
318
|
+
feature-item
|
|
319
|
+
callout-bar
|
|
320
|
+
eyebrow
|
|
321
|
+
media-scrim
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
Combine them with the preset prefix and existing base components:
|
|
325
|
+
|
|
326
|
+
```html
|
|
327
|
+
<article class="saas-card saas-card-service">
|
|
328
|
+
<img class="saas-card-media" src="service.jpg" alt="">
|
|
329
|
+
<span class="saas-icon-medallion" aria-hidden="true">★</span>
|
|
330
|
+
<p class="saas-eyebrow">Professional Service</p>
|
|
331
|
+
<h3 class="saas-heading">A reusable service card</h3>
|
|
332
|
+
<p class="saas-copy">The visual treatment changes with the selected UI system.</p>
|
|
333
|
+
<a class="saas-button saas-button-primary saas-button-cut" href="#">Learn More</a>
|
|
334
|
+
</article>
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
The components intentionally contain no domain-specific content. Icons, media, labels, and copy remain consumer-owned.
|
|
338
|
+
|
|
339
|
+
### Component composition
|
|
340
|
+
|
|
341
|
+
- Service cards combine the base `card` with `card-service`; add `card-media` for responsive media, `icon-medallion` for an overlapping symbol, and `button-primary button-cut` for the filled service action.
|
|
342
|
+
- Feature cards use `card-feature` or `card-accent-edge` when information needs a stronger preset-specific edge treatment without changing the semantic element.
|
|
343
|
+
- Media treatments place an image and its caption inside `media-scrim`. The scrim supplies readable theme-token paint; the image and alternative text remain application content.
|
|
344
|
+
- Feature strips contain one or more `feature-item` children. They use balanced columns when space permits and collapse without requiring a new class.
|
|
345
|
+
- Callout bars use `callout-bar` as the visual lane and `button-outline-heavy` for the framed supporting action. There is no separate `button-cta` API.
|
|
346
|
+
|
|
347
|
+
`button-cut` and `button-outline-heavy` are independent modifiers: the first supplies the preset's filled-action silhouette and the second supplies its framed-action geometry and material. Do not combine them unless a deliberate hybrid is required. The same preset identity continues through service cards, media scrims, feature strips, callout bars, native action controls, and dialogs; color still comes only from the active theme and mode tokens.
|
|
348
|
+
|
|
349
|
+
All modifiers consume the active theme and mode tokens. Keep controls as real links or buttons, provide useful accessible names, mark decorative medallions with `aria-hidden="true"`, and avoid placing essential text in CSS artwork. The shared containment layer allows cards, strips, scrims, callouts, controls, and preset-specific specimens to shrink inside consumer-owned grids; application layout remains responsible for choosing the outer column count.
|
|
350
|
+
|
|
285
351
|
## Modes
|
|
286
352
|
|
|
287
353
|
```txt
|
|
@@ -325,7 +391,7 @@ Every style includes theme-driven spinner utilities:
|
|
|
325
391
|
<button class="saas-button saas-button-primary" aria-busy="true">Saving</button>
|
|
326
392
|
```
|
|
327
393
|
|
|
328
|
-
Spinner track, stroke, and accent colors come from the active `data-theme` and `data-mode
|
|
394
|
+
Spinner track, stroke, and accent colors come from the active `data-theme` and `data-mode`, while geometry, motion cadence, depth, and busy-button indicators follow the active UI preset. The generic `.ui-spinner`, `.loading-spinner`, and `[data-loading-spinner]` hooks receive the same preset identity inside any `[data-ui="..."]` scope.
|
|
329
395
|
|
|
330
396
|
## Tooltip surfaces
|
|
331
397
|
|
|
@@ -433,6 +499,7 @@ The checked-in demo, favicon pack, and social preview image stay in the reposito
|
|
|
433
499
|
|
|
434
500
|
```bash
|
|
435
501
|
npm run check
|
|
502
|
+
npm run check:compat
|
|
436
503
|
npm run test:e2e
|
|
437
504
|
npm run test:axe
|
|
438
505
|
npm run test:visual
|
|
@@ -440,7 +507,9 @@ npm run test:matrix
|
|
|
440
507
|
npm run pack:dry-run
|
|
441
508
|
```
|
|
442
509
|
|
|
443
|
-
`npm run check` rebuilds the bundles, runs stylelint, verifies package metadata
|
|
510
|
+
`npm run check` rebuilds the bundles, runs stylelint, verifies package metadata and the documented class API, validates 4.5:1 text/link/filled-component contrast plus 3:1 light-mode component-edge contrast, and invokes `check:compat` for every generated entrypoint. Browser release gates add all-engine Playwright coverage, representative Axe scans, curated visual smoke checks, and the sharded `20 presets x 20 themes x 3 modes x 3 engines` matrix.
|
|
511
|
+
|
|
512
|
+
The package browser policy is the last two major Chrome, Edge, and Firefox releases plus Safari and iOS 16 or newer, excluding dead browsers. The build resolves that single `package.json` policy into Lightning CSS targets, while `check:compat` verifies required prefix pairs, stable fallbacks, guarded `color-mix()`, `text-wrap`, and `forced-color-adjust` enhancements, and the absence of obsolete intrinsic CTA sizing declarations.
|
|
444
513
|
|
|
445
514
|
## v2.1.0 Architecture Notes
|
|
446
515
|
|
package/STYLE-MAP.md
CHANGED
|
@@ -30,6 +30,15 @@ Color schemes are defined once in `styles/theme-colors.css`. Native HTML fallbac
|
|
|
30
30
|
| Cyberpunk | `cyberpunk` | `cyber` | `styles/cyberpunk.css` |
|
|
31
31
|
| Y2K | `y2k` | `y2k` | `styles/y2k.css` |
|
|
32
32
|
| Retro Glass | `retro-glass` | `rg` | `styles/retro-glass.css` |
|
|
33
|
+
| Editorial Luxe | `editorial-luxe` | `luxe` | `styles/editorial-luxe.css` |
|
|
34
|
+
| Organic Modern | `organic-modern` | `organic` | `styles/organic-modern.css` |
|
|
35
|
+
| Industrial Utility | `industrial-utility` | `utility` | `styles/industrial-utility.css` |
|
|
36
|
+
| Technical Blueprint | `technical-blueprint` | `blueprint` | `styles/technical-blueprint.css` |
|
|
37
|
+
| Art Deco | `art-deco` | `deco` | `styles/art-deco.css` |
|
|
38
|
+
| Clay | `clay` | `clay` | `styles/clay.css` |
|
|
39
|
+
| Data Terminal | `data-terminal` | `terminal` | `styles/data-terminal.css` |
|
|
40
|
+
| Paper Editorial | `paper-editorial` | `paper` | `styles/paper-editorial.css` |
|
|
41
|
+
| Neo-Noir | `neo-noir` | `noir` | `styles/neo-noir.css` |
|
|
33
42
|
|
|
34
43
|
## Shared color file
|
|
35
44
|
|
|
@@ -73,6 +82,16 @@ The bridge inherits from shared `--usk-*` color roles, then applies `.interactiv
|
|
|
73
82
|
- `rose-quartz`
|
|
74
83
|
- `cyber-lime`
|
|
75
84
|
- `arctic-indigo`
|
|
85
|
+
- `chrome-navy`
|
|
86
|
+
- `recycled-emerald`
|
|
87
|
+
- `industrial-orange`
|
|
88
|
+
- `performance-red`
|
|
89
|
+
- `heritage-brass`
|
|
90
|
+
- `service-blue-red`
|
|
91
|
+
- `newsprint-crimson`
|
|
92
|
+
- `foundry-amber`
|
|
93
|
+
- `soft-orchid`
|
|
94
|
+
- `electric-noir`
|
|
76
95
|
|
|
77
96
|
## Modes
|
|
78
97
|
|