@toyz/loom 0.15.4 → 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.
@@ -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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA8CtD,8BAA8B;AAE9B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AAEnD,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAExG,SAAS,UAAU,CAAC,GAAW;IAC3B,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,IAAI,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC;IAC3D,IAAI,GAAG,GAAG,EAAE,CAAC;IAEb,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS;gBACV,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;YACV,KAAK,OAAO;gBACR,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACV,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACT,GAAG,GAAG,IAAI,CAAC;gBACX,MAAM;YACV,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK,CAAC;YACX,KAAK,SAAS,CAAC;YACf,KAAK,KAAK;gBACN,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;YACV,KAAK,KAAK;gBACN,mCAAmC;gBACnC,IAAI,KAAK;oBAAE,IAAI,GAAG,IAAI,CAAC;;oBAClB,IAAI,GAAG,IAAI,CAAC;gBACjB,MAAM;YACV;gBACI,GAAG,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IAED,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACzC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,GAAgB;IACrC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC;IAC7B,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC;IAE7B,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,IAAI,KAAK;YAAE,IAAI,GAAG,IAAI,CAAC;;YAClB,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,OAAO;QACH,IAAI;QACJ,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,KAAK;QACzB,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK;QACrB,IAAI;QACJ,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE;KAC7B,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,CAAgB,EAAE,KAAkB;IACtD,OAAO,CACH,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI;QACxB,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK;QAC1B,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,GAAG;QACtB,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI;QACxB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,GAAG,CACpC,CAAC;AACN,CAAC;AAED,kBAAkB;AAElB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,MAAM,CAClB,GAAG,IAA8F;IAEjG,4EAA4E;IAC5E,IAAI,OAAO,GAAkB,EAAE,CAAC;IAChC,IAAI,SAAmC,CAAC;IAExC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;QAChE,gFAAgF;QAChF,OAAO,GAAG,IAAqB,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAA6B,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,IAAgC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,WAAgC,CAAC;IACrC,IAAI,mBAAwC,CAAC;IAE7C,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,0DAA0D;YAC1D,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YACvD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS;gBAAE,mBAAmB,GAAG,GAAG,CAAC,cAAc,CAAC;QACnF,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,mBAAmB,IAAI,IAAI,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,IAAI,KAAK,CAAC;IAEtD,OAAO,CAAC,MAAgB,EAAE,OAAoC,EAAE,EAAE;QAC9D,OAAO,CAAC,cAAc,CAAC;YACnB,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;gBAC7C,MAAM,MAAM,GAAgB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEnD,MAAM,OAAO,GAAG,CAAC,CAAQ,EAAE,EAAE;oBACzB,MAAM,EAAE,GAAG,CAAkB,CAAC;oBAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBACzB,IAAI,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;4BAC1B,IAAI,cAAc;gCAAE,EAAE,CAAC,cAAc,EAAE,CAAC;4BACxC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BACpB,OAAO;wBACX,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC;gBAEF,oDAAoD;gBACpD,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1C,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBACrC,CAAC;gBAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
@@ -17,7 +17,7 @@ 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
23
  export { provide, consume, ContextRequestEvent } from "./context";
@@ -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;AAG5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,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"}
package/dist/index.d.ts CHANGED
@@ -22,7 +22,7 @@ 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
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, LogEntry, LogLevel, LogOptions, ContextCallback } 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toyz/loom",
3
- "version": "0.15.4",
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",