@toyz/loom 0.15.3 → 0.15.5

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.
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Loom — @provide / @consume context (TC39 Stage 3)
3
+ *
4
+ * Cross-shadow-DOM data sharing using the W3C Context Protocol.
5
+ * Class-based keys (like @service), auto-instantiation, reactive updates.
6
+ *
7
+ * ```ts
8
+ * class ThemeContext {
9
+ * mode: "dark" | "light" = "dark";
10
+ * primary = "#818cf8";
11
+ * }
12
+ *
13
+ * // Provider (ancestor)
14
+ * @provide(ThemeContext) accessor theme!: ThemeContext;
15
+ *
16
+ * // Consumer (any descendant — crosses shadow boundaries)
17
+ * @consume(ThemeContext) accessor theme!: ThemeContext;
18
+ * ```
19
+ */
20
+ /**
21
+ * W3C Context Protocol event.
22
+ * Dispatched by consumers, intercepted by providers.
23
+ *
24
+ * `composed: true` lets it cross shadow DOM boundaries.
25
+ */
26
+ export declare class ContextRequestEvent<T = unknown> extends Event {
27
+ /** The context key (class constructor, string, or symbol) */
28
+ readonly context: unknown;
29
+ /** Callback the provider calls with the current value */
30
+ readonly callback: ContextCallback<T>;
31
+ /** Whether to subscribe to future updates (default: true) */
32
+ readonly subscribe: boolean;
33
+ constructor(
34
+ /** The context key (class constructor, string, or symbol) */
35
+ context: unknown,
36
+ /** Callback the provider calls with the current value */
37
+ callback: ContextCallback<T>,
38
+ /** Whether to subscribe to future updates (default: true) */
39
+ subscribe?: boolean);
40
+ }
41
+ export type ContextCallback<T> = (value: T, unsubscribe: () => void) => void;
42
+ /**
43
+ * @provide(Key) — Provide a context value to descendants.
44
+ *
45
+ * If Key is a class constructor and no initial value is set,
46
+ * the decorator auto-instantiates via `new Key()`.
47
+ *
48
+ * ```ts
49
+ * @provide(ThemeContext) accessor theme!: ThemeContext;
50
+ * ```
51
+ */
52
+ export declare function provide<T>(key: (new () => T) | string | symbol): <This extends object>(target: ClassAccessorDecoratorTarget<This, T>, context: ClassAccessorDecoratorContext<This, T>) => ClassAccessorDecoratorResult<This, T>;
53
+ /**
54
+ * @consume(Key) — Consume a context value from the nearest provider ancestor.
55
+ *
56
+ * The accessor is automatically typed from the Key if it's a class constructor.
57
+ * Updates reactively when the provider changes the value.
58
+ *
59
+ * ```ts
60
+ * @consume(ThemeContext) accessor theme!: ThemeContext;
61
+ * ```
62
+ */
63
+ export declare function consume<T>(key: (new () => T) | string | symbol): <This extends object>(_target: ClassAccessorDecoratorTarget<This, T>, context: ClassAccessorDecoratorContext<This, T>) => ClassAccessorDecoratorResult<This, T>;
64
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/element/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH;;;;;GAKG;AACH,qBAAa,mBAAmB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IAEnD,6DAA6D;aAC7C,OAAO,EAAE,OAAO;IAChC,yDAAyD;aACzC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5C,6DAA6D;aAC7C,SAAS,EAAE,OAAO;;IALlC,6DAA6D;IAC7C,OAAO,EAAE,OAAO;IAChC,yDAAyD;IACzC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5C,6DAA6D;IAC7C,SAAS,GAAE,OAAc;CAIhD;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AAI7E;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,IACnD,IAAI,SAAS,MAAM,EACvB,QAAQ,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,SAAS,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAChD,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAsF3C;AAID;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,IACnD,IAAI,SAAS,MAAM,EACvB,SAAS,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC9C,SAAS,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAChD,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAgD3C"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Loom — @provide / @consume context (TC39 Stage 3)
3
+ *
4
+ * Cross-shadow-DOM data sharing using the W3C Context Protocol.
5
+ * Class-based keys (like @service), auto-instantiation, reactive updates.
6
+ *
7
+ * ```ts
8
+ * class ThemeContext {
9
+ * mode: "dark" | "light" = "dark";
10
+ * primary = "#818cf8";
11
+ * }
12
+ *
13
+ * // Provider (ancestor)
14
+ * @provide(ThemeContext) accessor theme!: ThemeContext;
15
+ *
16
+ * // Consumer (any descendant — crosses shadow boundaries)
17
+ * @consume(ThemeContext) accessor theme!: ThemeContext;
18
+ * ```
19
+ */
20
+ import { CONNECT_HOOKS } from "../decorators/symbols";
21
+ // ── Context Request Event ──
22
+ const CONTEXT_REQUEST = "context-request";
23
+ /**
24
+ * W3C Context Protocol event.
25
+ * Dispatched by consumers, intercepted by providers.
26
+ *
27
+ * `composed: true` lets it cross shadow DOM boundaries.
28
+ */
29
+ export class ContextRequestEvent extends Event {
30
+ context;
31
+ callback;
32
+ subscribe;
33
+ constructor(
34
+ /** The context key (class constructor, string, or symbol) */
35
+ context,
36
+ /** Callback the provider calls with the current value */
37
+ callback,
38
+ /** Whether to subscribe to future updates (default: true) */
39
+ subscribe = true) {
40
+ super(CONTEXT_REQUEST, { bubbles: true, composed: true });
41
+ this.context = context;
42
+ this.callback = callback;
43
+ this.subscribe = subscribe;
44
+ }
45
+ }
46
+ // ── @provide ──
47
+ /**
48
+ * @provide(Key) — Provide a context value to descendants.
49
+ *
50
+ * If Key is a class constructor and no initial value is set,
51
+ * the decorator auto-instantiates via `new Key()`.
52
+ *
53
+ * ```ts
54
+ * @provide(ThemeContext) accessor theme!: ThemeContext;
55
+ * ```
56
+ */
57
+ export function provide(key) {
58
+ return (target, context) => {
59
+ const storageKey = Symbol(`ctx:provide:${String(context.name)}`);
60
+ const subscribersKey = Symbol(`ctx:subs:${String(context.name)}`);
61
+ context.addInitializer(function () {
62
+ const self = this;
63
+ const hooks = CONNECT_HOOKS.from(self);
64
+ const hook = (el) => {
65
+ const host = el;
66
+ // Auto-instantiate class key if no value set
67
+ if (host[storageKey] === undefined && typeof key === "function") {
68
+ host[storageKey] = new key();
69
+ }
70
+ // Subscriber list for reactive updates
71
+ if (!host[subscribersKey])
72
+ host[subscribersKey] = new Set();
73
+ const subs = host[subscribersKey];
74
+ // Listen for context requests from descendants
75
+ const handler = (e) => {
76
+ const req = e;
77
+ if (req.context !== key)
78
+ return;
79
+ // Stop propagation so nearest provider wins
80
+ e.stopPropagation();
81
+ const currentValue = host[storageKey];
82
+ if (req.subscribe) {
83
+ // Subscriber — store callback for future updates
84
+ const cb = req.callback;
85
+ subs.add(cb);
86
+ // Provide unsubscribe function
87
+ const unsub = () => subs.delete(cb);
88
+ cb(currentValue, unsub);
89
+ }
90
+ else {
91
+ // One-shot read
92
+ req.callback(currentValue, () => { });
93
+ }
94
+ };
95
+ host.addEventListener(CONTEXT_REQUEST, handler);
96
+ return () => {
97
+ host.removeEventListener(CONTEXT_REQUEST, handler);
98
+ subs.clear();
99
+ };
100
+ };
101
+ if (!hooks)
102
+ CONNECT_HOOKS.set(self, [hook]);
103
+ else
104
+ hooks.push(hook);
105
+ });
106
+ return {
107
+ init(value) {
108
+ // Capture initial accessor value into our storage
109
+ this[storageKey] = value;
110
+ return value;
111
+ },
112
+ get() {
113
+ const self = this;
114
+ if (self[storageKey] === undefined && typeof key === "function") {
115
+ self[storageKey] = new key();
116
+ }
117
+ return self[storageKey];
118
+ },
119
+ set(value) {
120
+ const self = this;
121
+ self[storageKey] = value;
122
+ // Notify all subscribed consumers
123
+ const subs = self[subscribersKey];
124
+ if (subs) {
125
+ for (const cb of subs) {
126
+ cb(value, () => subs.delete(cb));
127
+ }
128
+ }
129
+ // Schedule re-render
130
+ self.scheduleUpdate?.();
131
+ },
132
+ };
133
+ };
134
+ }
135
+ // ── @consume ──
136
+ /**
137
+ * @consume(Key) — Consume a context value from the nearest provider ancestor.
138
+ *
139
+ * The accessor is automatically typed from the Key if it's a class constructor.
140
+ * Updates reactively when the provider changes the value.
141
+ *
142
+ * ```ts
143
+ * @consume(ThemeContext) accessor theme!: ThemeContext;
144
+ * ```
145
+ */
146
+ export function consume(key) {
147
+ return (_target, context) => {
148
+ const storageKey = Symbol(`ctx:consume:${String(context.name)}`);
149
+ const unsubKey = Symbol(`ctx:unsub:${String(context.name)}`);
150
+ context.addInitializer(function () {
151
+ const self = this;
152
+ const hooks = CONNECT_HOOKS.from(self);
153
+ const hook = (el) => {
154
+ const host = el;
155
+ // Callback from provider
156
+ const callback = (value, unsubscribe) => {
157
+ host[storageKey] = value;
158
+ host[unsubKey] = unsubscribe;
159
+ host.scheduleUpdate?.();
160
+ };
161
+ // Defer dispatch so ancestor providers are connected first.
162
+ // Same pattern @slot uses — parent connectedCallback may not
163
+ // have fired yet when both connect in the same tick.
164
+ queueMicrotask(() => {
165
+ host.dispatchEvent(new ContextRequestEvent(key, callback, true));
166
+ });
167
+ return () => {
168
+ // Unsubscribe from provider on disconnect
169
+ const unsub = host[unsubKey];
170
+ unsub?.();
171
+ host[unsubKey] = undefined;
172
+ };
173
+ };
174
+ if (!hooks)
175
+ CONNECT_HOOKS.set(self, [hook]);
176
+ else
177
+ hooks.push(hook);
178
+ });
179
+ return {
180
+ get() {
181
+ return this[storageKey];
182
+ },
183
+ set(value) {
184
+ this[storageKey] = value;
185
+ },
186
+ };
187
+ };
188
+ }
189
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/element/context.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,32 @@ export interface HotkeyOptions {
21
21
  /** Prevent default browser behavior (default: true) */
22
22
  preventDefault?: boolean;
23
23
  }
24
+ /**
25
+ * Object-based key combo definition.
26
+ *
27
+ * ```ts
28
+ * @hotkey({ key: "k", mod: true })
29
+ * @hotkey({ key: "s", ctrl: true, shift: true })
30
+ * ```
31
+ */
32
+ export interface HotkeyCombo {
33
+ /** The key to listen for (e.g. "k", "escape", "enter") */
34
+ key: string;
35
+ /** Require Ctrl (default: false) */
36
+ ctrl?: boolean;
37
+ /** Require Shift (default: false) */
38
+ shift?: boolean;
39
+ /** Require Alt/Option (default: false) */
40
+ alt?: boolean;
41
+ /** Require Meta/Cmd/Win (default: false) */
42
+ meta?: boolean;
43
+ /** Cross-platform: Meta on Mac, Ctrl elsewhere (default: false) */
44
+ mod?: boolean;
45
+ /** Listen on document instead of the element */
46
+ global?: boolean;
47
+ /** Prevent default browser behavior */
48
+ preventDefault?: boolean;
49
+ }
24
50
  /**
25
51
  * @hotkey — Declarative keyboard shortcut. Auto-cleaned on disconnect.
26
52
  *
@@ -40,5 +66,5 @@ export interface HotkeyOptions {
40
66
  * close() { ... }
41
67
  * ```
42
68
  */
43
- export declare function hotkey(...args: [...combos: string[], options: HotkeyOptions] | string[]): (method: Function, context: ClassMethodDecoratorContext) => void;
69
+ export declare function hotkey(...args: [...combos: (string | HotkeyCombo)[], options: HotkeyOptions] | (string | HotkeyCombo)[]): (method: Function, context: ClassMethodDecoratorContext) => void;
44
70
  //# sourceMappingURL=hotkey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hotkey.d.ts","sourceRoot":"","sources":["../../src/element/hotkey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,WAAW,aAAa;IAC1B,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAsED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,CAClB,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,EAAE,GAClE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CA6ClE"}
1
+ {"version":3,"file":"hotkey.d.ts","sourceRoot":"","sources":["../../src/element/hotkey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,WAAW,aAAa;IAC1B,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IACxB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAwFD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,CAClB,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,GAClG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CA6DlE"}
@@ -60,6 +60,23 @@ function parseCombo(raw) {
60
60
  _comboCache.set(raw, cached);
61
61
  return cached;
62
62
  }
63
+ function comboFromObject(obj) {
64
+ let ctrl = obj.ctrl ?? false;
65
+ let meta = obj.meta ?? false;
66
+ if (obj.mod) {
67
+ if (isMac)
68
+ meta = true;
69
+ else
70
+ ctrl = true;
71
+ }
72
+ return {
73
+ ctrl,
74
+ shift: obj.shift ?? false,
75
+ alt: obj.alt ?? false,
76
+ meta,
77
+ key: obj.key.toLowerCase(),
78
+ };
79
+ }
63
80
  function matchesCombo(e, combo) {
64
81
  return (e.ctrlKey === combo.ctrl &&
65
82
  e.shiftKey === combo.shift &&
@@ -88,20 +105,37 @@ function matchesCombo(e, combo) {
88
105
  * ```
89
106
  */
90
107
  export function hotkey(...args) {
91
- // Separate combo strings from trailing options object
108
+ // Separate combo defs from trailing options object (no .key = pure options)
92
109
  let options = {};
93
- let comboStrings;
110
+ let comboDefs;
94
111
  const last = args[args.length - 1];
95
- if (typeof last === "object" && last !== null) {
112
+ if (typeof last === "object" && last !== null && !("key" in last)) {
113
+ // Trailing options (no .key property means it's HotkeyOptions, not HotkeyCombo)
96
114
  options = last;
97
- comboStrings = args.slice(0, -1);
115
+ comboDefs = args.slice(0, -1);
98
116
  }
99
117
  else {
100
- comboStrings = args;
118
+ comboDefs = args;
119
+ }
120
+ const combos = [];
121
+ let comboGlobal;
122
+ let comboPreventDefault;
123
+ for (const def of comboDefs) {
124
+ if (typeof def === "string") {
125
+ combos.push(parseCombo(def));
126
+ }
127
+ else {
128
+ combos.push(comboFromObject(def));
129
+ // Object combos can carry their own global/preventDefault
130
+ if (def.global !== undefined)
131
+ comboGlobal = def.global;
132
+ if (def.preventDefault !== undefined)
133
+ comboPreventDefault = def.preventDefault;
134
+ }
101
135
  }
102
- const combos = comboStrings.map(parseCombo);
103
- const preventDefault = options.preventDefault ?? true;
104
- const global = options.global ?? false;
136
+ // Object combo settings serve as fallbacks to trailing options
137
+ const preventDefault = options.preventDefault ?? comboPreventDefault ?? true;
138
+ const global = options.global ?? comboGlobal ?? false;
105
139
  return (method, context) => {
106
140
  context.addInitializer(function () {
107
141
  if (!this[CONNECT_HOOKS.key])
@@ -1 +1 @@
1
- {"version":3,"file":"hotkey.js","sourceRoot":"","sources":["../../src/element/hotkey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hotkey.js","sourceRoot":"","sources":["../../src/element/hotkey.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,9 @@ export { slot } from "./slots";
17
17
  export { transition } from "./transition";
18
18
  export type { TransitionOptions } from "./transition";
19
19
  export { hotkey } from "./hotkey";
20
- export type { HotkeyOptions } from "./hotkey";
20
+ export type { HotkeyOptions, HotkeyCombo } from "./hotkey";
21
21
  export { log, LogTransport, ConsoleTransport, resetLogTransport } from "./log";
22
22
  export type { LogEntry, LogLevel, LogOptions } from "./log";
23
+ export { provide, consume, ContextRequestEvent } from "./context";
24
+ export type { ContextCallback } from "./context";
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -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,MAAM,UAAU,CAAC;AAG9C,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"}
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"}
@@ -32,4 +32,6 @@ export { transition } from "./transition";
32
32
  export { hotkey } from "./hotkey";
33
33
  // Log decorator + transport
34
34
  export { log, LogTransport, ConsoleTransport, resetLogTransport } from "./log";
35
+ // Context: provide/consume across shadow boundaries
36
+ export { provide, consume, ContextRequestEvent } from "./context";
35
37
  //# sourceMappingURL=index.js.map
@@ -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"}
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"}
package/dist/index.d.ts CHANGED
@@ -21,8 +21,8 @@ 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, } from "./element";
25
- export type { FormState, FormSchema, FieldSchema, LazyOptions, TransitionOptions, HotkeyOptions, LogEntry, LogLevel, LogOptions } 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, } from "./element";
25
+ export type { FormState, FormSchema, FieldSchema, LazyOptions, TransitionOptions, HotkeyOptions, HotkeyCombo, LogEntry, LogLevel, LogOptions, ContextCallback } 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";
28
28
  export { on, emit, createDecorator, createSymbol, LoomSymbol, SYMBOL_REGISTRY } from "./decorators";
@@ -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, } 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, } 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,GACpC,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,GACtC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toyz/loom",
3
- "version": "0.15.3",
3
+ "version": "0.15.5",
4
4
  "type": "module",
5
5
  "description": "Decorator-driven web component framework with reactive state, DOM morphing, DI, and JSX",
6
6
  "license": "MIT",