@zakkster/lite-ui-fx 1.1.0 → 1.2.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/llms.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  # @zakkster/lite-ui-fx
2
2
  > Canvas-hijacked UI components with pluggable recipe system. 50 built-in recipes.
3
3
 
4
- VERSION 1.1.0
4
+ VERSION 1.2.0
5
5
 
6
6
  ## Install
7
7
  npm i @zakkster/lite-ui-fx
@@ -14,10 +14,15 @@ Recipe = { tick(), init?(), onHover?(), onClick?(), onToggle?(), onDrag?(), dest
14
14
  ## Import -- Controller
15
15
  import { mountUIFX, UIType } from '@zakkster/lite-ui-fx';
16
16
 
17
- ## Import -- Recipes (3 volumes, 50 total)
18
- import { SwarmToggle, MagneticButton, SparkSlider } from './recipes/UIFXRecipes.js';
19
- import { PendulumToggle, HeartbeatButton, AuroraSlider } from './recipes/UIFXRecipes2.js';
20
- import { VolumeKnob, WaterLevel, TimerCountdown } from './recipes/UIFXRecipes3.js';
17
+ ## Import -- Recipes (one ./recipes subpath, 50 total, tree-shakeable)
18
+ import { SwarmToggle, MagneticButton, SparkSlider } from '@zakkster/lite-ui-fx/recipes';
19
+ import { PendulumToggle, HeartbeatButton, AuroraSlider } from '@zakkster/lite-ui-fx/recipes';
20
+ import { VolumeKnob, WaterLevel, TimerCountdown } from '@zakkster/lite-ui-fx/recipes';
21
+
22
+ ## Import -- Recipe registry (data-driven pickers)
23
+ import { RECIPES, RECIPE_META, RECIPE_NAMES, registerRecipe, mountRecipe } from '@zakkster/lite-ui-fx/recipes';
24
+ // RECIPES id->factory (null-proto); RECIPE_META { id, name, type, family, themeable, motionSafe }; RECIPE_NAMES frozen.
25
+ // mountRecipe(container, id, options?): resolves id fail-closed (did-you-mean), asserts META.type, mounts.
21
26
 
22
27
  ## Mount
23
28
  const instance = mountUIFX(container, UIType.TOGGLE, SwarmToggle, { label: 'Sound' });
@@ -39,12 +44,12 @@ UIType.SLIDER -> <input type="range"> -> state.val (0-1), onDrag(val, velocity)
39
44
 
40
45
  ## 50 Built-in Recipes
41
46
 
42
- ### Vol. 1 (UIFXRecipes.js) -- 10 recipes
47
+ ### Vol. 1 -- 10 recipes
43
48
  Toggles: SwarmToggle, LiquidToggle, NeonPulseToggle
44
49
  Buttons: MagneticButton, ShatterButton, ConfettiButton, GlitchButton
45
50
  Sliders: SparkSlider, CosmicSlider, LaserSlider
46
51
 
47
- ### Vol. 2 (UIFXRecipes2.js) -- 20 recipes
52
+ ### Vol. 2 -- 20 recipes
48
53
  Toggles: PendulumToggle, CircuitToggle, LightningToggle, DNAToggle
49
54
  Buttons: HeartbeatButton, BreathingButton, InkSplashButton, PixelDissolveButton, FireworkButton
50
55
  Sliders: AuroraSlider, WaveSlider, ElasticBandSlider, GravitySlider
@@ -53,7 +58,7 @@ Checkboxes: RippleCheck, MorphCheck
53
58
  Counters: FlameCounter, GlitchCounter
54
59
  Rating: BubbleRating
55
60
 
56
- ### Vol. 3 (UIFXRecipes3.js) -- 20 recipes
61
+ ### Vol. 3 -- 20 recipes
57
62
  Knobs: VolumeKnob, CompassKnob
58
63
  Progress: RingProgress, BatteryGauge, SignalMeter
59
64
  Controls: PillTabs, Stepper, RadioOrbit
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zakkster/lite-ui-fx",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
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",
@@ -12,13 +12,19 @@
12
12
  ".": {
13
13
  "import": "./UIFXController.js",
14
14
  "types": "./UIFXController.d.ts"
15
+ },
16
+ "./recipes": {
17
+ "import": "./UIFXRecipes.js",
18
+ "types": "./UIFXRecipes.d.ts"
15
19
  }
16
20
  },
17
21
  "files": [
18
22
  "UIFXController.js",
19
23
  "UIFXController.d.ts",
24
+ "UIFXRecipes.js",
25
+ "UIFXRecipes.d.ts",
26
+ "UIFX-RECIPE-GUIDE.md",
20
27
  "llms.txt",
21
- "recipes/UIFX-RECIPE-GUIDE.md",
22
28
  "CHANGELOG.md",
23
29
  "README.md",
24
30
  "LICENSE"
@@ -41,14 +47,15 @@
41
47
  "node": ">=18"
42
48
  },
43
49
  "dependencies": {
44
- "@zakkster/lite-ticker": "^1.0.0",
45
50
  "@zakkster/lite-lerp": "^1.0.0",
46
- "@zakkster/lite-random": "^1.0.0"
51
+ "@zakkster/lite-random": "^1.0.0",
52
+ "@zakkster/lite-ticker": "^1.0.0"
47
53
  },
48
54
  "devDependencies": {
49
55
  "@zakkster/lite-gc-profiler": "^1.16.0",
50
56
  "@zakkster/lite-leak": "^1.10.0",
51
- "@zakkster/lite-signal": "^1.5.1"
57
+ "@zakkster/lite-signal": "^1.5.1",
58
+ "esbuild": "^0.28.2"
52
59
  },
53
60
  "scripts": {
54
61
  "test": "node --test test/*.test.mjs",