@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
@@ -1,112 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { Observable, timer } from 'rxjs';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
function isResizeableElement(element) {
|
5
|
-
return element && !!element.handleResize;
|
6
|
-
}
|
7
|
-
/**
|
8
|
-
* Sharing one ResizeObserver object results in much better performance
|
9
|
-
* over individual components creating their own ResizeObserver.
|
10
|
-
* This is why this service exists.
|
11
|
-
* Source:
|
12
|
-
* - https://github.com/WICG/resize-observer/issues/59#issuecomment-408098151
|
13
|
-
* - https://groups.google.com/a/chromium.org/g/blink-dev/c/z6ienONUb5A/m/F5-VcUZtBAAJ
|
14
|
-
*
|
15
|
-
* Learn more about the ResizeObserver API:
|
16
|
-
* - https://www.w3.org/TR/resize-observer/
|
17
|
-
* - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver
|
18
|
-
* - https://www.digitalocean.com/community/tutorials/js-resize-observer
|
19
|
-
*/
|
20
|
-
export class ResizeObserverService {
|
21
|
-
observe(element, callback, options) {
|
22
|
-
if (!this.resizeObserver) {
|
23
|
-
try {
|
24
|
-
this.resizeObserver = new ResizeObserver(this.resizeObserverCallback.bind(this));
|
25
|
-
}
|
26
|
-
catch {
|
27
|
-
// All the browsers we support implement the ResizeObserver API.
|
28
|
-
// For unsupported browsers, there's this "one time artifical resize event".
|
29
|
-
// They will not get the functionality tied to later resize events.
|
30
|
-
timer(500).subscribe(() => callback(this.getMockOneTimeResizeEventForUnsupportedBrowsers(element)));
|
31
|
-
return;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
element.handleResize = callback;
|
35
|
-
this.resizeObserver.observe(element, options);
|
36
|
-
}
|
37
|
-
createResizeObservable(element, options) {
|
38
|
-
return new Observable((subscriber) => {
|
39
|
-
let animationFrame;
|
40
|
-
this.observe(element, (entry) => {
|
41
|
-
animationFrame = window.requestAnimationFrame(() => {
|
42
|
-
subscriber.next(entry);
|
43
|
-
});
|
44
|
-
}, options);
|
45
|
-
return () => {
|
46
|
-
if (animationFrame) {
|
47
|
-
window.cancelAnimationFrame(animationFrame);
|
48
|
-
}
|
49
|
-
this.unobserve(element);
|
50
|
-
};
|
51
|
-
});
|
52
|
-
}
|
53
|
-
unobserve(element) {
|
54
|
-
if (!this.resizeObserver) {
|
55
|
-
return;
|
56
|
-
}
|
57
|
-
this.resizeObserver.unobserve(element);
|
58
|
-
}
|
59
|
-
resizeObserverCallback(entries, _observer) {
|
60
|
-
entries.forEach((entry) => {
|
61
|
-
if (isResizeableElement(entry.target)) {
|
62
|
-
entry.target.handleResize(entry);
|
63
|
-
}
|
64
|
-
});
|
65
|
-
}
|
66
|
-
/**
|
67
|
-
* All browsers we officially support implement the ResizeObserver API.
|
68
|
-
* Still as a curtesy do customers who for some reason have older browsers
|
69
|
-
* we call the callback once with the initial dimensions of the element
|
70
|
-
* and then do not react on resize events afterwards.
|
71
|
-
* This should still make them happier than a "browser not supported" warning.
|
72
|
-
*/
|
73
|
-
getMockOneTimeResizeEventForUnsupportedBrowsers(element) {
|
74
|
-
const contentRect = {
|
75
|
-
bottom: element.clientHeight,
|
76
|
-
height: element.clientHeight,
|
77
|
-
left: 0,
|
78
|
-
right: element.clientWidth,
|
79
|
-
top: 0,
|
80
|
-
width: element.clientWidth,
|
81
|
-
x: 0,
|
82
|
-
y: 0
|
83
|
-
};
|
84
|
-
return {
|
85
|
-
borderBoxSize: [{ blockSize: element.clientHeight, inlineSize: element.clientWidth }],
|
86
|
-
contentBoxSize: [
|
87
|
-
{
|
88
|
-
blockSize: element.clientHeight,
|
89
|
-
inlineSize: element.clientWidth
|
90
|
-
}
|
91
|
-
],
|
92
|
-
contentRect: {
|
93
|
-
...contentRect,
|
94
|
-
toJSON: () => JSON.stringify(contentRect)
|
95
|
-
},
|
96
|
-
devicePixelContentBoxSize: [
|
97
|
-
{
|
98
|
-
blockSize: element.clientWidth,
|
99
|
-
inlineSize: element.clientWidth
|
100
|
-
}
|
101
|
-
],
|
102
|
-
target: element
|
103
|
-
};
|
104
|
-
}
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
106
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ResizeObserverService, providedIn: 'root' }); }
|
107
|
-
}
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ResizeObserverService, decorators: [{
|
109
|
-
type: Injectable,
|
110
|
-
args: [{ providedIn: 'root' }]
|
111
|
-
}] });
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3NlcnZpY2VzL3Jlc2l6ZS1vYnNlcnZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUXpDLFNBQVMsbUJBQW1CLENBQUMsT0FBWTtJQUN2QyxPQUFPLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUMzQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxPQUFPLENBQUMsT0FBZ0IsRUFBRSxRQUFrQyxFQUFFLE9BQStCO1FBQzNGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDO2dCQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25GLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsZ0VBQWdFO2dCQUNoRSw0RUFBNEU7Z0JBQzVFLG1FQUFtRTtnQkFDbkUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEcsT0FBTztZQUNULENBQUM7UUFDSCxDQUFDO1FBQ0EsT0FBNkIsQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBZ0IsRUFBRSxPQUErQjtRQUN0RSxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxjQUFzQixDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQ1YsT0FBTyxFQUNQLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1IsY0FBYyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7b0JBQ2pELFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUNELE9BQU8sQ0FDUixDQUFDO1lBRUYsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDbkIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDO2dCQUNELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWdCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBOEIsRUFBRSxTQUF5QjtRQUN0RixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLCtDQUErQyxDQUFDLE9BQWdCO1FBQ3RFLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtZQUM1QixNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVk7WUFDNUIsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDMUIsR0FBRyxFQUFFLENBQUM7WUFDTixLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDMUIsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7UUFDRixPQUFPO1lBQ0wsYUFBYSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JGLGNBQWMsRUFBRTtnQkFDZDtvQkFDRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQVk7b0JBQy9CLFVBQVUsRUFBRSxPQUFPLENBQUMsV0FBVztpQkFDaEM7YUFDRjtZQUNELFdBQVcsRUFBRTtnQkFDWCxHQUFHLFdBQVc7Z0JBQ2QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO2FBQzFDO1lBQ0QseUJBQXlCLEVBQUU7Z0JBQ3pCO29CQUNFLFNBQVMsRUFBRSxPQUFPLENBQUMsV0FBVztvQkFDOUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxXQUFXO2lCQUNoQzthQUNGO1lBQ0QsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQztJQUNKLENBQUM7OEdBOUZVLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRFIsTUFBTTs7MkZBQ25CLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBMeFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2sgPSAocmVzaXplZEVsZW1lbnQ6IFJlc2l6ZU9ic2VydmVyRW50cnkpID0+IHZvaWQ7XG5cbmludGVyZmFjZSBSZXNpemVhYmxlRWxlbWVudCBleHRlbmRzIEVsZW1lbnQge1xuICBoYW5kbGVSZXNpemU6IEx4UmVzaXplT2JzZXJ2ZXJDYWxsYmFjaztcbn1cblxuZnVuY3Rpb24gaXNSZXNpemVhYmxlRWxlbWVudChlbGVtZW50OiBhbnkpOiBlbGVtZW50IGlzIFJlc2l6ZWFibGVFbGVtZW50IHtcbiAgcmV0dXJuIGVsZW1lbnQgJiYgISFlbGVtZW50LmhhbmRsZVJlc2l6ZTtcbn1cblxuLyoqXG4gKiBTaGFyaW5nIG9uZSBSZXNpemVPYnNlcnZlciBvYmplY3QgcmVzdWx0cyBpbiBtdWNoIGJldHRlciBwZXJmb3JtYW5jZVxuICogb3ZlciBpbmRpdmlkdWFsIGNvbXBvbmVudHMgY3JlYXRpbmcgdGhlaXIgb3duIFJlc2l6ZU9ic2VydmVyLlxuICogVGhpcyBpcyB3aHkgdGhpcyBzZXJ2aWNlIGV4aXN0cy5cbiAqIFNvdXJjZTpcbiAqIC0gaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy81OSNpc3N1ZWNvbW1lbnQtNDA4MDk4MTUxXG4gKiAtIGh0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vYS9jaHJvbWl1bS5vcmcvZy9ibGluay1kZXYvYy96Nmllbk9OVWI1QS9tL0Y1LVZjVVp0QkFBSlxuICpcbiAqIExlYXJuIG1vcmUgYWJvdXQgdGhlIFJlc2l6ZU9ic2VydmVyIEFQSTpcbiAqIC0gaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc2l6ZS1vYnNlcnZlci9cbiAqIC0gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1Jlc2l6ZU9ic2VydmVyXG4gKiAtIGh0dHBzOi8vd3d3LmRpZ2l0YWxvY2Vhbi5jb20vY29tbXVuaXR5L3R1dG9yaWFscy9qcy1yZXNpemUtb2JzZXJ2ZXJcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBSZXNpemVPYnNlcnZlclNlcnZpY2Uge1xuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyPzogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgb2JzZXJ2ZShlbGVtZW50OiBFbGVtZW50LCBjYWxsYmFjazogTHhSZXNpemVPYnNlcnZlckNhbGxiYWNrLCBvcHRpb25zPzogUmVzaXplT2JzZXJ2ZXJPcHRpb25zKSB7XG4gICAgaWYgKCF0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMucmVzaXplT2JzZXJ2ZXJDYWxsYmFjay5iaW5kKHRoaXMpKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBBbGwgdGhlIGJyb3dzZXJzIHdlIHN1cHBvcnQgaW1wbGVtZW50IHRoZSBSZXNpemVPYnNlcnZlciBBUEkuXG4gICAgICAgIC8vIEZvciB1bnN1cHBvcnRlZCBicm93c2VycywgdGhlcmUncyB0aGlzIFwib25lIHRpbWUgYXJ0aWZpY2FsIHJlc2l6ZSBldmVudFwiLlxuICAgICAgICAvLyBUaGV5IHdpbGwgbm90IGdldCB0aGUgZnVuY3Rpb25hbGl0eSB0aWVkIHRvIGxhdGVyIHJlc2l6ZSBldmVudHMuXG4gICAgICAgIHRpbWVyKDUwMCkuc3Vic2NyaWJlKCgpID0+IGNhbGxiYWNrKHRoaXMuZ2V0TW9ja09uZVRpbWVSZXNpemVFdmVudEZvclVuc3VwcG9ydGVkQnJvd3NlcnMoZWxlbWVudCkpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICAoZWxlbWVudCBhcyBSZXNpemVhYmxlRWxlbWVudCkuaGFuZGxlUmVzaXplID0gY2FsbGJhY2s7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlUmVzaXplT2JzZXJ2YWJsZShlbGVtZW50OiBFbGVtZW50LCBvcHRpb25zPzogUmVzaXplT2JzZXJ2ZXJPcHRpb25zKTogT2JzZXJ2YWJsZTxSZXNpemVPYnNlcnZlckVudHJ5PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICBsZXQgYW5pbWF0aW9uRnJhbWU6IG51bWJlcjtcbiAgICAgIHRoaXMub2JzZXJ2ZShcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgKGVudHJ5KSA9PiB7XG4gICAgICAgICAgYW5pbWF0aW9uRnJhbWUgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChlbnRyeSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnNcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChhbmltYXRpb25GcmFtZSkge1xuICAgICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShhbmltYXRpb25GcmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bm9ic2VydmUoZWxlbWVudCk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgdW5vYnNlcnZlKGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICBpZiAoIXRoaXMucmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci51bm9ic2VydmUoZWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyQ2FsbGJhY2soZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdLCBfb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyKSB7XG4gICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgaWYgKGlzUmVzaXplYWJsZUVsZW1lbnQoZW50cnkudGFyZ2V0KSkge1xuICAgICAgICBlbnRyeS50YXJnZXQuaGFuZGxlUmVzaXplKGVudHJ5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGwgYnJvd3NlcnMgd2Ugb2ZmaWNpYWxseSBzdXBwb3J0IGltcGxlbWVudCB0aGUgUmVzaXplT2JzZXJ2ZXIgQVBJLlxuICAgKiBTdGlsbCBhcyBhIGN1cnRlc3kgZG8gY3VzdG9tZXJzIHdobyBmb3Igc29tZSByZWFzb24gaGF2ZSBvbGRlciBicm93c2Vyc1xuICAgKiB3ZSBjYWxsIHRoZSBjYWxsYmFjayBvbmNlIHdpdGggdGhlIGluaXRpYWwgZGltZW5zaW9ucyBvZiB0aGUgZWxlbWVudFxuICAgKiBhbmQgdGhlbiBkbyBub3QgcmVhY3Qgb24gcmVzaXplIGV2ZW50cyBhZnRlcndhcmRzLlxuICAgKiBUaGlzIHNob3VsZCBzdGlsbCBtYWtlIHRoZW0gaGFwcGllciB0aGFuIGEgXCJicm93c2VyIG5vdCBzdXBwb3J0ZWRcIiB3YXJuaW5nLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRNb2NrT25lVGltZVJlc2l6ZUV2ZW50Rm9yVW5zdXBwb3J0ZWRCcm93c2VycyhlbGVtZW50OiBFbGVtZW50KSB7XG4gICAgY29uc3QgY29udGVudFJlY3QgPSB7XG4gICAgICBib3R0b206IGVsZW1lbnQuY2xpZW50SGVpZ2h0LFxuICAgICAgaGVpZ2h0OiBlbGVtZW50LmNsaWVudEhlaWdodCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogZWxlbWVudC5jbGllbnRXaWR0aCxcbiAgICAgIHRvcDogMCxcbiAgICAgIHdpZHRoOiBlbGVtZW50LmNsaWVudFdpZHRoLFxuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICBib3JkZXJCb3hTaXplOiBbeyBibG9ja1NpemU6IGVsZW1lbnQuY2xpZW50SGVpZ2h0LCBpbmxpbmVTaXplOiBlbGVtZW50LmNsaWVudFdpZHRoIH1dLFxuICAgICAgY29udGVudEJveFNpemU6IFtcbiAgICAgICAge1xuICAgICAgICAgIGJsb2NrU2l6ZTogZWxlbWVudC5jbGllbnRIZWlnaHQsXG4gICAgICAgICAgaW5saW5lU2l6ZTogZWxlbWVudC5jbGllbnRXaWR0aFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgY29udGVudFJlY3Q6IHtcbiAgICAgICAgLi4uY29udGVudFJlY3QsXG4gICAgICAgIHRvSlNPTjogKCkgPT4gSlNPTi5zdHJpbmdpZnkoY29udGVudFJlY3QpXG4gICAgICB9LFxuICAgICAgZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZTogW1xuICAgICAgICB7XG4gICAgICAgICAgYmxvY2tTaXplOiBlbGVtZW50LmNsaWVudFdpZHRoLFxuICAgICAgICAgIGlubGluZVNpemU6IGVsZW1lbnQuY2xpZW50V2lkdGhcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHRhcmdldDogZWxlbWVudFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
@@ -1,74 +0,0 @@
|
|
1
|
-
function toCdkX(x) {
|
2
|
-
switch (x) {
|
3
|
-
case 'left':
|
4
|
-
return 'start';
|
5
|
-
case 'center':
|
6
|
-
return 'center';
|
7
|
-
case 'right':
|
8
|
-
return 'end';
|
9
|
-
}
|
10
|
-
}
|
11
|
-
function invertCdkX(x) {
|
12
|
-
switch (x) {
|
13
|
-
case 'start':
|
14
|
-
return 'end';
|
15
|
-
case 'center':
|
16
|
-
return 'center';
|
17
|
-
case 'end':
|
18
|
-
return 'start';
|
19
|
-
}
|
20
|
-
}
|
21
|
-
function invertCdkY(x) {
|
22
|
-
switch (x) {
|
23
|
-
case 'top':
|
24
|
-
return 'bottom';
|
25
|
-
case 'center':
|
26
|
-
return 'center';
|
27
|
-
case 'bottom':
|
28
|
-
return 'top';
|
29
|
-
}
|
30
|
-
}
|
31
|
-
function offsetYDirection(x) {
|
32
|
-
switch (x) {
|
33
|
-
case 'top':
|
34
|
-
return -6;
|
35
|
-
case 'center':
|
36
|
-
return 0;
|
37
|
-
case 'bottom':
|
38
|
-
return 6;
|
39
|
-
}
|
40
|
-
}
|
41
|
-
function offsetXDirection(position) {
|
42
|
-
switch (position.y) {
|
43
|
-
case 'center':
|
44
|
-
switch (position.x) {
|
45
|
-
case 'left':
|
46
|
-
return -6;
|
47
|
-
case 'center':
|
48
|
-
return 0;
|
49
|
-
case 'right':
|
50
|
-
return 6;
|
51
|
-
}
|
52
|
-
case 'top':
|
53
|
-
case 'bottom':
|
54
|
-
switch (position.x) {
|
55
|
-
case 'left':
|
56
|
-
return 30;
|
57
|
-
case 'center':
|
58
|
-
return 0;
|
59
|
-
case 'right':
|
60
|
-
return -30;
|
61
|
-
}
|
62
|
-
}
|
63
|
-
}
|
64
|
-
export function toCdkPosition(position) {
|
65
|
-
return {
|
66
|
-
originX: toCdkX(position.x),
|
67
|
-
originY: position.y,
|
68
|
-
overlayX: invertCdkX(toCdkX(position.x)),
|
69
|
-
overlayY: invertCdkY(position.y),
|
70
|
-
offsetY: offsetYDirection(position.y),
|
71
|
-
offsetX: offsetXDirection(position)
|
72
|
-
};
|
73
|
-
}
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tY2RrLXBvc2l0aW9uLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS90b29sdGlwL3RvLWNkay1wb3NpdGlvbi5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxTQUFTLE1BQU0sQ0FBQyxDQUE4QjtJQUM1QyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ1YsS0FBSyxNQUFNO1lBQ1QsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxRQUFRLENBQUM7UUFDbEIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxDQUE2QjtJQUMvQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ1YsS0FBSyxPQUFPO1lBQ1YsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQztRQUNsQixLQUFLLEtBQUs7WUFDUixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLENBQThCO0lBQ2hELFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDVixLQUFLLEtBQUs7WUFDUixPQUFPLFFBQVEsQ0FBQztRQUNsQixLQUFLLFFBQVE7WUFDWCxPQUFPLFFBQVEsQ0FBQztRQUNsQixLQUFLLFFBQVE7WUFDWCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsQ0FBOEI7SUFDdEQsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNWLEtBQUssS0FBSztZQUNSLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDWixLQUFLLFFBQVE7WUFDWCxPQUFPLENBQUMsQ0FBQztRQUNYLEtBQUssUUFBUTtZQUNYLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFFBQXlCO0lBQ2pELFFBQVEsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25CLEtBQUssUUFBUTtZQUNYLFFBQVEsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNuQixLQUFLLE1BQU07b0JBQ1QsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDWixLQUFLLFFBQVE7b0JBQ1gsT0FBTyxDQUFDLENBQUM7Z0JBQ1gsS0FBSyxPQUFPO29CQUNWLE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQztRQUNILEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxRQUFRO1lBQ1gsUUFBUSxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLEtBQUssTUFBTTtvQkFDVCxPQUFPLEVBQUUsQ0FBQztnQkFDWixLQUFLLFFBQVE7b0JBQ1gsT0FBTyxDQUFDLENBQUM7Z0JBQ1gsS0FBSyxPQUFPO29CQUNWLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDZixDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQXlCO0lBQ3JELE9BQU87UUFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25CLFFBQVEsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztLQUNwQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi90b29sdGlwLXBvc2l0aW9uLmludGVyZmFjZSc7XG5cbmZ1bmN0aW9uIHRvQ2RrWCh4OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcpOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJyB7XG4gIHN3aXRjaCAoeCkge1xuICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgcmV0dXJuICdzdGFydCc7XG4gICAgY2FzZSAnY2VudGVyJzpcbiAgICAgIHJldHVybiAnY2VudGVyJztcbiAgICBjYXNlICdyaWdodCc6XG4gICAgICByZXR1cm4gJ2VuZCc7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW52ZXJ0Q2RrWCh4OiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJyk6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnIHtcbiAgc3dpdGNoICh4KSB7XG4gICAgY2FzZSAnc3RhcnQnOlxuICAgICAgcmV0dXJuICdlbmQnO1xuICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICByZXR1cm4gJ2NlbnRlcic7XG4gICAgY2FzZSAnZW5kJzpcbiAgICAgIHJldHVybiAnc3RhcnQnO1xuICB9XG59XG5cbmZ1bmN0aW9uIGludmVydENka1koeDogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nKTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nIHtcbiAgc3dpdGNoICh4KSB7XG4gICAgY2FzZSAndG9wJzpcbiAgICAgIHJldHVybiAnYm90dG9tJztcbiAgICBjYXNlICdjZW50ZXInOlxuICAgICAgcmV0dXJuICdjZW50ZXInO1xuICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICByZXR1cm4gJ3RvcCc7XG4gIH1cbn1cblxuZnVuY3Rpb24gb2Zmc2V0WURpcmVjdGlvbih4OiAndG9wJyB8ICdjZW50ZXInIHwgJ2JvdHRvbScpOiBudW1iZXIge1xuICBzd2l0Y2ggKHgpIHtcbiAgICBjYXNlICd0b3AnOlxuICAgICAgcmV0dXJuIC02O1xuICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICByZXR1cm4gMDtcbiAgICBjYXNlICdib3R0b20nOlxuICAgICAgcmV0dXJuIDY7XG4gIH1cbn1cblxuZnVuY3Rpb24gb2Zmc2V0WERpcmVjdGlvbihwb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uKTogbnVtYmVyIHtcbiAgc3dpdGNoIChwb3NpdGlvbi55KSB7XG4gICAgY2FzZSAnY2VudGVyJzpcbiAgICAgIHN3aXRjaCAocG9zaXRpb24ueCkge1xuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICByZXR1cm4gLTY7XG4gICAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICByZXR1cm4gNjtcbiAgICAgIH1cbiAgICBjYXNlICd0b3AnOlxuICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICBzd2l0Y2ggKHBvc2l0aW9uLngpIHtcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgcmV0dXJuIDMwO1xuICAgICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgcmV0dXJuIC0zMDtcbiAgICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9DZGtQb3NpdGlvbihwb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uKTogQ29ubmVjdGVkUG9zaXRpb24ge1xuICByZXR1cm4ge1xuICAgIG9yaWdpblg6IHRvQ2RrWChwb3NpdGlvbi54KSxcbiAgICBvcmlnaW5ZOiBwb3NpdGlvbi55LFxuICAgIG92ZXJsYXlYOiBpbnZlcnRDZGtYKHRvQ2RrWChwb3NpdGlvbi54KSksXG4gICAgb3ZlcmxheVk6IGludmVydENka1kocG9zaXRpb24ueSksXG4gICAgb2Zmc2V0WTogb2Zmc2V0WURpcmVjdGlvbihwb3NpdGlvbi55KSxcbiAgICBvZmZzZXRYOiBvZmZzZXRYRGlyZWN0aW9uKHBvc2l0aW9uKVxuICB9O1xufVxuIl19
|
@@ -1,7 +0,0 @@
|
|
1
|
-
export function isValidX(x) {
|
2
|
-
return ['left', 'center', 'right'].includes(x);
|
3
|
-
}
|
4
|
-
export function isValidY(y) {
|
5
|
-
return ['top', 'center', 'bottom'].includes(y);
|
6
|
-
}
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wb3NpdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC1wb3NpdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQUFTO0lBQ2hDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQUFTO0lBQ2hDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUb29sdGlwUG9zaXRpb24ge1xuICB4OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIHk6ICd0b3AnIHwgJ2NlbnRlcicgfCAnYm90dG9tJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRYKHg6IHN0cmluZyk6IHggaXMgJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnIHtcbiAgcmV0dXJuIFsnbGVmdCcsICdjZW50ZXInLCAncmlnaHQnXS5pbmNsdWRlcyh4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRZKHk6IHN0cmluZyk6IHkgaXMgJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nIHtcbiAgcmV0dXJuIFsndG9wJywgJ2NlbnRlcicsICdib3R0b20nXS5pbmNsdWRlcyh5KTtcbn1cbiJdfQ==
|
@@ -1,26 +0,0 @@
|
|
1
|
-
import { NgClass, NgIf } from '@angular/common';
|
2
|
-
import { Component, Input } from '@angular/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class TooltipComponent {
|
5
|
-
constructor() {
|
6
|
-
this.content = '';
|
7
|
-
this.isHtmlContent = false;
|
8
|
-
this.position = {
|
9
|
-
x: 'center',
|
10
|
-
y: 'top'
|
11
|
-
};
|
12
|
-
}
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TooltipComponent, isStandalone: true, selector: "lx-tooltip", inputs: { content: "content", isHtmlContent: "isHtmlContent", position: "position" }, host: { attributes: { "role": "tooltip" } }, ngImport: i0, template: "<div *ngIf=\"!isHtmlContent; else htmlTooltip\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\">{{ content }}</div>\n<ng-template #htmlTooltip>\n <div [innerHtml]=\"content\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\"></div>\n</ng-template>\n", styles: [":host{display:block;position:relative;margin:5px}div{background-color:#292929;color:#fff;border:0 solid transparent;border-radius:5px;opacity:1;font-size:var(--lxFontSmallSize, 12px);font-weight:var(--lxFontNormal, 400);text-shadow:0 1px black;text-align:left;word-wrap:break-word;line-height:16px;max-width:280px;min-width:50px;padding:6px 10px;overflow:hidden}.y-bottom:after,.y-top:after,.x-left:after,.x-right:after{content:\" \";position:absolute;border-width:5px;border-style:solid;border-color:#292929 transparent transparent transparent}.y-top:after{top:100%;margin-left:-5px}.y-bottom:after{top:0;margin-left:-5px;transform-origin:center top;transform:rotate(180deg)}.y-center:after{top:50%;margin-left:-5px;margin-top:-10px}.y-top.x-center:after,.y-bottom.x-center:after{left:50%}.y-top.x-left:after,.y-bottom.x-left:after{right:10px}.y-top.x-right:after,.y-bottom.x-right:after{left:10px}.y-center.x-right:after{left:0;transform-origin:left center;transform:rotate(90deg)}.y-center.x-left:after{left:100%;transform-origin:right center;transform:rotate(-90deg)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
15
|
-
}
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TooltipComponent, decorators: [{
|
17
|
-
type: Component,
|
18
|
-
args: [{ selector: 'lx-tooltip', standalone: true, imports: [NgIf, NgClass], host: { role: 'tooltip' }, template: "<div *ngIf=\"!isHtmlContent; else htmlTooltip\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\">{{ content }}</div>\n<ng-template #htmlTooltip>\n <div [innerHtml]=\"content\" [ngClass]=\"['x-' + position.x, 'y-' + position.y]\"></div>\n</ng-template>\n", styles: [":host{display:block;position:relative;margin:5px}div{background-color:#292929;color:#fff;border:0 solid transparent;border-radius:5px;opacity:1;font-size:var(--lxFontSmallSize, 12px);font-weight:var(--lxFontNormal, 400);text-shadow:0 1px black;text-align:left;word-wrap:break-word;line-height:16px;max-width:280px;min-width:50px;padding:6px 10px;overflow:hidden}.y-bottom:after,.y-top:after,.x-left:after,.x-right:after{content:\" \";position:absolute;border-width:5px;border-style:solid;border-color:#292929 transparent transparent transparent}.y-top:after{top:100%;margin-left:-5px}.y-bottom:after{top:0;margin-left:-5px;transform-origin:center top;transform:rotate(180deg)}.y-center:after{top:50%;margin-left:-5px;margin-top:-10px}.y-top.x-center:after,.y-bottom.x-center:after{left:50%}.y-top.x-left:after,.y-bottom.x-left:after{right:10px}.y-top.x-right:after,.y-bottom.x-right:after{left:10px}.y-center.x-right:after{left:0;transform-origin:left center;transform:rotate(90deg)}.y-center.x-left:after{left:100%;transform-origin:right center;transform:rotate(-90deg)}\n"] }]
|
19
|
-
}], propDecorators: { content: [{
|
20
|
-
type: Input
|
21
|
-
}], isHtmlContent: [{
|
22
|
-
type: Input
|
23
|
-
}], position: [{
|
24
|
-
type: Input
|
25
|
-
}] } });
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVdqRCxNQUFNLE9BQU8sZ0JBQWdCO0lBUjdCO1FBU1csWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGFBQVEsR0FBb0I7WUFDbkMsQ0FBQyxFQUFFLFFBQVE7WUFDWCxDQUFDLEVBQUUsS0FBSztTQUNULENBQUM7S0FDSDs4R0FQWSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix5TUNaN0Isb1FBSUEsMm1DREtZLElBQUksNkZBQUUsT0FBTzs7MkZBR1osZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLFlBQVksY0FHVixJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQ2xCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTs4QkFHaEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi90b29sdGlwLXBvc2l0aW9uLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LXRvb2x0aXAnLFxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3NdLFxuICBob3N0OiB7IHJvbGU6ICd0b29sdGlwJyB9XG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQge1xuICBASW5wdXQoKSBjb250ZW50ID0gJyc7XG4gIEBJbnB1dCgpIGlzSHRtbENvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9IHtcbiAgICB4OiAnY2VudGVyJyxcbiAgICB5OiAndG9wJ1xuICB9O1xufVxuIiwiPGRpdiAqbmdJZj1cIiFpc0h0bWxDb250ZW50OyBlbHNlIGh0bWxUb29sdGlwXCIgW25nQ2xhc3NdPVwiWyd4LScgKyBwb3NpdGlvbi54LCAneS0nICsgcG9zaXRpb24ueV1cIj57eyBjb250ZW50IH19PC9kaXY+XG48bmctdGVtcGxhdGUgI2h0bWxUb29sdGlwPlxuICA8ZGl2IFtpbm5lckh0bWxdPVwiY29udGVudFwiIFtuZ0NsYXNzXT1cIlsneC0nICsgcG9zaXRpb24ueCwgJ3ktJyArIHBvc2l0aW9uLnldXCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -1,117 +0,0 @@
|
|
1
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
2
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
3
|
-
import { toCdkPosition } from './to-cdk-position.function';
|
4
|
-
import { isValidX, isValidY } from './tooltip-position.interface';
|
5
|
-
import { TooltipComponent } from './tooltip.component';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "@angular/cdk/overlay";
|
8
|
-
import * as i2 from "@angular/cdk/a11y";
|
9
|
-
/**
|
10
|
-
* Tooltip directive is used to show a tooltip on hover or focus on an element.
|
11
|
-
*/
|
12
|
-
export class TooltipDirective {
|
13
|
-
/** The position of the tooltip. */
|
14
|
-
set lxTooltipPosition(value) {
|
15
|
-
this.position = {
|
16
|
-
x: value && isValidX(value.x) ? value.x : 'center',
|
17
|
-
y: value && isValidY(value.y) ? value.y : 'top'
|
18
|
-
};
|
19
|
-
}
|
20
|
-
get positionStrategy() {
|
21
|
-
return this.overlayPositionBuilder.flexibleConnectedTo(this.elementRef).withPositions([toCdkPosition(this.position)]);
|
22
|
-
}
|
23
|
-
constructor(overlayPositionBuilder, elementRef, overlay, ariaDescriber) {
|
24
|
-
this.overlayPositionBuilder = overlayPositionBuilder;
|
25
|
-
this.elementRef = elementRef;
|
26
|
-
this.overlay = overlay;
|
27
|
-
this.ariaDescriber = ariaDescriber;
|
28
|
-
this.position = {
|
29
|
-
x: 'center',
|
30
|
-
y: 'top'
|
31
|
-
};
|
32
|
-
/** Whether the tooltip content is HTML. */
|
33
|
-
this.lxTooltipIsHtmlContent = false;
|
34
|
-
this.mouseOrFocusOnHost = false;
|
35
|
-
}
|
36
|
-
ngOnChanges(changes) {
|
37
|
-
if (this.overlayRef && changes['lxTooltipPosition']) {
|
38
|
-
this.overlayRef.updatePositionStrategy(this.positionStrategy);
|
39
|
-
}
|
40
|
-
if (this.tooltipRef) {
|
41
|
-
if (changes['lxTooltipPosition']) {
|
42
|
-
this.tooltipRef.instance.position = this.position;
|
43
|
-
}
|
44
|
-
if (changes['lxTooltipIsHtmlContent']) {
|
45
|
-
this.tooltipRef.instance.isHtmlContent = this.lxTooltipIsHtmlContent;
|
46
|
-
}
|
47
|
-
if (changes['content']) {
|
48
|
-
if (this.content) {
|
49
|
-
this.tooltipRef.instance.content = this.content;
|
50
|
-
this.overlayRef?.updatePosition();
|
51
|
-
}
|
52
|
-
else {
|
53
|
-
this.overlayRef?.detach();
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
/** @internal */
|
59
|
-
show() {
|
60
|
-
this.mouseOrFocusOnHost = true;
|
61
|
-
setTimeout(() => {
|
62
|
-
if (!this.overlayRef?.hasAttached() && this.mouseOrFocusOnHost && this.content) {
|
63
|
-
this.overlayRef = this.overlay.create({ positionStrategy: this.positionStrategy });
|
64
|
-
const tooltipPortal = new ComponentPortal(TooltipComponent);
|
65
|
-
this.tooltipRef = this.overlayRef.attach(tooltipPortal);
|
66
|
-
this.tooltipRef.instance.content = this.content;
|
67
|
-
this.tooltipRef.instance.isHtmlContent = this.lxTooltipIsHtmlContent;
|
68
|
-
this.tooltipRef.instance.position = this.position;
|
69
|
-
this.ariaDescriber.describe(this.elementRef.nativeElement, this.tooltipRef.location.nativeElement);
|
70
|
-
}
|
71
|
-
}, this.lxTooltipDelay ?? 90);
|
72
|
-
}
|
73
|
-
ngOnDestroy() {
|
74
|
-
this.mouseOrFocusOnHost = false;
|
75
|
-
this.overlayRef?.dispose();
|
76
|
-
}
|
77
|
-
/** @internal */
|
78
|
-
hide() {
|
79
|
-
this.mouseOrFocusOnHost = false;
|
80
|
-
this.ariaDescriber.removeDescription(this.elementRef.nativeElement, this.tooltipRef?.location.nativeElement);
|
81
|
-
this.overlayRef?.dispose();
|
82
|
-
}
|
83
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i1.Overlay }, { token: i2.AriaDescriber }], target: i0.ɵɵFactoryTarget.Directive }); }
|
84
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: TooltipDirective, isStandalone: true, selector: "[lxTooltip]", inputs: { content: ["lxTooltip", "content"], lxTooltipPosition: "lxTooltipPosition", lxTooltipDelay: "lxTooltipDelay", lxTooltipIsHtmlContent: "lxTooltipIsHtmlContent" }, host: { listeners: { "mouseenter": "show()", "focus": "show()", "mouseleave": "hide()", "click": "hide()", "blur": "hide()" } }, usesOnChanges: true, ngImport: i0 }); }
|
85
|
-
}
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TooltipDirective, decorators: [{
|
87
|
-
type: Directive,
|
88
|
-
args: [{
|
89
|
-
selector: '[lxTooltip]',
|
90
|
-
standalone: true
|
91
|
-
}]
|
92
|
-
}], ctorParameters: () => [{ type: i1.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i1.Overlay }, { type: i2.AriaDescriber }], propDecorators: { content: [{
|
93
|
-
type: Input,
|
94
|
-
args: ['lxTooltip']
|
95
|
-
}], lxTooltipPosition: [{
|
96
|
-
type: Input
|
97
|
-
}], lxTooltipDelay: [{
|
98
|
-
type: Input
|
99
|
-
}], lxTooltipIsHtmlContent: [{
|
100
|
-
type: Input
|
101
|
-
}], show: [{
|
102
|
-
type: HostListener,
|
103
|
-
args: ['mouseenter']
|
104
|
-
}, {
|
105
|
-
type: HostListener,
|
106
|
-
args: ['focus']
|
107
|
-
}], hide: [{
|
108
|
-
type: HostListener,
|
109
|
-
args: ['mouseleave']
|
110
|
-
}, {
|
111
|
-
type: HostListener,
|
112
|
-
args: ['click']
|
113
|
-
}, {
|
114
|
-
type: HostListener,
|
115
|
-
args: ['blur']
|
116
|
-
}] } });
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBZ0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQW1CLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUV2RDs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsbUNBQW1DO0lBQ25DLElBQWEsaUJBQWlCLENBQUMsS0FBMkM7UUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLENBQUMsRUFBRSxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUNsRCxDQUFDLEVBQUUsS0FBSyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7U0FDaEQsQ0FBQztJQUNKLENBQUM7SUFjRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxD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QUM7UUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCO0lBSWhCLElBQUk7UUFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXZGVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3NLQUdxQixPQUFPO3NCQUExQixLQUFLO3VCQUFDLFdBQVc7Z0JBRUwsaUJBQWlCO3NCQUE3QixLQUFLO2dCQVdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsc0JBQXNCO3NCQUE5QixLQUFLO2dCQTBDTixJQUFJO3NCQUZILFlBQVk7dUJBQUMsWUFBWTs7c0JBQ3pCLFlBQVk7dUJBQUMsT0FBTztnQkF5QnJCLElBQUk7c0JBSEgsWUFBWTt1QkFBQyxZQUFZOztzQkFDekIsWUFBWTt1QkFBQyxPQUFPOztzQkFDcEIsWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJpYURlc2NyaWJlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9DZGtQb3NpdGlvbiB9IGZyb20gJy4vdG8tY2RrLXBvc2l0aW9uLmZ1bmN0aW9uJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiwgaXNWYWxpZFgsIGlzVmFsaWRZIH0gZnJvbSAnLi90b29sdGlwLXBvc2l0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwLmNvbXBvbmVudCc7XG5cbi8qKlxuICogVG9vbHRpcCBkaXJlY3RpdmUgaXMgdXNlZCB0byBzaG93IGEgdG9vbHRpcCBvbiBob3ZlciBvciBmb2N1cyBvbiBhbiBlbGVtZW50LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbHhUb29sdGlwXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqIFRoZSBjb250ZW50IG9mIHRoZSB0b29sdGlwLiAqL1xuICBASW5wdXQoJ2x4VG9vbHRpcCcpIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsO1xuICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwLiAqL1xuICBASW5wdXQoKSBzZXQgbHhUb29sdGlwUG9zaXRpb24odmFsdWU6IHsgeDogc3RyaW5nOyB5OiBzdHJpbmcgfSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMucG9zaXRpb24gPSB7XG4gICAgICB4OiB2YWx1ZSAmJiBpc1ZhbGlkWCh2YWx1ZS54KSA/IHZhbHVlLnggOiAnY2VudGVyJyxcbiAgICAgIHk6IHZhbHVlICYmIGlzVmFsaWRZKHZhbHVlLnkpID8gdmFsdWUueSA6ICd0b3AnXG4gICAgfTtcbiAgfVxuICBwcml2YXRlIHBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSB7XG4gICAgeDogJ2NlbnRlcicsXG4gICAgeTogJ3RvcCdcbiAgfTtcbiAgLyoqIFRoZSBkZWxheSBpbiBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0b29sdGlwIGlzIHNob3duLiAqL1xuICBASW5wdXQoKSBseFRvb2x0aXBEZWxheT86IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgdGhlIHRvb2x0aXAgY29udGVudCBpcyBIVE1MLiAqL1xuICBASW5wdXQoKSBseFRvb2x0aXBJc0h0bWxDb250ZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSB0b29sdGlwUmVmPzogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+O1xuICBwcml2YXRlIG1vdXNlT3JGb2N1c09uSG9zdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBwb3NpdGlvblN0cmF0ZWd5KCkge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpLndpdGhQb3NpdGlvbnMoW3RvQ2RrUG9zaXRpb24odGhpcy5wb3NpdGlvbildKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgYXJpYURlc2NyaWJlcjogQXJpYURlc2NyaWJlclxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgJiYgY2hhbmdlc1snbHhUb29sdGlwUG9zaXRpb24nXSkge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy5wb3NpdGlvblN0cmF0ZWd5KTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9vbHRpcFJlZikge1xuICAgICAgaWYgKGNoYW5nZXNbJ2x4VG9vbHRpcFBvc2l0aW9uJ10pIHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLnBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjtcbiAgICAgIH1cbiAgICAgIGlmIChjaGFuZ2VzWydseFRvb2x0aXBJc0h0bWxDb250ZW50J10pIHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLmlzSHRtbENvbnRlbnQgPSB0aGlzLmx4VG9vbHRpcElzSHRtbENvbnRlbnQ7XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlc1snY29udGVudCddKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuY29udGVudCA9IHRoaXMuY29udGVudDtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgc2hvdygpIHtcbiAgICB0aGlzLm1vdXNlT3JGb2N1c09uSG9zdCA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSAmJiB0aGlzLm1vdXNlT3JGb2N1c09uSG9zdCAmJiB0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7IHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucG9zaXRpb25TdHJhdGVneSB9KTtcbiAgICAgICAgY29uc3QgdG9vbHRpcFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoVG9vbHRpcENvbXBvbmVudCk7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2godG9vbHRpcFBvcnRhbCk7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuaXNIdG1sQ29udGVudCA9IHRoaXMubHhUb29sdGlwSXNIdG1sQ29udGVudDtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLnBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjtcbiAgICAgICAgdGhpcy5hcmlhRGVzY3JpYmVyLmRlc2NyaWJlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLnRvb2x0aXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgdGhpcy5seFRvb2x0aXBEZWxheSA/PyA5MCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm1vdXNlT3JGb2N1c09uSG9zdCA9IGZhbHNlO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgaGlkZSgpIHtcbiAgICB0aGlzLm1vdXNlT3JGb2N1c09uSG9zdCA9IGZhbHNlO1xuICAgIHRoaXMuYXJpYURlc2NyaWJlci5yZW1vdmVEZXNjcmlwdGlvbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy50b29sdGlwUmVmPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgfVxufVxuIl19
|
@@ -1,139 +0,0 @@
|
|
1
|
-
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
2
|
-
import { AsyncPipe, NgClass, NgFor, NgIf, NgTemplateOutlet, UpperCasePipe } from '@angular/common';
|
3
|
-
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, ViewChild, forwardRef } from '@angular/core';
|
4
|
-
import { TranslateModule } from '@ngx-translate/core';
|
5
|
-
import { isEqual, some, toLower } from 'lodash/fp';
|
6
|
-
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
7
|
-
import { CounterComponent } from '../../../core-ui/components/counter/counter.component';
|
8
|
-
import { SpinnerComponent } from '../../../core-ui/components/spinner/spinner.component';
|
9
|
-
import { SelectableItemDirective } from '../../directives/selectable-item.directive';
|
10
|
-
import { KeyboardSelectDirective } from '../keyboard-select.directive';
|
11
|
-
import * as i0 from "@angular/core";
|
12
|
-
import * as i1 from "ngx-infinite-scroll";
|
13
|
-
import * as i2 from "@ngx-translate/core";
|
14
|
-
export class BasicDropdownComponent extends KeyboardSelectDirective {
|
15
|
-
static isNewItem(items, term, key) {
|
16
|
-
if (!term) {
|
17
|
-
return false;
|
18
|
-
}
|
19
|
-
const isEqualIgnoringCase = (item) => {
|
20
|
-
const value = key ? item[key] : item;
|
21
|
-
return isEqual(toLower(value), toLower(term));
|
22
|
-
};
|
23
|
-
return !some(isEqualIgnoringCase, items);
|
24
|
-
}
|
25
|
-
constructor() {
|
26
|
-
super();
|
27
|
-
this.NAME = 'BasicDropdownComponent';
|
28
|
-
this.options = [];
|
29
|
-
this.initiallySelectedIndex = -1;
|
30
|
-
this.loading = false;
|
31
|
-
this.padding = 'default';
|
32
|
-
this.showCreateNewOption = false;
|
33
|
-
this.disabledOptions = {};
|
34
|
-
this.overlayPositioning = false;
|
35
|
-
this.truncateOptions = false;
|
36
|
-
this.onItemSelected = new EventEmitter();
|
37
|
-
this.triggerRequestForMoreEntries = new EventEmitter();
|
38
|
-
this.newOptionLabelSelected = new EventEmitter();
|
39
|
-
this.createNewOptionSelected = new EventEmitter();
|
40
|
-
this.isTopDropdown = false;
|
41
|
-
}
|
42
|
-
selectOption(option) {
|
43
|
-
const isDisabledOption = option
|
44
|
-
? Object.entries(this.disabledOptions || {}).length > 0 &&
|
45
|
-
((this.itemKey && this.disabledOptions[option[this.itemKey]]) || this.disabledOptions[option])
|
46
|
-
: false;
|
47
|
-
if (!option || !isDisabledOption) {
|
48
|
-
this.onItemSelected.emit(option);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
onPositionChange(event) {
|
52
|
-
this.isTopDropdown = event.connectionPair.originY === 'top';
|
53
|
-
}
|
54
|
-
get isNewItem() {
|
55
|
-
return BasicDropdownComponent.isNewItem(this.options, this.newOptionLabel, this.labelKey);
|
56
|
-
}
|
57
|
-
trackByProp(prop) {
|
58
|
-
return (index, pill) => (prop ? pill[prop] : index);
|
59
|
-
}
|
60
|
-
onScroll() {
|
61
|
-
this.triggerRequestForMoreEntries.emit();
|
62
|
-
}
|
63
|
-
onNewItemSelected() {
|
64
|
-
if (!this.loading) {
|
65
|
-
this.selectOption(null);
|
66
|
-
this.newOptionLabelSelected.emit(this.newOptionLabel);
|
67
|
-
}
|
68
|
-
}
|
69
|
-
onCreateNewOptionSelected() {
|
70
|
-
this.createNewOptionSelected.emit();
|
71
|
-
}
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BasicDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: BasicDropdownComponent, isStandalone: true, selector: "lx-basic-dropdown", inputs: { options: "options", initiallySelectedIndex: "initiallySelectedIndex", labelKey: "labelKey", itemKey: "itemKey", placeholder: "placeholder", loading: "loading", newOptionLabel: "newOptionLabel", padding: "padding", showCreateNewOption: "showCreateNewOption", disabledOptions: "disabledOptions", overlayPositioning: "overlayPositioning", truncateOptions: "truncateOptions", noResultsText: "noResultsText" }, outputs: { onItemSelected: "onItemSelected", triggerRequestForMoreEntries: "triggerRequestForMoreEntries", newOptionLabelSelected: "newOptionLabelSelected", createNewOptionSelected: "createNewOptionSelected" }, providers: [{ provide: KeyboardSelectDirective, useExisting: forwardRef(() => BasicDropdownComponent) }], queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "createNewOptionTemplateRef", first: true, predicate: ["createNewOptionTemplate"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["descriptionTemplateRef"], descendants: true }], viewQueries: [{ propertyName: "selectOrigin", first: true, predicate: ["selectOrigin"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"dropdown\" *ngIf=\"!overlayPositioning\" />\n<ng-container *ngIf=\"overlayPositioning\">\n <div class=\"overlayOrigin\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayOpen]=\"!!(cdkOverlayOpen$ | async)\"\n [cdkConnectedOverlayWidth]=\"selectOrigin.elementRef.nativeElement.offsetWidth\"\n (positionChange)=\"onPositionChange($event)\"\n >\n <div class=\"overlayDropdown\" [ngClass]=\"{ top: isTopDropdown }\">\n <ng-container [ngTemplateOutlet]=\"dropdown\" />\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdown>\n <ul\n class=\"options {{ padding }}Padding lxThinScrollbar\"\n #keyboardSelectContainer\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n [ngClass]=\"{ truncateOptions: truncateOptions }\"\n (scrolled)=\"onScroll()\"\n >\n <li\n *ngIf=\"newOptionLabel && isNewItem\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onNewItemSelected()\"\n (select)=\"onNewItemSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable onTheFlyOption\"\n [attr.aria-label]=\"newOptionLabel\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-counter class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\" />\n </li>\n <li\n *ngIf=\"showCreateNewOption\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOptionSelected()\"\n (select)=\"onCreateNewOptionSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable newEntryOption\"\n >\n <span class=\"newEntryContent\">\n <ng-container *ngIf=\"createNewOptionTemplateRef; else defaultNewOption\">\n <ng-container *ngTemplateOutlet=\"createNewOptionTemplateRef\" />\n </ng-container>\n <ng-template #defaultNewOption>\n <span>\n {{ NAME + '.new' | translate }}\n </span>\n </ng-template>\n </span>\n </li>\n <li\n *ngIf=\"descriptionTemplateRef\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option disabledItem description\"\n >\n <span class=\"descriptionContent\">\n <ng-container *ngTemplateOutlet=\"descriptionTemplateRef\" />\n </span>\n </li>\n <li\n *ngIf=\"options?.length === 0 && !newOptionLabel && !loading\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable noOptionsAvailable\"\n [attr.aria-label]=\"noResultsText ?? (NAME + '.noResults' | translate)\"\n >\n {{ noResultsText ?? (NAME + '.noResults' | translate) }}\n </li>\n <li\n *ngIf=\"placeholder\"\n tabindex=\"-1\"\n class=\"option keyboardSelectable clearSelection\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"selectOption(null)\"\n (select)=\"selectOption(null)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n [attr.aria-label]=\"placeholder\"\n >\n {{ placeholder }}\n </li>\n <li\n *ngFor=\"let option of options; let index = index; trackBy: trackByProp(itemKey)\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option keyboardSelectable\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n [class.initiallySelected]=\"index === initiallySelectedIndex\"\n [class.disabledItem]=\"(itemKey && !!disabledOptions[option[itemKey]]) || this.disabledOptions[option]\"\n [attr.aria-label]=\"labelKey ? option[labelKey] : option\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\" />\n </ng-container>\n <ng-template #simpleStringDisplay>\n <span>\n {{ labelKey ? option[labelKey] : option }}\n </span>\n </ng-template>\n </li>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\" />\n </ul>\n</ng-template>\n", styles: [":host(.noOptionPadding) .options .option{padding:0}.overlayDropdown{width:100%;background:#fff;border-radius:3px;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;margin:0 -1px;width:calc(100% + 2px)}.overlayDropdown:not(.top){box-shadow:0 6px 6px #21252933;border-top:0;border-bottom:solid 1px #e1e5eb;border-top-left-radius:0;border-top-right-radius:0}.overlayDropdown.top{box-shadow:0 -4px 6px #21252933;border-top:solid 1px #e1e5eb;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.truncateOptions li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.defaultPadding .newEntryOption,.defaultPadding .onTheFlyOption,.defaultPadding .noOptionsAvailable{padding:4px 12px!important}.narrowPadding .newEntryOption,.narrowPadding .onTheFlyOption,.narrowPadding .noOptionsAvailable{padding:4px!important}.options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:250px}.options.defaultPadding .option{padding:4px 12px}.options.narrowPadding .option{padding:4px}.optionSearch{padding:2px}.option{cursor:pointer;display:block}.option:hover:not(.disabledItem){background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option.initiallySelected{color:var(--lx-primarybutton-backgroundcolor)}.option.disabledItem{cursor:default}.option.disabledItem:not(.description){opacity:.5}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: InfiniteScrollModule }, { kind: "directive", type: i1.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { kind: "component", type: CounterComponent, selector: "lx-counter", inputs: ["content", "size", "color"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
74
|
-
}
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BasicDropdownComponent, decorators: [{
|
76
|
-
type: Component,
|
77
|
-
args: [{ selector: 'lx-basic-dropdown', providers: [{ provide: KeyboardSelectDirective, useExisting: forwardRef(() => BasicDropdownComponent) }], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
78
|
-
NgIf,
|
79
|
-
NgTemplateOutlet,
|
80
|
-
CdkOverlayOrigin,
|
81
|
-
CdkConnectedOverlay,
|
82
|
-
NgClass,
|
83
|
-
InfiniteScrollModule,
|
84
|
-
SelectableItemDirective,
|
85
|
-
CounterComponent,
|
86
|
-
NgFor,
|
87
|
-
SpinnerComponent,
|
88
|
-
AsyncPipe,
|
89
|
-
UpperCasePipe,
|
90
|
-
TranslateModule
|
91
|
-
], template: "<ng-container [ngTemplateOutlet]=\"dropdown\" *ngIf=\"!overlayPositioning\" />\n<ng-container *ngIf=\"overlayPositioning\">\n <div class=\"overlayOrigin\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayOpen]=\"!!(cdkOverlayOpen$ | async)\"\n [cdkConnectedOverlayWidth]=\"selectOrigin.elementRef.nativeElement.offsetWidth\"\n (positionChange)=\"onPositionChange($event)\"\n >\n <div class=\"overlayDropdown\" [ngClass]=\"{ top: isTopDropdown }\">\n <ng-container [ngTemplateOutlet]=\"dropdown\" />\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdown>\n <ul\n class=\"options {{ padding }}Padding lxThinScrollbar\"\n #keyboardSelectContainer\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n [ngClass]=\"{ truncateOptions: truncateOptions }\"\n (scrolled)=\"onScroll()\"\n >\n <li\n *ngIf=\"newOptionLabel && isNewItem\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onNewItemSelected()\"\n (select)=\"onNewItemSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable onTheFlyOption\"\n [attr.aria-label]=\"newOptionLabel\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-counter class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\" />\n </li>\n <li\n *ngIf=\"showCreateNewOption\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOptionSelected()\"\n (select)=\"onCreateNewOptionSelected()\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable newEntryOption\"\n >\n <span class=\"newEntryContent\">\n <ng-container *ngIf=\"createNewOptionTemplateRef; else defaultNewOption\">\n <ng-container *ngTemplateOutlet=\"createNewOptionTemplateRef\" />\n </ng-container>\n <ng-template #defaultNewOption>\n <span>\n {{ NAME + '.new' | translate }}\n </span>\n </ng-template>\n </span>\n </li>\n <li\n *ngIf=\"descriptionTemplateRef\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option disabledItem description\"\n >\n <span class=\"descriptionContent\">\n <ng-container *ngTemplateOutlet=\"descriptionTemplateRef\" />\n </span>\n </li>\n <li\n *ngIf=\"options?.length === 0 && !newOptionLabel && !loading\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option keyboardSelectable noOptionsAvailable\"\n [attr.aria-label]=\"noResultsText ?? (NAME + '.noResults' | translate)\"\n >\n {{ noResultsText ?? (NAME + '.noResults' | translate) }}\n </li>\n <li\n *ngIf=\"placeholder\"\n tabindex=\"-1\"\n class=\"option keyboardSelectable clearSelection\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"selectOption(null)\"\n (select)=\"selectOption(null)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n [attr.aria-label]=\"placeholder\"\n >\n {{ placeholder }}\n </li>\n <li\n *ngFor=\"let option of options; let index = index; trackBy: trackByProp(itemKey)\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option keyboardSelectable\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n [class.initiallySelected]=\"index === initiallySelectedIndex\"\n [class.disabledItem]=\"(itemKey && !!disabledOptions[option[itemKey]]) || this.disabledOptions[option]\"\n [attr.aria-label]=\"labelKey ? option[labelKey] : option\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\" />\n </ng-container>\n <ng-template #simpleStringDisplay>\n <span>\n {{ labelKey ? option[labelKey] : option }}\n </span>\n </ng-template>\n </li>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\" />\n </ul>\n</ng-template>\n", styles: [":host(.noOptionPadding) .options .option{padding:0}.overlayDropdown{width:100%;background:#fff;border-radius:3px;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;margin:0 -1px;width:calc(100% + 2px)}.overlayDropdown:not(.top){box-shadow:0 6px 6px #21252933;border-top:0;border-bottom:solid 1px #e1e5eb;border-top-left-radius:0;border-top-right-radius:0}.overlayDropdown.top{box-shadow:0 -4px 6px #21252933;border-top:solid 1px #e1e5eb;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.truncateOptions li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.defaultPadding .newEntryOption,.defaultPadding .onTheFlyOption,.defaultPadding .noOptionsAvailable{padding:4px 12px!important}.narrowPadding .newEntryOption,.narrowPadding .onTheFlyOption,.narrowPadding .noOptionsAvailable{padding:4px!important}.options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:250px}.options.defaultPadding .option{padding:4px 12px}.options.narrowPadding .option{padding:4px}.optionSearch{padding:2px}.option{cursor:pointer;display:block}.option:hover:not(.disabledItem){background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option.initiallySelected{color:var(--lx-primarybutton-backgroundcolor)}.option.disabledItem{cursor:default}.option.disabledItem:not(.description){opacity:.5}\n"] }]
|
92
|
-
}], ctorParameters: () => [], propDecorators: { options: [{
|
93
|
-
type: Input
|
94
|
-
}], initiallySelectedIndex: [{
|
95
|
-
type: Input
|
96
|
-
}], labelKey: [{
|
97
|
-
type: Input
|
98
|
-
}], itemKey: [{
|
99
|
-
type: Input
|
100
|
-
}], placeholder: [{
|
101
|
-
type: Input
|
102
|
-
}], loading: [{
|
103
|
-
type: Input
|
104
|
-
}], newOptionLabel: [{
|
105
|
-
type: Input
|
106
|
-
}], padding: [{
|
107
|
-
type: Input
|
108
|
-
}], showCreateNewOption: [{
|
109
|
-
type: Input
|
110
|
-
}], disabledOptions: [{
|
111
|
-
type: Input
|
112
|
-
}], overlayPositioning: [{
|
113
|
-
type: Input
|
114
|
-
}], truncateOptions: [{
|
115
|
-
type: Input
|
116
|
-
}], noResultsText: [{
|
117
|
-
type: Input
|
118
|
-
}], onItemSelected: [{
|
119
|
-
type: Output
|
120
|
-
}], triggerRequestForMoreEntries: [{
|
121
|
-
type: Output
|
122
|
-
}], newOptionLabelSelected: [{
|
123
|
-
type: Output
|
124
|
-
}], createNewOptionSelected: [{
|
125
|
-
type: Output
|
126
|
-
}], optionTemplateRef: [{
|
127
|
-
type: ContentChild,
|
128
|
-
args: ['optionTemplate']
|
129
|
-
}], createNewOptionTemplateRef: [{
|
130
|
-
type: ContentChild,
|
131
|
-
args: ['createNewOptionTemplate']
|
132
|
-
}], descriptionTemplateRef: [{
|
133
|
-
type: ContentChild,
|
134
|
-
args: ['descriptionTemplateRef']
|
135
|
-
}], selectOrigin: [{
|
136
|
-
type: ViewChild,
|
137
|
-
args: ['selectOrigin', { static: false }]
|
138
|
-
}] } });
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2Jhc2ljLWRyb3Bkb3duL2Jhc2ljLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBa0MsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25HLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFckYsT0FBTyxFQUFFLHVCQUF1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RyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ1ksa0JBQWtCO3NCQUFuQyxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLDRCQUE0QjtzQkFBckMsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUV5QixpQkFBaUI7c0JBQWhELFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNXLDBCQUEwQjtzQkFBbEUsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ0Msc0JBQXNCO3NCQUE3RCxZQUFZO3VCQUFDLHdCQUF3QjtnQkFDUSxZQUFZO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luLCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBVcHBlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBpc0VxdWFsLCBzb21lLCB0b0xvd2VyIH0gZnJvbSAnbG9kYXNoL2ZwJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBDb3VudGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS11aS9jb21wb25lbnRzL2NvdW50ZXIvY291bnRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUtdWkvY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zZWxlY3RhYmxlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdFBhZGRpbmcgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2luZ2xlLXNlbGVjdC1wYWRkaW5nLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLZXlib2FyZFNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4uL2tleWJvYXJkLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1iYXNpYy1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnYmFzaWMtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnYmFzaWMtZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBLZXlib2FyZFNlbGVjdERpcmVjdGl2ZSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQmFzaWNEcm9wZG93bkNvbXBvbmVudCkgfV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIENka092ZXJsYXlPcmlnaW4sXG4gICAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgICBOZ0NsYXNzLFxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlLFxuICAgIENvdW50ZXJDb21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gICAgVXBwZXJDYXNlUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgS2V5Ym9hcmRTZWxlY3REaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIHN0YXRpYyBpc05ld0l0ZW0oaXRlbXM6IGFueVtdLCB0ZXJtOiBzdHJpbmcsIGtleT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghdGVybSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBpc0VxdWFsSWdub3JpbmdDYXNlID0gKGl0ZW06IGFueSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBrZXkgPyBpdGVtW2tleV0gOiBpdGVtO1xuICAgICAgcmV0dXJuIGlzRXF1YWwodG9Mb3dlcih2YWx1ZSksIHRvTG93ZXIodGVybSkpO1xuICAgIH07XG4gICAgcmV0dXJuICFzb21lKGlzRXF1YWxJZ25vcmluZ0Nhc2UsIGl0ZW1zKTtcbiAgfVxuXG4gIHJlYWRvbmx5IE5BTUUgPSAnQmFzaWNEcm9wZG93bkNvbXBvbmVudCc7XG5cbiAgQElucHV0KCkgb3B0aW9uczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgaW5pdGlhbGx5U2VsZWN0ZWRJbmRleCA9IC0xO1xuICBASW5wdXQoKSBsYWJlbEtleT86IHN0cmluZztcbiAgQElucHV0KCkgaXRlbUtleT86IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbmV3T3B0aW9uTGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhZGRpbmc/OiBTaW5nbGVTZWxlY3RQYWRkaW5nID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzaG93Q3JlYXRlTmV3T3B0aW9uID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZGlzYWJsZWRPcHRpb25zOiB7IFtpdGVtS2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICBASW5wdXQoKSBvdmVycmlkZSBvdmVybGF5UG9zaXRpb25pbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgdHJ1bmNhdGVPcHRpb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIG5vUmVzdWx0c1RleHQ/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB0cmlnZ2VyUmVxdWVzdEZvck1vcmVFbnRyaWVzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgbmV3T3B0aW9uTGFiZWxTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgY3JlYXRlTmV3T3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoJ2NyZWF0ZU5ld09wdGlvblRlbXBsYXRlJykgY3JlYXRlTmV3T3B0aW9uVGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKCdkZXNjcmlwdGlvblRlbXBsYXRlUmVmJykgZGVzY3JpcHRpb25UZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdE9yaWdpbicsIHsgc3RhdGljOiBmYWxzZSB9KSBzZWxlY3RPcmlnaW4hOiBDZGtPdmVybGF5T3JpZ2luO1xuICBpc1RvcERyb3Bkb3duID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IGFueSkge1xuICAgIGNvbnN0IGlzRGlzYWJsZWRPcHRpb24gPSBvcHRpb25cbiAgICAgID8gT2JqZWN0LmVudHJpZXModGhpcy5kaXNhYmxlZE9wdGlvbnMgfHwge30pLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgKCh0aGlzLml0ZW1LZXkgJiYgdGhpcy5kaXNhYmxlZE9wdGlvbnNbb3B0aW9uW3RoaXMuaXRlbUtleV1dKSB8fCB0aGlzLmRpc2FibGVkT3B0aW9uc1tvcHRpb25dKVxuICAgICAgOiBmYWxzZTtcblxuICAgIGlmICghb3B0aW9uIHx8ICFpc0Rpc2FibGVkT3B0aW9uKSB7XG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQob3B0aW9uKTtcbiAgICB9XG4gIH1cblxuICBvblBvc2l0aW9uQ2hhbmdlKGV2ZW50OiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpIHtcbiAgICB0aGlzLmlzVG9wRHJvcGRvd24gPSBldmVudC5jb25uZWN0aW9uUGFpci5vcmlnaW5ZID09PSAndG9wJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNOZXdJdGVtKCkge1xuICAgIHJldHVybiBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50LmlzTmV3SXRlbSh0aGlzLm9wdGlvbnMsIHRoaXMubmV3T3B0aW9uTGFiZWwsIHRoaXMubGFiZWxLZXkpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlQcm9wKHByb3A/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKGluZGV4OiBudW1iZXIsIHBpbGw6IGFueSkgPT4gKHByb3AgPyBwaWxsW3Byb3BdIDogaW5kZXgpO1xuICB9XG5cbiAgcHVibGljIG9uU2Nyb2xsKCkge1xuICAgIHRoaXMudHJpZ2dlclJlcXVlc3RGb3JNb3JlRW50cmllcy5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25OZXdJdGVtU2VsZWN0ZWQoKSB7XG4gICAgaWYgKCF0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKG51bGwpO1xuICAgICAgdGhpcy5uZXdPcHRpb25MYWJlbFNlbGVjdGVkLmVtaXQodGhpcy5uZXdPcHRpb25MYWJlbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ3JlYXRlTmV3T3B0aW9uU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5jcmVhdGVOZXdPcHRpb25TZWxlY3RlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcGRvd25cIiAqbmdJZj1cIiFvdmVybGF5UG9zaXRpb25pbmdcIiAvPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlQb3NpdGlvbmluZ1wiPlxuICA8ZGl2IGNsYXNzPVwib3ZlcmxheU9yaWdpblwiIGNka092ZXJsYXlPcmlnaW4gI3NlbGVjdE9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIj48L2Rpdj5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInNlbGVjdE9yaWdpblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIiEhKGNka092ZXJsYXlPcGVuJCB8IGFzeW5jKVwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJzZWxlY3RPcmlnaW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoXCJcbiAgICAocG9zaXRpb25DaGFuZ2UpPVwib25Qb3NpdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5RHJvcGRvd25cIiBbbmdDbGFzc109XCJ7IHRvcDogaXNUb3BEcm9wZG93biB9XCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICA8dWxcbiAgICBjbGFzcz1cIm9wdGlvbnMge3sgcGFkZGluZyB9fVBhZGRpbmcgbHhUaGluU2Nyb2xsYmFyXCJcbiAgICAja2V5Ym9hcmRTZWxlY3RDb250YWluZXJcbiAgICBpbmZpbml0ZS1zY3JvbGxcbiAgICBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcbiAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiXG4gICAgW25nQ2xhc3NdPVwieyB0cnVuY2F0ZU9wdGlvbnM6IHRydW5jYXRlT3B0aW9ucyB9XCJcbiAgICAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiXG4gID5cbiAgICA8bGlcbiAgICAgICpuZ0lmPVwibmV3T3B0aW9uTGFiZWwgJiYgaXNOZXdJdGVtXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgbHhTZWxlY3RhYmxlSXRlbVxuICAgICAgW3Njcm9sbEluQ29udGFpbmVyXT1cImtleWJvYXJkU2VsZWN0Q29udGFpbmVyXCJcbiAgICAgICNpdGVtXG4gICAgICAoY2xpY2spPVwib25OZXdJdGVtU2VsZWN0ZWQoKVwiXG4gICAgICAoc2VsZWN0KT1cIm9uTmV3SXRlbVNlbGVjdGVkKClcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0sIChzZWxlY3RlZEl0ZW0kIHwgYXN5bmMpPy5lbGVtZW50KVwiXG4gICAgICBjbGFzcz1cIm9wdGlvbiBrZXlib2FyZFNlbGVjdGFibGUgb25UaGVGbHlPcHRpb25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJuZXdPcHRpb25MYWJlbFwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJuZXdFbnRyeUNvbnRlbnRcIj5cbiAgICAgICAge3sgbmV3T3B0aW9uTGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxseC1jb3VudGVyIGNsYXNzPVwibHgtbWFyZ2luLWxlZnRcIiBzaXplPVwic21hbGxcIiBbY29udGVudF09XCInY29tbW9uLm5ldycgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2VcIiAvPlxuICAgIDwvbGk+XG4gICAgPGxpXG4gICAgICAqbmdJZj1cInNob3dDcmVhdGVOZXdPcHRpb25cIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBseFNlbGVjdGFibGVJdGVtXG4gICAgICBbc2Nyb2xsSW5Db250YWluZXJdPVwia2V5Ym9hcmRTZWxlY3RDb250YWluZXJcIlxuICAgICAgI2l0ZW1cbiAgICAgIChjbGljayk9XCJvbkNyZWF0ZU5ld09wdGlvblNlbGVjdGVkKClcIlxuICAgICAgKHNlbGVjdCk9XCJvbkNyZWF0ZU5ld09wdGlvblNlbGVjdGVkKClcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0sIChzZWxlY3RlZEl0ZW0kIHwgYXN5bmMpPy5lbGVtZW50KVwiXG4gICAgICBjbGFzcz1cIm9wdGlvbiBrZXlib2FyZFNlbGVjdGFibGUgbmV3RW50cnlPcHRpb25cIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibmV3RW50cnlDb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjcmVhdGVOZXdPcHRpb25UZW1wbGF0ZVJlZjsgZWxzZSBkZWZhdWx0TmV3T3B0aW9uXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNyZWF0ZU5ld09wdGlvblRlbXBsYXRlUmVmXCIgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5ld09wdGlvbj5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7IE5BTUUgKyAnLm5ldycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9saT5cbiAgICA8bGlcbiAgICAgICpuZ0lmPVwiZGVzY3JpcHRpb25UZW1wbGF0ZVJlZlwiXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIGx4U2VsZWN0YWJsZUl0ZW1cbiAgICAgIFtzY3JvbGxJbkNvbnRhaW5lcl09XCJrZXlib2FyZFNlbGVjdENvbnRhaW5lclwiXG4gICAgICAjaXRlbVxuICAgICAgY2xhc3M9XCJvcHRpb24gZGlzYWJsZWRJdGVtIGRlc2NyaXB0aW9uXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cImRlc2NyaXB0aW9uQ29udGVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVzY3JpcHRpb25UZW1wbGF0ZVJlZlwiIC8+XG4gICAgICA8L3NwYW4+XG4gICAgPC9saT5cbiAgICA8bGlcbiAgICAgICpuZ0lmPVwib3B0aW9ucz8ubGVuZ3RoID09PSAwICYmICFuZXdPcHRpb25MYWJlbCAmJiAhbG9hZGluZ1wiXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIGx4U2VsZWN0YWJsZUl0ZW1cbiAgICAgIFtzY3JvbGxJbkNvbnRhaW5lcl09XCJrZXlib2FyZFNlbGVjdENvbnRhaW5lclwiXG4gICAgICAjaXRlbVxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0sIChzZWxlY3RlZEl0ZW0kIHwgYXN5bmMpPy5lbGVtZW50KVwiXG4gICAgICBjbGFzcz1cIm9wdGlvbiBrZXlib2FyZFNlbGVjdGFibGUgbm9PcHRpb25zQXZhaWxhYmxlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibm9SZXN1bHRzVGV4dCA/PyAoTkFNRSArICcubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZSlcIlxuICAgID5cbiAgICAgIHt7IG5vUmVzdWx0c1RleHQgPz8gKE5BTUUgKyAnLm5vUmVzdWx0cycgfCB0cmFuc2xhdGUpIH19XG4gICAgPC9saT5cbiAgICA8bGlcbiAgICAgICpuZ0lmPVwicGxhY2Vob2xkZXJcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBjbGFzcz1cIm9wdGlvbiBrZXlib2FyZFNlbGVjdGFibGUgY2xlYXJTZWxlY3Rpb25cIlxuICAgICAgbHhTZWxlY3RhYmxlSXRlbVxuICAgICAgW3Njcm9sbEluQ29udGFpbmVyXT1cImtleWJvYXJkU2VsZWN0Q29udGFpbmVyXCJcbiAgICAgICNpdGVtXG4gICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG51bGwpXCJcbiAgICAgIChzZWxlY3QpPVwic2VsZWN0T3B0aW9uKG51bGwpXCJcbiAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtLCAoc2VsZWN0ZWRJdGVtJCB8IGFzeW5jKT8uZWxlbWVudClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwbGFjZWhvbGRlclwiXG4gICAgPlxuICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICA8L2xpPlxuICAgIDxsaVxuICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVByb3AoaXRlbUtleSlcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBseFNlbGVjdGFibGVJdGVtXG4gICAgICBbc2Nyb2xsSW5Db250YWluZXJdPVwia2V5Ym9hcmRTZWxlY3RDb250YWluZXJcIlxuICAgICAgI2l0ZW1cbiAgICAgIGNsYXNzPVwib3B0aW9uIGtleWJvYXJkU2VsZWN0YWJsZVwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG9wdGlvbilcIlxuICAgICAgKHNlbGVjdCk9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSwgKHNlbGVjdGVkSXRlbSQgfCBhc3luYyk/LmVsZW1lbnQpXCJcbiAgICAgIFtjbGFzcy5pbml0aWFsbHlTZWxlY3RlZF09XCJpbmRleCA9PT0gaW5pdGlhbGx5U2VsZWN0ZWRJbmRleFwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRJdGVtXT1cIihpdGVtS2V5ICYmICEhZGlzYWJsZWRPcHRpb25zW29wdGlvbltpdGVtS2V5XV0pIHx8IHRoaXMuZGlzYWJsZWRPcHRpb25zW29wdGlvbl1cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbEtleSA/IG9wdGlvbltsYWJlbEtleV0gOiBvcHRpb25cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZVJlZjsgZWxzZSBzaW1wbGVTdHJpbmdEaXNwbGF5XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvcHRpb25UZW1wbGF0ZVJlZjsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiwgaW5kZXg6IGluZGV4IH1cIiAvPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI3NpbXBsZVN0cmluZ0Rpc3BsYXk+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIHt7IGxhYmVsS2V5ID8gb3B0aW9uW2xhYmVsS2V5XSA6IG9wdGlvbiB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbGk+XG4gICAgPGx4LXNwaW5uZXIgKm5nSWY9XCJsb2FkaW5nXCIgW2ZhZGVCYWNrZ3JvdW5kXT1cInRydWVcIiAvPlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|