thunderous 2.2.0 → 2.3.2

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/dist/index.cjs CHANGED
@@ -293,7 +293,8 @@ var renderState = {
293
293
  currentShadowRoot: null,
294
294
  signalMap: /* @__PURE__ */ new Map(),
295
295
  callbackMap: /* @__PURE__ */ new Map(),
296
- fragmentMap: /* @__PURE__ */ new Map()
296
+ fragmentMap: /* @__PURE__ */ new Map(),
297
+ registry: customElements
297
298
  };
298
299
  var logValueError = (value) => {
299
300
  console.error(
@@ -528,7 +529,8 @@ var html = (strings, ...values) => {
528
529
  if (isServer) return innerHTML;
529
530
  const template = document.createElement("template");
530
531
  template.innerHTML = innerHTML;
531
- const fragment = renderState.currentShadowRoot === null ? template.content : renderState.currentShadowRoot.importNode?.(template.content, true) ?? template.content;
532
+ const fragment = renderState.currentShadowRoot?.importNode?.(template.content, true) ?? document.importNode(template.content, true);
533
+ renderState.registry.upgrade(fragment);
532
534
  evaluateBindings(fragment, fragment);
533
535
  return fragment;
534
536
  };
@@ -675,6 +677,7 @@ var customElement = (render, options) => {
675
677
  #render() {
676
678
  const root = this.#shadowRoot ?? this;
677
679
  renderState.currentShadowRoot = this.#shadowRoot;
680
+ renderState.registry = shadowRootOptions.customElements ?? customElements;
678
681
  const fragment = render({
679
682
  elementRef: this,
680
683
  root,
@@ -795,6 +798,8 @@ You must set an initial value before calling a property signal's getter.
795
798
  fn();
796
799
  }
797
800
  root.replaceChildren(fragment);
801
+ renderState.currentShadowRoot = null;
802
+ renderState.registry = customElements;
798
803
  }
799
804
  static get formAssociated() {
800
805
  return formAssociated;
package/dist/index.d.cts CHANGED
@@ -110,6 +110,8 @@ type SignalWithInit<T = unknown> = Signal<T> & { init: (value: T) => Signal<T> }
110
110
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
111
  type AnyFn = (...args: any[]) => any;
112
112
 
113
+ type HTMLCustomElement<T extends Record<PropertyKey, unknown>> = Omit<HTMLElement, keyof T> & T;
114
+
113
115
  /**
114
116
  * Create a custom element that can be defined for use in the DOM.
115
117
  * @example
@@ -180,4 +182,4 @@ declare const createEffect: (fn: () => void) => void;
180
182
  declare const html: (strings: TemplateStringsArray, ...values: unknown[]) => DocumentFragment;
181
183
  declare const css: (strings: TemplateStringsArray, ...values: unknown[]) => Styles;
182
184
 
183
- export { type RenderArgs, type RenderFunction, type Signal, type SignalGetter, type SignalSetter, clientOnlyCallback, createEffect, createRegistry, createSignal, css, customElement, derived, html, insertTemplates, onServerDefine };
185
+ export { type HTMLCustomElement, type RenderArgs, type RenderFunction, type Signal, type SignalGetter, type SignalSetter, clientOnlyCallback, createEffect, createRegistry, createSignal, css, customElement, derived, html, insertTemplates, onServerDefine };
package/dist/index.d.ts CHANGED
@@ -110,6 +110,8 @@ type SignalWithInit<T = unknown> = Signal<T> & { init: (value: T) => Signal<T> }
110
110
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
111
  type AnyFn = (...args: any[]) => any;
112
112
 
113
+ type HTMLCustomElement<T extends Record<PropertyKey, unknown>> = Omit<HTMLElement, keyof T> & T;
114
+
113
115
  /**
114
116
  * Create a custom element that can be defined for use in the DOM.
115
117
  * @example
@@ -180,4 +182,4 @@ declare const createEffect: (fn: () => void) => void;
180
182
  declare const html: (strings: TemplateStringsArray, ...values: unknown[]) => DocumentFragment;
181
183
  declare const css: (strings: TemplateStringsArray, ...values: unknown[]) => Styles;
182
184
 
183
- export { type RenderArgs, type RenderFunction, type Signal, type SignalGetter, type SignalSetter, clientOnlyCallback, createEffect, createRegistry, createSignal, css, customElement, derived, html, insertTemplates, onServerDefine };
185
+ export { type HTMLCustomElement, type RenderArgs, type RenderFunction, type Signal, type SignalGetter, type SignalSetter, clientOnlyCallback, createEffect, createRegistry, createSignal, css, customElement, derived, html, insertTemplates, onServerDefine };
package/dist/index.js CHANGED
@@ -258,7 +258,8 @@ var renderState = {
258
258
  currentShadowRoot: null,
259
259
  signalMap: /* @__PURE__ */ new Map(),
260
260
  callbackMap: /* @__PURE__ */ new Map(),
261
- fragmentMap: /* @__PURE__ */ new Map()
261
+ fragmentMap: /* @__PURE__ */ new Map(),
262
+ registry: customElements
262
263
  };
263
264
  var logValueError = (value) => {
264
265
  console.error(
@@ -493,7 +494,8 @@ var html = (strings, ...values) => {
493
494
  if (isServer) return innerHTML;
494
495
  const template = document.createElement("template");
495
496
  template.innerHTML = innerHTML;
496
- const fragment = renderState.currentShadowRoot === null ? template.content : renderState.currentShadowRoot.importNode?.(template.content, true) ?? template.content;
497
+ const fragment = renderState.currentShadowRoot?.importNode?.(template.content, true) ?? document.importNode(template.content, true);
498
+ renderState.registry.upgrade(fragment);
497
499
  evaluateBindings(fragment, fragment);
498
500
  return fragment;
499
501
  };
@@ -640,6 +642,7 @@ var customElement = (render, options) => {
640
642
  #render() {
641
643
  const root = this.#shadowRoot ?? this;
642
644
  renderState.currentShadowRoot = this.#shadowRoot;
645
+ renderState.registry = shadowRootOptions.customElements ?? customElements;
643
646
  const fragment = render({
644
647
  elementRef: this,
645
648
  root,
@@ -760,6 +763,8 @@ You must set an initial value before calling a property signal's getter.
760
763
  fn();
761
764
  }
762
765
  root.replaceChildren(fragment);
766
+ renderState.currentShadowRoot = null;
767
+ renderState.registry = customElements;
763
768
  }
764
769
  static get formAssociated() {
765
770
  return formAssociated;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thunderous",
3
- "version": "2.2.0",
3
+ "version": "2.3.2",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",