@jungherz-de/glasskit 1.3.5 → 1.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.
- package/CHANGELOG.md +76 -1
- package/README.md +21 -12
- package/SKILL.md +657 -361
- package/glasskit-styles.js +2 -2
- package/glasskit.css +286 -13
- package/glasskit.min.css +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,79 @@ GlassKit uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [1.5.0] – 2026-04-12
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Six new List sub-classes** extending the `.glass-list` component for iOS 26 grouped-section patterns:
|
|
15
|
+
- **`.glass-list__section-header`** – uppercase section label placed above a `.glass-list`, matching iOS grouped-list section headers (e.g. "Recommendations", "Audiobooks")
|
|
16
|
+
- **`.glass-list__leading--lg`** – large 40×40 leading slot with rounded-square corners and `<img>` support for app icons
|
|
17
|
+
- **`.glass-list__subtitle--wrap`** – multi-line subtitle (up to 3 lines with `-webkit-line-clamp`)
|
|
18
|
+
- **`.glass-list__value`** – muted trailing text for values like file sizes alongside a chevron
|
|
19
|
+
- **`.glass-list__item--danger`** – red text for destructive actions (title + leading icon inherit color)
|
|
20
|
+
- **`.glass-list__item--accent`** – primary-colored text for accent actions like "View all"
|
|
21
|
+
- Auto-divider inset adjusts automatically for `--lg` leading via `:has()` selector
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- **Range Slider thumb off-center on Chrome / Safari** – added explicit `box-sizing: border-box` to `::-webkit-slider-thumb` (normalizes Chrome vs Safari UA defaults) and corrected `margin-top` to `-2px`. Firefox was never affected (`::-moz-range-thumb` auto-centers).
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- SKILL.md iOS Settings Screen composition now uses `.glass-list__section-header` instead of manual utility-class labels
|
|
30
|
+
- Docs and showcase updated with live demos for all new list variants
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## [1.4.0] – 2026-04-11
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
|
|
38
|
+
- **Two new components – `List` and `Popover`** – inspired by iOS 26 settings screens
|
|
39
|
+
- **`.glass-list`** – grouped settings-style container, visually based on `.glass-status` (`--gl-surface-1`, `--gl-blur-light`, `--gl-radius-btn`, subtle shadow)
|
|
40
|
+
- **`.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
|
|
41
|
+
- **List sub-elements**: `__leading` (28×28 icon slot), `__content` (flexible middle), `__title`, `__subtitle`, `__trailing` (chevron / value / button / badge)
|
|
42
|
+
- **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)
|
|
43
|
+
- **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)`)
|
|
44
|
+
- **`.glass-popover`** – anchored dropdown / menu container with fade + scale animation on `.is-open`
|
|
45
|
+
- **`.glass-popover-anchor`** – positioning context that wraps trigger + popover
|
|
46
|
+
- **Popover placement modifiers**: `--top` (opens upward), `--start` (left-aligned), `--end` (right-aligned); default placement is centered below the trigger
|
|
47
|
+
- **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`)
|
|
48
|
+
- **SKILL.md (AI reference) extensions**:
|
|
49
|
+
- 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
|
|
50
|
+
- New section **3.25 Popover** with HTML + toggle JS, placement modifier reference, and explicit warning about the native API name collision
|
|
51
|
+
- New composition pattern **"iOS-style Settings Screen (List + Popover)"** – full example reproducing iOS settings layout with two grouped lists and an inline action menu
|
|
52
|
+
- State Classes Overview extended (`.is-open` now also for `.glass-popover`)
|
|
53
|
+
- Common Mistakes table extended with 4 new entries (manual divider markup, missing `--bare`, `togglePopover` naming clash, `.is-open` on the wrong element)
|
|
54
|
+
- "Always follow" rules extended with list-divider and popover-naming guidance
|
|
55
|
+
- Quick Class Reference table extended with List and Popover rows
|
|
56
|
+
- **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
|
|
57
|
+
- **README.md "Lightweight" bullet** – now reports precise sizes (49 KB raw / 37 KB minified / 6.2 KB gzipped) instead of an approximate single number
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
|
|
61
|
+
- **`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
|
|
62
|
+
- **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
|
|
63
|
+
- **Sidebar navigation** in `docs.html` and `de/docs.html` extended with the new "List" link (under Content) and "Popover" link (under Actions)
|
|
64
|
+
- **CDN version pinning** in `README.md` and `SKILL.md` updated from `@1.3` to `@1.4` for jsDelivr (minified + unminified) and unpkg
|
|
65
|
+
- **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)
|
|
66
|
+
- **Showcase title** in `showcase.html` and `de/showcase.html` bumped to `v1.4.0`
|
|
67
|
+
- **Version stamps** updated to `1.4.0` in `package.json`, README badges, `glasskit.css` header, sidebar versions, and hero badges (English + German)
|
|
68
|
+
|
|
69
|
+
### Fixed
|
|
70
|
+
|
|
71
|
+
- **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)`.
|
|
72
|
+
- **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.
|
|
73
|
+
- **`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.
|
|
74
|
+
|
|
75
|
+
### Notes
|
|
76
|
+
|
|
77
|
+
- **No breaking changes.** All additions are additive; existing markup continues to work unchanged.
|
|
78
|
+
- **`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).
|
|
79
|
+
- **`: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).
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
10
83
|
## [1.3.5] – 2026-04-04
|
|
11
84
|
|
|
12
85
|
### Added
|
|
@@ -221,10 +294,12 @@ during development. Version 1.3 is the first public open-source release.
|
|
|
221
294
|
|
|
222
295
|
---
|
|
223
296
|
|
|
297
|
+
[1.5.0]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.5.0
|
|
298
|
+
[1.4.0]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.4.0
|
|
224
299
|
[1.3.5]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.5
|
|
225
300
|
[1.3.4]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.4
|
|
226
301
|
[1.3.3]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.3
|
|
227
302
|
[1.3.2]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.2
|
|
228
303
|
[1.3.1]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.1
|
|
229
304
|
[1.3.0]: https://github.com/JUNGHERZ/GlassKit/releases/tag/v1.3.0
|
|
230
|
-
[Unreleased]: https://github.com/JUNGHERZ/GlassKit/compare/v1.
|
|
305
|
+
[Unreleased]: https://github.com/JUNGHERZ/GlassKit/compare/v1.5.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.5.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.5.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,7 +48,7 @@ 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** – 51 KB raw / 39 KB minified / 6.5 KB gzipped, no external dependencies
|
|
52
52
|
- 🎯 **BEM-like naming convention** – `glass-*` prefix, no conflicts with existing CSS
|
|
53
53
|
- 🤖 **AI-ready** – ships with [`SKILL.md`](SKILL.md), a structured reference for LLMs & AI copilots
|
|
54
54
|
|
|
@@ -64,16 +64,16 @@ No download, no build tool – just include and go:
|
|
|
64
64
|
|
|
65
65
|
```html
|
|
66
66
|
<!-- jsDelivr – Minified -->
|
|
67
|
-
<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.5/glasskit.min.css">
|
|
68
68
|
|
|
69
69
|
<!-- jsDelivr – Unminified (for reading/debugging) -->
|
|
70
|
-
<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.5/glasskit.css">
|
|
71
71
|
|
|
72
72
|
<!-- unpkg – Alternative -->
|
|
73
|
-
<link rel="stylesheet" href="https://unpkg.com/@jungherz-de/glasskit@1.
|
|
73
|
+
<link rel="stylesheet" href="https://unpkg.com/@jungherz-de/glasskit@1.5/glasskit.min.css">
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
> **Tip:** Replace `@1.
|
|
76
|
+
> **Tip:** Replace `@1.5` with `@latest` for the newest version – or pin to a specific version for maximum stability.
|
|
77
77
|
|
|
78
78
|
### npm / yarn / pnpm
|
|
79
79
|
|
|
@@ -177,6 +177,7 @@ Download the files directly from the [GitHub Release](https://github.com/JUNGHER
|
|
|
177
177
|
| **Badge** | `.glass-badge` | Tags & labels |
|
|
178
178
|
| **Avatar** | `.glass-avatar` | Glass circle (sm/md/lg) |
|
|
179
179
|
| **Status** | `.glass-status` | Notice card with icon |
|
|
180
|
+
| **List** | `.glass-list` | iOS-style grouped settings list with auto dividers |
|
|
180
181
|
|
|
181
182
|
### Actions & Feedback
|
|
182
183
|
|
|
@@ -187,6 +188,7 @@ Download the files directly from the [GitHub Release](https://github.com/JUNGHER
|
|
|
187
188
|
| **Button (Tertiary)** | `.glass-btn--tertiary` | Subtle glass – tertiary action |
|
|
188
189
|
| **Modal** | `.glass-modal` | Centered dialog with blur overlay |
|
|
189
190
|
| **Toast** | `.glass-toast` | Temporary notification |
|
|
191
|
+
| **Popover** | `.glass-popover` | Anchored dropdown / menu with fade & scale animation |
|
|
190
192
|
|
|
191
193
|
### Form Elements
|
|
192
194
|
|
|
@@ -440,7 +442,7 @@ glasskit/
|
|
|
440
442
|
|
|
441
443
|
The full documentation with **live previews**, **copy-paste code blocks**, and **class reference tables** is available in `docs.html`:
|
|
442
444
|
|
|
443
|
-
- Sidebar navigation to all
|
|
445
|
+
- Sidebar navigation to all 24 components
|
|
444
446
|
- Live previews on a real glassmorphism background
|
|
445
447
|
- Design token reference
|
|
446
448
|
- Theming guide
|
|
@@ -470,7 +472,7 @@ GlassKit ships with an **AI-optimized component reference** in [`SKILL.md`](SKIL
|
|
|
470
472
|
|
|
471
473
|
### What it provides
|
|
472
474
|
|
|
473
|
-
- **Copy-paste-ready HTML** for all
|
|
475
|
+
- **Copy-paste-ready HTML** for all 24 components with exact nesting rules
|
|
474
476
|
- **Complete design token tables** (colors, surfaces, blur, radii, spacing, shadows, typography)
|
|
475
477
|
- **State class reference** – which class goes where (`is-active`, `is-open`, `is-visible`, `:checked`)
|
|
476
478
|
- **6 composition patterns** – full page layouts (Login, Dashboard, Form, Modal, Settings, Progress)
|
|
@@ -505,7 +507,7 @@ GlassKit uses `backdrop-filter` for glass effects. Support:
|
|
|
505
507
|
```
|
|
506
508
|
Interactive States:
|
|
507
509
|
.is-active → Tab Bar item, Modal Overlay
|
|
508
|
-
.is-open → Accordion item
|
|
510
|
+
.is-open → Accordion item, Popover
|
|
509
511
|
.is-visible → Toast
|
|
510
512
|
:checked → Toggle, Checkbox, Radio
|
|
511
513
|
:focus → Input, Textarea, Select, Range
|
|
@@ -534,6 +536,13 @@ Toast Modifiers:
|
|
|
534
536
|
Modal Action Modifiers:
|
|
535
537
|
.glass-modal__action--primary / --danger
|
|
536
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
|
+
|
|
537
546
|
Background Modifiers:
|
|
538
547
|
.glass-bg--has-tab-bar
|
|
539
548
|
```
|