@siemens/element-ng 49.14.0 → 51.0.0-rc.5

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 (254) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/siemens-element-ng-about.mjs +41 -25
  3. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  4. package/fesm2022/siemens-element-ng-accordion.mjs +58 -40
  5. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-action-modal.mjs +83 -53
  7. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-ag-grid.mjs +15 -12
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-application-header.mjs +176 -166
  11. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-avatar.mjs +31 -21
  17. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  18. package/fesm2022/siemens-element-ng-badge.mjs +9 -8
  19. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  22. package/fesm2022/siemens-element-ng-breadcrumb.mjs +21 -17
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-card.mjs +71 -46
  25. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-carousel.mjs +57 -33
  27. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs +181 -117
  29. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-circle-status.mjs +39 -25
  31. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-color-picker.mjs +26 -17
  33. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +56 -35
  35. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-common.mjs +12 -12
  37. package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-content-action-bar.mjs +36 -27
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-dashboard.mjs +335 -221
  44. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-datatable.mjs +8 -8
  46. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-date-range-filter.mjs +119 -72
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-datepicker.mjs +376 -244
  50. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +22 -17
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
  54. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-file-uploader.mjs +105 -91
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-filter-bar.mjs +32 -24
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-filtered-search.mjs +251 -153
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-footer.mjs +12 -10
  62. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-form.mjs +345 -113
  64. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
  66. package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
  67. package/fesm2022/siemens-element-ng-formly.mjs +222 -316
  68. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-header-dropdown.mjs +40 -30
  70. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-help-button.mjs +5 -5
  72. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-icon.mjs +46 -47
  74. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
  76. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-ip-input.mjs +25 -25
  80. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-landing-page.mjs +120 -74
  82. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-link.mjs +31 -21
  86. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-list-details.mjs +76 -56
  88. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-loading-spinner.mjs +46 -63
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-localization.mjs +14 -12
  92. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-main-detail-container.mjs +47 -30
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-maplibre.mjs +42 -0
  96. package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -0
  97. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +6 -5
  98. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-menu.mjs +56 -48
  100. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-modal.mjs +14 -11
  102. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +249 -204
  104. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +120 -83
  106. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-navbar.mjs +72 -45
  108. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
  110. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-number-input.mjs +40 -28
  112. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
  114. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-password-strength.mjs +32 -23
  116. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-password-toggle.mjs +18 -13
  118. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-phone-number.mjs +123 -139
  120. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-photo-upload.mjs +84 -51
  122. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-pills-input.mjs +63 -58
  124. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
  126. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-popover.mjs +35 -27
  128. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
  130. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
  132. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
  134. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-search-bar.mjs +38 -31
  136. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-select.mjs +218 -163
  138. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  139. package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
  140. package/fesm2022/siemens-element-ng-side-panel.mjs +128 -86
  141. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-skip-links.mjs +21 -24
  143. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-slider.mjs +44 -29
  145. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-split.mjs +273 -293
  147. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-status-bar.mjs +65 -51
  149. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
  151. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-status-toggle.mjs +26 -16
  153. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
  155. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
  157. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-system-banner.mjs +11 -8
  159. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  160. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +20 -17
  161. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-tabs.mjs +73 -70
  163. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-theme.mjs +29 -6
  165. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-threshold.mjs +60 -41
  167. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-toast-notification.mjs +45 -40
  169. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-tooltip.mjs +105 -82
  171. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-tour.mjs +24 -18
  173. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-translate.mjs +0 -1
  175. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-tree-view.mjs +96 -75
  177. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-typeahead.mjs +76 -70
  179. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  180. package/fesm2022/siemens-element-ng-wizard.mjs +72 -48
  181. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  182. package/formly-legacy/package.json +4 -0
  183. package/maplibre/package.json +4 -0
  184. package/maplibre/styles/_index.scss +1 -0
  185. package/maplibre/styles/maplibre-gl.scss +715 -0
  186. package/package.json +37 -23
  187. package/schematics/migration.json +4 -4
  188. package/schematics/migrations/data/class-member-replacement.js +1 -19
  189. package/schematics/migrations/data/component-property-names.js +1 -25
  190. package/schematics/migrations/data/element-class-changes.js +1 -28
  191. package/schematics/migrations/data/element-migration-data.js +2 -0
  192. package/schematics/migrations/data/element-selectors.js +1 -11
  193. package/schematics/migrations/data/index.js +0 -4
  194. package/schematics/migrations/data/migration-test-data.js +9 -6
  195. package/schematics/migrations/data/provider-function-removals.js +7 -0
  196. package/schematics/migrations/data/symbol-removals.js +7 -7
  197. package/schematics/migrations/data/symbol-renaming.js +1 -48
  198. package/schematics/migrations/element-migration/element-migration.js +3 -6
  199. package/schematics/migrations/utilities/import-removal.js +39 -0
  200. package/schematics/migrations/utilities/index.js +2 -0
  201. package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
  202. package/schematics/ng-update/index.js +1 -1
  203. package/schematics/ng-update/migrate-split-sizes.js +105 -0
  204. package/schematics/ng-update/{migrate-to-v49.js → migrate-to-v51.js} +5 -3
  205. package/template-i18n.json +45 -47
  206. package/types/siemens-element-ng-application-header.d.ts +8 -28
  207. package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
  208. package/types/siemens-element-ng-chat-messages.d.ts +11 -9
  209. package/types/siemens-element-ng-circle-status.d.ts +1 -1
  210. package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
  211. package/types/siemens-element-ng-dashboard.d.ts +2 -2
  212. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  213. package/types/siemens-element-ng-datepicker.d.ts +3 -14
  214. package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
  215. package/types/siemens-element-ng-file-uploader.d.ts +13 -31
  216. package/types/siemens-element-ng-filter-bar.d.ts +1 -1
  217. package/types/siemens-element-ng-filtered-search.d.ts +4 -4
  218. package/types/siemens-element-ng-form.d.ts +180 -44
  219. package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
  220. package/types/siemens-element-ng-formly.d.ts +34 -167
  221. package/types/siemens-element-ng-icon.d.ts +2 -19
  222. package/types/siemens-element-ng-ip-input.d.ts +1 -1
  223. package/types/siemens-element-ng-landing-page.d.ts +2 -2
  224. package/types/siemens-element-ng-loading-spinner.d.ts +7 -17
  225. package/types/siemens-element-ng-maplibre.d.ts +26 -0
  226. package/types/siemens-element-ng-navbar-vertical-next.d.ts +86 -38
  227. package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
  228. package/types/siemens-element-ng-navbar.d.ts +3 -3
  229. package/types/siemens-element-ng-notification-item.d.ts +12 -0
  230. package/types/siemens-element-ng-phone-number.d.ts +5 -8
  231. package/types/siemens-element-ng-photo-upload.d.ts +4 -4
  232. package/types/siemens-element-ng-resize-observer.d.ts +0 -17
  233. package/types/siemens-element-ng-search-bar.d.ts +1 -1
  234. package/types/siemens-element-ng-select.d.ts +1 -1
  235. package/types/siemens-element-ng-side-panel.d.ts +3 -3
  236. package/types/siemens-element-ng-split.d.ts +99 -70
  237. package/types/siemens-element-ng-status-bar.d.ts +5 -13
  238. package/types/siemens-element-ng-status-counter.d.ts +1 -1
  239. package/types/siemens-element-ng-tabs.d.ts +1 -2
  240. package/types/siemens-element-ng-theme.d.ts +12 -2
  241. package/types/siemens-element-ng-threshold.d.ts +1 -1
  242. package/types/siemens-element-ng-toast-notification.d.ts +0 -1
  243. package/types/siemens-element-ng-tooltip.d.ts +7 -7
  244. package/types/siemens-element-ng-translate.d.ts +2 -5
  245. package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
  246. package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
  247. package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
  248. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
  249. package/icon-status/package.json +0 -4
  250. package/schematics/vitest-setup.js +0 -5
  251. package/sort-bar/package.json +0 -4
  252. package/types/siemens-element-ng-icon-status.d.ts +0 -25
  253. package/types/siemens-element-ng-sort-bar.d.ts +0 -59
  254. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, inject, LOCALE_ID, ChangeDetectorRef, ElementRef, input, model, booleanAttribute, output, viewChild, signal, computed, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
2
+ import { Directive, inject, LOCALE_ID, ElementRef, input, model, booleanAttribute, output, viewChild, signal, computed, Component, NgModule } from '@angular/core';
3
3
  import { CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
4
4
  import { LowerCasePipe } from '@angular/common';
5
5
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
@@ -20,10 +20,10 @@ import { PhoneNumberUtil, PhoneNumberFormat } from 'google-libphonenumber';
20
20
  * As we don't use si-select directly, we need to provide these strategies manually.
21
21
  */
22
22
  class SiPhoneNumberInputSelectDirective {
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPhoneNumberInputSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiPhoneNumberInputSelectDirective, isStandalone: true, selector: "[siPhoneNumberInputSelect]", hostDirectives: [{ directive: i1.SiSelectSimpleOptionsDirective, inputs: ["options", "options"] }, { directive: i1.SiSelectSingleValueDirective, inputs: ["value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiPhoneNumberInputSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: SiPhoneNumberInputSelectDirective, isStandalone: true, selector: "[siPhoneNumberInputSelect]", hostDirectives: [{ directive: i1.SiSelectSimpleOptionsDirective, inputs: ["options", "options"] }, { directive: i1.SiSelectSingleValueDirective, inputs: ["value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPhoneNumberInputSelectDirective, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiPhoneNumberInputSelectDirective, decorators: [{
27
27
  type: Directive,
28
28
  args: [{
29
29
  selector: '[siPhoneNumberInputSelect]',
@@ -46,7 +46,6 @@ class SiPhoneNumberInputComponent {
46
46
  phoneUtil = PhoneNumberUtil.getInstance();
47
47
  translate = injectSiTranslateService();
48
48
  locale = inject(LOCALE_ID).toString();
49
- changeDetectorRef = inject(ChangeDetectorRef);
50
49
  elementRef = inject(ElementRef);
51
50
  /**
52
51
  * Unique identifier.
@@ -56,15 +55,18 @@ class SiPhoneNumberInputComponent {
56
55
  * `__si-phone-number-input-${SiPhoneNumberInputComponent.idCounter++}`
57
56
  * ```
58
57
  */
59
- id = input(`__si-phone-number-input-${SiPhoneNumberInputComponent.idCounter++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
58
+ id = input(`__si-phone-number-input-${SiPhoneNumberInputComponent.idCounter++}`, /* @ts-ignore */
59
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
60
60
  /**
61
61
  * ISO_3166-2 Code of the selected country.
62
62
  */
63
- country = model(...(ngDevMode ? [undefined, { debugName: "country" }] : []));
63
+ country = model(/* @ts-ignore */
64
+ ...(ngDevMode ? [undefined, { debugName: "country" }] : /* istanbul ignore next */ []));
64
65
  /**
65
66
  * ISO_3166-2 Code of the country which shall be used on form-control reset.
66
67
  */
67
- defaultCountry = input(...(ngDevMode ? [undefined, { debugName: "defaultCountry" }] : []));
68
+ defaultCountry = input(/* @ts-ignore */
69
+ ...(ngDevMode ? [undefined, { debugName: "defaultCountry" }] : /* istanbul ignore next */ []));
68
70
  /**
69
71
  * Placeholder text for country search input.
70
72
  *
@@ -73,14 +75,16 @@ class SiPhoneNumberInputComponent {
73
75
  * t(() => $localize`:@@SI_PHONE_NUMBER_INPUT.SEARCH_PLACEHOLDER:Search`)
74
76
  * ```
75
77
  */
76
- placeholderForSearch = input(t(() => $localize `:@@SI_PHONE_NUMBER_INPUT.SEARCH_PLACEHOLDER:Search`), ...(ngDevMode ? [{ debugName: "placeholderForSearch" }] : []));
78
+ placeholderForSearch = input(t(() => $localize `:@@SI_PHONE_NUMBER_INPUT.SEARCH_PLACEHOLDER:Search`), /* @ts-ignore */
79
+ ...(ngDevMode ? [{ debugName: "placeholderForSearch" }] : /* istanbul ignore next */ []));
77
80
  /**
78
81
  * @defaultValue
79
82
  * ```
80
83
  * t(() => $localize`:@@SI_PHONE_NUMBER_INPUT.SEARCH_NO-RESULTS_FOUND:No results found`)
81
84
  * ```
82
85
  */
83
- searchNoResultsFoundLabel = input(t(() => $localize `:@@SI_PHONE_NUMBER_INPUT.SEARCH_NO-RESULTS_FOUND:No results found`), ...(ngDevMode ? [{ debugName: "searchNoResultsFoundLabel" }] : []));
86
+ searchNoResultsFoundLabel = input(t(() => $localize `:@@SI_PHONE_NUMBER_INPUT.SEARCH_NO-RESULTS_FOUND:No results found`), /* @ts-ignore */
87
+ ...(ngDevMode ? [{ debugName: "searchNoResultsFoundLabel" }] : /* istanbul ignore next */ []));
84
88
  /**
85
89
  * Text for the country dropdown aria-label attribute.
86
90
  *
@@ -89,7 +93,8 @@ class SiPhoneNumberInputComponent {
89
93
  * t(() => $localize`:@@SI_PHONE_NUMBER_INPUT.SELECT_COUNTRY:Select country`)
90
94
  * ```
91
95
  */
92
- selectCountryAriaLabel = input(t(() => $localize `:@@SI_PHONE_NUMBER_INPUT.SELECT_COUNTRY:Select country`), ...(ngDevMode ? [{ debugName: "selectCountryAriaLabel" }] : []));
96
+ selectCountryAriaLabel = input(t(() => $localize `:@@SI_PHONE_NUMBER_INPUT.SELECT_COUNTRY:Select country`), /* @ts-ignore */
97
+ ...(ngDevMode ? [{ debugName: "selectCountryAriaLabel" }] : /* istanbul ignore next */ []));
93
98
  /**
94
99
  * Text for the phone number input aria-label attribute.
95
100
  *
@@ -98,24 +103,27 @@ class SiPhoneNumberInputComponent {
98
103
  * t(() => $localize`:@@SI_PHONE_NUMBER_INPUT.PHONE_NUMBER_INPUT_LABEL:Enter phone number`)
99
104
  * ```
100
105
  */
101
- phoneNumberAriaLabel = input(t(() => $localize `:@@SI_PHONE_NUMBER_INPUT.PHONE_NUMBER_INPUT_LABEL:Enter phone number`), ...(ngDevMode ? [{ debugName: "phoneNumberAriaLabel" }] : []));
106
+ phoneNumberAriaLabel = input(t(() => $localize `:@@SI_PHONE_NUMBER_INPUT.PHONE_NUMBER_INPUT_LABEL:Enter phone number`), /* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "phoneNumberAriaLabel" }] : /* istanbul ignore next */ []));
102
108
  /**
103
109
  * List of countries in ISO2 format, from which the user is allowed to select one.
104
110
  * If no values are provided, the dropdown will show all known countries.
105
111
  */
106
- supportedCountries = input(...(ngDevMode ? [undefined, { debugName: "supportedCountries" }] : []));
112
+ supportedCountries = input(/* @ts-ignore */
113
+ ...(ngDevMode ? [undefined, { debugName: "supportedCountries" }] : /* istanbul ignore next */ []));
107
114
  /**
108
115
  * @defaultValue
109
116
  * ```
110
117
  * `${this.id()}-label`
111
118
  * ```
112
119
  */
113
- labelledby = input(`${this.id()}-label`, ...(ngDevMode ? [{ debugName: "labelledby" }] : []));
120
+ labelledby = input(`${this.id()}-label`, /* @ts-ignore */
121
+ ...(ngDevMode ? [{ debugName: "labelledby" }] : /* istanbul ignore next */ []));
114
122
  /** @defaultValue false */
115
123
  // eslint-disable-next-line @angular-eslint/no-input-rename
116
- disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled', transform: booleanAttribute });
124
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled', transform: booleanAttribute });
117
125
  /** @defaultValue false */
118
- readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
126
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
119
127
  valueChange = output();
120
128
  /**
121
129
  * This ID will be bound to the `aria-describedby` attribute of the phone-number-input.
@@ -127,14 +135,19 @@ class SiPhoneNumberInputComponent {
127
135
  * `${this.id()}-errormessage`
128
136
  * ```
129
137
  */
130
- errormessageId = input(`${this.id()}-errormessage`, ...(ngDevMode ? [{ debugName: "errormessageId" }] : []));
131
- phoneInput = viewChild.required('phoneInput');
132
- selectedCountry = signal(undefined, ...(ngDevMode ? [{ debugName: "selectedCountry" }] : []));
133
- placeholder = '';
134
- countryFocused = signal(false, ...(ngDevMode ? [{ debugName: "countryFocused" }] : []));
135
- open = false;
138
+ errormessageId = input(`${this.id()}-errormessage`, /* @ts-ignore */
139
+ ...(ngDevMode ? [{ debugName: "errormessageId" }] : /* istanbul ignore next */ []));
140
+ phoneInput = viewChild.required('phoneInput', /* @ts-ignore */
141
+ ...(ngDevMode ? [{ debugName: "phoneInput" }] : /* istanbul ignore next */ []));
142
+ countryFocused = signal(false, /* @ts-ignore */
143
+ ...(ngDevMode ? [{ debugName: "countryFocused" }] : /* istanbul ignore next */ []));
144
+ open = signal(false, /* @ts-ignore */
145
+ ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
136
146
  overlayWidth = 0;
137
- disabled = computed(() => this.disabledInput() || this.disabledNgControl(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
147
+ disabled = computed(() => this.disabledInput() || this.disabledNgControl(), /* @ts-ignore */
148
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
149
+ phoneInputValue = signal('', /* @ts-ignore */
150
+ ...(ngDevMode ? [{ debugName: "phoneInputValue" }] : /* istanbul ignore next */ []));
138
151
  countryList = computed(() => {
139
152
  const countries = this.allowedCountries() ?? this.phoneUtil.getSupportedRegions();
140
153
  return countries
@@ -152,39 +165,65 @@ class SiPhoneNumberInputComponent {
152
165
  };
153
166
  })
154
167
  .sort((a, b) => a.value.name.localeCompare(b.value.name));
155
- }, ...(ngDevMode ? [{ debugName: "countryList" }] : []));
168
+ }, /* @ts-ignore */
169
+ ...(ngDevMode ? [{ debugName: "countryList" }] : /* istanbul ignore next */ []));
170
+ selectedCountry = computed(() => {
171
+ const currentCountry = this.country();
172
+ if (!currentCountry) {
173
+ return undefined;
174
+ }
175
+ const selectedCountry = this.countryList().find(country => country.value.isoCode === currentCountry)?.value;
176
+ if (selectedCountry) {
177
+ return selectedCountry;
178
+ }
179
+ const countryCode = this.phoneUtil.getCountryCodeForRegion(currentCountry);
180
+ if (!countryCode) {
181
+ return undefined;
182
+ }
183
+ return {
184
+ isoCode: currentCountry,
185
+ countryCode,
186
+ name: this.getCountryName(currentCountry)
187
+ };
188
+ }, /* @ts-ignore */
189
+ ...(ngDevMode ? [{ debugName: "selectedCountry" }] : /* istanbul ignore next */ []));
190
+ placeholder = computed(() => {
191
+ const selectedCountry = this.selectedCountry();
192
+ if (!selectedCountry) {
193
+ return '';
194
+ }
195
+ return this.phoneUtil
196
+ .format(this.phoneUtil.getExampleNumber(selectedCountry.isoCode), PhoneNumberFormat.NATIONAL)
197
+ .replace(/^0/, '');
198
+ }, /* @ts-ignore */
199
+ ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
156
200
  icons = addIcons({ elementDown2 });
157
- allowedCountries = computed(() => this.supportedCountries() ?? this.phoneUtil.getSupportedRegions(), ...(ngDevMode ? [{ debugName: "allowedCountries" }] : []));
158
- disabledNgControl = signal(false, ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : []));
201
+ allowedCountries = computed(() => this.supportedCountries() ?? this.phoneUtil.getSupportedRegions(), /* @ts-ignore */
202
+ ...(ngDevMode ? [{ debugName: "allowedCountries" }] : /* istanbul ignore next */ []));
203
+ disabledNgControl = signal(false, /* @ts-ignore */
204
+ ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : /* istanbul ignore next */ []));
159
205
  isValidNumber = true;
160
- phoneNumber = signal(undefined, { ...(ngDevMode ? { debugName: "phoneNumber" } : {}), equal: (a, b) => {
161
- if (!a || !b) {
162
- return !a && !b;
163
- }
164
- return this.phoneUtil.isNumberMatch(a, b) === PhoneNumberUtil.MatchType.EXACT_MATCH;
165
- } });
206
+ phoneNumber = computed(() => this.parseNumber(this.phoneInputValue()), /* @ts-ignore */
207
+ ...(ngDevMode ? [{ debugName: "phoneNumber" }] : /* istanbul ignore next */ []));
166
208
  onChange = () => { };
167
209
  onTouched = () => { };
168
210
  ngOnChanges(changes) {
169
211
  if (changes.country) {
170
- this.writeCountry();
212
+ this.refreshValueAfterCountryChange();
171
213
  }
172
214
  }
173
215
  /** @internal */
174
216
  writeValue(value) {
175
217
  const phoneNumber = this.parseNumber(value);
176
- this.phoneNumber.set(phoneNumber);
177
218
  if (phoneNumber) {
178
- this.writeValueToInput();
179
- this.country.set(this.getRegionCode());
219
+ this.country.set(this.getRegionCode(phoneNumber));
220
+ this.phoneInputValue.set(this.phoneUtil.format(phoneNumber, PhoneNumberFormat.NATIONAL).replace(/^0/, ''));
180
221
  }
181
222
  else {
182
223
  // Number could not be parsed, write raw value instead to handle cases like undefined
183
- this.writeTextToInput(value);
224
+ this.phoneInputValue.set(value ?? '');
184
225
  this.country.set(this.defaultCountry() ?? this.country());
185
226
  }
186
- this.writeCountry();
187
- this.changeDetectorRef.markForCheck();
188
227
  }
189
228
  /** @internal */
190
229
  registerOnChange(fn) {
@@ -200,7 +239,7 @@ class SiPhoneNumberInputComponent {
200
239
  }
201
240
  /** @internal */
202
241
  validate(control) {
203
- if (!this.phoneInput().nativeElement.value) {
242
+ if (!this.phoneInputValue()) {
204
243
  return null;
205
244
  }
206
245
  this.isValidNumber = false;
@@ -218,26 +257,18 @@ class SiPhoneNumberInputComponent {
218
257
  this.isValidNumber = true;
219
258
  return null;
220
259
  }
221
- input() {
222
- const rawNumber = this.phoneInput().nativeElement.value;
223
- const phoneNumber = this.parseNumber(rawNumber);
224
- this.phoneNumber.set(phoneNumber);
260
+ input(event) {
261
+ const rawNumber = event.target.value;
262
+ this.phoneInputValue.set(rawNumber);
263
+ const phoneNumber = this.phoneNumber();
225
264
  if (phoneNumber) {
226
- const regionCode = this.getRegionCode();
227
- let countryInfo = this.countryList().find(country => regionCode === country.value.isoCode)?.value;
228
- if (!countryInfo && regionCode) {
229
- countryInfo = {
230
- name: this.getCountryName(regionCode),
231
- countryCode: phoneNumber.getCountryCode(),
232
- isoCode: regionCode
233
- };
234
- }
235
- if (countryInfo && this.selectedCountry()?.isoCode !== countryInfo.isoCode) {
236
- this.selectedCountry.set(countryInfo);
265
+ const regionCode = this.getRegionCode(phoneNumber);
266
+ if (regionCode && this.country() !== regionCode) {
267
+ this.country.set(regionCode);
237
268
  }
238
269
  }
239
270
  else if (rawNumber.trim().startsWith('+')) {
240
- this.selectedCountry.set(undefined);
271
+ this.country.set(undefined);
241
272
  }
242
273
  this.handleChange();
243
274
  }
@@ -247,48 +278,25 @@ class SiPhoneNumberInputComponent {
247
278
  this.writeValueToInput();
248
279
  }
249
280
  countryInput(num) {
250
- this.selectedCountry.set(num);
251
- this.updatePlaceholder();
281
+ this.country.set(num.isoCode);
252
282
  this.refreshValueAfterCountryChange();
253
283
  this.handleChange();
254
284
  }
255
285
  openOverlay() {
256
286
  if (!this.readonly()) {
257
- this.open = true;
287
+ this.open.set(true);
258
288
  this.overlayWidth = this.elementRef.nativeElement.getBoundingClientRect().width + 2; // 2px border
259
289
  }
260
290
  }
261
291
  overlayDetach() {
262
- this.open = false;
292
+ this.open.set(false);
263
293
  this.phoneInput().nativeElement.focus();
264
294
  }
265
- writeCountry() {
266
- const currentCountry = this.country();
267
- this.selectedCountry.set(this.countryList().find(country => country.value.isoCode === currentCountry)?.value);
268
- if (!this.selectedCountry()) {
269
- const countryCode = this.phoneUtil.getCountryCodeForRegion(currentCountry ?? this.defaultCountry() ?? 'XX');
270
- if (countryCode) {
271
- this.selectedCountry.set({
272
- isoCode: currentCountry,
273
- countryCode,
274
- name: this.getCountryName(currentCountry)
275
- });
276
- }
277
- }
278
- this.updatePlaceholder();
279
- this.refreshValueAfterCountryChange();
280
- }
281
295
  getCountryName(countryCode) {
282
296
  // This auto translates the given country name to the selected locale language
283
- return (new Intl.DisplayNames([this.translate.currentLanguage ?? this.locale], { type: 'region' }).of(countryCode.toUpperCase()) ?? '');
284
- }
285
- updatePlaceholder() {
286
- const selectedCountry = this.selectedCountry();
287
- if (selectedCountry) {
288
- this.placeholder = this.phoneUtil
289
- .format(this.phoneUtil.getExampleNumber(selectedCountry.isoCode), PhoneNumberFormat.NATIONAL)
290
- .replace(/^0/, '');
291
- }
297
+ return (new Intl.DisplayNames([this.translate.currentLanguage ?? this.locale], {
298
+ type: 'region'
299
+ }).of(countryCode.toUpperCase()) ?? '');
292
300
  }
293
301
  parseNumber(rawNumber) {
294
302
  try {
@@ -307,27 +315,23 @@ class SiPhoneNumberInputComponent {
307
315
  * PhoneUtil does not resolve country code early enough when the national prefix is shared among other countries (+1 and +44).
308
316
  * This Method fakes a complete number to force PhoneUtil returning a proper region code.
309
317
  */
310
- getRegionCode() {
311
- const phoneNumber = this.phoneNumber();
312
- if (phoneNumber) {
313
- const regionCode = this.phoneUtil.getRegionCodeForNumber(phoneNumber);
314
- if (regionCode) {
315
- return regionCode;
316
- }
317
- const nationalNumber = phoneNumber.getNationalNumber() + '';
318
- if (
319
- // USA, CANADA, ...
320
- (phoneNumber.getCountryCode() === 1 && nationalNumber.length >= 3) ||
321
- // UK, ...
322
- (phoneNumber.getCountryCode() === 44 && nationalNumber.length >= 4)) {
323
- return this.phoneUtil.getRegionCodeForNumber(this.phoneUtil.parse('+' +
324
- phoneNumber.getCountryCode() +
325
- nationalNumber +
326
- new Array(10 - nationalNumber.length).fill(5).join('')));
327
- }
328
- return this.phoneUtil.getRegionCodeForCountryCode(phoneNumber.getCountryCode());
318
+ getRegionCode(phoneNumber) {
319
+ const regionCode = this.phoneUtil.getRegionCodeForNumber(phoneNumber);
320
+ if (regionCode) {
321
+ return regionCode;
329
322
  }
330
- return undefined;
323
+ const nationalNumber = phoneNumber.getNationalNumber() + '';
324
+ if (
325
+ // USA, CANADA, ...
326
+ (phoneNumber.getCountryCode() === 1 && nationalNumber.length >= 3) ||
327
+ // UK, ...
328
+ (phoneNumber.getCountryCode() === 44 && nationalNumber.length >= 4)) {
329
+ return this.phoneUtil.getRegionCodeForNumber(this.phoneUtil.parse('+' +
330
+ phoneNumber.getCountryCode() +
331
+ nationalNumber +
332
+ new Array(10 - nationalNumber.length).fill(5).join('')));
333
+ }
334
+ return this.phoneUtil.getRegionCodeForCountryCode(phoneNumber.getCountryCode());
331
335
  }
332
336
  formatPhoneNumber(format) {
333
337
  const phoneNumber = this.phoneNumber();
@@ -337,50 +341,30 @@ class SiPhoneNumberInputComponent {
337
341
  return undefined;
338
342
  }
339
343
  handleChange() {
340
- const selectedCountry = this.selectedCountry();
341
- if (selectedCountry && this.country() !== selectedCountry.isoCode) {
342
- this.country.set(selectedCountry.isoCode);
343
- }
344
- if (this.phoneNumber()) {
345
- this.onChange(this.formatPhoneNumber(PhoneNumberFormat.INTERNATIONAL));
346
- }
347
- else {
348
- this.onChange('');
349
- }
344
+ const phoneNumber = this.formatPhoneNumber(PhoneNumberFormat.INTERNATIONAL);
345
+ this.onChange(phoneNumber ?? '');
350
346
  this.valueChange.emit({
351
347
  country: this.selectedCountry(),
352
- phoneNumber: this.formatPhoneNumber(PhoneNumberFormat.INTERNATIONAL),
348
+ phoneNumber,
353
349
  isValid: this.isValidNumber
354
350
  });
355
351
  }
356
- writeTextToInput(value) {
357
- this.phoneInput().nativeElement.value = value ?? '';
358
- }
359
352
  /**
360
353
  * Format and update input text or clear input text if the input value is undefined.
361
354
  */
362
355
  writeValueToInput() {
363
356
  if (this.phoneNumber()) {
364
- this.writeTextToInput(this.formatPhoneNumber(PhoneNumberFormat.NATIONAL).replace(/^0/, ''));
357
+ this.phoneInputValue.set(this.formatPhoneNumber(PhoneNumberFormat.NATIONAL).replace(/^0/, ''));
365
358
  }
366
359
  }
367
360
  refreshValueAfterCountryChange() {
368
361
  const selectedCountry = this.selectedCountry();
369
362
  if (selectedCountry) {
370
- this.phoneNumber.update(current => {
371
- if (!current) {
372
- return undefined;
373
- }
374
- // TODO: Remove any once https://github.com/DefinitelyTyped/DefinitelyTyped/pull/75189 is merged/released
375
- const phoneNumber = current?.clone();
376
- phoneNumber.setCountryCode(selectedCountry.countryCode);
377
- return phoneNumber;
378
- });
379
363
  this.writeValueToInput();
380
364
  }
381
365
  }
382
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPhoneNumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
383
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiPhoneNumberInputComponent, isStandalone: true, selector: "si-phone-number-input", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, country: { classPropertyName: "country", publicName: "country", isSignal: true, isRequired: false, transformFunction: null }, defaultCountry: { classPropertyName: "defaultCountry", publicName: "defaultCountry", isSignal: true, isRequired: false, transformFunction: null }, placeholderForSearch: { classPropertyName: "placeholderForSearch", publicName: "placeholderForSearch", isSignal: true, isRequired: false, transformFunction: null }, searchNoResultsFoundLabel: { classPropertyName: "searchNoResultsFoundLabel", publicName: "searchNoResultsFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, selectCountryAriaLabel: { classPropertyName: "selectCountryAriaLabel", publicName: "selectCountryAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, phoneNumberAriaLabel: { classPropertyName: "phoneNumberAriaLabel", publicName: "phoneNumberAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, supportedCountries: { classPropertyName: "supportedCountries", publicName: "supportedCountries", isSignal: true, isRequired: false, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { country: "countryChange", valueChange: "valueChange" }, host: { attributes: { "role": "group" }, properties: { "attr.aria-labelledby": "labelledby()", "attr.id": "id()", "class.disabled": "disabled()", "class.readonly": "readonly()", "class.country-focus": "countryFocused()" } }, providers: [
366
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiPhoneNumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
367
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: SiPhoneNumberInputComponent, isStandalone: true, selector: "si-phone-number-input", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, country: { classPropertyName: "country", publicName: "country", isSignal: true, isRequired: false, transformFunction: null }, defaultCountry: { classPropertyName: "defaultCountry", publicName: "defaultCountry", isSignal: true, isRequired: false, transformFunction: null }, placeholderForSearch: { classPropertyName: "placeholderForSearch", publicName: "placeholderForSearch", isSignal: true, isRequired: false, transformFunction: null }, searchNoResultsFoundLabel: { classPropertyName: "searchNoResultsFoundLabel", publicName: "searchNoResultsFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, selectCountryAriaLabel: { classPropertyName: "selectCountryAriaLabel", publicName: "selectCountryAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, phoneNumberAriaLabel: { classPropertyName: "phoneNumberAriaLabel", publicName: "phoneNumberAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, supportedCountries: { classPropertyName: "supportedCountries", publicName: "supportedCountries", isSignal: true, isRequired: false, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { country: "countryChange", valueChange: "valueChange" }, host: { attributes: { "role": "group" }, properties: { "attr.aria-labelledby": "labelledby()", "attr.id": "id()", "class.disabled": "disabled()", "class.readonly": "readonly()", "class.country-focus": "countryFocused()" } }, providers: [
384
368
  {
385
369
  provide: NG_VALIDATORS,
386
370
  useExisting: SiPhoneNumberInputComponent,
@@ -395,9 +379,9 @@ class SiPhoneNumberInputComponent {
395
379
  provide: SI_FORM_ITEM_CONTROL,
396
380
  useExisting: SiPhoneNumberInputComponent
397
381
  }
398
- ], viewQueries: [{ propertyName: "phoneInput", first: true, predicate: ["phoneInput"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"btn-group w-100 d-flex shadow-none border-0\"\n [class.disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\"\n [attr.aria-disabled]=\"disabled()\"\n>\n <button\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n siPhoneNumberInputSelect\n class=\"dropdown-toggle d-flex align-items-center ms-n4 my-n4 py-2 px-4 border-0\"\n type=\"button\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\"\n [attr.aria-labelledby]=\"id() + '-aria-label ' + id() + '-value'\"\n [attr.aria-expanded]=\"open\"\n [options]=\"countryList()\"\n [value]=\"selectedCountry()\"\n [tabindex]=\"disabled() ? '-1' : '0'\"\n [attr.aria-controls]=\"id() + '-listbox'\"\n (valueChange)=\"countryInput($event)\"\n (click)=\"openOverlay()\"\n (focus)=\"countryFocused.set(true)\"\n (blur)=\"countryFocused.set(false)\"\n >\n <span class=\"visually-hidden\" [id]=\"id() + '-aria-label'\">{{\n selectCountryAriaLabel() | translate\n }}</span>\n <span\n aria-hidden=\"true\"\n [class]=\"`fi fi-${(selectedCountry()?.isoCode | lowercase) ?? 'xx'}`\"\n ></span>\n @if (selectedCountry(); as selectedCountry) {\n <span class=\"si-body ms-4\" [id]=\"id() + '-value'\">\n <span class=\"visually-hidden\">{{ selectedCountry.name }}</span>\n +{{ selectedCountry.countryCode }}\n </span>\n }\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"overlayDetach()\"\n (detach)=\"overlayDetach()\"\n >\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"placeholderForSearch()\"\n [noResultsFoundLabel]=\"searchNoResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate\"\n (closeOverlay)=\"overlayDetach()\"\n />\n </ng-template>\n <ng-template #optionTemplate let-option>\n <span aria-hidden=\"true\" [class]=\"`fi me-5 fi-${(option.value.isoCode | lowercase)}`\"></span>\n {{ option.value.name }} +{{ option.value.countryCode }}\n </ng-template>\n </button>\n <input\n #phoneInput\n type=\"tel\"\n class=\"ms-4 border-0 p-0 focus-none shadow-none flex-grow-1 phone-number\"\n [attr.aria-label]=\"phoneNumberAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (input)=\"input()\"\n (blur)=\"blur()\"\n />\n</div>\n", styles: [":host:focus-within:not(.country-focus){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}.search-country{display:inline-block;margin-block-start:8px;margin-block-end:8px;margin-inline:8px;inline-size:calc(100% - 16px)}.disabled{pointer-events:none}.disabled,.disabled:hover,.disabled:focus{--border-color: var(--element-ui-3);color:var(--element-text-disabled)}.dropdown-toggle{border-radius:var(--element-input-radius);min-inline-size:auto!important;background:transparent}.dropdown-toggle .fi.fi-xx{background-image:none;background-color:var(--element-text-disabled)}.dropdown-toggle:disabled{opacity:var(--element-action-disabled-opacity)}.dropdown-toggle.readonly{cursor:default}.phone-number{background-color:transparent;inline-size:inherit}.phone-number:disabled,.phone-number[readonly]{opacity:1}.phone-number:disabled{color:var(--element-text-disabled)}.phone-number:disabled::placeholder{color:transparent}.phone-number::placeholder{color:var(--element-text-secondary)}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiPhoneNumberInputSelectDirective, selector: "[siPhoneNumberInputSelect]" }, { kind: "component", type: SiSelectListHasFilterComponent, selector: "si-select-list-has-filter", inputs: ["filterPlaceholder", "noResultsFoundLabel"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "pipe", type: LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
382
+ ], viewQueries: [{ propertyName: "phoneInput", first: true, predicate: ["phoneInput"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"btn-group w-100 d-flex shadow-none border-0\"\n [class.disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\"\n [attr.aria-disabled]=\"disabled()\"\n>\n <button\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n siPhoneNumberInputSelect\n class=\"dropdown-toggle d-flex align-items-center ms-n4 my-n4 py-2 px-4 border-0\"\n type=\"button\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\"\n [attr.aria-labelledby]=\"id() + '-aria-label ' + id() + '-value'\"\n [attr.aria-expanded]=\"open()\"\n [options]=\"countryList()\"\n [value]=\"selectedCountry()\"\n [tabindex]=\"disabled() ? '-1' : '0'\"\n [attr.aria-controls]=\"id() + '-listbox'\"\n (valueChange)=\"countryInput($event)\"\n (click)=\"openOverlay()\"\n (focus)=\"countryFocused.set(true)\"\n (blur)=\"countryFocused.set(false)\"\n >\n <span class=\"visually-hidden\" [id]=\"id() + '-aria-label'\">{{\n selectCountryAriaLabel() | translate\n }}</span>\n <span\n aria-hidden=\"true\"\n [class]=\"`fi fi-${(selectedCountry()?.isoCode | lowercase) ?? 'xx'}`\"\n ></span>\n @if (selectedCountry(); as selectedCountry) {\n <span class=\"si-body ms-4\" [id]=\"id() + '-value'\">\n <span class=\"visually-hidden\">{{ selectedCountry.name }}</span>\n +{{ selectedCountry.countryCode }}\n </span>\n }\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"overlayDetach()\"\n (detach)=\"overlayDetach()\"\n >\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"placeholderForSearch()\"\n [noResultsFoundLabel]=\"searchNoResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate\"\n (closeOverlay)=\"overlayDetach()\"\n />\n </ng-template>\n <ng-template #optionTemplate let-option>\n <span aria-hidden=\"true\" [class]=\"`fi me-5 fi-${(option.value.isoCode | lowercase)}`\"></span>\n {{ option.value.name }} +{{ option.value.countryCode }}\n </ng-template>\n </button>\n <input\n #phoneInput\n type=\"tel\"\n class=\"ms-4 border-0 p-0 focus-none shadow-none flex-grow-1 phone-number\"\n [value]=\"phoneInputValue()\"\n [attr.aria-label]=\"phoneNumberAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (input)=\"input($event)\"\n (blur)=\"blur()\"\n />\n</div>\n", styles: [":host:focus-within:not(.country-focus){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}.search-country{display:inline-block;margin-block-start:8px;margin-block-end:8px;margin-inline:8px;inline-size:calc(100% - 16px)}.disabled{pointer-events:none}.disabled,.disabled:hover,.disabled:focus{--border-color: var(--element-ui-3);color:var(--element-text-disabled)}.dropdown-toggle{border-radius:var(--element-input-radius);min-inline-size:auto!important;background:transparent}.dropdown-toggle .fi.fi-xx{background-image:none;background-color:var(--element-text-disabled)}.dropdown-toggle:disabled{opacity:var(--element-action-disabled-opacity)}.dropdown-toggle.readonly{cursor:default}.phone-number{background-color:transparent;inline-size:inherit}.phone-number:disabled,.phone-number[readonly]{opacity:1}.phone-number:disabled{color:var(--element-text-disabled)}.phone-number:disabled::placeholder{color:transparent}.phone-number::placeholder{color:var(--element-text-secondary)}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiPhoneNumberInputSelectDirective, selector: "[siPhoneNumberInputSelect]" }, { kind: "component", type: SiSelectListHasFilterComponent, selector: "si-select-list-has-filter", inputs: ["filterPlaceholder", "noResultsFoundLabel"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "pipe", type: LowerCasePipe, name: "lowercase" }] });
399
383
  }
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPhoneNumberInputComponent, decorators: [{
384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiPhoneNumberInputComponent, decorators: [{
401
385
  type: Component,
402
386
  args: [{ selector: 'si-phone-number-input', imports: [
403
387
  CdkOverlayOrigin,
@@ -422,14 +406,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
422
406
  provide: SI_FORM_ITEM_CONTROL,
423
407
  useExisting: SiPhoneNumberInputComponent
424
408
  }
425
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
409
+ ], host: {
426
410
  'role': 'group',
427
411
  '[attr.aria-labelledby]': 'labelledby()',
428
412
  '[attr.id]': 'id()',
429
413
  '[class.disabled]': 'disabled()',
430
414
  '[class.readonly]': 'readonly()',
431
415
  '[class.country-focus]': 'countryFocused()'
432
- }, template: "<div\n class=\"btn-group w-100 d-flex shadow-none border-0\"\n [class.disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\"\n [attr.aria-disabled]=\"disabled()\"\n>\n <button\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n siPhoneNumberInputSelect\n class=\"dropdown-toggle d-flex align-items-center ms-n4 my-n4 py-2 px-4 border-0\"\n type=\"button\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\"\n [attr.aria-labelledby]=\"id() + '-aria-label ' + id() + '-value'\"\n [attr.aria-expanded]=\"open\"\n [options]=\"countryList()\"\n [value]=\"selectedCountry()\"\n [tabindex]=\"disabled() ? '-1' : '0'\"\n [attr.aria-controls]=\"id() + '-listbox'\"\n (valueChange)=\"countryInput($event)\"\n (click)=\"openOverlay()\"\n (focus)=\"countryFocused.set(true)\"\n (blur)=\"countryFocused.set(false)\"\n >\n <span class=\"visually-hidden\" [id]=\"id() + '-aria-label'\">{{\n selectCountryAriaLabel() | translate\n }}</span>\n <span\n aria-hidden=\"true\"\n [class]=\"`fi fi-${(selectedCountry()?.isoCode | lowercase) ?? 'xx'}`\"\n ></span>\n @if (selectedCountry(); as selectedCountry) {\n <span class=\"si-body ms-4\" [id]=\"id() + '-value'\">\n <span class=\"visually-hidden\">{{ selectedCountry.name }}</span>\n +{{ selectedCountry.countryCode }}\n </span>\n }\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"overlayDetach()\"\n (detach)=\"overlayDetach()\"\n >\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"placeholderForSearch()\"\n [noResultsFoundLabel]=\"searchNoResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate\"\n (closeOverlay)=\"overlayDetach()\"\n />\n </ng-template>\n <ng-template #optionTemplate let-option>\n <span aria-hidden=\"true\" [class]=\"`fi me-5 fi-${(option.value.isoCode | lowercase)}`\"></span>\n {{ option.value.name }} +{{ option.value.countryCode }}\n </ng-template>\n </button>\n <input\n #phoneInput\n type=\"tel\"\n class=\"ms-4 border-0 p-0 focus-none shadow-none flex-grow-1 phone-number\"\n [attr.aria-label]=\"phoneNumberAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (input)=\"input()\"\n (blur)=\"blur()\"\n />\n</div>\n", styles: [":host:focus-within:not(.country-focus){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}.search-country{display:inline-block;margin-block-start:8px;margin-block-end:8px;margin-inline:8px;inline-size:calc(100% - 16px)}.disabled{pointer-events:none}.disabled,.disabled:hover,.disabled:focus{--border-color: var(--element-ui-3);color:var(--element-text-disabled)}.dropdown-toggle{border-radius:var(--element-input-radius);min-inline-size:auto!important;background:transparent}.dropdown-toggle .fi.fi-xx{background-image:none;background-color:var(--element-text-disabled)}.dropdown-toggle:disabled{opacity:var(--element-action-disabled-opacity)}.dropdown-toggle.readonly{cursor:default}.phone-number{background-color:transparent;inline-size:inherit}.phone-number:disabled,.phone-number[readonly]{opacity:1}.phone-number:disabled{color:var(--element-text-disabled)}.phone-number:disabled::placeholder{color:transparent}.phone-number::placeholder{color:var(--element-text-secondary)}\n"] }]
416
+ }, template: "<div\n class=\"btn-group w-100 d-flex shadow-none border-0\"\n [class.disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\"\n [attr.aria-disabled]=\"disabled()\"\n>\n <button\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n siPhoneNumberInputSelect\n class=\"dropdown-toggle d-flex align-items-center ms-n4 my-n4 py-2 px-4 border-0\"\n type=\"button\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\"\n [attr.aria-labelledby]=\"id() + '-aria-label ' + id() + '-value'\"\n [attr.aria-expanded]=\"open()\"\n [options]=\"countryList()\"\n [value]=\"selectedCountry()\"\n [tabindex]=\"disabled() ? '-1' : '0'\"\n [attr.aria-controls]=\"id() + '-listbox'\"\n (valueChange)=\"countryInput($event)\"\n (click)=\"openOverlay()\"\n (focus)=\"countryFocused.set(true)\"\n (blur)=\"countryFocused.set(false)\"\n >\n <span class=\"visually-hidden\" [id]=\"id() + '-aria-label'\">{{\n selectCountryAriaLabel() | translate\n }}</span>\n <span\n aria-hidden=\"true\"\n [class]=\"`fi fi-${(selectedCountry()?.isoCode | lowercase) ?? 'xx'}`\"\n ></span>\n @if (selectedCountry(); as selectedCountry) {\n <span class=\"si-body ms-4\" [id]=\"id() + '-value'\">\n <span class=\"visually-hidden\">{{ selectedCountry.name }}</span>\n +{{ selectedCountry.countryCode }}\n </span>\n }\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"overlayDetach()\"\n (detach)=\"overlayDetach()\"\n >\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"placeholderForSearch()\"\n [noResultsFoundLabel]=\"searchNoResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate\"\n (closeOverlay)=\"overlayDetach()\"\n />\n </ng-template>\n <ng-template #optionTemplate let-option>\n <span aria-hidden=\"true\" [class]=\"`fi me-5 fi-${(option.value.isoCode | lowercase)}`\"></span>\n {{ option.value.name }} +{{ option.value.countryCode }}\n </ng-template>\n </button>\n <input\n #phoneInput\n type=\"tel\"\n class=\"ms-4 border-0 p-0 focus-none shadow-none flex-grow-1 phone-number\"\n [value]=\"phoneInputValue()\"\n [attr.aria-label]=\"phoneNumberAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (input)=\"input($event)\"\n (blur)=\"blur()\"\n />\n</div>\n", styles: [":host:focus-within:not(.country-focus){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}.search-country{display:inline-block;margin-block-start:8px;margin-block-end:8px;margin-inline:8px;inline-size:calc(100% - 16px)}.disabled{pointer-events:none}.disabled,.disabled:hover,.disabled:focus{--border-color: var(--element-ui-3);color:var(--element-text-disabled)}.dropdown-toggle{border-radius:var(--element-input-radius);min-inline-size:auto!important;background:transparent}.dropdown-toggle .fi.fi-xx{background-image:none;background-color:var(--element-text-disabled)}.dropdown-toggle:disabled{opacity:var(--element-action-disabled-opacity)}.dropdown-toggle.readonly{cursor:default}.phone-number{background-color:transparent;inline-size:inherit}.phone-number:disabled,.phone-number[readonly]{opacity:1}.phone-number:disabled{color:var(--element-text-disabled)}.phone-number:disabled::placeholder{color:transparent}.phone-number::placeholder{color:var(--element-text-secondary)}\n"] }]
433
417
  }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], country: [{ type: i0.Input, args: [{ isSignal: true, alias: "country", required: false }] }, { type: i0.Output, args: ["countryChange"] }], defaultCountry: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultCountry", required: false }] }], placeholderForSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderForSearch", required: false }] }], searchNoResultsFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchNoResultsFoundLabel", required: false }] }], selectCountryAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectCountryAriaLabel", required: false }] }], phoneNumberAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "phoneNumberAriaLabel", required: false }] }], supportedCountries: [{ type: i0.Input, args: [{ isSignal: true, alias: "supportedCountries", required: false }] }], labelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelledby", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }], phoneInput: [{ type: i0.ViewChild, args: ['phoneInput', { isSignal: true }] }] } });
434
418
 
435
419
  /**
@@ -437,11 +421,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
437
421
  * SPDX-License-Identifier: MIT
438
422
  */
439
423
  class SiPhoneNumberInputModule {
440
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPhoneNumberInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
441
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiPhoneNumberInputModule, imports: [SiPhoneNumberInputComponent], exports: [SiPhoneNumberInputComponent] });
442
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPhoneNumberInputModule, imports: [SiPhoneNumberInputComponent] });
424
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiPhoneNumberInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
425
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: SiPhoneNumberInputModule, imports: [SiPhoneNumberInputComponent], exports: [SiPhoneNumberInputComponent] });
426
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiPhoneNumberInputModule, imports: [SiPhoneNumberInputComponent] });
443
427
  }
444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiPhoneNumberInputModule, decorators: [{
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiPhoneNumberInputModule, decorators: [{
445
429
  type: NgModule,
446
430
  args: [{
447
431
  imports: [SiPhoneNumberInputComponent],