@furystack/shades 6.0.2 → 6.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component-factory.spec.js +8 -8
- package/dist/component-factory.spec.js.map +1 -1
- package/dist/jsx.js.map +1 -1
- package/dist/shade-component.js.map +1 -1
- package/dist/shade.js +14 -23
- package/dist/shade.js.map +1 -1
- package/dist/shades.integration.spec.js +110 -4
- package/dist/shades.integration.spec.js.map +1 -1
- package/package.json +7 -7
- package/src/component-factory.spec.tsx +8 -8
- package/src/jsx.ts +3 -4
- package/src/models/render-options.ts +1 -1
- package/src/shade-component.ts +1 -1
- package/src/shade.ts +19 -23
- package/src/shades.integration.spec.tsx +162 -5
- package/types/jsx.d.ts +3 -4
- package/types/jsx.d.ts.map +1 -1
- package/types/models/render-options.d.ts +1 -1
- package/types/models/render-options.d.ts.map +1 -1
- package/types/shade.d.ts.map +1 -1
|
@@ -45,9 +45,9 @@ describe('Shades Component Factory', () => {
|
|
|
45
45
|
const component = ((0, shade_component_1.createComponent)("div", null,
|
|
46
46
|
(0, shade_component_1.createComponent)(Example, null)));
|
|
47
47
|
const shade = component.firstElementChild;
|
|
48
|
-
expect(shade.props
|
|
49
|
-
expect(shade.state
|
|
50
|
-
expect(shade.shadeChildren
|
|
48
|
+
expect(shade.props).toBe(null);
|
|
49
|
+
expect(shade.state).toBe(undefined);
|
|
50
|
+
expect(shade.shadeChildren).toStrictEqual([]);
|
|
51
51
|
});
|
|
52
52
|
it('Should render a component with props', () => {
|
|
53
53
|
const Example = (0, shade_1.Shade)({
|
|
@@ -58,9 +58,9 @@ describe('Shades Component Factory', () => {
|
|
|
58
58
|
(0, shade_component_1.createComponent)(Example, { foo: "example", injector: new inject_1.Injector() })));
|
|
59
59
|
const shade = component.firstElementChild;
|
|
60
60
|
shade.callConstructed();
|
|
61
|
-
expect(shade.props.
|
|
62
|
-
expect(shade.state
|
|
63
|
-
expect(shade.shadeChildren
|
|
61
|
+
expect(shade.props.foo).toStrictEqual('example');
|
|
62
|
+
expect(shade.state).toBe(undefined);
|
|
63
|
+
expect(shade.shadeChildren).toStrictEqual([]);
|
|
64
64
|
expect(shade.innerHTML).toBe('<div>example</div>');
|
|
65
65
|
});
|
|
66
66
|
it('Should render a component with state', () => {
|
|
@@ -73,8 +73,8 @@ describe('Shades Component Factory', () => {
|
|
|
73
73
|
(0, shade_component_1.createComponent)(Example, { injector: new inject_1.Injector() })));
|
|
74
74
|
const shade = component.firstElementChild;
|
|
75
75
|
shade.callConstructed();
|
|
76
|
-
expect(shade.state
|
|
77
|
-
expect(shade.shadeChildren
|
|
76
|
+
expect(shade.state).toStrictEqual({ foo: 'example' });
|
|
77
|
+
expect(shade.shadeChildren).toStrictEqual([]);
|
|
78
78
|
});
|
|
79
79
|
});
|
|
80
80
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-factory.spec.js","sourceRoot":"","sources":["../src/component-factory.spec.tsx"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,iBAAc;AACd,mCAA+B;AAC/B,8CAA4C;AAE5C,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,SAAS,GAAG,2DAAe,CAAA;YACjC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAChD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACxC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,MAAM,SAAS,GAAG,gDAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAS,CAAA;YACvD,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAChD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,SAAS,GAAG,+DAAiB,SAAS,QAAQ,CAAA;YACpD,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAChD,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,SAAS,GAAG,CAChB,gDAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;gBAC7B,sEAAyB;gBACzB;;oBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAK;gBACrC,8CAAG,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAC,oBAAoB,WAExC,CACA,CACP,CAAA;YACD,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAChD,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAC9B,uGAAuG,CACxG,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YACzB,MAAM,SAAS,GAAG,gDAAK,OAAO,EAAE,OAAO,GAAQ,CAAA;YAC/C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,OAAO,GAAG,IAAA,aAAK,EAAC,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,mDAAO,EAAE,CAAC,CAAA;YAEhF,MAAM,SAAS,GAAG,CAChB;gBACE,uCAAC,OAAO,OAAG,CACP,CACP,CAAA;YAED,MAAM,KAAK,GAAG,SAAS,CAAC,iBAAgC,CAAA;YACxD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"component-factory.spec.js","sourceRoot":"","sources":["../src/component-factory.spec.tsx"],"names":[],"mappings":"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"}
|
package/dist/jsx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.js","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"jsx.js","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":";;;AA2gBO,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAsB,EAAE;IAC3D,MAAM,MAAM,GAAG,GAAkB,CAAA;IACjC,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA;AACjE,CAAC,CAAA;AAHY,QAAA,YAAY,gBAGxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":";;;AAAA,qCAAyE;AAEzE;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAC,EAAe,EAAE,QAAsB,EAAE,EAAE;IACrE,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;SAC/C;aAAM;YACL,IAAI,KAAK,YAAY,WAAW,EAAE;gBAChC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;aACtB;iBAAM,IAAI,KAAK,YAAY,KAAK,EAAE;gBACjC,IAAA,mBAAW,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;aACvB;SACF;KACF;AACH,CAAC,CAAA;AAZY,QAAA,WAAW,eAYvB;AAEM,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAoD,EAAE;IACvF,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,MAAK,SAAS,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB;AAED;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,EAAe,EAAE,KAAU,EAAE,EAAE;IAC1D,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;YAC7B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC1D,CAAC;gBAAC,EAAE,CAAC,KAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aAC3C;SACF;AACL,CAAC,CAAA;AAPY,QAAA,YAAY,gBAOxB;AAEM,MAAM,oBAAoB,GAAG,CAAC,EAAe,EAAE,KAAU,EAAE,EAAE;IAClE,KAAK;QACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;aAC1C,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAG,KAAgB,IAAI,EAAE,CAAC,CAAC,CAAA;AAC/E,CAAC,CAAA;AALY,QAAA,oBAAoB,wBAKhC;AAED;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,CAC7B,WAA4C,EAC5C,KAAa,EACb,GAAG,QAAsB,EACzB,EAAE;IACF,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAC9C,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAExB,IAAI,KAAK,IAAK,KAAa,CAAC,KAAK,EAAE;YACjC,IAAA,oBAAY,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;SACxB;QACD,IAAA,4BAAoB,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC/B,IAAI,QAAQ,EAAE;YACZ,IAAA,mBAAW,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;SAC1B;QACD,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,IAAA,yBAAgB,EAAC,WAAW,CAAC,EAAE;QACxC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"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"}
|
package/dist/shade.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Shade = void 0;
|
|
4
|
-
const utils_1 = require("@furystack/utils");
|
|
5
4
|
const inject_1 = require("@furystack/inject");
|
|
6
5
|
/**
|
|
7
6
|
* Factory method for creating Shade components
|
|
@@ -20,10 +19,6 @@ const Shade = (o) => {
|
|
|
20
19
|
this.compareState = o.compareState ||
|
|
21
20
|
((oldState, newState) => Object.entries(oldState).some(([key, value]) => value !== newState[key]) ||
|
|
22
21
|
Object.entries(newState).some(([key, value]) => value !== oldState[key]));
|
|
23
|
-
/**
|
|
24
|
-
* Will be updated when on children change
|
|
25
|
-
*/
|
|
26
|
-
this.shadeChildren = new utils_1.ObservableValue([]);
|
|
27
22
|
/**
|
|
28
23
|
* @param options Options for rendering the component
|
|
29
24
|
* @returns the JSX element
|
|
@@ -33,13 +28,13 @@ const Shade = (o) => {
|
|
|
33
28
|
* @returns values for the current render options
|
|
34
29
|
*/
|
|
35
30
|
this.getRenderOptions = () => {
|
|
36
|
-
const props = this.props
|
|
37
|
-
const getState = () => this.state
|
|
31
|
+
const props = { ...this.props };
|
|
32
|
+
const getState = () => ({ ...this.state });
|
|
38
33
|
const updateState = (stateChanges, skipRender) => {
|
|
39
|
-
const currentState = this.state
|
|
34
|
+
const currentState = { ...this.state };
|
|
40
35
|
const newState = { ...currentState, ...stateChanges };
|
|
41
36
|
if (this.compareState(currentState, newState)) {
|
|
42
|
-
this.state
|
|
37
|
+
this.state = newState;
|
|
43
38
|
!skipRender && this.updateComponent();
|
|
44
39
|
}
|
|
45
40
|
};
|
|
@@ -48,15 +43,14 @@ const Shade = (o) => {
|
|
|
48
43
|
getState,
|
|
49
44
|
injector: this.injector,
|
|
50
45
|
updateState,
|
|
51
|
-
children: this.shadeChildren
|
|
46
|
+
children: this.shadeChildren,
|
|
52
47
|
element: this,
|
|
53
48
|
};
|
|
54
49
|
return returnValue;
|
|
55
50
|
};
|
|
56
51
|
this.cleanup = undefined;
|
|
57
52
|
this.resources = [];
|
|
58
|
-
this.props =
|
|
59
|
-
this.state = new utils_1.ObservableValue();
|
|
53
|
+
this.props = _props;
|
|
60
54
|
}
|
|
61
55
|
connectedCallback() {
|
|
62
56
|
o.onAttach && o.onAttach(this.getRenderOptions());
|
|
@@ -66,9 +60,6 @@ const Shade = (o) => {
|
|
|
66
60
|
o.onDetach && o.onDetach(this.getRenderOptions());
|
|
67
61
|
Object.values(this.resources).forEach((s) => s.dispose());
|
|
68
62
|
this.cleanup && this.cleanup();
|
|
69
|
-
this.shadeChildren.dispose();
|
|
70
|
-
this.props.dispose();
|
|
71
|
-
this.state.dispose();
|
|
72
63
|
}
|
|
73
64
|
createResources() {
|
|
74
65
|
var _a;
|
|
@@ -79,6 +70,9 @@ const Shade = (o) => {
|
|
|
79
70
|
*/
|
|
80
71
|
updateComponent() {
|
|
81
72
|
const renderResult = this.render(this.getRenderOptions());
|
|
73
|
+
if (renderResult === null) {
|
|
74
|
+
this.innerHTML = '';
|
|
75
|
+
}
|
|
82
76
|
if (typeof renderResult === 'string') {
|
|
83
77
|
this.innerHTML = renderResult;
|
|
84
78
|
}
|
|
@@ -98,12 +92,9 @@ const Shade = (o) => {
|
|
|
98
92
|
* Finialize the component initialization after it gets the Props. Called by the framework internally
|
|
99
93
|
*/
|
|
100
94
|
callConstructed() {
|
|
101
|
-
if (this.props.isDisposed) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
95
|
;
|
|
105
96
|
o.getInitialState &&
|
|
106
|
-
this.state
|
|
97
|
+
(this.state = o.getInitialState({ props: { ...this.props }, injector: this.injector }));
|
|
107
98
|
this.updateComponent();
|
|
108
99
|
this.createResources();
|
|
109
100
|
const cleanupResult = o.constructed && o.constructed(this.getRenderOptions());
|
|
@@ -129,11 +120,11 @@ const Shade = (o) => {
|
|
|
129
120
|
if (this._injector) {
|
|
130
121
|
return this._injector;
|
|
131
122
|
}
|
|
132
|
-
const fromState = (_a = this.state
|
|
123
|
+
const fromState = (_a = this.state) === null || _a === void 0 ? void 0 : _a.injector;
|
|
133
124
|
if (fromState && fromState instanceof inject_1.Injector) {
|
|
134
125
|
return fromState;
|
|
135
126
|
}
|
|
136
|
-
const fromProps = (_b = this.props
|
|
127
|
+
const fromProps = (_b = this.props) === null || _b === void 0 ? void 0 : _b.injector;
|
|
137
128
|
if (fromProps && fromProps instanceof inject_1.Injector) {
|
|
138
129
|
return fromProps;
|
|
139
130
|
}
|
|
@@ -157,8 +148,8 @@ const Shade = (o) => {
|
|
|
157
148
|
const el = document.createElement(customElementName, {
|
|
158
149
|
...props,
|
|
159
150
|
});
|
|
160
|
-
el.props
|
|
161
|
-
el.shadeChildren
|
|
151
|
+
el.props = props;
|
|
152
|
+
el.shadeChildren = children;
|
|
162
153
|
return el;
|
|
163
154
|
};
|
|
164
155
|
};
|
package/dist/shade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade.js","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"shade.js","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,64 @@ describe('Shades integration tests', () => {
|
|
|
21
21
|
});
|
|
22
22
|
expect(document.body.innerHTML).toBe('<div id="root"><shades-example><div>Hello</div></shades-example></div>');
|
|
23
23
|
});
|
|
24
|
+
it('Should mount a custom component with a string render result', () => {
|
|
25
|
+
const injector = new inject_1.Injector();
|
|
26
|
+
const rootElement = document.getElementById('root');
|
|
27
|
+
const ExampleComponent = (0, shade_1.Shade)({ render: () => 'Hello', shadowDomName: 'shades-string-render-result' });
|
|
28
|
+
(0, initialize_1.initializeShadeRoot)({
|
|
29
|
+
injector,
|
|
30
|
+
rootElement,
|
|
31
|
+
jsxElement: (0, shade_component_1.createComponent)(ExampleComponent, null),
|
|
32
|
+
});
|
|
33
|
+
expect(document.body.innerHTML).toBe('<div id="root"><shades-string-render-result>Hello</shades-string-render-result></div>');
|
|
34
|
+
});
|
|
35
|
+
it('Should mount a custom component with null render result', () => {
|
|
36
|
+
const injector = new inject_1.Injector();
|
|
37
|
+
const rootElement = document.getElementById('root');
|
|
38
|
+
const ExampleComponent = (0, shade_1.Shade)({ render: () => null, shadowDomName: 'shades-null-render-result' });
|
|
39
|
+
(0, initialize_1.initializeShadeRoot)({
|
|
40
|
+
injector,
|
|
41
|
+
rootElement,
|
|
42
|
+
jsxElement: (0, shade_component_1.createComponent)(ExampleComponent, null),
|
|
43
|
+
});
|
|
44
|
+
expect(document.body.innerHTML).toBe('<div id="root"><shades-null-render-result></shades-null-render-result></div>');
|
|
45
|
+
});
|
|
46
|
+
it('Should mount a custom component with a document fragment render result', () => {
|
|
47
|
+
const injector = new inject_1.Injector();
|
|
48
|
+
const rootElement = document.getElementById('root');
|
|
49
|
+
const ExampleComponent = (0, shade_1.Shade)({
|
|
50
|
+
render: () => ((0, shade_component_1.createComponent)(shade_component_1.createFragment, null,
|
|
51
|
+
(0, shade_component_1.createComponent)("p", null, "1"),
|
|
52
|
+
(0, shade_component_1.createComponent)("p", null, "2"))),
|
|
53
|
+
shadowDomName: 'shades-fragment-render-result',
|
|
54
|
+
});
|
|
55
|
+
(0, initialize_1.initializeShadeRoot)({
|
|
56
|
+
injector,
|
|
57
|
+
rootElement,
|
|
58
|
+
jsxElement: (0, shade_component_1.createComponent)(ExampleComponent, null),
|
|
59
|
+
});
|
|
60
|
+
expect(document.body.innerHTML).toBe('<div id="root"><shades-fragment-render-result><p>1</p><p>2</p></shades-fragment-render-result></div>');
|
|
61
|
+
});
|
|
62
|
+
it('Should mount a custom component with a document fragment that contains custom components', () => {
|
|
63
|
+
const injector = new inject_1.Injector();
|
|
64
|
+
const rootElement = document.getElementById('root');
|
|
65
|
+
const CustomComponent = (0, shade_1.Shade)({
|
|
66
|
+
shadowDomName: 'shades-fragment-test-custom-component',
|
|
67
|
+
render: () => (0, shade_component_1.createComponent)("p", null, "Hello"),
|
|
68
|
+
});
|
|
69
|
+
const ExampleComponent = (0, shade_1.Shade)({
|
|
70
|
+
render: () => ((0, shade_component_1.createComponent)(shade_component_1.createFragment, null,
|
|
71
|
+
(0, shade_component_1.createComponent)(CustomComponent, null),
|
|
72
|
+
(0, shade_component_1.createComponent)(CustomComponent, null))),
|
|
73
|
+
shadowDomName: 'shades-fragment-render-result-2',
|
|
74
|
+
});
|
|
75
|
+
(0, initialize_1.initializeShadeRoot)({
|
|
76
|
+
injector,
|
|
77
|
+
rootElement,
|
|
78
|
+
jsxElement: (0, shade_component_1.createComponent)(ExampleComponent, null),
|
|
79
|
+
});
|
|
80
|
+
expect(document.body.innerHTML).toBe('<div id="root"><shades-fragment-render-result-2><shades-fragment-test-custom-component><p>Hello</p></shades-fragment-test-custom-component><shades-fragment-test-custom-component><p>Hello</p></shades-fragment-test-custom-component></shades-fragment-render-result-2></div>');
|
|
81
|
+
});
|
|
24
82
|
it('Should mount nested Shades components', () => {
|
|
25
83
|
const injector = new inject_1.Injector();
|
|
26
84
|
const rootElement = document.getElementById('root');
|
|
@@ -105,14 +163,62 @@ describe('Shades integration tests', () => {
|
|
|
105
163
|
});
|
|
106
164
|
const plus = () => { var _a; return (_a = document.getElementById('plus')) === null || _a === void 0 ? void 0 : _a.click(); };
|
|
107
165
|
const minus = () => { var _a; return (_a = document.getElementById('minus')) === null || _a === void 0 ? void 0 : _a.click(); };
|
|
108
|
-
expect(document.body.innerHTML).toContain(
|
|
166
|
+
const expectCount = (count) => expect(document.body.innerHTML).toContain(`Count is ${count}`);
|
|
167
|
+
expectCount(0);
|
|
109
168
|
plus();
|
|
110
|
-
|
|
169
|
+
expectCount(1);
|
|
111
170
|
plus();
|
|
112
|
-
|
|
171
|
+
expectCount(2);
|
|
172
|
+
minus();
|
|
113
173
|
minus();
|
|
174
|
+
expectCount(0);
|
|
175
|
+
});
|
|
176
|
+
it('Should allow children update after unmount and remount', () => {
|
|
177
|
+
const injector = new inject_1.Injector();
|
|
178
|
+
const rootElement = document.getElementById('root');
|
|
179
|
+
const Parent = (0, shade_1.Shade)({
|
|
180
|
+
shadowDomName: 'shade-remount-parent',
|
|
181
|
+
getInitialState: () => ({ areChildrenVisible: true }),
|
|
182
|
+
render: ({ children, getState, updateState }) => ((0, shade_component_1.createComponent)("div", null,
|
|
183
|
+
(0, shade_component_1.createComponent)("button", { id: "showHideChildren", onclick: () => {
|
|
184
|
+
updateState({ areChildrenVisible: !getState().areChildrenVisible });
|
|
185
|
+
} }, "Toggle"),
|
|
186
|
+
getState().areChildrenVisible ? children : (0, shade_component_1.createComponent)("div", null))),
|
|
187
|
+
});
|
|
188
|
+
const Child = (0, shade_1.Shade)({
|
|
189
|
+
shadowDomName: 'example-remount-child',
|
|
190
|
+
getInitialState: () => ({ count: 0 }),
|
|
191
|
+
render: ({ getState, updateState }) => {
|
|
192
|
+
const { count } = getState();
|
|
193
|
+
return ((0, shade_component_1.createComponent)("div", null,
|
|
194
|
+
"Count is ",
|
|
195
|
+
getState().count.toString(),
|
|
196
|
+
(0, shade_component_1.createComponent)("button", { id: "plus", onclick: () => updateState({ count: count + 1 }) }, "+"),
|
|
197
|
+
(0, shade_component_1.createComponent)("button", { id: "minus", onclick: () => updateState({ count: count - 1 }) }, "-")));
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
(0, initialize_1.initializeShadeRoot)({
|
|
201
|
+
injector,
|
|
202
|
+
rootElement,
|
|
203
|
+
jsxElement: ((0, shade_component_1.createComponent)(Parent, null,
|
|
204
|
+
(0, shade_component_1.createComponent)(Child, null))),
|
|
205
|
+
});
|
|
206
|
+
const plus = () => { var _a; return (_a = document.getElementById('plus')) === null || _a === void 0 ? void 0 : _a.click(); };
|
|
207
|
+
const minus = () => { var _a; return (_a = document.getElementById('minus')) === null || _a === void 0 ? void 0 : _a.click(); };
|
|
208
|
+
const expectCount = (count) => expect(document.body.innerHTML).toContain(`Count is ${count}`);
|
|
209
|
+
const toggleChildren = () => { var _a; return (_a = document.getElementById('showHideChildren')) === null || _a === void 0 ? void 0 : _a.click(); };
|
|
210
|
+
expectCount(0);
|
|
211
|
+
plus();
|
|
212
|
+
expectCount(1);
|
|
213
|
+
toggleChildren();
|
|
214
|
+
expect(document.getElementById('plus')).toBeNull();
|
|
215
|
+
toggleChildren();
|
|
216
|
+
expect(document.getElementById('plus')).toBeDefined();
|
|
217
|
+
// expectCount(0)
|
|
218
|
+
plus();
|
|
219
|
+
expectCount(1);
|
|
114
220
|
minus();
|
|
115
|
-
|
|
221
|
+
expectCount(0);
|
|
116
222
|
});
|
|
117
223
|
});
|
|
118
224
|
//# sourceMappingURL=shades.integration.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shades.integration.spec.js","sourceRoot":"","sources":["../src/shades.integration.spec.tsx"],"names":[],"mappings":";;AAAA,8CAA4C;AAE5C,+BAA+C;AAE/C,MAAM,CAAC,WAAW,GAAG,kBAAW,CAAA;AAChC,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAEvC,6CAAkD;AAClD,mCAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"shades.integration.spec.js","sourceRoot":"","sources":["../src/shades.integration.spec.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/shades",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.5",
|
|
4
4
|
"description": "Google Authentication Provider for FuryStack",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/furystack/furystack",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@types/jest": "^28.1.
|
|
33
|
-
"@types/jsdom": "^
|
|
34
|
-
"@types/node": "^18.
|
|
32
|
+
"@types/jest": "^28.1.8",
|
|
33
|
+
"@types/jsdom": "^20.0.0",
|
|
34
|
+
"@types/node": "^18.7.13",
|
|
35
35
|
"jsdom": "^20.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@furystack/core": "^11.0.
|
|
39
|
-
"@furystack/inject": "^7.0.
|
|
40
|
-
"@furystack/utils": "^3.0.
|
|
38
|
+
"@furystack/core": "^11.0.9",
|
|
39
|
+
"@furystack/inject": "^7.0.3",
|
|
40
|
+
"@furystack/utils": "^3.0.7",
|
|
41
41
|
"path-to-regexp": "^6.2.1",
|
|
42
42
|
"semaphore-async-await": "^1.5.1",
|
|
43
43
|
"tslib": "^2.4.0"
|
|
@@ -59,9 +59,9 @@ describe('Shades Component Factory', () => {
|
|
|
59
59
|
)
|
|
60
60
|
|
|
61
61
|
const shade = component.firstElementChild as JSX.Element
|
|
62
|
-
expect(shade.props
|
|
63
|
-
expect(shade.state
|
|
64
|
-
expect(shade.shadeChildren
|
|
62
|
+
expect(shade.props).toBe(null)
|
|
63
|
+
expect(shade.state).toBe(undefined)
|
|
64
|
+
expect(shade.shadeChildren).toStrictEqual([])
|
|
65
65
|
})
|
|
66
66
|
|
|
67
67
|
it('Should render a component with props', () => {
|
|
@@ -80,9 +80,9 @@ describe('Shades Component Factory', () => {
|
|
|
80
80
|
|
|
81
81
|
shade.callConstructed()
|
|
82
82
|
|
|
83
|
-
expect(shade.props.
|
|
84
|
-
expect(shade.state
|
|
85
|
-
expect(shade.shadeChildren
|
|
83
|
+
expect(shade.props.foo).toStrictEqual('example')
|
|
84
|
+
expect(shade.state).toBe(undefined)
|
|
85
|
+
expect(shade.shadeChildren).toStrictEqual([])
|
|
86
86
|
|
|
87
87
|
expect(shade.innerHTML).toBe('<div>example</div>')
|
|
88
88
|
})
|
|
@@ -102,8 +102,8 @@ describe('Shades Component Factory', () => {
|
|
|
102
102
|
|
|
103
103
|
const shade = component.firstElementChild as JSX.Element
|
|
104
104
|
shade.callConstructed()
|
|
105
|
-
expect(shade.state
|
|
106
|
-
expect(shade.shadeChildren
|
|
105
|
+
expect(shade.state).toStrictEqual({ foo: 'example' })
|
|
106
|
+
expect(shade.shadeChildren).toStrictEqual([])
|
|
107
107
|
})
|
|
108
108
|
})
|
|
109
109
|
})
|
package/src/jsx.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ObservableValue } from '@furystack/utils'
|
|
2
1
|
import { Injector } from '@furystack/inject'
|
|
3
2
|
import { ChildrenList, PartialElement } from './models'
|
|
4
3
|
|
|
@@ -7,10 +6,10 @@ declare global {
|
|
|
7
6
|
export namespace JSX {
|
|
8
7
|
interface Element<TProps = any, TState = any> extends HTMLElement {
|
|
9
8
|
injector: Injector
|
|
10
|
-
state:
|
|
11
|
-
props:
|
|
9
|
+
state: TState
|
|
10
|
+
props: TProps
|
|
12
11
|
updateComponent: () => void
|
|
13
|
-
shadeChildren
|
|
12
|
+
shadeChildren?: ChildrenList
|
|
14
13
|
callConstructed: () => void
|
|
15
14
|
}
|
|
16
15
|
|
package/src/shade-component.ts
CHANGED
|
@@ -70,7 +70,7 @@ export const createComponent = <TProps>(
|
|
|
70
70
|
}
|
|
71
71
|
return el
|
|
72
72
|
} else if (isShadeComponent(elementType)) {
|
|
73
|
-
const el =
|
|
73
|
+
const el = elementType(props, children)
|
|
74
74
|
attachStyles(el, props)
|
|
75
75
|
return el
|
|
76
76
|
}
|
package/src/shade.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Disposable
|
|
1
|
+
import { Disposable } from '@furystack/utils'
|
|
2
2
|
import { Injector } from '@furystack/inject'
|
|
3
3
|
import { ChildrenList, PartialElement, RenderOptions } from './models'
|
|
4
4
|
|
|
@@ -78,25 +78,22 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
78
78
|
o.onDetach && o.onDetach(this.getRenderOptions())
|
|
79
79
|
Object.values(this.resources).forEach((s) => s.dispose())
|
|
80
80
|
this.cleanup && this.cleanup()
|
|
81
|
-
this.shadeChildren.dispose()
|
|
82
|
-
this.props.dispose()
|
|
83
|
-
this.state.dispose()
|
|
84
81
|
}
|
|
85
82
|
|
|
86
83
|
/**
|
|
87
84
|
* Will be triggered when updating the external props object
|
|
88
85
|
*/
|
|
89
|
-
public props:
|
|
86
|
+
public props: TProps & { children?: JSX.Element[] }
|
|
90
87
|
|
|
91
88
|
/**
|
|
92
89
|
* Will be triggered on state update
|
|
93
90
|
*/
|
|
94
|
-
public state
|
|
91
|
+
public state!: TState
|
|
95
92
|
|
|
96
93
|
/**
|
|
97
94
|
* Will be updated when on children change
|
|
98
95
|
*/
|
|
99
|
-
public shadeChildren
|
|
96
|
+
public shadeChildren?: ChildrenList
|
|
100
97
|
|
|
101
98
|
/**
|
|
102
99
|
* @param options Options for rendering the component
|
|
@@ -108,13 +105,13 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
108
105
|
* @returns values for the current render options
|
|
109
106
|
*/
|
|
110
107
|
private getRenderOptions = () => {
|
|
111
|
-
const props = this.props
|
|
112
|
-
const getState = () => this.state
|
|
108
|
+
const props: TProps = { ...this.props }
|
|
109
|
+
const getState = () => ({ ...this.state })
|
|
113
110
|
const updateState = (stateChanges: PartialElement<TState>, skipRender?: boolean) => {
|
|
114
|
-
const currentState = this.state
|
|
111
|
+
const currentState = { ...this.state }
|
|
115
112
|
const newState = { ...currentState, ...stateChanges }
|
|
116
113
|
if (this.compareState(currentState, newState)) {
|
|
117
|
-
this.state
|
|
114
|
+
this.state = newState
|
|
118
115
|
!skipRender && this.updateComponent()
|
|
119
116
|
}
|
|
120
117
|
}
|
|
@@ -124,7 +121,7 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
124
121
|
getState,
|
|
125
122
|
injector: this.injector,
|
|
126
123
|
updateState,
|
|
127
|
-
children: this.shadeChildren
|
|
124
|
+
children: this.shadeChildren,
|
|
128
125
|
element: this,
|
|
129
126
|
}
|
|
130
127
|
|
|
@@ -141,6 +138,10 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
141
138
|
public updateComponent() {
|
|
142
139
|
const renderResult = this.render(this.getRenderOptions())
|
|
143
140
|
|
|
141
|
+
if (renderResult === null) {
|
|
142
|
+
this.innerHTML = ''
|
|
143
|
+
}
|
|
144
|
+
|
|
144
145
|
if (typeof renderResult === 'string') {
|
|
145
146
|
this.innerHTML = renderResult
|
|
146
147
|
}
|
|
@@ -162,12 +163,8 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
162
163
|
* Finialize the component initialization after it gets the Props. Called by the framework internally
|
|
163
164
|
*/
|
|
164
165
|
public callConstructed() {
|
|
165
|
-
if (this.props.isDisposed) {
|
|
166
|
-
return
|
|
167
|
-
}
|
|
168
|
-
|
|
169
166
|
;(o as any).getInitialState &&
|
|
170
|
-
this.state
|
|
167
|
+
(this.state = (o as any).getInitialState({ props: { ...this.props }, injector: this.injector }))
|
|
171
168
|
|
|
172
169
|
this.updateComponent()
|
|
173
170
|
this.createResources()
|
|
@@ -199,12 +196,12 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
199
196
|
return this._injector
|
|
200
197
|
}
|
|
201
198
|
|
|
202
|
-
const fromState = (this.state
|
|
199
|
+
const fromState = (this.state as any)?.injector
|
|
203
200
|
if (fromState && fromState instanceof Injector) {
|
|
204
201
|
return fromState
|
|
205
202
|
}
|
|
206
203
|
|
|
207
|
-
const fromProps = (this.props
|
|
204
|
+
const fromProps = (this.props as any)?.injector
|
|
208
205
|
if (fromProps && fromProps instanceof Injector) {
|
|
209
206
|
return fromProps
|
|
210
207
|
}
|
|
@@ -226,8 +223,7 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
226
223
|
|
|
227
224
|
constructor(_props: TProps) {
|
|
228
225
|
super()
|
|
229
|
-
this.props =
|
|
230
|
-
this.state = new ObservableValue()
|
|
226
|
+
this.props = _props
|
|
231
227
|
}
|
|
232
228
|
} as any as CustomElementConstructor,
|
|
233
229
|
)
|
|
@@ -239,9 +235,9 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
239
235
|
const el = document.createElement(customElementName, {
|
|
240
236
|
...props,
|
|
241
237
|
}) as JSX.Element<TProps, TState>
|
|
242
|
-
el.props
|
|
238
|
+
el.props = props
|
|
243
239
|
|
|
244
|
-
el.shadeChildren
|
|
240
|
+
el.shadeChildren = children
|
|
245
241
|
return el as JSX.Element
|
|
246
242
|
}
|
|
247
243
|
}
|
|
@@ -7,7 +7,7 @@ global.TextDecoder = TextDecoder as any
|
|
|
7
7
|
|
|
8
8
|
import { initializeShadeRoot } from './initialize'
|
|
9
9
|
import { Shade } from './shade'
|
|
10
|
-
import { createComponent } from './shade-component'
|
|
10
|
+
import { createComponent, createFragment } from './shade-component'
|
|
11
11
|
|
|
12
12
|
describe('Shades integration tests', () => {
|
|
13
13
|
beforeEach(() => (document.body.innerHTML = '<div id="root"></div>'))
|
|
@@ -27,6 +27,89 @@ describe('Shades integration tests', () => {
|
|
|
27
27
|
expect(document.body.innerHTML).toBe('<div id="root"><shades-example><div>Hello</div></shades-example></div>')
|
|
28
28
|
})
|
|
29
29
|
|
|
30
|
+
it('Should mount a custom component with a string render result', () => {
|
|
31
|
+
const injector = new Injector()
|
|
32
|
+
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
33
|
+
|
|
34
|
+
const ExampleComponent = Shade({ render: () => 'Hello', shadowDomName: 'shades-string-render-result' })
|
|
35
|
+
|
|
36
|
+
initializeShadeRoot({
|
|
37
|
+
injector,
|
|
38
|
+
rootElement,
|
|
39
|
+
jsxElement: <ExampleComponent />,
|
|
40
|
+
})
|
|
41
|
+
expect(document.body.innerHTML).toBe(
|
|
42
|
+
'<div id="root"><shades-string-render-result>Hello</shades-string-render-result></div>',
|
|
43
|
+
)
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
it('Should mount a custom component with null render result', () => {
|
|
47
|
+
const injector = new Injector()
|
|
48
|
+
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
49
|
+
|
|
50
|
+
const ExampleComponent = Shade({ render: () => null, shadowDomName: 'shades-null-render-result' })
|
|
51
|
+
|
|
52
|
+
initializeShadeRoot({
|
|
53
|
+
injector,
|
|
54
|
+
rootElement,
|
|
55
|
+
jsxElement: <ExampleComponent />,
|
|
56
|
+
})
|
|
57
|
+
expect(document.body.innerHTML).toBe('<div id="root"><shades-null-render-result></shades-null-render-result></div>')
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
it('Should mount a custom component with a document fragment render result', () => {
|
|
61
|
+
const injector = new Injector()
|
|
62
|
+
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
63
|
+
|
|
64
|
+
const ExampleComponent = Shade({
|
|
65
|
+
render: () => (
|
|
66
|
+
<>
|
|
67
|
+
<p>1</p>
|
|
68
|
+
<p>2</p>
|
|
69
|
+
</>
|
|
70
|
+
),
|
|
71
|
+
shadowDomName: 'shades-fragment-render-result',
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
initializeShadeRoot({
|
|
75
|
+
injector,
|
|
76
|
+
rootElement,
|
|
77
|
+
jsxElement: <ExampleComponent />,
|
|
78
|
+
})
|
|
79
|
+
expect(document.body.innerHTML).toBe(
|
|
80
|
+
'<div id="root"><shades-fragment-render-result><p>1</p><p>2</p></shades-fragment-render-result></div>',
|
|
81
|
+
)
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
it('Should mount a custom component with a document fragment that contains custom components', () => {
|
|
85
|
+
const injector = new Injector()
|
|
86
|
+
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
87
|
+
|
|
88
|
+
const CustomComponent = Shade({
|
|
89
|
+
shadowDomName: 'shades-fragment-test-custom-component',
|
|
90
|
+
render: () => <p>Hello</p>,
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
const ExampleComponent = Shade({
|
|
94
|
+
render: () => (
|
|
95
|
+
<>
|
|
96
|
+
<CustomComponent />
|
|
97
|
+
<CustomComponent />
|
|
98
|
+
</>
|
|
99
|
+
),
|
|
100
|
+
shadowDomName: 'shades-fragment-render-result-2',
|
|
101
|
+
})
|
|
102
|
+
|
|
103
|
+
initializeShadeRoot({
|
|
104
|
+
injector,
|
|
105
|
+
rootElement,
|
|
106
|
+
jsxElement: <ExampleComponent />,
|
|
107
|
+
})
|
|
108
|
+
expect(document.body.innerHTML).toBe(
|
|
109
|
+
'<div id="root"><shades-fragment-render-result-2><shades-fragment-test-custom-component><p>Hello</p></shades-fragment-test-custom-component><shades-fragment-test-custom-component><p>Hello</p></shades-fragment-test-custom-component></shades-fragment-render-result-2></div>',
|
|
110
|
+
)
|
|
111
|
+
})
|
|
112
|
+
|
|
30
113
|
it('Should mount nested Shades components', () => {
|
|
31
114
|
const injector = new Injector()
|
|
32
115
|
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
@@ -134,15 +217,89 @@ describe('Shades integration tests', () => {
|
|
|
134
217
|
|
|
135
218
|
const plus = () => document.getElementById('plus')?.click()
|
|
136
219
|
const minus = () => document.getElementById('minus')?.click()
|
|
220
|
+
const expectCount = (count: number) => expect(document.body.innerHTML).toContain(`Count is ${count}`)
|
|
137
221
|
|
|
138
|
-
|
|
222
|
+
expectCount(0)
|
|
139
223
|
plus()
|
|
140
|
-
|
|
224
|
+
expectCount(1)
|
|
141
225
|
plus()
|
|
142
|
-
|
|
226
|
+
expectCount(2)
|
|
143
227
|
|
|
144
228
|
minus()
|
|
145
229
|
minus()
|
|
146
|
-
|
|
230
|
+
expectCount(0)
|
|
231
|
+
})
|
|
232
|
+
|
|
233
|
+
it('Should allow children update after unmount and remount', () => {
|
|
234
|
+
const injector = new Injector()
|
|
235
|
+
const rootElement = document.getElementById('root') as HTMLDivElement
|
|
236
|
+
const Parent = Shade<unknown, { areChildrenVisible: boolean }>({
|
|
237
|
+
shadowDomName: 'shade-remount-parent',
|
|
238
|
+
getInitialState: () => ({ areChildrenVisible: true }),
|
|
239
|
+
render: ({ children, getState, updateState }) => (
|
|
240
|
+
<div>
|
|
241
|
+
<button
|
|
242
|
+
id="showHideChildren"
|
|
243
|
+
onclick={() => {
|
|
244
|
+
updateState({ areChildrenVisible: !getState().areChildrenVisible })
|
|
245
|
+
}}
|
|
246
|
+
>
|
|
247
|
+
Toggle
|
|
248
|
+
</button>
|
|
249
|
+
{getState().areChildrenVisible ? children : <div />}
|
|
250
|
+
</div>
|
|
251
|
+
),
|
|
252
|
+
})
|
|
253
|
+
|
|
254
|
+
const Child = Shade({
|
|
255
|
+
shadowDomName: 'example-remount-child',
|
|
256
|
+
getInitialState: () => ({ count: 0 }),
|
|
257
|
+
render: ({ getState, updateState }) => {
|
|
258
|
+
const { count } = getState()
|
|
259
|
+
return (
|
|
260
|
+
<div>
|
|
261
|
+
Count is {getState().count.toString()}
|
|
262
|
+
<button id="plus" onclick={() => updateState({ count: count + 1 })}>
|
|
263
|
+
+
|
|
264
|
+
</button>
|
|
265
|
+
<button id="minus" onclick={() => updateState({ count: count - 1 })}>
|
|
266
|
+
-
|
|
267
|
+
</button>
|
|
268
|
+
</div>
|
|
269
|
+
)
|
|
270
|
+
},
|
|
271
|
+
})
|
|
272
|
+
|
|
273
|
+
initializeShadeRoot({
|
|
274
|
+
injector,
|
|
275
|
+
rootElement,
|
|
276
|
+
jsxElement: (
|
|
277
|
+
<Parent>
|
|
278
|
+
<Child />
|
|
279
|
+
</Parent>
|
|
280
|
+
),
|
|
281
|
+
})
|
|
282
|
+
|
|
283
|
+
const plus = () => document.getElementById('plus')?.click()
|
|
284
|
+
const minus = () => document.getElementById('minus')?.click()
|
|
285
|
+
const expectCount = (count: number) => expect(document.body.innerHTML).toContain(`Count is ${count}`)
|
|
286
|
+
const toggleChildren = () => document.getElementById('showHideChildren')?.click()
|
|
287
|
+
|
|
288
|
+
expectCount(0)
|
|
289
|
+
plus()
|
|
290
|
+
expectCount(1)
|
|
291
|
+
|
|
292
|
+
toggleChildren()
|
|
293
|
+
|
|
294
|
+
expect(document.getElementById('plus')).toBeNull()
|
|
295
|
+
|
|
296
|
+
toggleChildren()
|
|
297
|
+
expect(document.getElementById('plus')).toBeDefined()
|
|
298
|
+
|
|
299
|
+
// expectCount(0)
|
|
300
|
+
plus()
|
|
301
|
+
expectCount(1)
|
|
302
|
+
minus()
|
|
303
|
+
expectCount(0)
|
|
147
304
|
})
|
|
148
305
|
})
|
package/types/jsx.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { ObservableValue } from '@furystack/utils';
|
|
2
1
|
import { Injector } from '@furystack/inject';
|
|
3
2
|
import { ChildrenList, PartialElement } from './models';
|
|
4
3
|
declare global {
|
|
5
4
|
export namespace JSX {
|
|
6
5
|
interface Element<TProps = any, TState = any> extends HTMLElement {
|
|
7
6
|
injector: Injector;
|
|
8
|
-
state:
|
|
9
|
-
props:
|
|
7
|
+
state: TState;
|
|
8
|
+
props: TProps;
|
|
10
9
|
updateComponent: () => void;
|
|
11
|
-
shadeChildren
|
|
10
|
+
shadeChildren?: ChildrenList;
|
|
12
11
|
callConstructed: () => void;
|
|
13
12
|
}
|
|
14
13
|
interface IntrinsicElements {
|
package/types/jsx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { ChildrenList } from './children-list';
|
|
|
4
4
|
export declare type RenderOptions<TProps, TState> = {
|
|
5
5
|
readonly props: TProps;
|
|
6
6
|
injector: Injector;
|
|
7
|
-
children
|
|
7
|
+
children?: ChildrenList;
|
|
8
8
|
element: JSX.Element<TProps, TState>;
|
|
9
9
|
} & (unknown extends TState ? {} : {
|
|
10
10
|
getState: () => TState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../src/models/render-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,oBAAY,aAAa,CAAC,MAAM,EAAE,MAAM,IAAI;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../src/models/render-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,oBAAY,aAAa,CAAC,MAAM,EAAE,MAAM,IAAI;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrC,GAAG,CAAC,OAAO,SAAS,MAAM,GACvB,EAAE,GACF;IACE,QAAQ,EAAE,MAAM,MAAM,CAAA;IACtB,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAC9E,CAAC,CAAA"}
|
package/types/shade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade.d.ts","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"shade.d.ts","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAkB,aAAa,EAAE,MAAM,UAAU,CAAA;AAEtE,oBAAY,YAAY,CAAC,MAAM,EAAE,MAAM,IAAI;IACzC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;IAE/E;;OAEG;IACH,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,KACnC,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;IAE/E;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;IAE3D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;IAE3D;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,UAAU,EAAE,CAAA;IAEpE;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;CAC/D,GAAG,CAAC,OAAO,SAAS,MAAM,GACvB,EAAE,GACF;IACE;;OAEG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;CAC5E,CAAC,CAAA;AAEN;;;;;GAKG;AACH,eAAO,MAAM,KAAK,iIA0LjB,CAAA"}
|