@leanix/components 0.2.238 → 0.2.239
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +3 -1
 - package/esm2020/lib/core-ui/components/button/button.component.mjs +2 -2
 - package/esm2020/lib/core-ui/components/ellipsis/ellipsis.component.mjs +111 -56
 - package/esm2020/lib/core-ui/services/resize-observer.service.mjs +47 -0
 - package/fesm2015/leanix-components.mjs +258 -158
 - package/fesm2015/leanix-components.mjs.map +1 -1
 - package/fesm2020/leanix-components.mjs +255 -157
 - package/fesm2020/leanix-components.mjs.map +1 -1
 - package/index.d.ts +1 -0
 - package/lib/core-ui/components/ellipsis/ellipsis.component.d.ts +31 -21
 - package/lib/core-ui/services/resize-observer.service.d.ts +27 -0
 - package/package.json +1 -1
 
| 
         @@ -1,18 +1,19 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            import * as i2 from '@angular/common';
         
     | 
| 
       2 
2 
     | 
    
         
             
            import { CommonModule, formatDate } from '@angular/common';
         
     | 
| 
       3 
3 
     | 
    
         
             
            import * as i0 from '@angular/core';
         
     | 
| 
       4 
     | 
    
         
            -
            import { Component, Input, HostBinding, ChangeDetectionStrategy, EventEmitter, Output, HostListener, Directive,  
     | 
| 
      
 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 
5 
     | 
    
         
             
            import * as i3$2 from '@angular/cdk/portal';
         
     | 
| 
       6 
6 
     | 
    
         
             
            import { ComponentPortal, CdkPortal, PortalModule } from '@angular/cdk/portal';
         
     | 
| 
       7 
7 
     | 
    
         
             
            import * as i1 from '@angular/cdk/overlay';
         
     | 
| 
       8 
8 
     | 
    
         
             
            import { OverlayModule, CdkConnectedOverlay } from '@angular/cdk/overlay';
         
     | 
| 
       9 
     | 
    
         
            -
            import {  
     | 
| 
       10 
     | 
    
         
            -
            import * as i1$2 from '@ngx-translate/core';
         
     | 
| 
       11 
     | 
    
         
            -
            import { TranslatePipe, TranslateModule } from '@ngx-translate/core';
         
     | 
| 
       12 
     | 
    
         
            -
            import * as i1$1 from '@angular/platform-browser';
         
     | 
| 
      
 9 
     | 
    
         
            +
            import { __decorate } from 'tslib';
         
     | 
| 
       13 
10 
     | 
    
         
             
            import * as i6 from 'rxjs';
         
     | 
| 
       14 
     | 
    
         
            -
            import {  
     | 
| 
       15 
     | 
    
         
            -
            import {  
     | 
| 
      
 11 
     | 
    
         
            +
            import { BehaviorSubject, Subject, combineLatest, merge, concat, fromEvent, Observable, ReplaySubject, of, timer } from 'rxjs';
         
     | 
| 
      
 12 
     | 
    
         
            +
            import { skipWhile, map, switchMap, startWith, pairwise, filter, take, debounceTime, skip, withLatestFrom, distinctUntilChanged, takeUntil, first, delay, mapTo, tap } from 'rxjs/operators';
         
     | 
| 
      
 13 
     | 
    
         
            +
            import * as i1$1 from '@ngx-translate/core';
         
     | 
| 
      
 14 
     | 
    
         
            +
            import { TranslatePipe, TranslateModule } from '@ngx-translate/core';
         
     | 
| 
      
 15 
     | 
    
         
            +
            import * as i1$2 from '@angular/platform-browser';
         
     | 
| 
      
 16 
     | 
    
         
            +
            import { trimEnd, sortBy, get, isEqual, toLower, some, padCharsStart, toString, isNaN as isNaN$1, toNumber, includes, last, findIndex, filter as filter$1, isObject, find, uniqueId } from 'lodash/fp';
         
     | 
| 
       16 
17 
     | 
    
         
             
            import Color from 'color';
         
     | 
| 
       17 
18 
     | 
    
         
             
            import { format, distanceInWords, startOfDay } from 'date-fns';
         
     | 
| 
       18 
19 
     | 
    
         
             
            import _, { curry } from 'lodash';
         
     | 
| 
         @@ -23,7 +24,6 @@ import * as i1$3 from 'ngx-bootstrap/datepicker'; 
     | 
|
| 
       23 
24 
     | 
    
         
             
            import { DatePickerComponent, DateFormatter, DatepickerModule } from 'ngx-bootstrap/datepicker';
         
     | 
| 
       24 
25 
     | 
    
         
             
            import * as i3 from 'ngx-infinite-scroll';
         
     | 
| 
       25 
26 
     | 
    
         
             
            import { InfiniteScrollModule } from 'ngx-infinite-scroll';
         
     | 
| 
       26 
     | 
    
         
            -
            import { __decorate } from 'tslib';
         
     | 
| 
       27 
27 
     | 
    
         
             
            import * as i1$4 from '@angular/cdk/drag-drop';
         
     | 
| 
       28 
28 
     | 
    
         
             
            import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
         
     | 
| 
       29 
29 
     | 
    
         
             
            import * as i2$1 from '@angular/cdk/a11y';
         
     | 
| 
         @@ -110,10 +110,10 @@ class ButtonComponent { 
     | 
|
| 
       110 
110 
     | 
    
         
             
                }
         
     | 
| 
       111 
111 
     | 
    
         
             
            }
         
     | 
| 
       112 
112 
     | 
    
         
             
            ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       113 
     | 
    
         
            -
            ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ButtonComponent, selector: "button[lx-button]", inputs: { size: "size", color: "color", mode: "mode", pressed: "pressed", selected: "selected", square: "square", circle: "circle", disabled: "disabled", showSpinner: "showSpinner" }, host: { properties: { "attr.size": "this.size", "attr.color": "this.color", "attr.mode": "this.mode", "class.pressed": "this.pressed", "class.selected": "this.selected", "class.square": "this.square", "class.circle": "this.circle", "class.loading": "this.showSpinner", "disabled": "this.isDisabled" } }, ngImport: i0, template: "<lx-tiny-spinner *ngIf=\"showSpinner\"></lx-tiny-spinner>\n<ng-content></ng-content>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{border-radius:3px;font-weight:400;cursor:pointer;transition:color,background-color,border-color .18s;transition-delay:0s;transition-timing-function:ease}:host[disabled]{opacity:.5;cursor:default}:host[color=default] lx-tiny-spinner{color:#2a303d}:host[color=default][mode=solid]{color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=solid]:hover:not([disabled]),:host[color=default][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=default][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=default][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=outline]:focus:not([disabled]),:host[color=default][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=default][mode=ghost]:focus:not([disabled]),:host[color=default][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0}:host[color=default][mode=link]:focus:not([disabled]),:host[color=default][mode=link]:hover:not([disabled]),:host[color=default][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[color=light] lx-tiny-spinner{color:#2a303d}:host[color=light][mode=solid]{color:#2a303d;background-color:#fff;border:1px solid #e1e5eb}:host[color=light][mode=solid]:hover:not([disabled]),:host[color=light][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=light][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=light][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=outline]:focus:not([disabled]),:host[color=light][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=light][mode=ghost]:focus:not([disabled]),:host[color=light][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0}:host[color=light][mode=link]:focus:not([disabled]),:host[color=light][mode=link]:hover:not([disabled]),:host[color=light][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[color=primary] lx-tiny-spinner{color:var(--lx-primarybutton-fontcolor)}:host[color=primary][mode=solid]{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=solid]:hover:not([disabled]),:host[color=primary][mode=solid]:focus:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=solid]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcoloractive);border:1px solid var(--lx-primarybutton-backgroundcoloractive)}:host[color=primary][mode=solid].pressed{background-color:var(--lx-primarybutton-backgroundcoloractive)!important;border-color:var(--lx-primarybutton-backgroundcoloractive)!important}:host[color=primary][mode=solid].selected{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=outline]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:focus:not([disabled]),:host[color=primary][mode=outline]:hover:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=ghost]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent}:host[color=primary][mode=ghost]:focus:not([disabled]),:host[color=primary][mode=ghost]:hover:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=ghost]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=link]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;padding:0}:host[color=primary][mode=link]:focus:not([disabled]),:host[color=primary][mode=link]:hover:not([disabled]),:host[color=primary][mode=link]:active:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[color=danger] lx-tiny-spinner{color:#fff}:host[color=danger][mode=solid]{color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=solid]:hover:not([disabled]),:host[color=danger][mode=solid]:focus:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=solid]:active:not([disabled]){color:#fff;background-color:#bd0707;border:1px solid #bd0707}:host[color=danger][mode=solid].pressed{background-color:#bd0707!important;border-color:#bd0707!important}:host[color=danger][mode=solid].selected{color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=outline]{color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=outline]:focus:not([disabled]),:host[color=danger][mode=outline]:hover:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=outline]:active:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=ghost]{color:#f96464;background-color:transparent;border:1px solid transparent}:host[color=danger][mode=ghost]:focus:not([disabled]),:host[color=danger][mode=ghost]:hover:not([disabled]){color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=ghost]:active:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=link]{color:#f96464;background-color:transparent;border:1px solid transparent;padding:0}:host[color=danger][mode=link]:focus:not([disabled]),:host[color=danger][mode=link]:hover:not([disabled]),:host[color=danger][mode=link]:active:not([disabled]){color:#f96464;background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[color=success] lx-tiny-spinner{color:#fff}:host[color=success][mode=solid]{color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=solid]:hover:not([disabled]),:host[color=success][mode=solid]:focus:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=solid]:active:not([disabled]){color:#fff;background-color:#145223;border:1px solid #145223}:host[color=success][mode=solid].pressed{background-color:#145223!important;border-color:#145223!important}:host[color=success][mode=solid].selected{color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=outline]{color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=outline]:focus:not([disabled]),:host[color=success][mode=outline]:hover:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=outline]:active:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=ghost]{color:#33cc58;background-color:transparent;border:1px solid transparent}:host[color=success][mode=ghost]:focus:not([disabled]),:host[color=success][mode=ghost]:hover:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=ghost]:active:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=link]{color:#33cc58;background-color:transparent;border:1px solid transparent;padding:0}:host[color=success][mode=link]:focus:not([disabled]),:host[color=success][mode=link]:hover:not([disabled]),:host[color=success][mode=link]:active:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[size=small]{height:20px;line-height:12px;padding:3px 7px;font-size:11px;min-width:20px}:host[size=small].square{width:20px;text-align:center;padding:0}:host[size=small].circle{border-radius:10px;min-width:20px;padding:0 3px}:host[size=medium]{height:24px;line-height:16px;padding:3px 7px;font-size:12px;min-width:24px}:host[size=medium].square{width:24px;text-align:center;padding:0}:host[size=medium].circle{border-radius:11px;min-width:24px;padding:0 3px}:host[size=large]{height:32px;line-height:16px;padding:7px 11px;font-size:12px;min-width:32px}:host[size=large].square{width:32px;text-align:center;padding:0}:host[size=large].circle{border-radius:15px;min-width:32px;padding:0 7px}:host[size=auto]{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].square{width:auto;text-align:center;padding:0}:host[size=auto].circle{border-radius:unset;min-width:auto;padding:0}:host.loading{position:relative;opacity:.5;color:transparent!important}:host.loading lx-tiny-spinner{position:absolute;left:calc(50% - .5em)}\n"], components: [{ type: TinySpinnerComponent, selector: "lx-tiny-spinner" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
         
     | 
| 
      
 113 
     | 
    
         
            +
            ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ButtonComponent, selector: "button[lx-button]", inputs: { size: "size", color: "color", mode: "mode", pressed: "pressed", selected: "selected", square: "square", circle: "circle", disabled: "disabled", showSpinner: "showSpinner" }, host: { properties: { "attr.size": "this.size", "attr.color": "this.color", "attr.mode": "this.mode", "class.pressed": "this.pressed", "class.selected": "this.selected", "class.square": "this.square", "class.circle": "this.circle", "class.loading": "this.showSpinner", "disabled": "this.isDisabled" } }, ngImport: i0, template: "<lx-tiny-spinner *ngIf=\"showSpinner\"></lx-tiny-spinner>\n<ng-content></ng-content>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{border-radius:3px;font-weight:400;cursor:pointer;transition:color,background-color,border-color .18s;transition-delay:0s;transition-timing-function:ease}:host[disabled]{opacity:.5;cursor:default}:host[color=default] lx-tiny-spinner{color:#2a303d}:host[color=default][mode=solid]{color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=solid]:hover:not([disabled]),:host[color=default][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=default][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=default][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=outline]:focus:not([disabled]),:host[color=default][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=default][mode=ghost]:focus:not([disabled]),:host[color=default][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=default][mode=link]:focus:not([disabled]),:host[color=default][mode=link]:hover:not([disabled]),:host[color=default][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=light] lx-tiny-spinner{color:#2a303d}:host[color=light][mode=solid]{color:#2a303d;background-color:#fff;border:1px solid #e1e5eb}:host[color=light][mode=solid]:hover:not([disabled]),:host[color=light][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=light][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=light][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=outline]:focus:not([disabled]),:host[color=light][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=light][mode=ghost]:focus:not([disabled]),:host[color=light][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=light][mode=link]:focus:not([disabled]),:host[color=light][mode=link]:hover:not([disabled]),:host[color=light][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=primary] lx-tiny-spinner{color:var(--lx-primarybutton-fontcolor)}:host[color=primary][mode=solid]{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=solid]:hover:not([disabled]),:host[color=primary][mode=solid]:focus:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=solid]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcoloractive);border:1px solid var(--lx-primarybutton-backgroundcoloractive)}:host[color=primary][mode=solid].pressed{background-color:var(--lx-primarybutton-backgroundcoloractive)!important;border-color:var(--lx-primarybutton-backgroundcoloractive)!important}:host[color=primary][mode=solid].selected{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=outline]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:focus:not([disabled]),:host[color=primary][mode=outline]:hover:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=ghost]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent}:host[color=primary][mode=ghost]:focus:not([disabled]),:host[color=primary][mode=ghost]:hover:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=ghost]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=link]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=primary][mode=link]:focus:not([disabled]),:host[color=primary][mode=link]:hover:not([disabled]),:host[color=primary][mode=link]:active:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=danger] lx-tiny-spinner{color:#fff}:host[color=danger][mode=solid]{color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=solid]:hover:not([disabled]),:host[color=danger][mode=solid]:focus:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=solid]:active:not([disabled]){color:#fff;background-color:#bd0707;border:1px solid #bd0707}:host[color=danger][mode=solid].pressed{background-color:#bd0707!important;border-color:#bd0707!important}:host[color=danger][mode=solid].selected{color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=outline]{color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=outline]:focus:not([disabled]),:host[color=danger][mode=outline]:hover:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=outline]:active:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=ghost]{color:#f96464;background-color:transparent;border:1px solid transparent}:host[color=danger][mode=ghost]:focus:not([disabled]),:host[color=danger][mode=ghost]:hover:not([disabled]){color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=ghost]:active:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=link]{color:#f96464;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=danger][mode=link]:focus:not([disabled]),:host[color=danger][mode=link]:hover:not([disabled]),:host[color=danger][mode=link]:active:not([disabled]){color:#f96464;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=success] lx-tiny-spinner{color:#fff}:host[color=success][mode=solid]{color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=solid]:hover:not([disabled]),:host[color=success][mode=solid]:focus:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=solid]:active:not([disabled]){color:#fff;background-color:#145223;border:1px solid #145223}:host[color=success][mode=solid].pressed{background-color:#145223!important;border-color:#145223!important}:host[color=success][mode=solid].selected{color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=outline]{color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=outline]:focus:not([disabled]),:host[color=success][mode=outline]:hover:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=outline]:active:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=ghost]{color:#33cc58;background-color:transparent;border:1px solid transparent}:host[color=success][mode=ghost]:focus:not([disabled]),:host[color=success][mode=ghost]:hover:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=ghost]:active:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=link]{color:#33cc58;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=success][mode=link]:focus:not([disabled]),:host[color=success][mode=link]:hover:not([disabled]),:host[color=success][mode=link]:active:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[size=small]{height:20px;line-height:12px;padding:3px 7px;font-size:11px;min-width:20px}:host[size=small].square{width:20px;text-align:center;padding:0}:host[size=small].circle{border-radius:10px;min-width:20px;padding:0 3px}:host[size=medium]{height:24px;line-height:16px;padding:3px 7px;font-size:12px;min-width:24px}:host[size=medium].square{width:24px;text-align:center;padding:0}:host[size=medium].circle{border-radius:11px;min-width:24px;padding:0 3px}:host[size=large]{height:32px;line-height:16px;padding:7px 11px;font-size:12px;min-width:32px}:host[size=large].square{width:32px;text-align:center;padding:0}:host[size=large].circle{border-radius:15px;min-width:32px;padding:0 7px}:host[size=auto]{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].square{width:auto;text-align:center;padding:0}:host[size=auto].circle{border-radius:unset;min-width:auto;padding:0}:host.loading{position:relative;opacity:.5;color:transparent!important}:host.loading lx-tiny-spinner{position:absolute;left:calc(50% - .5em)}\n"], components: [{ type: TinySpinnerComponent, selector: "lx-tiny-spinner" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
         
     | 
| 
       114 
114 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ButtonComponent, decorators: [{
         
     | 
| 
       115 
115 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       116 
     | 
    
         
            -
                        args: [{ selector: 'button[lx-button]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<lx-tiny-spinner *ngIf=\"showSpinner\"></lx-tiny-spinner>\n<ng-content></ng-content>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{border-radius:3px;font-weight:400;cursor:pointer;transition:color,background-color,border-color .18s;transition-delay:0s;transition-timing-function:ease}:host[disabled]{opacity:.5;cursor:default}:host[color=default] lx-tiny-spinner{color:#2a303d}:host[color=default][mode=solid]{color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=solid]:hover:not([disabled]),:host[color=default][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=default][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=default][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=outline]:focus:not([disabled]),:host[color=default][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=default][mode=ghost]:focus:not([disabled]),:host[color=default][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0}:host[color=default][mode=link]:focus:not([disabled]),:host[color=default][mode=link]:hover:not([disabled]),:host[color=default][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[color=light] lx-tiny-spinner{color:#2a303d}:host[color=light][mode=solid]{color:#2a303d;background-color:#fff;border:1px solid #e1e5eb}:host[color=light][mode=solid]:hover:not([disabled]),:host[color=light][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=light][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=light][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=outline]:focus:not([disabled]),:host[color=light][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=light][mode=ghost]:focus:not([disabled]),:host[color=light][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0}:host[color=light][mode=link]:focus:not([disabled]),:host[color=light][mode=link]:hover:not([disabled]),:host[color=light][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[color=primary] lx-tiny-spinner{color:var(--lx-primarybutton-fontcolor)}:host[color=primary][mode=solid]{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=solid]:hover:not([disabled]),:host[color=primary][mode=solid]:focus:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=solid]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcoloractive);border:1px solid var(--lx-primarybutton-backgroundcoloractive)}:host[color=primary][mode=solid].pressed{background-color:var(--lx-primarybutton-backgroundcoloractive)!important;border-color:var(--lx-primarybutton-backgroundcoloractive)!important}:host[color=primary][mode=solid].selected{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=outline]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:focus:not([disabled]),:host[color=primary][mode=outline]:hover:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=ghost]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent}:host[color=primary][mode=ghost]:focus:not([disabled]),:host[color=primary][mode=ghost]:hover:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=ghost]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=link]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;padding:0}:host[color=primary][mode=link]:focus:not([disabled]),:host[color=primary][mode=link]:hover:not([disabled]),:host[color=primary][mode=link]:active:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[color=danger] lx-tiny-spinner{color:#fff}:host[color=danger][mode=solid]{color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=solid]:hover:not([disabled]),:host[color=danger][mode=solid]:focus:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=solid]:active:not([disabled]){color:#fff;background-color:#bd0707;border:1px solid #bd0707}:host[color=danger][mode=solid].pressed{background-color:#bd0707!important;border-color:#bd0707!important}:host[color=danger][mode=solid].selected{color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=outline]{color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=outline]:focus:not([disabled]),:host[color=danger][mode=outline]:hover:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=outline]:active:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=ghost]{color:#f96464;background-color:transparent;border:1px solid transparent}:host[color=danger][mode=ghost]:focus:not([disabled]),:host[color=danger][mode=ghost]:hover:not([disabled]){color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=ghost]:active:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=link]{color:#f96464;background-color:transparent;border:1px solid transparent;padding:0}:host[color=danger][mode=link]:focus:not([disabled]),:host[color=danger][mode=link]:hover:not([disabled]),:host[color=danger][mode=link]:active:not([disabled]){color:#f96464;background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[color=success] lx-tiny-spinner{color:#fff}:host[color=success][mode=solid]{color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=solid]:hover:not([disabled]),:host[color=success][mode=solid]:focus:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=solid]:active:not([disabled]){color:#fff;background-color:#145223;border:1px solid #145223}:host[color=success][mode=solid].pressed{background-color:#145223!important;border-color:#145223!important}:host[color=success][mode=solid].selected{color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=outline]{color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=outline]:focus:not([disabled]),:host[color=success][mode=outline]:hover:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=outline]:active:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=ghost]{color:#33cc58;background-color:transparent;border:1px solid transparent}:host[color=success][mode=ghost]:focus:not([disabled]),:host[color=success][mode=ghost]:hover:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=ghost]:active:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=link]{color:#33cc58;background-color:transparent;border:1px solid transparent;padding:0}:host[color=success][mode=link]:focus:not([disabled]),:host[color=success][mode=link]:hover:not([disabled]),:host[color=success][mode=link]:active:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid transparent;text-decoration:underline}:host[size=small]{height:20px;line-height:12px;padding:3px 7px;font-size:11px;min-width:20px}:host[size=small].square{width:20px;text-align:center;padding:0}:host[size=small].circle{border-radius:10px;min-width:20px;padding:0 3px}:host[size=medium]{height:24px;line-height:16px;padding:3px 7px;font-size:12px;min-width:24px}:host[size=medium].square{width:24px;text-align:center;padding:0}:host[size=medium].circle{border-radius:11px;min-width:24px;padding:0 3px}:host[size=large]{height:32px;line-height:16px;padding:7px 11px;font-size:12px;min-width:32px}:host[size=large].square{width:32px;text-align:center;padding:0}:host[size=large].circle{border-radius:15px;min-width:32px;padding:0 7px}:host[size=auto]{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].square{width:auto;text-align:center;padding:0}:host[size=auto].circle{border-radius:unset;min-width:auto;padding:0}:host.loading{position:relative;opacity:.5;color:transparent!important}:host.loading lx-tiny-spinner{position:absolute;left:calc(50% - .5em)}\n"] }]
         
     | 
| 
      
 116 
     | 
    
         
            +
                        args: [{ selector: 'button[lx-button]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<lx-tiny-spinner *ngIf=\"showSpinner\"></lx-tiny-spinner>\n<ng-content></ng-content>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{border-radius:3px;font-weight:400;cursor:pointer;transition:color,background-color,border-color .18s;transition-delay:0s;transition-timing-function:ease}:host[disabled]{opacity:.5;cursor:default}:host[color=default] lx-tiny-spinner{color:#2a303d}:host[color=default][mode=solid]{color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=solid]:hover:not([disabled]),:host[color=default][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=default][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=default][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=outline]:focus:not([disabled]),:host[color=default][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=default][mode=ghost]:focus:not([disabled]),:host[color=default][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=default][mode=link]:focus:not([disabled]),:host[color=default][mode=link]:hover:not([disabled]),:host[color=default][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=light] lx-tiny-spinner{color:#2a303d}:host[color=light][mode=solid]{color:#2a303d;background-color:#fff;border:1px solid #e1e5eb}:host[color=light][mode=solid]:hover:not([disabled]),:host[color=light][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=light][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=light][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=outline]:focus:not([disabled]),:host[color=light][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=light][mode=ghost]:focus:not([disabled]),:host[color=light][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=light][mode=link]:focus:not([disabled]),:host[color=light][mode=link]:hover:not([disabled]),:host[color=light][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=primary] lx-tiny-spinner{color:var(--lx-primarybutton-fontcolor)}:host[color=primary][mode=solid]{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=solid]:hover:not([disabled]),:host[color=primary][mode=solid]:focus:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=solid]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcoloractive);border:1px solid var(--lx-primarybutton-backgroundcoloractive)}:host[color=primary][mode=solid].pressed{background-color:var(--lx-primarybutton-backgroundcoloractive)!important;border-color:var(--lx-primarybutton-backgroundcoloractive)!important}:host[color=primary][mode=solid].selected{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=outline]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:focus:not([disabled]),:host[color=primary][mode=outline]:hover:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=ghost]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent}:host[color=primary][mode=ghost]:focus:not([disabled]),:host[color=primary][mode=ghost]:hover:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=ghost]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=link]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=primary][mode=link]:focus:not([disabled]),:host[color=primary][mode=link]:hover:not([disabled]),:host[color=primary][mode=link]:active:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=danger] lx-tiny-spinner{color:#fff}:host[color=danger][mode=solid]{color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=solid]:hover:not([disabled]),:host[color=danger][mode=solid]:focus:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=solid]:active:not([disabled]){color:#fff;background-color:#bd0707;border:1px solid #bd0707}:host[color=danger][mode=solid].pressed{background-color:#bd0707!important;border-color:#bd0707!important}:host[color=danger][mode=solid].selected{color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=outline]{color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=outline]:focus:not([disabled]),:host[color=danger][mode=outline]:hover:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=outline]:active:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=ghost]{color:#f96464;background-color:transparent;border:1px solid transparent}:host[color=danger][mode=ghost]:focus:not([disabled]),:host[color=danger][mode=ghost]:hover:not([disabled]){color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=ghost]:active:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=link]{color:#f96464;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=danger][mode=link]:focus:not([disabled]),:host[color=danger][mode=link]:hover:not([disabled]),:host[color=danger][mode=link]:active:not([disabled]){color:#f96464;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=success] lx-tiny-spinner{color:#fff}:host[color=success][mode=solid]{color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=solid]:hover:not([disabled]),:host[color=success][mode=solid]:focus:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=solid]:active:not([disabled]){color:#fff;background-color:#145223;border:1px solid #145223}:host[color=success][mode=solid].pressed{background-color:#145223!important;border-color:#145223!important}:host[color=success][mode=solid].selected{color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=outline]{color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=outline]:focus:not([disabled]),:host[color=success][mode=outline]:hover:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=outline]:active:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=ghost]{color:#33cc58;background-color:transparent;border:1px solid transparent}:host[color=success][mode=ghost]:focus:not([disabled]),:host[color=success][mode=ghost]:hover:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=ghost]:active:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=link]{color:#33cc58;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=success][mode=link]:focus:not([disabled]),:host[color=success][mode=link]:hover:not([disabled]),:host[color=success][mode=link]:active:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[size=small]{height:20px;line-height:12px;padding:3px 7px;font-size:11px;min-width:20px}:host[size=small].square{width:20px;text-align:center;padding:0}:host[size=small].circle{border-radius:10px;min-width:20px;padding:0 3px}:host[size=medium]{height:24px;line-height:16px;padding:3px 7px;font-size:12px;min-width:24px}:host[size=medium].square{width:24px;text-align:center;padding:0}:host[size=medium].circle{border-radius:11px;min-width:24px;padding:0 3px}:host[size=large]{height:32px;line-height:16px;padding:7px 11px;font-size:12px;min-width:32px}:host[size=large].square{width:32px;text-align:center;padding:0}:host[size=large].circle{border-radius:15px;min-width:32px;padding:0 7px}:host[size=auto]{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].square{width:auto;text-align:center;padding:0}:host[size=auto].circle{border-radius:unset;min-width:auto;padding:0}:host.loading{position:relative;opacity:.5;color:transparent!important}:host.loading lx-tiny-spinner{position:absolute;left:calc(50% - .5em)}\n"] }]
         
     | 
| 
       117 
117 
     | 
    
         
             
                    }], propDecorators: { size: [{
         
     | 
| 
       118 
118 
     | 
    
         
             
                            type: Input
         
     | 
| 
       119 
119 
     | 
    
         
             
                        }, {
         
     | 
| 
         @@ -456,113 +456,203 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor 
     | 
|
| 
       456 
456 
     | 
    
         
             
                            type: Input
         
     | 
| 
       457 
457 
     | 
    
         
             
                        }] } });
         
     | 
| 
       458 
458 
     | 
    
         | 
| 
       459 
     | 
    
         
            -
             
     | 
| 
       460 
     | 
    
         
            -
             
     | 
| 
       461 
     | 
    
         
            -
             
     | 
| 
       462 
     | 
    
         
            -
             
     | 
| 
       463 
     | 
    
         
            -
             
     | 
| 
      
 459 
     | 
    
         
            +
            /**
         
     | 
| 
      
 460 
     | 
    
         
            +
             * Observe creates an Observable stream and notifies the changes from an observed property.
         
     | 
| 
      
 461 
     | 
    
         
            +
             *
         
     | 
| 
      
 462 
     | 
    
         
            +
             * @example
         
     | 
| 
      
 463 
     | 
    
         
            +
             * Input() foo: string;
         
     | 
| 
      
 464 
     | 
    
         
            +
             * @Observe('foo') foo$: Observable<string>;
         
     | 
| 
      
 465 
     | 
    
         
            +
             */
         
     | 
| 
      
 466 
     | 
    
         
            +
            function Observe(observedKey) {
         
     | 
| 
      
 467 
     | 
    
         
            +
                // eslint-disable-next-line @typescript-eslint/ban-types
         
     | 
| 
      
 468 
     | 
    
         
            +
                return (target, key) => {
         
     | 
| 
      
 469 
     | 
    
         
            +
                    const subjects = new WeakMap();
         
     | 
| 
      
 470 
     | 
    
         
            +
                    const getSubject = (instance) => {
         
     | 
| 
      
 471 
     | 
    
         
            +
                        if (!subjects.has(instance)) {
         
     | 
| 
      
 472 
     | 
    
         
            +
                            subjects.set(instance, new BehaviorSubject(undefined));
         
     | 
| 
       464 
473 
     | 
    
         
             
                        }
         
     | 
| 
       465 
     | 
    
         
            -
                        return  
     | 
| 
       466 
     | 
    
         
            -
                    }
         
     | 
| 
       467 
     | 
    
         
            -
                     
     | 
| 
       468 
     | 
    
         
            -
             
     | 
| 
      
 474 
     | 
    
         
            +
                        return subjects.get(instance) || new BehaviorSubject(undefined);
         
     | 
| 
      
 475 
     | 
    
         
            +
                    };
         
     | 
| 
      
 476 
     | 
    
         
            +
                    Object.defineProperty(target, key, {
         
     | 
| 
      
 477 
     | 
    
         
            +
                        get() {
         
     | 
| 
      
 478 
     | 
    
         
            +
                            return getSubject(this).pipe(
         
     | 
| 
      
 479 
     | 
    
         
            +
                            // An initial `undefined` value is triggered above when initializing the subject for a given instance.
         
     | 
| 
      
 480 
     | 
    
         
            +
                            // This skips the initial `undefined` values, until a defined value is provided. Then, no values
         
     | 
| 
      
 481 
     | 
    
         
            +
                            // are removed from the stream.
         
     | 
| 
      
 482 
     | 
    
         
            +
                            skipWhile((value) => value === undefined), map((value) => value) // required for TS null check
         
     | 
| 
      
 483 
     | 
    
         
            +
                            );
         
     | 
| 
      
 484 
     | 
    
         
            +
                        }
         
     | 
| 
      
 485 
     | 
    
         
            +
                    });
         
     | 
| 
      
 486 
     | 
    
         
            +
                    Object.defineProperty(target, observedKey, {
         
     | 
| 
      
 487 
     | 
    
         
            +
                        get() {
         
     | 
| 
      
 488 
     | 
    
         
            +
                            return getSubject(this).getValue();
         
     | 
| 
      
 489 
     | 
    
         
            +
                        },
         
     | 
| 
      
 490 
     | 
    
         
            +
                        set(instanceNewValue) {
         
     | 
| 
      
 491 
     | 
    
         
            +
                            getSubject(this).next(instanceNewValue);
         
     | 
| 
      
 492 
     | 
    
         
            +
                        }
         
     | 
| 
      
 493 
     | 
    
         
            +
                    });
         
     | 
| 
      
 494 
     | 
    
         
            +
                };
         
     | 
| 
       469 
495 
     | 
    
         
             
            }
         
     | 
| 
       470 
     | 
    
         
            -
            BrPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BrPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
         
     | 
| 
       471 
     | 
    
         
            -
            BrPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BrPipe, name: "lxBr" });
         
     | 
| 
       472 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BrPipe, decorators: [{
         
     | 
| 
       473 
     | 
    
         
            -
                        type: Pipe,
         
     | 
| 
       474 
     | 
    
         
            -
                        args: [{
         
     | 
| 
       475 
     | 
    
         
            -
                                name: 'lxBr'
         
     | 
| 
       476 
     | 
    
         
            -
                            }]
         
     | 
| 
       477 
     | 
    
         
            -
                    }] });
         
     | 
| 
       478 
496 
     | 
    
         | 
| 
      
 497 
     | 
    
         
            +
            function isResizeableElement(element) {
         
     | 
| 
      
 498 
     | 
    
         
            +
                return element && !!element.handleResize;
         
     | 
| 
      
 499 
     | 
    
         
            +
            }
         
     | 
| 
       479 
500 
     | 
    
         
             
            /**
         
     | 
| 
       480 
     | 
    
         
            -
             *  
     | 
| 
       481 
     | 
    
         
            -
             *  
     | 
| 
      
 501 
     | 
    
         
            +
             * Sharing one ResizeObserver object results in much better performance
         
     | 
| 
      
 502 
     | 
    
         
            +
             * over individual components creating their own ResizeObserver.
         
     | 
| 
      
 503 
     | 
    
         
            +
             * This is why this service exists.
         
     | 
| 
      
 504 
     | 
    
         
            +
             * Source:
         
     | 
| 
      
 505 
     | 
    
         
            +
             * - https://github.com/WICG/resize-observer/issues/59#issuecomment-408098151
         
     | 
| 
      
 506 
     | 
    
         
            +
             * - https://groups.google.com/a/chromium.org/g/blink-dev/c/z6ienONUb5A/m/F5-VcUZtBAAJ
         
     | 
| 
      
 507 
     | 
    
         
            +
             *
         
     | 
| 
      
 508 
     | 
    
         
            +
             * Learn more about the ResizeObserver API:
         
     | 
| 
      
 509 
     | 
    
         
            +
             * - https://www.w3.org/TR/resize-observer/
         
     | 
| 
      
 510 
     | 
    
         
            +
             * - https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver
         
     | 
| 
      
 511 
     | 
    
         
            +
             * - https://www.digitalocean.com/community/tutorials/js-resize-observer
         
     | 
| 
       482 
512 
     | 
    
         
             
             */
         
     | 
| 
       483 
     | 
    
         
            -
            class  
     | 
| 
       484 
     | 
    
         
            -
                 
     | 
| 
       485 
     | 
    
         
            -
                    this. 
     | 
| 
       486 
     | 
    
         
            -
             
     | 
| 
       487 
     | 
    
         
            -
                     
     | 
| 
      
 513 
     | 
    
         
            +
            class ResizeObserverService {
         
     | 
| 
      
 514 
     | 
    
         
            +
                observe(element, callback, options) {
         
     | 
| 
      
 515 
     | 
    
         
            +
                    if (!this.resizeObserver) {
         
     | 
| 
      
 516 
     | 
    
         
            +
                        this.resizeObserver = new ResizeObserver(this.resizeObserverCallback.bind(this));
         
     | 
| 
      
 517 
     | 
    
         
            +
                    }
         
     | 
| 
      
 518 
     | 
    
         
            +
                    element.handleResize = callback;
         
     | 
| 
      
 519 
     | 
    
         
            +
                    this.resizeObserver.observe(element, options);
         
     | 
| 
       488 
520 
     | 
    
         
             
                }
         
     | 
| 
       489 
     | 
    
         
            -
                 
     | 
| 
       490 
     | 
    
         
            -
                    if ( 
     | 
| 
       491 
     | 
    
         
            -
                         
     | 
| 
       492 
     | 
    
         
            -
                        this.elementRef.nativeElement.innerHTML = html || '';
         
     | 
| 
      
 521 
     | 
    
         
            +
                unobserve(element) {
         
     | 
| 
      
 522 
     | 
    
         
            +
                    if (!this.resizeObserver) {
         
     | 
| 
      
 523 
     | 
    
         
            +
                        return;
         
     | 
| 
       493 
524 
     | 
    
         
             
                    }
         
     | 
| 
      
 525 
     | 
    
         
            +
                    this.resizeObserver.unobserve(element);
         
     | 
| 
      
 526 
     | 
    
         
            +
                }
         
     | 
| 
      
 527 
     | 
    
         
            +
                resizeObserverCallback(entries, _observer) {
         
     | 
| 
      
 528 
     | 
    
         
            +
                    entries.forEach((entry) => {
         
     | 
| 
      
 529 
     | 
    
         
            +
                        if (isResizeableElement(entry.target)) {
         
     | 
| 
      
 530 
     | 
    
         
            +
                            entry.target.handleResize(entry);
         
     | 
| 
      
 531 
     | 
    
         
            +
                        }
         
     | 
| 
      
 532 
     | 
    
         
            +
                    });
         
     | 
| 
       494 
533 
     | 
    
         
             
                }
         
     | 
| 
       495 
534 
     | 
    
         
             
            }
         
     | 
| 
       496 
     | 
    
         
            -
             
     | 
| 
       497 
     | 
    
         
            -
             
     | 
| 
       498 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type:  
     | 
| 
       499 
     | 
    
         
            -
                        type:  
     | 
| 
       500 
     | 
    
         
            -
                        args: [{  
     | 
| 
       501 
     | 
    
         
            -
                    }] 
     | 
| 
       502 
     | 
    
         
            -
                            type: Input
         
     | 
| 
       503 
     | 
    
         
            -
                        }] } });
         
     | 
| 
      
 535 
     | 
    
         
            +
            ResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
         
     | 
| 
      
 536 
     | 
    
         
            +
            ResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ResizeObserverService, providedIn: 'root' });
         
     | 
| 
      
 537 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ResizeObserverService, decorators: [{
         
     | 
| 
      
 538 
     | 
    
         
            +
                        type: Injectable,
         
     | 
| 
      
 539 
     | 
    
         
            +
                        args: [{ providedIn: 'root' }]
         
     | 
| 
      
 540 
     | 
    
         
            +
                    }] });
         
     | 
| 
       504 
541 
     | 
    
         | 
| 
      
 542 
     | 
    
         
            +
            const LX_ELLIPSIS_DEBOUNCE_ON_RESIZE = new InjectionToken('LX_ELLIPSIS_DEBOUNCE_ON_RESIZE', {
         
     | 
| 
      
 543 
     | 
    
         
            +
                providedIn: 'root',
         
     | 
| 
      
 544 
     | 
    
         
            +
                factory: () => EllipsisComponent.DEFAULT_RESIZE_DEBOUNCE_MS
         
     | 
| 
      
 545 
     | 
    
         
            +
            });
         
     | 
| 
      
 546 
     | 
    
         
            +
            /**
         
     | 
| 
      
 547 
     | 
    
         
            +
             * You can set a custom max-width CSS property on your lx-ellipsis host element
         
     | 
| 
      
 548 
     | 
    
         
            +
             * if you want its content to never exceed a specific width,
         
     | 
| 
      
 549 
     | 
    
         
            +
             * e.g. <lx-ellipsis style="max-width: 300px" content="Hello World[..]"></lx-ellipsis>.
         
     | 
| 
      
 550 
     | 
    
         
            +
             */
         
     | 
| 
       505 
551 
     | 
    
         
             
            class EllipsisComponent {
         
     | 
| 
       506 
     | 
    
         
            -
                constructor( 
     | 
| 
      
 552 
     | 
    
         
            +
                constructor(debounceMsAfterResize, cdRef, hostEl, resizeObserverService, translateService) {
         
     | 
| 
      
 553 
     | 
    
         
            +
                    this.debounceMsAfterResize = debounceMsAfterResize;
         
     | 
| 
      
 554 
     | 
    
         
            +
                    this.cdRef = cdRef;
         
     | 
| 
      
 555 
     | 
    
         
            +
                    this.hostEl = hostEl;
         
     | 
| 
      
 556 
     | 
    
         
            +
                    this.resizeObserverService = resizeObserverService;
         
     | 
| 
       507 
557 
     | 
    
         
             
                    this.translateService = translateService;
         
     | 
| 
       508 
     | 
    
         
            -
                    this. 
     | 
| 
       509 
     | 
    
         
            -
                    this. 
     | 
| 
       510 
     | 
    
         
            -
                    this. 
     | 
| 
       511 
     | 
    
         
            -
                    this.showFullText = false;
         
     | 
| 
       512 
     | 
    
         
            -
                    this.showMoreLabel = this.translateService.instant('common.showMore');
         
     | 
| 
       513 
     | 
    
         
            -
                    this.showLessLabel = this.translateService.instant('common.showLess');
         
     | 
| 
       514 
     | 
    
         
            -
                    this.displayedText = '';
         
     | 
| 
       515 
     | 
    
         
            -
                }
         
     | 
| 
       516 
     | 
    
         
            -
                get buttonLabel() {
         
     | 
| 
       517 
     | 
    
         
            -
                    return this.showFullText ? this.showLessLabel : this.showMoreLabel;
         
     | 
| 
       518 
     | 
    
         
            -
                }
         
     | 
| 
       519 
     | 
    
         
            -
                get showToggleButton() {
         
     | 
| 
       520 
     | 
    
         
            -
                    return this.applyEllipsis(this.content, this.ellipsisBreakpoint);
         
     | 
| 
       521 
     | 
    
         
            -
                }
         
     | 
| 
       522 
     | 
    
         
            -
                ngOnChanges() {
         
     | 
| 
       523 
     | 
    
         
            -
                    this.displayedText = this.getContent(this.content, this.isDisplayHTML);
         
     | 
| 
       524 
     | 
    
         
            -
                    if (this.applyEllipsis(this.content, this.ellipsisBreakpoint)) {
         
     | 
| 
       525 
     | 
    
         
            -
                        this.displayedText = this.getDisplayedContent(this.content, this.showFullText, this.ellipsisBreakpoint, this.isDisplayHTML);
         
     | 
| 
       526 
     | 
    
         
            -
                    }
         
     | 
| 
       527 
     | 
    
         
            -
                }
         
     | 
| 
       528 
     | 
    
         
            -
                ngOnDestroy() { }
         
     | 
| 
       529 
     | 
    
         
            -
                buttonClicked() {
         
     | 
| 
       530 
     | 
    
         
            -
                    this.showFullText = !this.showFullText;
         
     | 
| 
       531 
     | 
    
         
            -
                    this.displayedText = this.getDisplayedContent(this.content, this.showFullText, this.ellipsisBreakpoint, this.isDisplayHTML);
         
     | 
| 
      
 558 
     | 
    
         
            +
                    this.content = '';
         
     | 
| 
      
 559 
     | 
    
         
            +
                    this.isShowingMore$ = new BehaviorSubject(false);
         
     | 
| 
      
 560 
     | 
    
         
            +
                    this.destroyed$ = new Subject();
         
     | 
| 
       532 
561 
     | 
    
         
             
                }
         
     | 
| 
       533 
     | 
    
         
            -
                 
     | 
| 
       534 
     | 
    
         
            -
                     
     | 
| 
       535 
     | 
    
         
            -
             
     | 
| 
       536 
     | 
    
         
            -
             
     | 
| 
       537 
     | 
    
         
            -
                     
     | 
| 
      
 562 
     | 
    
         
            +
                ngOnInit() {
         
     | 
| 
      
 563 
     | 
    
         
            +
                    this.showMoreButtonLabel$ = this.isShowingMore$.pipe(switchMap((isShowingMore) => {
         
     | 
| 
      
 564 
     | 
    
         
            +
                        const translationKey = isShowingMore ? 'common.showLess' : 'common.showMore';
         
     | 
| 
      
 565 
     | 
    
         
            +
                        return this.translateService.get(translationKey);
         
     | 
| 
      
 566 
     | 
    
         
            +
                    }));
         
     | 
| 
      
 567 
     | 
    
         
            +
                    const newWidthOnResize$ = new Subject();
         
     | 
| 
      
 568 
     | 
    
         
            +
                    const newHeightOnResize$ = new Subject();
         
     | 
| 
      
 569 
     | 
    
         
            +
                    this.resizeObserverService.observe(this.hostEl.nativeElement, (resizedElement) => {
         
     | 
| 
      
 570 
     | 
    
         
            +
                        newWidthOnResize$.next(resizedElement.contentRect.width);
         
     | 
| 
      
 571 
     | 
    
         
            +
                        newHeightOnResize$.next(resizedElement.contentRect.height);
         
     | 
| 
      
 572 
     | 
    
         
            +
                    });
         
     | 
| 
      
 573 
     | 
    
         
            +
                    const containerWidthChangedSignificantlyAfterResize$ = newWidthOnResize$.pipe(startWith(0), pairwise(), filter(([previousWidth, newWidth]) => Math.abs(newWidth - previousWidth) > 1), map(([, newWidth]) => newWidth));
         
     | 
| 
      
 574 
     | 
    
         
            +
                    const userTriggeredTriggeredShowLess$ = this.isShowingMore$.pipe(filter((isShowingMore) => !isShowingMore));
         
     | 
| 
      
 575 
     | 
    
         
            +
                    const reevaluateIfContentIsOverflowing$ = combineLatest([
         
     | 
| 
      
 576 
     | 
    
         
            +
                        this.contentSpanEl$,
         
     | 
| 
      
 577 
     | 
    
         
            +
                        userTriggeredTriggeredShowLess$,
         
     | 
| 
      
 578 
     | 
    
         
            +
                        containerWidthChangedSignificantlyAfterResize$
         
     | 
| 
      
 579 
     | 
    
         
            +
                    ]);
         
     | 
| 
      
 580 
     | 
    
         
            +
                    const isContentOverflowing$ = merge(concat(reevaluateIfContentIsOverflowing$.pipe(take(1)), // debounce all but the first output
         
     | 
| 
      
 581 
     | 
    
         
            +
                    reevaluateIfContentIsOverflowing$.pipe(debounceTime(this.debounceMsAfterResize))), this.content$.pipe(skip(1)) // immediately reevaluate on subsequent content changes
         
     | 
| 
      
 582 
     | 
    
         
            +
                    ).pipe(withLatestFrom(this.contentSpanEl$), map(([, contentSpanRef]) => this.isContentOverflowing(contentSpanRef)));
         
     | 
| 
      
 583 
     | 
    
         
            +
                    const userTriggeredTriggeredShowMore$ = this.isShowingMore$.pipe(filter((isShowingMore) => isShowingMore));
         
     | 
| 
      
 584 
     | 
    
         
            +
                    const buttonHeight$ = this.showMoreButtonEl$.pipe(filter((showMoreButtonEl) => !!showMoreButtonEl), map((showMoreButtonEl) => showMoreButtonEl.nativeElement.offsetHeight), distinctUntilChanged());
         
     | 
| 
      
 585 
     | 
    
         
            +
                    const userIncreasedBrowserWindowSizeToThePointOfNoTruncationNecessary$ = combineLatest([
         
     | 
| 
      
 586 
     | 
    
         
            +
                        buttonHeight$,
         
     | 
| 
      
 587 
     | 
    
         
            +
                        newHeightOnResize$.pipe(distinctUntilChanged())
         
     | 
| 
      
 588 
     | 
    
         
            +
                    ]).pipe(withLatestFrom(this.isShowingMore$), filter(([, isShowingMore]) => isShowingMore), map(([[buttonHeight, newHeight]]) => {
         
     | 
| 
      
 589 
     | 
    
         
            +
                        const heightOfOneLine = buttonHeight;
         
     | 
| 
      
 590 
     | 
    
         
            +
                        const showLessButtonMarginTop = 4;
         
     | 
| 
      
 591 
     | 
    
         
            +
                        const heightOfSpanInShowMoreMode = newHeight - buttonHeight - showLessButtonMarginTop;
         
     | 
| 
      
 592 
     | 
    
         
            +
                        const thresholdToDetectContentInSingleLine = 4;
         
     | 
| 
      
 593 
     | 
    
         
            +
                        const differenceBetweenContentSpanAndButtonHeight = Math.abs(heightOfOneLine - heightOfSpanInShowMoreMode);
         
     | 
| 
      
 594 
     | 
    
         
            +
                        const isSpanContentDisplayedInOneLineAgain = differenceBetweenContentSpanAndButtonHeight < thresholdToDetectContentInSingleLine;
         
     | 
| 
      
 595 
     | 
    
         
            +
                        return isSpanContentDisplayedInOneLineAgain;
         
     | 
| 
      
 596 
     | 
    
         
            +
                    }));
         
     | 
| 
      
 597 
     | 
    
         
            +
                    const contentFitsInOneLineAgainWhileShowMoreIsEnabled$ = userIncreasedBrowserWindowSizeToThePointOfNoTruncationNecessary$.pipe(startWith(false), pairwise(), filter(([previousTextIsNowInOneLineAgain]) => !previousTextIsNowInOneLineAgain), map(([, textIsNowInOneLineAgain]) => !textIsNowInOneLineAgain));
         
     | 
| 
      
 598 
     | 
    
         
            +
                    const contentIsOverflowingAndShowMoreIsNotEnabled$ = isContentOverflowing$.pipe(withLatestFrom(this.isShowingMore$), filter(([, isShowingMore]) => !isShowingMore), map(([isContentLongerThanContainerWidth]) => {
         
     | 
| 
      
 599 
     | 
    
         
            +
                        return isContentLongerThanContainerWidth;
         
     | 
| 
      
 600 
     | 
    
         
            +
                    }));
         
     | 
| 
      
 601 
     | 
    
         
            +
                    this.showButton$ = merge(userTriggeredTriggeredShowMore$, contentFitsInOneLineAgainWhileShowMoreIsEnabled$, contentIsOverflowingAndShowMoreIsNotEnabled$);
         
     | 
| 
      
 602 
     | 
    
         
            +
                    // As long as no parent component is listening on resize events,
         
     | 
| 
      
 603 
     | 
    
         
            +
                    // the ChangeDetectorRef.markForCheck() call done by the async pipe
         
     | 
| 
      
 604 
     | 
    
         
            +
                    // will not result in a change detection cycle in this component when its size changes.
         
     | 
| 
      
 605 
     | 
    
         
            +
                    // This is the least amount of ChangeDetectorRef.detectChanges() calls
         
     | 
| 
      
 606 
     | 
    
         
            +
                    // I was able to come up with. The Angular profiler shows acceptable numbers of change detection.
         
     | 
| 
      
 607 
     | 
    
         
            +
                    this.detectChangesWhenObservableEmits(isContentOverflowing$);
         
     | 
| 
      
 608 
     | 
    
         
            +
                    this.detectChangesWhenObservableEmits(this.showButton$);
         
     | 
| 
      
 609 
     | 
    
         
            +
                    this.detectChangesWhenObservableEmits(this.content$);
         
     | 
| 
      
 610 
     | 
    
         
            +
                    this.detectChangesWhenObservableEmits(contentIsOverflowingAndShowMoreIsNotEnabled$);
         
     | 
| 
      
 611 
     | 
    
         
            +
                    this.detectChangesWhenObservableEmits(isContentOverflowing$);
         
     | 
| 
      
 612 
     | 
    
         
            +
                }
         
     | 
| 
      
 613 
     | 
    
         
            +
                onShowMoreToggle() {
         
     | 
| 
      
 614 
     | 
    
         
            +
                    this.isShowingMore$.next(!this.isShowingMore$.getValue());
         
     | 
| 
      
 615 
     | 
    
         
            +
                    this.cdRef.detectChanges();
         
     | 
| 
       538 
616 
     | 
    
         
             
                }
         
     | 
| 
       539 
     | 
    
         
            -
                 
     | 
| 
       540 
     | 
    
         
            -
                     
     | 
| 
       541 
     | 
    
         
            -
                    const maxLength = shortenedText.lastIndexOf(' ');
         
     | 
| 
       542 
     | 
    
         
            -
                    return shortenedText.substring(0, maxLength) + ' ...';
         
     | 
| 
      
 617 
     | 
    
         
            +
                ngOnDestroy() {
         
     | 
| 
      
 618 
     | 
    
         
            +
                    this.resizeObserverService.unobserve(this.hostEl.nativeElement);
         
     | 
| 
       543 
619 
     | 
    
         
             
                }
         
     | 
| 
       544 
     | 
    
         
            -
                 
     | 
| 
       545 
     | 
    
         
            -
                     
     | 
| 
      
 620 
     | 
    
         
            +
                detectChangesWhenObservableEmits(observable$) {
         
     | 
| 
      
 621 
     | 
    
         
            +
                    observable$.pipe(takeUntil(this.destroyed$)).subscribe(() => this.cdRef.detectChanges());
         
     | 
| 
       546 
622 
     | 
    
         
             
                }
         
     | 
| 
       547 
     | 
    
         
            -
                 
     | 
| 
       548 
     | 
    
         
            -
                     
     | 
| 
       549 
     | 
    
         
            -
             
     | 
| 
       550 
     | 
    
         
            -
                     
     | 
| 
       551 
     | 
    
         
            -
                    return '';
         
     | 
| 
      
 623 
     | 
    
         
            +
                isContentOverflowing(contentSpanElRef) {
         
     | 
| 
      
 624 
     | 
    
         
            +
                    const scrollWidth = contentSpanElRef.nativeElement.scrollWidth;
         
     | 
| 
      
 625 
     | 
    
         
            +
                    const offsetWidth = contentSpanElRef.nativeElement.clientWidth;
         
     | 
| 
      
 626 
     | 
    
         
            +
                    return offsetWidth < scrollWidth;
         
     | 
| 
       552 
627 
     | 
    
         
             
                }
         
     | 
| 
       553 
628 
     | 
    
         
             
            }
         
     | 
| 
       554 
     | 
    
         
            -
            EllipsisComponent 
     | 
| 
       555 
     | 
    
         
            -
            EllipsisComponent.ɵ 
     | 
| 
      
 629 
     | 
    
         
            +
            EllipsisComponent.DEFAULT_RESIZE_DEBOUNCE_MS = 500;
         
     | 
| 
      
 630 
     | 
    
         
            +
            EllipsisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: EllipsisComponent, deps: [{ token: LX_ELLIPSIS_DEBOUNCE_ON_RESIZE }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: ResizeObserverService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
      
 631 
     | 
    
         
            +
            EllipsisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: EllipsisComponent, selector: "lx-ellipsis", inputs: { content: "content" }, viewQueries: [{ propertyName: "contentSpanEl", first: true, predicate: ["contentEl"], descendants: true }, { propertyName: "showMoreButtonEl", first: true, predicate: ["showMoreButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<span #contentEl [class.showMore]=\"isShowingMore$ | async\" class=\"content truncate lx-margin-right\" [innerHtml]=\"content\"></span>\n<button *ngIf=\"showButton$ | async\" (click)=\"onShowMoreToggle()\" lx-button #showMoreButton size=\"auto\" mode=\"link\" color=\"primary\">\n  {{ showMoreButtonLabel$ | async }}\n</button>\n", styles: [":host{display:block}.content{display:inline-block}.truncate:not(.showMore){width:calc(100% - 140px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content.showMore+button{margin-top:4px;display:block}button{white-space:nowrap;vertical-align:top}\n"], components: [{ type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
         
     | 
| 
      
 632 
     | 
    
         
            +
            __decorate([
         
     | 
| 
      
 633 
     | 
    
         
            +
                Observe('contentSpanEl')
         
     | 
| 
      
 634 
     | 
    
         
            +
            ], EllipsisComponent.prototype, "contentSpanEl$", void 0);
         
     | 
| 
      
 635 
     | 
    
         
            +
            __decorate([
         
     | 
| 
      
 636 
     | 
    
         
            +
                Observe('showMoreButtonEl')
         
     | 
| 
      
 637 
     | 
    
         
            +
            ], EllipsisComponent.prototype, "showMoreButtonEl$", void 0);
         
     | 
| 
      
 638 
     | 
    
         
            +
            __decorate([
         
     | 
| 
      
 639 
     | 
    
         
            +
                Observe('content')
         
     | 
| 
      
 640 
     | 
    
         
            +
            ], EllipsisComponent.prototype, "content$", void 0);
         
     | 
| 
       556 
641 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: EllipsisComponent, decorators: [{
         
     | 
| 
       557 
642 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       558 
     | 
    
         
            -
                        args: [{ selector: 'lx-ellipsis', template: "<span class=\" 
     | 
| 
       559 
     | 
    
         
            -
                    }], ctorParameters: function () { return [{ type:  
     | 
| 
       560 
     | 
    
         
            -
             
     | 
| 
       561 
     | 
    
         
            -
             
     | 
| 
       562 
     | 
    
         
            -
                            type:  
     | 
| 
       563 
     | 
    
         
            -
                        }], isDisplayHTML: [{
         
     | 
| 
      
 643 
     | 
    
         
            +
                        args: [{ selector: 'lx-ellipsis', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span #contentEl [class.showMore]=\"isShowingMore$ | async\" class=\"content truncate lx-margin-right\" [innerHtml]=\"content\"></span>\n<button *ngIf=\"showButton$ | async\" (click)=\"onShowMoreToggle()\" lx-button #showMoreButton size=\"auto\" mode=\"link\" color=\"primary\">\n  {{ showMoreButtonLabel$ | async }}\n</button>\n", styles: [":host{display:block}.content{display:inline-block}.truncate:not(.showMore){width:calc(100% - 140px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content.showMore+button{margin-top:4px;display:block}button{white-space:nowrap;vertical-align:top}\n"] }]
         
     | 
| 
      
 644 
     | 
    
         
            +
                    }], ctorParameters: function () { return [{ type: undefined, decorators: [{
         
     | 
| 
      
 645 
     | 
    
         
            +
                                type: Inject,
         
     | 
| 
      
 646 
     | 
    
         
            +
                                args: [LX_ELLIPSIS_DEBOUNCE_ON_RESIZE]
         
     | 
| 
      
 647 
     | 
    
         
            +
                            }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: ResizeObserverService }, { type: i1$1.TranslateService }]; }, propDecorators: { content: [{
         
     | 
| 
       564 
648 
     | 
    
         
             
                            type: Input
         
     | 
| 
       565 
     | 
    
         
            -
                        }]  
     | 
| 
      
 649 
     | 
    
         
            +
                        }], contentSpanEl$: [], contentSpanEl: [{
         
     | 
| 
      
 650 
     | 
    
         
            +
                            type: ViewChild,
         
     | 
| 
      
 651 
     | 
    
         
            +
                            args: ['contentEl']
         
     | 
| 
      
 652 
     | 
    
         
            +
                        }], showMoreButtonEl$: [], showMoreButtonEl: [{
         
     | 
| 
      
 653 
     | 
    
         
            +
                            type: ViewChild,
         
     | 
| 
      
 654 
     | 
    
         
            +
                            args: ['showMoreButton', { read: ElementRef }]
         
     | 
| 
      
 655 
     | 
    
         
            +
                        }], content$: [] } });
         
     | 
| 
       566 
656 
     | 
    
         | 
| 
       567 
657 
     | 
    
         
             
            class IconScaleComponent {
         
     | 
| 
       568 
658 
     | 
    
         
             
                constructor() {
         
     | 
| 
         @@ -866,6 +956,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor 
     | 
|
| 
       866 
956 
     | 
    
         
             
                            type: Input
         
     | 
| 
       867 
957 
     | 
    
         
             
                        }] } });
         
     | 
| 
       868 
958 
     | 
    
         | 
| 
      
 959 
     | 
    
         
            +
            /**
         
     | 
| 
      
 960 
     | 
    
         
            +
             * Sanitizes the string assigned to [lxHtml] and sets it as the element's innterHtml
         
     | 
| 
      
 961 
     | 
    
         
            +
             * routerLink attributes on anchors will automatically be converted to click handlers.
         
     | 
| 
      
 962 
     | 
    
         
            +
             */
         
     | 
| 
      
 963 
     | 
    
         
            +
            class HtmlDirective {
         
     | 
| 
      
 964 
     | 
    
         
            +
                constructor(elementRef, sanitizer) {
         
     | 
| 
      
 965 
     | 
    
         
            +
                    this.elementRef = elementRef;
         
     | 
| 
      
 966 
     | 
    
         
            +
                    this.sanitizer = sanitizer;
         
     | 
| 
      
 967 
     | 
    
         
            +
                    this.lxHtml = '';
         
     | 
| 
      
 968 
     | 
    
         
            +
                }
         
     | 
| 
      
 969 
     | 
    
         
            +
                ngOnChanges(changes) {
         
     | 
| 
      
 970 
     | 
    
         
            +
                    if ('lxHtml' in changes) {
         
     | 
| 
      
 971 
     | 
    
         
            +
                        const html = this.sanitizer.sanitize(SecurityContext.HTML, this.lxHtml ?? '');
         
     | 
| 
      
 972 
     | 
    
         
            +
                        this.elementRef.nativeElement.innerHTML = html || '';
         
     | 
| 
      
 973 
     | 
    
         
            +
                    }
         
     | 
| 
      
 974 
     | 
    
         
            +
                }
         
     | 
| 
      
 975 
     | 
    
         
            +
            }
         
     | 
| 
      
 976 
     | 
    
         
            +
            HtmlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: HtmlDirective, deps: [{ token: i0.ElementRef }, { token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Directive });
         
     | 
| 
      
 977 
     | 
    
         
            +
            HtmlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: HtmlDirective, selector: "[lxHtml]", inputs: { lxHtml: "lxHtml" }, usesOnChanges: true, ngImport: i0 });
         
     | 
| 
      
 978 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: HtmlDirective, decorators: [{
         
     | 
| 
      
 979 
     | 
    
         
            +
                        type: Directive,
         
     | 
| 
      
 980 
     | 
    
         
            +
                        args: [{ selector: '[lxHtml]' }]
         
     | 
| 
      
 981 
     | 
    
         
            +
                    }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.DomSanitizer }]; }, propDecorators: { lxHtml: [{
         
     | 
| 
      
 982 
     | 
    
         
            +
                            type: Input
         
     | 
| 
      
 983 
     | 
    
         
            +
                        }] } });
         
     | 
| 
      
 984 
     | 
    
         
            +
             
     | 
| 
      
 985 
     | 
    
         
            +
            class BrPipe {
         
     | 
| 
      
 986 
     | 
    
         
            +
                transform(input, options = {}) {
         
     | 
| 
      
 987 
     | 
    
         
            +
                    if (input) {
         
     | 
| 
      
 988 
     | 
    
         
            +
                        if (options.isTrimEnd) {
         
     | 
| 
      
 989 
     | 
    
         
            +
                            input = trimEnd(input);
         
     | 
| 
      
 990 
     | 
    
         
            +
                        }
         
     | 
| 
      
 991 
     | 
    
         
            +
                        return input.replace(/[\n\r]/g, '<br/>');
         
     | 
| 
      
 992 
     | 
    
         
            +
                    }
         
     | 
| 
      
 993 
     | 
    
         
            +
                    return input;
         
     | 
| 
      
 994 
     | 
    
         
            +
                }
         
     | 
| 
      
 995 
     | 
    
         
            +
            }
         
     | 
| 
      
 996 
     | 
    
         
            +
            BrPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BrPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
         
     | 
| 
      
 997 
     | 
    
         
            +
            BrPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BrPipe, name: "lxBr" });
         
     | 
| 
      
 998 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BrPipe, decorators: [{
         
     | 
| 
      
 999 
     | 
    
         
            +
                        type: Pipe,
         
     | 
| 
      
 1000 
     | 
    
         
            +
                        args: [{
         
     | 
| 
      
 1001 
     | 
    
         
            +
                                name: 'lxBr'
         
     | 
| 
      
 1002 
     | 
    
         
            +
                            }]
         
     | 
| 
      
 1003 
     | 
    
         
            +
                    }] });
         
     | 
| 
      
 1004 
     | 
    
         
            +
             
     | 
| 
       869 
1005 
     | 
    
         
             
            /**
         
     | 
| 
       870 
1006 
     | 
    
         
             
             * Compute the most eligible text color for a given background color (black or white), depending on the luminance of the
         
     | 
| 
       871 
1007 
     | 
    
         
             
             * background color. In case the provided color is undefined or invalid, white (#FFFFFF) is returned.
         
     | 
| 
         @@ -1066,7 +1202,7 @@ class LxTranslatePipe { 
     | 
|
| 
       1066 
1202 
     | 
    
         
             
                    return this.translatePipe.transform(query, this.lastArgsExtended);
         
     | 
| 
       1067 
1203 
     | 
    
         
             
                }
         
     | 
| 
       1068 
1204 
     | 
    
         
             
            }
         
     | 
| 
       1069 
     | 
    
         
            -
            LxTranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxTranslatePipe, deps: [{ token: i1$ 
     | 
| 
      
 1205 
     | 
    
         
            +
            LxTranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxTranslatePipe, deps: [{ token: i1$1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: GLOBAL_TRANSLATION_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
         
     | 
| 
       1070 
1206 
     | 
    
         
             
            LxTranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxTranslatePipe, name: "lxTranslate", pure: false });
         
     | 
| 
       1071 
1207 
     | 
    
         
             
            LxTranslatePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxTranslatePipe, providedIn: 'root' });
         
     | 
| 
       1072 
1208 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxTranslatePipe, decorators: [{
         
     | 
| 
         @@ -1078,7 +1214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor 
     | 
|
| 
       1078 
1214 
     | 
    
         
             
                                name: 'lxTranslate',
         
     | 
| 
       1079 
1215 
     | 
    
         
             
                                pure: false // Because the underlying TranslatePipe isn't pure, too.
         
     | 
| 
       1080 
1216 
     | 
    
         
             
                            }]
         
     | 
| 
       1081 
     | 
    
         
            -
                    }], ctorParameters: function () { return [{ type: i1$ 
     | 
| 
      
 1217 
     | 
    
         
            +
                    }], ctorParameters: function () { return [{ type: i1$1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
         
     | 
| 
       1082 
1218 
     | 
    
         
             
                                type: Optional
         
     | 
| 
       1083 
1219 
     | 
    
         
             
                            }, {
         
     | 
| 
       1084 
1220 
     | 
    
         
             
                                type: Inject,
         
     | 
| 
         @@ -1211,14 +1347,14 @@ class TranslationBeforePipe { 
     | 
|
| 
       1211 
1347 
     | 
    
         
             
                    return getTranslationParts(this.translateService, translationKey, cutMarkAndParams)[0];
         
     | 
| 
       1212 
1348 
     | 
    
         
             
                }
         
     | 
| 
       1213 
1349 
     | 
    
         
             
            }
         
     | 
| 
       1214 
     | 
    
         
            -
            TranslationBeforePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationBeforePipe, deps: [{ token: i1$ 
     | 
| 
      
 1350 
     | 
    
         
            +
            TranslationBeforePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationBeforePipe, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
         
     | 
| 
       1215 
1351 
     | 
    
         
             
            TranslationBeforePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationBeforePipe, name: "lxTranslationBefore" });
         
     | 
| 
       1216 
1352 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationBeforePipe, decorators: [{
         
     | 
| 
       1217 
1353 
     | 
    
         
             
                        type: Pipe,
         
     | 
| 
       1218 
1354 
     | 
    
         
             
                        args: [{
         
     | 
| 
       1219 
1355 
     | 
    
         
             
                                name: 'lxTranslationBefore'
         
     | 
| 
       1220 
1356 
     | 
    
         
             
                            }]
         
     | 
| 
       1221 
     | 
    
         
            -
                    }], ctorParameters: function () { return [{ type: i1$ 
     | 
| 
      
 1357 
     | 
    
         
            +
                    }], ctorParameters: function () { return [{ type: i1$1.TranslateService }]; } });
         
     | 
| 
       1222 
1358 
     | 
    
         | 
| 
       1223 
1359 
     | 
    
         
             
            /**
         
     | 
| 
       1224 
1360 
     | 
    
         
             
             * Translates the given i18n-key (instantly) and returns the part of the translation
         
     | 
| 
         @@ -1235,14 +1371,14 @@ class TranslationAfterPipe { 
     | 
|
| 
       1235 
1371 
     | 
    
         
             
                    return getTranslationParts(this.translateService, translationKey, cutMarkAndParams)[1] || '';
         
     | 
| 
       1236 
1372 
     | 
    
         
             
                }
         
     | 
| 
       1237 
1373 
     | 
    
         
             
            }
         
     | 
| 
       1238 
     | 
    
         
            -
            TranslationAfterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationAfterPipe, deps: [{ token: i1$ 
     | 
| 
      
 1374 
     | 
    
         
            +
            TranslationAfterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationAfterPipe, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
         
     | 
| 
       1239 
1375 
     | 
    
         
             
            TranslationAfterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationAfterPipe, name: "lxTranslationAfter" });
         
     | 
| 
       1240 
1376 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationAfterPipe, decorators: [{
         
     | 
| 
       1241 
1377 
     | 
    
         
             
                        type: Pipe,
         
     | 
| 
       1242 
1378 
     | 
    
         
             
                        args: [{
         
     | 
| 
       1243 
1379 
     | 
    
         
             
                                name: 'lxTranslationAfter'
         
     | 
| 
       1244 
1380 
     | 
    
         
             
                            }]
         
     | 
| 
       1245 
     | 
    
         
            -
                    }], ctorParameters: function () { return [{ type: i1$ 
     | 
| 
      
 1381 
     | 
    
         
            +
                    }], ctorParameters: function () { return [{ type: i1$1.TranslateService }]; } });
         
     | 
| 
       1246 
1382 
     | 
    
         | 
| 
       1247 
1383 
     | 
    
         
             
            function getTranslationBetween(translateService, translationKey, cutMarksAndParams) {
         
     | 
| 
       1248 
1384 
     | 
    
         
             
                translationKey = _.isArray(translationKey) ? translationKey.join('.') : translationKey;
         
     | 
| 
         @@ -1298,14 +1434,14 @@ class TranslationBetweenPipe { 
     | 
|
| 
       1298 
1434 
     | 
    
         
             
                    return getTranslationBetween(this.translateService, translationKey, cutMarksAndParams);
         
     | 
| 
       1299 
1435 
     | 
    
         
             
                }
         
     | 
| 
       1300 
1436 
     | 
    
         
             
            }
         
     | 
| 
       1301 
     | 
    
         
            -
            TranslationBetweenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationBetweenPipe, deps: [{ token: i1$ 
     | 
| 
      
 1437 
     | 
    
         
            +
            TranslationBetweenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationBetweenPipe, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
         
     | 
| 
       1302 
1438 
     | 
    
         
             
            TranslationBetweenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationBetweenPipe, name: "lxTranslationBetween" });
         
     | 
| 
       1303 
1439 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: TranslationBetweenPipe, decorators: [{
         
     | 
| 
       1304 
1440 
     | 
    
         
             
                        type: Pipe,
         
     | 
| 
       1305 
1441 
     | 
    
         
             
                        args: [{
         
     | 
| 
       1306 
1442 
     | 
    
         
             
                                name: 'lxTranslationBetween'
         
     | 
| 
       1307 
1443 
     | 
    
         
             
                            }]
         
     | 
| 
       1308 
     | 
    
         
            -
                    }], ctorParameters: function () { return [{ type: i1$ 
     | 
| 
      
 1444 
     | 
    
         
            +
                    }], ctorParameters: function () { return [{ type: i1$1.TranslateService }]; } });
         
     | 
| 
       1309 
1445 
     | 
    
         | 
| 
       1310 
1446 
     | 
    
         
             
            class UnescapeCurlyBracesPipe {
         
     | 
| 
       1311 
1447 
     | 
    
         
             
                transform(input) {
         
     | 
| 
         @@ -1766,7 +1902,7 @@ class BasicDropdownComponent extends KeyboardSelectDirective { 
     | 
|
| 
       1766 
1902 
     | 
    
         
             
                }
         
     | 
| 
       1767 
1903 
     | 
    
         
             
            }
         
     | 
| 
       1768 
1904 
     | 
    
         
             
            BasicDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BasicDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       1769 
     | 
    
         
            -
            BasicDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BasicDropdownComponent, selector: "lx-basic-dropdown", inputs: { options: "options", initiallySelectedIndex: "initiallySelectedIndex", labelKey: "labelKey", itemKey: "itemKey", placeholder: "placeholder", loading: "loading", newOptionLabel: "newOptionLabel", padding: "padding", showCreateNewOption: "showCreateNewOption", disabledOptions: "disabledOptions" }, outputs: { onItemSelected: "onItemSelected", triggerRequestForMoreEntries: "triggerRequestForMoreEntries", newOptionLabelSelected: "newOptionLabelSelected", createNewOptionSelected: "createNewOptionSelected" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "createNewOptionTemplateRef", first: true, predicate: ["createNewOptionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n  class=\"options {{ padding }}Padding lxThinScrollbar\"\n  #keyboardSelectContainer\n  infinite-scroll\n  [scrollWindow]=\"false\"\n  [fromRoot]=\"true\"\n  (scrolled)=\"onScroll()\"\n>\n  <li\n    *ngIf=\"newOptionLabel && isNewItem\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"onNewItemSelected()\"\n    (select)=\"onNewItemSelected()\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable onTheFlyOption\"\n  >\n    <span class=\"newEntryContent\">\n      {{ newOptionLabel }}\n    </span>\n    <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n  </li>\n  <li\n    *ngIf=\"showCreateNewOption\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"onCreateNewOptionSelected()\"\n    (select)=\"onCreateNewOptionSelected()\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable newEntryOption\"\n  >\n    <span class=\"newEntryContent\">\n      <ng-container *ngIf=\"createNewOptionTemplateRef; else defaultNewOption\">\n        <ng-container *ngTemplateOutlet=\"createNewOptionTemplateRef\"></ng-container>\n      </ng-container>\n      <ng-template #defaultNewOption>\n        <span>\n          {{ NAME + '.new' | translate }}\n        </span>\n      </ng-template>\n    </span>\n  </li>\n  <li\n    *ngIf=\"options?.length === 0 && !newOptionLabel && !loading\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable noOptionsAvailable\"\n  >\n    {{ NAME + '.noResults' | translate }}\n  </li>\n  <li\n    *ngIf=\"placeholder\"\n    class=\"option keyboardSelectable clearSelection\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"selectOption(null)\"\n    (select)=\"selectOption(null)\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n  >\n    {{ placeholder }}\n  </li>\n  <li\n    *ngFor=\"let option of options; let index = index; trackBy: trackByProp(itemKey)\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    class=\"option keyboardSelectable\"\n    (click)=\"selectOption(option)\"\n    (select)=\"selectOption(option)\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    [class.initiallySelected]=\"index === initiallySelectedIndex\"\n    [class.disabledItem]=\"itemKey ? !!disabledOptions[option[itemKey]] : false\"\n  >\n    <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n      <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\"></ng-container>\n    </ng-container>\n    <ng-template #simpleStringDisplay>\n      <span>\n        {{ labelKey ? option[labelKey] : option }}\n      </span>\n    </ng-template>\n  </li>\n  <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n</ul>\n", styles: [":host(.noOptionPadding) .options .option{padding:0}.defaultPadding .newEntryOption,.defaultPadding .onTheFlyOption,.defaultPadding .noOptionsAvailable{padding:4px 12px!important}.narrowPadding .newEntryOption,.narrowPadding .onTheFlyOption,.narrowPadding .noOptionsAvailable{padding:4px!important}.options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:250px}.options.defaultPadding .option{padding:4px 12px}.options.narrowPadding .option{padding:4px}.optionSearch{padding:2px}.option{cursor:pointer;display:block}.option:hover:not(.disabledItem){background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option.initiallySelected{color:var(--lx-primarybutton-backgroundcolor)}.option.disabledItem{cursor:default;opacity:.5}\n"], components: [{ type: BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { type: SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }], directives: [{ type: i3.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe, "uppercase": i2.UpperCasePipe, "translate": i1$ 
     | 
| 
      
 1905 
     | 
    
         
            +
            BasicDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BasicDropdownComponent, selector: "lx-basic-dropdown", inputs: { options: "options", initiallySelectedIndex: "initiallySelectedIndex", labelKey: "labelKey", itemKey: "itemKey", placeholder: "placeholder", loading: "loading", newOptionLabel: "newOptionLabel", padding: "padding", showCreateNewOption: "showCreateNewOption", disabledOptions: "disabledOptions" }, outputs: { onItemSelected: "onItemSelected", triggerRequestForMoreEntries: "triggerRequestForMoreEntries", newOptionLabelSelected: "newOptionLabelSelected", createNewOptionSelected: "createNewOptionSelected" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "createNewOptionTemplateRef", first: true, predicate: ["createNewOptionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n  class=\"options {{ padding }}Padding lxThinScrollbar\"\n  #keyboardSelectContainer\n  infinite-scroll\n  [scrollWindow]=\"false\"\n  [fromRoot]=\"true\"\n  (scrolled)=\"onScroll()\"\n>\n  <li\n    *ngIf=\"newOptionLabel && isNewItem\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"onNewItemSelected()\"\n    (select)=\"onNewItemSelected()\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable onTheFlyOption\"\n  >\n    <span class=\"newEntryContent\">\n      {{ newOptionLabel }}\n    </span>\n    <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n  </li>\n  <li\n    *ngIf=\"showCreateNewOption\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"onCreateNewOptionSelected()\"\n    (select)=\"onCreateNewOptionSelected()\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable newEntryOption\"\n  >\n    <span class=\"newEntryContent\">\n      <ng-container *ngIf=\"createNewOptionTemplateRef; else defaultNewOption\">\n        <ng-container *ngTemplateOutlet=\"createNewOptionTemplateRef\"></ng-container>\n      </ng-container>\n      <ng-template #defaultNewOption>\n        <span>\n          {{ NAME + '.new' | translate }}\n        </span>\n      </ng-template>\n    </span>\n  </li>\n  <li\n    *ngIf=\"options?.length === 0 && !newOptionLabel && !loading\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable noOptionsAvailable\"\n  >\n    {{ NAME + '.noResults' | translate }}\n  </li>\n  <li\n    *ngIf=\"placeholder\"\n    class=\"option keyboardSelectable clearSelection\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"selectOption(null)\"\n    (select)=\"selectOption(null)\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n  >\n    {{ placeholder }}\n  </li>\n  <li\n    *ngFor=\"let option of options; let index = index; trackBy: trackByProp(itemKey)\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    class=\"option keyboardSelectable\"\n    (click)=\"selectOption(option)\"\n    (select)=\"selectOption(option)\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    [class.initiallySelected]=\"index === initiallySelectedIndex\"\n    [class.disabledItem]=\"itemKey ? !!disabledOptions[option[itemKey]] : false\"\n  >\n    <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n      <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\"></ng-container>\n    </ng-container>\n    <ng-template #simpleStringDisplay>\n      <span>\n        {{ labelKey ? option[labelKey] : option }}\n      </span>\n    </ng-template>\n  </li>\n  <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n</ul>\n", styles: [":host(.noOptionPadding) .options .option{padding:0}.defaultPadding .newEntryOption,.defaultPadding .onTheFlyOption,.defaultPadding .noOptionsAvailable{padding:4px 12px!important}.narrowPadding .newEntryOption,.narrowPadding .onTheFlyOption,.narrowPadding .noOptionsAvailable{padding:4px!important}.options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:250px}.options.defaultPadding .option{padding:4px 12px}.options.narrowPadding .option{padding:4px}.optionSearch{padding:2px}.option{cursor:pointer;display:block}.option:hover:not(.disabledItem){background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option.initiallySelected{color:var(--lx-primarybutton-backgroundcolor)}.option.disabledItem{cursor:default;opacity:.5}\n"], components: [{ type: BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { type: SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }], directives: [{ type: i3.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe, "uppercase": i2.UpperCasePipe, "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
         
     | 
| 
       1770 
1906 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BasicDropdownComponent, decorators: [{
         
     | 
| 
       1771 
1907 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       1772 
1908 
     | 
    
         
             
                        args: [{ selector: 'lx-basic-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul\n  class=\"options {{ padding }}Padding lxThinScrollbar\"\n  #keyboardSelectContainer\n  infinite-scroll\n  [scrollWindow]=\"false\"\n  [fromRoot]=\"true\"\n  (scrolled)=\"onScroll()\"\n>\n  <li\n    *ngIf=\"newOptionLabel && isNewItem\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"onNewItemSelected()\"\n    (select)=\"onNewItemSelected()\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable onTheFlyOption\"\n  >\n    <span class=\"newEntryContent\">\n      {{ newOptionLabel }}\n    </span>\n    <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n  </li>\n  <li\n    *ngIf=\"showCreateNewOption\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"onCreateNewOptionSelected()\"\n    (select)=\"onCreateNewOptionSelected()\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable newEntryOption\"\n  >\n    <span class=\"newEntryContent\">\n      <ng-container *ngIf=\"createNewOptionTemplateRef; else defaultNewOption\">\n        <ng-container *ngTemplateOutlet=\"createNewOptionTemplateRef\"></ng-container>\n      </ng-container>\n      <ng-template #defaultNewOption>\n        <span>\n          {{ NAME + '.new' | translate }}\n        </span>\n      </ng-template>\n    </span>\n  </li>\n  <li\n    *ngIf=\"options?.length === 0 && !newOptionLabel && !loading\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    class=\"option keyboardSelectable noOptionsAvailable\"\n  >\n    {{ NAME + '.noResults' | translate }}\n  </li>\n  <li\n    *ngIf=\"placeholder\"\n    class=\"option keyboardSelectable clearSelection\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    (click)=\"selectOption(null)\"\n    (select)=\"selectOption(null)\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n  >\n    {{ placeholder }}\n  </li>\n  <li\n    *ngFor=\"let option of options; let index = index; trackBy: trackByProp(itemKey)\"\n    lxSelectableItem\n    [scrollInContainer]=\"keyboardSelectContainer\"\n    #item\n    class=\"option keyboardSelectable\"\n    (click)=\"selectOption(option)\"\n    (select)=\"selectOption(option)\"\n    [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n    [class.initiallySelected]=\"index === initiallySelectedIndex\"\n    [class.disabledItem]=\"itemKey ? !!disabledOptions[option[itemKey]] : false\"\n  >\n    <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n      <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\"></ng-container>\n    </ng-container>\n    <ng-template #simpleStringDisplay>\n      <span>\n        {{ labelKey ? option[labelKey] : option }}\n      </span>\n    </ng-template>\n  </li>\n  <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n</ul>\n", styles: [":host(.noOptionPadding) .options .option{padding:0}.defaultPadding .newEntryOption,.defaultPadding .onTheFlyOption,.defaultPadding .noOptionsAvailable{padding:4px 12px!important}.narrowPadding .newEntryOption,.narrowPadding .onTheFlyOption,.narrowPadding .noOptionsAvailable{padding:4px!important}.options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:250px}.options.defaultPadding .option{padding:4px 12px}.options.narrowPadding .option{padding:4px}.optionSearch{padding:2px}.option{cursor:pointer;display:block}.option:hover:not(.disabledItem){background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option.initiallySelected{color:var(--lx-primarybutton-backgroundcolor)}.option.disabledItem{cursor:default;opacity:.5}\n"] }]
         
     | 
| 
         @@ -2299,44 +2435,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor 
     | 
|
| 
       2299 
2435 
     | 
    
         
             
                            args: ['dropdown']
         
     | 
| 
       2300 
2436 
     | 
    
         
             
                        }] } });
         
     | 
| 
       2301 
2437 
     | 
    
         | 
| 
       2302 
     | 
    
         
            -
            /**
         
     | 
| 
       2303 
     | 
    
         
            -
             * Observe creates an Observable stream and notifies the changes from an observed property.
         
     | 
| 
       2304 
     | 
    
         
            -
             *
         
     | 
| 
       2305 
     | 
    
         
            -
             * @example
         
     | 
| 
       2306 
     | 
    
         
            -
             * Input() foo: string;
         
     | 
| 
       2307 
     | 
    
         
            -
             * @Observe('foo') foo$: Observable<string>;
         
     | 
| 
       2308 
     | 
    
         
            -
             */
         
     | 
| 
       2309 
     | 
    
         
            -
            function Observe(observedKey) {
         
     | 
| 
       2310 
     | 
    
         
            -
                // eslint-disable-next-line @typescript-eslint/ban-types
         
     | 
| 
       2311 
     | 
    
         
            -
                return (target, key) => {
         
     | 
| 
       2312 
     | 
    
         
            -
                    const subjects = new WeakMap();
         
     | 
| 
       2313 
     | 
    
         
            -
                    const getSubject = (instance) => {
         
     | 
| 
       2314 
     | 
    
         
            -
                        if (!subjects.has(instance)) {
         
     | 
| 
       2315 
     | 
    
         
            -
                            subjects.set(instance, new BehaviorSubject(undefined));
         
     | 
| 
       2316 
     | 
    
         
            -
                        }
         
     | 
| 
       2317 
     | 
    
         
            -
                        return subjects.get(instance) || new BehaviorSubject(undefined);
         
     | 
| 
       2318 
     | 
    
         
            -
                    };
         
     | 
| 
       2319 
     | 
    
         
            -
                    Object.defineProperty(target, key, {
         
     | 
| 
       2320 
     | 
    
         
            -
                        get() {
         
     | 
| 
       2321 
     | 
    
         
            -
                            return getSubject(this).pipe(
         
     | 
| 
       2322 
     | 
    
         
            -
                            // An initial `undefined` value is triggered above when initializing the subject for a given instance.
         
     | 
| 
       2323 
     | 
    
         
            -
                            // This skips the initial `undefined` values, until a defined value is provided. Then, no values
         
     | 
| 
       2324 
     | 
    
         
            -
                            // are removed from the stream.
         
     | 
| 
       2325 
     | 
    
         
            -
                            skipWhile((value) => value === undefined), map((value) => value) // required for TS null check
         
     | 
| 
       2326 
     | 
    
         
            -
                            );
         
     | 
| 
       2327 
     | 
    
         
            -
                        }
         
     | 
| 
       2328 
     | 
    
         
            -
                    });
         
     | 
| 
       2329 
     | 
    
         
            -
                    Object.defineProperty(target, observedKey, {
         
     | 
| 
       2330 
     | 
    
         
            -
                        get() {
         
     | 
| 
       2331 
     | 
    
         
            -
                            return getSubject(this).getValue();
         
     | 
| 
       2332 
     | 
    
         
            -
                        },
         
     | 
| 
       2333 
     | 
    
         
            -
                        set(instanceNewValue) {
         
     | 
| 
       2334 
     | 
    
         
            -
                            getSubject(this).next(instanceNewValue);
         
     | 
| 
       2335 
     | 
    
         
            -
                        }
         
     | 
| 
       2336 
     | 
    
         
            -
                    });
         
     | 
| 
       2337 
     | 
    
         
            -
                };
         
     | 
| 
       2338 
     | 
    
         
            -
            }
         
     | 
| 
       2339 
     | 
    
         
            -
             
     | 
| 
       2340 
2438 
     | 
    
         
             
            // Currency symbol map extracted from: http://symbologic.info/currency.htm
         
     | 
| 
       2341 
2439 
     | 
    
         
             
            // Using custom symbology since Angular 2 currency pipe does not support all currency symbols:
         
     | 
| 
       2342 
2440 
     | 
    
         
             
            // https://github.com/angular/angular/issues/6724
         
     | 
| 
         @@ -3071,7 +3169,7 @@ class KeyboardSortableListDirective { 
     | 
|
| 
       3071 
3169 
     | 
    
         
             
                    });
         
     | 
| 
       3072 
3170 
     | 
    
         
             
                }
         
     | 
| 
       3073 
3171 
     | 
    
         
             
            }
         
     | 
| 
       3074 
     | 
    
         
            -
            KeyboardSortableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: KeyboardSortableListDirective, deps: [{ token: i1$ 
     | 
| 
      
 3172 
     | 
    
         
            +
            KeyboardSortableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: KeyboardSortableListDirective, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
         
     | 
| 
       3075 
3173 
     | 
    
         
             
            KeyboardSortableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: KeyboardSortableListDirective, selector: "[lxKeyboardSortableList]", inputs: { keyboardSortableItems: "keyboardSortableItems" }, ngImport: i0 });
         
     | 
| 
       3076 
3174 
     | 
    
         
             
            __decorate([
         
     | 
| 
       3077 
3175 
     | 
    
         
             
                Observe('keyboardSortableItems')
         
     | 
| 
         @@ -3081,7 +3179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor 
     | 
|
| 
       3081 
3179 
     | 
    
         
             
                        args: [{
         
     | 
| 
       3082 
3180 
     | 
    
         
             
                                selector: '[lxKeyboardSortableList]'
         
     | 
| 
       3083 
3181 
     | 
    
         
             
                            }]
         
     | 
| 
       3084 
     | 
    
         
            -
                    }], ctorParameters: function () { return [{ type: i1$ 
     | 
| 
      
 3182 
     | 
    
         
            +
                    }], ctorParameters: function () { return [{ type: i1$1.TranslateService }]; }, propDecorators: { keyboardSortableItems$: [], keyboardSortableItems: [{
         
     | 
| 
       3085 
3183 
     | 
    
         
             
                            type: Input
         
     | 
| 
       3086 
3184 
     | 
    
         
             
                        }] } });
         
     | 
| 
       3087 
3185 
     | 
    
         | 
| 
         @@ -3144,7 +3242,7 @@ class DragAndDropListComponent { 
     | 
|
| 
       3144 
3242 
     | 
    
         
             
                }
         
     | 
| 
       3145 
3243 
     | 
    
         
             
            }
         
     | 
| 
       3146 
3244 
     | 
    
         
             
            DragAndDropListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: DragAndDropListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       3147 
     | 
    
         
            -
            DragAndDropListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", 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"], components: [{ type: DragAndDropListItemComponent, selector: "lx-drag-and-drop-list-item", inputs: ["item", "draggable", "actions"], outputs: ["action"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { type: KeyboardSortableListDirective, selector: "[lxKeyboardSortableList]", inputs: ["keyboardSortableItems"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }, { type: KeyboardSortableItemDirective, selector: "[lxKeyboardSortableItem]", inputs: ["lxKeyboardSortableItem", "lxKeyboardItemData", "isSortingByKeyboard", "lxKeyboardItemBeingSorted"], outputs: ["isSortingByKeyboardChange", "lxKeyboardItemBeingSortedChange", "sortItemsWithKeyboard", "focusWithKeyboard"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i1$ 
     | 
| 
      
 3245 
     | 
    
         
            +
            DragAndDropListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", 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"], components: [{ type: DragAndDropListItemComponent, selector: "lx-drag-and-drop-list-item", inputs: ["item", "draggable", "actions"], outputs: ["action"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { type: KeyboardSortableListDirective, selector: "[lxKeyboardSortableList]", inputs: ["keyboardSortableItems"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }, { type: KeyboardSortableItemDirective, selector: "[lxKeyboardSortableItem]", inputs: ["lxKeyboardSortableItem", "lxKeyboardItemData", "isSortingByKeyboard", "lxKeyboardItemBeingSorted"], outputs: ["isSortingByKeyboardChange", "lxKeyboardItemBeingSortedChange", "sortItemsWithKeyboard", "focusWithKeyboard"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i1$1.TranslatePipe, "async": i2.AsyncPipe } });
         
     | 
| 
       3148 
3246 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: DragAndDropListComponent, decorators: [{
         
     | 
| 
       3149 
3247 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       3150 
3248 
     | 
    
         
             
                        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"] }]
         
     | 
| 
         @@ -3177,7 +3275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor 
     | 
|
| 
       3177 
3275 
     | 
    
         
             
            class LxDragAndDropListModule {
         
     | 
| 
       3178 
3276 
     | 
    
         
             
            }
         
     | 
| 
       3179 
3277 
     | 
    
         
             
            LxDragAndDropListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxDragAndDropListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
         
     | 
| 
       3180 
     | 
    
         
            -
            LxDragAndDropListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxDragAndDropListModule, declarations: [KeyboardSortableItemDirective, KeyboardSortableListDirective, DragAndDropListComponent, DragAndDropListItemComponent], imports: [CommonModule, DragDropModule, LxCoreUiModule, i1$ 
     | 
| 
      
 3278 
     | 
    
         
            +
            LxDragAndDropListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxDragAndDropListModule, declarations: [KeyboardSortableItemDirective, KeyboardSortableListDirective, DragAndDropListComponent, DragAndDropListItemComponent], imports: [CommonModule, DragDropModule, LxCoreUiModule, i1$1.TranslateModule], exports: [DragAndDropListComponent, DragAndDropListItemComponent] });
         
     | 
| 
       3181 
3279 
     | 
    
         
             
            LxDragAndDropListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxDragAndDropListModule, imports: [[CommonModule, DragDropModule, LxCoreUiModule, TranslateModule.forChild()]] });
         
     | 
| 
       3182 
3280 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxDragAndDropListModule, decorators: [{
         
     | 
| 
       3183 
3281 
     | 
    
         
             
                        type: NgModule,
         
     | 
| 
         @@ -3200,7 +3298,7 @@ class ErrorMessageComponent { 
     | 
|
| 
       3200 
3298 
     | 
    
         
             
                }
         
     | 
| 
       3201 
3299 
     | 
    
         
             
            }
         
     | 
| 
       3202 
3300 
     | 
    
         
             
            ErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ErrorMessageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       3203 
     | 
    
         
            -
            ErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ErrorMessageComponent, selector: "lx-error-message", inputs: { key: "key" }, ngImport: i0, template: `<div class="error" *ngIf="_key">{{ _key | translate }}</div>`, isInline: true, styles: [".error{color:#f96464;padding:4px}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$ 
     | 
| 
      
 3301 
     | 
    
         
            +
            ErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ErrorMessageComponent, selector: "lx-error-message", inputs: { key: "key" }, ngImport: i0, template: `<div class="error" *ngIf="_key">{{ _key | translate }}</div>`, isInline: true, styles: [".error{color:#f96464;padding:4px}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
         
     | 
| 
       3204 
3302 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ErrorMessageComponent, decorators: [{
         
     | 
| 
       3205 
3303 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       3206 
3304 
     | 
    
         
             
                        args: [{ selector: 'lx-error-message', template: `<div class="error" *ngIf="_key">{{ _key | translate }}</div>`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".error{color:#f96464;padding:4px}\n"] }]
         
     | 
| 
         @@ -3232,7 +3330,7 @@ class FormErrorComponent { 
     | 
|
| 
       3232 
3330 
     | 
    
         
             
                }
         
     | 
| 
       3233 
3331 
     | 
    
         
             
            }
         
     | 
| 
       3234 
3332 
     | 
    
         
             
            FormErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FormErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       3235 
     | 
    
         
            -
            FormErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: FormErrorComponent, selector: "lx-form-error", inputs: { namespace: "namespace", form: "form", controlName: "controlName" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"error\" *ngFor=\"let key of translationKeys\">\n  {{ key | translate }}\n</div>\n", styles: [".error{color:#f96464;padding:4px}\n"], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$ 
     | 
| 
      
 3333 
     | 
    
         
            +
            FormErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: FormErrorComponent, selector: "lx-form-error", inputs: { namespace: "namespace", form: "form", controlName: "controlName" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"error\" *ngFor=\"let key of translationKeys\">\n  {{ key | translate }}\n</div>\n", styles: [".error{color:#f96464;padding:4px}\n"], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe } });
         
     | 
| 
       3236 
3334 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FormErrorComponent, decorators: [{
         
     | 
| 
       3237 
3335 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       3238 
3336 
     | 
    
         
             
                        args: [{ selector: 'lx-form-error', template: "<div class=\"error\" *ngFor=\"let key of translationKeys\">\n  {{ key | translate }}\n</div>\n", styles: [".error{color:#f96464;padding:4px}\n"] }]
         
     | 
| 
         @@ -3908,7 +4006,7 @@ class OptionGroupDropdownComponent extends KeyboardSelectDirective { 
     | 
|
| 
       3908 
4006 
     | 
    
         
             
                }
         
     | 
| 
       3909 
4007 
     | 
    
         
             
            }
         
     | 
| 
       3910 
4008 
     | 
    
         
             
            OptionGroupDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: OptionGroupDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       3911 
     | 
    
         
            -
            OptionGroupDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: OptionGroupDropdownComponent, selector: "lx-option-group-dropdown", inputs: { optionGroups: "optionGroups", newOptionLabel: "newOptionLabel", highlightTerm: "highlightTerm", showCreateNewOption: "showCreateNewOption", labelKey: "labelKey", loading: "loading", trackByProperty: "trackByProperty", showNoResultsIfGroupIsEmpty: "showNoResultsIfGroupIsEmpty" }, outputs: { onItemSelected: "onItemSelected", containerScrolled: "containerScrolled", createNewOption: "createNewOption" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "noResultsOptionTemplateRef", first: true, predicate: ["noResultsOptionTemplateRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n  #keyboardSelectContainer\n  class=\"scrollingPanel lxThinScrollbar\"\n  infinite-scroll\n  [scrollWindow]=\"false\"\n  [fromRoot]=\"true\"\n  (scrolled)=\"containerScrolled.emit()\"\n>\n  <ul class=\"options\">\n    <li\n      *ngIf=\"showCreateNewOption && newOptionLabel && isNewItem\"\n      lxSelectableItem\n      [scrollInContainer]=\"keyboardSelectContainer\"\n      #item\n      (click)=\"onCreateNewOption()\"\n      (select)=\"onCreateNewOption()\"\n      [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n      class=\"option\"\n    >\n      <span class=\"newEntryContent\">\n        {{ newOptionLabel }}\n      </span>\n      <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n    </li>\n    <ng-container *ngFor=\"let optionGroup of optionGroups; let groupIndex = index; trackBy: trackByLabel\">\n      <li>\n        <div class=\"groupLabel\" *ngIf=\"optionGroup.label\">\n          <span>{{ optionGroup.label | uppercase }}</span>\n        </div>\n        <ul>\n          <ng-container *ngIf=\"showNoResultsIfGroupIsEmpty && optionGroup.options.length === 0; else options\">\n            <li class=\"noResult\">\n              <ng-container *ngIf=\"noResultsOptionTemplateRef; else defaultText\">\n                <ng-container\n                  *ngTemplateOutlet=\"noResultsOptionTemplateRef; context: { group: optionGroup, groupIndex: groupIndex }\"\n                ></ng-container>\n              </ng-container>\n              <ng-template #defaultText>\n                <span>{{ NAME + '.noResults' | translate }}</span>\n              </ng-template>\n            </li>\n          </ng-container>\n          <ng-template #options>\n            <li\n              *ngFor=\"let option of optionGroup.options; let index = index; trackBy: trackByValue\"\n              lxSelectableItem\n              [scrollInContainer]=\"keyboardSelectContainer\"\n              #item\n              class=\"option\"\n              (click)=\"selectOption(option)\"\n              (select)=\"selectOption(option)\"\n              [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n            >\n              <ng-container *ngIf=\"optionTemplateRef; else basicDropdownOption\">\n                <ng-container\n                  *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index, groupIndex: groupIndex }\"\n                ></ng-container>\n              </ng-container>\n              <ng-template #basicDropdownOption>\n                <lx-basic-dropdown-item\n                  [label]=\"option.label\"\n                  labelFontWeight=\"normal\"\n                  [highlightTerm]=\"highlightTerm\"\n                ></lx-basic-dropdown-item>\n              </ng-template>\n            </li>\n          </ng-template>\n        </ul>\n      </li>\n    </ng-container>\n    <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n  </ul>\n</div>\n", styles: [":host{display:block}.scrollingPanel{overflow-y:auto;max-height:400px}.groupLabel{line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase;cursor:default}ul{list-style:none;margin:0;padding:0}ul:not(:last-child){border-bottom:solid 1px #eaedf1}.noResult{display:block;padding:4px 12px}.option{cursor:pointer;display:block;padding:4px 12px}.option:hover{background-color:#e1e5eb!important}.option.highlighted{background:#eaedf1}\n"], components: [{ type: BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { type: BasicDropdownItemComponent, selector: "lx-basic-dropdown-item", inputs: ["label", "description", "highlightTerm", "labelFontWeight", "descriptionFontStyle"] }, { type: SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }], directives: [{ type: i3.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe, "uppercase": i2.UpperCasePipe, "translate": i1$ 
     | 
| 
      
 4009 
     | 
    
         
            +
            OptionGroupDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: OptionGroupDropdownComponent, selector: "lx-option-group-dropdown", inputs: { optionGroups: "optionGroups", newOptionLabel: "newOptionLabel", highlightTerm: "highlightTerm", showCreateNewOption: "showCreateNewOption", labelKey: "labelKey", loading: "loading", trackByProperty: "trackByProperty", showNoResultsIfGroupIsEmpty: "showNoResultsIfGroupIsEmpty" }, outputs: { onItemSelected: "onItemSelected", containerScrolled: "containerScrolled", createNewOption: "createNewOption" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "noResultsOptionTemplateRef", first: true, predicate: ["noResultsOptionTemplateRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n  #keyboardSelectContainer\n  class=\"scrollingPanel lxThinScrollbar\"\n  infinite-scroll\n  [scrollWindow]=\"false\"\n  [fromRoot]=\"true\"\n  (scrolled)=\"containerScrolled.emit()\"\n>\n  <ul class=\"options\">\n    <li\n      *ngIf=\"showCreateNewOption && newOptionLabel && isNewItem\"\n      lxSelectableItem\n      [scrollInContainer]=\"keyboardSelectContainer\"\n      #item\n      (click)=\"onCreateNewOption()\"\n      (select)=\"onCreateNewOption()\"\n      [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n      class=\"option\"\n    >\n      <span class=\"newEntryContent\">\n        {{ newOptionLabel }}\n      </span>\n      <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n    </li>\n    <ng-container *ngFor=\"let optionGroup of optionGroups; let groupIndex = index; trackBy: trackByLabel\">\n      <li>\n        <div class=\"groupLabel\" *ngIf=\"optionGroup.label\">\n          <span>{{ optionGroup.label | uppercase }}</span>\n        </div>\n        <ul>\n          <ng-container *ngIf=\"showNoResultsIfGroupIsEmpty && optionGroup.options.length === 0; else options\">\n            <li class=\"noResult\">\n              <ng-container *ngIf=\"noResultsOptionTemplateRef; else defaultText\">\n                <ng-container\n                  *ngTemplateOutlet=\"noResultsOptionTemplateRef; context: { group: optionGroup, groupIndex: groupIndex }\"\n                ></ng-container>\n              </ng-container>\n              <ng-template #defaultText>\n                <span>{{ NAME + '.noResults' | translate }}</span>\n              </ng-template>\n            </li>\n          </ng-container>\n          <ng-template #options>\n            <li\n              *ngFor=\"let option of optionGroup.options; let index = index; trackBy: trackByValue\"\n              lxSelectableItem\n              [scrollInContainer]=\"keyboardSelectContainer\"\n              #item\n              class=\"option\"\n              (click)=\"selectOption(option)\"\n              (select)=\"selectOption(option)\"\n              [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n            >\n              <ng-container *ngIf=\"optionTemplateRef; else basicDropdownOption\">\n                <ng-container\n                  *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index, groupIndex: groupIndex }\"\n                ></ng-container>\n              </ng-container>\n              <ng-template #basicDropdownOption>\n                <lx-basic-dropdown-item\n                  [label]=\"option.label\"\n                  labelFontWeight=\"normal\"\n                  [highlightTerm]=\"highlightTerm\"\n                ></lx-basic-dropdown-item>\n              </ng-template>\n            </li>\n          </ng-template>\n        </ul>\n      </li>\n    </ng-container>\n    <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n  </ul>\n</div>\n", styles: [":host{display:block}.scrollingPanel{overflow-y:auto;max-height:400px}.groupLabel{line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase;cursor:default}ul{list-style:none;margin:0;padding:0}ul:not(:last-child){border-bottom:solid 1px #eaedf1}.noResult{display:block;padding:4px 12px}.option{cursor:pointer;display:block;padding:4px 12px}.option:hover{background-color:#e1e5eb!important}.option.highlighted{background:#eaedf1}\n"], components: [{ type: BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { type: BasicDropdownItemComponent, selector: "lx-basic-dropdown-item", inputs: ["label", "description", "highlightTerm", "labelFontWeight", "descriptionFontStyle"] }, { type: SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }], directives: [{ type: i3.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe, "uppercase": i2.UpperCasePipe, "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
         
     | 
| 
       3912 
4010 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: OptionGroupDropdownComponent, decorators: [{
         
     | 
| 
       3913 
4011 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       3914 
4012 
     | 
    
         
             
                        args: [{ selector: 'lx-option-group-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n  #keyboardSelectContainer\n  class=\"scrollingPanel lxThinScrollbar\"\n  infinite-scroll\n  [scrollWindow]=\"false\"\n  [fromRoot]=\"true\"\n  (scrolled)=\"containerScrolled.emit()\"\n>\n  <ul class=\"options\">\n    <li\n      *ngIf=\"showCreateNewOption && newOptionLabel && isNewItem\"\n      lxSelectableItem\n      [scrollInContainer]=\"keyboardSelectContainer\"\n      #item\n      (click)=\"onCreateNewOption()\"\n      (select)=\"onCreateNewOption()\"\n      [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n      class=\"option\"\n    >\n      <span class=\"newEntryContent\">\n        {{ newOptionLabel }}\n      </span>\n      <lx-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\n    </li>\n    <ng-container *ngFor=\"let optionGroup of optionGroups; let groupIndex = index; trackBy: trackByLabel\">\n      <li>\n        <div class=\"groupLabel\" *ngIf=\"optionGroup.label\">\n          <span>{{ optionGroup.label | uppercase }}</span>\n        </div>\n        <ul>\n          <ng-container *ngIf=\"showNoResultsIfGroupIsEmpty && optionGroup.options.length === 0; else options\">\n            <li class=\"noResult\">\n              <ng-container *ngIf=\"noResultsOptionTemplateRef; else defaultText\">\n                <ng-container\n                  *ngTemplateOutlet=\"noResultsOptionTemplateRef; context: { group: optionGroup, groupIndex: groupIndex }\"\n                ></ng-container>\n              </ng-container>\n              <ng-template #defaultText>\n                <span>{{ NAME + '.noResults' | translate }}</span>\n              </ng-template>\n            </li>\n          </ng-container>\n          <ng-template #options>\n            <li\n              *ngFor=\"let option of optionGroup.options; let index = index; trackBy: trackByValue\"\n              lxSelectableItem\n              [scrollInContainer]=\"keyboardSelectContainer\"\n              #item\n              class=\"option\"\n              (click)=\"selectOption(option)\"\n              (select)=\"selectOption(option)\"\n              [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n            >\n              <ng-container *ngIf=\"optionTemplateRef; else basicDropdownOption\">\n                <ng-container\n                  *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index, groupIndex: groupIndex }\"\n                ></ng-container>\n              </ng-container>\n              <ng-template #basicDropdownOption>\n                <lx-basic-dropdown-item\n                  [label]=\"option.label\"\n                  labelFontWeight=\"normal\"\n                  [highlightTerm]=\"highlightTerm\"\n                ></lx-basic-dropdown-item>\n              </ng-template>\n            </li>\n          </ng-template>\n        </ul>\n      </li>\n    </ng-container>\n    <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n  </ul>\n</div>\n", styles: [":host{display:block}.scrollingPanel{overflow-y:auto;max-height:400px}.groupLabel{line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase;cursor:default}ul{list-style:none;margin:0;padding:0}ul:not(:last-child){border-bottom:solid 1px #eaedf1}.noResult{display:block;padding:4px 12px}.option{cursor:pointer;display:block;padding:4px 12px}.option:hover{background-color:#e1e5eb!important}.option.highlighted{background:#eaedf1}\n"] }]
         
     | 
| 
         @@ -4247,12 +4345,12 @@ class PickerOptionComponent { 
     | 
|
| 
       4247 
4345 
     | 
    
         
             
                    this.select.emit(this.value);
         
     | 
| 
       4248 
4346 
     | 
    
         
             
                }
         
     | 
| 
       4249 
4347 
     | 
    
         
             
            }
         
     | 
| 
       4250 
     | 
    
         
            -
            PickerOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: PickerOptionComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$ 
     | 
| 
      
 4348 
     | 
    
         
            +
            PickerOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: PickerOptionComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       4251 
4349 
     | 
    
         
             
            PickerOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: PickerOptionComponent, selector: "li[lx-picker-option]", inputs: { optionId: "optionId", ariaLabel: "ariaLabel", value: "value", selected: "selected", isClearOption: "isClearOption" }, outputs: { select: "select" }, host: { listeners: { "click": "manageClickEvents()" }, properties: { "attr.role": "this.role", "attr.aria-selected": "this.ariaSelected", "attr.aria-label": "this.ariaLabelValue", "attr.title": "this.titleValue", "id": "this.id", "class.selected": "this.selected", "class.clearOption": "this.isClearOption", "class.highlighted": "this.highlighted" } }, ngImport: i0, template: "<lx-icon *ngIf=\"isClearOption\" name=\"slash\" color=\"#d8d8d8\"></lx-icon>\n<ng-content *ngIf=\"!isClearOption\"></ng-content>\n", styles: [":host{display:inline-block;cursor:pointer;width:35px;height:35px;line-height:35px;text-align:center;border:1px solid transparent;border-radius:3px}:host.clearOption{border:1px solid #cfd5df}:host.highlighted,:host.selected{border:1px solid #b2bccc;cursor:default}:host:hover{border:1px solid #b2bccc}:host:focus{outline:0}\n"], components: [{ type: IconComponent, selector: "lx-icon", inputs: ["name", "color", "fontAwsomeStyle", "size", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
         
     | 
| 
       4252 
4350 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: PickerOptionComponent, decorators: [{
         
     | 
| 
       4253 
4351 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       4254 
4352 
     | 
    
         
             
                        args: [{ selector: 'li[lx-picker-option]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<lx-icon *ngIf=\"isClearOption\" name=\"slash\" color=\"#d8d8d8\"></lx-icon>\n<ng-content *ngIf=\"!isClearOption\"></ng-content>\n", styles: [":host{display:inline-block;cursor:pointer;width:35px;height:35px;line-height:35px;text-align:center;border:1px solid transparent;border-radius:3px}:host.clearOption{border:1px solid #cfd5df}:host.highlighted,:host.selected{border:1px solid #b2bccc;cursor:default}:host:hover{border:1px solid #b2bccc}:host:focus{outline:0}\n"] }]
         
     | 
| 
       4255 
     | 
    
         
            -
                    }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$ 
     | 
| 
      
 4353 
     | 
    
         
            +
                    }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }]; }, propDecorators: { role: [{
         
     | 
| 
       4256 
4354 
     | 
    
         
             
                            type: HostBinding,
         
     | 
| 
       4257 
4355 
     | 
    
         
             
                            args: ['attr.role']
         
     | 
| 
       4258 
4356 
     | 
    
         
             
                        }], ariaSelected: [{
         
     | 
| 
         @@ -4998,7 +5096,7 @@ class SortingDropdownComponent { 
     | 
|
| 
       4998 
5096 
     | 
    
         
             
                }
         
     | 
| 
       4999 
5097 
     | 
    
         
             
            }
         
     | 
| 
       5000 
5098 
     | 
    
         
             
            SortingDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SortingDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       5001 
     | 
    
         
            -
            SortingDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: SortingDropdownComponent, selector: "lx-sorting-dropdown", inputs: { currentSorting: "currentSorting", sortingOptions: "sortingOptions" }, outputs: { apply: "apply" }, ngImport: i0, template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n  <lx-sorting-dropdown-trigger\n    lxKeyboardActionSource\n    [label]=\"NAME + '.sortBy' | translate\"\n    [currentSortingLabel]=\"getSortLabel(currentSorting?.key) | translate\"\n  >\n  </lx-sorting-dropdown-trigger>\n  <lx-option-group (select)=\"applySortingMode($event)\">\n    <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting?.key\">\n      {{ getSortLabel(option?.key) | translate }}\n    </lx-option>\n  </lx-option-group>\n  <lx-option-group (select)=\"applySortingDirection($event)\">\n    <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting?.order\">\n      {{ 'sorting.' + currentSorting?.key + '.' + sortDirection | translate }}\n    </lx-option>\n  </lx-option-group>\n</lx-options-dropdown>\n", styles: [""], components: [{ type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight", "closeOnSelect"] }, { type: SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: ["label", "currentSortingLabel", "disabled"] }, { type: OptionGroupComponent, selector: "lx-option-group", inputs: ["hasSelectedState", "label"], outputs: ["select"] }, { type: OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState"], outputs: ["select", "highlight", "selectedClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$ 
     | 
| 
      
 5099 
     | 
    
         
            +
            SortingDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: SortingDropdownComponent, selector: "lx-sorting-dropdown", inputs: { currentSorting: "currentSorting", sortingOptions: "sortingOptions" }, outputs: { apply: "apply" }, ngImport: i0, template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n  <lx-sorting-dropdown-trigger\n    lxKeyboardActionSource\n    [label]=\"NAME + '.sortBy' | translate\"\n    [currentSortingLabel]=\"getSortLabel(currentSorting?.key) | translate\"\n  >\n  </lx-sorting-dropdown-trigger>\n  <lx-option-group (select)=\"applySortingMode($event)\">\n    <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting?.key\">\n      {{ getSortLabel(option?.key) | translate }}\n    </lx-option>\n  </lx-option-group>\n  <lx-option-group (select)=\"applySortingDirection($event)\">\n    <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting?.order\">\n      {{ 'sorting.' + currentSorting?.key + '.' + sortDirection | translate }}\n    </lx-option>\n  </lx-option-group>\n</lx-options-dropdown>\n", styles: [""], components: [{ type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight", "closeOnSelect"] }, { type: SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: ["label", "currentSortingLabel", "disabled"] }, { type: OptionGroupComponent, selector: "lx-option-group", inputs: ["hasSelectedState", "label"], outputs: ["select"] }, { type: OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState"], outputs: ["select", "highlight", "selectedClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe } });
         
     | 
| 
       5002 
5100 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SortingDropdownComponent, decorators: [{
         
     | 
| 
       5003 
5101 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       5004 
5102 
     | 
    
         
             
                        args: [{ selector: 'lx-sorting-dropdown', template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n  <lx-sorting-dropdown-trigger\n    lxKeyboardActionSource\n    [label]=\"NAME + '.sortBy' | translate\"\n    [currentSortingLabel]=\"getSortLabel(currentSorting?.key) | translate\"\n  >\n  </lx-sorting-dropdown-trigger>\n  <lx-option-group (select)=\"applySortingMode($event)\">\n    <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting?.key\">\n      {{ getSortLabel(option?.key) | translate }}\n    </lx-option>\n  </lx-option-group>\n  <lx-option-group (select)=\"applySortingDirection($event)\">\n    <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting?.order\">\n      {{ 'sorting.' + currentSorting?.key + '.' + sortDirection | translate }}\n    </lx-option>\n  </lx-option-group>\n</lx-options-dropdown>\n", styles: [""] }]
         
     | 
| 
         @@ -5286,7 +5384,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: 
     | 
|
| 
       5286 
5384 
     | 
    
         
             
                    ErrorMessageComponent,
         
     | 
| 
       5287 
5385 
     | 
    
         
             
                    FormSubmitDirective], imports: [CommonModule,
         
     | 
| 
       5288 
5386 
     | 
    
         
             
                    FormsModule,
         
     | 
| 
       5289 
     | 
    
         
            -
                    ReactiveFormsModule, i1$ 
     | 
| 
      
 5387 
     | 
    
         
            +
                    ReactiveFormsModule, i1$1.TranslateModule, DatepickerModule,
         
     | 
| 
       5290 
5388 
     | 
    
         
             
                    InfiniteScrollModule,
         
     | 
| 
       5291 
5389 
     | 
    
         
             
                    OverlayModule,
         
     | 
| 
       5292 
5390 
     | 
    
         
             
                    LxCoreUiModule,
         
     | 
| 
         @@ -5639,7 +5737,7 @@ class ModalComponent { 
     | 
|
| 
       5639 
5737 
     | 
    
         
             
                }
         
     | 
| 
       5640 
5738 
     | 
    
         
             
            }
         
     | 
| 
       5641 
5739 
     | 
    
         
             
            ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ModalComponent, deps: [{ token: i1.Overlay }, { token: i0.Renderer2 }, { token: MODAL_CLOSE, optional: true }, { token: i2$1.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component });
         
     | 
| 
       5642 
     | 
    
         
            -
            ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", 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:all .18s;transition-delay:.6s;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:all .18s;transition-delay:.6s;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:all .18s;transition-delay:.6s;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-large .modalContentContainer{height:calc(100% - 112px)}.modalContentContainer{flex:1}\n"], directives: [{ type: i3$2.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i1$ 
     | 
| 
      
 5740 
     | 
    
         
            +
            ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", 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:all .18s;transition-delay:.6s;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:all .18s;transition-delay:.6s;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:all .18s;transition-delay:.6s;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-large .modalContentContainer{height:calc(100% - 112px)}.modalContentContainer{flex:1}\n"], directives: [{ type: i3$2.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i1$1.TranslatePipe }, animations: [
         
     | 
| 
       5643 
5741 
     | 
    
         
             
                    trigger('modal', [
         
     | 
| 
       5644 
5742 
     | 
    
         
             
                        transition(':enter', [style({ opacity: 0 }), animate('0.15s', style({ opacity: 1 }))]),
         
     | 
| 
       5645 
5743 
     | 
    
         
             
                        transition(':leave', animate('0.15s', style({ opacity: 0 })))
         
     | 
| 
         @@ -5699,7 +5797,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor 
     | 
|
| 
       5699 
5797 
     | 
    
         
             
            class LxModalModule {
         
     | 
| 
       5700 
5798 
     | 
    
         
             
            }
         
     | 
| 
       5701 
5799 
     | 
    
         
             
            LxModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
         
     | 
| 
       5702 
     | 
    
         
            -
            LxModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxModalModule, declarations: [ModalComponent, ModalHeaderComponent, ModalFooterComponent, ModalContentDirective], imports: [CommonModule, PortalModule, OverlayModule, A11yModule, i1$ 
     | 
| 
      
 5800 
     | 
    
         
            +
            LxModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxModalModule, declarations: [ModalComponent, ModalHeaderComponent, ModalFooterComponent, ModalContentDirective], imports: [CommonModule, PortalModule, OverlayModule, A11yModule, i1$1.TranslateModule], exports: [ModalComponent, ModalHeaderComponent, ModalFooterComponent, ModalContentDirective] });
         
     | 
| 
       5703 
5801 
     | 
    
         
             
            LxModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxModalModule, imports: [[CommonModule, PortalModule, OverlayModule, A11yModule, TranslateModule.forChild()]] });
         
     | 
| 
       5704 
5802 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LxModalModule, decorators: [{
         
     | 
| 
       5705 
5803 
     | 
    
         
             
                        type: NgModule,
         
     | 
| 
         @@ -6203,5 +6301,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor 
     | 
|
| 
       6203 
6301 
     | 
    
         
             
             * Generated bundle index. Do not edit.
         
     | 
| 
       6204 
6302 
     | 
    
         
             
             */
         
     | 
| 
       6205 
6303 
     | 
    
         | 
| 
       6206 
     | 
    
         
            -
            export { ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, AfterViewInitDirective, AutocloseDirective, AutofocusDirective, BACKSPACE, BadgeComponent, BaseSelectDirective, BasicDropdownComponent, BasicDropdownItemComponent, BrPipe, ButtonComponent, ButtonGroupComponent, CURRENCY_SYMBOL_MAP, CardComponent, CdkOptionsDropdownComponent, CdkOptionsSubDropdownComponent, CollapsibleComponent, ColoredLabelComponent, ContrastColorPipe, CurrencyInputComponent, CurrencySymbolComponent, CustomDatePipe, DATE_FN_LOCALE, DATE_FORMATS, DateInputComponent, DragAndDropListComponent, DragAndDropListItemComponent, ENTER, ESCAPE, EllipsisComponent, ErrorMessageComponent, FORM_CONTROL_ERROR_DISPLAY_STRATEGY, FORM_CONTROL_ERROR_NAMESPACE, FilterSelectionPipe, FilterTermPipe, FormErrorComponent, FormErrorDirective, FormSubmitDirective, FormatNumberPipe, GLOBAL_TRANSLATION_OPTIONS, HighlightRangePipe, HighlightTermPipe, HtmlDirective, IconComponent, IconScaleComponent, KeyboardActionSourceDirective, KeyboardSelectAction, KeyboardSelectDirective, LOCALE_FN, LxCoreUiModule, LxDragAndDropListModule, LxFormsModule, LxIsUuidPipe, LxModalModule, LxPopoverUiModule, LxTabUiModule, LxTimeAgo, LxTooltipModule, LxTranslatePipe, MODAL_CLOSE, MarkInvalidDirective, MarkdownPipe, ModalComponent, ModalContentDirective, ModalFooterComponent, ModalHeaderComponent, MultiSelectComponent, NbspPipe, OptionComponent, OptionGroupComponent, OptionGroupDropdownComponent, OptionsDropdownComponent, OptionsSubDropdownComponent, PickerComponent, PickerOptionComponent, PickerTriggerDirective, PillItemComponent, PillListComponent, PopoverClickDirective, PopoverComponent, PopoverContentDirective, PopoverHoverDirective, Required, ResponsiveInputComponent, SPACE, SelectDropdownDirective, SelectableItemDirective, SelectedOptionDirective, SingleSelectComponent, SliderToggleComponent, SortPipe, Sorting, SortingDropdownComponent, SortingDropdownTriggerComponent, SpinnerComponent, TAB, TabComponent, TabGroupComponent, TableComponent, TableHeaderComponent, TinySpinnerComponent, TooltipComponent, TooltipDirective, TranslationAfterPipe, TranslationBeforePipe, TranslationBetweenPipe, UnescapeCurlyBracesPipe, ValidateDateInForeseeableFuture, getContrastColor, getTranslationParts, isValidHexColor, isValidX, isValidY, provideFormControlErrorDisplayStrategy, provideFormControlErrorNamespace, shorthandHexHandle };
         
     | 
| 
      
 6304 
     | 
    
         
            +
            export { ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, AfterViewInitDirective, AutocloseDirective, AutofocusDirective, BACKSPACE, BadgeComponent, BaseSelectDirective, BasicDropdownComponent, BasicDropdownItemComponent, BrPipe, ButtonComponent, ButtonGroupComponent, CURRENCY_SYMBOL_MAP, CardComponent, CdkOptionsDropdownComponent, CdkOptionsSubDropdownComponent, CollapsibleComponent, ColoredLabelComponent, ContrastColorPipe, CurrencyInputComponent, CurrencySymbolComponent, CustomDatePipe, DATE_FN_LOCALE, DATE_FORMATS, DateInputComponent, DragAndDropListComponent, DragAndDropListItemComponent, ENTER, ESCAPE, EllipsisComponent, ErrorMessageComponent, FORM_CONTROL_ERROR_DISPLAY_STRATEGY, FORM_CONTROL_ERROR_NAMESPACE, FilterSelectionPipe, FilterTermPipe, FormErrorComponent, FormErrorDirective, FormSubmitDirective, FormatNumberPipe, GLOBAL_TRANSLATION_OPTIONS, HighlightRangePipe, HighlightTermPipe, HtmlDirective, IconComponent, IconScaleComponent, KeyboardActionSourceDirective, KeyboardSelectAction, KeyboardSelectDirective, LOCALE_FN, LX_ELLIPSIS_DEBOUNCE_ON_RESIZE, LxCoreUiModule, LxDragAndDropListModule, LxFormsModule, LxIsUuidPipe, LxModalModule, LxPopoverUiModule, LxTabUiModule, LxTimeAgo, LxTooltipModule, LxTranslatePipe, MODAL_CLOSE, MarkInvalidDirective, MarkdownPipe, ModalComponent, ModalContentDirective, ModalFooterComponent, ModalHeaderComponent, MultiSelectComponent, NbspPipe, OptionComponent, OptionGroupComponent, OptionGroupDropdownComponent, OptionsDropdownComponent, OptionsSubDropdownComponent, PickerComponent, PickerOptionComponent, PickerTriggerDirective, PillItemComponent, PillListComponent, PopoverClickDirective, PopoverComponent, PopoverContentDirective, PopoverHoverDirective, Required, ResizeObserverService, ResponsiveInputComponent, SPACE, SelectDropdownDirective, SelectableItemDirective, SelectedOptionDirective, SingleSelectComponent, SliderToggleComponent, SortPipe, Sorting, SortingDropdownComponent, SortingDropdownTriggerComponent, SpinnerComponent, TAB, TabComponent, TabGroupComponent, TableComponent, TableHeaderComponent, TinySpinnerComponent, TooltipComponent, TooltipDirective, TranslationAfterPipe, TranslationBeforePipe, TranslationBetweenPipe, UnescapeCurlyBracesPipe, ValidateDateInForeseeableFuture, getContrastColor, getTranslationParts, isValidHexColor, isValidX, isValidY, provideFormControlErrorDisplayStrategy, provideFormControlErrorNamespace, shorthandHexHandle };
         
     | 
| 
       6207 
6305 
     | 
    
         
             
            //# sourceMappingURL=leanix-components.mjs.map
         
     |