@theseam/ui-common 1.0.0-beta.0 → 1.0.0-beta.10

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 (153) hide show
  1. package/breadcrumbs/index.d.ts +1 -2
  2. package/buttons/index.d.ts +20 -13
  3. package/datatable/index.d.ts +77 -39
  4. package/dynamic/index.d.ts +5 -5
  5. package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
  6. package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
  7. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
  8. package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
  10. package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
  11. package/fesm2022/theseam-ui-common-card.mjs +21 -21
  12. package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
  13. package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
  14. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
  15. package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
  16. package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
  17. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
  18. package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  19. package/fesm2022/theseam-ui-common-core.mjs +31 -11
  20. package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
  21. package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
  22. package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
  23. package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
  24. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
  25. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
  26. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
  27. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
  28. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  29. package/fesm2022/theseam-ui-common-datatable.mjs +727 -420
  30. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  31. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
  32. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  33. package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
  34. package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
  35. package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
  36. package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
  37. package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
  38. package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
  39. package/fesm2022/theseam-ui-common-form-field.mjs +129 -76
  40. package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
  41. package/fesm2022/theseam-ui-common-framework.mjs +669 -543
  42. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
  43. package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
  44. package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
  45. package/fesm2022/theseam-ui-common-graphql.mjs +311 -254
  46. package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
  47. package/fesm2022/theseam-ui-common-icon.mjs +125 -89
  48. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
  49. package/fesm2022/theseam-ui-common-layout.mjs +18 -26
  50. package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
  51. package/fesm2022/theseam-ui-common-loading.mjs +19 -28
  52. package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
  53. package/fesm2022/theseam-ui-common-menu.mjs +124 -95
  54. package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
  55. package/fesm2022/theseam-ui-common-modal.mjs +178 -129
  56. package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
  57. package/fesm2022/theseam-ui-common-models.mjs +3 -3
  58. package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
  59. package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
  60. package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
  61. package/fesm2022/theseam-ui-common-popover.mjs +81 -88
  62. package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
  63. package/fesm2022/theseam-ui-common-progress.mjs +15 -19
  64. package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
  65. package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
  66. package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
  67. package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
  68. package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
  69. package/fesm2022/theseam-ui-common-services.mjs +41 -26
  70. package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
  71. package/fesm2022/theseam-ui-common-shared.mjs +149 -159
  72. package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
  73. package/fesm2022/theseam-ui-common-storage.mjs +9 -6
  74. package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
  75. package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
  76. package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
  77. package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
  78. package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
  79. package/fesm2022/theseam-ui-common-table-cell-type.mjs +63 -39
  80. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
  81. package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
  82. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
  83. package/fesm2022/theseam-ui-common-table.mjs +62 -41
  84. package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
  85. package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
  86. package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
  87. package/fesm2022/theseam-ui-common-testing.mjs +13 -10
  88. package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
  89. package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
  90. package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
  91. package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
  92. package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
  93. package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
  94. package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
  95. package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
  96. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
  97. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
  98. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  99. package/fesm2022/theseam-ui-common-utils.mjs +113 -77
  100. package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
  101. package/fesm2022/theseam-ui-common-validators.mjs +10 -9
  102. package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
  103. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
  104. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  105. package/fesm2022/theseam-ui-common-viewers.mjs +80 -53
  106. package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
  107. package/fesm2022/theseam-ui-common-widget.mjs +288 -314
  108. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
  109. package/form-field/index.d.ts +1 -1
  110. package/framework/base-layout/base-layout.component.scss +9 -4
  111. package/framework/base-layout/styles/_variables.scss +4 -9
  112. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
  113. package/framework/index.d.ts +6 -6
  114. package/framework/nav/nav-item/nav-item.component.scss +7 -6
  115. package/framework/nav/styles/_themes/light/_variables.scss +21 -5
  116. package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
  117. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
  118. package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
  119. package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
  120. package/graphql/index.d.ts +49 -7
  121. package/modal/README.md +5 -5
  122. package/modal/index.d.ts +1 -1
  123. package/models/index.d.ts +1 -1
  124. package/package.json +59 -60
  125. package/popover/index.d.ts +0 -2
  126. package/progress/progress-circle/styles/_variables.scss +15 -3
  127. package/shared/index.d.ts +0 -13
  128. package/story-helpers/index.d.ts +11 -1
  129. package/styles/bootstrap/_bootstrap.scss +34 -34
  130. package/styles/bootstrap/_bs-styles.scss +4 -8
  131. package/styles/bootstrap/_bs-utilities.scss +4 -4
  132. package/styles/bootstrap/_bs-variables.scss +65 -70
  133. package/styles/common/_forms.scss +9 -10
  134. package/styles/common/_global.scss +0 -1
  135. package/styles/common/_hacks.scss +1 -1
  136. package/styles/common/_table.scss +0 -1
  137. package/styles/common/_text.scss +3 -1
  138. package/styles/theme.scss +1 -1
  139. package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
  140. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
  141. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
  142. package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
  143. package/styles/vendor/quill/_quill.scss +15 -9
  144. package/table/index.d.ts +4 -1
  145. package/table-cell-type/index.d.ts +27 -2
  146. package/tel-input/README.md +27 -27
  147. package/utils/index.d.ts +3 -3
  148. package/viewers/index.d.ts +9 -2
  149. package/widget/_widget-theme.scss +1 -1
  150. package/widget/styles/_variables.scss +2 -2
  151. package/widget/widget/widget.component.scss +0 -2
  152. package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
  153. package/widget/widget-footer/widget-footer.component.scss +0 -1
@@ -30,10 +30,10 @@ class TheSeamFormFieldHarness extends ComponentHarness {
30
30
  // private readonly _input = this.locatorFor('input')
31
31
  /** Creates a `HarnessPredicate` used to locate a particular `TheSeamFormFieldHarness`. */
32
32
  static with(options) {
33
- return new HarnessPredicate(TheSeamFormFieldHarness, options)
33
+ return (new HarnessPredicate(TheSeamFormFieldHarness, options)
34
34
  // .addOption('field name', options.name,
35
35
  // (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))
36
- .addOption('label', options.label, (harness, label) => HarnessPredicate.stringMatches(harness.getLabel(), label));
36
+ .addOption('label', options.label, (harness, label) => HarnessPredicate.stringMatches(harness.getLabel(), label)));
37
37
  }
38
38
  async getLabel() {
39
39
  return (await this._label()).text();
@@ -46,25 +46,29 @@ class TheSeamFormFieldHarness extends ComponentHarness {
46
46
  class FormFieldErrorDirective {
47
47
  template;
48
48
  static ngAcceptInputType_external;
49
- get validatorName() { return this._validatorName || this.seamFormFieldError; }
50
- set validatorName(value) { this._validatorName = value; }
49
+ get validatorName() {
50
+ return this._validatorName || this.seamFormFieldError;
51
+ }
52
+ set validatorName(value) {
53
+ this._validatorName = value;
54
+ }
51
55
  _validatorName;
52
56
  seamFormFieldError;
53
57
  external = false;
54
58
  constructor(template) {
55
59
  this.template = template;
56
60
  }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FormFieldErrorDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
58
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: FormFieldErrorDirective, isStandalone: false, selector: "[seamFormFieldError]", inputs: { validatorName: "validatorName", seamFormFieldError: "seamFormFieldError", external: "external" }, ngImport: i0 });
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: FormFieldErrorDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
62
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: FormFieldErrorDirective, isStandalone: false, selector: "[seamFormFieldError]", inputs: { validatorName: "validatorName", seamFormFieldError: "seamFormFieldError", external: "external" }, ngImport: i0 });
59
63
  }
60
64
  __decorate([
61
65
  InputBoolean()
62
66
  ], FormFieldErrorDirective.prototype, "external", void 0);
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
64
68
  type: Directive,
65
69
  args: [{
66
70
  selector: '[seamFormFieldError]',
67
- standalone: false
71
+ standalone: false,
68
72
  }]
69
73
  }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { validatorName: [{
70
74
  type: Input
@@ -79,14 +83,14 @@ class FormFieldHelpTextDirective {
79
83
  constructor(template) {
80
84
  this.template = template;
81
85
  }
82
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FormFieldHelpTextDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
83
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: FormFieldHelpTextDirective, isStandalone: false, selector: "[seamFormFieldHelpText]", ngImport: i0 });
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: FormFieldHelpTextDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
87
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: FormFieldHelpTextDirective, isStandalone: false, selector: "[seamFormFieldHelpText]", ngImport: i0 });
84
88
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FormFieldHelpTextDirective, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: FormFieldHelpTextDirective, decorators: [{
86
90
  type: Directive,
87
91
  args: [{
88
92
  selector: '[seamFormFieldHelpText]',
89
- standalone: false
93
+ standalone: false,
90
94
  }]
91
95
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
92
96
 
@@ -95,14 +99,14 @@ class FormFieldLabelTplDirective {
95
99
  constructor(template) {
96
100
  this.template = template;
97
101
  }
98
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FormFieldLabelTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
99
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: FormFieldLabelTplDirective, isStandalone: false, selector: "[seamFormFieldLabelTpl]", ngImport: i0 });
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: FormFieldLabelTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
103
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: FormFieldLabelTplDirective, isStandalone: false, selector: "[seamFormFieldLabelTpl]", ngImport: i0 });
100
104
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FormFieldLabelTplDirective, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: FormFieldLabelTplDirective, decorators: [{
102
106
  type: Directive,
103
107
  args: [{
104
108
  selector: '[seamFormFieldLabelTpl]',
105
- standalone: false
109
+ standalone: false,
106
110
  }]
107
111
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
108
112
 
@@ -131,8 +135,8 @@ class FormFieldRequiredIndicatorComponent {
131
135
  this._requiredChange.next(this.required);
132
136
  }
133
137
  }
134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FormFieldRequiredIndicatorComponent, deps: [{ token: FORM_FIELD_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
135
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: FormFieldRequiredIndicatorComponent, isStandalone: false, selector: "seam-form-field-required-indicator", inputs: { required: "required" }, host: { classAttribute: "text-danger" }, usesOnChanges: true, ngImport: i0, template: `
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: FormFieldRequiredIndicatorComponent, deps: [{ token: FORM_FIELD_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
139
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: FormFieldRequiredIndicatorComponent, isStandalone: false, selector: "seam-form-field-required-indicator", inputs: { required: "required" }, host: { classAttribute: "text-danger" }, usesOnChanges: true, ngImport: i0, template: `
136
140
  <ng-container *ngIf="_controlRequired$; else noControl">
137
141
  <ng-container *ngIf="_controlRequired$ | async">*</ng-container>
138
142
  </ng-container>
@@ -144,7 +148,7 @@ class FormFieldRequiredIndicatorComponent {
144
148
  __decorate([
145
149
  InputBoolean()
146
150
  ], FormFieldRequiredIndicatorComponent.prototype, "required", void 0);
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FormFieldRequiredIndicatorComponent, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: FormFieldRequiredIndicatorComponent, decorators: [{
148
152
  type: Component,
149
153
  args: [{ selector: 'seam-form-field-required-indicator', template: `
150
154
  <ng-container *ngIf="_controlRequired$; else noControl">
@@ -154,7 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
154
158
  <ng-container *ngIf="required">*</ng-container>
155
159
  </ng-template>
156
160
  `, host: {
157
- 'class': 'text-danger'
161
+ class: 'text-danger',
158
162
  }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false }]
159
163
  }], ctorParameters: () => [{ type: undefined, decorators: [{
160
164
  type: Optional
@@ -185,24 +189,38 @@ class InputDirective {
185
189
  return this._isFormControl && this.seamInputSize === 'sm';
186
190
  }
187
191
  get _isInvalid() {
188
- return this.ngControl && this.ngControl.invalid && (this.ngControl.dirty || this.ngControl.touched);
192
+ return (this.ngControl &&
193
+ this.ngControl.invalid &&
194
+ (this.ngControl.dirty || this.ngControl.touched));
195
+ }
196
+ get _attrId() {
197
+ return this._isNgSelect() ? undefined : this.id;
198
+ }
199
+ get _attrPlaceholder() {
200
+ return this.placeholder;
189
201
  }
190
- get _attrId() { return this._isNgSelect() ? undefined : this.id; }
191
- get _attrPlaceholder() { return this.placeholder; }
192
202
  ariaDescribedBy;
193
203
  seamInputSize = 'normal';
194
- get id() { return this._id; }
195
- set id(value) { this._id = value || this._uid; }
204
+ get id() {
205
+ return this._id;
206
+ }
207
+ set id(value) {
208
+ this._id = value || this._uid;
209
+ }
196
210
  _id;
197
211
  /** Input type of the element. */
198
- get type() { return this._type; }
212
+ get type() {
213
+ return this._type;
214
+ }
199
215
  set type(value) {
200
216
  this._type = value || 'text';
201
217
  // this._validateType()
202
218
  // When using Angular inputs, developers are no longer able to set the properties on the native
203
219
  // input element. To ensure that bindings for `type` work, we need to sync the setter
204
220
  // with the native property. Textarea elements don't support the type property or attribute.
205
- if ((!this._isTextarea() && !this._isNgSelect()) /* && getSupportedInputTypes().has(this._type) */) {
221
+ if (!this._isTextarea() &&
222
+ !this._isNgSelect() /* && getSupportedInputTypes().has(this._type) */) {
223
+ ;
206
224
  this._elementRef.nativeElement.type = this._type;
207
225
  }
208
226
  }
@@ -242,7 +260,7 @@ class InputDirective {
242
260
  _readonlyChange = new Subject();
243
261
  requiredChange = this._requiredChange.asObservable();
244
262
  disabledChange = this._disabledChange.asObservable();
245
- readonlyChange = this._readonlyChange.asObservable;
263
+ readonlyChange = this._readonlyChange.asObservable();
246
264
  constructor(_elementRef, ngControl, _parentForm, _parentFormGroup,
247
265
  // 3rd party support
248
266
  _ngSelect) {
@@ -271,7 +289,14 @@ class InputDirective {
271
289
  }
272
290
  ngDoCheck() {
273
291
  if (this._isNgSelect()) {
274
- this._ngSelect.labelForId = this.id;
292
+ // this._ngSelect.labelForId = this.id // No longer possible, do to inputs being signals.
293
+ // More flaky and less performant than old way of just using the input, but should still work.
294
+ if (this._ngSelect.labelForId() === null) {
295
+ const inputElement = this._elementRef.nativeElement.querySelector('.ng-input > input');
296
+ if (inputElement) {
297
+ inputElement.id = this.id || '';
298
+ }
299
+ }
275
300
  this._ngSelect.setDisabledState(this.disabled);
276
301
  }
277
302
  else {
@@ -281,11 +306,11 @@ class InputDirective {
281
306
  }
282
307
  /** Should only be textual inputs, but initially our app added to all form controls. */
283
308
  _shouldHaveFormControlCssClass() {
284
- return !this._isSeamCheckbox() &&
309
+ return (!this._isSeamCheckbox() &&
285
310
  !this._isRadioInput() &&
286
311
  !this._isTelInput() &&
287
312
  !this._isQuillEditor() &&
288
- !this._isRichTextEditor();
313
+ !this._isRichTextEditor());
289
314
  }
290
315
  /** Determines if the component host is a textarea. */
291
316
  _isTextarea() {
@@ -297,21 +322,21 @@ class InputDirective {
297
322
  }
298
323
  /** Determines if the component host is a seam-checkbox. */
299
324
  _isSeamCheckbox() {
300
- return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-checkbox';
325
+ return (this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-checkbox');
301
326
  }
302
327
  /** Determines if the component host is a radio input. */
303
328
  _isRadioInput() {
304
- return this._elementRef.nativeElement.nodeName.toLowerCase() === 'input' &&
305
- this._elementRef.nativeElement.type.toLowerCase() === 'radio';
329
+ return (this._elementRef.nativeElement.nodeName.toLowerCase() === 'input' &&
330
+ this._elementRef.nativeElement.type.toLowerCase() === 'radio');
306
331
  }
307
332
  _isTelInput() {
308
- return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-tel-input';
333
+ return (this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-tel-input');
309
334
  }
310
335
  _isQuillEditor() {
311
- return this._elementRef.nativeElement.nodeName.toLowerCase() === 'quill-editor';
336
+ return (this._elementRef.nativeElement.nodeName.toLowerCase() === 'quill-editor');
312
337
  }
313
338
  _isRichTextEditor() {
314
- return this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-rich-text';
339
+ return (this._elementRef.nativeElement.nodeName.toLowerCase() === 'seam-rich-text');
315
340
  }
316
341
  /** Focuses the input. */
317
342
  focus() {
@@ -329,8 +354,8 @@ class InputDirective {
329
354
  }
330
355
  }
331
356
  }
332
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", 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 });
333
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: InputDirective, isStandalone: false, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[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 });
357
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.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 });
358
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: InputDirective, isStandalone: false, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[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 });
334
359
  }
335
360
  __decorate([
336
361
  InputBoolean()
@@ -338,14 +363,14 @@ __decorate([
338
363
  __decorate([
339
364
  InputBoolean()
340
365
  ], InputDirective.prototype, "readonly", void 0);
341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: InputDirective, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: InputDirective, decorators: [{
342
367
  type: Directive,
343
368
  args: [{
344
369
  // TODO: Consider removing restriction and instead adding a dev warning. A few
345
370
  // inputs in the app need to be changed for this first.
346
371
  selector: 'input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]',
347
372
  exportAs: 'seamInput',
348
- standalone: false
373
+ standalone: false,
349
374
  }]
350
375
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.NgControl, decorators: [{
351
376
  type: Optional
@@ -408,7 +433,9 @@ class TheSeamFormFieldComponent {
408
433
  /** @ignore */
409
434
  _errorPadding = '0px';
410
435
  /** @ignore */
411
- get _displayStyle() { return this.inline ? 'inline-block' : 'block'; }
436
+ get _displayStyle() {
437
+ return this.inline ? 'inline-block' : 'block';
438
+ }
412
439
  /**
413
440
  * Used to declare an inline element.
414
441
  *
@@ -443,14 +470,20 @@ class TheSeamFormFieldComponent {
443
470
  * `id` attribute to add to the label element. This should not be needed in
444
471
  * most situations, because a unique id will be generated if not provided.
445
472
  */
446
- get labelId() { return this._labelId; }
447
- set labelId(value) { this._labelId = value || this._labelUid; }
473
+ get labelId() {
474
+ return this._labelId;
475
+ }
476
+ set labelId(value) {
477
+ this._labelId = value || this._labelUid;
478
+ }
448
479
  /** @ignore */
449
480
  _labelId;
450
481
  /**
451
482
  * Help text added below the control.
452
483
  */
453
- get helpText() { return this._helpTextStrSubject.value; }
484
+ get helpText() {
485
+ return this._helpTextStrSubject.value;
486
+ }
454
487
  set helpText(value) {
455
488
  this._helpTextStrSubject.next(value || undefined);
456
489
  }
@@ -458,22 +491,34 @@ class TheSeamFormFieldComponent {
458
491
  * `id` attribute to add to the label element. This should not be needed in
459
492
  * most situations, because a unique id will be generated if not provided.
460
493
  */
461
- get helpTextId() { return this._helpTextId; }
462
- set helpTextId(value) { this._helpTextId = value || this._helpTextUid; }
494
+ get helpTextId() {
495
+ return this._helpTextId;
496
+ }
497
+ set helpTextId(value) {
498
+ this._helpTextId = value || this._helpTextUid;
499
+ }
463
500
  /** @ignore */
464
501
  _helpTextId;
465
502
  /** @ignore */
466
- get helpTextTpl() { return this._helpTextTplSubject.value; }
503
+ get helpTextTpl() {
504
+ return this._helpTextTplSubject.value;
505
+ }
467
506
  set helpTextTpl(value) {
468
507
  this._helpTextTplSubject.next(value || undefined);
469
508
  }
470
509
  /** @ignore */
471
510
  labelTpl;
472
511
  /** @ignore */
473
- get contentInput() { return this._contentInputSubject.value; }
474
- set contentInput(value) { this._contentInputSubject.next(value || undefined); }
512
+ get contentInput() {
513
+ return this._contentInputSubject.value;
514
+ }
515
+ set contentInput(value) {
516
+ this._contentInputSubject.next(value || undefined);
517
+ }
475
518
  /** @ignore */
476
- get fieldErrors() { return this._fieldErrors; }
519
+ get fieldErrors() {
520
+ return this._fieldErrors;
521
+ }
477
522
  set fieldErrors(value) {
478
523
  this._fieldErrors = value;
479
524
  if (this._sub) {
@@ -482,8 +527,8 @@ class TheSeamFormFieldComponent {
482
527
  if (this.fieldErrors) {
483
528
  this._sub = this.fieldErrors.changes
484
529
  .pipe(startWith$1(this.fieldErrors))
485
- .pipe(map(v => v.toArray()))
486
- .pipe(tap(v => {
530
+ .pipe(map((v) => v.toArray()))
531
+ .pipe(tap((v) => {
487
532
  const records = [];
488
533
  for (const item of v) {
489
534
  if (item.validatorName) {
@@ -491,13 +536,13 @@ class TheSeamFormFieldComponent {
491
536
  validatorName: item.validatorName,
492
537
  error: null,
493
538
  template: item.template,
494
- external: item.external
539
+ external: item.external,
495
540
  });
496
541
  }
497
542
  }
498
543
  this._fieldErrorsSubject2.next(records);
499
544
  }))
500
- .subscribe(v => this._fieldErrorsSubject.next(v));
545
+ .subscribe((v) => this._fieldErrorsSubject.next(v));
501
546
  }
502
547
  }
503
548
  /** @ignore */
@@ -513,12 +558,18 @@ class TheSeamFormFieldComponent {
513
558
  /** @ignore */
514
559
  fieldErrors2$ = this._fieldErrorsSubject2.asObservable();
515
560
  get isPasswordInput() {
516
- return this.contentInput && this.contentInput.type && this.contentInput.type === 'password';
561
+ return (this.contentInput &&
562
+ this.contentInput.type &&
563
+ this.contentInput.type === 'password');
517
564
  }
518
565
  get passwordInputElement() {
519
- return this.contentInput && this.contentInput._elementRef && this.contentInput._elementRef.nativeElement;
566
+ return (this.contentInput &&
567
+ this.contentInput._elementRef &&
568
+ this.contentInput._elementRef.nativeElement);
569
+ }
570
+ get hasHelpText() {
571
+ return !!this._helpTextStrSubject.value || !!this._helpTextTplSubject.value;
520
572
  }
521
- get hasHelpText() { return !!this._helpTextStrSubject.value || !!this._helpTextTplSubject.value; }
522
573
  // get hasHelpText() { return !!this.helpText || !!this._helpTextTpl }
523
574
  _helpTextSub = Subscription.EMPTY;
524
575
  /** @ignore */
@@ -527,14 +578,16 @@ class TheSeamFormFieldComponent {
527
578
  }
528
579
  /** @ignore */
529
580
  ngOnInit() {
530
- this._helpTextSub = this._contentInputSubject.pipe(filter(contentInput => !!contentInput), switchMap$1(contentInput => combineLatest([
581
+ this._helpTextSub = this._contentInputSubject
582
+ .pipe(filter((contentInput) => !!contentInput), switchMap$1((contentInput) => combineLatest([
531
583
  this._helpTextStrSubject,
532
- this._helpTextTplSubject
584
+ this._helpTextTplSubject,
533
585
  ]).pipe(map(() => this.hasHelpText), distinctUntilChanged(), tap(() => {
534
586
  if (contentInput) {
535
587
  contentInput.ariaDescribedBy = this._helpTextId || undefined;
536
588
  }
537
- })))).subscribe();
589
+ }))))
590
+ .subscribe();
538
591
  }
539
592
  /** @ignore */
540
593
  ngOnDestroy() {
@@ -564,25 +617,25 @@ class TheSeamFormFieldComponent {
564
617
  getElement() {
565
618
  return this._elementRef.nativeElement;
566
619
  }
567
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamFormFieldComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
568
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: TheSeamFormFieldComponent, isStandalone: false, selector: "seam-form-field", inputs: { inline: "inline", label: "label", labelPosition: "labelPosition", labelClass: "labelClass", maxErrors: "maxErrors", numPaddingErrors: "numPaddingErrors", labelId: "labelId", helpText: "helpText", helpTextId: "helpTextId" }, host: { properties: { "style.display": "this._displayStyle" } }, providers: [
620
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamFormFieldComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
621
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamFormFieldComponent, isStandalone: false, selector: "seam-form-field", inputs: { inline: "inline", label: "label", labelPosition: "labelPosition", labelClass: "labelClass", maxErrors: "maxErrors", numPaddingErrors: "numPaddingErrors", labelId: "labelId", helpText: "helpText", helpTextId: "helpTextId" }, host: { properties: { "style.display": "this._displayStyle" } }, providers: [
569
622
  {
570
623
  provide: FORM_FIELD_COMPONENT,
571
624
  useExisting: TheSeamFormFieldComponent,
572
- }
573
- ], queries: [{ propertyName: "helpTextTpl", first: true, predicate: FormFieldHelpTextDirective, descendants: true, static: true }, { propertyName: "labelTpl", first: true, predicate: FormFieldLabelTplDirective, descendants: true, static: true }, { propertyName: "contentInput", first: true, predicate: InputDirective, descendants: true, static: true }, { propertyName: "fieldErrors", predicate: FormFieldErrorDirective }], ngImport: i0, template: "<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", styles: [".seam-form-field-inline{display:flex;flex-direction:row}.seam-form-field-inline .control-label{margin-bottom:0;display:flex;flex-direction:column;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.FormFieldErrorListComponent, selector: "seam-form-field-error-list", inputs: ["errors", "showValidatorName", "numPaddingErrors", "listItemTpls", "maxErrors", "control", "showErrors"] }, { kind: "directive", type: i3.TheSeamElemResizedDirective, selector: "[seamElemResized]", outputs: ["seamElemResized"], exportAs: ["seamElemResized"] }, { kind: "component", type: i3.TheSeamPasswordInputRevealComponent, selector: "seam-password-input-reveal", inputs: ["inputRef", "passwordVisible"] }, { kind: "component", type: FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
625
+ },
626
+ ], queries: [{ propertyName: "helpTextTpl", first: true, predicate: FormFieldHelpTextDirective, descendants: true, static: true }, { propertyName: "labelTpl", first: true, predicate: FormFieldLabelTplDirective, descendants: true, static: true }, { propertyName: "contentInput", first: true, predicate: InputDirective, descendants: true, static: true }, { propertyName: "fieldErrors", predicate: FormFieldErrorDirective }], ngImport: i0, template: "<div>\n <div [class.seam-form-field-inline]=\"inline\">\n <label\n *ngIf=\"label || labelTpl\"\n #labelElem\n [attr.id]=\"labelId\"\n [attr.for]=\"contentInput?.id\"\n class=\"control-label {{ labelClass }}\"\n (seamElemResized)=\"_labelElemResized(labelElem)\"\n >\n <ng-container *ngIf=\"labelTpl; else noLabelTpl\">\n <ng-template\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{\n $implicit: label,\n label: label,\n required: contentInput?.required || false,\n }\"\n ></ng-template>\n </ng-container>\n <ng-template #noLabelTpl>\n {{ label\n }}<seam-form-field-required-indicator\n class=\"pl-1\"\n ></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\n [inputRef]=\"$any(passwordInputElement)\"\n ></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\n *ngIf=\"fieldErrors$ | async as fieldErrors\"\n [style.paddingLeft]=\"\n (label || labelTpl) && inline ? _errorPadding : undefined\n \"\n [control]=\"contentInput.ngControl\"\n [errors]=\"fieldErrors2$ | async\"\n [maxErrors]=\"maxErrors\"\n [numPaddingErrors]=\"numPaddingErrors\"\n class=\"invalid-feedback\"\n >\n </seam-form-field-error-list>\n </ng-container>\n</div>\n\n<ng-template #content><ng-content></ng-content></ng-template>\n", styles: [".seam-form-field-inline{display:flex;flex-direction:row}.seam-form-field-inline .control-label{margin-bottom:0;display:flex;flex-direction:column;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.FormFieldErrorListComponent, selector: "seam-form-field-error-list", inputs: ["errors", "showValidatorName", "numPaddingErrors", "listItemTpls", "maxErrors", "control", "showErrors"] }, { kind: "directive", type: i3.TheSeamElemResizedDirective, selector: "[seamElemResized]", outputs: ["seamElemResized"], exportAs: ["seamElemResized"] }, { kind: "component", type: i3.TheSeamPasswordInputRevealComponent, selector: "seam-password-input-reveal", inputs: ["inputRef", "passwordVisible"] }, { kind: "component", type: FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
574
627
  }
575
628
  __decorate([
576
629
  InputBoolean()
577
630
  ], TheSeamFormFieldComponent.prototype, "inline", void 0);
578
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamFormFieldComponent, decorators: [{
631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamFormFieldComponent, decorators: [{
579
632
  type: Component,
580
633
  args: [{ selector: 'seam-form-field', providers: [
581
634
  {
582
635
  provide: FORM_FIELD_COMPONENT,
583
636
  useExisting: TheSeamFormFieldComponent,
584
- }
585
- ], standalone: false, template: "<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", styles: [".seam-form-field-inline{display:flex;flex-direction:row}.seam-form-field-inline .control-label{margin-bottom:0;display:flex;flex-direction:column;justify-content:center}\n"] }]
637
+ },
638
+ ], standalone: false, template: "<div>\n <div [class.seam-form-field-inline]=\"inline\">\n <label\n *ngIf=\"label || labelTpl\"\n #labelElem\n [attr.id]=\"labelId\"\n [attr.for]=\"contentInput?.id\"\n class=\"control-label {{ labelClass }}\"\n (seamElemResized)=\"_labelElemResized(labelElem)\"\n >\n <ng-container *ngIf=\"labelTpl; else noLabelTpl\">\n <ng-template\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{\n $implicit: label,\n label: label,\n required: contentInput?.required || false,\n }\"\n ></ng-template>\n </ng-container>\n <ng-template #noLabelTpl>\n {{ label\n }}<seam-form-field-required-indicator\n class=\"pl-1\"\n ></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\n [inputRef]=\"$any(passwordInputElement)\"\n ></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\n *ngIf=\"fieldErrors$ | async as fieldErrors\"\n [style.paddingLeft]=\"\n (label || labelTpl) && inline ? _errorPadding : undefined\n \"\n [control]=\"contentInput.ngControl\"\n [errors]=\"fieldErrors2$ | async\"\n [maxErrors]=\"maxErrors\"\n [numPaddingErrors]=\"numPaddingErrors\"\n class=\"invalid-feedback\"\n >\n </seam-form-field-error-list>\n </ng-container>\n</div>\n\n<ng-template #content><ng-content></ng-content></ng-template>\n", styles: [".seam-form-field-inline{display:flex;flex-direction:row}.seam-form-field-inline .control-label{margin-bottom:0;display:flex;flex-direction:column;justify-content:center}\n"] }]
586
639
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { _displayStyle: [{
587
640
  type: HostBinding,
588
641
  args: ['style.display']
@@ -619,8 +672,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
619
672
  }] } });
620
673
 
621
674
  class TheSeamFormFieldModule {
622
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
623
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: TheSeamFormFieldModule, declarations: [TheSeamFormFieldComponent,
675
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
676
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamFormFieldModule, declarations: [TheSeamFormFieldComponent,
624
677
  InputDirective,
625
678
  FormFieldErrorDirective,
626
679
  FormFieldLabelTplDirective,
@@ -634,12 +687,12 @@ class TheSeamFormFieldModule {
634
687
  FormFieldLabelTplDirective,
635
688
  FormFieldRequiredIndicatorComponent,
636
689
  FormFieldHelpTextDirective] });
637
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamFormFieldModule, imports: [CommonModule,
690
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamFormFieldModule, imports: [CommonModule,
638
691
  ReactiveFormsModule,
639
692
  TheSeamFormFieldErrorModule,
640
693
  TheSeamSharedModule] });
641
694
  }
642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TheSeamFormFieldModule, decorators: [{
695
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamFormFieldModule, decorators: [{
643
696
  type: NgModule,
644
697
  args: [{
645
698
  declarations: [
@@ -648,13 +701,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
648
701
  FormFieldErrorDirective,
649
702
  FormFieldLabelTplDirective,
650
703
  FormFieldRequiredIndicatorComponent,
651
- FormFieldHelpTextDirective
704
+ FormFieldHelpTextDirective,
652
705
  ],
653
706
  imports: [
654
707
  CommonModule,
655
708
  ReactiveFormsModule,
656
709
  TheSeamFormFieldErrorModule,
657
- TheSeamSharedModule
710
+ TheSeamSharedModule,
658
711
  ],
659
712
  exports: [
660
713
  TheSeamFormFieldComponent,
@@ -662,8 +715,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
662
715
  FormFieldErrorDirective,
663
716
  FormFieldLabelTplDirective,
664
717
  FormFieldRequiredIndicatorComponent,
665
- FormFieldHelpTextDirective
666
- ]
718
+ FormFieldHelpTextDirective,
719
+ ],
667
720
  }]
668
721
  }] });
669
722