@leanix/components 0.2.108 → 0.2.112

Sign up to get free protection for your applications and to get access to all the features.
package/esm2015/index.js CHANGED
@@ -54,6 +54,7 @@ export * from './lib/forms-ui/components/currency/currency-symbol.component';
54
54
  export * from './lib/forms-ui/components/currency/currency-symbol-map.constant';
55
55
  export * from './lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component';
56
56
  export * from './lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component';
57
+ export * from './lib/forms-ui/components/error-message/error-message.component';
57
58
  export * from './lib/forms-ui/components/form-error/form-error.component';
58
59
  export * from './lib/forms-ui/components/icon/icon.component';
59
60
  export * from './lib/forms-ui/components/multi-select/multi-select.component';
@@ -82,6 +83,7 @@ export * from './lib/forms-ui/directives/mark-invalid.directive';
82
83
  export * from './lib/forms-ui/directives/select-dropdown.directive';
83
84
  export * from './lib/forms-ui/directives/selectable-item.directive';
84
85
  export * from './lib/forms-ui/directives/selected-option.directive';
86
+ export * from './lib/forms-ui/directives/form-error.directive';
85
87
  export * from './lib/forms-ui/models/base-select.directive';
86
88
  // Models
87
89
  export * from './lib/forms-ui/models/sorting.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export class CollapsibleComponent {
27
27
  }
28
28
  }
29
29
  CollapsibleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: CollapsibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- CollapsibleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: CollapsibleComponent, selector: "lx-collapsible", inputs: { disableSectionToggle: "disableSectionToggle", hideSectionToggle: "hideSectionToggle", toggleSize: "toggleSize", toggleTitle: "toggleTitle", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.notClickable": "this.notClickable" } }, ngImport: i0, template: "<button\n *ngIf=\"!hideSectionToggle\"\n lx-button\n mode=\"link\"\n [title]=\"toggleTitle\"\n [size]=\"toggleSize\"\n class=\"sectionToggle\"\n type=\"button\"\n [attr.disabled]=\"disableSectionToggle ? true : null\"\n [square]=\"true\"\n (click)=\"onToggleSection($event)\"\n>\n <i class=\"far fa-angle-down\" [class.collapsed]=\"collapsed\"></i>\n</button>\n<div class=\"collapsible-title\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}:host{position:relative;cursor:pointer;display:flex;border-bottom:1px solid #e1e5eb;padding-bottom:2px;margin-bottom:4px}:host.notClickable{cursor:default}.sectionToggle{font-size:16px;width:32px}.sectionToggle .fa-angle-down{transition:transform .2s linear}.sectionToggle .fa-angle-down.collapsed{transform:rotate(-90deg)}.collapsible-title{align-self:center;width:100%}:host(.align-left) .sectionToggle{text-align:left;width:24px}"], components: [{ type: i1.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
+ CollapsibleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: CollapsibleComponent, selector: "lx-collapsible", inputs: { disableSectionToggle: "disableSectionToggle", hideSectionToggle: "hideSectionToggle", toggleSize: "toggleSize", toggleTitle: "toggleTitle", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.notClickable": "this.notClickable" } }, ngImport: i0, template: "<button\n *ngIf=\"!hideSectionToggle\"\n lx-button\n mode=\"link\"\n [title]=\"toggleTitle\"\n [size]=\"toggleSize\"\n class=\"sectionToggle\"\n type=\"button\"\n [disabled]=\"disableSectionToggle\"\n [square]=\"true\"\n (click)=\"onToggleSection($event)\"\n>\n <i class=\"far fa-angle-down\" [class.collapsed]=\"collapsed\"></i>\n</button>\n<div class=\"collapsible-title\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}:host{position:relative;cursor:pointer;display:flex;border-bottom:1px solid #e1e5eb;padding-bottom:2px;margin-bottom:4px}:host.notClickable{cursor:default}.sectionToggle{font-size:16px;width:32px}.sectionToggle .fa-angle-down{transition:transform .2s linear}.sectionToggle .fa-angle-down.collapsed{transform:rotate(-90deg)}.collapsible-title{align-self:center;width:100%}:host(.align-left) .sectionToggle{text-align:left;width:24px}"], components: [{ type: i1.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: CollapsibleComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"collapsible.component.js","sourceRoot":"","sources":["collapsible.component.ts","collapsible.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;;;AAS3H,MAAM,OAAO,oBAAoB;IANjC;QAOW,SAAI,GAAG,sBAAsB,CAAC;QAE9B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,sBAAiB,GAAG,KAAK,CAAC;QAC1B,eAAU,GAA4B,OAAO,CAAC;QAC9C,gBAAW,GAAG,EAAE,CAAC;QAEjB,cAAS,GAAY,KAAK,CAAC;QAC1B,oBAAe,GAAG,IAAI,YAAY,EAAW,CAAC;KAmBzD;IAjBC,IACI,YAAY;QACd,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,iBAAiB,CAAC;IAC7D,CAAC;IAGD,OAAO,CAAC,KAAiB;QACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe,CAAC,KAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3C;IACH,CAAC;;iHA3BU,oBAAoB;qGAApB,oBAAoB,uYCTjC,8bAiBA;2FDRa,oBAAoB;kBANhC,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,WAAW,EAAE,4BAA4B;oBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;oBACzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;8BAIU,oBAAoB;sBAA5B,KAAK;gBACG,iBAAiB;sBAAzB,KAAK;gBACG,UAAU;sBAAlB,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBAEG,SAAS;sBAAjB,KAAK;gBACI,eAAe;sBAAxB,MAAM;gBAGH,YAAY;sBADf,WAAW;uBAAC,oBAAoB;gBAMjC,OAAO;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"collapsible.component.js","sourceRoot":"","sources":["collapsible.component.ts","collapsible.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;;;AAS3H,MAAM,OAAO,oBAAoB;IANjC;QAOW,SAAI,GAAG,sBAAsB,CAAC;QAE9B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,sBAAiB,GAAG,KAAK,CAAC;QAC1B,eAAU,GAA4B,OAAO,CAAC;QAC9C,gBAAW,GAAG,EAAE,CAAC;QAEjB,cAAS,GAAY,KAAK,CAAC;QAC1B,oBAAe,GAAG,IAAI,YAAY,EAAW,CAAC;KAmBzD;IAjBC,IACI,YAAY;QACd,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,iBAAiB,CAAC;IAC7D,CAAC;IAGD,OAAO,CAAC,KAAiB;QACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe,CAAC,KAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3C;IACH,CAAC;;iHA3BU,oBAAoB;qGAApB,oBAAoB,uYCTjC,2aAiBA;2FDRa,oBAAoB;kBANhC,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,WAAW,EAAE,4BAA4B;oBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;oBACzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;8BAIU,oBAAoB;sBAA5B,KAAK;gBACG,iBAAiB;sBAAzB,KAAK;gBACG,UAAU;sBAAlB,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBAEG,SAAS;sBAAjB,KAAK;gBACI,eAAe;sBAAxB,MAAM;gBAGH,YAAY;sBADf,WAAW;uBAAC,oBAAoB;gBAMjC,OAAO;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@ngx-translate/core";
5
+ export class ErrorMessageComponent {
6
+ constructor(cd) {
7
+ this.cd = cd;
8
+ }
9
+ set key(value) {
10
+ if (value !== this._key) {
11
+ this._key = value;
12
+ this.cd.detectChanges();
13
+ }
14
+ }
15
+ }
16
+ ErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: ErrorMessageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
17
+ ErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", 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}"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: ErrorMessageComponent, decorators: [{
19
+ type: Component,
20
+ args: [{
21
+ selector: 'lx-error-message',
22
+ template: `<div class="error" *ngIf="_key">{{ _key | translate }}</div>`,
23
+ styleUrls: ['./error-message.component.scss'],
24
+ changeDetection: ChangeDetectionStrategy.OnPush
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { key: [{
27
+ type: Input
28
+ }] } });
29
+ //# sourceMappingURL=../../../../../../../../libs/components/src/lib/forms-ui/components/error-message/error-message.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-message.component.js","sourceRoot":"","sources":["error-message.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAqB,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;;;AAQ7F,MAAM,OAAO,qBAAqB;IAUhC,YAAoB,EAAqB;QAArB,OAAE,GAAF,EAAE,CAAmB;IAAG,CAAC;IAP7C,IAAa,GAAG,CAAC,KAAyB;QACxC,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;SACzB;IACH,CAAC;;kHARU,qBAAqB;sGAArB,qBAAqB,gFAJtB,8DAA8D;2FAI7D,qBAAqB;kBANjC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,8DAA8D;oBACxE,SAAS,EAAE,CAAC,gCAAgC,CAAC;oBAC7C,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;wGAIc,GAAG;sBAAf,KAAK"}
@@ -0,0 +1,101 @@
1
+ import { Directive, Inject, InjectionToken, Input, Optional, Self } from '@angular/core';
2
+ import { map, startWith } from 'rxjs/operators';
3
+ import { ErrorMessageComponent } from '../components/error-message/error-message.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ export const FORM_CONTROL_ERROR_NAMESPACE = new InjectionToken('FORM_CONTROL_ERROR_NAMESPACE');
7
+ export const FORM_CONTROL_ERROR_DISPLAY_STRATEGY = new InjectionToken('FORM_CONTROL_ERROR_DISPLAY_STRATEGY');
8
+ export const provideFormControlErrorNamespace = (namespace) => ({
9
+ provide: FORM_CONTROL_ERROR_NAMESPACE,
10
+ useValue: namespace
11
+ });
12
+ export const provideFormControlErrorDisplayStrategy = (fn) => ({
13
+ provide: FORM_CONTROL_ERROR_DISPLAY_STRATEGY,
14
+ useValue: fn
15
+ });
16
+ export class FormErrorDirective {
17
+ constructor(viewContainer, componentFactoryResolver, ngControl, namespace, strategy) {
18
+ this.viewContainer = viewContainer;
19
+ this.componentFactoryResolver = componentFactoryResolver;
20
+ this.ngControl = ngControl;
21
+ this.namespace = namespace;
22
+ this.strategy = strategy;
23
+ }
24
+ get control() {
25
+ var _a;
26
+ return ((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) || this.ctrl;
27
+ }
28
+ get name() {
29
+ var _a;
30
+ return ((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.name) || this.controlName;
31
+ }
32
+ ngOnInit() {
33
+ const control = this.control;
34
+ if (isAbstractControl(control)) {
35
+ this.subscritpion = control.valueChanges
36
+ .pipe(startWith(control.value), map(() => (this.strategy ? this.strategy(control) : true)))
37
+ .subscribe((display) => {
38
+ const { errors } = control;
39
+ if (errors && display) {
40
+ const firstErrorKey = Object.keys(errors)[0];
41
+ const translationKey = this.buildTranslationKey(firstErrorKey);
42
+ this.setError(translationKey);
43
+ }
44
+ else if (this.ref) {
45
+ this.setError();
46
+ }
47
+ });
48
+ }
49
+ }
50
+ buildTranslationKey(errorKey) {
51
+ if (this.control) {
52
+ return `${this.namespace || 'form'}.errors.${this.name ? `${this.name}.` : ''}${errorKey}`;
53
+ }
54
+ else {
55
+ return '';
56
+ }
57
+ }
58
+ setError(key) {
59
+ if (!this.ref) {
60
+ const factory = this.componentFactoryResolver.resolveComponentFactory(ErrorMessageComponent);
61
+ this.ref = this.viewContainer.createComponent(factory);
62
+ }
63
+ this.ref.instance.key = key;
64
+ }
65
+ ngOnDestroy() {
66
+ if (this.subscritpion) {
67
+ this.subscritpion.unsubscribe();
68
+ }
69
+ }
70
+ }
71
+ FormErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: FormErrorDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i1.NgControl, optional: true, self: true }, { token: FORM_CONTROL_ERROR_NAMESPACE, optional: true }, { token: FORM_CONTROL_ERROR_DISPLAY_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
72
+ FormErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.1.4", type: FormErrorDirective, selector: "[lxFormError]", inputs: { ctrl: ["lxFormError", "ctrl"], controlName: "controlName" }, ngImport: i0 });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: FormErrorDirective, decorators: [{
74
+ type: Directive,
75
+ args: [{
76
+ selector: '[lxFormError]'
77
+ }]
78
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i1.NgControl, decorators: [{
79
+ type: Optional
80
+ }, {
81
+ type: Self
82
+ }] }, { type: undefined, decorators: [{
83
+ type: Optional
84
+ }, {
85
+ type: Inject,
86
+ args: [FORM_CONTROL_ERROR_NAMESPACE]
87
+ }] }, { type: undefined, decorators: [{
88
+ type: Optional
89
+ }, {
90
+ type: Inject,
91
+ args: [FORM_CONTROL_ERROR_DISPLAY_STRATEGY]
92
+ }] }]; }, propDecorators: { ctrl: [{
93
+ type: Input,
94
+ args: ['lxFormError']
95
+ }], controlName: [{
96
+ type: Input
97
+ }] } });
98
+ function isAbstractControl(ctrl) {
99
+ return !!ctrl;
100
+ }
101
+ //# sourceMappingURL=../../../../../../../libs/components/src/lib/forms-ui/directives/form-error.directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-error.directive.js","sourceRoot":"","sources":["form-error.directive.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { CurrencySymbolComponent } from './components/currency/currency-symbol.c
16
16
  import { DateInputComponent } from './components/date-input/date-input.component';
17
17
  import { DragAndDropListItemComponent } from './components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component';
18
18
  import { DragAndDropListComponent } from './components/drag-and-drop-list/drag-and-drop-list.component';
19
+ import { ErrorMessageComponent } from './components/error-message/error-message.component';
19
20
  import { FormErrorComponent } from './components/form-error/form-error.component';
20
21
  import { IconComponent } from './components/icon/icon.component';
21
22
  import { InputComponent } from './components/input/input.component';
@@ -35,6 +36,7 @@ import { SingleSelectComponent } from './components/single-select/single-select.
35
36
  import { SliderToggleComponent } from './components/slider-toggle/slider-toggle.component';
36
37
  import { SortingDropdownTriggerComponent } from './components/sorting-dropdown-trigger/sorting-dropdown-trigger.component';
37
38
  import { SortingDropdownComponent } from './components/sorting-dropdown/sorting-dropdown.component';
39
+ import { FormErrorDirective } from './directives/form-error.directive';
38
40
  import { KeyboardActionSourceDirective } from './directives/keyboard-action-source.directive';
39
41
  import { MarkInvalidDirective } from './directives/mark-invalid.directive';
40
42
  import { SelectDropdownDirective } from './directives/select-dropdown.directive';
@@ -83,7 +85,9 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
83
85
  SortingDropdownComponent,
84
86
  SortingDropdownTriggerComponent,
85
87
  InputComponent,
86
- FormatNumberPipe], imports: [CommonModule,
88
+ FormatNumberPipe,
89
+ FormErrorDirective,
90
+ ErrorMessageComponent], imports: [CommonModule,
87
91
  DragDropModule,
88
92
  FormsModule,
89
93
  ReactiveFormsModule, i1.TranslateModule, DatepickerModule,
@@ -123,7 +127,9 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
123
127
  SliderToggleComponent,
124
128
  SortingDropdownComponent,
125
129
  SortingDropdownTriggerComponent,
126
- FormatNumberPipe] });
130
+ FormatNumberPipe,
131
+ FormErrorDirective,
132
+ ErrorMessageComponent] });
127
133
  LxFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: LxFormsModule, imports: [[
128
134
  CommonModule,
129
135
  DragDropModule,
@@ -174,7 +180,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
174
180
  SortingDropdownComponent,
175
181
  SortingDropdownTriggerComponent,
176
182
  InputComponent,
177
- FormatNumberPipe
183
+ FormatNumberPipe,
184
+ FormErrorDirective,
185
+ ErrorMessageComponent
178
186
  ],
179
187
  imports: [
180
188
  CommonModule,
@@ -222,7 +230,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
222
230
  SliderToggleComponent,
223
231
  SortingDropdownComponent,
224
232
  SortingDropdownTriggerComponent,
225
- FormatNumberPipe
233
+ FormatNumberPipe,
234
+ FormErrorDirective,
235
+ ErrorMessageComponent
226
236
  ]
227
237
  }]
228
238
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"forms-ui.module.js","sourceRoot":"","sources":["forms-ui.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forms-ui.module.js","sourceRoot":"","sources":["forms-ui.module.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
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, Pipe, SecurityContext, ContentChildren, Injectable, InjectionToken, Optional, Inject, NgModule, ViewChildren, ViewChild, ContentChild, forwardRef, TemplateRef } from '@angular/core';
4
+ import { Component, Input, HostBinding, ChangeDetectionStrategy, EventEmitter, Output, HostListener, Directive, Pipe, SecurityContext, ContentChildren, Injectable, InjectionToken, Optional, Inject, NgModule, ViewChildren, ViewChild, ContentChild, forwardRef, TemplateRef, Self } from '@angular/core';
5
5
  import * as i3$3 from '@angular/cdk/portal';
6
6
  import { ComponentPortal, CdkPortal, PortalModule } from '@angular/cdk/portal';
7
7
  import * as i1 from '@angular/cdk/overlay';
@@ -224,7 +224,7 @@ class CollapsibleComponent {
224
224
  }
225
225
  }
226
226
  CollapsibleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: CollapsibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
227
- CollapsibleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: CollapsibleComponent, selector: "lx-collapsible", inputs: { disableSectionToggle: "disableSectionToggle", hideSectionToggle: "hideSectionToggle", toggleSize: "toggleSize", toggleTitle: "toggleTitle", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.notClickable": "this.notClickable" } }, ngImport: i0, template: "<button\n *ngIf=\"!hideSectionToggle\"\n lx-button\n mode=\"link\"\n [title]=\"toggleTitle\"\n [size]=\"toggleSize\"\n class=\"sectionToggle\"\n type=\"button\"\n [attr.disabled]=\"disableSectionToggle ? true : null\"\n [square]=\"true\"\n (click)=\"onToggleSection($event)\"\n>\n <i class=\"far fa-angle-down\" [class.collapsed]=\"collapsed\"></i>\n</button>\n<div class=\"collapsible-title\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}:host{position:relative;cursor:pointer;display:flex;border-bottom:1px solid #e1e5eb;padding-bottom:2px;margin-bottom:4px}:host.notClickable{cursor:default}.sectionToggle{font-size:16px;width:32px}.sectionToggle .fa-angle-down{transition:transform .2s linear}.sectionToggle .fa-angle-down.collapsed{transform:rotate(-90deg)}.collapsible-title{align-self:center;width:100%}:host(.align-left) .sectionToggle{text-align:left;width:24px}"], 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
227
+ CollapsibleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: CollapsibleComponent, selector: "lx-collapsible", inputs: { disableSectionToggle: "disableSectionToggle", hideSectionToggle: "hideSectionToggle", toggleSize: "toggleSize", toggleTitle: "toggleTitle", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.notClickable": "this.notClickable" } }, ngImport: i0, template: "<button\n *ngIf=\"!hideSectionToggle\"\n lx-button\n mode=\"link\"\n [title]=\"toggleTitle\"\n [size]=\"toggleSize\"\n class=\"sectionToggle\"\n type=\"button\"\n [disabled]=\"disableSectionToggle\"\n [square]=\"true\"\n (click)=\"onToggleSection($event)\"\n>\n <i class=\"far fa-angle-down\" [class.collapsed]=\"collapsed\"></i>\n</button>\n<div class=\"collapsible-title\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}:host{position:relative;cursor:pointer;display:flex;border-bottom:1px solid #e1e5eb;padding-bottom:2px;margin-bottom:4px}:host.notClickable{cursor:default}.sectionToggle{font-size:16px;width:32px}.sectionToggle .fa-angle-down{transition:transform .2s linear}.sectionToggle .fa-angle-down.collapsed{transform:rotate(-90deg)}.collapsible-title{align-self:center;width:100%}:host(.align-left) .sectionToggle{text-align:left;width:24px}"], 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
228
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: CollapsibleComponent, decorators: [{
229
229
  type: Component,
230
230
  args: [{
@@ -3085,6 +3085,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
3085
3085
  args: ['itemTemplate']
3086
3086
  }] } });
3087
3087
 
3088
+ class ErrorMessageComponent {
3089
+ constructor(cd) {
3090
+ this.cd = cd;
3091
+ }
3092
+ set key(value) {
3093
+ if (value !== this._key) {
3094
+ this._key = value;
3095
+ this.cd.detectChanges();
3096
+ }
3097
+ }
3098
+ }
3099
+ ErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: ErrorMessageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3100
+ ErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", 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}"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: ErrorMessageComponent, decorators: [{
3102
+ type: Component,
3103
+ args: [{
3104
+ selector: 'lx-error-message',
3105
+ template: `<div class="error" *ngIf="_key">{{ _key | translate }}</div>`,
3106
+ styleUrls: ['./error-message.component.scss'],
3107
+ changeDetection: ChangeDetectionStrategy.OnPush
3108
+ }]
3109
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { key: [{
3110
+ type: Input
3111
+ }] } });
3112
+
3088
3113
  class FormErrorComponent {
3089
3114
  constructor() {
3090
3115
  this.translationKeys = [];
@@ -4954,6 +4979,102 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
4954
4979
  type: Output
4955
4980
  }] } });
4956
4981
 
4982
+ const FORM_CONTROL_ERROR_NAMESPACE = new InjectionToken('FORM_CONTROL_ERROR_NAMESPACE');
4983
+ const FORM_CONTROL_ERROR_DISPLAY_STRATEGY = new InjectionToken('FORM_CONTROL_ERROR_DISPLAY_STRATEGY');
4984
+ const provideFormControlErrorNamespace = (namespace) => ({
4985
+ provide: FORM_CONTROL_ERROR_NAMESPACE,
4986
+ useValue: namespace
4987
+ });
4988
+ const provideFormControlErrorDisplayStrategy = (fn) => ({
4989
+ provide: FORM_CONTROL_ERROR_DISPLAY_STRATEGY,
4990
+ useValue: fn
4991
+ });
4992
+ class FormErrorDirective {
4993
+ constructor(viewContainer, componentFactoryResolver, ngControl, namespace, strategy) {
4994
+ this.viewContainer = viewContainer;
4995
+ this.componentFactoryResolver = componentFactoryResolver;
4996
+ this.ngControl = ngControl;
4997
+ this.namespace = namespace;
4998
+ this.strategy = strategy;
4999
+ }
5000
+ get control() {
5001
+ var _a;
5002
+ return ((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) || this.ctrl;
5003
+ }
5004
+ get name() {
5005
+ var _a;
5006
+ return ((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.name) || this.controlName;
5007
+ }
5008
+ ngOnInit() {
5009
+ const control = this.control;
5010
+ if (isAbstractControl(control)) {
5011
+ this.subscritpion = control.valueChanges
5012
+ .pipe(startWith(control.value), map(() => (this.strategy ? this.strategy(control) : true)))
5013
+ .subscribe((display) => {
5014
+ const { errors } = control;
5015
+ if (errors && display) {
5016
+ const firstErrorKey = Object.keys(errors)[0];
5017
+ const translationKey = this.buildTranslationKey(firstErrorKey);
5018
+ this.setError(translationKey);
5019
+ }
5020
+ else if (this.ref) {
5021
+ this.setError();
5022
+ }
5023
+ });
5024
+ }
5025
+ }
5026
+ buildTranslationKey(errorKey) {
5027
+ if (this.control) {
5028
+ return `${this.namespace || 'form'}.errors.${this.name ? `${this.name}.` : ''}${errorKey}`;
5029
+ }
5030
+ else {
5031
+ return '';
5032
+ }
5033
+ }
5034
+ setError(key) {
5035
+ if (!this.ref) {
5036
+ const factory = this.componentFactoryResolver.resolveComponentFactory(ErrorMessageComponent);
5037
+ this.ref = this.viewContainer.createComponent(factory);
5038
+ }
5039
+ this.ref.instance.key = key;
5040
+ }
5041
+ ngOnDestroy() {
5042
+ if (this.subscritpion) {
5043
+ this.subscritpion.unsubscribe();
5044
+ }
5045
+ }
5046
+ }
5047
+ FormErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: FormErrorDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i3$1.NgControl, optional: true, self: true }, { token: FORM_CONTROL_ERROR_NAMESPACE, optional: true }, { token: FORM_CONTROL_ERROR_DISPLAY_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5048
+ FormErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.1.4", type: FormErrorDirective, selector: "[lxFormError]", inputs: { ctrl: ["lxFormError", "ctrl"], controlName: "controlName" }, ngImport: i0 });
5049
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: FormErrorDirective, decorators: [{
5050
+ type: Directive,
5051
+ args: [{
5052
+ selector: '[lxFormError]'
5053
+ }]
5054
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i3$1.NgControl, decorators: [{
5055
+ type: Optional
5056
+ }, {
5057
+ type: Self
5058
+ }] }, { type: undefined, decorators: [{
5059
+ type: Optional
5060
+ }, {
5061
+ type: Inject,
5062
+ args: [FORM_CONTROL_ERROR_NAMESPACE]
5063
+ }] }, { type: undefined, decorators: [{
5064
+ type: Optional
5065
+ }, {
5066
+ type: Inject,
5067
+ args: [FORM_CONTROL_ERROR_DISPLAY_STRATEGY]
5068
+ }] }]; }, propDecorators: { ctrl: [{
5069
+ type: Input,
5070
+ args: ['lxFormError']
5071
+ }], controlName: [{
5072
+ type: Input
5073
+ }] } });
5074
+ function isAbstractControl(ctrl) {
5075
+ return !!ctrl;
5076
+ }
5077
+
4957
5078
  class FilterSelectionPipe {
4958
5079
  transform(items, selection, itemKey) {
4959
5080
  const isArray = Array.isArray(selection);
@@ -5102,7 +5223,9 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
5102
5223
  SortingDropdownComponent,
5103
5224
  SortingDropdownTriggerComponent,
5104
5225
  InputComponent,
5105
- FormatNumberPipe], imports: [CommonModule,
5226
+ FormatNumberPipe,
5227
+ FormErrorDirective,
5228
+ ErrorMessageComponent], imports: [CommonModule,
5106
5229
  DragDropModule,
5107
5230
  FormsModule,
5108
5231
  ReactiveFormsModule, i1$2.TranslateModule, DatepickerModule,
@@ -5142,7 +5265,9 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
5142
5265
  SliderToggleComponent,
5143
5266
  SortingDropdownComponent,
5144
5267
  SortingDropdownTriggerComponent,
5145
- FormatNumberPipe] });
5268
+ FormatNumberPipe,
5269
+ FormErrorDirective,
5270
+ ErrorMessageComponent] });
5146
5271
  LxFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: LxFormsModule, imports: [[
5147
5272
  CommonModule,
5148
5273
  DragDropModule,
@@ -5193,7 +5318,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
5193
5318
  SortingDropdownComponent,
5194
5319
  SortingDropdownTriggerComponent,
5195
5320
  InputComponent,
5196
- FormatNumberPipe
5321
+ FormatNumberPipe,
5322
+ FormErrorDirective,
5323
+ ErrorMessageComponent
5197
5324
  ],
5198
5325
  imports: [
5199
5326
  CommonModule,
@@ -5241,7 +5368,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
5241
5368
  SliderToggleComponent,
5242
5369
  SortingDropdownComponent,
5243
5370
  SortingDropdownTriggerComponent,
5244
- FormatNumberPipe
5371
+ FormatNumberPipe,
5372
+ FormErrorDirective,
5373
+ ErrorMessageComponent
5245
5374
  ]
5246
5375
  }]
5247
5376
  }] });
@@ -6026,5 +6155,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
6026
6155
  * Generated bundle index. Do not edit.
6027
6156
  */
6028
6157
 
6029
- 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, FilterSelectionPipe, FilterTermPipe, FormErrorComponent, FormatNumberPipe, GLOBAL_TRANSLATION_OPTIONS, HighlightRangePipe, HighlightTermPipe, HtmlDirective, IconComponent, IconScaleComponent, KeyboardActionSourceDirective, KeyboardSelectAction, KeyboardSelectDirective, LOCALE_FN, LxCoreUiModule, LxFormsModule, LxIsUuidPipe, LxModalModule, LxPopoverUiModule, LxTabUiModule, LxTimeAgo, LxTooltipModule, LxTranslatePipe, MODAL_CLOSE, MarkInvalidDirective, MarkdownPipe, ModalComponent, 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, shorthandHexHandle };
6158
+ 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, FormatNumberPipe, GLOBAL_TRANSLATION_OPTIONS, HighlightRangePipe, HighlightTermPipe, HtmlDirective, IconComponent, IconScaleComponent, KeyboardActionSourceDirective, KeyboardSelectAction, KeyboardSelectDirective, LOCALE_FN, LxCoreUiModule, LxFormsModule, LxIsUuidPipe, LxModalModule, LxPopoverUiModule, LxTabUiModule, LxTimeAgo, LxTooltipModule, LxTranslatePipe, MODAL_CLOSE, MarkInvalidDirective, MarkdownPipe, ModalComponent, 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 };
6030
6159
  //# sourceMappingURL=leanix-components.js.map