tungsten 0.2.7 → 0.2.9
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/Components.d.ts +3 -1
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +100 -51
- package/dist/DomNodes.js +2 -2
- package/dist/FrameworkConfig.d.ts +2 -0
- package/dist/FrameworkConfig.d.ts.map +1 -1
- package/dist/FunctionComponentStandIn.d.ts +2 -0
- package/dist/FunctionComponentStandIn.d.ts.map +1 -1
- package/dist/FunctionComponentStandIn.js +16 -3
- package/dist/Instance/ClientRuntimeContext.d.ts +8 -0
- package/dist/Instance/ClientRuntimeContext.d.ts.map +1 -0
- package/dist/Instance/ClientRuntimeContext.js +1 -0
- package/dist/Instance/Instance.d.ts +20 -1
- package/dist/Instance/Instance.d.ts.map +1 -1
- package/dist/Instance/Instance.js +59 -11
- package/dist/Servers/loadEnvsDev.d.ts +1 -1
- package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.js +18 -3
- package/dist/Store/makeStore.d.ts.map +1 -1
- package/dist/Store/makeStore.js +7 -14
- package/dist/auth/passwordHashing.sxyt.js +2 -2
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -0
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.js +109 -70
- package/dist/bin/commands/compile.sxyt.js +76 -1
- package/dist/build/compileJavascript.d.ts.map +1 -1
- package/dist/build/compileJavascript.js +13 -1
- package/dist/build/makeBabelUserDevConfig.d.ts +1 -1
- package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserDevConfig.js +2 -1
- package/dist/componentProxyHandlers.d.ts +2 -2
- package/dist/componentProxyHandlers.d.ts.map +1 -1
- package/dist/componentProxyHandlers.js +70 -44
- package/dist/componentProxyHandlers.sxyt.d.ts +2 -0
- package/dist/componentProxyHandlers.sxyt.d.ts.map +1 -0
- package/dist/componentProxyHandlers.sxyt.js +130 -0
- package/dist/findUserConfig.d.ts +1 -1
- package/dist/findUserConfig.d.ts.map +1 -1
- package/dist/findUserConfig.js +2 -2
- package/dist/frameworkConfigSchema.d.ts +4 -0
- package/dist/frameworkConfigSchema.d.ts.map +1 -1
- package/dist/frameworkConfigSchema.js +1 -0
- package/dist/getUserConfig.d.ts +1 -1
- package/dist/getUserConfig.d.ts.map +1 -1
- package/dist/getUserConfig.js +2 -2
- package/dist/hooks/useState.js +1 -1
- package/dist/indexInner.d.ts +0 -1
- package/dist/indexInner.d.ts.map +1 -1
- package/dist/indexInner.js +1 -1
- package/dist/update/UpdateScheduler.d.ts +17 -0
- package/dist/update/UpdateScheduler.d.ts.map +1 -0
- package/dist/update/UpdateScheduler.js +113 -0
- package/dist/update/integrateUpdateVdom.d.ts +11 -1
- package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
- package/dist/update/integrateUpdateVdom.js +117 -59
- package/dist/{react-zone.d.ts → zones/react.d.ts} +5 -5
- package/dist/zones/react.d.ts.map +1 -0
- package/dist/{react-zone.js → zones/react.js} +3 -3
- package/package.json +7 -4
- package/readme.md +80 -0
- package/dist/react-zone.d.ts.map +0 -1
package/dist/indexInner.d.ts
CHANGED
|
@@ -36,7 +36,6 @@ export { isDev } from './isDev.js';
|
|
|
36
36
|
export { isProd } from './isProd.js';
|
|
37
37
|
export { logAndReturn } from './logAndReturn.js';
|
|
38
38
|
export * from './requests/index.js';
|
|
39
|
-
export * from './react-zone.jsx';
|
|
40
39
|
export { registerGlobalData, type GlobalData, type GlobalDataFunction } from './routing/registerGlobalData.js';
|
|
41
40
|
export * from './routing/MatchedRoute.jsx';
|
|
42
41
|
export * from './routing/RedirectCode.js';
|
package/dist/indexInner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexInner.d.ts","sourceRoot":"","sources":["../src/indexInner.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACH,uBAAuB,EAAE,uBAAuB,IAAI,eAAe,EAAE,mBAAmB;AACxF,yBAAyB,EAAE,yBAAyB,IAAI,iBAAiB,EAAE,qBAAqB;AAEhG,gCAAgC,EAAE,gCAAgC,IAAI,wBAAwB,EAC9F,kCAAkC,EAAE,kCAAkC,IAAI,0BAA0B,GACvG,MAAM,kBAAkB,CAAA;AAEzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4CAA4C,CAAA;AAC1D,cAAc,yCAAyC,CAAA;AACvD,cAAc,8CAA8C,CAAA;AAC5D,cAAc,yCAAyC,CAAA;AACvD,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yCAAyC,CAAA;AACvD,cAAc,uCAAuC,CAAA;AACrD,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,cAAc,gBAAgB,CAAA;AAG9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,cAAc,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"indexInner.d.ts","sourceRoot":"","sources":["../src/indexInner.ts"],"names":[],"mappings":"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"}
|
package/dist/indexInner.js
CHANGED
|
@@ -45,7 +45,7 @@ export { isProd } from "./isProd.js";
|
|
|
45
45
|
export { logAndReturn } from "./logAndReturn.js";
|
|
46
46
|
//export * from './RenderRoutes.js' // maybe we won't use render routes, instead Router and Route
|
|
47
47
|
export * from "./requests/index.js";
|
|
48
|
-
export * from
|
|
48
|
+
//export * from './zones/react.jsx'
|
|
49
49
|
export { registerGlobalData } from "./routing/registerGlobalData.js";
|
|
50
50
|
export * from "./routing/MatchedRoute.js";
|
|
51
51
|
export * from "./routing/RedirectCode.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type ScheduledWork = () => void | Promise<void>;
|
|
2
|
+
export declare class UpdateScheduler {
|
|
3
|
+
#private;
|
|
4
|
+
readonly maxPasses: number;
|
|
5
|
+
constructor(maxPasses?: number);
|
|
6
|
+
enqueueUpdate(key: object, run: ScheduledWork, description: string): void;
|
|
7
|
+
enqueueTask(run: ScheduledWork, description: string): void;
|
|
8
|
+
trackWork(run: () => unknown, description: string): void;
|
|
9
|
+
resolved(): Promise<void>;
|
|
10
|
+
private resolvePending;
|
|
11
|
+
private run;
|
|
12
|
+
private recordError;
|
|
13
|
+
private throwRecordedError;
|
|
14
|
+
cancelPending(): void;
|
|
15
|
+
dispose(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=UpdateScheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateScheduler.d.ts","sourceRoot":"","sources":["../../src/update/UpdateScheduler.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAOtD,qBAAa,eAAe;;IAOxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;gBAEd,SAAS,SAAM;IAI3B,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzE,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAK1D,SAAS,CAAC,GAAG,EAAE,MAAM,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAsBxD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAQX,cAAc;YA6Bd,GAAG;IAQjB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,kBAAkB;IAQ1B,aAAa,IAAI,IAAI;IAKrB,OAAO,IAAI,IAAI;CAMlB"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
5
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
6
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
7
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
8
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
9
|
+
var _updates = /*#__PURE__*/new WeakMap();
|
|
10
|
+
var _tasks = /*#__PURE__*/new WeakMap();
|
|
11
|
+
var _promises = /*#__PURE__*/new WeakMap();
|
|
12
|
+
var _error = /*#__PURE__*/new WeakMap();
|
|
13
|
+
var _disposed = /*#__PURE__*/new WeakMap();
|
|
14
|
+
var _resolving = /*#__PURE__*/new WeakMap();
|
|
15
|
+
export class UpdateScheduler {
|
|
16
|
+
constructor(maxPasses = 100) {
|
|
17
|
+
_classPrivateFieldInitSpec(this, _updates, new Map());
|
|
18
|
+
_classPrivateFieldInitSpec(this, _tasks, []);
|
|
19
|
+
_classPrivateFieldInitSpec(this, _promises, new Set());
|
|
20
|
+
_classPrivateFieldInitSpec(this, _error, void 0);
|
|
21
|
+
_classPrivateFieldInitSpec(this, _disposed, false);
|
|
22
|
+
_classPrivateFieldInitSpec(this, _resolving, void 0);
|
|
23
|
+
_defineProperty(this, "maxPasses", void 0);
|
|
24
|
+
this.maxPasses = maxPasses;
|
|
25
|
+
}
|
|
26
|
+
enqueueUpdate(key, run, description) {
|
|
27
|
+
if (_classPrivateFieldGet(_disposed, this)) return;
|
|
28
|
+
if (!_classPrivateFieldGet(_updates, this).has(key)) _classPrivateFieldGet(_updates, this).set(key, {
|
|
29
|
+
run,
|
|
30
|
+
description
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
enqueueTask(run, description) {
|
|
34
|
+
if (_classPrivateFieldGet(_disposed, this)) return;
|
|
35
|
+
_classPrivateFieldGet(_tasks, this).push({
|
|
36
|
+
run,
|
|
37
|
+
description
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
trackWork(run, description) {
|
|
41
|
+
if (_classPrivateFieldGet(_disposed, this)) return;
|
|
42
|
+
let result;
|
|
43
|
+
try {
|
|
44
|
+
result = run();
|
|
45
|
+
} catch (error) {
|
|
46
|
+
this.recordError(error, description);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (result instanceof Promise || typeof result === 'object' && result !== null && 'then' in result) {
|
|
50
|
+
const promise = Promise.resolve(result).then(() => undefined, error => this.recordError(error, description)).finally(() => {
|
|
51
|
+
_classPrivateFieldGet(_promises, this).delete(promise);
|
|
52
|
+
});
|
|
53
|
+
_classPrivateFieldGet(_promises, this).add(promise);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
resolved() {
|
|
57
|
+
if (_classPrivateFieldGet(_resolving, this) !== undefined) return _classPrivateFieldGet(_resolving, this);
|
|
58
|
+
_classPrivateFieldSet(_resolving, this, this.resolvePending().finally(() => {
|
|
59
|
+
_classPrivateFieldSet(_resolving, this, undefined);
|
|
60
|
+
}));
|
|
61
|
+
return _classPrivateFieldGet(_resolving, this);
|
|
62
|
+
}
|
|
63
|
+
async resolvePending() {
|
|
64
|
+
let passes = 0;
|
|
65
|
+
while (!_classPrivateFieldGet(_disposed, this) && (_classPrivateFieldGet(_tasks, this).length > 0 || _classPrivateFieldGet(_updates, this).size > 0 || _classPrivateFieldGet(_promises, this).size > 0)) {
|
|
66
|
+
passes++;
|
|
67
|
+
if (passes > this.maxPasses) {
|
|
68
|
+
throw new Error(`Tungsten testing scheduler exceeded ${this.maxPasses} passes. ` + 'A component lifecycle may be continuously queueing updates.');
|
|
69
|
+
}
|
|
70
|
+
const tasks = _classPrivateFieldGet(_tasks, this).splice(0);
|
|
71
|
+
for (const task of tasks) await this.run(task);
|
|
72
|
+
const updates = [..._classPrivateFieldGet(_updates, this).values()];
|
|
73
|
+
_classPrivateFieldGet(_updates, this).clear();
|
|
74
|
+
for (const update of updates) await this.run(update);
|
|
75
|
+
if (_classPrivateFieldGet(_promises, this).size > 0) {
|
|
76
|
+
await Promise.all([..._classPrivateFieldGet(_promises, this)]);
|
|
77
|
+
}
|
|
78
|
+
this.throwRecordedError();
|
|
79
|
+
}
|
|
80
|
+
this.throwRecordedError();
|
|
81
|
+
}
|
|
82
|
+
async run(work) {
|
|
83
|
+
try {
|
|
84
|
+
await work.run();
|
|
85
|
+
} catch (error) {
|
|
86
|
+
this.recordError(error, work.description);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
recordError(error, description) {
|
|
90
|
+
if (_classPrivateFieldGet(_error, this) !== undefined) return;
|
|
91
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
92
|
+
_classPrivateFieldSet(_error, this, new Error(`Tungsten ${description} failed: ${message}`, {
|
|
93
|
+
cause: error
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
throwRecordedError() {
|
|
97
|
+
if (_classPrivateFieldGet(_error, this) !== undefined) {
|
|
98
|
+
const error = _classPrivateFieldGet(_error, this);
|
|
99
|
+
_classPrivateFieldSet(_error, this, undefined);
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
cancelPending() {
|
|
104
|
+
_classPrivateFieldGet(_updates, this).clear();
|
|
105
|
+
_classPrivateFieldGet(_tasks, this).length = 0;
|
|
106
|
+
}
|
|
107
|
+
dispose() {
|
|
108
|
+
_classPrivateFieldSet(_disposed, this, true);
|
|
109
|
+
_classPrivateFieldGet(_updates, this).clear();
|
|
110
|
+
_classPrivateFieldGet(_tasks, this).length = 0;
|
|
111
|
+
_classPrivateFieldGet(_promises, this).clear();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -3,13 +3,16 @@ import { ContentNode, ContentNodeHtml, ContentNodeComponentAny } from '../Conten
|
|
|
3
3
|
import { Instance } from '../Instance/Instance.js';
|
|
4
4
|
import { TungstenElement } from '../TungstenElement.js';
|
|
5
5
|
import { AnyComponent } from '../AnyComponent.js';
|
|
6
|
-
import {
|
|
6
|
+
import { $ContentNull } from '../symbols.js';
|
|
7
|
+
import { RenderedContentNode, RenderedContentNodeComponent } from '../RenderedContentNode.js';
|
|
7
8
|
import { UpdateResult } from './UpdateResult.js';
|
|
9
|
+
import type { TungstenBaseComponentType } from '../Components.jsx';
|
|
8
10
|
export type TungstenHTMLElement = HTMLElement & {
|
|
9
11
|
__tungsten_click_handler: (this: HTMLElement, ev: MouseEvent) => any;
|
|
10
12
|
[key: string]: unknown;
|
|
11
13
|
};
|
|
12
14
|
export declare function integrateElementUpdateVdom(element: AnyComponent, newContent: ContentNode): Promise<UpdateResult>;
|
|
15
|
+
export declare function deleteNodeIfRendered(node: $ContentNull | RenderedContentNode): void;
|
|
13
16
|
export declare function processHtmlNode(node: ContentNodeHtml, parentNode: ContentNode): void;
|
|
14
17
|
type CreateTungstenComponentArgs = {
|
|
15
18
|
parent: TungstenElement;
|
|
@@ -18,5 +21,12 @@ type CreateTungstenComponentArgs = {
|
|
|
18
21
|
domPointer: DomPointer;
|
|
19
22
|
};
|
|
20
23
|
export declare function createTungstenComponent({ parent, instance, node, domPointer }: CreateTungstenComponentArgs): Promise<RenderedContentNodeComponent>;
|
|
24
|
+
export type MountedTungstenRoot<ComponentType extends TungstenBaseComponentType<any, any>> = {
|
|
25
|
+
component: InstanceType<ComponentType>;
|
|
26
|
+
openingComment: Comment;
|
|
27
|
+
closingComment: Comment;
|
|
28
|
+
};
|
|
29
|
+
export declare function createTungstenRootComponent<ComponentType extends TungstenBaseComponentType<any, any>>(RootComponent: ComponentType, props: InstanceType<ComponentType>['props'], routeParams: Record<string, string> | undefined, routeData: unknown, instance: Instance, container: HTMLElement): Promise<MountedTungstenRoot<ComponentType>>;
|
|
30
|
+
export declare function deleteTungstenRoot(root: MountedTungstenRoot<TungstenBaseComponentType<any, any>>): void;
|
|
21
31
|
export {};
|
|
22
32
|
//# sourceMappingURL=integrateUpdateVdom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrateUpdateVdom.d.ts","sourceRoot":"","sources":["../../src/update/integrateUpdateVdom.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACH,WAAW,EAAwC,eAAe,EAElE,uBAAuB,EAG1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAKlD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"integrateUpdateVdom.d.ts","sourceRoot":"","sources":["../../src/update/integrateUpdateVdom.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACH,WAAW,EAAwC,eAAe,EAElE,uBAAuB,EAG1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAKlD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,OAAO,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAA;AAE1D,OAAO,EACe,mBAAmB,EAIT,4BAA4B,EAI3D,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAUhD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAGlE,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAC5C,wBAAwB,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,KAAK,GAAG,CAAA;IACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB,CAAA;AAYD,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,GAC/C,OAAO,CAAC,YAAY,CAAC,CA0GvB;AA+fD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,mBAAmB,QAuC5E;AAgED,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,QAkK7E;AA6VD,KAAK,2BAA2B,GAAG;IAC/B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,uBAAuB,CAAC;IAE9B,UAAU,EAAE,UAAU,CAAA;CACzB,CAAA;AACD,wBAAsB,uBAAuB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,2BAA2B,GAC3G,OAAO,CAAC,4BAA4B,CAAC,CAU1C;AAED,MAAM,MAAM,mBAAmB,CAC3B,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,IACzD;IACA,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;IACtC,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,wBAAsB,2BAA2B,CAC7C,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,EAEzD,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC/C,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,WAAW,GACvB,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAgD7C;AAED,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAC/D,IAAI,CAON"}
|
|
@@ -393,7 +393,7 @@ async function updateHtmlElement(tungstenElement, instance, newNode, oldNode, do
|
|
|
393
393
|
debug('updating html node', newNode[$type]);
|
|
394
394
|
// !!!! update
|
|
395
395
|
const domNode = oldNode.domNode;
|
|
396
|
-
updateAttributes(newNode, oldNode, domNode);
|
|
396
|
+
updateAttributes(tungstenElement, instance, newNode, oldNode, domNode);
|
|
397
397
|
domPointer.increment();
|
|
398
398
|
debug(`!!!!dom pointer index is`, domPointer.index, 'after updating html node');
|
|
399
399
|
// !!! handle children
|
|
@@ -477,8 +477,9 @@ function moveDomNode(domNode, domPointer) {
|
|
|
477
477
|
//console.log('moving domNode', domNode)
|
|
478
478
|
if (domPointer.positionOf(domNode) !== domPointer.index) {
|
|
479
479
|
//console.log('document.activeElement', document.activeElement, domNode == document.activeElement, domNode === document.activeElement)
|
|
480
|
-
const
|
|
481
|
-
const
|
|
480
|
+
const ownerDocument = domNode.ownerDocument;
|
|
481
|
+
const hasFocus = domNode === ownerDocument.activeElement;
|
|
482
|
+
const activeElement = ownerDocument.activeElement;
|
|
482
483
|
if (domPointer.index >= domPointer.parent.childNodes.length) {
|
|
483
484
|
//console.log('appending', domNode)
|
|
484
485
|
domPointer.parent.appendChild(domNode);
|
|
@@ -493,7 +494,7 @@ function moveDomNode(domNode, domPointer) {
|
|
|
493
494
|
}
|
|
494
495
|
domPointer.increment();
|
|
495
496
|
}
|
|
496
|
-
function deleteNodeIfRendered(node) {
|
|
497
|
+
export function deleteNodeIfRendered(node) {
|
|
497
498
|
//console.log('-deleteNodeIfRendered', node)
|
|
498
499
|
debug('-deleteNodeIfRendered', node);
|
|
499
500
|
if (node !== $contentNull && !RenderedContentNodeIsNonRendered(node)) {
|
|
@@ -511,7 +512,10 @@ function deleteNodeIfRendered(node) {
|
|
|
511
512
|
throwError('deleteNodeIfRendered', 'has been asked to remove the head node, this should not occur');
|
|
512
513
|
} else if (RenderedContentNodeSingleIsHtml(node)) {
|
|
513
514
|
debug('delete node html', node);
|
|
514
|
-
|
|
515
|
+
deleteNodeIfRendered(node.renderedChildren);
|
|
516
|
+
if ('ref' in node[$props] && node[$props].ref?.current === node.domNode) {
|
|
517
|
+
node[$props].ref.current = null;
|
|
518
|
+
}
|
|
515
519
|
node.domNode.remove();
|
|
516
520
|
} else if (RenderedContentNodeSingleIsComponent(node)) {
|
|
517
521
|
//console.log('***delete component', node.element.__currentContent)
|
|
@@ -578,7 +582,7 @@ function createComment({
|
|
|
578
582
|
}) {
|
|
579
583
|
debug('-createComment');
|
|
580
584
|
//console.log('createComment', text)
|
|
581
|
-
const comment =
|
|
585
|
+
const comment = documentFromParent(domPointer.parent).createComment(text);
|
|
582
586
|
if (domPointer.index >= domPointer.parent.childNodes.length) {
|
|
583
587
|
domPointer.parent.appendChild(comment);
|
|
584
588
|
} else {
|
|
@@ -727,7 +731,7 @@ function createLiteral(value, domPointer) {
|
|
|
727
731
|
const text = String(value);
|
|
728
732
|
debug('dom parent', domPointer.parent);
|
|
729
733
|
debug('dom index', domPointer.index);
|
|
730
|
-
const textNode =
|
|
734
|
+
const textNode = documentFromParent(domPointer.parent).createTextNode(text);
|
|
731
735
|
if (domPointer.parent.childNodes.length === domPointer.index) {
|
|
732
736
|
domPointer.parent.appendChild(textNode);
|
|
733
737
|
} else {
|
|
@@ -752,8 +756,8 @@ async function createHtmlElement(tungstenElement, instance, node, domPointer, pa
|
|
|
752
756
|
//console.log('Process HTML El')
|
|
753
757
|
processHtmlNode(node, parentNode);
|
|
754
758
|
debug('-createHtmlElement', node);
|
|
755
|
-
const htmlEl =
|
|
756
|
-
addAttributes(node, htmlEl);
|
|
759
|
+
const htmlEl = documentFromParent(domPointer.parent).createElement(node[$type]);
|
|
760
|
+
addAttributes(tungstenElement, instance, node, htmlEl);
|
|
757
761
|
if (node[$type] === 'head') {
|
|
758
762
|
for (const el of instance.persistentHeadChildren) {
|
|
759
763
|
htmlEl.appendChild(el.cloneNode(true));
|
|
@@ -801,7 +805,7 @@ async function createHtmlElement(tungstenElement, instance, node, domPointer, pa
|
|
|
801
805
|
function removeAttribute(htmlElement, attr) {
|
|
802
806
|
if (attr === 'checked') htmlElement.checked = false;else htmlElement.removeAttribute(attr);
|
|
803
807
|
}
|
|
804
|
-
function addAttributes(node, domNode) {
|
|
808
|
+
function addAttributes(tungstenElement, instance, node, domNode) {
|
|
805
809
|
//console.log('-addAttributes', node)
|
|
806
810
|
const attributes = processAttributes(node);
|
|
807
811
|
debug('attributes', attributes);
|
|
@@ -812,7 +816,7 @@ function addAttributes(node, domNode) {
|
|
|
812
816
|
const eventName = htmlEvents[key];
|
|
813
817
|
todo('addAttributes() warning - ensure type safety of event names');
|
|
814
818
|
todo('addAttributes() warning - ensure type safety of event listener'); // we need to set all possible event listeners to take only EventListener funcs
|
|
815
|
-
const handler = attributes[key];
|
|
819
|
+
const handler = makeEventListener(tungstenElement, instance, eventName, attributes[key]);
|
|
816
820
|
// // if its a button without type="submit", prevent default to stop it from submitting forms
|
|
817
821
|
// const handler = (key === 'onClick' && node[$type] === 'button' && node[$props].type !== 'submit')
|
|
818
822
|
// ? (event: Event) => { event.preventDefault(); return (attributes[key] as EventListener)(event) }
|
|
@@ -835,8 +839,7 @@ function addAttributes(node, domNode) {
|
|
|
835
839
|
domNode.__tungsten_oldAttributes = attributes;
|
|
836
840
|
return attributes;
|
|
837
841
|
}
|
|
838
|
-
|
|
839
|
-
function updateAttributes(node, oldNode, domNodeHTMLElement) {
|
|
842
|
+
function updateAttributes(tungstenElement, instance, node, oldNode, domNodeHTMLElement) {
|
|
840
843
|
//console.log('-updateAttributes node', node)
|
|
841
844
|
//console.log('domNodeHTMLElement', domNodeHTMLElement)
|
|
842
845
|
const domNode = domNodeHTMLElement;
|
|
@@ -853,8 +856,14 @@ function updateAttributes(node, oldNode, domNodeHTMLElement) {
|
|
|
853
856
|
debug('oldAttributes', oldAttributes);
|
|
854
857
|
for (const attr in oldAttributes) {
|
|
855
858
|
if (!(attr in newAttributes)) {
|
|
856
|
-
|
|
857
|
-
|
|
859
|
+
if (StringIsHtmlEvent(attr)) {
|
|
860
|
+
const eventName = htmlEvents[attr];
|
|
861
|
+
const listener = domNode[htmlEventHandlerKey(eventName)];
|
|
862
|
+
if (listener !== undefined) domNode.removeEventListener(eventName, listener);
|
|
863
|
+
} else {
|
|
864
|
+
debug('remove attr', attr);
|
|
865
|
+
removeAttribute(domNode, attr);
|
|
866
|
+
}
|
|
858
867
|
}
|
|
859
868
|
}
|
|
860
869
|
// for (const attr of domNode.attributes) {
|
|
@@ -863,57 +872,48 @@ function updateAttributes(node, oldNode, domNodeHTMLElement) {
|
|
|
863
872
|
// removeAttribute(domNode, attr.name)
|
|
864
873
|
// }
|
|
865
874
|
// }
|
|
866
|
-
//if (attributes.onClick !== undefined)
|
|
867
|
-
for (const [event, eventName] of clickEvents) {
|
|
868
|
-
if (newAttributes[event] === undefined) {
|
|
869
|
-
debug('remove event', eventName);
|
|
870
|
-
//!!
|
|
871
|
-
domNode.removeEventListener(eventName, domNode[htmlEventHandlerKey(eventName)]);
|
|
872
|
-
}
|
|
873
|
-
}
|
|
874
875
|
for (const key in newAttributes) {
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
// try to set value directly for inputs that aren't updating with the below code
|
|
900
|
-
if (key === 'value') {
|
|
901
|
-
domNode.value = String(newAttributes[key]);
|
|
902
|
-
} else {
|
|
903
|
-
if (typeof newAttributes[key] === 'boolean') {
|
|
904
|
-
if (newAttributes[key]) domNode.setAttribute(key, '');else removeAttribute(domNode, key);
|
|
905
|
-
} else if (newAttributes[key] === undefined || newAttributes[key] === null) {
|
|
906
|
-
removeAttribute(domNode, key);
|
|
907
|
-
} else {
|
|
908
|
-
domNode.setAttribute(key, String(newAttributes[key]));
|
|
909
|
-
}
|
|
910
|
-
}
|
|
876
|
+
if (StringIsHtmlEvent(key)) {
|
|
877
|
+
const eventName = htmlEvents[key];
|
|
878
|
+
const listenerKey = htmlEventHandlerKey(eventName);
|
|
879
|
+
const oldHandler = oldAttributes?.[key];
|
|
880
|
+
if (oldHandler !== newAttributes[key]) {
|
|
881
|
+
const oldListener = domNode[listenerKey];
|
|
882
|
+
if (oldListener !== undefined) domNode.removeEventListener(eventName, oldListener);
|
|
883
|
+
const listener = makeEventListener(tungstenElement, instance, eventName, newAttributes[key]);
|
|
884
|
+
domNode.addEventListener(eventName, listener);
|
|
885
|
+
domNode[listenerKey] = listener;
|
|
886
|
+
}
|
|
887
|
+
} else {
|
|
888
|
+
//console.log('add/set attr', domNode, key, attributes[key], String(attributes[key]))
|
|
889
|
+
//if (domNode.tagName === 'input' || domNode.tagName === 'INPUT') continue
|
|
890
|
+
// try to set value directly for inputs that aren't updating with the below code
|
|
891
|
+
if (key === 'value') {
|
|
892
|
+
domNode.value = String(newAttributes[key]);
|
|
893
|
+
} else {
|
|
894
|
+
if (typeof newAttributes[key] === 'boolean') {
|
|
895
|
+
if (newAttributes[key]) domNode.setAttribute(key, '');else removeAttribute(domNode, key);
|
|
896
|
+
} else if (newAttributes[key] === undefined || newAttributes[key] === null) {
|
|
897
|
+
removeAttribute(domNode, key);
|
|
898
|
+
} else {
|
|
899
|
+
domNode.setAttribute(key, String(newAttributes[key]));
|
|
911
900
|
}
|
|
901
|
+
}
|
|
912
902
|
}
|
|
913
903
|
}
|
|
914
904
|
domNode.__tungsten_oldAttributes = newAttributes;
|
|
915
905
|
return newAttributes;
|
|
916
906
|
}
|
|
907
|
+
function documentFromParent(parent) {
|
|
908
|
+
if (parent.nodeType === 9) return parent;
|
|
909
|
+
if (parent.ownerDocument === null) throw new Error('Tungsten DOM parent has no owner document.');
|
|
910
|
+
return parent.ownerDocument;
|
|
911
|
+
}
|
|
912
|
+
function makeEventListener(tungstenElement, instance, eventName, handler) {
|
|
913
|
+
return event => {
|
|
914
|
+
instance.trackWork(() => handler(event), `${tungstenElement.constructor.name} ${eventName} event handler`);
|
|
915
|
+
};
|
|
916
|
+
}
|
|
917
917
|
// const ignoreAttributes = {
|
|
918
918
|
// 'ref': true,
|
|
919
919
|
// //'key': true
|
|
@@ -1001,6 +1001,64 @@ export async function createTungstenComponent({
|
|
|
1001
1001
|
// need to set a domRegion
|
|
1002
1002
|
// element.__domRegion = domRegion
|
|
1003
1003
|
}
|
|
1004
|
+
export async function createTungstenRootComponent(RootComponent, props, routeParams, routeData, instance, container) {
|
|
1005
|
+
const domPointer = new DomPointer(container, container.childNodes.length);
|
|
1006
|
+
const domStartIndex = domPointer.index;
|
|
1007
|
+
const component = new RootComponent({
|
|
1008
|
+
props,
|
|
1009
|
+
routeParams,
|
|
1010
|
+
routeData,
|
|
1011
|
+
instance,
|
|
1012
|
+
parentElement: null
|
|
1013
|
+
});
|
|
1014
|
+
try {
|
|
1015
|
+
await component.__init();
|
|
1016
|
+
const content = await component.__initialContent();
|
|
1017
|
+
const componentName = RootComponent.displayName ?? RootComponent.name;
|
|
1018
|
+
const openingComment = createComment({
|
|
1019
|
+
text: printComponentNamesInSource ? componentName : '',
|
|
1020
|
+
domPointer
|
|
1021
|
+
});
|
|
1022
|
+
const renderedContent = await createNode({
|
|
1023
|
+
tungstenElement: component,
|
|
1024
|
+
instance,
|
|
1025
|
+
newNode: content,
|
|
1026
|
+
domPointer,
|
|
1027
|
+
parentNode: null
|
|
1028
|
+
});
|
|
1029
|
+
const closingComment = createComment({
|
|
1030
|
+
text: printComponentNamesInSource ? `/${componentName}` : '',
|
|
1031
|
+
domPointer
|
|
1032
|
+
});
|
|
1033
|
+
component.__domRegion = new DomRegion(container, domStartIndex, domPointer.index - domStartIndex);
|
|
1034
|
+
component.__currentContent = renderedContent;
|
|
1035
|
+
component.__didMount();
|
|
1036
|
+
return {
|
|
1037
|
+
component,
|
|
1038
|
+
openingComment,
|
|
1039
|
+
closingComment
|
|
1040
|
+
};
|
|
1041
|
+
} catch (error) {
|
|
1042
|
+
component.__delete();
|
|
1043
|
+
while (container.childNodes.length > domStartIndex) {
|
|
1044
|
+
container.removeChild(container.childNodes[domStartIndex]);
|
|
1045
|
+
}
|
|
1046
|
+
component.__deleted();
|
|
1047
|
+
throw error;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
export function deleteTungstenRoot(root) {
|
|
1051
|
+
const {
|
|
1052
|
+
component,
|
|
1053
|
+
openingComment,
|
|
1054
|
+
closingComment
|
|
1055
|
+
} = root;
|
|
1056
|
+
component.__delete();
|
|
1057
|
+
deleteNodeIfRendered(component.__currentContent);
|
|
1058
|
+
openingComment.remove();
|
|
1059
|
+
closingComment.remove();
|
|
1060
|
+
component.__deleted();
|
|
1061
|
+
}
|
|
1004
1062
|
let cc = 0; // debugging aid
|
|
1005
1063
|
async function createTungstenClassComponent(parent, instance, node, domPointer) {
|
|
1006
1064
|
//console.log('creating tung class comp', node[$type].name)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TungstenSimpleComponent } from '
|
|
2
|
-
import { type TungstenElementRef } from '
|
|
3
|
-
import type { CssNames } from '
|
|
4
|
-
import type { ContentNode } from '
|
|
1
|
+
import { TungstenSimpleComponent } from '../Components.jsx';
|
|
2
|
+
import { type TungstenElementRef } from '../createRef.js';
|
|
3
|
+
import type { CssNames } from '../CssNames.js';
|
|
4
|
+
import type { ContentNode } from '../ContentNode.js';
|
|
5
5
|
export type ReactZoneComponent<Props extends object> = ((props: Props) => unknown) | (new (...args: any[]) => unknown);
|
|
6
6
|
type ReactZoneRoot = {
|
|
7
7
|
render(children: unknown): void;
|
|
@@ -50,4 +50,4 @@ export declare class ReactZone<Props extends object> extends TungstenSimpleCompo
|
|
|
50
50
|
private reportError;
|
|
51
51
|
}
|
|
52
52
|
export {};
|
|
53
|
-
//# sourceMappingURL=react
|
|
53
|
+
//# sourceMappingURL=react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/zones/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAC7C,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAC3B,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAA;AAEvC,KAAK,aAAa,GAAG;IACjB,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,OAAO,IAAI,IAAI,CAAA;CAClB,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;AAE7F,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE;QACH,SAAS,EAAE,GAAG,CAAA;QACd,aAAa,EAAE,kBAAkB,CAAA;KACpC,CAAA;IACD,MAAM,EAAE;QACJ,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAA;QACxC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAAA;KAC/D,CAAA;IACD,MAAM,EAAE;QACJ,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;KAC5C,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI;IAC/C,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,gBAAgB,CAAA;CAC5B,CAAA;AAED,qBAAa,SAAS,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/F,OAAO,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAqC;IAChF,SAAS,EAAE,aAAa,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAClD,aAAa,EAAE,OAAO,GAAG,SAAS,CAAA;IAClC,SAAS,UAAQ;IAEjB,OAAO,QAAa,OAAO,CAAC,WAAW,CAAC,CAsBvC;IAED,iBAAiB,QAAO,IAAI,CAG3B;IAED,kBAAkB,QAAO,IAAI,CAE5B;IAED,oBAAoB,QAAO,IAAI,CAM9B;IAED,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,WAAW;CAOtB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
2
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
-
import { TungstenSimpleComponent } from "
|
|
5
|
-
import { createElementRef } from "
|
|
6
|
-
import { isServer } from "
|
|
4
|
+
import { TungstenSimpleComponent } from "../Components.js";
|
|
5
|
+
import { createElementRef } from "../createRef.js";
|
|
6
|
+
import { isServer } from "../isServer.js";
|
|
7
7
|
import { jsx as _jsx } from "tungsten/jsxRuntime.js";
|
|
8
8
|
export class ReactZone extends TungstenSimpleComponent {
|
|
9
9
|
constructor(...args) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tungsten",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": "./dist/index.js",
|
|
12
|
-
"./react-zone": "./dist/react
|
|
12
|
+
"./react-zone": "./dist/zones/react.js",
|
|
13
|
+
"./testing": "./dist/testing/index.js",
|
|
13
14
|
"./*": "./dist/*",
|
|
14
15
|
"./types/*": "./types/*"
|
|
15
16
|
},
|
|
@@ -123,13 +124,14 @@
|
|
|
123
124
|
"eslint-import-resolver-typescript": "^2.7.1",
|
|
124
125
|
"eslint-plugin-import": "^2.32.0",
|
|
125
126
|
"eslint-plugin-no-type-assertion": "^1.3.0",
|
|
127
|
+
"happy-dom": "^20.10.6",
|
|
126
128
|
"progress-webpack-plugin": "^1.0.16",
|
|
127
129
|
"prop-types": "^15.8.1",
|
|
128
130
|
"rimraf": "^5.0.10",
|
|
129
131
|
"rmrf": "^2.0.4",
|
|
130
132
|
"rollup-plugin-visualizer": "^5.14.0",
|
|
131
133
|
"supertest": "^6.3.4",
|
|
132
|
-
"sxy-test-runner": "^
|
|
134
|
+
"sxy-test-runner": "^2.2.2",
|
|
133
135
|
"sxy-types": "^1.0.23",
|
|
134
136
|
"typescript": "^6.0.3",
|
|
135
137
|
"webpack-bundle-analyzer": "^4.10.2",
|
|
@@ -161,6 +163,7 @@
|
|
|
161
163
|
"build-ts-once": "tsc",
|
|
162
164
|
"build-babel": "babel intermed --out-dir dist --ignore \"**/*.cjs\" --copy-files --config-file ./babel.framework.config.js --watch",
|
|
163
165
|
"build-babel-once": "babel intermed --out-dir dist --ignore \"**/*.cjs\" --copy-files --config-file ./babel.framework.config.js",
|
|
164
|
-
"test": "sxy-test-runner"
|
|
166
|
+
"test": "sxy-test-runner",
|
|
167
|
+
"test-once": "sxy-test-runner once"
|
|
165
168
|
}
|
|
166
169
|
}
|