@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 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-input-phone.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-phone/src/onemrva-mat-input-phone.component.ts","../../../../projects/onemrva/design-system/mat-input-phone/src/onemrva-mat-input-phone.component.html","../../../../projects/onemrva/design-system/mat-input-phone/src/phone-number.directive.ts","../../../../projects/onemrva/design-system/mat-input-phone/index.ts","../../../../projects/onemrva/design-system/mat-input-phone/onemrvapublic-design-system-mat-input-phone.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 {\n AbstractControl,\n ControlValueAccessor,\n FormBuilder,\n FormControl,\n FormGroup,\n NgControl,\n ReactiveFormsModule,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport {\n MatFormFieldControl,\n MatFormFieldModule,\n} 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 Observable,\n startWith,\n Subject,\n takeUntil,\n zip,\n} from 'rxjs';\nimport {\n OnemRvaCDNCountryService,\n OnemrvaMaterialCountry,\n} from '@onemrvapublic/design-system/shared';\nimport { map } from 'rxjs/operators';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { FlagIconComponent } from '@onemrvapublic/design-system/flag-icon';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport parsePhoneNumber from 'libphonenumber-js';\n\n@Component({\n selector: 'onemrva-mat-input-phone',\n styleUrls: ['onemrva-mat-input-phone.component.scss'],\n templateUrl: 'onemrva-mat-input-phone.component.html',\n standalone: true,\n imports: [\n CommonModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n TranslateModule,\n FlagIconComponent,\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: OnemrvaMatInputPhoneComponent,\n },\n ],\n})\nexport class OnemrvaMatInputPhoneComponent\n implements\n ControlValueAccessor,\n MatFormFieldControl<string>,\n OnInit,\n OnDestroy\n{\n @ViewChild('countryCode') countryCode!: HTMLInputElement;\n @ViewChild('number') number!: ElementRef;\n\n private readonly cdn = inject(OnemRvaCDNCountryService);\n\n public countries$: Observable<OnemrvaMaterialCountry[]> =\n this.cdn.getCountries();\n\n static nextId = 0;\n\n @Input() noEntriesFoundLabel = 'Not found';\n @Input() placeholderLabel = 'Search';\n @Input() searchAriaLabel = 'Search';\n\n @Input() defaultPrefix = '+32';\n\n @Output() getCountry = new EventEmitter<any>();\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n\n controlType = 'phone-input';\n stateChanges = new Subject<void>();\n focused = false;\n id = `phone-input-${OnemrvaMatInputPhoneComponent.nextId++}`;\n touched = false;\n\n parts: FormGroup<{\n countryCode: FormControl<string | null>;\n number: FormControl<string | null>;\n }>;\n\n get numberField() {\n return this.parts.get('number') as FormControl;\n }\n get countryCodeField() {\n return this.parts.get('countryCode') as FormControl;\n }\n\n private readonly focusMonitor = inject(FocusMonitor);\n public readonly elementRef = inject(ElementRef<HTMLElement>);\n private readonly formBuilder = inject(FormBuilder);\n public readonly ngControl = inject(NgControl, { optional: true });\n\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$), // Ensure correct tuple structure\n map(([search, countries]: [string | null, OnemrvaMaterialCountry[]]) => {\n // Define expected tuple\n return countries.filter((country: OnemrvaMaterialCountry) => {\n if (!search || search.trim() === '') return true; // Return all when search is empty\n return country.name?.toLowerCase().includes(search.toLowerCase());\n });\n }),\n );\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this; // ✅ Only assign if ngControl exists\n }\n\n this.parts = this.formBuilder.group({\n countryCode: ['', [Validators.maxLength(2)]],\n number: ['', []],\n });\n }\n\n errors(): ValidationErrors | null {\n return this.parts.errors;\n }\n\n onChange = (_value: any) => {\n //do nothing\n };\n\n onTouched = () => {\n if (!this.touched) {\n this.touched = true;\n this.stateChanges.next();\n }\n };\n\n get errorState(): boolean {\n const control = this.ngControl?.control;\n const externalErrors = !!(\n control &&\n control.invalid &&\n (control.dirty || control.touched)\n );\n\n // Also check internal form errors\n const internalErrors =\n this.parts &&\n this.parts.invalid &&\n (this.parts.dirty || this.parts.touched);\n\n return externalErrors || internalErrors;\n }\n\n get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n get empty() {\n const {\n value: { countryCode, number },\n } = this.parts;\n\n // Consider empty if both fields are truly empty or just contain whitespace\n const countryCodeEmpty = !countryCode || countryCode.trim() === '';\n const numberEmpty = !number || number.trim() === '';\n\n return countryCodeEmpty && numberEmpty;\n }\n\n @Input()\n get value(): string {\n const {\n value: { countryCode, number },\n } = this.parts;\n\n // Return empty string if both are empty\n if (\n (!countryCode || countryCode.trim() === '') &&\n (!number || number.trim() === '')\n ) {\n return '';\n }\n\n // Return the number as is (since it should already contain the full international number)\n return number || '';\n }\n\n set value(phoneNumber: string | null) {\n const incoming = phoneNumber ?? '';\n // If empty, clear both fields without emitting extra events\n if (incoming.trim() === '') {\n this.parts.setValue(\n { countryCode: '', number: '' },\n { emitEvent: false },\n );\n this.stateChanges.next();\n return;\n }\n // Set the number field; existing subscriptions will derive country code and formatting\n this.numberField.setValue(incoming, { emitEvent: false });\n this.stateChanges.next();\n }\n\n @Input()\n readonly = false;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this._disabled ? this.parts.disable() : this.parts.enable();\n this.stateChanges.next();\n }\n\n private _disabled = false;\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.stateChanges.next();\n }\n\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n\n private _placeholder = '';\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _required = false;\n\n ngOnInit(): void {\n // Add focus monitoring\n this.focusMonitor.monitor(this.elementRef, true).subscribe(origin => {\n this.focused = !!origin;\n if (!this.focused && !this.touched) {\n this.touched = true;\n this.onTouched();\n }\n this.stateChanges.next();\n });\n\n // Monitor internal form changes and notify parent form\n this.parts.valueChanges\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(() => {\n this.onChange(this.value);\n this.stateChanges.next();\n });\n\n this.focusMonitor.monitor(this.elementRef, true).subscribe(origin => {\n this.focused = !!origin;\n if (!this.focused) {\n this.onTouched();\n }\n this.stateChanges.next();\n });\n\n this.numberField.valueChanges\n .pipe(\n startWith(this.numberField.getRawValue()),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(number => {\n if (number && number !== '') {\n if (number.substring(0, 1) !== '+')\n this.countryCodeField.setValue('', { emitEvent: false });\n if (number === '0') {\n this.cdn\n .findCountryFromPrefix(this.defaultPrefix)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n //this.getCountry.next(country);\n this.numberField.setValue(this.defaultPrefix, {\n emitEvent: false,\n });\n this.countryCodeField.setValue(country.code, {\n emitEvent: false,\n });\n } else {\n this.countryCodeField.setValue('');\n }\n this.formatPhoneNumber();\n });\n } else {\n this.cdn\n .findCountryFromPrefix(number)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n //this.getCountry.next(country);\n this.countryCodeField.setValue(country.code);\n } else {\n this.countryCodeField.setValue('');\n }\n this.formatPhoneNumber();\n });\n }\n }\n });\n\n this.countryCodeField.valueChanges\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(value => {\n let number = this.numberField.getRawValue() ?? '';\n zip(\n this.cdn.findCountryFromPrefix(number),\n this.cdn.findCountryFromCode(value),\n ).subscribe(([countryFromVies, countryFromCode]) => {\n // Perform your action here using countryFromVies and countryFromCode\n if (countryFromVies) {\n number = number.replace(countryFromVies.dial_code, '');\n }\n if (countryFromCode) {\n this.getCountry.next(countryFromCode);\n if (number.substring(0, 1) === '+') {\n number = number.replace('+', '');\n }\n number = countryFromCode.dial_code + number;\n this.numberField.setValue(number, { emitEvent: false });\n this.formatPhoneNumber();\n }\n // setTimeout(() => {\n // this.number.nativeElement.focus();\n // }, 200);\n });\n });\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n autoFocusNext(\n control: AbstractControl,\n nextElement?: HTMLInputElement,\n ): void {\n if (!control.errors && nextElement) {\n this.focusMonitor.focusVia(nextElement, 'program');\n }\n }\n\n onContainerClick(event: MouseEvent): void {\n if ((event.target as Element).tagName.toLowerCase() != 'input') {\n this.elementRef.nativeElement.querySelector('input')?.focus();\n }\n }\n\n setDescribedByIds(ids: string[]) {\n const controlElement =\n this.elementRef.nativeElement.querySelector('.phone-fields')!;\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(number: string | null | undefined): void {\n // Ignore undefined updates (e.g., unrelated JSONForms changes)\n if (number === undefined) return;\n if (number === null) {\n this.parts.setValue(\n { countryCode: '', number: '' },\n { emitEvent: false },\n );\n this.stateChanges.next();\n return;\n }\n this.value = number;\n this.stateChanges.next();\n }\n\n _handleInput(control: AbstractControl, nextElement?: HTMLInputElement): void {\n this.autoFocusNext(control, nextElement);\n this.onChange(this.value);\n\n // Mark as touched when user interacts\n if (!this.touched) {\n this.touched = true;\n this.onTouched();\n }\n\n this.stateChanges.next();\n }\n\n private formatPhoneNumber() {\n try {\n const parsedPhone = parsePhoneNumber(this.numberField.getRawValue());\n const code = parsedPhone?.country;\n if (code) {\n this.countryCodeField.setValue(code, { emitEvent: false });\n this.numberField.setValue(parsedPhone?.format('INTERNATIONAL'), {\n emitEvent: false,\n });\n }\n } catch (e: any) {\n console.warn(e);\n }\n }\n\n onKeyup(event: KeyboardEvent): void {\n // Clear country when backspace on empty number\n if (this.numberField.value === '' && event.key === 'Backspace') {\n this.countryCodeField.setValue(null);\n // this.parts.clearValidators();\n }\n }\n}\n","<ng-container [formGroup]=\"parts\">\n <div class=\"phone-fields\">\n <div class=\"phone-prefix\">\n <mat-select\n #countryCode\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCodeField\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCodeField.getRawValue()\" />\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\">\n <flag-icon [countryCode]=\"country.code\" />\n &nbsp;&nbsp;&nbsp;\n {{ country.name }}\n &nbsp;&nbsp;&nbsp;\n <span class=\"dialcode\">\n {{ country.dial_code }}\n </span>\n </mat-option>\n }\n </mat-select>\n </div>\n <input\n (click)=\"handleClick($event)\"\n type=\"tel\"\n matInput\n #number\n [placeholder]=\"placeholder\"\n [formControl]=\"numberField\"\n class=\"onemrva-text-number\"\n [readOnly]=\"readonly\"\n />\n </div>\n</ng-container>\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[phoneNumber]',\n standalone: true,\n})\nexport class PhoneNumberDirective {\n @HostListener('keydown', ['$event']) onKeyDown(event: any) {\n const e = event as KeyboardEvent;\n\n const allowedKey = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n ' ',\n 'Backspace',\n 'Delete',\n 'Tab',\n '+',\n '-',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n\n if (allowedKey.indexOf(e.key) >= 0) return;\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (e.ctrlKey && allowedCtrlShortcuts.indexOf(e.key) >= 0) return;\n\n e.preventDefault();\n }\n}\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-phone.component';\nexport * from './src/phone-number.directive';\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-phone.mjs","sources":["../../../../projects/onemrva/design-system/mat-input-phone/src/onemrva-mat-input-phone.component.ts","../../../../projects/onemrva/design-system/mat-input-phone/src/onemrva-mat-input-phone.component.html","../../../../projects/onemrva/design-system/mat-input-phone/src/phone-number.directive.ts","../../../../projects/onemrva/design-system/mat-input-phone/index.ts","../../../../projects/onemrva/design-system/mat-input-phone/onemrvapublic-design-system-mat-input-phone.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport {\n Component,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewEncapsulation,\n input,\n output,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormBuilder,\n FormControl,\n FormGroup,\n NgControl,\n ReactiveFormsModule,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport {\n MatFormFieldControl,\n MatFormFieldModule,\n} 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 Observable,\n startWith,\n Subject,\n takeUntil,\n zip,\n} from 'rxjs';\nimport {\n OnemRvaCDNCountryService,\n OnemrvaMaterialCountry,\n} from '@onemrvapublic/design-system/shared';\nimport { map } from 'rxjs/operators';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { FlagIconComponent } from '@onemrvapublic/design-system/flag-icon';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\nimport parsePhoneNumber from 'libphonenumber-js';\n\n@Component({\n selector: 'onemrva-mat-input-phone',\n styleUrls: ['onemrva-mat-input-phone.component.scss'],\n templateUrl: 'onemrva-mat-input-phone.component.html',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n TranslateModule,\n FlagIconComponent,\n AsyncPipe,\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: OnemrvaMatInputPhoneComponent,\n },\n ],\n})\nexport class OnemrvaMatInputPhoneComponent\n implements\n ControlValueAccessor,\n MatFormFieldControl<string>,\n OnInit,\n OnDestroy\n{\n @ViewChild('countryCode') countryCode!: HTMLInputElement;\n @ViewChild('number') number!: ElementRef;\n\n private readonly cdn = inject(OnemRvaCDNCountryService);\n\n public countries$: Observable<OnemrvaMaterialCountry[]> =\n this.cdn.getCountries();\n\n static nextId = 0;\n\n readonly noEntriesFoundLabel = input('Not found');\n readonly placeholderLabel = input('Search');\n readonly searchAriaLabel = input('Search');\n\n readonly defaultPrefix = input('+32');\n\n readonly getCountry = output<any>();\n\n public filterCtrl: FormControl<string | null> = new FormControl<string>('');\n\n destroyNotifier$ = new Subject<void>();\n\n controlType = 'phone-input';\n stateChanges = new Subject<void>();\n focused = false;\n id = `phone-input-${OnemrvaMatInputPhoneComponent.nextId++}`;\n touched = false;\n\n parts: FormGroup<{\n countryCode: FormControl<string | null>;\n number: FormControl<string | null>;\n }>;\n\n get numberField() {\n return this.parts.get('number') as FormControl;\n }\n get countryCodeField() {\n return this.parts.get('countryCode') as FormControl;\n }\n\n private readonly focusMonitor = inject(FocusMonitor);\n public readonly elementRef = inject(ElementRef<HTMLElement>);\n private readonly formBuilder = inject(FormBuilder);\n public readonly ngControl = inject(NgControl, { optional: true });\n\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$), // Ensure correct tuple structure\n map(([search, countries]: [string | null, OnemrvaMaterialCountry[]]) => {\n // Define expected tuple\n return countries.filter((country: OnemrvaMaterialCountry) => {\n if (!search || search.trim() === '') return true; // Return all when search is empty\n return country.name?.toLowerCase().includes(search.toLowerCase());\n });\n }),\n );\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this; // ✅ Only assign if ngControl exists\n }\n\n this.parts = this.formBuilder.group({\n countryCode: ['', [Validators.maxLength(2)]],\n number: ['', []],\n });\n }\n\n errors(): ValidationErrors | null {\n return this.parts.errors;\n }\n\n onChange = (_value: any) => {\n //do nothing\n };\n\n onTouched = () => {\n if (!this.touched) {\n this.touched = true;\n this.stateChanges.next();\n }\n };\n\n get errorState(): boolean {\n const control = this.ngControl?.control;\n const externalErrors = !!(\n control &&\n control.invalid &&\n (control.dirty || control.touched)\n );\n\n // Also check internal form errors\n const internalErrors =\n this.parts &&\n this.parts.invalid &&\n (this.parts.dirty || this.parts.touched);\n\n return externalErrors || internalErrors;\n }\n\n get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n get empty() {\n const {\n value: { countryCode, number },\n } = this.parts;\n\n // Consider empty if both fields are truly empty or just contain whitespace\n const countryCodeEmpty = !countryCode || countryCode.trim() === '';\n const numberEmpty = !number || number.trim() === '';\n\n return countryCodeEmpty && numberEmpty;\n }\n\n @Input()\n get value(): string {\n const {\n value: { countryCode, number },\n } = this.parts;\n\n // Return empty string if both are empty\n if (\n (!countryCode || countryCode.trim() === '') &&\n (!number || number.trim() === '')\n ) {\n return '';\n }\n\n // Return the number as is (since it should already contain the full international number)\n return number || '';\n }\n\n set value(phoneNumber: string | null) {\n const incoming = phoneNumber ?? '';\n // If empty, clear both fields without emitting extra events\n if (incoming.trim() === '') {\n this.parts.setValue(\n { countryCode: '', number: '' },\n { emitEvent: false },\n );\n this.stateChanges.next();\n return;\n }\n // Set the number field; existing subscriptions will derive country code and formatting\n this.numberField.setValue(incoming, { emitEvent: false });\n this.stateChanges.next();\n }\n\n readonly readonly = input(false);\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this._disabled ? this.parts.disable() : this.parts.enable();\n this.stateChanges.next();\n }\n\n private _disabled = false;\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.stateChanges.next();\n }\n\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n\n private _placeholder = '';\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _required = false;\n\n ngOnInit(): void {\n // Add focus monitoring\n this.focusMonitor.monitor(this.elementRef, true).subscribe(origin => {\n this.focused = !!origin;\n if (!this.focused && !this.touched) {\n this.touched = true;\n this.onTouched();\n }\n this.stateChanges.next();\n });\n\n // Monitor internal form changes and notify parent form\n this.parts.valueChanges\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(() => {\n this.onChange(this.value);\n this.stateChanges.next();\n });\n\n this.focusMonitor.monitor(this.elementRef, true).subscribe(origin => {\n this.focused = !!origin;\n if (!this.focused) {\n this.onTouched();\n }\n this.stateChanges.next();\n });\n\n this.numberField.valueChanges\n .pipe(\n startWith(this.numberField.getRawValue()),\n takeUntil(this.destroyNotifier$),\n )\n .subscribe(number => {\n if (number && number !== '') {\n if (number.substring(0, 1) !== '+')\n this.countryCodeField.setValue('', { emitEvent: false });\n if (number === '0') {\n this.cdn\n .findCountryFromPrefix(this.defaultPrefix())\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n //this.getCountry.next(country);\n this.numberField.setValue(this.defaultPrefix(), {\n emitEvent: false,\n });\n this.countryCodeField.setValue(country.code, {\n emitEvent: false,\n });\n } else {\n this.countryCodeField.setValue('');\n }\n this.formatPhoneNumber();\n });\n } else {\n this.cdn\n .findCountryFromPrefix(number)\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(country => {\n if (country) {\n //this.getCountry.next(country);\n this.countryCodeField.setValue(country.code);\n } else {\n this.countryCodeField.setValue('');\n }\n this.formatPhoneNumber();\n });\n }\n }\n });\n\n this.countryCodeField.valueChanges\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(value => {\n let number = this.numberField.getRawValue() ?? '';\n zip(\n this.cdn.findCountryFromPrefix(number),\n this.cdn.findCountryFromCode(value),\n ).subscribe(([countryFromVies, countryFromCode]) => {\n // Perform your action here using countryFromVies and countryFromCode\n if (countryFromVies) {\n number = number.replace(countryFromVies.dial_code, '');\n }\n if (countryFromCode) {\n this.getCountry.emit(countryFromCode);\n if (number.substring(0, 1) === '+') {\n number = number.replace('+', '');\n }\n number = countryFromCode.dial_code + number;\n this.numberField.setValue(number, { emitEvent: false });\n this.formatPhoneNumber();\n }\n // setTimeout(() => {\n // this.number.nativeElement.focus();\n // }, 200);\n });\n });\n }\n\n handleClick(e: any) {\n e.stopPropagation();\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n autoFocusNext(\n control: AbstractControl,\n nextElement?: HTMLInputElement,\n ): void {\n if (!control.errors && nextElement) {\n this.focusMonitor.focusVia(nextElement, 'program');\n }\n }\n\n onContainerClick(event: MouseEvent): void {\n if ((event.target as Element).tagName.toLowerCase() != 'input') {\n this.elementRef.nativeElement.querySelector('input')?.focus();\n }\n }\n\n setDescribedByIds(ids: string[]) {\n const controlElement =\n this.elementRef.nativeElement.querySelector('.phone-fields')!;\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(number: string | null | undefined): void {\n // Ignore undefined updates (e.g., unrelated JSONForms changes)\n if (number === undefined) return;\n if (number === null) {\n this.parts.setValue(\n { countryCode: '', number: '' },\n { emitEvent: false },\n );\n this.stateChanges.next();\n return;\n }\n this.value = number;\n this.stateChanges.next();\n }\n\n _handleInput(control: AbstractControl, nextElement?: HTMLInputElement): void {\n this.autoFocusNext(control, nextElement);\n this.onChange(this.value);\n\n // Mark as touched when user interacts\n if (!this.touched) {\n this.touched = true;\n this.onTouched();\n }\n\n this.stateChanges.next();\n }\n\n private formatPhoneNumber() {\n try {\n const parsedPhone = parsePhoneNumber(this.numberField.getRawValue());\n const code = parsedPhone?.country;\n if (code) {\n this.countryCodeField.setValue(code, { emitEvent: false });\n this.numberField.setValue(parsedPhone?.format('INTERNATIONAL'), {\n emitEvent: false,\n });\n }\n } catch (e: any) {\n console.warn(e);\n }\n }\n\n onKeyup(event: KeyboardEvent): void {\n // Clear country when backspace on empty number\n if (this.numberField.value === '' && event.key === 'Backspace') {\n this.countryCodeField.setValue(null);\n // this.parts.clearValidators();\n }\n }\n}\n","<ng-container [formGroup]=\"parts\">\n <div class=\"phone-fields\">\n <div class=\"phone-prefix\">\n <mat-select\n #countryCode\n matTextPrefix\n class=\"onemrva-phone-number-select\"\n [formControl]=\"countryCodeField\"\n >\n <mat-select-trigger>\n <flag-icon [countryCode]=\"countryCodeField.getRawValue()\" />\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\">\n <flag-icon [countryCode]=\"country.code\" />\n &nbsp;&nbsp;&nbsp;\n {{ country.name }}\n &nbsp;&nbsp;&nbsp;\n <span class=\"dialcode\">\n {{ country.dial_code }}\n </span>\n </mat-option>\n }\n </mat-select>\n </div>\n <input\n (click)=\"handleClick($event)\"\n type=\"tel\"\n matInput\n #number\n [placeholder]=\"placeholder\"\n [formControl]=\"numberField\"\n class=\"onemrva-text-number\"\n [readOnly]=\"readonly()\"\n />\n </div>\n</ng-container>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[phoneNumber]',\n standalone: true,\n host: {\n '(keydown)': 'onKeyDown($event)',\n },\n})\nexport class PhoneNumberDirective {\n onKeyDown(event: any) {\n const e = event as KeyboardEvent;\n\n const allowedKey = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n ' ',\n 'Backspace',\n 'Delete',\n 'Tab',\n '+',\n '-',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n\n if (allowedKey.indexOf(e.key) >= 0) return;\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (e.ctrlKey && allowedCtrlShortcuts.indexOf(e.key) >= 0) return;\n\n e.preventDefault();\n }\n}\n","/*\n * Public API Surface of mat-bank-account-input\n */\n\nexport * from './src/onemrva-mat-input-phone.component';\nexport * from './src/phone-number.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,199 +1,64 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostBinding, Input, ViewChild, Component, NgModule } from '@angular/core';
2
+ import { input, viewChild, computed, Component, NgModule } from '@angular/core';
3
3
  import { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';
4
4
 
5
5
  let NEXT_ID = 0;
6
6
  class OnemrvaMatMessageBoxComponent {
7
7
  constructor() {
8
- this.label = false;
9
- this.messageCode = '';
10
- /**
11
- * Returns the `aria-label` attribute of the element.
12
- *
13
- * @example
14
- * ```typescript
15
- * let elementLabel = this.<element>.ariaLabel;
16
- * ```
17
- *
18
- */
19
- this.ariaLabel = 'message-box';
20
- this.showIcon = true;
21
- /**
22
- * Returns the `role` attribute of the element.
23
- *
24
- * @example
25
- * ```typescript
26
- * let elementRole = this.<element>.role;
27
- * ```
28
- */
29
- this.role = 'alert';
30
- /**
31
- * Host `class.onemrva-mat-message-box` binding.
32
- *
33
- * @hidden
34
- * @internal
35
- */
36
- this.cssClass = 'onemrva-mat-message-box';
37
- /**
38
- * Sets the `id` of the element. If not set, the first component instance will have `id` = `"onemrva-mat-*-0"`.
39
- *
40
- * @example
41
- * ```html
42
- * <onemrva-mat-* id="my-first-*"></onemrva-mat-*>
43
- * ```
44
- */
45
- this.id = `onemrva-mat-message-box-${NEXT_ID++}`;
46
- /**
47
- * Sets the `data-cy` of the element. If not set, the first component instance will have `data-cy` = `"onemrva-mat-*-0"`.
48
- *
49
- * @example
50
- * ```html
51
- * <onemrva-mat-* id="my-first-*"></onemrva-mat-*>
52
- * ```
53
- */
54
- this.dataCy = `onemrva-mat-message-box-${NEXT_ID++}`;
55
- /**
56
- * @hidden
57
- * @internal
58
- */
59
- this._color = OnemrvaMatColor.NONE;
60
- }
61
- /**
62
- * Returns the color of the element.
63
- *
64
- * @example
65
- * ```typescript
66
- * let color = this.<element>.color;
67
- * ```
68
- */
69
- get color() {
70
- return this._color;
71
- }
72
- /**
73
- * Sets the size of the element.
74
- * By default, the size is `"small"`. It can be set to `"medium"` or `"large"`.
75
- *
76
- * @example
77
- * ```html
78
- * <onemrva-mat-* size="large"></onemrva-mat-*>
79
- * ```
80
- */
81
- set color(value) {
82
- switch (value) {
83
- case OnemrvaMatColor.SUCCESS:
84
- case OnemrvaMatColor.WARN:
85
- case OnemrvaMatColor.NONE:
86
- case OnemrvaMatColor.INFO:
87
- case OnemrvaMatColor.GRAYSCALE:
88
- case OnemrvaMatColor.PRIMARY:
89
- case OnemrvaMatColor.NEUTRAL:
90
- case OnemrvaMatColor.ERROR:
91
- this._color = value;
92
- break;
93
- default:
94
- this._color = OnemrvaMatColor.INFO;
95
- }
96
- }
97
- /** @hidden @internal */
98
- get _isError() {
99
- return this.color === OnemrvaMatColor.ERROR;
100
- }
101
- /** @hidden @internal */
102
- get _isWarn() {
103
- return this.color === OnemrvaMatColor.WARN;
104
- }
105
- /** @hidden @internal */
106
- get _isSuccess() {
107
- return this.color === OnemrvaMatColor.SUCCESS;
108
- }
109
- /** @hidden @internal */
110
- get _isPrimary() {
111
- return this.color === OnemrvaMatColor.PRIMARY;
112
- }
113
- /** @hidden @internal */
114
- get isGrayscale() {
115
- return (this.color === OnemrvaMatColor.GRAYSCALE ||
116
- this.color === OnemrvaMatColor.NONE);
117
- }
118
- /** @hidden @internal */
119
- get _isInfo() {
120
- return (this.color !== OnemrvaMatColor.ERROR &&
121
- this.color !== OnemrvaMatColor.WARN &&
122
- this.color !== OnemrvaMatColor.NONE &&
123
- this.color !== OnemrvaMatColor.ACCENT &&
124
- this.color !== OnemrvaMatColor.GRAYSCALE &&
125
- this.color !== OnemrvaMatColor.PRIMARY &&
126
- this.color !== OnemrvaMatColor.SUCCESS);
8
+ this.label = input(false, ...(ngDevMode ? [{ debugName: "label" }] : []));
9
+ this.messageCode = input('', ...(ngDevMode ? [{ debugName: "messageCode" }] : []));
10
+ this.mbcontent = viewChild.required('mbcontent');
11
+ this.id = input(`onemrva-mat-message-box-${NEXT_ID++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
12
+ this.dataCy = input(`onemrva-mat-message-box-${NEXT_ID++}`, ...(ngDevMode ? [{ debugName: "dataCy" }] : []));
13
+ this.color = input(OnemrvaMatColor.NONE, ...(ngDevMode ? [{ debugName: "color" }] : []));
14
+ this.isError = computed(() => this.color() === OnemrvaMatColor.ERROR, ...(ngDevMode ? [{ debugName: "isError" }] : []));
15
+ this.isWarn = computed(() => this.color() === OnemrvaMatColor.WARN, ...(ngDevMode ? [{ debugName: "isWarn" }] : []));
16
+ this.isSuccess = computed(() => this.color() === OnemrvaMatColor.SUCCESS, ...(ngDevMode ? [{ debugName: "isSuccess" }] : []));
17
+ this.isPrimary = computed(() => this.color() === OnemrvaMatColor.PRIMARY, ...(ngDevMode ? [{ debugName: "isPrimary" }] : []));
18
+ this.isGrayscale = computed(() => this.color() === OnemrvaMatColor.GRAYSCALE ||
19
+ this.color() === OnemrvaMatColor.NONE, ...(ngDevMode ? [{ debugName: "isGrayscale" }] : []));
20
+ this.isInfo = computed(() => this.color() !== OnemrvaMatColor.ERROR &&
21
+ this.color() !== OnemrvaMatColor.WARN &&
22
+ this.color() !== OnemrvaMatColor.NONE &&
23
+ this.color() !== OnemrvaMatColor.ACCENT &&
24
+ this.color() !== OnemrvaMatColor.GRAYSCALE &&
25
+ this.color() !== OnemrvaMatColor.PRIMARY &&
26
+ this.color() !== OnemrvaMatColor.SUCCESS, ...(ngDevMode ? [{ debugName: "isInfo" }] : []));
127
27
  }
128
28
  ngAfterViewInit() {
129
- if (this.messageCode !== '') {
29
+ const messageCode = this.messageCode();
30
+ if (messageCode !== '') {
130
31
  console.warn('messageCode input has been deprecated in message-box component, please review documentation to fix this!');
131
- this.mbcontent.nativeElement.insertAdjacentHTML('beforeend', this.messageCode);
32
+ this.mbcontent().nativeElement.insertAdjacentHTML('beforeend', messageCode);
132
33
  }
133
34
  }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatMessageBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: OnemrvaMatMessageBoxComponent, isStandalone: true, selector: "onemrva-mat-message-box", inputs: { label: "label", messageCode: "messageCode", id: "id", dataCy: "dataCy", color: "color" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "class.show-icon": "this.showIcon", "attr.role": "this.role", "class.onemrva-mat-message-box": "this.cssClass", "attr.id": "this.id", "attr.data-cy": "this.dataCy", "class.mat-error": "this._isError", "class.mat-warn": "this._isWarn", "class.mat-success": "this._isSuccess", "class.mat-primary": "this._isPrimary", "class.mat-neutral": "this.isGrayscale", "class.mat-info": "this._isInfo" } }, viewQueries: [{ propertyName: "mbcontent", first: true, predicate: ["mbcontent"], descendants: true }], ngImport: i0, template: "<div #mbcontent>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:inline-flex;align-items:center;position:relative;padding:var(--spacer) var(--spacer) var(--spacer) var(--half-spacer);border-radius:var(--half-spacer);gap:var(--spacer);font:var(--mat-sys-body-small);background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}:host onemrva-mat-sticker{line-height:calc(var(--spacer) * 2.25);margin-right:var(--double-spacer)}\n"] }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatMessageBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: OnemrvaMatMessageBoxComponent, isStandalone: true, selector: "onemrva-mat-message-box", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, messageCode: { classPropertyName: "messageCode", publicName: "messageCode", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, dataCy: { classPropertyName: "dataCy", publicName: "dataCy", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "class.show-icon": "true" }, properties: { "attr.aria-label": "\"message-box\"", "attr.role": "\"alert\"", "attr.id": "id()", "attr.data-cy": "dataCy()", "class.mat-error": "isError()", "class.mat-warn": "isWarn()", "class.mat-success": "isSuccess()", "class.mat-primary": "isPrimary()", "class.mat-neutral": "isGrayscale()", "class.mat-info": "isInfo()" }, classAttribute: "onemrva-mat-message-box" }, viewQueries: [{ propertyName: "mbcontent", first: true, predicate: ["mbcontent"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #mbcontent>\n <ng-content />\n</div>\n", styles: [":host{display:inline-flex;align-items:center;position:relative;padding:var(--spacer) var(--spacer) var(--spacer) var(--half-spacer);border-radius:var(--half-spacer);gap:var(--spacer);font:var(--mat-sys-body-small);background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}:host onemrva-mat-sticker{line-height:calc(var(--spacer) * 2.25);margin-right:var(--double-spacer)}\n"] }); }
136
37
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatMessageBoxComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatMessageBoxComponent, decorators: [{
138
39
  type: Component,
139
- args: [{ selector: 'onemrva-mat-message-box', standalone: true, template: "<div #mbcontent>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:inline-flex;align-items:center;position:relative;padding:var(--spacer) var(--spacer) var(--spacer) var(--half-spacer);border-radius:var(--half-spacer);gap:var(--spacer);font:var(--mat-sys-body-small);background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}:host onemrva-mat-sticker{line-height:calc(var(--spacer) * 2.25);margin-right:var(--double-spacer)}\n"] }]
140
- }], propDecorators: { label: [{
141
- type: Input
142
- }], messageCode: [{
143
- type: Input
144
- }], mbcontent: [{
145
- type: ViewChild,
146
- args: ['mbcontent']
147
- }], ariaLabel: [{
148
- type: HostBinding,
149
- args: ['attr.aria-label']
150
- }], showIcon: [{
151
- type: HostBinding,
152
- args: ['class.show-icon']
153
- }], role: [{
154
- type: HostBinding,
155
- args: ['attr.role']
156
- }], cssClass: [{
157
- type: HostBinding,
158
- args: ['class.onemrva-mat-message-box']
159
- }], id: [{
160
- type: HostBinding,
161
- args: ['attr.id']
162
- }, {
163
- type: Input
164
- }], dataCy: [{
165
- type: HostBinding,
166
- args: ['attr.data-cy']
167
- }, {
168
- type: Input
169
- }], color: [{
170
- type: Input
171
- }], _isError: [{
172
- type: HostBinding,
173
- args: ['class.mat-error']
174
- }], _isWarn: [{
175
- type: HostBinding,
176
- args: ['class.mat-warn']
177
- }], _isSuccess: [{
178
- type: HostBinding,
179
- args: ['class.mat-success']
180
- }], _isPrimary: [{
181
- type: HostBinding,
182
- args: ['class.mat-primary']
183
- }], isGrayscale: [{
184
- type: HostBinding,
185
- args: ['class.mat-neutral']
186
- }], _isInfo: [{
187
- type: HostBinding,
188
- args: ['class.mat-info']
189
- }] } });
40
+ args: [{ selector: 'onemrva-mat-message-box', standalone: true, host: {
41
+ '[attr.aria-label]': '"message-box"',
42
+ 'class.show-icon': 'true',
43
+ '[attr.role]': '"alert"',
44
+ class: 'onemrva-mat-message-box',
45
+ '[attr.id]': 'id()',
46
+ '[attr.data-cy]': 'dataCy()',
47
+ '[class.mat-error]': 'isError()',
48
+ '[class.mat-warn]': 'isWarn()',
49
+ '[class.mat-success]': 'isSuccess()',
50
+ '[class.mat-primary]': 'isPrimary()',
51
+ '[class.mat-neutral]': 'isGrayscale()',
52
+ '[class.mat-info]': 'isInfo()',
53
+ }, template: "<div #mbcontent>\n <ng-content />\n</div>\n", styles: [":host{display:inline-flex;align-items:center;position:relative;padding:var(--spacer) var(--spacer) var(--spacer) var(--half-spacer);border-radius:var(--half-spacer);gap:var(--spacer);font:var(--mat-sys-body-small);background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}:host onemrva-mat-sticker{line-height:calc(var(--spacer) * 2.25);margin-right:var(--double-spacer)}\n"] }]
54
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], messageCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "messageCode", required: false }] }], mbcontent: [{ type: i0.ViewChild, args: ['mbcontent', { isSignal: true }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], dataCy: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataCy", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
190
55
 
191
56
  class OnemrvaMatMessageBoxModule {
192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatMessageBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
193
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatMessageBoxModule, imports: [OnemrvaMatMessageBoxComponent] }); }
194
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatMessageBoxModule }); }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatMessageBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
58
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatMessageBoxModule, imports: [OnemrvaMatMessageBoxComponent] }); }
59
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatMessageBoxModule }); }
195
60
  }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OnemrvaMatMessageBoxModule, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: OnemrvaMatMessageBoxModule, decorators: [{
197
62
  type: NgModule,
198
63
  args: [{
199
64
  declarations: [],
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-message-box.mjs","sources":["../../../../projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.component.ts","../../../../projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.component.html","../../../../projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.module.ts","../../../../projects/onemrva/design-system/mat-message-box/onemrvapublic-design-system-mat-message-box.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'onemrva-mat-message-box',\n templateUrl: 'onemrva-mat-message-box.component.html',\n styleUrl: 'onemrva-mat-message-box.component.scss',\n standalone: true,\n})\nexport class OnemrvaMatMessageBoxComponent implements AfterViewInit {\n @Input()\n public label: false | string = false;\n\n @Input()\n public messageCode = '';\n\n @ViewChild('mbcontent')\n public mbcontent!: ElementRef;\n /**\n * Returns the `aria-label` attribute of the element.\n *\n * @example\n * ```typescript\n * let elementLabel = this.<element>.ariaLabel;\n * ```\n *\n */\n @HostBinding('attr.aria-label')\n public ariaLabel = 'message-box';\n\n @HostBinding('class.show-icon')\n public showIcon = true;\n\n /**\n * Returns the `role` attribute of the element.\n *\n * @example\n * ```typescript\n * let elementRole = this.<element>.role;\n * ```\n */\n @HostBinding('attr.role')\n public role = 'alert';\n\n /**\n * Host `class.onemrva-mat-message-box` binding.\n *\n * @hidden\n * @internal\n */\n @HostBinding('class.onemrva-mat-message-box')\n public cssClass = 'onemrva-mat-message-box';\n\n /**\n * Sets the `id` of the element. If not set, the first component instance will have `id` = `\"onemrva-mat-*-0\"`.\n *\n * @example\n * ```html\n * <onemrva-mat-* id=\"my-first-*\"></onemrva-mat-*>\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `onemrva-mat-message-box-${NEXT_ID++}`;\n\n /**\n * Sets the `data-cy` of the element. If not set, the first component instance will have `data-cy` = `\"onemrva-mat-*-0\"`.\n *\n * @example\n * ```html\n * <onemrva-mat-* id=\"my-first-*\"></onemrva-mat-*>\n * ```\n */\n @HostBinding('attr.data-cy')\n @Input()\n public dataCy = `onemrva-mat-message-box-${NEXT_ID++}`;\n\n /**\n * @hidden\n * @internal\n */\n private _color: OnemrvaMatColor = OnemrvaMatColor.NONE;\n\n /**\n * Returns the color of the element.\n *\n * @example\n * ```typescript\n * let color = this.<element>.color;\n * ```\n */\n @Input()\n public get color(): OnemrvaMatColor {\n return this._color;\n }\n\n /**\n * Sets the size of the element.\n * By default, the size is `\"small\"`. It can be set to `\"medium\"` or `\"large\"`.\n *\n * @example\n * ```html\n * <onemrva-mat-* size=\"large\"></onemrva-mat-*>\n * ```\n */\n public set color(value: OnemrvaMatColor) {\n switch (value) {\n case OnemrvaMatColor.SUCCESS:\n case OnemrvaMatColor.WARN:\n case OnemrvaMatColor.NONE:\n case OnemrvaMatColor.INFO:\n case OnemrvaMatColor.GRAYSCALE:\n case OnemrvaMatColor.PRIMARY:\n case OnemrvaMatColor.NEUTRAL:\n case OnemrvaMatColor.ERROR:\n this._color = value;\n break;\n default:\n this._color = OnemrvaMatColor.INFO;\n }\n }\n\n /** @hidden @internal */\n @HostBinding('class.mat-error')\n public get _isError(): boolean {\n return this.color === OnemrvaMatColor.ERROR;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-warn')\n public get _isWarn(): boolean {\n return this.color === OnemrvaMatColor.WARN;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-success')\n public get _isSuccess(): boolean {\n return this.color === OnemrvaMatColor.SUCCESS;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-primary')\n public get _isPrimary(): boolean {\n return this.color === OnemrvaMatColor.PRIMARY;\n }\n /** @hidden @internal */\n @HostBinding('class.mat-neutral')\n public get isGrayscale(): boolean {\n return (\n this.color === OnemrvaMatColor.GRAYSCALE ||\n this.color === OnemrvaMatColor.NONE\n );\n }\n /** @hidden @internal */\n @HostBinding('class.mat-info')\n public get _isInfo(): boolean {\n return (\n this.color !== OnemrvaMatColor.ERROR &&\n this.color !== OnemrvaMatColor.WARN &&\n this.color !== OnemrvaMatColor.NONE &&\n this.color !== OnemrvaMatColor.ACCENT &&\n this.color !== OnemrvaMatColor.GRAYSCALE &&\n this.color !== OnemrvaMatColor.PRIMARY &&\n this.color !== OnemrvaMatColor.SUCCESS\n );\n }\n\n ngAfterViewInit(): void {\n if (this.messageCode !== '') {\n console.warn(\n 'messageCode input has been deprecated in message-box component, please review documentation to fix this!',\n );\n this.mbcontent.nativeElement.insertAdjacentHTML(\n 'beforeend',\n this.messageCode,\n );\n }\n }\n}\n","<div #mbcontent>\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { OnemrvaMatMessageBoxComponent } from './onemrva-mat-message-box.component';\n\n@NgModule({\n declarations: [],\n imports: [OnemrvaMatMessageBoxComponent],\n exports: [],\n})\nexport class OnemrvaMatMessageBoxModule {}\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-message-box.mjs","sources":["../../../../projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.component.ts","../../../../projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.component.html","../../../../projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.module.ts","../../../../projects/onemrva/design-system/mat-message-box/onemrvapublic-design-system-mat-message-box.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n computed,\n input,\n viewChild,\n} from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'onemrva-mat-message-box',\n templateUrl: 'onemrva-mat-message-box.component.html',\n styleUrl: 'onemrva-mat-message-box.component.scss',\n standalone: true,\n host: {\n '[attr.aria-label]': '\"message-box\"',\n 'class.show-icon': 'true',\n '[attr.role]': '\"alert\"',\n class: 'onemrva-mat-message-box',\n '[attr.id]': 'id()',\n '[attr.data-cy]': 'dataCy()',\n '[class.mat-error]': 'isError()',\n '[class.mat-warn]': 'isWarn()',\n '[class.mat-success]': 'isSuccess()',\n '[class.mat-primary]': 'isPrimary()',\n '[class.mat-neutral]': 'isGrayscale()',\n '[class.mat-info]': 'isInfo()',\n },\n})\nexport class OnemrvaMatMessageBoxComponent implements AfterViewInit {\n readonly label = input<false | string>(false);\n readonly messageCode = input('');\n readonly mbcontent = viewChild.required<ElementRef>('mbcontent');\n readonly id = input(`onemrva-mat-message-box-${NEXT_ID++}`);\n readonly dataCy = input(`onemrva-mat-message-box-${NEXT_ID++}`);\n readonly color = input<OnemrvaMatColor>(OnemrvaMatColor.NONE);\n\n protected readonly isError = computed(\n () => this.color() === OnemrvaMatColor.ERROR,\n );\n protected readonly isWarn = computed(\n () => this.color() === OnemrvaMatColor.WARN,\n );\n protected readonly isSuccess = computed(\n () => this.color() === OnemrvaMatColor.SUCCESS,\n );\n protected readonly isPrimary = computed(\n () => this.color() === OnemrvaMatColor.PRIMARY,\n );\n protected readonly isGrayscale = computed(\n () =>\n this.color() === OnemrvaMatColor.GRAYSCALE ||\n this.color() === OnemrvaMatColor.NONE,\n );\n protected readonly isInfo = computed(\n () =>\n this.color() !== OnemrvaMatColor.ERROR &&\n this.color() !== OnemrvaMatColor.WARN &&\n this.color() !== OnemrvaMatColor.NONE &&\n this.color() !== OnemrvaMatColor.ACCENT &&\n this.color() !== OnemrvaMatColor.GRAYSCALE &&\n this.color() !== OnemrvaMatColor.PRIMARY &&\n this.color() !== OnemrvaMatColor.SUCCESS,\n );\n\n ngAfterViewInit(): void {\n const messageCode = this.messageCode();\n if (messageCode !== '') {\n console.warn(\n 'messageCode input has been deprecated in message-box component, please review documentation to fix this!',\n );\n this.mbcontent().nativeElement.insertAdjacentHTML(\n 'beforeend',\n messageCode,\n );\n }\n }\n}\n","<div #mbcontent>\n <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\nimport { OnemrvaMatMessageBoxComponent } from './onemrva-mat-message-box.component';\n\n@NgModule({\n declarations: [],\n imports: [OnemrvaMatMessageBoxComponent],\n exports: [],\n})\nexport class OnemrvaMatMessageBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}