angular-three 2.0.0 → 2.1.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/esm2022/lib/canvas.mjs +1 -1
- package/esm2022/lib/directives/selection.mjs +4 -4
- package/esm2022/lib/portal.mjs +1 -1
- package/esm2022/lib/renderer/constants.mjs +2 -1
- package/esm2022/lib/renderer/utils.mjs +14 -2
- package/esm2022/lib/three-types.mjs +1 -1
- package/esm2022/lib/utils/apply-props.mjs +9 -2
- package/esm2022/lib/utils/attach.mjs +15 -4
- package/fesm2022/angular-three.mjs +38 -8
- package/fesm2022/angular-three.mjs.map +1 -1
- package/lib/canvas.d.ts +3 -3
- package/lib/portal.d.ts +6 -6
- package/lib/renderer/constants.d.ts +1 -0
- package/lib/three-types.d.ts +29 -1
- package/lib/utils/apply-props.d.ts +1 -0
- package/package.json +1 -1
|
@@ -22,6 +22,9 @@ function diffProps(instance, props) {
|
|
|
22
22
|
}
|
|
23
23
|
return changes;
|
|
24
24
|
}
|
|
25
|
+
// NOTE: this is a workaround to give the instance a change to have the store from the parent.
|
|
26
|
+
// we clear this property after the applyProps is done
|
|
27
|
+
export const NGT_APPLY_PROPS = '__ngt_apply_props__';
|
|
25
28
|
// This function applies a set of changes to the instance
|
|
26
29
|
export function applyProps(instance, props) {
|
|
27
30
|
// if props is empty
|
|
@@ -29,7 +32,7 @@ export function applyProps(instance, props) {
|
|
|
29
32
|
return instance;
|
|
30
33
|
// filter equals, and reserved props
|
|
31
34
|
const localState = getLocalState(instance);
|
|
32
|
-
const rootState = localState?.store?.snapshot ?? {};
|
|
35
|
+
const rootState = localState?.store?.snapshot ?? instance[NGT_APPLY_PROPS]?.snapshot ?? {};
|
|
33
36
|
const changes = diffProps(instance, props);
|
|
34
37
|
for (let i = 0; i < changes.length; i++) {
|
|
35
38
|
let [key, value] = changes[i];
|
|
@@ -118,6 +121,10 @@ export function applyProps(instance, props) {
|
|
|
118
121
|
if (parent && localState?.onUpdate && changes.length) {
|
|
119
122
|
localState.onUpdate(instance);
|
|
120
123
|
}
|
|
124
|
+
// clearing the intermediate store from the instance
|
|
125
|
+
if (instance[NGT_APPLY_PROPS]) {
|
|
126
|
+
delete instance[NGT_APPLY_PROPS];
|
|
127
|
+
}
|
|
121
128
|
return instance;
|
|
122
129
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9hcHBseS1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2Qyx3RUFBd0U7QUFDeEUsU0FBUyxTQUFTLENBQUMsUUFBc0IsRUFBRSxLQUFtQjtJQUM3RCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE1BQU0sT0FBTyxHQUFvQyxFQUFFLENBQUM7SUFFcEQsS0FBSyxNQUFNLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsR0FBRyxHQUFHLFlBQVksQ0FBQztZQUNwQixDQUFDO2lCQUFNLElBQUksT0FBTyxLQUFLLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3pDLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztZQUMxQixDQUFDO1FBQ0YsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQUUsU0FBUztRQUMvQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2hCLENBQUM7QUFFRCx5REFBeUQ7QUFDekQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxRQUF5QixFQUFFLEtBQW1CO0lBQ3hFLG9CQUFvQjtJQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFFaEQsb0NBQW9DO0lBQ3BDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSyxFQUFlLENBQUM7SUFDbEUsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUUzQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlCLDREQUE0RDtRQUM1RCx3REFBd0Q7UUFDeEQsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztZQUM5QixNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQztZQUUzQyxJQUFJLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDeEIsR0FBRyxHQUFHLFlBQVksQ0FBQztnQkFDbkIsS0FBSyxHQUFHLEtBQUssS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7WUFDeEUsQ0FBQztpQkFBTSxJQUFJLEdBQUcsS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNyQyxHQUFHLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ3pCLEtBQUssR0FBRyxLQUFLLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQ3hFLENBQUM7UUFDRixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO1FBQ2pDLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QyxxRUFBcUU7UUFDckUsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsWUFBWSxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzdGLE1BQU0sT0FBTyxHQUFHLFVBQVUsWUFBWSxLQUFLLENBQUM7WUFDNUMsdUJBQXVCO1lBQ3ZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMxQixJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUM7b0JBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDOztvQkFDdkQsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLHlCQUF5QjtpQkFDdEIsSUFDSixVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUNsQixLQUFLO2dCQUNMLEtBQUssQ0FBQyxXQUFXO2dCQUNqQixVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFDckQsQ0FBQztnQkFDRixVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLE9BQU87b0JBQUUsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUMzRixDQUFDLENBQUMsb0VBQW9FO2lCQUNqRSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxPQUFPLEdBQUcsVUFBVSxZQUFZLEtBQUssQ0FBQztnQkFDNUMsOEJBQThCO2dCQUM5QixJQUFJLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUM7b0JBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4RSw4Q0FBOEM7cUJBQ3pDLElBQUksVUFBVSxZQUFZLE1BQU0sSUFBSSxLQUFLLFlBQVksTUFBTTtvQkFBRSxVQUFVLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQy9GLHlCQUF5Qjs7b0JBQ3BCLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFOUIsb0JBQW9CO2dCQUNwQixJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sSUFBSSxPQUFPO29CQUFFLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pGLENBQUM7UUFDRixDQUFDLENBQUMsZ0NBQWdDO2FBQzdCLENBQUM7WUFDTCxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzdCLDZCQUE2QjtZQUM3QixJQUNDLGVBQWUsQ0FBQyxHQUFHLENBQUMsWUFBWSxPQUFPO2dCQUN2QyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLFVBQVU7Z0JBQzFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQzdDLENBQUM7Z0JBQ0YsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBWSxDQUFDO2dCQUNoRCxJQUFJLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQzt3QkFDbEUsT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNwRCw0Q0FBNEM7O3dCQUN2QyxPQUFPLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUNyRCxDQUFDO1lBQ0YsQ0FBQztRQUNGLENBQUM7UUFFRCxXQUFXLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLHFCQUFxQixHQUFHLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDckQsTUFBTSxNQUFNLEdBQUcsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFeEQsSUFBSSxNQUFNLElBQUksU0FBUyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUkscUJBQXFCLEtBQUssVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQzdHLGlFQUFpRTtRQUNqRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRSx3RUFBd0U7UUFDeEUsSUFBSSxVQUFVLEVBQUUsVUFBVTtZQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yLCBDb2xvck1hbmFnZW1lbnQsIExheWVycywgUkdCQUZvcm1hdCwgVGV4dHVyZSwgVW5zaWduZWRCeXRlVHlwZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGdldExvY2FsU3RhdGUsIGludmFsaWRhdGVJbnN0YW5jZSB9IGZyb20gJy4uL2luc3RhbmNlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCwgTmd0SW5zdGFuY2VOb2RlLCBOZ3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi9pcyc7XG5pbXBvcnQgeyBjaGVja1VwZGF0ZSB9IGZyb20gJy4vdXBkYXRlJztcblxuLy8gVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBhIHNldCBvZiBjaGFuZ2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGluc3RhbmNlXG5mdW5jdGlvbiBkaWZmUHJvcHMoaW5zdGFuY2U6IE5ndEFueVJlY29yZCwgcHJvcHM6IE5ndEFueVJlY29yZCkge1xuXHRjb25zdCBwcm9wc0VudHJpZXMgPSBPYmplY3QuZW50cmllcyhwcm9wcyk7XG5cdGNvbnN0IGNoYW5nZXM6IFtrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd25dW10gPSBbXTtcblxuXHRmb3IgKGNvbnN0IFtwcm9wS2V5LCBwcm9wVmFsdWVdIG9mIHByb3BzRW50cmllcykge1xuXHRcdGxldCBrZXkgPSBwcm9wS2V5O1xuXHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QoaW5zdGFuY2UpKSB7XG5cdFx0XHRpZiAocHJvcEtleSA9PT0gJ2VuY29kaW5nJykge1xuXHRcdFx0XHRrZXkgPSAnY29sb3JTcGFjZSc7XG5cdFx0XHR9IGVsc2UgaWYgKHByb3BLZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ291dHB1dENvbG9yU3BhY2UnO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoaXMuZXF1KHByb3BWYWx1ZSwgaW5zdGFuY2Vba2V5XSkpIGNvbnRpbnVlO1xuXHRcdGNoYW5nZXMucHVzaChbcHJvcEtleSwgcHJvcFZhbHVlXSk7XG5cdH1cblxuXHRyZXR1cm4gY2hhbmdlcztcbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBhcHBsaWVzIGEgc2V0IG9mIGNoYW5nZXMgdG8gdGhlIGluc3RhbmNlXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlQcm9wcyhpbnN0YW5jZTogTmd0SW5zdGFuY2VOb2RlLCBwcm9wczogTmd0QW55UmVjb3JkKSB7XG5cdC8vIGlmIHByb3BzIGlzIGVtcHR5XG5cdGlmICghT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aCkgcmV0dXJuIGluc3RhbmNlO1xuXG5cdC8vIGZpbHRlciBlcXVhbHMsIGFuZCByZXNlcnZlZCBwcm9wc1xuXHRjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShpbnN0YW5jZSk7XG5cdGNvbnN0IHJvb3RTdGF0ZSA9IGxvY2FsU3RhdGU/LnN0b3JlPy5zbmFwc2hvdCA/PyAoe30gYXMgTmd0U3RhdGUpO1xuXHRjb25zdCBjaGFuZ2VzID0gZGlmZlByb3BzKGluc3RhbmNlLCBwcm9wcyk7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG5cdFx0bGV0IFtrZXksIHZhbHVlXSA9IGNoYW5nZXNbaV07XG5cblx0XHQvLyBBbGlhcyAob3V0cHV0KWVuY29kaW5nID0+IChvdXRwdXQpY29sb3JTcGFjZSAoc2luY2UgcjE1Milcblx0XHQvLyBodHRwczovL2dpdGh1Yi5jb20vcG1uZHJzL3JlYWN0LXRocmVlLWZpYmVyL3B1bGwvMjgyOVxuXHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QoaW5zdGFuY2UpKSB7XG5cdFx0XHRjb25zdCBzUkdCRW5jb2RpbmcgPSAzMDAxO1xuXHRcdFx0Y29uc3QgU1JHQkNvbG9yU3BhY2UgPSAnc3JnYic7XG5cdFx0XHRjb25zdCBMaW5lYXJTUkdCQ29sb3JTcGFjZSA9ICdzcmdiLWxpbmVhcic7XG5cblx0XHRcdGlmIChrZXkgPT09ICdlbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ2NvbG9yU3BhY2UnO1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuXHRcdFx0fSBlbHNlIGlmIChrZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ291dHB1dENvbG9yU3BhY2UnO1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IGluc3RhbmNlO1xuXHRcdGNvbnN0IHRhcmdldFByb3AgPSBjdXJyZW50SW5zdGFuY2Vba2V5XTtcblxuXHRcdC8vIHNwZWNpYWwgdHJlYXRtZW4gZm9yIG9iamVjdHMgd2l0aCBzdXBwb3J0IGZvciBzZXQvY29weSwgYW5kIGxheWVyc1xuXHRcdGlmICh0YXJnZXRQcm9wICYmIHRhcmdldFByb3BbJ3NldCddICYmICh0YXJnZXRQcm9wWydjb3B5J10gfHwgdGFyZ2V0UHJvcCBpbnN0YW5jZW9mIExheWVycykpIHtcblx0XHRcdGNvbnN0IGlzQ29sb3IgPSB0YXJnZXRQcm9wIGluc3RhbmNlb2YgQ29sb3I7XG5cdFx0XHQvLyBpZiB2YWx1ZSBpcyBhbiBhcnJheVxuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHRcdGlmICh0YXJnZXRQcm9wWydmcm9tQXJyYXknXSkgdGFyZ2V0UHJvcFsnZnJvbUFycmF5J10odmFsdWUpO1xuXHRcdFx0XHRlbHNlIHRhcmdldFByb3BbJ3NldCddKC4uLnZhbHVlKTtcblx0XHRcdH0gLy8gdGVzdCBhZ2FpbiB0YXJnZXQuY29weVxuXHRcdFx0ZWxzZSBpZiAoXG5cdFx0XHRcdHRhcmdldFByb3BbJ2NvcHknXSAmJlxuXHRcdFx0XHR2YWx1ZSAmJlxuXHRcdFx0XHR2YWx1ZS5jb25zdHJ1Y3RvciAmJlxuXHRcdFx0XHR0YXJnZXRQcm9wLmNvbnN0cnVjdG9yLm5hbWUgPT09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblx0XHRcdCkge1xuXHRcdFx0XHR0YXJnZXRQcm9wWydjb3B5J10odmFsdWUpO1xuXHRcdFx0XHRpZiAoIUNvbG9yTWFuYWdlbWVudCAmJiAhcm9vdFN0YXRlLmxpbmVhciAmJiBpc0NvbG9yKSB0YXJnZXRQcm9wWydjb252ZXJ0U1JHQlRvTGluZWFyJ10oKTtcblx0XHRcdH0gLy8gaWYgbm90aGluZyBlbHNlIGZpdHMsIGp1c3Qgc2V0IHRoZSBzaW5nbGUgdmFsdWUsIGlnbm9yZSB1bmRlZmluZWRcblx0XHRcdGVsc2UgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0Y29uc3QgaXNDb2xvciA9IHRhcmdldFByb3AgaW5zdGFuY2VvZiBDb2xvcjtcblx0XHRcdFx0Ly8gYWxsb3cgc2V0dGluZyBhcnJheSBzY2FsYXJzXG5cdFx0XHRcdGlmICghaXNDb2xvciAmJiB0YXJnZXRQcm9wWydzZXRTY2FsYXInXSkgdGFyZ2V0UHJvcFsnc2V0U2NhbGFyJ10odmFsdWUpO1xuXHRcdFx0XHQvLyBsYXllcnMgaGF2ZSBubyBjb3B5IGZ1bmN0aW9uLCBjb3B5IHRoZSBtYXNrXG5cdFx0XHRcdGVsc2UgaWYgKHRhcmdldFByb3AgaW5zdGFuY2VvZiBMYXllcnMgJiYgdmFsdWUgaW5zdGFuY2VvZiBMYXllcnMpIHRhcmdldFByb3AubWFzayA9IHZhbHVlLm1hc2s7XG5cdFx0XHRcdC8vIG90aGVyd2lzZSBqdXN0IHNldCAuLi5cblx0XHRcdFx0ZWxzZSB0YXJnZXRQcm9wWydzZXQnXSh2YWx1ZSk7XG5cblx0XHRcdFx0Ly8gYXV0by1jb252ZXJ0IHNyZ2Jcblx0XHRcdFx0aWYgKCFDb2xvck1hbmFnZW1lbnQgJiYgIXJvb3RTdGF0ZT8ubGluZWFyICYmIGlzQ29sb3IpIHRhcmdldFByb3AuY29udmVydFNSR0JUb0xpbmVhcigpO1xuXHRcdFx0fVxuXHRcdH0gLy8gZWxzZSBqdXN0IG92ZXJ3cml0ZSB0aGUgdmFsdWVcblx0XHRlbHNlIHtcblx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldID0gdmFsdWU7XG5cdFx0XHQvLyBhdXRvLWNvbnZlcnQgc3JnYiB0ZXh0dXJlc1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRjdXJyZW50SW5zdGFuY2Vba2V5XSBpbnN0YW5jZW9mIFRleHR1cmUgJiZcblx0XHRcdFx0Y3VycmVudEluc3RhbmNlW2tleV0uZm9ybWF0ID09PSBSR0JBRm9ybWF0ICYmXG5cdFx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldLnR5cGUgPT09IFVuc2lnbmVkQnl0ZVR5cGVcblx0XHRcdCkge1xuXHRcdFx0XHRjb25zdCB0ZXh0dXJlID0gY3VycmVudEluc3RhbmNlW2tleV0gYXMgVGV4dHVyZTtcblx0XHRcdFx0aWYgKHJvb3RTdGF0ZT8uZ2wpIHtcblx0XHRcdFx0XHRpZiAoaXMuY29sb3JTcGFjZUV4aXN0KHRleHR1cmUpICYmIGlzLmNvbG9yU3BhY2VFeGlzdChyb290U3RhdGUuZ2wpKVxuXHRcdFx0XHRcdFx0dGV4dHVyZS5jb2xvclNwYWNlID0gcm9vdFN0YXRlLmdsLm91dHB1dENvbG9yU3BhY2U7XG5cdFx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIG9sZCB2ZXJzaW9uIG9mIHRocmVlanNcblx0XHRcdFx0XHRlbHNlIHRleHR1cmUuZW5jb2RpbmcgPSByb290U3RhdGUuZ2wub3V0cHV0RW5jb2Rpbmc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRjaGVja1VwZGF0ZShjdXJyZW50SW5zdGFuY2Vba2V5XSk7XG5cdFx0Y2hlY2tVcGRhdGUodGFyZ2V0UHJvcCk7XG5cdFx0aW52YWxpZGF0ZUluc3RhbmNlKGluc3RhbmNlKTtcblx0fVxuXG5cdGNvbnN0IGluc3RhbmNlSGFuZGxlcnNDb3VudCA9IGxvY2FsU3RhdGU/LmV2ZW50Q291bnQ7XG5cdGNvbnN0IHBhcmVudCA9IGxvY2FsU3RhdGU/Lmluc3RhbmNlU3RvcmU/LmdldCgncGFyZW50Jyk7XG5cblx0aWYgKHBhcmVudCAmJiByb290U3RhdGUuaW50ZXJuYWwgJiYgaW5zdGFuY2VbJ3JheWNhc3QnXSAmJiBpbnN0YW5jZUhhbmRsZXJzQ291bnQgIT09IGxvY2FsU3RhdGU/LmV2ZW50Q291bnQpIHtcblx0XHQvLyBQcmUtZW1wdGl2ZWx5IHJlbW92ZSB0aGUgaW5zdGFuY2UgZnJvbSB0aGUgaW50ZXJhY3Rpb24gbWFuYWdlclxuXHRcdGNvbnN0IGluZGV4ID0gcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLmluZGV4T2YoaW5zdGFuY2UpO1xuXHRcdGlmIChpbmRleCA+IC0xKSByb290U3RhdGUuaW50ZXJuYWwuaW50ZXJhY3Rpb24uc3BsaWNlKGluZGV4LCAxKTtcblx0XHQvLyBBZGQgdGhlIGluc3RhbmNlIHRvIHRoZSBpbnRlcmFjdGlvbiBtYW5hZ2VyIG9ubHkgd2hlbiBpdCBoYXMgaGFuZGxlcnNcblx0XHRpZiAobG9jYWxTdGF0ZT8uZXZlbnRDb3VudCkgcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLnB1c2goaW5zdGFuY2UpO1xuXHR9XG5cblx0aWYgKHBhcmVudCAmJiBsb2NhbFN0YXRlPy5vblVwZGF0ZSAmJiBjaGFuZ2VzLmxlbmd0aCkge1xuXHRcdGxvY2FsU3RhdGUub25VcGRhdGUoaW5zdGFuY2UpO1xuXHR9XG5cblx0cmV0dXJuIGluc3RhbmNlO1xufVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9hcHBseS1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2Qyx3RUFBd0U7QUFDeEUsU0FBUyxTQUFTLENBQUMsUUFBc0IsRUFBRSxLQUFtQjtJQUM3RCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE1BQU0sT0FBTyxHQUFvQyxFQUFFLENBQUM7SUFFcEQsS0FBSyxNQUFNLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsR0FBRyxHQUFHLFlBQVksQ0FBQztZQUNwQixDQUFDO2lCQUFNLElBQUksT0FBTyxLQUFLLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3pDLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztZQUMxQixDQUFDO1FBQ0YsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQUUsU0FBUztRQUMvQyxP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QU0sSUFBSSxVQUFVLEVBQUUsUUFBUSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0RCxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yLCBDb2xvck1hbmFnZW1lbnQsIExheWVycywgUkdCQUZvcm1hdCwgVGV4dHVyZSwgVW5zaWduZWRCeXRlVHlwZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGdldExvY2FsU3RhdGUsIGludmFsaWRhdGVJbnN0YW5jZSB9IGZyb20gJy4uL2luc3RhbmNlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCwgTmd0SW5zdGFuY2VOb2RlLCBOZ3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi9pcyc7XG5pbXBvcnQgeyBjaGVja1VwZGF0ZSB9IGZyb20gJy4vdXBkYXRlJztcblxuLy8gVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBhIHNldCBvZiBjaGFuZ2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGluc3RhbmNlXG5mdW5jdGlvbiBkaWZmUHJvcHMoaW5zdGFuY2U6IE5ndEFueVJlY29yZCwgcHJvcHM6IE5ndEFueVJlY29yZCkge1xuXHRjb25zdCBwcm9wc0VudHJpZXMgPSBPYmplY3QuZW50cmllcyhwcm9wcyk7XG5cdGNvbnN0IGNoYW5nZXM6IFtrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd25dW10gPSBbXTtcblxuXHRmb3IgKGNvbnN0IFtwcm9wS2V5LCBwcm9wVmFsdWVdIG9mIHByb3BzRW50cmllcykge1xuXHRcdGxldCBrZXkgPSBwcm9wS2V5O1xuXHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QoaW5zdGFuY2UpKSB7XG5cdFx0XHRpZiAocHJvcEtleSA9PT0gJ2VuY29kaW5nJykge1xuXHRcdFx0XHRrZXkgPSAnY29sb3JTcGFjZSc7XG5cdFx0XHR9IGVsc2UgaWYgKHByb3BLZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ291dHB1dENvbG9yU3BhY2UnO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoaXMuZXF1KHByb3BWYWx1ZSwgaW5zdGFuY2Vba2V5XSkpIGNvbnRpbnVlO1xuXHRcdGNoYW5nZXMucHVzaChbcHJvcEtleSwgcHJvcFZhbHVlXSk7XG5cdH1cblxuXHRyZXR1cm4gY2hhbmdlcztcbn1cblxuLy8gTk9URTogdGhpcyBpcyBhIHdvcmthcm91bmQgdG8gZ2l2ZSB0aGUgaW5zdGFuY2UgYSBjaGFuZ2UgdG8gaGF2ZSB0aGUgc3RvcmUgZnJvbSB0aGUgcGFyZW50LlxuLy8gIHdlIGNsZWFyIHRoaXMgcHJvcGVydHkgYWZ0ZXIgdGhlIGFwcGx5UHJvcHMgaXMgZG9uZVxuZXhwb3J0IGNvbnN0IE5HVF9BUFBMWV9QUk9QUyA9ICdfX25ndF9hcHBseV9wcm9wc19fJztcblxuLy8gVGhpcyBmdW5jdGlvbiBhcHBsaWVzIGEgc2V0IG9mIGNoYW5nZXMgdG8gdGhlIGluc3RhbmNlXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlQcm9wcyhpbnN0YW5jZTogTmd0SW5zdGFuY2VOb2RlLCBwcm9wczogTmd0QW55UmVjb3JkKSB7XG5cdC8vIGlmIHByb3BzIGlzIGVtcHR5XG5cdGlmICghT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aCkgcmV0dXJuIGluc3RhbmNlO1xuXG5cdC8vIGZpbHRlciBlcXVhbHMsIGFuZCByZXNlcnZlZCBwcm9wc1xuXHRjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShpbnN0YW5jZSk7XG5cdGNvbnN0IHJvb3RTdGF0ZSA9IGxvY2FsU3RhdGU/LnN0b3JlPy5zbmFwc2hvdCA/PyBpbnN0YW5jZVtOR1RfQVBQTFlfUFJPUFNdPy5zbmFwc2hvdCA/PyAoe30gYXMgTmd0U3RhdGUpO1xuXHRjb25zdCBjaGFuZ2VzID0gZGlmZlByb3BzKGluc3RhbmNlLCBwcm9wcyk7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG5cdFx0bGV0IFtrZXksIHZhbHVlXSA9IGNoYW5nZXNbaV07XG5cblx0XHQvLyBBbGlhcyAob3V0cHV0KWVuY29kaW5nID0+IChvdXRwdXQpY29sb3JTcGFjZSAoc2luY2UgcjE1Milcblx0XHQvLyBodHRwczovL2dpdGh1Yi5jb20vcG1uZHJzL3JlYWN0LXRocmVlLWZpYmVyL3B1bGwvMjgyOVxuXHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QoaW5zdGFuY2UpKSB7XG5cdFx0XHRjb25zdCBzUkdCRW5jb2RpbmcgPSAzMDAxO1xuXHRcdFx0Y29uc3QgU1JHQkNvbG9yU3BhY2UgPSAnc3JnYic7XG5cdFx0XHRjb25zdCBMaW5lYXJTUkdCQ29sb3JTcGFjZSA9ICdzcmdiLWxpbmVhcic7XG5cblx0XHRcdGlmIChrZXkgPT09ICdlbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ2NvbG9yU3BhY2UnO1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuXHRcdFx0fSBlbHNlIGlmIChrZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ291dHB1dENvbG9yU3BhY2UnO1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IGluc3RhbmNlO1xuXHRcdGNvbnN0IHRhcmdldFByb3AgPSBjdXJyZW50SW5zdGFuY2Vba2V5XTtcblxuXHRcdC8vIHNwZWNpYWwgdHJlYXRtZW4gZm9yIG9iamVjdHMgd2l0aCBzdXBwb3J0IGZvciBzZXQvY29weSwgYW5kIGxheWVyc1xuXHRcdGlmICh0YXJnZXRQcm9wICYmIHRhcmdldFByb3BbJ3NldCddICYmICh0YXJnZXRQcm9wWydjb3B5J10gfHwgdGFyZ2V0UHJvcCBpbnN0YW5jZW9mIExheWVycykpIHtcblx0XHRcdGNvbnN0IGlzQ29sb3IgPSB0YXJnZXRQcm9wIGluc3RhbmNlb2YgQ29sb3I7XG5cdFx0XHQvLyBpZiB2YWx1ZSBpcyBhbiBhcnJheVxuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHRcdGlmICh0YXJnZXRQcm9wWydmcm9tQXJyYXknXSkgdGFyZ2V0UHJvcFsnZnJvbUFycmF5J10odmFsdWUpO1xuXHRcdFx0XHRlbHNlIHRhcmdldFByb3BbJ3NldCddKC4uLnZhbHVlKTtcblx0XHRcdH0gLy8gdGVzdCBhZ2FpbiB0YXJnZXQuY29weVxuXHRcdFx0ZWxzZSBpZiAoXG5cdFx0XHRcdHRhcmdldFByb3BbJ2NvcHknXSAmJlxuXHRcdFx0XHR2YWx1ZSAmJlxuXHRcdFx0XHR2YWx1ZS5jb25zdHJ1Y3RvciAmJlxuXHRcdFx0XHR0YXJnZXRQcm9wLmNvbnN0cnVjdG9yLm5hbWUgPT09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblx0XHRcdCkge1xuXHRcdFx0XHR0YXJnZXRQcm9wWydjb3B5J10odmFsdWUpO1xuXHRcdFx0XHRpZiAoIUNvbG9yTWFuYWdlbWVudCAmJiAhcm9vdFN0YXRlLmxpbmVhciAmJiBpc0NvbG9yKSB0YXJnZXRQcm9wWydjb252ZXJ0U1JHQlRvTGluZWFyJ10oKTtcblx0XHRcdH0gLy8gaWYgbm90aGluZyBlbHNlIGZpdHMsIGp1c3Qgc2V0IHRoZSBzaW5nbGUgdmFsdWUsIGlnbm9yZSB1bmRlZmluZWRcblx0XHRcdGVsc2UgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0Y29uc3QgaXNDb2xvciA9IHRhcmdldFByb3AgaW5zdGFuY2VvZiBDb2xvcjtcblx0XHRcdFx0Ly8gYWxsb3cgc2V0dGluZyBhcnJheSBzY2FsYXJzXG5cdFx0XHRcdGlmICghaXNDb2xvciAmJiB0YXJnZXRQcm9wWydzZXRTY2FsYXInXSkgdGFyZ2V0UHJvcFsnc2V0U2NhbGFyJ10odmFsdWUpO1xuXHRcdFx0XHQvLyBsYXllcnMgaGF2ZSBubyBjb3B5IGZ1bmN0aW9uLCBjb3B5IHRoZSBtYXNrXG5cdFx0XHRcdGVsc2UgaWYgKHRhcmdldFByb3AgaW5zdGFuY2VvZiBMYXllcnMgJiYgdmFsdWUgaW5zdGFuY2VvZiBMYXllcnMpIHRhcmdldFByb3AubWFzayA9IHZhbHVlLm1hc2s7XG5cdFx0XHRcdC8vIG90aGVyd2lzZSBqdXN0IHNldCAuLi5cblx0XHRcdFx0ZWxzZSB0YXJnZXRQcm9wWydzZXQnXSh2YWx1ZSk7XG5cblx0XHRcdFx0Ly8gYXV0by1jb252ZXJ0IHNyZ2Jcblx0XHRcdFx0aWYgKCFDb2xvck1hbmFnZW1lbnQgJiYgIXJvb3RTdGF0ZT8ubGluZWFyICYmIGlzQ29sb3IpIHRhcmdldFByb3AuY29udmVydFNSR0JUb0xpbmVhcigpO1xuXHRcdFx0fVxuXHRcdH0gLy8gZWxzZSBqdXN0IG92ZXJ3cml0ZSB0aGUgdmFsdWVcblx0XHRlbHNlIHtcblx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldID0gdmFsdWU7XG5cdFx0XHQvLyBhdXRvLWNvbnZlcnQgc3JnYiB0ZXh0dXJlc1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRjdXJyZW50SW5zdGFuY2Vba2V5XSBpbnN0YW5jZW9mIFRleHR1cmUgJiZcblx0XHRcdFx0Y3VycmVudEluc3RhbmNlW2tleV0uZm9ybWF0ID09PSBSR0JBRm9ybWF0ICYmXG5cdFx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldLnR5cGUgPT09IFVuc2lnbmVkQnl0ZVR5cGVcblx0XHRcdCkge1xuXHRcdFx0XHRjb25zdCB0ZXh0dXJlID0gY3VycmVudEluc3RhbmNlW2tleV0gYXMgVGV4dHVyZTtcblx0XHRcdFx0aWYgKHJvb3RTdGF0ZT8uZ2wpIHtcblx0XHRcdFx0XHRpZiAoaXMuY29sb3JTcGFjZUV4aXN0KHRleHR1cmUpICYmIGlzLmNvbG9yU3BhY2VFeGlzdChyb290U3RhdGUuZ2wpKVxuXHRcdFx0XHRcdFx0dGV4dHVyZS5jb2xvclNwYWNlID0gcm9vdFN0YXRlLmdsLm91dHB1dENvbG9yU3BhY2U7XG5cdFx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIG9sZCB2ZXJzaW9uIG9mIHRocmVlanNcblx0XHRcdFx0XHRlbHNlIHRleHR1cmUuZW5jb2RpbmcgPSByb290U3RhdGUuZ2wub3V0cHV0RW5jb2Rpbmc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRjaGVja1VwZGF0ZShjdXJyZW50SW5zdGFuY2Vba2V5XSk7XG5cdFx0Y2hlY2tVcGRhdGUodGFyZ2V0UHJvcCk7XG5cdFx0aW52YWxpZGF0ZUluc3RhbmNlKGluc3RhbmNlKTtcblx0fVxuXG5cdGNvbnN0IGluc3RhbmNlSGFuZGxlcnNDb3VudCA9IGxvY2FsU3RhdGU/LmV2ZW50Q291bnQ7XG5cdGNvbnN0IHBhcmVudCA9IGxvY2FsU3RhdGU/Lmluc3RhbmNlU3RvcmU/LmdldCgncGFyZW50Jyk7XG5cblx0aWYgKHBhcmVudCAmJiByb290U3RhdGUuaW50ZXJuYWwgJiYgaW5zdGFuY2VbJ3JheWNhc3QnXSAmJiBpbnN0YW5jZUhhbmRsZXJzQ291bnQgIT09IGxvY2FsU3RhdGU/LmV2ZW50Q291bnQpIHtcblx0XHQvLyBQcmUtZW1wdGl2ZWx5IHJlbW92ZSB0aGUgaW5zdGFuY2UgZnJvbSB0aGUgaW50ZXJhY3Rpb24gbWFuYWdlclxuXHRcdGNvbnN0IGluZGV4ID0gcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLmluZGV4T2YoaW5zdGFuY2UpO1xuXHRcdGlmIChpbmRleCA+IC0xKSByb290U3RhdGUuaW50ZXJuYWwuaW50ZXJhY3Rpb24uc3BsaWNlKGluZGV4LCAxKTtcblx0XHQvLyBBZGQgdGhlIGluc3RhbmNlIHRvIHRoZSBpbnRlcmFjdGlvbiBtYW5hZ2VyIG9ubHkgd2hlbiBpdCBoYXMgaGFuZGxlcnNcblx0XHRpZiAobG9jYWxTdGF0ZT8uZXZlbnRDb3VudCkgcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLnB1c2goaW5zdGFuY2UpO1xuXHR9XG5cblx0aWYgKHBhcmVudCAmJiBsb2NhbFN0YXRlPy5vblVwZGF0ZSAmJiBjaGFuZ2VzLmxlbmd0aCkge1xuXHRcdGxvY2FsU3RhdGUub25VcGRhdGUoaW5zdGFuY2UpO1xuXHR9XG5cblx0Ly8gY2xlYXJpbmcgdGhlIGludGVybWVkaWF0ZSBzdG9yZSBmcm9tIHRoZSBpbnN0YW5jZVxuXHRpZiAoaW5zdGFuY2VbTkdUX0FQUExZX1BST1BTXSkge1xuXHRcdGRlbGV0ZSBpbnN0YW5jZVtOR1RfQVBQTFlfUFJPUFNdO1xuXHR9XG5cblx0cmV0dXJuIGluc3RhbmNlO1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getLocalState } from '../instance';
|
|
2
|
-
import { applyProps } from './apply-props';
|
|
2
|
+
import { applyProps, NGT_APPLY_PROPS } from './apply-props';
|
|
3
3
|
export function attach(object, value, paths = [], useApplyProps = false) {
|
|
4
4
|
const [base, ...remaining] = paths;
|
|
5
5
|
if (!base)
|
|
@@ -11,7 +11,7 @@ export function attach(object, value, paths = [], useApplyProps = false) {
|
|
|
11
11
|
object[base] = value;
|
|
12
12
|
}
|
|
13
13
|
else {
|
|
14
|
-
assignEmpty(object, base);
|
|
14
|
+
assignEmpty(object, base, useApplyProps);
|
|
15
15
|
attach(object[base], value, remaining, useApplyProps);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -24,12 +24,23 @@ export function detach(parent, child, attachProp) {
|
|
|
24
24
|
childLocalState.previousAttach();
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
function assignEmpty(obj, base) {
|
|
27
|
+
function assignEmpty(obj, base, shouldAssignStoreForApplyProps = false) {
|
|
28
28
|
if ((!Object.hasOwn(obj, base) && Reflect && !!Reflect.has && !Reflect.has(obj, base)) || obj[base] === undefined) {
|
|
29
29
|
obj[base] = {};
|
|
30
30
|
}
|
|
31
|
+
if (shouldAssignStoreForApplyProps) {
|
|
32
|
+
const localState = getLocalState(obj[base]);
|
|
33
|
+
// if we already have local state, bail out
|
|
34
|
+
if (localState)
|
|
35
|
+
return;
|
|
36
|
+
const parentLocalState = getLocalState(obj);
|
|
37
|
+
// if parent doesn't have local state, bail out
|
|
38
|
+
if (!parentLocalState)
|
|
39
|
+
return;
|
|
40
|
+
Object.assign(obj[base], { [NGT_APPLY_PROPS]: parentLocalState.store });
|
|
41
|
+
}
|
|
31
42
|
}
|
|
32
43
|
export function createAttachFunction(cb) {
|
|
33
44
|
return (parent, child, store) => cb({ parent, child, store });
|
|
34
45
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvYXR0YWNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxNQUFvQixFQUFFLEtBQWMsRUFBRSxRQUFrQixFQUFFLEVBQUUsYUFBYSxHQUFHLEtBQUs7SUFDdkcsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNuQyxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU87SUFFbEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVCLElBQUksYUFBYTtZQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7O1lBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztTQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztBQUNGLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLE1BQW9CLEVBQUUsS0FBbUIsRUFBRSxVQUF3QztJQUN6RyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7O1lBQzNHLGVBQWUsQ0FBQyxjQUE2QixFQUFFLENBQUM7SUFDdkQsQ0FBQztBQUNGLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxHQUFpQixFQUFFLElBQVksRUFBRSw4QkFBOEIsR0FBRyxLQUFLO0lBQzNGLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ25ILEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUMsMkNBQTJDO1FBQzNDLElBQUksVUFBVTtZQUFFLE9BQU87UUFFdkIsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPO1FBRTlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7QUFDRixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNuQyxFQUF3RztJQUV4RyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TG9jYWxTdGF0ZSB9IGZyb20gJy4uL2luc3RhbmNlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCwgTmd0QXR0YWNoRnVuY3Rpb24sIE5ndFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXBwbHlQcm9wcywgTkdUX0FQUExZX1BST1BTIH0gZnJvbSAnLi9hcHBseS1wcm9wcyc7XG5pbXBvcnQgeyBOZ3RTaWduYWxTdG9yZSB9IGZyb20gJy4vc2lnbmFsLXN0b3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGFjaChvYmplY3Q6IE5ndEFueVJlY29yZCwgdmFsdWU6IHVua25vd24sIHBhdGhzOiBzdHJpbmdbXSA9IFtdLCB1c2VBcHBseVByb3BzID0gZmFsc2UpOiB2b2lkIHtcblx0Y29uc3QgW2Jhc2UsIC4uLnJlbWFpbmluZ10gPSBwYXRocztcblx0aWYgKCFiYXNlKSByZXR1cm47XG5cblx0aWYgKHJlbWFpbmluZy5sZW5ndGggPT09IDApIHtcblx0XHRpZiAodXNlQXBwbHlQcm9wcykgYXBwbHlQcm9wcyhvYmplY3QsIHsgW2Jhc2VdOiB2YWx1ZSB9KTtcblx0XHRlbHNlIG9iamVjdFtiYXNlXSA9IHZhbHVlO1xuXHR9IGVsc2Uge1xuXHRcdGFzc2lnbkVtcHR5KG9iamVjdCwgYmFzZSwgdXNlQXBwbHlQcm9wcyk7XG5cdFx0YXR0YWNoKG9iamVjdFtiYXNlXSwgdmFsdWUsIHJlbWFpbmluZywgdXNlQXBwbHlQcm9wcyk7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRldGFjaChwYXJlbnQ6IE5ndEFueVJlY29yZCwgY2hpbGQ6IE5ndEFueVJlY29yZCwgYXR0YWNoUHJvcDogc3RyaW5nW10gfCBOZ3RBdHRhY2hGdW5jdGlvbikge1xuXHRjb25zdCBjaGlsZExvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGNoaWxkKTtcblx0aWYgKGNoaWxkTG9jYWxTdGF0ZSkge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KGF0dGFjaFByb3ApKSBhdHRhY2gocGFyZW50LCBjaGlsZExvY2FsU3RhdGUucHJldmlvdXNBdHRhY2gsIGF0dGFjaFByb3AsIGNoaWxkTG9jYWxTdGF0ZS5pc1Jhdyk7XG5cdFx0ZWxzZSAoY2hpbGRMb2NhbFN0YXRlLnByZXZpb3VzQXR0YWNoIGFzICgpID0+IHZvaWQpKCk7XG5cdH1cbn1cblxuZnVuY3Rpb24gYXNzaWduRW1wdHkob2JqOiBOZ3RBbnlSZWNvcmQsIGJhc2U6IHN0cmluZywgc2hvdWxkQXNzaWduU3RvcmVGb3JBcHBseVByb3BzID0gZmFsc2UpIHtcblx0aWYgKCghT2JqZWN0Lmhhc093bihvYmosIGJhc2UpICYmIFJlZmxlY3QgJiYgISFSZWZsZWN0LmhhcyAmJiAhUmVmbGVjdC5oYXMob2JqLCBiYXNlKSkgfHwgb2JqW2Jhc2VdID09PSB1bmRlZmluZWQpIHtcblx0XHRvYmpbYmFzZV0gPSB7fTtcblx0fVxuXG5cdGlmIChzaG91bGRBc3NpZ25TdG9yZUZvckFwcGx5UHJvcHMpIHtcblx0XHRjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShvYmpbYmFzZV0pO1xuXHRcdC8vIGlmIHdlIGFscmVhZHkgaGF2ZSBsb2NhbCBzdGF0ZSwgYmFpbCBvdXRcblx0XHRpZiAobG9jYWxTdGF0ZSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgcGFyZW50TG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUob2JqKTtcblx0XHQvLyBpZiBwYXJlbnQgZG9lc24ndCBoYXZlIGxvY2FsIHN0YXRlLCBiYWlsIG91dFxuXHRcdGlmICghcGFyZW50TG9jYWxTdGF0ZSkgcmV0dXJuO1xuXG5cdFx0T2JqZWN0LmFzc2lnbihvYmpbYmFzZV0sIHsgW05HVF9BUFBMWV9QUk9QU106IHBhcmVudExvY2FsU3RhdGUuc3RvcmUgfSk7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUF0dGFjaEZ1bmN0aW9uPFRDaGlsZCA9IGFueSwgVFBhcmVudCA9IGFueT4oXG5cdGNiOiAocGFyYW1zOiB7IHBhcmVudDogVFBhcmVudDsgY2hpbGQ6IFRDaGlsZDsgc3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiB9KSA9PiAoKCkgPT4gdm9pZCkgfCB2b2lkLFxuKTogTmd0QXR0YWNoRnVuY3Rpb248VENoaWxkLCBUUGFyZW50PiB7XG5cdHJldHVybiAocGFyZW50LCBjaGlsZCwgc3RvcmUpID0+IGNiKHsgcGFyZW50LCBjaGlsZCwgc3RvcmUgfSk7XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { untracked, computed, signal, ElementRef, input, inject, ViewContainerRe
|
|
|
3
3
|
import { takeUntilDestroyed, outputFromObservable, toObservable } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
5
5
|
import { provideResizeOptions, NgxResize } from 'ngxtension/resize';
|
|
6
|
-
import { MathUtils, WebGLRenderer, OrthographicCamera, PerspectiveCamera, Vector3, Vector2, Clock, Layers, Color, ColorManagement, Texture, RGBAFormat, UnsignedByteType, Raycaster, Scene, PCFSoftShadowMap, BasicShadowMap, PCFShadowMap, VSMShadowMap, NoToneMapping, ACESFilmicToneMapping, Vector4 } from 'three';
|
|
6
|
+
import { MathUtils, WebGLRenderer, OrthographicCamera, PerspectiveCamera, Vector3, Vector2, Clock, Layers, Color, ColorManagement, Texture, RGBAFormat, UnsignedByteType, EventDispatcher, Raycaster, Scene, PCFSoftShadowMap, BasicShadowMap, PCFShadowMap, VSMShadowMap, NoToneMapping, ACESFilmicToneMapping, Vector4 } from 'three';
|
|
7
7
|
import { DOCUMENT } from '@angular/common';
|
|
8
8
|
import { Subject, filter, map } from 'rxjs';
|
|
9
9
|
import { createInjectionToken } from 'ngxtension/create-injection-token';
|
|
@@ -756,6 +756,7 @@ const SPECIAL_EVENTS = {
|
|
|
756
756
|
UPDATED: 'updated',
|
|
757
757
|
ATTACHED: 'attached',
|
|
758
758
|
};
|
|
759
|
+
const THREE_NATIVE_EVENTS = ['added', 'removed', 'childadded', 'childremoved', 'disposed'];
|
|
759
760
|
|
|
760
761
|
class NgtArgs {
|
|
761
762
|
constructor() {
|
|
@@ -1142,6 +1143,9 @@ function diffProps(instance, props) {
|
|
|
1142
1143
|
}
|
|
1143
1144
|
return changes;
|
|
1144
1145
|
}
|
|
1146
|
+
// NOTE: this is a workaround to give the instance a change to have the store from the parent.
|
|
1147
|
+
// we clear this property after the applyProps is done
|
|
1148
|
+
const NGT_APPLY_PROPS = '__ngt_apply_props__';
|
|
1145
1149
|
// This function applies a set of changes to the instance
|
|
1146
1150
|
function applyProps(instance, props) {
|
|
1147
1151
|
// if props is empty
|
|
@@ -1149,7 +1153,7 @@ function applyProps(instance, props) {
|
|
|
1149
1153
|
return instance;
|
|
1150
1154
|
// filter equals, and reserved props
|
|
1151
1155
|
const localState = getLocalState(instance);
|
|
1152
|
-
const rootState = localState?.store?.snapshot ?? {};
|
|
1156
|
+
const rootState = localState?.store?.snapshot ?? instance[NGT_APPLY_PROPS]?.snapshot ?? {};
|
|
1153
1157
|
const changes = diffProps(instance, props);
|
|
1154
1158
|
for (let i = 0; i < changes.length; i++) {
|
|
1155
1159
|
let [key, value] = changes[i];
|
|
@@ -1238,6 +1242,10 @@ function applyProps(instance, props) {
|
|
|
1238
1242
|
if (parent && localState?.onUpdate && changes.length) {
|
|
1239
1243
|
localState.onUpdate(instance);
|
|
1240
1244
|
}
|
|
1245
|
+
// clearing the intermediate store from the instance
|
|
1246
|
+
if (instance[NGT_APPLY_PROPS]) {
|
|
1247
|
+
delete instance[NGT_APPLY_PROPS];
|
|
1248
|
+
}
|
|
1241
1249
|
return instance;
|
|
1242
1250
|
}
|
|
1243
1251
|
|
|
@@ -1311,7 +1319,7 @@ function attach(object, value, paths = [], useApplyProps = false) {
|
|
|
1311
1319
|
object[base] = value;
|
|
1312
1320
|
}
|
|
1313
1321
|
else {
|
|
1314
|
-
assignEmpty(object, base);
|
|
1322
|
+
assignEmpty(object, base, useApplyProps);
|
|
1315
1323
|
attach(object[base], value, remaining, useApplyProps);
|
|
1316
1324
|
}
|
|
1317
1325
|
}
|
|
@@ -1324,10 +1332,21 @@ function detach(parent, child, attachProp) {
|
|
|
1324
1332
|
childLocalState.previousAttach();
|
|
1325
1333
|
}
|
|
1326
1334
|
}
|
|
1327
|
-
function assignEmpty(obj, base) {
|
|
1335
|
+
function assignEmpty(obj, base, shouldAssignStoreForApplyProps = false) {
|
|
1328
1336
|
if ((!Object.hasOwn(obj, base) && Reflect && !!Reflect.has && !Reflect.has(obj, base)) || obj[base] === undefined) {
|
|
1329
1337
|
obj[base] = {};
|
|
1330
1338
|
}
|
|
1339
|
+
if (shouldAssignStoreForApplyProps) {
|
|
1340
|
+
const localState = getLocalState(obj[base]);
|
|
1341
|
+
// if we already have local state, bail out
|
|
1342
|
+
if (localState)
|
|
1343
|
+
return;
|
|
1344
|
+
const parentLocalState = getLocalState(obj);
|
|
1345
|
+
// if parent doesn't have local state, bail out
|
|
1346
|
+
if (!parentLocalState)
|
|
1347
|
+
return;
|
|
1348
|
+
Object.assign(obj[base], { [NGT_APPLY_PROPS]: parentLocalState.store });
|
|
1349
|
+
}
|
|
1331
1350
|
}
|
|
1332
1351
|
function createAttachFunction(cb) {
|
|
1333
1352
|
return (parent, child, store) => cb({ parent, child, store });
|
|
@@ -1500,6 +1519,17 @@ function processThreeEvent(instance, priority, eventName, callback) {
|
|
|
1500
1519
|
lS.onUpdate = undefined;
|
|
1501
1520
|
};
|
|
1502
1521
|
}
|
|
1522
|
+
if (THREE_NATIVE_EVENTS.includes(eventName) && instance instanceof EventDispatcher) {
|
|
1523
|
+
// NOTE: rename to dispose because that's the event type, not disposed.
|
|
1524
|
+
if (eventName === 'disposed') {
|
|
1525
|
+
eventName = 'dispose';
|
|
1526
|
+
}
|
|
1527
|
+
if (instance.parent && (eventName === 'added' || eventName === 'removed')) {
|
|
1528
|
+
callback({ type: eventName, target: instance });
|
|
1529
|
+
}
|
|
1530
|
+
instance.addEventListener(eventName, callback);
|
|
1531
|
+
return () => instance.removeEventListener(eventName, callback);
|
|
1532
|
+
}
|
|
1503
1533
|
if (!lS.handlers)
|
|
1504
1534
|
lS.handlers = {};
|
|
1505
1535
|
// try to get the previous handler. compound might have one, the THREE object might also have one with the same name
|
|
@@ -2553,15 +2583,15 @@ class NgtSelect {
|
|
|
2553
2583
|
const autoEffect = injectAutoEffect();
|
|
2554
2584
|
afterNextRender(() => {
|
|
2555
2585
|
autoEffect(() => {
|
|
2586
|
+
const enabled = this.enabled();
|
|
2587
|
+
if (!enabled)
|
|
2588
|
+
return;
|
|
2556
2589
|
const host = elementRef.nativeElement;
|
|
2557
2590
|
if (!host)
|
|
2558
2591
|
return;
|
|
2559
2592
|
const localState = getLocalState(host);
|
|
2560
2593
|
if (!localState)
|
|
2561
2594
|
return;
|
|
2562
|
-
const enabled = this.enabled();
|
|
2563
|
-
if (!enabled)
|
|
2564
|
-
return;
|
|
2565
2595
|
// ngt-mesh[ngtSelect]
|
|
2566
2596
|
if (host.type === 'Mesh') {
|
|
2567
2597
|
selection.update((prev) => [...prev, host]);
|
|
@@ -3181,5 +3211,5 @@ const vector4 = createVectorComputed(Vector4);
|
|
|
3181
3211
|
* Generated bundle index. Do not edit.
|
|
3182
3212
|
*/
|
|
3183
3213
|
|
|
3184
|
-
export { HTML, NGT_STORE, NgtArgs, NgtCanvas, NgtHTML, NgtHexify, NgtObjectEvents, NgtObjectEventsHostDirective, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtRenderer, NgtRendererFactory, NgtRoutedScene, NgtSelect, NgtSelection, ROUTED_SCENE, addAfterEffect, addEffect, addTail, applyProps, attach, checkNeedsUpdate, checkUpdate, createAttachFunction, detach, dispose, extend, flushGlobalEffects, getLocalState, injectBeforeRender, injectCanvasRootInitializer, injectLoader, injectLoop, injectNonNullish$, injectObjectEvents, injectStore, invalidateInstance, is, makeCameraInstance, makeDpr, makeId, makeObjectGraph, makeRendererInstance, merge, omit, pick, prepare, privateKeys, provideHTMLDomElement, provideNgtRenderer, provideStore, resolveRef, roots, signalStore, updateCamera, vector2, vector3, vector4 };
|
|
3214
|
+
export { HTML, NGT_APPLY_PROPS, NGT_STORE, NgtArgs, NgtCanvas, NgtHTML, NgtHexify, NgtObjectEvents, NgtObjectEventsHostDirective, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtRenderer, NgtRendererFactory, NgtRoutedScene, NgtSelect, NgtSelection, ROUTED_SCENE, addAfterEffect, addEffect, addTail, applyProps, attach, checkNeedsUpdate, checkUpdate, createAttachFunction, detach, dispose, extend, flushGlobalEffects, getLocalState, injectBeforeRender, injectCanvasRootInitializer, injectLoader, injectLoop, injectNonNullish$, injectObjectEvents, injectStore, invalidateInstance, is, makeCameraInstance, makeDpr, makeId, makeObjectGraph, makeRendererInstance, merge, omit, pick, prepare, privateKeys, provideHTMLDomElement, provideNgtRenderer, provideStore, resolveRef, roots, signalStore, updateCamera, vector2, vector3, vector4 };
|
|
3185
3215
|
//# sourceMappingURL=angular-three.mjs.map
|