@zakkster/lite-ui-fx 1.9.0 → 1.9.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
@@ -5,6 +5,33 @@ All notable changes to `@zakkster/lite-ui-fx` are documented here.
5
5
  The format follows Keep a Changelog; this project adheres to Semantic
6
6
  Versioning.
7
7
 
8
+ ## [1.9.1] -- 2026-09-07
9
+
10
+ Patch: a rendering fix for the ReactionPicker recipe.
11
+
12
+ ### Added
13
+
14
+ none
15
+
16
+ ### Changed
17
+
18
+ - demo (not shipped in the package): the `passwordStrength` showcase input is
19
+ seeded with a weak value (`abc`) instead of an already-maximal one, so typing
20
+ visibly moves the strength meter. The recipe itself was unchanged and correct.
21
+
22
+ ### Fixed
23
+
24
+ - ReactionPicker: the emoji faces inherited the circle's translucent `fillStyle`
25
+ (0.04 alpha at rest), so a colour glyph rendered at 4% opacity and the faces
26
+ were invisible until hover. An opaque fill (`colors[i]`) is now set before each
27
+ glyph; all five faces render at rest, and hover still inflates and highlights
28
+ the selected one. One precomputed array read per glyph -- the frame path stays
29
+ zero-allocation (torture alloc = 0.8759765625 B/op, unchanged).
30
+
31
+ ### Removed
32
+
33
+ none
34
+
8
35
  ## [1.9.0] -- 2026-09-07
9
36
 
10
37
  Grouped controls (roadmap U7): a third mount mode for a control that is N native
package/UIFXController.js CHANGED
@@ -22,7 +22,7 @@ import { Ticker } from '@zakkster/lite-ticker';
22
22
 
23
23
  // Three-place version sync: this constant, package.json "version", and the
24
24
  // VERSION line in llms.txt must always match. /release keeps them locked.
25
- export const VERSION = '1.9.0';
25
+ export const VERSION = '1.9.1';
26
26
 
27
27
  // ---------------------------------------------------------
28
28
  // SHARED TICKER (ref-counted, one RAF for all UI components)
package/UIFXRecipes.js CHANGED
@@ -2571,8 +2571,14 @@ export function ReactionPicker(o = {}) {
2571
2571
  c.fillStyle=active?colors30[i]:'rgba(255,255,255,.04)';
2572
2572
  c.beginPath();c.arc(cx,cy-sizes[i]+10,sizes[i],0,PI2);c.fill();
2573
2573
 
2574
- // Emoji face (simplified) -- font from a const-string LUT
2574
+ // Emoji face -- font from a const-string LUT. Set an OPAQUE fill
2575
+ // first: the circle's fillStyle above is translucent (4% at rest),
2576
+ // and a colour glyph inherits that alpha, so without this the faces
2577
+ // are invisible until hover. colors[i] keeps a mono-emoji fallback
2578
+ // tinted per reaction; a colour-emoji font ignores the hue and only
2579
+ // takes the full alpha. Precomputed array read -- zero alloc.
2575
2580
  c.font=FONTS[Math.round(sizes[i]*1.2)]||FONTS[48];c.textAlign='center';c.textBaseline='middle';
2581
+ c.fillStyle=colors[i];
2576
2582
  c.fillText(emojis[i],cx,cy-sizes[i]+10);
2577
2583
  }
2578
2584
 
package/llms.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  # @zakkster/lite-ui-fx
2
2
  > Canvas-hijacked UI components with pluggable recipe system. 57 built-in recipes.
3
3
 
4
- VERSION 1.9.0
4
+ VERSION 1.9.1
5
5
 
6
6
  ## Install
7
7
  npm i @zakkster/lite-ui-fx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zakkster/lite-ui-fx",
3
- "version": "1.9.0",
3
+ "version": "1.9.1",
4
4
  "description": "Canvas-hijacked UI components with a pluggable recipe system. 50 built-in recipes across toggles, buttons, sliders, knobs, loaders, checkboxes, counters, and ratings.",
5
5
  "author": "Zahary Shinikchiev <shinikchiev@yahoo.com>",
6
6
  "license": "MIT",