@leanix/components 0.3.115 → 0.3.117

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.
@@ -1,13 +1,11 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import _ from 'lodash';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
4
+ import * as i1 from "@angular/cdk/clipboard";
5
5
  import * as i2 from "@ngx-translate/core";
6
- // todo: replace with Angular CDK clipboard
7
- // eslint-disable-next-line @typescript-eslint/no-var-requires
8
- const copy = require('clipboard-copy');
9
6
  export class CopyButtonComponent {
10
- constructor() {
7
+ constructor(clipboard) {
8
+ this.clipboard = clipboard;
11
9
  /** JSON string or object to be saved/copied as JSON */
12
10
  this.data = '';
13
11
  /** Determine copy button Bootstrap class & color or hide it altogether */
@@ -15,15 +13,11 @@ export class CopyButtonComponent {
15
13
  this.success = new EventEmitter();
16
14
  this.error = new EventEmitter();
17
15
  this.NAME = 'CopyButtonComponent';
18
- // clipboard-copy uses document.execCommand to copy to clipboard. All our _whitelisted_ browsers support it.
19
- // The copy still fails on very rare occasions for unknown reasons. In those cases it's good for the user
20
- // to be able to try again. So clipboardSupport is not set to false in the catch below any more.
21
- this.clipboardSupport = typeof document.execCommand === 'function';
22
16
  }
23
17
  async copy() {
24
18
  try {
25
19
  const json = this.getStringData();
26
- await copy(json);
20
+ this.clipboard.copy(json);
27
21
  this.success.emit({
28
22
  messageKey: this.dataDescription ? `${this.NAME}.dataCopySuccess` : `${this.NAME}.copySuccess`,
29
23
  translateParams: { data: this.dataDescription }
@@ -40,12 +34,12 @@ export class CopyButtonComponent {
40
34
  return _.isString(this.data) ? this.data : JSON.stringify(this.data, null, '\t');
41
35
  }
42
36
  }
43
- CopyButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CopyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- CopyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CopyButtonComponent, selector: "lx-copy-button", inputs: { data: "data", dataDescription: "dataDescription", btn: "btn" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<button *ngIf=\"clipboardSupport\" (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
37
+ CopyButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CopyButtonComponent, deps: [{ token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component });
38
+ CopyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CopyButtonComponent, selector: "lx-copy-button", inputs: { data: "data", dataDescription: "dataDescription", btn: "btn" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<button (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n", dependencies: [{ kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
45
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CopyButtonComponent, decorators: [{
46
40
  type: Component,
47
- args: [{ selector: 'lx-copy-button', template: "<button *ngIf=\"clipboardSupport\" (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n" }]
48
- }], ctorParameters: function () { return []; }, propDecorators: { data: [{
41
+ args: [{ selector: 'lx-copy-button', template: "<button (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n" }]
42
+ }], ctorParameters: function () { return [{ type: i1.Clipboard }]; }, propDecorators: { data: [{
49
43
  type: Input
50
44
  }], dataDescription: [{
51
45
  type: Input
@@ -56,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
56
50
  }], error: [{
57
51
  type: Output
58
52
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9jb3B5LWJ1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2NvcHktYnV0dG9uL2NvcHktYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7O0FBRXZCLDJDQUEyQztBQUMzQywrREFBK0Q7QUFDL0QsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFNdkMsTUFBTSxPQUFPLG1CQUFtQjtJQWlCOUI7UUFoQkEsdURBQXVEO1FBQzlDLFNBQUksR0FBcUMsRUFBRSxDQUFDO1FBR3JELDBFQUEwRTtRQUNqRSxRQUFHLEdBQTRDLFNBQVMsQ0FBQztRQUV4RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQStFLENBQUM7UUFDMUcsVUFBSyxHQUFHLElBQUksWUFBWSxFQUErRSxDQUFDO1FBRXpHLFNBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUN0Qyw0R0FBNEc7UUFDNUcseUdBQXlHO1FBQ3pHLGdHQUFnRztRQUNoRyxxQkFBZ0IsR0FBWSxPQUFPLFFBQVEsQ0FBQyxXQUFXLEtBQUssVUFBVSxDQUFDO0lBRXhELENBQUM7SUFFaEIsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJO1lBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxjQUFjO2dCQUM5RixlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTthQUNoRCxDQUFDLENBQUM7U0FDSjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksY0FBYztnQkFDOUYsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7YUFDaEQsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25GLENBQUM7O2dIQXJDVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixpTENYaEMseU1BTUE7MkZES2EsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGdCQUFnQjswRUFLakIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbi8vIHRvZG86IHJlcGxhY2Ugd2l0aCBBbmd1bGFyIENESyBjbGlwYm9hcmRcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuY29uc3QgY29weSA9IHJlcXVpcmUoJ2NsaXBib2FyZC1jb3B5Jyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LWNvcHktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICdjb3B5LWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29weUJ1dHRvbkNvbXBvbmVudCB7XG4gIC8qKiBKU09OIHN0cmluZyBvciBvYmplY3QgdG8gYmUgc2F2ZWQvY29waWVkIGFzIEpTT04gKi9cbiAgQElucHV0KCkgZGF0YTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSAnJztcbiAgLyoqIExhYmVsIHRvIGJlIHVzZWQgZm9yIGRhdGEgaW4gdG9hc3RyIG1lc3NhZ2VzICovXG4gIEBJbnB1dCgpIGRhdGFEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIERldGVybWluZSBjb3B5IGJ1dHRvbiBCb290c3RyYXAgY2xhc3MgJiBjb2xvciBvciBoaWRlIGl0IGFsdG9nZXRoZXIgKi9cbiAgQElucHV0KCkgYnRuOiAnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnaW5mbycgfCAnaGlkZScgPSAnZGVmYXVsdCc7XG5cbiAgQE91dHB1dCgpIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWVzc2FnZUtleTogc3RyaW5nOyB0cmFuc2xhdGVQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gfT4oKTtcbiAgQE91dHB1dCgpIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2VLZXk6IHN0cmluZzsgdHJhbnNsYXRlUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IH0+KCk7XG5cbiAgcmVhZG9ubHkgTkFNRSA9ICdDb3B5QnV0dG9uQ29tcG9uZW50JztcbiAgLy8gY2xpcGJvYXJkLWNvcHkgdXNlcyBkb2N1bWVudC5leGVjQ29tbWFuZCB0byBjb3B5IHRvIGNsaXBib2FyZC4gQWxsIG91ciBfd2hpdGVsaXN0ZWRfIGJyb3dzZXJzIHN1cHBvcnQgaXQuXG4gIC8vIFRoZSBjb3B5IHN0aWxsIGZhaWxzIG9uIHZlcnkgcmFyZSBvY2Nhc2lvbnMgZm9yIHVua25vd24gcmVhc29ucy4gSW4gdGhvc2UgY2FzZXMgaXQncyBnb29kIGZvciB0aGUgdXNlclxuICAvLyB0byBiZSBhYmxlIHRvIHRyeSBhZ2Fpbi4gU28gY2xpcGJvYXJkU3VwcG9ydCBpcyBub3Qgc2V0IHRvIGZhbHNlIGluIHRoZSBjYXRjaCBiZWxvdyBhbnkgbW9yZS5cbiAgY2xpcGJvYXJkU3VwcG9ydDogYm9vbGVhbiA9IHR5cGVvZiBkb2N1bWVudC5leGVjQ29tbWFuZCA9PT0gJ2Z1bmN0aW9uJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgYXN5bmMgY29weSgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QganNvbiA9IHRoaXMuZ2V0U3RyaW5nRGF0YSgpO1xuICAgICAgYXdhaXQgY29weShqc29uKTtcbiAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHtcbiAgICAgICAgbWVzc2FnZUtleTogdGhpcy5kYXRhRGVzY3JpcHRpb24gPyBgJHt0aGlzLk5BTUV9LmRhdGFDb3B5U3VjY2Vzc2AgOiBgJHt0aGlzLk5BTUV9LmNvcHlTdWNjZXNzYCxcbiAgICAgICAgdHJhbnNsYXRlUGFyYW1zOiB7IGRhdGE6IHRoaXMuZGF0YURlc2NyaXB0aW9uIH1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lcnJvci5lbWl0KHtcbiAgICAgICAgbWVzc2FnZUtleTogdGhpcy5kYXRhRGVzY3JpcHRpb24gPyBgJHt0aGlzLk5BTUV9LmRhdGFDb3B5RmFpbHVyZWAgOiBgJHt0aGlzLk5BTUV9LmNvcHlGYWlsdXJlYCxcbiAgICAgICAgdHJhbnNsYXRlUGFyYW1zOiB7IGRhdGE6IHRoaXMuZGF0YURlc2NyaXB0aW9uIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nRGF0YSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBfLmlzU3RyaW5nKHRoaXMuZGF0YSkgPyB0aGlzLmRhdGEgOiBKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEsIG51bGwsICdcXHQnKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiAqbmdJZj1cImNsaXBib2FyZFN1cHBvcnRcIiAoY2xpY2spPVwiY29weSgpXCIgY2xhc3M9XCJidG4gYnRuLXt7IGJ0biB9fSBidG5Db3B5SnNvblwiPlxuICA8aSBjbGFzcz1cImZhciBmYS1jb3B5XCI+PC9pPlxuICA8c3Bhbj5cbiAgICB7eyAnYnV0dG9ucy5jb3B5JyB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG48L2J1dHRvbj5cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9jb3B5LWJ1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2NvcHktYnV0dG9uL2NvcHktYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7O0FBTXZCLE1BQU0sT0FBTyxtQkFBbUI7SUFhOUIsWUFBb0IsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQVp4Qyx1REFBdUQ7UUFDOUMsU0FBSSxHQUFxQyxFQUFFLENBQUM7UUFHckQsMEVBQTBFO1FBQ2pFLFFBQUcsR0FBNEMsU0FBUyxDQUFDO1FBRXhELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBK0UsQ0FBQztRQUMxRyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQStFLENBQUM7UUFFekcsU0FBSSxHQUFHLHFCQUFxQixDQUFDO0lBRUssQ0FBQztJQUU1QyxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUk7WUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLGNBQWM7Z0JBQzlGLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO2FBQ2hELENBQUMsQ0FBQztTQUNKO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDZCxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxjQUFjO2dCQUM5RixlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTthQUNoRCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7Z0hBakNVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGlMQ1JoQyw4S0FNQTsyRkRFYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsZ0JBQWdCO2dHQUtqQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1jb3B5LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnY29weS1idXR0b24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENvcHlCdXR0b25Db21wb25lbnQge1xuICAvKiogSlNPTiBzdHJpbmcgb3Igb2JqZWN0IHRvIGJlIHNhdmVkL2NvcGllZCBhcyBKU09OICovXG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gJyc7XG4gIC8qKiBMYWJlbCB0byBiZSB1c2VkIGZvciBkYXRhIGluIHRvYXN0ciBtZXNzYWdlcyAqL1xuICBASW5wdXQoKSBkYXRhRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBEZXRlcm1pbmUgY29weSBidXR0b24gQm9vdHN0cmFwIGNsYXNzICYgY29sb3Igb3IgaGlkZSBpdCBhbHRvZ2V0aGVyICovXG4gIEBJbnB1dCgpIGJ0bjogJ2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ2hpZGUnID0gJ2RlZmF1bHQnO1xuXG4gIEBPdXRwdXQoKSBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2VLZXk6IHN0cmluZzsgdHJhbnNsYXRlUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IH0+KCk7XG4gIEBPdXRwdXQoKSBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtZXNzYWdlS2V5OiBzdHJpbmc7IHRyYW5zbGF0ZVBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiB9PigpO1xuXG4gIHJlYWRvbmx5IE5BTUUgPSAnQ29weUJ1dHRvbkNvbXBvbmVudCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGlwYm9hcmQ6IENsaXBib2FyZCkge31cblxuICBhc3luYyBjb3B5KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBqc29uID0gdGhpcy5nZXRTdHJpbmdEYXRhKCk7XG4gICAgICB0aGlzLmNsaXBib2FyZC5jb3B5KGpzb24pO1xuICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoe1xuICAgICAgICBtZXNzYWdlS2V5OiB0aGlzLmRhdGFEZXNjcmlwdGlvbiA/IGAke3RoaXMuTkFNRX0uZGF0YUNvcHlTdWNjZXNzYCA6IGAke3RoaXMuTkFNRX0uY29weVN1Y2Nlc3NgLFxuICAgICAgICB0cmFuc2xhdGVQYXJhbXM6IHsgZGF0YTogdGhpcy5kYXRhRGVzY3JpcHRpb24gfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9yLmVtaXQoe1xuICAgICAgICBtZXNzYWdlS2V5OiB0aGlzLmRhdGFEZXNjcmlwdGlvbiA/IGAke3RoaXMuTkFNRX0uZGF0YUNvcHlGYWlsdXJlYCA6IGAke3RoaXMuTkFNRX0uY29weUZhaWx1cmVgLFxuICAgICAgICB0cmFuc2xhdGVQYXJhbXM6IHsgZGF0YTogdGhpcy5kYXRhRGVzY3JpcHRpb24gfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdHJpbmdEYXRhKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIF8uaXNTdHJpbmcodGhpcy5kYXRhKSA/IHRoaXMuZGF0YSA6IEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YSwgbnVsbCwgJ1xcdCcpO1xuICB9XG59XG4iLCI8YnV0dG9uIChjbGljayk9XCJjb3B5KClcIiBjbGFzcz1cImJ0biBidG4te3sgYnRuIH19IGJ0bkNvcHlKc29uXCI+XG4gIDxpIGNsYXNzPVwiZmFyIGZhLWNvcHlcIj48L2k+XG4gIDxzcGFuPlxuICAgIHt7ICdidXR0b25zLmNvcHknIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
@@ -1,3 +1,4 @@
1
+ import { ClipboardModule } from '@angular/cdk/clipboard';
1
2
  import { OverlayModule } from '@angular/cdk/overlay';
2
3
  import { CommonModule } from '@angular/common';
3
4
  import { NgModule } from '@angular/core';
@@ -97,6 +98,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
97
98
  FormsModule,
98
99
  ReactiveFormsModule, i1.TranslateModule, DatepickerModule,
99
100
  InfiniteScrollModule,
101
+ ClipboardModule,
100
102
  OverlayModule,
101
103
  LxCoreUiModule,
102
104
  LxDragAndDropListModule], exports: [BasicDropdownComponent,
@@ -146,6 +148,7 @@ LxFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
146
148
  TranslateModule.forChild(),
147
149
  DatepickerModule,
148
150
  InfiniteScrollModule,
151
+ ClipboardModule,
149
152
  OverlayModule,
150
153
  LxCoreUiModule,
151
154
  LxDragAndDropListModule, LxDragAndDropListModule] });
@@ -202,6 +205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
202
205
  TranslateModule.forChild(),
203
206
  DatepickerModule,
204
207
  InfiniteScrollModule,
208
+ ClipboardModule,
205
209
  OverlayModule,
206
210
  LxCoreUiModule,
207
211
  LxDragAndDropListModule
@@ -251,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
251
255
  ]
252
256
  }]
253
257
  }] });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvZm9ybXMtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JB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RTt3QkFDUCxzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsMEJBQTBCO3dCQUMxQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYiw2QkFBNkI7d0JBQzdCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsNEJBQTRCO3dCQUM1Qix3QkFBd0I7d0JBQ3hCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgTHhDb3JlVWlNb2R1bGUgfSBmcm9tICcuLi9jb3JlLXVpL2NvcmUtdWkubW9kdWxlJztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2ljLWRyb3Bkb3duLWl0ZW0vYmFzaWMtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jZGstb3B0aW9ucy1kcm9wZG93bi9jZGstb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2RrT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi9jZGstb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENvcHlCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29weS1idXR0b24vY29weS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEN1cnJlbmN5SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VycmVuY3kvY3VycmVuY3ktaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1cnJlbmN5U3ltYm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1cnJlbmN5L2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHhEcmFnQW5kRHJvcExpc3RNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC1saXN0L2RyYWctYW5kLWRyb3AtbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhwYW5kZWREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9leHBhbmRlZC1kcm9wZG93bi9leHBhbmRlZC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi1ncm91cC1kcm9wZG93bi9vcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi1ncm91cC9vcHRpb24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25zRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9ucy1kcm9wZG93bi9vcHRpb25zLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9ucy1zdWItZHJvcGRvd24vb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlck9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrZXItb3B0aW9uL3BpY2tlci1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlja2VyL3BpY2tlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlja2VyL3BpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlsbEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlsbC1pdGVtL3BpbGwtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlsbExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlsbC1saXN0L3BpbGwtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jlc3BvbnNpdmUtaW5wdXQvcmVzcG9uc2l2ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtbGlzdC9zZWxlY3QtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2xpZGVyVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NsaWRlci10b2dnbGUvc2xpZGVyLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydGluZ0Ryb3Bkb3duVHJpZ2dlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zb3J0aW5nLWRyb3Bkb3duLXRyaWdnZXIvc29ydGluZy1kcm9wZG93bi10cmlnZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTb3J0aW5nRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc29ydGluZy1kcm9wZG93bi9zb3J0aW5nLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1lcnJvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybVN1Ym1pdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMva2V5Ym9hcmQtYWN0aW9uLXNvdXJjZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWFya0ludmFsaWREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbWFyay1pbnZhbGlkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZWxlY3QtZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NlbGVjdGFibGUtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2VsZWN0ZWQtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWxlY3Rpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItc2VsZWN0aW9uLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyVGVybVBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci10ZXJtLnBpcGUnO1xuaW1wb3J0IHsgRm9ybWF0TnVtYmVyUGlwZSB9IGZyb20gJy4vcGlwZXMvZm9ybWF0LW51bWJlci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQmFzaWNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBFeHBhbmRlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50LFxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgQ29weUJ1dHRvbkNvbXBvbmVudCxcbiAgICBDdXJyZW5jeUlucHV0Q29tcG9uZW50LFxuICAgIEN1cnJlbmN5U3ltYm9sQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBGaWx0ZXJTZWxlY3Rpb25QaXBlLFxuICAgIEZpbHRlclRlcm1QaXBlLFxuICAgIEZvcm1FcnJvckNvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlLFxuICAgIE1hcmtJbnZhbGlkRGlyZWN0aXZlLFxuICAgIE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICBPcHRpb25Hcm91cENvbXBvbmVudCxcbiAgICBPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50LFxuICAgIE9wdGlvbnNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQsXG4gICAgQ2RrT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIENka09wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBQaWNrZXJDb21wb25lbnQsXG4gICAgUGlja2VyT3B0aW9uQ29tcG9uZW50LFxuICAgIFBpY2tlclRyaWdnZXJEaXJlY3RpdmUsXG4gICAgUGlsbExpc3RDb21wb25lbnQsXG4gICAgUGlsbEl0ZW1Db21wb25lbnQsXG4gICAgUmVzcG9uc2l2ZUlucHV0Q29tcG9uZW50LFxuICAgIFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlLFxuICAgIFNlbGVjdGVkT3B0aW9uRGlyZWN0aXZlLFxuICAgIFNlbGVjdERyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFNpbmdsZVNlbGVjdENvbXBvbmVudCxcbiAgICBTZWxlY3RMaXN0Q29tcG9uZW50LFxuICAgIFNsaWRlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBTb3J0aW5nRHJvcGRvd25Db21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duVHJpZ2dlckNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBGb3JtYXROdW1iZXJQaXBlLFxuICAgIEZvcm1FcnJvckRpcmVjdGl2ZSxcbiAgICBFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG4gICAgRGF0ZXBpY2tlck1vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIEx4Q29yZVVpTW9kdWxlLFxuICAgIEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIEV4cGFuZGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgQmFzaWNEcm9wZG93bkl0ZW1Db21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBDb3B5QnV0dG9uQ29tcG9uZW50LFxuICAgIEN1cnJlbmN5SW5wdXRDb21wb25lbnQsXG4gICAgQ3VycmVuY3lTeW1ib2xDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEZpbHRlclNlbGVjdGlvblBpcGUsXG4gICAgRmlsdGVyVGVybVBpcGUsXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUsXG4gICAgTWFya0ludmFsaWREaXJlY3RpdmUsXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIE9wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgQ2RrT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIFBpY2tlckNvbXBvbmVudCxcbiAgICBQaWNrZXJPcHRpb25Db21wb25lbnQsXG4gICAgUGlja2VyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBQaWxsTGlzdENvbXBvbmVudCxcbiAgICBQaWxsSXRlbUNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUsXG4gICAgU2VsZWN0TGlzdENvbXBvbmVudCxcbiAgICBTaW5nbGVTZWxlY3RDb21wb25lbnQsXG4gICAgU2xpZGVyVG9nZ2xlQ29tcG9uZW50LFxuICAgIFNvcnRpbmdEcm9wZG93bkNvbXBvbmVudCxcbiAgICBTb3J0aW5nRHJvcGRvd25UcmlnZ2VyQ29tcG9uZW50LFxuICAgIEZvcm1hdE51bWJlclBpcGUsXG4gICAgRm9ybUVycm9yRGlyZWN0aXZlLFxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmUsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTHhGb3Jtc01vZHVsZSB7fVxuIl19
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvZm9ybXMtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDNUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDL0csT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDMUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1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QkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLDZCQUE2Qjt3QkFDN0Isb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLDhCQUE4Qjt3QkFDOUIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3dCQUN4QiwrQkFBK0I7d0JBQy9CLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsdUJBQXVCO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IEx4Q29yZVVpTW9kdWxlIH0gZnJvbSAnLi4vY29yZS11aS9jb3JlLXVpLm1vZHVsZSc7XG5pbXBvcnQgeyBCYXNpY0Ryb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iYXNpYy1kcm9wZG93bi1pdGVtL2Jhc2ljLWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYmFzaWMtZHJvcGRvd24vYmFzaWMtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDZGtPcHRpb25zRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2RrLW9wdGlvbnMtZHJvcGRvd24vY2RrLW9wdGlvbnMtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENka09wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jZGstb3B0aW9ucy1zdWItZHJvcGRvd24vY2RrLW9wdGlvbnMtc3ViLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3B5QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcHktYnV0dG9uL2NvcHktYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXJyZW5jeUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1cnJlbmN5L2N1cnJlbmN5LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXJyZW5jeS9jdXJyZW5jeS1zeW1ib2wuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AtbGlzdC9kcmFnLWFuZC1kcm9wLWxpc3QubW9kdWxlJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEV4cGFuZGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXhwYW5kZWQtZHJvcGRvd24vZXhwYW5kZWQtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb24tZ3JvdXAtZHJvcGRvd24vb3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb24tZ3JvdXAvb3B0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbnMtZHJvcGRvd24vb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbnMtc3ViLWRyb3Bkb3duL29wdGlvbnMtc3ViLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWNrZXJPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlja2VyLW9wdGlvbi9waWNrZXItb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3BpY2tlci9waWNrZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpY2tlci9waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBpbGxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpbGwtaXRlbS9waWxsLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFBpbGxMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpbGwtbGlzdC9waWxsLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZXNwb25zaXZlLWlucHV0L3Jlc3BvbnNpdmUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LWxpc3Qvc2VsZWN0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNsaWRlclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zbGlkZXItdG9nZ2xlL3NsaWRlci10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNvcnRpbmdEcm9wZG93blRyaWdnZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc29ydGluZy1kcm9wZG93bi10cmlnZ2VyL3NvcnRpbmctZHJvcGRvd24tdHJpZ2dlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydGluZ0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NvcnRpbmctZHJvcGRvd24vc29ydGluZy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tZXJyb3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1TdWJtaXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2tleWJvYXJkLWFjdGlvbi1zb3VyY2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hcmtJbnZhbGlkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21hcmstaW52YWxpZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2VsZWN0LWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZWxlY3RhYmxlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdGVkT3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NlbGVjdGVkLW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmlsdGVyU2VsZWN0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLXNlbGVjdGlvbi5waXBlJztcbmltcG9ydCB7IEZpbHRlclRlcm1QaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItdGVybS5waXBlJztcbmltcG9ydCB7IEZvcm1hdE51bWJlclBpcGUgfSBmcm9tICcuL3BpcGVzL2Zvcm1hdC1udW1iZXIucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJhc2ljRHJvcGRvd25Db21wb25lbnQsXG4gICAgRXhwYW5kZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBCYXNpY0Ryb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIENvcHlCdXR0b25Db21wb25lbnQsXG4gICAgQ3VycmVuY3lJbnB1dENvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgRmlsdGVyU2VsZWN0aW9uUGlwZSxcbiAgICBGaWx0ZXJUZXJtUGlwZSxcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSxcbiAgICBNYXJrSW52YWxpZERpcmVjdGl2ZSxcbiAgICBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCxcbiAgICBPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQsXG4gICAgUGlja2VyQ29tcG9uZW50LFxuICAgIFBpY2tlck9wdGlvbkNvbXBvbmVudCxcbiAgICBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIFBpbGxMaXN0Q29tcG9uZW50LFxuICAgIFBpbGxJdGVtQ29tcG9uZW50LFxuICAgIFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBTZWxlY3RlZE9wdGlvbkRpcmVjdGl2ZSxcbiAgICBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBTaW5nbGVTZWxlY3RDb21wb25lbnQsXG4gICAgU2VsZWN0TGlzdENvbXBvbmVudCxcbiAgICBTbGlkZXJUb2dnbGVDb21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIFNvcnRpbmdEcm9wZG93blRyaWdnZXJDb21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybWF0TnVtYmVyUGlwZSxcbiAgICBGb3JtRXJyb3JEaXJlY3RpdmUsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIERhdGVwaWNrZXJNb2R1bGUsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgQ2xpcGJvYXJkTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgTHhDb3JlVWlNb2R1bGUsXG4gICAgTHhEcmFnQW5kRHJvcExpc3RNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJhc2ljRHJvcGRvd25Db21wb25lbnQsXG4gICAgRXhwYW5kZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBCYXNpY0Ryb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIENvcHlCdXR0b25Db21wb25lbnQsXG4gICAgQ3VycmVuY3lJbnB1dENvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgRmlsdGVyU2VsZWN0aW9uUGlwZSxcbiAgICBGaWx0ZXJUZXJtUGlwZSxcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSxcbiAgICBNYXJrSW52YWxpZERpcmVjdGl2ZSxcbiAgICBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCxcbiAgICBPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQsXG4gICAgUGlja2VyQ29tcG9uZW50LFxuICAgIFBpY2tlck9wdGlvbkNvbXBvbmVudCxcbiAgICBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIFBpbGxMaXN0Q29tcG9uZW50LFxuICAgIFBpbGxJdGVtQ29tcG9uZW50LFxuICAgIFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBTZWxlY3RlZE9wdGlvbkRpcmVjdGl2ZSxcbiAgICBTZWxlY3RMaXN0Q29tcG9uZW50LFxuICAgIFNpbmdsZVNlbGVjdENvbXBvbmVudCxcbiAgICBTbGlkZXJUb2dnbGVDb21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIFNvcnRpbmdEcm9wZG93blRyaWdnZXJDb21wb25lbnQsXG4gICAgRm9ybWF0TnVtYmVyUGlwZSxcbiAgICBGb3JtRXJyb3JEaXJlY3RpdmUsXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcbiAgICBFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgTHhEcmFnQW5kRHJvcExpc3RNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMeEZvcm1zTW9kdWxlIHt9XG4iXX0=
@@ -2,7 +2,7 @@ import * as i1 from '@angular/common';
2
2
  import { CommonModule, formatDate } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, Input, HostBinding, ChangeDetectionStrategy, EventEmitter, Output, HostListener, Directive, Injectable, InjectionToken, ElementRef, Inject, ViewChild, ContentChildren, SecurityContext, Pipe, Optional, NgModule, ViewChildren, ContentChild, forwardRef, TemplateRef, Self, Host } from '@angular/core';
5
- import * as i1$6 from '@angular/cdk/portal';
5
+ import * as i1$7 from '@angular/cdk/portal';
6
6
  import { ComponentPortal, CdkPortal, PortalModule } from '@angular/cdk/portal';
7
7
  import * as i1$1 from '@angular/cdk/overlay';
8
8
  import { OverlayModule, CdkConnectedOverlay } from '@angular/cdk/overlay';
@@ -19,19 +19,21 @@ import { format, distanceInWords, startOfDay } from 'date-fns';
19
19
  import { sanitize } from 'dompurify';
20
20
  import _, { curry } from 'lodash';
21
21
  import { Renderer, marked } from 'marked';
22
+ import * as i1$4 from '@angular/cdk/clipboard';
23
+ import { ClipboardModule } from '@angular/cdk/clipboard';
22
24
  import * as i2$1 from '@angular/forms';
23
25
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, UntypedFormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
24
26
  import * as i3 from 'ngx-bootstrap/datepicker';
25
27
  import { DatePickerComponent, DateFormatter, DatepickerModule } from 'ngx-bootstrap/datepicker';
26
28
  import * as i2 from 'ngx-infinite-scroll';
27
29
  import { InfiniteScrollModule } from 'ngx-infinite-scroll';
28
- import * as i1$4 from '@angular/cdk/drag-drop';
30
+ import * as i1$5 from '@angular/cdk/drag-drop';
29
31
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
30
32
  import * as i2$2 from '@angular/cdk/a11y';
31
33
  import { ActiveDescendantKeyManager, A11yModule } from '@angular/cdk/a11y';
32
- import * as i1$5 from '@angular/cdk/bidi';
34
+ import * as i1$6 from '@angular/cdk/bidi';
33
35
  import { trigger, transition, style, animate } from '@angular/animations';
34
- import * as i1$7 from '@ncstate/sat-popover';
36
+ import * as i1$8 from '@ncstate/sat-popover';
35
37
  import { SatPopover, SatPopoverModule } from '@ncstate/sat-popover';
36
38
  import { coerceNumberProperty } from '@angular/cdk/coercion';
37
39
  import * as i4 from '@angular/router';
@@ -2777,11 +2779,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
2777
2779
  args: ['dropdown']
2778
2780
  }] } });
2779
2781
 
2780
- // todo: replace with Angular CDK clipboard
2781
- // eslint-disable-next-line @typescript-eslint/no-var-requires
2782
- const copy = require('clipboard-copy');
2783
2782
  class CopyButtonComponent {
2784
- constructor() {
2783
+ constructor(clipboard) {
2784
+ this.clipboard = clipboard;
2785
2785
  /** JSON string or object to be saved/copied as JSON */
2786
2786
  this.data = '';
2787
2787
  /** Determine copy button Bootstrap class & color or hide it altogether */
@@ -2789,16 +2789,12 @@ class CopyButtonComponent {
2789
2789
  this.success = new EventEmitter();
2790
2790
  this.error = new EventEmitter();
2791
2791
  this.NAME = 'CopyButtonComponent';
2792
- // clipboard-copy uses document.execCommand to copy to clipboard. All our _whitelisted_ browsers support it.
2793
- // The copy still fails on very rare occasions for unknown reasons. In those cases it's good for the user
2794
- // to be able to try again. So clipboardSupport is not set to false in the catch below any more.
2795
- this.clipboardSupport = typeof document.execCommand === 'function';
2796
2792
  }
2797
2793
  copy() {
2798
2794
  return __awaiter(this, void 0, void 0, function* () {
2799
2795
  try {
2800
2796
  const json = this.getStringData();
2801
- yield copy(json);
2797
+ this.clipboard.copy(json);
2802
2798
  this.success.emit({
2803
2799
  messageKey: this.dataDescription ? `${this.NAME}.dataCopySuccess` : `${this.NAME}.copySuccess`,
2804
2800
  translateParams: { data: this.dataDescription }
@@ -2816,12 +2812,12 @@ class CopyButtonComponent {
2816
2812
  return _.isString(this.data) ? this.data : JSON.stringify(this.data, null, '\t');
2817
2813
  }
2818
2814
  }
2819
- CopyButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CopyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2820
- CopyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CopyButtonComponent, selector: "lx-copy-button", inputs: { data: "data", dataDescription: "dataDescription", btn: "btn" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<button *ngIf=\"clipboardSupport\" (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
2815
+ CopyButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CopyButtonComponent, deps: [{ token: i1$4.Clipboard }], target: i0.ɵɵFactoryTarget.Component });
2816
+ CopyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CopyButtonComponent, selector: "lx-copy-button", inputs: { data: "data", dataDescription: "dataDescription", btn: "btn" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<button (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n", dependencies: [{ kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
2821
2817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CopyButtonComponent, decorators: [{
2822
2818
  type: Component,
2823
- args: [{ selector: 'lx-copy-button', template: "<button *ngIf=\"clipboardSupport\" (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n" }]
2824
- }], ctorParameters: function () { return []; }, propDecorators: { data: [{
2819
+ args: [{ selector: 'lx-copy-button', template: "<button (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n" }]
2820
+ }], ctorParameters: function () { return [{ type: i1$4.Clipboard }]; }, propDecorators: { data: [{
2825
2821
  type: Input
2826
2822
  }], dataDescription: [{
2827
2823
  type: Input
@@ -3536,14 +3532,14 @@ class KeyboardSortableItemDirective {
3536
3532
  }
3537
3533
  }
3538
3534
  }
3539
- KeyboardSortableItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: KeyboardSortableItemDirective, deps: [{ token: i1$4.CdkDrag }, { token: i1$1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
3535
+ KeyboardSortableItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: KeyboardSortableItemDirective, deps: [{ token: i1$5.CdkDrag }, { token: i1$1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
3540
3536
  KeyboardSortableItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: KeyboardSortableItemDirective, selector: "[lxKeyboardSortableItem]", inputs: { allItemsData: ["lxKeyboardSortableItem", "allItemsData"], itemData: ["lxKeyboardItemData", "itemData"], isSortingByKeyboard: "isSortingByKeyboard", itemBeingSorted: ["lxKeyboardItemBeingSorted", "itemBeingSorted"] }, outputs: { isSortingByKeyboardChange: "isSortingByKeyboardChange", itemBeingSortedChange: "lxKeyboardItemBeingSortedChange", sortItemsWithKeyboard: "sortItemsWithKeyboard", focusWithKeyboard: "focusWithKeyboard" }, host: { listeners: { "keyup.tab": "focusViaKeyboard()", "keydown.enter": "enterSortingModeEnabledByKeyboard($event)", "keydown.space": "enterSortingModeEnabledByKeyboard($event)", "blur": "leaveSortingModeEnabledByKeyboard($event)", "keydown.esc": "leaveSortingModeEnabledByKeyboard($event)", "keydown.arrowUp": "sort($event)", "keydown.arrowDown": "sort($event)" }, properties: { "attr.lxTooltip": "this.tooltipDirective", "class.isBeingSortedByKeyboard": "this.isBeingSorted" } }, usesOnChanges: true, ngImport: i0 });
3541
3537
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: KeyboardSortableItemDirective, decorators: [{
3542
3538
  type: Directive,
3543
3539
  args: [{
3544
3540
  selector: '[lxKeyboardSortableItem]'
3545
3541
  }]
3546
- }], ctorParameters: function () { return [{ type: i1$4.CdkDrag }, { type: i1$1.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i1$1.Overlay }]; }, propDecorators: { allItemsData: [{
3542
+ }], ctorParameters: function () { return [{ type: i1$5.CdkDrag }, { type: i1$1.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i1$1.Overlay }]; }, propDecorators: { allItemsData: [{
3547
3543
  type: Input,
3548
3544
  args: ['lxKeyboardSortableItem']
3549
3545
  }], itemData: [{
@@ -3681,7 +3677,7 @@ class DragAndDropListComponent {
3681
3677
  }
3682
3678
  }
3683
3679
  DragAndDropListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DragAndDropListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3684
- DragAndDropListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: DragAndDropListComponent, selector: "lx-drag-and-drop-list", inputs: { label: "label", labelFontWeight: "labelFontWeight", color: "color", fontSize: "fontSize" }, outputs: { moveToIndex: "moveToIndex", moveItem: "moveItem" }, host: { properties: { "attr.color": "this.color", "attr.fontSize": "this.fontSize" } }, queries: [{ propertyName: "_items", predicate: DragAndDropListItemComponent }], viewQueries: [{ propertyName: "_keyboardSortableItems", predicate: KeyboardSortableItemDirective, descendants: true }], ngImport: i0, template: "<label *ngIf=\"label\" [style.font-weight]=\"labelFontWeight\">{{ label }}</label>\n<p class=\"sr-only\">{{ NAME + '.helpTooltip' | translate }}</p>\n<ul\n cdkDropList\n class=\"list\"\n role=\"listbox\"\n lxKeyboardSortableList\n [keyboardSortableItems]=\"keyboardSortableItems$ | async\"\n [cdkDropListData]=\"items$ | async\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <li\n *ngFor=\"let itemComponent of items$ | async; trackBy: trackByItem\"\n #listItemParent\n class=\"item\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragData]=\"itemComponent.item\"\n [cdkDragDisabled]=\"!itemComponent.draggable\"\n [class.dark]=\"color === 'dark'\"\n [class.big]=\"fontSize === 'big'\"\n [tabIndex]=\"itemComponent.draggable === false ? -1 : 0\"\n [lxKeyboardSortableItem]=\"allItemsData$ | async\"\n [lxKeyboardItemData]=\"itemComponent.item\"\n [(isSortingByKeyboard)]=\"isSortingByKeyboard\"\n [(lxKeyboardItemBeingSorted)]=\"keyboardItemBeingSorted\"\n (sortItemsWithKeyboard)=\"dropToIndexAfterArrowKey(itemComponent.item, $event.previousIndex, $event.currentIndex)\"\n >\n <lx-drag-and-drop-list-item\n class=\"dragAndDropItem\"\n [item]=\"itemComponent.item\"\n [draggable]=\"itemComponent.draggable\"\n [actions]=\"itemComponent.actions\"\n (action)=\"emitContentChildAction($event)\"\n >\n <ng-template *ngIf=\"itemComponent.customTemplateRef\" #customTemplate>\n <ng-container *ngTemplateOutlet=\"itemComponent.customTemplateRef\"></ng-container>\n </ng-template>\n </lx-drag-and-drop-list-item>\n </li>\n</ul>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{display:block}.list{list-style-type:none;width:100%;display:block;padding:0;color:#526179}.item.cdk-drag-disabled{background:#eaedf1;cursor:default}.item{position:relative;cursor:move;border:solid 1px #99a5bb;margin-bottom:4px;border-radius:3px}.item:focus{outline:1px auto #1666ee}.cdk-drag-preview{box-sizing:border-box;border-radius:3px;list-style:none;border:solid 1px #99a5bb!important;box-shadow:0 3px 4px #7474744d}.cdk-drag-placeholder{opacity:.5}.cdk-drag-placeholder i{opacity:0}.cdk-drag-animating{transition:transform .18s;transition-delay:0s;transition-timing-function:ease}.list.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .18s;transition-delay:0s;transition-timing-function:ease}:host[color=dark] lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}:host[color=dark] .list,:host[color=dark] .item{border:0}:host[color=dark] .item.cdk-drag-disabled lx-drag-and-drop-list-item{background:#fff;color:#99a5bb;border:1px solid #99a5bb}:host[fontSize=big] .item{text-transform:uppercase;font-weight:700}.cdk-drag-preview.dark{border:0!important}.cdk-drag-preview.dark lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}.cdk-drag-preview.big{text-transform:uppercase;font-weight:700}.isBeingSortedByKeyboard{box-shadow:0 6px 24px #b2bccc;z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1$4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: KeyboardSortableItemDirective, selector: "[lxKeyboardSortableItem]", inputs: ["lxKeyboardSortableItem", "lxKeyboardItemData", "isSortingByKeyboard", "lxKeyboardItemBeingSorted"], outputs: ["isSortingByKeyboardChange", "lxKeyboardItemBeingSortedChange", "sortItemsWithKeyboard", "focusWithKeyboard"] }, { kind: "directive", type: KeyboardSortableListDirective, selector: "[lxKeyboardSortableList]", inputs: ["keyboardSortableItems"] }, { kind: "component", type: DragAndDropListItemComponent, selector: "lx-drag-and-drop-list-item", inputs: ["item", "draggable", "actions"], outputs: ["action"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
3680
+ DragAndDropListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: DragAndDropListComponent, selector: "lx-drag-and-drop-list", inputs: { label: "label", labelFontWeight: "labelFontWeight", color: "color", fontSize: "fontSize" }, outputs: { moveToIndex: "moveToIndex", moveItem: "moveItem" }, host: { properties: { "attr.color": "this.color", "attr.fontSize": "this.fontSize" } }, queries: [{ propertyName: "_items", predicate: DragAndDropListItemComponent }], viewQueries: [{ propertyName: "_keyboardSortableItems", predicate: KeyboardSortableItemDirective, descendants: true }], ngImport: i0, template: "<label *ngIf=\"label\" [style.font-weight]=\"labelFontWeight\">{{ label }}</label>\n<p class=\"sr-only\">{{ NAME + '.helpTooltip' | translate }}</p>\n<ul\n cdkDropList\n class=\"list\"\n role=\"listbox\"\n lxKeyboardSortableList\n [keyboardSortableItems]=\"keyboardSortableItems$ | async\"\n [cdkDropListData]=\"items$ | async\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <li\n *ngFor=\"let itemComponent of items$ | async; trackBy: trackByItem\"\n #listItemParent\n class=\"item\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragData]=\"itemComponent.item\"\n [cdkDragDisabled]=\"!itemComponent.draggable\"\n [class.dark]=\"color === 'dark'\"\n [class.big]=\"fontSize === 'big'\"\n [tabIndex]=\"itemComponent.draggable === false ? -1 : 0\"\n [lxKeyboardSortableItem]=\"allItemsData$ | async\"\n [lxKeyboardItemData]=\"itemComponent.item\"\n [(isSortingByKeyboard)]=\"isSortingByKeyboard\"\n [(lxKeyboardItemBeingSorted)]=\"keyboardItemBeingSorted\"\n (sortItemsWithKeyboard)=\"dropToIndexAfterArrowKey(itemComponent.item, $event.previousIndex, $event.currentIndex)\"\n >\n <lx-drag-and-drop-list-item\n class=\"dragAndDropItem\"\n [item]=\"itemComponent.item\"\n [draggable]=\"itemComponent.draggable\"\n [actions]=\"itemComponent.actions\"\n (action)=\"emitContentChildAction($event)\"\n >\n <ng-template *ngIf=\"itemComponent.customTemplateRef\" #customTemplate>\n <ng-container *ngTemplateOutlet=\"itemComponent.customTemplateRef\"></ng-container>\n </ng-template>\n </lx-drag-and-drop-list-item>\n </li>\n</ul>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{display:block}.list{list-style-type:none;width:100%;display:block;padding:0;color:#526179}.item.cdk-drag-disabled{background:#eaedf1;cursor:default}.item{position:relative;cursor:move;border:solid 1px #99a5bb;margin-bottom:4px;border-radius:3px}.item:focus{outline:1px auto #1666ee}.cdk-drag-preview{box-sizing:border-box;border-radius:3px;list-style:none;border:solid 1px #99a5bb!important;box-shadow:0 3px 4px #7474744d}.cdk-drag-placeholder{opacity:.5}.cdk-drag-placeholder i{opacity:0}.cdk-drag-animating{transition:transform .18s;transition-delay:0s;transition-timing-function:ease}.list.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .18s;transition-delay:0s;transition-timing-function:ease}:host[color=dark] lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}:host[color=dark] .list,:host[color=dark] .item{border:0}:host[color=dark] .item.cdk-drag-disabled lx-drag-and-drop-list-item{background:#fff;color:#99a5bb;border:1px solid #99a5bb}:host[fontSize=big] .item{text-transform:uppercase;font-weight:700}.cdk-drag-preview.dark{border:0!important}.cdk-drag-preview.dark lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}.cdk-drag-preview.big{text-transform:uppercase;font-weight:700}.isBeingSortedByKeyboard{box-shadow:0 6px 24px #b2bccc;z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1$5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: KeyboardSortableItemDirective, selector: "[lxKeyboardSortableItem]", inputs: ["lxKeyboardSortableItem", "lxKeyboardItemData", "isSortingByKeyboard", "lxKeyboardItemBeingSorted"], outputs: ["isSortingByKeyboardChange", "lxKeyboardItemBeingSortedChange", "sortItemsWithKeyboard", "focusWithKeyboard"] }, { kind: "directive", type: KeyboardSortableListDirective, selector: "[lxKeyboardSortableList]", inputs: ["keyboardSortableItems"] }, { kind: "component", type: DragAndDropListItemComponent, selector: "lx-drag-and-drop-list-item", inputs: ["item", "draggable", "actions"], outputs: ["action"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
3685
3681
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DragAndDropListComponent, decorators: [{
3686
3682
  type: Component,
3687
3683
  args: [{ selector: 'lx-drag-and-drop-list', template: "<label *ngIf=\"label\" [style.font-weight]=\"labelFontWeight\">{{ label }}</label>\n<p class=\"sr-only\">{{ NAME + '.helpTooltip' | translate }}</p>\n<ul\n cdkDropList\n class=\"list\"\n role=\"listbox\"\n lxKeyboardSortableList\n [keyboardSortableItems]=\"keyboardSortableItems$ | async\"\n [cdkDropListData]=\"items$ | async\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <li\n *ngFor=\"let itemComponent of items$ | async; trackBy: trackByItem\"\n #listItemParent\n class=\"item\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragData]=\"itemComponent.item\"\n [cdkDragDisabled]=\"!itemComponent.draggable\"\n [class.dark]=\"color === 'dark'\"\n [class.big]=\"fontSize === 'big'\"\n [tabIndex]=\"itemComponent.draggable === false ? -1 : 0\"\n [lxKeyboardSortableItem]=\"allItemsData$ | async\"\n [lxKeyboardItemData]=\"itemComponent.item\"\n [(isSortingByKeyboard)]=\"isSortingByKeyboard\"\n [(lxKeyboardItemBeingSorted)]=\"keyboardItemBeingSorted\"\n (sortItemsWithKeyboard)=\"dropToIndexAfterArrowKey(itemComponent.item, $event.previousIndex, $event.currentIndex)\"\n >\n <lx-drag-and-drop-list-item\n class=\"dragAndDropItem\"\n [item]=\"itemComponent.item\"\n [draggable]=\"itemComponent.draggable\"\n [actions]=\"itemComponent.actions\"\n (action)=\"emitContentChildAction($event)\"\n >\n <ng-template *ngIf=\"itemComponent.customTemplateRef\" #customTemplate>\n <ng-container *ngTemplateOutlet=\"itemComponent.customTemplateRef\"></ng-container>\n </ng-template>\n </lx-drag-and-drop-list-item>\n </li>\n</ul>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{display:block}.list{list-style-type:none;width:100%;display:block;padding:0;color:#526179}.item.cdk-drag-disabled{background:#eaedf1;cursor:default}.item{position:relative;cursor:move;border:solid 1px #99a5bb;margin-bottom:4px;border-radius:3px}.item:focus{outline:1px auto #1666ee}.cdk-drag-preview{box-sizing:border-box;border-radius:3px;list-style:none;border:solid 1px #99a5bb!important;box-shadow:0 3px 4px #7474744d}.cdk-drag-placeholder{opacity:.5}.cdk-drag-placeholder i{opacity:0}.cdk-drag-animating{transition:transform .18s;transition-delay:0s;transition-timing-function:ease}.list.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .18s;transition-delay:0s;transition-timing-function:ease}:host[color=dark] lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}:host[color=dark] .list,:host[color=dark] .item{border:0}:host[color=dark] .item.cdk-drag-disabled lx-drag-and-drop-list-item{background:#fff;color:#99a5bb;border:1px solid #99a5bb}:host[fontSize=big] .item{text-transform:uppercase;font-weight:700}.cdk-drag-preview.dark{border:0!important}.cdk-drag-preview.dark lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}.cdk-drag-preview.big{text-transform:uppercase;font-weight:700}.isBeingSortedByKeyboard{box-shadow:0 6px 24px #b2bccc;z-index:1}\n"] }]
@@ -5026,7 +5022,7 @@ class PickerComponent {
5026
5022
  propagateChange(_value) { }
5027
5023
  onTouched() { }
5028
5024
  }
5029
- PickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PickerComponent, deps: [{ token: i1$5.Directionality }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5025
+ PickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PickerComponent, deps: [{ token: i1$6.Directionality }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5030
5026
  PickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: PickerComponent, selector: "lx-picker", inputs: { listBoxAriaLabel: "listBoxAriaLabel", listBoxAriaLabelledBy: "listBoxAriaLabelledBy", openDirection: "openDirection" }, host: { listeners: { "document:keydown": "manageKeyboardEvents($event)" } }, providers: [
5031
5027
  {
5032
5028
  provide: NG_VALUE_ACCESSOR,
@@ -5043,7 +5039,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
5043
5039
  useExisting: forwardRef(() => PickerComponent)
5044
5040
  }
5045
5041
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"pickerContainer\">\n <ng-content select=\"[lxPickerTrigger]\"></ng-content>\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></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"] }]
5046
- }], ctorParameters: function () { return [{ type: i1$5.Directionality }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { listBoxAriaLabel: [{
5042
+ }], ctorParameters: function () { return [{ type: i1$6.Directionality }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { listBoxAriaLabel: [{
5047
5043
  type: Input
5048
5044
  }], listBoxAriaLabelledBy: [{
5049
5045
  type: Input
@@ -6016,6 +6012,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
6016
6012
  FormsModule,
6017
6013
  ReactiveFormsModule, i1$2.TranslateModule, DatepickerModule,
6018
6014
  InfiniteScrollModule,
6015
+ ClipboardModule,
6019
6016
  OverlayModule,
6020
6017
  LxCoreUiModule,
6021
6018
  LxDragAndDropListModule], exports: [BasicDropdownComponent,
@@ -6065,6 +6062,7 @@ LxFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
6065
6062
  TranslateModule.forChild(),
6066
6063
  DatepickerModule,
6067
6064
  InfiniteScrollModule,
6065
+ ClipboardModule,
6068
6066
  OverlayModule,
6069
6067
  LxCoreUiModule,
6070
6068
  LxDragAndDropListModule, LxDragAndDropListModule] });
@@ -6121,6 +6119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
6121
6119
  TranslateModule.forChild(),
6122
6120
  DatepickerModule,
6123
6121
  InfiniteScrollModule,
6122
+ ClipboardModule,
6124
6123
  OverlayModule,
6125
6124
  LxCoreUiModule,
6126
6125
  LxDragAndDropListModule
@@ -6411,7 +6410,7 @@ class ModalComponent {
6411
6410
  }
6412
6411
  }
6413
6412
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ModalComponent, deps: [{ token: i1$1.Overlay }, { token: i0.Renderer2 }, { token: MODAL_CLOSE, optional: true }, { token: i2$2.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component });
6414
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ModalComponent, selector: "lx-modal", inputs: { open: "open", showCloseButton: "showCloseButton", showBackButton: "showBackButton", verticalScroll: "verticalScroll", size: "size", isFocusTrap: "isFocusTrap", canModalBeClosed: "canModalBeClosed" }, outputs: { close: "close", back: "back" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "header", first: true, predicate: ModalHeaderComponent, descendants: true }, { propertyName: "footer", first: true, predicate: ModalFooterComponent, descendants: true }, { propertyName: "explicitContent", first: true, predicate: ModalContentDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "cdkPortal", first: true, predicate: CdkPortal, descendants: true, static: true }, { propertyName: "implicitContent", first: true, predicate: ["implicitContent"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template cdkPortal>\n <div\n *ngIf=\"open\"\n role=\"dialog\"\n class=\"lxmodal\"\n [class.lxmodal--fullscreen]=\"size === 'fullscreen'\"\n [class.lxmodal--dialog]=\"size === 'dialog'\"\n [class.lxmodal--dialog-large]=\"size === 'dialog-large'\"\n [class.lxmodal--withFooter]=\"!!footer\"\n [class.lxmodal--verticalScroll]=\"verticalScroll\"\n @modal\n >\n <div\n *ngIf=\"size === 'fullscreen' && showBackButton\"\n (click)=\"emitBack()\"\n (keyup.enter)=\"emitBack()\"\n tabindex=\"0\"\n role=\"button\"\n class=\"fal fa-long-arrow-left\"\n ></div>\n <button\n *ngIf=\"showCloseButton\"\n (click)=\"closeModal()\"\n [attr.aria-label]=\"NAME + '.close' | translate\"\n class=\"fal fa-times closeButton\"\n ></button>\n <ng-content *ngIf=\"header\" select=\"lx-modal-header\"></ng-content>\n <div class=\"modalContentContainer\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <ng-content *ngIf=\"footer\" select=\"lx-modal-footer\"></ng-content>\n </div>\n</ng-template>\n<ng-template #implicitContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}.lxmodal{background:#fff;width:100%}.lxmodal--withFooter.lxmodal--fullscreen .modalContentContainer{bottom:70px;overflow:hidden}.lxmodal--verticalScroll .modalContentContainer{overflow-y:auto}.lxmodal--fullscreen{height:100%;display:flex;flex-direction:column}.lxmodal--fullscreen .closeButton{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#b2bccc;width:48px;height:48px;font-size:24px;line-height:48px;right:36px;top:16px;z-index:1}.lxmodal--fullscreen .closeButton:before{cursor:pointer}.lxmodal--fullscreen .closeButton:hover,.lxmodal--fullscreen .closeButton:focus{color:#526179;background-color:#eaedf1}.lxmodal--fullscreen .closeButton:focus{outline:0}.lxmodal--fullscreen .fa-long-arrow-left{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#b2bccc;width:48px;height:48px;font-size:24px;line-height:48px;left:36px;top:16px}.lxmodal--fullscreen .fa-long-arrow-left:before{cursor:pointer}.lxmodal--fullscreen .fa-long-arrow-left:hover,.lxmodal--fullscreen .fa-long-arrow-left:focus{color:#526179;background-color:#eaedf1}.lxmodal--fullscreen .fa-long-arrow-left:focus{outline:0}.lxmodal--dialog,.lxmodal--dialog-large{display:block;position:relative;border-radius:6px;box-shadow:0 8px 20px #0000003d}.lxmodal--dialog .modalContentContainer,.lxmodal--dialog-large .modalContentContainer{padding:16px;position:relative}.lxmodal--dialog .closeButton,.lxmodal--dialog-large .closeButton{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#8594ad;height:32px;width:32px;font-size:16px;z-index:999;right:10px;top:10px}.lxmodal--dialog .closeButton:before,.lxmodal--dialog-large .closeButton:before{cursor:pointer}.lxmodal--dialog .closeButton:hover,.lxmodal--dialog .closeButton:focus,.lxmodal--dialog-large .closeButton:hover,.lxmodal--dialog-large .closeButton:focus{color:#526179;background-color:#eaedf1}.lxmodal--dialog .closeButton:focus,.lxmodal--dialog-large .closeButton:focus{outline:0}.lxmodal--dialog.lxmodal--verticalScroll .modalContentContainer{max-height:calc(84vh - 112px)}.lxmodal--dialog-large .modalContentContainer{height:calc(100% - 112px)}.modalContentContainer{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$6.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], animations: [
6413
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ModalComponent, selector: "lx-modal", inputs: { open: "open", showCloseButton: "showCloseButton", showBackButton: "showBackButton", verticalScroll: "verticalScroll", size: "size", isFocusTrap: "isFocusTrap", canModalBeClosed: "canModalBeClosed" }, outputs: { close: "close", back: "back" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "header", first: true, predicate: ModalHeaderComponent, descendants: true }, { propertyName: "footer", first: true, predicate: ModalFooterComponent, descendants: true }, { propertyName: "explicitContent", first: true, predicate: ModalContentDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "cdkPortal", first: true, predicate: CdkPortal, descendants: true, static: true }, { propertyName: "implicitContent", first: true, predicate: ["implicitContent"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template cdkPortal>\n <div\n *ngIf=\"open\"\n role=\"dialog\"\n class=\"lxmodal\"\n [class.lxmodal--fullscreen]=\"size === 'fullscreen'\"\n [class.lxmodal--dialog]=\"size === 'dialog'\"\n [class.lxmodal--dialog-large]=\"size === 'dialog-large'\"\n [class.lxmodal--withFooter]=\"!!footer\"\n [class.lxmodal--verticalScroll]=\"verticalScroll\"\n @modal\n >\n <div\n *ngIf=\"size === 'fullscreen' && showBackButton\"\n (click)=\"emitBack()\"\n (keyup.enter)=\"emitBack()\"\n tabindex=\"0\"\n role=\"button\"\n class=\"fal fa-long-arrow-left\"\n ></div>\n <button\n *ngIf=\"showCloseButton\"\n (click)=\"closeModal()\"\n [attr.aria-label]=\"NAME + '.close' | translate\"\n class=\"fal fa-times closeButton\"\n ></button>\n <ng-content *ngIf=\"header\" select=\"lx-modal-header\"></ng-content>\n <div class=\"modalContentContainer\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <ng-content *ngIf=\"footer\" select=\"lx-modal-footer\"></ng-content>\n </div>\n</ng-template>\n<ng-template #implicitContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}.lxmodal{background:#fff;width:100%}.lxmodal--withFooter.lxmodal--fullscreen .modalContentContainer{bottom:70px;overflow:hidden}.lxmodal--verticalScroll .modalContentContainer{overflow-y:auto}.lxmodal--fullscreen{height:100%;display:flex;flex-direction:column}.lxmodal--fullscreen .closeButton{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#b2bccc;width:48px;height:48px;font-size:24px;line-height:48px;right:36px;top:16px;z-index:1}.lxmodal--fullscreen .closeButton:before{cursor:pointer}.lxmodal--fullscreen .closeButton:hover,.lxmodal--fullscreen .closeButton:focus{color:#526179;background-color:#eaedf1}.lxmodal--fullscreen .closeButton:focus{outline:0}.lxmodal--fullscreen .fa-long-arrow-left{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#b2bccc;width:48px;height:48px;font-size:24px;line-height:48px;left:36px;top:16px}.lxmodal--fullscreen .fa-long-arrow-left:before{cursor:pointer}.lxmodal--fullscreen .fa-long-arrow-left:hover,.lxmodal--fullscreen .fa-long-arrow-left:focus{color:#526179;background-color:#eaedf1}.lxmodal--fullscreen .fa-long-arrow-left:focus{outline:0}.lxmodal--dialog,.lxmodal--dialog-large{display:block;position:relative;border-radius:6px;box-shadow:0 8px 20px #0000003d}.lxmodal--dialog .modalContentContainer,.lxmodal--dialog-large .modalContentContainer{padding:16px;position:relative}.lxmodal--dialog .closeButton,.lxmodal--dialog-large .closeButton{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#8594ad;height:32px;width:32px;font-size:16px;z-index:999;right:10px;top:10px}.lxmodal--dialog .closeButton:before,.lxmodal--dialog-large .closeButton:before{cursor:pointer}.lxmodal--dialog .closeButton:hover,.lxmodal--dialog .closeButton:focus,.lxmodal--dialog-large .closeButton:hover,.lxmodal--dialog-large .closeButton:focus{color:#526179;background-color:#eaedf1}.lxmodal--dialog .closeButton:focus,.lxmodal--dialog-large .closeButton:focus{outline:0}.lxmodal--dialog.lxmodal--verticalScroll .modalContentContainer{max-height:calc(84vh - 112px)}.lxmodal--dialog-large .modalContentContainer{height:calc(100% - 112px)}.modalContentContainer{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$7.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], animations: [
6415
6414
  trigger('modal', [
6416
6415
  transition(':enter', [style({ opacity: 0 }), animate('0.15s', style({ opacity: 1 }))]),
6417
6416
  transition(':leave', animate('0.15s', style({ opacity: 0 })))
@@ -6662,7 +6661,7 @@ class PopoverComponent {
6662
6661
  }
6663
6662
  }
6664
6663
  PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6665
- PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: PopoverComponent, selector: "lx-popover", inputs: { trigger: "trigger", horizontalAlign: "horizontalAlign", verticalAlign: "verticalAlign", noMargin: "noMargin", allowOverflow: "allowOverflow", autoFocus: "autoFocus", restoreFocus: "restoreFocus", adaptMarginsForViewportAlignChange: "adaptMarginsForViewportAlignChange" }, outputs: { opened: "opened", closed: "closed" }, queries: [{ propertyName: "explicitContent", first: true, predicate: PopoverContentDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "satPopover", first: true, predicate: SatPopover, descendants: true, static: true }, { propertyName: "implicitContent", first: true, predicate: ["implicitContent"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<sat-popover\n [anchor]=\"trigger.anchor\"\n [horizontalAlign]=\"horizontalAlign\"\n [verticalAlign]=\"verticalAlign\"\n [restoreFocus]=\"restoreFocus\"\n [lockAlignment]=\"true\"\n [autoFocus]=\"autoFocus\"\n openTransition=\"0ms\"\n closeTransition=\"0ms\"\n (opened)=\"onOpen()\"\n (afterOpen)=\"onAfterOpen()\"\n (closed)=\"onClose()\"\n>\n <div\n class=\"popoverContainer\"\n [ngClass]=\"marginClasses\"\n [class.overflowHidden]=\"!allowOverflow\"\n (mouseenter)=\"trigger.showPopover(true)\"\n (mouseleave)=\"trigger.closePopover(true)\"\n (keydown.escape)=\"$event.stopPropagation(); trigger.closePopover(true)\"\n >\n <ng-container *ngIf=\"isOpen\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </div>\n</sat-popover>\n<ng-template #implicitContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}.popoverContainer{position:relative;box-shadow:0 8px 12px 2px #00000026;max-width:600px;max-height:80vh;border-radius:3px;background-color:#fff;-webkit-hyphens:auto;hyphens:auto;animation:subtleScaleUpKeyFrames .2s ease}.popoverContainer.overflowHidden{overflow:hidden}.right{margin-left:18px}.left{margin-right:18px}.bottom{margin-top:18px}.top{margin-bottom:18px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$7.SatPopover, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }] });
6664
+ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: PopoverComponent, selector: "lx-popover", inputs: { trigger: "trigger", horizontalAlign: "horizontalAlign", verticalAlign: "verticalAlign", noMargin: "noMargin", allowOverflow: "allowOverflow", autoFocus: "autoFocus", restoreFocus: "restoreFocus", adaptMarginsForViewportAlignChange: "adaptMarginsForViewportAlignChange" }, outputs: { opened: "opened", closed: "closed" }, queries: [{ propertyName: "explicitContent", first: true, predicate: PopoverContentDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "satPopover", first: true, predicate: SatPopover, descendants: true, static: true }, { propertyName: "implicitContent", first: true, predicate: ["implicitContent"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<sat-popover\n [anchor]=\"trigger.anchor\"\n [horizontalAlign]=\"horizontalAlign\"\n [verticalAlign]=\"verticalAlign\"\n [restoreFocus]=\"restoreFocus\"\n [lockAlignment]=\"true\"\n [autoFocus]=\"autoFocus\"\n openTransition=\"0ms\"\n closeTransition=\"0ms\"\n (opened)=\"onOpen()\"\n (afterOpen)=\"onAfterOpen()\"\n (closed)=\"onClose()\"\n>\n <div\n class=\"popoverContainer\"\n [ngClass]=\"marginClasses\"\n [class.overflowHidden]=\"!allowOverflow\"\n (mouseenter)=\"trigger.showPopover(true)\"\n (mouseleave)=\"trigger.closePopover(true)\"\n (keydown.escape)=\"$event.stopPropagation(); trigger.closePopover(true)\"\n >\n <ng-container *ngIf=\"isOpen\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </div>\n</sat-popover>\n<ng-template #implicitContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}.popoverContainer{position:relative;box-shadow:0 8px 12px 2px #00000026;max-width:600px;max-height:80vh;border-radius:3px;background-color:#fff;-webkit-hyphens:auto;hyphens:auto;animation:subtleScaleUpKeyFrames .2s ease}.popoverContainer.overflowHidden{overflow:hidden}.right{margin-left:18px}.left{margin-right:18px}.bottom{margin-top:18px}.top{margin-bottom:18px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$8.SatPopover, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }] });
6666
6665
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverComponent, decorators: [{
6667
6666
  type: Component,
6668
6667
  args: [{ selector: 'lx-popover', template: "<sat-popover\n [anchor]=\"trigger.anchor\"\n [horizontalAlign]=\"horizontalAlign\"\n [verticalAlign]=\"verticalAlign\"\n [restoreFocus]=\"restoreFocus\"\n [lockAlignment]=\"true\"\n [autoFocus]=\"autoFocus\"\n openTransition=\"0ms\"\n closeTransition=\"0ms\"\n (opened)=\"onOpen()\"\n (afterOpen)=\"onAfterOpen()\"\n (closed)=\"onClose()\"\n>\n <div\n class=\"popoverContainer\"\n [ngClass]=\"marginClasses\"\n [class.overflowHidden]=\"!allowOverflow\"\n (mouseenter)=\"trigger.showPopover(true)\"\n (mouseleave)=\"trigger.closePopover(true)\"\n (keydown.escape)=\"$event.stopPropagation(); trigger.closePopover(true)\"\n >\n <ng-container *ngIf=\"isOpen\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </div>\n</sat-popover>\n<ng-template #implicitContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}.popoverContainer{position:relative;box-shadow:0 8px 12px 2px #00000026;max-width:600px;max-height:80vh;border-radius:3px;background-color:#fff;-webkit-hyphens:auto;hyphens:auto;animation:subtleScaleUpKeyFrames .2s ease}.popoverContainer.overflowHidden{overflow:hidden}.right{margin-left:18px}.left{margin-right:18px}.bottom{margin-top:18px}.top{margin-bottom:18px}\n"] }]
@@ -6723,7 +6722,7 @@ class PopoverClickDirective {
6723
6722
  this.onMouseLeave.next();
6724
6723
  }
6725
6724
  }
6726
- PopoverClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverClickDirective, deps: [{ token: i1$7.SatPopoverAnchor }], target: i0.ɵɵFactoryTarget.Directive });
6725
+ PopoverClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverClickDirective, deps: [{ token: i1$8.SatPopoverAnchor }], target: i0.ɵɵFactoryTarget.Directive });
6727
6726
  PopoverClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: PopoverClickDirective, selector: "[lxPopoverClick]", inputs: { lxPopoverPinned: "lxPopoverPinned" }, host: { listeners: { "mouseleave": "closePopover()" } }, exportAs: ["clickAnchor"], ngImport: i0 });
6728
6727
  __decorate([
6729
6728
  Observe('lxPopoverPinned')
@@ -6734,7 +6733,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
6734
6733
  exportAs: 'clickAnchor',
6735
6734
  selector: '[lxPopoverClick]'
6736
6735
  }]
6737
- }], ctorParameters: function () { return [{ type: i1$7.SatPopoverAnchor }]; }, propDecorators: { lxPopoverPinned: [{
6736
+ }], ctorParameters: function () { return [{ type: i1$8.SatPopoverAnchor }]; }, propDecorators: { lxPopoverPinned: [{
6738
6737
  type: Input
6739
6738
  }], pinned$: [], closePopover: [{
6740
6739
  type: HostListener,
@@ -6802,7 +6801,7 @@ class PopoverHoverDirective {
6802
6801
  this.onMouseLeave.next({ skipDelay });
6803
6802
  }
6804
6803
  }
6805
- PopoverHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverHoverDirective, deps: [{ token: i1$7.SatPopoverAnchor }], target: i0.ɵɵFactoryTarget.Directive });
6804
+ PopoverHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverHoverDirective, deps: [{ token: i1$8.SatPopoverAnchor }], target: i0.ɵɵFactoryTarget.Directive });
6806
6805
  PopoverHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: PopoverHoverDirective, selector: "[lxPopoverHover]", inputs: { lxPopoverHover: "lxPopoverHover", skipCloseDelay: "skipCloseDelay" }, host: { listeners: { "mouseenter": "showPopover()", "mouseleave": "closePopover()" } }, exportAs: ["hoverAnchor"], ngImport: i0 });
6807
6806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverHoverDirective, decorators: [{
6808
6807
  type: Directive,
@@ -6810,7 +6809,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
6810
6809
  exportAs: 'hoverAnchor',
6811
6810
  selector: '[lxPopoverHover]'
6812
6811
  }]
6813
- }], ctorParameters: function () { return [{ type: i1$7.SatPopoverAnchor }]; }, propDecorators: { lxPopoverHover: [{
6812
+ }], ctorParameters: function () { return [{ type: i1$8.SatPopoverAnchor }]; }, propDecorators: { lxPopoverHover: [{
6814
6813
  type: Input
6815
6814
  }], skipCloseDelay: [{
6816
6815
  type: Input
@@ -6862,7 +6861,7 @@ class TabComponent {
6862
6861
  }
6863
6862
  }
6864
6863
  TabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TabComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6865
- TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TabComponent, selector: "lx-tab", inputs: { icon: "icon", label: "label", title: "title", tabLink: "tabLink", counter: "counter", routerLinkActiveOptions: "routerLinkActiveOptions", counterBadgeSize: "counterBadgeSize", noMargin: "noMargin", noLeftMarginForFirstTab: "noLeftMarginForFirstTab", background: "background", disabled: "disabled" }, outputs: { switch: "switch" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplate"], descendants: true, static: true }, { propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<li\n class=\"tab\"\n [attr.tabindex]=\"isActive || disabled || tabLink ? '-1' : '0'\"\n [attr.aria-selected]=\"isActive\"\n [attr.aria-controls]=\"tabPanelId\"\n [class.active]=\"isActive\"\n [class.withIcon]=\"icon\"\n [class.noMargin]=\"noMargin\"\n [class.noLeftMarginForFirstTab]=\"noLeftMarginForFirstTab\"\n [class.backgroundGray]=\"background === 'gray'\"\n [class.disabled]=\"disabled\"\n [class.portalTab]=\"!tabLink\"\n [class.routerLinkTab]=\"tabLink\"\n [attr.title]=\"title\"\n role=\"tab\"\n (keyup.enter)=\"switch.emit()\"\n (click)=\"switch.emit()\"\n>\n <a *ngIf=\"tabLink; else portalTab\" [routerLink]=\"tabLink\" routerLinkActive [routerLinkActiveOptions]=\"routerLinkActiveOptions\">\n <ng-container *ngTemplateOutlet=\"portalTab\"></ng-container>\n </a>\n\n <ng-template #portalTab>\n <i *ngIf=\"icon\" class=\"icon {{ icon }}\"></i>\n <span *ngIf=\"label\" class=\"tabLabel\">{{ label }}</span>\n <lx-badge\n *ngIf=\"counter\"\n [size]=\"counterBadgeSize\"\n class=\"lx-margin-left\"\n [content]=\"counter\"\n [color]=\"isActive ? 'darkgray' : 'gray'\"\n ></lx-badge>\n </ng-template>\n\n <ng-template cdkPortal #contentTemplate=\"cdkPortal\">\n <div *ngIf=\"!tabLink\" class=\"content\" role=\"tabpanel\" [attr.id]=\"tabPanelId\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n</li>\n", styles: [":host{display:inline-block}.tab{display:inline-block;margin:0 8px;text-align:center;border-bottom:solid 2px transparent;transition:border-bottom .5s;cursor:pointer}.tab:hover,.tab.active{border-bottom:solid 2px #2a303d;transition:border-bottom .1s;outline:0}.tab.active{cursor:default}.tab.disabled{opacity:.3;cursor:default}.tab:hover .tabLabel,.tab.active .tabLabel{color:#2a303d;transition:color .1s}.portalTab,.routerLinkTab a{display:inline-block;padding:8px 8px 12px;line-height:20px}.portalTab.withIcon,.routerLinkTab a.withIcon{padding:10px 14px;line-height:16px}.routerLinkTab.active a,.routerLinkTab.disabled a{cursor:default}.icon{font-size:16px;opacity:.6}.noMargin{margin:0}.noLeftMarginForFirstTab{margin-left:0}.backgroundGray{background-color:#c2c9d6}.backgroundGray:not(.active):not(.disabled){background-color:#cfd5df}.tabLabel{color:#677a9a;display:inline-block;font-size:13px;text-decoration:none}.content{height:100%}\n"], dependencies: [{ kind: "directive", type: i1$6.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6864
+ TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TabComponent, selector: "lx-tab", inputs: { icon: "icon", label: "label", title: "title", tabLink: "tabLink", counter: "counter", routerLinkActiveOptions: "routerLinkActiveOptions", counterBadgeSize: "counterBadgeSize", noMargin: "noMargin", noLeftMarginForFirstTab: "noLeftMarginForFirstTab", background: "background", disabled: "disabled" }, outputs: { switch: "switch" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplate"], descendants: true, static: true }, { propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<li\n class=\"tab\"\n [attr.tabindex]=\"isActive || disabled || tabLink ? '-1' : '0'\"\n [attr.aria-selected]=\"isActive\"\n [attr.aria-controls]=\"tabPanelId\"\n [class.active]=\"isActive\"\n [class.withIcon]=\"icon\"\n [class.noMargin]=\"noMargin\"\n [class.noLeftMarginForFirstTab]=\"noLeftMarginForFirstTab\"\n [class.backgroundGray]=\"background === 'gray'\"\n [class.disabled]=\"disabled\"\n [class.portalTab]=\"!tabLink\"\n [class.routerLinkTab]=\"tabLink\"\n [attr.title]=\"title\"\n role=\"tab\"\n (keyup.enter)=\"switch.emit()\"\n (click)=\"switch.emit()\"\n>\n <a *ngIf=\"tabLink; else portalTab\" [routerLink]=\"tabLink\" routerLinkActive [routerLinkActiveOptions]=\"routerLinkActiveOptions\">\n <ng-container *ngTemplateOutlet=\"portalTab\"></ng-container>\n </a>\n\n <ng-template #portalTab>\n <i *ngIf=\"icon\" class=\"icon {{ icon }}\"></i>\n <span *ngIf=\"label\" class=\"tabLabel\">{{ label }}</span>\n <lx-badge\n *ngIf=\"counter\"\n [size]=\"counterBadgeSize\"\n class=\"lx-margin-left\"\n [content]=\"counter\"\n [color]=\"isActive ? 'darkgray' : 'gray'\"\n ></lx-badge>\n </ng-template>\n\n <ng-template cdkPortal #contentTemplate=\"cdkPortal\">\n <div *ngIf=\"!tabLink\" class=\"content\" role=\"tabpanel\" [attr.id]=\"tabPanelId\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n</li>\n", styles: [":host{display:inline-block}.tab{display:inline-block;margin:0 8px;text-align:center;border-bottom:solid 2px transparent;transition:border-bottom .5s;cursor:pointer}.tab:hover,.tab.active{border-bottom:solid 2px #2a303d;transition:border-bottom .1s;outline:0}.tab.active{cursor:default}.tab.disabled{opacity:.3;cursor:default}.tab:hover .tabLabel,.tab.active .tabLabel{color:#2a303d;transition:color .1s}.portalTab,.routerLinkTab a{display:inline-block;padding:8px 8px 12px;line-height:20px}.portalTab.withIcon,.routerLinkTab a.withIcon{padding:10px 14px;line-height:16px}.routerLinkTab.active a,.routerLinkTab.disabled a{cursor:default}.icon{font-size:16px;opacity:.6}.noMargin{margin:0}.noLeftMarginForFirstTab{margin-left:0}.backgroundGray{background-color:#c2c9d6}.backgroundGray:not(.active):not(.disabled){background-color:#cfd5df}.tabLabel{color:#677a9a;display:inline-block;font-size:13px;text-decoration:none}.content{height:100%}\n"], dependencies: [{ kind: "directive", type: i1$7.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6866
6865
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TabComponent, decorators: [{
6867
6866
  type: Component,
6868
6867
  args: [{ selector: 'lx-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<li\n class=\"tab\"\n [attr.tabindex]=\"isActive || disabled || tabLink ? '-1' : '0'\"\n [attr.aria-selected]=\"isActive\"\n [attr.aria-controls]=\"tabPanelId\"\n [class.active]=\"isActive\"\n [class.withIcon]=\"icon\"\n [class.noMargin]=\"noMargin\"\n [class.noLeftMarginForFirstTab]=\"noLeftMarginForFirstTab\"\n [class.backgroundGray]=\"background === 'gray'\"\n [class.disabled]=\"disabled\"\n [class.portalTab]=\"!tabLink\"\n [class.routerLinkTab]=\"tabLink\"\n [attr.title]=\"title\"\n role=\"tab\"\n (keyup.enter)=\"switch.emit()\"\n (click)=\"switch.emit()\"\n>\n <a *ngIf=\"tabLink; else portalTab\" [routerLink]=\"tabLink\" routerLinkActive [routerLinkActiveOptions]=\"routerLinkActiveOptions\">\n <ng-container *ngTemplateOutlet=\"portalTab\"></ng-container>\n </a>\n\n <ng-template #portalTab>\n <i *ngIf=\"icon\" class=\"icon {{ icon }}\"></i>\n <span *ngIf=\"label\" class=\"tabLabel\">{{ label }}</span>\n <lx-badge\n *ngIf=\"counter\"\n [size]=\"counterBadgeSize\"\n class=\"lx-margin-left\"\n [content]=\"counter\"\n [color]=\"isActive ? 'darkgray' : 'gray'\"\n ></lx-badge>\n </ng-template>\n\n <ng-template cdkPortal #contentTemplate=\"cdkPortal\">\n <div *ngIf=\"!tabLink\" class=\"content\" role=\"tabpanel\" [attr.id]=\"tabPanelId\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n</li>\n", styles: [":host{display:inline-block}.tab{display:inline-block;margin:0 8px;text-align:center;border-bottom:solid 2px transparent;transition:border-bottom .5s;cursor:pointer}.tab:hover,.tab.active{border-bottom:solid 2px #2a303d;transition:border-bottom .1s;outline:0}.tab.active{cursor:default}.tab.disabled{opacity:.3;cursor:default}.tab:hover .tabLabel,.tab.active .tabLabel{color:#2a303d;transition:color .1s}.portalTab,.routerLinkTab a{display:inline-block;padding:8px 8px 12px;line-height:20px}.portalTab.withIcon,.routerLinkTab a.withIcon{padding:10px 14px;line-height:16px}.routerLinkTab.active a,.routerLinkTab.disabled a{cursor:default}.icon{font-size:16px;opacity:.6}.noMargin{margin:0}.noLeftMarginForFirstTab{margin-left:0}.backgroundGray{background-color:#c2c9d6}.backgroundGray:not(.active):not(.disabled){background-color:#cfd5df}.tabLabel{color:#677a9a;display:inline-block;font-size:13px;text-decoration:none}.content{height:100%}\n"] }]
@@ -6950,7 +6949,7 @@ class TabGroupComponent {
6950
6949
  }
6951
6950
  }
6952
6951
  TabGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TabGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6953
- TabGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TabGroupComponent, selector: "lx-tab-group", inputs: { isCentered: "isCentered", selectedIndex: "selectedIndex" }, outputs: { indexChange: "indexChange" }, queries: [{ propertyName: "tabsQueryList", predicate: TabComponent }], usesOnChanges: true, ngImport: i0, template: "<ul class=\"tabs\" role=\"tablist\" [class.centered]=\"isCentered\">\n <ng-content></ng-content>\n</ul>\n\n<ng-template [cdkPortalOutlet]=\"activeTabPortal\"></ng-template>\n", styles: [".tabs{display:inline-block;list-style:none;border-bottom:solid 1px #cfd5df;width:100%;margin:0;padding:0}.tabs.centered{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6952
+ TabGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TabGroupComponent, selector: "lx-tab-group", inputs: { isCentered: "isCentered", selectedIndex: "selectedIndex" }, outputs: { indexChange: "indexChange" }, queries: [{ propertyName: "tabsQueryList", predicate: TabComponent }], usesOnChanges: true, ngImport: i0, template: "<ul class=\"tabs\" role=\"tablist\" [class.centered]=\"isCentered\">\n <ng-content></ng-content>\n</ul>\n\n<ng-template [cdkPortalOutlet]=\"activeTabPortal\"></ng-template>\n", styles: [".tabs{display:inline-block;list-style:none;border-bottom:solid 1px #cfd5df;width:100%;margin:0;padding:0}.tabs.centered{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$7.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6954
6953
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TabGroupComponent, decorators: [{
6955
6954
  type: Component,
6956
6955
  args: [{ selector: 'lx-tab-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"tabs\" role=\"tablist\" [class.centered]=\"isCentered\">\n <ng-content></ng-content>\n</ul>\n\n<ng-template [cdkPortalOutlet]=\"activeTabPortal\"></ng-template>\n", styles: [".tabs{display:inline-block;list-style:none;border-bottom:solid 1px #cfd5df;width:100%;margin:0;padding:0}.tabs.centered{text-align:center}\n"] }]