{"__symbolic":"module","version":4,"metadata":{"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":16,"character":4},{"__symbolic":"reference","name":"DesignModule"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}]}]}],"members":{}},"DesignModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":67,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/material/paginator","name":"MatPaginatorModule","line":34,"character":2},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":35,"character":2},{"__symbolic":"reference","module":"@angular/material/toolbar","name":"MatToolbarModule","line":36,"character":2},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":37,"character":2},{"__symbolic":"reference","module":"@angular/material/autocomplete","name":"MatAutocompleteModule","line":38,"character":2},{"__symbolic":"reference","module":"@angular/material/datepicker","name":"MatDatepickerModule","line":39,"character":2},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":40,"character":2},{"__symbolic":"reference","module":"@angular/material/radio","name":"MatRadioModule","line":41,"character":2},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":42,"character":2},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":43,"character":2},{"__symbolic":"reference","module":"@angular/material/slider","name":"MatSliderModule","line":44,"character":2},{"__symbolic":"reference","module":"@angular/material/slide-toggle","name":"MatSlideToggleModule","line":45,"character":2},{"__symbolic":"reference","module":"@angular/material/menu","name":"MatMenuModule","line":46,"character":2},{"__symbolic":"reference","module":"@angular/material/sidenav","name":"MatSidenavModule","line":47,"character":2},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":48,"character":2},{"__symbolic":"reference","module":"@angular/material/grid-list","name":"MatGridListModule","line":49,"character":2},{"__symbolic":"reference","module":"@angular/material/card","name":"MatCardModule","line":50,"character":2},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":51,"character":2},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":52,"character":2},{"__symbolic":"reference","module":"@angular/material/button-toggle","name":"MatButtonToggleModule","line":53,"character":2},{"__symbolic":"reference","module":"@angular/material/chips","name":"MatChipsModule","line":54,"character":2},{"__symbolic":"reference","module":"@angular/material/progress-spinner","name":"MatProgressSpinnerModule","line":55,"character":2},{"__symbolic":"reference","module":"@angular/material/progress-bar","name":"MatProgressBarModule","line":56,"character":2},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":57,"character":2},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":58,"character":2},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":59,"character":2},{"__symbolic":"reference","module":"@angular/material/snack-bar","name":"MatSnackBarModule","line":60,"character":2},{"__symbolic":"reference","module":"@angular/material/expansion","name":"MatExpansionModule","line":61,"character":2},{"__symbolic":"reference","module":"@angular/material/badge","name":"MatBadgeModule","line":62,"character":2},{"__symbolic":"reference","module":"@angular/material/table","name":"MatTableModule","line":63,"character":2},{"__symbolic":"reference","module":"@angular/material/stepper","name":"MatStepperModule","line":64,"character":2}],"exports":[{"__symbolic":"reference","module":"@angular/material/paginator","name":"MatPaginatorModule","line":34,"character":2},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":35,"character":2},{"__symbolic":"reference","module":"@angular/material/toolbar","name":"MatToolbarModule","line":36,"character":2},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":37,"character":2},{"__symbolic":"reference","module":"@angular/material/autocomplete","name":"MatAutocompleteModule","line":38,"character":2},{"__symbolic":"reference","module":"@angular/material/datepicker","name":"MatDatepickerModule","line":39,"character":2},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":40,"character":2},{"__symbolic":"reference","module":"@angular/material/radio","name":"MatRadioModule","line":41,"character":2},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":42,"character":2},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":43,"character":2},{"__symbolic":"reference","module":"@angular/material/slider","name":"MatSliderModule","line":44,"character":2},{"__symbolic":"reference","module":"@angular/material/slide-toggle","name":"MatSlideToggleModule","line":45,"character":2},{"__symbolic":"reference","module":"@angular/material/menu","name":"MatMenuModule","line":46,"character":2},{"__symbolic":"reference","module":"@angular/material/sidenav","name":"MatSidenavModule","line":47,"character":2},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":48,"character":2},{"__symbolic":"reference","module":"@angular/material/grid-list","name":"MatGridListModule","line":49,"character":2},{"__symbolic":"reference","module":"@angular/material/card","name":"MatCardModule","line":50,"character":2},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":51,"character":2},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":52,"character":2},{"__symbolic":"reference","module":"@angular/material/button-toggle","name":"MatButtonToggleModule","line":53,"character":2},{"__symbolic":"reference","module":"@angular/material/chips","name":"MatChipsModule","line":54,"character":2},{"__symbolic":"reference","module":"@angular/material/progress-spinner","name":"MatProgressSpinnerModule","line":55,"character":2},{"__symbolic":"reference","module":"@angular/material/progress-bar","name":"MatProgressBarModule","line":56,"character":2},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":57,"character":2},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":58,"character":2},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":59,"character":2},{"__symbolic":"reference","module":"@angular/material/snack-bar","name":"MatSnackBarModule","line":60,"character":2},{"__symbolic":"reference","module":"@angular/material/expansion","name":"MatExpansionModule","line":61,"character":2},{"__symbolic":"reference","module":"@angular/material/badge","name":"MatBadgeModule","line":62,"character":2},{"__symbolic":"reference","module":"@angular/material/table","name":"MatTableModule","line":63,"character":2},{"__symbolic":"reference","module":"@angular/material/stepper","name":"MatStepperModule","line":64,"character":2}]}]}],"members":{}},"TftSearchModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":4},{"__symbolic":"reference","name":"DesignModule"},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":27,"character":4},{"__symbolic":"reference","module":"angular-instantsearch","name":"NgAisModule","line":28,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}],"exports":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}]}]}],"members":{}},"DynamicFieldConfig":{"__symbolic":"interface"},"FormConfig":{"__symbolic":"interface"},"AnyFieldConfig":{"__symbolic":"interface"},"ControlType":{"AUTOCOMPLETE":"autocomplete","INPUT":"input","TEXTAREA":"textarea","CHECKBOX":"checkbox","SELECT":"select","BUTTON":"button","GROUP":"group","GROUP_LIST":"groupList"},"FormGroupListConfig":{"__symbolic":"interface"},"InputFieldConfig":{"__symbolic":"interface"},"SelectFieldConfig":{"__symbolic":"interface"},"OptionsType":{"__symbolic":"interface"},"OptionsCallback":{"__symbolic":"interface"},"ReactiveOptionsCallback":{"__symbolic":"interface"},"SelectOption":{"__symbolic":"interface"},"ReactiveOptionsConfig":{"__symbolic":"interface"},"DEFAULT_EMPTY_OPTIONS_MESSAGE":"No Items","AutocompleteFieldConfig":{"__symbolic":"interface"},"DynamicFormModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":33,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":35,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":36,"character":4},{"__symbolic":"reference","name":"DesignModule"},{"__symbolic":"reference","name":"CoreModule"},{"__symbolic":"reference","name":"UtilitiesModule"},{"__symbolic":"reference","name":"ValidationHandlingModule"}],"declarations":[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"DynamicFormComponent"},{"__symbolic":"reference","name":"InputFieldComponent"},{"__symbolic":"reference","name":"SelectFieldComponent"},{"__symbolic":"reference","name":"AutocompleteFieldComponent"},{"__symbolic":"reference","name":"CheckboxFieldComponent"},{"__symbolic":"reference","name":"TextareaFieldComponent"},{"__symbolic":"reference","name":"RaisedButtonComponent"},{"__symbolic":"reference","name":"FormGroupComponent"},{"__symbolic":"reference","name":"FormGroupListComponent"}],"exports":[{"__symbolic":"reference","name":"DynamicFormComponent"},{"__symbolic":"reference","name":"InputFieldComponent"},{"__symbolic":"reference","name":"SelectFieldComponent"},{"__symbolic":"reference","name":"AutocompleteFieldComponent"},{"__symbolic":"reference","name":"CheckboxFieldComponent"},{"__symbolic":"reference","name":"TextareaFieldComponent"},{"__symbolic":"reference","name":"RaisedButtonComponent"},{"__symbolic":"reference","name":"FormGroupComponent"},{"__symbolic":"reference","name":"FormGroupListComponent"}],"entryComponents":[{"__symbolic":"reference","name":"InputFieldComponent"},{"__symbolic":"reference","name":"SelectFieldComponent"},{"__symbolic":"reference","name":"AutocompleteFieldComponent"},{"__symbolic":"reference","name":"CheckboxFieldComponent"},{"__symbolic":"reference","name":"TextareaFieldComponent"},{"__symbolic":"reference","name":"RaisedButtonComponent"},{"__symbolic":"reference","name":"FormGroupComponent"},{"__symbolic":"reference","name":"FormGroupListComponent"}]}]}],"members":{}},"DynamicFormComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tft-dynamic-form","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":8,"character":19},"member":"OnPush"},"template":"<form\n  class=\"dynamic-form\"\n  [formGroup]=\"form\"\n  (ngSubmit)=\"handleSubmit()\"\n  [errorDictionary]=\"config.errorDictionary\">\n\n  <ng-container\n    *ngFor=\"let field of config.fields;\"\n    tftDynamicField\n    [config]=\"field\"\n    [group]=\"form\">\n  </ng-container>\n\n</form>","styles":[""]}]}],"members":{"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"handleSubmit":[{"__symbolic":"method"}],"triggerOnChangesForChildren":[{"__symbolic":"method"}]}},"InputFieldComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tft-input-field","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":8,"character":19},"member":"OnPush"},"template":"<tft-field-container\n  [config]=\"config\"\n  [group]=\"group\">\n  <mat-form-field\n    [formGroup]=\"group\">\n    <input\n      [type]=\"config.inputType\"\n      matInput\n      [placeholder]=\"config.placeholder\"\n      [formControlName]=\"config.controlName\">\n  </mat-form-field>\n  \n\n</tft-field-container>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"SelectFieldComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"tft-select-field","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":11,"character":19},"member":"OnPush"},"template":"<tft-field-container\n  [config]=\"config\"\n  [group]=\"group\">\n\n  <mat-form-field\n    [formGroup]=\"group\">\n     <mat-select\n      [formControlName]=\"config.controlName\"\n      [placeholder]=\"config.placeholder\"\n      [multiple]=\"config.multiple\">\n\n      <mat-option\n        *ngFor=\"let option of options$ | async\"\n        [value]=\"option.value\">\n        {{ option.label }}\n      </mat-option>\n    </mat-select>\n  </mat-form-field>\n\n</tft-field-container>","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"AutocompleteFieldComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"tft-autocomplete-field","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":13,"character":19},"member":"OnPush"},"template":"\n<tft-field-container\n[config]=\"config\"\n[group]=\"group\">\n\n<mat-form-field\n  [formGroup]=\"group\">\n  <input\n    matInput\n    #autoInput\n    [placeholder]=\"config.placeholder\"\n    [matAutocomplete]=\"auto\"\n    [formControlName]=\"config.controlName\"\n    (blur)=\"handleBlur($event)\">\n  <mat-autocomplete\n    #auto=\"matAutocomplete\"\n    autoActiveFirstOption\n    [displayWith]=\"displayLabel(options$ | async)\">\n\n      <mat-option\n        *ngFor=\"let option of filteredOptions$ | async\"\n        [value]=\"option.value\">\n        {{ option.label }}\n      </mat-option>\n      \n  </mat-autocomplete>\n</mat-form-field>\n\n</tft-field-container>","styles":[""]}]}],"members":{"autoInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":["autoInput",{"read":{"__symbolic":"reference","module":"@angular/material/autocomplete","name":"MatAutocompleteTrigger","line":17,"character":34},"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"displayLabel":[{"__symbolic":"method"}],"handleBlur":[{"__symbolic":"method"}],"defaultFilterFunction":[{"__symbolic":"method"}]}},"CheckboxFieldComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tft-checkbox-field","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":8,"character":19},"member":"OnPush"},"template":"<tft-field-container\n  [config]=\"config\"\n  [group]=\"group\"\n  [inlineField]=\"inline\">\n  <div\n    [formGroup]=\"group\">\n    <mat-checkbox\n      [labelPosition]=\"labelPosition\"\n      [formControlName]=\"config.controlName\">\n      {{config.text}}\n    </mat-checkbox>\n  </div>\n</tft-field-container>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TextareaFieldComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tft-textarea-field","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":8,"character":19},"member":"OnPush"},"template":"<tft-field-container\n  [config]=\"config\"\n  [group]=\"group\">\n  <mat-form-field\n    [formGroup]=\"group\">\n    <textarea\n      [rows]=\"rows\"\n      matInput\n      [placeholder]=\"config.placeholder\"\n      [formControlName]=\"config.controlName\">\n    </textarea>\n  </mat-form-field>\n  \n\n</tft-field-container>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"RaisedButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"tft-raised-button","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":9,"character":19},"member":"OnPush"},"template":"<div\n  [ngClass]=\"config.classes\">\n  <button\n    [formGroup]=\"group\"\n    mat-raised-button\n    color=\"primary\"\n    type=\"submit\">\n    {{ config.label }}\n  </button>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"FormGroupComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tft-form-group","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":8,"character":19},"member":"OnPush"},"template":"<tft-field-container\n  [config]=\"config\"\n  [group]=\"group\">\n  <div [formGroup]=\"group\">\n    <div\n      [formGroupName]=\"config.controlName\">\n      <ng-container\n        *ngFor=\"let field of config.fields;\"\n        tftDynamicField\n        [config]=\"field\"\n        [group]=\"subGroup\">\n      </ng-container>\n    </div>\n  </div>\n</tft-field-container>\n\n","styles":[""]}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"FormGroupListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"tft-form-group-list","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"template":"\n<tft-field-container\n  [config]=\"config\"\n  [formGroup]=\"group\">\n\n  <div [formArrayName]=\"config.controlName\">\n    <!-- TODO: add sortBy function -->\n    <div *ngFor=\"let control of this.formArray.controls; let i = index;\">\n      <!-- TODO: use content projection to allow custom item label component -->\n      <span class=\"mat-h3\" *ngIf=\"config.itemLabelBuilder\"> {{ i | callback : config.itemLabelBuilder }} </span>\n      <button \n        mat-icon-button \n        *ngIf=\"i + 1 > minListLength\">\n        <mat-icon (click)=\"deleteGroup(i)\">delete</mat-icon>\n      </button>\n      <div\n        [formGroupName]=\"i\">\n        <ng-container\n          *ngFor=\"let field of config.itemConfig.fields;\"\n          tftDynamicField\n          [config]=\"field\"\n          [group]=\"control\">\n        </ng-container>\n      </div>\n    </div>\n  </div>\n\n  <button\n    type=\"button\"\n    mat-raised-button\n    (click)=\"addGroup()\">\n    {{addItemLabel}}\n  </button>\n\n</tft-field-container>\n","styles":[""]}]}],"members":{"ngOnInit":[{"__symbolic":"method"}],"getFormArray":[{"__symbolic":"method"}],"addGroup":[{"__symbolic":"method"}],"deleteGroup":[{"__symbolic":"method"}]}},"CheckControlConfig":{"__symbolic":"interface"},"checkControlForValues":{"__symbolic":"function"},"CheckControlsConfig":{"__symbolic":"interface"},"checkControlsForValues":{"__symbolic":"function"},"ComputeFieldConfig":{"__symbolic":"interface"},"computeValueFromFields":{"__symbolic":"function"},"observablifyOptions":{"__symbolic":"function"},"buildFormGroupFromConfig":{"__symbolic":"function"},"createControlForType":{"__symbolic":"function"},"ValidationHandlingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":16,"character":4},{"__symbolic":"reference","name":"DesignModule"}],"exports":[{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"}],"entryComponents":[{"__symbolic":"reference","name":"ɵl"}]}]}],"members":{}},"ErrorDictionary":{"__symbolic":"interface"},"ErrorFactory":{"__symbolic":"interface"},"UtilitiesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":4},{"__symbolic":"reference","name":"PipesModule"},{"__symbolic":"reference","name":"DirectivesModule"}],"exports":[{"__symbolic":"reference","name":"PipesModule"},{"__symbolic":"reference","name":"DirectivesModule"}]}]}],"members":{}},"CallbackPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":12,"character":1},"arguments":[{"name":"callback"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"PipesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":4}],"declarations":[{"__symbolic":"reference","name":"CallbackPipe"}],"exports":[{"__symbolic":"reference","name":"CallbackPipe"}]}]}],"members":{}},"DirectivesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":4}],"exports":[]}]}],"members":{}},"FileUploadModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"}],"exports":[{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":16,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"tft-header","template":"<mat-toolbar>\n  <button mat-icon-button (click)=\"onMenuClicked()\">\n    <mat-icon>menu</mat-icon>   \n  </button>\n  <strong>{{ title }} </strong> {{subtitle}}\n</mat-toolbar>","styles":[""]}]}],"members":{"menuClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"subtitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"onMenuClicked":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"tft-sidenav-navigation","template":"<mat-nav-list>\n  <mat-list-item \n    *ngFor=\"let link of links\"\n    [routerLink]=\"link.path\"\n    (click)=\"onItemClicked(link)\">\n    \n    <a matLine> \n        {{ link.title }}\n      </a>\n      <mat-icon *ngIf=\"!!link.description\"\n        [matTooltip]=\"link.description || 'Description coming soon!'\">\n        info\n      </mat-icon>\n\n    \n  </mat-list-item>\n</mat-nav-list>","styles":[""]}]}],"members":{"links":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"itemClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"onItemClicked":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"angular-instantsearch","name":"BaseWidget","line":27,"character":43},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"tft-filter-select","template":"<mat-form-field>\n  <mat-select\n    [placeholder]=\"title\"\n    [multiple]=\"multiple\">\n    <mat-option\n      *ngFor=\"let item of state.items\"\n      [value]=\"item.value\"\n      (click)=\"refine($event, item)\">\n      {{ item.label | titlecase }}\n    </mat-option>\n  </mat-select>\n</mat-form-field>\n\n<!-- <button\n  *ngIf=\"state.canToggleShowMore\"\n  (click)=\"state.toggleShowMore()\">\n  {{state.isShowingMore ? showLessLabel : showMoreLabel}}\n</button> -->\n","styles":[""]}]}],"members":{"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"attributeName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":5},"arguments":[{"__symbolic":"reference","module":"angular-instantsearch","name":"NgAisInstantSearch","line":44,"character":29}]}]],"parameters":[null]}],"ngOnInit":[{"__symbolic":"method"}],"refine":[{"__symbolic":"method"}],"clearFilter":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"angular-instantsearch","name":"BaseWidget","line":9,"character":40},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tft-search-box","template":"<div \n  fxFlex\n  fxLayoutAlign=\"center center\">\n\n  <mat-form-field\n    fxFlex>\n    <input\n      matInput\n      autocapitalize=\"off\"\n      autocorrect=\"off\"\n      autocomplete=\"off\"\n      [placeholder]=\"placeholder\"\n      role=\"textbox\"\n      spellcheck=\"false\"\n      type=\"text\"\n      [value]=\"state.query\"\n      (input)=\"handleChange($event.target.value)\"\n      #searchInput/>\n    <mat-hint\n      *ngIf=\"algoliaAttribution\">\n      <tft-algolia-attribution></tft-algolia-attribution>\n    </mat-hint>\n  </mat-form-field>\n  \n  <button mat-raised-button\n    color=\"primary\"\n    type=\"submit\"\n    (click)=\"handleSubmit($event, searchInput.value)\">\n    <mat-icon>\n      search\n    </mat-icon>\n    {{ submitTitle }}\n  </button>\n  \n  <button \n    *ngIf=\"displayResetButton\"\n    mat-raised-button\n    color=\"accent\"\n    type=\"reset\"\n    title=\"{{resetTitle}}\"\n    (click)=\"handleReset($event)\">\n    <mat-icon>\n      close\n    </mat-icon>\n    {{ resetTitle }}\n  </button>\n  \n\n\n</div>","styles":[""]}]}],"members":{"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"submitTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"resetTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"algoliaAttribution":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"displayResetButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"refineOnKeyUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":5},"arguments":[{"__symbolic":"reference","module":"angular-instantsearch","name":"NgAisInstantSearch","line":24,"character":29}]}]],"parameters":[null]}],"ngOnInit":[{"__symbolic":"method"}],"handleChange":[{"__symbolic":"method"}],"handleSubmit":[{"__symbolic":"method"}],"handleReset":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"tft-algolia-attribution","template":"powered by \n<img \n  [src]='algoliaLogoUrl' \n  alt='algolia logo'>\n","styles":["img{height:14px;margin-bottom:-3px}"]}]}],"members":{"algoliaLogoUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"angular-instantsearch","name":"BaseWidget","line":13,"character":43},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"tft-autocomplete","template":"\n<form\n  [formGroup]=\"formContainer\"\n  fxFlex\n  fxLayoutAlign=\"center center\"\n  fxLayoutGap='8px'>\n\n  <mat-form-field\n    fxFlex>\n    <input\n      matInput\n      autocapitalize=\"off\"\n      autocorrect=\"off\"\n      spellcheck=\"false\"\n      formControlName=\"autocomplete\"\n      [placeholder]=\"placeholder\"\n      [matAutocomplete]=\"auto\"\n      [value]=\"state.query\">\n\n    <mat-autocomplete\n      (optionSelected)=\"handleSelect($event)\"\n      [displayWith]=\"mapToName\"\n      #auto=\"matAutocomplete\">\n\n      <mat-option\n        *ngFor=\"let hit of hits | async\"\n        [value]=\"hit\">\n\n        <img\n          *ngIf=\"hit[imageUrlParam]\"\n          [src]=\"hit[imageUrlParam]\"\n          style=\"vertical-align:middle;\"\n          aria-hidden\n          height=\"25\"/>\n        <span> {{ hit.name }} </span>\n      </mat-option>\n\n    </mat-autocomplete>\n    <mat-hint\n      *ngIf=\"algoliaAttribution\">\n      <tft-algolia-attribution></tft-algolia-attribution>\n    </mat-hint>\n  </mat-form-field>\n\n  <div\n    fxHide.lt-sm>\n    <button\n      *ngIf=\"displaySelectButton\"\n      mat-raised-button\n      [disabled]=\"formContainer.invalid\"\n      color=\"primary\"\n      type=\"submit\"\n      (click)=\"handleSubmit($event)\">\n      <mat-icon>\n        add\n      </mat-icon>\n      {{ selectTitle }}\n    </button>\n\n    <button\n      *ngIf=\"displayClearButton\"\n      mat-raised-button\n      color=\"accent\"\n      title=\"{{clearTitle}}\"\n      type=\"button\"\n      (click)=\"handleClear($event)\">\n      <mat-icon>\n        close\n      </mat-icon>\n      {{ clearTitle }}\n    </button>\n  </div>\n\n  <div\n    fxHide.gt-xs>\n    <button mat-mini-fab\n      *ngIf=\"displaySelectButton\"\n      [disabled]=\"formContainer.invalid\"\n      color=\"primary\"\n      type=\"submit\"\n      (click)=\"handleSubmit($event)\"\n      matTooltip=\"Select item\">\n      <mat-icon>\n        add\n      </mat-icon>\n    </button>\n\n    <button\n      *ngIf=\"displayClearButton\"\n      mat-mini-fab\n      color=\"accent\"\n      type=\"button\"\n      (click)=\"handleClear($event)\"\n      matTooltip=\"Clear searchbox\">\n      <mat-icon>\n        close\n      </mat-icon>\n    </button>\n  </div>\n\n</form>\n","styles":[""]}]}],"members":{"imageUrlParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"algoliaAttribution":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"selectTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"clearTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"displayClearButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"displaySelectButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"clearOnSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"validators":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":68,"character":5},"arguments":[{"__symbolic":"reference","module":"angular-instantsearch","name":"NgAisInstantSearch","line":68,"character":29}]}],null],"parameters":[null,{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":70,"character":16}]}],"ngOnInit":[{"__symbolic":"method"}],"handleChange":[{"__symbolic":"method"}],"handleSelect":[{"__symbolic":"method"}],"handleSubmit":[{"__symbolic":"method"}],"handleClear":[{"__symbolic":"method"}],"clearValue":[{"__symbolic":"method"}],"mapToName":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"angular-instantsearch","name":"BaseWidget","line":30,"character":45},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"tft-filter-chiplist","template":"<form\n  [formGroup]=\"formContainer\"\n  (submit)=\"handleSubmit($event)\"\n  fxFlex\n  fxLayoutAlign=\"center center\">\n\n  <mat-form-field\n    fxFlex>\n    <mat-chip-list\n      #chipList>\n      <mat-chip\n        class=\"refinement-chip\"\n        *ngFor=\"let chip of chips\"\n        [selectable]=\"chipSelectable\"\n        [removable]=\"areChipsRemovable\"\n        (removed)=\"removeChip(chip)\">\n\t\t\t\t{{chip.label}}\n\t\t\t\t<mat-icon\n          matChipRemove\n          *ngIf=\"areChipsRemovable\">\n          cancel\n        </mat-icon>\n\t\t\t</mat-chip>\n\n      <!-- [value]=\"state.query\" -->\n      <input\n        role=\"textbox\"\n        type=\"text\"\n        formControlName=\"autocomplete\"\n        [placeholder]=\"placeholder\"\n        [matChipInputFor]=\"chipList\"\n        [matAutocomplete]=\"auto\"\n        [matChipInputAddOnBlur]=\"addChipOnBlur\"\n        matInput\n        [value]=\"searchQuery\"\n        autocapitalize=\"off\"\n        autocorrect=\"off\"\n        spellcheck=\"false\"\n        #chipInput/>\n      </mat-chip-list>\n      <mat-autocomplete\n        #auto=\"matAutocomplete\"\n        (optionSelected)=\"handleSelect($event)\"\n        [displayWith]=\"mapToName\">\n\n        <mat-option\n          *ngFor=\"let item of remainingItems$ | async\"\n          [value]=\"item\">\n\n          <img\n            *ngIf=\"item[imageUrlParam]\"\n            [src]=\"item[imageUrlParam]\"\n            style=\"vertical-align:middle;\"\n            aria-hidden\n            height=\"25\"/>\n          {{ item.label }}\n        </mat-option>\n      </mat-autocomplete>\n\n\n  </mat-form-field>\n</form>","styles":["::ng-deep div.mat-chip-list-wrapper{margin:0}.mat-chip:not(.mat-basic-chip),.mat-chip:not(.mat-basic-chip)+.mat-chip:not(.mat-basic-chip){margin:0 0 8px 8px}mat-form-field.mat-form-field{margin:0 8px 0 0}"]}]}],"members":{"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"attributeName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"operator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"transformItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"imageUrlParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"validators":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"displaySubmitChipsButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"selectTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"displayClearButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"clearTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"clearOnSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"areChipsRemovable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"addChipOnBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"chipSelectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"limitMin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"limitMax":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"sortBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":5},"arguments":[{"__symbolic":"reference","module":"angular-instantsearch","name":"NgAisInstantSearch","line":87,"character":29}]}],null],"parameters":[null,{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":89,"character":16}]}],"ngOnInit":[{"__symbolic":"method"}],"refine":[{"__symbolic":"method"}],"handleSubmit":[{"__symbolic":"method"}],"handleChange":[{"__symbolic":"method"}],"handleSelect":[{"__symbolic":"method"}],"removeChip":[{"__symbolic":"method"}],"mapToName":[{"__symbolic":"method"}],"parseNumberInput":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"angular-instantsearch","name":"BaseWidget","line":14,"character":41},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"tft-pagination","template":"<mat-paginator\n  [length]=\"state.nbHits\"\n  [pageSize]=\"state.pageSize\"\n  [pageSizeOptions]=\"pageSizes\"\n  (page)=\"refine($event, hitsPerPage)\">\n</mat-paginator>\n\n<ais-hits-per-page \n  [items]=\"pageSizeOptions\" \n  #hitsPerPage>\n</ais-hits-per-page>\n","styles":["ais-hits-per-page{display:none}"]}]}],"members":{"showFirst":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"showLast":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"showPrevious":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"showNext":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pagesPadding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"maxPages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"pageSizes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":42,"character":5},"arguments":[{"__symbolic":"reference","module":"angular-instantsearch","name":"NgAisInstantSearch","line":42,"character":29}]}]],"parameters":[null]}],"ngOnInit":[{"__symbolic":"method"}],"refine":[{"__symbolic":"method"}],"parseNumberInput":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":11,"character":1},"arguments":[{"selector":"[formControl], [formControlName]"}]}],"members":{"handleBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":25,"character":3},"arguments":["blur"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":31,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":32,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":33,"character":5}}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":31,"character":29},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":34,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":35,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getInteractionHandler":[{"__symbolic":"method"}],"setError":[{"__symbolic":"method"}],"getErrorMessage":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"form"}]}],"members":{"errorDictionary":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":21,"character":39,"context":{"typeName":"HTMLFormElement"},"module":"./lib/validation-handling/control-errors-form.directive"}]}]}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[controlErrorContainer], [formGroup]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":8,"character":26}]}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":1,"character":1},"arguments":[{"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":4,"character":19},"member":"OnPush"},"template":"<mat-error *ngIf=\"!_hide\">{{_text}}</mat-error>","styles":["mat-error{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:.75em;position:relative;top:-16px}"]}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":18,"character":27}]}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":25,"character":1},"arguments":[{"selector":"[tftDynamicField]"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":37,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":38,"character":23}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"tft-field-container","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":19},"member":"OnPush"},"template":"<div\n  *ngIf=\"showField | async\"\n  [ngClass]=\"config.classes\"\n  [class.inline-field]=\"inlineField\"\n  class=\"field-container\">\n\n  <label\n    *ngIf=\"!!config.label\"\n    class=\"mat-h3\">{{ config.label }}\n  </label>\n  \n  <ng-content></ng-content>\n\n</div>\n","styles":["::ng-deep mat-form-field.mat-form-field{display:block}.inline-field{display:inline-block}"]}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"inlineField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"connectShowField":[{"__symbolic":"method"}],"alignFormWithView":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[tftDropZone]"}]}],"members":{"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"hovered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["drop",["$event"]]}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":25,"character":3},"arguments":["dragleave",["$event"]]}]}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"tft-file-upload","template":"<div class=\"dropzone\"\n     dropZone\n     (hovered)=\"toggleHover($event)\"\n     (dropped)=\"startUpload($event)\"\n     [class.hovering]=\"isHovering\">\n\n\n\n     <h3>AngularFire Drop Zone</h3>\n\n     <div class=\"file\">\n        <label class=\"file-label\">\n\n\n        <input class=\"file-input\" type=\"file\" (change)=\"startUpload($event.target.files)\">\n\n\n          <span class=\"file-cta\">\n            <span class=\"file-icon\">\n              <i class=\"fa fa-upload\"></i>\n            </span>\n            <span class=\"file-label\">\n              or choose a file…\n            </span>\n          </span>\n        </label>\n      </div>\n</div>\n\n<div *ngIf=\"percentage$ | async as pct\">\n  <progress class=\"progress is-info\"\n            [value]=\"pct\"\n            max=\"100\">\n  </progress>\n  {{ pct | number }}%\n</div>\n{{ downloadURL$ | async | json }}\n<div *ngIf=\"snapshot$ | async as snap\">\n  {{ snap.bytesTransferred }} of {{ snap.totalBytes }}\n\n  <div *ngIf=\"downloadURL$ | async as url\">\n    <h3>Results!</h3>\n    <img [src]=\"url\"><br>\n    <a [href]=\"url\" target=\"_blank\" rel=\"noopener\">Download Me!</a>\n  </div>\n\n  <button (click)=\"task.pause()\" class=\"button is-warning\" [disabled]=\"!isActive(snap)\">Pause</button>\n  <button (click)=\"task.cancel()\" class=\"button is-danger\" [disabled]=\"!isActive(snap)\">Cancel</button>\n  <button (click)=\"task.resume()\" class=\"button is-info\"   [disabled]=\"!(snap?.state === 'paused')\">Resume</button>\n\n</div>","styles":[".dropzone{display:flex;align-items:center;justify-content:center;flex-direction:column;height:300px;border:2px dashed #f16624;border-radius:5px;background:#fff;margin:10px 0}.dropzone.hovering{border:2px solid #f16624;color:#dadada!important}progress::-webkit-progress-value{transition:width .1s}"]}]}],"members":{"rootPath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"expectCompression":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"quality":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"uploadComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/fire/storage","name":"AngularFireStorage","line":42,"character":21},{"__symbolic":"reference","module":"@angular/fire/firestore","name":"AngularFirestore","line":43,"character":16},{"__symbolic":"reference","module":"@angular/material/snack-bar","name":"MatSnackBar","line":44,"character":22}]}],"ngOnDestroy":[{"__symbolic":"method"}],"toggleHover":[{"__symbolic":"method"}],"startUpload":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}]}}},"origins":{"CoreModule":"./lib/core/core.module","DesignModule":"./lib/design/design.module","TftSearchModule":"./lib/search/search.module","DynamicFieldConfig":"./lib/dynamic-form/models/dynamic-field-config","FormConfig":"./lib/dynamic-form/models/dynamic-field-config","AnyFieldConfig":"./lib/dynamic-form/models/dynamic-field-config","ControlType":"./lib/dynamic-form/models/dynamic-field-config","FormGroupListConfig":"./lib/dynamic-form/form-group-list/form-group-list.config","InputFieldConfig":"./lib/dynamic-form/models/input-field-config","SelectFieldConfig":"./lib/dynamic-form/models/select-field-config","OptionsType":"./lib/dynamic-form/models/select-field-config","OptionsCallback":"./lib/dynamic-form/models/select-field-config","ReactiveOptionsCallback":"./lib/dynamic-form/models/select-field-config","SelectOption":"./lib/dynamic-form/models/select-field-config","ReactiveOptionsConfig":"./lib/dynamic-form/models/select-field-config","DEFAULT_EMPTY_OPTIONS_MESSAGE":"./lib/dynamic-form/models/select-field-config","AutocompleteFieldConfig":"./lib/dynamic-form/models/autocomplete-field-config","DynamicFormModule":"./lib/dynamic-form/dynamic-form.module","DynamicFormComponent":"./lib/dynamic-form/dynamic-form.component","InputFieldComponent":"./lib/dynamic-form/material/input-field/input-field.component","SelectFieldComponent":"./lib/dynamic-form/material/select-field/select-field.component","AutocompleteFieldComponent":"./lib/dynamic-form/material/autocomplete-field/autocomplete-field.component","CheckboxFieldComponent":"./lib/dynamic-form/material/checkbox-field/checkbox-field.component","TextareaFieldComponent":"./lib/dynamic-form/material/textarea-field/textarea-field.component","RaisedButtonComponent":"./lib/dynamic-form/material/raised-button/raised-button.component","FormGroupComponent":"./lib/dynamic-form/form-group/form-group.component","FormGroupListComponent":"./lib/dynamic-form/form-group-list/form-group-list.component","CheckControlConfig":"./lib/dynamic-form/dynamic-form.helpers","checkControlForValues":"./lib/dynamic-form/dynamic-form.helpers","CheckControlsConfig":"./lib/dynamic-form/dynamic-form.helpers","checkControlsForValues":"./lib/dynamic-form/dynamic-form.helpers","ComputeFieldConfig":"./lib/dynamic-form/dynamic-form.helpers","computeValueFromFields":"./lib/dynamic-form/dynamic-form.helpers","observablifyOptions":"./lib/dynamic-form/dynamic-form.helpers","buildFormGroupFromConfig":"./lib/dynamic-form/dynamic-form.helpers","createControlForType":"./lib/dynamic-form/dynamic-form.helpers","ValidationHandlingModule":"./lib/validation-handling/validation-handling.module","ErrorDictionary":"./lib/validation-handling/form-errors","ErrorFactory":"./lib/validation-handling/form-errors","UtilitiesModule":"./lib/utilities/utilities.module","CallbackPipe":"./lib/utilities/pipes/callback.pipe","PipesModule":"./lib/utilities/pipes/pipes.module","DirectivesModule":"./lib/utilities/directives/directives.module","FileUploadModule":"./lib/file-upload/file-upload.module","ɵa":"./lib/core/header/header.component","ɵb":"./lib/core/sidenav-navigation/sidenav-navigation.component","ɵc":"./lib/search/filter-select/filter-select.component","ɵd":"./lib/search/search-box/search-box.component","ɵe":"./lib/search/algolia-attribution/algolia-attribution.component","ɵf":"./lib/search/autocomplete/autocomplete.component","ɵg":"./lib/search/filter-chiplist/filter-chiplist.component","ɵh":"./lib/search/pagination/pagination.component","ɵi":"./lib/validation-handling/control-errors.directive","ɵj":"./lib/validation-handling/control-errors-form.directive","ɵk":"./lib/validation-handling/control-error-container.directive","ɵl":"./lib/validation-handling/control-error/control-error.component","ɵm":"./lib/dynamic-form/dynamic-field.directive","ɵn":"./lib/dynamic-form/field-container/field-container.component","ɵo":"./lib/file-upload/drop-zone.directive","ɵp":"./lib/file-upload/file-upload/file-upload.component"},"importAs":"tft-library"}