@toyz/loom 0.15.11 → 0.16.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.
@@ -13,6 +13,7 @@ export { form } from "./form";
13
13
  export type { FormState, FormSchema, FieldSchema } from "./form";
14
14
  export { lazy } from "./lazy";
15
15
  export type { LazyOptions } from "./lazy";
16
+ export { LazyLoadStart, LazyLoadEnd } from "./lazy-events";
16
17
  export { slot } from "./slots";
17
18
  export { transition } from "./transition";
18
19
  export type { TransitionOptions } from "./transition";
@@ -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;AASxC,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,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG7G,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;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG3D,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,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;AASxC,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,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAG7G,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;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG3D,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -24,6 +24,7 @@ export { interval, timeout, debounce, throttle, animationFrame } from "./timing"
24
24
  export { form } from "./form";
25
25
  // Lazy loading decorator
26
26
  export { lazy } from "./lazy";
27
+ export { LazyLoadStart, LazyLoadEnd } from "./lazy-events";
27
28
  // Slot decorator
28
29
  export { slot } from "./slots";
29
30
  // Transition decorator
@@ -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;AAExC,kEAAkE;AAClE,gEAAgE;AAChE,0DAA0D;AAC1D,8DAA8D;AAC9D,4DAA4D;AAE5D,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,kBAAkB;AAClB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,qBAAqB;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AAE7G,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;AAG1C,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,4BAA4B;AAC5B,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/E,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGlE,mDAAmD;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,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;AAC1D,8DAA8D;AAC9D,4DAA4D;AAE5D,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,kBAAkB;AAClB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,qBAAqB;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AAE7G,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,yBAAyB;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,iBAAiB;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,uBAAuB;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,4BAA4B;AAC5B,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/E,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGlE,mDAAmD;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Loom — Lazy Loading Events
3
+ *
4
+ * Global events emitted when @lazy components load.
5
+ * Listen with @on(LazyLoadStart) or @on(LazyLoadEnd).
6
+ */
7
+ import { LoomEvent } from "../event";
8
+ /** Emitted when a @lazy component begins loading its module */
9
+ export declare class LazyLoadStart extends LoomEvent {
10
+ /** Custom element tag name, e.g. "settings-page" */
11
+ readonly tag: string;
12
+ constructor(
13
+ /** Custom element tag name, e.g. "settings-page" */
14
+ tag: string);
15
+ }
16
+ /** Emitted when a @lazy component finishes loading (success or failure) */
17
+ export declare class LazyLoadEnd extends LoomEvent {
18
+ /** Custom element tag name */
19
+ readonly tag: string;
20
+ /** Whether the module loaded successfully */
21
+ readonly success: boolean;
22
+ /** Milliseconds elapsed */
23
+ readonly duration: number;
24
+ /** Error object if success is false */
25
+ readonly error?: unknown | undefined;
26
+ constructor(
27
+ /** Custom element tag name */
28
+ tag: string,
29
+ /** Whether the module loaded successfully */
30
+ success: boolean,
31
+ /** Milliseconds elapsed */
32
+ duration: number,
33
+ /** Error object if success is false */
34
+ error?: unknown | undefined);
35
+ }
36
+ //# sourceMappingURL=lazy-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-events.d.ts","sourceRoot":"","sources":["../../src/element/lazy-events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,+DAA+D;AAC/D,qBAAa,aAAc,SAAQ,SAAS;IAExC,oDAAoD;aACpC,GAAG,EAAE,MAAM;;IAD3B,oDAAoD;IACpC,GAAG,EAAE,MAAM;CAI9B;AAED,2EAA2E;AAC3E,qBAAa,WAAY,SAAQ,SAAS;IAEtC,8BAA8B;aACd,GAAG,EAAE,MAAM;IAC3B,6CAA6C;aAC7B,OAAO,EAAE,OAAO;IAChC,2BAA2B;aACX,QAAQ,EAAE,MAAM;IAChC,uCAAuC;aACvB,KAAK,CAAC,EAAE,OAAO;;IAP/B,8BAA8B;IACd,GAAG,EAAE,MAAM;IAC3B,6CAA6C;IAC7B,OAAO,EAAE,OAAO;IAChC,2BAA2B;IACX,QAAQ,EAAE,MAAM;IAChC,uCAAuC;IACvB,KAAK,CAAC,EAAE,OAAO,YAAA;CAIlC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Loom — Lazy Loading Events
3
+ *
4
+ * Global events emitted when @lazy components load.
5
+ * Listen with @on(LazyLoadStart) or @on(LazyLoadEnd).
6
+ */
7
+ import { LoomEvent } from "../event";
8
+ /** Emitted when a @lazy component begins loading its module */
9
+ export class LazyLoadStart extends LoomEvent {
10
+ tag;
11
+ constructor(
12
+ /** Custom element tag name, e.g. "settings-page" */
13
+ tag) {
14
+ super();
15
+ this.tag = tag;
16
+ }
17
+ }
18
+ /** Emitted when a @lazy component finishes loading (success or failure) */
19
+ export class LazyLoadEnd extends LoomEvent {
20
+ tag;
21
+ success;
22
+ duration;
23
+ error;
24
+ constructor(
25
+ /** Custom element tag name */
26
+ tag,
27
+ /** Whether the module loaded successfully */
28
+ success,
29
+ /** Milliseconds elapsed */
30
+ duration,
31
+ /** Error object if success is false */
32
+ error) {
33
+ super();
34
+ this.tag = tag;
35
+ this.success = success;
36
+ this.duration = duration;
37
+ this.error = error;
38
+ }
39
+ }
40
+ //# sourceMappingURL=lazy-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-events.js","sourceRoot":"","sources":["../../src/element/lazy-events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,+DAA+D;AAC/D,MAAM,OAAO,aAAc,SAAQ,SAAS;IAGxB;IAFlB;IACE,oDAAoD;IACpC,GAAW;QAE3B,KAAK,EAAE,CAAC;QAFQ,QAAG,GAAH,GAAG,CAAQ;IAG7B,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,OAAO,WAAY,SAAQ,SAAS;IAGtB;IAEA;IAEA;IAEA;IARlB;IACE,8BAA8B;IACd,GAAW;IAC3B,6CAA6C;IAC7B,OAAgB;IAChC,2BAA2B;IACX,QAAgB;IAChC,uCAAuC;IACvB,KAAe;QAE/B,KAAK,EAAE,CAAC;QARQ,QAAG,GAAH,GAAG,CAAQ;QAEX,YAAO,GAAP,OAAO,CAAS;QAEhB,aAAQ,GAAR,QAAQ,CAAQ;QAEhB,UAAK,GAAL,KAAK,CAAU;IAGjC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,QAAA,MAAM,WAAW,kCAA8B,CAAC;AAChD,QAAA,MAAM,SAAS,sCAA2C,CAAC;AAC3D,QAAA,MAAM,WAAW,kCAAuC,CAAC;AACzD,QAAA,MAAM,SAAS,kCAA8B,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,EACrD,IAAI,CAAC,EAAE,WAAW,IAED,OAAO,QAAQ,EAAE,UAAU,qBAAqB,UA2MlE;AAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,QAAA,MAAM,WAAW,kCAA8B,CAAC;AAChD,QAAA,MAAM,SAAS,sCAA2C,CAAC;AAC3D,QAAA,MAAM,WAAW,kCAAuC,CAAC;AACzD,QAAA,MAAM,SAAS,kCAA8B,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,EACrD,IAAI,CAAC,EAAE,WAAW,IAED,OAAO,QAAQ,EAAE,UAAU,qBAAqB,UAiNlE;AAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
@@ -15,6 +15,8 @@
15
15
  * ```
16
16
  */
17
17
  import { ROUTE_PROPS, TRANSFORMS, ROUTE_ENTER, ROUTE_LEAVE, createSymbol } from "../decorators/symbols";
18
+ import { bus } from "../bus";
19
+ import { LazyLoadStart, LazyLoadEnd } from "./lazy-events";
18
20
  const LAZY_LOADER = createSymbol("lazy:loader");
19
21
  const LAZY_OPTS = createSymbol("lazy:opts");
20
22
  const LAZY_LOADED = createSymbol("lazy:loaded");
@@ -114,6 +116,9 @@ export function lazy(loader, opts) {
114
116
  : document.createElement(opts.loading);
115
117
  this.shadow.appendChild(loadingEl);
116
118
  }
119
+ const tag = ctor.__loom_tag ?? this.tagName.toLowerCase();
120
+ const t0 = performance.now();
121
+ bus.emit(new LazyLoadStart(tag));
117
122
  try {
118
123
  const mod = await loader();
119
124
  const RealClass = mod.default ?? mod;
@@ -205,9 +210,11 @@ export function lazy(loader, opts) {
205
210
  }
206
211
  };
207
212
  ctor.__mountLazyImpl.call(this);
213
+ bus.emit(new LazyLoadEnd(tag, true, performance.now() - t0));
208
214
  }
209
215
  catch (err) {
210
216
  console.error("[Loom @lazy] Failed to load module:", err);
217
+ bus.emit(new LazyLoadEnd(tag, false, performance.now() - t0, err));
211
218
  this.shadow.innerHTML = "";
212
219
  if (opts?.error) {
213
220
  const errorEl = typeof opts.error === "function"
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/element/lazy.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Loom — @observer decorator
3
3
  *
4
4
  * Auto-managed DOM observers with lifecycle cleanup.
5
- * Creates the observer on connect, observes `this`, disconnects on unmount.
5
+ * Creates the observer on connect, observes `this` (or a resolved target), disconnects on unmount.
6
6
  *
7
7
  * ```ts
8
8
  * @observer("resize")
@@ -20,9 +20,18 @@
20
20
  * onChildChange(record: MutationRecord) {
21
21
  * this.recount();
22
22
  * }
23
+ *
24
+ * // With target resolver — observe a different node
25
+ * @observer("mutation", { childList: true, subtree: true }, el => el.getRootNode())
26
+ * onParentChange(record: MutationRecord) {
27
+ * this.rescan();
28
+ * }
23
29
  * ```
24
30
  */
25
- export declare function observer(type: "resize", options?: ResizeObserverOptions): (method: Function, context: ClassMethodDecoratorContext) => void;
26
- export declare function observer(type: "intersection", options?: IntersectionObserverInit): (method: Function, context: ClassMethodDecoratorContext) => void;
27
- export declare function observer(type: "mutation", options: MutationObserverInit): (method: Function, context: ClassMethodDecoratorContext) => void;
31
+ /** Resolver that selects the observe target from the component instance. */
32
+ type TargetResolver = (el: HTMLElement) => Node | Element | null | undefined;
33
+ export declare function observer(type: "resize", options?: ResizeObserverOptions, target?: TargetResolver): (method: Function, context: ClassMethodDecoratorContext) => void;
34
+ export declare function observer(type: "intersection", options?: IntersectionObserverInit, target?: TargetResolver): (method: Function, context: ClassMethodDecoratorContext) => void;
35
+ export declare function observer(type: "mutation", options: MutationObserverInit, target?: TargetResolver): (method: Function, context: ClassMethodDecoratorContext) => void;
36
+ export {};
28
37
  //# sourceMappingURL=observers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../../src/element/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAEpE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,wBAAwB,GACjC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAEpE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,oBAAoB,GAC5B,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../../src/element/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,4EAA4E;AAC5E,KAAK,cAAc,GAAG,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAW7E,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,qBAAqB,EAC/B,MAAM,CAAC,EAAE,cAAc,GACtB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAEpE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,wBAAwB,EAClC,MAAM,CAAC,EAAE,cAAc,GACtB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAEpE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,cAAc,GACtB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Loom — @observer decorator
3
3
  *
4
4
  * Auto-managed DOM observers with lifecycle cleanup.
5
- * Creates the observer on connect, observes `this`, disconnects on unmount.
5
+ * Creates the observer on connect, observes `this` (or a resolved target), disconnects on unmount.
6
6
  *
7
7
  * ```ts
8
8
  * @observer("resize")
@@ -20,16 +20,25 @@
20
20
  * onChildChange(record: MutationRecord) {
21
21
  * this.recount();
22
22
  * }
23
+ *
24
+ * // With target resolver — observe a different node
25
+ * @observer("mutation", { childList: true, subtree: true }, el => el.getRootNode())
26
+ * onParentChange(record: MutationRecord) {
27
+ * this.rescan();
28
+ * }
23
29
  * ```
24
30
  */
25
31
  import { CONNECT_HOOKS } from "../decorators/symbols";
26
32
  // ── Implementation ──
27
- export function observer(type, options) {
33
+ export function observer(type, options, target) {
28
34
  return (method, context) => {
29
35
  context.addInitializer(function () {
30
36
  if (!this[CONNECT_HOOKS.key])
31
37
  this[CONNECT_HOOKS.key] = [];
32
38
  this[CONNECT_HOOKS.key].push((el) => {
39
+ const observeTarget = target ? target(el) : el;
40
+ if (!observeTarget)
41
+ return;
33
42
  const callback = (entries) => {
34
43
  for (const entry of entries) {
35
44
  method.call(el, entry);
@@ -39,19 +48,19 @@ export function observer(type, options) {
39
48
  switch (type) {
40
49
  case "resize": {
41
50
  const ro = new ResizeObserver(callback);
42
- ro.observe(el, options);
51
+ ro.observe(observeTarget, options);
43
52
  obs = ro;
44
53
  break;
45
54
  }
46
55
  case "intersection": {
47
56
  const io = new IntersectionObserver(callback, options);
48
- io.observe(el);
57
+ io.observe(observeTarget);
49
58
  obs = io;
50
59
  break;
51
60
  }
52
61
  case "mutation": {
53
62
  const mo = new MutationObserver(callback);
54
- mo.observe(el, options);
63
+ mo.observe(observeTarget, options);
55
64
  obs = mo;
56
65
  break;
57
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"observers.js","sourceRoot":"","sources":["../../src/element/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAmBtD,uBAAuB;AAEvB,MAAM,UAAU,QAAQ,CACtB,IAA4C,EAC5C,OAAa;IAEb,OAAO,CAAC,MAAgB,EAAE,OAAoC,EAAE,EAAE;QAChE,OAAO,CAAC,cAAc,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAE3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAe,EAAE,EAAE;gBAC/C,MAAM,QAAQ,GAAG,CAAC,OAAc,EAAE,EAAE;oBAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC,CAAC;gBAEF,IAAI,GAA2B,CAAC;gBAEhC,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACd,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;wBACxC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;wBACxB,GAAG,GAAG,EAAE,CAAC;wBACT,MAAM;oBACR,CAAC;oBACD,KAAK,cAAc,CAAC,CAAC,CAAC;wBACpB,MAAM,EAAE,GAAG,IAAI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACvD,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACf,GAAG,GAAG,EAAE,CAAC;wBACT,MAAM;oBACR,CAAC;oBACD,KAAK,UAAU,CAAC,CAAC,CAAC;wBAChB,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBAC1C,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;wBACxB,GAAG,GAAG,EAAE,CAAC;wBACT,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"observers.js","sourceRoot":"","sources":["../../src/element/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgCtD,uBAAuB;AAEvB,MAAM,UAAU,QAAQ,CACtB,IAAO,EACP,OAA+B,EAC/B,MAAuB;IAEvB,OAAO,CAAC,MAAgB,EAAE,OAAoC,EAAE,EAAE;QAChE,OAAO,CAAC,cAAc,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAE3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAe,EAAE,EAAE;gBAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,aAAa;oBAAE,OAAO;gBAE3B,MAAM,QAAQ,GAAG,CAAC,OAAc,EAAE,EAAE;oBAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC,CAAC;gBAEF,IAAI,GAA2B,CAAC;gBAEhC,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACd,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;wBACxC,EAAE,CAAC,OAAO,CAAC,aAAwB,EAAE,OAAgC,CAAC,CAAC;wBACvE,GAAG,GAAG,EAAE,CAAC;wBACT,MAAM;oBACR,CAAC;oBACD,KAAK,cAAc,CAAC,CAAC,CAAC;wBACpB,MAAM,EAAE,GAAG,IAAI,oBAAoB,CAAC,QAAQ,EAAE,OAAmC,CAAC,CAAC;wBACnF,EAAE,CAAC,OAAO,CAAC,aAAwB,CAAC,CAAC;wBACrC,GAAG,GAAG,EAAE,CAAC;wBACT,MAAM;oBACR,CAAC;oBACD,KAAK,UAAU,CAAC,CAAC,CAAC;wBAChB,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBAC1C,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,OAA+B,CAAC,CAAC;wBAC3D,GAAG,GAAG,EAAE,CAAC;wBACT,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ export { service, resolveServiceName, inject, factory } from "./di";
21
21
  export { SERVICE_NAME } from "./decorators/symbols";
22
22
  /** @deprecated Use `@watch(Service)` or `@watch(Service, "prop")` instead. Will be removed in v1.0. */
23
23
  export { watch as watchService } from "./di";
24
- export { LoomElement, component, query, queryAll, styles, catch_, suspend, mount, unmount, event, observer, interval, timeout, debounce, throttle, animationFrame, form, lazy, slot, transition, hotkey, log, LogTransport, ConsoleTransport, provide, consume, ContextRequestEvent, portal, } from "./element";
24
+ export { LoomElement, component, query, queryAll, styles, catch_, suspend, mount, unmount, event, observer, interval, timeout, debounce, throttle, animationFrame, form, lazy, slot, transition, hotkey, log, LogTransport, ConsoleTransport, provide, consume, ContextRequestEvent, portal, LazyLoadStart, LazyLoadEnd, } from "./element";
25
25
  export type { FormState, FormSchema, FieldSchema, LazyOptions, TransitionOptions, HotkeyOptions, HotkeyCombo, LogEntry, LogLevel, LogOptions, ContextCallback, PortalOptions } from "./element";
26
26
  export { transform, createTransform, typed, typedTransformer, toNumber, toBoolean, toDate, toJSON, toTrimmed, toInt, toFloat, } from "./transform";
27
27
  export type { TransformSchema } from "./transform";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -26,7 +26,7 @@ export { SERVICE_NAME } from "./decorators/symbols";
26
26
  /** @deprecated Use `@watch(Service)` or `@watch(Service, "prop")` instead. Will be removed in v1.0. */
27
27
  export { watch as watchService } from "./di";
28
28
  // Element: base class, element decorators
29
- export { LoomElement, component, query, queryAll, styles, catch_, suspend, mount, unmount, event, observer, interval, timeout, debounce, throttle, animationFrame, form, lazy, slot, transition, hotkey, log, LogTransport, ConsoleTransport, provide, consume, ContextRequestEvent, portal, } from "./element";
29
+ export { LoomElement, component, query, queryAll, styles, catch_, suspend, mount, unmount, event, observer, interval, timeout, debounce, throttle, animationFrame, form, lazy, slot, transition, hotkey, log, LogTransport, ConsoleTransport, provide, consume, ContextRequestEvent, portal, LazyLoadStart, LazyLoadEnd, } from "./element";
30
30
  // Transform: value transforms
31
31
  export { transform, createTransform, typed, typedTransformer, toNumber, toBoolean, toDate, toJSON, toTrimmed, toInt, toFloat, } from "./transform";
32
32
  // Decorators: event decorators + factory
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kBAAkB;AAClB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wDAAwD;AACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,0BAA0B;AAE1B,qCAAqC;AACrC,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;AAMjB,mCAAmC;AACnC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAE7C,0CAA0C;AAC1C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAClC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EACpC,GAAG,EAAE,YAAY,EAAE,gBAAgB,EACnC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EACrC,MAAM,GACP,MAAM,WAAW,CAAC;AAGnB,8BAA8B;AAC9B,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;AAGrB,yCAAyC;AACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpG,SAAS;AACT,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;AAGlB,oDAAoD;AACpD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kBAAkB;AAClB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wDAAwD;AACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,0BAA0B;AAE1B,qCAAqC;AACrC,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;AAMjB,mCAAmC;AACnC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAE7C,0CAA0C;AAC1C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAClC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EACpC,GAAG,EAAE,YAAY,EAAE,gBAAgB,EACnC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EACrC,MAAM,EACN,aAAa,EAAE,WAAW,GAC3B,MAAM,WAAW,CAAC;AAGnB,8BAA8B;AAC9B,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;AAGrB,yCAAyC;AACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpG,SAAS;AACT,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;AAGlB,oDAAoD;AACpD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
@@ -4,6 +4,10 @@
4
4
  * Declarative navigation link. Renders an <a> that adapts
5
5
  * its href to the current router mode (hash vs history).
6
6
  * Adds `.active` class when the current route matches.
7
+ *
8
+ * Consumer CSS overrides:
9
+ * const inline = css`a { display: inline; }`;
10
+ * <loom-link to="/foo" styles={[inline]}>Foo</loom-link>
7
11
  */
8
12
  import { LoomElement } from "../element/element";
9
13
  declare class LoomLink extends LoomElement {
@@ -12,6 +16,8 @@ declare class LoomLink extends LoomElement {
12
16
  accessor name: string;
13
17
  /** Params for named route substitution (JSON string or object via JSX) */
14
18
  accessor params: string;
19
+ /** Optional CSSStyleSheets to adopt — overrides default anchor styles */
20
+ accessor styles: CSSStyleSheet[];
15
21
  accessor anchor: HTMLAnchorElement;
16
22
  private get router();
17
23
  connectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/router/link.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,cACM,QAAS,SAAQ,WAAW;IAC1B,QAAQ,CAAC,EAAE,SAAO;IACxB,oEAAoE;IAC9D,QAAQ,CAAC,IAAI,SAAM;IACzB,0EAA0E;IACpE,QAAQ,CAAC,MAAM,SAAM;IAEf,QAAQ,CAAC,MAAM,EAAG,iBAAiB,CAAC;IAEhD,OAAO,KAAK,MAAM,GAEjB;IAED,iBAAiB;IA+BjB,6CAA6C;IAC7C,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,KAAK;CASd;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/router/link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,cACM,QAAS,SAAQ,WAAW;IAC1B,QAAQ,CAAC,EAAE,SAAO;IACxB,oEAAoE;IAC9D,QAAQ,CAAC,IAAI,SAAM;IACzB,0EAA0E;IACpE,QAAQ,CAAC,MAAM,SAAM;IAC3B,yEAAyE;IACnE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAM;IAEhC,QAAQ,CAAC,MAAM,EAAG,iBAAiB,CAAC;IAEhD,OAAO,KAAK,MAAM,GAEjB;IAED,iBAAiB;IAuCjB,6CAA6C;IAC7C,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,KAAK;CASd;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -4,6 +4,10 @@
4
4
  * Declarative navigation link. Renders an <a> that adapts
5
5
  * its href to the current router mode (hash vs history).
6
6
  * Adds `.active` class when the current route matches.
7
+ *
8
+ * Consumer CSS overrides:
9
+ * const inline = css`a { display: inline; }`;
10
+ * <loom-link to="/foo" styles={[inline]}>Foo</loom-link>
7
11
  */
8
12
  var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
9
13
  var useValue = arguments.length > 2;
@@ -63,6 +67,9 @@ let LoomLink = (() => {
63
67
  let _params_decorators;
64
68
  let _params_initializers = [];
65
69
  let _params_extraInitializers = [];
70
+ let _styles_decorators;
71
+ let _styles_initializers = [];
72
+ let _styles_extraInitializers = [];
66
73
  let _anchor_decorators;
67
74
  let _anchor_initializers = [];
68
75
  let _anchor_extraInitializers = [];
@@ -74,11 +81,13 @@ let LoomLink = (() => {
74
81
  _to_decorators = [prop];
75
82
  _name_decorators = [prop];
76
83
  _params_decorators = [prop];
84
+ _styles_decorators = [prop];
77
85
  _anchor_decorators = [query("a")];
78
86
  __onRouteChanged_decorators = [on(RouteChanged)];
79
87
  __esDecorate(this, null, _to_decorators, { kind: "accessor", name: "to", static: false, private: false, access: { has: obj => "to" in obj, get: obj => obj.to, set: (obj, value) => { obj.to = value; } }, metadata: _metadata }, _to_initializers, _to_extraInitializers);
80
88
  __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);
81
89
  __esDecorate(this, null, _params_decorators, { kind: "accessor", name: "params", static: false, private: false, access: { has: obj => "params" in obj, get: obj => obj.params, set: (obj, value) => { obj.params = value; } }, metadata: _metadata }, _params_initializers, _params_extraInitializers);
90
+ __esDecorate(this, null, _styles_decorators, { kind: "accessor", name: "styles", static: false, private: false, access: { has: obj => "styles" in obj, get: obj => obj.styles, set: (obj, value) => { obj.styles = value; } }, metadata: _metadata }, _styles_initializers, _styles_extraInitializers);
82
91
  __esDecorate(this, null, _anchor_decorators, { kind: "accessor", name: "anchor", static: false, private: false, access: { has: obj => "anchor" in obj, get: obj => obj.anchor, set: (obj, value) => { obj.anchor = value; } }, metadata: _metadata }, _anchor_initializers, _anchor_extraInitializers);
83
92
  __esDecorate(this, null, __onRouteChanged_decorators, { kind: "method", name: "_onRouteChanged", static: false, private: false, access: { has: obj => "_onRouteChanged" in obj, get: obj => obj._onRouteChanged }, metadata: _metadata }, null, _instanceExtraInitializers);
84
93
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
@@ -97,7 +106,11 @@ let LoomLink = (() => {
97
106
  /** Params for named route substitution (JSON string or object via JSX) */
98
107
  get params() { return this.#params_accessor_storage; }
99
108
  set params(value) { this.#params_accessor_storage = value; }
100
- #anchor_accessor_storage = (__runInitializers(this, _params_extraInitializers), __runInitializers(this, _anchor_initializers, void 0));
109
+ #styles_accessor_storage = (__runInitializers(this, _params_extraInitializers), __runInitializers(this, _styles_initializers, []));
110
+ /** Optional CSSStyleSheets to adopt — overrides default anchor styles */
111
+ get styles() { return this.#styles_accessor_storage; }
112
+ set styles(value) { this.#styles_accessor_storage = value; }
113
+ #anchor_accessor_storage = (__runInitializers(this, _styles_extraInitializers), __runInitializers(this, _anchor_initializers, void 0));
101
114
  get anchor() { return this.#anchor_accessor_storage; }
102
115
  set anchor(value) { this.#anchor_accessor_storage = value; }
103
116
  get router() {
@@ -116,6 +129,13 @@ let LoomLink = (() => {
116
129
  gap: inherit;
117
130
  }
118
131
  `;
132
+ // Adopt consumer style overrides
133
+ if (this.styles.length) {
134
+ this.shadow.adoptedStyleSheets = [
135
+ ...this.shadow.adoptedStyleSheets,
136
+ ...this.styles,
137
+ ];
138
+ }
119
139
  // Build initial DOM
120
140
  const a = document.createElement("a");
121
141
  a.setAttribute("part", "anchor");
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/router/link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/router/link.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.15.11",
3
+ "version": "0.16.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",