@sigx/runtime-dom 0.1.4 → 0.1.6
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/Portal.d.ts +58 -0
- package/dist/Portal.d.ts.map +1 -0
- package/dist/index.d.ts +22 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +135 -110
- package/dist/index.js.map +1 -1
- package/dist/jsx.d.ts +118 -15
- package/dist/jsx.d.ts.map +1 -1
- package/package.json +8 -7
- package/dist/auto-loader.d.ts +0 -104
- package/dist/auto-loader.d.ts.map +0 -1
- package/dist/custom-element.d.ts +0 -15
- package/dist/custom-element.d.ts.map +0 -1
- package/dist/sheet.d.ts +0 -51
- package/dist/sheet.d.ts.map +0 -1
- package/dist/styled.d.ts +0 -15
- package/dist/styled.d.ts.map +0 -1
- package/dist/styles.d.ts +0 -61
- package/dist/styles.d.ts.map +0 -1
package/dist/Portal.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Portal component for rendering children to a different DOM location.
|
|
3
|
+
*
|
|
4
|
+
* Uses the `moveBefore` API (Chrome 133+) when available for state-preserving
|
|
5
|
+
* DOM moves. Falls back to `insertBefore` for older browsers.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* import { Portal } from '@sigx/runtime-dom';
|
|
10
|
+
*
|
|
11
|
+
* // Render to document.body (default)
|
|
12
|
+
* <Portal>
|
|
13
|
+
* <div class="modal">Modal content</div>
|
|
14
|
+
* </Portal>
|
|
15
|
+
*
|
|
16
|
+
* // Render to a specific container
|
|
17
|
+
* <Portal to={document.getElementById('modal-root')}>
|
|
18
|
+
* <div class="modal">Modal content</div>
|
|
19
|
+
* </Portal>
|
|
20
|
+
*
|
|
21
|
+
* // Render to a container by selector
|
|
22
|
+
* <Portal to="#modal-root">
|
|
23
|
+
* <div class="modal">Modal content</div>
|
|
24
|
+
* </Portal>
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
import { DefineProp } from '@sigx/runtime-core';
|
|
28
|
+
/**
|
|
29
|
+
* Check if the browser supports the moveBefore API.
|
|
30
|
+
* moveBefore allows moving DOM nodes without losing state (iframes, videos, focus, etc.)
|
|
31
|
+
*/
|
|
32
|
+
export declare function supportsMoveBefore(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Move or insert a node into a parent, using moveBefore when available
|
|
35
|
+
* for state-preserving moves.
|
|
36
|
+
*
|
|
37
|
+
* @param parent - The target parent element
|
|
38
|
+
* @param node - The node to move/insert
|
|
39
|
+
* @param anchor - Optional reference node to insert before
|
|
40
|
+
*/
|
|
41
|
+
export declare function moveNode(parent: Element, node: Node, anchor?: Node | null): void;
|
|
42
|
+
type PortalProps = DefineProp<'to', string | Element> & DefineProp<'disabled', boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Portal component - renders children to a different DOM location.
|
|
45
|
+
*
|
|
46
|
+
* Props:
|
|
47
|
+
* - `to` - Target container (Element or CSS selector string). Defaults to document.body.
|
|
48
|
+
* - `disabled` - When true, renders children in place instead of portaling
|
|
49
|
+
* - `children` - Content to render in the portal
|
|
50
|
+
*
|
|
51
|
+
* Features:
|
|
52
|
+
* - Uses `moveBefore` API (Chrome 133+) for state-preserving DOM moves
|
|
53
|
+
* - Preserves iframe content, video playback, focus, and CSS animations
|
|
54
|
+
* - Falls back to `insertBefore` for older browsers
|
|
55
|
+
*/
|
|
56
|
+
export declare const Portal: import("@sigx/runtime-core").ComponentFactory<PortalProps, void, {}>;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=Portal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAa,UAAU,EAA0C,MAAM,oBAAoB,CAAC;AAInG;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACpB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,IAAI,GAAG,IAAW,GAC3B,IAAI,CAQN;AAuBD,KAAK,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAExF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,sEA2EG,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
import './jsx';
|
|
2
2
|
import './types.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import { RendererOptions } from '@sigx/runtime-core';
|
|
4
|
+
declare function patchProp(dom: Element, key: string, prevValue: any, nextValue: any, isSVG?: boolean): void;
|
|
5
|
+
declare const nodeOps: RendererOptions<Node, Element>;
|
|
6
|
+
/**
|
|
7
|
+
* Render a SignalX element to a DOM container.
|
|
8
|
+
* Supports both Element references and CSS selectors.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { render } from 'sigx';
|
|
13
|
+
*
|
|
14
|
+
* // Using CSS selector
|
|
15
|
+
* render(<App />, "#app");
|
|
16
|
+
*
|
|
17
|
+
* // Using element reference
|
|
18
|
+
* render(<App />, document.getElementById('app')!);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const render: (element: any, container: Element | string, appContext?: any) => void;
|
|
22
|
+
export declare const patch: import("@sigx/runtime-core").RendererPatchFn<Node, Element>, mount: import("@sigx/runtime-core").RendererMountFn<Node, Element>, unmount: import("@sigx/runtime-core").RendererUnmountFn<Node, Element>, mountComponent: import("@sigx/runtime-core").RendererMountComponentFn<Node, Element>;
|
|
23
|
+
export { patchProp, nodeOps };
|
|
7
24
|
/**
|
|
8
25
|
* Mount function for DOM environments.
|
|
9
26
|
* Use this with defineApp().mount() to render to the DOM.
|
|
@@ -19,8 +36,5 @@ export declare const render: (element: JSXElement, container: Element, appContex
|
|
|
19
36
|
* ```
|
|
20
37
|
*/
|
|
21
38
|
export declare const domMount: (component: any, container: HTMLElement | Element | ShadowRoot | string, appContext?: any) => (() => void);
|
|
22
|
-
|
|
23
|
-
* Hydrate existing DOM with VNode structure
|
|
24
|
-
*/
|
|
25
|
-
export declare function hydrate(element: JSXElement, container: Element | ShadowRoot): void;
|
|
39
|
+
export { Portal, supportsMoveBefore, moveNode } from './Portal.js';
|
|
26
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,CAAC;AAEf,OAAO,YAAY,CAAC;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,CAAC;AAEf,OAAO,YAAY,CAAC;AACpB,OAAO,EAA0E,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAwHpJ,iBAAS,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,QA6K5F;AAED,QAAA,MAAM,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CA+B3C,CAAC;AAIF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,GAAG,EAAE,WAAW,OAAO,GAAG,MAAM,EAAE,aAAa,GAAG,KAAG,IAUpF,CAAC;AAGF,eAAO,MAAQ,KAAK,+DAAE,KAAK,+DAAE,OAAO,iEAAE,cAAc,sEAAa,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAE9B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,WAAW,GAAG,EAAE,WAAW,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,EAAE,aAAa,GAAG,KAAG,CAAC,MAAM,IAAI,CAiB9H,CAAC;AAMF,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,85 @@
|
|
|
1
|
-
import { Fragment,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { Fragment, component as component$1, createRenderer, jsx, normalizeSubTree, setDefaultMount, setPlatformModelProcessor } from "@sigx/runtime-core";
|
|
2
|
+
import { effect } from "@sigx/reactivity";
|
|
3
|
+
function supportsMoveBefore() {
|
|
4
|
+
return typeof Node !== "undefined" && "moveBefore" in Node.prototype;
|
|
5
|
+
}
|
|
6
|
+
function moveNode(parent, node, anchor = null) {
|
|
7
|
+
if (supportsMoveBefore()) parent.moveBefore(node, anchor);
|
|
8
|
+
else parent.insertBefore(node, anchor);
|
|
9
|
+
}
|
|
10
|
+
function resolveTarget(target) {
|
|
11
|
+
if (target === void 0) return document.body;
|
|
12
|
+
if (typeof target === "string") {
|
|
13
|
+
const resolved = document.querySelector(target);
|
|
14
|
+
if (!resolved) {
|
|
15
|
+
console.warn(`Portal: Target "${target}" not found, falling back to document.body`);
|
|
16
|
+
return document.body;
|
|
17
|
+
}
|
|
18
|
+
return resolved;
|
|
19
|
+
}
|
|
20
|
+
return target;
|
|
21
|
+
}
|
|
22
|
+
const Portal = component$1(({ props, slots, onMounted, onUnmounted }) => {
|
|
23
|
+
let portalContainer = null;
|
|
24
|
+
let mountedVNode = null;
|
|
25
|
+
let cleanupEffect = null;
|
|
26
|
+
onMounted(() => {
|
|
27
|
+
if (props.disabled) return;
|
|
28
|
+
const targetContainer = resolveTarget(props.to);
|
|
29
|
+
portalContainer = document.createElement("div");
|
|
30
|
+
portalContainer.setAttribute("data-sigx-portal", "");
|
|
31
|
+
moveNode(targetContainer, portalContainer);
|
|
32
|
+
cleanupEffect = effect(() => {
|
|
33
|
+
const children = slots.default();
|
|
34
|
+
if (!portalContainer) return;
|
|
35
|
+
const vnode = normalizeSubTree(children);
|
|
36
|
+
if (mountedVNode) patch(mountedVNode, vnode, portalContainer);
|
|
37
|
+
else mount(vnode, portalContainer);
|
|
38
|
+
mountedVNode = vnode;
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
onUnmounted(() => {
|
|
42
|
+
if (cleanupEffect) {
|
|
43
|
+
cleanupEffect();
|
|
44
|
+
cleanupEffect = null;
|
|
45
|
+
}
|
|
46
|
+
if (mountedVNode && portalContainer) {
|
|
47
|
+
unmount(mountedVNode, portalContainer);
|
|
48
|
+
mountedVNode = null;
|
|
49
|
+
}
|
|
50
|
+
if (portalContainer && portalContainer.parentNode) portalContainer.parentNode.removeChild(portalContainer);
|
|
51
|
+
portalContainer = null;
|
|
52
|
+
});
|
|
53
|
+
return () => {
|
|
54
|
+
if (props.disabled) return jsx(Fragment, { children: slots.default() });
|
|
55
|
+
return null;
|
|
56
|
+
};
|
|
57
|
+
}, { name: "Portal" });
|
|
58
|
+
var svgNS = "http://www.w3.org/2000/svg";
|
|
59
|
+
setPlatformModelProcessor((type, props, [stateObj, key], originalProps) => {
|
|
60
|
+
const setValue = (v) => {
|
|
61
|
+
const updateHandler = stateObj[`onUpdate:${key}`];
|
|
62
|
+
if (typeof updateHandler === "function") updateHandler(v);
|
|
63
|
+
else stateObj[key] = v;
|
|
64
|
+
};
|
|
5
65
|
if (type === "input" && originalProps.type === "checkbox") {
|
|
6
66
|
const val = stateObj[key];
|
|
7
67
|
if (Array.isArray(val)) {
|
|
8
68
|
props.checked = val.includes(originalProps.value);
|
|
9
|
-
const existingHandler = props["onUpdate:
|
|
10
|
-
props["onUpdate:
|
|
69
|
+
const existingHandler = props["onUpdate:modelValue"];
|
|
70
|
+
props["onUpdate:modelValue"] = (checked) => {
|
|
11
71
|
const currentVal = originalProps.value;
|
|
12
72
|
const currentArr = stateObj[key];
|
|
13
73
|
if (checked) {
|
|
14
|
-
if (!currentArr.includes(currentVal))
|
|
15
|
-
} else
|
|
74
|
+
if (!currentArr.includes(currentVal)) setValue([...currentArr, currentVal]);
|
|
75
|
+
} else setValue(currentArr.filter((i) => i !== currentVal));
|
|
16
76
|
if (existingHandler) existingHandler(checked);
|
|
17
77
|
};
|
|
18
78
|
} else {
|
|
19
79
|
props.checked = val;
|
|
20
|
-
const existingHandler = props["onUpdate:
|
|
21
|
-
props["onUpdate:
|
|
22
|
-
|
|
80
|
+
const existingHandler = props["onUpdate:modelValue"];
|
|
81
|
+
props["onUpdate:modelValue"] = (v) => {
|
|
82
|
+
setValue(v);
|
|
23
83
|
if (existingHandler) existingHandler(v);
|
|
24
84
|
};
|
|
25
85
|
}
|
|
@@ -27,17 +87,46 @@ setPlatformSyncProcessor((type, props, [stateObj, key], originalProps) => {
|
|
|
27
87
|
}
|
|
28
88
|
if (type === "input" && originalProps.type === "radio") {
|
|
29
89
|
props.checked = stateObj[key] === originalProps.value;
|
|
30
|
-
const existingHandler = props["onUpdate:
|
|
31
|
-
props["onUpdate:
|
|
32
|
-
if (checked)
|
|
90
|
+
const existingHandler = props["onUpdate:modelValue"];
|
|
91
|
+
props["onUpdate:modelValue"] = (checked) => {
|
|
92
|
+
if (checked) setValue(originalProps.value);
|
|
33
93
|
if (existingHandler) existingHandler(checked);
|
|
34
94
|
};
|
|
35
95
|
return true;
|
|
36
96
|
}
|
|
97
|
+
if (type === "input") {
|
|
98
|
+
props.value = stateObj[key] ?? "";
|
|
99
|
+
const existingHandler = props["onUpdate:modelValue"];
|
|
100
|
+
props["onUpdate:modelValue"] = (v) => {
|
|
101
|
+
setValue(v);
|
|
102
|
+
if (existingHandler) existingHandler(v);
|
|
103
|
+
};
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
if (type === "textarea") {
|
|
107
|
+
props.value = stateObj[key] ?? "";
|
|
108
|
+
const existingHandler = props["onUpdate:modelValue"];
|
|
109
|
+
props["onUpdate:modelValue"] = (v) => {
|
|
110
|
+
setValue(v);
|
|
111
|
+
if (existingHandler) existingHandler(v);
|
|
112
|
+
};
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
if (type === "select") {
|
|
116
|
+
props.value = stateObj[key] ?? "";
|
|
117
|
+
const existingHandler = props["onUpdate:modelValue"];
|
|
118
|
+
props["onUpdate:modelValue"] = (v) => {
|
|
119
|
+
setValue(v);
|
|
120
|
+
if (existingHandler) existingHandler(v);
|
|
121
|
+
};
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
37
124
|
return false;
|
|
38
125
|
});
|
|
39
126
|
function patchProp(dom, key, prevValue, nextValue, isSVG) {
|
|
127
|
+
if (!dom) return;
|
|
40
128
|
const tagName = dom.tagName.toLowerCase();
|
|
129
|
+
const isSvgElement = isSVG ?? dom instanceof SVGElement;
|
|
41
130
|
const oldValue = prevValue;
|
|
42
131
|
const newValue = nextValue;
|
|
43
132
|
if (key === "children" || key === "key" || key === "ref") return;
|
|
@@ -49,10 +138,10 @@ function patchProp(dom, key, prevValue, nextValue, isSVG) {
|
|
|
49
138
|
else el.style[styleKey] = styleObj[styleKey];
|
|
50
139
|
} else el.style.cssText = String(newValue);
|
|
51
140
|
} else if (key.startsWith("on")) {
|
|
52
|
-
if (key === "onUpdate:
|
|
141
|
+
if (key === "onUpdate:modelValue" && (tagName === "input" || tagName === "textarea" || tagName === "select")) {
|
|
53
142
|
const el = dom;
|
|
54
143
|
if (oldValue) {
|
|
55
|
-
const wrapper = oldValue.
|
|
144
|
+
const wrapper = oldValue.__sigx_model_handler;
|
|
56
145
|
if (wrapper) {
|
|
57
146
|
el.removeEventListener("input", wrapper);
|
|
58
147
|
el.removeEventListener("change", wrapper);
|
|
@@ -68,7 +157,7 @@ function patchProp(dom, key, prevValue, nextValue, isSVG) {
|
|
|
68
157
|
else val = target.value;
|
|
69
158
|
newValue(val);
|
|
70
159
|
};
|
|
71
|
-
newValue.
|
|
160
|
+
newValue.__sigx_model_handler = handler;
|
|
72
161
|
const inputType = dom.type;
|
|
73
162
|
if (tagName === "select" || tagName === "input" && (inputType === "checkbox" || inputType === "radio")) el.addEventListener("change", handler);
|
|
74
163
|
else el.addEventListener("input", handler);
|
|
@@ -99,11 +188,26 @@ function patchProp(dom, key, prevValue, nextValue, isSVG) {
|
|
|
99
188
|
else if (key.startsWith(".")) {
|
|
100
189
|
const propName = key.slice(1);
|
|
101
190
|
dom[propName] = newValue;
|
|
102
|
-
} else if (
|
|
103
|
-
|
|
191
|
+
} else if (isSvgElement) if (key === "innerHTML" || key === "textContent") dom[key] = newValue ?? "";
|
|
192
|
+
else if (key.startsWith("xlink:")) {
|
|
193
|
+
const xlinkNS = "http://www.w3.org/1999/xlink";
|
|
194
|
+
if (newValue == null) dom.removeAttributeNS(xlinkNS, key.slice(6));
|
|
195
|
+
else dom.setAttributeNS(xlinkNS, key, String(newValue));
|
|
196
|
+
} else if (newValue === true) dom.setAttribute(key, "");
|
|
197
|
+
else if (newValue === false || newValue == null) dom.removeAttribute(key);
|
|
198
|
+
else dom.setAttribute(key, String(newValue));
|
|
199
|
+
else if ((tagName === "input" || tagName === "textarea" || tagName === "select") && (key === "value" || key === "checked")) {
|
|
200
|
+
if (tagName === "select" && key === "value") {
|
|
201
|
+
queueMicrotask(() => {
|
|
202
|
+
dom.value = String(newValue ?? "");
|
|
203
|
+
});
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
104
206
|
if (key === "checked" && tagName === "input") dom.checked = Boolean(newValue);
|
|
105
207
|
else if (key === "value") dom.value = String(newValue ?? "");
|
|
106
|
-
} else if (key in dom)
|
|
208
|
+
} else if (key in dom) if (newValue == null) {
|
|
209
|
+
if (dom.hasAttribute?.(key)) dom.removeAttribute(key);
|
|
210
|
+
} else try {
|
|
107
211
|
dom[key] = newValue;
|
|
108
212
|
} catch (e) {
|
|
109
213
|
dom.setAttribute(key, String(newValue));
|
|
@@ -113,7 +217,7 @@ function patchProp(dom, key, prevValue, nextValue, isSVG) {
|
|
|
113
217
|
else if (newValue === false || newValue == null) dom.removeAttribute(key);
|
|
114
218
|
else dom.setAttribute(key, String(newValue));
|
|
115
219
|
}
|
|
116
|
-
|
|
220
|
+
var nodeOps = {
|
|
117
221
|
insert: (child, parent, anchor) => {
|
|
118
222
|
parent.insertBefore(child, anchor || null);
|
|
119
223
|
},
|
|
@@ -122,6 +226,7 @@ const renderer = createRenderer({
|
|
|
122
226
|
if (parent) parent.removeChild(child);
|
|
123
227
|
},
|
|
124
228
|
createElement: (tag, isSVG, isCustomizedBuiltIn) => {
|
|
229
|
+
if (isSVG) return document.createElementNS(svgNS, tag);
|
|
125
230
|
const is = isCustomizedBuiltIn ? { is: isCustomizedBuiltIn } : void 0;
|
|
126
231
|
return document.createElement(tag, is);
|
|
127
232
|
},
|
|
@@ -139,22 +244,14 @@ const renderer = createRenderer({
|
|
|
139
244
|
setScopeId: (el, id) => el.setAttribute(id, ""),
|
|
140
245
|
cloneNode: (node) => node.cloneNode(true),
|
|
141
246
|
patchProp
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
* import { defineApp } from '@sigx/runtime-core';
|
|
151
|
-
* import { domMount } from '@sigx/runtime-dom';
|
|
152
|
-
*
|
|
153
|
-
* const app = defineApp(<App />);
|
|
154
|
-
* app.use(routerPlugin)
|
|
155
|
-
* .mount(document.getElementById('app')!, domMount);
|
|
156
|
-
* ```
|
|
157
|
-
*/
|
|
247
|
+
};
|
|
248
|
+
var renderer = createRenderer(nodeOps);
|
|
249
|
+
const render = (element, container, appContext) => {
|
|
250
|
+
const target = typeof container === "string" ? document.querySelector(container) : container;
|
|
251
|
+
if (!target) throw new Error(`Render target "${container}" not found.`);
|
|
252
|
+
return renderer.render(element, target, appContext);
|
|
253
|
+
};
|
|
254
|
+
const { patch, mount, unmount, mountComponent } = renderer;
|
|
158
255
|
const domMount = (component, container, appContext) => {
|
|
159
256
|
const target = typeof container === "string" ? document.querySelector(container) : container;
|
|
160
257
|
if (!target) throw new Error(`Mount target "${container}" not found.`);
|
|
@@ -164,78 +261,6 @@ const domMount = (component, container, appContext) => {
|
|
|
164
261
|
};
|
|
165
262
|
};
|
|
166
263
|
setDefaultMount(domMount);
|
|
167
|
-
|
|
168
|
-
* Hydrate existing DOM with VNode structure
|
|
169
|
-
*/
|
|
170
|
-
function hydrate(element, container) {
|
|
171
|
-
let vnode = null;
|
|
172
|
-
if (element != null && element !== false && element !== true) if (typeof element === "string" || typeof element === "number") vnode = {
|
|
173
|
-
type: Text,
|
|
174
|
-
props: {},
|
|
175
|
-
key: null,
|
|
176
|
-
children: [],
|
|
177
|
-
dom: null,
|
|
178
|
-
text: element
|
|
179
|
-
};
|
|
180
|
-
else vnode = element;
|
|
181
|
-
if (vnode) {
|
|
182
|
-
container._vnode = vnode;
|
|
183
|
-
hydrateRecursive(vnode, container.firstChild);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
function hydrateRecursive(vnode, dom) {
|
|
187
|
-
if (!dom) {
|
|
188
|
-
console.warn("Hydration mismatch: DOM node missing for vnode", vnode);
|
|
189
|
-
return null;
|
|
190
|
-
}
|
|
191
|
-
vnode.dom = dom;
|
|
192
|
-
dom.__vnode = vnode;
|
|
193
|
-
if (vnode.type === Text) {
|
|
194
|
-
if (dom.nodeType !== Node.TEXT_NODE) console.warn("Hydration mismatch: Expected text node", dom);
|
|
195
|
-
else if (dom.nodeValue !== String(vnode.text)) {
|
|
196
|
-
console.warn(`Hydration mismatch: Text content "${dom.nodeValue}" !== "${vnode.text}"`);
|
|
197
|
-
dom.nodeValue = String(vnode.text);
|
|
198
|
-
}
|
|
199
|
-
return dom.nextSibling;
|
|
200
|
-
}
|
|
201
|
-
if (vnode.type === Fragment) {
|
|
202
|
-
let next = dom;
|
|
203
|
-
for (const child of vnode.children) next = hydrateRecursive(child, next);
|
|
204
|
-
return next;
|
|
205
|
-
}
|
|
206
|
-
if (dom.nodeType !== Node.ELEMENT_NODE) {
|
|
207
|
-
console.warn("Hydration mismatch: Expected element node", dom);
|
|
208
|
-
return dom.nextSibling;
|
|
209
|
-
}
|
|
210
|
-
const el = dom;
|
|
211
|
-
if (el.tagName.toLowerCase() !== vnode.type.toLowerCase()) {
|
|
212
|
-
console.warn(`Hydration mismatch: Tag name "${el.tagName}" !== "${vnode.type}"`);
|
|
213
|
-
return dom.nextSibling;
|
|
214
|
-
}
|
|
215
|
-
if (vnode.props) for (const key in vnode.props) patchProp(el, key, null, vnode.props[key]);
|
|
216
|
-
if (vnode.props.ref) {
|
|
217
|
-
if (typeof vnode.props.ref === "function") vnode.props.ref(el);
|
|
218
|
-
else if (vnode.props.ref && typeof vnode.props.ref === "object") vnode.props.ref.current = el;
|
|
219
|
-
}
|
|
220
|
-
let childDom = el.firstChild;
|
|
221
|
-
for (const child of vnode.children) {
|
|
222
|
-
child.parent = vnode;
|
|
223
|
-
childDom = hydrateRecursive(child, childDom);
|
|
224
|
-
}
|
|
225
|
-
if (vnode.type === "select") fixSelectValue(el, vnode.props);
|
|
226
|
-
return dom.nextSibling;
|
|
227
|
-
}
|
|
228
|
-
function fixSelectValue(dom, props) {
|
|
229
|
-
if (dom.tagName === "SELECT" && "value" in props) {
|
|
230
|
-
const val = props.value;
|
|
231
|
-
if (dom.multiple) {
|
|
232
|
-
const options = dom.options;
|
|
233
|
-
const valArray = Array.isArray(val) ? val : [val];
|
|
234
|
-
for (let i = 0; i < options.length; i++) options[i].selected = valArray.includes(options[i].value);
|
|
235
|
-
} else dom.value = String(val);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
264
|
+
export { Portal, domMount, mount, mountComponent, moveNode, nodeOps, patch, patchProp, render, supportsMoveBefore, unmount };
|
|
238
265
|
|
|
239
|
-
//#endregion
|
|
240
|
-
export { createApp, domMount, hydrate, render };
|
|
241
266
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["val: any","vnode: VNode | null","next: Node | null","childDom: Node | null"],"sources":["../src/index.ts"],"sourcesContent":["// Import JSX types (global augmentation)\r\nimport './jsx';\r\n// Import type augmentation for @sigx/runtime-core\r\nimport './types.js';\r\nimport { VNode, Fragment, JSXElement, setPlatformSyncProcessor, createRenderer, RendererOptions, Text, setDefaultMount } from '@sigx/runtime-core';\r\n\r\n// Register DOM-specific sync processor for intrinsic elements (checkbox, radio, etc.)\r\nsetPlatformSyncProcessor((type, props, [stateObj, key], originalProps) => {\r\n // Smart mapping for checkbox\r\n if (type === 'input' && originalProps.type === 'checkbox') {\r\n const val = stateObj[key];\r\n\r\n if (Array.isArray(val)) {\r\n // Array Checkbox (Multi-select)\r\n props.checked = val.includes(originalProps.value);\r\n\r\n const existingHandler = props['onUpdate:value'];\r\n props['onUpdate:value'] = (checked: boolean) => {\r\n const currentVal = originalProps.value;\r\n const currentArr = stateObj[key] as any[];\r\n if (checked) {\r\n if (!currentArr.includes(currentVal)) {\r\n stateObj[key] = [...currentArr, currentVal];\r\n }\r\n } else {\r\n stateObj[key] = currentArr.filter((i: any) => i !== currentVal);\r\n }\r\n if (existingHandler) existingHandler(checked);\r\n };\r\n } else {\r\n // Boolean Checkbox\r\n props.checked = val;\r\n const existingHandler = props['onUpdate:value'];\r\n props['onUpdate:value'] = (v: any) => {\r\n stateObj[key] = v;\r\n if (existingHandler) existingHandler(v);\r\n };\r\n }\r\n return true; // Handled\r\n }\r\n\r\n // Radio Button\r\n if (type === 'input' && originalProps.type === 'radio') {\r\n props.checked = stateObj[key] === originalProps.value;\r\n const existingHandler = props['onUpdate:value'];\r\n props['onUpdate:value'] = (checked: boolean) => {\r\n if (checked) stateObj[key] = originalProps.value;\r\n if (existingHandler) existingHandler(checked);\r\n };\r\n return true; // Handled\r\n }\r\n\r\n // Not handled - use generic fallback\r\n return false;\r\n});\r\n\r\nfunction patchProp(dom: Element, key: string, prevValue: any, nextValue: any, isSVG?: boolean) {\r\n const tagName = dom.tagName.toLowerCase();\r\n const oldProps = prevValue ? { [key]: prevValue } : {};\r\n const newProps = nextValue ? { [key]: nextValue } : {};\r\n\r\n // This is a simplified version of updateProps that handles a single prop\r\n // But the original updateProps handled all props at once.\r\n // The renderer calls patchProp for each key.\r\n\r\n // Logic adapted from original updateProps\r\n const oldValue = prevValue;\r\n const newValue = nextValue;\r\n\r\n if (key === 'children' || key === 'key' || key === 'ref') return;\r\n\r\n if (key === 'style') {\r\n const el = dom as HTMLElement;\r\n if (typeof newValue === 'object' && newValue !== null) {\r\n const styleObj = newValue as Record<string, string | number>;\r\n // We might need to unset old styles if they are not in new styles\r\n // But here we only get the new value for the key.\r\n // Ideally patchProp should handle diffing inside style object if it's an object.\r\n // For now, let's assume full replacement or simple update.\r\n for (const styleKey in styleObj) {\r\n if (styleKey.startsWith('--')) {\r\n el.style.setProperty(styleKey, String(styleObj[styleKey]));\r\n } else {\r\n (el.style as any)[styleKey] = styleObj[styleKey];\r\n }\r\n }\r\n } else {\r\n el.style.cssText = String(newValue);\r\n }\r\n } else if (key.startsWith('on')) {\r\n if (key === 'onUpdate:value' && (tagName === 'input' || tagName === 'textarea' || tagName === 'select')) {\r\n const el = dom as HTMLElement;\r\n if (oldValue) {\r\n const wrapper = (oldValue as any).__sigx_sync_handler;\r\n if (wrapper) {\r\n el.removeEventListener('input', wrapper);\r\n el.removeEventListener('change', wrapper);\r\n }\r\n }\r\n\r\n if (newValue) {\r\n const handler = (e: Event) => {\r\n const target = e.target as HTMLInputElement;\r\n let val: any;\r\n\r\n if (target.type === 'checkbox' || target.type === 'radio') {\r\n val = target.checked;\r\n } else if (target.type === 'number') {\r\n val = target.valueAsNumber;\r\n } else if (tagName === 'select' && (dom as HTMLSelectElement).multiple) {\r\n val = Array.from((dom as HTMLSelectElement).selectedOptions).map(o => o.value);\r\n } else {\r\n val = target.value;\r\n }\r\n\r\n (newValue as Function)(val);\r\n };\r\n (newValue as any).__sigx_sync_handler = handler;\r\n\r\n const inputType = (dom as HTMLInputElement).type;\r\n if (tagName === 'select' || (tagName === 'input' && (inputType === 'checkbox' || inputType === 'radio'))) {\r\n el.addEventListener('change', handler);\r\n } else {\r\n el.addEventListener('input', handler);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n const eventName = key.slice(2).toLowerCase();\r\n // Store handlers on the DOM element to properly track them across re-renders\r\n // Using a Map keyed by event name to ensure we remove the correct wrapper\r\n const handlersKey = '__sigx_event_handlers';\r\n let handlers = (dom as any)[handlersKey] as Map<string, EventListener> | undefined;\r\n if (!handlers) {\r\n handlers = new Map();\r\n (dom as any)[handlersKey] = handlers;\r\n }\r\n\r\n // Remove old handler if exists\r\n const oldHandler = handlers.get(eventName);\r\n if (oldHandler) {\r\n dom.removeEventListener(eventName, oldHandler);\r\n handlers.delete(eventName);\r\n }\r\n\r\n // Add new handler\r\n if (newValue) {\r\n const handler = (e: Event) => {\r\n if (e instanceof CustomEvent) {\r\n (newValue as Function)(e.detail);\r\n } else {\r\n (newValue as Function)(e);\r\n }\r\n };\r\n handlers.set(eventName, handler);\r\n dom.addEventListener(eventName, handler as EventListener);\r\n }\r\n } else if (key === 'className') {\r\n dom.setAttribute('class', String(newValue));\r\n } else if (key.startsWith('.')) {\r\n const propName = key.slice(1);\r\n (dom as any)[propName] = newValue;\r\n } else {\r\n if ((tagName === 'input' || tagName === 'textarea' || tagName === 'select') &&\r\n (key === 'value' || key === 'checked')) {\r\n if (tagName === 'select' && key === 'value') return;\r\n\r\n if (key === 'checked' && tagName === 'input') {\r\n (dom as HTMLInputElement).checked = Boolean(newValue);\r\n } else if (key === 'value') {\r\n (dom as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement).value = String(newValue ?? '');\r\n }\r\n } else if (key in dom) {\r\n try {\r\n (dom as Record<string, any>)[key] = newValue;\r\n } catch (e) {\r\n dom.setAttribute(key, String(newValue));\r\n }\r\n } else if (tagName.includes('-') && !key.includes('-')) {\r\n (dom as Record<string, any>)[key] = newValue;\r\n } else {\r\n if (newValue === true) dom.setAttribute(key, '');\r\n else if (newValue === false || newValue == null) dom.removeAttribute(key);\r\n else dom.setAttribute(key, String(newValue));\r\n }\r\n }\r\n}\r\n\r\nconst nodeOps: RendererOptions<Node, Element> = {\r\n insert: (child, parent, anchor) => {\r\n parent.insertBefore(child, anchor || null);\r\n },\r\n remove: (child) => {\r\n const parent = child.parentNode;\r\n if (parent) {\r\n parent.removeChild(child);\r\n }\r\n },\r\n createElement: (tag, isSVG, isCustomizedBuiltIn) => {\r\n const is = isCustomizedBuiltIn ? { is: isCustomizedBuiltIn } : undefined;\r\n return document.createElement(tag, is);\r\n },\r\n createText: (text) => document.createTextNode(text),\r\n createComment: (text) => document.createComment(text),\r\n setText: (node, text) => {\r\n node.nodeValue = text;\r\n },\r\n setElementText: (el, text) => {\r\n el.textContent = text;\r\n },\r\n parentNode: (node) => node.parentNode as Element,\r\n nextSibling: (node) => node.nextSibling,\r\n querySelector: (selector) => document.querySelector(selector),\r\n setScopeId: (el, id) => el.setAttribute(id, ''),\r\n cloneNode: (node) => node.cloneNode(true),\r\n patchProp\r\n};\r\n\r\nconst renderer = createRenderer(nodeOps);\r\n\r\nexport const { render, createApp } = renderer;\r\n\r\n/**\r\n * Mount function for DOM environments.\r\n * Use this with defineApp().mount() to render to the DOM.\r\n * \r\n * @example\r\n * ```tsx\r\n * import { defineApp } from '@sigx/runtime-core';\r\n * import { domMount } from '@sigx/runtime-dom';\r\n * \r\n * const app = defineApp(<App />);\r\n * app.use(routerPlugin)\r\n * .mount(document.getElementById('app')!, domMount);\r\n * ```\r\n */\r\nexport const domMount = (component: any, container: HTMLElement | Element | ShadowRoot | string, appContext?: any): (() => void) => {\r\n // Resolve string selector to element\r\n const target = typeof container === 'string'\r\n ? document.querySelector(container)\r\n : container;\r\n\r\n if (!target) {\r\n throw new Error(`Mount target \"${container}\" not found.`);\r\n }\r\n\r\n render(component, target as Element, appContext);\r\n\r\n // Return an unmount function\r\n return () => {\r\n // Render null to unmount\r\n render(null as any, target as Element);\r\n };\r\n};\r\n\r\n// Set domMount as the default mount function for this platform\r\nsetDefaultMount(domMount);\r\n\r\n/**\r\n * Hydrate existing DOM with VNode structure\r\n */\r\nexport function hydrate(element: JSXElement, container: Element | ShadowRoot): void {\r\n // Normalize element to VNode\r\n let vnode: VNode | null = null;\r\n if (element != null && element !== false && element !== true) {\r\n if (typeof element === 'string' || typeof element === 'number') {\r\n vnode = {\r\n type: Text,\r\n props: {},\r\n key: null,\r\n children: [],\r\n dom: null,\r\n text: element\r\n };\r\n } else {\r\n vnode = element as VNode;\r\n }\r\n }\r\n\r\n if (vnode) {\r\n (container as any)._vnode = vnode;\r\n // Hydrate starting from the first child of the container\r\n hydrateRecursive(vnode, container.firstChild);\r\n }\r\n}\r\n\r\nfunction hydrateRecursive(vnode: VNode, dom: Node | null): Node | null {\r\n if (!dom) {\r\n // Mismatch: DOM missing. \r\n // In a real implementation, we would mount the node here.\r\n // For now, we just warn.\r\n console.warn('Hydration mismatch: DOM node missing for vnode', vnode);\r\n return null;\r\n }\r\n\r\n vnode.dom = dom;\r\n (dom as any).__vnode = vnode;\r\n\r\n if (vnode.type === Text) {\r\n if (dom.nodeType !== Node.TEXT_NODE) {\r\n console.warn('Hydration mismatch: Expected text node', dom);\r\n // Recovery could happen here\r\n } else {\r\n if (dom.nodeValue !== String(vnode.text)) {\r\n console.warn(`Hydration mismatch: Text content \"${dom.nodeValue}\" !== \"${vnode.text}\"`);\r\n dom.nodeValue = String(vnode.text);\r\n }\r\n }\r\n return dom.nextSibling;\r\n }\r\n\r\n if (vnode.type === Fragment) {\r\n let next: Node | null = dom;\r\n for (const child of vnode.children) {\r\n next = hydrateRecursive(child, next);\r\n }\r\n return next;\r\n }\r\n\r\n // Element\r\n if (dom.nodeType !== Node.ELEMENT_NODE) {\r\n console.warn('Hydration mismatch: Expected element node', dom);\r\n return dom.nextSibling;\r\n }\r\n\r\n const el = dom as HTMLElement;\r\n if (el.tagName.toLowerCase() !== (vnode.type as string).toLowerCase()) {\r\n console.warn(`Hydration mismatch: Tag name \"${el.tagName}\" !== \"${vnode.type}\"`);\r\n return dom.nextSibling;\r\n }\r\n\r\n // Hydrate props (attach listeners and ensure attributes match)\r\n // We reuse updateProps to attach event listeners and fix any attribute mismatches\r\n // updateProps(el, {}, vnode.props, vnode.type as string);\r\n // We need to use patchProp here for each prop\r\n if (vnode.props) {\r\n for (const key in vnode.props) {\r\n patchProp(el, key, null, vnode.props[key]);\r\n }\r\n }\r\n\r\n // Handle ref\r\n if (vnode.props.ref) {\r\n if (typeof vnode.props.ref === 'function') {\r\n vnode.props.ref(el);\r\n } else if (vnode.props.ref && typeof vnode.props.ref === 'object') {\r\n vnode.props.ref.current = el;\r\n }\r\n }\r\n\r\n // Hydrate children\r\n let childDom: Node | null = el.firstChild;\r\n for (const child of vnode.children) {\r\n child.parent = vnode;\r\n childDom = hydrateRecursive(child, childDom);\r\n }\r\n\r\n if (vnode.type === 'select') {\r\n fixSelectValue(el, vnode.props);\r\n }\r\n\r\n return dom.nextSibling;\r\n}\r\n\r\nfunction fixSelectValue(dom: HTMLElement, props: any) {\r\n if (dom.tagName === 'SELECT' && 'value' in props) {\r\n const val = props.value;\r\n if ((dom as HTMLSelectElement).multiple) {\r\n const options = (dom as HTMLSelectElement).options;\r\n const valArray = Array.isArray(val) ? val : [val];\r\n for (let i = 0; i < options.length; i++) {\r\n options[i].selected = valArray.includes(options[i].value);\r\n }\r\n } else {\r\n (dom as HTMLSelectElement).value = String(val);\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/Portal.tsx","../src/index.ts"],"sourcesContent":["/**\r\n * Portal component for rendering children to a different DOM location.\r\n * \r\n * Uses the `moveBefore` API (Chrome 133+) when available for state-preserving\r\n * DOM moves. Falls back to `insertBefore` for older browsers.\r\n * \r\n * @example\r\n * ```tsx\r\n * import { Portal } from '@sigx/runtime-dom';\r\n * \r\n * // Render to document.body (default)\r\n * <Portal>\r\n * <div class=\"modal\">Modal content</div>\r\n * </Portal>\r\n * \r\n * // Render to a specific container\r\n * <Portal to={document.getElementById('modal-root')}>\r\n * <div class=\"modal\">Modal content</div>\r\n * </Portal>\r\n * \r\n * // Render to a container by selector\r\n * <Portal to=\"#modal-root\">\r\n * <div class=\"modal\">Modal content</div>\r\n * </Portal>\r\n * ```\r\n */\r\n\r\nimport { component, DefineProp, Fragment, VNode, jsx, normalizeSubTree } from '@sigx/runtime-core';\r\nimport { effect } from '@sigx/reactivity';\r\nimport { mount, unmount, patch } from './index.js';\r\n\r\n/**\r\n * Check if the browser supports the moveBefore API.\r\n * moveBefore allows moving DOM nodes without losing state (iframes, videos, focus, etc.)\r\n */\r\nexport function supportsMoveBefore(): boolean {\r\n return typeof Node !== 'undefined' && 'moveBefore' in Node.prototype;\r\n}\r\n\r\n/**\r\n * Move or insert a node into a parent, using moveBefore when available\r\n * for state-preserving moves.\r\n * \r\n * @param parent - The target parent element\r\n * @param node - The node to move/insert\r\n * @param anchor - Optional reference node to insert before\r\n */\r\nexport function moveNode(\r\n parent: Element,\r\n node: Node,\r\n anchor: Node | null = null\r\n): void {\r\n if (supportsMoveBefore()) {\r\n // Use moveBefore for state-preserving move (Chrome 133+)\r\n (parent as any).moveBefore(node, anchor);\r\n } else {\r\n // Fallback to insertBefore (causes state reset for iframes, etc.)\r\n parent.insertBefore(node, anchor);\r\n }\r\n}\r\n\r\n/**\r\n * Resolve a portal target from a string selector or Element.\r\n * Returns document.body as fallback.\r\n */\r\nfunction resolveTarget(target: string | Element | undefined): Element {\r\n if (target === undefined) {\r\n return document.body;\r\n }\r\n \r\n if (typeof target === 'string') {\r\n const resolved = document.querySelector(target);\r\n if (!resolved) {\r\n console.warn(`Portal: Target \"${target}\" not found, falling back to document.body`);\r\n return document.body;\r\n }\r\n return resolved;\r\n }\r\n \r\n return target;\r\n}\r\n\r\ntype PortalProps = DefineProp<'to', string | Element> & DefineProp<'disabled', boolean>;\r\n\r\n/**\r\n * Portal component - renders children to a different DOM location.\r\n * \r\n * Props:\r\n * - `to` - Target container (Element or CSS selector string). Defaults to document.body.\r\n * - `disabled` - When true, renders children in place instead of portaling\r\n * - `children` - Content to render in the portal\r\n * \r\n * Features:\r\n * - Uses `moveBefore` API (Chrome 133+) for state-preserving DOM moves\r\n * - Preserves iframe content, video playback, focus, and CSS animations\r\n * - Falls back to `insertBefore` for older browsers\r\n */\r\nexport const Portal = component<PortalProps>(({ props, slots, onMounted, onUnmounted }) => {\r\n // Container element for portal content\r\n let portalContainer: HTMLDivElement | null = null;\r\n let mountedVNode: VNode | null = null;\r\n let cleanupEffect: (() => void) | null = null;\r\n\r\n onMounted(() => {\r\n if (props.disabled) {\r\n return;\r\n }\r\n\r\n // Resolve target container\r\n const targetContainer = resolveTarget(props.to);\r\n\r\n // Create a container div for the portal content\r\n portalContainer = document.createElement('div');\r\n portalContainer.setAttribute('data-sigx-portal', '');\r\n\r\n // Use moveBefore when available for state-preserving move\r\n moveNode(targetContainer, portalContainer);\r\n\r\n // Set up reactive effect to render children into portal container\r\n const stopEffect = effect(() => {\r\n const children = slots.default();\r\n \r\n if (!portalContainer) return;\r\n \r\n // Normalize children to a proper VNode using the shared utility\r\n const vnode = normalizeSubTree(children);\r\n\r\n if (mountedVNode) {\r\n // Patch existing content\r\n patch(mountedVNode, vnode, portalContainer);\r\n } else {\r\n // Initial mount\r\n mount(vnode, portalContainer);\r\n }\r\n \r\n mountedVNode = vnode;\r\n });\r\n\r\n cleanupEffect = stopEffect;\r\n });\r\n\r\n onUnmounted(() => {\r\n // Stop the reactive effect\r\n if (cleanupEffect) {\r\n cleanupEffect();\r\n cleanupEffect = null;\r\n }\r\n\r\n // Unmount the portal content\r\n if (mountedVNode && portalContainer) {\r\n unmount(mountedVNode, portalContainer);\r\n mountedVNode = null;\r\n }\r\n\r\n // Remove the portal container from the DOM\r\n if (portalContainer && portalContainer.parentNode) {\r\n portalContainer.parentNode.removeChild(portalContainer);\r\n }\r\n portalContainer = null;\r\n });\r\n\r\n return () => {\r\n // When disabled, render children in place using jsx function\r\n if (props.disabled) {\r\n const children = slots.default();\r\n return jsx(Fragment, { children });\r\n }\r\n\r\n // When portal is active, render nothing in place\r\n // Children are rendered into the portal container via the effect\r\n return null;\r\n };\r\n}, { name: 'Portal' });\r\n","// Import JSX types (global augmentation)\r\nimport './jsx';\r\n// Import type augmentation for @sigx/runtime-core\r\nimport './types.js';\r\nimport { VNode, Fragment, JSXElement, setPlatformModelProcessor, createRenderer, RendererOptions, Text, setDefaultMount } from '@sigx/runtime-core';\r\n\r\n// SVG namespace for createElementNS\r\nconst svgNS = 'http://www.w3.org/2000/svg';\r\n\r\n// SVG elements that should be created with createElementNS\r\n// Based on https://developer.mozilla.org/en-US/docs/Web/SVG/Element\r\nconst svgElements = new Set([\r\n 'svg', 'animate', 'animateMotion', 'animateTransform', 'circle', 'clipPath',\r\n 'defs', 'desc', 'ellipse', 'feBlend', 'feColorMatrix', 'feComponentTransfer',\r\n 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap',\r\n 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG',\r\n 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology',\r\n 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile',\r\n 'feTurbulence', 'filter', 'foreignObject', 'g', 'image', 'line', 'linearGradient',\r\n 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline',\r\n 'radialGradient', 'rect', 'set', 'stop', 'switch', 'symbol', 'text', 'textPath',\r\n 'title', 'tspan', 'use', 'view'\r\n]);\r\n\r\n/**\r\n * Check if a tag is an SVG element\r\n */\r\nfunction isSvgTag(tag: string): boolean {\r\n return svgElements.has(tag);\r\n}\r\n\r\n// Register DOM-specific model processor for intrinsic elements (checkbox, radio, etc.)\r\nsetPlatformModelProcessor((type, props, [stateObj, key], originalProps) => {\r\n // Helper to set value - uses onUpdate handler if available (for props model forwarding)\r\n const setValue = (v: any) => {\r\n const updateHandler = stateObj[`onUpdate:${key}`];\r\n if (typeof updateHandler === 'function') {\r\n updateHandler(v);\r\n } else {\r\n stateObj[key] = v;\r\n }\r\n };\r\n\r\n // Smart mapping for checkbox\r\n if (type === 'input' && originalProps.type === 'checkbox') {\r\n const val = stateObj[key];\r\n\r\n if (Array.isArray(val)) {\r\n // Array Checkbox (Multi-select)\r\n props.checked = val.includes(originalProps.value);\r\n\r\n const existingHandler = props['onUpdate:modelValue'];\r\n props['onUpdate:modelValue'] = (checked: boolean) => {\r\n const currentVal = originalProps.value;\r\n const currentArr = stateObj[key] as any[];\r\n if (checked) {\r\n if (!currentArr.includes(currentVal)) {\r\n setValue([...currentArr, currentVal]);\r\n }\r\n } else {\r\n setValue(currentArr.filter((i: any) => i !== currentVal));\r\n }\r\n if (existingHandler) existingHandler(checked);\r\n };\r\n } else {\r\n // Boolean Checkbox\r\n props.checked = val;\r\n const existingHandler = props['onUpdate:modelValue'];\r\n props['onUpdate:modelValue'] = (v: any) => {\r\n setValue(v);\r\n if (existingHandler) existingHandler(v);\r\n };\r\n }\r\n return true; // Handled\r\n }\r\n\r\n // Radio Button\r\n if (type === 'input' && originalProps.type === 'radio') {\r\n props.checked = stateObj[key] === originalProps.value;\r\n const existingHandler = props['onUpdate:modelValue'];\r\n props['onUpdate:modelValue'] = (checked: boolean) => {\r\n if (checked) setValue(originalProps.value);\r\n if (existingHandler) existingHandler(checked);\r\n };\r\n return true; // Handled\r\n }\r\n\r\n // Text input (default input type)\r\n if (type === 'input') {\r\n props.value = stateObj[key] ?? '';\r\n const existingHandler = props['onUpdate:modelValue'];\r\n props['onUpdate:modelValue'] = (v: any) => {\r\n setValue(v);\r\n if (existingHandler) existingHandler(v);\r\n };\r\n return true; // Handled\r\n }\r\n\r\n // Textarea\r\n if (type === 'textarea') {\r\n props.value = stateObj[key] ?? '';\r\n const existingHandler = props['onUpdate:modelValue'];\r\n props['onUpdate:modelValue'] = (v: any) => {\r\n setValue(v);\r\n if (existingHandler) existingHandler(v);\r\n };\r\n return true; // Handled\r\n }\r\n\r\n // Select\r\n if (type === 'select') {\r\n props.value = stateObj[key] ?? '';\r\n const existingHandler = props['onUpdate:modelValue'];\r\n props['onUpdate:modelValue'] = (v: any) => {\r\n setValue(v);\r\n if (existingHandler) existingHandler(v);\r\n };\r\n return true; // Handled\r\n }\r\n\r\n // Not handled - use generic fallback\r\n return false;\r\n});\r\n\r\nfunction patchProp(dom: Element, key: string, prevValue: any, nextValue: any, isSVG?: boolean) {\r\n // Guard: skip if dom is null (shouldn't happen but protects against edge cases)\r\n if (!dom) return;\r\n const tagName = dom.tagName.toLowerCase();\r\n \r\n // Detect SVG context: either passed explicitly or detect from element type\r\n // This ensures SVG attributes are handled correctly even if renderer doesn't pass isSVG\r\n const isSvgElement = isSVG ?? (dom instanceof SVGElement);\r\n \r\n const oldProps = prevValue ? { [key]: prevValue } : {};\r\n const newProps = nextValue ? { [key]: nextValue } : {};\r\n\r\n // This is a simplified version of updateProps that handles a single prop\r\n // But the original updateProps handled all props at once.\r\n // The renderer calls patchProp for each key.\r\n\r\n // Logic adapted from original updateProps\r\n const oldValue = prevValue;\r\n const newValue = nextValue;\r\n\r\n if (key === 'children' || key === 'key' || key === 'ref') return;\r\n\r\n if (key === 'style') {\r\n const el = dom as HTMLElement;\r\n if (typeof newValue === 'object' && newValue !== null) {\r\n const styleObj = newValue as Record<string, string | number>;\r\n // We might need to unset old styles if they are not in new styles\r\n // But here we only get the new value for the key.\r\n // Ideally patchProp should handle diffing inside style object if it's an object.\r\n // For now, let's assume full replacement or simple update.\r\n for (const styleKey in styleObj) {\r\n if (styleKey.startsWith('--')) {\r\n el.style.setProperty(styleKey, String(styleObj[styleKey]));\r\n } else {\r\n (el.style as any)[styleKey] = styleObj[styleKey];\r\n }\r\n }\r\n } else {\r\n el.style.cssText = String(newValue);\r\n }\r\n } else if (key.startsWith('on')) {\r\n if (key === 'onUpdate:modelValue' && (tagName === 'input' || tagName === 'textarea' || tagName === 'select')) {\r\n const el = dom as HTMLElement;\r\n if (oldValue) {\r\n const wrapper = (oldValue as any).__sigx_model_handler;\r\n if (wrapper) {\r\n el.removeEventListener('input', wrapper);\r\n el.removeEventListener('change', wrapper);\r\n }\r\n }\r\n\r\n if (newValue) {\r\n const handler = (e: Event) => {\r\n const target = e.target as HTMLInputElement;\r\n let val: any;\r\n\r\n if (target.type === 'checkbox' || target.type === 'radio') {\r\n val = target.checked;\r\n } else if (target.type === 'number') {\r\n val = target.valueAsNumber;\r\n } else if (tagName === 'select' && (dom as HTMLSelectElement).multiple) {\r\n val = Array.from((dom as HTMLSelectElement).selectedOptions).map(o => o.value);\r\n } else {\r\n val = target.value;\r\n }\r\n\r\n (newValue as Function)(val);\r\n };\r\n (newValue as any).__sigx_model_handler = handler;\r\n\r\n const inputType = (dom as HTMLInputElement).type;\r\n if (tagName === 'select' || (tagName === 'input' && (inputType === 'checkbox' || inputType === 'radio'))) {\r\n el.addEventListener('change', handler);\r\n } else {\r\n el.addEventListener('input', handler);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n const eventName = key.slice(2).toLowerCase();\r\n // Store handlers on the DOM element to properly track them across re-renders\r\n // Using a Map keyed by event name to ensure we remove the correct wrapper\r\n const handlersKey = '__sigx_event_handlers';\r\n let handlers = (dom as any)[handlersKey] as Map<string, EventListener> | undefined;\r\n if (!handlers) {\r\n handlers = new Map();\r\n (dom as any)[handlersKey] = handlers;\r\n }\r\n\r\n // Remove old handler if exists\r\n const oldHandler = handlers.get(eventName);\r\n if (oldHandler) {\r\n dom.removeEventListener(eventName, oldHandler);\r\n handlers.delete(eventName);\r\n }\r\n\r\n // Add new handler\r\n if (newValue) {\r\n const handler = (e: Event) => {\r\n if (e instanceof CustomEvent) {\r\n (newValue as Function)(e.detail);\r\n } else {\r\n (newValue as Function)(e);\r\n }\r\n };\r\n handlers.set(eventName, handler);\r\n dom.addEventListener(eventName, handler as EventListener);\r\n }\r\n } else if (key === 'className') {\r\n // For SVG, use setAttribute to preserve case (class works on both)\r\n dom.setAttribute('class', String(newValue));\r\n } else if (key.startsWith('.')) {\r\n const propName = key.slice(1);\r\n (dom as any)[propName] = newValue;\r\n } else if (isSvgElement) {\r\n // SVG elements: use setAttribute to preserve case-sensitive attribute names\r\n // SVG attributes like viewBox, preserveAspectRatio, etc. are case-sensitive\r\n if (key === 'innerHTML' || key === 'textContent') {\r\n // These can be set as properties even on SVG\r\n (dom as any)[key] = newValue ?? '';\r\n } else if (key.startsWith('xlink:')) {\r\n // xlink: attributes need special namespace handling\r\n const xlinkNS = 'http://www.w3.org/1999/xlink';\r\n if (newValue == null) {\r\n dom.removeAttributeNS(xlinkNS, key.slice(6));\r\n } else {\r\n dom.setAttributeNS(xlinkNS, key, String(newValue));\r\n }\r\n } else {\r\n // Standard SVG attribute - use setAttribute to preserve case\r\n if (newValue === true) dom.setAttribute(key, '');\r\n else if (newValue === false || newValue == null) dom.removeAttribute(key);\r\n else dom.setAttribute(key, String(newValue));\r\n }\r\n } else {\r\n if ((tagName === 'input' || tagName === 'textarea' || tagName === 'select') &&\r\n (key === 'value' || key === 'checked')) {\r\n if (tagName === 'select' && key === 'value') {\r\n // Defer setting select value until options are mounted\r\n queueMicrotask(() => {\r\n (dom as HTMLSelectElement).value = String(newValue ?? '');\r\n });\r\n return;\r\n }\r\n\r\n if (key === 'checked' && tagName === 'input') {\r\n (dom as HTMLInputElement).checked = Boolean(newValue);\r\n } else if (key === 'value') {\r\n (dom as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement).value = String(newValue ?? '');\r\n }\r\n } else if (key in dom) {\r\n // Skip undefined/null to avoid DOM coercing to 0 for numeric props like maxLength\r\n if (newValue == null) {\r\n // Remove attribute if it exists\r\n if (dom.hasAttribute?.(key)) {\r\n dom.removeAttribute(key);\r\n }\r\n } else {\r\n try {\r\n (dom as Record<string, any>)[key] = newValue;\r\n } catch (e) {\r\n dom.setAttribute(key, String(newValue));\r\n }\r\n }\r\n } else if (tagName.includes('-') && !key.includes('-')) {\r\n (dom as Record<string, any>)[key] = newValue;\r\n } else {\r\n if (newValue === true) dom.setAttribute(key, '');\r\n else if (newValue === false || newValue == null) dom.removeAttribute(key);\r\n else dom.setAttribute(key, String(newValue));\r\n }\r\n }\r\n}\r\n\r\nconst nodeOps: RendererOptions<Node, Element> = {\r\n insert: (child, parent, anchor) => {\r\n parent.insertBefore(child, anchor || null);\r\n },\r\n remove: (child) => {\r\n const parent = child.parentNode;\r\n if (parent) {\r\n parent.removeChild(child);\r\n }\r\n },\r\n createElement: (tag, isSVG, isCustomizedBuiltIn) => {\r\n if (isSVG) {\r\n return document.createElementNS(svgNS, tag);\r\n }\r\n const is = isCustomizedBuiltIn ? { is: isCustomizedBuiltIn } : undefined;\r\n return document.createElement(tag, is);\r\n },\r\n createText: (text) => document.createTextNode(text),\r\n createComment: (text) => document.createComment(text),\r\n setText: (node, text) => {\r\n node.nodeValue = text;\r\n },\r\n setElementText: (el, text) => {\r\n el.textContent = text;\r\n },\r\n parentNode: (node) => node.parentNode as Element,\r\n nextSibling: (node) => node.nextSibling,\r\n querySelector: (selector) => document.querySelector(selector),\r\n setScopeId: (el, id) => el.setAttribute(id, ''),\r\n cloneNode: (node) => node.cloneNode(true),\r\n patchProp\r\n};\r\n\r\nconst renderer = createRenderer(nodeOps);\r\n\r\n/**\r\n * Render a SignalX element to a DOM container.\r\n * Supports both Element references and CSS selectors.\r\n * \r\n * @example\r\n * ```tsx\r\n * import { render } from 'sigx';\r\n * \r\n * // Using CSS selector\r\n * render(<App />, \"#app\");\r\n * \r\n * // Using element reference\r\n * render(<App />, document.getElementById('app')!);\r\n * ```\r\n */\r\nexport const render = (element: any, container: Element | string, appContext?: any): void => {\r\n const target = typeof container === 'string'\r\n ? document.querySelector(container)\r\n : container;\r\n\r\n if (!target) {\r\n throw new Error(`Render target \"${container}\" not found.`);\r\n }\r\n\r\n return renderer.render(element, target as Element, appContext);\r\n};\r\n\r\n// Export primitives for SSR plugins and hydration\r\nexport const { patch, mount, unmount, mountComponent } = renderer;\r\nexport { patchProp, nodeOps };\r\n\r\n/**\r\n * Mount function for DOM environments.\r\n * Use this with defineApp().mount() to render to the DOM.\r\n * \r\n * @example\r\n * ```tsx\r\n * import { defineApp } from '@sigx/runtime-core';\r\n * import { domMount } from '@sigx/runtime-dom';\r\n * \r\n * const app = defineApp(<App />);\r\n * app.use(routerPlugin)\r\n * .mount(document.getElementById('app')!, domMount);\r\n * ```\r\n */\r\nexport const domMount = (component: any, container: HTMLElement | Element | ShadowRoot | string, appContext?: any): (() => void) => {\r\n // Resolve string selector to element\r\n const target = typeof container === 'string'\r\n ? document.querySelector(container)\r\n : container;\r\n\r\n if (!target) {\r\n throw new Error(`Mount target \"${container}\" not found.`);\r\n }\r\n\r\n render(component, target as Element, appContext);\r\n\r\n // Return an unmount function\r\n return () => {\r\n // Render null to unmount\r\n render(null as any, target as Element);\r\n };\r\n};\r\n\r\n// Set domMount as the default mount function for this platform\r\nsetDefaultMount(domMount);\r\n\r\n// Export Portal component and moveBefore utilities\r\nexport { Portal, supportsMoveBefore, moveNode } from './Portal.js';\r\n"],"mappings":"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"}
|
package/dist/jsx.d.ts
CHANGED
|
@@ -1,15 +1,111 @@
|
|
|
1
1
|
import '@sigx/runtime-core';
|
|
2
|
-
|
|
2
|
+
type CSSNumericProperty = string | number;
|
|
3
|
+
interface CSSProperties {
|
|
4
|
+
position?: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky';
|
|
5
|
+
top?: CSSNumericProperty;
|
|
6
|
+
right?: CSSNumericProperty;
|
|
7
|
+
bottom?: CSSNumericProperty;
|
|
8
|
+
left?: CSSNumericProperty;
|
|
9
|
+
zIndex?: CSSNumericProperty;
|
|
10
|
+
width?: CSSNumericProperty;
|
|
11
|
+
height?: CSSNumericProperty;
|
|
12
|
+
minWidth?: CSSNumericProperty;
|
|
13
|
+
maxWidth?: CSSNumericProperty;
|
|
14
|
+
minHeight?: CSSNumericProperty;
|
|
15
|
+
maxHeight?: CSSNumericProperty;
|
|
16
|
+
margin?: CSSNumericProperty;
|
|
17
|
+
marginTop?: CSSNumericProperty;
|
|
18
|
+
marginRight?: CSSNumericProperty;
|
|
19
|
+
marginBottom?: CSSNumericProperty;
|
|
20
|
+
marginLeft?: CSSNumericProperty;
|
|
21
|
+
padding?: CSSNumericProperty;
|
|
22
|
+
paddingTop?: CSSNumericProperty;
|
|
23
|
+
paddingRight?: CSSNumericProperty;
|
|
24
|
+
paddingBottom?: CSSNumericProperty;
|
|
25
|
+
paddingLeft?: CSSNumericProperty;
|
|
26
|
+
display?: string;
|
|
27
|
+
flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
|
|
28
|
+
flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
|
|
29
|
+
justifyContent?: string;
|
|
30
|
+
alignItems?: string;
|
|
31
|
+
alignContent?: string;
|
|
32
|
+
alignSelf?: string;
|
|
33
|
+
flex?: CSSNumericProperty;
|
|
34
|
+
flexGrow?: CSSNumericProperty;
|
|
35
|
+
flexShrink?: CSSNumericProperty;
|
|
36
|
+
flexBasis?: CSSNumericProperty;
|
|
37
|
+
order?: CSSNumericProperty;
|
|
38
|
+
gap?: CSSNumericProperty;
|
|
39
|
+
rowGap?: CSSNumericProperty;
|
|
40
|
+
columnGap?: CSSNumericProperty;
|
|
41
|
+
gridTemplateColumns?: string;
|
|
42
|
+
gridTemplateRows?: string;
|
|
43
|
+
gridColumn?: string;
|
|
44
|
+
gridRow?: string;
|
|
45
|
+
gridArea?: string;
|
|
46
|
+
gridGap?: CSSNumericProperty;
|
|
47
|
+
fontSize?: CSSNumericProperty;
|
|
48
|
+
fontFamily?: string;
|
|
49
|
+
fontWeight?: CSSNumericProperty;
|
|
50
|
+
fontStyle?: string;
|
|
51
|
+
lineHeight?: CSSNumericProperty;
|
|
52
|
+
letterSpacing?: CSSNumericProperty;
|
|
53
|
+
textAlign?: 'left' | 'center' | 'right' | 'justify';
|
|
54
|
+
textDecoration?: string;
|
|
55
|
+
textTransform?: string;
|
|
56
|
+
whiteSpace?: string;
|
|
57
|
+
wordBreak?: string;
|
|
58
|
+
wordWrap?: string;
|
|
59
|
+
overflowWrap?: string;
|
|
60
|
+
color?: string;
|
|
61
|
+
backgroundColor?: string;
|
|
62
|
+
background?: string;
|
|
63
|
+
backgroundImage?: string;
|
|
64
|
+
backgroundSize?: string;
|
|
65
|
+
backgroundPosition?: string;
|
|
66
|
+
backgroundRepeat?: string;
|
|
67
|
+
border?: string;
|
|
68
|
+
borderWidth?: CSSNumericProperty;
|
|
69
|
+
borderStyle?: string;
|
|
70
|
+
borderColor?: string;
|
|
71
|
+
borderRadius?: CSSNumericProperty;
|
|
72
|
+
borderTop?: string;
|
|
73
|
+
borderRight?: string;
|
|
74
|
+
borderBottom?: string;
|
|
75
|
+
borderLeft?: string;
|
|
76
|
+
opacity?: CSSNumericProperty;
|
|
77
|
+
visibility?: 'visible' | 'hidden' | 'collapse';
|
|
78
|
+
overflow?: 'visible' | 'hidden' | 'scroll' | 'auto';
|
|
79
|
+
overflowX?: 'visible' | 'hidden' | 'scroll' | 'auto';
|
|
80
|
+
overflowY?: 'visible' | 'hidden' | 'scroll' | 'auto';
|
|
81
|
+
boxShadow?: string;
|
|
82
|
+
textShadow?: string;
|
|
83
|
+
transform?: string;
|
|
84
|
+
transformOrigin?: string;
|
|
85
|
+
transition?: string;
|
|
86
|
+
transitionProperty?: string;
|
|
87
|
+
transitionDuration?: string;
|
|
88
|
+
transitionTimingFunction?: string;
|
|
89
|
+
transitionDelay?: string;
|
|
90
|
+
animation?: string;
|
|
91
|
+
cursor?: string;
|
|
92
|
+
pointerEvents?: 'auto' | 'none';
|
|
93
|
+
userSelect?: 'auto' | 'none' | 'text' | 'all';
|
|
94
|
+
objectFit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
|
|
95
|
+
objectPosition?: string;
|
|
96
|
+
[key: string]: CSSNumericProperty | undefined;
|
|
97
|
+
}
|
|
3
98
|
declare global {
|
|
4
99
|
namespace JSX {
|
|
5
100
|
interface IntrinsicAttributes {
|
|
101
|
+
key?: string | number;
|
|
6
102
|
id?: string;
|
|
7
103
|
class?: string;
|
|
8
|
-
style?: string |
|
|
104
|
+
style?: string | CSSProperties;
|
|
9
105
|
[key: `data-${string}`]: any;
|
|
10
106
|
[key: `aria-${string}`]: any;
|
|
11
107
|
}
|
|
12
|
-
interface IntrinsicElements
|
|
108
|
+
interface IntrinsicElements {
|
|
13
109
|
a: HTMLAttributes<HTMLAnchorElement>;
|
|
14
110
|
abbr: HTMLAttributes<HTMLElement>;
|
|
15
111
|
address: HTMLAttributes<HTMLElement>;
|
|
@@ -248,7 +344,7 @@ declare global {
|
|
|
248
344
|
srcSet?: string;
|
|
249
345
|
start?: number;
|
|
250
346
|
step?: number | string;
|
|
251
|
-
style?: string |
|
|
347
|
+
style?: string | CSSProperties;
|
|
252
348
|
summary?: string;
|
|
253
349
|
tabIndex?: number;
|
|
254
350
|
target?: string;
|
|
@@ -285,7 +381,7 @@ declare global {
|
|
|
285
381
|
onEnded?: (event: Event) => void;
|
|
286
382
|
onError?: (event: Event | string) => void;
|
|
287
383
|
onFocus?: (event: FocusEvent) => void;
|
|
288
|
-
onInput?: (event:
|
|
384
|
+
onInput?: (event: InputEvent) => void;
|
|
289
385
|
onInvalid?: (event: Event) => void;
|
|
290
386
|
onKeyDown?: (event: KeyboardEvent) => void;
|
|
291
387
|
onKeyPress?: (event: KeyboardEvent) => void;
|
|
@@ -361,7 +457,7 @@ declare global {
|
|
|
361
457
|
onended?: (event: Event) => void;
|
|
362
458
|
onerror?: (event: Event | string) => void;
|
|
363
459
|
onfocus?: (event: FocusEvent) => void;
|
|
364
|
-
oninput?: (event:
|
|
460
|
+
oninput?: (event: InputEvent) => void;
|
|
365
461
|
oninvalid?: (event: Event) => void;
|
|
366
462
|
onkeydown?: (event: KeyboardEvent) => void;
|
|
367
463
|
onkeypress?: (event: KeyboardEvent) => void;
|
|
@@ -416,26 +512,33 @@ declare global {
|
|
|
416
512
|
[key: `data-${string}`]: any;
|
|
417
513
|
}
|
|
418
514
|
interface FormElementAttributes<T = HTMLElement, V = any> extends HTMLAttributes<T> {
|
|
419
|
-
|
|
420
|
-
[key: `
|
|
421
|
-
"onUpdate:
|
|
515
|
+
model?: [object, string] | (() => V);
|
|
516
|
+
[key: `model:${string}`]: [object, string] | (() => any);
|
|
517
|
+
"onUpdate:modelValue"?: (value: V) => void;
|
|
422
518
|
}
|
|
423
519
|
interface NumberInputAttributes<T = HTMLInputElement> extends FormElementAttributes<T, number> {
|
|
424
520
|
type: "number";
|
|
425
|
-
value?: number;
|
|
521
|
+
value?: number | string;
|
|
522
|
+
}
|
|
523
|
+
interface RangeInputAttributes<T = HTMLInputElement> extends FormElementAttributes<T, number> {
|
|
524
|
+
type: "range";
|
|
525
|
+
value?: number | string;
|
|
526
|
+
min?: number | string;
|
|
527
|
+
max?: number | string;
|
|
528
|
+
step?: number | string;
|
|
426
529
|
}
|
|
427
530
|
interface CheckboxInputAttributes<T = HTMLInputElement> extends HTMLAttributes<T> {
|
|
428
531
|
type: "checkbox" | "radio";
|
|
429
532
|
checked?: boolean;
|
|
430
|
-
|
|
431
|
-
"onUpdate:
|
|
432
|
-
[key: `
|
|
533
|
+
model?: [object, string] | (() => boolean | any[] | string | number);
|
|
534
|
+
"onUpdate:modelValue"?: (checked: boolean) => void;
|
|
535
|
+
[key: `model:${string}`]: [object, string] | (() => any);
|
|
433
536
|
}
|
|
434
537
|
interface TextInputAttributes<T = HTMLInputElement> extends FormElementAttributes<T, string> {
|
|
435
|
-
type?: "text" | "password" | "email" | "search" | "tel" | "url" | "date" | "datetime-local" | "month" | "time" | "week" | "color" | "file" | "hidden" | "image" | "
|
|
538
|
+
type?: "text" | "password" | "email" | "search" | "tel" | "url" | "date" | "datetime-local" | "month" | "time" | "week" | "color" | "file" | "hidden" | "image" | "reset" | "submit" | "button";
|
|
436
539
|
value?: string;
|
|
437
540
|
}
|
|
438
|
-
type InputHTMLAttributes<T = HTMLInputElement> = NumberInputAttributes<T> | CheckboxInputAttributes<T> | TextInputAttributes<T>;
|
|
541
|
+
type InputHTMLAttributes<T = HTMLInputElement> = NumberInputAttributes<T> | RangeInputAttributes<T> | CheckboxInputAttributes<T> | TextInputAttributes<T>;
|
|
439
542
|
interface TextareaHTMLAttributes<T = HTMLTextAreaElement> extends FormElementAttributes<T, string> {
|
|
440
543
|
value?: string;
|
|
441
544
|
}
|
package/dist/jsx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sigx/runtime-dom",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "DOM runtime for SignalX",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,15 +29,16 @@
|
|
|
29
29
|
"url": "https://github.com/signalxjs/core/issues"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@sigx/
|
|
33
|
-
"@sigx/
|
|
32
|
+
"@sigx/runtime-core": "^0.1.6",
|
|
33
|
+
"@sigx/reactivity": "^0.1.6"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"
|
|
37
|
-
"
|
|
36
|
+
"typescript": "^5.9.3",
|
|
37
|
+
"vite": "^8.0.0-beta.9",
|
|
38
|
+
"@sigx/vite": "^0.1.6"
|
|
38
39
|
},
|
|
39
40
|
"scripts": {
|
|
40
|
-
"build": "
|
|
41
|
-
"dev": "
|
|
41
|
+
"build": "vite build && tsc --emitDeclarationOnly",
|
|
42
|
+
"dev": "vite build --watch"
|
|
42
43
|
}
|
|
43
44
|
}
|
package/dist/auto-loader.d.ts
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-loader for sigx components.
|
|
3
|
-
* Automatically loads and bootstraps components when they appear in the DOM.
|
|
4
|
-
*
|
|
5
|
-
* When using <ui.card /> or <my.custom.thing />, this module:
|
|
6
|
-
* 1. Detects unregistered custom elements
|
|
7
|
-
* 2. Looks up the component's source file from the manifest
|
|
8
|
-
* 3. Dynamically imports and registers the component
|
|
9
|
-
* 4. Upgrades the existing DOM elements
|
|
10
|
-
*/
|
|
11
|
-
export interface ComponentManifestEntry {
|
|
12
|
-
/** The tag name, e.g., "ui-card" */
|
|
13
|
-
tagName: string;
|
|
14
|
-
/** The source file path (for bundler) or chunk URL */
|
|
15
|
-
source: string;
|
|
16
|
-
/** Optional: Named export if not default */
|
|
17
|
-
exportName?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface ComponentManifest {
|
|
20
|
-
[tagName: string]: ComponentManifestEntry;
|
|
21
|
-
}
|
|
22
|
-
export interface AutoLoaderOptions {
|
|
23
|
-
/**
|
|
24
|
-
* The manifest mapping tag names to their source files.
|
|
25
|
-
* Can be provided statically or loaded from a URL.
|
|
26
|
-
*/
|
|
27
|
-
manifest?: ComponentManifest | string;
|
|
28
|
-
/**
|
|
29
|
-
* Custom loader function for resolving component modules.
|
|
30
|
-
* If not provided, uses dynamic import().
|
|
31
|
-
*/
|
|
32
|
-
loader?: (source: string) => Promise<any>;
|
|
33
|
-
/**
|
|
34
|
-
* Root element to observe for new custom elements.
|
|
35
|
-
* @default document.body
|
|
36
|
-
*/
|
|
37
|
-
root?: Element;
|
|
38
|
-
/**
|
|
39
|
-
* Whether to show a loading placeholder while components load.
|
|
40
|
-
* @default true
|
|
41
|
-
*/
|
|
42
|
-
showPlaceholder?: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Custom placeholder element or HTML string.
|
|
45
|
-
* @default A subtle loading skeleton
|
|
46
|
-
*/
|
|
47
|
-
placeholder?: string | (() => HTMLElement);
|
|
48
|
-
/**
|
|
49
|
-
* Callback when a component starts loading.
|
|
50
|
-
*/
|
|
51
|
-
onLoadStart?: (tagName: string) => void;
|
|
52
|
-
/**
|
|
53
|
-
* Callback when a component finishes loading.
|
|
54
|
-
*/
|
|
55
|
-
onLoadEnd?: (tagName: string, success: boolean) => void;
|
|
56
|
-
/**
|
|
57
|
-
* Callback when a component fails to load.
|
|
58
|
-
*/
|
|
59
|
-
onError?: (tagName: string, error: Error) => void;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Register a component manifest for auto-loading.
|
|
63
|
-
* Can be called multiple times to merge manifests.
|
|
64
|
-
*/
|
|
65
|
-
export declare function registerManifest(newManifest: ComponentManifest): void;
|
|
66
|
-
/**
|
|
67
|
-
* Register a single component entry for auto-loading.
|
|
68
|
-
*/
|
|
69
|
-
export declare function registerComponentSource(tagName: string, source: string, exportName?: string): void;
|
|
70
|
-
/**
|
|
71
|
-
* Get the current manifest.
|
|
72
|
-
*/
|
|
73
|
-
export declare function getManifest(): ComponentManifest;
|
|
74
|
-
/**
|
|
75
|
-
* Clear the manifest.
|
|
76
|
-
*/
|
|
77
|
-
export declare function clearManifest(): void;
|
|
78
|
-
/**
|
|
79
|
-
* Manually trigger loading of a component.
|
|
80
|
-
* Useful for preloading components before they appear in the DOM.
|
|
81
|
-
*/
|
|
82
|
-
export declare function preloadComponent(tagName: string): Promise<void>;
|
|
83
|
-
/**
|
|
84
|
-
* Preload multiple components in parallel.
|
|
85
|
-
*/
|
|
86
|
-
export declare function preloadComponents(tagNames: string[]): Promise<void>;
|
|
87
|
-
/**
|
|
88
|
-
* Retry loading a failed component.
|
|
89
|
-
*/
|
|
90
|
-
export declare function retryComponent(tagName: string): Promise<void>;
|
|
91
|
-
/**
|
|
92
|
-
* Initialize the auto-loader.
|
|
93
|
-
* Call this once at app startup.
|
|
94
|
-
*/
|
|
95
|
-
export declare function initAutoLoader(opts?: AutoLoaderOptions): Promise<void>;
|
|
96
|
-
/**
|
|
97
|
-
* Destroy the auto-loader.
|
|
98
|
-
*/
|
|
99
|
-
export declare function destroyAutoLoader(): void;
|
|
100
|
-
/**
|
|
101
|
-
* Check if the auto-loader is initialized.
|
|
102
|
-
*/
|
|
103
|
-
export declare function isAutoLoaderInitialized(): boolean;
|
|
104
|
-
//# sourceMappingURL=auto-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auto-loader.d.ts","sourceRoot":"","sources":["../src/auto-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,WAAW,sBAAsB;IACnC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAC9B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAEtC;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1C;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC;IAE3C;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAExD;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD;AAwBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAElG;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,iBAAiB,CAE/C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AA6FD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE;AA0JD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAOxC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD"}
|
package/dist/custom-element.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOM-specific component options
|
|
3
|
-
*/
|
|
4
|
-
export interface DOMComponentOptions {
|
|
5
|
-
/** Whether to use Shadow DOM. Defaults to true. */
|
|
6
|
-
shadow?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface SignalXComponent extends HTMLElement {
|
|
9
|
-
__isSigx: true;
|
|
10
|
-
__provides?: Map<any, any>;
|
|
11
|
-
__parentComponent?: SignalXComponent | null;
|
|
12
|
-
__isMoving?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare function registerWebComponent(tagName: string, options?: DOMComponentOptions): void;
|
|
15
|
-
//# sourceMappingURL=custom-element.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"custom-element.d.ts","sourceRoot":"","sources":["../src/custom-element.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACjD,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AASD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,QAsMlF"}
|
package/dist/sheet.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
export type CSSObject = Partial<CSSStyleDeclaration> & {
|
|
2
|
-
[key: string]: string | number | CSSObject | undefined | any;
|
|
3
|
-
};
|
|
4
|
-
export type StylesMap<T> = {
|
|
5
|
-
[K in keyof T]: string;
|
|
6
|
-
};
|
|
7
|
-
export type DeepPartial<T> = {
|
|
8
|
-
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
9
|
-
};
|
|
10
|
-
export type VarsHelper<T> = T & {
|
|
11
|
-
(overrides?: DeepPartial<T>): Record<string, string>;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Define a set of styles using a typed object.
|
|
15
|
-
* Returns a map of class names that automatically adopts the stylesheet when used.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* const styles = defineStyles({
|
|
20
|
-
* container: {
|
|
21
|
-
* display: "flex",
|
|
22
|
-
* backgroundColor: "var(--bg)",
|
|
23
|
-
* "&:hover": { opacity: 0.8 }
|
|
24
|
-
* }
|
|
25
|
-
* });
|
|
26
|
-
*
|
|
27
|
-
* // In component:
|
|
28
|
-
* <div class={styles.container} />
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
export declare function defineStyles<T extends Record<string, CSSObject>>(styles: T): StylesMap<T>;
|
|
32
|
-
/**
|
|
33
|
-
* Define a set of CSS variables with defaults.
|
|
34
|
-
* Returns a helper that provides both the var() strings and a function to generate style objects.
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```typescript
|
|
38
|
-
* const vars = defineVars('card', {
|
|
39
|
-
* bg: 'white',
|
|
40
|
-
* padding: '1rem'
|
|
41
|
-
* });
|
|
42
|
-
*
|
|
43
|
-
* // Use in styles:
|
|
44
|
-
* // background: vars.bg -> var(--card-bg, white)
|
|
45
|
-
*
|
|
46
|
-
* // Use in component:
|
|
47
|
-
* // style={vars({ bg: 'red' })} -> { '--card-bg': 'red' }
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
export declare function defineVars<T extends Record<string, any>>(namespace: string, defaults: T): VarsHelper<T>;
|
|
51
|
-
//# sourceMappingURL=sheet.d.ts.map
|
package/dist/sheet.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../src/sheet.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG;IACnD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxD,CAAC;AAkCF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAwBzF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CA4CvG"}
|
package/dist/styled.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { JSXElement } from "@sigx/runtime-core";
|
|
2
|
-
type StyledComponent<P> = (props: P & {
|
|
3
|
-
class?: string;
|
|
4
|
-
className?: string;
|
|
5
|
-
children?: any;
|
|
6
|
-
}) => JSXElement;
|
|
7
|
-
type StyledFunction<P> = (strings: TemplateStringsArray, ...values: any[]) => StyledComponent<P>;
|
|
8
|
-
type StyledInterface = {
|
|
9
|
-
[Tag in keyof JSX.IntrinsicElements]: StyledFunction<JSX.IntrinsicElements[Tag]>;
|
|
10
|
-
} & {
|
|
11
|
-
<P>(tag: string | ((props: P) => JSXElement)): StyledFunction<P>;
|
|
12
|
-
};
|
|
13
|
-
export declare const styled: StyledInterface;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=styled.d.ts.map
|
package/dist/styled.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../src/styled.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAcrD,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,KAAK,UAAU,CAAC;AAE5G,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAEjG,KAAK,eAAe,GAAG;KAClB,GAAG,IAAI,MAAM,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;CACnF,GAAG;IACA,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CACpE,CAAC;AA2DF,eAAO,MAAM,MAAM,iBAAc,CAAC"}
|
package/dist/styles.d.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Style Registry for DOM runtime
|
|
3
|
-
* Manages CSS stylesheets with deduplication using adoptedStyleSheets API
|
|
4
|
-
*/
|
|
5
|
-
export type CSSObject = Partial<CSSStyleDeclaration> & {
|
|
6
|
-
[key: string]: string | number | CSSObject | undefined | any;
|
|
7
|
-
};
|
|
8
|
-
export type StylesMap<T> = {
|
|
9
|
-
[K in keyof T]: string;
|
|
10
|
-
};
|
|
11
|
-
export type DeepPartial<T> = {
|
|
12
|
-
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
13
|
-
};
|
|
14
|
-
export type VarsHelper<T> = T & {
|
|
15
|
-
(overrides?: DeepPartial<T>): Record<string, string>;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Register and adopt a stylesheet to the document
|
|
19
|
-
* @param id Unique identifier for deduplication
|
|
20
|
-
* @param cssText The CSS text content
|
|
21
|
-
*/
|
|
22
|
-
export declare function adoptStyles(id: string, cssText: string): void;
|
|
23
|
-
/**
|
|
24
|
-
* Define a set of styles using a typed object.
|
|
25
|
-
* Returns a map of class names that automatically adopts the stylesheet when used.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const styles = defineStyles({
|
|
30
|
-
* container: {
|
|
31
|
-
* display: "flex",
|
|
32
|
-
* backgroundColor: "var(--bg)",
|
|
33
|
-
* "&:hover": { opacity: 0.8 }
|
|
34
|
-
* }
|
|
35
|
-
* });
|
|
36
|
-
*
|
|
37
|
-
* // In component:
|
|
38
|
-
* <div class={styles.container} />
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
export declare function defineStyles<T extends Record<string, CSSObject>>(styles: T): StylesMap<T>;
|
|
42
|
-
/**
|
|
43
|
-
* Define a set of CSS variables with defaults.
|
|
44
|
-
* Returns a helper that provides both the var() strings and a function to generate style objects.
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* ```typescript
|
|
48
|
-
* const vars = defineVars('card', {
|
|
49
|
-
* bg: 'white',
|
|
50
|
-
* padding: '1rem'
|
|
51
|
-
* });
|
|
52
|
-
*
|
|
53
|
-
* // Use in styles:
|
|
54
|
-
* // background: vars.bg -> var(--card-bg, white)
|
|
55
|
-
*
|
|
56
|
-
* // Use in component:
|
|
57
|
-
* // style={vars({ bg: 'red' })} -> { '--card-bg': 'red' }
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
export declare function defineVars<T extends Record<string, any>>(namespace: string, defaults: T): VarsHelper<T>;
|
|
61
|
-
//# sourceMappingURL=styles.d.ts.map
|
package/dist/styles.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG;IACnD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxD,CAAC;AAcF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAqB7D;AA+BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAwBzF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CA4CvG"}
|