@flywheel-io/vision 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, NgModule, ViewEncapsulation, Inject, Injectable, Pipe, SimpleChange, EventEmitter, Output, HostBinding, Directive, TemplateRef, ViewChild } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, NgModule, Inject, Injectable, Pipe, SimpleChange, EventEmitter, ViewEncapsulation, Output, HostBinding, Directive, TemplateRef, ViewChild } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2 from '@angular/material/button';
@@ -12,23 +12,10 @@ import { of, Subject, BehaviorSubject, Subscription } from 'rxjs';
12
12
  import * as i1$1 from '@angular/platform-browser';
13
13
  import * as i5 from '@angular/cdk/portal';
14
14
  import { ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
15
- import { takeUntil, debounceTime } from 'rxjs/operators';
15
+ import { takeUntil } from 'rxjs/operators';
16
16
  import * as i1$2 from '@angular/cdk/overlay';
17
17
  import { Overlay } from '@angular/cdk/overlay';
18
- import * as i2$1 from '@angular/forms';
19
- import { UntypedFormGroup, UntypedFormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
20
- import * as i5$1 from '@angular/material/paginator';
21
- import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
22
- import * as i8 from '@angular/material/sort';
23
- import { MatSort, MatSortModule } from '@angular/material/sort';
24
- import * as i9 from '@angular/material/table';
25
- import { MatTableDataSource, MatTableModule } from '@angular/material/table';
26
- import * as i3$1 from '@angular/material/form-field';
27
- import * as i4$1 from '@angular/material/input';
28
- import { MatInputModule } from '@angular/material/input';
29
- import * as i6 from '@angular/material/select';
30
- import { MatSelectModule } from '@angular/material/select';
31
- import * as i7 from '@angular/material/core';
18
+ import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
32
19
 
33
20
  class FwIconComponent {
34
21
  }
@@ -139,46 +126,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
139
126
  }]
140
127
  }] });
141
128
 
142
- class FwButtonGroupComponent {
143
- constructor() {
144
- this.layout = 'basic';
145
- this.size = 'medium';
146
- }
147
- }
148
- FwButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
149
- FwButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwButtonGroupComponent, selector: "fw-button-group", inputs: { layout: "layout", size: "size" }, host: { properties: { "class.small": "size === \"small\"", "class.medium": "size === \"medium\"", "class.large": "size === \"large\"", "class.compact": "layout === \"compact\"" }, classAttribute: "fw-button-group" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>fw-button:first-of-type>button,fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>fw-button:last-of-type>button,fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button{border-right-width:0}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button,fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type{border-right-width:1px!important}fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button{border-left-width:0}\n"], encapsulation: i0.ViewEncapsulation.None });
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupComponent, decorators: [{
151
- type: Component,
152
- args: [{ host: {
153
- 'class': 'fw-button-group',
154
- '[class.small]': 'size === "small"',
155
- '[class.medium]': 'size === "medium"',
156
- '[class.large]': 'size === "large"',
157
- '[class.compact]': 'layout === "compact"',
158
- }, selector: 'fw-button-group', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>fw-button:first-of-type>button,fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>fw-button:last-of-type>button,fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button{border-right-width:0}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button,fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type{border-right-width:1px!important}fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button{border-left-width:0}\n"] }]
159
- }], propDecorators: { layout: [{
160
- type: Input
161
- }], size: [{
162
- type: Input
163
- }] } });
164
-
165
- class FwButtonGroupModule {
166
- }
167
- FwButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
168
- FwButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupModule, declarations: [FwButtonGroupComponent], exports: [FwButtonGroupComponent] });
169
- FwButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupModule });
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupModule, decorators: [{
171
- type: NgModule,
172
- args: [{
173
- exports: [
174
- FwButtonGroupComponent,
175
- ],
176
- declarations: [
177
- FwButtonGroupComponent,
178
- ]
179
- }]
180
- }] });
181
-
182
129
  class FwButtonComponent {
183
130
  constructor() {
184
131
  this.color = 'primary';
@@ -932,6 +879,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
932
879
  }, selector: 'fw-notification-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n", styles: ["fw-notification-container{position:absolute;right:0;top:0;margin-top:20px;z-index:999999}fw-notification-container>div{display:flex;flex-direction:column-reverse}fw-notification-container .buttons{display:none;position:absolute;top:-5px;right:25px}fw-notification-container .buttons button{color:#fff;background-color:#919292;margin-left:2px}fw-notification-container .buttons button.mat-button{line-height:24px!important;margin:0 0 0 2px!important}fw-notification-container:hover .buttons{display:flex}fw-notification-container .hidden{display:none}fw-notification-container fw-notification:last-of-type{margin-top:24px}fw-notification-container.duo fw-notification.level-0{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-1{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-0{transform:scale(.9) translateY(-108px)}\n"] }]
933
880
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: FwNotificationService }]; } });
934
881
 
882
+ class FwButtonGroupComponent {
883
+ constructor() {
884
+ this.layout = 'basic';
885
+ this.size = 'medium';
886
+ }
887
+ }
888
+ FwButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
889
+ FwButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwButtonGroupComponent, selector: "fw-button-group", inputs: { layout: "layout", size: "size" }, host: { properties: { "class.small": "size === \"small\"", "class.medium": "size === \"medium\"", "class.large": "size === \"large\"", "class.compact": "layout === \"compact\"" }, classAttribute: "fw-button-group" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>fw-button:first-of-type>button,fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>fw-button:last-of-type>button,fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button{border-right-width:0}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button,fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type{border-right-width:1px!important}fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button{border-left-width:0}\n"], encapsulation: i0.ViewEncapsulation.None });
890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupComponent, decorators: [{
891
+ type: Component,
892
+ args: [{ host: {
893
+ 'class': 'fw-button-group',
894
+ '[class.small]': 'size === "small"',
895
+ '[class.medium]': 'size === "medium"',
896
+ '[class.large]': 'size === "large"',
897
+ '[class.compact]': 'layout === "compact"',
898
+ }, selector: 'fw-button-group', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>fw-button:first-of-type>button,fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>fw-button:last-of-type>button,fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button{border-right-width:0}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button,fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type{border-right-width:1px!important}fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button{border-left-width:0}\n"] }]
899
+ }], propDecorators: { layout: [{
900
+ type: Input
901
+ }], size: [{
902
+ type: Input
903
+ }] } });
904
+
905
+ class FwButtonGroupModule {
906
+ }
907
+ FwButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
908
+ FwButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupModule, declarations: [FwButtonGroupComponent], exports: [FwButtonGroupComponent] });
909
+ FwButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupModule });
910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwButtonGroupModule, decorators: [{
911
+ type: NgModule,
912
+ args: [{
913
+ exports: [
914
+ FwButtonGroupComponent,
915
+ ],
916
+ declarations: [
917
+ FwButtonGroupComponent,
918
+ ]
919
+ }]
920
+ }] });
921
+
935
922
  class FwNotificationModule {
936
923
  }
937
924
  FwNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1210,210 +1197,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1210
1197
  }]
1211
1198
  }] });
1212
1199
 
1213
- class FwTableComponent {
1214
- constructor(changeDetectorRef) {
1215
- this.changeDetectorRef = changeDetectorRef;
1216
- this.columns = [];
1217
- this.dataSource = [];
1218
- this.layout = 'basic';
1219
- this.pageSize = null;
1220
- this.webCompPageSize = null;
1221
- this.sort = null;
1222
- this.sortColumn = '';
1223
- this.sortOrder = 'asc';
1224
- this.displayedColumns = [];
1225
- this.filters = new UntypedFormGroup({});
1226
- // to support updating column header labels
1227
- this.trackByIndex = i => i;
1228
- }
1229
- ngOnInit() {
1230
- this.setDataSource();
1231
- this.setColumns();
1232
- this.addFilterControls();
1233
- this.setFilter();
1234
- this.matDataSource.filterPredicate = (row, filter) => {
1235
- const filters = JSON.parse(filter);
1236
- for (const filter in filters) {
1237
- const filterValue = filters[filter];
1238
- const rowValue = row[filter];
1239
- // multi-select
1240
- if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {
1241
- return false;
1242
- }
1243
- // input or select
1244
- if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {
1245
- return false;
1246
- }
1247
- }
1248
- return true;
1249
- };
1250
- this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());
1251
- }
1252
- ngAfterViewInit() {
1253
- this.setSort();
1254
- this.setPaginator();
1255
- }
1256
- ngOnChanges(changes) {
1257
- if (changes.columns) {
1258
- this.setColumns();
1259
- }
1260
- if (changes.dataSource) {
1261
- this.setDataSource();
1262
- }
1263
- if (changes.sort || changes.dataSource) {
1264
- this.setSort();
1265
- }
1266
- if (changes.pageSize || changes['page-size']) {
1267
- this.setPaginator();
1268
- }
1269
- }
1270
- get isCompact() {
1271
- return this.layout === 'compact';
1272
- }
1273
- get paginationSize() {
1274
- return this.pageSize || this.webCompPageSize || 0;
1275
- }
1276
- get isSortEnabled() {
1277
- return this.sort !== null;
1278
- }
1279
- addFilterControls() {
1280
- for (const column of this.columns) {
1281
- this.filters.addControl(column.key, new UntypedFormControl());
1282
- }
1283
- }
1284
- setDataSource() {
1285
- this.matDataSource = new MatTableDataSource(this.dataSource);
1286
- }
1287
- setColumns() {
1288
- this.displayedColumns = this.columns.map(column => column.key);
1289
- }
1290
- setFilter() {
1291
- this.matDataSource.filter = JSON.stringify(this.filters.value);
1292
- }
1293
- setSort() {
1294
- if (!this.matSort || this.sort === null) {
1295
- return;
1296
- }
1297
- const sortSplit = this.sort.split(' ');
1298
- this.sortColumn = sortSplit[0];
1299
- if (['asc', 'desc'].includes(sortSplit[1])) {
1300
- this.sortOrder = sortSplit[1];
1301
- }
1302
- else {
1303
- console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);
1304
- }
1305
- if (this.sortColumn) {
1306
- this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });
1307
- const sortHeader = this.matSort.sortables.get(this.sortColumn);
1308
- if (sortHeader) {
1309
- sortHeader._setAnimationTransitionState({ toState: 'active' });
1310
- }
1311
- else {
1312
- console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);
1313
- }
1314
- }
1315
- this.matDataSource.sort = this.matSort;
1316
- }
1317
- setPaginator() {
1318
- // ensures ui updates correctly when paginator options change
1319
- this.changeDetectorRef.detectChanges();
1320
- this.matDataSource.paginator = this.matPaginator;
1321
- }
1322
- // necessary for web component to trigger this.filter.valueChanges
1323
- onInputFilter(event, column) {
1324
- // defer setting filter control as event.target.value is not set yet
1325
- setTimeout(() => this.filters.get(column.key).setValue(event.target.value));
1326
- }
1327
- // necessary for web component to trigger this.filter.valueChanges
1328
- onSelectFilter(event, column) {
1329
- const innerText = event.target.innerText;
1330
- this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);
1331
- }
1332
- // necessary for web component to trigger this.filter.valueChanges
1333
- onMultiSelectFilter(event, column) {
1334
- let value = this.filters.controls[column.key].value || [];
1335
- const innerText = event.target.parentElement.innerText;
1336
- if (value.includes(innerText)) {
1337
- value = value.filter(v => v !== innerText);
1338
- }
1339
- else {
1340
- value.push(innerText);
1341
- }
1342
- this.filters.get(column.key).setValue(value.length === 1 && innerText === ''
1343
- ? null // when all checboxes have been deselected
1344
- : value);
1345
- }
1346
- }
1347
- FwTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1348
- FwTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwTableComponent, selector: "fw-table", inputs: { columns: "columns", dataSource: "dataSource", layout: "layout", pageSize: "pageSize", webCompPageSize: ["page-size", "webCompPageSize"], sort: "sort" }, host: { properties: { "class.compact": "isCompact" }, classAttribute: "fw-table" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }] });
1349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTableComponent, decorators: [{
1350
- type: Component,
1351
- args: [{ host: {
1352
- 'class': 'fw-table',
1353
- '[class.compact]': 'isCompact',
1354
- }, selector: 'fw-table', template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"] }]
1355
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
1356
- type: Input
1357
- }], dataSource: [{
1358
- type: Input
1359
- }], layout: [{
1360
- type: Input
1361
- }], pageSize: [{
1362
- type: Input
1363
- }], webCompPageSize: [{
1364
- type: Input,
1365
- args: ['page-size']
1366
- }], sort: [{
1367
- type: Input
1368
- }], matPaginator: [{
1369
- type: ViewChild,
1370
- args: [MatPaginator]
1371
- }], matSort: [{
1372
- type: ViewChild,
1373
- args: [MatSort]
1374
- }] } });
1375
-
1376
- class FwTableModule {
1377
- }
1378
- FwTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1379
- FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwTableModule, declarations: [FwTableComponent], imports: [CommonModule,
1380
- FormsModule,
1381
- ReactiveFormsModule,
1382
- MatInputModule,
1383
- MatPaginatorModule,
1384
- MatSelectModule,
1385
- MatSortModule,
1386
- MatTableModule], exports: [FwTableComponent] });
1387
- FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTableModule, imports: [CommonModule,
1388
- FormsModule,
1389
- ReactiveFormsModule,
1390
- MatInputModule,
1391
- MatPaginatorModule,
1392
- MatSelectModule,
1393
- MatSortModule,
1394
- MatTableModule] });
1395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTableModule, decorators: [{
1396
- type: NgModule,
1397
- args: [{
1398
- imports: [
1399
- CommonModule,
1400
- FormsModule,
1401
- ReactiveFormsModule,
1402
- MatInputModule,
1403
- MatPaginatorModule,
1404
- MatSelectModule,
1405
- MatSortModule,
1406
- MatTableModule,
1407
- ],
1408
- exports: [
1409
- FwTableComponent,
1410
- ],
1411
- declarations: [
1412
- FwTableComponent,
1413
- ]
1414
- }]
1415
- }] });
1416
-
1417
1200
  class BackButtonComponent {
1418
1201
  constructor(location) {
1419
1202
  this.location = location;
@@ -1476,9 +1259,105 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1476
1259
  }]
1477
1260
  }] });
1478
1261
 
1262
+ class FwTextInputComponent {
1263
+ constructor() {
1264
+ this.size = 'medium';
1265
+ // we bind this to host because that's where angular form apis put the error classes
1266
+ this.error = false;
1267
+ this.value = '';
1268
+ this.externalControl = null;
1269
+ this.disabled = false;
1270
+ this.onTouch = () => { };
1271
+ this.onChange = (value) => { };
1272
+ }
1273
+ ngOnInit() {
1274
+ console.log(this.leftIcon, this.rightIcon, this.context, this.helperText, this.placeholder);
1275
+ }
1276
+ writeValue(obj) {
1277
+ this.value = obj;
1278
+ }
1279
+ registerOnChange(fn) {
1280
+ this.onChange = fn;
1281
+ }
1282
+ registerOnTouched(fn) {
1283
+ this.onTouch = fn;
1284
+ }
1285
+ setDisabledState(isDisabled) {
1286
+ this.disabled = isDisabled;
1287
+ }
1288
+ changeHandler(event) {
1289
+ this.value = event.target.value;
1290
+ this.onChange(this.value);
1291
+ this.onTouch();
1292
+ }
1293
+ blurHandler() {
1294
+ this.onTouch();
1295
+ }
1296
+ }
1297
+ FwTextInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1298
+ FwTextInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwTextInputComponent, selector: "fw-text-input", inputs: { leftIcon: "leftIcon", rightIcon: "rightIcon", context: "context", helperText: "helperText", placeholder: "placeholder", size: "size", error: "error" }, host: { properties: { "class.errored": "this.error" } }, providers: [{
1299
+ provide: NG_VALUE_ACCESSOR,
1300
+ useExisting: FwTextInputComponent,
1301
+ multi: true
1302
+ }], ngImport: i0, template: "<div class=\"full-container\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon *ngIf=\"!!leftIcon\">{{leftIcon}}</fw-icon>\n\n <input \n type=\"text\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n [placeholder]=\"placeholder || ''\"\n [disabled]=\"disabled\">\n\n <p class=\"context\" *ngIf=\"!!context\">{{context}}</p>\n\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon *ngIf=\"!!rightIcon\">{{rightIcon}}</fw-icon>\n </div>\n <p class=\"helperText\" *ngIf=\"!!helperText\">{{helperText}}</p>\n</div>", styles: [".full-container{display:flex;flex-direction:column;line-height:21px}.full-container .input-container{color:var(--typography-light);background:var(--page-light);display:flex;padding:8px;align-items:center;gap:5px;border-radius:6px;border:1px solid var(--separations-input);font-family:Inter}.full-container .input-container:focus-within{border:1px solid var(--primary-base)}.full-container .input-container input{min-width:0;flex-grow:1;color:var(--typography-base);background:var(--page-light);border:none}.full-container .input-container input:focus{outline:none;border:none}.full-container .input-container .context{color:var(--typography-light)}.full-container .error-icon{display:none}.full-container .helperText{margin-top:4px;color:var(--typography-light);font-family:Inter;font-size:10px;font-style:normal;font-weight:400;line-height:130%;margin-left:6px}.small{height:30px}.small>fw-icon{font-size:18px}.medium{height:36px}.medium>fw-icon{font-size:20px}.large{height:40px}.large>fw-icon{font-size:24px}:host.ng-touched.ng-invalid .input-container,:host.errored .input-container{border:1px solid var(--red-base)}:host.ng-touched.ng-invalid .error-icon,:host.errored .error-icon{color:var(--red-base);display:inline!important}:host.ng-touched.ng-invalid .helperText,:host.errored .helperText{color:var(--red-base)}:disabled{opacity:.4;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FwIconComponent, selector: "fw-icon" }] });
1303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTextInputComponent, decorators: [{
1304
+ type: Component,
1305
+ args: [{ selector: 'fw-text-input', providers: [{
1306
+ provide: NG_VALUE_ACCESSOR,
1307
+ useExisting: FwTextInputComponent,
1308
+ multi: true
1309
+ }], template: "<div class=\"full-container\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon *ngIf=\"!!leftIcon\">{{leftIcon}}</fw-icon>\n\n <input \n type=\"text\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n [placeholder]=\"placeholder || ''\"\n [disabled]=\"disabled\">\n\n <p class=\"context\" *ngIf=\"!!context\">{{context}}</p>\n\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon *ngIf=\"!!rightIcon\">{{rightIcon}}</fw-icon>\n </div>\n <p class=\"helperText\" *ngIf=\"!!helperText\">{{helperText}}</p>\n</div>", styles: [".full-container{display:flex;flex-direction:column;line-height:21px}.full-container .input-container{color:var(--typography-light);background:var(--page-light);display:flex;padding:8px;align-items:center;gap:5px;border-radius:6px;border:1px solid var(--separations-input);font-family:Inter}.full-container .input-container:focus-within{border:1px solid var(--primary-base)}.full-container .input-container input{min-width:0;flex-grow:1;color:var(--typography-base);background:var(--page-light);border:none}.full-container .input-container input:focus{outline:none;border:none}.full-container .input-container .context{color:var(--typography-light)}.full-container .error-icon{display:none}.full-container .helperText{margin-top:4px;color:var(--typography-light);font-family:Inter;font-size:10px;font-style:normal;font-weight:400;line-height:130%;margin-left:6px}.small{height:30px}.small>fw-icon{font-size:18px}.medium{height:36px}.medium>fw-icon{font-size:20px}.large{height:40px}.large>fw-icon{font-size:24px}:host.ng-touched.ng-invalid .input-container,:host.errored .input-container{border:1px solid var(--red-base)}:host.ng-touched.ng-invalid .error-icon,:host.errored .error-icon{color:var(--red-base);display:inline!important}:host.ng-touched.ng-invalid .helperText,:host.errored .helperText{color:var(--red-base)}:disabled{opacity:.4;cursor:not-allowed}\n"] }]
1310
+ }], ctorParameters: function () { return []; }, propDecorators: { leftIcon: [{
1311
+ type: Input
1312
+ }], rightIcon: [{
1313
+ type: Input
1314
+ }], context: [{
1315
+ type: Input
1316
+ }], helperText: [{
1317
+ type: Input
1318
+ }], placeholder: [{
1319
+ type: Input
1320
+ }], size: [{
1321
+ type: Input
1322
+ }], error: [{
1323
+ type: HostBinding,
1324
+ args: ['class.errored']
1325
+ }, {
1326
+ type: Input
1327
+ }] } });
1328
+
1329
+ class FwTextInputModule {
1330
+ }
1331
+ FwTextInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTextInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1332
+ FwTextInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwTextInputModule, declarations: [FwTextInputComponent], imports: [CommonModule,
1333
+ FwIconModule,
1334
+ ReactiveFormsModule], exports: [FwTextInputComponent] });
1335
+ FwTextInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTextInputModule, imports: [CommonModule,
1336
+ FwIconModule,
1337
+ ReactiveFormsModule] });
1338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwTextInputModule, decorators: [{
1339
+ type: NgModule,
1340
+ args: [{
1341
+ imports: [
1342
+ CommonModule,
1343
+ FwIconModule,
1344
+ ReactiveFormsModule
1345
+ ],
1346
+ exports: [
1347
+ FwTextInputComponent,
1348
+ ],
1349
+ declarations: [
1350
+ FwTextInputComponent,
1351
+ ],
1352
+ entryComponents: [
1353
+ FwTextInputComponent,
1354
+ ]
1355
+ }]
1356
+ }] });
1357
+
1479
1358
  /**
1480
1359
  * Generated bundle index. Do not edit.
1481
1360
  */
1482
1361
 
1483
- export { FwAvatarComponent, FwAvatarModule, FwButtonComponent, FwButtonGroupComponent, FwButtonGroupModule, FwButtonModule, FwChoiceDialog, FwConfirmDialog, FwDialogModule, FwDialogService, FwErrorDialog, FwIconComponent, FwIconModule, FwNotificationComponent, FwNotificationContainerComponent, FwNotificationModule, FwNotificationService, FwNotificationType, FwPopoverComponent, FwPopoverModule, FwPopoverTriggerComponent, FwPopoverTriggerDirective, FwPortalDialog, FwSectionHeadingComponent, FwSectionHeadingModule, FwTableComponent, FwTableModule, MinimalTranslationService, TranslationService, genId };
1362
+ export { FwAvatarComponent, FwAvatarModule, FwButtonComponent, FwButtonModule, FwChoiceDialog, FwConfirmDialog, FwDialogModule, FwDialogService, FwErrorDialog, FwIconComponent, FwIconModule, FwNotificationComponent, FwNotificationContainerComponent, FwNotificationModule, FwNotificationService, FwNotificationType, FwPopoverComponent, FwPopoverModule, FwPopoverTriggerComponent, FwPopoverTriggerDirective, FwPortalDialog, FwSectionHeadingComponent, FwSectionHeadingModule, FwTextInputComponent, FwTextInputModule, MinimalTranslationService, TranslationService, genId };
1484
1363
  //# sourceMappingURL=flywheel-io-vision.mjs.map