@jungherz-de/glasskit 1.3.4 → 1.4.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 +68 -3
- package/README.md +43 -11
- package/SKILL.md +1518 -0
- package/glasskit-styles.js +2 -2
- package/glasskit.css +236 -12
- package/glasskit.min.css +1 -1
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,17 +7,80 @@ GlassKit uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
## [1.
|
|
10
|
+
## [1.4.0] – 2026-04-11
|
|
11
11
|
|
|
12
12
|
### Added
|
|
13
13
|
|
|
14
|
+
- **Two new components – `List` and `Popover`** – inspired by iOS 26 settings screens
|
|
15
|
+
- **`.glass-list`** – grouped settings-style container, visually based on `.glass-status` (`--gl-surface-1`, `--gl-blur-light`, `--gl-radius-btn`, subtle shadow)
|
|
16
|
+
- **`.glass-list__item`** – flexible row layout that scales from a single centered text (with ellipsis truncation) to a full settings row with leading icon, title + subtitle, and trailing element
|
|
17
|
+
- **List sub-elements**: `__leading` (28×28 icon slot), `__content` (flexible middle), `__title`, `__subtitle`, `__trailing` (chevron / value / button / badge)
|
|
18
|
+
- **List modifiers**: `--flush` (edge-to-edge variant), `--bare` (strips own glass surface for embedding inside `glass-popover` / `glass-card`), `__item--interactive` (hover / focus / active states), `__item--center` (centered single-text fallback)
|
|
19
|
+
- **Auto-rendered dividers** between list items via `::after` — no extra HTML markup required, last item automatically has no divider, and items without a leading icon get a standard horizontal padding inset (handled via `:has(.glass-list__leading)`)
|
|
20
|
+
- **`.glass-popover`** – anchored dropdown / menu container with fade + scale animation on `.is-open`
|
|
21
|
+
- **`.glass-popover-anchor`** – positioning context that wraps trigger + popover
|
|
22
|
+
- **Popover placement modifiers**: `--top` (opens upward), `--start` (left-aligned), `--end` (right-aligned); default placement is centered below the trigger
|
|
23
|
+
- **Modal preview section** in `docs.html` and `de/docs.html` – previously the Modal section only had a class reference table; now it includes a live inline preview, full HTML code snippet with JS toggle functions, and an explicit note about putting `.is-active` on the overlay (not on `.glass-modal`)
|
|
24
|
+
- **SKILL.md (AI reference) extensions**:
|
|
25
|
+
- New section **3.24 List** with copy-paste examples for both settings-style and compact-menu variants, full sub-element table, and SVG icon convention notes
|
|
26
|
+
- New section **3.25 Popover** with HTML + toggle JS, placement modifier reference, and explicit warning about the native API name collision
|
|
27
|
+
- New composition pattern **"iOS-style Settings Screen (List + Popover)"** – full example reproducing iOS settings layout with two grouped lists and an inline action menu
|
|
28
|
+
- State Classes Overview extended (`.is-open` now also for `.glass-popover`)
|
|
29
|
+
- Common Mistakes table extended with 4 new entries (manual divider markup, missing `--bare`, `togglePopover` naming clash, `.is-open` on the wrong element)
|
|
30
|
+
- "Always follow" rules extended with list-divider and popover-naming guidance
|
|
31
|
+
- Quick Class Reference table extended with List and Popover rows
|
|
32
|
+
- **File size details** in `index.html` and `de/index.html` – the project file list now shows raw + gzipped sizes for `glasskit.css`, plus a dedicated row for `glasskit.min.css` (production build) with its own raw + gzipped sizes
|
|
33
|
+
- **README.md "Lightweight" bullet** – now reports precise sizes (49 KB raw / 37 KB minified / 6.2 KB gzipped) instead of an approximate single number
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- **`bg-switcher` migration** in `showcase.html` and `de/showcase.html` – the ad-hoc popover originally embedded as inline CSS in the showcase has been removed and replaced with the new `.glass-popover` framework component, proving the new API works for the existing use case
|
|
38
|
+
- **Component count** updated from **22 → 24** across all user-facing files: `index.html`, `docs.html`, `de/index.html`, `de/docs.html`, `package.json`, `README.md`, `SKILL.md`, and the `glasskit.css` header
|
|
39
|
+
- **Sidebar navigation** in `docs.html` and `de/docs.html` extended with the new "List" link (under Content) and "Popover" link (under Actions)
|
|
40
|
+
- **CDN version pinning** in `README.md` and `SKILL.md` updated from `@1.3` to `@1.4` for jsDelivr (minified + unminified) and unpkg
|
|
41
|
+
- **English consistency in `glasskit.css`** – the remaining German comments in the source file have been translated to English (`Farben`, `Glas-Oberflächen`, `Icon-Farben`, `Hintergrund-Effekte`, `Toggle (inaktiv)`, `Größen`, `22 Komponenten`, plus the multi-line comments in the new List section)
|
|
42
|
+
- **Showcase title** in `showcase.html` and `de/showcase.html` bumped to `v1.4.0`
|
|
43
|
+
- **Version stamps** updated to `1.4.0` in `package.json`, README badges, `glasskit.css` header, sidebar versions, and hero badges (English + German)
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
|
|
47
|
+
- **List divider inset for icon-less items** – when a `.glass-list__item` has no leading icon, the auto-divider now uses the standard horizontal padding (`var(--gl-space-lg)` left + right) instead of blindly inheriting the icon-aligned 60px inset. Detected via `:has(.glass-list__leading)`.
|
|
48
|
+
- **List divider right-edge alignment** – the divider used to extend all the way to the right edge of the item (`right: 0`), past where the trailing element ends. It now stops at `var(--gl-space-lg)` so it lines up flush with the trailing slot.
|
|
49
|
+
- **`togglePopover` naming clash** – discovered during showcase migration: a custom JS function named `togglePopover` collides with the native `HTMLElement.togglePopover()` method (HTML Popover API) and inline `onclick` handlers throw `NotSupportedError`. The showcase / docs JS toggles were renamed to `gkTogglePopover` / `docsTogglePopover`, and the gotcha is documented in `SKILL.md`, the docs Popover section, and this changelog.
|
|
50
|
+
|
|
51
|
+
### Notes
|
|
52
|
+
|
|
53
|
+
- **No breaking changes.** All additions are additive; existing markup continues to work unchanged.
|
|
54
|
+
- **`glass-divider` is unchanged.** The new list dividers are scoped to `.glass-list__item::after` and do not affect or replace the global `.glass-divider` element (which keeps its gradient-fade visual style).
|
|
55
|
+
- **`:has()` selector requirement** – the icon-aware divider rule uses CSS `:has()`, which is supported in all modern evergreen browsers (Chrome 105+, Safari 15.4+, Firefox 121+, ~95% global as of 2026). Lists with mixed-icon items will fall back gracefully (icon-less items get the icon-aligned inset, which is visually fine, just slightly more right-shifted than ideal).
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## [1.3.5] – 2026-04-04
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
|
|
63
|
+
- **`SKILL.md` – AI-optimized component reference** – a structured, machine-readable reference document designed for LLMs, AI copilots, and code-generation tools
|
|
64
|
+
- Copy-paste-ready HTML for all 22 components with exact nesting and BEM hierarchy
|
|
65
|
+
- Complete design token tables (colors, surfaces, borders, blur, radii, spacing, shadows, typography)
|
|
66
|
+
- State class reference – clear mapping of `is-active`, `is-open`, `is-visible`, `:checked`, `:focus`, `:disabled` to their components
|
|
67
|
+
- 6 composition patterns – full page layouts: Login, Dashboard, Form, Modal confirmation, Settings, Progress + Toast
|
|
68
|
+
- Common mistakes & corrections table – prevents frequent AI-generated errors
|
|
69
|
+
- Quick reference table – all components with modifiers at a glance
|
|
70
|
+
- Utility class reference with exact gap/margin values
|
|
71
|
+
- Web Components / Shadow DOM usage guide
|
|
72
|
+
- Custom theming instructions
|
|
14
73
|
- **Visual preview for Tab-Bar** in `docs.html` and `de/docs.html` – live rendered tab bar with 4 tabs (Home, Documents with badge, Upload, Settings)
|
|
15
74
|
- **Visual preview for Toast** in `docs.html` and `de/docs.html` – static success toast rendered inline
|
|
16
75
|
- **HTML code example for Status Notice** in `docs.html` and `de/docs.html` – was previously preview-only without code snippet
|
|
17
76
|
|
|
18
77
|
### Changed
|
|
19
78
|
|
|
20
|
-
-
|
|
79
|
+
- **README.md** – new “AI / LLM Reference” section documenting `SKILL.md` purpose and usage, “AI-ready” added to “Why GlassKit?”
|
|
80
|
+
- **Project structure** in README updated to include `SKILL.md`
|
|
81
|
+
- **docs.html & de/docs.html** – new “AI Reference” / “KI-Referenz” section with sidebar link
|
|
82
|
+
- **index.html & de/index.html** – SKILL.md added to project file list
|
|
83
|
+
- Version references updated to 1.3.5 across all files
|
|
21
84
|
|
|
22
85
|
---
|
|
23
86
|
|
|
@@ -207,9 +270,11 @@ during development. Version 1.3 is the first public open-source release.
|
|
|
207
270
|
|
|
208
271
|
---
|
|
209
272
|
|
|
273
|
+
[1.4.0]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.4.0
|
|
274
|
+
[1.3.5]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.5
|
|
210
275
|
[1.3.4]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.4
|
|
211
276
|
[1.3.3]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.3
|
|
212
277
|
[1.3.2]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.2
|
|
213
278
|
[1.3.1]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.1
|
|
214
279
|
[1.3.0]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.0
|
|
215
|
-
[Unreleased]: https://github.com/JUNGHERZ/GlassKit/compare/v1.
|
|
280
|
+
[Unreleased]: https://github.com/JUNGHERZ/GlassKit/compare/v1.4.0...HEAD
|
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://img.shields.io/badge/version-1.
|
|
2
|
+
<img src="https://img.shields.io/badge/version-1.4.0-orange?style=flat-square" alt="Version">
|
|
3
3
|
<img src="https://img.shields.io/badge/CSS-only-blue?style=flat-square" alt="CSS only">
|
|
4
|
-
<img src="https://img.shields.io/badge/components-
|
|
4
|
+
<img src="https://img.shields.io/badge/components-24-green?style=flat-square" alt="Components">
|
|
5
5
|
<img src="https://img.shields.io/badge/license-MIT-lightgrey?style=flat-square" alt="License">
|
|
6
|
-
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/changelog-v1.
|
|
6
|
+
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/changelog-v1.4.0-f5a623?style=flat-square" alt="Changelog"></a>
|
|
7
7
|
<a href="https://www.npmjs.com/package/@jungherz-de/glasskit"><img src="https://img.shields.io/npm/v/@jungherz-de/glasskit?style=flat-square&color=cb3837&label=npm" alt="npm"></a>
|
|
8
8
|
<a href="https://cdn.jsdelivr.net/npm/@jungherz-de/glasskit/"><img src="https://img.shields.io/badge/CDN-jsDelivr-blue?style=flat-square" alt="jsDelivr"></a>
|
|
9
9
|
</p>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
<p align="center">
|
|
18
18
|
<strong>A modern glassmorphism CSS component library.</strong><br>
|
|
19
|
-
|
|
19
|
+
24 Components · Dark & Light Mode · No Dependencies · Design Tokens
|
|
20
20
|
</p>
|
|
21
21
|
|
|
22
22
|
<p align="center">
|
|
@@ -48,8 +48,9 @@ GlassKit is a complete **CSS component library** with glassmorphism aesthetics
|
|
|
48
48
|
- 📱 **Mobile-first** – optimized for touch devices and `safe-area-inset`
|
|
49
49
|
- 🔌 **Framework-agnostic** – works with React, Vue, Svelte, plain HTML, or any other stack
|
|
50
50
|
- 🧩 **Shadow DOM ready** – Constructable Stylesheet for Web Components included
|
|
51
|
-
- 🪶 **Lightweight** –
|
|
51
|
+
- 🪶 **Lightweight** – 49 KB raw / 37 KB minified / 6.2 KB gzipped, no external dependencies
|
|
52
52
|
- 🎯 **BEM-like naming convention** – `glass-*` prefix, no conflicts with existing CSS
|
|
53
|
+
- 🤖 **AI-ready** – ships with [`SKILL.md`](SKILL.md), a structured reference for LLMs & AI copilots
|
|
53
54
|
|
|
54
55
|
---
|
|
55
56
|
|
|
@@ -63,16 +64,16 @@ No download, no build tool – just include and go:
|
|
|
63
64
|
|
|
64
65
|
```html
|
|
65
66
|
<!-- jsDelivr – Minified -->
|
|
66
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@jungherz-de/glasskit@1.
|
|
67
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@jungherz-de/glasskit@1.4/glasskit.min.css">
|
|
67
68
|
|
|
68
69
|
<!-- jsDelivr – Unminified (for reading/debugging) -->
|
|
69
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@jungherz-de/glasskit@1.
|
|
70
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@jungherz-de/glasskit@1.4/glasskit.css">
|
|
70
71
|
|
|
71
72
|
<!-- unpkg – Alternative -->
|
|
72
|
-
<link rel="stylesheet" href="https://unpkg.com/@jungherz-de/glasskit@1.
|
|
73
|
+
<link rel="stylesheet" href="https://unpkg.com/@jungherz-de/glasskit@1.4/glasskit.min.css">
|
|
73
74
|
```
|
|
74
75
|
|
|
75
|
-
> **Tip:** Replace `@1.
|
|
76
|
+
> **Tip:** Replace `@1.4` with `@latest` for the newest version – or pin to a specific version for maximum stability.
|
|
76
77
|
|
|
77
78
|
### npm / yarn / pnpm
|
|
78
79
|
|
|
@@ -176,6 +177,7 @@ Download the files directly from the [GitHub Release](https://github.com/JUNGHER
|
|
|
176
177
|
| **Badge** | `.glass-badge` | Tags & labels |
|
|
177
178
|
| **Avatar** | `.glass-avatar` | Glass circle (sm/md/lg) |
|
|
178
179
|
| **Status** | `.glass-status` | Notice card with icon |
|
|
180
|
+
| **List** | `.glass-list` | iOS-style grouped settings list with auto dividers |
|
|
179
181
|
|
|
180
182
|
### Actions & Feedback
|
|
181
183
|
|
|
@@ -186,6 +188,7 @@ Download the files directly from the [GitHub Release](https://github.com/JUNGHER
|
|
|
186
188
|
| **Button (Tertiary)** | `.glass-btn--tertiary` | Subtle glass – tertiary action |
|
|
187
189
|
| **Modal** | `.glass-modal` | Centered dialog with blur overlay |
|
|
188
190
|
| **Toast** | `.glass-toast` | Temporary notification |
|
|
191
|
+
| **Popover** | `.glass-popover` | Anchored dropdown / menu with fade & scale animation |
|
|
189
192
|
|
|
190
193
|
### Form Elements
|
|
191
194
|
|
|
@@ -428,6 +431,7 @@ glasskit/
|
|
|
428
431
|
├── showcase.html # Interactive showcase of all components
|
|
429
432
|
├── docs.html # Full documentation
|
|
430
433
|
├── de/ # German translations (index, docs, showcase)
|
|
434
|
+
├── SKILL.md # AI-optimized component reference (for LLMs & copilots)
|
|
431
435
|
├── LICENSE # MIT License
|
|
432
436
|
└── README.md # This file
|
|
433
437
|
```
|
|
@@ -438,7 +442,7 @@ glasskit/
|
|
|
438
442
|
|
|
439
443
|
The full documentation with **live previews**, **copy-paste code blocks**, and **class reference tables** is available in `docs.html`:
|
|
440
444
|
|
|
441
|
-
- Sidebar navigation to all
|
|
445
|
+
- Sidebar navigation to all 24 components
|
|
442
446
|
- Live previews on a real glassmorphism background
|
|
443
447
|
- Design token reference
|
|
444
448
|
- Theming guide
|
|
@@ -462,6 +466,27 @@ Useful links:
|
|
|
462
466
|
|
|
463
467
|
---
|
|
464
468
|
|
|
469
|
+
## 🤖 AI / LLM Reference (`SKILL.md`)
|
|
470
|
+
|
|
471
|
+
GlassKit ships with an **AI-optimized component reference** in [`SKILL.md`](SKILL.md). This file is designed for LLMs, AI copilots, and code-generation tools to produce correct GlassKit markup without parsing `docs.html`.
|
|
472
|
+
|
|
473
|
+
### What it provides
|
|
474
|
+
|
|
475
|
+
- **Copy-paste-ready HTML** for all 24 components with exact nesting rules
|
|
476
|
+
- **Complete design token tables** (colors, surfaces, blur, radii, spacing, shadows, typography)
|
|
477
|
+
- **State class reference** – which class goes where (`is-active`, `is-open`, `is-visible`, `:checked`)
|
|
478
|
+
- **6 composition patterns** – full page layouts (Login, Dashboard, Form, Modal, Settings, Progress)
|
|
479
|
+
- **Common mistakes & corrections** – prevents the most frequent AI-generated errors
|
|
480
|
+
- **Quick reference table** – all components with their modifiers at a glance
|
|
481
|
+
|
|
482
|
+
### Usage with AI assistants
|
|
483
|
+
|
|
484
|
+
Attach or reference `SKILL.md` when asking an AI to generate GlassKit HTML. It provides the structured context needed for production-ready output – correct BEM hierarchy, proper modifier usage, and idiomatic component composition.
|
|
485
|
+
|
|
486
|
+
> **Tip:** While `docs.html` is built for humans browsing with live previews, `SKILL.md` is built for machines generating code. Both are kept in sync.
|
|
487
|
+
|
|
488
|
+
---
|
|
489
|
+
|
|
465
490
|
## 🌐 Browser Compatibility
|
|
466
491
|
|
|
467
492
|
GlassKit uses `backdrop-filter` for glass effects. Support:
|
|
@@ -482,7 +507,7 @@ GlassKit uses `backdrop-filter` for glass effects. Support:
|
|
|
482
507
|
```
|
|
483
508
|
Interactive States:
|
|
484
509
|
.is-active → Tab Bar item, Modal Overlay
|
|
485
|
-
.is-open → Accordion item
|
|
510
|
+
.is-open → Accordion item, Popover
|
|
486
511
|
.is-visible → Toast
|
|
487
512
|
:checked → Toggle, Checkbox, Radio
|
|
488
513
|
:focus → Input, Textarea, Select, Range
|
|
@@ -511,6 +536,13 @@ Toast Modifiers:
|
|
|
511
536
|
Modal Action Modifiers:
|
|
512
537
|
.glass-modal__action--primary / --danger
|
|
513
538
|
|
|
539
|
+
List Modifiers:
|
|
540
|
+
.glass-list--flush / --bare
|
|
541
|
+
.glass-list__item--interactive / --center
|
|
542
|
+
|
|
543
|
+
Popover Modifiers:
|
|
544
|
+
.glass-popover--top / --start / --end
|
|
545
|
+
|
|
514
546
|
Background Modifiers:
|
|
515
547
|
.glass-bg--has-tab-bar
|
|
516
548
|
```
|