@onemrvapublic/design-system 20.11.3 → 21.0.0-develop.2

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 (205) hide show
  1. package/README.md +5 -9
  2. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +14 -20
  3. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -1
  4. package/fesm2022/onemrvapublic-design-system-layout.mjs +207 -290
  5. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
  6. package/fesm2022/onemrvapublic-design-system-mat-address.mjs +19 -25
  7. package/fesm2022/onemrvapublic-design-system-mat-address.mjs.map +1 -1
  8. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +58 -223
  9. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -1
  10. package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +47 -53
  11. package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs.map +1 -1
  12. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +50 -71
  13. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -1
  14. package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs +27 -29
  15. package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs.map +1 -1
  16. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +24 -42
  17. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -1
  18. package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs +8 -12
  19. package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs.map +1 -1
  20. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +4 -4
  21. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -1
  22. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +10 -18
  23. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs.map +1 -1
  24. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +98 -173
  25. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
  26. package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs +32 -52
  27. package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs.map +1 -1
  28. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +10 -13
  29. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -1
  30. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +10 -13
  31. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
  32. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +24 -44
  33. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
  34. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +22 -40
  35. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -1
  36. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +26 -39
  37. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
  38. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +45 -180
  39. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -1
  40. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +38 -63
  41. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -1
  42. package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs +40 -65
  43. package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs.map +1 -1
  44. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +19 -59
  45. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -1
  46. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +23 -49
  47. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -1
  48. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +61 -101
  49. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -1
  50. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +30 -50
  51. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -1
  52. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +26 -38
  53. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -1
  54. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +66 -105
  55. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -1
  56. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +23 -43
  57. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -1
  58. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +15 -26
  59. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -1
  60. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +62 -177
  61. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -1
  62. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +17 -21
  63. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -1
  64. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +14 -22
  65. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
  66. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +8 -8
  67. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -1
  68. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +79 -93
  69. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -1
  70. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +59 -94
  71. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -1
  72. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +178 -245
  73. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs.map +1 -1
  74. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +7 -7
  75. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs.map +1 -1
  76. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +33 -43
  77. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -1
  78. package/fesm2022/onemrvapublic-design-system-page-error.mjs +33 -39
  79. package/fesm2022/onemrvapublic-design-system-page-error.mjs.map +1 -1
  80. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +38 -42
  81. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -1
  82. package/fesm2022/onemrvapublic-design-system-shared.mjs +188 -312
  83. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  84. package/fesm2022/onemrvapublic-design-system-utils.mjs.map +1 -1
  85. package/mat-choice-chip/src/onemrva-mat-choice-chip.component.scss +13 -3
  86. package/mat-empty-row/src/onemrva-mat-empty-row.component.scss +2 -2
  87. package/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.scss +1 -1
  88. package/mat-input-phone/src/onemrva-mat-input-phone.component.scss +1 -1
  89. package/mat-panel/src/onemrva-mat-panel-content.scss +1 -1
  90. package/mat-skeleton/src/onemrva-mat-skeleton.component.scss +1 -1
  91. package/mat-table-of-content/src/onemrva-mat-table-of-content.component.scss +10 -2
  92. package/package.json +72 -62
  93. package/theme/index.scss +230 -0
  94. package/theme/overrides/_autocomplete.scss +9 -0
  95. package/theme/overrides/_button-toggle.scss +14 -0
  96. package/theme/overrides/_button.scss +140 -0
  97. package/theme/overrides/_card.scss +34 -0
  98. package/theme/overrides/_carousel.scss +13 -0
  99. package/theme/overrides/_checkbox.scss +49 -0
  100. package/theme/overrides/_chips.scss +42 -0
  101. package/theme/overrides/_datepicker.scss +10 -0
  102. package/theme/overrides/_dialogs.scss +118 -0
  103. package/theme/overrides/_divider.scss +9 -0
  104. package/theme/overrides/_drag-and-drop.scss +74 -0
  105. package/theme/overrides/_expansion.scss +51 -0
  106. package/theme/overrides/_fab.scss +45 -0
  107. package/theme/overrides/_form-field.scss +223 -0
  108. package/theme/overrides/_icon-button.scss +24 -0
  109. package/theme/overrides/_icon.scss +97 -0
  110. package/theme/overrides/_input.scss +18 -0
  111. package/theme/overrides/_layout.scss +35 -0
  112. package/theme/overrides/_menu.scss +45 -0
  113. package/theme/overrides/_option.scss +15 -0
  114. package/theme/overrides/_panel.scss +59 -0
  115. package/theme/overrides/_progress-bar.scss +29 -0
  116. package/theme/overrides/_radio.scss +16 -0
  117. package/theme/overrides/_select.scss +124 -0
  118. package/theme/overrides/_sidenav.scss +13 -0
  119. package/theme/overrides/_slide-toggle.scss +53 -0
  120. package/theme/overrides/_stepper.scss +196 -0
  121. package/theme/overrides/_stickers.scss +13 -0
  122. package/theme/overrides/_table.scss +115 -0
  123. package/theme/overrides/_tabs.scss +20 -0
  124. package/theme/overrides/_toast.scss +16 -0
  125. package/theme/overrides/_toc.scss +26 -0
  126. package/theme/overrides/_toolbar.scss +26 -0
  127. package/theme/overrides/_tooltip.scss +19 -0
  128. package/theme/palettes/_palette.scss +189 -0
  129. package/theme/utilities/_animations.scss +54 -0
  130. package/theme/utilities/_container.scss +14 -0
  131. package/theme/utilities/_fonts.scss +170 -0
  132. package/theme/utilities/_grid.scss +75 -0
  133. package/theme/utilities/_media.scss +33 -0
  134. package/theme/utilities/_palettes.scss +120 -0
  135. package/theme/utilities/_spacing.scss +86 -0
  136. package/theme/utilities/_tokens.scss +123 -0
  137. package/theme/utilities/_utilities.scss +351 -0
  138. package/theme/utilities/_variables.scss +42 -0
  139. package/types/onemrvapublic-design-system-flag-icon.d.ts +18 -0
  140. package/types/onemrvapublic-design-system-layout.d.ts +305 -0
  141. package/{mat-address/index.d.ts → types/onemrvapublic-design-system-mat-address.d.ts} +8 -8
  142. package/types/onemrvapublic-design-system-mat-avatar.d.ts +67 -0
  143. package/{mat-breadcrumb/index.d.ts → types/onemrvapublic-design-system-mat-breadcrumb.d.ts} +8 -6
  144. package/types/onemrvapublic-design-system-mat-carousel.d.ts +52 -0
  145. package/types/onemrvapublic-design-system-mat-choice-chip.d.ts +23 -0
  146. package/types/onemrvapublic-design-system-mat-copy-to-clipboard.d.ts +25 -0
  147. package/types/onemrvapublic-design-system-mat-country-item.d.ts +10 -0
  148. package/types/onemrvapublic-design-system-mat-empty-row.d.ts +18 -0
  149. package/{mat-file-upload/index.d.ts → types/onemrvapublic-design-system-mat-file-upload.d.ts} +53 -51
  150. package/types/onemrvapublic-design-system-mat-input-address.d.ts +32 -0
  151. package/{mat-input-birthplace/index.d.ts → types/onemrvapublic-design-system-mat-input-birthplace.d.ts} +10 -10
  152. package/{mat-input-country/index.d.ts → types/onemrvapublic-design-system-mat-input-country.d.ts} +2 -2
  153. package/types/onemrvapublic-design-system-mat-input-enterprise-number.d.ts +37 -0
  154. package/{mat-input-iban/index.d.ts → types/onemrvapublic-design-system-mat-input-iban.d.ts} +12 -13
  155. package/{mat-input-phone/index.d.ts → types/onemrvapublic-design-system-mat-input-phone.d.ts} +12 -12
  156. package/types/onemrvapublic-design-system-mat-message-box.d.ts +29 -0
  157. package/types/onemrvapublic-design-system-mat-multi-select.d.ts +57 -0
  158. package/types/onemrvapublic-design-system-mat-navigation.d.ts +55 -0
  159. package/types/onemrvapublic-design-system-mat-notification.d.ts +23 -0
  160. package/types/onemrvapublic-design-system-mat-paginator.d.ts +58 -0
  161. package/types/onemrvapublic-design-system-mat-panel.d.ts +66 -0
  162. package/types/onemrvapublic-design-system-mat-pop-over.d.ts +40 -0
  163. package/types/onemrvapublic-design-system-mat-progress-bar.d.ts +16 -0
  164. package/{mat-select-search/index.d.ts → types/onemrvapublic-design-system-mat-select-search.d.ts} +35 -35
  165. package/types/onemrvapublic-design-system-mat-selectable-box.d.ts +26 -0
  166. package/{mat-side-menu/index.d.ts → types/onemrvapublic-design-system-mat-side-menu.d.ts} +6 -6
  167. package/types/onemrvapublic-design-system-mat-skeleton.d.ts +82 -0
  168. package/{mat-spinner/index.d.ts → types/onemrvapublic-design-system-mat-spinner.d.ts} +3 -4
  169. package/{mat-stepper/index.d.ts → types/onemrvapublic-design-system-mat-stepper.d.ts} +3 -6
  170. package/types/onemrvapublic-design-system-mat-table-of-content.d.ts +85 -0
  171. package/types/onemrvapublic-design-system-mat-task-list.d.ts +56 -0
  172. package/{mat-timepicker/index.d.ts → types/onemrvapublic-design-system-mat-timepicker.d.ts} +50 -66
  173. package/types/onemrvapublic-design-system-mat-tooltip.d.ts +40 -0
  174. package/types/onemrvapublic-design-system-page-error.d.ts +29 -0
  175. package/{page-not-found/index.d.ts → types/onemrvapublic-design-system-page-not-found.d.ts} +6 -6
  176. package/{shared/index.d.ts → types/onemrvapublic-design-system-shared.d.ts} +47 -71
  177. package/flag-icon/index.d.ts +0 -18
  178. package/layout/index.d.ts +0 -295
  179. package/mat-avatar/index.d.ts +0 -187
  180. package/mat-carousel/index.d.ts +0 -52
  181. package/mat-choice-chip/index.d.ts +0 -21
  182. package/mat-copy-to-clipboard/index.d.ts +0 -25
  183. package/mat-country-item/index.d.ts +0 -10
  184. package/mat-empty-row/index.d.ts +0 -19
  185. package/mat-input-address/index.d.ts +0 -32
  186. package/mat-input-enterprise-number/index.d.ts +0 -37
  187. package/mat-message-box/index.d.ts +0 -101
  188. package/mat-multi-select/index.d.ts +0 -57
  189. package/mat-navigation/index.d.ts +0 -54
  190. package/mat-notification/index.d.ts +0 -43
  191. package/mat-paginator/index.d.ts +0 -58
  192. package/mat-panel/index.d.ts +0 -66
  193. package/mat-pop-over/index.d.ts +0 -40
  194. package/mat-progress-bar/index.d.ts +0 -18
  195. package/mat-selectable-box/index.d.ts +0 -29
  196. package/mat-skeleton/index.d.ts +0 -100
  197. package/mat-table-of-content/index.d.ts +0 -84
  198. package/mat-task-list/index.d.ts +0 -57
  199. package/mat-tooltip/index.d.ts +0 -40
  200. package/page-error/index.d.ts +0 -34
  201. /package/{mat-datepicker-header/index.d.ts → types/onemrvapublic-design-system-mat-datepicker-header.d.ts} +0 -0
  202. /package/{mat-sticker/index.d.ts → types/onemrvapublic-design-system-mat-sticker.d.ts} +0 -0
  203. /package/{mat-toast/index.d.ts → types/onemrvapublic-design-system-mat-toast.d.ts} +0 -0
  204. /package/{utils/index.d.ts → types/onemrvapublic-design-system-utils.d.ts} +0 -0
  205. /package/{index.d.ts → types/onemrvapublic-design-system.d.ts} +0 -0
@@ -1,7 +1,6 @@
1
- import * as i5 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
1
+ import { AsyncPipe } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
- import { input, EventEmitter, signal, inject, Output, ViewEncapsulation, Component } from '@angular/core';
3
+ import { input, output, signal, inject, ViewEncapsulation, Component } from '@angular/core';
5
4
  import * as i4 from '@angular/forms';
6
5
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
7
6
  import { MatFormFieldModule } from '@angular/material/form-field';
@@ -9,7 +8,7 @@ import * as i1 from '@angular/material/input';
9
8
  import { MatInputModule } from '@angular/material/input';
10
9
  import * as i2 from '@angular/material/select';
11
10
  import { MatSelectModule } from '@angular/material/select';
12
- import * as i6 from '@ngx-translate/core';
11
+ import * as i5 from '@ngx-translate/core';
13
12
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
14
13
  import { Subject, of, combineLatest, startWith, debounceTime, map, takeUntil } from 'rxjs';
15
14
  import * as i3 from '@onemrvapublic/design-system/mat-select-search';
@@ -27,7 +26,7 @@ class OnemrvaMatInputBirthPlaceComponent {
27
26
  this.placeholderLabel = input('Search', ...(ngDevMode ? [{ debugName: "placeholderLabel" }] : []));
28
27
  this.searchAriaLabel = input('', ...(ngDevMode ? [{ debugName: "searchAriaLabel" }] : []));
29
28
  this.returnValue = input('object', ...(ngDevMode ? [{ debugName: "returnValue" }] : []));
30
- this.getCountry = new EventEmitter();
29
+ this.getCountry = output();
31
30
  this.selectedCountryName = signal(null, ...(ngDevMode ? [{ debugName: "selectedCountryName" }] : []));
32
31
  this.selectedCountryCode = signal(null, ...(ngDevMode ? [{ debugName: "selectedCountryCode" }] : []));
33
32
  this.filterCtrl = new FormControl('');
@@ -104,13 +103,12 @@ class OnemrvaMatInputBirthPlaceComponent {
104
103
  return country;
105
104
  }
106
105
  }
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatInputBirthPlaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: OnemrvaMatInputBirthPlaceComponent, isStandalone: true, selector: "onemrva-mat-input-birthplace", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, countryCode: { classPropertyName: "countryCode", publicName: "countryCode", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noEntriesFoundLabel: { classPropertyName: "noEntriesFoundLabel", publicName: "noEntriesFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, placeholderLabel: { classPropertyName: "placeholderLabel", publicName: "placeholderLabel", isSignal: true, isRequired: false, transformFunction: null }, searchAriaLabel: { classPropertyName: "searchAriaLabel", publicName: "searchAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, returnValue: { classPropertyName: "returnValue", publicName: "returnValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { getCountry: "getCountry" }, ngImport: i0, template: "<mat-form-field class=\"onemrva-input-country-common\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select\n class=\"onemrva-country-select-common\"\n [formControl]=\"countryCode()\"\n [placeholder]=\"placeholderLabel()\"\n >\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"selectedCountryCode()\"\n [countryName]=\"selectedCountryName()\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n ></mat-select-search>\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country\">\n <mat-country-item\n [countryCode]=\"country.singlePropertiesMap.codeSepa.toLowerCase()\"\n [countryName]=\"getCountryName(country)\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (countryCode().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-option.mdc-list-item .mdc-list-item__primary-text{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i3.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: OnemrvaCountryItemComponent, selector: "mat-country-item", inputs: ["countryCode", "countryName"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatInputBirthPlaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: OnemrvaMatInputBirthPlaceComponent, isStandalone: true, selector: "onemrva-mat-input-birthplace", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, countryCode: { classPropertyName: "countryCode", publicName: "countryCode", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noEntriesFoundLabel: { classPropertyName: "noEntriesFoundLabel", publicName: "noEntriesFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, placeholderLabel: { classPropertyName: "placeholderLabel", publicName: "placeholderLabel", isSignal: true, isRequired: false, transformFunction: null }, searchAriaLabel: { classPropertyName: "searchAriaLabel", publicName: "searchAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, returnValue: { classPropertyName: "returnValue", publicName: "returnValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { getCountry: "getCountry" }, ngImport: i0, template: "<mat-form-field class=\"onemrva-input-country-common\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select\n class=\"onemrva-country-select-common\"\n [formControl]=\"countryCode()\"\n [placeholder]=\"placeholderLabel()\"\n >\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"selectedCountryCode()\"\n [countryName]=\"selectedCountryName()\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country\">\n <mat-country-item\n [countryCode]=\"country.singlePropertiesMap.codeSepa.toLowerCase()\"\n [countryName]=\"getCountryName(country)\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (countryCode().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-option.mdc-list-item .mdc-list-item__primary-text{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i3.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: OnemrvaCountryItemComponent, selector: "mat-country-item", inputs: ["countryCode", "countryName"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
109
108
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatInputBirthPlaceComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatInputBirthPlaceComponent, decorators: [{
111
110
  type: Component,
112
111
  args: [{ selector: 'onemrva-mat-input-birthplace', standalone: true, imports: [
113
- CommonModule,
114
112
  MatInputModule,
115
113
  MatFormFieldModule,
116
114
  MatSelectModule,
@@ -118,10 +116,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
118
116
  ReactiveFormsModule,
119
117
  TranslateModule,
120
118
  OnemrvaCountryItemComponent,
121
- ], encapsulation: ViewEncapsulation.None, template: "<mat-form-field class=\"onemrva-input-country-common\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select\n class=\"onemrva-country-select-common\"\n [formControl]=\"countryCode()\"\n [placeholder]=\"placeholderLabel()\"\n >\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"selectedCountryCode()\"\n [countryName]=\"selectedCountryName()\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n ></mat-select-search>\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country\">\n <mat-country-item\n [countryCode]=\"country.singlePropertiesMap.codeSepa.toLowerCase()\"\n [countryName]=\"getCountryName(country)\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (countryCode().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-option.mdc-list-item .mdc-list-item__primary-text{width:100%}\n"] }]
122
- }], ctorParameters: () => [], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], countryCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "countryCode", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], noEntriesFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noEntriesFoundLabel", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], placeholderLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderLabel", required: false }] }], searchAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchAriaLabel", required: false }] }], returnValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "returnValue", required: false }] }], getCountry: [{
123
- type: Output
124
- }] } });
119
+ AsyncPipe,
120
+ ], encapsulation: ViewEncapsulation.None, template: "<mat-form-field class=\"onemrva-input-country-common\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select\n class=\"onemrva-country-select-common\"\n [formControl]=\"countryCode()\"\n [placeholder]=\"placeholderLabel()\"\n >\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"selectedCountryCode()\"\n [countryName]=\"selectedCountryName()\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country\">\n <mat-country-item\n [countryCode]=\"country.singlePropertiesMap.codeSepa.toLowerCase()\"\n [countryName]=\"getCountryName(country)\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (countryCode().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-option.mdc-list-item .mdc-list-item__primary-text{width:100%}\n"] }]
121
+ }], ctorParameters: () => [], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], countryCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "countryCode", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], noEntriesFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noEntriesFoundLabel", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], placeholderLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderLabel", required: false }] }], searchAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchAriaLabel", required: false }] }], returnValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "returnValue", required: false }] }], getCountry: [{ type: i0.Output, args: ["getCountry"] }] } });
125
122
 
126
123
  /*
127
124
  * Public API Surface of mat-bank-account-input
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-input-birthplace.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.ts","../../../../projects/onemrva/design-system/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.html","../../../../projects/onemrva/design-system/mat-input-birthplace/index.ts","../../../../projects/onemrva/design-system/mat-input-birthplace/onemrvapublic-design-system-mat-input-birthplace.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n EventEmitter,\n inject,\n input,\n OnDestroy,\n OnInit,\n Output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport {\n Observable,\n Subject,\n map,\n startWith,\n debounceTime,\n takeUntil,\n of,\n combineLatest,\n} from 'rxjs';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport { OnemrvaCountryItemComponent } from '@onemrvapublic/design-system/mat-country-item';\nimport {\n CommonCountryLookupService,\n OnemRvaCommonCountry,\n} from '@onemrvapublic/design-system/shared';\n\n@Component({\n selector: 'onemrva-mat-input-birthplace',\n styleUrls: ['onemrva-mat-input-birthplace.component.scss'],\n templateUrl: 'onemrva-mat-input-birthplace.component.html',\n standalone: true,\n imports: [\n CommonModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n TranslateModule,\n OnemrvaCountryItemComponent,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatInputBirthPlaceComponent implements OnInit, OnDestroy {\n readonly = input(false);\n\n countryCode = input(new FormControl<OnemRvaCommonCountry | null>(null));\n\n label = input('Country');\n noEntriesFoundLabel = input('Not found');\n hint = input('');\n placeholderLabel = input('Search');\n searchAriaLabel = input('');\n returnValue = input('object');\n\n @Output() getCountry = new EventEmitter<any>();\n\n selectedCountryName = signal<string | null>(null);\n selectedCountryCode = signal<string | null>(null);\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n\n public filteredCountries$: Observable<OnemRvaCommonCountry[]> = of([]);\n\n private commonCountryLookupService = inject(CommonCountryLookupService);\n private translate = inject(TranslateService);\n private countries$ = this.commonCountryLookupService.getCountries();\n\n constructor() {\n this.filteredCountries$ = combineLatest([\n this.filterCtrl.valueChanges.pipe(startWith('')),\n this.countries$,\n ]).pipe(\n debounceTime(400),\n map(([search, countries]) => {\n return countries.filter((country: OnemRvaCommonCountry) => {\n if (!search || search === '') return true;\n // if (country.descNl === undefined) return false;\n return (\n country.descNl.toLowerCase().indexOf(search.toLowerCase()) > -1\n );\n });\n }),\n map(country =>\n country.sort((a, b) => {\n return a.descNl.localeCompare(b.descNl);\n }),\n ),\n );\n }\n\n getCountryName(country: OnemRvaCommonCountry): string | null {\n if (!country) return null;\n switch (this.translate.currentLang) {\n case 'nl':\n return country.descNl ?? '';\n default:\n case 'fr':\n return country.descFr ?? '';\n }\n }\n\n ngOnInit(): void {\n this.countryCode()\n .valueChanges.pipe(\n startWith(this.countryCode().value),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(country => {\n this.selectedCountryName.set(null);\n this.selectedCountryCode.set(null);\n\n if (country === null || country === undefined) return;\n const name = this.getCountryName(country);\n\n this.selectedCountryName.set(name);\n this.selectedCountryCode.set(\n country.singlePropertiesMap.codeSepa.toLowerCase(),\n );\n });\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n trackById(index: number, country: OnemRvaCommonCountry) {\n return country.code;\n }\n\n errors() {\n // if (this.countryCode.errors !== null) {\n // for (const k in this.countryCode.errors) {\n // if (k === 'required') {\n // return 'input.country.required';\n // } else {\n // return 'input.country.invalid';\n // }\n // }\n // }\n return 'input.country.unknown.error';\n }\n\n getValue(country: OnemRvaCommonCountry) {\n switch (this.returnValue()) {\n case 'id':\n return country.id;\n case 'code':\n return country.code;\n default:\n case 'object':\n return country;\n }\n }\n}\n","<mat-form-field class=\"onemrva-input-country-common\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select\n class=\"onemrva-country-select-common\"\n [formControl]=\"countryCode()\"\n [placeholder]=\"placeholderLabel()\"\n >\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"selectedCountryCode()\"\n [countryName]=\"selectedCountryName()\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n ></mat-select-search>\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country\">\n <mat-country-item\n [countryCode]=\"country.singlePropertiesMap.codeSepa.toLowerCase()\"\n [countryName]=\"getCountryName(country)\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (countryCode().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-birthplace.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-input-birthplace.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.ts","../../../../projects/onemrva/design-system/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.html","../../../../projects/onemrva/design-system/mat-input-birthplace/index.ts","../../../../projects/onemrva/design-system/mat-input-birthplace/onemrvapublic-design-system-mat-input-birthplace.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport {\n Component,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n ViewEncapsulation,\n output,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport {\n Observable,\n Subject,\n map,\n startWith,\n debounceTime,\n takeUntil,\n of,\n combineLatest,\n} from 'rxjs';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport { OnemrvaCountryItemComponent } from '@onemrvapublic/design-system/mat-country-item';\nimport {\n CommonCountryLookupService,\n OnemRvaCommonCountry,\n} from '@onemrvapublic/design-system/shared';\n\n@Component({\n selector: 'onemrva-mat-input-birthplace',\n styleUrls: ['onemrva-mat-input-birthplace.component.scss'],\n templateUrl: 'onemrva-mat-input-birthplace.component.html',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n TranslateModule,\n OnemrvaCountryItemComponent,\n AsyncPipe,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatInputBirthPlaceComponent implements OnInit, OnDestroy {\n readonly readonly = input(false);\n\n readonly countryCode = input(\n new FormControl<OnemRvaCommonCountry | null>(null),\n );\n\n readonly label = input('Country');\n readonly noEntriesFoundLabel = input('Not found');\n readonly hint = input('');\n readonly placeholderLabel = input('Search');\n readonly searchAriaLabel = input('');\n readonly returnValue = input('object');\n\n readonly getCountry = output<any>();\n\n selectedCountryName = signal<string | null>(null);\n selectedCountryCode = signal<string | null>(null);\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n\n public filteredCountries$: Observable<OnemRvaCommonCountry[]> = of([]);\n\n private commonCountryLookupService = inject(CommonCountryLookupService);\n private translate = inject(TranslateService);\n private countries$ = this.commonCountryLookupService.getCountries();\n\n constructor() {\n this.filteredCountries$ = combineLatest([\n this.filterCtrl.valueChanges.pipe(startWith('')),\n this.countries$,\n ]).pipe(\n debounceTime(400),\n map(([search, countries]) => {\n return countries.filter((country: OnemRvaCommonCountry) => {\n if (!search || search === '') return true;\n // if (country.descNl === undefined) return false;\n return (\n country.descNl.toLowerCase().indexOf(search.toLowerCase()) > -1\n );\n });\n }),\n map(country =>\n country.sort((a, b) => {\n return a.descNl.localeCompare(b.descNl);\n }),\n ),\n );\n }\n\n getCountryName(country: OnemRvaCommonCountry): string | null {\n if (!country) return null;\n switch (this.translate.currentLang) {\n case 'nl':\n return country.descNl ?? '';\n default:\n case 'fr':\n return country.descFr ?? '';\n }\n }\n\n ngOnInit(): void {\n this.countryCode()\n .valueChanges.pipe(\n startWith(this.countryCode().value),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(country => {\n this.selectedCountryName.set(null);\n this.selectedCountryCode.set(null);\n\n if (country === null || country === undefined) return;\n const name = this.getCountryName(country);\n\n this.selectedCountryName.set(name);\n this.selectedCountryCode.set(\n country.singlePropertiesMap.codeSepa.toLowerCase(),\n );\n });\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n trackById(index: number, country: OnemRvaCommonCountry) {\n return country.code;\n }\n\n errors() {\n // if (this.countryCode.errors !== null) {\n // for (const k in this.countryCode.errors) {\n // if (k === 'required') {\n // return 'input.country.required';\n // } else {\n // return 'input.country.invalid';\n // }\n // }\n // }\n return 'input.country.unknown.error';\n }\n\n getValue(country: OnemRvaCommonCountry) {\n switch (this.returnValue()) {\n case 'id':\n return country.id;\n case 'code':\n return country.code;\n default:\n case 'object':\n return country;\n }\n }\n}\n","<mat-form-field class=\"onemrva-input-country-common\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select\n class=\"onemrva-country-select-common\"\n [formControl]=\"countryCode()\"\n [placeholder]=\"placeholderLabel()\"\n >\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"selectedCountryCode()\"\n [countryName]=\"selectedCountryName()\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country\">\n <mat-country-item\n [countryCode]=\"country.singlePropertiesMap.codeSepa.toLowerCase()\"\n [countryName]=\"getCountryName(country)\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (countryCode().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-birthplace.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;MAkDa,kCAAkC,CAAA;AA6B7C,IAAA,WAAA,GAAA;AA5BS,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,oDAAC;QAEvB,IAAA,CAAA,WAAW,GAAG,KAAK,CAC1B,IAAI,WAAW,CAA8B,IAAI,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACnD;AAEQ,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,SAAS,iDAAC;AACxB,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,WAAW,+DAAC;AACxC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,EAAE,gDAAC;AAChB,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,4DAAC;AAClC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,EAAE,2DAAC;AAC3B,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,uDAAC;QAE7B,IAAA,CAAA,UAAU,GAAG,MAAM,EAAO;AAEnC,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAgB,IAAI,+DAAC;AACjD,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAgB,IAAI,+DAAC;AAE1C,QAAA,IAAA,CAAA,UAAU,GAA+B,IAAI,WAAW,CAAS,EAAE,CAAC;AAE3E,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,OAAO,EAAQ;AAE/B,QAAA,IAAA,CAAA,kBAAkB,GAAuC,EAAE,CAAC,EAAE,CAAC;AAE9D,QAAA,IAAA,CAAA,0BAA0B,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAC/D,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACpC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE;AAGjE,QAAA,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAChD,YAAA,IAAI,CAAC,UAAU;AAChB,SAAA,CAAC,CAAC,IAAI,CACL,YAAY,CAAC,GAAG,CAAC,EACjB,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,KAAI;AAC1B,YAAA,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,OAA6B,KAAI;AACxD,gBAAA,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,EAAE;AAAE,oBAAA,OAAO,IAAI;;AAEzC,gBAAA,QACE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;AAEnE,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC,EACF,GAAG,CAAC,OAAO,IACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YACpB,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;QACzC,CAAC,CAAC,CACH,CACF;IACH;AAEA,IAAA,cAAc,CAAC,OAA6B,EAAA;AAC1C,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,IAAI;AACzB,QAAA,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW;AAChC,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,OAAO,CAAC,MAAM,IAAI,EAAE;YAC7B;AACA,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,OAAO,CAAC,MAAM,IAAI,EAAE;;IAEjC;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW;AACb,aAAA,YAAY,CAAC,IAAI,CAChB,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EACnC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;aAEjC,SAAS,CAAC,OAAO,IAAG;AACnB,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;AAClC,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;AAElC,YAAA,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;gBAAE;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;AAEzC,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;AAClC,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,CACnD;AACH,QAAA,CAAC,CAAC;IACN;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;AAC5B,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;IAClC;IAEA,SAAS,CAAC,KAAa,EAAE,OAA6B,EAAA;QACpD,OAAO,OAAO,CAAC,IAAI;IACrB;IAEA,MAAM,GAAA;;;;;;;;;;AAUJ,QAAA,OAAO,6BAA6B;IACtC;AAEA,IAAA,QAAQ,CAAC,OAA6B,EAAA;AACpC,QAAA,QAAQ,IAAI,CAAC,WAAW,EAAE;AACxB,YAAA,KAAK,IAAI;gBACP,OAAO,OAAO,CAAC,EAAE;AACnB,YAAA,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,IAAI;YACrB;AACA,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO;;IAEpB;8GAnHW,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,8tCClD/C,2qCAqCA,EAAA,MAAA,EAAA,CAAA,qEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,YAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,qBAAqB,inBACrB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,2BAA2B,6JAC3B,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIA,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAjB9C,SAAS;+BACE,8BAA8B,EAAA,UAAA,EAG5B,IAAI,EAAA,OAAA,EACP;wBACP,cAAc;wBACd,kBAAkB;wBAClB,eAAe;wBACf,qBAAqB;wBACrB,mBAAmB;wBACnB,eAAe;wBACf,2BAA2B;wBAC3B,SAAS;qBACV,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,2qCAAA,EAAA,MAAA,EAAA,CAAA,qEAAA,CAAA,EAAA;;;AEhDvC;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,7 +1,6 @@
1
- import * as i5 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
1
+ import { AsyncPipe } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
- import { EventEmitter, input, inject, Output, ViewEncapsulation, Component } from '@angular/core';
3
+ import { output, input, inject, ViewEncapsulation, Component } from '@angular/core';
5
4
  import * as i4 from '@angular/forms';
6
5
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
7
6
  import { MatFormFieldModule } from '@angular/material/form-field';
@@ -9,7 +8,7 @@ import * as i1 from '@angular/material/input';
9
8
  import { MatInputModule } from '@angular/material/input';
10
9
  import * as i2 from '@angular/material/select';
11
10
  import { MatSelectModule } from '@angular/material/select';
12
- import * as i6 from '@ngx-translate/core';
11
+ import * as i5 from '@ngx-translate/core';
13
12
  import { TranslateModule } from '@ngx-translate/core';
14
13
  import { debounceTime, startWith, combineLatestWith, map } from 'rxjs';
15
14
  import * as i3 from '@onemrvapublic/design-system/mat-select-search';
@@ -23,7 +22,7 @@ class OnemrvaMatInputCountryComponent {
23
22
  this.getCountry.emit(country);
24
23
  }
25
24
  constructor() {
26
- this.getCountry = new EventEmitter();
25
+ this.getCountry = output();
27
26
  this.country = input.required(...(ngDevMode ? [{ debugName: "country" }] : []));
28
27
  this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
29
28
  this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
@@ -67,13 +66,12 @@ class OnemrvaMatInputCountryComponent {
67
66
  getCounrtyCode() {
68
67
  return this.country().getRawValue()?.toLowerCase() ?? null;
69
68
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatInputCountryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: OnemrvaMatInputCountryComponent, isStandalone: true, selector: "onemrva-mat-input-country", inputs: { country: { classPropertyName: "country", publicName: "country", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noEntriesFoundLabel: { classPropertyName: "noEntriesFoundLabel", publicName: "noEntriesFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, placeholderLabel: { classPropertyName: "placeholderLabel", publicName: "placeholderLabel", isSignal: true, isRequired: false, transformFunction: null }, searchAriaLabel: { classPropertyName: "searchAriaLabel", publicName: "searchAriaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { getCountry: "getCountry" }, ngImport: i0, template: "<mat-form-field class=\"onemrva-input-country\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select class=\"onemrva-country-select\" [formControl]=\"country()\">\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"getCounrtyCode()\"\n [countryName]=\"(selectedCountry$ | async)?.name\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n ></mat-select-search>\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code.toLowerCase()\">\n <mat-country-item\n [countryCode]=\"country.code.toLowerCase()\"\n [countryName]=\"country.name\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (country().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-form-field.onemrva-input-country{width:100%}:host mat-option.mdc-list-item .country{position:relative;display:block;padding-top:var(--half-spacer)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i3.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: OnemrvaCountryItemComponent, selector: "mat-country-item", inputs: ["countryCode", "countryName"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatInputCountryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: OnemrvaMatInputCountryComponent, isStandalone: true, selector: "onemrva-mat-input-country", inputs: { country: { classPropertyName: "country", publicName: "country", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noEntriesFoundLabel: { classPropertyName: "noEntriesFoundLabel", publicName: "noEntriesFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, placeholderLabel: { classPropertyName: "placeholderLabel", publicName: "placeholderLabel", isSignal: true, isRequired: false, transformFunction: null }, searchAriaLabel: { classPropertyName: "searchAriaLabel", publicName: "searchAriaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { getCountry: "getCountry" }, ngImport: i0, template: "<mat-form-field class=\"onemrva-input-country\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select class=\"onemrva-country-select\" [formControl]=\"country()\">\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"getCounrtyCode()\"\n [countryName]=\"(selectedCountry$ | async)?.name\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code.toLowerCase()\">\n <mat-country-item\n [countryCode]=\"country.code.toLowerCase()\"\n [countryName]=\"country.name\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (country().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-form-field.onemrva-input-country{width:100%}:host mat-option.mdc-list-item .country{position:relative;display:block;padding-top:var(--half-spacer)}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i3.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: OnemrvaCountryItemComponent, selector: "mat-country-item", inputs: ["countryCode", "countryName"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
72
71
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatInputCountryComponent, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatInputCountryComponent, decorators: [{
74
73
  type: Component,
75
74
  args: [{ selector: 'onemrva-mat-input-country', standalone: true, imports: [
76
- CommonModule,
77
75
  MatInputModule,
78
76
  MatFormFieldModule,
79
77
  MatSelectModule,
@@ -81,10 +79,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
81
79
  ReactiveFormsModule,
82
80
  TranslateModule,
83
81
  OnemrvaCountryItemComponent,
84
- ], encapsulation: ViewEncapsulation.None, template: "<mat-form-field class=\"onemrva-input-country\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select class=\"onemrva-country-select\" [formControl]=\"country()\">\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"getCounrtyCode()\"\n [countryName]=\"(selectedCountry$ | async)?.name\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n ></mat-select-search>\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code.toLowerCase()\">\n <mat-country-item\n [countryCode]=\"country.code.toLowerCase()\"\n [countryName]=\"country.name\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (country().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-form-field.onemrva-input-country{width:100%}:host mat-option.mdc-list-item .country{position:relative;display:block;padding-top:var(--half-spacer)}\n"] }]
85
- }], ctorParameters: () => [], propDecorators: { getCountry: [{
86
- type: Output
87
- }], country: [{ type: i0.Input, args: [{ isSignal: true, alias: "country", required: true }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], noEntriesFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noEntriesFoundLabel", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], placeholderLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderLabel", required: false }] }], searchAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchAriaLabel", required: false }] }] } });
82
+ AsyncPipe,
83
+ ], encapsulation: ViewEncapsulation.None, template: "<mat-form-field class=\"onemrva-input-country\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select class=\"onemrva-country-select\" [formControl]=\"country()\">\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"getCounrtyCode()\"\n [countryName]=\"(selectedCountry$ | async)?.name\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code.toLowerCase()\">\n <mat-country-item\n [countryCode]=\"country.code.toLowerCase()\"\n [countryName]=\"country.name\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (country().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-form-field.onemrva-input-country{width:100%}:host mat-option.mdc-list-item .country{position:relative;display:block;padding-top:var(--half-spacer)}\n"] }]
84
+ }], ctorParameters: () => [], propDecorators: { getCountry: [{ type: i0.Output, args: ["getCountry"] }], country: [{ type: i0.Input, args: [{ isSignal: true, alias: "country", required: true }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], noEntriesFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noEntriesFoundLabel", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], placeholderLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderLabel", required: false }] }], searchAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchAriaLabel", required: false }] }] } });
88
85
 
89
86
  /*
90
87
  * Public API Surface of mat-bank-account-input
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-input-country.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-country/src/onemrva-mat-input-country.component.ts","../../../../projects/onemrva/design-system/mat-input-country/src/onemrva-mat-input-country.component.html","../../../../projects/onemrva/design-system/mat-input-country/index.ts","../../../../projects/onemrva/design-system/mat-input-country/onemrvapublic-design-system-mat-input-country.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n effect,\n EventEmitter,\n inject,\n input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n Observable,\n map,\n startWith,\n debounceTime,\n combineLatestWith,\n} from 'rxjs';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport { OnemrvaCountryItemComponent } from '@onemrvapublic/design-system/mat-country-item';\nimport {\n OnemRvaCDNCountryService,\n OnemrvaMaterialCountry,\n} from '@onemrvapublic/design-system/shared';\n\n@Component({\n selector: 'onemrva-mat-input-country',\n styleUrls: ['onemrva-mat-input-country.component.scss'],\n templateUrl: 'onemrva-mat-input-country.component.html',\n standalone: true,\n imports: [\n CommonModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n TranslateModule,\n OnemrvaCountryItemComponent,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatInputCountryComponent implements OnInit {\n @Output() getCountry = new EventEmitter<any>();\n\n country = input.required<FormControl<string | null>>();\n\n readonly = input(false);\n disabled = input(false);\n\n label = input('Country');\n noEntriesFoundLabel = input('Not found');\n hint = input('');\n placeholderLabel = input('Search');\n searchAriaLabel = input('');\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n public countries$: Observable<OnemrvaMaterialCountry[]>;\n public filteredCountries$: Observable<OnemrvaMaterialCountry[]>;\n public selectedCountry$?: Observable<OnemrvaMaterialCountry | undefined>;\n\n public setValue(country: OnemrvaMaterialCountry) {\n this.country().setValue(country.code);\n this.getCountry.emit(country);\n }\n\n private readonly cdn = inject(OnemRvaCDNCountryService);\n\n constructor() {\n this.countries$ = this.cdn.getCountries();\n\n this.filteredCountries$ = this.filterCtrl.valueChanges.pipe(\n debounceTime(400),\n startWith<string | null>(''), // ✅ Explicitly setting type\n combineLatestWith(this.countries$),\n map(([search, countries]: [string | null, OnemrvaMaterialCountry[]]) => {\n return countries.filter((country: OnemrvaMaterialCountry) => {\n if (!search || search.trim() === '') return true; // ✅ Avoids returning an entire array\n return country.name?.toLowerCase().includes(search.toLowerCase());\n });\n }),\n );\n }\n\n ngOnInit(): void {\n this.selectedCountry$ = this.country().valueChanges.pipe(\n startWith<string | null>(this.country().getRawValue()), // ✅ Explicitly set type\n combineLatestWith(this.countries$),\n map(([value, countries]: [string | null, OnemrvaMaterialCountry[]]) => {\n // ✅ Explicitly defining types\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n value !== null &&\n country.code.toLowerCase() ===\n value.substring(0, country.code.length).toLowerCase(),\n );\n }),\n );\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n public errors() {\n for (const k in this.country().errors) {\n if (k === 'required') {\n return 'input.country.required';\n }\n }\n return 'input.country.unknown.error';\n }\n\n getCounrtyCode() {\n return this.country().getRawValue()?.toLowerCase() ?? null;\n }\n}\n","<mat-form-field class=\"onemrva-input-country\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select class=\"onemrva-country-select\" [formControl]=\"country()\">\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"getCounrtyCode()\"\n [countryName]=\"(selectedCountry$ | async)?.name\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n ></mat-select-search>\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code.toLowerCase()\">\n <mat-country-item\n [countryCode]=\"country.code.toLowerCase()\"\n [countryName]=\"country.name\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (country().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-country.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-input-country.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-country/src/onemrva-mat-input-country.component.ts","../../../../projects/onemrva/design-system/mat-input-country/src/onemrva-mat-input-country.component.html","../../../../projects/onemrva/design-system/mat-input-country/index.ts","../../../../projects/onemrva/design-system/mat-input-country/onemrvapublic-design-system-mat-input-country.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport {\n Component,\n inject,\n input,\n OnInit,\n ViewEncapsulation,\n output,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n Observable,\n map,\n startWith,\n debounceTime,\n combineLatestWith,\n} from 'rxjs';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport { OnemrvaCountryItemComponent } from '@onemrvapublic/design-system/mat-country-item';\nimport {\n OnemRvaCDNCountryService,\n OnemrvaMaterialCountry,\n} from '@onemrvapublic/design-system/shared';\n\n@Component({\n selector: 'onemrva-mat-input-country',\n styleUrls: ['onemrva-mat-input-country.component.scss'],\n templateUrl: 'onemrva-mat-input-country.component.html',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n TranslateModule,\n OnemrvaCountryItemComponent,\n AsyncPipe,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatInputCountryComponent implements OnInit {\n readonly getCountry = output<any>();\n\n country = input.required<FormControl<string | null>>();\n\n readonly = input(false);\n disabled = input(false);\n\n label = input('Country');\n noEntriesFoundLabel = input('Not found');\n hint = input('');\n placeholderLabel = input('Search');\n searchAriaLabel = input('');\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n public countries$: Observable<OnemrvaMaterialCountry[]>;\n public filteredCountries$: Observable<OnemrvaMaterialCountry[]>;\n public selectedCountry$?: Observable<OnemrvaMaterialCountry | undefined>;\n\n public setValue(country: OnemrvaMaterialCountry) {\n this.country().setValue(country.code);\n this.getCountry.emit(country);\n }\n\n private readonly cdn = inject(OnemRvaCDNCountryService);\n\n constructor() {\n this.countries$ = this.cdn.getCountries();\n\n this.filteredCountries$ = this.filterCtrl.valueChanges.pipe(\n debounceTime(400),\n startWith<string | null>(''), // ✅ Explicitly setting type\n combineLatestWith(this.countries$),\n map(([search, countries]: [string | null, OnemrvaMaterialCountry[]]) => {\n return countries.filter((country: OnemrvaMaterialCountry) => {\n if (!search || search.trim() === '') return true; // ✅ Avoids returning an entire array\n return country.name?.toLowerCase().includes(search.toLowerCase());\n });\n }),\n );\n }\n\n ngOnInit(): void {\n this.selectedCountry$ = this.country().valueChanges.pipe(\n startWith<string | null>(this.country().getRawValue()), // ✅ Explicitly set type\n combineLatestWith(this.countries$),\n map(([value, countries]: [string | null, OnemrvaMaterialCountry[]]) => {\n // ✅ Explicitly defining types\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n value !== null &&\n country.code.toLowerCase() ===\n value.substring(0, country.code.length).toLowerCase(),\n );\n }),\n );\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n public errors() {\n for (const k in this.country().errors) {\n if (k === 'required') {\n return 'input.country.required';\n }\n }\n return 'input.country.unknown.error';\n }\n\n getCounrtyCode() {\n return this.country().getRawValue()?.toLowerCase() ?? null;\n }\n}\n","<mat-form-field class=\"onemrva-input-country\">\n <mat-label>{{ label() }}</mat-label>\n <mat-select class=\"onemrva-country-select\" [formControl]=\"country()\">\n <mat-select-trigger>\n <mat-country-item\n [countryCode]=\"getCounrtyCode()\"\n [countryName]=\"(selectedCountry$ | async)?.name\"\n />\n </mat-select-trigger>\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code.toLowerCase()\">\n <mat-country-item\n [countryCode]=\"country.code.toLowerCase()\"\n [countryName]=\"country.name\"\n />\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (country().invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n</mat-form-field>\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-country.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import * as i5 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
1
+ import { AsyncPipe } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
- import { EventEmitter, inject, ViewChild, Output, Input, ViewEncapsulation, Component } from '@angular/core';
3
+ import { input, output, viewChild, inject, ViewEncapsulation, Component } from '@angular/core';
5
4
  import * as i3 from '@angular/forms';
6
5
  import { FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
7
6
  import { MatFormFieldModule } from '@angular/material/form-field';
@@ -9,7 +8,7 @@ import * as i1 from '@angular/material/input';
9
8
  import { MatInputModule } from '@angular/material/input';
10
9
  import * as i2 from '@angular/material/select';
11
10
  import { MatSelectModule } from '@angular/material/select';
12
- import * as i6 from '@ngx-translate/core';
11
+ import * as i5 from '@ngx-translate/core';
13
12
  import { TranslateModule } from '@ngx-translate/core';
14
13
  import { Subject, debounceTime, startWith, combineLatestWith, map, takeUntil, zip } from 'rxjs';
15
14
  import { OnemRvaCDNCountryService } from '@onemrvapublic/design-system/shared';
@@ -19,14 +18,16 @@ import { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-s
19
18
 
20
19
  class OnemrvaMatInputEnterpriseNumberComponent {
21
20
  constructor() {
22
- this.readonly = false;
23
- this.label = 'VIES';
24
- this.noEntriesFoundLabel = 'Not found';
25
- this.placeholderLabel = 'Search';
26
- this.defaultCountry = 'BE';
27
- this.searchAriaLabel = '';
28
- this.hint = '';
29
- this.getCountry = new EventEmitter();
21
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
22
+ this.enterpriseNumber = input.required(...(ngDevMode ? [{ debugName: "enterpriseNumber" }] : []));
23
+ this.label = input('VIES', ...(ngDevMode ? [{ debugName: "label" }] : []));
24
+ this.noEntriesFoundLabel = input('Not found', ...(ngDevMode ? [{ debugName: "noEntriesFoundLabel" }] : []));
25
+ this.placeholderLabel = input('Search', ...(ngDevMode ? [{ debugName: "placeholderLabel" }] : []));
26
+ this.defaultCountry = input('BE', ...(ngDevMode ? [{ debugName: "defaultCountry" }] : []));
27
+ this.searchAriaLabel = input('', ...(ngDevMode ? [{ debugName: "searchAriaLabel" }] : []));
28
+ this.hint = input('', ...(ngDevMode ? [{ debugName: "hint" }] : []));
29
+ this.getCountry = output();
30
+ this.numberInput = viewChild.required('numberInput');
30
31
  this.countryCode = new FormControl('');
31
32
  this.filterCtrl = new FormControl('');
32
33
  this.destroyNotifier$ = new Subject();
@@ -43,7 +44,7 @@ class OnemrvaMatInputEnterpriseNumberComponent {
43
44
  }));
44
45
  }
45
46
  get number() {
46
- return this.enterpriseNumber;
47
+ return this.enterpriseNumber();
47
48
  }
48
49
  setCode(country) {
49
50
  this.clearValidators();
@@ -58,7 +59,7 @@ class OnemrvaMatInputEnterpriseNumberComponent {
58
59
  .subscribe(number => {
59
60
  if (number === '0') {
60
61
  this.cdn
61
- .findCountryFromCode(this.defaultCountry)
62
+ .findCountryFromCode(this.defaultCountry())
62
63
  .pipe(takeUntil(this.destroyNotifier$))
63
64
  .subscribe(country => {
64
65
  if (country) {
@@ -93,14 +94,14 @@ class OnemrvaMatInputEnterpriseNumberComponent {
93
94
  number = number.replace(countryFromVies.pattern.substring(0, 2), '');
94
95
  }
95
96
  if (countryFromCode) {
96
- this.getCountry.next(countryFromCode);
97
+ this.getCountry.emit(countryFromCode);
97
98
  number = countryFromCode.pattern.substring(0, 2) + number;
98
99
  //this.formatEnterpriseNumber(countryFromCode); /// done twice ?
99
100
  }
100
101
  this.number.setValue(number, { emitEvent: false });
101
102
  this.formatEnterpriseNumber(countryFromCode);
102
103
  setTimeout(() => {
103
- this.numberInput.nativeElement.focus();
104
+ this.numberInput().nativeElement.focus();
104
105
  }, 100);
105
106
  });
106
107
  });
@@ -118,7 +119,7 @@ class OnemrvaMatInputEnterpriseNumberComponent {
118
119
  formatEnterpriseNumber(country) {
119
120
  this.clearValidators();
120
121
  if (this.countryCode.getRawValue() !== '' && country) {
121
- this.enterpriseNumber.addValidators(Validators.pattern(new RegExp(country.pattern)));
122
+ this.enterpriseNumber().addValidators(Validators.pattern(new RegExp(country.pattern)));
122
123
  }
123
124
  }
124
125
  ngOnDestroy() {
@@ -139,13 +140,12 @@ class OnemrvaMatInputEnterpriseNumberComponent {
139
140
  }
140
141
  return 'input.vies.unknown.error';
141
142
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatInputEnterpriseNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: OnemrvaMatInputEnterpriseNumberComponent, isStandalone: true, selector: "onemrva-mat-input-enterprise-number", inputs: { readonly: "readonly", enterpriseNumber: "enterpriseNumber", label: "label", noEntriesFoundLabel: "noEntriesFoundLabel", placeholderLabel: "placeholderLabel", defaultCountry: "defaultCountry", searchAriaLabel: "searchAriaLabel", hint: "hint" }, outputs: { getCountry: "getCountry" }, viewQueries: [{ propertyName: "numberInput", first: true, predicate: ["numberInput"], descendants: true }], ngImport: i0, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\n />\n <mat-select\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCode\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCode.getRawValue()\" />\n </mat-select-trigger>\n\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [placeholderLabel]=\"placeholderLabel\"\n ></mat-select-search>\n </mat-option>\n\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code\">\n <flag-icon [countryCode]=\"country.code\" />&nbsp;&nbsp;{{\n country.name\n }}\n </mat-option>\n }\n </mat-select>\n @if (hint !== '') {\n <mat-hint>{{ hint }}</mat-hint>\n }\n @if (number.invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n </mat-form-field>\n</ng-container>\n", styles: [".onemrva-input-enterprise-number .mdc-text-field--disabled mat-select .mat-mdc-select-arrow{opacity:.5}.onemrva-input-enterprise-number mat-select{padding:0 0 0 8px}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder:before{width:1em!important;height:1em!important;background:#eee!important;visibility:visible!important;margin:10px 0!important}.onemrva-input-enterprise-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-enterprise-number .onemrva-text-enterprise-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-enterprise-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: FlagIconComponent, selector: "flag-icon", inputs: ["countryCode", "mode", "width"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i4.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatInputEnterpriseNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
144
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: OnemrvaMatInputEnterpriseNumberComponent, isStandalone: true, selector: "onemrva-mat-input-enterprise-number", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, enterpriseNumber: { classPropertyName: "enterpriseNumber", publicName: "enterpriseNumber", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, noEntriesFoundLabel: { classPropertyName: "noEntriesFoundLabel", publicName: "noEntriesFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholderLabel: { classPropertyName: "placeholderLabel", publicName: "placeholderLabel", isSignal: true, isRequired: false, transformFunction: null }, defaultCountry: { classPropertyName: "defaultCountry", publicName: "defaultCountry", isSignal: true, isRequired: false, transformFunction: null }, searchAriaLabel: { classPropertyName: "searchAriaLabel", publicName: "searchAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { getCountry: "getCountry" }, viewQueries: [{ propertyName: "numberInput", first: true, predicate: ["numberInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label() }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber()\"\n class=\"onemrva-text-enterprise-number\"\n />\n <mat-select\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCode\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCode.getRawValue()\" />\n </mat-select-trigger>\n\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code\">\n <flag-icon [countryCode]=\"country.code\" />&nbsp;&nbsp;{{\n country.name\n }}\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (number.invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n </mat-form-field>\n</ng-container>\n", styles: [".onemrva-input-enterprise-number .mdc-text-field--disabled mat-select .mat-mdc-select-arrow{opacity:.5}.onemrva-input-enterprise-number mat-select{padding:0 0 0 8px}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder:before{width:1em!important;height:1em!important;background:#eee!important;visibility:visible!important;margin:10px 0!important}.onemrva-input-enterprise-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-enterprise-number .onemrva-text-enterprise-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-enterprise-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: FlagIconComponent, selector: "flag-icon", inputs: ["countryCode", "mode", "width"] }, { kind: "ngmodule", type: MatSelectSearchModule }, { kind: "component", type: i4.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
144
145
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatInputEnterpriseNumberComponent, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatInputEnterpriseNumberComponent, decorators: [{
146
147
  type: Component,
147
148
  args: [{ selector: 'onemrva-mat-input-enterprise-number', standalone: true, imports: [
148
- CommonModule,
149
149
  MatInputModule,
150
150
  MatFormFieldModule,
151
151
  MatSelectModule,
@@ -153,29 +153,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
153
153
  TranslateModule,
154
154
  FlagIconComponent,
155
155
  MatSelectSearchModule,
156
- ], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\n />\n <mat-select\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCode\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCode.getRawValue()\" />\n </mat-select-trigger>\n\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [placeholderLabel]=\"placeholderLabel\"\n ></mat-select-search>\n </mat-option>\n\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code\">\n <flag-icon [countryCode]=\"country.code\" />&nbsp;&nbsp;{{\n country.name\n }}\n </mat-option>\n }\n </mat-select>\n @if (hint !== '') {\n <mat-hint>{{ hint }}</mat-hint>\n }\n @if (number.invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n </mat-form-field>\n</ng-container>\n", styles: [".onemrva-input-enterprise-number .mdc-text-field--disabled mat-select .mat-mdc-select-arrow{opacity:.5}.onemrva-input-enterprise-number mat-select{padding:0 0 0 8px}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder:before{width:1em!important;height:1em!important;background:#eee!important;visibility:visible!important;margin:10px 0!important}.onemrva-input-enterprise-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-enterprise-number .onemrva-text-enterprise-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-enterprise-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}\n"] }]
157
- }], ctorParameters: () => [], propDecorators: { readonly: [{
158
- type: Input
159
- }], enterpriseNumber: [{
160
- type: Input
161
- }], label: [{
162
- type: Input
163
- }], noEntriesFoundLabel: [{
164
- type: Input
165
- }], placeholderLabel: [{
166
- type: Input
167
- }], defaultCountry: [{
168
- type: Input
169
- }], searchAriaLabel: [{
170
- type: Input
171
- }], hint: [{
172
- type: Input
173
- }], getCountry: [{
174
- type: Output
175
- }], numberInput: [{
176
- type: ViewChild,
177
- args: ['numberInput']
178
- }] } });
156
+ AsyncPipe,
157
+ ], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label() }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber()\"\n class=\"onemrva-text-enterprise-number\"\n />\n <mat-select\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCode\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCode.getRawValue()\" />\n </mat-select-trigger>\n\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code\">\n <flag-icon [countryCode]=\"country.code\" />&nbsp;&nbsp;{{\n country.name\n }}\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (number.invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n </mat-form-field>\n</ng-container>\n", styles: [".onemrva-input-enterprise-number .mdc-text-field--disabled mat-select .mat-mdc-select-arrow{opacity:.5}.onemrva-input-enterprise-number mat-select{padding:0 0 0 8px}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder{width:1em!important;display:block!important}.onemrva-input-enterprise-number mat-select .mat-mdc-select-placeholder:before{width:1em!important;height:1em!important;background:#eee!important;visibility:visible!important;margin:10px 0!important}.onemrva-input-enterprise-number mat-select .mat-mdc-select-value{padding-right:8px}.onemrva-input-enterprise-number .onemrva-text-enterprise-number{padding-left:12px!important;vertical-align:middle}.onemrva-input-enterprise-number .mat-mdc-form-field-text-prefix mat-select{line-height:14px!important}\n"] }]
158
+ }], ctorParameters: () => [], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], enterpriseNumber: [{ type: i0.Input, args: [{ isSignal: true, alias: "enterpriseNumber", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], noEntriesFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noEntriesFoundLabel", required: false }] }], placeholderLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderLabel", required: false }] }], defaultCountry: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultCountry", required: false }] }], searchAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchAriaLabel", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], getCountry: [{ type: i0.Output, args: ["getCountry"] }], numberInput: [{ type: i0.ViewChild, args: ['numberInput', { isSignal: true }] }] } });
179
159
 
180
160
  /*
181
161
  * Public API Surface of mat-bank-account-input
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-input-enterprise-number.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.ts","../../../../projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.html","../../../../projects/onemrva/design-system/mat-input-enterprise-number/index.ts","../../../../projects/onemrva/design-system/mat-input-enterprise-number/onemrvapublic-design-system-mat-input-enterprise-number.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n combineLatestWith,\n debounceTime,\n map,\n Observable,\n startWith,\n Subject,\n takeUntil,\n zip,\n} from 'rxjs';\nimport {\n OnemRvaCDNCountryService,\n OnemrvaMaterialCountry,\n} from '@onemrvapublic/design-system/shared';\nimport { FlagIconComponent } from '@onemrvapublic/design-system/flag-icon';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\n\n@Component({\n selector: 'onemrva-mat-input-enterprise-number',\n styleUrls: ['onemrva-mat-input-enterprise-number.component.scss'],\n templateUrl: 'onemrva-mat-input-enterprise-number.component.html',\n standalone: true,\n imports: [\n CommonModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n ReactiveFormsModule,\n TranslateModule,\n FlagIconComponent,\n MatSelectSearchModule,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatInputEnterpriseNumberComponent\n implements OnInit, OnDestroy\n{\n @Input()\n readonly = false;\n\n @Input() enterpriseNumber!: FormControl;\n @Input() label = 'VIES';\n @Input() noEntriesFoundLabel = 'Not found';\n @Input() placeholderLabel = 'Search';\n @Input() defaultCountry = 'BE';\n @Input() searchAriaLabel = '';\n @Input() hint = '';\n @Output() getCountry = new EventEmitter<any>();\n @ViewChild('numberInput') numberInput!: ElementRef;\n\n countryCode: FormControl = new FormControl('');\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n\n private readonly cdn = inject(OnemRvaCDNCountryService);\n public countries$: Observable<OnemrvaMaterialCountry[]> =\n this.cdn.getCountriesByZone('EU');\n public filteredCountries$: Observable<OnemrvaMaterialCountry[]>;\n\n constructor() {\n this.filteredCountries$ = this.filterCtrl.valueChanges.pipe(\n debounceTime(400),\n startWith<string | null>(''), // ✅ Explicitly define type\n combineLatestWith(this.countries$),\n map(([search, countries]: [string | null, OnemrvaMaterialCountry[]]) => {\n // ✅ Explicit Tuple Types\n return countries.filter((country: OnemrvaMaterialCountry) => {\n if (!search || search.trim() === '') return true;\n return country.name?.toLowerCase().includes(search.toLowerCase());\n });\n }),\n );\n }\n\n get number(): FormControl {\n return this.enterpriseNumber as FormControl;\n }\n\n setCode(country: OnemrvaMaterialCountry | null) {\n this.clearValidators();\n if (country) {\n this.countryCode.setValue(country.code);\n this.formatEnterpriseNumber(country);\n }\n }\n\n ngOnInit(): void {\n this.number.valueChanges\n .pipe(\n startWith(this.number.getRawValue()),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(number => {\n if (number === '0') {\n this.cdn\n .findCountryFromCode(this.defaultCountry)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n number = country.pattern.substring(0, 2) + number;\n this.number.setValue(number, { emitEvent: false });\n this.countryCode.setValue(country.code);\n } else {\n this.countryCode.setValue('');\n }\n });\n } else {\n if (number.length > 1) {\n this.cdn\n .findCountryFromVIESCode(number)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n this.countryCode.setValue(country.code);\n }\n });\n }\n }\n });\n\n this.countryCode.valueChanges\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(value => {\n let number = this.number.getRawValue();\n zip(\n this.cdn.findCountryFromVIESCode(number),\n this.cdn.findCountryFromCode(value),\n ).subscribe(([countryFromVies, countryFromCode]) => {\n if (countryFromVies) {\n number = number.replace(\n countryFromVies.pattern.substring(0, 2),\n '',\n );\n }\n if (countryFromCode) {\n this.getCountry.next(countryFromCode);\n number = countryFromCode.pattern.substring(0, 2) + number;\n //this.formatEnterpriseNumber(countryFromCode); /// done twice ?\n }\n this.number.setValue(number, { emitEvent: false });\n this.formatEnterpriseNumber(countryFromCode);\n setTimeout(() => {\n this.numberInput.nativeElement.focus();\n }, 100);\n });\n });\n }\n\n clearValidators() {\n let required = false;\n if (this.number.hasValidator(Validators.required)) {\n required = true;\n }\n this.number.clearValidators();\n if (required) {\n this.number.addValidators(Validators.required);\n }\n }\n\n formatEnterpriseNumber(country: OnemrvaMaterialCountry | undefined) {\n this.clearValidators();\n if (this.countryCode.getRawValue() !== '' && country) {\n this.enterpriseNumber.addValidators(\n Validators.pattern(new RegExp(country.pattern)),\n );\n }\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n errors() {\n for (const k in this.number.errors) {\n if (k === 'required') {\n return 'input.vies.required';\n } else {\n return 'input.vies.invalid';\n }\n }\n return 'input.vies.unknown.error';\n }\n}\n","<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber\"\n class=\"onemrva-text-enterprise-number\"\n />\n <mat-select\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCode\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCode.getRawValue()\" />\n </mat-select-trigger>\n\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n [placeholderLabel]=\"placeholderLabel\"\n ></mat-select-search>\n </mat-option>\n\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code\">\n <flag-icon [countryCode]=\"country.code\" />&nbsp;&nbsp;{{\n country.name\n }}\n </mat-option>\n }\n </mat-select>\n @if (hint !== '') {\n <mat-hint>{{ hint }}</mat-hint>\n }\n @if (number.invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n </mat-form-field>\n</ng-container>\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-enterprise-number.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-input-enterprise-number.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.ts","../../../../projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.html","../../../../projects/onemrva/design-system/mat-input-enterprise-number/index.ts","../../../../projects/onemrva/design-system/mat-input-enterprise-number/onemrvapublic-design-system-mat-input-enterprise-number.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport {\n Component,\n ElementRef,\n inject,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n combineLatestWith,\n debounceTime,\n map,\n Observable,\n startWith,\n Subject,\n takeUntil,\n zip,\n} from 'rxjs';\nimport {\n OnemRvaCDNCountryService,\n OnemrvaMaterialCountry,\n} from '@onemrvapublic/design-system/shared';\nimport { FlagIconComponent } from '@onemrvapublic/design-system/flag-icon';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\n\n@Component({\n selector: 'onemrva-mat-input-enterprise-number',\n styleUrls: ['onemrva-mat-input-enterprise-number.component.scss'],\n templateUrl: 'onemrva-mat-input-enterprise-number.component.html',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n ReactiveFormsModule,\n TranslateModule,\n FlagIconComponent,\n MatSelectSearchModule,\n AsyncPipe,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OnemrvaMatInputEnterpriseNumberComponent\n implements OnInit, OnDestroy\n{\n readonly readonly = input(false);\n\n readonly enterpriseNumber = input.required<FormControl>();\n readonly label = input('VIES');\n readonly noEntriesFoundLabel = input('Not found');\n readonly placeholderLabel = input('Search');\n readonly defaultCountry = input('BE');\n readonly searchAriaLabel = input('');\n readonly hint = input('');\n readonly getCountry = output<any>();\n readonly numberInput = viewChild.required<ElementRef>('numberInput');\n\n countryCode: FormControl = new FormControl('');\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n\n private readonly cdn = inject(OnemRvaCDNCountryService);\n public countries$: Observable<OnemrvaMaterialCountry[]> =\n this.cdn.getCountriesByZone('EU');\n public filteredCountries$: Observable<OnemrvaMaterialCountry[]>;\n\n constructor() {\n this.filteredCountries$ = this.filterCtrl.valueChanges.pipe(\n debounceTime(400),\n startWith<string | null>(''), // ✅ Explicitly define type\n combineLatestWith(this.countries$),\n map(([search, countries]: [string | null, OnemrvaMaterialCountry[]]) => {\n // ✅ Explicit Tuple Types\n return countries.filter((country: OnemrvaMaterialCountry) => {\n if (!search || search.trim() === '') return true;\n return country.name?.toLowerCase().includes(search.toLowerCase());\n });\n }),\n );\n }\n\n get number(): FormControl {\n return this.enterpriseNumber() as FormControl;\n }\n\n setCode(country: OnemrvaMaterialCountry | null) {\n this.clearValidators();\n if (country) {\n this.countryCode.setValue(country.code);\n this.formatEnterpriseNumber(country);\n }\n }\n\n ngOnInit(): void {\n this.number.valueChanges\n .pipe(\n startWith(this.number.getRawValue()),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(number => {\n if (number === '0') {\n this.cdn\n .findCountryFromCode(this.defaultCountry())\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n number = country.pattern.substring(0, 2) + number;\n this.number.setValue(number, { emitEvent: false });\n this.countryCode.setValue(country.code);\n } else {\n this.countryCode.setValue('');\n }\n });\n } else {\n if (number.length > 1) {\n this.cdn\n .findCountryFromVIESCode(number)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n this.countryCode.setValue(country.code);\n }\n });\n }\n }\n });\n\n this.countryCode.valueChanges\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(value => {\n let number = this.number.getRawValue();\n zip(\n this.cdn.findCountryFromVIESCode(number),\n this.cdn.findCountryFromCode(value),\n ).subscribe(([countryFromVies, countryFromCode]) => {\n if (countryFromVies) {\n number = number.replace(\n countryFromVies.pattern.substring(0, 2),\n '',\n );\n }\n if (countryFromCode) {\n this.getCountry.emit(countryFromCode);\n number = countryFromCode.pattern.substring(0, 2) + number;\n //this.formatEnterpriseNumber(countryFromCode); /// done twice ?\n }\n this.number.setValue(number, { emitEvent: false });\n this.formatEnterpriseNumber(countryFromCode);\n setTimeout(() => {\n this.numberInput().nativeElement.focus();\n }, 100);\n });\n });\n }\n\n clearValidators() {\n let required = false;\n if (this.number.hasValidator(Validators.required)) {\n required = true;\n }\n this.number.clearValidators();\n if (required) {\n this.number.addValidators(Validators.required);\n }\n }\n\n formatEnterpriseNumber(country: OnemrvaMaterialCountry | undefined) {\n this.clearValidators();\n if (this.countryCode.getRawValue() !== '' && country) {\n this.enterpriseNumber().addValidators(\n Validators.pattern(new RegExp(country.pattern)),\n );\n }\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n errors() {\n for (const k in this.number.errors) {\n if (k === 'required') {\n return 'input.vies.required';\n } else {\n return 'input.vies.invalid';\n }\n }\n return 'input.vies.unknown.error';\n }\n}\n","<ng-container>\n <mat-form-field class=\"onemrva-input-enterprise-number\">\n <mat-label>{{ label() }}</mat-label>\n <input\n (click)=\"handleClick($event)\"\n type=\"text\"\n matInput\n #numberInput\n placeholder=\"\"\n [formControl]=\"enterpriseNumber()\"\n class=\"onemrva-text-enterprise-number\"\n />\n <mat-select\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCode\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCode.getRawValue()\" />\n </mat-select-trigger>\n\n <mat-option>\n <mat-select-search\n [formControl]=\"filterCtrl\"\n [ariaLabel]=\"searchAriaLabel()\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel()\"\n [placeholderLabel]=\"placeholderLabel()\"\n />\n </mat-option>\n\n @for (country of filteredCountries$ | async; track $index) {\n <mat-option [value]=\"country.code\">\n <flag-icon [countryCode]=\"country.code\" />&nbsp;&nbsp;{{\n country.name\n }}\n </mat-option>\n }\n </mat-select>\n @if (hint() !== '') {\n <mat-hint>{{ hint() }}</mat-hint>\n }\n @if (number.invalid) {\n <mat-error>{{ errors() | translate }}</mat-error>\n }\n </mat-form-field>\n</ng-container>\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-enterprise-number.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}