@fundamental-ngx/cdk 0.54.2 → 0.55.0-rc.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/fesm2022/fundamental-ngx-cdk-data-source.mjs +7 -7
- package/fesm2022/fundamental-ngx-cdk-forms.mjs +21 -14
- package/fesm2022/fundamental-ngx-cdk-forms.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-cdk-utils.mjs +361 -312
- package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-cdk.mjs +4 -4
- package/forms/cva/cva.directive.d.ts +7 -3
- package/package.json +8 -16
- package/utils/abstract-fd-ngx-class.d.ts +1 -1
- package/utils/directives/overflow-list/overflow-list.directive.d.ts +7 -0
- package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +1 -1
- package/utils/drag-and-drop/drag-and-drop.module.d.ts +7 -7
- package/utils/toast/base-toast-positions.d.ts +16 -16
- package/utils/toast/classes/base-toast-animated-container.component.d.ts +1 -1
- package/utils/toast/classes/base-toast-container.component.d.ts +1 -1
- package/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.d.ts +1 -1
- package/esm2022/data-source/base/abstract-data-provider.class.mjs +0 -142
- package/esm2022/data-source/base/base-data-source.class.mjs +0 -112
- package/esm2022/data-source/data-source.directive.mjs +0 -95
- package/esm2022/data-source/data-source.module.mjs +0 -16
- package/esm2022/data-source/fundamental-ngx-cdk-data-source.mjs +0 -5
- package/esm2022/data-source/helpers/apply-datasource-directive.mjs +0 -7
- package/esm2022/data-source/helpers/common.mjs +0 -17
- package/esm2022/data-source/helpers/is-datasource.mjs +0 -7
- package/esm2022/data-source/index.mjs +0 -9
- package/esm2022/data-source/models/data-source-provider.mjs +0 -2
- package/esm2022/data-source/models/data-source.mjs +0 -2
- package/esm2022/data-source/models/index.mjs +0 -4
- package/esm2022/data-source/models/matching-strategy.mjs +0 -7
- package/esm2022/data-source/tokens.mjs +0 -6
- package/esm2022/forms/cva/cva-control.class.mjs +0 -42
- package/esm2022/forms/cva/cva.directive.mjs +0 -321
- package/esm2022/forms/forms.module.mjs +0 -16
- package/esm2022/forms/fundamental-ngx-cdk-forms.mjs +0 -5
- package/esm2022/forms/helpers/state.mjs +0 -7
- package/esm2022/forms/index.mjs +0 -13
- package/esm2022/forms/models/control-type.model.mjs +0 -2
- package/esm2022/forms/models/cva.mjs +0 -2
- package/esm2022/forms/models/form-error.mjs +0 -2
- package/esm2022/forms/models/form-field.mjs +0 -9
- package/esm2022/forms/models/form-state.mjs +0 -2
- package/esm2022/forms/models/select-item.mjs +0 -14
- package/esm2022/forms/tokens/form-field-control.token.mjs +0 -3
- package/esm2022/forms/tokens/form-field.token.mjs +0 -3
- package/esm2022/fundamental-ngx-cdk.mjs +0 -5
- package/esm2022/fundamental-ngx.module.mjs +0 -19
- package/esm2022/index.mjs +0 -5
- package/esm2022/utils/abstract-fd-ngx-class.mjs +0 -61
- package/esm2022/utils/async-strategy/function-strategy.class.mjs +0 -12
- package/esm2022/utils/async-strategy/index.mjs +0 -7
- package/esm2022/utils/async-strategy/observable-strategy.class.mjs +0 -13
- package/esm2022/utils/async-strategy/promise-strategy.class.mjs +0 -12
- package/esm2022/utils/async-strategy/select-strategy.class.mjs +0 -23
- package/esm2022/utils/async-strategy/subscription-strategy.interface.mjs +0 -2
- package/esm2022/utils/async-strategy/value-strategy.class.mjs +0 -10
- package/esm2022/utils/coercion/array.mjs +0 -7
- package/esm2022/utils/components/dynamic-portal/dynamic-portal.component.mjs +0 -98
- package/esm2022/utils/components/index.mjs +0 -2
- package/esm2022/utils/consts/error-messages.mjs +0 -6
- package/esm2022/utils/consts/index.mjs +0 -5
- package/esm2022/utils/consts/overflow-priority-score.mjs +0 -8
- package/esm2022/utils/consts/unicode-letters.regex.mjs +0 -11
- package/esm2022/utils/consts/unicode-numbers.regex.mjs +0 -8
- package/esm2022/utils/datatypes/color-accent.datatype.mjs +0 -2
- package/esm2022/utils/datatypes/hash.datatype.mjs +0 -2
- package/esm2022/utils/datatypes/index.mjs +0 -5
- package/esm2022/utils/datatypes/object-nesting.types.mjs +0 -2
- package/esm2022/utils/datatypes/size.datatype.mjs +0 -2
- package/esm2022/utils/decorators/apply-css-class.decorator.mjs +0 -61
- package/esm2022/utils/decorators/apply-css-style.decorator.mjs +0 -26
- package/esm2022/utils/decorators/coerce-boolean.mjs +0 -7
- package/esm2022/utils/decorators/coerce-css-pixel.mjs +0 -4
- package/esm2022/utils/decorators/index.mjs +0 -6
- package/esm2022/utils/decorators/setter-alternator.mjs +0 -18
- package/esm2022/utils/deprecated-selector.class.mjs +0 -35
- package/esm2022/utils/directives/auto-complete/auto-complete.directive.mjs +0 -135
- package/esm2022/utils/directives/auto-complete/auto-complete.module.mjs +0 -17
- package/esm2022/utils/directives/breakpoints/breakpoint.directive.mjs +0 -156
- package/esm2022/utils/directives/breakpoints/responsive-breakpoints.mjs +0 -19
- package/esm2022/utils/directives/clicked/clicked-behavior.module.mjs +0 -35
- package/esm2022/utils/directives/clicked/clicked-event.plugin.mjs +0 -79
- package/esm2022/utils/directives/clicked/clicked.directive.mjs +0 -36
- package/esm2022/utils/directives/clicked/element-click.observable.mjs +0 -21
- package/esm2022/utils/directives/clicked/fdk-clicked-provider.service.mjs +0 -48
- package/esm2022/utils/directives/clicked/index.mjs +0 -6
- package/esm2022/utils/directives/clicked/provide-fdk-clicked.mjs +0 -29
- package/esm2022/utils/directives/disabled/default-disabled-view-modifier.mjs +0 -12
- package/esm2022/utils/directives/disabled/disabled-behavior.directive.mjs +0 -84
- package/esm2022/utils/directives/disabled/disabled-behavior.interface.mjs +0 -2
- package/esm2022/utils/directives/disabled/disabled-behavior.module.mjs +0 -16
- package/esm2022/utils/directives/disabled/disabled-view-modifier.interface.mjs +0 -2
- package/esm2022/utils/directives/disabled/disabled.observer.mjs +0 -35
- package/esm2022/utils/directives/disabled/fdk-disabled-provider.service.mjs +0 -101
- package/esm2022/utils/directives/disabled/fdk-disabled.token.mjs +0 -3
- package/esm2022/utils/directives/disabled/index.mjs +0 -9
- package/esm2022/utils/directives/disabled/set-disabled-state.mjs +0 -18
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +0 -17
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +0 -67
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +0 -88
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager.tokens.mjs +0 -3
- package/esm2022/utils/directives/focus-key-manager/index.mjs +0 -5
- package/esm2022/utils/directives/focusable-grid/focusable-grid.directive.mjs +0 -164
- package/esm2022/utils/directives/focusable-grid/focusable-grid.module.mjs +0 -17
- package/esm2022/utils/directives/focusable-grid/focusable-grid.tokens.mjs +0 -3
- package/esm2022/utils/directives/focusable-grid/index.mjs +0 -4
- package/esm2022/utils/directives/focusable-item/focusable-item.directive.mjs +0 -198
- package/esm2022/utils/directives/focusable-item/focusable-item.module.mjs +0 -16
- package/esm2022/utils/directives/focusable-item/focusable-item.tokens.mjs +0 -3
- package/esm2022/utils/directives/focusable-item/focusable-list.position.mjs +0 -2
- package/esm2022/utils/directives/focusable-item/focusable.item.mjs +0 -2
- package/esm2022/utils/directives/focusable-item/focusable.observer.mjs +0 -46
- package/esm2022/utils/directives/focusable-item/get-item-element.mjs +0 -14
- package/esm2022/utils/directives/focusable-item/index.mjs +0 -9
- package/esm2022/utils/directives/focusable-item/indirect-focusable-item.directive.mjs +0 -44
- package/esm2022/utils/directives/focusable-item/is-element-focusable-by-default.mjs +0 -32
- package/esm2022/utils/directives/focusable-item/is-item-focusable.mjs +0 -8
- package/esm2022/utils/directives/focusable-list/focusable-list.directive.mjs +0 -300
- package/esm2022/utils/directives/focusable-list/focusable-list.module.mjs +0 -17
- package/esm2022/utils/directives/focusable-list/focusable-list.tokens.mjs +0 -3
- package/esm2022/utils/directives/focusable-list/index.mjs +0 -6
- package/esm2022/utils/directives/focusable-list/indirect-focusable-list.directive.mjs +0 -59
- package/esm2022/utils/directives/focusable-list/scroll.mjs +0 -43
- package/esm2022/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +0 -55
- package/esm2022/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +0 -16
- package/esm2022/utils/directives/ignore-click-on-selection/tokens.mjs +0 -3
- package/esm2022/utils/directives/index.mjs +0 -35
- package/esm2022/utils/directives/initial-focus/initial-focus.directive.mjs +0 -99
- package/esm2022/utils/directives/initial-focus/initial-focus.module.mjs +0 -16
- package/esm2022/utils/directives/intersection-spy/intersection-spy.directive.mjs +0 -42
- package/esm2022/utils/directives/line-clamp/line-clamp.directive.mjs +0 -213
- package/esm2022/utils/directives/line-clamp/line-clamp.module.mjs +0 -16
- package/esm2022/utils/directives/only-digits/only-digits.directive.mjs +0 -206
- package/esm2022/utils/directives/only-digits/only-digits.module.mjs +0 -16
- package/esm2022/utils/directives/overflow-list/overflow-list-item.directive.mjs +0 -18
- package/esm2022/utils/directives/overflow-list/overflow-list.directive.mjs +0 -114
- package/esm2022/utils/directives/overflow-list/overflow-list.module.mjs +0 -17
- package/esm2022/utils/directives/readonly/default-readonly-view-modifier.mjs +0 -12
- package/esm2022/utils/directives/readonly/fdk-readonly-provider.service.mjs +0 -101
- package/esm2022/utils/directives/readonly/fdk-readonly.token.mjs +0 -3
- package/esm2022/utils/directives/readonly/index.mjs +0 -10
- package/esm2022/utils/directives/readonly/readonly-behavior.directive.mjs +0 -67
- package/esm2022/utils/directives/readonly/readonly-behavior.interface.mjs +0 -2
- package/esm2022/utils/directives/readonly/readonly-behavior.module.mjs +0 -16
- package/esm2022/utils/directives/readonly/readonly-view-modifier.interface.mjs +0 -2
- package/esm2022/utils/directives/readonly/readonly.observer.mjs +0 -33
- package/esm2022/utils/directives/readonly/set-readonly-state.mjs +0 -14
- package/esm2022/utils/directives/repeat/repeat.directive.mjs +0 -34
- package/esm2022/utils/directives/repeat/repeat.module.mjs +0 -16
- package/esm2022/utils/directives/resize/resize-handle.directive.mjs +0 -18
- package/esm2022/utils/directives/resize/resize.directive.mjs +0 -241
- package/esm2022/utils/directives/resize/resize.module.mjs +0 -17
- package/esm2022/utils/directives/resize-observer/index.mjs +0 -2
- package/esm2022/utils/directives/resize-observer/resize-observer.directive.mjs +0 -29
- package/esm2022/utils/directives/selectable-list/index.mjs +0 -8
- package/esm2022/utils/directives/selectable-list/select-component-root.token.mjs +0 -3
- package/esm2022/utils/directives/selectable-list/selectable-item.directive.mjs +0 -147
- package/esm2022/utils/directives/selectable-list/selectable-item.token.mjs +0 -3
- package/esm2022/utils/directives/selectable-list/selectable-list.directive.mjs +0 -85
- package/esm2022/utils/directives/selectable-list/selectable-list.module.mjs +0 -17
- package/esm2022/utils/directives/selectable-list/selectable-list.tokens.mjs +0 -3
- package/esm2022/utils/directives/selectable-list/selection.service.mjs +0 -138
- package/esm2022/utils/directives/template/template.directive.mjs +0 -25
- package/esm2022/utils/directives/template/template.module.mjs +0 -16
- package/esm2022/utils/directives/truncate/truncate.directive.mjs +0 -94
- package/esm2022/utils/directives/truncate/truncate.module.mjs +0 -16
- package/esm2022/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +0 -274
- package/esm2022/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +0 -88
- package/esm2022/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +0 -83
- package/esm2022/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +0 -378
- package/esm2022/utils/drag-and-drop/dnd.interfaces.mjs +0 -2
- package/esm2022/utils/drag-and-drop/drag-and-drop.module.mjs +0 -22
- package/esm2022/utils/drag-and-drop/index.mjs +0 -8
- package/esm2022/utils/drag-and-drop/tokens.mjs +0 -4
- package/esm2022/utils/dynamic-component/dynamic-component-config.mjs +0 -2
- package/esm2022/utils/dynamic-component/dynamic-component-container.mjs +0 -32
- package/esm2022/utils/dynamic-component/dynamic-component-injector.mjs +0 -20
- package/esm2022/utils/dynamic-component/dynamic-component.service.mjs +0 -100
- package/esm2022/utils/dynamic-component/index.mjs +0 -5
- package/esm2022/utils/functions/consumer-provider-factory.mjs +0 -12
- package/esm2022/utils/functions/element-size.mjs +0 -23
- package/esm2022/utils/functions/get-document-font-size.mjs +0 -9
- package/esm2022/utils/functions/index.mjs +0 -14
- package/esm2022/utils/functions/intersection-observable.mjs +0 -26
- package/esm2022/utils/functions/is-compact-density.mjs +0 -11
- package/esm2022/utils/functions/is-odd.mjs +0 -9
- package/esm2022/utils/functions/key-util.mjs +0 -90
- package/esm2022/utils/functions/module-deprecations-provider.mjs +0 -18
- package/esm2022/utils/functions/parser-file-size.mjs +0 -37
- package/esm2022/utils/functions/random-color-accent.mjs +0 -5
- package/esm2022/utils/functions/resize-observable.mjs +0 -33
- package/esm2022/utils/functions/scroll.mjs +0 -19
- package/esm2022/utils/functions/uuidv4-generator.mjs +0 -12
- package/esm2022/utils/fundamental-ngx-cdk-utils.mjs +0 -5
- package/esm2022/utils/helpers/destroy-observable.mjs +0 -12
- package/esm2022/utils/helpers/dfs.mjs +0 -47
- package/esm2022/utils/helpers/get-native-element.mjs +0 -19
- package/esm2022/utils/helpers/index.mjs +0 -6
- package/esm2022/utils/helpers/range-selector.mjs +0 -117
- package/esm2022/utils/helpers/warn-once.mjs +0 -9
- package/esm2022/utils/index.mjs +0 -25
- package/esm2022/utils/interfaces/content-density.mjs +0 -2
- package/esm2022/utils/interfaces/css-class-builder.interface.mjs +0 -2
- package/esm2022/utils/interfaces/css-style-builder.interface.mjs +0 -2
- package/esm2022/utils/interfaces/has-element-ref.interface.mjs +0 -2
- package/esm2022/utils/interfaces/index.mjs +0 -8
- package/esm2022/utils/interfaces/keyboard-support-item.interface.mjs +0 -2
- package/esm2022/utils/interfaces/module-deprecation.interface.mjs +0 -2
- package/esm2022/utils/interfaces/require.interface.mjs +0 -2
- package/esm2022/utils/list-item/list-item-utils.mjs +0 -3
- package/esm2022/utils/models/nullable.mjs +0 -2
- package/esm2022/utils/pipes/async-or-sync.pipe.mjs +0 -35
- package/esm2022/utils/pipes/displayFn.pipe.mjs +0 -18
- package/esm2022/utils/pipes/filter-strings.pipe.mjs +0 -31
- package/esm2022/utils/pipes/index.mjs +0 -12
- package/esm2022/utils/pipes/is-compact.pipe.mjs +0 -16
- package/esm2022/utils/pipes/make-async.pipe.mjs +0 -24
- package/esm2022/utils/pipes/pipe.module.mjs +0 -65
- package/esm2022/utils/pipes/safe.pipe.mjs +0 -37
- package/esm2022/utils/pipes/search-highlight.pipe.mjs +0 -40
- package/esm2022/utils/pipes/truncate.pipe.mjs +0 -18
- package/esm2022/utils/pipes/two-digits.pipe.mjs +0 -23
- package/esm2022/utils/pipes/value-by-path.pipe.mjs +0 -16
- package/esm2022/utils/services/content-density.service.mjs +0 -35
- package/esm2022/utils/services/destroyed.service.mjs +0 -26
- package/esm2022/utils/services/focus-trap.service.mjs +0 -92
- package/esm2022/utils/services/index.mjs +0 -10
- package/esm2022/utils/services/keyboard-support/keyboard-support.service.mjs +0 -73
- package/esm2022/utils/services/local-storage.service.mjs +0 -38
- package/esm2022/utils/services/observers/attribute.observer.mjs +0 -81
- package/esm2022/utils/services/resize-observer.service.mjs +0 -92
- package/esm2022/utils/services/rtl.service.mjs +0 -32
- package/esm2022/utils/services/tabbable-element.service.mjs +0 -43
- package/esm2022/utils/toast/base-toast-animations.mjs +0 -22
- package/esm2022/utils/toast/base-toast-positions.mjs +0 -108
- package/esm2022/utils/toast/base-toast.service.mjs +0 -261
- package/esm2022/utils/toast/classes/action-dismissible/base-toast-action-dismissible-ref.mjs +0 -36
- package/esm2022/utils/toast/classes/base-toast-animated-container.component.mjs +0 -87
- package/esm2022/utils/toast/classes/base-toast-config.mjs +0 -23
- package/esm2022/utils/toast/classes/base-toast-container.component.mjs +0 -72
- package/esm2022/utils/toast/classes/base-toast-overlay-container.mjs +0 -25
- package/esm2022/utils/toast/classes/base-toast-ref.mjs +0 -45
- package/esm2022/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-config.mjs +0 -19
- package/esm2022/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.mjs +0 -39
- package/esm2022/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-ref.mjs +0 -23
- package/esm2022/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible.service.mjs +0 -25
- package/esm2022/utils/toast/index.mjs +0 -16
- package/esm2022/utils/toast/interfaces/toast-container-component.interface.mjs +0 -2
- package/esm2022/utils/toast/interfaces/toast-duration-dismissible-container-component.interface.mjs +0 -2
- package/esm2022/utils/toast/interfaces/toast-text-component.interface.mjs +0 -2
- package/esm2022/utils/tokens/module-deprecations.token.mjs +0 -3
- package/esm2022/utils/tokens/viewport-size.observable.mjs +0 -20
- package/esm2022/utils/typecheck.mjs +0 -75
- package/esm2022/utils/utils.module.mjs +0 -131
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Directive, ElementRef, Input, booleanAttribute } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
4
|
-
import { tap } from 'rxjs/operators';
|
|
5
|
-
import { FDK_READONLY_DIRECTIVE } from './fdk-readonly.token';
|
|
6
|
-
import { setReadonlyState } from './set-readonly-state';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class ReadonlyBehaviorDirective extends ReplaySubject {
|
|
9
|
-
/** @Hidden */
|
|
10
|
-
set fdkReadonly(value) {
|
|
11
|
-
this._readonlyInput$.next(value);
|
|
12
|
-
}
|
|
13
|
-
get fdkReadonly() {
|
|
14
|
-
return this._readonly;
|
|
15
|
-
}
|
|
16
|
-
/** @hidden */
|
|
17
|
-
constructor(_elementRef, _destroyRef) {
|
|
18
|
-
super(1);
|
|
19
|
-
this._elementRef = _elementRef;
|
|
20
|
-
this._destroyRef = _destroyRef;
|
|
21
|
-
/** @Hidden */
|
|
22
|
-
this._readonly = false;
|
|
23
|
-
/** @hidden */
|
|
24
|
-
this._readonlyInput$ = new BehaviorSubject(false);
|
|
25
|
-
/** @Hidden */
|
|
26
|
-
this.setReadonlyState = (isReadonly) => {
|
|
27
|
-
setReadonlyState(this._elementRef, isReadonly);
|
|
28
|
-
};
|
|
29
|
-
this._destroyRef.onDestroy(() => this.complete());
|
|
30
|
-
}
|
|
31
|
-
/** @hidden */
|
|
32
|
-
ngAfterViewInit() {
|
|
33
|
-
this._readonlyInput$
|
|
34
|
-
.pipe(tap((isReadonly) => {
|
|
35
|
-
if (isReadonly !== this._readonly) {
|
|
36
|
-
this.setReadonlyState(isReadonly);
|
|
37
|
-
this._readonly = isReadonly;
|
|
38
|
-
this.next(isReadonly);
|
|
39
|
-
}
|
|
40
|
-
}), takeUntilDestroyed(this._destroyRef))
|
|
41
|
-
.subscribe();
|
|
42
|
-
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyBehaviorDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.3", type: ReadonlyBehaviorDirective, isStandalone: true, selector: "[fdkReadonly]", inputs: { fdkReadonly: ["fdkReadonly", "fdkReadonly", booleanAttribute] }, providers: [
|
|
45
|
-
{
|
|
46
|
-
provide: FDK_READONLY_DIRECTIVE,
|
|
47
|
-
useExisting: ReadonlyBehaviorDirective
|
|
48
|
-
}
|
|
49
|
-
], usesInheritance: true, ngImport: i0 }); }
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyBehaviorDirective, decorators: [{
|
|
52
|
-
type: Directive,
|
|
53
|
-
args: [{
|
|
54
|
-
selector: '[fdkReadonly]',
|
|
55
|
-
standalone: true,
|
|
56
|
-
providers: [
|
|
57
|
-
{
|
|
58
|
-
provide: FDK_READONLY_DIRECTIVE,
|
|
59
|
-
useExisting: ReadonlyBehaviorDirective
|
|
60
|
-
}
|
|
61
|
-
]
|
|
62
|
-
}]
|
|
63
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.DestroyRef }], propDecorators: { fdkReadonly: [{
|
|
64
|
-
type: Input,
|
|
65
|
-
args: [{ transform: booleanAttribute }]
|
|
66
|
-
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktYmVoYXZpb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZGlyZWN0aXZlcy9yZWFkb25seS9yZWFkb25seS1iZWhhdmlvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVl4RCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsYUFBc0I7SUFDakUsY0FBYztJQUNkLElBQ0ksV0FBVyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBT0QsY0FBYztJQUNkLFlBQ1ksV0FBb0MsRUFDcEMsV0FBdUI7UUFFL0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBSEQsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBUm5DLGNBQWM7UUFDZCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQWM7UUFDRyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBVzlELGNBQWM7UUFDZCxxQkFBZ0IsR0FBRyxDQUFDLFVBQW1CLEVBQVEsRUFBRTtZQUM3QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQztRQU5FLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFPRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxlQUFlO2FBQ2YsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2YsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO2dCQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3ZDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0E1Q1EseUJBQXlCO2tHQUF6Qix5QkFBeUIsdUdBRWQsZ0JBQWdCLGdCQVR6QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFdBQVcsRUFBRSx5QkFBeUI7YUFDekM7U0FDSjs7MkZBRVEseUJBQXlCO2tCQVZyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFdBQVcsMkJBQTJCO3lCQUN6QztxQkFDSjtpQkFDSjt3R0FJTyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZES19SRUFET05MWV9ESVJFQ1RJVkUgfSBmcm9tICcuL2Zkay1yZWFkb25seS50b2tlbic7XG5pbXBvcnQgeyBSZWFkb25seUJlaGF2aW9yIH0gZnJvbSAnLi9yZWFkb25seS1iZWhhdmlvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgc2V0UmVhZG9ubHlTdGF0ZSB9IGZyb20gJy4vc2V0LXJlYWRvbmx5LXN0YXRlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrUmVhZG9ubHldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGREtfUkVBRE9OTFlfRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFJlYWRvbmx5QmVoYXZpb3JEaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmVhZG9ubHlCZWhhdmlvckRpcmVjdGl2ZSBleHRlbmRzIFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gaW1wbGVtZW50cyBSZWFkb25seUJlaGF2aW9yLCBBZnRlclZpZXdJbml0IHtcbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCBmZGtSZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZWFkb25seUlucHV0JC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgZmRrUmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgICB9XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIF9yZWFkb25seSA9IGZhbHNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmVhZG9ubHlJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIF9kZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKDEpO1xuICAgICAgICB0aGlzLl9kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLmNvbXBsZXRlKCkpO1xuICAgIH1cblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgc2V0UmVhZG9ubHlTdGF0ZSA9IChpc1JlYWRvbmx5OiBib29sZWFuKTogdm9pZCA9PiB7XG4gICAgICAgIHNldFJlYWRvbmx5U3RhdGUodGhpcy5fZWxlbWVudFJlZiwgaXNSZWFkb25seSk7XG4gICAgfTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWFkb25seUlucHV0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChpc1JlYWRvbmx5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1JlYWRvbmx5ICE9PSB0aGlzLl9yZWFkb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkb25seVN0YXRlKGlzUmVhZG9ubHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSBpc1JlYWRvbmx5O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0KGlzUmVhZG9ubHkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktYmVoYXZpb3IuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZGlyZWN0aXZlcy9yZWFkb25seS9yZWFkb25seS1iZWhhdmlvci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlYWRvbmx5Vmlld01vZGlmaWVyIH0gZnJvbSAnLi9yZWFkb25seS12aWV3LW1vZGlmaWVyLmludGVyZmFjZSc7XG5cbnR5cGUgQmFzZSA9IE9ic2VydmFibGU8Ym9vbGVhbj4gJiBSZWFkb25seVZpZXdNb2RpZmllcjtcblxuZXhwb3J0IGludGVyZmFjZSBSZWFkb25seUJlaGF2aW9yIGV4dGVuZHMgQmFzZSB7XG4gICAgZmRrUmVhZG9ubHk6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ReadonlyBehaviorDirective } from './readonly-behavior.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ReadonlyBehaviorModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyBehaviorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyBehaviorModule, imports: [ReadonlyBehaviorDirective], exports: [ReadonlyBehaviorDirective] }); }
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyBehaviorModule }); }
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyBehaviorModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [ReadonlyBehaviorDirective],
|
|
13
|
-
exports: [ReadonlyBehaviorDirective]
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktYmVoYXZpb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZGlyZWN0aXZlcy9yZWFkb25seS9yZWFkb25seS1iZWhhdmlvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNMUUsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsWUFIckIseUJBQXlCLGFBQ3pCLHlCQUF5QjsrR0FFMUIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUpsQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhZG9ubHlCZWhhdmlvckRpcmVjdGl2ZSB9IGZyb20gJy4vcmVhZG9ubHktYmVoYXZpb3IuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbUmVhZG9ubHlCZWhhdmlvckRpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1JlYWRvbmx5QmVoYXZpb3JEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRvbmx5QmVoYXZpb3JNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktdmlldy1tb2RpZmllci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL3JlYWRvbmx5L3JlYWRvbmx5LXZpZXctbW9kaWZpZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJlYWRvbmx5Vmlld01vZGlmaWVyIHtcbiAgICBzZXRSZWFkb25seVN0YXRlOiAoaXNSZWFkb25seTogYm9vbGVhbikgPT4gdm9pZDtcbn1cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { distinctUntilChanged, map } from 'rxjs/operators';
|
|
3
|
-
import { getNativeElement } from '../../helpers/get-native-element';
|
|
4
|
-
import { AttributeObserver } from '../../services/observers/attribute.observer';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../services/observers/attribute.observer";
|
|
7
|
-
export class ReadonlyObserver {
|
|
8
|
-
/** @Hidden */
|
|
9
|
-
constructor(_attributeObserver) {
|
|
10
|
-
this._attributeObserver = _attributeObserver;
|
|
11
|
-
}
|
|
12
|
-
/** @Hidden */
|
|
13
|
-
static isReadonly(element) {
|
|
14
|
-
return element.classList.contains('is-readonly') || element.hasAttribute('readonly');
|
|
15
|
-
}
|
|
16
|
-
/** @hidden */
|
|
17
|
-
observe(element) {
|
|
18
|
-
return this._attributeObserver.observe(element).pipe(map(() => ReadonlyObserver.isReadonly(getNativeElement(element))), distinctUntilChanged());
|
|
19
|
-
}
|
|
20
|
-
/** @Hidden */
|
|
21
|
-
unobserve(element) {
|
|
22
|
-
this._attributeObserver.unobserve(element);
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyObserver, deps: [{ token: i1.AttributeObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyObserver, providedIn: 'root' }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ReadonlyObserver, decorators: [{
|
|
28
|
-
type: Injectable,
|
|
29
|
-
args: [{
|
|
30
|
-
providedIn: 'root'
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: () => [{ type: i1.AttributeObserver }] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkub2JzZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL3JlYWRvbmx5L3JlYWRvbmx5Lm9ic2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7QUFLaEYsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixjQUFjO0lBQ2QsWUFBb0Isa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7SUFBRyxDQUFDO0lBRTdELGNBQWM7SUFDZCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQWdCO1FBQzlCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsY0FBYztJQUNkLE9BQU8sQ0FBQyxPQUErRDtRQUNuRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDakUsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUyxDQUFDLE9BQStEO1FBQ3JFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0FwQlEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGYixNQUFNOzsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGdldE5hdGl2ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1uYXRpdmUtZWxlbWVudCc7XG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9oYXMtZWxlbWVudC1yZWYuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF0dHJpYnV0ZU9ic2VydmVyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JzZXJ2ZXJzL2F0dHJpYnV0ZS5vYnNlcnZlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVhZG9ubHlPYnNlcnZlciB7XG4gICAgLyoqIEBIaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hdHRyaWJ1dGVPYnNlcnZlcjogQXR0cmlidXRlT2JzZXJ2ZXIpIHt9XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIHN0YXRpYyBpc1JlYWRvbmx5KGVsZW1lbnQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1yZWFkb25seScpIHx8IGVsZW1lbnQuaGFzQXR0cmlidXRlKCdyZWFkb25seScpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb2JzZXJ2ZShlbGVtZW50OiBIYXNFbGVtZW50UmVmPEVsZW1lbnQ+IHwgRWxlbWVudCB8IEVsZW1lbnRSZWY8RWxlbWVudD4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZU9ic2VydmVyLm9ic2VydmUoZWxlbWVudCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiBSZWFkb25seU9ic2VydmVyLmlzUmVhZG9ubHkoZ2V0TmF0aXZlRWxlbWVudChlbGVtZW50KSkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgdW5vYnNlcnZlKGVsZW1lbnQ6IEhhc0VsZW1lbnRSZWY8RWxlbWVudD4gfCBFbGVtZW50IHwgRWxlbWVudFJlZjxFbGVtZW50Pik6IHZvaWQge1xuICAgICAgICB0aGlzLl9hdHRyaWJ1dGVPYnNlcnZlci51bm9ic2VydmUoZWxlbWVudCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { getNativeElement } from '../../helpers/get-native-element';
|
|
2
|
-
/** @Hidden */
|
|
3
|
-
export function setReadonlyState(element, isReadonly) {
|
|
4
|
-
const htmlElement = getNativeElement(element);
|
|
5
|
-
if (isReadonly) {
|
|
6
|
-
htmlElement.classList.add('is-readonly');
|
|
7
|
-
htmlElement.setAttribute('readonly', '');
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
htmlElement.classList.remove('is-readonly');
|
|
11
|
-
htmlElement.removeAttribute('readonly');
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXJlYWRvbmx5LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZGlyZWN0aXZlcy9yZWFkb25seS9zZXQtcmVhZG9ubHktc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHcEUsY0FBYztBQUNkLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsT0FBK0QsRUFDL0QsVUFBbUI7SUFFbkIsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNiLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pDLFdBQVcsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7U0FBTSxDQUFDO1FBQ0osV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldE5hdGl2ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1uYXRpdmUtZWxlbWVudCc7XG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9oYXMtZWxlbWVudC1yZWYuaW50ZXJmYWNlJztcblxuLyoqIEBIaWRkZW4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRSZWFkb25seVN0YXRlKFxuICAgIGVsZW1lbnQ6IEhhc0VsZW1lbnRSZWY8RWxlbWVudD4gfCBFbGVtZW50IHwgRWxlbWVudFJlZjxFbGVtZW50PixcbiAgICBpc1JlYWRvbmx5OiBib29sZWFuXG4pOiB2b2lkIHtcbiAgICBjb25zdCBodG1sRWxlbWVudCA9IGdldE5hdGl2ZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgaWYgKGlzUmVhZG9ubHkpIHtcbiAgICAgICAgaHRtbEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnaXMtcmVhZG9ubHknKTtcbiAgICAgICAgaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWFkb25seScsICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBodG1sRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1yZWFkb25seScpO1xuICAgICAgICBodG1sRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ3JlYWRvbmx5Jyk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive to repeatably render template N times.
|
|
5
|
-
*/
|
|
6
|
-
export class RepeatDirective {
|
|
7
|
-
/** @hidden */
|
|
8
|
-
constructor(_templateRef, _viewContainerRef) {
|
|
9
|
-
this._templateRef = _templateRef;
|
|
10
|
-
this._viewContainerRef = _viewContainerRef;
|
|
11
|
-
}
|
|
12
|
-
/** @hidden */
|
|
13
|
-
ngOnChanges(changes) {
|
|
14
|
-
if ((changes['count'] || changes['deprecatedCount']) && Number.isInteger(this.count)) {
|
|
15
|
-
this._viewContainerRef.clear();
|
|
16
|
-
for (let index = 0; index < Math.max(0, this.count); index++) {
|
|
17
|
-
this._viewContainerRef.createEmbeddedView(this._templateRef, { index });
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RepeatDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: RepeatDirective, isStandalone: true, selector: "[fdkRepeat]", inputs: { count: ["fdkRepeat", "count"] }, usesOnChanges: true, ngImport: i0 }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RepeatDirective, decorators: [{
|
|
25
|
-
type: Directive,
|
|
26
|
-
args: [{
|
|
27
|
-
selector: '[fdkRepeat]',
|
|
28
|
-
standalone: true
|
|
29
|
-
}]
|
|
30
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { count: [{
|
|
31
|
-
type: Input,
|
|
32
|
-
args: ['fdkRepeat']
|
|
33
|
-
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3V0aWxzL2RpcmVjdGl2ZXMvcmVwZWF0L3JlcGVhdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUc7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZUFBZTtJQUt4QixjQUFjO0lBQ2QsWUFDcUIsWUFBOEIsRUFDOUIsaUJBQW1DO1FBRG5DLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO0lBQ3JELENBQUM7SUFFSixjQUFjO0lBQ2QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUUvQixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQzNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM1RSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7OEdBcEJRLGVBQWU7a0dBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ25COytHQUlHLEtBQUs7c0JBREosS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byByZXBlYXRhYmx5IHJlbmRlciB0ZW1wbGF0ZSBOIHRpbWVzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtSZXBlYXRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJlcGVhdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqIE51bWJlciBvZiB0aW1lcyB0byByZW5kZXIgYSB0ZW1wbGF0ZS4gKi9cbiAgICBASW5wdXQoJ2Zka1JlcGVhdCcpXG4gICAgY291bnQ6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICgoY2hhbmdlc1snY291bnQnXSB8fCBjaGFuZ2VzWydkZXByZWNhdGVkQ291bnQnXSkgJiYgTnVtYmVyLmlzSW50ZWdlcih0aGlzLmNvdW50KSkge1xuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgTWF0aC5tYXgoMCwgdGhpcy5jb3VudCk7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZVJlZiwgeyBpbmRleCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { RepeatDirective } from './repeat.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class RepeatModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RepeatModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: RepeatModule, imports: [RepeatDirective], exports: [RepeatDirective] }); }
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RepeatModule }); }
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RepeatModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [RepeatDirective],
|
|
13
|
-
exports: [RepeatDirective]
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3V0aWxzL2RpcmVjdGl2ZXMvcmVwZWF0L3JlcGVhdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXJELE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxZQUhYLGVBQWUsYUFDZixlQUFlOytHQUVoQixZQUFZOzsyRkFBWixZQUFZO2tCQUp4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlcGVhdERpcmVjdGl2ZSB9IGZyb20gJy4vcmVwZWF0LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1JlcGVhdERpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1JlcGVhdERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgUmVwZWF0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ResizeHandleDirective {
|
|
4
|
-
/** @hidden */
|
|
5
|
-
constructor(elementRef) {
|
|
6
|
-
this.elementRef = elementRef;
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeHandleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: ResizeHandleDirective, isStandalone: true, selector: "[fdkResizeHandle]", ngImport: i0 }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeHandleDirective, decorators: [{
|
|
12
|
-
type: Directive,
|
|
13
|
-
args: [{
|
|
14
|
-
selector: '[fdkResizeHandle]',
|
|
15
|
-
standalone: true
|
|
16
|
-
}]
|
|
17
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWhhbmRsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL3Jlc2l6ZS9yZXNpemUtaGFuZGxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdEQsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixjQUFjO0lBQ2QsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7OEdBRnBDLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtSZXNpemVIYW5kbGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6ZUhhbmRsZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cbn1cbiJdfQ==
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import { ContentChild, Directive, ElementRef, EventEmitter, Input, Optional, Output, computed } from '@angular/core';
|
|
2
|
-
import { Subscription, fromEvent, merge } from 'rxjs';
|
|
3
|
-
import { filter, map, pairwise, takeUntil, tap } from 'rxjs/operators';
|
|
4
|
-
import { RtlService } from '../../services/rtl.service';
|
|
5
|
-
import { ResizeHandleDirective } from './resize-handle.directive';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../services/rtl.service";
|
|
8
|
-
export class ResizeDirective {
|
|
9
|
-
/** Resize handle reference - should be used if Resize handle is not a ContentChild of resizable container */
|
|
10
|
-
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
11
|
-
set setResizeHandleReference(value) {
|
|
12
|
-
this.resizeHandleReference = value;
|
|
13
|
-
}
|
|
14
|
-
/** @hidden Reference to Resize handle */
|
|
15
|
-
set resizeHandleReference(value) {
|
|
16
|
-
this._resizeHandleReference = value;
|
|
17
|
-
if (!value) {
|
|
18
|
-
this._unsubscribe();
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
this._setResizeListeners();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
get resizeHandleReference() {
|
|
25
|
-
return this._resizeHandleReference;
|
|
26
|
-
}
|
|
27
|
-
/** @hidden */
|
|
28
|
-
constructor(_elementRef, _rtlService) {
|
|
29
|
-
this._elementRef = _elementRef;
|
|
30
|
-
this._rtlService = _rtlService;
|
|
31
|
-
/** Element limiting resizable container growth */
|
|
32
|
-
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
33
|
-
this.resizeBoundary = 'body';
|
|
34
|
-
/** Whether resizable behaviour should be disabled */
|
|
35
|
-
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
36
|
-
this.disabled = false;
|
|
37
|
-
/** Localization of resize handle inside resizable container */
|
|
38
|
-
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
39
|
-
this.resizeHandleLocation = 'bottom-right';
|
|
40
|
-
/** Emits event when resizing has tarted */
|
|
41
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
42
|
-
this.onResizeStart = new EventEmitter();
|
|
43
|
-
/** Emits event when resizing has ended */
|
|
44
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
45
|
-
this.onResizeEnd = new EventEmitter();
|
|
46
|
-
/** @hidden */
|
|
47
|
-
this._subscriptions = new Subscription();
|
|
48
|
-
/** @hidden */
|
|
49
|
-
this._resizeSubscriptions = new Subscription();
|
|
50
|
-
/** @hidden */
|
|
51
|
-
this._direction$ = computed(() => (this._rtlService?.rtlSignal() ? -1 : 1));
|
|
52
|
-
}
|
|
53
|
-
/** @hidden */
|
|
54
|
-
ngOnChanges(changes) {
|
|
55
|
-
if (changes['disabled']) {
|
|
56
|
-
if (changes['disabled'].previousValue === false && changes['disabled'].currentValue === true) {
|
|
57
|
-
this._unsubscribe();
|
|
58
|
-
}
|
|
59
|
-
else if (changes['disabled'].previousValue === true && changes['disabled'].currentValue === false) {
|
|
60
|
-
this._setResizeListeners();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/** @hidden */
|
|
65
|
-
ngAfterViewInit() {
|
|
66
|
-
if (!this.disabled) {
|
|
67
|
-
this._setResizeListeners();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/** @hidden */
|
|
71
|
-
ngOnDestroy() {
|
|
72
|
-
this._subscriptions.unsubscribe();
|
|
73
|
-
this._resizeSubscriptions.unsubscribe();
|
|
74
|
-
}
|
|
75
|
-
/** @hidden */
|
|
76
|
-
_unsubscribe() {
|
|
77
|
-
this._resizeSubscriptions.unsubscribe();
|
|
78
|
-
this._resizeSubscriptions = new Subscription();
|
|
79
|
-
}
|
|
80
|
-
/** @hidden Sets Resize listeners */
|
|
81
|
-
_setResizeListeners() {
|
|
82
|
-
this._unsubscribe();
|
|
83
|
-
const resize = this._getResizeFunction();
|
|
84
|
-
let moveOffset = this._getMoveOffsetFunction();
|
|
85
|
-
const resizeContainer = this._findResizeContainer();
|
|
86
|
-
if (!resizeContainer || !this.resizeHandleReference) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
const isBoundaryOverflow = this._getBoundaryOverflowFunction(resizeContainer);
|
|
90
|
-
const mouseUpEvent$ = fromEvent(window, 'mouseup');
|
|
91
|
-
const mouseMoveEvent$ = fromEvent(resizeContainer, 'mousemove');
|
|
92
|
-
const mouseDownEvent$ = fromEvent(this.resizeHandleReference.elementRef.nativeElement, 'mousedown');
|
|
93
|
-
const resizeActive$ = merge(mouseDownEvent$.pipe(map(() => true), tap(() => {
|
|
94
|
-
moveOffset = this._getMoveOffsetFunction();
|
|
95
|
-
})), mouseUpEvent$.pipe(map(() => false)));
|
|
96
|
-
const emitResizableEvents$ = this._getResizeEventsNotifiers(resizeActive$);
|
|
97
|
-
const preventOtherPointerEvents$ = this._blockOtherPointerEvents(resizeActive$);
|
|
98
|
-
const resizingCursorMovement$ = mouseMoveEvent$.pipe(pairwise(), map(([event1, event2]) => moveOffset(event1, event2)), filter((move) => isBoundaryOverflow(move)));
|
|
99
|
-
const setupResizer = () => {
|
|
100
|
-
resizingCursorMovement$.pipe(takeUntil(mouseUpEvent$)).subscribe((event) => resize(event));
|
|
101
|
-
};
|
|
102
|
-
const setupResize$ = resizeActive$.pipe(filter((isActive) => isActive), tap(() => setupResizer()));
|
|
103
|
-
this._resizeSubscriptions.add(setupResize$.subscribe());
|
|
104
|
-
this._resizeSubscriptions.add(emitResizableEvents$.subscribe());
|
|
105
|
-
this._resizeSubscriptions.add(preventOtherPointerEvents$.subscribe());
|
|
106
|
-
}
|
|
107
|
-
/** @hidden Creates resize function*/
|
|
108
|
-
_getResizeFunction() {
|
|
109
|
-
return (move) => {
|
|
110
|
-
this._elementRef.nativeElement.style.width = `${this._elementRef.nativeElement.offsetWidth + move.x}px`;
|
|
111
|
-
this._elementRef.nativeElement.style.height = `${this._elementRef.nativeElement.offsetHeight + move.y}px`;
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
/** @hidden Creates move function */
|
|
115
|
-
_getMoveOffsetFunction() {
|
|
116
|
-
let verticalModifier;
|
|
117
|
-
let horizontalModifier;
|
|
118
|
-
switch (this.resizeHandleLocation) {
|
|
119
|
-
case 'top-left':
|
|
120
|
-
horizontalModifier = -1;
|
|
121
|
-
verticalModifier = -1;
|
|
122
|
-
break;
|
|
123
|
-
case 'top-right':
|
|
124
|
-
horizontalModifier = -1;
|
|
125
|
-
verticalModifier = 1;
|
|
126
|
-
break;
|
|
127
|
-
case 'bottom-left':
|
|
128
|
-
horizontalModifier = 1;
|
|
129
|
-
verticalModifier = -1;
|
|
130
|
-
break;
|
|
131
|
-
case 'bottom-right':
|
|
132
|
-
horizontalModifier = 1;
|
|
133
|
-
verticalModifier = 1;
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
return (event1, event2) => {
|
|
137
|
-
const x = (event2.screenX - event1.screenX) * this._direction$();
|
|
138
|
-
const y = event2.screenY - event1.screenY;
|
|
139
|
-
return {
|
|
140
|
-
x: x * verticalModifier,
|
|
141
|
-
y: y * horizontalModifier
|
|
142
|
-
};
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
/** @hidden Return boundary container */
|
|
146
|
-
_findResizeContainer() {
|
|
147
|
-
let resizeContainer;
|
|
148
|
-
if (typeof this.resizeBoundary === 'string') {
|
|
149
|
-
if (this.resizeBoundary === 'body') {
|
|
150
|
-
return document.body;
|
|
151
|
-
}
|
|
152
|
-
resizeContainer = this._elementRef.nativeElement.closest(this.resizeBoundary);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
resizeContainer = this.resizeBoundary;
|
|
156
|
-
}
|
|
157
|
-
if (resizeContainer) {
|
|
158
|
-
return resizeContainer;
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
console.warn(`fdResize - Cannot find "${this.resizeBoundary}", falling back to "body"`);
|
|
162
|
-
return document.body;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
/** @hidden Check whether resizable container is overflowing boundary container */
|
|
166
|
-
_getBoundaryOverflowFunction(resizeContainer) {
|
|
167
|
-
return (move) => {
|
|
168
|
-
const containerPosition = resizeContainer.getBoundingClientRect();
|
|
169
|
-
const elementPosition = this._elementRef.nativeElement.getBoundingClientRect();
|
|
170
|
-
switch (this.resizeHandleLocation) {
|
|
171
|
-
case 'top-left':
|
|
172
|
-
return (containerPosition.top < elementPosition.top + move.y &&
|
|
173
|
-
containerPosition.left < elementPosition.left + move.x);
|
|
174
|
-
case 'top-right':
|
|
175
|
-
return (containerPosition.top < elementPosition.top + move.y &&
|
|
176
|
-
containerPosition.right > elementPosition.right + move.x);
|
|
177
|
-
case 'bottom-left':
|
|
178
|
-
return (containerPosition.bottom > elementPosition.bottom + move.y &&
|
|
179
|
-
containerPosition.left < elementPosition.left + move.x);
|
|
180
|
-
case 'bottom-right':
|
|
181
|
-
return (containerPosition.bottom > elementPosition.bottom + move.y &&
|
|
182
|
-
containerPosition.right > elementPosition.right + move.x);
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
/** @hidden Create Observable notifying on resize actions */
|
|
187
|
-
_getResizeEventsNotifiers(trigger$) {
|
|
188
|
-
const emitResizableStart$ = trigger$.pipe(filter((isActive) => isActive), tap(() => this.onResizeStart.emit()));
|
|
189
|
-
const emitResizableEnd$ = trigger$.pipe(filter((isActive) => !isActive), tap(() => this.onResizeEnd.emit()));
|
|
190
|
-
return merge(emitResizableStart$, emitResizableEnd$);
|
|
191
|
-
}
|
|
192
|
-
/** @hidden Block resizable container pointer events when resizing */
|
|
193
|
-
_blockOtherPointerEvents(trigger$) {
|
|
194
|
-
return trigger$.pipe(tap((isActive) => {
|
|
195
|
-
if (!this.fdkResizeClass) {
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
if (!isActive) {
|
|
199
|
-
this._elementRef.nativeElement.classList.remove(this.fdkResizeClass);
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
this._elementRef.nativeElement.classList.add(this.fdkResizeClass);
|
|
203
|
-
}
|
|
204
|
-
}), map((isActive) => (isActive ? 'none' : 'auto')), tap((value) => {
|
|
205
|
-
this._elementRef.nativeElement.style.pointerEvents = value;
|
|
206
|
-
}));
|
|
207
|
-
}
|
|
208
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeDirective, deps: [{ token: i0.ElementRef }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
209
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: ResizeDirective, isStandalone: true, selector: "[fdkResize]", inputs: { resizeBoundary: ["fdkResizeBoundary", "resizeBoundary"], disabled: ["fdkResizeDisabled", "disabled"], fdkResizeClass: "fdkResizeClass", resizeHandleLocation: ["fdkResizeHandleLocation", "resizeHandleLocation"], setResizeHandleReference: ["fdkResizeResizeHandleRef", "setResizeHandleReference"] }, outputs: { onResizeStart: "onResizeStart", onResizeEnd: "onResizeEnd" }, queries: [{ propertyName: "resizeHandleReference", first: true, predicate: ResizeHandleDirective, descendants: true }], usesOnChanges: true, ngImport: i0 }); }
|
|
210
|
-
}
|
|
211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeDirective, decorators: [{
|
|
212
|
-
type: Directive,
|
|
213
|
-
args: [{
|
|
214
|
-
selector: '[fdkResize]',
|
|
215
|
-
standalone: true
|
|
216
|
-
}]
|
|
217
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.RtlService, decorators: [{
|
|
218
|
-
type: Optional
|
|
219
|
-
}] }], propDecorators: { resizeBoundary: [{
|
|
220
|
-
type: Input,
|
|
221
|
-
args: ['fdkResizeBoundary']
|
|
222
|
-
}], disabled: [{
|
|
223
|
-
type: Input,
|
|
224
|
-
args: ['fdkResizeDisabled']
|
|
225
|
-
}], fdkResizeClass: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}], resizeHandleLocation: [{
|
|
228
|
-
type: Input,
|
|
229
|
-
args: ['fdkResizeHandleLocation']
|
|
230
|
-
}], setResizeHandleReference: [{
|
|
231
|
-
type: Input,
|
|
232
|
-
args: ['fdkResizeResizeHandleRef']
|
|
233
|
-
}], onResizeStart: [{
|
|
234
|
-
type: Output
|
|
235
|
-
}], onResizeEnd: [{
|
|
236
|
-
type: Output
|
|
237
|
-
}], resizeHandleReference: [{
|
|
238
|
-
type: ContentChild,
|
|
239
|
-
args: [ResizeHandleDirective, { static: false }]
|
|
240
|
-
}] } });
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3V0aWxzL2RpcmVjdGl2ZXMvcmVzaXplL3Jlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixRQUFRLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFXbEUsTUFBTSxPQUFPLGVBQWU7SUFrQnhCLDZHQUE2RztJQUM3RywyREFBMkQ7SUFDM0QsSUFBdUMsd0JBQXdCLENBQUMsS0FBNEI7UUFDeEYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBVUQseUNBQXlDO0lBQ3pDLElBQ0kscUJBQXFCLENBQUMsS0FBc0M7UUFDNUQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUkscUJBQXFCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixD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Q0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6RSxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEUsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDL0MsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0EzUVEsZUFBZTtrR0FBZixlQUFlLHNmQWlDVixxQkFBcUI7OzJGQWpDMUIsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkE4RFEsUUFBUTt5Q0ExRGUsY0FBYztzQkFBekMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBSUUsUUFBUTtzQkFBbkMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBSTFCLGNBQWM7c0JBRGIsS0FBSztnQkFLNEIsb0JBQW9CO3NCQUFyRCxLQUFLO3VCQUFDLHlCQUF5QjtnQkFLTyx3QkFBd0I7c0JBQTlELEtBQUs7dUJBQUMsMEJBQTBCO2dCQU12QixhQUFhO3NCQUF0QixNQUFNO2dCQUlHLFdBQVc7c0JBQXBCLE1BQU07Z0JBSUgscUJBQXFCO3NCQUR4QixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgY29tcHV0ZWRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBwYWlyd2lzZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL21vZGVscy9udWxsYWJsZSc7XG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcnRsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzaXplSGFuZGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemUtaGFuZGxlLmRpcmVjdGl2ZSc7XG5cbmludGVyZmFjZSBSZXNpemVNb3ZlIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtSZXNpemVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogRWxlbWVudCBsaW1pdGluZyByZXNpemFibGUgY29udGFpbmVyIGdyb3d0aCAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdmZGtSZXNpemVCb3VuZGFyeScpIHJlc2l6ZUJvdW5kYXJ5OiBzdHJpbmcgfCBIVE1MRWxlbWVudCA9ICdib2R5JztcblxuICAgIC8qKiBXaGV0aGVyIHJlc2l6YWJsZSBiZWhhdmlvdXIgc2hvdWxkIGJlIGRpc2FibGVkICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2Zka1Jlc2l6ZURpc2FibGVkJykgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBBZGRpdGlvbmFsIGNsYXNzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIEVsZW1lbnQgcmVmIGR1cmluZyByZXNpemUuICovXG4gICAgQElucHV0KClcbiAgICBmZGtSZXNpemVDbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIExvY2FsaXphdGlvbiBvZiByZXNpemUgaGFuZGxlIGluc2lkZSByZXNpemFibGUgY29udGFpbmVyICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2Zka1Jlc2l6ZUhhbmRsZUxvY2F0aW9uJykgcmVzaXplSGFuZGxlTG9jYXRpb246ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyA9XG4gICAgICAgICdib3R0b20tcmlnaHQnO1xuXG4gICAgLyoqIFJlc2l6ZSBoYW5kbGUgcmVmZXJlbmNlIC0gc2hvdWxkIGJlIHVzZWQgaWYgUmVzaXplIGhhbmRsZSBpcyBub3QgYSBDb250ZW50Q2hpbGQgb2YgcmVzaXphYmxlIGNvbnRhaW5lciAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdmZGtSZXNpemVSZXNpemVIYW5kbGVSZWYnKSBzZXQgc2V0UmVzaXplSGFuZGxlUmVmZXJlbmNlKHZhbHVlOiBSZXNpemVIYW5kbGVEaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5yZXNpemVIYW5kbGVSZWZlcmVuY2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogRW1pdHMgZXZlbnQgd2hlbiByZXNpemluZyBoYXMgdGFydGVkICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uUmVzaXplU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHMgZXZlbnQgd2hlbiByZXNpemluZyBoYXMgZW5kZWQgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25SZXNpemVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiBSZWZlcmVuY2UgdG8gUmVzaXplIGhhbmRsZSAqL1xuICAgIEBDb250ZW50Q2hpbGQoUmVzaXplSGFuZGxlRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBzZXQgcmVzaXplSGFuZGxlUmVmZXJlbmNlKHZhbHVlOiBOdWxsYWJsZTxSZXNpemVIYW5kbGVEaXJlY3RpdmU+KSB7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZUhhbmRsZVJlZmVyZW5jZSA9IHZhbHVlO1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl91bnN1YnNjcmliZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2V0UmVzaXplTGlzdGVuZXJzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHJlc2l6ZUhhbmRsZVJlZmVyZW5jZSgpOiBOdWxsYWJsZTxSZXNpemVIYW5kbGVEaXJlY3RpdmU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc2l6ZUhhbmRsZVJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZUhhbmRsZVJlZmVyZW5jZTogTnVsbGFibGU8UmVzaXplSGFuZGxlRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplU3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGlyZWN0aW9uJCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLl9ydGxTZXJ2aWNlPy5ydGxTaWduYWwoKSA/IC0xIDogMSkpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddLnByZXZpb3VzVmFsdWUgPT09IGZhbHNlICYmIGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXS5wcmV2aW91c1ZhbHVlID09PSB0cnVlICYmIGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldFJlc2l6ZUxpc3RlbmVycygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0UmVzaXplTGlzdGVuZXJzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU2V0cyBSZXNpemUgbGlzdGVuZXJzICovXG4gICAgcHJpdmF0ZSBfc2V0UmVzaXplTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSgpO1xuICAgICAgICBjb25zdCByZXNpemUgPSB0aGlzLl9nZXRSZXNpemVGdW5jdGlvbigpO1xuICAgICAgICBsZXQgbW92ZU9mZnNldCA9IHRoaXMuX2dldE1vdmVPZmZzZXRGdW5jdGlvbigpO1xuICAgICAgICBjb25zdCByZXNpemVDb250YWluZXIgPSB0aGlzLl9maW5kUmVzaXplQ29udGFpbmVyKCk7XG4gICAgICAgIGlmICghcmVzaXplQ29udGFpbmVyIHx8ICF0aGlzLnJlc2l6ZUhhbmRsZVJlZmVyZW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQm91bmRhcnlPdmVyZmxvdyA9IHRoaXMuX2dldEJvdW5kYXJ5T3ZlcmZsb3dGdW5jdGlvbihyZXNpemVDb250YWluZXIpO1xuXG4gICAgICAgIGNvbnN0IG1vdXNlVXBFdmVudCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCAnbW91c2V1cCcpO1xuICAgICAgICBjb25zdCBtb3VzZU1vdmVFdmVudCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4ocmVzaXplQ29udGFpbmVyLCAnbW91c2Vtb3ZlJyk7XG4gICAgICAgIGNvbnN0IG1vdXNlRG93bkV2ZW50JCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLnJlc2l6ZUhhbmRsZVJlZmVyZW5jZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKTtcblxuICAgICAgICBjb25zdCByZXNpemVBY3RpdmUkID0gbWVyZ2UoXG4gICAgICAgICAgICBtb3VzZURvd25FdmVudCQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbW92ZU9mZnNldCA9IHRoaXMuX2dldE1vdmVPZmZzZXRGdW5jdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbW91c2VVcEV2ZW50JC5waXBlKG1hcCgoKSA9PiBmYWxzZSkpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGVtaXRSZXNpemFibGVFdmVudHMkID0gdGhpcy5fZ2V0UmVzaXplRXZlbnRzTm90aWZpZXJzKHJlc2l6ZUFjdGl2ZSQpO1xuICAgICAgICBjb25zdCBwcmV2ZW50T3RoZXJQb2ludGVyRXZlbnRzJCA9IHRoaXMuX2Jsb2NrT3RoZXJQb2ludGVyRXZlbnRzKHJlc2l6ZUFjdGl2ZSQpO1xuXG4gICAgICAgIGNvbnN0IHJlc2l6aW5nQ3Vyc29yTW92ZW1lbnQkID0gbW91c2VNb3ZlRXZlbnQkLnBpcGUoXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgbWFwKChbZXZlbnQxLCBldmVudDJdOiBbTW91c2VFdmVudCwgTW91c2VFdmVudF0pID0+IG1vdmVPZmZzZXQoZXZlbnQxLCBldmVudDIpKSxcbiAgICAgICAgICAgIGZpbHRlcigobW92ZSkgPT4gaXNCb3VuZGFyeU92ZXJmbG93KG1vdmUpKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHNldHVwUmVzaXplciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHJlc2l6aW5nQ3Vyc29yTW92ZW1lbnQkLnBpcGUodGFrZVVudGlsKG1vdXNlVXBFdmVudCQpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiByZXNpemUoZXZlbnQpKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0dXBSZXNpemUkID0gcmVzaXplQWN0aXZlJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChpc0FjdGl2ZSkgPT4gaXNBY3RpdmUpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHNldHVwUmVzaXplcigpKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbnMuYWRkKHNldHVwUmVzaXplJC5zdWJzY3JpYmUoKSk7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbnMuYWRkKGVtaXRSZXNpemFibGVFdmVudHMkLnN1YnNjcmliZSgpKTtcbiAgICAgICAgdGhpcy5fcmVzaXplU3Vic2NyaXB0aW9ucy5hZGQocHJldmVudE90aGVyUG9pbnRlckV2ZW50cyQuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENyZWF0ZXMgcmVzaXplIGZ1bmN0aW9uKi9cbiAgICBwcml2YXRlIF9nZXRSZXNpemVGdW5jdGlvbigpOiAobW92ZTogUmVzaXplTW92ZSkgPT4gdm9pZCB7XG4gICAgICAgIHJldHVybiAobW92ZTogUmVzaXplTW92ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgbW92ZS54fXB4YDtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgbW92ZS55fXB4YDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBDcmVhdGVzIG1vdmUgZnVuY3Rpb24gKi9cbiAgICBwcml2YXRlIF9nZXRNb3ZlT2Zmc2V0RnVuY3Rpb24oKTogKGV2ZW50MTogTW91c2VFdmVudCwgZXZlbnQyOiBNb3VzZUV2ZW50KSA9PiBSZXNpemVNb3ZlIHtcbiAgICAgICAgbGV0IHZlcnRpY2FsTW9kaWZpZXI6IDEgfCAtMTtcbiAgICAgICAgbGV0IGhvcml6b250YWxNb2RpZmllcjogMSB8IC0xO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5yZXNpemVIYW5kbGVMb2NhdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndG9wLWxlZnQnOlxuICAgICAgICAgICAgICAgIGhvcml6b250YWxNb2RpZmllciA9IC0xO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsTW9kaWZpZXIgPSAtMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3RvcC1yaWdodCc6XG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbE1vZGlmaWVyID0gLTE7XG4gICAgICAgICAgICAgICAgdmVydGljYWxNb2RpZmllciA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3R0b20tbGVmdCc6XG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbE1vZGlmaWVyID0gMTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbE1vZGlmaWVyID0gLTE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3R0b20tcmlnaHQnOlxuICAgICAgICAgICAgICAgIGhvcml6b250YWxNb2RpZmllciA9IDE7XG4gICAgICAgICAgICAgICAgdmVydGljYWxNb2RpZmllciA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKGV2ZW50MTogTW91c2VFdmVudCwgZXZlbnQyOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB4ID0gKGV2ZW50Mi5zY3JlZW5YIC0gZXZlbnQxLnNjcmVlblgpICogdGhpcy5fZGlyZWN0aW9uJCgpO1xuICAgICAgICAgICAgY29uc3QgeSA9IGV2ZW50Mi5zY3JlZW5ZIC0gZXZlbnQxLnNjcmVlblk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgeDogeCAqIHZlcnRpY2FsTW9kaWZpZXIsXG4gICAgICAgICAgICAgICAgeTogeSAqIGhvcml6b250YWxNb2RpZmllclxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBSZXR1cm4gYm91bmRhcnkgY29udGFpbmVyICovXG4gICAgcHJpdmF0ZSBfZmluZFJlc2l6ZUNvbnRhaW5lcigpOiBFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGxldCByZXNpemVDb250YWluZXI6IEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVzaXplQm91bmRhcnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXNpemVCb3VuZGFyeSA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNpemVDb250YWluZXIgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCh0aGlzLnJlc2l6ZUJvdW5kYXJ5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc2l6ZUNvbnRhaW5lciA9IHRoaXMucmVzaXplQm91bmRhcnk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVzaXplQ29udGFpbmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzaXplQ29udGFpbmVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBmZFJlc2l6ZSAtIENhbm5vdCBmaW5kIFwiJHt0aGlzLnJlc2l6ZUJvdW5kYXJ5fVwiLCBmYWxsaW5nIGJhY2sgdG8gXCJib2R5XCJgKTtcbiAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5ib2R5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQ2hlY2sgd2hldGhlciByZXNpemFibGUgY29udGFpbmVyIGlzIG92ZXJmbG93aW5nIGJvdW5kYXJ5IGNvbnRhaW5lciAqL1xuICAgIHByaXZhdGUgX2dldEJvdW5kYXJ5T3ZlcmZsb3dGdW5jdGlvbihyZXNpemVDb250YWluZXI6IEVsZW1lbnQpOiAobW92ZTogUmVzaXplTW92ZSkgPT4gYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAobW92ZTogUmVzaXplTW92ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyUG9zaXRpb24gPSByZXNpemVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50UG9zaXRpb24gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5yZXNpemVIYW5kbGVMb2NhdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLnRvcCA8IGVsZW1lbnRQb3NpdGlvbi50b3AgKyBtb3ZlLnkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgPCBlbGVtZW50UG9zaXRpb24ubGVmdCArIG1vdmUueFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi50b3AgPCBlbGVtZW50UG9zaXRpb24udG9wICsgbW92ZS55ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5yaWdodCA+IGVsZW1lbnRQb3NpdGlvbi5yaWdodCArIG1vdmUueFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSA+IGVsZW1lbnRQb3NpdGlvbi5ib3R0b20gKyBtb3ZlLnkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgPCBlbGVtZW50UG9zaXRpb24ubGVmdCArIG1vdmUueFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gPiBlbGVtZW50UG9zaXRpb24uYm90dG9tICsgbW92ZS55ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5yaWdodCA+IGVsZW1lbnRQb3NpdGlvbi5yaWdodCArIG1vdmUueFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENyZWF0ZSBPYnNlcnZhYmxlIG5vdGlmeWluZyBvbiByZXNpemUgYWN0aW9ucyAqL1xuICAgIHByaXZhdGUgX2dldFJlc2l6ZUV2ZW50c05vdGlmaWVycyh0cmlnZ2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGVtaXRSZXNpemFibGVTdGFydCQgPSB0cmlnZ2VyJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChpc0FjdGl2ZSkgPT4gaXNBY3RpdmUpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMub25SZXNpemVTdGFydC5lbWl0KCkpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZW1pdFJlc2l6YWJsZUVuZCQgPSB0cmlnZ2VyJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChpc0FjdGl2ZSkgPT4gIWlzQWN0aXZlKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLm9uUmVzaXplRW5kLmVtaXQoKSlcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbWVyZ2UoZW1pdFJlc2l6YWJsZVN0YXJ0JCwgZW1pdFJlc2l6YWJsZUVuZCQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEJsb2NrIHJlc2l6YWJsZSBjb250YWluZXIgcG9pbnRlciBldmVudHMgd2hlbiByZXNpemluZyAgKi9cbiAgICBwcml2YXRlIF9ibG9ja090aGVyUG9pbnRlckV2ZW50cyh0cmlnZ2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0cmlnZ2VyJC5waXBlKFxuICAgICAgICAgICAgdGFwKChpc0FjdGl2ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5mZGtSZXNpemVDbGFzcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5mZGtSZXNpemVDbGFzcyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5mZGtSZXNpemVDbGFzcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKGlzQWN0aXZlKSA9PiAoaXNBY3RpdmUgPyAnbm9uZScgOiAnYXV0bycpKSxcbiAgICAgICAgICAgIHRhcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9IHZhbHVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ResizeHandleDirective } from './resize-handle.directive';
|
|
3
|
-
import { ResizeDirective } from './resize.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ResizeModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: ResizeModule, imports: [ResizeDirective, ResizeHandleDirective], exports: [ResizeDirective, ResizeHandleDirective] }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeModule }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
imports: [ResizeDirective, ResizeHandleDirective],
|
|
14
|
-
exports: [ResizeDirective, ResizeHandleDirective]
|
|
15
|
-
}]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3V0aWxzL2RpcmVjdGl2ZXMvcmVzaXplL3Jlc2l6ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXJELE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxZQUhYLGVBQWUsRUFBRSxxQkFBcUIsYUFDdEMsZUFBZSxFQUFFLHFCQUFxQjsrR0FFdkMsWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUM7b0JBQ2pELE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzaXplSGFuZGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemUtaGFuZGxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZXNpemVEaXJlY3RpdmUgfSBmcm9tICcuL3Jlc2l6ZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtSZXNpemVEaXJlY3RpdmUsIFJlc2l6ZUhhbmRsZURpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1Jlc2l6ZURpcmVjdGl2ZSwgUmVzaXplSGFuZGxlRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemVNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './resize-observer.directive';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL3Jlc2l6ZS1vYnNlcnZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXNpemUtb2JzZXJ2ZXIuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject, Output } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { ResizeObserverService } from '../../services/resize-observer.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ResizeObserverDirective {
|
|
6
|
-
/** @hidden */
|
|
7
|
-
constructor() {
|
|
8
|
-
/**
|
|
9
|
-
* The reference to the Resize target element.
|
|
10
|
-
**/
|
|
11
|
-
this.elementRef = inject(ElementRef);
|
|
12
|
-
/** @hidden */
|
|
13
|
-
this._resizeObserverService = inject(ResizeObserverService);
|
|
14
|
-
this.resized = this._resizeObserverService.observe(this.elementRef.nativeElement);
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeObserverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
17
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: ResizeObserverDirective, isStandalone: true, selector: "[fdkResizeObserver]", outputs: { resized: "resized" }, exportAs: ["fdkResizeObserver"], ngImport: i0 }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ResizeObserverDirective, decorators: [{
|
|
20
|
-
type: Directive,
|
|
21
|
-
args: [{
|
|
22
|
-
selector: '[fdkResizeObserver]',
|
|
23
|
-
exportAs: 'fdkResizeObserver',
|
|
24
|
-
standalone: true
|
|
25
|
-
}]
|
|
26
|
-
}], ctorParameters: () => [], propDecorators: { resized: [{
|
|
27
|
-
type: Output
|
|
28
|
-
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3V0aWxzL2RpcmVjdGl2ZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQU8vRSxNQUFNLE9BQU8sdUJBQXVCO0lBZWhDLGNBQWM7SUFDZDtRQVRBOztZQUVJO1FBQ0osZUFBVSxHQUE0QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekQsY0FBYztRQUNOLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSTNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7OEdBbEJRLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFNRyxPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka1Jlc2l6ZU9ic2VydmVyXScsXG4gICAgZXhwb3J0QXM6ICdmZGtSZXNpemVPYnNlcnZlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemVPYnNlcnZlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEhhc0VsZW1lbnRSZWYge1xuICAgIC8qKlxuICAgICAqIFdoZW4gdGhlIGVsZW1lbnQgaXMgcmVzaXplZCwgZW1pdHMgYW4gYXJyYXkgb2YgUmVzaXplT2JzZXJ2ZXJFbnRyeSBvYmplY3RzLlxuICAgICAqKi9cbiAgICBAT3V0cHV0KClcbiAgICByZXNpemVkOiBPYnNlcnZhYmxlPFJlc2l6ZU9ic2VydmVyRW50cnlbXT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBSZXNpemUgdGFyZ2V0IGVsZW1lbnQuXG4gICAgICoqL1xuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclNlcnZpY2UgPSBpbmplY3QoUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMucmVzaXplZCA9IHRoaXMuX3Jlc2l6ZU9ic2VydmVyU2VydmljZS5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './select-component-root.token';
|
|
2
|
-
export * from './selectable-item.directive';
|
|
3
|
-
export * from './selectable-item.token';
|
|
4
|
-
export * from './selectable-list.directive';
|
|
5
|
-
export * from './selectable-list.module';
|
|
6
|
-
export * from './selectable-list.tokens';
|
|
7
|
-
export * from './selection.service';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL3NlbGVjdGFibGUtbGlzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtY29tcG9uZW50LXJvb3QudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3RhYmxlLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0YWJsZS1pdGVtLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0YWJsZS1saXN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGFibGUtbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3RhYmxlLWxpc3QudG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLnNlcnZpY2UnO1xuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class SelectComponentRootToken {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbXBvbmVudC1yb290LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdXRpbHMvZGlyZWN0aXZlcy9zZWxlY3RhYmxlLWxpc3Qvc2VsZWN0LWNvbXBvbmVudC1yb290LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBZ0Isd0JBQXdCO0NBTTdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8VD4gPSBUIGV4dGVuZHMgYW55W10gPyBBcnJheTxhbnk+IDogYW55O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VsZWN0Q29tcG9uZW50Um9vdFRva2VuPFQgPSBhbnk+IHtcbiAgICBhYnN0cmFjdCBzZWxlY3RlZD86IFNlbGVjdGFibGVMaXN0VmFsdWVUeXBlPFQ+O1xuICAgIGFic3RyYWN0IHNlbGVjdGVkQ2hhbmdlOiBPYnNlcnZhYmxlPFNlbGVjdGFibGVMaXN0VmFsdWVUeXBlPFQ+PjtcbiAgICBhYnN0cmFjdCBtdWx0aXBsZT86IEJvb2xlYW5JbnB1dDtcbiAgICBhYnN0cmFjdCB0b2dnbGU/OiBCb29sZWFuSW5wdXQ7XG4gICAgYWJzdHJhY3Qgb25DaGFuZ2U6ICh2YWx1ZTogU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8VD4pID0+IHZvaWQ7XG59XG4iXX0=
|