@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 +27 -0
- package/UIFXController.js +1 -1
- package/UIFXRecipes.js +7 -1
- package/llms.txt +1 -1
- package/package.json +1 -1
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.
|
|
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
|
|
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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zakkster/lite-ui-fx",
|
|
3
|
-
"version": "1.9.
|
|
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",
|