@leanix/components 0.4.531 → 0.4.533
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/leanix-components.mjs +365 -365
- package/fesm2022/leanix-components.mjs.map +1 -1
- package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
- package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
- package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
- package/package.json +10 -14
- package/esm2022/index.mjs +0 -145
- package/esm2022/leanix-components.mjs +0 -5
- package/esm2022/lib/core-ui/components/avatar/avatar.component.mjs +0 -40
- package/esm2022/lib/core-ui/components/avatar/avatar.helpers.mjs +0 -49
- package/esm2022/lib/core-ui/components/avatar/avatar.model.mjs +0 -33
- package/esm2022/lib/core-ui/components/avatar-group/avatar-group.component.mjs +0 -75
- package/esm2022/lib/core-ui/components/badge/badge.component.mjs +0 -58
- package/esm2022/lib/core-ui/components/banner/banner.component.mjs +0 -68
- package/esm2022/lib/core-ui/components/banner/banner.models.mjs +0 -12
- package/esm2022/lib/core-ui/components/button/button.component.mjs +0 -179
- package/esm2022/lib/core-ui/components/button-group/button-group.component.mjs +0 -28
- package/esm2022/lib/core-ui/components/card/card.component.mjs +0 -26
- package/esm2022/lib/core-ui/components/collapsible/collapsible.component.mjs +0 -52
- package/esm2022/lib/core-ui/components/counter/counter.component.mjs +0 -30
- package/esm2022/lib/core-ui/components/ellipsis/ellipsis.component.mjs +0 -143
- package/esm2022/lib/core-ui/components/empty-state/empty-state.component.mjs +0 -41
- package/esm2022/lib/core-ui/components/icon-scale/icon-scale.component.mjs +0 -36
- package/esm2022/lib/core-ui/components/skeleton/skeleton.component.mjs +0 -44
- package/esm2022/lib/core-ui/components/spinner/spinner.component.mjs +0 -26
- package/esm2022/lib/core-ui/components/stepper/stepper.component.mjs +0 -70
- package/esm2022/lib/core-ui/components/table/table-header/table-header.component.mjs +0 -128
- package/esm2022/lib/core-ui/components/table/table.component.mjs +0 -77
- package/esm2022/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +0 -14
- package/esm2022/lib/core-ui/components/tokenizer/token/token.component.mjs +0 -20
- package/esm2022/lib/core-ui/components/tokenizer/tokenizer-overflow-popover/tokenizer-overflow-popover.component.mjs +0 -44
- package/esm2022/lib/core-ui/components/tokenizer/tokenizer.component.mjs +0 -149
- package/esm2022/lib/core-ui/core-ui.constants.mjs +0 -240
- package/esm2022/lib/core-ui/core-ui.module.mjs +0 -206
- package/esm2022/lib/core-ui/directives/after-view-init.directive.mjs +0 -33
- package/esm2022/lib/core-ui/directives/autoclose-group.service.mjs +0 -39
- package/esm2022/lib/core-ui/directives/autoclose.directive.mjs +0 -43
- package/esm2022/lib/core-ui/directives/autofocus.directive.mjs +0 -36
- package/esm2022/lib/core-ui/functions/core-css.helpers.mjs +0 -52
- package/esm2022/lib/core-ui/functions/highlight-text.function.mjs +0 -80
- package/esm2022/lib/core-ui/linkify/linkify.pipe.mjs +0 -146
- package/esm2022/lib/core-ui/linkify/unlinkify.pipe.mjs +0 -51
- package/esm2022/lib/core-ui/pipes/br.pipe.mjs +0 -24
- package/esm2022/lib/core-ui/pipes/contrast-color.pipe.mjs +0 -21
- package/esm2022/lib/core-ui/pipes/custom-date.pipe.mjs +0 -28
- package/esm2022/lib/core-ui/pipes/display-avatars.pipe.mjs +0 -37
- package/esm2022/lib/core-ui/pipes/highlight-range.pipe.mjs +0 -29
- package/esm2022/lib/core-ui/pipes/highlight-term.pipe.mjs +0 -57
- package/esm2022/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +0 -22
- package/esm2022/lib/core-ui/pipes/lx-time-ago.pipe.mjs +0 -29
- package/esm2022/lib/core-ui/pipes/lx-translate.pipe.mjs +0 -50
- package/esm2022/lib/core-ui/pipes/markdown.pipe.mjs +0 -32
- package/esm2022/lib/core-ui/pipes/nbsp.pipe.mjs +0 -17
- package/esm2022/lib/core-ui/pipes/sort.pipe.mjs +0 -55
- package/esm2022/lib/core-ui/pipes/translation-after.pipe.mjs +0 -29
- package/esm2022/lib/core-ui/pipes/translation-before.pipe.mjs +0 -54
- package/esm2022/lib/core-ui/pipes/translation-between.pipe.mjs +0 -68
- package/esm2022/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +0 -17
- package/esm2022/lib/core-ui/services/resize-observer.service.mjs +0 -112
- package/esm2022/lib/core-ui/tooltip/to-cdk-position.function.mjs +0 -74
- package/esm2022/lib/core-ui/tooltip/tooltip-position.interface.mjs +0 -7
- package/esm2022/lib/core-ui/tooltip/tooltip.component.mjs +0 -26
- package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +0 -117
- package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +0 -139
- package/esm2022/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +0 -38
- package/esm2022/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +0 -55
- package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +0 -215
- package/esm2022/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +0 -135
- package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +0 -159
- package/esm2022/lib/forms-ui/components/currency/currency-symbol-map.constant.mjs +0 -105
- package/esm2022/lib/forms-ui/components/currency/currency-symbol.component.mjs +0 -24
- package/esm2022/lib/forms-ui/components/date-input/date-input.component.mjs +0 -347
- package/esm2022/lib/forms-ui/components/date-picker-ui/date-formatter.mjs +0 -8
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +0 -312
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +0 -20
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +0 -206
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.config.mjs +0 -29
- package/esm2022/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +0 -319
- package/esm2022/lib/forms-ui/components/date-picker-ui/isBs3.mjs +0 -2
- package/esm2022/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +0 -149
- package/esm2022/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +0 -151
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/constants.mjs +0 -5
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +0 -49
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +0 -120
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +0 -39
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +0 -137
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +0 -38
- package/esm2022/lib/forms-ui/components/error-message/error-message.component.mjs +0 -16
- package/esm2022/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +0 -26
- package/esm2022/lib/forms-ui/components/form-error/form-error.component.mjs +0 -44
- package/esm2022/lib/forms-ui/components/icon/icon.component.mjs +0 -45
- package/esm2022/lib/forms-ui/components/input/input.component.mjs +0 -48
- package/esm2022/lib/forms-ui/components/keyboard-select.directive.mjs +0 -126
- package/esm2022/lib/forms-ui/components/multi-select/multi-select-selection/multi-select-selection.component.mjs +0 -28
- package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +0 -318
- package/esm2022/lib/forms-ui/components/option/option.component.mjs +0 -99
- package/esm2022/lib/forms-ui/components/option-group/option-group.component.mjs +0 -29
- package/esm2022/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +0 -123
- package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +0 -297
- package/esm2022/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +0 -94
- package/esm2022/lib/forms-ui/components/picker/picker-trigger.directive.mjs +0 -47
- package/esm2022/lib/forms-ui/components/picker/picker.component.mjs +0 -218
- package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +0 -118
- package/esm2022/lib/forms-ui/components/pill-item/pill-item.component.mjs +0 -33
- package/esm2022/lib/forms-ui/components/pill-list/pill-list.component.mjs +0 -58
- package/esm2022/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +0 -101
- package/esm2022/lib/forms-ui/components/select-list/select-list.component.mjs +0 -178
- package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +0 -290
- package/esm2022/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +0 -71
- package/esm2022/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +0 -21
- package/esm2022/lib/forms-ui/components/switch/switch.component.mjs +0 -51
- package/esm2022/lib/forms-ui/directives/contenteditable.directive.mjs +0 -130
- package/esm2022/lib/forms-ui/directives/form-error.directive.mjs +0 -121
- package/esm2022/lib/forms-ui/directives/form-submit.directive.mjs +0 -29
- package/esm2022/lib/forms-ui/directives/keyboard-action-source.directive.mjs +0 -63
- package/esm2022/lib/forms-ui/directives/mark-invalid.directive.mjs +0 -39
- package/esm2022/lib/forms-ui/directives/max-length-counter.directive.mjs +0 -131
- package/esm2022/lib/forms-ui/directives/select-dropdown.directive.mjs +0 -32
- package/esm2022/lib/forms-ui/directives/selectable-item.directive.mjs +0 -34
- package/esm2022/lib/forms-ui/directives/selected-option.directive.mjs +0 -27
- package/esm2022/lib/forms-ui/forms-ui.module.mjs +0 -270
- package/esm2022/lib/forms-ui/helpers/key-codes.constants.mjs +0 -13
- package/esm2022/lib/forms-ui/helpers/keyboard-navigation.helpers.mjs +0 -38
- package/esm2022/lib/forms-ui/models/base-select.directive.mjs +0 -183
- package/esm2022/lib/forms-ui/models/dropdown-item.interface.mjs +0 -2
- package/esm2022/lib/forms-ui/models/single-select-padding.interface.mjs +0 -2
- package/esm2022/lib/forms-ui/models/sorting.interface.mjs +0 -7
- package/esm2022/lib/forms-ui/pipes/filter-selection.pipe.mjs +0 -33
- package/esm2022/lib/forms-ui/pipes/filter-term.pipe.mjs +0 -29
- package/esm2022/lib/forms-ui/pipes/format-number.pipe.mjs +0 -66
- package/esm2022/lib/forms-ui/validators/date-in-foreseeable-future.validator.mjs +0 -26
- package/esm2022/lib/forms-ui/validators/string-not-in-array.validator.mjs +0 -30
- package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +0 -264
- package/esm2022/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +0 -16
- package/esm2022/lib/modal-ui/components/modal-header/modal-header.component.mjs +0 -19
- package/esm2022/lib/modal-ui/directives/modal-content.directive.mjs +0 -14
- package/esm2022/lib/modal-ui/modal.constants.mjs +0 -18
- package/esm2022/lib/modal-ui/modal.module.mjs +0 -47
- package/esm2022/lib/popover-ui/components/popover/popover.component.mjs +0 -228
- package/esm2022/lib/popover-ui/directives/popover-click.directive.mjs +0 -52
- package/esm2022/lib/popover-ui/directives/popover-content.directive.mjs +0 -17
- package/esm2022/lib/popover-ui/directives/popover-hover.directive.mjs +0 -88
- package/esm2022/lib/popover-ui/popover-ui.module.mjs +0 -21
- package/esm2022/lib/shared/date-helpers.mjs +0 -35
- package/esm2022/lib/shared/html-helpers.function.mjs +0 -34
- package/esm2022/lib/shared/misc-helpers.mjs +0 -24
- package/esm2022/lib/shared/observe.mjs +0 -40
- package/esm2022/lib/tab-ui/components/tab/tab.component.mjs +0 -118
- package/esm2022/lib/tab-ui/components/tab-group/tab-group-key-codes.enum.mjs +0 -12
- package/esm2022/lib/tab-ui/components/tab-group/tab-group.component.mjs +0 -150
- package/esm2022/lib/tab-ui/tab-ui.module.mjs +0 -20
- package/esm2022/ui5/icons/lx-icons.json +0 -177
- package/esm2022/ui5/icons/register-icons.mjs +0 -14
- package/esm2022/ui5/index.mjs +0 -8
- package/esm2022/ui5/leanix-components-ui5.mjs +0 -5
- package/esm2022/ui5/ui5.provider.mjs +0 -29
package/esm2022/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
2
|
-
import { Component, ContentChildren, DestroyRef, HostBinding, HostListener, inject, Input } from '@angular/core';
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
4
|
-
import { BehaviorSubject, combineLatest, fromEvent, merge, Subject } from 'rxjs';
|
5
|
-
import { debounceTime, delay, map, startWith, switchMap } from 'rxjs/operators';
|
6
|
-
import { AutocloseDirective } from '../../../core-ui/directives/autoclose.directive';
|
7
|
-
import { executeOnNextTick } from '../../../shared/misc-helpers';
|
8
|
-
import { OptionComponent } from '../option/option.component';
|
9
|
-
import * as i0 from "@angular/core";
|
10
|
-
export class OptionsSubDropdownComponent {
|
11
|
-
constructor(changeDetection) {
|
12
|
-
this.changeDetection = changeDetection;
|
13
|
-
this.align = 'right';
|
14
|
-
this.hidden = true;
|
15
|
-
this.mouseInside$ = new BehaviorSubject(false);
|
16
|
-
this.destroyed$ = new Subject();
|
17
|
-
this.maxHeight$ = new BehaviorSubject('none');
|
18
|
-
this.destroyRef = inject(DestroyRef);
|
19
|
-
}
|
20
|
-
mouseenter() {
|
21
|
-
this.mouseInside$.next(true);
|
22
|
-
}
|
23
|
-
mouseleave() {
|
24
|
-
this.mouseInside$.next(false);
|
25
|
-
}
|
26
|
-
ngOnDestroy() {
|
27
|
-
this.destroyed$.next();
|
28
|
-
}
|
29
|
-
ngAfterViewInit() {
|
30
|
-
// To avoid `Expression has changed after it was checked`
|
31
|
-
executeOnNextTick(() => {
|
32
|
-
this.trigger.hasSubdropdown = true;
|
33
|
-
});
|
34
|
-
merge(this.showByKeyboard(), this.showByMouse())
|
35
|
-
.pipe(debounceTime(150), takeUntilDestroyed(this.destroyRef))
|
36
|
-
.subscribe((show) => {
|
37
|
-
this.hidden = !show;
|
38
|
-
this.changeDetection.markForCheck();
|
39
|
-
if (show) {
|
40
|
-
this.updateMaxHeight(this.trigger.elementRef);
|
41
|
-
}
|
42
|
-
});
|
43
|
-
}
|
44
|
-
updateMaxHeight(elementRef) {
|
45
|
-
const marginBottom = 8;
|
46
|
-
const optionTopPosition = elementRef.nativeElement.getBoundingClientRect().top;
|
47
|
-
const screenHeight = window.innerHeight;
|
48
|
-
const maxHeight = `${screenHeight - optionTopPosition - marginBottom}px`;
|
49
|
-
if (this.maxHeight$.getValue() !== maxHeight) {
|
50
|
-
this.maxHeight$.next(maxHeight);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
showByKeyboard() {
|
54
|
-
const optionChange$ = this.options.changes.pipe(startWith(this.options), map((options) => options.toArray()), map((options) => options.map((option) => {
|
55
|
-
option.isSuboption = true;
|
56
|
-
return option;
|
57
|
-
})));
|
58
|
-
return combineLatest([this.trigger.highlight.asObservable(), optionChange$]).pipe(delay(0), // Need tick delay to get option highlighted and filter it out after
|
59
|
-
map(([isHighlighted, options]) => isHighlighted || options.some((option) => option.isHighlighted)));
|
60
|
-
}
|
61
|
-
showByMouse() {
|
62
|
-
const mouseEnterTrigger$ = fromEvent(this.trigger.elementRef.nativeElement, 'mouseenter');
|
63
|
-
const mouseLeaveTrigger$ = fromEvent(this.trigger.elementRef.nativeElement, 'mouseleave');
|
64
|
-
const showOnEnterMouse$ = mouseEnterTrigger$.pipe(map(() => true));
|
65
|
-
const showOnEnterSubmenu$ = mouseEnterTrigger$.pipe(switchMap(() => mouseLeaveTrigger$), switchMap(() => this.mouseInside$));
|
66
|
-
return merge(showOnEnterMouse$, showOnEnterSubmenu$);
|
67
|
-
}
|
68
|
-
closeDropdown() {
|
69
|
-
this.hidden = true;
|
70
|
-
}
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OptionsSubDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: OptionsSubDropdownComponent, isStandalone: true, selector: "lx-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.hidden": "this.hidden" } }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div #spacingContainer class=\"spacingContainer\" [class.left]=\"align === 'left'\">\n <ul\n #subDropdown\n class=\"sub-dropdown\"\n lxAutoclose\n [class.showScrollbar]=\"(maxHeight$ | async) !== 'none'\"\n [style.max-height]=\"(maxHeight$ | async) ?? 'none'\"\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content />\n </ul>\n</div>\n", styles: [":host{display:block}:host.hidden{display:none}.spacingContainer{position:absolute;left:100%;transform:translateY(-32px);padding:0 0 0 4px}.spacingContainer.left{left:auto;right:100%;padding:0 4px 0 0}.sub-dropdown{position:relative;padding:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none}.sub-dropdown::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}.sub-dropdown::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}.sub-dropdown::-webkit-scrollbar-track-piece{background-color:transparent}.sub-dropdown.showScrollbar{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
73
|
-
}
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OptionsSubDropdownComponent, decorators: [{
|
75
|
-
type: Component,
|
76
|
-
args: [{ selector: 'lx-options-sub-dropdown', standalone: true, imports: [AutocloseDirective, AsyncPipe], template: "<div #spacingContainer class=\"spacingContainer\" [class.left]=\"align === 'left'\">\n <ul\n #subDropdown\n class=\"sub-dropdown\"\n lxAutoclose\n [class.showScrollbar]=\"(maxHeight$ | async) !== 'none'\"\n [style.max-height]=\"(maxHeight$ | async) ?? 'none'\"\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content />\n </ul>\n</div>\n", styles: [":host{display:block}:host.hidden{display:none}.spacingContainer{position:absolute;left:100%;transform:translateY(-32px);padding:0 0 0 4px}.spacingContainer.left{left:auto;right:100%;padding:0 4px 0 0}.sub-dropdown{position:relative;padding:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none}.sub-dropdown::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}.sub-dropdown::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}.sub-dropdown::-webkit-scrollbar-track-piece{background-color:transparent}.sub-dropdown.showScrollbar{overflow-y:auto}\n"] }]
|
77
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { trigger: [{
|
78
|
-
type: Input
|
79
|
-
}], align: [{
|
80
|
-
type: Input
|
81
|
-
}], options: [{
|
82
|
-
type: ContentChildren,
|
83
|
-
args: [OptionComponent, { descendants: true }]
|
84
|
-
}], hidden: [{
|
85
|
-
type: HostBinding,
|
86
|
-
args: ['class.hidden']
|
87
|
-
}], mouseenter: [{
|
88
|
-
type: HostListener,
|
89
|
-
args: ['mouseenter']
|
90
|
-
}], mouseleave: [{
|
91
|
-
type: HostListener,
|
92
|
-
args: ['mouseleave']
|
93
|
-
}] } });
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9vcHRpb25zLXN1Yi1kcm9wZG93bi9vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbnMtc3ViLWRyb3Bkb3duL29wdGlvbnMtc3ViLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBRVYsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVM3RCxNQUFNLE9BQU8sMkJBQTJCO0lBZXRDLFlBQW9CLGVBQWtDO1FBQWxDLG9CQUFlLEdB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T0FBTztzQkFBL0QsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUd2RCxNQUFNO3NCQURMLFdBQVc7dUJBQUMsY0FBYztnQkFhM0IsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFlBQVk7Z0JBTTFCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXksIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRvY2xvc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9jb3JlLXVpL2RpcmVjdGl2ZXMvYXV0b2Nsb3NlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBleGVjdXRlT25OZXh0VGljayB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9taXNjLWhlbHBlcnMnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1vcHRpb25zLXN1Yi1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0F1dG9jbG9zZURpcmVjdGl2ZSwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0cmlnZ2VyITogT3B0aW9uQ29tcG9uZW50O1xuICBASW5wdXQoKSBhbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG9wdGlvbnMhOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZGRlbicpXG4gIGhpZGRlbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcmVhZG9ubHkgbWF4SGVpZ2h0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignbm9uZScpO1xuXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICBtb3VzZWVudGVyKCkge1xuICAgIHRoaXMubW91c2VJbnNpZGUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgbW91c2VsZWF2ZSgpIHtcbiAgICB0aGlzLm1vdXNlSW5zaWRlJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgLy8gVG8gYXZvaWQgYEV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWRgXG4gICAgZXhlY3V0ZU9uTmV4dFRpY2soKCkgPT4ge1xuICAgICAgdGhpcy50cmlnZ2VyLmhhc1N1YmRyb3Bkb3duID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIG1lcmdlKHRoaXMuc2hvd0J5S2V5Ym9hcmQoKSwgdGhpcy5zaG93QnlNb3VzZSgpKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDE1MCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoc2hvdykgPT4ge1xuICAgICAgICB0aGlzLmhpZGRlbiA9ICFzaG93O1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgaWYgKHNob3cpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU1heEhlaWdodCh0aGlzLnRyaWdnZXIuZWxlbWVudFJlZik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYXhIZWlnaHQoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIGNvbnN0IG1hcmdpbkJvdHRvbSA9IDg7XG4gICAgY29uc3Qgb3B0aW9uVG9wUG9zaXRpb24gPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgIGNvbnN0IHNjcmVlbkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBjb25zdCBtYXhIZWlnaHQgPSBgJHtzY3JlZW5IZWlnaHQgLSBvcHRpb25Ub3BQb3NpdGlvbiAtIG1hcmdpbkJvdHRvbX1weGA7XG4gICAgaWYgKHRoaXMubWF4SGVpZ2h0JC5nZXRWYWx1ZSgpICE9PSBtYXhIZWlnaHQpIHtcbiAgICAgIHRoaXMubWF4SGVpZ2h0JC5uZXh0KG1heEhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93QnlLZXlib2FyZCgpIHtcbiAgICBjb25zdCBvcHRpb25DaGFuZ2UkID0gdGhpcy5vcHRpb25zLmNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLm9wdGlvbnMpLFxuICAgICAgbWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PikgPT4gb3B0aW9ucy50b0FycmF5KCkpLFxuICAgICAgbWFwKChvcHRpb25zKSA9PlxuICAgICAgICBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgb3B0aW9uLmlzU3Vib3B0aW9uID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy50cmlnZ2VyLmhpZ2hsaWdodC5hc09ic2VydmFibGUoKSwgb3B0aW9uQ2hhbmdlJF0pLnBpcGUoXG4gICAgICBkZWxheSgwKSwgLy8gTmVlZCB0aWNrIGRlbGF5IHRvIGdldCBvcHRpb24gaGlnaGxpZ2h0ZWQgYW5kIGZpbHRlciBpdCBvdXQgYWZ0ZXJcbiAgICAgIG1hcCgoW2lzSGlnaGxpZ2h0ZWQsIG9wdGlvbnNdKSA9PiBpc0hpZ2hsaWdodGVkIHx8IG9wdGlvbnMuc29tZSgob3B0aW9uKSA9PiBvcHRpb24uaXNIaWdobGlnaHRlZCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0J5TW91c2UoKSB7XG4gICAgY29uc3QgbW91c2VFbnRlclRyaWdnZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMudHJpZ2dlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJyk7XG4gICAgY29uc3QgbW91c2VMZWF2ZVRyaWdnZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMudHJpZ2dlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJyk7XG5cbiAgICBjb25zdCBzaG93T25FbnRlck1vdXNlJCA9IG1vdXNlRW50ZXJUcmlnZ2VyJC5waXBlKG1hcCgoKSA9PiB0cnVlKSk7XG4gICAgY29uc3Qgc2hvd09uRW50ZXJTdWJtZW51JCA9IG1vdXNlRW50ZXJUcmlnZ2VyJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IG1vdXNlTGVhdmVUcmlnZ2VyJCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5tb3VzZUluc2lkZSQpXG4gICAgKTtcblxuICAgIHJldHVybiBtZXJnZShzaG93T25FbnRlck1vdXNlJCwgc2hvd09uRW50ZXJTdWJtZW51JCk7XG4gIH1cblxuICBjbG9zZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaGlkZGVuID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiAjc3BhY2luZ0NvbnRhaW5lciBjbGFzcz1cInNwYWNpbmdDb250YWluZXJcIiBbY2xhc3MubGVmdF09XCJhbGlnbiA9PT0gJ2xlZnQnXCI+XG4gIDx1bFxuICAgICNzdWJEcm9wZG93blxuICAgIGNsYXNzPVwic3ViLWRyb3Bkb3duXCJcbiAgICBseEF1dG9jbG9zZVxuICAgIFtjbGFzcy5zaG93U2Nyb2xsYmFyXT1cIihtYXhIZWlnaHQkIHwgYXN5bmMpICE9PSAnbm9uZSdcIlxuICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIihtYXhIZWlnaHQkIHwgYXN5bmMpID8/ICdub25lJ1wiXG4gICAgKGF1dG9jbG9zZSk9XCJjbG9zZURyb3Bkb3duKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC91bD5cbjwvZGl2PlxuIl19
|
@@ -1,47 +0,0 @@
|
|
1
|
-
import { Directive } from '@angular/core';
|
2
|
-
import { Subject, fromEvent } from 'rxjs';
|
3
|
-
import { filter, takeUntil, tap } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class PickerTriggerDirective {
|
6
|
-
get width() {
|
7
|
-
return this.element.nativeElement.offsetWidth;
|
8
|
-
}
|
9
|
-
constructor(element) {
|
10
|
-
this.element = element;
|
11
|
-
this.IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
12
|
-
this.HOST_ELEMENT_IS_BUTTON = this.element.nativeElement.matches('button');
|
13
|
-
this.focused = false;
|
14
|
-
this.allClickEvents$ = fromEvent(this.element.nativeElement, 'click').pipe(tap(() => {
|
15
|
-
// There is an inconsistent behavior among browsers when it comes to focusing buttons on click.
|
16
|
-
// Safari does not focus buttons on click, but most other browsers do. Therefore, we have to
|
17
|
-
// introduce this hack to make sure that the button is focused when the user clicks it.
|
18
|
-
// More details in this interesting article: https://zellwk.com/blog/inconsistent-button-behavior/
|
19
|
-
if (this.IS_SAFARI && this.HOST_ELEMENT_IS_BUTTON) {
|
20
|
-
this.element.nativeElement.focus();
|
21
|
-
}
|
22
|
-
}));
|
23
|
-
this.focusEvent$ = fromEvent(this.element.nativeElement, 'focus');
|
24
|
-
this.blurEvent$ = fromEvent(this.element.nativeElement, 'blur');
|
25
|
-
this.clickEvent$ = this.allClickEvents$.pipe(filter(() => this.focused === true));
|
26
|
-
this.destroyed$ = new Subject();
|
27
|
-
this.focusEvent$.pipe(takeUntil(this.destroyed$)).subscribe(() => {
|
28
|
-
this.focused = true;
|
29
|
-
});
|
30
|
-
this.blurEvent$.pipe(takeUntil(this.destroyed$)).subscribe(() => {
|
31
|
-
this.focused = false;
|
32
|
-
});
|
33
|
-
}
|
34
|
-
ngOnDestroy() {
|
35
|
-
this.destroyed$.next();
|
36
|
-
}
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PickerTriggerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
38
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: PickerTriggerDirective, isStandalone: true, selector: "[lxPickerTrigger]", ngImport: i0 }); }
|
39
|
-
}
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PickerTriggerDirective, decorators: [{
|
41
|
-
type: Directive,
|
42
|
-
args: [{
|
43
|
-
selector: '[lxPickerTrigger]',
|
44
|
-
standalone: true
|
45
|
-
}]
|
46
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9waWNrZXIvcGlja2VyLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU14RCxNQUFNLE9BQU8sc0JBQXNCO0lBb0JqQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBSUQsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUF6Qm5DLGNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLDJCQUFzQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLG9CQUFlLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdkYsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLCtGQUErRjtZQUMvRiw0RkFBNEY7WUFDNUYsdUZBQXVGO1lBQ3ZGLGtHQUFrRztZQUNsRyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ00sZ0JBQVcsR0FBRyxTQUFTLENBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekUsZUFBVSxHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV4RSxnQkFBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFNM0UsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQXJDVSxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbHhQaWNrZXJUcmlnZ2VyXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUGlja2VyVHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgSVNfU0FGQVJJID0gL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBIT1NUX0VMRU1FTlRfSVNfQlVUVE9OID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQubWF0Y2hlcygnYnV0dG9uJyk7XG4gIHByaXZhdGUgZm9jdXNlZCA9IGZhbHNlO1xuICBwcml2YXRlIGFsbENsaWNrRXZlbnRzJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgLy8gVGhlcmUgaXMgYW4gaW5jb25zaXN0ZW50IGJlaGF2aW9yIGFtb25nIGJyb3dzZXJzIHdoZW4gaXQgY29tZXMgdG8gZm9jdXNpbmcgYnV0dG9ucyBvbiBjbGljay5cbiAgICAgIC8vIFNhZmFyaSBkb2VzIG5vdCBmb2N1cyBidXR0b25zIG9uIGNsaWNrLCBidXQgbW9zdCBvdGhlciBicm93c2VycyBkby4gVGhlcmVmb3JlLCB3ZSBoYXZlIHRvXG4gICAgICAvLyBpbnRyb2R1Y2UgdGhpcyBoYWNrIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBidXR0b24gaXMgZm9jdXNlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBpdC5cbiAgICAgIC8vIE1vcmUgZGV0YWlscyBpbiB0aGlzIGludGVyZXN0aW5nIGFydGljbGU6IGh0dHBzOi8vemVsbHdrLmNvbS9ibG9nL2luY29uc2lzdGVudC1idXR0b24tYmVoYXZpb3IvXG4gICAgICBpZiAodGhpcy5JU19TQUZBUkkgJiYgdGhpcy5IT1NUX0VMRU1FTlRfSVNfQlVUVE9OKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcbiAgcHJpdmF0ZSBmb2N1c0V2ZW50JCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2ZvY3VzJyk7XG4gIHByaXZhdGUgYmx1ckV2ZW50JCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2JsdXInKTtcblxuICBwdWJsaWMgY2xpY2tFdmVudCQgPSB0aGlzLmFsbENsaWNrRXZlbnRzJC5waXBlKGZpbHRlcigoKSA9PiB0aGlzLmZvY3VzZWQgPT09IHRydWUpKTtcblxuICBnZXQgd2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICB9XG5cbiAgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHRoaXMuZm9jdXNFdmVudCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgfSk7XG4gICAgdGhpcy5ibHVyRXZlbnQkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,218 +0,0 @@
|
|
1
|
-
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
2
|
-
import { NgIf } from '@angular/common';
|
3
|
-
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, forwardRef, HostListener, Input } from '@angular/core';
|
4
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
5
|
-
import { Subject } from 'rxjs';
|
6
|
-
import { takeUntil } from 'rxjs/operators';
|
7
|
-
import { AutocloseDirective } from '../../../core-ui/directives/autoclose.directive';
|
8
|
-
import { PickerOptionComponent } from '../picker-option/picker-option.component';
|
9
|
-
import { PickerTriggerDirective } from './picker-trigger.directive';
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
import * as i1 from "@angular/cdk/bidi";
|
12
|
-
/**
|
13
|
-
* How to use:
|
14
|
-
* Provide the lx-picker with two kinds of ContentChildren:
|
15
|
-
* 1. A lxPickerTrigger, preferably a button element, which we use to open the dropdown on click or enter.
|
16
|
-
* 2. A list of `<li>` elements with an lx-picker-option attribute that own the option template as content children.
|
17
|
-
*
|
18
|
-
* You can use this component as part of a FormGroup or wire it up yourself by listening on the (select) output of the options.
|
19
|
-
*
|
20
|
-
* Example usage (non FormGroup style):
|
21
|
-
* ```
|
22
|
-
* <lx-picker listBoxAriaLabel="Awesome picker">
|
23
|
-
* <button lxPickerTrigger lx-button mode="outline" size="large" [square]="true" aria-label="Awesome picker" title="Awesome picker">
|
24
|
-
* <lx-icon [name]="selection.label" [color]="selection.value" fontAwsomeStyle="solid"></lx-icon>
|
25
|
-
* </button>
|
26
|
-
* <li *ngFor="let option of options" lx-picker-option [value]="option.value" [selected]="selection === option" (select)="selection = option" [optionId]="option.id">
|
27
|
-
* <lx-icon lx-picker-option [name]="option.label" [color]="option.value" fontAwsomeStyle="solid"></lx-icon>
|
28
|
-
* </li>
|
29
|
-
* </lx-picker>
|
30
|
-
* ```
|
31
|
-
*/
|
32
|
-
export class PickerComponent {
|
33
|
-
/** @internal */
|
34
|
-
get activeDescendantsId() {
|
35
|
-
return this._activeDescendantsId;
|
36
|
-
}
|
37
|
-
/** @internal */
|
38
|
-
set activeDescendantsId(value) {
|
39
|
-
this._activeDescendantsId = value;
|
40
|
-
this.cdRef.markForCheck();
|
41
|
-
}
|
42
|
-
/** @internal */
|
43
|
-
get open() {
|
44
|
-
return this._open;
|
45
|
-
}
|
46
|
-
/** @internal */
|
47
|
-
set open(value) {
|
48
|
-
this._open = value;
|
49
|
-
this.cdRef.markForCheck();
|
50
|
-
}
|
51
|
-
/**
|
52
|
-
* Returns a negative margin, that is used to move the picker dropdown to the left side of the picker trigger.
|
53
|
-
* @internal
|
54
|
-
*/
|
55
|
-
get leftOffset() {
|
56
|
-
const dropdownWidth = 185;
|
57
|
-
return this.openDirection === 'left' ? `-${dropdownWidth - this._trigger.width}px` : '0px';
|
58
|
-
}
|
59
|
-
constructor(dir, cdRef) {
|
60
|
-
this.dir = dir;
|
61
|
-
this.cdRef = cdRef;
|
62
|
-
this.openDirection = 'right';
|
63
|
-
/** @internal */
|
64
|
-
this._isFormControl = false;
|
65
|
-
/** @internal */
|
66
|
-
this._open = false;
|
67
|
-
/** @internal */
|
68
|
-
this._lastSelectWasByKeyManager = false;
|
69
|
-
/** @internal */
|
70
|
-
this.destroyed$ = new Subject();
|
71
|
-
}
|
72
|
-
/** @internal */
|
73
|
-
manageKeyboardEvents(event) {
|
74
|
-
if (this.open) {
|
75
|
-
const activeIndex = this.keyManager.activeItemIndex || 0;
|
76
|
-
switch (event.key) {
|
77
|
-
case 'Enter':
|
78
|
-
setTimeout(() => {
|
79
|
-
this.closePicker();
|
80
|
-
});
|
81
|
-
break;
|
82
|
-
case 'Escape':
|
83
|
-
case 'Tab':
|
84
|
-
this.setActivePickerOption(-1);
|
85
|
-
this.closePicker();
|
86
|
-
break;
|
87
|
-
case 'ArrowDown':
|
88
|
-
event.preventDefault();
|
89
|
-
const newDownIndex = this.keyManager.activeItemIndex === -1 ? 0 : activeIndex + 5;
|
90
|
-
this.setActivePickerOption(newDownIndex < this.options.length ? newDownIndex : activeIndex);
|
91
|
-
break;
|
92
|
-
case 'ArrowUp':
|
93
|
-
event.preventDefault();
|
94
|
-
const newUpIndex = this.keyManager.activeItemIndex === -1 ? this.options.length - 1 : activeIndex - 5;
|
95
|
-
this.setActivePickerOption(newUpIndex >= 0 ? newUpIndex : activeIndex);
|
96
|
-
break;
|
97
|
-
case 'ArrowLeft':
|
98
|
-
if (this.keyManager.activeItemIndex === -1) {
|
99
|
-
this.setActivePickerOption(this.options.length - 1);
|
100
|
-
}
|
101
|
-
else {
|
102
|
-
this.keyManager.onKeydown(event);
|
103
|
-
this.activeDescendantsId = this.keyManager.activeItem?.optionId;
|
104
|
-
}
|
105
|
-
break;
|
106
|
-
case 'Home':
|
107
|
-
event.preventDefault();
|
108
|
-
this.setActivePickerOption(0);
|
109
|
-
break;
|
110
|
-
case 'End':
|
111
|
-
event.preventDefault();
|
112
|
-
this.setActivePickerOption(this.options.length - 1);
|
113
|
-
break;
|
114
|
-
default:
|
115
|
-
// matches ArrowRight
|
116
|
-
this.keyManager.onKeydown(event);
|
117
|
-
this.activeDescendantsId = this.keyManager.activeItem?.optionId;
|
118
|
-
}
|
119
|
-
if (this.keyManager.activeItem) {
|
120
|
-
this._lastSelectWasByKeyManager = true;
|
121
|
-
this.propagateChange(this.keyManager.activeItem.value);
|
122
|
-
if (!this._isFormControl) {
|
123
|
-
this.keyManager.activeItem.selectOption();
|
124
|
-
}
|
125
|
-
}
|
126
|
-
}
|
127
|
-
}
|
128
|
-
ngAfterViewInit() {
|
129
|
-
this.keyManager = new ActiveDescendantKeyManager(this.options).withHorizontalOrientation(this.dir.value).withVerticalOrientation(true);
|
130
|
-
this.options.map((item) => {
|
131
|
-
item.select.pipe(takeUntil(this.destroyed$)).subscribe((value) => {
|
132
|
-
this.propagateChange(value);
|
133
|
-
if (value !== this.keyManager.activeItem?.value || !this._lastSelectWasByKeyManager) {
|
134
|
-
this.closePicker();
|
135
|
-
}
|
136
|
-
this._lastSelectWasByKeyManager = false;
|
137
|
-
});
|
138
|
-
});
|
139
|
-
this._trigger.clickEvent$.pipe(takeUntil(this.destroyed$)).subscribe(() => {
|
140
|
-
this.toggleOpen();
|
141
|
-
});
|
142
|
-
}
|
143
|
-
ngOnDestroy() {
|
144
|
-
this.destroyed$.next();
|
145
|
-
}
|
146
|
-
/** @internal */
|
147
|
-
closePicker() {
|
148
|
-
this.setActivePickerOption(-1);
|
149
|
-
this.open = false;
|
150
|
-
}
|
151
|
-
/** @internal */
|
152
|
-
toggleOpen() {
|
153
|
-
this.open = !this.open;
|
154
|
-
if (this.open) {
|
155
|
-
this.onTouched();
|
156
|
-
}
|
157
|
-
this.setActivePickerOption(this.open === false ? -1 : this.options.toArray().findIndex((option) => option.selected));
|
158
|
-
}
|
159
|
-
setActivePickerOption(index) {
|
160
|
-
this.keyManager.setActiveItem(index);
|
161
|
-
if (this.keyManager.activeItem) {
|
162
|
-
this.activeDescendantsId = this.keyManager.activeItem.optionId;
|
163
|
-
}
|
164
|
-
else {
|
165
|
-
this.activeDescendantsId = undefined;
|
166
|
-
}
|
167
|
-
}
|
168
|
-
//#region Angular Forms API. This is only used when using the Picker inside a FormGroup
|
169
|
-
/** @internal */
|
170
|
-
writeValue(value) {
|
171
|
-
this.options?.toArray().forEach((option) => (option.selected = option.value === value));
|
172
|
-
}
|
173
|
-
/** @internal */
|
174
|
-
registerOnChange(fn) {
|
175
|
-
this.propagateChange = fn;
|
176
|
-
this._isFormControl = true;
|
177
|
-
}
|
178
|
-
/** @internal */
|
179
|
-
registerOnTouched(fn) {
|
180
|
-
this.onTouched = fn;
|
181
|
-
}
|
182
|
-
propagateChange(_value) { }
|
183
|
-
onTouched() { }
|
184
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PickerComponent, deps: [{ token: i1.Directionality }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
185
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: PickerComponent, isStandalone: true, selector: "lx-picker", inputs: { listBoxAriaLabel: "listBoxAriaLabel", listBoxAriaLabelledBy: "listBoxAriaLabelledBy", openDirection: "openDirection" }, host: { listeners: { "document:keydown": "manageKeyboardEvents($event)" } }, providers: [
|
186
|
-
{
|
187
|
-
provide: NG_VALUE_ACCESSOR,
|
188
|
-
multi: true,
|
189
|
-
useExisting: forwardRef(() => PickerComponent)
|
190
|
-
}
|
191
|
-
], queries: [{ propertyName: "_trigger", first: true, predicate: PickerTriggerDirective, descendants: true }, { propertyName: "options", predicate: PickerOptionComponent }], ngImport: i0, template: "<div class=\"pickerContainer\">\n <ng-content select=\"[lxPickerTrigger]\" />\n <ul\n class=\"pickerOptions\"\n *ngIf=\"open\"\n lxAutoclose\n (autoclose)=\"closePicker()\"\n role=\"listbox\"\n [style.margin-left]=\"leftOffset\"\n [attr.aria-activedescendant]=\"activeDescendantsId\"\n [attr.aria-label]=\"listBoxAriaLabel\"\n [attr.aria-labelledby]=\"listBoxAriaLabelledBy\"\n >\n <ng-content />\n </ul>\n</div>\n", styles: [":host{display:inline-block;width:100%;position:relative}.pickerOptions{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;border:solid 1px #e1e5eb;padding:4px;z-index:20;width:185px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
192
|
-
}
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PickerComponent, decorators: [{
|
194
|
-
type: Component,
|
195
|
-
args: [{ selector: 'lx-picker', providers: [
|
196
|
-
{
|
197
|
-
provide: NG_VALUE_ACCESSOR,
|
198
|
-
multi: true,
|
199
|
-
useExisting: forwardRef(() => PickerComponent)
|
200
|
-
}
|
201
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, AutocloseDirective], template: "<div class=\"pickerContainer\">\n <ng-content select=\"[lxPickerTrigger]\" />\n <ul\n class=\"pickerOptions\"\n *ngIf=\"open\"\n lxAutoclose\n (autoclose)=\"closePicker()\"\n role=\"listbox\"\n [style.margin-left]=\"leftOffset\"\n [attr.aria-activedescendant]=\"activeDescendantsId\"\n [attr.aria-label]=\"listBoxAriaLabel\"\n [attr.aria-labelledby]=\"listBoxAriaLabelledBy\"\n >\n <ng-content />\n </ul>\n</div>\n", styles: [":host{display:inline-block;width:100%;position:relative}.pickerOptions{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;border:solid 1px #e1e5eb;padding:4px;z-index:20;width:185px}\n"] }]
|
202
|
-
}], ctorParameters: () => [{ type: i1.Directionality }, { type: i0.ChangeDetectorRef }], propDecorators: { listBoxAriaLabel: [{
|
203
|
-
type: Input
|
204
|
-
}], listBoxAriaLabelledBy: [{
|
205
|
-
type: Input
|
206
|
-
}], openDirection: [{
|
207
|
-
type: Input
|
208
|
-
}], options: [{
|
209
|
-
type: ContentChildren,
|
210
|
-
args: [PickerOptionComponent]
|
211
|
-
}], _trigger: [{
|
212
|
-
type: ContentChild,
|
213
|
-
args: [PickerTriggerDirective]
|
214
|
-
}], manageKeyboardEvents: [{
|
215
|
-
type: HostListener,
|
216
|
-
args: ['document:keydown', ['$event']]
|
217
|
-
}] } });
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvcGlja2VyL3BpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3BpY2tlci9waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFcEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFnQkgsTUFBTSxPQUFPLGVBQWU7SUFhMUIsZ0JBQWdCO0lBQ2hCLElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFDRCxnQkFBZ0I7SUFDaEIsSUFBSSxtQkFB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dGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0b2Nsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS11aS9kaXJlY3RpdmVzL2F1dG9jbG9zZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGlja2VyT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vcGlja2VyLW9wdGlvbi9waWNrZXItb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9waWNrZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEhvdyB0byB1c2U6XG4gKiBQcm92aWRlIHRoZSBseC1waWNrZXIgd2l0aCB0d28ga2luZHMgb2YgQ29udGVudENoaWxkcmVuOlxuICogMS4gQSBseFBpY2tlclRyaWdnZXIsIHByZWZlcmFibHkgYSBidXR0b24gZWxlbWVudCwgd2hpY2ggd2UgdXNlIHRvIG9wZW4gdGhlIGRyb3Bkb3duIG9uIGNsaWNrIG9yIGVudGVyLlxuICogMi4gQSBsaXN0IG9mIGA8bGk+YCBlbGVtZW50cyB3aXRoIGFuIGx4LXBpY2tlci1vcHRpb24gYXR0cmlidXRlIHRoYXQgb3duIHRoZSBvcHRpb24gdGVtcGxhdGUgYXMgY29udGVudCBjaGlsZHJlbi5cbiAqXG4gKiBZb3UgY2FuIHVzZSB0aGlzIGNvbXBvbmVudCBhcyBwYXJ0IG9mIGEgRm9ybUdyb3VwIG9yIHdpcmUgaXQgdXAgeW91cnNlbGYgYnkgbGlzdGVuaW5nIG9uIHRoZSAoc2VsZWN0KSBvdXRwdXQgb2YgdGhlIG9wdGlvbnMuXG4gKlxuICogRXhhbXBsZSB1c2FnZSAobm9uIEZvcm1Hcm91cCBzdHlsZSk6XG4gKiBgYGBcbiAqIDxseC1waWNrZXIgbGlzdEJveEFyaWFMYWJlbD1cIkF3ZXNvbWUgcGlja2VyXCI+XG4gKiAgIDxidXR0b24gbHhQaWNrZXJUcmlnZ2VyIGx4LWJ1dHRvbiBtb2RlPVwib3V0bGluZVwiIHNpemU9XCJsYXJnZVwiIFtzcXVhcmVdPVwidHJ1ZVwiIGFyaWEtbGFiZWw9XCJBd2Vzb21lIHBpY2tlclwiIHRpdGxlPVwiQXdlc29tZSBwaWNrZXJcIj5cbiAqICAgICAgIDxseC1pY29uIFtuYW1lXT1cInNlbGVjdGlvbi5sYWJlbFwiIFtjb2xvcl09XCJzZWxlY3Rpb24udmFsdWVcIiBmb250QXdzb21lU3R5bGU9XCJzb2xpZFwiPjwvbHgtaWNvbj5cbiAqICAgIDwvYnV0dG9uPlxuICogICAgPGxpICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIGx4LXBpY2tlci1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiIFtzZWxlY3RlZF09XCJzZWxlY3Rpb24gPT09IG9wdGlvblwiIChzZWxlY3QpPVwic2VsZWN0aW9uID0gb3B0aW9uXCIgW29wdGlvbklkXT1cIm9wdGlvbi5pZFwiPlxuICogICAgICAgPGx4LWljb24gbHgtcGlja2VyLW9wdGlvbiBbbmFtZV09XCJvcHRpb24ubGFiZWxcIiBbY29sb3JdPVwib3B0aW9uLnZhbHVlXCIgZm9udEF3c29tZVN0eWxlPVwic29saWRcIj48L2x4LWljb24+XG4gKiAgICA8L2xpPlxuICogPC9seC1waWNrZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICdwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsncGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQaWNrZXJDb21wb25lbnQpXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIEF1dG9jbG9zZURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBBIGh1bWFuLXJlYWRhYmxlIHN0cmluZyB2YWx1ZSB3aGljaCBpZGVudGlmaWVzIHRoZSBsaXN0Ym94LlxuICAgKiBJZiB0aGVyZSdzIGEgdmlzaWJsZSBsYWJlbCwgdGhlbiBhcmlhLWxhYmVsbGVkYnkgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCB0byByZWZlciB0byB0aGF0IGxhYmVsLlxuICAgKi9cbiAgQElucHV0KCkgbGlzdEJveEFyaWFMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIHZpc2libGUgZWxlbWVudCB3aGljaCBpZGVudGlmaWVzIHRoZSBsaXN0Ym94LlxuICAgKiBJZiB0aGVyZSdzIG5vIHZpc2libGUgbGFiZWwsIHRoZW4gYXJpYS1sYWJlbCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIHRvIGluY2x1ZGUgYSBsYWJlbC5cbiAgICovXG4gIEBJbnB1dCgpIGxpc3RCb3hBcmlhTGFiZWxsZWRCeT86IHN0cmluZztcbiAgQElucHV0KCkgb3BlbkRpcmVjdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCc7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBnZXQgYWN0aXZlRGVzY2VuZGFudHNJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlRGVzY2VuZGFudHNJZDtcbiAgfVxuICAvKiogQGludGVybmFsICovXG4gIHNldCBhY3RpdmVEZXNjZW5kYW50c0lkKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9hY3RpdmVEZXNjZW5kYW50c0lkID0gdmFsdWU7XG4gICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgZ2V0IG9wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW47XG4gIH1cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBzZXQgb3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX29wZW4gPSB2YWx1ZTtcbiAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBuZWdhdGl2ZSBtYXJnaW4sIHRoYXQgaXMgdXNlZCB0byBtb3ZlIHRoZSBwaWNrZXIgZHJvcGRvd24gdG8gdGhlIGxlZnQgc2lkZSBvZiB0aGUgcGlja2VyIHRyaWdnZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IGxlZnRPZmZzZXQoKSB7XG4gICAgY29uc3QgZHJvcGRvd25XaWR0aCA9IDE4NTtcbiAgICByZXR1cm4gdGhpcy5vcGVuRGlyZWN0aW9uID09PSAnbGVmdCcgPyBgLSR7ZHJvcGRvd25XaWR0aCAtIHRoaXMuX3RyaWdnZXIud2lkdGh9cHhgIDogJzBweCc7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIEBDb250ZW50Q2hpbGRyZW4oUGlja2VyT3B0aW9uQ29tcG9uZW50KVxuICBwcml2YXRlIG9wdGlvbnMhOiBRdWVyeUxpc3Q8UGlja2VyT3B0aW9uQ29tcG9uZW50PjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBrZXlNYW5hZ2VyITogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8UGlja2VyT3B0aW9uQ29tcG9uZW50PjtcblxuICAvKiogQGludGVybmFsICovXG4gIEBDb250ZW50Q2hpbGQoUGlja2VyVHJpZ2dlckRpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBfdHJpZ2dlciE6IFBpY2tlclRyaWdnZXJEaXJlY3RpdmU7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJpdmF0ZSBfaXNGb3JtQ29udHJvbCA9IGZhbHNlO1xuICAvKiogQGludGVybmFsICovXG4gIHByaXZhdGUgX29wZW4gPSBmYWxzZTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcml2YXRlIF9hY3RpdmVEZXNjZW5kYW50c0lkPzogc3RyaW5nO1xuICAvKiogQGludGVybmFsICovXG4gIHByaXZhdGUgX2xhc3RTZWxlY3RXYXNCeUtleU1hbmFnZXIgPSBmYWxzZTtcblxuICAvKiogQGludGVybmFsICovXG4gIHJlYWRvbmx5IGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlyOiBEaXJlY3Rpb25hbGl0eSxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgbWFuYWdlS2V5Ym9hcmRFdmVudHMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggfHwgMDtcbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgICB0aGlzLnNldEFjdGl2ZVBpY2tlck9wdGlvbigtMSk7XG4gICAgICAgICAgdGhpcy5jbG9zZVBpY2tlcigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgY29uc3QgbmV3RG93bkluZGV4ID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA9PT0gLTEgPyAwIDogYWN0aXZlSW5kZXggKyA1O1xuICAgICAgICAgIHRoaXMuc2V0QWN0aXZlUGlja2VyT3B0aW9uKG5ld0Rvd25JbmRleCA8IHRoaXMub3B0aW9ucy5sZW5ndGggPyBuZXdEb3duSW5kZXggOiBhY3RpdmVJbmRleCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgY29uc3QgbmV3VXBJbmRleCA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggPT09IC0xID8gdGhpcy5vcHRpb25zLmxlbmd0aCAtIDEgOiBhY3RpdmVJbmRleCAtIDU7XG4gICAgICAgICAgdGhpcy5zZXRBY3RpdmVQaWNrZXJPcHRpb24obmV3VXBJbmRleCA+PSAwID8gbmV3VXBJbmRleCA6IGFjdGl2ZUluZGV4KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICBpZiAodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlUGlja2VyT3B0aW9uKHRoaXMub3B0aW9ucy5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnRzSWQgPSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbT8ub3B0aW9uSWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuc2V0QWN0aXZlUGlja2VyT3B0aW9uKDApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdFbmQnOlxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5zZXRBY3RpdmVQaWNrZXJPcHRpb24odGhpcy5vcHRpb25zLmxlbmd0aCAtIDEpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIC8vIG1hdGNoZXMgQXJyb3dSaWdodFxuICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgIHRoaXMuYWN0aXZlRGVzY2VuZGFudHNJZCA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtPy5vcHRpb25JZDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSkge1xuICAgICAgICB0aGlzLl9sYXN0U2VsZWN0V2FzQnlLZXlNYW5hZ2VyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0udmFsdWUpO1xuICAgICAgICBpZiAoIXRoaXMuX2lzRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbS5zZWxlY3RPcHRpb24oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIodGhpcy5vcHRpb25zKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuZGlyLnZhbHVlKS53aXRoVmVydGljYWxPcmllbnRhdGlvbih0cnVlKTtcblxuICAgIHRoaXMub3B0aW9ucy5tYXAoKGl0ZW06IFBpY2tlck9wdGlvbkNvbXBvbmVudCkgPT4ge1xuICAgICAgaXRlbS5zZWxlY3QucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbT8udmFsdWUgfHwgIXRoaXMuX2xhc3RTZWxlY3RXYXNCeUtleU1hbmFnZXIpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGlja2VyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbGFzdFNlbGVjdFdhc0J5S2V5TWFuYWdlciA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl90cmlnZ2VyLmNsaWNrRXZlbnQkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnRvZ2dsZU9wZW4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIGNsb3NlUGlja2VyKCkge1xuICAgIHRoaXMuc2V0QWN0aXZlUGlja2VyT3B0aW9uKC0xKTtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgdG9nZ2xlT3BlbigpIHtcbiAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICAgIHRoaXMuc2V0QWN0aXZlUGlja2VyT3B0aW9uKHRoaXMub3BlbiA9PT0gZmFsc2UgPyAtMSA6IHRoaXMub3B0aW9ucy50b0FycmF5KCkuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBY3RpdmVQaWNrZXJPcHRpb24oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGluZGV4KTtcbiAgICBpZiAodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHtcbiAgICAgIHRoaXMuYWN0aXZlRGVzY2VuZGFudHNJZCA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtLm9wdGlvbklkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnRzSWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8jcmVnaW9uIEFuZ3VsYXIgRm9ybXMgQVBJLiBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHVzaW5nIHRoZSBQaWNrZXIgaW5zaWRlIGEgRm9ybUdyb3VwXG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLm9wdGlvbnM/LnRvQXJyYXkoKS5mb3JFYWNoKChvcHRpb24pID0+IChvcHRpb24uc2VsZWN0ZWQgPSBvcHRpb24udmFsdWUgPT09IHZhbHVlKSk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gICAgdGhpcy5faXNGb3JtQ29udHJvbCA9IHRydWU7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UoX3ZhbHVlOiBhbnkpIHt9XG4gIHByaXZhdGUgb25Ub3VjaGVkKCkge31cblxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxkaXYgY2xhc3M9XCJwaWNrZXJDb250YWluZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2x4UGlja2VyVHJpZ2dlcl1cIiAvPlxuICA8dWxcbiAgICBjbGFzcz1cInBpY2tlck9wdGlvbnNcIlxuICAgICpuZ0lmPVwib3BlblwiXG4gICAgbHhBdXRvY2xvc2VcbiAgICAoYXV0b2Nsb3NlKT1cImNsb3NlUGlja2VyKClcIlxuICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICBbc3R5bGUubWFyZ2luLWxlZnRdPVwibGVmdE9mZnNldFwiXG4gICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cImFjdGl2ZURlc2NlbmRhbnRzSWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGlzdEJveEFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxpc3RCb3hBcmlhTGFiZWxsZWRCeVwiXG4gID5cbiAgICA8bmctY29udGVudCAvPlxuICA8L3VsPlxuPC9kaXY+XG4iXX0=
|
@@ -1,118 +0,0 @@
|
|
1
|
-
import { NgIf } from '@angular/common';
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
|
3
|
-
import { IconComponent } from '../icon/icon.component';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@ngx-translate/core";
|
6
|
-
export class PickerOptionComponent {
|
7
|
-
get ariaLabelValue() {
|
8
|
-
if (this.isClearOption) {
|
9
|
-
return this.translateService.instant(`${this.NAME}.clearOption.label`);
|
10
|
-
}
|
11
|
-
return this.ariaLabel;
|
12
|
-
}
|
13
|
-
get titleValue() {
|
14
|
-
if (this.isClearOption) {
|
15
|
-
return this.translateService.instant(`${this.NAME}.clearOption.label`);
|
16
|
-
}
|
17
|
-
return this.ariaLabel;
|
18
|
-
}
|
19
|
-
get id() {
|
20
|
-
return this.optionId;
|
21
|
-
}
|
22
|
-
/**
|
23
|
-
* This property is true, when the option was selected by mouse click or by the
|
24
|
-
* ActiveDescendantKeyManager calling setActiveStyles().
|
25
|
-
* It's false when the ActiveDescendantKeyManager calls setInactiveStyles().
|
26
|
-
* Is used by the PickerComponent to find the current active option.
|
27
|
-
*/
|
28
|
-
get highlighted() {
|
29
|
-
return this._highlighted;
|
30
|
-
}
|
31
|
-
set highlighted(value) {
|
32
|
-
this._highlighted = value;
|
33
|
-
this.cdRef.markForCheck();
|
34
|
-
}
|
35
|
-
constructor(cdRef, translateService) {
|
36
|
-
this.cdRef = cdRef;
|
37
|
-
this.translateService = translateService;
|
38
|
-
this.NAME = 'PickerOptionComponent';
|
39
|
-
this.role = 'option';
|
40
|
-
this.ariaSelected = false;
|
41
|
-
this.selected = false;
|
42
|
-
this.isClearOption = false;
|
43
|
-
/**
|
44
|
-
* Emits the value.
|
45
|
-
*/
|
46
|
-
this.select = new EventEmitter();
|
47
|
-
this._highlighted = false;
|
48
|
-
}
|
49
|
-
ngOnInit() {
|
50
|
-
if (this.selected) {
|
51
|
-
this.ariaSelected = true;
|
52
|
-
}
|
53
|
-
}
|
54
|
-
manageClickEvents() {
|
55
|
-
this.selectOption();
|
56
|
-
}
|
57
|
-
setActiveStyles() {
|
58
|
-
this.ariaSelected = true;
|
59
|
-
this.highlighted = true;
|
60
|
-
}
|
61
|
-
setInactiveStyles() {
|
62
|
-
this.ariaSelected = false;
|
63
|
-
this.highlighted = false;
|
64
|
-
}
|
65
|
-
/**
|
66
|
-
* Triggers the EventEmitter select() that should emit, when an option was selected.
|
67
|
-
* This function is used in the PickerComponent when an option was selected.
|
68
|
-
*/
|
69
|
-
selectOption() {
|
70
|
-
this.select.emit(this.value);
|
71
|
-
}
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PickerOptionComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: PickerOptionComponent, isStandalone: true, selector: "li[lx-picker-option]", inputs: { optionId: "optionId", ariaLabel: "ariaLabel", value: "value", selected: "selected", isClearOption: "isClearOption" }, outputs: { select: "select" }, host: { listeners: { "click": "manageClickEvents()" }, properties: { "attr.role": "this.role", "attr.aria-selected": "this.ariaSelected", "attr.aria-label": "this.ariaLabelValue", "attr.title": "this.titleValue", "id": "this.id", "class.selected": "this.selected", "class.clearOption": "this.isClearOption", "class.highlighted": "this.highlighted" } }, ngImport: i0, template: "<lx-icon *ngIf=\"isClearOption\" name=\"slash\" color=\"#d8d8d8\" />\n<ng-content *ngIf=\"!isClearOption\" />\n", styles: [":host{display:inline-block;cursor:pointer;width:35px;height:35px;line-height:35px;text-align:center;border:1px solid transparent;border-radius:3px}:host.clearOption{border:1px solid #cfd5df}:host.highlighted,:host.selected{border:1px solid #b2bccc;cursor:default}:host:hover{border:1px solid #b2bccc}:host:focus{outline:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "lx-icon", inputs: ["name", "color", "fontAwsomeStyle", "size", "title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
74
|
-
}
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PickerOptionComponent, decorators: [{
|
76
|
-
type: Component,
|
77
|
-
args: [{ selector: 'li[lx-picker-option]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, IconComponent], template: "<lx-icon *ngIf=\"isClearOption\" name=\"slash\" color=\"#d8d8d8\" />\n<ng-content *ngIf=\"!isClearOption\" />\n", styles: [":host{display:inline-block;cursor:pointer;width:35px;height:35px;line-height:35px;text-align:center;border:1px solid transparent;border-radius:3px}:host.clearOption{border:1px solid #cfd5df}:host.highlighted,:host.selected{border:1px solid #b2bccc;cursor:default}:host:hover{border:1px solid #b2bccc}:host:focus{outline:0}\n"] }]
|
78
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }], propDecorators: { role: [{
|
79
|
-
type: HostBinding,
|
80
|
-
args: ['attr.role']
|
81
|
-
}], ariaSelected: [{
|
82
|
-
type: HostBinding,
|
83
|
-
args: ['attr.aria-selected']
|
84
|
-
}], ariaLabelValue: [{
|
85
|
-
type: HostBinding,
|
86
|
-
args: ['attr.aria-label']
|
87
|
-
}], titleValue: [{
|
88
|
-
type: HostBinding,
|
89
|
-
args: ['attr.title']
|
90
|
-
}], id: [{
|
91
|
-
type: HostBinding,
|
92
|
-
args: ['id']
|
93
|
-
}], optionId: [{
|
94
|
-
type: Input
|
95
|
-
}], ariaLabel: [{
|
96
|
-
type: Input
|
97
|
-
}], value: [{
|
98
|
-
type: Input
|
99
|
-
}], selected: [{
|
100
|
-
type: HostBinding,
|
101
|
-
args: ['class.selected']
|
102
|
-
}, {
|
103
|
-
type: Input
|
104
|
-
}], isClearOption: [{
|
105
|
-
type: HostBinding,
|
106
|
-
args: ['class.clearOption']
|
107
|
-
}, {
|
108
|
-
type: Input
|
109
|
-
}], select: [{
|
110
|
-
type: Output
|
111
|
-
}], highlighted: [{
|
112
|
-
type: HostBinding,
|
113
|
-
args: ['class.highlighted']
|
114
|
-
}], manageClickEvents: [{
|
115
|
-
type: HostListener,
|
116
|
-
args: ['click']
|
117
|
-
}] } });
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3BpY2tlci1vcHRpb24vcGlja2VyLW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3BpY2tlci1vcHRpb24vcGlja2VyLW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQVV2RCxNQUFNLE9BQU8scUJBQXFCO0lBSWhDLElBQ1csY0FBYztRQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ1csVUFBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ1csRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBZUQ7Ozs7O09BS0c7SUFDSCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBR0QsWUFDVSxLQUF3QixFQUN4QixnQkFBa0M7UUFEbEMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXJEbkMsU0FBSSxHQUFHLHVCQUF1QixDQUFDO1FBQ2QsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNQLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBMkJoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2Qsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDakU7O1dBRUc7UUFDTyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQWVuQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUsxQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7OEdBcEZVLHFCQUFxQjtrR0FBckIscUJBQXFCLGdsQkN4QmxDLGlIQUVBLDhYRG9CWSxJQUFJLDZGQUFFLGFBQWE7OzJGQUVsQixxQkFBcUI7a0JBVGpDLFNBQVM7K0JBRUUsc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQztxSEFJSixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBQ1csWUFBWTtzQkFBOUMsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBRXRCLGNBQWM7c0JBRHhCLFdBQVc7dUJBQUMsaUJBQWlCO2dCQVFuQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLFlBQVk7Z0JBUWQsRUFBRTtzQkFEWixXQUFXO3VCQUFDLElBQUk7Z0JBU1IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDa0MsUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBQ00sYUFBYTtzQkFBdkQsV0FBVzt1QkFBQyxtQkFBbUI7O3NCQUFHLEtBQUs7Z0JBSTlCLE1BQU07c0JBQWYsTUFBTTtnQkFRSCxXQUFXO3NCQURkLFdBQVc7dUJBQUMsbUJBQW1CO2dCQXNCaEMsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaVtseC1waWNrZXItb3B0aW9uXScsXG4gIHRlbXBsYXRlVXJsOiAncGlja2VyLW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydwaWNrZXItb3B0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgSWNvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUGlja2VyT3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgSGlnaGxpZ2h0YWJsZSwgT25Jbml0IHtcbiAgcmVhZG9ubHkgTkFNRSA9ICdQaWNrZXJPcHRpb25Db21wb25lbnQnO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnb3B0aW9uJztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKSBhcmlhU2VsZWN0ZWQgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbFZhbHVlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuaXNDbGVhck9wdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGAke3RoaXMuTkFNRX0uY2xlYXJPcHRpb24ubGFiZWxgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXJpYUxhYmVsO1xuICB9XG4gIEBIb3N0QmluZGluZygnYXR0ci50aXRsZScpXG4gIHB1YmxpYyBnZXQgdGl0bGVWYWx1ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmlzQ2xlYXJPcHRpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgJHt0aGlzLk5BTUV9LmNsZWFyT3B0aW9uLmxhYmVsYCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbDtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbklkO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uSWQgbXVzdCBiZSBzZXQgdG8gYSB1bmlxdWUgdmFsdWUuIEl0J3MgdXNlZCBhcyB2YWx1ZSBmb3IgdGhlIGlkIHByb3BlcnR5IG9mIGFuIG9wdGlvbi5cbiAgICogQXMgdGhlIHVzZXIgbmF2aWdhdGVzIHRocm91Z2ggdGhlIGxpc3QgdmlhIGFycm93IGtleXMsIHRoZSBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgcHJvcGVydHkgZm9yIHRoZVxuICAgKiBidXR0b24gaW4gdGhlIFBpY2tlckNvbXBvbmVudCBpcyBhZGp1c3RlZCB0byByZWZsZWN0IHRoZSBpZCBhdHRyaWJ1dGUgb2YgdGhlIGFjdGl2ZSBvcHRpb24uXG4gICAqL1xuICBASW5wdXQoKSBvcHRpb25JZCE6IHN0cmluZztcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZSE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2xlYXJPcHRpb24nKSBASW5wdXQoKSBpc0NsZWFyT3B0aW9uID0gZmFsc2U7XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgdmFsdWUuXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIHRydWUsIHdoZW4gdGhlIG9wdGlvbiB3YXMgc2VsZWN0ZWQgYnkgbW91c2UgY2xpY2sgb3IgYnkgdGhlXG4gICAqIEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIGNhbGxpbmcgc2V0QWN0aXZlU3R5bGVzKCkuXG4gICAqIEl0J3MgZmFsc2Ugd2hlbiB0aGUgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgY2FsbHMgc2V0SW5hY3RpdmVTdHlsZXMoKS5cbiAgICogSXMgdXNlZCBieSB0aGUgUGlja2VyQ29tcG9uZW50IHRvIGZpbmQgdGhlIGN1cnJlbnQgYWN0aXZlIG9wdGlvbi5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGlnaGxpZ2h0ZWQnKVxuICBnZXQgaGlnaGxpZ2h0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVkO1xuICB9XG4gIHNldCBoaWdobGlnaHRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hpZ2hsaWdodGVkID0gdmFsdWU7XG4gICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBwcml2YXRlIF9oaWdobGlnaHRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuYXJpYVNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG1hbmFnZUNsaWNrRXZlbnRzKCkge1xuICAgIHRoaXMuc2VsZWN0T3B0aW9uKCk7XG4gIH1cblxuICBzZXRBY3RpdmVTdHlsZXMoKSB7XG4gICAgdGhpcy5hcmlhU2VsZWN0ZWQgPSB0cnVlO1xuICAgIHRoaXMuaGlnaGxpZ2h0ZWQgPSB0cnVlO1xuICB9XG5cbiAgc2V0SW5hY3RpdmVTdHlsZXMoKSB7XG4gICAgdGhpcy5hcmlhU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmhpZ2hsaWdodGVkID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIEV2ZW50RW1pdHRlciBzZWxlY3QoKSB0aGF0IHNob3VsZCBlbWl0LCB3aGVuIGFuIG9wdGlvbiB3YXMgc2VsZWN0ZWQuXG4gICAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBpbiB0aGUgUGlja2VyQ29tcG9uZW50IHdoZW4gYW4gb3B0aW9uIHdhcyBzZWxlY3RlZC5cbiAgICovXG4gIHNlbGVjdE9wdGlvbigpIHtcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8bHgtaWNvbiAqbmdJZj1cImlzQ2xlYXJPcHRpb25cIiBuYW1lPVwic2xhc2hcIiBjb2xvcj1cIiNkOGQ4ZDhcIiAvPlxuPG5nLWNvbnRlbnQgKm5nSWY9XCIhaXNDbGVhck9wdGlvblwiIC8+XG4iXX0=
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { NgIf } from '@angular/common';
|
2
|
-
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class PillItemComponent {
|
5
|
-
constructor() {
|
6
|
-
this.NAME = 'PillItemComponent';
|
7
|
-
this.disabled = false;
|
8
|
-
this.remove = new EventEmitter();
|
9
|
-
}
|
10
|
-
removePill(item, isMouse = false) {
|
11
|
-
if (!this.disabled) {
|
12
|
-
this.remove.emit({ item, isMouse });
|
13
|
-
}
|
14
|
-
}
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PillItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: PillItemComponent, isStandalone: true, selector: "lx-pill-item", inputs: { item: "item", label: "label", disabled: "disabled" }, outputs: { remove: "remove" }, host: { properties: { "class.disabled": "this.disabled" } }, ngImport: i0, template: "<span data-testid=\"pill-label\" class=\"pillLabel\">{{ label }}</span>\n<span *ngIf=\"!disabled\" data-testid=\"remove-pill-item\" (click)=\"removePill(item, true)\" class=\"remove far fa-times\"></span>\n", styles: [":host{margin:2px;border-radius:1px;border:solid 1px #f0f2f5;background-color:#f0f2f5;color:#2a303d;display:inline-block;padding:4px}:host:hover{background-color:#e1e5eb;border:solid 1px #e1e5eb}:host-context(.selected){background-color:#e1e5eb}.pillLabel{margin-left:4px;margin-right:4px;font-weight:400;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:normal;vertical-align:middle}.remove{vertical-align:middle;margin:0 4px}.remove:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
17
|
-
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PillItemComponent, decorators: [{
|
19
|
-
type: Component,
|
20
|
-
args: [{ selector: 'lx-pill-item', standalone: true, imports: [NgIf], template: "<span data-testid=\"pill-label\" class=\"pillLabel\">{{ label }}</span>\n<span *ngIf=\"!disabled\" data-testid=\"remove-pill-item\" (click)=\"removePill(item, true)\" class=\"remove far fa-times\"></span>\n", styles: [":host{margin:2px;border-radius:1px;border:solid 1px #f0f2f5;background-color:#f0f2f5;color:#2a303d;display:inline-block;padding:4px}:host:hover{background-color:#e1e5eb;border:solid 1px #e1e5eb}:host-context(.selected){background-color:#e1e5eb}.pillLabel{margin-left:4px;margin-right:4px;font-weight:400;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:normal;vertical-align:middle}.remove{vertical-align:middle;margin:0 4px}.remove:hover{cursor:pointer}\n"] }]
|
21
|
-
}], propDecorators: { item: [{
|
22
|
-
type: Input
|
23
|
-
}], label: [{
|
24
|
-
type: Input
|
25
|
-
}], disabled: [{
|
26
|
-
type: HostBinding,
|
27
|
-
args: ['class.disabled']
|
28
|
-
}, {
|
29
|
-
type: Input
|
30
|
-
}], remove: [{
|
31
|
-
type: Output
|
32
|
-
}] } });
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvcGlsbC1pdGVtL3BpbGwtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3BpbGwtaXRlbS9waWxsLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVwRixNQUFNLE9BQU8saUJBQWlCO0lBUDlCO1FBUVcsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBSUksYUFBUSxHQUFZLEtBQUssQ0FBQztRQUV4RCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7S0FPbkU7SUFMQyxVQUFVLENBQUMsSUFBUyxFQUFFLFVBQW1CLEtBQUs7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDOzhHQWJVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9PQ1g5QixnTkFFQSx5aEJET1ksSUFBSTs7MkZBRUgsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGNBQWMsY0FHWixJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUM7OEJBS04sSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDa0MsUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBRTNCLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdFJlbW92ZUl0ZW1FdmVudCB9IGZyb20gJy4uL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtcGlsbC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICdwaWxsLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsncGlsbC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXVxufSlcbmV4cG9ydCBjbGFzcyBQaWxsSXRlbUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IE5BTUUgPSAnUGlsbEl0ZW1Db21wb25lbnQnO1xuXG4gIEBJbnB1dCgpIGl0ZW0hOiBhbnk7XG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc2FibGVkJykgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aVNlbGVjdFJlbW92ZUl0ZW1FdmVudD4oKTtcblxuICByZW1vdmVQaWxsKGl0ZW06IGFueSwgaXNNb3VzZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnJlbW92ZS5lbWl0KHsgaXRlbSwgaXNNb3VzZSB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzcGFuIGRhdGEtdGVzdGlkPVwicGlsbC1sYWJlbFwiIGNsYXNzPVwicGlsbExhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG48c3BhbiAqbmdJZj1cIiFkaXNhYmxlZFwiIGRhdGEtdGVzdGlkPVwicmVtb3ZlLXBpbGwtaXRlbVwiIChjbGljayk9XCJyZW1vdmVQaWxsKGl0ZW0sIHRydWUpXCIgY2xhc3M9XCJyZW1vdmUgZmFyIGZhLXRpbWVzXCI+PC9zcGFuPlxuIl19
|