@ethlete/core 4.23.8 → 4.24.1
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/CHANGELOG.md +12 -0
- package/fesm2022/ethlete-core.mjs +131 -139
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/lib/types/angular.types.d.ts +0 -1
- package/lib/utils/signal.utils.d.ts +5 -0
- package/package.json +7 -9
- package/esm2022/ethlete-core.mjs +0 -5
- package/esm2022/index.mjs +0 -38
- package/esm2022/lib/components/structured-data/index.mjs +0 -2
- package/esm2022/lib/components/structured-data/structured-data.component.mjs +0 -37
- package/esm2022/lib/constants/index.mjs +0 -2
- package/esm2022/lib/constants/viewport.constants.mjs +0 -17
- package/esm2022/lib/decorators/memo/index.mjs +0 -2
- package/esm2022/lib/decorators/memo/memo.decorator.mjs +0 -25
- package/esm2022/lib/directives/animatable/animatable.directive.mjs +0 -121
- package/esm2022/lib/directives/animatable/index.mjs +0 -2
- package/esm2022/lib/directives/animated-if/animated-if.directive.mjs +0 -54
- package/esm2022/lib/directives/animated-if/index.mjs +0 -2
- package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +0 -136
- package/esm2022/lib/directives/animated-lifecycle/index.mjs +0 -2
- package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +0 -344
- package/esm2022/lib/directives/animated-overlay/index.mjs +0 -2
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -37
- package/esm2022/lib/directives/click-outside/index.mjs +0 -2
- package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.constants.mjs +0 -3
- package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +0 -170
- package/esm2022/lib/directives/cursor-drag-scroll/index.mjs +0 -3
- package/esm2022/lib/directives/debug/debug.directive.mjs +0 -44
- package/esm2022/lib/directives/debug/index.mjs +0 -2
- package/esm2022/lib/directives/delayable/delayable.directive.mjs +0 -55
- package/esm2022/lib/directives/delayable/index.mjs +0 -2
- package/esm2022/lib/directives/is-active-element/index.mjs +0 -2
- package/esm2022/lib/directives/is-active-element/is-active-element.directive.mjs +0 -33
- package/esm2022/lib/directives/is-element/index.mjs +0 -2
- package/esm2022/lib/directives/is-element/is-element.directive.mjs +0 -33
- package/esm2022/lib/directives/let/index.mjs +0 -3
- package/esm2022/lib/directives/let/let.directive.mjs +0 -40
- package/esm2022/lib/directives/let/let.types.mjs +0 -9
- package/esm2022/lib/directives/observe-content/index.mjs +0 -2
- package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +0 -72
- package/esm2022/lib/directives/observe-resize/index.mjs +0 -2
- package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +0 -72
- package/esm2022/lib/directives/observe-scroll-state/index.mjs +0 -4
- package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.constants.mjs +0 -3
- package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +0 -180
- package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.types.mjs +0 -2
- package/esm2022/lib/directives/observe-visibility/index.mjs +0 -2
- package/esm2022/lib/directives/observe-visibility/observe-visibility.directive.mjs +0 -80
- package/esm2022/lib/directives/repeat/index.mjs +0 -2
- package/esm2022/lib/directives/repeat/repeat.directive.mjs +0 -35
- package/esm2022/lib/directives/root-boundary/index.mjs +0 -2
- package/esm2022/lib/directives/root-boundary/root-boundary.directive.mjs +0 -36
- package/esm2022/lib/directives/scroll-observer-first-element/index.mjs +0 -2
- package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +0 -24
- package/esm2022/lib/directives/scroll-observer-ignore-target/index.mjs +0 -2
- package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +0 -18
- package/esm2022/lib/directives/scroll-observer-last-element/index.mjs +0 -2
- package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +0 -27
- package/esm2022/lib/directives/seo/index.mjs +0 -5
- package/esm2022/lib/directives/seo/seo.directive.constants.mjs +0 -3
- package/esm2022/lib/directives/seo/seo.directive.mjs +0 -166
- package/esm2022/lib/directives/seo/seo.directive.types.mjs +0 -2
- package/esm2022/lib/directives/seo/seo.directive.utils.mjs +0 -7
- package/esm2022/lib/pipes/infer-mime-type/index.mjs +0 -3
- package/esm2022/lib/pipes/infer-mime-type/infer-mime-type.pipe.mjs +0 -18
- package/esm2022/lib/pipes/infer-mime-type/infer-mime-type.util.mjs +0 -196
- package/esm2022/lib/pipes/normalize-game-result-type/index.mjs +0 -4
- package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +0 -15
- package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.types.mjs +0 -2
- package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.util.mjs +0 -34
- package/esm2022/lib/pipes/normalize-match-participants/index.mjs +0 -4
- package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +0 -15
- package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.types.mjs +0 -2
- package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.util.mjs +0 -47
- package/esm2022/lib/pipes/normalize-match-score/index.mjs +0 -4
- package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +0 -15
- package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.types.mjs +0 -2
- package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.util.mjs +0 -126
- package/esm2022/lib/pipes/normalize-match-state/index.mjs +0 -4
- package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.constants.mjs +0 -2
- package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +0 -15
- package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.util.mjs +0 -19
- package/esm2022/lib/pipes/normalize-match-type/index.mjs +0 -3
- package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +0 -15
- package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.util.mjs +0 -38
- package/esm2022/lib/pipes/to-array/index.mjs +0 -3
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +0 -15
- package/esm2022/lib/pipes/to-array/to-array.util.mjs +0 -5
- package/esm2022/lib/props/create-prop-handlers.mjs +0 -17
- package/esm2022/lib/props/create-props.mjs +0 -53
- package/esm2022/lib/props/create-setup.mjs +0 -19
- package/esm2022/lib/props/dependency-stash.mjs +0 -20
- package/esm2022/lib/props/element-dictionary.mjs +0 -44
- package/esm2022/lib/props/index.mjs +0 -9
- package/esm2022/lib/props/props-binding.mjs +0 -53
- package/esm2022/lib/props/props.directive.mjs +0 -35
- package/esm2022/lib/props/template-input.mjs +0 -41
- package/esm2022/lib/services/click-observer.service.mjs +0 -73
- package/esm2022/lib/services/content-observer.service.mjs +0 -79
- package/esm2022/lib/services/focus-visible.service.mjs +0 -34
- package/esm2022/lib/services/index.mjs +0 -9
- package/esm2022/lib/services/intersection-observer.service.mjs +0 -75
- package/esm2022/lib/services/resize-observer.service.mjs +0 -75
- package/esm2022/lib/services/router-state.service.mjs +0 -205
- package/esm2022/lib/services/viewport.service.mjs +0 -244
- package/esm2022/lib/services/viewport.types.mjs +0 -2
- package/esm2022/lib/types/angular.types.mjs +0 -15
- package/esm2022/lib/types/i18n.types.mjs +0 -2
- package/esm2022/lib/types/index.mjs +0 -5
- package/esm2022/lib/types/value.types.mjs +0 -2
- package/esm2022/lib/types/viewport.types.mjs +0 -2
- package/esm2022/lib/utils/active-selection-model.utils.mjs +0 -91
- package/esm2022/lib/utils/angular.utils.mjs +0 -7
- package/esm2022/lib/utils/animation.utils.mjs +0 -113
- package/esm2022/lib/utils/clamp.util.mjs +0 -4
- package/esm2022/lib/utils/clone.util.mjs +0 -78
- package/esm2022/lib/utils/component-id.utils.mjs +0 -7
- package/esm2022/lib/utils/cookie.util.mjs +0 -53
- package/esm2022/lib/utils/destroy.utils.mjs +0 -13
- package/esm2022/lib/utils/equal.util.mjs +0 -118
- package/esm2022/lib/utils/form.utils.mjs +0 -63
- package/esm2022/lib/utils/index.mjs +0 -27
- package/esm2022/lib/utils/inject.utils.mjs +0 -4
- package/esm2022/lib/utils/intersection-observer.utils.mjs +0 -65
- package/esm2022/lib/utils/key-press-manager.utils.mjs +0 -30
- package/esm2022/lib/utils/media-query-observable.util.mjs +0 -18
- package/esm2022/lib/utils/mutation-observable.util.mjs +0 -42
- package/esm2022/lib/utils/object.utils.mjs +0 -30
- package/esm2022/lib/utils/reactive-binding.util.mjs +0 -124
- package/esm2022/lib/utils/resize-observable.util.mjs +0 -12
- package/esm2022/lib/utils/round.utils.mjs +0 -5
- package/esm2022/lib/utils/runtime-error.utils.mjs +0 -31
- package/esm2022/lib/utils/scrollable.utils.mjs +0 -157
- package/esm2022/lib/utils/selection-model.utils.mjs +0 -376
- package/esm2022/lib/utils/signal.utils.mjs +0 -1004
- package/esm2022/lib/utils/smart-block-scroll-strategy.utils.mjs +0 -96
- package/esm2022/lib/utils/value.utils.mjs +0 -22
- package/esm2022/lib/utils/viewport.util.mjs +0 -5
- package/esm2022/lib/validators/at-least-one-required.validator.mjs +0 -20
- package/esm2022/lib/validators/index.mjs +0 -15
- package/esm2022/lib/validators/is-array-not-empty.validator.mjs +0 -9
- package/esm2022/lib/validators/is-email.validator.mjs +0 -10
- package/esm2022/lib/validators/must-match.validator.mjs +0 -19
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
|
2
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
-
export const cloneFormGroup = (formGroup) => {
|
|
4
|
-
const cloneLevel = (group, cloneGroup) => {
|
|
5
|
-
Object.keys(group.controls).forEach((key) => {
|
|
6
|
-
const control = group.controls[key];
|
|
7
|
-
if (control instanceof FormGroup) {
|
|
8
|
-
const cloneControl = new FormGroup({}, control.validator, control.asyncValidator);
|
|
9
|
-
cloneGroup.addControl(key, cloneControl);
|
|
10
|
-
cloneLevel(control, cloneControl);
|
|
11
|
-
}
|
|
12
|
-
else if (control instanceof FormArray) {
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
-
const cloneArrayControl = new FormArray([], control.validator, control.asyncValidator);
|
|
15
|
-
control.controls.forEach((control) => {
|
|
16
|
-
if (control instanceof FormGroup) {
|
|
17
|
-
const cloneControl = new FormGroup({}, control.validator, control.asyncValidator);
|
|
18
|
-
const innerClone = cloneLevel(control, cloneControl);
|
|
19
|
-
cloneArrayControl.push(innerClone);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const cloneControlItem = new FormControl({ value: control.value, disabled: control.disabled }, control.validator, control.asyncValidator);
|
|
23
|
-
cloneArrayControl.push(cloneControlItem);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
cloneGroup.addControl(key, cloneArrayControl);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
const cloneControl = new FormControl({ value: control.value, disabled: control.disabled }, control.validator, control.asyncValidator);
|
|
30
|
-
cloneGroup.addControl(key, cloneControl);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
return cloneGroup;
|
|
34
|
-
};
|
|
35
|
-
const clonedForm = cloneLevel(formGroup, new FormGroup({}));
|
|
36
|
-
clonedForm.setValue(formGroup.value);
|
|
37
|
-
clonedForm.updateValueAndValidity();
|
|
38
|
-
return clonedForm;
|
|
39
|
-
};
|
|
40
|
-
export const getFormGroupValue = (formGroup) => {
|
|
41
|
-
const value = {};
|
|
42
|
-
Object.keys(formGroup.controls).forEach((key) => {
|
|
43
|
-
const control = formGroup.controls[key];
|
|
44
|
-
if (control instanceof FormGroup) {
|
|
45
|
-
value[key] = getFormGroupValue(control);
|
|
46
|
-
}
|
|
47
|
-
else if (control instanceof FormArray) {
|
|
48
|
-
value[key] = control.controls.map((control) => {
|
|
49
|
-
if (control instanceof FormGroup) {
|
|
50
|
-
return getFormGroupValue(control);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
return control.value ?? null;
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
value[key] = control.value ?? null;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
return value;
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2Zvcm0udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsOERBQThEO0FBQzlELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUEyQixTQUFZLEVBQUUsRUFBRTtJQUN2RSxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWdCLEVBQUUsVUFBcUIsRUFBRSxFQUFFO1FBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzFDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFFLENBQUM7WUFFckMsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFbEYsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBRXpDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDcEMsQ0FBQztpQkFBTSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUUsQ0FBQztnQkFDeEMsOERBQThEO2dCQUM5RCxNQUFNLGlCQUFpQixHQUFHLElBQUksU0FBUyxDQUFNLEVBQUUsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFNUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFD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bnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNvbnN0IGNsb25lRm9ybUdyb3VwID0gPFQgZXh0ZW5kcyBGb3JtR3JvdXA8YW55Pj4oZm9ybUdyb3VwOiBUKSA9PiB7XG4gIGNvbnN0IGNsb25lTGV2ZWwgPSAoZ3JvdXA6IEZvcm1Hcm91cCwgY2xvbmVHcm91cDogRm9ybUdyb3VwKSA9PiB7XG4gICAgT2JqZWN0LmtleXMoZ3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGdyb3VwLmNvbnRyb2xzW2tleV0hO1xuXG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICBjb25zdCBjbG9uZUNvbnRyb2wgPSBuZXcgRm9ybUdyb3VwKHt9LCBjb250cm9sLnZhbGlkYXRvciwgY29udHJvbC5hc3luY1ZhbGlkYXRvcik7XG5cbiAgICAgICAgY2xvbmVHcm91cC5hZGRDb250cm9sKGtleSwgY2xvbmVDb250cm9sKTtcblxuICAgICAgICBjbG9uZUxldmVsKGNvbnRyb2wsIGNsb25lQ29udHJvbCk7XG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgY29uc3QgY2xvbmVBcnJheUNvbnRyb2wgPSBuZXcgRm9ybUFycmF5PGFueT4oW10sIGNvbnRyb2wudmFsaWRhdG9yLCBjb250cm9sLmFzeW5jVmFsaWRhdG9yKTtcblxuICAgICAgICBjb250cm9sLmNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgY29uc3QgY2xvbmVDb250cm9sID0gbmV3IEZvcm1Hcm91cCh7fSwgY29udHJvbC52YWxpZGF0b3IsIGNvbnRyb2wuYXN5bmNWYWxpZGF0b3IpO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJDbG9uZSA9IGNsb25lTGV2ZWwoY29udHJvbCwgY2xvbmVDb250cm9sKTtcbiAgICAgICAgICAgIGNsb25lQXJyYXlDb250cm9sLnB1c2goaW5uZXJDbG9uZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lQ29udHJvbEl0ZW0gPSBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgICAgIHsgdmFsdWU6IGNvbnRyb2wudmFsdWUsIGRpc2FibGVkOiBjb250cm9sLmRpc2FibGVkIH0sXG4gICAgICAgICAgICAgIGNvbnRyb2wudmFsaWRhdG9yLFxuICAgICAgICAgICAgICBjb250cm9sLmFzeW5jVmFsaWRhdG9yLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNsb25lQXJyYXlDb250cm9sLnB1c2goY2xvbmVDb250cm9sSXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjbG9uZUdyb3VwLmFkZENvbnRyb2woa2V5LCBjbG9uZUFycmF5Q29udHJvbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjbG9uZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgeyB2YWx1ZTogY29udHJvbC52YWx1ZSwgZGlzYWJsZWQ6IGNvbnRyb2wuZGlzYWJsZWQgfSxcbiAgICAgICAgICBjb250cm9sLnZhbGlkYXRvcixcbiAgICAgICAgICBjb250cm9sLmFzeW5jVmFsaWRhdG9yLFxuICAgICAgICApO1xuXG4gICAgICAgIGNsb25lR3JvdXAuYWRkQ29udHJvbChrZXksIGNsb25lQ29udHJvbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY2xvbmVHcm91cDtcbiAgfTtcblxuICBjb25zdCBjbG9uZWRGb3JtID0gY2xvbmVMZXZlbChmb3JtR3JvdXAsIG5ldyBGb3JtR3JvdXAoe30pKTtcbiAgY2xvbmVkRm9ybS5zZXRWYWx1ZShmb3JtR3JvdXAudmFsdWUpO1xuICBjbG9uZWRGb3JtLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcblxuICByZXR1cm4gY2xvbmVkRm9ybSBhcyBUO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZvcm1Hcm91cFZhbHVlID0gPFQgZXh0ZW5kcyBGb3JtR3JvdXA+KGZvcm1Hcm91cDogVCkgPT4ge1xuICBjb25zdCB2YWx1ZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuY29udHJvbHNba2V5XSE7XG5cbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgdmFsdWVba2V5XSA9IGdldEZvcm1Hcm91cFZhbHVlKGNvbnRyb2wpO1xuICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgdmFsdWVba2V5XSA9IGNvbnRyb2wuY29udHJvbHMubWFwKChjb250cm9sKSA9PiB7XG4gICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgICAgcmV0dXJuIGdldEZvcm1Hcm91cFZhbHVlKGNvbnRyb2wpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBjb250cm9sLnZhbHVlID8/IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZVtrZXldID0gY29udHJvbC52YWx1ZSA/PyBudWxsO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHZhbHVlO1xufTtcbiJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export * from './active-selection-model.utils';
|
|
2
|
-
export * from './angular.utils';
|
|
3
|
-
export * from './animation.utils';
|
|
4
|
-
export * from './clamp.util';
|
|
5
|
-
export * from './clone.util';
|
|
6
|
-
export * from './component-id.utils';
|
|
7
|
-
export * from './cookie.util';
|
|
8
|
-
export * from './destroy.utils';
|
|
9
|
-
export * from './equal.util';
|
|
10
|
-
export * from './form.utils';
|
|
11
|
-
export * from './inject.utils';
|
|
12
|
-
export * from './intersection-observer.utils';
|
|
13
|
-
export * from './key-press-manager.utils';
|
|
14
|
-
export * from './media-query-observable.util';
|
|
15
|
-
export * from './mutation-observable.util';
|
|
16
|
-
export * from './object.utils';
|
|
17
|
-
export * from './reactive-binding.util';
|
|
18
|
-
export * from './resize-observable.util';
|
|
19
|
-
export * from './round.utils';
|
|
20
|
-
export * from './runtime-error.utils';
|
|
21
|
-
export * from './scrollable.utils';
|
|
22
|
-
export * from './selection-model.utils';
|
|
23
|
-
export * from './signal.utils';
|
|
24
|
-
export * from './smart-block-scroll-strategy.utils';
|
|
25
|
-
export * from './value.utils';
|
|
26
|
-
export * from './viewport.util';
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpdmUtc2VsZWN0aW9uLW1vZGVsLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYW5ndWxhci51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbi51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NsYW1wLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jbG9uZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50LWlkLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY29va2llLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXN0cm95LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZXF1YWwudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0udXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3QudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9rZXktcHJlc3MtbWFuYWdlci51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL21lZGlhLXF1ZXJ5LW9ic2VydmFibGUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL211dGF0aW9uLW9ic2VydmFibGUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0aXZlLWJpbmRpbmcudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS1vYnNlcnZhYmxlLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3VuZC51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUtZXJyb3IudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zY3JvbGxhYmxlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLW1vZGVsLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnbmFsLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtYmxvY2stc2Nyb2xsLXN0cmF0ZWd5LnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsdWUudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3cG9ydC51dGlsJztcbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ElementRef, TemplateRef, inject } from '@angular/core';
|
|
2
|
-
export const injectHostElement = () => inject(ElementRef).nativeElement;
|
|
3
|
-
export const injectTemplateRef = () => inject(TemplateRef);
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvaW5qZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFvQixFQUFFLENBQUMsTUFBTSxDQUFnQixVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7QUFFeEcsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBZ0IsRUFBRSxDQUFDLE1BQU0sQ0FBaUIsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBpbmplY3RIb3N0RWxlbWVudCA9IDxUID0gSFRNTEVsZW1lbnQ+KCkgPT4gaW5qZWN0PEVsZW1lbnRSZWY8VD4+KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG5cbmV4cG9ydCBjb25zdCBpbmplY3RUZW1wbGF0ZVJlZiA9IDxDID0gdW5rbm93bj4oKSA9PiBpbmplY3Q8VGVtcGxhdGVSZWY8Qz4+KFRlbXBsYXRlUmVmKTtcbiJdfQ==
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// TODO: This needs to be redone, it's a mess...
|
|
2
|
-
export const getIntersectionInfo = (intersections) => {
|
|
3
|
-
const reverseIntersections = [...intersections].reverse();
|
|
4
|
-
const firstIntersecting = intersections.find((i) => i.intersectionRatio > 0);
|
|
5
|
-
const lastIntersecting = reverseIntersections.find((i) => i.intersectionRatio > 0);
|
|
6
|
-
const firstIntersectingIndex = intersections.findIndex((i) => i === firstIntersecting);
|
|
7
|
-
const lastIntersectingIndex = intersections.findIndex((i) => i === lastIntersecting);
|
|
8
|
-
if (!firstIntersecting || !lastIntersecting)
|
|
9
|
-
return null;
|
|
10
|
-
const greaterIntersecting = firstIntersecting.intersectionRatio > lastIntersecting.intersectionRatio ? firstIntersecting : lastIntersecting;
|
|
11
|
-
const greaterIntersectingIndex = firstIntersecting.intersectionRatio > lastIntersecting.intersectionRatio
|
|
12
|
-
? firstIntersectingIndex
|
|
13
|
-
: lastIntersectingIndex;
|
|
14
|
-
const hasFullIntersection = intersections.some((i) => i.intersectionRatio === 1);
|
|
15
|
-
const hasMultipleFullIntersections = intersections.filter((i) => i.intersectionRatio === 1).length > 1;
|
|
16
|
-
const firstFullIntersectionIndex = intersections.findIndex((i) => i.intersectionRatio === 1);
|
|
17
|
-
const firstFullIntersection = intersections.find((i) => i.intersectionRatio === 1);
|
|
18
|
-
const lastFullIntersection = reverseIntersections.find((i) => i.intersectionRatio === 1);
|
|
19
|
-
const lastFullIntersectionIndex = intersections.findIndex((i) => i === lastFullIntersection);
|
|
20
|
-
const firstNonIntersectingIndex = intersections.findIndex((i) => i.intersectionRatio === 0);
|
|
21
|
-
const firstNonIntersection = intersections.find((i) => i.intersectionRatio === 0);
|
|
22
|
-
const lastNonIntersection = reverseIntersections.find((i) => i.intersectionRatio === 0);
|
|
23
|
-
const lastNonIntersectingIndex = intersections.findIndex((i) => i === lastNonIntersection);
|
|
24
|
-
return {
|
|
25
|
-
partial: {
|
|
26
|
-
hasAny: !!firstIntersecting || !!lastIntersecting,
|
|
27
|
-
hasMultiple: !!firstIntersecting || (!!lastIntersecting && firstIntersecting !== lastIntersecting),
|
|
28
|
-
first: {
|
|
29
|
-
intersection: firstIntersecting,
|
|
30
|
-
index: firstIntersectingIndex,
|
|
31
|
-
},
|
|
32
|
-
last: {
|
|
33
|
-
intersection: lastIntersecting,
|
|
34
|
-
index: lastIntersectingIndex,
|
|
35
|
-
},
|
|
36
|
-
biggest: {
|
|
37
|
-
intersection: greaterIntersecting,
|
|
38
|
-
index: greaterIntersectingIndex,
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
full: {
|
|
42
|
-
hasAny: hasFullIntersection,
|
|
43
|
-
hasMultiple: hasMultipleFullIntersections,
|
|
44
|
-
first: {
|
|
45
|
-
index: firstFullIntersectionIndex,
|
|
46
|
-
intersection: firstFullIntersection,
|
|
47
|
-
},
|
|
48
|
-
last: {
|
|
49
|
-
index: lastFullIntersectionIndex,
|
|
50
|
-
intersection: lastFullIntersection,
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
none: {
|
|
54
|
-
first: {
|
|
55
|
-
index: firstNonIntersectingIndex,
|
|
56
|
-
intersection: firstNonIntersection,
|
|
57
|
-
},
|
|
58
|
-
last: {
|
|
59
|
-
index: lastNonIntersectingIndex,
|
|
60
|
-
intersection: lastNonIntersection,
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLW9ic2VydmVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdEQUFnRDtBQUNoRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGFBQTBDLEVBQUUsRUFBRTtJQUNoRixNQUFNLG9CQUFvQixHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxRCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRW5GLE1BQU0sc0JBQXNCLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLENBQUM7SUFDdkYsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztJQUVyRixJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxnQkFBZ0I7UUFBRSxPQUFPLElBQUksQ0FBQztJQUV6RCxNQUFNLG1CQUFtQixHQUN2QixpQkFBaUIsQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBRWxILE1BQU0sd0JB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QUFZLEVBQUUsb0JBQW9CO2FBQ25DO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSx3QkFBd0I7Z0JBQy9CLFlBQVksRUFBRSxtQkFBbUI7YUFDbEM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBUaGlzIG5lZWRzIHRvIGJlIHJlZG9uZSwgaXQncyBhIG1lc3MuLi5cbmV4cG9ydCBjb25zdCBnZXRJbnRlcnNlY3Rpb25JbmZvID0gKGludGVyc2VjdGlvbnM6IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlbXSkgPT4ge1xuICBjb25zdCByZXZlcnNlSW50ZXJzZWN0aW9ucyA9IFsuLi5pbnRlcnNlY3Rpb25zXS5yZXZlcnNlKCk7XG4gIGNvbnN0IGZpcnN0SW50ZXJzZWN0aW5nID0gaW50ZXJzZWN0aW9ucy5maW5kKChpKSA9PiBpLmludGVyc2VjdGlvblJhdGlvID4gMCk7XG4gIGNvbnN0IGxhc3RJbnRlcnNlY3RpbmcgPSByZXZlcnNlSW50ZXJzZWN0aW9ucy5maW5kKChpKSA9PiBpLmludGVyc2VjdGlvblJhdGlvID4gMCk7XG5cbiAgY29uc3QgZmlyc3RJbnRlcnNlY3RpbmdJbmRleCA9IGludGVyc2VjdGlvbnMuZmluZEluZGV4KChpKSA9PiBpID09PSBmaXJzdEludGVyc2VjdGluZyk7XG4gIGNvbnN0IGxhc3RJbnRlcnNlY3RpbmdJbmRleCA9IGludGVyc2VjdGlvbnMuZmluZEluZGV4KChpKSA9PiBpID09PSBsYXN0SW50ZXJzZWN0aW5nKTtcblxuICBpZiAoIWZpcnN0SW50ZXJzZWN0aW5nIHx8ICFsYXN0SW50ZXJzZWN0aW5nKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBncmVhdGVySW50ZXJzZWN0aW5nID1cbiAgICBmaXJzdEludGVyc2VjdGluZy5pbnRlcnNlY3Rpb25SYXRpbyA+IGxhc3RJbnRlcnNlY3RpbmcuaW50ZXJzZWN0aW9uUmF0aW8gPyBmaXJzdEludGVyc2VjdGluZyA6IGxhc3RJbnRlcnNlY3Rpbmc7XG5cbiAgY29uc3QgZ3JlYXRlckludGVyc2VjdGluZ0luZGV4ID1cbiAgICBmaXJzdEludGVyc2VjdGluZy5pbnRlcnNlY3Rpb25SYXRpbyA+IGxhc3RJbnRlcnNlY3RpbmcuaW50ZXJzZWN0aW9uUmF0aW9cbiAgICAgID8gZmlyc3RJbnRlcnNlY3RpbmdJbmRleFxuICAgICAgOiBsYXN0SW50ZXJzZWN0aW5nSW5kZXg7XG5cbiAgY29uc3QgaGFzRnVsbEludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbnMuc29tZSgoaSkgPT4gaS5pbnRlcnNlY3Rpb25SYXRpbyA9PT0gMSk7XG4gIGNvbnN0IGhhc011bHRpcGxlRnVsbEludGVyc2VjdGlvbnMgPSBpbnRlcnNlY3Rpb25zLmZpbHRlcigoaSkgPT4gaS5pbnRlcnNlY3Rpb25SYXRpbyA9PT0gMSkubGVuZ3RoID4gMTtcblxuICBjb25zdCBmaXJzdEZ1bGxJbnRlcnNlY3Rpb25JbmRleCA9IGludGVyc2VjdGlvbnMuZmluZEluZGV4KChpKSA9PiBpLmludGVyc2VjdGlvblJhdGlvID09PSAxKTtcbiAgY29uc3QgZmlyc3RGdWxsSW50ZXJzZWN0aW9uID0gaW50ZXJzZWN0aW9ucy5maW5kKChpKSA9PiBpLmludGVyc2VjdGlvblJhdGlvID09PSAxKTtcblxuICBjb25zdCBsYXN0RnVsbEludGVyc2VjdGlvbiA9IHJldmVyc2VJbnRlcnNlY3Rpb25zLmZpbmQoKGkpID0+IGkuaW50ZXJzZWN0aW9uUmF0aW8gPT09IDEpO1xuICBjb25zdCBsYXN0RnVsbEludGVyc2VjdGlvbkluZGV4ID0gaW50ZXJzZWN0aW9ucy5maW5kSW5kZXgoKGkpID0+IGkgPT09IGxhc3RGdWxsSW50ZXJzZWN0aW9uKTtcblxuICBjb25zdCBmaXJzdE5vbkludGVyc2VjdGluZ0luZGV4ID0gaW50ZXJzZWN0aW9ucy5maW5kSW5kZXgoKGkpID0+IGkuaW50ZXJzZWN0aW9uUmF0aW8gPT09IDApO1xuICBjb25zdCBmaXJzdE5vbkludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbnMuZmluZCgoaSkgPT4gaS5pbnRlcnNlY3Rpb25SYXRpbyA9PT0gMCk7XG5cbiAgY29uc3QgbGFzdE5vbkludGVyc2VjdGlvbiA9IHJldmVyc2VJbnRlcnNlY3Rpb25zLmZpbmQoKGkpID0+IGkuaW50ZXJzZWN0aW9uUmF0aW8gPT09IDApO1xuICBjb25zdCBsYXN0Tm9uSW50ZXJzZWN0aW5nSW5kZXggPSBpbnRlcnNlY3Rpb25zLmZpbmRJbmRleCgoaSkgPT4gaSA9PT0gbGFzdE5vbkludGVyc2VjdGlvbik7XG5cbiAgcmV0dXJuIHtcbiAgICBwYXJ0aWFsOiB7XG4gICAgICBoYXNBbnk6ICEhZmlyc3RJbnRlcnNlY3RpbmcgfHwgISFsYXN0SW50ZXJzZWN0aW5nLFxuICAgICAgaGFzTXVsdGlwbGU6ICEhZmlyc3RJbnRlcnNlY3RpbmcgfHwgKCEhbGFzdEludGVyc2VjdGluZyAmJiBmaXJzdEludGVyc2VjdGluZyAhPT0gbGFzdEludGVyc2VjdGluZyksXG4gICAgICBmaXJzdDoge1xuICAgICAgICBpbnRlcnNlY3Rpb246IGZpcnN0SW50ZXJzZWN0aW5nLFxuICAgICAgICBpbmRleDogZmlyc3RJbnRlcnNlY3RpbmdJbmRleCxcbiAgICAgIH0sXG4gICAgICBsYXN0OiB7XG4gICAgICAgIGludGVyc2VjdGlvbjogbGFzdEludGVyc2VjdGluZyxcbiAgICAgICAgaW5kZXg6IGxhc3RJbnRlcnNlY3RpbmdJbmRleCxcbiAgICAgIH0sXG4gICAgICBiaWdnZXN0OiB7XG4gICAgICAgIGludGVyc2VjdGlvbjogZ3JlYXRlckludGVyc2VjdGluZyxcbiAgICAgICAgaW5kZXg6IGdyZWF0ZXJJbnRlcnNlY3RpbmdJbmRleCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBmdWxsOiB7XG4gICAgICBoYXNBbnk6IGhhc0Z1bGxJbnRlcnNlY3Rpb24sXG4gICAgICBoYXNNdWx0aXBsZTogaGFzTXVsdGlwbGVGdWxsSW50ZXJzZWN0aW9ucyxcbiAgICAgIGZpcnN0OiB7XG4gICAgICAgIGluZGV4OiBmaXJzdEZ1bGxJbnRlcnNlY3Rpb25JbmRleCxcbiAgICAgICAgaW50ZXJzZWN0aW9uOiBmaXJzdEZ1bGxJbnRlcnNlY3Rpb24sXG4gICAgICB9LFxuICAgICAgbGFzdDoge1xuICAgICAgICBpbmRleDogbGFzdEZ1bGxJbnRlcnNlY3Rpb25JbmRleCxcbiAgICAgICAgaW50ZXJzZWN0aW9uOiBsYXN0RnVsbEludGVyc2VjdGlvbixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBub25lOiB7XG4gICAgICBmaXJzdDoge1xuICAgICAgICBpbmRleDogZmlyc3ROb25JbnRlcnNlY3RpbmdJbmRleCxcbiAgICAgICAgaW50ZXJzZWN0aW9uOiBmaXJzdE5vbkludGVyc2VjdGlvbixcbiAgICAgIH0sXG4gICAgICBsYXN0OiB7XG4gICAgICAgIGluZGV4OiBsYXN0Tm9uSW50ZXJzZWN0aW5nSW5kZXgsXG4gICAgICAgIGludGVyc2VjdGlvbjogbGFzdE5vbkludGVyc2VjdGlvbixcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, Subject, takeUntil, timer } from 'rxjs';
|
|
2
|
-
export class KeyPressManager {
|
|
3
|
-
constructor(key) {
|
|
4
|
-
this.key = key;
|
|
5
|
-
this._isKeyPressed$ = new BehaviorSubject(false);
|
|
6
|
-
this._keyPressCount$ = new BehaviorSubject(0);
|
|
7
|
-
this._stopTimeout$ = new Subject();
|
|
8
|
-
}
|
|
9
|
-
isPressed(event) {
|
|
10
|
-
const key = event.keyCode;
|
|
11
|
-
if (key === this.key) {
|
|
12
|
-
this._isKeyPressed$.next(this._keyPressCount$.value > 1);
|
|
13
|
-
this._keyPressCount$.next(this._keyPressCount$.value + 1);
|
|
14
|
-
this._stopTimeout$.next();
|
|
15
|
-
timer(100)
|
|
16
|
-
.pipe(takeUntil(this._stopTimeout$))
|
|
17
|
-
.subscribe(() => this.clear());
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
this.clear();
|
|
21
|
-
}
|
|
22
|
-
return this._isKeyPressed$.value;
|
|
23
|
-
}
|
|
24
|
-
clear() {
|
|
25
|
-
this._isKeyPressed$.next(false);
|
|
26
|
-
this._keyPressCount$.next(0);
|
|
27
|
-
this._stopTimeout$.next();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXByZXNzLW1hbmFnZXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9rZXktcHJlc3MtbWFuYWdlci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxFLE1BQU0sT0FBTyxlQUFlO0lBTTFCLFlBQTRCLEdBQVc7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBTHRCLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFWCxDQUFDO0lBRTNDLFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRTFCLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUUxRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRTFCLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ25DLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIHRha2VVbnRpbCwgdGltZXIgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEtleVByZXNzTWFuYWdlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzS2V5UHJlc3NlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfa2V5UHJlc3NDb3VudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3BUaW1lb3V0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGtleTogbnVtYmVyKSB7fVxuXG4gIGlzUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleUNvZGU7XG5cbiAgICBpZiAoa2V5ID09PSB0aGlzLmtleSkge1xuICAgICAgdGhpcy5faXNLZXlQcmVzc2VkJC5uZXh0KHRoaXMuX2tleVByZXNzQ291bnQkLnZhbHVlID4gMSk7XG4gICAgICB0aGlzLl9rZXlQcmVzc0NvdW50JC5uZXh0KHRoaXMuX2tleVByZXNzQ291bnQkLnZhbHVlICsgMSk7XG5cbiAgICAgIHRoaXMuX3N0b3BUaW1lb3V0JC5uZXh0KCk7XG5cbiAgICAgIHRpbWVyKDEwMClcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3N0b3BUaW1lb3V0JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbGVhcigpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhcigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9pc0tleVByZXNzZWQkLnZhbHVlO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5faXNLZXlQcmVzc2VkJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLl9rZXlQcmVzc0NvdW50JC5uZXh0KDApO1xuICAgIHRoaXMuX3N0b3BUaW1lb3V0JC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { map, Observable, startWith } from 'rxjs';
|
|
2
|
-
export const createMediaQueryObservable = (query) => {
|
|
3
|
-
const mq = window.matchMedia(query);
|
|
4
|
-
const observable = new Observable((observer) => {
|
|
5
|
-
const eventHandler = (event) => {
|
|
6
|
-
observer.next(event);
|
|
7
|
-
};
|
|
8
|
-
mq.addEventListener('change', eventHandler);
|
|
9
|
-
return () => {
|
|
10
|
-
mq.removeEventListener('change', eventHandler);
|
|
11
|
-
};
|
|
12
|
-
}).pipe(startWith(mq), map(({ matches }) => ({
|
|
13
|
-
matches,
|
|
14
|
-
query,
|
|
15
|
-
})));
|
|
16
|
-
return observable;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnktb2JzZXJ2YWJsZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvbWVkaWEtcXVlcnktb2JzZXJ2YWJsZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFZLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO0lBQzFELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUF1QyxFQUFFLEVBQUU7UUFDNUUsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUEwQixFQUFFLEVBQUU7WUFDbEQsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUM7UUFFRixFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTVDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ0wsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUNiLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEIsT0FBTztRQUNQLEtBQUs7S0FDTixDQUFDLENBQUMsQ0FDSixDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBPYnNlcnZlciwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNZWRpYVF1ZXJ5T2JzZXJ2YWJsZSA9IChxdWVyeTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG1xID0gd2luZG93Lm1hdGNoTWVkaWEocXVlcnkpO1xuXG4gIGNvbnN0IG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPE1lZGlhUXVlcnlMaXN0RXZlbnQ+KSA9PiB7XG4gICAgY29uc3QgZXZlbnRIYW5kbGVyID0gKGV2ZW50OiBNZWRpYVF1ZXJ5TGlzdEV2ZW50KSA9PiB7XG4gICAgICBvYnNlcnZlci5uZXh0KGV2ZW50KTtcbiAgICB9O1xuXG4gICAgbXEuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZXZlbnRIYW5kbGVyKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBtcS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBldmVudEhhbmRsZXIpO1xuICAgIH07XG4gIH0pLnBpcGUoXG4gICAgc3RhcnRXaXRoKG1xKSxcbiAgICBtYXAoKHsgbWF0Y2hlcyB9KSA9PiAoe1xuICAgICAgbWF0Y2hlcyxcbiAgICAgIHF1ZXJ5LFxuICAgIH0pKSxcbiAgKTtcblxuICByZXR1cm4gb2JzZXJ2YWJsZTtcbn07XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
export const createMutationObservable = (config) => {
|
|
3
|
-
const elements = Array.isArray(config.elements) ? config.elements : [config.elements];
|
|
4
|
-
return new Observable((obs) => {
|
|
5
|
-
const observer = new MutationObserver((mutations) => {
|
|
6
|
-
if (config.options?.styleIgnoreList) {
|
|
7
|
-
const allowedMutations = [];
|
|
8
|
-
for (const mutation of mutations) {
|
|
9
|
-
if (mutation.type === 'attributes') {
|
|
10
|
-
const attributeName = mutation.attributeName;
|
|
11
|
-
if (!attributeName || attributeName !== 'style')
|
|
12
|
-
continue;
|
|
13
|
-
const oldValue = mutation.oldValue;
|
|
14
|
-
const newValue = mutation.target.getAttribute('style');
|
|
15
|
-
const oldValueStyles = oldValue?.split(';').map((s) => s.trim()) ?? [];
|
|
16
|
-
const newValueStyles = newValue?.split(';').map((s) => s.trim()) ?? [];
|
|
17
|
-
const changedStyles = newValueStyles.filter((s) => !oldValueStyles.includes(s));
|
|
18
|
-
if (changedStyles.some((s) => {
|
|
19
|
-
const [key] = s.split(':');
|
|
20
|
-
if (!key)
|
|
21
|
-
return false;
|
|
22
|
-
return config.options?.styleIgnoreList?.includes(key);
|
|
23
|
-
}))
|
|
24
|
-
continue;
|
|
25
|
-
allowedMutations.push(mutation);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
if (allowedMutations.length) {
|
|
29
|
-
obs.next(allowedMutations);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
obs.next(mutations);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
for (const element of elements) {
|
|
37
|
-
observer.observe(element, config.options);
|
|
38
|
-
}
|
|
39
|
-
return () => observer.disconnect();
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRpb24tb2JzZXJ2YWJsZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvbXV0YXRpb24tb2JzZXJ2YWJsZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxNQUd4QyxFQUFFLEVBQUU7SUFDSCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFdEYsT0FBTyxJQUFJLFVBQVUsQ0FBbUIsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbEQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLGdCQUFnQixHQUFxQixFQUFFLENBQUM7Z0JBRTlDLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ2pDLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQzt3QkFDbkMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQzt3QkFFN0MsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLEtBQUssT0FBTzs0QkFBRSxTQUFTO3dCQUUxRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO3dCQUNuQyxNQUFNLFFBQVEsR0FBSSxRQUFRLENBQUMsTUFBc0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBRXhFLE1BQU0sY0FBYyxHQUFHLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ3ZFLE1BQU0sY0FBYyxHQUFHLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBRXZFLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUVoRixJQUNFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs0QkFDdkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBRTNCLElBQUksQ0FBQyxHQUFHO2dDQUFFLE9BQU8sS0FBSyxDQUFDOzRCQUV2QixPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDeEQsQ0FBQyxDQUFDOzRCQUVGLFNBQVM7d0JBRVgsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNsQyxDQUFDO2dCQUNILENBQUM7Z0JBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDNUIsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUM3QixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTXV0YXRpb25PYnNlcnZhYmxlID0gKGNvbmZpZzoge1xuICBlbGVtZW50czogSFRNTEVsZW1lbnQgfCBIVE1MRWxlbWVudFtdO1xuICBvcHRpb25zPzogTXV0YXRpb25PYnNlcnZlckluaXQgJiB7IHN0eWxlSWdub3JlTGlzdD86IHN0cmluZ1tdIH07XG59KSA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gQXJyYXkuaXNBcnJheShjb25maWcuZWxlbWVudHMpID8gY29uZmlnLmVsZW1lbnRzIDogW2NvbmZpZy5lbGVtZW50c107XG5cbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPE11dGF0aW9uUmVjb3JkW10+KChvYnMpID0+IHtcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgIGlmIChjb25maWcub3B0aW9ucz8uc3R5bGVJZ25vcmVMaXN0KSB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWRNdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9ucykge1xuICAgICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lO1xuXG4gICAgICAgICAgICBpZiAoIWF0dHJpYnV0ZU5hbWUgfHwgYXR0cmlidXRlTmFtZSAhPT0gJ3N0eWxlJykgY29udGludWU7XG5cbiAgICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gbXV0YXRpb24ub2xkVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnc3R5bGUnKTtcblxuICAgICAgICAgICAgY29uc3Qgb2xkVmFsdWVTdHlsZXMgPSBvbGRWYWx1ZT8uc3BsaXQoJzsnKS5tYXAoKHMpID0+IHMudHJpbSgpKSA/PyBbXTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlU3R5bGVzID0gbmV3VmFsdWU/LnNwbGl0KCc7JykubWFwKChzKSA9PiBzLnRyaW0oKSkgPz8gW107XG5cbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRTdHlsZXMgPSBuZXdWYWx1ZVN0eWxlcy5maWx0ZXIoKHMpID0+ICFvbGRWYWx1ZVN0eWxlcy5pbmNsdWRlcyhzKSk7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgY2hhbmdlZFN0eWxlcy5zb21lKChzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgW2tleV0gPSBzLnNwbGl0KCc6Jyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWtleSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5vcHRpb25zPy5zdHlsZUlnbm9yZUxpc3Q/LmluY2x1ZGVzKGtleSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICBhbGxvd2VkTXV0YXRpb25zLnB1c2gobXV0YXRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhbGxvd2VkTXV0YXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgIG9icy5uZXh0KGFsbG93ZWRNdXRhdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnMubmV4dChtdXRhdGlvbnMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGVsZW1lbnRzKSB7XG4gICAgICBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIGNvbmZpZy5vcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9KTtcbn07XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export const isObject = (value) => {
|
|
2
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
3
|
-
};
|
|
4
|
-
export const isArray = (value) => {
|
|
5
|
-
return Array.isArray(value);
|
|
6
|
-
};
|
|
7
|
-
export const getObjectProperty = (obj, prop) => {
|
|
8
|
-
const hasDotNotation = prop.includes('.');
|
|
9
|
-
const hasBracketNotation = prop.includes('[');
|
|
10
|
-
if (!hasDotNotation && !hasBracketNotation)
|
|
11
|
-
return obj[prop];
|
|
12
|
-
const props = prop.split('.');
|
|
13
|
-
let value = obj;
|
|
14
|
-
for (const prop of props) {
|
|
15
|
-
if (!isObject(value))
|
|
16
|
-
return undefined;
|
|
17
|
-
if (prop.includes('[')) {
|
|
18
|
-
const [key, index] = prop.split('[').map((part) => part.replace(']', ''));
|
|
19
|
-
const arr = value[key];
|
|
20
|
-
if (!Array.isArray(arr))
|
|
21
|
-
return undefined;
|
|
22
|
-
value = arr[+index];
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
value = value[prop];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return value;
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvb2JqZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWMsRUFBb0MsRUFBRTtJQUMzRSxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFjLEVBQXNCLEVBQUU7SUFDNUQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBNEIsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUM5RSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU5QyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsa0JBQWtCO1FBQUUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU5QixJQUFJLEtBQUssR0FBWSxHQUFHLENBQUM7SUFFekIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBRXZDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFxQixDQUFDO1lBQzlGLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFFMUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGlzT2JqZWN0ID0gKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNBcnJheSA9ICh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIHVua25vd25bXSA9PiB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRPYmplY3RQcm9wZXJ0eSA9IChvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBwcm9wOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgaGFzRG90Tm90YXRpb24gPSBwcm9wLmluY2x1ZGVzKCcuJyk7XG4gIGNvbnN0IGhhc0JyYWNrZXROb3RhdGlvbiA9IHByb3AuaW5jbHVkZXMoJ1snKTtcblxuICBpZiAoIWhhc0RvdE5vdGF0aW9uICYmICFoYXNCcmFja2V0Tm90YXRpb24pIHJldHVybiBvYmpbcHJvcF07XG5cbiAgY29uc3QgcHJvcHMgPSBwcm9wLnNwbGl0KCcuJyk7XG5cbiAgbGV0IHZhbHVlOiB1bmtub3duID0gb2JqO1xuXG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wcykge1xuICAgIGlmICghaXNPYmplY3QodmFsdWUpKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgaWYgKHByb3AuaW5jbHVkZXMoJ1snKSkge1xuICAgICAgY29uc3QgW2tleSwgaW5kZXhdID0gcHJvcC5zcGxpdCgnWycpLm1hcCgocGFydCkgPT4gcGFydC5yZXBsYWNlKCddJywgJycpKSBhcyBbc3RyaW5nLCBzdHJpbmddO1xuICAgICAgY29uc3QgYXJyID0gdmFsdWVba2V5XTtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICB2YWx1ZSA9IGFyclsraW5kZXhdO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlW3Byb3BdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn07XG4iXX0=
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { ElementRef, assertInInjectionContext, inject } from '@angular/core';
|
|
2
|
-
import { distinctUntilChanged, map, of, switchMap, takeUntil } from 'rxjs';
|
|
3
|
-
import { fromNextFrame } from './animation.utils';
|
|
4
|
-
import { createDestroy } from './destroy.utils';
|
|
5
|
-
const isAttributeRenderBinding = (value) => typeof value === 'boolean';
|
|
6
|
-
const isAttributeValueBinding = (value) => typeof value === 'object';
|
|
7
|
-
/**
|
|
8
|
-
* @deprecated Use one of the following instead:
|
|
9
|
-
* - `signalHostAttributes`
|
|
10
|
-
* - `signalHostClasses`
|
|
11
|
-
* - `signalHostStyles`
|
|
12
|
-
* - `signalAttributes`
|
|
13
|
-
* - `signalClasses`
|
|
14
|
-
* - `signalStyles`
|
|
15
|
-
*
|
|
16
|
-
* Will be removed in v5.
|
|
17
|
-
*/
|
|
18
|
-
export const createReactiveBindings = (...values) => {
|
|
19
|
-
assertInInjectionContext(createReactiveBindings);
|
|
20
|
-
const rootElementRef = inject(ElementRef);
|
|
21
|
-
const destroy$ = createDestroy();
|
|
22
|
-
const subscriptions = [];
|
|
23
|
-
const pushedAttributes = [];
|
|
24
|
-
const defaults = {};
|
|
25
|
-
const push = (value) => {
|
|
26
|
-
const { attribute, observable, elementRef, eager } = value;
|
|
27
|
-
const elRef = elementRef || rootElementRef;
|
|
28
|
-
const attributes = Array.isArray(attribute) ? attribute : [attribute];
|
|
29
|
-
pushedAttributes.push(attributes);
|
|
30
|
-
for (const attribute of attributes) {
|
|
31
|
-
if (!defaults[attribute]) {
|
|
32
|
-
defaults[attribute] = elRef.nativeElement.getAttribute(attribute) || undefined;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
const subscription = observable
|
|
36
|
-
.pipe(takeUntil(destroy$), distinctUntilChanged((a, b) => {
|
|
37
|
-
if (isAttributeRenderBinding(a) && isAttributeRenderBinding(b)) {
|
|
38
|
-
return a === b;
|
|
39
|
-
}
|
|
40
|
-
else if (isAttributeValueBinding(a) && isAttributeValueBinding(b)) {
|
|
41
|
-
return a.render === b.render && a.value === b.value;
|
|
42
|
-
}
|
|
43
|
-
return false;
|
|
44
|
-
}), switchMap((v) => (eager ? of(v) : fromNextFrame().pipe(map(() => v)))))
|
|
45
|
-
.subscribe((value) => {
|
|
46
|
-
const currentAttributes = pushedAttributes.find((s) => s.some((current) => attributes.includes(current))) || [];
|
|
47
|
-
for (const attribute of currentAttributes) {
|
|
48
|
-
const isSingleClassMutation = attribute.startsWith('class.');
|
|
49
|
-
const isMultipleClassMutation = attribute === 'class';
|
|
50
|
-
const render = isAttributeRenderBinding(value) ? value : value.render;
|
|
51
|
-
if (isSingleClassMutation) {
|
|
52
|
-
const className = attribute.replace('class.', '');
|
|
53
|
-
if (!className) {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
if (!render) {
|
|
57
|
-
elRef.nativeElement.classList.remove(className);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
elRef.nativeElement.classList.add(className);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else if (isMultipleClassMutation) {
|
|
64
|
-
const classes = isAttributeRenderBinding(value) ? '' : `${value.value}`;
|
|
65
|
-
if (!classes) {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
if (!render) {
|
|
69
|
-
elRef.nativeElement.classList.remove(...classes.split(' '));
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
elRef.nativeElement.classList.add(...classes.split(' '));
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
const attributeValue = isAttributeRenderBinding(value) ? true : `${value.value}`;
|
|
77
|
-
if (!attribute) {
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
if (!render) {
|
|
81
|
-
elRef.nativeElement.removeAttribute(attribute);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
elRef.nativeElement.setAttribute(attribute, `${attributeValue}`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
subscriptions.push({ attributes, subscription });
|
|
90
|
-
};
|
|
91
|
-
const remove = (...attributes) => {
|
|
92
|
-
for (const attribute of attributes) {
|
|
93
|
-
const sub = subscriptions.find((s) => s.attributes.includes(attribute));
|
|
94
|
-
const attributeStack = pushedAttributes.find((a) => a.includes(attribute));
|
|
95
|
-
if (sub) {
|
|
96
|
-
sub.attributes = sub.attributes.filter((a) => a !== attribute);
|
|
97
|
-
attributeStack?.splice(attributeStack.indexOf(attribute), 1);
|
|
98
|
-
if (sub.attributes.length === 0) {
|
|
99
|
-
sub.subscription.unsubscribe();
|
|
100
|
-
subscriptions.splice(subscriptions.indexOf(sub), 1);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
const reset = () => {
|
|
106
|
-
for (const attribute in defaults) {
|
|
107
|
-
if (defaults[attribute] === undefined) {
|
|
108
|
-
rootElementRef.nativeElement.removeAttribute(attribute);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
rootElementRef.nativeElement.setAttribute(attribute, defaults[attribute]);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
for (const value of values) {
|
|
116
|
-
push(value);
|
|
117
|
-
}
|
|
118
|
-
return {
|
|
119
|
-
push,
|
|
120
|
-
remove,
|
|
121
|
-
reset,
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtYmluZGluZy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvcmVhY3RpdmUtYmluZGluZy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFnQmhELE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsS0FBcUQsRUFDcEIsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUNqRSxNQUFNLHVCQUF1QixHQUFHLENBQzlCLEtBQXFELEVBQ3JCLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7QUFRL0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBRyxNQUE0QixFQUF5QixFQUFFO0lBQy9GLHdCQUF3QixDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFakQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztJQUNuRSxNQUFNLFFBQVEsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUVqQyxNQUFNLGFBQWEsR0FBMkQsRUFBRSxDQUFDO0lBQ2pGLE1BQU0sZ0JBQWdCLEdBQWUsRUFBRSxDQUFDO0lBRXhDLE1BQU0sUUFBUSxHQUF1QyxFQUFFLENBQUM7SUFFeEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUU7UUFDekMsTUFBTSxF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QyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFXLENBQUMsQ0FBQztZQUN0RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJO1FBQ0osTUFBTTtRQUNOLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgb2YsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmcm9tTmV4dEZyYW1lIH0gZnJvbSAnLi9hbmltYXRpb24udXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlRGVzdHJveSB9IGZyb20gJy4vZGVzdHJveS51dGlscyc7XG5cbnR5cGUgQXR0cmlidXRlVmFsdWVCaW5kaW5nID0ge1xuICByZW5kZXI6IGJvb2xlYW47XG4gIHZhbHVlOiBib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyO1xufTtcblxudHlwZSBBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nID0gYm9vbGVhbjtcblxuZXhwb3J0IHR5cGUgUmVhY3RpdmVBdHRyaWJ1dGVzID0ge1xuICBhdHRyaWJ1dGU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZVZhbHVlQmluZGluZyB8IEF0dHJpYnV0ZVJlbmRlckJpbmRpbmc+O1xuICBlYWdlcj86IGJvb2xlYW47XG4gIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pjtcbn07XG5cbmNvbnN0IGlzQXR0cmlidXRlUmVuZGVyQmluZGluZyA9IChcbiAgdmFsdWU6IEF0dHJpYnV0ZVZhbHVlQmluZGluZyB8IEF0dHJpYnV0ZVJlbmRlckJpbmRpbmcsXG4pOiB2YWx1ZSBpcyBBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xuY29uc3QgaXNBdHRyaWJ1dGVWYWx1ZUJpbmRpbmcgPSAoXG4gIHZhbHVlOiBBdHRyaWJ1dGVWYWx1ZUJpbmRpbmcgfCBBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nLFxuKTogdmFsdWUgaXMgQXR0cmlidXRlVmFsdWVCaW5kaW5nID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3RpdmVCaW5kaW5nUmVzdWx0IHtcbiAgcmVzZXQ6ICgpID0+IHZvaWQ7XG4gIHJlbW92ZTogKC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKSA9PiB2b2lkO1xuICBwdXNoOiAodmFsdWU6IFJlYWN0aXZlQXR0cmlidXRlcykgPT4gdm9pZDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgaW5zdGVhZDpcbiAqIC0gYHNpZ25hbEhvc3RBdHRyaWJ1dGVzYFxuICogLSBgc2lnbmFsSG9zdENsYXNzZXNgXG4gKiAtIGBzaWduYWxIb3N0U3R5bGVzYFxuICogLSBgc2lnbmFsQXR0cmlidXRlc2BcbiAqIC0gYHNpZ25hbENsYXNzZXNgXG4gKiAtIGBzaWduYWxTdHlsZXNgXG4gKlxuICogV2lsbCBiZSByZW1vdmVkIGluIHY1LlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyA9ICguLi52YWx1ZXM6IFJlYWN0aXZlQXR0cmlidXRlc1tdKTogUmVhY3RpdmVCaW5kaW5nUmVzdWx0ID0+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MpO1xuXG4gIGNvbnN0IHJvb3RFbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgY29uc3QgZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG5cbiAgY29uc3Qgc3Vic2NyaXB0aW9uczogeyBhdHRyaWJ1dGVzOiBzdHJpbmdbXTsgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfVtdID0gW107XG4gIGNvbnN0IHB1c2hlZEF0dHJpYnV0ZXM6IHN0cmluZ1tdW10gPSBbXTtcblxuICBjb25zdCBkZWZhdWx0czogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiA9IHt9O1xuXG4gIGNvbnN0IHB1c2ggPSAodmFsdWU6IFJlYWN0aXZlQXR0cmlidXRlcykgPT4ge1xuICAgIGNvbnN0IHsgYXR0cmlidXRlLCBvYnNlcnZhYmxlLCBlbGVtZW50UmVmLCBlYWdlciB9ID0gdmFsdWU7XG4gICAgY29uc3QgZWxSZWYgPSBlbGVtZW50UmVmIHx8IHJvb3RFbGVtZW50UmVmO1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZSkgPyBhdHRyaWJ1dGUgOiBbYXR0cmlidXRlXTtcbiAgICBwdXNoZWRBdHRyaWJ1dGVzLnB1c2goYXR0cmlidXRlcyk7XG5cbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVzKSB7XG4gICAgICBpZiAoIWRlZmF1bHRzW2F0dHJpYnV0ZV0pIHtcbiAgICAgICAgZGVmYXVsdHNbYXR0cmlidXRlXSA9IGVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkgfHwgdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG9ic2VydmFibGVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4ge1xuICAgICAgICAgIGlmIChpc0F0dHJpYnV0ZVJlbmRlckJpbmRpbmcoYSkgJiYgaXNBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nKGIpKSB7XG4gICAgICAgICAgICByZXR1cm4gYSA9PT0gYjtcbiAgICAgICAgICB9IGVsc2UgaWYgKGlzQXR0cmlidXRlVmFsdWVCaW5kaW5nKGEpICYmIGlzQXR0cmlidXRlVmFsdWVCaW5kaW5nKGIpKSB7XG4gICAgICAgICAgICByZXR1cm4gYS5yZW5kZXIgPT09IGIucmVuZGVyICYmIGEudmFsdWUgPT09IGIudmFsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCh2KSA9PiAoZWFnZXIgPyBvZih2KSA6IGZyb21OZXh0RnJhbWUoKS5waXBlKG1hcCgoKSA9PiB2KSkpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBdHRyaWJ1dGVzID0gcHVzaGVkQXR0cmlidXRlcy5maW5kKChzKSA9PiBzLnNvbWUoKGN1cnJlbnQpID0+IGF0dHJpYnV0ZXMuaW5jbHVkZXMoY3VycmVudCkpKSB8fCBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBjdXJyZW50QXR0cmlidXRlcykge1xuICAgICAgICAgIGNvbnN0IGlzU2luZ2xlQ2xhc3NNdXRhdGlvbiA9IGF0dHJpYnV0ZS5zdGFydHNXaXRoKCdjbGFzcy4nKTtcbiAgICAgICAgICBjb25zdCBpc011bHRpcGxlQ2xhc3NNdXRhdGlvbiA9IGF0dHJpYnV0ZSA9PT0gJ2NsYXNzJztcblxuICAgICAgICAgIGNvbnN0IHJlbmRlciA9IGlzQXR0cmlidXRlUmVuZGVyQmluZGluZyh2YWx1ZSkgPyB2YWx1ZSA6IHZhbHVlLnJlbmRlcjtcblxuICAgICAgICAgIGlmIChpc1NpbmdsZUNsYXNzTXV0YXRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGF0dHJpYnV0ZS5yZXBsYWNlKCdjbGFzcy4nLCAnJyk7XG5cbiAgICAgICAgICAgIGlmICghY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXJlbmRlcikge1xuICAgICAgICAgICAgICBlbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGVsUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoaXNNdWx0aXBsZUNsYXNzTXV0YXRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzZXMgPSBpc0F0dHJpYnV0ZVJlbmRlckJpbmRpbmcodmFsdWUpID8gJycgOiBgJHt2YWx1ZS52YWx1ZX1gO1xuXG4gICAgICAgICAgICBpZiAoIWNsYXNzZXMpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghcmVuZGVyKSB7XG4gICAgICAgICAgICAgIGVsUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5jbGFzc2VzLnNwbGl0KCcgJykpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKC4uLmNsYXNzZXMuc3BsaXQoJyAnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZVZhbHVlID0gaXNBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nKHZhbHVlKSA/IHRydWUgOiBgJHt2YWx1ZS52YWx1ZX1gO1xuXG4gICAgICAgICAgICBpZiAoIWF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFyZW5kZXIpIHtcbiAgICAgICAgICAgICAgZWxSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGVsUmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgYCR7YXR0cmlidXRlVmFsdWV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHN1YnNjcmlwdGlvbnMucHVzaCh7IGF0dHJpYnV0ZXMsIHN1YnNjcmlwdGlvbiB9KTtcbiAgfTtcblxuICBjb25zdCByZW1vdmUgPSAoLi4uYXR0cmlidXRlczogc3RyaW5nW10pID0+IHtcbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVzKSB7XG4gICAgICBjb25zdCBzdWIgPSBzdWJzY3JpcHRpb25zLmZpbmQoKHMpID0+IHMuYXR0cmlidXRlcy5pbmNsdWRlcyhhdHRyaWJ1dGUpKTtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZVN0YWNrID0gcHVzaGVkQXR0cmlidXRlcy5maW5kKChhKSA9PiBhLmluY2x1ZGVzKGF0dHJpYnV0ZSkpO1xuXG4gICAgICBpZiAoc3ViKSB7XG4gICAgICAgIHN1Yi5hdHRyaWJ1dGVzID0gc3ViLmF0dHJpYnV0ZXMuZmlsdGVyKChhKSA9PiBhICE9PSBhdHRyaWJ1dGUpO1xuICAgICAgICBhdHRyaWJ1dGVTdGFjaz8uc3BsaWNlKGF0dHJpYnV0ZVN0YWNrLmluZGV4T2YoYXR0cmlidXRlKSwgMSk7XG5cbiAgICAgICAgaWYgKHN1Yi5hdHRyaWJ1dGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHN1Yi5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBzdWJzY3JpcHRpb25zLnNwbGljZShzdWJzY3JpcHRpb25zLmluZGV4T2Yoc3ViKSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVzZXQgPSAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgaW4gZGVmYXVsdHMpIHtcbiAgICAgIGlmIChkZWZhdWx0c1thdHRyaWJ1dGVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcm9vdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvb3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgZGVmYXVsdHNbYXR0cmlidXRlXSBhcyBzdHJpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBmb3IgKGNvbnN0IHZhbHVlIG9mIHZhbHVlcykge1xuICAgIHB1c2godmFsdWUpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwdXNoLFxuICAgIHJlbW92ZSxcbiAgICByZXNldCxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
export const createResizeObservable = (config) => {
|
|
3
|
-
const elements = Array.isArray(config.elements) ? config.elements : [config.elements];
|
|
4
|
-
return new Observable((obs) => {
|
|
5
|
-
const observer = new ResizeObserver((entries) => obs.next(entries));
|
|
6
|
-
for (const element of elements) {
|
|
7
|
-
observer.observe(element, config.options);
|
|
8
|
-
}
|
|
9
|
-
return () => observer.disconnect();
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmFibGUudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3Jlc2l6ZS1vYnNlcnZhYmxlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BR3RDLEVBQUUsRUFBRTtJQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0RixPQUFPLElBQUksVUFBVSxDQUF3QixDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ25ELE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFcEUsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUmVzaXplT2JzZXJ2YWJsZSA9IChjb25maWc6IHtcbiAgZWxlbWVudHM6IEhUTUxFbGVtZW50IHwgSFRNTEVsZW1lbnRbXTtcbiAgb3B0aW9ucz86IFJlc2l6ZU9ic2VydmVyT3B0aW9ucztcbn0pID0+IHtcbiAgY29uc3QgZWxlbWVudHMgPSBBcnJheS5pc0FycmF5KGNvbmZpZy5lbGVtZW50cykgPyBjb25maWcuZWxlbWVudHMgOiBbY29uZmlnLmVsZW1lbnRzXTtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGU8UmVzaXplT2JzZXJ2ZXJFbnRyeVtdPigob2JzKSA9PiB7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IG9icy5uZXh0KGVudHJpZXMpKTtcblxuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBjb25maWcub3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSk7XG59O1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export const round = (value, precision = 0) => {
|
|
2
|
-
const multiplier = Math.pow(10, precision);
|
|
3
|
-
return Math.round(value * multiplier) / multiplier;
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9yb3VuZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFhLEVBQUUsU0FBUyxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO0FBQ3JELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCByb3VuZCA9ICh2YWx1ZTogbnVtYmVyLCBwcmVjaXNpb24gPSAwKSA9PiB7XG4gIGNvbnN0IG11bHRpcGxpZXIgPSBNYXRoLnBvdygxMCwgcHJlY2lzaW9uKTtcbiAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiBtdWx0aXBsaWVyKSAvIG11bHRpcGxpZXI7XG59O1xuIl19
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { clone } from './clone.util';
|
|
2
|
-
export const RUNTIME_ERROR_NO_DATA = '__ET_NO_DATA__';
|
|
3
|
-
export class RuntimeError extends Error {
|
|
4
|
-
constructor(code, message, devOnly = false, data = RUNTIME_ERROR_NO_DATA) {
|
|
5
|
-
super(formatRuntimeError(code, message, devOnly));
|
|
6
|
-
this.code = code;
|
|
7
|
-
this.devOnly = devOnly;
|
|
8
|
-
this.data = data;
|
|
9
|
-
if (data !== RUNTIME_ERROR_NO_DATA) {
|
|
10
|
-
try {
|
|
11
|
-
const _data = clone(data);
|
|
12
|
-
setTimeout(() => {
|
|
13
|
-
console.error(_data);
|
|
14
|
-
}, 1);
|
|
15
|
-
}
|
|
16
|
-
catch {
|
|
17
|
-
setTimeout(() => {
|
|
18
|
-
console.error(data);
|
|
19
|
-
}, 1);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export function formatRuntimeError(code, message, devOnly) {
|
|
25
|
-
// prefix code with zeros if it's less than 100
|
|
26
|
-
const codeWithZeros = code < 10 ? `00${code}` : code < 100 ? `0${code}` : code;
|
|
27
|
-
const fullCode = `ET${codeWithZeros}`;
|
|
28
|
-
const devOnlyText = devOnly ? ' [DEV ONLY] ' : '';
|
|
29
|
-
return `${devOnlyText}${fullCode}${message ? ': ' + message : ''}`;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1lcnJvci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3J1bnRpbWUtZXJyb3IudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUV0RCxNQUFNLE9BQU8sWUFBK0IsU0FBUSxLQUFLO0lBQ3ZELFlBQ1MsSUFBTyxFQUNkLE9BQThCLEVBQ3ZCLFVBQVUsS0FBSyxFQUNmLE9BQWdCLHFCQUFxQjtRQUU1QyxLQUFLLENBQUMsa0JBQWtCLENBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBTDlDLFNBQUksR0FBSixJQUFJLENBQUc7UUFFUCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBaUM7UUFJNUMsSUFBSSxJQUFJLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUxQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNSLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDUixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsSUFBTyxFQUNQLE9BQThCLEVBQzlCLE9BQWdCO0lBRWhCLCtDQUErQztJQUMvQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFL0UsTUFBTSxRQUFRLEdBQUcsS0FBSyxhQUFhLEVBQUUsQ0FBQztJQUN0QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2xELE9BQU8sR0FBRyxXQUFXLEdBQUcsUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDckUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsb25lIH0gZnJvbSAnLi9jbG9uZS51dGlsJztcblxuZXhwb3J0IGNvbnN0IFJVTlRJTUVfRVJST1JfTk9fREFUQSA9ICdfX0VUX05PX0RBVEFfXyc7XG5cbmV4cG9ydCBjbGFzcyBSdW50aW1lRXJyb3I8VCBleHRlbmRzIG51bWJlcj4gZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb2RlOiBULFxuICAgIG1lc3NhZ2U6IG51bGwgfCBmYWxzZSB8IHN0cmluZyxcbiAgICBwdWJsaWMgZGV2T25seSA9IGZhbHNlLFxuICAgIHB1YmxpYyBkYXRhOiB1bmtub3duID0gUlVOVElNRV9FUlJPUl9OT19EQVRBLFxuICApIHtcbiAgICBzdXBlcihmb3JtYXRSdW50aW1lRXJyb3I8VD4oY29kZSwgbWVzc2FnZSwgZGV2T25seSkpO1xuXG4gICAgaWYgKGRhdGEgIT09IFJVTlRJTUVfRVJST1JfTk9fREFUQSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgX2RhdGEgPSBjbG9uZShkYXRhKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKF9kYXRhKTtcbiAgICAgICAgfSwgMSk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihkYXRhKTtcbiAgICAgICAgfSwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRSdW50aW1lRXJyb3I8VCBleHRlbmRzIG51bWJlcj4oXG4gIGNvZGU6IFQsXG4gIG1lc3NhZ2U6IG51bGwgfCBmYWxzZSB8IHN0cmluZyxcbiAgZGV2T25seTogYm9vbGVhbixcbik6IHN0cmluZyB7XG4gIC8vIHByZWZpeCBjb2RlIHdpdGggemVyb3MgaWYgaXQncyBsZXNzIHRoYW4gMTAwXG4gIGNvbnN0IGNvZGVXaXRoWmVyb3MgPSBjb2RlIDwgMTAgPyBgMDAke2NvZGV9YCA6IGNvZGUgPCAxMDAgPyBgMCR7Y29kZX1gIDogY29kZTtcblxuICBjb25zdCBmdWxsQ29kZSA9IGBFVCR7Y29kZVdpdGhaZXJvc31gO1xuICBjb25zdCBkZXZPbmx5VGV4dCA9IGRldk9ubHkgPyAnIFtERVYgT05MWV0gJyA6ICcnO1xuICByZXR1cm4gYCR7ZGV2T25seVRleHR9JHtmdWxsQ29kZX0ke21lc3NhZ2UgPyAnOiAnICsgbWVzc2FnZSA6ICcnfWA7XG59XG4iXX0=
|