@mappoh/nova 0.2.3 → 0.5.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 +180 -30
- package/dist/a11y/index.d.ts +40 -0
- package/dist/a11y/index.d.ts.map +1 -0
- package/dist/a11y/index.js +162 -0
- package/dist/a11y/index.js.map +1 -0
- package/dist/alert/alert.d.ts +32 -0
- package/dist/alert/alert.d.ts.map +1 -0
- package/dist/alert/alert.js +307 -0
- package/dist/alert/alert.js.map +1 -0
- package/dist/alert/index.d.ts +3 -0
- package/dist/alert/index.d.ts.map +1 -0
- package/dist/alert/index.js +2 -0
- package/dist/alert/index.js.map +1 -0
- package/dist/animation/flip.d.ts +28 -0
- package/dist/animation/flip.d.ts.map +1 -0
- package/dist/animation/flip.js +113 -0
- package/dist/animation/flip.js.map +1 -0
- package/dist/animation/spring.d.ts +34 -0
- package/dist/animation/spring.d.ts.map +1 -0
- package/dist/animation/spring.js +86 -0
- package/dist/animation/spring.js.map +1 -0
- package/dist/animation/stagger.d.ts +43 -0
- package/dist/animation/stagger.d.ts.map +1 -0
- package/dist/animation/stagger.js +150 -0
- package/dist/animation/stagger.js.map +1 -0
- package/dist/avatar/avatar.d.ts +27 -0
- package/dist/avatar/avatar.d.ts.map +1 -0
- package/dist/avatar/avatar.js +132 -0
- package/dist/avatar/avatar.js.map +1 -0
- package/dist/avatar/index.d.ts +3 -0
- package/dist/avatar/index.d.ts.map +1 -0
- package/dist/avatar/index.js +2 -0
- package/dist/avatar/index.js.map +1 -0
- package/dist/badge/badge.d.ts +27 -0
- package/dist/badge/badge.d.ts.map +1 -0
- package/dist/badge/badge.js +118 -0
- package/dist/badge/badge.js.map +1 -0
- package/dist/badge/index.d.ts +3 -0
- package/dist/badge/index.d.ts.map +1 -0
- package/dist/badge/index.js +2 -0
- package/dist/badge/index.js.map +1 -0
- package/dist/cache/cache.d.ts +28 -0
- package/dist/cache/cache.d.ts.map +1 -0
- package/dist/cache/cache.js +67 -0
- package/dist/cache/cache.js.map +1 -0
- package/dist/cache/index.d.ts +3 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +2 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/chart/chart.d.ts +31 -0
- package/dist/chart/chart.d.ts.map +1 -0
- package/dist/chart/chart.js +372 -0
- package/dist/chart/chart.js.map +1 -0
- package/dist/chart/index.d.ts +3 -0
- package/dist/chart/index.d.ts.map +1 -0
- package/dist/chart/index.js +2 -0
- package/dist/chart/index.js.map +1 -0
- package/dist/color-picker/color-picker.d.ts +18 -0
- package/dist/color-picker/color-picker.d.ts.map +1 -0
- package/dist/color-picker/color-picker.js +243 -0
- package/dist/color-picker/color-picker.js.map +1 -0
- package/dist/color-picker/index.d.ts +3 -0
- package/dist/color-picker/index.d.ts.map +1 -0
- package/dist/color-picker/index.js +2 -0
- package/dist/color-picker/index.js.map +1 -0
- package/dist/combobox/combobox.d.ts +26 -0
- package/dist/combobox/combobox.d.ts.map +1 -0
- package/dist/combobox/combobox.js +262 -0
- package/dist/combobox/combobox.js.map +1 -0
- package/dist/combobox/index.d.ts +3 -0
- package/dist/combobox/index.d.ts.map +1 -0
- package/dist/combobox/index.js +2 -0
- package/dist/combobox/index.js.map +1 -0
- package/dist/command-palette/command-palette.d.ts +31 -0
- package/dist/command-palette/command-palette.d.ts.map +1 -0
- package/dist/command-palette/command-palette.js +590 -0
- package/dist/command-palette/command-palette.js.map +1 -0
- package/dist/command-palette/index.d.ts +3 -0
- package/dist/command-palette/index.d.ts.map +1 -0
- package/dist/command-palette/index.js +2 -0
- package/dist/command-palette/index.js.map +1 -0
- package/dist/component/component.d.ts +20 -2
- package/dist/component/component.d.ts.map +1 -1
- package/dist/component/component.js +115 -5
- package/dist/component/component.js.map +1 -1
- package/dist/component/connect.d.ts +50 -0
- package/dist/component/connect.d.ts.map +1 -1
- package/dist/component/connect.js +135 -0
- package/dist/component/connect.js.map +1 -1
- package/dist/component/directives.d.ts +20 -0
- package/dist/component/directives.d.ts.map +1 -0
- package/dist/component/directives.js +42 -0
- package/dist/component/directives.js.map +1 -0
- package/dist/component/html.d.ts +8 -0
- package/dist/component/html.d.ts.map +1 -1
- package/dist/component/html.js +11 -0
- package/dist/component/html.js.map +1 -1
- package/dist/component/index.d.ts +9 -3
- package/dist/component/index.d.ts.map +1 -1
- package/dist/component/index.js +6 -2
- package/dist/component/index.js.map +1 -1
- package/dist/component/portal.d.ts +32 -0
- package/dist/component/portal.d.ts.map +1 -0
- package/dist/component/portal.js +59 -0
- package/dist/component/portal.js.map +1 -0
- package/dist/component/ref.d.ts +18 -0
- package/dist/component/ref.d.ts.map +1 -0
- package/dist/component/ref.js +17 -0
- package/dist/component/ref.js.map +1 -0
- package/dist/component/slot-styles.d.ts +18 -0
- package/dist/component/slot-styles.d.ts.map +1 -0
- package/dist/component/slot-styles.js +47 -0
- package/dist/component/slot-styles.js.map +1 -0
- package/dist/component/template.d.ts +2 -0
- package/dist/component/template.d.ts.map +1 -1
- package/dist/component/template.js +122 -4
- package/dist/component/template.js.map +1 -1
- package/dist/context/context.d.ts +39 -0
- package/dist/context/context.d.ts.map +1 -0
- package/dist/context/context.js +111 -0
- package/dist/context/context.js.map +1 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +2 -0
- package/dist/context/index.js.map +1 -0
- package/dist/data-table/data-table.d.ts +34 -0
- package/dist/data-table/data-table.d.ts.map +1 -0
- package/dist/data-table/data-table.js +256 -0
- package/dist/data-table/data-table.js.map +1 -0
- package/dist/data-table/index.d.ts +3 -0
- package/dist/data-table/index.d.ts.map +1 -0
- package/dist/data-table/index.js +2 -0
- package/dist/data-table/index.js.map +1 -0
- package/dist/date-picker/date-picker.d.ts +22 -0
- package/dist/date-picker/date-picker.d.ts.map +1 -0
- package/dist/date-picker/date-picker.js +282 -0
- package/dist/date-picker/date-picker.js.map +1 -0
- package/dist/date-picker/index.d.ts +3 -0
- package/dist/date-picker/index.d.ts.map +1 -0
- package/dist/date-picker/index.js +2 -0
- package/dist/date-picker/index.js.map +1 -0
- package/dist/devtools/devtools.d.ts +54 -0
- package/dist/devtools/devtools.d.ts.map +1 -1
- package/dist/devtools/devtools.js +86 -0
- package/dist/devtools/devtools.js.map +1 -1
- package/dist/devtools/index.d.ts +2 -2
- package/dist/devtools/index.d.ts.map +1 -1
- package/dist/devtools/index.js +1 -1
- package/dist/devtools/index.js.map +1 -1
- package/dist/editor/editor.d.ts +40 -0
- package/dist/editor/editor.d.ts.map +1 -0
- package/dist/editor/editor.js +955 -0
- package/dist/editor/editor.js.map +1 -0
- package/dist/editor/index.d.ts +3 -0
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +2 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/event-bus/event-bus.d.ts +20 -0
- package/dist/event-bus/event-bus.d.ts.map +1 -0
- package/dist/event-bus/event-bus.js +55 -0
- package/dist/event-bus/event-bus.js.map +1 -0
- package/dist/event-bus/index.d.ts +3 -0
- package/dist/event-bus/index.d.ts.map +1 -0
- package/dist/event-bus/index.js +2 -0
- package/dist/event-bus/index.js.map +1 -0
- package/dist/file-upload/file-upload.d.ts +24 -0
- package/dist/file-upload/file-upload.d.ts.map +1 -0
- package/dist/file-upload/file-upload.js +177 -0
- package/dist/file-upload/file-upload.js.map +1 -0
- package/dist/file-upload/index.d.ts +3 -0
- package/dist/file-upload/index.d.ts.map +1 -0
- package/dist/file-upload/index.js +2 -0
- package/dist/file-upload/index.js.map +1 -0
- package/dist/forms/form-engine.d.ts +19 -6
- package/dist/forms/form-engine.d.ts.map +1 -1
- package/dist/forms/form-engine.js +97 -11
- package/dist/forms/form-engine.js.map +1 -1
- package/dist/forms/validators.d.ts +4 -0
- package/dist/forms/validators.d.ts.map +1 -1
- package/dist/forms/validators.js +6 -0
- package/dist/forms/validators.js.map +1 -1
- package/dist/forms/wasm-validators.d.ts +19 -11
- package/dist/forms/wasm-validators.d.ts.map +1 -1
- package/dist/forms/wasm-validators.js +191 -31
- package/dist/forms/wasm-validators.js.map +1 -1
- package/dist/gesture/gesture.d.ts +2 -0
- package/dist/gesture/gesture.d.ts.map +1 -1
- package/dist/gesture/gesture.js +81 -0
- package/dist/gesture/gesture.js.map +1 -1
- package/dist/http/http.d.ts +8 -0
- package/dist/http/http.d.ts.map +1 -1
- package/dist/http/http.js +18 -4
- package/dist/http/http.js.map +1 -1
- package/dist/i18n/i18n.d.ts +6 -0
- package/dist/i18n/i18n.d.ts.map +1 -1
- package/dist/i18n/i18n.js +71 -9
- package/dist/i18n/i18n.js.map +1 -1
- package/dist/machine/index.d.ts +3 -0
- package/dist/machine/index.d.ts.map +1 -0
- package/dist/machine/index.js +2 -0
- package/dist/machine/index.js.map +1 -0
- package/dist/machine/machine.d.ts +26 -0
- package/dist/machine/machine.d.ts.map +1 -0
- package/dist/machine/machine.js +79 -0
- package/dist/machine/machine.js.map +1 -0
- package/dist/modal/modal.d.ts.map +1 -1
- package/dist/modal/modal.js +13 -29
- package/dist/modal/modal.js.map +1 -1
- package/dist/notification-center/index.d.ts +3 -0
- package/dist/notification-center/index.d.ts.map +1 -0
- package/dist/notification-center/index.js +2 -0
- package/dist/notification-center/index.js.map +1 -0
- package/dist/notification-center/notification-center.d.ts +55 -0
- package/dist/notification-center/notification-center.d.ts.map +1 -0
- package/dist/notification-center/notification-center.js +941 -0
- package/dist/notification-center/notification-center.js.map +1 -0
- package/dist/pagination/index.d.ts +3 -0
- package/dist/pagination/index.d.ts.map +1 -0
- package/dist/pagination/index.js +2 -0
- package/dist/pagination/index.js.map +1 -0
- package/dist/pagination/pagination.d.ts +31 -0
- package/dist/pagination/pagination.d.ts.map +1 -0
- package/dist/pagination/pagination.js +213 -0
- package/dist/pagination/pagination.js.map +1 -0
- package/dist/progress/progress.d.ts.map +1 -1
- package/dist/progress/progress.js +5 -7
- package/dist/progress/progress.js.map +1 -1
- package/dist/query/index.d.ts +3 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +2 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/query.d.ts +31 -0
- package/dist/query/query.d.ts.map +1 -0
- package/dist/query/query.js +150 -0
- package/dist/query/query.js.map +1 -0
- package/dist/radio-group/index.d.ts +3 -0
- package/dist/radio-group/index.d.ts.map +1 -0
- package/dist/radio-group/index.js +2 -0
- package/dist/radio-group/index.js.map +1 -0
- package/dist/radio-group/radio-group.d.ts +37 -0
- package/dist/radio-group/radio-group.d.ts.map +1 -0
- package/dist/radio-group/radio-group.js +251 -0
- package/dist/radio-group/radio-group.js.map +1 -0
- package/dist/rating/index.d.ts +3 -0
- package/dist/rating/index.d.ts.map +1 -0
- package/dist/rating/index.js +2 -0
- package/dist/rating/index.js.map +1 -0
- package/dist/rating/rating.d.ts +31 -0
- package/dist/rating/rating.d.ts.map +1 -0
- package/dist/rating/rating.js +187 -0
- package/dist/rating/rating.js.map +1 -0
- package/dist/router/index.d.ts +1 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +1 -1
- package/dist/router/index.js.map +1 -1
- package/dist/router/router.d.ts +30 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +131 -16
- package/dist/router/router.js.map +1 -1
- package/dist/skeleton/index.d.ts +3 -0
- package/dist/skeleton/index.d.ts.map +1 -0
- package/dist/skeleton/index.js +2 -0
- package/dist/skeleton/index.js.map +1 -0
- package/dist/skeleton/skeleton.d.ts +24 -0
- package/dist/skeleton/skeleton.d.ts.map +1 -0
- package/dist/skeleton/skeleton.js +91 -0
- package/dist/skeleton/skeleton.js.map +1 -0
- package/dist/slider/index.d.ts +3 -0
- package/dist/slider/index.d.ts.map +1 -0
- package/dist/slider/index.js +2 -0
- package/dist/slider/index.js.map +1 -0
- package/dist/slider/slider.d.ts +33 -0
- package/dist/slider/slider.d.ts.map +1 -0
- package/dist/slider/slider.js +248 -0
- package/dist/slider/slider.js.map +1 -0
- package/dist/spinner/index.d.ts +3 -0
- package/dist/spinner/index.d.ts.map +1 -0
- package/dist/spinner/index.js +2 -0
- package/dist/spinner/index.js.map +1 -0
- package/dist/spinner/spinner.d.ts +23 -0
- package/dist/spinner/spinner.d.ts.map +1 -0
- package/dist/spinner/spinner.js +82 -0
- package/dist/spinner/spinner.js.map +1 -0
- package/dist/state/store.d.ts +4 -0
- package/dist/state/store.d.ts.map +1 -1
- package/dist/state/store.js +27 -7
- package/dist/state/store.js.map +1 -1
- package/dist/sw/sw.d.ts.map +1 -1
- package/dist/sw/sw.js +39 -7
- package/dist/sw/sw.js.map +1 -1
- package/dist/switch/index.d.ts +3 -0
- package/dist/switch/index.d.ts.map +1 -0
- package/dist/switch/index.js +2 -0
- package/dist/switch/index.js.map +1 -0
- package/dist/switch/switch.d.ts +27 -0
- package/dist/switch/switch.d.ts.map +1 -0
- package/dist/switch/switch.js +163 -0
- package/dist/switch/switch.js.map +1 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +1 -0
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/scale.d.ts +40 -0
- package/dist/theme/scale.d.ts.map +1 -0
- package/dist/theme/scale.js +62 -0
- package/dist/theme/scale.js.map +1 -0
- package/dist/tree-view/index.d.ts +3 -0
- package/dist/tree-view/index.d.ts.map +1 -0
- package/dist/tree-view/index.js +2 -0
- package/dist/tree-view/index.js.map +1 -0
- package/dist/tree-view/tree-view.d.ts +29 -0
- package/dist/tree-view/tree-view.d.ts.map +1 -0
- package/dist/tree-view/tree-view.js +273 -0
- package/dist/tree-view/tree-view.js.map +1 -0
- package/dist/utils/index.d.ts +29 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +114 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/websocket/index.d.ts +3 -0
- package/dist/websocket/index.d.ts.map +1 -0
- package/dist/websocket/index.js +2 -0
- package/dist/websocket/index.js.map +1 -0
- package/dist/websocket/websocket.d.ts +31 -0
- package/dist/websocket/websocket.d.ts.map +1 -0
- package/dist/websocket/websocket.js +164 -0
- package/dist/websocket/websocket.js.map +1 -0
- package/package.json +135 -2
|
@@ -24,6 +24,10 @@ export declare abstract class Component extends HTMLElement {
|
|
|
24
24
|
static styles: string;
|
|
25
25
|
/** Override to disable Shadow DOM. Light DOM components use global styles. Default: true */
|
|
26
26
|
static shadow: boolean;
|
|
27
|
+
/** Opt-in: auto-forward wheel events to scrollable containers inside Shadow DOM. Default: false */
|
|
28
|
+
static scrollFix: boolean;
|
|
29
|
+
/** Opt-in: log render triggers to console.debug. Default: false */
|
|
30
|
+
static debugRender: boolean;
|
|
27
31
|
/** Internal reactive state */
|
|
28
32
|
protected _state: Record<string, unknown>;
|
|
29
33
|
/** Proxy-wrapped state that triggers re-renders on mutation */
|
|
@@ -36,6 +40,8 @@ export declare abstract class Component extends HTMLElement {
|
|
|
36
40
|
private _cleanups;
|
|
37
41
|
private _instance;
|
|
38
42
|
private _styleInjected;
|
|
43
|
+
private _usesAdoptedSheets;
|
|
44
|
+
private _afterRenderCallbacks;
|
|
39
45
|
constructor();
|
|
40
46
|
/** Web Components: observed attributes from prop definitions */
|
|
41
47
|
static get observedAttributes(): string[];
|
|
@@ -45,7 +51,7 @@ export declare abstract class Component extends HTMLElement {
|
|
|
45
51
|
private _syncProps;
|
|
46
52
|
/** Schedule a microtask re-render (batches multiple state changes) */
|
|
47
53
|
protected _scheduleRender(): void;
|
|
48
|
-
/** Inject scoped
|
|
54
|
+
/** Inject scoped styles once into shadow root (shared via adoptedStyleSheets when supported) */
|
|
49
55
|
private _ensureStyles;
|
|
50
56
|
/** Perform the actual DOM update */
|
|
51
57
|
private _performRender;
|
|
@@ -60,6 +66,18 @@ export declare abstract class Component extends HTMLElement {
|
|
|
60
66
|
onUpdate(): void;
|
|
61
67
|
/** Called when component is removed from DOM */
|
|
62
68
|
onDestroy(): void;
|
|
69
|
+
/** Auto-forward wheel events to scrollable containers inside shadow DOM */
|
|
70
|
+
private _setupScrollForwarding;
|
|
71
|
+
/**
|
|
72
|
+
* Declarative event delegation within the component's root.
|
|
73
|
+
* Attaches a single listener and matches targets via CSS selector.
|
|
74
|
+
* Auto-cleanup on disconnect.
|
|
75
|
+
*
|
|
76
|
+
* Usage: this.on('click', '.delete-btn', (e, target) => { ... });
|
|
77
|
+
*/
|
|
78
|
+
protected on(event: string, selector: string, handler: (e: Event, target: Element) => void): void;
|
|
79
|
+
/** Register a callback to run after each render paint (requestAnimationFrame). */
|
|
80
|
+
_addAfterRender(fn: () => void): void;
|
|
63
81
|
/** Register a cleanup function to run on disconnect (used by useStore/useSignal/useEffect) */
|
|
64
82
|
_addCleanup(fn: () => void): void;
|
|
65
83
|
/** Query within shadow DOM */
|
|
@@ -71,6 +89,6 @@ export declare abstract class Component extends HTMLElement {
|
|
|
71
89
|
/** Register a component class as a custom element */
|
|
72
90
|
static define(): void;
|
|
73
91
|
}
|
|
74
|
-
export { html, raw } from './html';
|
|
92
|
+
export { html, raw, key } from './html';
|
|
75
93
|
export { TemplateResult } from './template';
|
|
76
94
|
//# sourceMappingURL=component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/component/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,cAAc,EAAoC,MAAM,YAAY,CAAC;AAE9E,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,GAAG,OAAO,MAAM,GAAG,OAAO,OAAO,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/component/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ import { TemplateResult, createInstance } from './template';
|
|
|
14
14
|
* NOTE: `*` must NOT set margin/padding — it bleeds into child custom elements' :host
|
|
15
15
|
* styles via the encapsulation context cascade (outer styles beat :host). */
|
|
16
16
|
const SHADOW_RESET = `:host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}h1,h2,h3,h4,h5,h6,p,figure,blockquote,pre{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;margin:0;padding:0}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;font-weight:inherit;font-size:inherit}p{overflow-wrap:break-word}img,picture,video,canvas,svg{display:block;max-width:100%}`;
|
|
17
|
+
/** Shared CSSStyleSheet cache — one sheet per component class, shared across instances */
|
|
18
|
+
const sheetCache = new WeakMap();
|
|
19
|
+
let resetSheet = null;
|
|
17
20
|
export class Component extends HTMLElement {
|
|
18
21
|
/** Override in subclass: e.g. static tag = 'hero-section' */
|
|
19
22
|
static tag;
|
|
@@ -23,6 +26,10 @@ export class Component extends HTMLElement {
|
|
|
23
26
|
static styles = '';
|
|
24
27
|
/** Override to disable Shadow DOM. Light DOM components use global styles. Default: true */
|
|
25
28
|
static shadow = true;
|
|
29
|
+
/** Opt-in: auto-forward wheel events to scrollable containers inside Shadow DOM. Default: false */
|
|
30
|
+
static scrollFix = false;
|
|
31
|
+
/** Opt-in: log render triggers to console.debug. Default: false */
|
|
32
|
+
static debugRender = false;
|
|
26
33
|
/** Internal reactive state */
|
|
27
34
|
_state = {};
|
|
28
35
|
/** Proxy-wrapped state that triggers re-renders on mutation */
|
|
@@ -35,6 +42,8 @@ export class Component extends HTMLElement {
|
|
|
35
42
|
_cleanups = [];
|
|
36
43
|
_instance = null;
|
|
37
44
|
_styleInjected = false;
|
|
45
|
+
_usesAdoptedSheets = false;
|
|
46
|
+
_afterRenderCallbacks = [];
|
|
38
47
|
constructor() {
|
|
39
48
|
super();
|
|
40
49
|
const ctor = this.constructor;
|
|
@@ -46,6 +55,9 @@ export class Component extends HTMLElement {
|
|
|
46
55
|
if (old === value)
|
|
47
56
|
return true;
|
|
48
57
|
target[key] = value;
|
|
58
|
+
if (this.constructor.debugRender) {
|
|
59
|
+
console.debug(`[nova:render] <${this.constructor.tag}> state.${String(key)}`, { old, new: value });
|
|
60
|
+
}
|
|
49
61
|
this._scheduleRender();
|
|
50
62
|
return true;
|
|
51
63
|
},
|
|
@@ -93,9 +105,15 @@ export class Component extends HTMLElement {
|
|
|
93
105
|
this._performRender();
|
|
94
106
|
if (this._mounted)
|
|
95
107
|
this.onUpdate();
|
|
108
|
+
// Fire post-paint callbacks after DOM updates settle
|
|
109
|
+
if (this._afterRenderCallbacks.length > 0) {
|
|
110
|
+
const cbs = this._afterRenderCallbacks.slice();
|
|
111
|
+
requestAnimationFrame(() => { for (const cb of cbs)
|
|
112
|
+
cb(); });
|
|
113
|
+
}
|
|
96
114
|
});
|
|
97
115
|
}
|
|
98
|
-
/** Inject scoped
|
|
116
|
+
/** Inject scoped styles once into shadow root (shared via adoptedStyleSheets when supported) */
|
|
99
117
|
_ensureStyles() {
|
|
100
118
|
if (this._styleInjected)
|
|
101
119
|
return;
|
|
@@ -103,6 +121,24 @@ export class Component extends HTMLElement {
|
|
|
103
121
|
const ctor = this.constructor;
|
|
104
122
|
if (!ctor.shadow)
|
|
105
123
|
return;
|
|
124
|
+
const root = this._root;
|
|
125
|
+
// Use adoptedStyleSheets for shared CSSStyleSheet (all modern browsers)
|
|
126
|
+
if ('adoptedStyleSheets' in root) {
|
|
127
|
+
if (!resetSheet) {
|
|
128
|
+
resetSheet = new CSSStyleSheet();
|
|
129
|
+
resetSheet.replaceSync(SHADOW_RESET);
|
|
130
|
+
}
|
|
131
|
+
let sheet = sheetCache.get(ctor);
|
|
132
|
+
if (!sheet) {
|
|
133
|
+
sheet = new CSSStyleSheet();
|
|
134
|
+
sheet.replaceSync(ctor.styles);
|
|
135
|
+
sheetCache.set(ctor, sheet);
|
|
136
|
+
}
|
|
137
|
+
root.adoptedStyleSheets = [resetSheet, sheet];
|
|
138
|
+
this._usesAdoptedSheets = true;
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
// Fallback: inline <style> for older browsers
|
|
106
142
|
const style = document.createElement('style');
|
|
107
143
|
style.textContent = SHADOW_RESET + ctor.styles;
|
|
108
144
|
this._root.insertBefore(style, this._root.firstChild);
|
|
@@ -125,8 +161,9 @@ export class Component extends HTMLElement {
|
|
|
125
161
|
// Clear any previous innerHTML content (transition from SafeHTML or first render)
|
|
126
162
|
const ctor = this.constructor;
|
|
127
163
|
if (ctor.shadow) {
|
|
128
|
-
// Keep <style> if injected, clear everything else
|
|
129
|
-
|
|
164
|
+
// Keep <style> if injected via inline (not adoptedStyleSheets), clear everything else
|
|
165
|
+
const preserveCount = (this._styleInjected && !this._usesAdoptedSheets) ? 1 : 0;
|
|
166
|
+
while (this._root.childNodes.length > preserveCount) {
|
|
130
167
|
this._root.removeChild(this._root.lastChild);
|
|
131
168
|
}
|
|
132
169
|
}
|
|
@@ -160,6 +197,11 @@ export class Component extends HTMLElement {
|
|
|
160
197
|
this._syncProps();
|
|
161
198
|
this._performRender();
|
|
162
199
|
this._mounted = true;
|
|
200
|
+
// Auto-forward wheel events to scrollable shadow DOM containers
|
|
201
|
+
const ctor = this.constructor;
|
|
202
|
+
if (ctor.scrollFix && ctor.shadow) {
|
|
203
|
+
this._setupScrollForwarding();
|
|
204
|
+
}
|
|
163
205
|
this.onMount();
|
|
164
206
|
}
|
|
165
207
|
disconnectedCallback() {
|
|
@@ -174,14 +216,19 @@ export class Component extends HTMLElement {
|
|
|
174
216
|
for (const fn of this._cleanups)
|
|
175
217
|
fn();
|
|
176
218
|
this._cleanups.length = 0;
|
|
219
|
+
this._afterRenderCallbacks.length = 0;
|
|
177
220
|
this.onDestroy();
|
|
178
221
|
}
|
|
179
222
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
180
223
|
if (oldValue === newValue)
|
|
181
224
|
return;
|
|
182
225
|
this.props[name] = this._parseProp(name, newValue);
|
|
183
|
-
if (this._mounted)
|
|
226
|
+
if (this._mounted) {
|
|
227
|
+
if (this.constructor.debugRender) {
|
|
228
|
+
console.debug(`[nova:render] <${this.constructor.tag}> prop "${name}"`, { old: oldValue, new: newValue });
|
|
229
|
+
}
|
|
184
230
|
this._scheduleRender();
|
|
231
|
+
}
|
|
185
232
|
}
|
|
186
233
|
/** Called after first render and DOM attachment */
|
|
187
234
|
onMount() { }
|
|
@@ -190,6 +237,69 @@ export class Component extends HTMLElement {
|
|
|
190
237
|
/** Called when component is removed from DOM */
|
|
191
238
|
onDestroy() { }
|
|
192
239
|
// --- Utility ---
|
|
240
|
+
/** Auto-forward wheel events to scrollable containers inside shadow DOM */
|
|
241
|
+
_setupScrollForwarding() {
|
|
242
|
+
const root = this._root;
|
|
243
|
+
const handler = (e) => {
|
|
244
|
+
const els = root.elementsFromPoint(e.clientX, e.clientY);
|
|
245
|
+
for (const el of els) {
|
|
246
|
+
if (!(el instanceof HTMLElement))
|
|
247
|
+
continue;
|
|
248
|
+
const style = getComputedStyle(el);
|
|
249
|
+
const scrollableY = (style.overflowY === 'auto' || style.overflowY === 'scroll') && el.scrollHeight > el.clientHeight;
|
|
250
|
+
const scrollableX = (style.overflowX === 'auto' || style.overflowX === 'scroll') && el.scrollWidth > el.clientWidth;
|
|
251
|
+
if (scrollableY && e.deltaY !== 0) {
|
|
252
|
+
const max = el.scrollHeight - el.clientHeight;
|
|
253
|
+
const atTop = el.scrollTop <= 0 && e.deltaY < 0;
|
|
254
|
+
const atBottom = el.scrollTop >= max - 1 && e.deltaY > 0;
|
|
255
|
+
if (!atTop && !atBottom) {
|
|
256
|
+
el.scrollTop = Math.max(0, Math.min(max, el.scrollTop + e.deltaY));
|
|
257
|
+
e.preventDefault();
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (scrollableX && e.deltaX !== 0) {
|
|
262
|
+
const max = el.scrollWidth - el.clientWidth;
|
|
263
|
+
const atLeft = el.scrollLeft <= 0 && e.deltaX < 0;
|
|
264
|
+
const atRight = el.scrollLeft >= max - 1 && e.deltaX > 0;
|
|
265
|
+
if (!atLeft && !atRight) {
|
|
266
|
+
el.scrollLeft = Math.max(0, Math.min(max, el.scrollLeft + e.deltaX));
|
|
267
|
+
e.preventDefault();
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
this.addEventListener('wheel', handler, { passive: false });
|
|
274
|
+
this._addCleanup(() => this.removeEventListener('wheel', handler));
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Declarative event delegation within the component's root.
|
|
278
|
+
* Attaches a single listener and matches targets via CSS selector.
|
|
279
|
+
* Auto-cleanup on disconnect.
|
|
280
|
+
*
|
|
281
|
+
* Usage: this.on('click', '.delete-btn', (e, target) => { ... });
|
|
282
|
+
*/
|
|
283
|
+
on(event, selector, handler) {
|
|
284
|
+
const root = this._root;
|
|
285
|
+
const listener = (e) => {
|
|
286
|
+
const path = e.composedPath();
|
|
287
|
+
for (const node of path) {
|
|
288
|
+
if (node === root)
|
|
289
|
+
break;
|
|
290
|
+
if (node instanceof Element && node.matches(selector)) {
|
|
291
|
+
handler(e, node);
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
root.addEventListener(event, listener);
|
|
297
|
+
this._addCleanup(() => root.removeEventListener(event, listener));
|
|
298
|
+
}
|
|
299
|
+
/** Register a callback to run after each render paint (requestAnimationFrame). */
|
|
300
|
+
_addAfterRender(fn) {
|
|
301
|
+
this._afterRenderCallbacks.push(fn);
|
|
302
|
+
}
|
|
193
303
|
/** Register a cleanup function to run on disconnect (used by useStore/useSignal/useEffect) */
|
|
194
304
|
_addCleanup(fn) {
|
|
195
305
|
this._cleanups.push(fn);
|
|
@@ -214,6 +324,6 @@ export class Component extends HTMLElement {
|
|
|
214
324
|
}
|
|
215
325
|
}
|
|
216
326
|
// Re-export html for convenience
|
|
217
|
-
export { html, raw } from './html';
|
|
327
|
+
export { html, raw, key } from './html';
|
|
218
328
|
export { TemplateResult } from './template';
|
|
219
329
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -56,5 +56,55 @@ export interface TickHandle {
|
|
|
56
56
|
* @returns TickHandle with pause/resume/destroy controls
|
|
57
57
|
*/
|
|
58
58
|
export declare function useTick(component: Component, callback: (elapsed: number) => void, intervalMs: number): TickHandle;
|
|
59
|
+
/**
|
|
60
|
+
* Memoize an expensive computation inside a component's render().
|
|
61
|
+
* The function is only re-executed when dependencies change (shallow Object.is comparison).
|
|
62
|
+
* Cleanup is automatic on component disconnect.
|
|
63
|
+
*
|
|
64
|
+
* @param component The component to tie lifecycle to
|
|
65
|
+
* @param fn The computation function
|
|
66
|
+
* @param deps Dependency array — recompute when any dep changes
|
|
67
|
+
* @returns The cached (or freshly computed) result
|
|
68
|
+
*/
|
|
69
|
+
export declare function useComputed<T>(component: Component, fn: () => T, deps: unknown[]): T;
|
|
70
|
+
export interface IntervalHandle {
|
|
71
|
+
/** Pause the interval */
|
|
72
|
+
pause(): void;
|
|
73
|
+
/** Resume after pause */
|
|
74
|
+
resume(): void;
|
|
75
|
+
/** Change the interval duration (restarts the timer) */
|
|
76
|
+
setInterval(ms: number): void;
|
|
77
|
+
/** Whether the interval is currently running */
|
|
78
|
+
readonly active: boolean;
|
|
79
|
+
/** Stop and clean up */
|
|
80
|
+
destroy(): void;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Create an auto-cleaned interval tied to a component's lifecycle.
|
|
84
|
+
* Unlike useTick, this does NOT pause when the tab is hidden — critical
|
|
85
|
+
* for countdowns and timers that must keep running.
|
|
86
|
+
*
|
|
87
|
+
* @param component The component to tie lifecycle to
|
|
88
|
+
* @param callback Function called on each tick. Receives elapsed ms since start.
|
|
89
|
+
* @param intervalMs Interval in milliseconds
|
|
90
|
+
*/
|
|
91
|
+
export declare function useInterval(component: Component, callback: (elapsed: number) => void, intervalMs: number): IntervalHandle;
|
|
92
|
+
/**
|
|
93
|
+
* Fix wheel-event scrolling for a specific container inside Shadow DOM.
|
|
94
|
+
* Attaches a wheel handler on the component host that forwards scroll
|
|
95
|
+
* events to the targeted container.
|
|
96
|
+
*
|
|
97
|
+
* @param component The component containing the scroll container
|
|
98
|
+
* @param selector CSS selector for the scrollable element within shadow DOM
|
|
99
|
+
*/
|
|
100
|
+
export declare function useScroll(component: Component, selector: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* Register a callback to run after each render, in a requestAnimationFrame.
|
|
103
|
+
* Unlike onUpdate(), this guarantees the browser has painted before the callback fires.
|
|
104
|
+
*
|
|
105
|
+
* @param component The component to observe
|
|
106
|
+
* @param fn Callback to run after each render paint
|
|
107
|
+
*/
|
|
108
|
+
export declare function afterRender(component: Component, fn: () => void): void;
|
|
59
109
|
export {};
|
|
60
110
|
//# sourceMappingURL=connect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/component/connect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,yFAAyF;AACzF,UAAU,YAAY,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC;IACN,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC/C;AAED,kEAAkE;AAClE,UAAU,iBAAiB,CAAC,CAAC;IAC3B,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC5F;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAM7E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpD,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC3B,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAKnF;AAID,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,KAAK,IAAI,IAAI,CAAC;IACd,yBAAyB;IACzB,MAAM,IAAI,IAAI,CAAC;IACf,wDAAwD;IACxD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,4EAA4E;IAC5E,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,UAAU,EAAE,MAAM,GACjB,UAAU,CAuDZ"}
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/component/connect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,yFAAyF;AACzF,UAAU,YAAY,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC;IACN,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC/C;AAED,kEAAkE;AAClE,UAAU,iBAAiB,CAAC,CAAC;IAC3B,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC5F;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAM7E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpD,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC3B,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAKnF;AAID,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,KAAK,IAAI,IAAI,CAAC;IACd,yBAAyB;IACzB,MAAM,IAAI,IAAI,CAAC;IACf,wDAAwD;IACxD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,4EAA4E;IAC5E,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,UAAU,EAAE,MAAM,GACjB,UAAU,CAuDZ;AAMD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,CAAC,EACX,IAAI,EAAE,OAAO,EAAE,GACd,CAAC,CAkBH;AAID,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,yBAAyB;IACzB,MAAM,IAAI,IAAI,CAAC;IACf,wDAAwD;IACxD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,wBAAwB;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,UAAU,EAAE,MAAM,GACjB,cAAc,CA0ChB;AAID;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAwBtE;AAID;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAOtE"}
|
|
@@ -112,4 +112,139 @@ export function useTick(component, callback, intervalMs) {
|
|
|
112
112
|
component._addCleanup(handle.destroy);
|
|
113
113
|
return handle;
|
|
114
114
|
}
|
|
115
|
+
/* ---- Computed / Memoization Helper ---- */
|
|
116
|
+
const computedCache = new WeakMap();
|
|
117
|
+
/**
|
|
118
|
+
* Memoize an expensive computation inside a component's render().
|
|
119
|
+
* The function is only re-executed when dependencies change (shallow Object.is comparison).
|
|
120
|
+
* Cleanup is automatic on component disconnect.
|
|
121
|
+
*
|
|
122
|
+
* @param component The component to tie lifecycle to
|
|
123
|
+
* @param fn The computation function
|
|
124
|
+
* @param deps Dependency array — recompute when any dep changes
|
|
125
|
+
* @returns The cached (or freshly computed) result
|
|
126
|
+
*/
|
|
127
|
+
export function useComputed(component, fn, deps) {
|
|
128
|
+
let cache = computedCache.get(component);
|
|
129
|
+
if (!cache) {
|
|
130
|
+
cache = new Map();
|
|
131
|
+
computedCache.set(component, cache);
|
|
132
|
+
component._addCleanup(() => computedCache.delete(component));
|
|
133
|
+
}
|
|
134
|
+
const entry = cache.get(fn);
|
|
135
|
+
if (entry) {
|
|
136
|
+
const changed = deps.length !== entry.deps.length ||
|
|
137
|
+
deps.some((d, i) => !Object.is(d, entry.deps[i]));
|
|
138
|
+
if (!changed)
|
|
139
|
+
return entry.result;
|
|
140
|
+
}
|
|
141
|
+
const result = fn();
|
|
142
|
+
cache.set(fn, { deps, result });
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Create an auto-cleaned interval tied to a component's lifecycle.
|
|
147
|
+
* Unlike useTick, this does NOT pause when the tab is hidden — critical
|
|
148
|
+
* for countdowns and timers that must keep running.
|
|
149
|
+
*
|
|
150
|
+
* @param component The component to tie lifecycle to
|
|
151
|
+
* @param callback Function called on each tick. Receives elapsed ms since start.
|
|
152
|
+
* @param intervalMs Interval in milliseconds
|
|
153
|
+
*/
|
|
154
|
+
export function useInterval(component, callback, intervalMs) {
|
|
155
|
+
let id = null;
|
|
156
|
+
let running = false;
|
|
157
|
+
let ms = intervalMs;
|
|
158
|
+
let destroyed = false;
|
|
159
|
+
const startTime = Date.now();
|
|
160
|
+
function tick() {
|
|
161
|
+
callback(Date.now() - startTime);
|
|
162
|
+
}
|
|
163
|
+
function start() {
|
|
164
|
+
if (running)
|
|
165
|
+
return;
|
|
166
|
+
running = true;
|
|
167
|
+
id = setInterval(tick, ms);
|
|
168
|
+
}
|
|
169
|
+
function stop() {
|
|
170
|
+
if (!running)
|
|
171
|
+
return;
|
|
172
|
+
running = false;
|
|
173
|
+
if (id !== null) {
|
|
174
|
+
clearInterval(id);
|
|
175
|
+
id = null;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
start();
|
|
179
|
+
const handle = {
|
|
180
|
+
pause() { stop(); },
|
|
181
|
+
resume() { if (!destroyed)
|
|
182
|
+
start(); },
|
|
183
|
+
setInterval(newMs) {
|
|
184
|
+
ms = newMs;
|
|
185
|
+
if (running) {
|
|
186
|
+
stop();
|
|
187
|
+
start();
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
get active() { return running; },
|
|
191
|
+
destroy() {
|
|
192
|
+
if (destroyed)
|
|
193
|
+
return;
|
|
194
|
+
destroyed = true;
|
|
195
|
+
stop();
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
component._addCleanup(handle.destroy);
|
|
199
|
+
return handle;
|
|
200
|
+
}
|
|
201
|
+
/* ---- Scroll Helper ---- */
|
|
202
|
+
/**
|
|
203
|
+
* Fix wheel-event scrolling for a specific container inside Shadow DOM.
|
|
204
|
+
* Attaches a wheel handler on the component host that forwards scroll
|
|
205
|
+
* events to the targeted container.
|
|
206
|
+
*
|
|
207
|
+
* @param component The component containing the scroll container
|
|
208
|
+
* @param selector CSS selector for the scrollable element within shadow DOM
|
|
209
|
+
*/
|
|
210
|
+
export function useScroll(component, selector) {
|
|
211
|
+
queueMicrotask(() => {
|
|
212
|
+
const root = component._root;
|
|
213
|
+
const el = root.querySelector(selector);
|
|
214
|
+
if (!el)
|
|
215
|
+
return;
|
|
216
|
+
function onWheel(e) {
|
|
217
|
+
const { scrollTop, scrollHeight, clientHeight } = el;
|
|
218
|
+
const max = scrollHeight - clientHeight;
|
|
219
|
+
if (max <= 0)
|
|
220
|
+
return;
|
|
221
|
+
const atTop = scrollTop <= 0 && e.deltaY < 0;
|
|
222
|
+
const atBottom = scrollTop >= max - 1 && e.deltaY > 0;
|
|
223
|
+
if (!atTop && !atBottom) {
|
|
224
|
+
e.stopPropagation();
|
|
225
|
+
el.scrollTop = Math.max(0, Math.min(max, el.scrollTop + e.deltaY));
|
|
226
|
+
e.preventDefault();
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
component.addEventListener('wheel', onWheel, { passive: false });
|
|
230
|
+
component._addCleanup(() => component.removeEventListener('wheel', onWheel));
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/* ---- After-Render Hook ---- */
|
|
234
|
+
/**
|
|
235
|
+
* Register a callback to run after each render, in a requestAnimationFrame.
|
|
236
|
+
* Unlike onUpdate(), this guarantees the browser has painted before the callback fires.
|
|
237
|
+
*
|
|
238
|
+
* @param component The component to observe
|
|
239
|
+
* @param fn Callback to run after each render paint
|
|
240
|
+
*/
|
|
241
|
+
export function afterRender(component, fn) {
|
|
242
|
+
component._addAfterRender(fn);
|
|
243
|
+
component._addCleanup(() => {
|
|
244
|
+
const cbs = component._afterRenderCallbacks;
|
|
245
|
+
const idx = cbs.indexOf(fn);
|
|
246
|
+
if (idx !== -1)
|
|
247
|
+
cbs.splice(idx, 1);
|
|
248
|
+
});
|
|
249
|
+
}
|
|
115
250
|
//# sourceMappingURL=connect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nova Engine — Template Directives
|
|
3
|
+
*
|
|
4
|
+
* Utility functions for dynamic class and style attribute bindings.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Build a class attribute string from an object of class names to booleans.
|
|
8
|
+
*
|
|
9
|
+
* Usage: html`<div class=${classMap({ btn: true, 'is-active': active })}>`
|
|
10
|
+
*/
|
|
11
|
+
export declare function classMap(obj: Record<string, boolean | undefined | null>): string;
|
|
12
|
+
/**
|
|
13
|
+
* Build a style attribute string from an object of CSS properties to values.
|
|
14
|
+
* camelCase keys are converted to kebab-case. Number values auto-append 'px'.
|
|
15
|
+
* Null/undefined values are skipped.
|
|
16
|
+
*
|
|
17
|
+
* Usage: html`<div style=${styleMap({ fontSize: 16, color: 'red' })}>`
|
|
18
|
+
*/
|
|
19
|
+
export declare function styleMap(obj: Record<string, string | number | undefined | null>): string;
|
|
20
|
+
//# sourceMappingURL=directives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../src/component/directives.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,MAAM,CAShF;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,MAAM,CAUxF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nova Engine — Template Directives
|
|
3
|
+
*
|
|
4
|
+
* Utility functions for dynamic class and style attribute bindings.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Build a class attribute string from an object of class names to booleans.
|
|
8
|
+
*
|
|
9
|
+
* Usage: html`<div class=${classMap({ btn: true, 'is-active': active })}>`
|
|
10
|
+
*/
|
|
11
|
+
export function classMap(obj) {
|
|
12
|
+
let result = '';
|
|
13
|
+
for (const key in obj) {
|
|
14
|
+
if (obj[key]) {
|
|
15
|
+
if (result)
|
|
16
|
+
result += ' ';
|
|
17
|
+
result += key;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Build a style attribute string from an object of CSS properties to values.
|
|
24
|
+
* camelCase keys are converted to kebab-case. Number values auto-append 'px'.
|
|
25
|
+
* Null/undefined values are skipped.
|
|
26
|
+
*
|
|
27
|
+
* Usage: html`<div style=${styleMap({ fontSize: 16, color: 'red' })}>`
|
|
28
|
+
*/
|
|
29
|
+
export function styleMap(obj) {
|
|
30
|
+
let result = '';
|
|
31
|
+
for (const key in obj) {
|
|
32
|
+
const val = obj[key];
|
|
33
|
+
if (val == null)
|
|
34
|
+
continue;
|
|
35
|
+
const prop = key.replace(/[A-Z]/g, (m) => '-' + m.toLowerCase());
|
|
36
|
+
if (result)
|
|
37
|
+
result += '; ';
|
|
38
|
+
result += `${prop}: ${typeof val === 'number' ? val + 'px' : val}`;
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=directives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directives.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,GAA+C;IACtE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,MAAM;gBAAE,MAAM,IAAI,GAAG,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAuD;IAC9E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,IAAI,IAAI;YAAE,SAAS;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,IAAI,MAAM;YAAE,MAAM,IAAI,IAAI,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/component/html.d.ts
CHANGED
|
@@ -32,4 +32,12 @@ export declare class SafeHTML {
|
|
|
32
32
|
export declare function raw(value: string): SafeHTML;
|
|
33
33
|
/** Tagged template — returns TemplateResult for fine-grained rendering */
|
|
34
34
|
export declare function html(strings: TemplateStringsArray, ...values: unknown[]): TemplateResult;
|
|
35
|
+
/**
|
|
36
|
+
* Assign a stable key to a TemplateResult for efficient keyed list diffing.
|
|
37
|
+
* When items in an array have keys, the template engine uses WASM-accelerated
|
|
38
|
+
* LIS diffing (if loaded) to compute minimal DOM operations.
|
|
39
|
+
*
|
|
40
|
+
* Usage: items.map(item => key(item.id, html`<li>${item.name}</li>`))
|
|
41
|
+
*/
|
|
42
|
+
export declare function key(k: string, result: TemplateResult): TemplateResult;
|
|
35
43
|
//# sourceMappingURL=html.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/component/html.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQjD;AAED;;;;;;;;;GASG;AACH,qBAAa,QAAQ;aACS,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAE3C,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAE3C;AAED,0EAA0E;AAC1E,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAExF"}
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/component/html.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQjD;AAED;;;;;;;;;GASG;AACH,qBAAa,QAAQ;aACS,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAE3C,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAE3C;AAED,0EAA0E;AAC1E,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAExF;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,cAAc,CAGrE"}
|
package/dist/component/html.js
CHANGED
|
@@ -48,4 +48,15 @@ export function raw(value) {
|
|
|
48
48
|
export function html(strings, ...values) {
|
|
49
49
|
return new TemplateResult(strings, values);
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Assign a stable key to a TemplateResult for efficient keyed list diffing.
|
|
53
|
+
* When items in an array have keys, the template engine uses WASM-accelerated
|
|
54
|
+
* LIS diffing (if loaded) to compute minimal DOM operations.
|
|
55
|
+
*
|
|
56
|
+
* Usage: items.map(item => key(item.id, html`<li>${item.name}</li>`))
|
|
57
|
+
*/
|
|
58
|
+
export function key(k, result) {
|
|
59
|
+
result._key = k;
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
51
62
|
//# sourceMappingURL=html.js.map
|