ui-style-kit-css 1.2.2 → 2.0.2

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 (47) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/CONTRIBUTING.md +6 -5
  3. package/README.md +141 -17
  4. package/STYLE-MAP.md +24 -0
  5. package/demo/assets/README.md +23 -0
  6. package/demo/assets/android-chrome-192x192.png +0 -0
  7. package/demo/assets/android-chrome-512x512.png +0 -0
  8. package/demo/assets/apple-touch-icon.png +0 -0
  9. package/demo/assets/browserconfig.xml +9 -0
  10. package/demo/assets/favicon-128x128.png +0 -0
  11. package/demo/assets/favicon-16x16.png +0 -0
  12. package/demo/assets/favicon-256x256.png +0 -0
  13. package/demo/assets/favicon-32x32.png +0 -0
  14. package/demo/assets/favicon-384x384.png +0 -0
  15. package/demo/assets/favicon-48x48.png +0 -0
  16. package/demo/assets/favicon-64x64.png +0 -0
  17. package/demo/assets/favicon-96x96.png +0 -0
  18. package/demo/assets/favicon-head-snippet.html +11 -0
  19. package/demo/assets/favicon-master-1024.png +0 -0
  20. package/demo/assets/favicon.ico +0 -0
  21. package/demo/assets/favicon.svg +26 -0
  22. package/demo/assets/mstile-150x150.png +0 -0
  23. package/demo/assets/safari-pinned-tab.svg +3 -0
  24. package/demo/assets/site.webmanifest +25 -0
  25. package/demo/index.html +1087 -73
  26. package/dist/ui-style-kit.css +2932 -8339
  27. package/dist/ui-style-kit.min.css +1 -1
  28. package/dist/ui-style-kit.with-bridge.css +5861 -0
  29. package/dist/ui-style-kit.with-bridge.min.css +1 -0
  30. package/docs/PUBLISHING.md +3 -3
  31. package/docs/STYLE-GUIDE.md +3 -1
  32. package/docs/TOKENS.md +215 -10
  33. package/package.json +17 -5
  34. package/styles/bauhaus.css +142 -702
  35. package/styles/bento.css +142 -701
  36. package/styles/brutalism.css +137 -702
  37. package/styles/cyberpunk.css +128 -699
  38. package/styles/interactive-surface-bridge.css +147 -311
  39. package/styles/maximalist.css +143 -702
  40. package/styles/minimal-saas.css +138 -701
  41. package/styles/native-elements.css +374 -0
  42. package/styles/neumorphism.css +144 -702
  43. package/styles/retro-glass.css +131 -702
  44. package/styles/retrofuturism.css +144 -702
  45. package/styles/tactile.css +142 -701
  46. package/styles/theme-colors.css +787 -0
  47. package/styles/y2k.css +122 -696
package/CHANGELOG.md CHANGED
@@ -2,6 +2,49 @@
2
2
 
3
3
  All notable changes to **UI Style Kit CSS** will be documented here.
4
4
 
5
+ ## [2.0.2] - 2026-07-08
6
+
7
+ ### Added
8
+
9
+ - Added the demo favicon pack, root Pages manifest wiring, and package-demo manifest wiring so release demos have consistent browser icons.
10
+
11
+ ### Changed
12
+
13
+ - Clarified the UI systems wiki with the full style matrix, core class suffixes, utility tiers, generic loading and tooltip hooks, and Interactive Surface bridge hooks.
14
+ - Polished README release guidance, CDN pinning, and token-model wording for the `2.0.2` maintenance release.
15
+ - Refreshed development tooling for style linting and Playwright verification without changing the public CSS API.
16
+
17
+ ### Security
18
+
19
+ - Added dependency maintenance coverage for the transitive development-only `js-yaml` advisory path used by stylelint configuration loading.
20
+
21
+ ## [2.0.1] - 2026-06-22
22
+
23
+ ### Added
24
+
25
+ - Added visible tooltip utilities for every UI preset through `<prefix>-tooltip`, `<prefix>-tooltip-arrow`, `.ui-tooltip`, `[role="tooltip"]`, and `[data-tooltip]`.
26
+ - Added demo coverage for tooltips, switch-style Interactive Surface bridge controls, padded table showcases, combined controls/loading/progress displays, and more useful utility samples.
27
+ - Added the exported `native-elements.css` shared fallback layer for standalone style imports.
28
+
29
+ ### Changed
30
+
31
+ - Aligned package metadata, generated dist banners, and release documentation to publish from the `v2.0.1` tag after the previous release tag was retired.
32
+ - Moved concrete color scheme values into the shared `styles/theme-colors.css` layer.
33
+ - Updated all UI systems to alias shared `--usk-*` RGB roles back to their public style prefixes.
34
+ - Reduced generated bundle size by removing duplicated per-UI color scheme blocks from `dist`.
35
+ - Kept prefixed functional tokens such as `--saas-primary`, `--neo-card-bg`, and `--rg-on-primary` for component styling.
36
+ - Refactored the Interactive Surface bridge to inherit shared `--usk-*` roles, expose visible hover/active/focus state layers, and support `data-surface-level="1"`, `"2"`, and `"3"` surface depth hooks.
37
+ - Moved the bridge attach switch into the demo bridge section so the opt-in behavior is documented where it is exercised.
38
+ - Refactored native HTML fallback rules into one shared `styles/native-elements.css` layer while each preset now supplies only visual token mappings through `--usk-native-*`.
39
+ - Polished the demo component layout at desktop, tablet, and square viewports with denser controls, richer badge examples, padded native controls, and balanced showcase rows.
40
+ - Moved the demo Usage section to match the primary navigation order and tightened the mobile controls showcase into a readable single-column flow.
41
+ - Updated the Interactive Surface bridge docs to keep the bridge opt-in while `interactive-surface-css` is revised separately.
42
+
43
+ ### Breaking
44
+
45
+ - Concrete scheme overrides should now target shared `--usk-*-rgb` roles instead of redefining one copy per UI prefix.
46
+ - Standalone style imports rely on `styles/theme-colors.css` and `styles/native-elements.css`; import those shared layers first if your CSS pipeline does not resolve `@import`.
47
+
5
48
  ## [1.2.2] - 2026-06-05
6
49
 
7
50
  ### Added
@@ -11,7 +54,7 @@ All notable changes to **UI Style Kit CSS** will be documented here.
11
54
 
12
55
  ### Changed
13
56
 
14
- - Bundled the interactive surface bridge into the generated dist CSS.
57
+ - Added generated `with-bridge` dist CSS for consumers that want the Interactive Surface bridge in the same import.
15
58
  - Aligned release metadata, package checks, and documentation for the `1.2.2` release.
16
59
 
17
60
  ## 0.2.0
package/CONTRIBUTING.md CHANGED
@@ -11,11 +11,12 @@ The library is CSS-only for consumers. Build and validation scripts run with Nod
11
11
 
12
12
  ## Adding or changing a style system
13
13
 
14
- 1. Keep the public `data-ui`, `data-theme`, and `data-mode` API stable.
15
- 2. Preserve class prefixes.
16
- 3. Include the native HTML coverage and accessibility layer.
17
- 4. Run `npm run check` before publishing.
18
- 5. Update `STYLE-MAP.md`, `docs/TOKENS.md`, and `CHANGELOG.md` for public API changes.
14
+ 1. Keep the public `data-ui`, `data-theme`, and `data-mode` API stable unless preparing a documented major version.
15
+ 2. Preserve class prefixes and prefixed functional tokens.
16
+ 3. Define concrete color scheme values in `styles/theme-colors.css` as shared `--usk-*` roles; UI style files should only alias those roles and define visual treatment.
17
+ 4. Include the native HTML coverage and accessibility layer.
18
+ 5. Run `npm run check` before publishing.
19
+ 6. Update `STYLE-MAP.md`, `docs/TOKENS.md`, `README.md`, wiki pages, and `CHANGELOG.md` for public API changes.
19
20
 
20
21
  ## Versioning
21
22
 
package/README.md CHANGED
@@ -1,19 +1,33 @@
1
1
  # UI Style Kit CSS
2
2
 
3
+ [![npm package](https://img.shields.io/npm/v/ui-style-kit-css.svg)](https://www.npmjs.com/package/ui-style-kit-css)
4
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
5
+
3
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.
4
7
 
5
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.
6
9
 
10
+ ## Current Release
11
+
12
+ `v2.0.2` is the current v2 patch release. It keeps the `v2.0.1` shared color-scheme and native-element model, documents the public UI-system contracts more clearly, and refreshes development tooling without changing the CSS API.
13
+
14
+ [Showcase website](https://foscat.github.io/ui-style-kit-css/)
15
+
7
16
  ## Features
8
17
 
9
18
  - 11 UI style systems
10
19
  - 10 shared color schemes
11
20
  - `light`, `dark`, and `contrast` modes
12
- - Combined CSS bundle and optional per-style imports
13
- - Scoped native HTML element coverage
21
+ - Combined CSS bundle and per-style production imports
22
+ - Shared `theme-colors.css` scheme layer and `native-elements.css` fallback layer for all UI systems
23
+ - Scoped native HTML element coverage, including semantic containers and inline text elements
14
24
  - Visible `:focus-visible` defaults
15
25
  - Skip-link and visually-hidden helpers per style prefix
16
- - Optional bridge tokens for `interactive-surface-css`
26
+ - Compact shared palette -> prefixed alias -> UI-rule token model
27
+ - Theme-driven card, panel, control, page-background, and spinner defaults
28
+ - Visible tooltip classes and native `[role="tooltip"]` styling inside each UI scope
29
+ - Font-family override variables for body, headings, controls, and mono text
30
+ - Optional bridge tokens, visible state layers, and an opt-in bridge bundle for `interactive-surface-css`
17
31
  - Reduced-motion, high-contrast, forced-colors, and print support
18
32
  - Cascade-layered CSS for easier consumer overrides
19
33
  - No runtime dependencies
@@ -26,32 +40,60 @@ npm install ui-style-kit-css
26
40
 
27
41
  ## Import
28
42
 
29
- Full bundle:
43
+ Use a single style import for production apps that use one visual system:
30
44
 
31
45
  ```js
32
- import "ui-style-kit-css/dist/ui-style-kit.css";
46
+ import "ui-style-kit-css/minimal-saas.css";
33
47
  ```
34
48
 
35
- Single style system:
49
+ In `v2.0.2`, standalone style files import the shared color-scheme layer from `styles/theme-colors.css` and the shared native-element fallback layer from `styles/native-elements.css`. Bundlers that understand CSS `@import` will resolve them automatically. If your build pipeline does not resolve CSS imports, import the shared dependencies before the style file:
50
+
51
+ ```js
52
+ import "ui-style-kit-css/theme-colors.css";
53
+ import "ui-style-kit-css/native-elements.css";
54
+ import "ui-style-kit-css/minimal-saas.css";
55
+ ```
56
+
57
+ The longer `styles/*` paths are also exported:
36
58
 
37
59
  ```js
38
60
  import "ui-style-kit-css/styles/minimal-saas.css";
39
61
  import "ui-style-kit-css/styles/cyberpunk.css";
40
62
  ```
41
63
 
42
- Shortcut imports are also exported:
64
+ Use the full bundle when users need to switch `data-ui` systems at runtime:
43
65
 
44
66
  ```js
45
- import "ui-style-kit-css/minimal-saas.css";
46
- import "ui-style-kit-css/retro-glass.css";
67
+ import "ui-style-kit-css/dist/ui-style-kit.css";
47
68
  ```
48
69
 
49
- Optional bridge for Interactive Surface CSS:
70
+ Use the opt-in bridge bundle when you want UI Style Kit CSS and the Interactive Surface bridge in one import:
50
71
 
51
72
  ```js
73
+ import "ui-style-kit-css/with-bridge.css";
74
+ ```
75
+
76
+ Or import the bridge by itself when you are using a single style file:
77
+
78
+ ```js
79
+ import "ui-style-kit-css/minimal-saas.css";
52
80
  import "ui-style-kit-css/interactive-surface-bridge";
53
81
  ```
54
82
 
83
+ The default full bundle does **not** include the bridge. That keeps `dist/ui-style-kit.css` focused on UI systems and prevents accidental duplicate bridge imports.
84
+
85
+ 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.
86
+
87
+ ### Bundle size guide
88
+
89
+ | Import | Raw | Gzip | Best for |
90
+ |---|---:|---:|---|
91
+ | `ui-style-kit-css/dist/ui-style-kit.min.css` | ~269 KB | ~34 KB | Runtime UI-system switchers and demos |
92
+ | `ui-style-kit-css/with-bridge.css` | ~331 KB | ~39 KB | Runtime switchers plus Interactive Surface bridge |
93
+ | `ui-style-kit-css/theme-colors.css` | ~25 KB | ~3 KB | Shared color schemes for standalone style imports |
94
+ | `ui-style-kit-css/native-elements.css` | ~13 KB | ~2 KB | Shared native HTML fallback styling |
95
+ | Single style imports | ~26-28 KB | ~5-6 KB | Production apps with one visual system |
96
+
55
97
  ## CDN usage
56
98
 
57
99
  After publishing to NPM:
@@ -63,7 +105,7 @@ After publishing to NPM:
63
105
  For production, pin a version:
64
106
 
65
107
  ```html
66
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@1.2.2/dist/ui-style-kit.min.css" />
108
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ui-style-kit-css@2.0.2/dist/ui-style-kit.min.css" />
67
109
  ```
68
110
 
69
111
  ## Basic usage
@@ -76,6 +118,7 @@ For production, pin a version:
76
118
  <h1 class="saas-title">UI Style Kit CSS</h1>
77
119
  <p class="saas-subtitle">Switch UI systems, themes, and modes with attributes.</p>
78
120
  <button class="saas-button saas-button-primary">Primary Action</button>
121
+ <span class="saas-spinner" aria-label="Loading"></span>
79
122
  </article>
80
123
  </section>
81
124
  </main>
@@ -121,6 +164,8 @@ cyber-lime
121
164
  arctic-indigo
122
165
  ```
123
166
 
167
+ 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`.
168
+
124
169
  ## Modes
125
170
 
126
171
  ```txt
@@ -131,27 +176,90 @@ contrast
131
176
 
132
177
  ## Native HTML coverage
133
178
 
134
- Each style system scopes defaults under `[data-ui="..."]` and covers common native elements, including:
179
+ `styles/native-elements.css` owns the shared native selectors under `[data-ui][data-theme][data-mode]`. Each style system maps those selectors to its visual identity through `--usk-native-*` tokens, so native controls keep the same coverage while inheriting each preset's radius, shadows, borders, typography, and color surfaces.
180
+
181
+ The shared native layer covers common native elements, including:
135
182
 
136
- - headings, paragraphs, links, lists, blockquotes, code, pre, mark, abbr
137
- - images, media, figures, captions
183
+ - semantic containers: `main`, `section`, `header`, `footer`, `nav`, `article`, `aside`, `address`
184
+ - headings, paragraphs, links, lists, definition lists, blockquotes, code, pre, mark, abbr
185
+ - inline semantics: `strong`, `b`, `em`, `i`, `cite`, `var`, `q`, `ins`, `del`, `s`, `sub`, `sup`, `output`, `time`, `data`, `dfn`, `ruby`, `rt`, `rp`
186
+ - images, media, figures, captions, `audio`, `picture`, `object`, `embed`, and `math`
138
187
  - forms, fieldsets, labels, inputs, textareas, selects, checkboxes, radios, range, color, file inputs
139
188
  - buttons and submit/reset controls
140
189
  - tables and captions
141
- - `details`, `summary`, `dialog`, `progress`, and `meter`
190
+ - `details`, `summary`, `dialog`, `progress`, `meter`, `menu`, `search`, `optgroup`, and `option`
191
+ - loading indicators through `<prefix>-spinner`, `<prefix>-loading-spinner`, and busy native buttons with `aria-busy="true"`
192
+ - tooltip surfaces through `<prefix>-tooltip`, `<prefix>-tooltip-arrow`, `.ui-tooltip`, `[role="tooltip"]`, and `[data-tooltip]`
142
193
 
143
194
  CSS improves accessibility presentation, but it cannot guarantee accessibility by itself. Use semantic HTML, real labels, keyboard-safe JavaScript, meaningful link/button text, and correct ARIA state management.
144
195
 
196
+ 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`.
197
+
198
+ ## Loading states
199
+
200
+ Every style includes theme-driven spinner utilities:
201
+
202
+ ```html
203
+ <span class="saas-spinner" aria-label="Loading"></span>
204
+ <span class="saas-loading-spinner saas-spinner-sm" aria-hidden="true"></span>
205
+ <button class="saas-button saas-button-primary" aria-busy="true">Saving</button>
206
+ ```
207
+
208
+ Spinner track, stroke, and accent colors come from the active `data-theme` and `data-mode`. The generic `.ui-spinner`, `.loading-spinner`, and `[data-loading-spinner]` hooks are also themed inside any `[data-ui="..."]` scope.
209
+
210
+ ## Tooltip surfaces
211
+
212
+ Every style includes visible tooltip utilities with the same API and preset-specific visual treatment:
213
+
214
+ ```html
215
+ <span class="saas-tooltip" role="tooltip">
216
+ Helpful context
217
+ <span class="saas-tooltip-arrow" aria-hidden="true"></span>
218
+ </span>
219
+ ```
220
+
221
+ Inside a `[data-ui="..."]` scope, generic `.ui-tooltip`, `[role="tooltip"]`, and `[data-tooltip]` hooks inherit the active UI system.
222
+
223
+ ## Font overrides
224
+
225
+ Each style exposes backward-compatible base font variables plus more granular aliases:
226
+
227
+ ```css
228
+ [data-ui="minimal-saas"] {
229
+ --saas-font-sans: Inter, system-ui, sans-serif;
230
+ --saas-font-display: Inter, system-ui, sans-serif;
231
+ --saas-font-body: var(--saas-font-sans);
232
+ --saas-font-heading: var(--saas-font-display);
233
+ --saas-font-control: var(--saas-font-display);
234
+ --saas-font-mono: "JetBrains Mono", ui-monospace, monospace;
235
+ }
236
+ ```
237
+
238
+ Override `--<prefix>-font-sans` and `--<prefix>-font-display` for the broadest changes, or override `--<prefix>-font-body`, `--<prefix>-font-heading`, `--<prefix>-font-control`, and `--<prefix>-font-mono` for targeted typography control.
239
+
145
240
  ## Cascade layers
146
241
 
147
242
  The library styles are wrapped in `@layer ui-style-kit.*`. Unlayered consumer CSS can override the library without specificity fights:
148
243
 
149
244
  ```css
150
245
  [data-ui="minimal-saas"][data-theme="arctic-indigo"] {
151
- --saas-primary-rgb: 72 91 255;
246
+ --saas-radius-md: 1rem;
247
+ --saas-font-sans: Inter, system-ui, sans-serif;
248
+ --saas-font-display: Inter, system-ui, sans-serif;
249
+ --saas-font-body: var(--saas-font-sans);
250
+ --saas-font-heading: var(--saas-font-display);
251
+ --saas-font-control: var(--saas-font-display);
252
+ }
253
+
254
+ :where([data-ui][data-theme="arctic-indigo"][data-mode="light"]) {
255
+ --usk-primary-rgb: 72 91 255;
256
+ --usk-primary-hover-rgb: 55 75 230;
257
+ --usk-primary-text-rgb: 255 255 255;
152
258
  }
153
259
  ```
154
260
 
261
+ The color model is intentionally small: shared `--usk-*` RGB variables feed prefixed aliases such as `--<prefix>-bg`, `--<prefix>-text`, `--<prefix>-surface`, and `--<prefix>-border`. Filled components use `--<prefix>-on-primary`, `--<prefix>-on-secondary`, `--<prefix>-on-success`, `--<prefix>-on-warning`, and `--<prefix>-on-danger` for readable text over filled surfaces.
262
+
155
263
  ## File structure
156
264
 
157
265
  ```txt
@@ -164,7 +272,11 @@ ui-style-kit-css/
164
272
  dist/
165
273
  ui-style-kit.css
166
274
  ui-style-kit.min.css
275
+ ui-style-kit.with-bridge.css
276
+ ui-style-kit.with-bridge.min.css
167
277
  styles/
278
+ theme-colors.css
279
+ native-elements.css
168
280
  minimal-saas.css
169
281
  bento.css
170
282
  maximalist.css
@@ -183,6 +295,9 @@ ui-style-kit-css/
183
295
  PUBLISHING.md
184
296
  demo/
185
297
  index.html
298
+ assets/
299
+ favicon.svg
300
+ site.webmanifest
186
301
  ```
187
302
 
188
303
  ## Development checks
@@ -192,7 +307,16 @@ npm run check
192
307
  npm run pack:dry-run
193
308
  ```
194
309
 
195
- `npm run check` rebuilds the bundle, runs stylelint, verifies package metadata, and checks core contrast pairs. Optional Playwright visual smoke tests are available through `npm run test:visual` after installing dev dependencies.
310
+ `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. Optional Playwright visual smoke tests are available through `npm run test:visual` after installing dev dependencies.
311
+
312
+ ## v2.0.1 Migration Notes
313
+
314
+ The `v2.0.1` release line removes duplicated per-UI color-scheme blocks. Color schemes now live in `theme-colors.css` as shared `--usk-*` roles, native HTML fallback styling lives in `native-elements.css`, and each UI style aliases those shared roles back to its prefix.
315
+
316
+ - Use `--usk-*-rgb` when defining or overriding a color scheme.
317
+ - Continue using prefixed functional tokens such as `--saas-primary`, `--neo-card-bg`, and `--rg-on-primary` inside components.
318
+ - Import `ui-style-kit-css/theme-colors.css` and `ui-style-kit-css/native-elements.css` before standalone style files if your bundler does not follow CSS `@import`.
319
+ - Keep using `ui-style-kit-css/interactive-surface-bridge` or `ui-style-kit-css/with-bridge.css` for the opt-in bridge. The bridge now inherits shared `--usk-*` roles and exposes three `data-surface-level` visual states while the default bundle remains bridge-free.
196
320
 
197
321
  ## License
198
322
 
package/STYLE-MAP.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## UI systems
4
4
 
5
+ Color schemes are defined once in `styles/theme-colors.css`. Native HTML fallback selectors are defined once in `styles/native-elements.css`. Each UI system file imports both shared layers, aliases `--usk-*` RGB roles back to its prefix, and maps `--usk-native-*` tokens into the preset's visual identity.
6
+
5
7
  | UI style | `data-ui` | Prefix | File |
6
8
  |---|---:|---:|---|
7
9
  | Minimal SaaS | `minimal-saas` | `saas` | `styles/minimal-saas.css` |
@@ -16,6 +18,28 @@
16
18
  | Y2K | `y2k` | `y2k` | `styles/y2k.css` |
17
19
  | Retro Glass | `retro-glass` | `rg` | `styles/retro-glass.css` |
18
20
 
21
+ ## Shared color file
22
+
23
+ | Purpose | Import |
24
+ |---|---|
25
+ | Shared color schemes and mode palettes | `styles/theme-colors.css` |
26
+
27
+ ## Shared native layer
28
+
29
+ | Purpose | Import |
30
+ |---|---|
31
+ | Shared native HTML element fallback selectors | `styles/native-elements.css` |
32
+
33
+ Native selectors stay generic under `[data-ui][data-theme][data-mode]`. Presets only provide token mappings such as `--usk-native-surface`, `--usk-native-radius`, and `--usk-native-shadow`, which avoids repeating the same fieldset, table, dialog, details, form, and semantic-element rules in every UI file.
34
+
35
+ ## Bridge bundle
36
+
37
+ | Purpose | Import |
38
+ |---|---|
39
+ | Interactive Surface bridge tokens and state levels | `styles/interactive-surface-bridge.css` |
40
+
41
+ The bridge inherits from shared `--usk-*` color roles, then applies `.interactive-surface`, `data-surface-variant`, and `data-surface-level` hooks without duplicating theme or UI preset maps.
42
+
19
43
  ## Themes
20
44
 
21
45
  - `midnight-gold`
@@ -0,0 +1,23 @@
1
+ # UI Style Kit CSS favicon pack
2
+
3
+ Generated for the UI Style Kit CSS demo site.
4
+
5
+ ## Install
6
+
7
+ 1. Keep this folder at `demo/assets/` for the checked-in demo site.
8
+ 2. Paste the contents of `favicon-head-snippet.html` into a demo document that also has an `assets/` folder beside it.
9
+ 3. If copying the pack into another public root, update the snippet paths to match that app's deployed base path.
10
+
11
+ ## Included files
12
+
13
+ - `favicon.ico` with 16, 32, and 48 px embedded sizes
14
+ - `favicon.svg` scalable gradient icon
15
+ - PNG favicons: 16, 32, 48, 64, 96, 128, 256 px
16
+ - `apple-touch-icon.png` at 180 px
17
+ - `android-chrome-192x192.png` and `android-chrome-512x512.png`
18
+ - `mstile-150x150.png` and `browserconfig.xml`
19
+ - `safari-pinned-tab.svg`
20
+ - `site.webmanifest`
21
+
22
+ Theme color: `#070b24`
23
+ Accent color: `#6e56ff`
Binary file
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square150x150logo src="mstile-150x150.png"/>
6
+ <TileColor>#070b24</TileColor>
7
+ </tile>
8
+ </msapplication>
9
+ </browserconfig>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,11 @@
1
+ <!-- UI Style Kit CSS favicon pack -->
2
+ <link rel="icon" href="assets/favicon.ico" sizes="any">
3
+ <link rel="icon" type="image/svg+xml" href="assets/favicon.svg">
4
+ <link rel="icon" type="image/png" sizes="16x16" href="assets/favicon-16x16.png">
5
+ <link rel="icon" type="image/png" sizes="32x32" href="assets/favicon-32x32.png">
6
+ <link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon.png">
7
+ <link rel="manifest" href="assets/site.webmanifest">
8
+ <link rel="mask-icon" href="assets/safari-pinned-tab.svg" color="#6e56ff">
9
+ <meta name="msapplication-TileColor" content="#070b24">
10
+ <meta name="msapplication-config" content="assets/browserconfig.xml">
11
+ <meta name="theme-color" content="#070b24">
Binary file
@@ -0,0 +1,26 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" role="img" aria-labelledby="title desc">
2
+ <title id="title">UI Style Kit CSS favicon</title>
3
+ <desc id="desc">Layered gradient rounded-square icon with a white U.</desc>
4
+ <defs>
5
+ <linearGradient id="g1" x1="12%" y1="86%" x2="88%" y2="14%">
6
+ <stop offset="0%" stop-color="#ff8a4c"/>
7
+ <stop offset="37%" stop-color="#8b5cff"/>
8
+ <stop offset="72%" stop-color="#5f6cff"/>
9
+ <stop offset="100%" stop-color="#22d8d1"/>
10
+ </linearGradient>
11
+ <linearGradient id="g2" x1="0%" y1="100%" x2="100%" y2="0%">
12
+ <stop offset="0%" stop-color="#ff7b55"/>
13
+ <stop offset="45%" stop-color="#9b5cff"/>
14
+ <stop offset="100%" stop-color="#22cfff"/>
15
+ </linearGradient>
16
+ <filter id="shadow" x="-20%" y="-20%" width="140%" height="150%">
17
+ <feDropShadow dx="18" dy="28" stdDeviation="22" flood-color="#03071f" flood-opacity="0.38"/>
18
+ </filter>
19
+ </defs>
20
+ <g filter="url(#shadow)">
21
+ <rect x="132" y="226" width="610" height="610" rx="126" transform="rotate(-7 437 531)" fill="url(#g1)" opacity="0.82"/>
22
+ <rect x="184" y="158" width="650" height="650" rx="130" transform="rotate(-4 509 483)" fill="url(#g2)" opacity="0.92"/>
23
+ <rect x="196" y="104" width="660" height="660" rx="136" transform="rotate(-4 526 434)" fill="url(#g1)"/>
24
+ </g>
25
+ <text x="512" y="668" text-anchor="middle" font-family="Inter, Arial, Helvetica, sans-serif" font-size="560" font-weight="900" fill="#ffffff">U</text>
26
+ </svg>
Binary file
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
2
+ <path fill="#000000" d="M200 160H360V510C360 610 410 650 512 650C614 650 664 610 664 510V160H824V525C824 700 700 800 512 800C324 800 200 700 200 525Z"/>
3
+ </svg>
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "UI Style Kit CSS Demo",
3
+ "short_name": "UI Style Kit",
4
+ "description": "Demo site for the UI Style Kit CSS library.",
5
+ "id": "../",
6
+ "start_url": "../",
7
+ "scope": "../",
8
+ "icons": [
9
+ {
10
+ "src": "android-chrome-192x192.png",
11
+ "sizes": "192x192",
12
+ "type": "image/png",
13
+ "purpose": "any maskable"
14
+ },
15
+ {
16
+ "src": "android-chrome-512x512.png",
17
+ "sizes": "512x512",
18
+ "type": "image/png",
19
+ "purpose": "any maskable"
20
+ }
21
+ ],
22
+ "theme_color": "#070b24",
23
+ "background_color": "#070b24",
24
+ "display": "standalone"
25
+ }