{"__symbolic":"module","version":4,"metadata":{"SbbFormFieldModule":{"__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":11,"character":12},{"__symbolic":"reference","module":"@sbb-esta/angular-business/input","name":"SbbInputModule","line":11,"character":26}],"declarations":[{"__symbolic":"reference","name":"SbbFormField"},{"__symbolic":"reference","name":"SbbError"},{"__symbolic":"reference","name":"SbbLabel"}],"exports":[{"__symbolic":"reference","name":"SbbFormField"},{"__symbolic":"reference","name":"SbbError"},{"__symbolic":"reference","name":"SbbLabel"},{"__symbolic":"reference","module":"@sbb-esta/angular-business/input","name":"SbbInputModule","line":13,"character":46}]}]}],"members":{}},"SBB_FORM_FIELD":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":33,"character":34},"arguments":["SBB_FORM_FIELD"]},"SbbFormField":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"sbb-form-field","exportAs":"sbbFormField","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":40,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":41,"character":17},"member":"None"},"providers":[{"provide":{"__symbolic":"reference","name":"SBB_FORM_FIELD"},"useExisting":{"__symbolic":"reference","name":"SbbFormField"}}],"host":{"class":"sbb-form-field","[class.sbb-form-field-invalid]":"_control?.errorState","[class.sbb-form-field-disabled]":"_control?.disabled","[class.sbb-focused]":"_control?.focused","[class.ng-untouched]":"_shouldForward(\"untouched\")","[class.ng-touched]":"_shouldForward(\"touched\")","[class.ng-pristine]":"_shouldForward(\"pristine\")","[class.ng-dirty]":"_shouldForward(\"dirty\")","[class.ng-valid]":"_shouldForward(\"valid\")","[class.ng-invalid]":"_shouldForward(\"invalid\")","[class.ng-pending]":"_shouldForward(\"pending\")","$quoted$":["[class.sbb-form-field-invalid]","[class.sbb-form-field-disabled]","[class.sbb-focused]","[class.ng-untouched]","[class.ng-touched]","[class.ng-pristine]","[class.ng-dirty]","[class.ng-valid]","[class.ng-invalid]","[class.ng-pending]"]},"template":"<div class=\"sbb-form-field-wrapper\">\n  <div\n    class=\"sbb-form-field-label-wrapper\"\n    (click)=\"_control.onContainerClick && _control.onContainerClick($event)\"\n  >\n    <!-- We add aria-owns as a workaround for an issue in JAWS & NVDA where the label isn't\n       read if it comes before the control in the DOM. -->\n    <label\n      class=\"sbb-form-field-label\"\n      [id]=\"_labelId\"\n      [attr.for]=\"_control.id\"\n      [attr.aria-owns]=\"_control.id\"\n      [class.sbb-form-field-empty]=\"_control.empty\"\n      [ngSwitch]=\"_hasLabel()\"\n    >\n      <ng-container *ngSwitchCase=\"false\">\n        <span>{{ label }}</span>\n      </ng-container>\n\n      <ng-content select=\"sbb-label\" *ngSwitchCase=\"true\"></ng-content>\n    </label>\n  </div>\n  <div class=\"sbb-form-field-input-wrapper\">\n    <ng-content></ng-content>\n  </div>\n  <div class=\"sbb-form-field-error-wrapper\">\n    <!-- @breaking-change 12.0.0 remove sbb-form-error,[sbbFormError]. -->\n    <ng-content\n      *ngIf=\"_hasErrors()\"\n      select=\"sbb-error,[sbbError],sbb-form-error,[sbbFormError]\"\n    ></ng-content>\n  </div>\n</div>\n","styles":[".sbb-form-field{display:inline-block;position:relative;width:15.3333333333rem}.sbb-form-field-short{width:33.333%}@media all and (min-width: 26.3125em){.sbb-form-field-short{width:25%}}@media all and (min-width: 64.0625em){.sbb-form-field-short{width:16.66666%}}.sbb-form-field-medium{width:100%}@media all and (min-width: 40.1875em){.sbb-form-field-medium{width:50%}}.sbb-form-field-long{width:100%}.sbb-form-field-wrapper{padding-bottom:1.2307692308em}.sbb-form-field-errorless .sbb-form-field-wrapper,.sbb-form-field-flexible-errors .sbb-form-field-wrapper{padding-bottom:0}.sbb-form-field-label-wrapper{margin-bottom:.2rem;padding-left:0}.sbb-form-field-label{letter-spacing:0;outline:0;resize:none;background-color:transparent;font-family:\"SBBWeb Roman\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:.8666666667rem;line-height:1.0666666667rem;color:#686868;display:block}.sbb-input-element{width:100%;max-width:100%}.sbb-input-element:-moz-ui-invalid{box-shadow:none}.sbb-input-element::-ms-clear,.sbb-input-element::-ms-reveal{display:none}.sbb-input-element,.sbb-input-element::-webkit-search-cancel-button,.sbb-input-element::-webkit-search-decoration,.sbb-input-element::-webkit-search-results-button,.sbb-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.sbb-input-element::-webkit-contacts-auto-fill-button,.sbb-input-element::-webkit-caps-lock-indicator,.sbb-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.sbb-input-element[type=date],.sbb-input-element[type=datetime],.sbb-input-element[type=datetime-local],.sbb-input-element[type=month],.sbb-input-element[type=week],.sbb-input-element[type=time]{line-height:1}.sbb-input-element[type=date]::after,.sbb-input-element[type=datetime]::after,.sbb-input-element[type=datetime-local]::after,.sbb-input-element[type=month]::after,.sbb-input-element[type=week]::after,.sbb-input-element[type=time]::after{content:\" \";white-space:pre;width:1px}.sbb-input-element::-webkit-inner-spin-button,.sbb-input-element::-webkit-calendar-picker-indicator,.sbb-input-element::-webkit-clear-button{font-size:.75em}textarea.sbb-input-element{resize:vertical;overflow:auto}textarea.sbb-input-element.cdk-textarea-autosize{resize:none}select.sbb-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box}select.sbb-input-element::-ms-expand{display:none}select.sbb-input-element::-moz-focus-inner{border:0}select.sbb-input-element:not(:disabled){cursor:pointer}select.sbb-input-element::-ms-value{color:inherit;background:none}.sbb-focused .cdk-high-contrast-active select.sbb-input-element::-ms-value{color:inherit}.sbb-form-field-error-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.sbb-form-field-flexible-errors .sbb-form-field-error-wrapper{position:relative}.sbb-form-field-error-wrapper .sbb-icon,.sbb-form-field-label-wrapper .sbb-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.sbb-form-field-error-wrapper .sbb-tooltip,.sbb-form-field-label-wrapper .sbb-tooltip{position:relative;margin-left:.66667em}.sbb-form-field-error-wrapper .sbb-tooltip-icon,.sbb-form-field-label-wrapper .sbb-tooltip-icon{vertical-align:bottom}.sbb-form-field-error-wrapper .sbb-tooltip-icon:not(:hover):not(:focus),.sbb-form-field-label-wrapper .sbb-tooltip-icon:not(:hover):not(:focus){color:inherit}.sbb-form-field-error-wrapper .sbb-tooltip-icon,.sbb-form-field-error-wrapper .sbb-tooltip-icon .sbb-icon,.sbb-form-field-label-wrapper .sbb-tooltip-icon,.sbb-form-field-label-wrapper .sbb-tooltip-icon .sbb-icon{width:1.25em;height:1.25em}.sbb-error{display:block;letter-spacing:0;outline:none;resize:none;opacity:1;font-family:\"SBBWeb Roman\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;color:#eb0000;font-size:.8666666667rem;line-height:1.2307692308em}\n"]}]}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"_controlNonStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":66,"character":3},"arguments":[{"__symbolic":"reference","module":"@sbb-esta/angular-core/forms","name":"SbbFormFieldControl","line":66,"character":16}]}]}],"_controlStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":67,"character":3},"arguments":[{"__symbolic":"reference","module":"@sbb-esta/angular-core/forms","name":"SbbFormFieldControl","line":67,"character":16},{"static":true}]}]}],"_labelChildNonStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":78,"character":3},"arguments":[{"__symbolic":"reference","name":"SbbLabel"}]}]}],"_labelChildStatic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":79,"character":3},"arguments":[{"__symbolic":"reference","name":"SbbLabel"},{"static":true}]}]}],"_errorChildren":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":81,"character":3},"arguments":[{"__symbolic":"reference","name":"SBB_ERROR"},{"descendants":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":84,"character":35,"context":{"typeName":"HTMLElement"},"module":"./form-field"}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":85,"character":32}]}],"getLabelId":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_shouldForward":[{"__symbolic":"method"}],"_hasLabel":[{"__symbolic":"method"}],"_hasErrors":[{"__symbolic":"method"}],"_syncDescribedByIds":[{"__symbolic":"method"}],"_validateControlChild":[{"__symbolic":"method"}]}},"SBB_ERROR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":11,"character":29},"arguments":["SbbError"]},"SbbError":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":14,"character":1},"arguments":[{"selector":"sbb-error, [sbbError]","host":{"class":"sbb-error","role":"alert","[attr.id]":"id","$quoted$":["[attr.id]"]},"providers":[{"provide":{"__symbolic":"reference","name":"SBB_ERROR"},"useExisting":{"__symbolic":"reference","name":"SbbError"}}]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}]}},"SbbLabel":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"sbb-label","host":{"class":"sbb-label"}}]}],"members":{}},"getSbbFormFieldMissingControlError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["sbb-form-field must contain a SbbFormFieldControl."]}}},"origins":{"SbbFormFieldModule":"./form-field.module","SBB_FORM_FIELD":"./form-field","SbbFormField":"./form-field","SBB_ERROR":"./error","SbbError":"./error","SbbLabel":"./label","getSbbFormFieldMissingControlError":"./form-field-errors"},"importAs":"@sbb-esta/angular-business/form-field"}