@toyz/loom 0.10.0 → 0.11.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/README.md CHANGED
@@ -25,17 +25,37 @@ It powers [placing.space](https://placing.space) in production — a real-time c
25
25
 
26
26
  ## Features
27
27
 
28
- - **`@component`** — register custom elements in one line
28
+ - **`@component` / `@styles`** — register custom elements and scoped styles in one line
29
29
  - **`@reactive` / `@prop`** — fine-grained reactivity that only re-renders what changed
30
30
  - **`@computed` / `@watch`** — derived state and side effects
31
- - **`@on` / `@emit`** — declarative event handling
31
+ - **`@on` / `@emit`** — declarative event handling via typed event bus
32
32
  - **JSX + DOM morphing** — write JSX, get surgical DOM patches (no virtual DOM)
33
- - **`@inject` / `@service`** — dependency injection container
34
- - **Hash & history router** — `@route`, `@guard`, `<loom-outlet>`
33
+ - **`@inject` / `@service` / `@factory`** — full dependency injection container
34
+ - **Hash & history router** — `@route`, `@guard`, `@group`, `<loom-outlet>`, `<loom-link>`
35
+ - **`@api` / `@intercept`** — declarative data fetching with SWR, retry, and Result combinators
36
+ - **`@lazy`** — code-split components with one decorator
37
+ - **`@catch_` / `@suspend`** — error boundaries and async loading state
38
+ - **`@interval` / `@timeout` / `@debounce` / `@throttle` / `@animationFrame`** — auto-cleaned timing
39
+ - **`@mount` / `@unmount`** — lifecycle hooks
40
+ - **`@form`** — declarative form binding with validation
41
+ - **`@transform`** — typed value transforms for props and route params
42
+ - **`Reactive<T>` / `CollectionStore<T>`** — observable state with `LocalAdapter` persistence
35
43
  - **`css\`\``** — adopted stylesheets with zero FOUC
36
44
  - **`<loom-virtual>`** — virtualized list for huge datasets
45
+ - **`createDecorator`** — build your own decorators with the same factory Loom uses
37
46
  - **Zero dependencies** — just TypeScript and the platform
38
47
 
48
+ ## Create a Project
49
+
50
+ ```bash
51
+ npm create @toyz/loom my-app
52
+ cd my-app
53
+ npm install
54
+ npm run dev
55
+ ```
56
+
57
+ Or install manually:
58
+
39
59
  ## Install
40
60
 
41
61
  ```bash
@@ -44,20 +64,27 @@ npm install @toyz/loom
44
64
 
45
65
  ## Quick Start
46
66
 
47
- ```ts
48
- import { LoomElement, component, reactive, css } from "@toyz/loom";
67
+ ```tsx
68
+ import { LoomElement, component, reactive, css, styles } from "@toyz/loom";
49
69
 
50
- const styles = css`
51
- button { padding: 0.5rem 1rem; border-radius: 6px; cursor: pointer; }
52
- span { font-weight: bold; margin-left: 0.5rem; }
70
+ const counterStyles = css`
71
+ button {
72
+ padding: 0.5rem 1rem;
73
+ border-radius: 6px;
74
+ cursor: pointer;
75
+ }
76
+ span {
77
+ font-weight: bold;
78
+ margin-left: 0.5rem;
79
+ }
53
80
  `;
54
81
 
55
82
  @component("click-counter")
83
+ @styles(counterStyles)
56
84
  class ClickCounter extends LoomElement {
57
- @reactive count = 0;
85
+ @reactive accessor count = 0;
58
86
 
59
87
  update() {
60
- this.shadow.adoptedStyleSheets = [styles];
61
88
  return (
62
89
  <button onClick={() => this.count++}>
63
90
  Clicks: <span>{this.count}</span>
@@ -27,9 +27,7 @@ export declare class LoomIcon extends LoomElement {
27
27
  static has(name: string): boolean;
28
28
  /** List all registered icon names. */
29
29
  static get names(): string[];
30
- /** Immediately apply size/color from attributes — runs before connectedCallback */
31
- attributeChangedCallback(name: string, _old: string | null, val: string | null): void;
32
- connectedCallback(): void;
30
+ private syncVars;
33
31
  update(): SVGSVGElement | HTMLSpanElement;
34
32
  }
35
33
  //# sourceMappingURL=icon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/element/icon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA6BxC,qBACa,QAAS,SAAQ,WAAW;IAEvC,2DAA2D;IACrD,QAAQ,CAAC,IAAI,SAAM;IAEzB,qBAAqB;IACf,QAAQ,CAAC,IAAI,SAAM;IAEzB,+BAA+B;IACzB,QAAQ,CAAC,KAAK,SAAkB;IAEtC,mFAAmF;IACnF,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrD,uCAAuC;IACvC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMvD,sCAAsC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,sCAAsC;IACtC,MAAM,KAAK,KAAK,IAAI,MAAM,EAAE,CAE3B;IAED,mFAAmF;IACnF,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAU9E,iBAAiB;IASjB,MAAM;CAiBP"}
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/element/icon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA8BxC,qBAEa,QAAS,SAAQ,WAAW;IAEvC,2DAA2D;IACrD,QAAQ,CAAC,IAAI,SAAM;IAEzB,qBAAqB;IACf,QAAQ,CAAC,IAAI,SAAM;IAEzB,+BAA+B;IACzB,QAAQ,CAAC,KAAK,SAAkB;IAEtC,mFAAmF;IACnF,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrD,uCAAuC;IACvC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMvD,sCAAsC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,sCAAsC;IACtC,MAAM,KAAK,KAAK,IAAI,MAAM,EAAE,CAE3B;IAID,OAAO,CAAC,QAAQ;IAKhB,MAAM;CAaP"}
@@ -11,6 +11,13 @@
11
11
  * // Use anywhere in JSX
12
12
  * <loom-icon name="bolt" size={20} color="var(--accent)" />
13
13
  */
14
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
15
+ var useValue = arguments.length > 2;
16
+ for (var i = 0; i < initializers.length; i++) {
17
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
18
+ }
19
+ return useValue ? value : void 0;
20
+ };
14
21
  var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
15
22
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
16
23
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
@@ -38,16 +45,10 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
38
45
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
39
46
  done = true;
40
47
  };
41
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
42
- var useValue = arguments.length > 2;
43
- for (var i = 0; i < initializers.length; i++) {
44
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
45
- }
46
- return useValue ? value : void 0;
47
- };
48
48
  import { LoomElement } from "./element";
49
- import { component } from "./decorators";
49
+ import { component, styles } from "./decorators";
50
50
  import { prop } from "../store/decorators";
51
+ import { watch } from "../store/watch";
51
52
  import { css } from "../css";
52
53
  const baseStyles = css `
53
54
  :host {
@@ -72,11 +73,12 @@ const baseStyles = css `
72
73
  /** Icon path data registry (name → SVG inner content) */
73
74
  const registry = new Map();
74
75
  let LoomIcon = (() => {
75
- let _classDecorators = [component("loom-icon")];
76
+ let _classDecorators = [component("loom-icon"), styles(baseStyles)];
76
77
  let _classDescriptor;
77
78
  let _classExtraInitializers = [];
78
79
  let _classThis;
79
80
  let _classSuper = LoomElement;
81
+ let _instanceExtraInitializers = [];
80
82
  let _name_decorators;
81
83
  let _name_initializers = [];
82
84
  let _name_extraInitializers = [];
@@ -86,6 +88,7 @@ let LoomIcon = (() => {
86
88
  let _color_decorators;
87
89
  let _color_initializers = [];
88
90
  let _color_extraInitializers = [];
91
+ let _syncVars_decorators;
89
92
  var LoomIcon = class extends _classSuper {
90
93
  static { _classThis = this; }
91
94
  static {
@@ -93,15 +96,17 @@ let LoomIcon = (() => {
93
96
  _name_decorators = [prop];
94
97
  _size_decorators = [prop];
95
98
  _color_decorators = [prop];
99
+ _syncVars_decorators = [watch("size"), watch("color")];
96
100
  __esDecorate(this, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
97
101
  __esDecorate(this, null, _size_decorators, { kind: "accessor", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
98
102
  __esDecorate(this, null, _color_decorators, { kind: "accessor", name: "color", static: false, private: false, access: { has: obj => "color" in obj, get: obj => obj.color, set: (obj, value) => { obj.color = value; } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
103
+ __esDecorate(this, null, _syncVars_decorators, { kind: "method", name: "syncVars", static: false, private: false, access: { has: obj => "syncVars" in obj, get: obj => obj.syncVars }, metadata: _metadata }, null, _instanceExtraInitializers);
99
104
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
100
105
  LoomIcon = _classThis = _classDescriptor.value;
101
106
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
102
107
  __runInitializers(_classThis, _classExtraInitializers);
103
108
  }
104
- #name_accessor_storage = __runInitializers(this, _name_initializers, "");
109
+ #name_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _name_initializers, ""));
105
110
  /** Icon name (must be registered via LoomIcon.register) */
106
111
  get name() { return this.#name_accessor_storage; }
107
112
  set name(value) { this.#name_accessor_storage = value; }
@@ -131,35 +136,16 @@ let LoomIcon = (() => {
131
136
  static get names() {
132
137
  return Array.from(registry.keys());
133
138
  }
134
- /** Immediately apply size/color from attributes — runs before connectedCallback */
135
- attributeChangedCallback(name, _old, val) {
136
- // Note: @component decorator wraps this method and parses @prop values
137
- // before calling us. We just sync the CSS custom properties immediately.
138
- if (name === "size" && val !== null) {
139
- this.style.setProperty("--_s", `${val}px`);
140
- }
141
- else if (name === "color" && val !== null) {
142
- this.style.setProperty("--_c", val);
143
- }
144
- }
145
- connectedCallback() {
146
- // Set CSS vars from current attributes before first paint
147
- const s = this.getAttribute("size");
148
- const c = this.getAttribute("color");
149
- this.style.setProperty("--_s", `${s ?? this.size}px`);
150
- if (c)
151
- this.style.setProperty("--_c", c);
152
- super.connectedCallback();
139
+ syncVars() {
140
+ this.style.setProperty("--_s", `${this.size}px`);
141
+ this.style.setProperty("--_c", this.color);
153
142
  }
154
143
  update() {
155
- this.shadow.adoptedStyleSheets = [baseStyles];
156
144
  this.style.setProperty("--_s", `${this.size}px`);
157
145
  this.style.setProperty("--_c", this.color);
158
146
  const inner = registry.get(this.name);
159
- if (!inner) {
160
- const placeholder = document.createElement("span");
161
- return placeholder;
162
- }
147
+ if (!inner)
148
+ return document.createElement("span");
163
149
  const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
164
150
  svg.setAttribute("viewBox", "0 0 24 24");
165
151
  svg.setAttribute("aria-hidden", "true");
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/element/icon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/element/icon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;CAmBrB,CAAC;AAEF,yDAAyD;AACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAI9B,QAAQ;4BAFpB,SAAS,CAAC,WAAW,CAAC,EACtB,MAAM,CAAC,UAAU,CAAC;;;;sBACW,WAAW;;;;;;;;;;;;wBAAnB,SAAQ,WAAW;;;;gCAGtC,IAAI;gCAGJ,IAAI;iCAGJ,IAAI;oCAwBJ,KAAK,CAAC,MAAM,CAAC,EACb,KAAK,CAAC,OAAO,CAAC;YA/BT,iKAAS,IAAI,6BAAJ,IAAI,mFAAM;YAGnB,iKAAS,IAAI,6BAAJ,IAAI,mFAAM;YAGnB,oKAAS,KAAK,6BAAL,KAAK,qFAAkB;YA0BtC,2KAAQ,QAAQ,6DAGf;YAtCH,6KAqDC;;;YArDY,uDAAQ;;QAGb,0BAHK,mDAAQ,8CAGG,EAAE,GAAC;QADzB,2DAA2D;QACrD,IAAS,IAAI,0CAAM;QAAnB,IAAS,IAAI,gDAAM;QAGnB,wHAAgB,EAAE,GAAC;QADzB,qBAAqB;QACf,IAAS,IAAI,0CAAM;QAAnB,IAAS,IAAI,gDAAM;QAGnB,0HAAiB,cAAc,GAAC;QADtC,+BAA+B;QACzB,IAAS,KAAK,2CAAkB;QAAhC,IAAS,KAAK,iDAAkB;QAEtC,mFAAmF;QACnF,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAgB;YAC5C,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,uCAAuC;QACvC,MAAM,CAAC,WAAW,CAAC,KAA6B;YAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,CAAC,GAAG,CAAC,IAAY;YACrB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,sCAAsC;QACtC,MAAM,KAAK,KAAK;YACd,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAIO,QAAQ;YACd,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM;YACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK;gBAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAElD,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAC1E,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACzC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACxC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;;;;;;;;SApDU,QAAQ"}
@@ -4,7 +4,6 @@
4
4
  * LoomElement base class, built-in elements, and element decorators.
5
5
  */
6
6
  export { LoomElement } from "./element";
7
- export type { VirtualListOptions } from "./virtual";
8
7
  export { component, query, queryAll, styles } from "./decorators";
9
8
  export { catch_, suspend, mount, unmount } from "./lifecycle";
10
9
  export { interval, timeout, debounce, throttle, animationFrame } from "./timing";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAKxC,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGjF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGjE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAOxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGjF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGjE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -5,6 +5,9 @@
5
5
  */
6
6
  // Base element
7
7
  export { LoomElement } from "./element";
8
+ // Built-in elements — import explicitly to opt-in to side effects
9
+ // e.g. import { LoomVirtual } from "@toyz/loom/element/virtual"
10
+ // e.g. import { LoomIcon } from "@toyz/loom/element/icon"
8
11
  // Element decorators
9
12
  export { component, query, queryAll, styles } from "./decorators";
10
13
  // Lifecycle decorators
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAOxC,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAElE,uBAAuB;AACvB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9D,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEjF,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,yBAAyB;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,uBAAuB;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,kEAAkE;AAClE,gEAAgE;AAChE,0DAA0D;AAE1D,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAElE,uBAAuB;AACvB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9D,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEjF,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,yBAAyB;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,uBAAuB;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -48,21 +48,6 @@ export declare function debounce(ms: number): (method: Function, context: ClassM
48
48
  * ```
49
49
  */
50
50
  export declare function throttle(ms: number): (method: Function, context: ClassMethodDecoratorContext) => (this: any, ...args: unknown[]) => void;
51
- /**
52
- * Centralized rAF loop via RenderLoop. Method receives (deltaTime, timestamp).
53
- * Use layer to control execution order (lower = earlier).
54
- *
55
- * ```ts
56
- * @animationFrame(10) // layer 10
57
- * draw(dt: number, t: number) { ... }
58
- *
59
- * @animationFrame() // default layer 0
60
- * physics(dt: number) { ... }
61
- *
62
- * @animationFrame // also valid
63
- * render(dt: number) { ... }
64
- * ```
65
- */
66
51
  export declare function animationFrame(layer?: number): (method: Function, context: ClassMethodDecoratorContext) => void;
67
52
  export declare function animationFrame(method: Function, context: ClassMethodDecoratorContext): void;
68
53
  //# sourceMappingURL=timing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/element/timing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,kFAKnB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,kFAKlB,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IACzB,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,YAIjC,GAAG,WAAW,OAAO,EAAE,UAerD;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IACzB,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,YAKjC,GAAG,WAAW,OAAO,EAAE,UAyBrD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AACjH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/element/timing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,kFAKnB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,kFAKlB,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IACzB,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,YAIjC,GAAG,WAAW,OAAO,EAAE,UAerD;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IACzB,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,YAKjC,GAAG,WAAW,OAAO,EAAE,UAyBrD;AAuBD,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AACjH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC"}
@@ -108,24 +108,34 @@ export function throttle(ms) {
108
108
  return replacement;
109
109
  };
110
110
  }
111
+ /**
112
+ * Centralized rAF loop via RenderLoop. Method receives (deltaTime, timestamp).
113
+ * Use layer to control execution order (lower = earlier).
114
+ *
115
+ * ```ts
116
+ * @animationFrame(10) // layer 10
117
+ * draw(dt: number, t: number) { ... }
118
+ *
119
+ * @animationFrame() // default layer 0
120
+ * physics(dt: number) { ... }
121
+ *
122
+ * @animationFrame // also valid
123
+ * render(dt: number) { ... }
124
+ * ```
125
+ */
126
+ const _af = createDecorator((method, _key, layer) => {
127
+ return (el) => {
128
+ return renderLoop.add(layer, (dt, t) => method.call(el, dt, t));
129
+ };
130
+ });
111
131
  export function animationFrame(methodOrLayer, context) {
112
132
  // Called as @animationFrame (no parens) — method is first arg
113
133
  if (typeof methodOrLayer === "function" && context) {
114
- wireAnimationFrame(methodOrLayer, context, 0);
134
+ _af(0)(methodOrLayer, context);
115
135
  return;
116
136
  }
117
137
  // Called as @animationFrame() or @animationFrame(layer)
118
138
  const layer = typeof methodOrLayer === "number" ? methodOrLayer : 0;
119
- return (method, ctx) => wireAnimationFrame(method, ctx, layer);
120
- }
121
- /** Internal: wire rAF lifecycle via addInitializer */
122
- function wireAnimationFrame(method, context, layer) {
123
- context.addInitializer(function () {
124
- if (!this[CONNECT_HOOKS])
125
- this[CONNECT_HOOKS] = [];
126
- this[CONNECT_HOOKS].push((el) => {
127
- return renderLoop.add(layer, (dt, t) => method.call(el, dt, t));
128
- });
129
- });
139
+ return _af(layer);
130
140
  }
131
141
  //# sourceMappingURL=timing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/element/timing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/element/timing.ts"],"names":[],"mappings":"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"}
@@ -1,55 +1,56 @@
1
1
  /**
2
2
  * Loom — Virtual List Element
3
3
  *
4
- * Dynamic-height virtual list as a LoomElement web component.
5
- * Renders only visible items from a large dataset, measuring
6
- * actual heights after paint and caching them.
4
+ * Dynamic-height virtual list as a proper LoomElement.
5
+ * Renders only visible items, measures actual heights after paint.
7
6
  *
8
- * Height strategy: the host sets its own inline height to match
9
- * total content. The consumer's min-height / max-height clamp it.
10
- * The viewport uses height:100% + overflow-y:auto, which resolves
11
- * correctly because the host has a definite (inline) height.
7
+ * Uses the children-as-template pattern:
12
8
  *
13
- * Usage:
14
- * const vl = document.createElement("loom-virtual") as LoomVirtual<Msg>;
15
- * vl.estimatedHeight = 44;
16
- * vl.renderItem = (msg, i) => <div class="msg">{msg.text}</div>;
17
- * vl.setItems(messages);
18
- * parent.appendChild(vl);
9
+ * <loom-virtual items={messages} estimatedHeight={44}>
10
+ * {(msg: Msg) => <div class="msg">{msg.text}</div>}
11
+ * </loom-virtual>
12
+ *
13
+ * The function child is stored as __childTemplate by the JSX runtime
14
+ * and used to render each visible item on demand.
15
+ *
16
+ * Rendering strategy:
17
+ * - The skeleton (viewport > spacer > window) is built once via update()
18
+ * - shouldUpdate() blocks all subsequent morphs — the skeleton is stable
19
+ * - @animationFrame ticks every frame via Loom's centralized RenderLoop
20
+ * - A `dirty` flag gates rendering: scroll events and item changes set it,
21
+ * the @animationFrame tick checks it and calls renderWindow()
22
+ * - Post-paint measurement uses a single nested rAF inside renderWindow()
19
23
  */
20
24
  import { LoomElement } from "./element";
21
- export interface VirtualListOptions<T> {
22
- estimatedHeight?: number;
23
- overscan?: number;
24
- renderItem: (item: T, index: number) => Node;
25
- }
26
25
  export declare class LoomVirtual<T = any> extends LoomElement {
26
+ /** Items to virtualize */
27
+ accessor items: T[];
27
28
  /** Estimated height per item in px (before measurement) */
28
- estimatedHeight: number;
29
+ accessor estimatedHeight: number;
29
30
  /** Extra items above/below visible window */
30
- overscan: number;
31
- /** Render callback must be set before use */
32
- renderItem: ((item: T, index: number) => Node) | null;
31
+ accessor overscan: number;
32
+ /** When true, auto-scrolls to bottom on new items (chat mode) */
33
+ accessor pinToBottom: boolean;
33
34
  /** Called when user scrolls near the bottom — use for pagination / infinite scroll */
34
35
  onNearEnd: (() => void) | null;
35
- private items;
36
+ accessor viewport: HTMLDivElement;
37
+ accessor spacer: HTMLDivElement;
38
+ accessor window: HTMLDivElement;
36
39
  private heightCache;
37
40
  private offsets;
38
41
  private rangeStart;
39
42
  private rangeEnd;
40
- private rafId;
41
- private scrolling;
42
- /** When true, automatically scrolls to bottom when new items are added (useful for chat) */
43
- pinToBottom: boolean;
44
- /** When true, host element auto-sizes height to content (clamped by external min/max-height). Set false for fixed-size containers. */
45
- autoHeight: boolean;
46
- private viewport;
47
- private spacer;
48
- private window;
49
- constructor();
50
- connectedCallback(): void;
51
- /** Replace the full item list and re-render */
52
- setItems(items: T[]): void;
43
+ private dirty;
44
+ /** Template function from children: {(item, i) => <div>...</div>} */
45
+ private get template();
46
+ update(): Node;
47
+ firstUpdated(): void;
48
+ updated(changed: Map<string, any>): void;
49
+ /**
50
+ * Override shouldUpdate: we handle item rendering manually via renderWindow.
51
+ * Only allow full morph on the very first render (when DOM doesn't exist yet).
52
+ */
53
+ shouldUpdate(): boolean;
53
54
  /** Append items (auto-scrolls if pinned to bottom) */
54
55
  push(...newItems: T[]): void;
55
56
  /** Scroll to the very bottom */
@@ -57,13 +58,17 @@ export declare class LoomVirtual<T = any> extends LoomElement {
57
58
  /** Re-measure all visible items */
58
59
  refresh(): void;
59
60
  get length(): number;
61
+ /** Invalidate range and schedule a render via @animationFrame */
62
+ private invalidate;
60
63
  private isAtBottom;
61
- private onScroll;
62
- private scheduleRender;
63
- private rebuildOffsets;
64
+ /** Scroll handler — just marks dirty, @animationFrame does the work */
65
+ onScroll: () => void;
66
+ /** Centralized rAF tick via Loom's RenderLoop — only renders when dirty */
67
+ private tick;
68
+ rebuildOffsets(): void;
64
69
  /** Binary search for first item whose bottom edge >= scrollTop */
65
- private findStart;
66
- private renderWindow;
70
+ findStart(scrollTop: number): number;
71
+ renderWindow(): void;
67
72
  private measureVisible;
68
73
  }
69
74
  //# sourceMappingURL=virtual.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual.d.ts","sourceRoot":"","sources":["../../src/element/virtual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAyBxC,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,qBACa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW;IACnD,2DAA2D;IAC3D,eAAe,SAAM;IACrB,6CAA6C;IAC7C,QAAQ,SAAK;IACb,+CAA+C;IAC/C,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC7D,sFAAsF;IACtF,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEtC,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAAS;IAC1B,4FAA4F;IAC5F,WAAW,UAAQ;IACnB,sIAAsI;IACtI,UAAU,UAAQ;IAElB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAkB;;IAMhC,iBAAiB,IAAI,IAAI;IA2BzB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI;IAa1B,sDAAsD;IACtD,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI;IAS5B,gCAAgC;IAChC,WAAW,IAAI,IAAI;IAKnB,mCAAmC;IACnC,OAAO,IAAI,IAAI;IAMf,IAAI,MAAM,IAAI,MAAM,CAEnB;IAID,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,QAAQ,CAgBd;IAEF,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,cAAc;IAetB,kEAAkE;IAClE,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,YAAY;IAgDpB,OAAO,CAAC,cAAc;CAcvB"}
1
+ {"version":3,"file":"virtual.d.ts","sourceRoot":"","sources":["../../src/element/virtual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA2BxC,qBAEa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW;IAInD,0BAA0B;IACpB,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAM;IAE/B,2DAA2D;IACrD,QAAQ,CAAC,eAAe,SAAM;IAEpC,6CAA6C;IACvC,QAAQ,CAAC,QAAQ,SAAK;IAE5B,iEAAiE;IAC3D,QAAQ,CAAC,WAAW,UAAQ;IAElC,sFAAsF;IACtF,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAQ;IAKtC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAC;IAGnC,QAAQ,CAAC,MAAM,EAAG,cAAc,CAAC;IAGjC,QAAQ,CAAC,MAAM,EAAG,cAAc,CAAC;IAIjC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,KAAK,CAAS;IAEtB,qEAAqE;IACrE,OAAO,KAAK,QAAQ,GAEnB;IAID,MAAM,IAAI,IAAI;IAgBd,YAAY,IAAI,IAAI;IAQpB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAMjC;;;OAGG;IACH,YAAY,IAAI,OAAO;IAWvB,sDAAsD;IACtD,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI;IAK5B,gCAAgC;IAChC,WAAW,IAAI,IAAI;IAKnB,mCAAmC;IACnC,OAAO,IAAI,IAAI;IAKf,IAAI,MAAM,IAAI,MAAM,CAEnB;IAID,iEAAiE;IACjE,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,UAAU;IAMlB,uEAAuE;IACvE,QAAQ,aAEN;IAEF,2EAA2E;IAE3E,OAAO,CAAC,IAAI;IAcZ,cAAc;IAUd,kEAAkE;IAClE,SAAS,CAAC,SAAS,EAAE,MAAM;IAU3B,YAAY;IAoDZ,OAAO,CAAC,cAAc;CAcvB"}
@@ -1,22 +1,33 @@
1
1
  /**
2
2
  * Loom — Virtual List Element
3
3
  *
4
- * Dynamic-height virtual list as a LoomElement web component.
5
- * Renders only visible items from a large dataset, measuring
6
- * actual heights after paint and caching them.
4
+ * Dynamic-height virtual list as a proper LoomElement.
5
+ * Renders only visible items, measures actual heights after paint.
7
6
  *
8
- * Height strategy: the host sets its own inline height to match
9
- * total content. The consumer's min-height / max-height clamp it.
10
- * The viewport uses height:100% + overflow-y:auto, which resolves
11
- * correctly because the host has a definite (inline) height.
7
+ * Uses the children-as-template pattern:
12
8
  *
13
- * Usage:
14
- * const vl = document.createElement("loom-virtual") as LoomVirtual<Msg>;
15
- * vl.estimatedHeight = 44;
16
- * vl.renderItem = (msg, i) => <div class="msg">{msg.text}</div>;
17
- * vl.setItems(messages);
18
- * parent.appendChild(vl);
9
+ * <loom-virtual items={messages} estimatedHeight={44}>
10
+ * {(msg: Msg) => <div class="msg">{msg.text}</div>}
11
+ * </loom-virtual>
12
+ *
13
+ * The function child is stored as __childTemplate by the JSX runtime
14
+ * and used to render each visible item on demand.
15
+ *
16
+ * Rendering strategy:
17
+ * - The skeleton (viewport > spacer > window) is built once via update()
18
+ * - shouldUpdate() blocks all subsequent morphs — the skeleton is stable
19
+ * - @animationFrame ticks every frame via Loom's centralized RenderLoop
20
+ * - A `dirty` flag gates rendering: scroll events and item changes set it,
21
+ * the @animationFrame tick checks it and calls renderWindow()
22
+ * - Post-paint measurement uses a single nested rAF inside renderWindow()
19
23
  */
24
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
25
+ var useValue = arguments.length > 2;
26
+ for (var i = 0; i < initializers.length; i++) {
27
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
28
+ }
29
+ return useValue ? value : void 0;
30
+ };
20
31
  var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
21
32
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
22
33
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
@@ -44,17 +55,12 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
44
55
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
45
56
  done = true;
46
57
  };
47
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
48
- var useValue = arguments.length > 2;
49
- for (var i = 0; i < initializers.length; i++) {
50
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
51
- }
52
- return useValue ? value : void 0;
53
- };
54
58
  import { LoomElement } from "./element";
55
- import { component } from "./decorators";
59
+ import { component, query, styles } from "./decorators";
60
+ import { prop } from "../store/decorators";
56
61
  import { css } from "../css";
57
- const styles = css `
62
+ import { animationFrame } from "./timing";
63
+ const listStyles = css `
58
64
  :host {
59
65
  display: block;
60
66
  }
@@ -75,85 +81,139 @@ const styles = css `
75
81
  }
76
82
  `;
77
83
  let LoomVirtual = (() => {
78
- let _classDecorators = [component("loom-virtual")];
84
+ let _classDecorators = [component("loom-virtual"), styles(listStyles)];
79
85
  let _classDescriptor;
80
86
  let _classExtraInitializers = [];
81
87
  let _classThis;
82
88
  let _classSuper = LoomElement;
89
+ let _instanceExtraInitializers = [];
90
+ let _items_decorators;
91
+ let _items_initializers = [];
92
+ let _items_extraInitializers = [];
93
+ let _estimatedHeight_decorators;
94
+ let _estimatedHeight_initializers = [];
95
+ let _estimatedHeight_extraInitializers = [];
96
+ let _overscan_decorators;
97
+ let _overscan_initializers = [];
98
+ let _overscan_extraInitializers = [];
99
+ let _pinToBottom_decorators;
100
+ let _pinToBottom_initializers = [];
101
+ let _pinToBottom_extraInitializers = [];
102
+ let _viewport_decorators;
103
+ let _viewport_initializers = [];
104
+ let _viewport_extraInitializers = [];
105
+ let _spacer_decorators;
106
+ let _spacer_initializers = [];
107
+ let _spacer_extraInitializers = [];
108
+ let _window_decorators;
109
+ let _window_initializers = [];
110
+ let _window_extraInitializers = [];
111
+ let _tick_decorators;
83
112
  var LoomVirtual = class extends _classSuper {
84
113
  static { _classThis = this; }
85
114
  static {
86
115
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
116
+ _items_decorators = [prop];
117
+ _estimatedHeight_decorators = [prop];
118
+ _overscan_decorators = [prop];
119
+ _pinToBottom_decorators = [prop];
120
+ _viewport_decorators = [query(".vl-viewport")];
121
+ _spacer_decorators = [query(".vl-spacer")];
122
+ _window_decorators = [query(".vl-window")];
123
+ _tick_decorators = [animationFrame];
124
+ __esDecorate(this, null, _items_decorators, { kind: "accessor", name: "items", static: false, private: false, access: { has: obj => "items" in obj, get: obj => obj.items, set: (obj, value) => { obj.items = value; } }, metadata: _metadata }, _items_initializers, _items_extraInitializers);
125
+ __esDecorate(this, null, _estimatedHeight_decorators, { kind: "accessor", name: "estimatedHeight", static: false, private: false, access: { has: obj => "estimatedHeight" in obj, get: obj => obj.estimatedHeight, set: (obj, value) => { obj.estimatedHeight = value; } }, metadata: _metadata }, _estimatedHeight_initializers, _estimatedHeight_extraInitializers);
126
+ __esDecorate(this, null, _overscan_decorators, { kind: "accessor", name: "overscan", static: false, private: false, access: { has: obj => "overscan" in obj, get: obj => obj.overscan, set: (obj, value) => { obj.overscan = value; } }, metadata: _metadata }, _overscan_initializers, _overscan_extraInitializers);
127
+ __esDecorate(this, null, _pinToBottom_decorators, { kind: "accessor", name: "pinToBottom", static: false, private: false, access: { has: obj => "pinToBottom" in obj, get: obj => obj.pinToBottom, set: (obj, value) => { obj.pinToBottom = value; } }, metadata: _metadata }, _pinToBottom_initializers, _pinToBottom_extraInitializers);
128
+ __esDecorate(this, null, _viewport_decorators, { kind: "accessor", name: "viewport", static: false, private: false, access: { has: obj => "viewport" in obj, get: obj => obj.viewport, set: (obj, value) => { obj.viewport = value; } }, metadata: _metadata }, _viewport_initializers, _viewport_extraInitializers);
129
+ __esDecorate(this, null, _spacer_decorators, { kind: "accessor", name: "spacer", static: false, private: false, access: { has: obj => "spacer" in obj, get: obj => obj.spacer, set: (obj, value) => { obj.spacer = value; } }, metadata: _metadata }, _spacer_initializers, _spacer_extraInitializers);
130
+ __esDecorate(this, null, _window_decorators, { kind: "accessor", name: "window", static: false, private: false, access: { has: obj => "window" in obj, get: obj => obj.window, set: (obj, value) => { obj.window = value; } }, metadata: _metadata }, _window_initializers, _window_extraInitializers);
131
+ __esDecorate(this, null, _tick_decorators, { kind: "method", name: "tick", static: false, private: false, access: { has: obj => "tick" in obj, get: obj => obj.tick }, metadata: _metadata }, null, _instanceExtraInitializers);
87
132
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
88
133
  LoomVirtual = _classThis = _classDescriptor.value;
89
134
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
90
135
  __runInitializers(_classThis, _classExtraInitializers);
91
136
  }
137
+ #items_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _items_initializers, []));
138
+ // ── Public props (settable from JSX) ──
139
+ /** Items to virtualize */
140
+ get items() { return this.#items_accessor_storage; }
141
+ set items(value) { this.#items_accessor_storage = value; }
142
+ #estimatedHeight_accessor_storage = (__runInitializers(this, _items_extraInitializers), __runInitializers(this, _estimatedHeight_initializers, 40));
92
143
  /** Estimated height per item in px (before measurement) */
93
- estimatedHeight = 40;
144
+ get estimatedHeight() { return this.#estimatedHeight_accessor_storage; }
145
+ set estimatedHeight(value) { this.#estimatedHeight_accessor_storage = value; }
146
+ #overscan_accessor_storage = (__runInitializers(this, _estimatedHeight_extraInitializers), __runInitializers(this, _overscan_initializers, 3));
94
147
  /** Extra items above/below visible window */
95
- overscan = 3;
96
- /** Render callback must be set before use */
97
- renderItem = null;
148
+ get overscan() { return this.#overscan_accessor_storage; }
149
+ set overscan(value) { this.#overscan_accessor_storage = value; }
150
+ #pinToBottom_accessor_storage = (__runInitializers(this, _overscan_extraInitializers), __runInitializers(this, _pinToBottom_initializers, true));
151
+ /** When true, auto-scrolls to bottom on new items (chat mode) */
152
+ get pinToBottom() { return this.#pinToBottom_accessor_storage; }
153
+ set pinToBottom(value) { this.#pinToBottom_accessor_storage = value; }
98
154
  /** Called when user scrolls near the bottom — use for pagination / infinite scroll */
99
- onNearEnd = null;
100
- items = [];
101
- heightCache = new Map();
155
+ onNearEnd = (__runInitializers(this, _pinToBottom_extraInitializers), null);
156
+ #viewport_accessor_storage = __runInitializers(this, _viewport_initializers, void 0);
157
+ // ── DOM refs via @query ──
158
+ get viewport() { return this.#viewport_accessor_storage; }
159
+ set viewport(value) { this.#viewport_accessor_storage = value; }
160
+ #spacer_accessor_storage = (__runInitializers(this, _viewport_extraInitializers), __runInitializers(this, _spacer_initializers, void 0));
161
+ get spacer() { return this.#spacer_accessor_storage; }
162
+ set spacer(value) { this.#spacer_accessor_storage = value; }
163
+ #window_accessor_storage = (__runInitializers(this, _spacer_extraInitializers), __runInitializers(this, _window_initializers, void 0));
164
+ get window() { return this.#window_accessor_storage; }
165
+ set window(value) { this.#window_accessor_storage = value; }
166
+ // ── Internal state ──
167
+ heightCache = (__runInitializers(this, _window_extraInitializers), new Map());
102
168
  offsets = [0];
103
- rangeStart = 0;
104
- rangeEnd = 0;
105
- rafId = 0;
106
- scrolling = false;
107
- /** When true, automatically scrolls to bottom when new items are added (useful for chat) */
108
- pinToBottom = true;
109
- /** When true, host element auto-sizes height to content (clamped by external min/max-height). Set false for fixed-size containers. */
110
- autoHeight = true;
111
- viewport;
112
- spacer;
113
- window;
114
- constructor() {
115
- super();
169
+ rangeStart = -1;
170
+ rangeEnd = -1;
171
+ dirty = false;
172
+ /** Template function from children: {(item, i) => <div>...</div>} */
173
+ get template() {
174
+ return this.__childTemplate ?? null;
175
+ }
176
+ // ── Lifecycle ──
177
+ update() {
178
+ const viewport = document.createElement("div");
179
+ viewport.className = "vl-viewport";
180
+ const spacer = document.createElement("div");
181
+ spacer.className = "vl-spacer";
182
+ const window = document.createElement("div");
183
+ window.className = "vl-window";
184
+ window.setAttribute("loom-keep", "");
185
+ spacer.appendChild(window);
186
+ viewport.appendChild(spacer);
187
+ return viewport;
116
188
  }
117
- connectedCallback() {
118
- super.connectedCallback();
119
- this.shadow.adoptedStyleSheets = [styles];
120
- // Build skeleton in shadow DOM
121
- this.viewport = document.createElement("div");
122
- this.viewport.className = "vl-viewport";
123
- this.spacer = document.createElement("div");
124
- this.spacer.className = "vl-spacer";
125
- this.window = document.createElement("div");
126
- this.window.className = "vl-window";
127
- this.spacer.appendChild(this.window);
128
- this.viewport.appendChild(this.spacer);
129
- this.shadow.appendChild(this.viewport);
189
+ firstUpdated() {
130
190
  this.viewport.addEventListener("scroll", this.onScroll, { passive: true });
131
191
  this.track(() => this.viewport.removeEventListener("scroll", this.onScroll));
132
- this.track(() => cancelAnimationFrame(this.rafId));
192
+ // Kick off initial render
193
+ this.invalidate();
133
194
  }
134
- // ── Public API ──
135
- /** Replace the full item list and re-render */
136
- setItems(items) {
137
- // Only auto-detect pin if already pinned — don't override consumer's explicit false
138
- if (this.pinToBottom) {
139
- this.pinToBottom = this.isAtBottom();
195
+ updated(changed) {
196
+ if (changed.has("items")) {
197
+ this.invalidate();
140
198
  }
141
- this.items = items;
142
- // Invalidate range so renderWindow always re-renders with new data
143
- this.rangeStart = -1;
144
- this.rangeEnd = -1;
145
- this.rebuildOffsets();
146
- this.scheduleRender();
147
199
  }
200
+ /**
201
+ * Override shouldUpdate: we handle item rendering manually via renderWindow.
202
+ * Only allow full morph on the very first render (when DOM doesn't exist yet).
203
+ */
204
+ shouldUpdate() {
205
+ // Let the first update() through to build the skeleton
206
+ if (!this.window)
207
+ return true;
208
+ // After skeleton exists, mark dirty so @animationFrame picks it up
209
+ this.invalidate();
210
+ return false;
211
+ }
212
+ // ── Public API (imperative escape hatches) ──
148
213
  /** Append items (auto-scrolls if pinned to bottom) */
149
214
  push(...newItems) {
150
215
  this.pinToBottom = this.isAtBottom();
151
- for (const item of newItems)
152
- this.items.push(item);
153
- this.rangeStart = -1;
154
- this.rangeEnd = -1;
155
- this.rebuildOffsets();
156
- this.scheduleRender();
216
+ this.items = [...this.items, ...newItems];
157
217
  }
158
218
  /** Scroll to the very bottom */
159
219
  scrollToEnd() {
@@ -165,37 +225,49 @@ let LoomVirtual = (() => {
165
225
  refresh() {
166
226
  this.measureVisible();
167
227
  this.rebuildOffsets();
168
- this.scheduleRender();
169
228
  }
170
229
  get length() {
171
230
  return this.items.length;
172
231
  }
173
232
  // ── Internals ──
233
+ /** Invalidate range and schedule a render via @animationFrame */
234
+ invalidate() {
235
+ this.heightCache.clear();
236
+ this.rangeStart = -1;
237
+ this.rangeEnd = -1;
238
+ this.rebuildOffsets();
239
+ // Clamp scroll position to new content bounds
240
+ if (this.viewport) {
241
+ const maxScroll = this.viewport.scrollHeight - this.viewport.clientHeight;
242
+ if (this.viewport.scrollTop > maxScroll) {
243
+ this.viewport.scrollTop = Math.max(0, maxScroll);
244
+ }
245
+ }
246
+ this.dirty = true;
247
+ }
174
248
  isAtBottom() {
175
249
  if (!this.viewport)
176
250
  return true;
177
251
  const { scrollTop, scrollHeight, clientHeight } = this.viewport;
178
252
  return scrollHeight - scrollTop - clientHeight < 30;
179
253
  }
254
+ /** Scroll handler — just marks dirty, @animationFrame does the work */
180
255
  onScroll = () => {
181
- if (!this.scrolling) {
182
- this.scrolling = true;
183
- this.rafId = requestAnimationFrame(() => {
184
- this.scrolling = false;
185
- this.renderWindow();
186
- // Fire near-end callback for infinite scroll
187
- if (this.onNearEnd && this.viewport) {
188
- const { scrollTop, scrollHeight, clientHeight } = this.viewport;
189
- if (scrollHeight - scrollTop - clientHeight < 100) {
190
- this.onNearEnd();
191
- }
192
- }
193
- });
194
- }
256
+ this.dirty = true;
195
257
  };
196
- scheduleRender() {
197
- cancelAnimationFrame(this.rafId);
198
- this.rafId = requestAnimationFrame(() => this.renderWindow());
258
+ /** Centralized rAF tick via Loom's RenderLoop — only renders when dirty */
259
+ tick() {
260
+ if (!this.dirty)
261
+ return;
262
+ this.dirty = false;
263
+ this.renderWindow();
264
+ // Fire near-end callback for infinite scroll
265
+ if (this.onNearEnd && this.viewport) {
266
+ const { scrollTop, scrollHeight, clientHeight } = this.viewport;
267
+ if (scrollHeight - scrollTop - clientHeight < 100) {
268
+ this.onNearEnd();
269
+ }
270
+ }
199
271
  }
200
272
  rebuildOffsets() {
201
273
  const n = this.items.length;
@@ -206,10 +278,6 @@ let LoomVirtual = (() => {
206
278
  }
207
279
  if (this.spacer)
208
280
  this.spacer.style.height = `${this.offsets[n]}px`;
209
- // Set host height to total content — external min/max-height will clamp
210
- if (this.autoHeight) {
211
- this.style.height = `${this.offsets[n]}px`;
212
- }
213
281
  }
214
282
  /** Binary search for first item whose bottom edge >= scrollTop */
215
283
  findStart(scrollTop) {
@@ -224,7 +292,8 @@ let LoomVirtual = (() => {
224
292
  return lo;
225
293
  }
226
294
  renderWindow() {
227
- if (!this.renderItem || !this.viewport || !this.window)
295
+ const renderFn = this.template;
296
+ if (!renderFn || !this.viewport || !this.window)
228
297
  return;
229
298
  const n = this.items.length;
230
299
  if (n === 0) {
@@ -237,7 +306,7 @@ let LoomVirtual = (() => {
237
306
  // If viewport hasn't laid out yet, render a reasonable chunk and retry next frame
238
307
  if (viewH === 0) {
239
308
  viewH = this.estimatedHeight * 20;
240
- requestAnimationFrame(() => this.scheduleRender());
309
+ this.dirty = true; // retry next frame
241
310
  }
242
311
  let start = this.findStart(scrollTop);
243
312
  let end = start;
@@ -252,11 +321,11 @@ let LoomVirtual = (() => {
252
321
  this.window.style.transform = `translateY(${this.offsets[start]}px)`;
253
322
  const frag = document.createDocumentFragment();
254
323
  for (let i = start; i < end; i++) {
255
- frag.appendChild(this.renderItem(this.items[i], i));
324
+ frag.appendChild(renderFn(this.items[i], i));
256
325
  }
257
326
  this.window.textContent = "";
258
327
  this.window.appendChild(frag);
259
- // Measure after paint
328
+ // Measure after paint (needs one more frame for browser to layout)
260
329
  requestAnimationFrame(() => {
261
330
  this.measureVisible();
262
331
  if (this.pinToBottom && this.viewport) {
@@ -1 +1 @@
1
- {"version":3,"file":"virtual.js","sourceRoot":"","sources":["../../src/element/virtual.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virtual.js","sourceRoot":"","sources":["../../src/element/virtual.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ export { service, inject, factory } from "./di";
21
21
  /** @deprecated Use `@watch(Service)` or `@watch(Service, "prop")` instead. Will be removed in v1.0. */
22
22
  export { watch as watchService } from "./di";
23
23
  export { LoomElement, component, query, queryAll, styles, catch_, suspend, mount, unmount, interval, timeout, debounce, throttle, animationFrame, form, lazy, slot, transition, } from "./element";
24
- export type { VirtualListOptions, FormState, FormSchema, FieldSchema, LazyOptions, TransitionOptions } from "./element";
24
+ export type { FormState, FormSchema, FieldSchema, LazyOptions, TransitionOptions } from "./element";
25
25
  export { transform, createTransform, typed, typedTransformer, toNumber, toBoolean, toDate, toJSON, toTrimmed, toInt, toFloat, } from "./transform";
26
26
  export type { TransformSchema } from "./transform";
27
27
  export { on, emit, createDecorator } from "./decorators";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,EACL,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EACvE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC5C,KAAK,EACL,KAAK,GACN,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,UAAU,EAAE,OAAO,EAAE,YAAY,EACjC,cAAc,EAAE,aAAa,EAAE,cAAc,GAC9C,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAG7C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAClC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAC7B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGxH,OAAO,EACL,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAC/D,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG5F,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,EACL,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EACvE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC5C,KAAK,EACL,KAAK,GACN,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,UAAU,EAAE,OAAO,EAAE,YAAY,EACjC,cAAc,EAAE,aAAa,EAAE,cAAc,GAC9C,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAG7C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAClC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAC7B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGpG,OAAO,EACL,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAC/D,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG5F,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Zero vDOM. JSX compiles directly to DOM elements.
5
5
  * Configure via tsconfig: "jsxImportSource": "loom"
6
6
  */
7
- import { LOOM_EVENTS } from "./morph";
7
+ import { LOOM_EVENTS, LOOM_PROPS } from "./morph";
8
8
  import { startSubTrace, endSubTrace, addBinding } from "./trace";
9
9
  const SVG_NS = "http://www.w3.org/2000/svg";
10
10
  const SVG_TAGS = new Set([
@@ -93,6 +93,13 @@ export function jsx(tag, props) {
93
93
  else if (typeof val === "object" || typeof val === "function") {
94
94
  // Non-primitive values (arrays, objects) — set as JS property
95
95
  el[key] = val;
96
+ // Track for morph diffing (so morph copies them to the existing element)
97
+ let tracked = el[LOOM_PROPS];
98
+ if (!tracked) {
99
+ tracked = new Map();
100
+ el[LOOM_PROPS] = tracked;
101
+ }
102
+ tracked.set(key, val);
96
103
  }
97
104
  else {
98
105
  // Check for closure binding: class={() => this.theme}
@@ -138,6 +145,14 @@ function appendChildren(parent, children) {
138
145
  parent.appendChild(children);
139
146
  }
140
147
  else if (typeof children === "function") {
148
+ // Template function for custom elements: {(item) => <div>...</div>}
149
+ // Distinguished from text closures by having declared parameters (fn.length > 0)
150
+ if (parent.nodeType === 1 &&
151
+ parent.tagName?.includes('-') &&
152
+ children.length > 0) {
153
+ parent.__childTemplate = children;
154
+ return;
155
+ }
141
156
  // Phase 2: Closure binding for text — {() => this.count}
142
157
  const textNode = document.createTextNode("");
143
158
  parent.appendChild(textNode);
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
package/dist/morph.d.ts CHANGED
@@ -13,8 +13,12 @@
13
13
  */
14
14
  /** Expando key for tracked event listeners */
15
15
  export declare const LOOM_EVENTS = "__loomEvents";
16
+ /** Expando key for tracked JS properties (non-attribute, non-event) */
17
+ export declare const LOOM_PROPS = "__loomProps";
16
18
  /** Type for tracked events on an element */
17
19
  export type LoomEventMap = Map<string, EventListener>;
20
+ /** Type for tracked JS properties on an element */
21
+ export type LoomPropMap = Map<string, any>;
18
22
  /**
19
23
  * Morph the children of `root` (typically a ShadowRoot) to match `newTree`.
20
24
  * `newTree` can be a single Node or an array of Nodes (from Fragment).
@@ -1 +1 @@
1
- {"version":3,"file":"morph.d.ts","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,8CAA8C;AAC9C,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,4CAA4C;AAC5C,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAItD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAGlF"}
1
+ {"version":3,"file":"morph.d.ts","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,8CAA8C;AAC9C,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,uEAAuE;AACvE,eAAO,MAAM,UAAU,gBAAgB,CAAC;AAExC,4CAA4C;AAC5C,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEtD,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI3C;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAGlF"}
package/dist/morph.js CHANGED
@@ -13,6 +13,8 @@
13
13
  */
14
14
  /** Expando key for tracked event listeners */
15
15
  export const LOOM_EVENTS = "__loomEvents";
16
+ /** Expando key for tracked JS properties (non-attribute, non-event) */
17
+ export const LOOM_PROPS = "__loomProps";
16
18
  // ── Public API ──
17
19
  /**
18
20
  * Morph the children of `root` (typically a ShadowRoot) to match `newTree`.
@@ -110,6 +112,8 @@ function morphNode(old, next) {
110
112
  patchEvents(oldEl, nextEl);
111
113
  // Patch special DOM properties
112
114
  patchProperties(oldEl, nextEl);
115
+ // Patch JSX-set JS properties (items, estimatedHeight, etc.)
116
+ patchJSProps(oldEl, nextEl);
113
117
  // innerHTML / rawHTML — if the new element used rawHTML, just slam it
114
118
  // The JSX runtime sets a __loomRawHTML marker
115
119
  if (nextEl.__loomRawHTML) {
@@ -176,6 +180,27 @@ function patchProperties(old, next) {
176
180
  }
177
181
  }
178
182
  }
183
+ // ── JSX JS-property patching ──
184
+ function patchJSProps(old, next) {
185
+ const newProps = next[LOOM_PROPS];
186
+ const oldProps = old[LOOM_PROPS] ?? new Map();
187
+ // Remove old props not in new
188
+ for (const key of oldProps.keys()) {
189
+ if (!newProps?.has(key)) {
190
+ oldProps.delete(key);
191
+ }
192
+ }
193
+ // Set/update props from new
194
+ if (newProps) {
195
+ for (const [key, val] of newProps) {
196
+ if (old[key] !== val) {
197
+ old[key] = val;
198
+ }
199
+ oldProps.set(key, val);
200
+ }
201
+ old[LOOM_PROPS] = oldProps;
202
+ }
203
+ }
179
204
  // ── Helpers ──
180
205
  function getKey(node) {
181
206
  if (node.nodeType !== Node.ELEMENT_NODE)
package/dist/morph.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"morph.js","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"morph.js","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toyz/loom",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "type": "module",
5
5
  "description": "Decorator-driven web component framework with reactive state, DOM morphing, DI, and JSX",
6
6
  "license": "MIT",