ui-style-kit-css 2.4.0 → 2.5.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +47 -19
  3. package/STYLE-MAP.md +5 -0
  4. package/dist/ui-style-kit.css +1102 -616
  5. package/dist/ui-style-kit.min.css +2 -2
  6. package/dist/ui-style-kit.visual.css +1102 -616
  7. package/dist/ui-style-kit.visual.min.css +2 -2
  8. package/dist/ui-style-kit.with-bridge.css +1102 -616
  9. package/dist/ui-style-kit.with-bridge.min.css +2 -2
  10. package/dist/visual/art-deco.css +539 -65
  11. package/dist/visual/bauhaus.css +2 -2
  12. package/dist/visual/bento.css +2 -2
  13. package/dist/visual/brutalism.css +499 -10
  14. package/dist/visual/clay.css +2 -2
  15. package/dist/visual/cyberpunk.css +535 -46
  16. package/dist/visual/data-terminal.css +516 -27
  17. package/dist/visual/editorial-luxe.css +526 -37
  18. package/dist/visual/industrial-utility.css +531 -42
  19. package/dist/visual/maximalist.css +496 -7
  20. package/dist/visual/minimal-saas.css +511 -21
  21. package/dist/visual/neo-noir.css +2 -2
  22. package/dist/visual/neumorphism.css +500 -11
  23. package/dist/visual/organic-modern.css +2 -2
  24. package/dist/visual/paper-editorial.css +537 -48
  25. package/dist/visual/retro-glass.css +534 -45
  26. package/dist/visual/retrofuturism.css +500 -11
  27. package/dist/visual/tactile.css +499 -10
  28. package/dist/visual/technical-blueprint.css +552 -63
  29. package/dist/visual/y2k.css +514 -13
  30. package/docs/BAUHAUS.md +1 -1
  31. package/docs/BRIDGE-MIGRATION.md +38 -0
  32. package/docs/CLAY.md +1 -1
  33. package/docs/COLOR-THEMES.md +63 -0
  34. package/docs/ECOSYSTEM.md +7 -7
  35. package/docs/ORGANIC-MODERN.md +1 -1
  36. package/docs/PUBLISHING.md +13 -13
  37. package/docs/RELEASE-2.4.1.md +35 -0
  38. package/docs/RELEASE-2.4.2.md +37 -0
  39. package/docs/RELEASE-2.5.0.md +34 -0
  40. package/docs/STYLE-GUIDE.md +1 -1
  41. package/manifest.json +358 -160
  42. package/package.json +6 -5
  43. package/styles/art-deco.css +10 -27
  44. package/styles/bauhaus.css +12 -12
  45. package/styles/bento.css +37 -31
  46. package/styles/brutalism.css +5 -5
  47. package/styles/clay.css +5 -5
  48. package/styles/components.css +81 -2
  49. package/styles/cyberpunk.css +14 -14
  50. package/styles/data-terminal.css +12 -12
  51. package/styles/editorial-luxe.css +6 -6
  52. package/styles/industrial-utility.css +5 -5
  53. package/styles/maximalist.css +2 -2
  54. package/styles/minimal-saas.css +13 -12
  55. package/styles/native-elements.css +1 -1
  56. package/styles/neo-noir.css +8 -8
  57. package/styles/neumorphism.css +6 -6
  58. package/styles/organic-modern.css +8 -9
  59. package/styles/paper-editorial.css +6 -6
  60. package/styles/retro-glass.css +5 -5
  61. package/styles/retrofuturism.css +6 -6
  62. package/styles/tactile.css +7 -7
  63. package/styles/technical-blueprint.css +18 -18
  64. package/styles/theme-colors.css +410 -0
  65. package/styles/y2k.css +22 -8
package/CHANGELOG.md CHANGED
@@ -4,6 +4,69 @@ All notable changes to **UI Style Kit CSS** will be documented here.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [2.5.0] - 2026-09-26
8
+
9
+ ### Added
10
+
11
+ - Promoted 46 reusable Tier A and Tier B selectors for tabs, pagination, breadcrumb, skeleton, empty state, metric, chip, avatar, stepper, toast, popover, menu, segmented control, file upload, dropzone, and listbox patterns.
12
+ - Added semantic chip and toast variants plus explicit skeleton-shape and step-state hooks.
13
+ - Added deterministic generic-markup coverage for every promoted selector across all 20 runtime-selectable presets.
14
+
15
+ ### Changed
16
+
17
+ - Extended the generated universal component foundation so each promoted semantic selector resolves through preset-native paint tokens without moving behavioral state into CSS.
18
+ - Reclassified promoted suffixes from preset-only extras into the universal class inventory while retaining existing prefixed compatibility classes.
19
+ - Aligned the current compatibility matrix with the reviewed `interactive-surface-css@1.7.3` and `layout-style-css@3.2.3` release commits.
20
+
21
+ ### Fixed
22
+
23
+ - Recalibrated the pairwise identity snapshot metric to retain subtle palette differences and use viewport-specific component floors, replacing accumulating pair exceptions with one documented comparison contract.
24
+
25
+ ### Tests
26
+
27
+ - Added a focused promotion contract covering manifest roles, universal source suffixes, implementation status, variants, and state hooks.
28
+ - Expanded semantic alias, fixture, and declaration-artifact checks for the 75-selector stable component API.
29
+ - Verified all approved desktop and mobile component and native-control snapshot pairs against the repaired identity contract.
30
+
31
+ ## [2.4.2] - 2026-09-24
32
+
33
+ ### Changed
34
+
35
+ - Aligned the local candidate matrix with `interactive-surface-css@1.7.1` and `layout-style-css@3.2.1` while retaining the published minimum support floor.
36
+ - Expanded migration guidance for preset-prefixed hooks, preset-private tokens, and legacy `variant-*` state classes without adding a public variant API.
37
+ - Restored Organic Modern's authored select indicator, preserved Y2K's indicator through its late field material, aligned Retro Glass info icons with their semantic status color, and strengthened small Art Deco copy over layered dark cards.
38
+ - Scoped Bento's retained Soft Mosaic tokens to its sheet, and restored state-specific specificity for its invalid and read-only controls.
39
+ - Capped Art Deco's 12rem action measure at the available flex width so 200% text zoom remains contained.
40
+ - Preserved distinct Y2K invalid and read-only paint for both prefixed and unclassed native fields after its late bevel reset.
41
+
42
+ ### Tests
43
+
44
+ - Added focused Chromium coverage for semantic cards at 320px and 390px with native controls, long content, internally scrolling wide tables, and icon-only actions.
45
+ - Added a short-height fixture proving consumer-owned sticky positioning and internal scrolling survive the visual bundle.
46
+ - Added representative preset coverage proving icon-only actions retain neutral or subtle paint rather than inheriting primary action treatment.
47
+ - Added an exact-version coordinated-candidate preflight so unpublished local companion packages can be verified without weakening the registry-backed minimum matrix.
48
+ - Made WebKit's exhaustive Neumorphism pass use an engine-appropriate timeout and sampled Technical Blueprint connector geometry atomically to avoid cross-frame reflow noise.
49
+ - Refreshed the fixed visual baselines after the verified identity corrections and calibrated pairwise comparison floors against the closest valid preset pairs.
50
+ - Extended the visual state probes to include material-bearing pseudo-elements, covering Neo Noir's themed and pressed action faces.
51
+ - Verified the complete 4,500-case preset, theme, mode, and browser matrix with resumable one-case recovery for the Y2K state regression.
52
+
53
+ ## [2.4.1] - 2026-09-20
54
+
55
+ ### Added
56
+
57
+ - Added five gap-filling shared color themes—`signal-yellow`, `botanical-green`, `cobalt-electric`, `stone-graphite`, and `walnut-clay`—with complete light, dark, and contrast role sets.
58
+
59
+ ### Changed
60
+
61
+ - Expanded the manifest-driven browser matrix to 20 presets × 25 themes × 3 modes × 3 engines (4,500 combinations).
62
+ - Refreshed demo search, Open Graph, Twitter, JSON-LD, sitemap, web-manifest, favicon, and social-preview metadata for the current 20-system and 25-theme inventory.
63
+
64
+ ### Fixed
65
+
66
+ - Preserved vivid Signal Yellow fills while giving primary and accent text readable light-mode ink across prefixed and semantic components.
67
+ - Extended theme-owned ink selection to every light theme while keeping decorative fills vivid, and corrected demo utility surfaces and Minimal SaaS alert copy across every shared theme and mode.
68
+ - Pinned patched `colord` and `js-yaml` transitive tooling releases after the final release audit identified newly disclosed denial-of-service advisories.
69
+
7
70
  ## [2.4.0] - 2026-09-08
8
71
 
9
72
  ### Added
package/README.md CHANGED
@@ -7,11 +7,13 @@
7
7
 
8
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
- ## Current release target
10
+ ## Current release
11
11
 
12
- `v2.4.0` gives all 20 UI style systems a complete native-control identity across selects, choices, ranges, progress, meters, file/color/date launch controls, indicators, and scrollbars. Existing themes, modes, selectors, default/focused/visual/bridge entrypoints, and the 3,600-case browser matrix remain compatible, and parser-based minification remains exactly pinned.
12
+ Version `v2.5.0` is a backward-compatible semantic-component release. It promotes reusable tabs, pagination, breadcrumb, skeleton, empty-state, metric, chip, avatar, stepper, toast, popover, menu, segmented-control, file-upload, dropzone, and listbox patterns into the stable `.ui-*` API while preserving preset-owned paint.
13
13
 
14
- This is the local 2.4.0 release candidate, not a claim of npm publication. It also adds native light/dark/contrast palettes when `data-theme` is omitted, a palette-aware color workbench, and a unified demo with style-specific components. See the [2.4.0 release preparation notes](docs/RELEASE-2.4.0.md) for scope and verification boundaries.
14
+ The available browser matrix continues to cover 20 presets × 25 themes × 3 modes × 3 engines (4,500 combinations). The `v2.4.1` theme additions and Signal Yellow contrast corrections remain unchanged.
15
+
16
+ The `v2.4.0` baseline introduced complete native-control identities, native light/dark/contrast palettes when `data-theme` is omitted, a palette-aware color workbench, a unified demo with style-specific components, and exactly pinned parser-based minification. See the [2.5.0 release notes](docs/RELEASE-2.5.0.md) for the release scope and verification boundaries.
15
17
 
16
18
  [Showcase website](https://foscat.github.io/ui-style-kit-css/)
17
19
 
@@ -54,11 +56,11 @@ These libraries stay standalone, but the current aligned set is:
54
56
 
55
57
  | Library | Aligned version | Owns |
56
58
  |---|---:|---|
57
- | `ui-style-kit-css@2.4.0` | current release target | visual identity, color themes, UI paint, native HTML styling, content wrapping, and bridge tokens |
58
- | `interactive-surface-css@1.7.0` | compatible state release | interaction-state primitives, surface behavior, state layers, and input affordances |
59
- | `layout-style-css@3.1.0` | compatible structural release | structural wrappers, grids, sections, app shells, and layout recipes |
59
+ | `ui-style-kit-css@2.5.0` | current release | visual identity, color themes, UI paint, native HTML styling, content wrapping, and bridge tokens |
60
+ | `interactive-surface-css@1.7.3` | compatible state release | interaction-state primitives, surface behavior, state layers, and input affordances |
61
+ | `layout-style-css@3.2.3` | compatible structural release | structural wrappers, grids, sections, app shells, and layout recipes |
60
62
 
61
- UI Style Kit `2.4.0` is the current release target and is verified with Interactive Surface `1.7.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`.
63
+ UI Style Kit `2.5.0` is the current release and is aligned with the reviewed Interactive Surface `1.7.3` and Layout Style `3.2.3` releases. The validated minimum remains `ui-style-kit-css@2.1.0`, `interactive-surface-css@1.5.0`, and `layout-style-css@3.0.0`.
62
64
 
63
65
  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.
64
66
 
@@ -71,7 +73,7 @@ For import order, ownership boundaries, and adoption paths, see the [Ecosystem g
71
73
  ## Features
72
74
 
73
75
  - 20 UI style systems
74
- - 20 shared color schemes
76
+ - 25 shared color schemes
75
77
  - `light`, `dark`, and `contrast` modes
76
78
  - Native preset colors when no shared theme is selected
77
79
  - Combined CSS bundle and per-style production imports
@@ -113,7 +115,7 @@ Use the generated default bundle for semantic components that can switch across
113
115
  import "ui-style-kit-css";
114
116
  ```
115
117
 
116
- 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.
118
+ Use `ui-style-kit-css/visual.css` for the same 75-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.
117
119
 
118
120
  Applications fixed to one preset can use a generated focused visual entrypoint. It includes semantic aliases scoped to that preset only:
119
121
 
@@ -167,15 +169,15 @@ When the bridge is attached, add `.interactive-surface` to interactable elements
167
169
 
168
170
  | Import | Raw | Gzip | Best for |
169
171
  |---|---:|---:|---|
170
- | `ui-style-kit-css/dist/ui-style-kit.min.css` | ~1978 KB | ~379 KB | Compatible runtime UI-system switchers and demos |
171
- | `ui-style-kit-css/visual.min.css` | ~1962 KB | ~377 KB | Runtime visual switching with consumer-owned layout |
172
- | `ui-style-kit-css/with-bridge.css` | ~2309 KB | ~400 KB | Deprecated runtime switcher plus stateful bridge |
173
- | `ui-style-kit-css/theme-colors.css` | ~50 KB | ~6 KB | Shared color schemes for standalone style imports |
172
+ | `ui-style-kit-css/dist/ui-style-kit.min.css` | ~2151 KB | ~394 KB | Compatible runtime UI-system switchers and demos |
173
+ | `ui-style-kit-css/visual.min.css` | ~2135 KB | ~392 KB | Runtime visual switching with consumer-owned layout |
174
+ | `ui-style-kit-css/with-bridge.css` | ~2494 KB | ~418 KB | Deprecated runtime switcher plus stateful bridge |
175
+ | `ui-style-kit-css/theme-colors.css` | ~64 KB | ~8 KB | Shared color schemes for standalone style imports |
174
176
  | `ui-style-kit-css/native-elements.css` | ~31 KB | ~5 KB | Shared native HTML fallback styling |
175
177
  | `ui-style-kit-css/content-overflow.css` | ~20 KB | ~3 KB | Shared long-text containment for standalone style imports |
176
178
  | `ui-style-kit-css/interactive-surface-theme.css` | ~9 KB | ~1 KB | Canonical token-and-paint bridge for Interactive Surface state core |
177
- | `ui-style-kit-css/visual/minimal-saas.css` | ~205 KB | ~30 KB | Focused Minimal SaaS, including semantic aliases and shared foundations |
178
- | `ui-style-kit-css/visual/industrial-utility.css` | ~278 KB | ~39 KB | Focused Industrial Utility, including its instrumentation styles |
179
+ | `ui-style-kit-css/visual/minimal-saas.css` | ~334 KB | ~43 KB | Focused Minimal SaaS, including semantic aliases and shared foundations |
180
+ | `ui-style-kit-css/visual/industrial-utility.css` | ~409 KB | ~53 KB | Focused Industrial Utility, including its instrumentation styles |
179
181
 
180
182
  ## CDN usage
181
183
 
@@ -188,7 +190,7 @@ Use the latest published NPM package:
188
190
  For production, pin the exact approved release rather than relying on `latest`:
189
191
 
190
192
  ```html
191
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.4.0/dist/ui-style-kit.min.css" />
193
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.4.1/dist/ui-style-kit.min.css" />
192
194
  ```
193
195
 
194
196
  ## Basic usage
@@ -232,7 +234,7 @@ The demo labels this choice **None — style defaults**. Do not assign the liter
232
234
 
233
235
  ## Semantic component API
234
236
 
235
- `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.
237
+ `manifest.json#semanticComponentApi` is the authoritative specification for the implemented generic component API. Its 75 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 73 generated semantic aliases, and an empty pending set.
236
238
 
237
239
  | Role | Generic selectors | Switching coverage |
238
240
  |---|---|---|
@@ -246,15 +248,34 @@ The demo labels this choice **None — style defaults**. Do not assign the liter
246
248
  | Table | `.ui-table`, `.ui-table-wrap` | all 20 presets |
247
249
  | Progress | `.ui-progress`, `.ui-progress-bar` | all 20 presets |
248
250
  | Toolbar | `.ui-toolbar` | all 20 presets |
251
+ | Tabs | `.ui-tabs`, `.ui-tab-list`, `.ui-tab`, `.ui-tab-panel` | all 20 presets |
252
+ | Pagination | `.ui-pagination`, `.ui-pagination-item`, `.ui-pagination-link` | all 20 presets |
253
+ | Breadcrumb | `.ui-breadcrumb`, `.ui-breadcrumb-list`, `.ui-breadcrumb-item`, `.ui-breadcrumb-link`, `.ui-breadcrumb-separator` | all 20 presets |
254
+ | Skeleton | `.ui-skeleton` | all 20 presets |
255
+ | Empty state | `.ui-empty-state`, `.ui-empty-state-icon`, `.ui-empty-state-title`, `.ui-empty-state-body`, `.ui-empty-state-actions` | all 20 presets |
256
+ | Metric | `.ui-metric`, `.ui-metric-label`, `.ui-metric-value`, `.ui-metric-detail` | all 20 presets |
257
+ | Chip | `.ui-chip`, `.ui-chip-group` | all 20 presets |
258
+ | Avatar | `.ui-avatar`, `.ui-avatar-group` | all 20 presets |
259
+ | Stepper | `.ui-stepper`, `.ui-step`, `.ui-step-marker`, `.ui-step-label` | all 20 presets |
260
+ | Toast | `.ui-toast-stack`, `.ui-toast`, `.ui-toast-title`, `.ui-toast-body`, `.ui-toast-actions` | all 20 presets |
261
+ | Popover | `.ui-popover` | all 20 presets |
262
+ | Menu | `.ui-menu`, `.ui-menu-item`, `.ui-menu-group`, `.ui-menu-separator` | all 20 presets |
263
+ | Segmented control | `.ui-segmented-control`, `.ui-segment` | all 20 presets |
264
+ | File upload | `.ui-file-upload`, `.ui-dropzone` | all 20 presets |
265
+ | Listbox | `.ui-listbox`, `.ui-listbox-option` | all 20 presets |
249
266
  | Existing generic hooks | `.ui-spinner`, `.ui-tooltip` | all 20 presets |
250
267
 
251
- The only new attribute is context-constrained `data-ui-variant`. Omit it for the neutral treatment.
268
+ Semantic paint variants use context-constrained `data-ui-variant`. Omit it for the neutral treatment.
252
269
 
253
270
  | Selector | `data-ui-variant` values |
254
271
  |---|---|
255
- | `.ui-button` | `primary`, `secondary`, `danger`, `ghost` |
272
+ | `.ui-button` | `primary`, `secondary`, `warning`, `danger`, `ghost` |
256
273
  | `.ui-badge` | `primary`, `secondary`, `success`, `warning`, `danger` |
257
274
  | `.ui-alert` | `success`, `warning`, `danger` |
275
+ | `.ui-chip` | `primary`, `secondary`, `success`, `warning`, `danger` |
276
+ | `.ui-toast` | `info`, `success`, `warning`, `danger` |
277
+
278
+ Skeleton shape uses `data-shape="text|circle|block"`. Step workflow presentation uses `data-state="complete|current|upcoming|error"`; React and application code remain responsible for behavior and ARIA state.
258
279
 
259
280
  ```html
260
281
  <body data-ui="minimal-saas" data-theme="arctic-indigo" data-mode="light">
@@ -337,10 +358,17 @@ newsprint-crimson
337
358
  foundry-amber
338
359
  soft-orchid
339
360
  electric-noir
361
+ signal-yellow
362
+ botanical-green
363
+ cobalt-electric
364
+ stone-graphite
365
+ walnut-clay
340
366
  ```
341
367
 
342
368
  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`.
343
369
 
370
+ See the [color-theme reference](docs/COLOR-THEMES.md) for the five gap-filling palettes, their intended roles, and representative light/dark values.
371
+
344
372
  ## Commercial component modifiers
345
373
 
346
374
  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:
package/STYLE-MAP.md CHANGED
@@ -96,6 +96,11 @@ The bridge inherits from shared `--usk-*` color roles, then applies `.interactiv
96
96
  - `foundry-amber`
97
97
  - `soft-orchid`
98
98
  - `electric-noir`
99
+ - `signal-yellow`
100
+ - `botanical-green`
101
+ - `cobalt-electric`
102
+ - `stone-graphite`
103
+ - `walnut-clay`
99
104
 
100
105
  ## Modes
101
106