@wizishop/angular-components 15.1.29 → 15.1.31

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.
@@ -12,11 +12,11 @@ import { Subject, merge, takeUntil as takeUntil$1, startWith, fromEvent, ReplayS
12
12
  import { takeUntil, debounceTime, distinctUntilChanged, tap, filter, map, takeWhile } from 'rxjs/operators';
13
13
  import * as i1$1 from '@angular/cdk/overlay';
14
14
  import { TAB, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, A, Z, ZERO, NINE, ENTER, hasModifierKey, ESCAPE } from '@angular/cdk/keycodes';
15
+ import * as i1$2 from '@ngx-translate/core';
16
+ import { TranslateModule } from '@ngx-translate/core';
15
17
  import { CdkTableModule } from '@angular/cdk/table';
16
18
  import { trigger, transition, style, animate, state, animation, query, stagger } from '@angular/animations';
17
19
  import { TagInputModule } from 'ngx-chips';
18
- import * as i1$2 from '@ngx-translate/core';
19
- import { TranslateModule } from '@ngx-translate/core';
20
20
  import * as i3$1 from 'ngx-autosize';
21
21
  import { AutosizeModule } from 'ngx-autosize';
22
22
  import * as i1$3 from '@angular/router';
@@ -99,57 +99,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
99
99
  args: ['keyup', ['$event']]
100
100
  }] } });
101
101
 
102
- class InputSearchComponent {
103
- constructor() {
104
- this.placeholder = '';
105
- this.withoutgrey = false;
106
- this.smallPadding = false; // todo Try to be more flexible like changing type : export type PaddingConfig = "default" | "small" | "big" | "no-padding";
107
- this.innerValue = '';
108
- this.changeDebounced = new EventEmitter(); // debounced
109
- this.onTouchedCallback = () => { };
110
- this.onChangeCallback = () => { };
111
- }
112
- get value() {
113
- return this.innerValue;
114
- }
115
- set value(v) {
116
- if (v !== this.innerValue) {
117
- this.innerValue = v;
118
- this.onChangeCallback(v);
119
- }
120
- }
121
- writeValue(value) {
122
- if (value !== this.innerValue) {
123
- this.innerValue = value;
124
- }
125
- }
126
- registerOnChange(fn) {
127
- this.onChangeCallback = fn;
128
- }
129
- registerOnTouched(fn) {
130
- this.onTouchedCallback = fn;
131
- }
132
- handleDebouncedKeyUp() {
133
- this.changeDebounced.emit(this.value);
134
- }
135
- }
136
- InputSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
137
- InputSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: InputSearchComponent, selector: "wac-input-search", inputs: { placeholder: "placeholder", withoutgrey: "withoutgrey", smallPadding: "smallPadding", id: "id" }, outputs: { changeDebounced: "changeDebounced" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }], ngImport: i0, template: "<div class=\"wac-field-input-search\" [ngClass]=\"{'small-padding' : smallPadding, 'no-grey': withoutgrey}\">\n <p class=\"control has-icons-left has-icons-right\">\n <input\n [placeholder]=\"placeholder\"\n value=\"\"\n class=\"input\"\n type=\"text\"\n [attr.id]=\"id\"\n [(ngModel)]=\"value\"\n debounceKeyUp\n [debounceTime]=\"1000\"\n (onEventChange)=\"handleDebouncedKeyUp()\"\n />\n <i class=\"icon fal fa-search\"></i>\n </p>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: DebounceKeyupDirective, selector: "input[debounceKeyUp]" }] });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputSearchComponent, decorators: [{
139
- type: Component,
140
- args: [{ selector: 'wac-input-search', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }], template: "<div class=\"wac-field-input-search\" [ngClass]=\"{'small-padding' : smallPadding, 'no-grey': withoutgrey}\">\n <p class=\"control has-icons-left has-icons-right\">\n <input\n [placeholder]=\"placeholder\"\n value=\"\"\n class=\"input\"\n type=\"text\"\n [attr.id]=\"id\"\n [(ngModel)]=\"value\"\n debounceKeyUp\n [debounceTime]=\"1000\"\n (onEventChange)=\"handleDebouncedKeyUp()\"\n />\n <i class=\"icon fal fa-search\"></i>\n </p>\n</div>\n" }]
141
- }], propDecorators: { placeholder: [{
142
- type: Input
143
- }], withoutgrey: [{
144
- type: Input
145
- }], smallPadding: [{
146
- type: Input
147
- }], id: [{
148
- type: Input
149
- }], changeDebounced: [{
150
- type: Output
151
- }] } });
152
-
153
102
  class DomService {
154
103
  constructor(componentFactoryResolver, appRef, injector, overlayContainer) {
155
104
  this.componentFactoryResolver = componentFactoryResolver;
@@ -1017,37 +966,164 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
1017
966
  }]
1018
967
  }] });
1019
968
 
1020
- const inOutY = trigger('inOutYAnimation', [
1021
- transition(':enter', [
1022
- style({ transform: 'scaleY(0)', height: 0, opacity: 0 }),
1023
- animate('.3s ease-out', style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }))
1024
- ]),
1025
- transition(':leave', [
1026
- style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }),
1027
- animate('.3s ease-in', style({ transform: 'scaleY(0)', height: 0, opacity: 0 }))
1028
- ])
1029
- ]);
969
+ class TooltipComponent {
970
+ constructor() {
971
+ this.tooltipText = '';
972
+ this.tooltipLink = '';
973
+ this.tooltipUrl = '#';
974
+ }
975
+ ngOnInit() {
976
+ if (this.tooltipIcon === '') {
977
+ this.tooltipIcon = 'fas fa-info-circle';
978
+ }
979
+ }
980
+ }
981
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
982
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TooltipComponent, selector: "wac-tooltip", inputs: { tooltipIcon: "tooltipIcon", tooltipText: "tooltipText", tooltipLink: "tooltipLink", tooltipUrl: "tooltipUrl" }, ngImport: i0, template: "<span class=\"wac-tooltip\">\n <i [class]=\"tooltipIcon\"></i>\n <span class=\"tooltip-content\"\n >{{ tooltipText }}\n <span *ngIf=\"tooltipUrl\"\n ><a [href]=\"tooltipUrl\" target=\"_blank\">{{ tooltipLink }}</a></span\n >\n </span>\n</span>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
983
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipComponent, decorators: [{
984
+ type: Component,
985
+ args: [{ selector: 'wac-tooltip', template: "<span class=\"wac-tooltip\">\n <i [class]=\"tooltipIcon\"></i>\n <span class=\"tooltip-content\"\n >{{ tooltipText }}\n <span *ngIf=\"tooltipUrl\"\n ><a [href]=\"tooltipUrl\" target=\"_blank\">{{ tooltipLink }}</a></span\n >\n </span>\n</span>\n" }]
986
+ }], ctorParameters: function () { return []; }, propDecorators: { tooltipIcon: [{
987
+ type: Input
988
+ }], tooltipText: [{
989
+ type: Input
990
+ }], tooltipLink: [{
991
+ type: Input
992
+ }], tooltipUrl: [{
993
+ type: Input
994
+ }] } });
1030
995
 
1031
- class CheckboxComponent {
1032
- set value(value) {
1033
- this._value = value;
1034
- this._onChange(value);
1035
- this._onTouched();
996
+ class TooltipModule {
997
+ }
998
+ TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
999
+ TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: TooltipModule, declarations: [TooltipComponent], imports: [CommonModule,
1000
+ FormsModule], exports: [TooltipComponent] });
1001
+ TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipModule, imports: [CommonModule,
1002
+ FormsModule] });
1003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipModule, decorators: [{
1004
+ type: NgModule,
1005
+ args: [{
1006
+ imports: [
1007
+ CommonModule,
1008
+ FormsModule
1009
+ ],
1010
+ exports: [TooltipComponent],
1011
+ declarations: [TooltipComponent],
1012
+ providers: [],
1013
+ }]
1014
+ }] });
1015
+
1016
+ class ProgressBarComponent {
1017
+ constructor(translateService) {
1018
+ this.translateService = translateService;
1019
+ this.valueLength = null;
1020
+ this.min = null;
1021
+ this.max = null;
1036
1022
  }
1037
- get value() {
1038
- return this._value;
1023
+ progressBarClass(spanNumber = -1) {
1024
+ const length = this.valueLength;
1025
+ const min = this.min;
1026
+ const max = this.max;
1027
+ if (spanNumber === 1) {
1028
+ return {
1029
+ 'is-danger': length > max,
1030
+ 'is-success': length >= min && length <= max
1031
+ };
1032
+ }
1033
+ else if (spanNumber === 2) {
1034
+ return {
1035
+ 'is-success': length === max,
1036
+ 'is-danger': length > max
1037
+ };
1038
+ }
1039
+ else {
1040
+ return {
1041
+ 'is-warning': length < min,
1042
+ 'is-danger': length > max,
1043
+ 'is-success': length >= min && length <= max
1044
+ };
1045
+ }
1046
+ }
1047
+ progressBarSpanPosition(index) {
1048
+ const min = this.min;
1049
+ const max = this.max;
1050
+ const maxSize = this.progressBarGetMaxSize(max);
1051
+ const successMin = (min / maxSize) * 100;
1052
+ const successMax = (max / maxSize) * 100;
1053
+ return index === 1 ? successMin : successMax;
1054
+ }
1055
+ progressBarGetMaxSize(max) {
1056
+ return max + max / 4;
1057
+ }
1058
+ progressBarGetTextInfo() {
1059
+ const length = this.valueLength;
1060
+ const min = this.min;
1061
+ const max = this.max;
1062
+ if (length < min) {
1063
+ return this.translateService.instant('wac.input.progressbar.information.too.short');
1064
+ }
1065
+ else if (length > max) {
1066
+ return this.translateService.instant('wac.input.progressbar.information.too.long');
1067
+ }
1068
+ else {
1069
+ return this.translateService.instant('wac.input.progressbar.information.good');
1070
+ }
1039
1071
  }
1072
+ }
1073
+ ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProgressBarComponent, deps: [{ token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
1074
+ ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ProgressBarComponent, isStandalone: true, selector: "wac-progress-bar", inputs: { valueLength: "valueLength", min: "min", max: "max" }, ngImport: i0, template: "<div class=\"wac-progressBarContent\">\n <div class=\"progressBar\">\n <progress class=\"progress\" [ngClass]=\"progressBarClass()\" [max]=\"progressBarGetMaxSize(max)\" [value]=\"valueLength\"></progress>\n <span [ngClass]=\"progressBarClass(1)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(1) }\"></span>\n <span [ngClass]=\"progressBarClass(2)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(2) }\"></span>\n </div>\n <div class=\"size\">\n <span class=\"is-size-7 wac-input__size\">\n <span *ngIf=\"valueLength\">\n <span [ngClass]=\"progressBarClass()\">{{ progressBarGetTextInfo() }}</span> -\n </span>\n <strong>{{ valueLength }}</strong> / {{ max }}\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
1075
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProgressBarComponent, decorators: [{
1076
+ type: Component,
1077
+ args: [{ selector: 'wac-progress-bar', standalone: true, imports: [CommonModule], template: "<div class=\"wac-progressBarContent\">\n <div class=\"progressBar\">\n <progress class=\"progress\" [ngClass]=\"progressBarClass()\" [max]=\"progressBarGetMaxSize(max)\" [value]=\"valueLength\"></progress>\n <span [ngClass]=\"progressBarClass(1)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(1) }\"></span>\n <span [ngClass]=\"progressBarClass(2)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(2) }\"></span>\n </div>\n <div class=\"size\">\n <span class=\"is-size-7 wac-input__size\">\n <span *ngIf=\"valueLength\">\n <span [ngClass]=\"progressBarClass()\">{{ progressBarGetTextInfo() }}</span> -\n </span>\n <strong>{{ valueLength }}</strong> / {{ max }}\n </span>\n </div>\n</div>\n" }]
1078
+ }], ctorParameters: function () { return [{ type: i1$2.TranslateService }]; }, propDecorators: { valueLength: [{
1079
+ type: Input
1080
+ }], min: [{
1081
+ type: Input
1082
+ }], max: [{
1083
+ type: Input
1084
+ }] } });
1085
+
1086
+ class InputComponent {
1040
1087
  constructor() {
1041
1088
  this.label = '';
1042
- this.type = 'checkbox';
1043
- this.alone = false;
1044
- this.checked = false;
1045
- this.hasInput = false; // todo remove from it ! That is not a part of a checkbox
1046
- this.inputPlaceholder = ''; // todo remove from it ! That is not a part of a checkbox
1047
- this.id = ''; // todo maybe create a static property for unique id
1048
- this.whiteSpace = true;
1089
+ this.value = '';
1090
+ this.type = 'text';
1091
+ this.placeholder = ''; // todo could be handle with ng-content
1092
+ this.textInfo = null; // todo should be handle with ng-content
1093
+ this.textError = null; // todo should be handle with ng-content
1094
+ this.size = null;
1095
+ this.isNumber = null;
1096
+ this.withoutBlock = false;
1097
+ this.icon = '';
1098
+ this.big = false;
1099
+ this.medium = false;
1100
+ this.boldLabel = 'false'; // todo refacto to boolean
1101
+ this.min = null;
1102
+ this.max = null;
1103
+ this.disableMargin = false;
1104
+ this.textPrepend = null; // todo should be handle with ng-content
1105
+ this.textAppend = null; // todo should be handle with ng-content
1106
+ this.progressBar = false;
1107
+ this.extraClasses = '';
1108
+ this.keyPreventDefault = [];
1109
+ this.showTooltip = false;
1110
+ this.textTooltip = '';
1111
+ this.iconTooltip = '';
1112
+ this.urlTooltip = '';
1113
+ this.linkTooltip = '';
1114
+ this.padding = false;
1049
1115
  this.disabled = false;
1050
- this.valueChange = new EventEmitter();
1116
+ this.indication = ''; // todo should be handle with ng-content
1117
+ this.success = false;
1118
+ this.error = false;
1119
+ this.indicationLeft = false;
1120
+ this.keypressEnter = new EventEmitter();
1121
+ this.blurred = new EventEmitter();
1122
+ this.KEYPRESS_ENTER = "Enter";
1123
+ this.id = 'wz-input_' +
1124
+ Math.random()
1125
+ .toString(36)
1126
+ .substr(2, 9);
1051
1127
  this._onChange = (value) => { };
1052
1128
  this._onTouched = () => { };
1053
1129
  }
@@ -1060,26 +1136,246 @@ class CheckboxComponent {
1060
1136
  setDisabledState(isDisabled) {
1061
1137
  this.disabled = isDisabled;
1062
1138
  }
1063
- writeValue(isChecked) {
1064
- this._value = isChecked;
1139
+ writeValue(obj) {
1140
+ this.value = obj;
1065
1141
  }
1066
1142
  onChange(value) {
1067
- this._onChange(value);
1143
+ if (this._onChange) {
1144
+ this._onChange(value);
1145
+ }
1068
1146
  }
1069
- inputClick($event) {
1070
- $event.stopPropagation();
1147
+ onBlur() {
1148
+ if (this._onTouched) {
1149
+ this._onTouched();
1150
+ }
1151
+ this.blurred.next();
1071
1152
  }
1072
- }
1073
- CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1074
- CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CheckboxComponent, selector: "wac-checkbox", inputs: { label: "label", value: "value", type: "type", alone: "alone", checked: "checked", hasInput: "hasInput", inputPlaceholder: "inputPlaceholder", id: "id", name: "name", whiteSpace: "whiteSpace", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }], ngImport: i0, template: "<div class=\"wac-field-checkbox\" [ngClass]=\"{ 'disable-wt' : !whiteSpace, alone: alone }\">\n <div class=\"wac-field-checkbox__row\">\n <!-- TODO handle radio styles -->\n <input\n [type]=\"type\"\n [id]=\"id\"\n [class]=\"'is-checkradio' + (value ? ' checked' : '')\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n (change)=\"value = !value\"\n />\n <label [attr.for]=\"id\"><span [innerHTML]=\"label\"></span></label>\n </div>\n <input\n *ngIf=\"hasInput && checked\"\n [@inOutYAnimation]\n type=\"text\"\n [placeholder]=\"inputPlaceholder\"\n (click)=\"inputClick($event)\"\n />\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [inOutY], encapsulation: i0.ViewEncapsulation.None });
1075
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CheckboxComponent, decorators: [{
1076
- type: Component,
1077
- args: [{ selector: 'wac-checkbox', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }], animations: [inOutY], encapsulation: ViewEncapsulation.None, template: "<div class=\"wac-field-checkbox\" [ngClass]=\"{ 'disable-wt' : !whiteSpace, alone: alone }\">\n <div class=\"wac-field-checkbox__row\">\n <!-- TODO handle radio styles -->\n <input\n [type]=\"type\"\n [id]=\"id\"\n [class]=\"'is-checkradio' + (value ? ' checked' : '')\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n (change)=\"value = !value\"\n />\n <label [attr.for]=\"id\"><span [innerHTML]=\"label\"></span></label>\n </div>\n <input\n *ngIf=\"hasInput && checked\"\n [@inOutYAnimation]\n type=\"text\"\n [placeholder]=\"inputPlaceholder\"\n (click)=\"inputClick($event)\"\n />\n</div>\n" }]
1078
- }], ctorParameters: function () { return []; }, propDecorators: { label: [{
1079
- type: Input
1080
- }], value: [{
1081
- type: Input
1082
- }], type: [{
1153
+ checkNumberValue(value) {
1154
+ if (this.min && this.min > value) {
1155
+ this.value = this.min;
1156
+ }
1157
+ if (this.max && this.max < value) {
1158
+ this.value = this.max;
1159
+ }
1160
+ }
1161
+ onFocusOut() {
1162
+ if (this.type === 'number') {
1163
+ this.checkNumberValue(this.value);
1164
+ }
1165
+ }
1166
+ keyPress(event) {
1167
+ if (this.keyPreventDefault.includes(event.key)) {
1168
+ event.preventDefault();
1169
+ }
1170
+ if (event.key === this.KEYPRESS_ENTER) {
1171
+ this.keypressEnter.next(true);
1172
+ }
1173
+ }
1174
+ }
1175
+ InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1176
+ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: InputComponent, isStandalone: true, selector: "wac-input", inputs: { label: "label", value: "value", type: "type", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", size: "size", isNumber: "isNumber", withoutBlock: "withoutBlock", icon: "icon", big: "big", medium: "medium", boldLabel: "boldLabel", min: "min", max: "max", disableMargin: "disableMargin", textPrepend: "textPrepend", textAppend: "textAppend", progressBar: "progressBar", extraClasses: "extraClasses", keyPreventDefault: "keyPreventDefault", showTooltip: "showTooltip", textTooltip: "textTooltip", iconTooltip: "iconTooltip", urlTooltip: "urlTooltip", linkTooltip: "linkTooltip", padding: "padding", disabled: "disabled", indication: "indication", success: "success", error: "error", maxlength: "maxlength", minlength: "minlength", indicationLeft: "indicationLeft" }, outputs: { keypressEnter: "keypressEnter", blurred: "blurred" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], ngImport: i0, template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedDirectives }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: TooltipComponent, selector: "wac-tooltip", inputs: ["tooltipIcon", "tooltipText", "tooltipLink", "tooltipUrl"] }, { kind: "component", type: ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }] });
1177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputComponent, decorators: [{
1178
+ type: Component,
1179
+ args: [{ selector: 'wac-input', standalone: true, imports: [
1180
+ CommonModule,
1181
+ FormsModule,
1182
+ SharedDirectives,
1183
+ TooltipModule,
1184
+ ProgressBarComponent
1185
+ ], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n" }]
1186
+ }], propDecorators: { label: [{
1187
+ type: Input
1188
+ }], value: [{
1189
+ type: Input
1190
+ }], type: [{
1191
+ type: Input
1192
+ }], placeholder: [{
1193
+ type: Input
1194
+ }], textInfo: [{
1195
+ type: Input
1196
+ }], textError: [{
1197
+ type: Input
1198
+ }], size: [{
1199
+ type: Input
1200
+ }], isNumber: [{
1201
+ type: Input
1202
+ }], withoutBlock: [{
1203
+ type: Input
1204
+ }], icon: [{
1205
+ type: Input
1206
+ }], big: [{
1207
+ type: Input
1208
+ }], medium: [{
1209
+ type: Input
1210
+ }], boldLabel: [{
1211
+ type: Input
1212
+ }], min: [{
1213
+ type: Input
1214
+ }], max: [{
1215
+ type: Input
1216
+ }], disableMargin: [{
1217
+ type: Input
1218
+ }], textPrepend: [{
1219
+ type: Input
1220
+ }], textAppend: [{
1221
+ type: Input
1222
+ }], progressBar: [{
1223
+ type: Input
1224
+ }], extraClasses: [{
1225
+ type: Input
1226
+ }], keyPreventDefault: [{
1227
+ type: Input
1228
+ }], showTooltip: [{
1229
+ type: Input
1230
+ }], textTooltip: [{
1231
+ type: Input
1232
+ }], iconTooltip: [{
1233
+ type: Input
1234
+ }], urlTooltip: [{
1235
+ type: Input
1236
+ }], linkTooltip: [{
1237
+ type: Input
1238
+ }], padding: [{
1239
+ type: Input
1240
+ }], disabled: [{
1241
+ type: Input
1242
+ }], indication: [{
1243
+ type: Input
1244
+ }], success: [{
1245
+ type: Input
1246
+ }], error: [{
1247
+ type: Input
1248
+ }], maxlength: [{
1249
+ type: Input
1250
+ }], minlength: [{
1251
+ type: Input
1252
+ }], indicationLeft: [{
1253
+ type: Input
1254
+ }], keypressEnter: [{
1255
+ type: Output
1256
+ }], blurred: [{
1257
+ type: Output
1258
+ }] } });
1259
+
1260
+ class InputSearchComponent {
1261
+ constructor() {
1262
+ this.placeholder = '';
1263
+ this.withoutgrey = false;
1264
+ this.smallPadding = false; // todo Try to be more flexible like changing type : export type PaddingConfig = "default" | "small" | "big" | "no-padding";
1265
+ this.innerValue = '';
1266
+ this.changeDebounced = new EventEmitter(); // debounced
1267
+ this.onTouchedCallback = () => { };
1268
+ this.onChangeCallback = () => { };
1269
+ }
1270
+ get value() {
1271
+ return this.innerValue;
1272
+ }
1273
+ set value(v) {
1274
+ if (v !== this.innerValue) {
1275
+ this.innerValue = v;
1276
+ this.onChangeCallback(v);
1277
+ }
1278
+ }
1279
+ writeValue(value) {
1280
+ if (value !== this.innerValue) {
1281
+ this.innerValue = value;
1282
+ }
1283
+ }
1284
+ registerOnChange(fn) {
1285
+ this.onChangeCallback = fn;
1286
+ }
1287
+ registerOnTouched(fn) {
1288
+ this.onTouchedCallback = fn;
1289
+ }
1290
+ handleDebouncedKeyUp() {
1291
+ this.changeDebounced.emit(this.value);
1292
+ }
1293
+ }
1294
+ InputSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1295
+ InputSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: InputSearchComponent, isStandalone: true, selector: "wac-input-search", inputs: { placeholder: "placeholder", withoutgrey: "withoutgrey", smallPadding: "smallPadding", id: "id" }, outputs: { changeDebounced: "changeDebounced" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }], ngImport: i0, template: "<div class=\"wac-field-input-search\" [ngClass]=\"{'small-padding' : smallPadding, 'no-grey': withoutgrey}\">\n <p class=\"control has-icons-left has-icons-right\">\n <input\n [placeholder]=\"placeholder\"\n value=\"\"\n class=\"input\"\n type=\"text\"\n [attr.id]=\"id\"\n [(ngModel)]=\"value\"\n debounceKeyUp\n [debounceTime]=\"1000\"\n (onEventChange)=\"handleDebouncedKeyUp()\"\n />\n <i class=\"icon fal fa-search\"></i>\n </p>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedDirectives }, { kind: "directive", type: DebounceKeyupDirective, selector: "input[debounceKeyUp]" }] });
1296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputSearchComponent, decorators: [{
1297
+ type: Component,
1298
+ args: [{ selector: 'wac-input-search', standalone: true, imports: [
1299
+ CommonModule,
1300
+ FormsModule,
1301
+ InputComponent,
1302
+ SharedDirectives
1303
+ ], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }], template: "<div class=\"wac-field-input-search\" [ngClass]=\"{'small-padding' : smallPadding, 'no-grey': withoutgrey}\">\n <p class=\"control has-icons-left has-icons-right\">\n <input\n [placeholder]=\"placeholder\"\n value=\"\"\n class=\"input\"\n type=\"text\"\n [attr.id]=\"id\"\n [(ngModel)]=\"value\"\n debounceKeyUp\n [debounceTime]=\"1000\"\n (onEventChange)=\"handleDebouncedKeyUp()\"\n />\n <i class=\"icon fal fa-search\"></i>\n </p>\n</div>\n" }]
1304
+ }], propDecorators: { placeholder: [{
1305
+ type: Input
1306
+ }], withoutgrey: [{
1307
+ type: Input
1308
+ }], smallPadding: [{
1309
+ type: Input
1310
+ }], id: [{
1311
+ type: Input
1312
+ }], changeDebounced: [{
1313
+ type: Output
1314
+ }] } });
1315
+
1316
+ const inOutY = trigger('inOutYAnimation', [
1317
+ transition(':enter', [
1318
+ style({ transform: 'scaleY(0)', height: 0, opacity: 0 }),
1319
+ animate('.3s ease-out', style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }))
1320
+ ]),
1321
+ transition(':leave', [
1322
+ style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }),
1323
+ animate('.3s ease-in', style({ transform: 'scaleY(0)', height: 0, opacity: 0 }))
1324
+ ])
1325
+ ]);
1326
+
1327
+ class CheckboxComponent {
1328
+ set value(value) {
1329
+ this._value = value;
1330
+ this._onChange(value);
1331
+ this._onTouched();
1332
+ }
1333
+ get value() {
1334
+ return this._value;
1335
+ }
1336
+ constructor() {
1337
+ this.label = '';
1338
+ this.type = 'checkbox';
1339
+ this.alone = false;
1340
+ this.checked = false;
1341
+ this.hasInput = false; // todo remove from it ! That is not a part of a checkbox
1342
+ this.inputPlaceholder = ''; // todo remove from it ! That is not a part of a checkbox
1343
+ this.id = ''; // todo maybe create a static property for unique id
1344
+ this.whiteSpace = true;
1345
+ this.disabled = false;
1346
+ this.valueChange = new EventEmitter();
1347
+ this._onChange = (value) => { };
1348
+ this._onTouched = () => { };
1349
+ }
1350
+ registerOnChange(fn) {
1351
+ this._onChange = fn;
1352
+ }
1353
+ registerOnTouched(fn) {
1354
+ this._onTouched = fn;
1355
+ }
1356
+ setDisabledState(isDisabled) {
1357
+ this.disabled = isDisabled;
1358
+ }
1359
+ writeValue(isChecked) {
1360
+ this._value = isChecked;
1361
+ }
1362
+ onChange(value) {
1363
+ this._onChange(value);
1364
+ }
1365
+ inputClick($event) {
1366
+ $event.stopPropagation();
1367
+ }
1368
+ }
1369
+ CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1370
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CheckboxComponent, selector: "wac-checkbox", inputs: { label: "label", value: "value", type: "type", alone: "alone", checked: "checked", hasInput: "hasInput", inputPlaceholder: "inputPlaceholder", id: "id", name: "name", whiteSpace: "whiteSpace", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }], ngImport: i0, template: "<div class=\"wac-field-checkbox\" [ngClass]=\"{ 'disable-wt' : !whiteSpace, alone: alone }\">\n <div class=\"wac-field-checkbox__row\">\n <!-- TODO handle radio styles -->\n <input\n [type]=\"type\"\n [id]=\"id\"\n [class]=\"'is-checkradio' + (value ? ' checked' : '')\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n (change)=\"value = !value\"\n />\n <label [attr.for]=\"id\"><span [innerHTML]=\"label\"></span></label>\n </div>\n <input\n *ngIf=\"hasInput && checked\"\n [@inOutYAnimation]\n type=\"text\"\n [placeholder]=\"inputPlaceholder\"\n (click)=\"inputClick($event)\"\n />\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [inOutY], encapsulation: i0.ViewEncapsulation.None });
1371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CheckboxComponent, decorators: [{
1372
+ type: Component,
1373
+ args: [{ selector: 'wac-checkbox', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }], animations: [inOutY], encapsulation: ViewEncapsulation.None, template: "<div class=\"wac-field-checkbox\" [ngClass]=\"{ 'disable-wt' : !whiteSpace, alone: alone }\">\n <div class=\"wac-field-checkbox__row\">\n <!-- TODO handle radio styles -->\n <input\n [type]=\"type\"\n [id]=\"id\"\n [class]=\"'is-checkradio' + (value ? ' checked' : '')\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n (change)=\"value = !value\"\n />\n <label [attr.for]=\"id\"><span [innerHTML]=\"label\"></span></label>\n </div>\n <input\n *ngIf=\"hasInput && checked\"\n [@inOutYAnimation]\n type=\"text\"\n [placeholder]=\"inputPlaceholder\"\n (click)=\"inputClick($event)\"\n />\n</div>\n" }]
1374
+ }], ctorParameters: function () { return []; }, propDecorators: { label: [{
1375
+ type: Input
1376
+ }], value: [{
1377
+ type: Input
1378
+ }], type: [{
1083
1379
  type: Input
1084
1380
  }], alone: [{
1085
1381
  type: Input
@@ -2538,365 +2834,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
2538
2834
  args: ['input']
2539
2835
  }] } });
2540
2836
 
2541
- class ProgressBarComponent {
2542
- constructor(translateService) {
2543
- this.translateService = translateService;
2544
- this.valueLength = null;
2837
+ class TextAreaComponent {
2838
+ constructor() {
2839
+ // todo simplify and improve progress bar
2840
+ this.label = '';
2841
+ this.value = '';
2842
+ this.placeholder = '';
2843
+ this.textInfo = '';
2844
+ this.textError = '';
2845
+ this.size = null;
2545
2846
  this.min = null;
2546
2847
  this.max = null;
2547
- }
2548
- progressBarClass(spanNumber = -1) {
2549
- const length = this.valueLength;
2550
- const min = this.min;
2551
- const max = this.max;
2552
- if (spanNumber === 1) {
2553
- return {
2554
- 'is-danger': length > max,
2555
- 'is-success': length >= min && length <= max
2556
- };
2557
- }
2558
- else if (spanNumber === 2) {
2559
- return {
2560
- 'is-success': length === max,
2561
- 'is-danger': length > max
2562
- };
2563
- }
2564
- else {
2565
- return {
2566
- 'is-warning': length < min,
2567
- 'is-danger': length > max,
2568
- 'is-success': length >= min && length <= max
2569
- };
2570
- }
2571
- }
2572
- progressBarSpanPosition(index) {
2573
- const min = this.min;
2574
- const max = this.max;
2575
- const maxSize = this.progressBarGetMaxSize(max);
2576
- const successMin = (min / maxSize) * 100;
2577
- const successMax = (max / maxSize) * 100;
2578
- return index === 1 ? successMin : successMax;
2579
- }
2580
- progressBarGetMaxSize(max) {
2581
- return max + max / 4;
2582
- }
2583
- progressBarGetTextInfo() {
2584
- const length = this.valueLength;
2585
- const min = this.min;
2586
- const max = this.max;
2587
- if (length < min) {
2588
- return this.translateService.instant('wac.input.progressbar.information.too.short');
2589
- }
2590
- else if (length > max) {
2591
- return this.translateService.instant('wac.input.progressbar.information.too.long');
2592
- }
2593
- else {
2594
- return this.translateService.instant('wac.input.progressbar.information.good');
2595
- }
2596
- }
2597
- }
2598
- ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProgressBarComponent, deps: [{ token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
2599
- ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ProgressBarComponent, isStandalone: true, selector: "wac-progress-bar", inputs: { valueLength: "valueLength", min: "min", max: "max" }, ngImport: i0, template: "<div class=\"wac-progressBarContent\">\n <div class=\"progressBar\">\n <progress class=\"progress\" [ngClass]=\"progressBarClass()\" [max]=\"progressBarGetMaxSize(max)\" [value]=\"valueLength\"></progress>\n <span [ngClass]=\"progressBarClass(1)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(1) }\"></span>\n <span [ngClass]=\"progressBarClass(2)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(2) }\"></span>\n </div>\n <div class=\"size\">\n <span class=\"is-size-7 wac-input__size\">\n <span *ngIf=\"valueLength\">\n <span [ngClass]=\"progressBarClass()\">{{ progressBarGetTextInfo() }}</span> -\n </span>\n <strong>{{ valueLength }}</strong> / {{ max }}\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
2600
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProgressBarComponent, decorators: [{
2601
- type: Component,
2602
- args: [{ selector: 'wac-progress-bar', standalone: true, imports: [CommonModule], template: "<div class=\"wac-progressBarContent\">\n <div class=\"progressBar\">\n <progress class=\"progress\" [ngClass]=\"progressBarClass()\" [max]=\"progressBarGetMaxSize(max)\" [value]=\"valueLength\"></progress>\n <span [ngClass]=\"progressBarClass(1)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(1) }\"></span>\n <span [ngClass]=\"progressBarClass(2)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(2) }\"></span>\n </div>\n <div class=\"size\">\n <span class=\"is-size-7 wac-input__size\">\n <span *ngIf=\"valueLength\">\n <span [ngClass]=\"progressBarClass()\">{{ progressBarGetTextInfo() }}</span> -\n </span>\n <strong>{{ valueLength }}</strong> / {{ max }}\n </span>\n </div>\n</div>\n" }]
2603
- }], ctorParameters: function () { return [{ type: i1$2.TranslateService }]; }, propDecorators: { valueLength: [{
2604
- type: Input
2605
- }], min: [{
2606
- type: Input
2607
- }], max: [{
2608
- type: Input
2609
- }] } });
2610
-
2611
- class TextAreaComponent {
2612
- constructor() {
2613
- // todo simplify and improve progress bar
2614
- this.label = '';
2615
- this.value = '';
2616
- this.placeholder = '';
2617
- this.textInfo = '';
2618
- this.textError = '';
2619
- this.size = null;
2620
- this.min = null;
2621
- this.max = null;
2622
- this.dynamicSize = false;
2623
- this.progressBar = false;
2624
- this.disabled = false;
2625
- this.disableResize = false;
2626
- this.id = 'wac-textarea__' +
2627
- Math.random()
2628
- .toString(36)
2629
- .substr(2, 9);
2630
- }
2631
- registerOnChange(fn) {
2632
- this._onChange = fn;
2633
- }
2634
- registerOnTouched(fn) {
2635
- this._onTouched = fn;
2636
- }
2637
- setDisabledState(isDisabled) {
2638
- this.disabled = isDisabled;
2639
- }
2640
- writeValue(obj) {
2641
- this.value = obj;
2642
- }
2643
- onChange(value) {
2644
- if (this._onChange) {
2645
- this._onChange(value);
2646
- this.writeValue(value);
2647
- }
2648
- }
2649
- onBlur() {
2650
- if (this._onTouched) {
2651
- this._onTouched();
2652
- }
2653
- }
2654
- }
2655
- TextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2656
- TextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TextAreaComponent, isStandalone: true, selector: "wac-text-area", inputs: { label: "label", value: "value", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", error: "error", success: "success", size: "size", min: "min", max: "max", dynamicSize: "dynamicSize", progressBar: "progressBar", disabled: "disabled", maxlength: "maxlength", minlength: "minlength", disableResize: "disableResize" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }], ngImport: i0, template: "<div class=\"field wac-text-area\" [ngClass]=\"{'dynamic': dynamicSize}\">\n <div class=\"field-label is-normal has-text-left\">\n <label class=\"label has-text-weight-normal\" [innerHTML]=\"label\" [for]=\"id\"></label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p class=\"control\" [ngClass]=\"{ 'has-icons-right': (textError || error || success) && !disabled }\">\n <textarea\n [class]=\"'textarea' + (disableResize ? ' no-resize' : '')\"\n [id]=\"id\"\n [ngClass]=\"{ 'is-danger': (textError || error) && !disabled, 'is-empty': value === '', 'is-success': success && !disabled, 'has-help-text': textInfo !== '' || size }\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n [autosize]=\"dynamicSize\"\n [onlyGrow]=\"true\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n ></textarea>\n <!-- Icon error -->\n <span *ngIf=\"(textError || error) && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n <span\n *ngIf=\"textInfo && (textError === null || textError === '')\"\n class=\"is-size-7 wac-text-area__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n <span *ngIf=\"textError\" class=\"is-size-7 wac-text-area__error has-text-danger\" [innerHtml]=\"textError\"></span>\n <span\n *ngIf=\"size && !progressBar\"\n class=\"is-size-7 wac-text-area__size\"\n [ngClass]=\"value && value.length > size ? 'has-text-danger' : ''\"\n ><strong>{{ value ? value.length : 0 }}</strong> / {{ size }}</span\n >\n </p>\n <wac-progress-bar *ngIf=\"progressBar && value\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }, { kind: "ngmodule", type: AutosizeModule }, { kind: "directive", type: i3$1.AutosizeDirective, selector: "[autosize]", inputs: ["minRows", "autosize", "maxRows", "onlyGrow", "useImportant"], outputs: ["resized"] }] });
2657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TextAreaComponent, decorators: [{
2658
- type: Component,
2659
- args: [{ selector: 'wac-text-area', standalone: true, imports: [
2660
- CommonModule,
2661
- FormsModule,
2662
- ProgressBarComponent,
2663
- AutosizeModule
2664
- ], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }], template: "<div class=\"field wac-text-area\" [ngClass]=\"{'dynamic': dynamicSize}\">\n <div class=\"field-label is-normal has-text-left\">\n <label class=\"label has-text-weight-normal\" [innerHTML]=\"label\" [for]=\"id\"></label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p class=\"control\" [ngClass]=\"{ 'has-icons-right': (textError || error || success) && !disabled }\">\n <textarea\n [class]=\"'textarea' + (disableResize ? ' no-resize' : '')\"\n [id]=\"id\"\n [ngClass]=\"{ 'is-danger': (textError || error) && !disabled, 'is-empty': value === '', 'is-success': success && !disabled, 'has-help-text': textInfo !== '' || size }\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n [autosize]=\"dynamicSize\"\n [onlyGrow]=\"true\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n ></textarea>\n <!-- Icon error -->\n <span *ngIf=\"(textError || error) && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n <span\n *ngIf=\"textInfo && (textError === null || textError === '')\"\n class=\"is-size-7 wac-text-area__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n <span *ngIf=\"textError\" class=\"is-size-7 wac-text-area__error has-text-danger\" [innerHtml]=\"textError\"></span>\n <span\n *ngIf=\"size && !progressBar\"\n class=\"is-size-7 wac-text-area__size\"\n [ngClass]=\"value && value.length > size ? 'has-text-danger' : ''\"\n ><strong>{{ value ? value.length : 0 }}</strong> / {{ size }}</span\n >\n </p>\n <wac-progress-bar *ngIf=\"progressBar && value\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n" }]
2665
- }], propDecorators: { label: [{
2666
- type: Input
2667
- }], value: [{
2668
- type: Input
2669
- }], placeholder: [{
2670
- type: Input
2671
- }], textInfo: [{
2672
- type: Input
2673
- }], textError: [{
2674
- type: Input
2675
- }], error: [{
2676
- type: Input
2677
- }], success: [{
2678
- type: Input
2679
- }], size: [{
2680
- type: Input
2681
- }], min: [{
2682
- type: Input
2683
- }], max: [{
2684
- type: Input
2685
- }], dynamicSize: [{
2686
- type: Input
2687
- }], progressBar: [{
2688
- type: Input
2689
- }], disabled: [{
2690
- type: Input
2691
- }], maxlength: [{
2692
- type: Input
2693
- }], minlength: [{
2694
- type: Input
2695
- }], disableResize: [{
2696
- type: Input
2697
- }] } });
2698
-
2699
- class H1Component {
2700
- constructor() {
2701
- this.annotation = '';
2702
- this.withImg = false;
2703
- this.center = false;
2704
- this.color = null;
2705
- }
2706
- }
2707
- H1Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H1Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
2708
- H1Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: H1Component, selector: "wac-h1", inputs: { annotation: "annotation", withImg: "withImg", center: "center", color: "color" }, ngImport: i0, template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\" [style.color]=\"color?color:''\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H1Component, decorators: [{
2710
- type: Component,
2711
- args: [{ selector: 'wac-h1', template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\" [style.color]=\"color?color:''\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n" }]
2712
- }], ctorParameters: function () { return []; }, propDecorators: { annotation: [{
2713
- type: Input
2714
- }], withImg: [{
2715
- type: Input
2716
- }], center: [{
2717
- type: Input
2718
- }], color: [{
2719
- type: Input
2720
- }] } });
2721
-
2722
- class H2Component {
2723
- constructor() { }
2724
- ngOnInit() { }
2725
- }
2726
- H2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
2727
- H2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: H2Component, selector: "wac-h2", ngImport: i0, template: "<h2 class=\"wac-h2\"><ng-content></ng-content></h2>\n" });
2728
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H2Component, decorators: [{
2729
- type: Component,
2730
- args: [{ selector: 'wac-h2', template: "<h2 class=\"wac-h2\"><ng-content></ng-content></h2>\n" }]
2731
- }], ctorParameters: function () { return []; } });
2732
-
2733
- class H3Component {
2734
- constructor() {
2735
- this.grey = false;
2736
- }
2737
- ngOnInit() { }
2738
- }
2739
- H3Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H3Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
2740
- H3Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: H3Component, selector: "wac-h3", inputs: { grey: "grey" }, ngImport: i0, template: "<h3 class=\"wac-h3\" [ngClass]=\"{ grey: grey }\"><ng-content></ng-content></h3>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2741
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H3Component, decorators: [{
2742
- type: Component,
2743
- args: [{ selector: 'wac-h3', template: "<h3 class=\"wac-h3\" [ngClass]=\"{ grey: grey }\"><ng-content></ng-content></h3>\n" }]
2744
- }], ctorParameters: function () { return []; }, propDecorators: { grey: [{
2745
- type: Input
2746
- }] } });
2747
-
2748
- class HistoryService {
2749
- constructor(router) {
2750
- this.router = router;
2751
- this.history = [];
2752
- }
2753
- registerHistory() {
2754
- this.router.events.subscribe((event) => {
2755
- if (event instanceof NavigationStart) {
2756
- if (this.history.length > 0 && this.history[this.history.length - 1] === event.url.split('?')[0]) {
2757
- return;
2758
- }
2759
- this.history.push(event.url.split('?')[0]);
2760
- }
2761
- });
2762
- }
2763
- back(link) {
2764
- this.history.pop();
2765
- if (this.history.length > 0) {
2766
- const lastlink = this.history[this.history.length - 1];
2767
- this.router.navigate(lastlink.split('/'));
2768
- }
2769
- else {
2770
- this.redirect(link);
2771
- }
2772
- }
2773
- redirect(link) {
2774
- if (link[0].indexOf('http') !== -1) {
2775
- this.redirectToExternalLink(link);
2776
- }
2777
- else {
2778
- this.redirectToInternalLink(link);
2779
- }
2780
- }
2781
- redirectToExternalLink(link) {
2782
- window.location.href = link[0];
2783
- }
2784
- redirectToInternalLink(link) {
2785
- this.router.navigate(link);
2786
- }
2787
- }
2788
- HistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HistoryService, deps: [{ token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2789
- HistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HistoryService, providedIn: 'root' });
2790
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HistoryService, decorators: [{
2791
- type: Injectable,
2792
- args: [{
2793
- providedIn: 'root'
2794
- }]
2795
- }], ctorParameters: function () { return [{ type: i1$3.Router }]; } });
2796
-
2797
- class HeaderPageComponent {
2798
- constructor(historyService, location) {
2799
- this.historyService = historyService;
2800
- this.location = location;
2801
- this.withImg = false;
2802
- this.center = false;
2803
- this.useHistory = false;
2804
- }
2805
- back() {
2806
- if (!this.useHistory) {
2807
- this.historyService.redirect(this.linkBack);
2808
- return;
2809
- }
2810
- this.historyService.back(this.linkBack);
2811
- }
2812
- }
2813
- HeaderPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HeaderPageComponent, deps: [{ token: HistoryService }, { token: i1.Location }], target: i0.ɵɵFactoryTarget.Component });
2814
- HeaderPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: HeaderPageComponent, selector: "wac-header-page", inputs: { title: "title", linkBack: "linkBack", withImg: "withImg", center: "center", useHistory: "useHistory" }, ngImport: i0, template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: H1Component, selector: "wac-h1", inputs: ["annotation", "withImg", "center", "color"] }] });
2815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HeaderPageComponent, decorators: [{
2816
- type: Component,
2817
- args: [{ selector: 'wac-header-page', template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
2818
- }], ctorParameters: function () { return [{ type: HistoryService }, { type: i1.Location }]; }, propDecorators: { title: [{
2819
- type: Input
2820
- }], linkBack: [{
2821
- type: Input
2822
- }], withImg: [{
2823
- type: Input
2824
- }], center: [{
2825
- type: Input
2826
- }], useHistory: [{
2827
- type: Input
2828
- }] } });
2829
-
2830
- class TooltipComponent {
2831
- constructor() {
2832
- this.tooltipText = '';
2833
- this.tooltipLink = '';
2834
- this.tooltipUrl = '#';
2835
- }
2836
- ngOnInit() {
2837
- if (this.tooltipIcon === '') {
2838
- this.tooltipIcon = 'fas fa-info-circle';
2839
- }
2840
- }
2841
- }
2842
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2843
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TooltipComponent, selector: "wac-tooltip", inputs: { tooltipIcon: "tooltipIcon", tooltipText: "tooltipText", tooltipLink: "tooltipLink", tooltipUrl: "tooltipUrl" }, ngImport: i0, template: "<span class=\"wac-tooltip\">\n <i [class]=\"tooltipIcon\"></i>\n <span class=\"tooltip-content\"\n >{{ tooltipText }}\n <span *ngIf=\"tooltipUrl\"\n ><a [href]=\"tooltipUrl\" target=\"_blank\">{{ tooltipLink }}</a></span\n >\n </span>\n</span>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2844
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipComponent, decorators: [{
2845
- type: Component,
2846
- args: [{ selector: 'wac-tooltip', template: "<span class=\"wac-tooltip\">\n <i [class]=\"tooltipIcon\"></i>\n <span class=\"tooltip-content\"\n >{{ tooltipText }}\n <span *ngIf=\"tooltipUrl\"\n ><a [href]=\"tooltipUrl\" target=\"_blank\">{{ tooltipLink }}</a></span\n >\n </span>\n</span>\n" }]
2847
- }], ctorParameters: function () { return []; }, propDecorators: { tooltipIcon: [{
2848
- type: Input
2849
- }], tooltipText: [{
2850
- type: Input
2851
- }], tooltipLink: [{
2852
- type: Input
2853
- }], tooltipUrl: [{
2854
- type: Input
2855
- }] } });
2856
-
2857
- class InputComponent {
2858
- constructor() {
2859
- this.label = '';
2860
- this.value = '';
2861
- this.type = 'text';
2862
- this.placeholder = ''; // todo could be handle with ng-content
2863
- this.textInfo = null; // todo should be handle with ng-content
2864
- this.textError = null; // todo should be handle with ng-content
2865
- this.size = null;
2866
- this.isNumber = null;
2867
- this.withoutBlock = false;
2868
- this.icon = '';
2869
- this.big = false;
2870
- this.medium = false;
2871
- this.boldLabel = 'false'; // todo refacto to boolean
2872
- this.min = null;
2873
- this.max = null;
2874
- this.disableMargin = false;
2875
- this.textPrepend = null; // todo should be handle with ng-content
2876
- this.textAppend = null; // todo should be handle with ng-content
2877
- this.progressBar = false;
2878
- this.extraClasses = '';
2879
- this.keyPreventDefault = [];
2880
- this.showTooltip = false;
2881
- this.textTooltip = '';
2882
- this.iconTooltip = '';
2883
- this.urlTooltip = '';
2884
- this.linkTooltip = '';
2885
- this.padding = false;
2886
- this.disabled = false;
2887
- this.indication = ''; // todo should be handle with ng-content
2888
- this.success = false;
2889
- this.error = false;
2890
- this.indicationLeft = false;
2891
- this.keypressEnter = new EventEmitter();
2892
- this.blurred = new EventEmitter();
2893
- this.KEYPRESS_ENTER = "Enter";
2894
- this.id = 'wz-input_' +
2895
- Math.random()
2896
- .toString(36)
2897
- .substr(2, 9);
2898
- this._onChange = (value) => { };
2899
- this._onTouched = () => { };
2848
+ this.dynamicSize = false;
2849
+ this.progressBar = false;
2850
+ this.disabled = false;
2851
+ this.disableResize = false;
2852
+ this.id = 'wac-textarea__' +
2853
+ Math.random()
2854
+ .toString(36)
2855
+ .substr(2, 9);
2900
2856
  }
2901
2857
  registerOnChange(fn) {
2902
2858
  this._onChange = fn;
@@ -2913,113 +2869,188 @@ class InputComponent {
2913
2869
  onChange(value) {
2914
2870
  if (this._onChange) {
2915
2871
  this._onChange(value);
2872
+ this.writeValue(value);
2916
2873
  }
2917
2874
  }
2918
- onBlur() {
2919
- if (this._onTouched) {
2920
- this._onTouched();
2921
- }
2922
- this.blurred.next();
2923
- }
2924
- checkNumberValue(value) {
2925
- if (this.min && this.min > value) {
2926
- this.value = this.min;
2927
- }
2928
- if (this.max && this.max < value) {
2929
- this.value = this.max;
2930
- }
2931
- }
2932
- onFocusOut() {
2933
- if (this.type === 'number') {
2934
- this.checkNumberValue(this.value);
2935
- }
2936
- }
2937
- keyPress(event) {
2938
- if (this.keyPreventDefault.includes(event.key)) {
2939
- event.preventDefault();
2940
- }
2941
- if (event.key === this.KEYPRESS_ENTER) {
2942
- this.keypressEnter.next(true);
2875
+ onBlur() {
2876
+ if (this._onTouched) {
2877
+ this._onTouched();
2943
2878
  }
2944
2879
  }
2945
2880
  }
2946
- InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2947
- InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: InputComponent, selector: "wac-input", inputs: { label: "label", value: "value", type: "type", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", size: "size", isNumber: "isNumber", withoutBlock: "withoutBlock", icon: "icon", big: "big", medium: "medium", boldLabel: "boldLabel", min: "min", max: "max", disableMargin: "disableMargin", textPrepend: "textPrepend", textAppend: "textAppend", progressBar: "progressBar", extraClasses: "extraClasses", keyPreventDefault: "keyPreventDefault", showTooltip: "showTooltip", textTooltip: "textTooltip", iconTooltip: "iconTooltip", urlTooltip: "urlTooltip", linkTooltip: "linkTooltip", padding: "padding", disabled: "disabled", indication: "indication", success: "success", error: "error", maxlength: "maxlength", minlength: "minlength", indicationLeft: "indicationLeft" }, outputs: { keypressEnter: "keypressEnter", blurred: "blurred" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], ngImport: i0, template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TooltipComponent, selector: "wac-tooltip", inputs: ["tooltipIcon", "tooltipText", "tooltipLink", "tooltipUrl"] }, { kind: "component", type: ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }] });
2948
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputComponent, decorators: [{
2881
+ TextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2882
+ TextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TextAreaComponent, isStandalone: true, selector: "wac-text-area", inputs: { label: "label", value: "value", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", error: "error", success: "success", size: "size", min: "min", max: "max", dynamicSize: "dynamicSize", progressBar: "progressBar", disabled: "disabled", maxlength: "maxlength", minlength: "minlength", disableResize: "disableResize" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }], ngImport: i0, template: "<div class=\"field wac-text-area\" [ngClass]=\"{'dynamic': dynamicSize}\">\n <div class=\"field-label is-normal has-text-left\">\n <label class=\"label has-text-weight-normal\" [innerHTML]=\"label\" [for]=\"id\"></label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p class=\"control\" [ngClass]=\"{ 'has-icons-right': (textError || error || success) && !disabled }\">\n <textarea\n [class]=\"'textarea' + (disableResize ? ' no-resize' : '')\"\n [id]=\"id\"\n [ngClass]=\"{ 'is-danger': (textError || error) && !disabled, 'is-empty': value === '', 'is-success': success && !disabled, 'has-help-text': textInfo !== '' || size }\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n [autosize]=\"dynamicSize\"\n [onlyGrow]=\"true\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n ></textarea>\n <!-- Icon error -->\n <span *ngIf=\"(textError || error) && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n <span\n *ngIf=\"textInfo && (textError === null || textError === '')\"\n class=\"is-size-7 wac-text-area__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n <span *ngIf=\"textError\" class=\"is-size-7 wac-text-area__error has-text-danger\" [innerHtml]=\"textError\"></span>\n <span\n *ngIf=\"size && !progressBar\"\n class=\"is-size-7 wac-text-area__size\"\n [ngClass]=\"value && value.length > size ? 'has-text-danger' : ''\"\n ><strong>{{ value ? value.length : 0 }}</strong> / {{ size }}</span\n >\n </p>\n <wac-progress-bar *ngIf=\"progressBar && value\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }, { kind: "ngmodule", type: AutosizeModule }, { kind: "directive", type: i3$1.AutosizeDirective, selector: "[autosize]", inputs: ["minRows", "autosize", "maxRows", "onlyGrow", "useImportant"], outputs: ["resized"] }] });
2883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TextAreaComponent, decorators: [{
2949
2884
  type: Component,
2950
- args: [{ selector: 'wac-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n" }]
2885
+ args: [{ selector: 'wac-text-area', standalone: true, imports: [
2886
+ CommonModule,
2887
+ FormsModule,
2888
+ ProgressBarComponent,
2889
+ AutosizeModule
2890
+ ], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }], template: "<div class=\"field wac-text-area\" [ngClass]=\"{'dynamic': dynamicSize}\">\n <div class=\"field-label is-normal has-text-left\">\n <label class=\"label has-text-weight-normal\" [innerHTML]=\"label\" [for]=\"id\"></label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p class=\"control\" [ngClass]=\"{ 'has-icons-right': (textError || error || success) && !disabled }\">\n <textarea\n [class]=\"'textarea' + (disableResize ? ' no-resize' : '')\"\n [id]=\"id\"\n [ngClass]=\"{ 'is-danger': (textError || error) && !disabled, 'is-empty': value === '', 'is-success': success && !disabled, 'has-help-text': textInfo !== '' || size }\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n [autosize]=\"dynamicSize\"\n [onlyGrow]=\"true\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n ></textarea>\n <!-- Icon error -->\n <span *ngIf=\"(textError || error) && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n <span\n *ngIf=\"textInfo && (textError === null || textError === '')\"\n class=\"is-size-7 wac-text-area__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n <span *ngIf=\"textError\" class=\"is-size-7 wac-text-area__error has-text-danger\" [innerHtml]=\"textError\"></span>\n <span\n *ngIf=\"size && !progressBar\"\n class=\"is-size-7 wac-text-area__size\"\n [ngClass]=\"value && value.length > size ? 'has-text-danger' : ''\"\n ><strong>{{ value ? value.length : 0 }}</strong> / {{ size }}</span\n >\n </p>\n <wac-progress-bar *ngIf=\"progressBar && value\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n" }]
2951
2891
  }], propDecorators: { label: [{
2952
2892
  type: Input
2953
2893
  }], value: [{
2954
2894
  type: Input
2955
- }], type: [{
2956
- type: Input
2957
2895
  }], placeholder: [{
2958
2896
  type: Input
2959
2897
  }], textInfo: [{
2960
2898
  type: Input
2961
2899
  }], textError: [{
2962
2900
  type: Input
2963
- }], size: [{
2964
- type: Input
2965
- }], isNumber: [{
2966
- type: Input
2967
- }], withoutBlock: [{
2968
- type: Input
2969
- }], icon: [{
2970
- type: Input
2971
- }], big: [{
2901
+ }], error: [{
2972
2902
  type: Input
2973
- }], medium: [{
2903
+ }], success: [{
2974
2904
  type: Input
2975
- }], boldLabel: [{
2905
+ }], size: [{
2976
2906
  type: Input
2977
2907
  }], min: [{
2978
2908
  type: Input
2979
2909
  }], max: [{
2980
2910
  type: Input
2981
- }], disableMargin: [{
2982
- type: Input
2983
- }], textPrepend: [{
2984
- type: Input
2985
- }], textAppend: [{
2911
+ }], dynamicSize: [{
2986
2912
  type: Input
2987
2913
  }], progressBar: [{
2988
2914
  type: Input
2989
- }], extraClasses: [{
2990
- type: Input
2991
- }], keyPreventDefault: [{
2915
+ }], disabled: [{
2992
2916
  type: Input
2993
- }], showTooltip: [{
2917
+ }], maxlength: [{
2994
2918
  type: Input
2995
- }], textTooltip: [{
2919
+ }], minlength: [{
2996
2920
  type: Input
2997
- }], iconTooltip: [{
2921
+ }], disableResize: [{
2998
2922
  type: Input
2999
- }], urlTooltip: [{
2923
+ }] } });
2924
+
2925
+ class H1Component {
2926
+ constructor() {
2927
+ this.annotation = '';
2928
+ this.withImg = false;
2929
+ this.center = false;
2930
+ this.color = null;
2931
+ }
2932
+ }
2933
+ H1Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H1Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
2934
+ H1Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: H1Component, selector: "wac-h1", inputs: { annotation: "annotation", withImg: "withImg", center: "center", color: "color" }, ngImport: i0, template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\" [style.color]=\"color?color:''\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2935
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H1Component, decorators: [{
2936
+ type: Component,
2937
+ args: [{ selector: 'wac-h1', template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\" [style.color]=\"color?color:''\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n" }]
2938
+ }], ctorParameters: function () { return []; }, propDecorators: { annotation: [{
3000
2939
  type: Input
3001
- }], linkTooltip: [{
2940
+ }], withImg: [{
3002
2941
  type: Input
3003
- }], padding: [{
2942
+ }], center: [{
3004
2943
  type: Input
3005
- }], disabled: [{
2944
+ }], color: [{
3006
2945
  type: Input
3007
- }], indication: [{
2946
+ }] } });
2947
+
2948
+ class H2Component {
2949
+ constructor() { }
2950
+ ngOnInit() { }
2951
+ }
2952
+ H2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
2953
+ H2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: H2Component, selector: "wac-h2", ngImport: i0, template: "<h2 class=\"wac-h2\"><ng-content></ng-content></h2>\n" });
2954
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H2Component, decorators: [{
2955
+ type: Component,
2956
+ args: [{ selector: 'wac-h2', template: "<h2 class=\"wac-h2\"><ng-content></ng-content></h2>\n" }]
2957
+ }], ctorParameters: function () { return []; } });
2958
+
2959
+ class H3Component {
2960
+ constructor() {
2961
+ this.grey = false;
2962
+ }
2963
+ ngOnInit() { }
2964
+ }
2965
+ H3Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H3Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
2966
+ H3Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: H3Component, selector: "wac-h3", inputs: { grey: "grey" }, ngImport: i0, template: "<h3 class=\"wac-h3\" [ngClass]=\"{ grey: grey }\"><ng-content></ng-content></h3>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: H3Component, decorators: [{
2968
+ type: Component,
2969
+ args: [{ selector: 'wac-h3', template: "<h3 class=\"wac-h3\" [ngClass]=\"{ grey: grey }\"><ng-content></ng-content></h3>\n" }]
2970
+ }], ctorParameters: function () { return []; }, propDecorators: { grey: [{
3008
2971
  type: Input
3009
- }], success: [{
2972
+ }] } });
2973
+
2974
+ class HistoryService {
2975
+ constructor(router) {
2976
+ this.router = router;
2977
+ this.history = [];
2978
+ }
2979
+ registerHistory() {
2980
+ this.router.events.subscribe((event) => {
2981
+ if (event instanceof NavigationStart) {
2982
+ if (this.history.length > 0 && this.history[this.history.length - 1] === event.url.split('?')[0]) {
2983
+ return;
2984
+ }
2985
+ this.history.push(event.url.split('?')[0]);
2986
+ }
2987
+ });
2988
+ }
2989
+ back(link) {
2990
+ this.history.pop();
2991
+ if (this.history.length > 0) {
2992
+ const lastlink = this.history[this.history.length - 1];
2993
+ this.router.navigate(lastlink.split('/'));
2994
+ }
2995
+ else {
2996
+ this.redirect(link);
2997
+ }
2998
+ }
2999
+ redirect(link) {
3000
+ if (link[0].indexOf('http') !== -1) {
3001
+ this.redirectToExternalLink(link);
3002
+ }
3003
+ else {
3004
+ this.redirectToInternalLink(link);
3005
+ }
3006
+ }
3007
+ redirectToExternalLink(link) {
3008
+ window.location.href = link[0];
3009
+ }
3010
+ redirectToInternalLink(link) {
3011
+ this.router.navigate(link);
3012
+ }
3013
+ }
3014
+ HistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HistoryService, deps: [{ token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
3015
+ HistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HistoryService, providedIn: 'root' });
3016
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HistoryService, decorators: [{
3017
+ type: Injectable,
3018
+ args: [{
3019
+ providedIn: 'root'
3020
+ }]
3021
+ }], ctorParameters: function () { return [{ type: i1$3.Router }]; } });
3022
+
3023
+ class HeaderPageComponent {
3024
+ constructor(historyService, location) {
3025
+ this.historyService = historyService;
3026
+ this.location = location;
3027
+ this.withImg = false;
3028
+ this.center = false;
3029
+ this.useHistory = false;
3030
+ }
3031
+ back() {
3032
+ if (!this.useHistory) {
3033
+ this.historyService.redirect(this.linkBack);
3034
+ return;
3035
+ }
3036
+ this.historyService.back(this.linkBack);
3037
+ }
3038
+ }
3039
+ HeaderPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HeaderPageComponent, deps: [{ token: HistoryService }, { token: i1.Location }], target: i0.ɵɵFactoryTarget.Component });
3040
+ HeaderPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: HeaderPageComponent, selector: "wac-header-page", inputs: { title: "title", linkBack: "linkBack", withImg: "withImg", center: "center", useHistory: "useHistory" }, ngImport: i0, template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: H1Component, selector: "wac-h1", inputs: ["annotation", "withImg", "center", "color"] }] });
3041
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HeaderPageComponent, decorators: [{
3042
+ type: Component,
3043
+ args: [{ selector: 'wac-header-page', template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
3044
+ }], ctorParameters: function () { return [{ type: HistoryService }, { type: i1.Location }]; }, propDecorators: { title: [{
3010
3045
  type: Input
3011
- }], error: [{
3046
+ }], linkBack: [{
3012
3047
  type: Input
3013
- }], maxlength: [{
3048
+ }], withImg: [{
3014
3049
  type: Input
3015
- }], minlength: [{
3050
+ }], center: [{
3016
3051
  type: Input
3017
- }], indicationLeft: [{
3052
+ }], useHistory: [{
3018
3053
  type: Input
3019
- }], keypressEnter: [{
3020
- type: Output
3021
- }], blurred: [{
3022
- type: Output
3023
3054
  }] } });
3024
3055
 
3025
3056
  class LinkComponent {
@@ -3251,81 +3282,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
3251
3282
  }]
3252
3283
  }] });
3253
3284
 
3254
- class TooltipModule {
3255
- }
3256
- TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3257
- TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: TooltipModule, declarations: [TooltipComponent], imports: [CommonModule,
3258
- FormsModule], exports: [TooltipComponent] });
3259
- TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipModule, imports: [CommonModule,
3260
- FormsModule] });
3261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TooltipModule, decorators: [{
3262
- type: NgModule,
3263
- args: [{
3264
- imports: [
3265
- CommonModule,
3266
- FormsModule
3267
- ],
3268
- exports: [TooltipComponent],
3269
- declarations: [TooltipComponent],
3270
- providers: [],
3271
- }]
3272
- }] });
3273
-
3274
- class InputModule {
3275
- }
3276
- InputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3277
- InputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: InputModule, declarations: [InputComponent], imports: [CommonModule,
3278
- FormsModule,
3279
- SharedDirectives,
3280
- TooltipModule,
3281
- ProgressBarComponent], exports: [InputComponent] });
3282
- InputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputModule, imports: [CommonModule,
3283
- FormsModule,
3284
- SharedDirectives,
3285
- TooltipModule,
3286
- ProgressBarComponent] });
3287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputModule, decorators: [{
3288
- type: NgModule,
3289
- args: [{
3290
- imports: [
3291
- CommonModule,
3292
- FormsModule,
3293
- SharedDirectives,
3294
- TooltipModule,
3295
- ProgressBarComponent
3296
- ],
3297
- exports: [InputComponent],
3298
- declarations: [InputComponent],
3299
- providers: [],
3300
- }]
3301
- }] });
3302
-
3303
- class InputSearchModule {
3304
- }
3305
- InputSearchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3306
- InputSearchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: InputSearchModule, declarations: [InputSearchComponent], imports: [CommonModule,
3307
- FormsModule,
3308
- InputModule,
3309
- SharedDirectives], exports: [InputSearchComponent] });
3310
- InputSearchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputSearchModule, imports: [CommonModule,
3311
- FormsModule,
3312
- InputModule,
3313
- SharedDirectives] });
3314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputSearchModule, decorators: [{
3315
- type: NgModule,
3316
- args: [{
3317
- imports: [
3318
- CommonModule,
3319
- FormsModule,
3320
- InputModule,
3321
- SharedDirectives
3322
- ],
3323
- exports: [InputSearchComponent],
3324
- declarations: [InputSearchComponent],
3325
- providers: [],
3326
- }]
3327
- }] });
3328
-
3329
3285
  class TableColumn {
3330
3286
  constructor(currentCell, renderer, document) {
3331
3287
  this.currentCell = currentCell;
@@ -3564,13 +3520,13 @@ class TableModule {
3564
3520
  TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3565
3521
  TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: TableModule, declarations: [TableComponent, TableColumn, CheckBoxRow, TableColumnHeader, TableRow], imports: [CommonModule,
3566
3522
  FormsModule,
3567
- InputSearchModule,
3523
+ InputSearchComponent,
3568
3524
  LoaderComponent,
3569
3525
  CheckboxModule,
3570
3526
  PaginationModule], exports: [TableComponent, TableColumn, CheckBoxRow, TableColumnHeader, TableRow] });
3571
3527
  TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TableModule, imports: [CommonModule,
3572
3528
  FormsModule,
3573
- InputSearchModule,
3529
+ InputSearchComponent,
3574
3530
  LoaderComponent,
3575
3531
  CheckboxModule,
3576
3532
  PaginationModule] });
@@ -3580,7 +3536,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
3580
3536
  imports: [
3581
3537
  CommonModule,
3582
3538
  FormsModule,
3583
- InputSearchModule,
3539
+ InputSearchComponent,
3584
3540
  LoaderComponent,
3585
3541
  CheckboxModule,
3586
3542
  PaginationModule
@@ -3947,10 +3903,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
3947
3903
  class InputWithSelectComponent {
3948
3904
  }
3949
3905
  InputWithSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputWithSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3950
- InputWithSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: InputWithSelectComponent, selector: "wac-input-with-select", queries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], ngImport: i0, template: "<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div class=\"wac-input-with-select\">\n <div class=\"wac-input-with-select__wrapper\">\n <div class=\"wac-input-with-select__wrapper__left\">\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"wac-select\"></ng-content>\n </div>\n <div class=\"wac-input-with-select__wrapper__right\">\n <ng-content select=\"[text]\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
3906
+ InputWithSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: InputWithSelectComponent, isStandalone: true, selector: "wac-input-with-select", queries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], ngImport: i0, template: "<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div class=\"wac-input-with-select\">\n <div class=\"wac-input-with-select__wrapper\">\n <div class=\"wac-input-with-select__wrapper__left\">\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"wac-select\"></ng-content>\n </div>\n <div class=\"wac-input-with-select__wrapper__right\">\n <ng-content select=\"[text]\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
3951
3907
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: InputWithSelectComponent, decorators: [{
3952
3908
  type: Component,
3953
- args: [{ selector: 'wac-input-with-select', encapsulation: ViewEncapsulation.None, template: "<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div class=\"wac-input-with-select\">\n <div class=\"wac-input-with-select__wrapper\">\n <div class=\"wac-input-with-select__wrapper__left\">\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"wac-select\"></ng-content>\n </div>\n <div class=\"wac-input-with-select__wrapper__right\">\n <ng-content select=\"[text]\"></ng-content>\n </div>\n </div>\n</div>\n" }]
3909
+ args: [{ selector: 'wac-input-with-select', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule], template: "<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div class=\"wac-input-with-select\">\n <div class=\"wac-input-with-select__wrapper\">\n <div class=\"wac-input-with-select__wrapper__left\">\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"wac-select\"></ng-content>\n </div>\n <div class=\"wac-input-with-select__wrapper__right\">\n <ng-content select=\"[text]\"></ng-content>\n </div>\n </div>\n</div>\n" }]
3954
3910
  }], propDecorators: { label: [{
3955
3911
  type: ContentChild,
3956
3912
  args: [LabelComponent]
@@ -5984,7 +5940,6 @@ const components = [
5984
5940
  SelectInTextComponent,
5985
5941
  MultipleSearchComponent,
5986
5942
  MultipleSearchPlusComponent,
5987
- InputWithSelectComponent,
5988
5943
  PopinComponent,
5989
5944
  FreePopinComponent,
5990
5945
  BlockTitleLegacyComponent,
@@ -6024,8 +5979,6 @@ const exportsFromModule = [
6024
5979
  CheckBoxRow,
6025
5980
  TableColumnHeader,
6026
5981
  TableRow,
6027
- InputSearchComponent,
6028
- InputComponent,
6029
5982
  TooltipComponent,
6030
5983
  CheckboxComponent,
6031
5984
  LoaderComponent,
@@ -6039,6 +5992,9 @@ const standaloneComponents = [
6039
5992
  LoaderComponent,
6040
5993
  TextAreaComponent,
6041
5994
  ProgressBarComponent,
5995
+ InputComponent,
5996
+ InputSearchComponent,
5997
+ InputWithSelectComponent,
6042
5998
  ];
6043
5999
  class SharedComponentsModule {
6044
6000
  }
@@ -6071,7 +6027,6 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6071
6027
  SelectInTextComponent,
6072
6028
  MultipleSearchComponent,
6073
6029
  MultipleSearchPlusComponent,
6074
- InputWithSelectComponent,
6075
6030
  PopinComponent,
6076
6031
  FreePopinComponent,
6077
6032
  BlockTitleLegacyComponent,
@@ -6112,10 +6067,8 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6112
6067
  DragDropModule,
6113
6068
  PaginationModule,
6114
6069
  TableModule,
6115
- InputSearchModule,
6116
6070
  TooltipModule,
6117
6071
  CheckboxModule,
6118
- InputModule,
6119
6072
  PerfectScrollbarModule,
6120
6073
  AlertPopupModule,
6121
6074
  RouterModule,
@@ -6128,7 +6081,10 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6128
6081
  BlockComponent,
6129
6082
  LoaderComponent,
6130
6083
  TextAreaComponent,
6131
- ProgressBarComponent], exports: [TagComponent,
6084
+ ProgressBarComponent,
6085
+ InputComponent,
6086
+ InputSearchComponent,
6087
+ InputWithSelectComponent], exports: [TagComponent,
6132
6088
  ButtonComponent,
6133
6089
  InfoComponent,
6134
6090
  SettingsComponent,
@@ -6156,7 +6112,6 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6156
6112
  SelectInTextComponent,
6157
6113
  MultipleSearchComponent,
6158
6114
  MultipleSearchPlusComponent,
6159
- InputWithSelectComponent,
6160
6115
  PopinComponent,
6161
6116
  FreePopinComponent,
6162
6117
  BlockTitleLegacyComponent,
@@ -6193,8 +6148,6 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6193
6148
  CheckBoxRow,
6194
6149
  TableColumnHeader,
6195
6150
  TableRow,
6196
- InputSearchComponent,
6197
- InputComponent,
6198
6151
  TooltipComponent,
6199
6152
  CheckboxComponent,
6200
6153
  LoaderComponent,
@@ -6203,7 +6156,10 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6203
6156
  BlockComponent,
6204
6157
  LoaderComponent,
6205
6158
  TextAreaComponent,
6206
- ProgressBarComponent] });
6159
+ ProgressBarComponent,
6160
+ InputComponent,
6161
+ InputSearchComponent,
6162
+ InputWithSelectComponent] });
6207
6163
  SharedComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SharedComponentsModule, imports: [CommonModule,
6208
6164
  FormsModule,
6209
6165
  NwbAllModule,
@@ -6216,10 +6172,8 @@ SharedComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
6216
6172
  DragDropModule,
6217
6173
  PaginationModule,
6218
6174
  TableModule,
6219
- InputSearchModule,
6220
6175
  TooltipModule,
6221
6176
  CheckboxModule,
6222
- InputModule,
6223
6177
  PerfectScrollbarModule,
6224
6178
  AlertPopupModule,
6225
6179
  RouterModule,
@@ -6244,10 +6198,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
6244
6198
  DragDropModule,
6245
6199
  PaginationModule,
6246
6200
  TableModule,
6247
- InputSearchModule,
6248
6201
  TooltipModule,
6249
6202
  CheckboxModule,
6250
- InputModule,
6251
6203
  PerfectScrollbarModule,
6252
6204
  AlertPopupModule,
6253
6205
  RouterModule,