@furystack/shades 5.0.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/route-link.js.map +1 -1
- package/dist/components/router.js +1 -1
- package/dist/components/router.js.map +1 -1
- package/dist/shade-component.js +7 -1
- package/dist/shade-component.js.map +1 -1
- package/dist/shade.js +25 -10
- package/dist/shade.js.map +1 -1
- package/package.json +8 -8
- package/src/components/route-link.tsx +3 -1
- package/src/components/router.tsx +1 -1
- package/src/shade-component.ts +6 -0
- package/src/shade.ts +42 -11
- package/types/components/route-link.d.ts +2 -1
- package/types/components/route-link.d.ts.map +1 -1
- package/types/shade-component.d.ts +1 -0
- package/types/shade-component.d.ts.map +1 -1
- package/types/shade.d.ts +8 -1
- package/types/shade.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-link.js","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":";;;AAAA,oCAAgC;AAEhC,0CAA6C;AAC7C,0BAAoC;
|
|
1
|
+
{"version":3,"file":"route-link.js","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":";;;AAAA,oCAAgC;AAEhC,0CAA6C;AAC7C,0BAAoC;AAIvB,QAAA,SAAS,GAAG,IAAA,aAAK,EAAiB;IAC7C,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxC,OAAO,CACL,mCACM,KAAK,EACT,OAAO,EAAE,CAAC,EAAc,EAAE,EAAE;gBAC1B,EAAE,CAAC,cAAc,EAAE,CAAA;gBACnB,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBACpD,QAAQ,CAAC,WAAW,CAAC,0BAAe,CAAC,CAAC,WAAW,EAAE,CAAA;YACrD,CAAC,IAEA,QAAQ,CACP,CACL,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -41,7 +41,7 @@ exports.Router = (0, shade_1.Shade)({
|
|
|
41
41
|
updateState({ jsx: (_c = props.notFound) === null || _c === void 0 ? void 0 : _c.call(props, currentUrl), activeRoute: undefined });
|
|
42
42
|
}
|
|
43
43
|
catch (e) {
|
|
44
|
-
//
|
|
44
|
+
// path updates can be async, this can be ignored
|
|
45
45
|
if (!(e instanceof utils_1.ObservableAlreadyDisposedError)) {
|
|
46
46
|
throw e;
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/components/router.tsx"],"names":[],"mappings":";;;;AAAA,oCAAgC;AAChC,wDAAoD;AACpD,0CAA6C;AAC7C,mDAA0E;AAE1E,0FAA6C;AAC7C,4CAAiE;AAsBpD,QAAA,MAAM,GAAG,IAAA,aAAK,EAA2B;IACpD,aAAa,EAAE,cAAc;IAC7B,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,IAAI,+BAAS,CAAC,CAAC,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC5E,QAAQ,CAAC,WAAW,CAAC,0BAAe,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;;YACrF,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAA;YAClF,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBACpB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChC,MAAM,OAAO,GAAG,IAAA,sBAAK,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;oBACtD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;oBACvC,IAAI,WAAW,EAAE;wBACf,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;4BAC5F,MAAM,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0DAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA,CAAA;4BACzF,WAAW,CAAC;gCACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;gCACxD,WAAW,EAAE,KAAK;gCAClB,iBAAiB,EAAE,WAAW,CAAC,MAAM;6BACtC,CAAC,CAAA;4BACF,MAAM,CAAA,MAAA,KAAK,CAAC,OAAO,sDAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA,CAAA;yBACrF;wBACD,OAAM;qBACP;iBACF;gBACD,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE;oBACtB,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;iBACvF;gBACD,WAAW,CAAC,EAAE,GAAG,EAAE,MAAA,KAAK,CAAC,QAAQ,sDAAG,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;aAC3E;YAAC,OAAO,CAAC,EAAE;gBACV,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/components/router.tsx"],"names":[],"mappings":";;;;AAAA,oCAAgC;AAChC,wDAAoD;AACpD,0CAA6C;AAC7C,mDAA0E;AAE1E,0FAA6C;AAC7C,4CAAiE;AAsBpD,QAAA,MAAM,GAAG,IAAA,aAAK,EAA2B;IACpD,aAAa,EAAE,cAAc;IAC7B,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,IAAI,+BAAS,CAAC,CAAC,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC5E,QAAQ,CAAC,WAAW,CAAC,0BAAe,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;;YACrF,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAA;YAClF,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBACpB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChC,MAAM,OAAO,GAAG,IAAA,sBAAK,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;oBACtD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;oBACvC,IAAI,WAAW,EAAE;wBACf,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;4BAC5F,MAAM,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0DAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA,CAAA;4BACzF,WAAW,CAAC;gCACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;gCACxD,WAAW,EAAE,KAAK;gCAClB,iBAAiB,EAAE,WAAW,CAAC,MAAM;6BACtC,CAAC,CAAA;4BACF,MAAM,CAAA,MAAA,KAAK,CAAC,OAAO,sDAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA,CAAA;yBACrF;wBACD,OAAM;qBACP;iBACF;gBACD,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE;oBACtB,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;iBACvF;gBACD,WAAW,CAAC,EAAE,GAAG,EAAE,MAAA,KAAK,CAAC,QAAQ,sDAAG,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;aAC3E;YAAC,OAAO,CAAC,EAAE;gBACV,iDAAiD;gBACjD,IAAI,CAAC,CAAC,CAAC,YAAY,sCAA8B,CAAC,EAAE;oBAClD,MAAM,CAAC,CAAA;iBACR;aACF;oBAAS;gBACR,IAAI,CAAC,OAAO,EAAE,CAAA;aACf;QACH,CAAC,EAAE,IAAI,CAAC;KACT;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvB,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC1B,IAAI,GAAG,EAAE;YACP,OAAO,GAAG,CAAA;SACX;QACD,OAAO,mDAAW,CAAA;IACpB,CAAC;CACF,CAAC,CAAA"}
|
package/dist/shade-component.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createComponent = exports.attachDataAttributes = exports.attachStyles = exports.hasStyle = exports.appendChild = void 0;
|
|
3
|
+
exports.createFragment = exports.createComponent = exports.attachDataAttributes = exports.attachStyles = exports.hasStyle = exports.appendChild = void 0;
|
|
4
4
|
const models_1 = require("./models");
|
|
5
5
|
/**
|
|
6
6
|
* Appends a list of items to a HTML element
|
|
@@ -77,4 +77,10 @@ const createComponent = (elementType, props, ...children) => {
|
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
exports.createComponent = createComponent;
|
|
80
|
+
const createFragment = (_props, ...children) => {
|
|
81
|
+
const fragment = document.createDocumentFragment();
|
|
82
|
+
fragment.append(...children[0].flat());
|
|
83
|
+
return fragment;
|
|
84
|
+
};
|
|
85
|
+
exports.createFragment = createFragment;
|
|
80
86
|
//# sourceMappingURL=shade-component.js.map
|
|
@@ -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,GAAI,WAAsC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACnE,IAAA,oBAAY,EAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACvB,OAAO,EAAE,CAAA;KACV;AACH,CAAC,CAAA;AAtBY,QAAA,eAAe,mBAsB3B"}
|
|
1
|
+
{"version":3,"file":"shade-component.js","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"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"}
|
package/dist/shade.js
CHANGED
|
@@ -17,6 +17,9 @@ const Shade = (o) => {
|
|
|
17
17
|
customElements.define(customElementName, class extends HTMLElement {
|
|
18
18
|
constructor(_props) {
|
|
19
19
|
super();
|
|
20
|
+
this.compareState = o.compareState ||
|
|
21
|
+
((oldState, newState) => Object.entries(oldState).some(([key, value]) => value !== newState[key]) ||
|
|
22
|
+
Object.entries(newState).some(([key, value]) => value !== oldState[key]));
|
|
20
23
|
/**
|
|
21
24
|
* Will be updated when on children change
|
|
22
25
|
*/
|
|
@@ -35,7 +38,7 @@ const Shade = (o) => {
|
|
|
35
38
|
const updateState = (stateChanges, skipRender) => {
|
|
36
39
|
const currentState = this.state.getValue();
|
|
37
40
|
const newState = { ...currentState, ...stateChanges };
|
|
38
|
-
if (
|
|
41
|
+
if (this.compareState(currentState, newState)) {
|
|
39
42
|
this.state.setValue(newState);
|
|
40
43
|
!skipRender && this.updateComponent();
|
|
41
44
|
}
|
|
@@ -61,11 +64,11 @@ const Shade = (o) => {
|
|
|
61
64
|
}
|
|
62
65
|
disconnectedCallback() {
|
|
63
66
|
o.onDetach && o.onDetach(this.getRenderOptions());
|
|
67
|
+
Object.values(this.resources).forEach((s) => s.dispose());
|
|
68
|
+
this.cleanup && this.cleanup();
|
|
69
|
+
this.shadeChildren.dispose();
|
|
64
70
|
this.props.dispose();
|
|
65
71
|
this.state.dispose();
|
|
66
|
-
this.shadeChildren.dispose();
|
|
67
|
-
this.cleanup && this.cleanup();
|
|
68
|
-
Object.values(this.resources).forEach((s) => s.dispose());
|
|
69
72
|
}
|
|
70
73
|
createResources() {
|
|
71
74
|
var _a;
|
|
@@ -75,18 +78,29 @@ const Shade = (o) => {
|
|
|
75
78
|
* Updates the component in the DOM.
|
|
76
79
|
*/
|
|
77
80
|
updateComponent() {
|
|
78
|
-
const
|
|
79
|
-
if (
|
|
80
|
-
this.
|
|
81
|
+
const renderResult = this.render(this.getRenderOptions());
|
|
82
|
+
if (typeof renderResult === 'string') {
|
|
83
|
+
this.innerHTML = renderResult;
|
|
81
84
|
}
|
|
82
|
-
|
|
83
|
-
this.
|
|
85
|
+
if (renderResult instanceof DocumentFragment) {
|
|
86
|
+
this.replaceChildren(...renderResult.children);
|
|
87
|
+
}
|
|
88
|
+
if (renderResult instanceof HTMLElement) {
|
|
89
|
+
if (this.hasChildNodes()) {
|
|
90
|
+
this.replaceChild(renderResult, this.firstChild);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.append(renderResult);
|
|
94
|
+
}
|
|
84
95
|
}
|
|
85
96
|
}
|
|
86
97
|
/**
|
|
87
98
|
* Finialize the component initialization after it gets the Props. Called by the framework internally
|
|
88
99
|
*/
|
|
89
100
|
callConstructed() {
|
|
101
|
+
if (this.props.isDisposed) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
90
104
|
;
|
|
91
105
|
o.getInitialState &&
|
|
92
106
|
this.state.setValue(o.getInitialState({ props: this.props.getValue(), injector: this.injector }));
|
|
@@ -128,7 +142,8 @@ const Shade = (o) => {
|
|
|
128
142
|
this._injector = fromParent;
|
|
129
143
|
return fromParent;
|
|
130
144
|
}
|
|
131
|
-
|
|
145
|
+
// Injector not set explicitly and not found on parents!
|
|
146
|
+
return new inject_1.Injector();
|
|
132
147
|
}
|
|
133
148
|
set injector(i) {
|
|
134
149
|
this._injector = i;
|
package/dist/shade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade.js","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":";;;AAAA,4CAA8D;AAC9D,8CAA4C;
|
|
1
|
+
{"version":3,"file":"shade.js","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/shades",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "Google Authentication Provider for FuryStack",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/furystack/furystack",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@types/jest": "^27.5.
|
|
32
|
+
"@types/jest": "^27.5.2",
|
|
33
33
|
"@types/jsdom": "^16.2.14",
|
|
34
|
-
"@types/node": "^
|
|
35
|
-
"jsdom": "^
|
|
34
|
+
"@types/node": "^18.0.0",
|
|
35
|
+
"jsdom": "^20.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@furystack/core": "^11.0.
|
|
39
|
-
"@furystack/inject": "^
|
|
40
|
-
"@furystack/utils": "^3.0.
|
|
41
|
-
"path-to-regexp": "^6.2.
|
|
38
|
+
"@furystack/core": "^11.0.4",
|
|
39
|
+
"@furystack/inject": "^7.0.0",
|
|
40
|
+
"@furystack/utils": "^3.0.4",
|
|
41
|
+
"path-to-regexp": "^6.2.1",
|
|
42
42
|
"semaphore-async-await": "^1.5.1",
|
|
43
43
|
"tslib": "^2.4.0"
|
|
44
44
|
},
|
|
@@ -3,7 +3,9 @@ import { PartialElement } from '../models'
|
|
|
3
3
|
import { LocationService } from '../services'
|
|
4
4
|
import { createComponent } from '..'
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export type RouteLinkProps = PartialElement<HTMLAnchorElement>
|
|
7
|
+
|
|
8
|
+
export const RouteLink = Shade<RouteLinkProps>({
|
|
7
9
|
shadowDomName: 'route-link',
|
|
8
10
|
render: ({ children, props, injector }) => {
|
|
9
11
|
return (
|
|
@@ -57,7 +57,7 @@ export const Router = Shade<RouterProps, RouterState>({
|
|
|
57
57
|
}
|
|
58
58
|
updateState({ jsx: props.notFound?.(currentUrl), activeRoute: undefined })
|
|
59
59
|
} catch (e) {
|
|
60
|
-
//
|
|
60
|
+
// path updates can be async, this can be ignored
|
|
61
61
|
if (!(e instanceof ObservableAlreadyDisposedError)) {
|
|
62
62
|
throw e
|
|
63
63
|
}
|
package/src/shade-component.ts
CHANGED
|
@@ -75,3 +75,9 @@ export const createComponent = <TProps>(
|
|
|
75
75
|
return el
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
|
|
79
|
+
export const createFragment = (_props: any, ...children: [[ShadeComponent[]]]) => {
|
|
80
|
+
const fragment = document.createDocumentFragment()
|
|
81
|
+
fragment.append(...(children[0].flat() as any))
|
|
82
|
+
return fragment
|
|
83
|
+
}
|
package/src/shade.ts
CHANGED
|
@@ -7,10 +7,11 @@ export type ShadeOptions<TProps, TState> = {
|
|
|
7
7
|
* Explicit shadow dom name. Will fall back to 'shade-{guid}' if not provided
|
|
8
8
|
*/
|
|
9
9
|
shadowDomName: string
|
|
10
|
+
|
|
10
11
|
/**
|
|
11
12
|
* Render hook, this method will be executed on each and every render.
|
|
12
13
|
*/
|
|
13
|
-
render: (options: RenderOptions<TProps, TState>) => JSX.Element
|
|
14
|
+
render: (options: RenderOptions<TProps, TState>) => JSX.Element | string | null
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Construct hook. Will be executed once when the element has been constructed and initialized
|
|
@@ -29,7 +30,15 @@ export type ShadeOptions<TProps, TState> = {
|
|
|
29
30
|
*/
|
|
30
31
|
onDetach?: (options: RenderOptions<TProps, TState>) => void
|
|
31
32
|
|
|
33
|
+
/**
|
|
34
|
+
* A factory method that creates a list of disposable resources that will be disposed when the element is detached.
|
|
35
|
+
*/
|
|
32
36
|
resources?: (options: RenderOptions<TProps, TState>) => Disposable[]
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* An optional method that checks the state for changes and returns true if the element should be rerendered.
|
|
40
|
+
*/
|
|
41
|
+
compareState?: (oldState: TState, newState: TState) => boolean
|
|
33
42
|
} & (unknown extends TState
|
|
34
43
|
? {}
|
|
35
44
|
: {
|
|
@@ -54,6 +63,12 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
54
63
|
customElements.define(
|
|
55
64
|
customElementName,
|
|
56
65
|
class extends HTMLElement implements JSX.Element {
|
|
66
|
+
private compareState =
|
|
67
|
+
o.compareState ||
|
|
68
|
+
((oldState: TState, newState: TState) =>
|
|
69
|
+
Object.entries(oldState).some(([key, value]) => value !== newState[key as keyof TState]) ||
|
|
70
|
+
Object.entries(newState).some(([key, value]) => value !== oldState[key as keyof TState]))
|
|
71
|
+
|
|
57
72
|
public connectedCallback() {
|
|
58
73
|
o.onAttach && o.onAttach(this.getRenderOptions())
|
|
59
74
|
this.callConstructed()
|
|
@@ -61,11 +76,11 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
61
76
|
|
|
62
77
|
public disconnectedCallback() {
|
|
63
78
|
o.onDetach && o.onDetach(this.getRenderOptions())
|
|
79
|
+
Object.values(this.resources).forEach((s) => s.dispose())
|
|
80
|
+
this.cleanup && this.cleanup()
|
|
81
|
+
this.shadeChildren.dispose()
|
|
64
82
|
this.props.dispose()
|
|
65
83
|
this.state.dispose()
|
|
66
|
-
this.shadeChildren.dispose()
|
|
67
|
-
this.cleanup && this.cleanup()
|
|
68
|
-
Object.values(this.resources).forEach((s) => s.dispose())
|
|
69
84
|
}
|
|
70
85
|
|
|
71
86
|
/**
|
|
@@ -98,7 +113,7 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
98
113
|
const updateState = (stateChanges: PartialElement<TState>, skipRender?: boolean) => {
|
|
99
114
|
const currentState = this.state.getValue()
|
|
100
115
|
const newState = { ...currentState, ...stateChanges }
|
|
101
|
-
if (
|
|
116
|
+
if (this.compareState(currentState, newState)) {
|
|
102
117
|
this.state.setValue(newState)
|
|
103
118
|
!skipRender && this.updateComponent()
|
|
104
119
|
}
|
|
@@ -124,11 +139,22 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
124
139
|
* Updates the component in the DOM.
|
|
125
140
|
*/
|
|
126
141
|
public updateComponent() {
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
142
|
+
const renderResult = this.render(this.getRenderOptions())
|
|
143
|
+
|
|
144
|
+
if (typeof renderResult === 'string') {
|
|
145
|
+
this.innerHTML = renderResult
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (renderResult instanceof DocumentFragment) {
|
|
149
|
+
this.replaceChildren(...renderResult.children)
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (renderResult instanceof HTMLElement) {
|
|
153
|
+
if (this.hasChildNodes()) {
|
|
154
|
+
this.replaceChild(renderResult, this.firstChild as Node)
|
|
155
|
+
} else {
|
|
156
|
+
this.append(renderResult)
|
|
157
|
+
}
|
|
132
158
|
}
|
|
133
159
|
}
|
|
134
160
|
|
|
@@ -136,6 +162,10 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
136
162
|
* Finialize the component initialization after it gets the Props. Called by the framework internally
|
|
137
163
|
*/
|
|
138
164
|
public callConstructed() {
|
|
165
|
+
if (this.props.isDisposed) {
|
|
166
|
+
return
|
|
167
|
+
}
|
|
168
|
+
|
|
139
169
|
;(o as any).getInitialState &&
|
|
140
170
|
this.state.setValue((o as any).getInitialState({ props: this.props.getValue(), injector: this.injector }))
|
|
141
171
|
|
|
@@ -184,7 +214,8 @@ export const Shade = <TProps, TState = unknown>(o: ShadeOptions<TProps, TState>)
|
|
|
184
214
|
this._injector = fromParent
|
|
185
215
|
return fromParent
|
|
186
216
|
}
|
|
187
|
-
|
|
217
|
+
// Injector not set explicitly and not found on parents!
|
|
218
|
+
return new Injector()
|
|
188
219
|
}
|
|
189
220
|
|
|
190
221
|
public set injector(i: Injector) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { PartialElement } from '../models';
|
|
2
|
-
export declare
|
|
2
|
+
export declare type RouteLinkProps = PartialElement<HTMLAnchorElement>;
|
|
3
|
+
export declare const RouteLink: (props: RouteLinkProps, children: import("..").ChildrenList) => JSX.Element<any, any>;
|
|
3
4
|
//# sourceMappingURL=route-link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-link.d.ts","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAI1C,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"route-link.d.ts","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAI1C,oBAAY,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAE9D,eAAO,MAAM,SAAS,uFAgBpB,CAAA"}
|
|
@@ -24,4 +24,5 @@ export declare const attachDataAttributes: (el: HTMLElement, props: any) => void
|
|
|
24
24
|
* @returns the created JSX element
|
|
25
25
|
*/
|
|
26
26
|
export declare const createComponent: <TProps>(elementType: string | ShadeComponent<TProps>, props: TProps, ...children: ChildrenList) => HTMLElement | undefined;
|
|
27
|
+
export declare const createFragment: (_props: any, children_0: [ShadeComponent<{}>[]]) => DocumentFragment;
|
|
27
28
|
//# sourceMappingURL=shade-component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shade-component.d.ts","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,UAAU,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,WAAW,OAAQ,WAAW,iCAY1C,CAAA;AAED,eAAO,MAAM,QAAQ,UAAW,GAAG;WAAqB,QAAQ,mBAAmB,CAAC;CAEnF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,OAAQ,WAAW,SAAS,GAAG,SAOvD,CAAA;AAED,eAAO,MAAM,oBAAoB,OAAQ,WAAW,SAAS,GAAG,SAK/D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,6HAsB3B,CAAA"}
|
|
1
|
+
{"version":3,"file":"shade-component.d.ts","sourceRoot":"","sources":["../src/shade-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,UAAU,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,WAAW,OAAQ,WAAW,iCAY1C,CAAA;AAED,eAAO,MAAM,QAAQ,UAAW,GAAG;WAAqB,QAAQ,mBAAmB,CAAC;CAEnF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,OAAQ,WAAW,SAAS,GAAG,SAOvD,CAAA;AAED,eAAO,MAAM,oBAAoB,OAAQ,WAAW,SAAS,GAAG,SAK/D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,6HAsB3B,CAAA;AAED,eAAO,MAAM,cAAc,WAAY,GAAG,yDAIzC,CAAA"}
|
package/types/shade.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare type ShadeOptions<TProps, TState> = {
|
|
|
9
9
|
/**
|
|
10
10
|
* Render hook, this method will be executed on each and every render.
|
|
11
11
|
*/
|
|
12
|
-
render: (options: RenderOptions<TProps, TState>) => JSX.Element;
|
|
12
|
+
render: (options: RenderOptions<TProps, TState>) => JSX.Element | string | null;
|
|
13
13
|
/**
|
|
14
14
|
* Construct hook. Will be executed once when the element has been constructed and initialized
|
|
15
15
|
*/
|
|
@@ -22,7 +22,14 @@ export declare type ShadeOptions<TProps, TState> = {
|
|
|
22
22
|
* Will be executed when the element is detached from the DOM.
|
|
23
23
|
*/
|
|
24
24
|
onDetach?: (options: RenderOptions<TProps, TState>) => void;
|
|
25
|
+
/**
|
|
26
|
+
* A factory method that creates a list of disposable resources that will be disposed when the element is detached.
|
|
27
|
+
*/
|
|
25
28
|
resources?: (options: RenderOptions<TProps, TState>) => Disposable[];
|
|
29
|
+
/**
|
|
30
|
+
* An optional method that checks the state for changes and returns true if the element should be rerendered.
|
|
31
|
+
*/
|
|
32
|
+
compareState?: (oldState: TState, newState: TState) => boolean;
|
|
26
33
|
} & (unknown extends TState ? {} : {
|
|
27
34
|
/**
|
|
28
35
|
* The initial state of the component
|
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,EAAmB,MAAM,kBAAkB,CAAA;AAC9D,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;
|
|
1
|
+
{"version":3,"file":"shade.d.ts","sourceRoot":"","sources":["../src/shade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAA;AAC9D,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,iIA8LjB,CAAA"}
|