@zeyos/zx 4.1.0 → 4.1.1

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 CHANGED
@@ -8,6 +8,23 @@ and friends remain the complete record.
8
8
 
9
9
  ## Unreleased
10
10
 
11
+ ## 4.1.1 — 2026-08-25
12
+
13
+ ### Changed
14
+
15
+ - **Material recipes are visibly distinct.** Flat, Glass, and Deep glass now resolve shared
16
+ semantic tokens consumed by application icons, buttons, raised cards, and transient messages;
17
+ reduced-transparency and forced-colour environments retain opaque accessible fallbacks.
18
+ - **Theme Studio documents the material system.** Its component showcase now includes the shared
19
+ AppIcon and raised-surface treatments, and explains which component families consume them.
20
+ - **Application identity is more consistent.** ZeyOS AppIcons use centred white glyphs, a tighter
21
+ corner radius, CSS-only depth, and explicit hover and focus feedback across module colours.
22
+
23
+ ### Fixed
24
+
25
+ - AppIcons without badges no longer append a visible `null` text node, preserving exact glyph
26
+ centring and clean accessible output.
27
+
11
28
  ## 4.1.0 — 2026-08-25
12
29
 
13
30
  ### Added
@@ -110,8 +110,8 @@ export type ModuleChipOptions = {
110
110
  */
111
111
  /**
112
112
  * Creates a module's icon chip: the glyph on the module's identity colour, the way ZeyOS draws
113
- * module icons in navigation and record headers. The glyph colour is whichever of ZeyOS's two
114
- * foregrounds contrasts better with the background.
113
+ * module icons in navigation and record headers. AppIcon identity glyphs stay white across every
114
+ * module colour; material shading and the glyph shadow preserve their silhouette on light colours.
115
115
  * @param {string} name Module, entity, or resource name.
116
116
  * @param {ModuleChipOptions} [options={}] Display and accessibility options.
117
117
  * @returns {HTMLElement} A `<span class="zx-module-icon">` wrapping the glyph.
@@ -11720,11 +11720,12 @@ var AppIcon = class extends Component {
11720
11720
  class: "zx-app-icon__badge",
11721
11721
  ariaHidden: "true"
11722
11722
  }, String(state.badge));
11723
- this.el.replaceChildren(
11723
+ const children = [
11724
11724
  h("span", { class: "zx-app-icon__shine", ariaHidden: "true" }),
11725
- h("span", { class: "zx-app-icon__glyph", ariaHidden: "true" }, visual),
11726
- badge
11727
- );
11725
+ h("span", { class: "zx-app-icon__glyph", ariaHidden: "true" }, visual)
11726
+ ];
11727
+ if (badge) children.push(badge);
11728
+ this.el.replaceChildren(...children);
11728
11729
  }
11729
11730
  };
11730
11731
  function appIcon(options = {}) {
@@ -13612,8 +13613,8 @@ function moduleChip(name, options = {}) {
13612
13613
  });
13613
13614
  chip.dataset.module = key;
13614
13615
  chip.style.setProperty("--zx-module-color", background);
13615
- chip.style.setProperty("--zx-module-glyph", moduleGlyphColor(background));
13616
- chip.style.setProperty("--zx-app-icon-glyph", moduleGlyphColor(background));
13616
+ chip.style.setProperty("--zx-module-glyph", "var(--zx-color-app-icon-glyph)");
13617
+ chip.style.setProperty("--zx-app-icon-glyph", "var(--zx-color-app-icon-glyph)");
13617
13618
  if (title) chip.title = info.label;
13618
13619
  return chip;
13619
13620
  }