@theseam/ui-common 0.4.23 → 0.4.24

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.
Files changed (31) hide show
  1. package/esm2020/form-field/form-field-required-indicator.component.mjs +22 -7
  2. package/esm2020/form-field/input.directive.mjs +19 -16
  3. package/esm2020/form-field/testing/form-field.harness.mjs +45 -0
  4. package/esm2020/form-field/testing/index.mjs +2 -1
  5. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  6. package/esm2020/story-helpers/story-modal-container.component.mjs +3 -3
  7. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  8. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  9. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  10. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  11. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  12. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  13. package/fesm2015/theseam-ui-common-form-field.mjs +92 -27
  14. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  15. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  16. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  17. package/fesm2015/theseam-ui-common-story-helpers.mjs +2 -2
  18. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  19. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  20. package/fesm2020/theseam-ui-common-form-field.mjs +88 -27
  21. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  22. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  23. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  24. package/fesm2020/theseam-ui-common-story-helpers.mjs +2 -2
  25. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  26. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  27. package/form-field/form-field-required-indicator.component.d.ts +6 -1
  28. package/form-field/input.directive.d.ts +9 -15
  29. package/form-field/testing/form-field.harness.d.ts +14 -0
  30. package/form-field/testing/index.d.ts +1 -0
  31. package/package.json +1 -1
@@ -26,4 +26,4 @@ function splitMultPolygon(multiPolygon) {
26
26
  coordinates: c,
27
27
  }));
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtbXVsdGktcG9seWdvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vdXRpbHMvZ2VvLWpzb24vc3BsaXQtbXVsdGktcG9seWdvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsaUJBQW9DO0lBQ3JFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzFELElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7WUFDdkQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtnQkFDcEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsUUFBUSxFQUFFLENBQUM7b0JBQ1gsVUFBVSxFQUFFLEVBQUc7aUJBQ0osQ0FBQSxDQUFDLENBQUE7Z0JBQ2QsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUE7Z0JBQ3BELENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO2FBQ3RDO1NBQ0Y7S0FDRjtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFlBQTBCO0lBQ2xELE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUFFLENBQUM7S0FDZixDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2x5Z29uIH0gZnJvbSAnQHR1cmYvaGVscGVycydcbmltcG9ydCB7XG4gIEZlYXR1cmUsXG4gIEZlYXR1cmVDb2xsZWN0aW9uLFxuICBNdWx0aVBvbHlnb24sXG59IGZyb20gJ2dlb2pzb24nXG5cbi8qKlxuICogU3BsaXQgYWxsIE11bHRpUG9seWdvbiBpbnRvIFBvbHlnb24uIEFueSBwcm9wZXJ0aWVzLCBvdGhlciB0aGFuXG4gKiAnY29vcmRpbmF0ZXMnLCBvZiB0aGUgTXVsdGlQb2x5Z29ucyB3aWxsIGJlIGxvc3QuXG4gKlxuICogTk9URTogTXVsdGlQb2x5Z29ucyBpbiBhIEdlb21ldHJ5Q29sbGVjdGlvbiB3aWxsIG5vdCBiZSBzcGxpdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0TXVsdGlQb2x5Z29ucyhmZWF0dXJlQ29sbGVjdGlvbjogRmVhdHVyZUNvbGxlY3Rpb24pOiB2b2lkIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBmZWF0dXJlQ29sbGVjdGlvbi5mZWF0dXJlcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChmZWF0dXJlQ29sbGVjdGlvbi5mZWF0dXJlc1tpXSkge1xuICAgICAgY29uc3QgZ2VvbWV0cnkgPSBmZWF0dXJlQ29sbGVjdGlvbi5mZWF0dXJlc1tpXS5nZW9tZXRyeVxuICAgICAgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdNdWx0aVBvbHlnb24nKSB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmVzID0gc3BsaXRNdWx0UG9seWdvbihnZW9tZXRyeSkubWFwKHAgPT4gKHtcbiAgICAgICAgICB0eXBlOiAnRmVhdHVyZScsXG4gICAgICAgICAgZ2VvbWV0cnk6IHAsXG4gICAgICAgICAgcHJvcGVydGllczogeyB9LFxuICAgICAgICB9IGFzIEZlYXR1cmUpKVxuICAgICAgICBmZWF0dXJlQ29sbGVjdGlvbi5mZWF0dXJlcy5zcGxpY2UoaSwgMSwgLi4uZmVhdHVyZXMpXG4gICAgICAgIGkgKz0gTWF0aC5tYXgoZmVhdHVyZXMubGVuZ3RoIC0gMSwgMClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc3BsaXRNdWx0UG9seWdvbihtdWx0aVBvbHlnb246IE11bHRpUG9seWdvbik6IFBvbHlnb25bXSB7XG4gIHJldHVybiBtdWx0aVBvbHlnb24uY29vcmRpbmF0ZXMubWFwKGMgPT4gKHtcbiAgICB0eXBlOiAnUG9seWdvbicsXG4gICAgY29vcmRpbmF0ZXM6IGMsXG4gIH0pKVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtbXVsdGktcG9seWdvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vdXRpbHMvZ2VvLWpzb24vc3BsaXQtbXVsdGktcG9seWdvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsaUJBQW9DO0lBQ3JFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzFELElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7WUFDdkQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtnQkFDcEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsUUFBUSxFQUFFLENBQUM7b0JBQ1gsVUFBVSxFQUFFLEVBQUc7aUJBQ0osQ0FBQSxDQUFDLENBQUE7Z0JBQ2QsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUE7Z0JBQ3BELENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO2FBQ3RDO1NBQ0Y7S0FDRjtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFlBQTBCO0lBQ2xELE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUFFLENBQUM7S0FDZixDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2x5Z29uIH0gZnJvbSAnQHR1cmYvaGVscGVycydcclxuaW1wb3J0IHtcclxuICBGZWF0dXJlLFxyXG4gIEZlYXR1cmVDb2xsZWN0aW9uLFxyXG4gIE11bHRpUG9seWdvbixcclxufSBmcm9tICdnZW9qc29uJ1xyXG5cclxuLyoqXHJcbiAqIFNwbGl0IGFsbCBNdWx0aVBvbHlnb24gaW50byBQb2x5Z29uLiBBbnkgcHJvcGVydGllcywgb3RoZXIgdGhhblxyXG4gKiAnY29vcmRpbmF0ZXMnLCBvZiB0aGUgTXVsdGlQb2x5Z29ucyB3aWxsIGJlIGxvc3QuXHJcbiAqXHJcbiAqIE5PVEU6IE11bHRpUG9seWdvbnMgaW4gYSBHZW9tZXRyeUNvbGxlY3Rpb24gd2lsbCBub3QgYmUgc3BsaXQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRNdWx0aVBvbHlnb25zKGZlYXR1cmVDb2xsZWN0aW9uOiBGZWF0dXJlQ29sbGVjdGlvbik6IHZvaWQge1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZmVhdHVyZUNvbGxlY3Rpb24uZmVhdHVyZXMubGVuZ3RoOyBpKyspIHtcclxuICAgIGlmIChmZWF0dXJlQ29sbGVjdGlvbi5mZWF0dXJlc1tpXSkge1xyXG4gICAgICBjb25zdCBnZW9tZXRyeSA9IGZlYXR1cmVDb2xsZWN0aW9uLmZlYXR1cmVzW2ldLmdlb21ldHJ5XHJcbiAgICAgIGlmIChnZW9tZXRyeS50eXBlID09PSAnTXVsdGlQb2x5Z29uJykge1xyXG4gICAgICAgIGNvbnN0IGZlYXR1cmVzID0gc3BsaXRNdWx0UG9seWdvbihnZW9tZXRyeSkubWFwKHAgPT4gKHtcclxuICAgICAgICAgIHR5cGU6ICdGZWF0dXJlJyxcclxuICAgICAgICAgIGdlb21ldHJ5OiBwLFxyXG4gICAgICAgICAgcHJvcGVydGllczogeyB9LFxyXG4gICAgICAgIH0gYXMgRmVhdHVyZSkpXHJcbiAgICAgICAgZmVhdHVyZUNvbGxlY3Rpb24uZmVhdHVyZXMuc3BsaWNlKGksIDEsIC4uLmZlYXR1cmVzKVxyXG4gICAgICAgIGkgKz0gTWF0aC5tYXgoZmVhdHVyZXMubGVuZ3RoIC0gMSwgMClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gc3BsaXRNdWx0UG9seWdvbihtdWx0aVBvbHlnb246IE11bHRpUG9seWdvbik6IFBvbHlnb25bXSB7XHJcbiAgcmV0dXJuIG11bHRpUG9seWdvbi5jb29yZGluYXRlcy5tYXAoYyA9PiAoe1xyXG4gICAgdHlwZTogJ1BvbHlnb24nLFxyXG4gICAgY29vcmRpbmF0ZXM6IGMsXHJcbiAgfSkpXHJcbn1cclxuIl19
@@ -1,12 +1,12 @@
1
1
  import { __awaiter, __decorate } from 'tslib';
2
- import { ComponentHarness } from '@angular/cdk/testing';
2
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Directive, Input, InjectionToken, Component, ChangeDetectionStrategy, Optional, Inject, Self, HostBinding, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import { InputBoolean } from '@theseam/ui-common/core';
6
+ import { Subject, switchMap, startWith, shareReplay, BehaviorSubject, ReplaySubject, Subscription, combineLatest } from 'rxjs';
6
7
  import * as i1 from '@angular/common';
7
8
  import { CommonModule } from '@angular/common';
8
- import { Subject, BehaviorSubject, ReplaySubject, Subscription, combineLatest } from 'rxjs';
9
- import { startWith, map, tap, filter, switchMap, distinctUntilChanged } from 'rxjs/operators';
9
+ import { startWith as startWith$1, map, tap, filter, switchMap as switchMap$1, distinctUntilChanged } from 'rxjs/operators';
10
10
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
11
11
  import { toggleAttribute } from '@theseam/ui-common/utils';
12
12
  import * as i1$1 from '@angular/forms';
@@ -26,6 +26,54 @@ class TheSeamFormFieldRequiredIndicatorHarness extends ComponentHarness {
26
26
  }
27
27
  TheSeamFormFieldRequiredIndicatorHarness.hostSelector = 'seam-form-field-required-indicator';
28
28
 
29
+ class TheSeamFormFieldHarness extends ComponentHarness {
30
+ constructor() {
31
+ super(...arguments);
32
+ this._label = this.locatorFor('label');
33
+ // public async getName(): Promise<string | null> {
34
+ // return (await this._input()).getAttribute('name')
35
+ // }
36
+ // public async getValue(): Promise<any> {
37
+ // return (await this._input()).getProperty('value')
38
+ // }
39
+ // public async isDisabled(): Promise<boolean> {
40
+ // return (await this._input()).getProperty('disabled')
41
+ // }
42
+ // public async isRequired(): Promise<boolean> {
43
+ // return (await this._input()).getProperty('required')
44
+ // }
45
+ // public async click(): Promise<void> {
46
+ // return (await this._input()).click()
47
+ // }
48
+ // public async setValue(value: any): Promise<void> {
49
+ // // TODO: Find out why setInputValue() doesn't update the FormControl.
50
+ // // return (await this._input()).setInputValue(value)
51
+ // await (await this._input()).click()
52
+ // await this._input().then(x => x.setInputValue(''))
53
+ // return (await this._input()).sendKeys(value)
54
+ // }
55
+ }
56
+ // private readonly _input = this.locatorFor('input')
57
+ /** Creates a `HarnessPredicate` used to locate a particular `TheSeamFormFieldHarness`. */
58
+ static with(options) {
59
+ return new HarnessPredicate(TheSeamFormFieldHarness, options)
60
+ // .addOption('field name', options.name,
61
+ // (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))
62
+ .addOption('label', options.label, (harness, label) => HarnessPredicate.stringMatches(harness.getLabel(), label));
63
+ }
64
+ getLabel() {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ return (yield this._label()).text();
67
+ });
68
+ }
69
+ clickLabel() {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ yield (yield this._label()).click();
72
+ });
73
+ }
74
+ }
75
+ TheSeamFormFieldHarness.hostSelector = 'seam-form-field';
76
+
29
77
  class FormFieldErrorDirective {
30
78
  get validatorName() { return this._validatorName || this.seamFormFieldError; }
31
79
  set validatorName(value) { this._validatorName = value; }
@@ -85,27 +133,41 @@ const FORM_FIELD_COMPONENT = new InjectionToken('FORM_FIELD_COMPONENT');
85
133
  class FormFieldRequiredIndicatorComponent {
86
134
  constructor(_formField) {
87
135
  this._formField = _formField;
136
+ this._requiredChange = new Subject();
88
137
  /** Used if a form control is not found. */
89
138
  this.required = false;
139
+ if (_formField) {
140
+ this._controlRequired$ = _formField._contentInputSubject.pipe(switchMap((contentInput) => {
141
+ if (!contentInput) {
142
+ return this._requiredChange.pipe(startWith(this.required));
143
+ }
144
+ return contentInput.requiredChange.pipe(startWith(contentInput.required));
145
+ }), shareReplay({ bufferSize: 1, refCount: true }));
146
+ }
147
+ }
148
+ ngOnChanges(changes) {
149
+ if (changes.required) {
150
+ this._requiredChange.next(this.required);
151
+ }
90
152
  }
91
153
  }
92
154
  FormFieldRequiredIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormFieldRequiredIndicatorComponent, deps: [{ token: FORM_FIELD_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
93
- FormFieldRequiredIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: { required: "required" }, host: { classAttribute: "text-danger" }, ngImport: i0, template: `
94
- <ng-container *ngIf="_formField?.contentInput; else noControl">
95
- <ng-container *ngIf="_formField?.contentInput?.required">*</ng-container>
155
+ FormFieldRequiredIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: { required: "required" }, host: { classAttribute: "text-danger" }, usesOnChanges: true, ngImport: i0, template: `
156
+ <ng-container *ngIf="_controlRequired$; else noControl">
157
+ <ng-container *ngIf="_controlRequired$ | async">*</ng-container>
96
158
  </ng-container>
97
159
  <ng-template #noControl>
98
160
  <ng-container *ngIf="required">*</ng-container>
99
161
  </ng-template>
100
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
101
163
  __decorate([
102
164
  InputBoolean()
103
165
  ], FormFieldRequiredIndicatorComponent.prototype, "required", void 0);
104
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormFieldRequiredIndicatorComponent, decorators: [{
105
167
  type: Component,
106
168
  args: [{ selector: 'seam-form-field-required-indicator', template: `
107
- <ng-container *ngIf="_formField?.contentInput; else noControl">
108
- <ng-container *ngIf="_formField?.contentInput?.required">*</ng-container>
169
+ <ng-container *ngIf="_controlRequired$; else noControl">
170
+ <ng-container *ngIf="_controlRequired$ | async">*</ng-container>
109
171
  </ng-container>
110
172
  <ng-template #noControl>
111
173
  <ng-container *ngIf="required">*</ng-container>
@@ -149,10 +211,6 @@ class InputDirective {
149
211
  this._elementRef.nativeElement.type = this._type;
150
212
  }
151
213
  }
152
- /**
153
- * Implemented as part of MatFormFieldControl.
154
- * @docs-private
155
- */
156
214
  get disabled() {
157
215
  if (this.ngControl && this.ngControl.disabled !== null) {
158
216
  return this.ngControl.disabled;
@@ -183,10 +241,6 @@ class InputDirective {
183
241
  this._isFormControl = true;
184
242
  this.seamInputSize = 'normal';
185
243
  this._type = 'text';
186
- /**
187
- * Implemented as part of MatFormFieldControl.
188
- * @docs-private
189
- */
190
244
  this.required = false;
191
245
  this._disabled = false;
192
246
  this.focused = false;
@@ -201,6 +255,12 @@ class InputDirective {
201
255
  // }
202
256
  /** Whether the element is readonly. */
203
257
  this.readonly = false;
258
+ this._requiredChange = new Subject();
259
+ this._disabledChange = new Subject();
260
+ this._readonlyChange = new Subject();
261
+ this.requiredChange = this._requiredChange.asObservable();
262
+ this.disabledChange = this._disabledChange.asObservable();
263
+ this.readonlyChange = this._readonlyChange.asObservable;
204
264
  // Force setter to be called in case id was not specified.
205
265
  // eslint-disable-next-line no-self-assign
206
266
  this.id = this.id;
@@ -208,6 +268,17 @@ class InputDirective {
208
268
  this._isFormControl = false;
209
269
  }
210
270
  }
271
+ ngOnChanges(changes) {
272
+ if (changes.required) {
273
+ this._requiredChange.next(this.required);
274
+ }
275
+ if (changes.disabled) {
276
+ this._disabledChange.next(this.disabled);
277
+ }
278
+ if (changes.readonly) {
279
+ this._readonlyChange.next(this.readonly);
280
+ }
281
+ }
211
282
  ngDoCheck() {
212
283
  if (this._isNgSelect()) {
213
284
  this._ngSelect.labelForId = this.id;
@@ -252,12 +323,6 @@ class InputDirective {
252
323
  _isQuillEditor() {
253
324
  return this._elementRef.nativeElement.nodeName.toLowerCase() === 'quill-editor';
254
325
  }
255
- /** Make sure the input is a supported type. */
256
- // protected _validateType() {
257
- // if (MAT_INPUT_INVALID_TYPES.indexOf(this._type) > -1) {
258
- // throw getMatInputUnsupportedTypeError(this._type)
259
- // }
260
- // }
261
326
  /** Focuses the input. */
262
327
  focus() {
263
328
  this._elementRef.nativeElement.focus();
@@ -276,7 +341,7 @@ class InputDirective {
276
341
  }
277
342
  }
278
343
  InputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: InputDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.NgControl, optional: true, self: true }, { token: i1$1.NgForm, optional: true }, { token: i1$1.FormGroupDirective, optional: true }, { token: i2.NgSelectComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
279
- InputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: { seamInputSize: "seamInputSize", id: "id", type: "type", placeholder: "placeholder", required: "required", disabled: "disabled", readonly: "readonly" }, host: { properties: { "class.form-control": "this._isFormControl", "class.form-control-sm": "this._isFormControlSmall", "class.is-invalid": "this._isInvalid", "attr.id": "this._attrId", "attr.placeholder": "this._attrPlaceholder", "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["seamInput"], ngImport: i0 });
344
+ InputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: { seamInputSize: "seamInputSize", id: "id", type: "type", placeholder: "placeholder", required: "required", disabled: "disabled", readonly: "readonly" }, host: { properties: { "class.form-control": "this._isFormControl", "class.form-control-sm": "this._isFormControlSmall", "class.is-invalid": "this._isInvalid", "attr.id": "this._attrId", "attr.placeholder": "this._attrPlaceholder", "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["seamInput"], usesOnChanges: true, ngImport: i0 });
280
345
  __decorate([
281
346
  InputBoolean()
282
347
  ], InputDirective.prototype, "required", void 0);
@@ -380,7 +445,7 @@ class TheSeamFormFieldComponent {
380
445
  }
381
446
  if (this.fieldErrors) {
382
447
  this._sub = this.fieldErrors.changes
383
- .pipe(startWith(this.fieldErrors))
448
+ .pipe(startWith$1(this.fieldErrors))
384
449
  .pipe(map(v => v.toArray()))
385
450
  .pipe(tap(v => {
386
451
  const records = [];
@@ -452,7 +517,7 @@ class TheSeamFormFieldComponent {
452
517
  }
453
518
  /** @ignore */
454
519
  ngOnInit() {
455
- this._helpTextSub = this._contentInputSubject.pipe(filter(contentInput => !!contentInput), switchMap(contentInput => combineLatest([
520
+ this._helpTextSub = this._contentInputSubject.pipe(filter(contentInput => !!contentInput), switchMap$1(contentInput => combineLatest([
456
521
  this._helpTextStrSubject,
457
522
  this._helpTextTplSubject
458
523
  ]).pipe(map(() => this.hasHelpText), distinctUntilChanged(), tap(() => {
@@ -597,5 +662,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
597
662
  * Generated bundle index. Do not edit.
598
663
  */
599
664
 
600
- export { FORM_FIELD_COMPONENT, FormFieldErrorDirective, FormFieldHelpTextDirective, FormFieldLabelTplDirective, FormFieldRequiredIndicatorComponent, InputDirective, TheSeamFormFieldComponent, TheSeamFormFieldModule, TheSeamFormFieldRequiredIndicatorHarness };
665
+ export { FORM_FIELD_COMPONENT, FormFieldErrorDirective, FormFieldHelpTextDirective, FormFieldLabelTplDirective, FormFieldRequiredIndicatorComponent, InputDirective, TheSeamFormFieldComponent, TheSeamFormFieldHarness, TheSeamFormFieldModule, TheSeamFormFieldRequiredIndicatorHarness };
601
666
  //# sourceMappingURL=theseam-ui-common-form-field.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-form-field.mjs","sources":["../../../projects/ui-common/form-field/testing/form-field-required-indicator.harness.ts","../../../projects/ui-common/form-field/form-field-error.directive.ts","../../../projects/ui-common/form-field/form-field-help-text.directive.ts","../../../projects/ui-common/form-field/form-field-label-tpl.directive.ts","../../../projects/ui-common/form-field/form-field-tokens.ts","../../../projects/ui-common/form-field/form-field-required-indicator.component.ts","../../../projects/ui-common/form-field/input.directive.ts","../../../projects/ui-common/form-field/form-field.component.ts","../../../projects/ui-common/form-field/form-field.component.html","../../../projects/ui-common/form-field/form-field.module.ts","../../../projects/ui-common/form-field/theseam-ui-common-form-field.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class TheSeamFormFieldRequiredIndicatorHarness extends ComponentHarness {\n static hostSelector = 'seam-form-field-required-indicator'\n\n public async isIndicatorVisible() {\n return (await (await this.host()).text()) === '*'\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, Input, TemplateRef } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamFormFieldError]'\n})\nexport class FormFieldErrorDirective {\n static ngAcceptInputType_external: BooleanInput\n\n @Input()\n get validatorName(): string | undefined | null { return this._validatorName || this.seamFormFieldError }\n set validatorName(value: string | undefined | null) { this._validatorName = value }\n private _validatorName: string | undefined | null\n\n @Input() seamFormFieldError: string | undefined | null\n\n @Input() @InputBoolean() external = false\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldHelpText]'\n})\nexport class FormFieldHelpTextDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldLabelTpl]'\n})\nexport class FormFieldLabelTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nexport const FORM_FIELD_COMPONENT = new InjectionToken<any>('FORM_FIELD_COMPONENT')\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { FORM_FIELD_COMPONENT } from './form-field-tokens'\n\n@Component({\n selector: 'seam-form-field-required-indicator',\n template: `\n <ng-container *ngIf=\"_formField?.contentInput; else noControl\">\n <ng-container *ngIf=\"_formField?.contentInput?.required\">*</ng-container>\n </ng-container>\n <ng-template #noControl>\n <ng-container *ngIf=\"required\">*</ng-container>\n </ng-template>\n `,\n styles: [],\n host: {\n 'class': 'text-danger'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldRequiredIndicatorComponent {\n static ngAcceptInputType_required: BooleanInput\n\n /** Used if a form control is not found. */\n @Input() @InputBoolean() required = false\n\n constructor(\n @Optional() @Inject(FORM_FIELD_COMPONENT) public readonly _formField: any\n ) { }\n\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Directive, DoCheck, ElementRef, HostBinding, Input, Optional, Self } from '@angular/core'\nimport { FormGroupDirective, NgControl, NgForm } from '@angular/forms'\nimport { Subject } from 'rxjs'\n\nimport { NgSelectComponent } from '@ng-select/ng-select'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { toggleAttribute } from '@theseam/ui-common/utils'\n\n// NOTE: Partially based on mat-input: https://github.com/angular/material2/blob/master/src/lib/input/input.ts\n\nlet nextUniqueId = 0\n\n@Directive({\n // TODO: Consider removing restriction and instead adding a dev warning. A few\n // inputs in the app need to be changed for this first.\n selector: 'input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]',\n exportAs: 'seamInput',\n})\nexport class InputDirective implements DoCheck {\n static ngAcceptInputType_required: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_readonly: BooleanInput\n\n protected _uid = `lib-input-${nextUniqueId++}`\n\n // TODO: Remove this being added to all seamInput elements or break this\n // directive up. Some elements in our app already have worked around this\n // class being there, so some refactoring will be required before removal.\n @HostBinding('class.form-control') _isFormControl = true\n @HostBinding('class.form-control-sm') get _isFormControlSmall() {\n return this._isFormControl && this.seamInputSize === 'sm'\n }\n @HostBinding('class.is-invalid') get _isInvalid() {\n return this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched)\n }\n\n @HostBinding('attr.id') get _attrId() { return this._isNgSelect() ? undefined : this.id }\n @HostBinding('attr.placeholder') get _attrPlaceholder() { return this.placeholder }\n @HostBinding('attr.aria-describedby') ariaDescribedBy: string | undefined\n\n @Input() seamInputSize: 'sm' | 'normal' = 'normal'\n\n @Input()\n get id(): string | undefined | null { return this._id }\n set id(value: string | undefined | null) { this._id = value || this._uid }\n protected _id: string | undefined | null\n\n /** Input type of the element. */\n @Input()\n get type(): string | undefined | null { return this._type }\n set type(value: string | undefined | null) {\n this._type = value || 'text'\n // this._validateType()\n\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if ((!this._isTextarea() && !this._isNgSelect()) /* && getSupportedInputTypes().has(this._type) */) {\n (this._elementRef.nativeElement as HTMLInputElement).type = this._type\n }\n }\n protected _type: string | undefined | null = 'text'\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n @Input() placeholder: string | undefined | null\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n @Input() @InputBoolean() required = false\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n @Input()\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled\n }\n return this._disabled\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false\n this.stateChanges.next()\n }\n }\n protected _disabled = false\n\n focused = false\n\n readonly stateChanges: Subject<void> = new Subject<void>()\n\n // @Input()\n // get value(): string { return this._inputValueAccessor.value; }\n // set value(value: string) {\n // if (value !== this.value) {\n // this._inputValueAccessor.value = value;\n // this.stateChanges.next();\n // }\n // }\n\n /** Whether the element is readonly. */\n @Input() @InputBoolean() readonly = false\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() private _parentForm: NgForm,\n @Optional() private _parentFormGroup: FormGroupDirective,\n // 3rd party support\n @Optional() private _ngSelect: NgSelectComponent\n ) {\n // Force setter to be called in case id was not specified.\n // eslint-disable-next-line no-self-assign\n this.id = this.id\n\n if (!this._shouldHaveFormControlCssClass()) {\n this._isFormControl = false\n }\n }\n\n ngDoCheck() {\n if (this._isNgSelect()) {\n this._ngSelect.labelForId = this.id\n this._ngSelect.setDisabledState(this.disabled)\n } else {\n toggleAttribute(this._elementRef.nativeElement, 'required', this.required)\n toggleAttribute(this._elementRef.nativeElement, 'disabled', this.disabled)\n }\n }\n\n /** Should only be textual inputs, but initially our app added to all form controls. */\n protected _shouldHaveFormControlCssClass() {\n return !this._isSeamCheckbox() &&\n !this._isRadioInput() &&\n !this._isNgbRadioGroup() &&\n !this._isTelInput() &&\n !this._isQuillEditor()\n }\n\n /** Determines if the component host is a textarea. */\n protected _isTextarea() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'textarea'\n }\n\n /** Determines if the component host is a ng-select. */\n protected _isNgSelect() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'ng-select'\n }\n\n /** Determines if the component host is a seam-checkbox. */\n protected _isSeamCheckbox() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-checkbox'\n }\n\n /** Determines if the component host is a radio input. */\n protected _isRadioInput() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'input' &&\n this._elementRef.nativeElement.type.toLowerCase() === 'radio'\n }\n\n protected _isNgbRadioGroup() {\n return this._elementRef.nativeElement.getAttribute('ngbRadioGroup') !== null\n }\n\n protected _isTelInput() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-tel-input'\n }\n\n protected _isQuillEditor() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'quill-editor'\n }\n\n /** Make sure the input is a supported type. */\n // protected _validateType() {\n // if (MAT_INPUT_INVALID_TYPES.indexOf(this._type) > -1) {\n // throw getMatInputUnsupportedTypeError(this._type)\n // }\n // }\n\n /** Focuses the input. */\n focus(): void {\n this._elementRef.nativeElement.focus()\n }\n\n /** Unfocuses the input. */\n blur(): void {\n this._elementRef.nativeElement.blur()\n }\n\n setValue(value: any) {\n if (this.ngControl) {\n const control = this.ngControl.control\n if (control) {\n control.setValue(value)\n }\n }\n }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport {\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList\n} from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, ReplaySubject, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, map, startWith, switchMap, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { IErrorRecord } from '@theseam/ui-common/form-field-error'\n\nimport { FormFieldErrorDirective } from './form-field-error.directive'\nimport { FormFieldHelpTextDirective } from './form-field-help-text.directive'\nimport { FormFieldLabelTplDirective } from './form-field-label-tpl.directive'\nimport { FORM_FIELD_COMPONENT } from './form-field-tokens'\nimport { InputDirective } from './input.directive'\n\nlet nextLabelUniqueId = 0\n\n/**\n * Should wrap all form controls.\n */\n@Component({\n selector: 'seam-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n providers: [\n {\n provide: FORM_FIELD_COMPONENT,\n useExisting: TheSeamFormFieldComponent,\n }\n ],\n})\nexport class TheSeamFormFieldComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_inline: BooleanInput\n\n private readonly _helpTextStrSubject = new BehaviorSubject<string | undefined>(undefined)\n private readonly _helpTextTplSubject = new BehaviorSubject<FormFieldHelpTextDirective | undefined>(undefined)\n private readonly _contentInputSubject = new BehaviorSubject<InputDirective | undefined>(undefined)\n\n /** @ignore */\n protected _labelUid = `seam-label-${nextLabelUniqueId++}`\n\n /** @ignore */\n protected _helpTextUid = `seam-help-text-${nextLabelUniqueId++}`\n\n /** @ignore */\n public _errorPadding = '0px'\n\n /** @ignore */\n @HostBinding('style.display') get _displayStyle() { return this.inline ? 'inline-block' : 'block' }\n\n /**\n * Used to declare an inline element.\n *\n * NOTE: Not well tested or supported, so it may have some issues currently\n * and could change.\n */\n @Input() @InputBoolean() inline = false\n\n /** Add a text label for the form control. */\n @Input() label: string | undefined | null\n\n /**\n * The label can be on top or inline.\n *\n * > Only supports `ltr` direction, so inline will only place the label on the\n * > left.\n */\n @Input() labelPosition: 'top' | 'inline' = 'top'\n\n /**\n * CSS class to add to the label element.\n *\n * Accepts a single space separated string of classes, like the html class\n * attribute.\n */\n @Input() labelClass: string | undefined | null\n\n /** Max errors to display. */\n @Input() maxErrors = -1\n\n /**\n * A padding error is an always allocated space equivalent to a single line\n * error string.\n */\n @Input() numPaddingErrors = 1\n\n /**\n * `id` attribute to add to the label element. This should not be needed in\n * most situations, because a unique id will be generated if not provided.\n */\n @Input()\n get labelId(): string | undefined | null { return this._labelId }\n set labelId(value: string | undefined | null) { this._labelId = value || this._labelUid }\n /** @ignore */\n protected _labelId: string | undefined | null\n\n /**\n * Help text added below the control.\n */\n @Input()\n get helpText(): string | undefined | null { return this._helpTextStrSubject.value }\n set helpText(value: string | undefined | null) {\n this._helpTextStrSubject.next(value || undefined)\n }\n\n /**\n * `id` attribute to add to the label element. This should not be needed in\n * most situations, because a unique id will be generated if not provided.\n */\n @Input()\n get helpTextId(): string | undefined | null { return this._helpTextId }\n set helpTextId(value: string | undefined | null) { this._helpTextId = value || this._helpTextUid }\n /** @ignore */\n protected _helpTextId: string | undefined | null\n\n /** @ignore */\n @ContentChild(FormFieldHelpTextDirective, { static: true })\n get helpTextTpl(): FormFieldLabelTplDirective | undefined { return this._helpTextTplSubject.value }\n set helpTextTpl(value: FormFieldLabelTplDirective | undefined) {\n this._helpTextTplSubject.next(value || undefined)\n }\n\n /** @ignore */\n @ContentChild(FormFieldLabelTplDirective, { static: true }) labelTpl?: FormFieldLabelTplDirective\n\n /** @ignore */\n @ContentChild(InputDirective, { static: true })\n get contentInput(): InputDirective | undefined { return this._contentInputSubject.value }\n set contentInput(value: InputDirective | undefined) { this._contentInputSubject.next(value || undefined) }\n\n /** @ignore */\n @ContentChildren(FormFieldErrorDirective)\n get fieldErrors() { return this._fieldErrors }\n set fieldErrors(value: QueryList<FormFieldErrorDirective[]> | undefined | null) {\n this._fieldErrors = value\n\n if (this._sub) { this._sub.unsubscribe() }\n if (this.fieldErrors) {\n this._sub = this.fieldErrors.changes\n .pipe(startWith(this.fieldErrors))\n .pipe(map(v => v.toArray() as FormFieldErrorDirective[]))\n .pipe(tap(v => {\n const records: IErrorRecord[] = []\n for (const item of v) {\n if (item.validatorName) {\n records.push({\n validatorName: item.validatorName,\n error: null,\n template: item.template,\n external: item.external\n })\n }\n }\n this._fieldErrorsSubject2.next(records)\n }))\n .subscribe(v => this._fieldErrorsSubject.next(v))\n }\n }\n /** @ignore */\n private _fieldErrors: QueryList<FormFieldErrorDirective[]> | undefined | null\n /** @ignore */\n private _sub?: Subscription\n\n /** @ignore */\n private readonly _fieldErrorsSubject = new ReplaySubject<FormFieldErrorDirective[]>(1)\n /** @ignore */\n public readonly fieldErrors$: Observable<FormFieldErrorDirective[]> = this._fieldErrorsSubject.asObservable()\n\n /** @ignore */\n private readonly _fieldErrorsSubject2 = new ReplaySubject<IErrorRecord[]>(1)\n /** @ignore */\n public readonly fieldErrors2$: Observable<IErrorRecord[]> = this._fieldErrorsSubject2.asObservable()\n\n get isPasswordInput() {\n return this.contentInput && this.contentInput.type && this.contentInput.type === 'password'\n }\n get passwordInputElement() {\n return this.contentInput && this.contentInput._elementRef && this.contentInput._elementRef.nativeElement\n }\n\n get hasHelpText() { return !!this._helpTextStrSubject.value || !!this._helpTextTplSubject.value }\n // get hasHelpText() { return !!this.helpText || !!this._helpTextTpl }\n\n private _helpTextSub = Subscription.EMPTY\n\n /** @ignore */\n constructor(\n private readonly _elementRef: ElementRef\n ) { }\n\n /** @ignore */\n ngOnInit() {\n this._helpTextSub = this._contentInputSubject.pipe(\n filter(contentInput => !!contentInput),\n switchMap(contentInput => combineLatest([\n this._helpTextStrSubject,\n this._helpTextTplSubject\n ]).pipe(\n map(() => this.hasHelpText),\n distinctUntilChanged(),\n tap(() => {\n if (contentInput) {\n contentInput.ariaDescribedBy = this._helpTextId || undefined\n }\n })\n ))\n ).subscribe()\n }\n\n /** @ignore */\n ngOnDestroy() {\n this._sub?.unsubscribe()\n this._helpTextSub?.unsubscribe()\n }\n\n /** @ignore */\n public isValidatorMatch(validatorName: string, tplValidatorName: string, errors: any): boolean {\n const tplValidatorNames = tplValidatorName.split(' ')\n\n for (let i = 0; i < tplValidatorNames.length; i++) {\n const name = tplValidatorNames[i]\n if (name === validatorName && i === 0) {\n return true\n }\n }\n\n return false\n }\n\n /** @ignore */\n public _labelElemResized(labelElem: HTMLLabelElement) {\n if (labelElem) {\n this._errorPadding = `${labelElem.getBoundingClientRect().width}px`\n } else {\n this._errorPadding = '0px'\n }\n }\n\n public getElement(): HTMLElement {\n return this._elementRef.nativeElement\n }\n\n}\n","<div>\n <div [class.seam-form-field-inline]=\"inline\">\n <label *ngIf=\"label || labelTpl\"\n #labelElem\n [attr.id]=\"labelId\"\n [attr.for]=\"contentInput?.id\"\n class=\"control-label {{ labelClass }}\"\n (seamElemResized)=\"_labelElemResized(labelElem)\">\n <ng-container *ngIf=\"labelTpl; else noLabelTpl\">\n <ng-template [ngTemplateOutlet]=\"labelTpl.template\" [ngTemplateOutletContext]=\"{ $implicit: label, label: label, required: contentInput?.required || false }\"></ng-template>\n </ng-container>\n <ng-template #noLabelTpl>\n {{ label }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-template>\n </label>\n <ng-container *ngIf=\"!isPasswordInput\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isPasswordInput\">\n <div class=\"position-relative\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <seam-password-input-reveal [inputRef]=\"$any(passwordInputElement)\"></seam-password-input-reveal>\n </div>\n </ng-container>\n </div>\n <!-- Need `.d-block` to make errors show without input sibling selector -->\n <ng-container *ngIf=\"contentInput\">\n <seam-form-field-error-list *ngIf=\"fieldErrors$ | async as fieldErrors\"\n [style.paddingLeft]=\"(label || labelTpl) && inline ? _errorPadding : undefined\"\n [control]=\"contentInput.ngControl\"\n [errors]=\"fieldErrors2$ | async\"\n [maxErrors]=\"maxErrors\"\n [numPaddingErrors]=\"numPaddingErrors\"\n class=\"invalid-feedback\">\n </seam-form-field-error-list>\n </ng-container>\n</div>\n\n<ng-template #content><ng-content></ng-content></ng-template>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { TheSeamFormFieldErrorModule } from '@theseam/ui-common/form-field-error'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { FormFieldErrorDirective } from './form-field-error.directive'\nimport { FormFieldHelpTextDirective } from './form-field-help-text.directive'\nimport { FormFieldLabelTplDirective } from './form-field-label-tpl.directive'\nimport { FormFieldRequiredIndicatorComponent } from './form-field-required-indicator.component'\nimport { TheSeamFormFieldComponent } from './form-field.component'\nimport { InputDirective } from './input.directive'\n\n@NgModule({\n declarations: [\n TheSeamFormFieldComponent,\n InputDirective,\n FormFieldErrorDirective,\n FormFieldLabelTplDirective,\n FormFieldRequiredIndicatorComponent,\n FormFieldHelpTextDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TheSeamFormFieldErrorModule,\n TheSeamSharedModule\n ],\n exports: [\n TheSeamFormFieldComponent,\n InputDirective,\n FormFieldErrorDirective,\n FormFieldLabelTplDirective,\n FormFieldRequiredIndicatorComponent,\n FormFieldHelpTextDirective\n ]\n})\nexport class TheSeamFormFieldModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i4.FormFieldRequiredIndicatorComponent"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-form-field.mjs","sources":["../../../projects/ui-common/form-field/testing/form-field-required-indicator.harness.ts","../../../projects/ui-common/form-field/testing/form-field.harness.ts","../../../projects/ui-common/form-field/form-field-error.directive.ts","../../../projects/ui-common/form-field/form-field-help-text.directive.ts","../../../projects/ui-common/form-field/form-field-label-tpl.directive.ts","../../../projects/ui-common/form-field/form-field-tokens.ts","../../../projects/ui-common/form-field/form-field-required-indicator.component.ts","../../../projects/ui-common/form-field/input.directive.ts","../../../projects/ui-common/form-field/form-field.component.ts","../../../projects/ui-common/form-field/form-field.component.html","../../../projects/ui-common/form-field/form-field.module.ts","../../../projects/ui-common/form-field/theseam-ui-common-form-field.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class TheSeamFormFieldRequiredIndicatorHarness extends ComponentHarness {\n static hostSelector = 'seam-form-field-required-indicator'\n\n public async isIndicatorVisible() {\n return (await (await this.host()).text()) === '*'\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\ninterface TheSeamFormFieldHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the name of the field. */\n // name?: string | RegExp\n\n label?: string\n}\n\nexport class TheSeamFormFieldHarness extends ComponentHarness {\n static hostSelector = 'seam-form-field'\n\n private readonly _label = this.locatorFor('label')\n // private readonly _input = this.locatorFor('input')\n\n /** Creates a `HarnessPredicate` used to locate a particular `TheSeamFormFieldHarness`. */\n static with(options: TheSeamFormFieldHarnessFilters): HarnessPredicate<TheSeamFormFieldHarness> {\n return new HarnessPredicate(TheSeamFormFieldHarness, options)\n // .addOption('field name', options.name,\n // (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n .addOption('label', options.label,\n (harness, label) => HarnessPredicate.stringMatches(harness.getLabel(), label))\n }\n\n public async getLabel(): Promise<string | null> {\n return (await this._label()).text()\n }\n\n public async clickLabel(): Promise<void> {\n await (await this._label()).click()\n }\n\n // public async getName(): Promise<string | null> {\n // return (await this._input()).getAttribute('name')\n // }\n\n // public async getValue(): Promise<any> {\n // return (await this._input()).getProperty('value')\n // }\n\n // public async isDisabled(): Promise<boolean> {\n // return (await this._input()).getProperty('disabled')\n // }\n\n // public async isRequired(): Promise<boolean> {\n // return (await this._input()).getProperty('required')\n // }\n\n // public async click(): Promise<void> {\n // return (await this._input()).click()\n // }\n\n // public async setValue(value: any): Promise<void> {\n // // TODO: Find out why setInputValue() doesn't update the FormControl.\n // // return (await this._input()).setInputValue(value)\n // await (await this._input()).click()\n // await this._input().then(x => x.setInputValue(''))\n // return (await this._input()).sendKeys(value)\n // }\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Directive, Input, TemplateRef } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Directive({\n selector: '[seamFormFieldError]'\n})\nexport class FormFieldErrorDirective {\n static ngAcceptInputType_external: BooleanInput\n\n @Input()\n get validatorName(): string | undefined | null { return this._validatorName || this.seamFormFieldError }\n set validatorName(value: string | undefined | null) { this._validatorName = value }\n private _validatorName: string | undefined | null\n\n @Input() seamFormFieldError: string | undefined | null\n\n @Input() @InputBoolean() external = false\n\n constructor(public template: TemplateRef<any>) {}\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldHelpText]'\n})\nexport class FormFieldHelpTextDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamFormFieldLabelTpl]'\n})\nexport class FormFieldLabelTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nexport const FORM_FIELD_COMPONENT = new InjectionToken<any>('FORM_FIELD_COMPONENT')\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnChanges, Optional, SimpleChanges } from '@angular/core'\nimport { Observable, shareReplay, startWith, Subject, switchMap } from 'rxjs'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { FORM_FIELD_COMPONENT } from './form-field-tokens'\n\n@Component({\n selector: 'seam-form-field-required-indicator',\n template: `\n <ng-container *ngIf=\"_controlRequired$; else noControl\">\n <ng-container *ngIf=\"_controlRequired$ | async\">*</ng-container>\n </ng-container>\n <ng-template #noControl>\n <ng-container *ngIf=\"required\">*</ng-container>\n </ng-template>\n `,\n styles: [],\n host: {\n 'class': 'text-danger'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldRequiredIndicatorComponent implements OnChanges {\n static ngAcceptInputType_required: BooleanInput\n\n private readonly _requiredChange = new Subject<boolean>()\n\n /** Used if a form control is not found. */\n @Input() @InputBoolean() required = false\n\n readonly _controlRequired$: Observable<boolean> | undefined\n\n constructor(\n @Optional() @Inject(FORM_FIELD_COMPONENT) public readonly _formField: any\n ) {\n if (_formField) {\n this._controlRequired$ = _formField._contentInputSubject.pipe(\n switchMap((contentInput: any) => {\n if (!contentInput) {\n return this._requiredChange.pipe(\n startWith(this.required),\n )\n }\n\n return contentInput.requiredChange.pipe(\n startWith(contentInput.required),\n )\n }),\n shareReplay({ bufferSize: 1, refCount: true }),\n )\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.required) {\n this._requiredChange.next(this.required)\n }\n }\n\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { Directive, DoCheck, ElementRef, HostBinding, Input, OnChanges, Optional, Self, SimpleChanges } from '@angular/core'\nimport { FormGroupDirective, NgControl, NgForm } from '@angular/forms'\nimport { Subject } from 'rxjs'\n\nimport { NgSelectComponent } from '@ng-select/ng-select'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { toggleAttribute } from '@theseam/ui-common/utils'\n\n// NOTE: Partially based on mat-input: https://github.com/angular/material2/blob/master/src/lib/input/input.ts\n\nlet nextUniqueId = 0\n\n@Directive({\n // TODO: Consider removing restriction and instead adding a dev warning. A few\n // inputs in the app need to be changed for this first.\n selector: 'input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]',\n exportAs: 'seamInput',\n})\nexport class InputDirective implements DoCheck, OnChanges {\n static ngAcceptInputType_required: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_readonly: BooleanInput\n\n protected _uid = `lib-input-${nextUniqueId++}`\n\n // TODO: Remove this being added to all seamInput elements or break this\n // directive up. Some elements in our app already have worked around this\n // class being there, so some refactoring will be required before removal.\n @HostBinding('class.form-control') _isFormControl = true\n @HostBinding('class.form-control-sm') get _isFormControlSmall() {\n return this._isFormControl && this.seamInputSize === 'sm'\n }\n @HostBinding('class.is-invalid') get _isInvalid() {\n return this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched)\n }\n\n @HostBinding('attr.id') get _attrId() { return this._isNgSelect() ? undefined : this.id }\n @HostBinding('attr.placeholder') get _attrPlaceholder() { return this.placeholder }\n @HostBinding('attr.aria-describedby') ariaDescribedBy: string | undefined\n\n @Input() seamInputSize: 'sm' | 'normal' = 'normal'\n\n @Input()\n get id(): string | undefined | null { return this._id }\n set id(value: string | undefined | null) { this._id = value || this._uid }\n protected _id: string | undefined | null\n\n /** Input type of the element. */\n @Input()\n get type(): string | undefined | null { return this._type }\n set type(value: string | undefined | null) {\n this._type = value || 'text'\n // this._validateType()\n\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if ((!this._isTextarea() && !this._isNgSelect()) /* && getSupportedInputTypes().has(this._type) */) {\n (this._elementRef.nativeElement as HTMLInputElement).type = this._type\n }\n }\n protected _type: string | undefined | null = 'text'\n\n @Input() placeholder: string | undefined | null\n\n @Input() @InputBoolean() required = false\n\n @Input()\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled\n }\n return this._disabled\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false\n this.stateChanges.next()\n }\n }\n protected _disabled = false\n\n focused = false\n\n readonly stateChanges: Subject<void> = new Subject<void>()\n\n // @Input()\n // get value(): string { return this._inputValueAccessor.value; }\n // set value(value: string) {\n // if (value !== this.value) {\n // this._inputValueAccessor.value = value;\n // this.stateChanges.next();\n // }\n // }\n\n /** Whether the element is readonly. */\n @Input() @InputBoolean() readonly = false\n\n private readonly _requiredChange = new Subject<boolean>()\n private readonly _disabledChange = new Subject<boolean>()\n private readonly _readonlyChange = new Subject<boolean>()\n\n public readonly requiredChange = this._requiredChange.asObservable()\n public readonly disabledChange = this._disabledChange.asObservable()\n public readonly readonlyChange = this._readonlyChange.asObservable\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() private _parentForm: NgForm,\n @Optional() private _parentFormGroup: FormGroupDirective,\n // 3rd party support\n @Optional() private _ngSelect: NgSelectComponent\n ) {\n // Force setter to be called in case id was not specified.\n // eslint-disable-next-line no-self-assign\n this.id = this.id\n\n if (!this._shouldHaveFormControlCssClass()) {\n this._isFormControl = false\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.required) {\n this._requiredChange.next(this.required)\n }\n if (changes.disabled) {\n this._disabledChange.next(this.disabled)\n }\n if (changes.readonly) {\n this._readonlyChange.next(this.readonly)\n }\n }\n\n ngDoCheck() {\n if (this._isNgSelect()) {\n this._ngSelect.labelForId = this.id\n this._ngSelect.setDisabledState(this.disabled)\n } else {\n toggleAttribute(this._elementRef.nativeElement, 'required', this.required)\n toggleAttribute(this._elementRef.nativeElement, 'disabled', this.disabled)\n }\n }\n\n /** Should only be textual inputs, but initially our app added to all form controls. */\n protected _shouldHaveFormControlCssClass() {\n return !this._isSeamCheckbox() &&\n !this._isRadioInput() &&\n !this._isNgbRadioGroup() &&\n !this._isTelInput() &&\n !this._isQuillEditor()\n }\n\n /** Determines if the component host is a textarea. */\n protected _isTextarea() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'textarea'\n }\n\n /** Determines if the component host is a ng-select. */\n protected _isNgSelect() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'ng-select'\n }\n\n /** Determines if the component host is a seam-checkbox. */\n protected _isSeamCheckbox() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-checkbox'\n }\n\n /** Determines if the component host is a radio input. */\n protected _isRadioInput() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'input' &&\n this._elementRef.nativeElement.type.toLowerCase() === 'radio'\n }\n\n protected _isNgbRadioGroup() {\n return this._elementRef.nativeElement.getAttribute('ngbRadioGroup') !== null\n }\n\n protected _isTelInput() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-tel-input'\n }\n\n protected _isQuillEditor() {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'quill-editor'\n }\n\n /** Focuses the input. */\n focus(): void {\n this._elementRef.nativeElement.focus()\n }\n\n /** Unfocuses the input. */\n blur(): void {\n this._elementRef.nativeElement.blur()\n }\n\n setValue(value: any) {\n if (this.ngControl) {\n const control = this.ngControl.control\n if (control) {\n control.setValue(value)\n }\n }\n }\n\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport {\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList\n} from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, ReplaySubject, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, map, startWith, switchMap, tap } from 'rxjs/operators'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { IErrorRecord } from '@theseam/ui-common/form-field-error'\n\nimport { FormFieldErrorDirective } from './form-field-error.directive'\nimport { FormFieldHelpTextDirective } from './form-field-help-text.directive'\nimport { FormFieldLabelTplDirective } from './form-field-label-tpl.directive'\nimport { FORM_FIELD_COMPONENT } from './form-field-tokens'\nimport { InputDirective } from './input.directive'\n\nlet nextLabelUniqueId = 0\n\n/**\n * Should wrap all form controls.\n */\n@Component({\n selector: 'seam-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n providers: [\n {\n provide: FORM_FIELD_COMPONENT,\n useExisting: TheSeamFormFieldComponent,\n }\n ],\n})\nexport class TheSeamFormFieldComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_inline: BooleanInput\n\n private readonly _helpTextStrSubject = new BehaviorSubject<string | undefined>(undefined)\n private readonly _helpTextTplSubject = new BehaviorSubject<FormFieldHelpTextDirective | undefined>(undefined)\n private readonly _contentInputSubject = new BehaviorSubject<InputDirective | undefined>(undefined)\n\n /** @ignore */\n protected _labelUid = `seam-label-${nextLabelUniqueId++}`\n\n /** @ignore */\n protected _helpTextUid = `seam-help-text-${nextLabelUniqueId++}`\n\n /** @ignore */\n public _errorPadding = '0px'\n\n /** @ignore */\n @HostBinding('style.display') get _displayStyle() { return this.inline ? 'inline-block' : 'block' }\n\n /**\n * Used to declare an inline element.\n *\n * NOTE: Not well tested or supported, so it may have some issues currently\n * and could change.\n */\n @Input() @InputBoolean() inline = false\n\n /** Add a text label for the form control. */\n @Input() label: string | undefined | null\n\n /**\n * The label can be on top or inline.\n *\n * > Only supports `ltr` direction, so inline will only place the label on the\n * > left.\n */\n @Input() labelPosition: 'top' | 'inline' = 'top'\n\n /**\n * CSS class to add to the label element.\n *\n * Accepts a single space separated string of classes, like the html class\n * attribute.\n */\n @Input() labelClass: string | undefined | null\n\n /** Max errors to display. */\n @Input() maxErrors = -1\n\n /**\n * A padding error is an always allocated space equivalent to a single line\n * error string.\n */\n @Input() numPaddingErrors = 1\n\n /**\n * `id` attribute to add to the label element. This should not be needed in\n * most situations, because a unique id will be generated if not provided.\n */\n @Input()\n get labelId(): string | undefined | null { return this._labelId }\n set labelId(value: string | undefined | null) { this._labelId = value || this._labelUid }\n /** @ignore */\n protected _labelId: string | undefined | null\n\n /**\n * Help text added below the control.\n */\n @Input()\n get helpText(): string | undefined | null { return this._helpTextStrSubject.value }\n set helpText(value: string | undefined | null) {\n this._helpTextStrSubject.next(value || undefined)\n }\n\n /**\n * `id` attribute to add to the label element. This should not be needed in\n * most situations, because a unique id will be generated if not provided.\n */\n @Input()\n get helpTextId(): string | undefined | null { return this._helpTextId }\n set helpTextId(value: string | undefined | null) { this._helpTextId = value || this._helpTextUid }\n /** @ignore */\n protected _helpTextId: string | undefined | null\n\n /** @ignore */\n @ContentChild(FormFieldHelpTextDirective, { static: true })\n get helpTextTpl(): FormFieldLabelTplDirective | undefined { return this._helpTextTplSubject.value }\n set helpTextTpl(value: FormFieldLabelTplDirective | undefined) {\n this._helpTextTplSubject.next(value || undefined)\n }\n\n /** @ignore */\n @ContentChild(FormFieldLabelTplDirective, { static: true }) labelTpl?: FormFieldLabelTplDirective\n\n /** @ignore */\n @ContentChild(InputDirective, { static: true })\n get contentInput(): InputDirective | undefined { return this._contentInputSubject.value }\n set contentInput(value: InputDirective | undefined) { this._contentInputSubject.next(value || undefined) }\n\n /** @ignore */\n @ContentChildren(FormFieldErrorDirective)\n get fieldErrors() { return this._fieldErrors }\n set fieldErrors(value: QueryList<FormFieldErrorDirective[]> | undefined | null) {\n this._fieldErrors = value\n\n if (this._sub) { this._sub.unsubscribe() }\n if (this.fieldErrors) {\n this._sub = this.fieldErrors.changes\n .pipe(startWith(this.fieldErrors))\n .pipe(map(v => v.toArray() as FormFieldErrorDirective[]))\n .pipe(tap(v => {\n const records: IErrorRecord[] = []\n for (const item of v) {\n if (item.validatorName) {\n records.push({\n validatorName: item.validatorName,\n error: null,\n template: item.template,\n external: item.external\n })\n }\n }\n this._fieldErrorsSubject2.next(records)\n }))\n .subscribe(v => this._fieldErrorsSubject.next(v))\n }\n }\n /** @ignore */\n private _fieldErrors: QueryList<FormFieldErrorDirective[]> | undefined | null\n /** @ignore */\n private _sub?: Subscription\n\n /** @ignore */\n private readonly _fieldErrorsSubject = new ReplaySubject<FormFieldErrorDirective[]>(1)\n /** @ignore */\n public readonly fieldErrors$: Observable<FormFieldErrorDirective[]> = this._fieldErrorsSubject.asObservable()\n\n /** @ignore */\n private readonly _fieldErrorsSubject2 = new ReplaySubject<IErrorRecord[]>(1)\n /** @ignore */\n public readonly fieldErrors2$: Observable<IErrorRecord[]> = this._fieldErrorsSubject2.asObservable()\n\n get isPasswordInput() {\n return this.contentInput && this.contentInput.type && this.contentInput.type === 'password'\n }\n get passwordInputElement() {\n return this.contentInput && this.contentInput._elementRef && this.contentInput._elementRef.nativeElement\n }\n\n get hasHelpText() { return !!this._helpTextStrSubject.value || !!this._helpTextTplSubject.value }\n // get hasHelpText() { return !!this.helpText || !!this._helpTextTpl }\n\n private _helpTextSub = Subscription.EMPTY\n\n /** @ignore */\n constructor(\n private readonly _elementRef: ElementRef\n ) { }\n\n /** @ignore */\n ngOnInit() {\n this._helpTextSub = this._contentInputSubject.pipe(\n filter(contentInput => !!contentInput),\n switchMap(contentInput => combineLatest([\n this._helpTextStrSubject,\n this._helpTextTplSubject\n ]).pipe(\n map(() => this.hasHelpText),\n distinctUntilChanged(),\n tap(() => {\n if (contentInput) {\n contentInput.ariaDescribedBy = this._helpTextId || undefined\n }\n })\n ))\n ).subscribe()\n }\n\n /** @ignore */\n ngOnDestroy() {\n this._sub?.unsubscribe()\n this._helpTextSub?.unsubscribe()\n }\n\n /** @ignore */\n public isValidatorMatch(validatorName: string, tplValidatorName: string, errors: any): boolean {\n const tplValidatorNames = tplValidatorName.split(' ')\n\n for (let i = 0; i < tplValidatorNames.length; i++) {\n const name = tplValidatorNames[i]\n if (name === validatorName && i === 0) {\n return true\n }\n }\n\n return false\n }\n\n /** @ignore */\n public _labelElemResized(labelElem: HTMLLabelElement) {\n if (labelElem) {\n this._errorPadding = `${labelElem.getBoundingClientRect().width}px`\n } else {\n this._errorPadding = '0px'\n }\n }\n\n public getElement(): HTMLElement {\n return this._elementRef.nativeElement\n }\n\n}\n","<div>\n <div [class.seam-form-field-inline]=\"inline\">\n <label *ngIf=\"label || labelTpl\"\n #labelElem\n [attr.id]=\"labelId\"\n [attr.for]=\"contentInput?.id\"\n class=\"control-label {{ labelClass }}\"\n (seamElemResized)=\"_labelElemResized(labelElem)\">\n <ng-container *ngIf=\"labelTpl; else noLabelTpl\">\n <ng-template [ngTemplateOutlet]=\"labelTpl.template\" [ngTemplateOutletContext]=\"{ $implicit: label, label: label, required: contentInput?.required || false }\"></ng-template>\n </ng-container>\n <ng-template #noLabelTpl>\n {{ label }}<seam-form-field-required-indicator class=\"pl-1\"></seam-form-field-required-indicator>\n </ng-template>\n </label>\n <ng-container *ngIf=\"!isPasswordInput\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isPasswordInput\">\n <div class=\"position-relative\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <seam-password-input-reveal [inputRef]=\"$any(passwordInputElement)\"></seam-password-input-reveal>\n </div>\n </ng-container>\n </div>\n <!-- Need `.d-block` to make errors show without input sibling selector -->\n <ng-container *ngIf=\"contentInput\">\n <seam-form-field-error-list *ngIf=\"fieldErrors$ | async as fieldErrors\"\n [style.paddingLeft]=\"(label || labelTpl) && inline ? _errorPadding : undefined\"\n [control]=\"contentInput.ngControl\"\n [errors]=\"fieldErrors2$ | async\"\n [maxErrors]=\"maxErrors\"\n [numPaddingErrors]=\"numPaddingErrors\"\n class=\"invalid-feedback\">\n </seam-form-field-error-list>\n </ng-container>\n</div>\n\n<ng-template #content><ng-content></ng-content></ng-template>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\n\nimport { TheSeamFormFieldErrorModule } from '@theseam/ui-common/form-field-error'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\n\nimport { FormFieldErrorDirective } from './form-field-error.directive'\nimport { FormFieldHelpTextDirective } from './form-field-help-text.directive'\nimport { FormFieldLabelTplDirective } from './form-field-label-tpl.directive'\nimport { FormFieldRequiredIndicatorComponent } from './form-field-required-indicator.component'\nimport { TheSeamFormFieldComponent } from './form-field.component'\nimport { InputDirective } from './input.directive'\n\n@NgModule({\n declarations: [\n TheSeamFormFieldComponent,\n InputDirective,\n FormFieldErrorDirective,\n FormFieldLabelTplDirective,\n FormFieldRequiredIndicatorComponent,\n FormFieldHelpTextDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TheSeamFormFieldErrorModule,\n TheSeamSharedModule\n ],\n exports: [\n TheSeamFormFieldComponent,\n InputDirective,\n FormFieldErrorDirective,\n FormFieldLabelTplDirective,\n FormFieldRequiredIndicatorComponent,\n FormFieldHelpTextDirective\n ]\n})\nexport class TheSeamFormFieldModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","startWith","switchMap","i2","i4.FormFieldRequiredIndicatorComponent"],"mappings":"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"}
@@ -1854,13 +1854,13 @@ class TheSeamGoogleMapsPlacesAutoCompleteComponent {
1854
1854
  }
1855
1855
  }
1856
1856
  TheSeamGoogleMapsPlacesAutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamGoogleMapsPlacesAutoCompleteComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1857
- TheSeamGoogleMapsPlacesAutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamGoogleMapsPlacesAutoCompleteComponent, selector: "seam-google-maps-places-autocomplete", inputs: { label: "label", icon: "icon", disabled: "disabled", placeholder: "placeholder", autocorrect: "autocorrect", autocapitalize: "autocapitalize", tabIndex: "tabIndex", options: "options" }, outputs: { placeChanged: "placeChanged" }, host: { listeners: { "click": "_onClick(event)", "focus": "_onFocus($event)" }, properties: { "attr.tabindex": "this._attrTabIndex" } }, viewQueries: [{ propertyName: "_inputDirective", first: true, predicate: ["inp"], descendants: true, read: InputDirective, static: true }, { propertyName: "__autocompleteDirective", first: true, predicate: TheSeamGoogleMapsPlacesAutocompleteDirective, descendants: true, static: true }], exportAs: ["seamGoogleMapsPlacesAutoComplete"], ngImport: i0, template: "<div *ngIf=\"icon\" class=\"search-container--icon-wrapper\">\n <seam-icon [icon]=\"icon\" class=\"text-muted\" size=\"lg\"></seam-icon>\n</div>\n<label *ngIf=\"label || placeholder\" [attr.for]=\"inp.id\" class=\"sr-only\">{{ label || placeholder }}</label>\n<input #inp=\"seamInput\"\n seamInput\n seamGoogleMapsPlacesAutocomplete\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocorrect]=\"autocorrect\"\n [attr.autocapitalize]=\"autocapitalize\"\n [options]=\"_options\"\n/>\n", styles: [":host{position:relative;width:100%}:host>input{padding-left:40px}:host .search-container--icon-wrapper{position:absolute;top:6px;left:10px;bottom:0}:host .search-container--icon-wrapper ::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: TheSeamGoogleMapsPlacesAutocompleteDirective, selector: "input[seamGoogleMapsPlacesAutocomplete]", inputs: ["options"], outputs: ["placeChanged"], exportAs: ["seamGoogleMapsPlacesAutocomplete"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1857
+ TheSeamGoogleMapsPlacesAutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamGoogleMapsPlacesAutoCompleteComponent, selector: "seam-google-maps-places-autocomplete", inputs: { label: "label", icon: "icon", disabled: "disabled", placeholder: "placeholder", autocorrect: "autocorrect", autocapitalize: "autocapitalize", tabIndex: "tabIndex", options: "options" }, outputs: { placeChanged: "placeChanged" }, host: { listeners: { "click": "_onClick(event)", "focus": "_onFocus($event)" }, properties: { "attr.tabindex": "this._attrTabIndex" } }, viewQueries: [{ propertyName: "_inputDirective", first: true, predicate: ["inp"], descendants: true, read: InputDirective, static: true }, { propertyName: "__autocompleteDirective", first: true, predicate: TheSeamGoogleMapsPlacesAutocompleteDirective, descendants: true, static: true }], exportAs: ["seamGoogleMapsPlacesAutoComplete"], ngImport: i0, template: "<div *ngIf=\"icon\" class=\"search-container--icon-wrapper\">\r\n <seam-icon [icon]=\"icon\" class=\"text-muted\" size=\"lg\"></seam-icon>\r\n</div>\r\n<label *ngIf=\"label || placeholder\" [attr.for]=\"inp.id\" class=\"sr-only\">{{ label || placeholder }}</label>\r\n<input #inp=\"seamInput\"\r\n seamInput\r\n seamGoogleMapsPlacesAutocomplete\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.autocorrect]=\"autocorrect\"\r\n [attr.autocapitalize]=\"autocapitalize\"\r\n [options]=\"_options\"\r\n/>\r\n", styles: [":host{position:relative;width:100%}:host>input{padding-left:40px}:host .search-container--icon-wrapper{position:absolute;top:6px;left:10px;bottom:0}:host .search-container--icon-wrapper ::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: TheSeamGoogleMapsPlacesAutocompleteDirective, selector: "input[seamGoogleMapsPlacesAutocomplete]", inputs: ["options"], outputs: ["placeChanged"], exportAs: ["seamGoogleMapsPlacesAutocomplete"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1858
1858
  __decorate([
1859
1859
  InputBoolean()
1860
1860
  ], TheSeamGoogleMapsPlacesAutoCompleteComponent.prototype, "disabled", void 0);
1861
1861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamGoogleMapsPlacesAutoCompleteComponent, decorators: [{
1862
1862
  type: Component,
1863
- args: [{ selector: 'seam-google-maps-places-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'seamGoogleMapsPlacesAutoComplete', template: "<div *ngIf=\"icon\" class=\"search-container--icon-wrapper\">\n <seam-icon [icon]=\"icon\" class=\"text-muted\" size=\"lg\"></seam-icon>\n</div>\n<label *ngIf=\"label || placeholder\" [attr.for]=\"inp.id\" class=\"sr-only\">{{ label || placeholder }}</label>\n<input #inp=\"seamInput\"\n seamInput\n seamGoogleMapsPlacesAutocomplete\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocorrect]=\"autocorrect\"\n [attr.autocapitalize]=\"autocapitalize\"\n [options]=\"_options\"\n/>\n", styles: [":host{position:relative;width:100%}:host>input{padding-left:40px}:host .search-container--icon-wrapper{position:absolute;top:6px;left:10px;bottom:0}:host .search-container--icon-wrapper ::ng-deep .svg-inline--fa{vertical-align:middle}\n"] }]
1863
+ args: [{ selector: 'seam-google-maps-places-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'seamGoogleMapsPlacesAutoComplete', template: "<div *ngIf=\"icon\" class=\"search-container--icon-wrapper\">\r\n <seam-icon [icon]=\"icon\" class=\"text-muted\" size=\"lg\"></seam-icon>\r\n</div>\r\n<label *ngIf=\"label || placeholder\" [attr.for]=\"inp.id\" class=\"sr-only\">{{ label || placeholder }}</label>\r\n<input #inp=\"seamInput\"\r\n seamInput\r\n seamGoogleMapsPlacesAutocomplete\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.autocorrect]=\"autocorrect\"\r\n [attr.autocapitalize]=\"autocapitalize\"\r\n [options]=\"_options\"\r\n/>\r\n", styles: [":host{position:relative;width:100%}:host>input{padding-left:40px}:host .search-container--icon-wrapper{position:absolute;top:6px;left:10px;bottom:0}:host .search-container--icon-wrapper ::ng-deep .svg-inline--fa{vertical-align:middle}\n"] }]
1864
1864
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { label: [{
1865
1865
  type: Input
1866
1866
  }], icon: [{