@onemrvapublic/design-system 1.0.0-beta.4 → 1.0.0-develop.1

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 (512) hide show
  1. package/README.md +9 -4
  2. package/assets/i18n/de.json +84 -12
  3. package/assets/i18n/en.json +78 -6
  4. package/assets/i18n/fr.json +79 -7
  5. package/assets/i18n/nl.json +84 -12
  6. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs +49 -0
  7. package/fesm2022/onemrvapublic-design-system-flag-icon.mjs.map +1 -0
  8. package/fesm2022/onemrvapublic-design-system-layout.mjs +948 -0
  9. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -0
  10. package/fesm2022/onemrvapublic-design-system-mat-address.mjs +111 -0
  11. package/fesm2022/onemrvapublic-design-system-mat-address.mjs.map +1 -0
  12. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs +318 -0
  13. package/fesm2022/onemrvapublic-design-system-mat-avatar.mjs.map +1 -0
  14. package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs +125 -0
  15. package/fesm2022/onemrvapublic-design-system-mat-breadcrumb.mjs.map +1 -0
  16. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs +208 -0
  17. package/fesm2022/onemrvapublic-design-system-mat-carousel.mjs.map +1 -0
  18. package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs +84 -0
  19. package/fesm2022/onemrvapublic-design-system-mat-choice-chip.mjs.map +1 -0
  20. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs +90 -0
  21. package/fesm2022/onemrvapublic-design-system-mat-copy-to-clipboard.mjs.map +1 -0
  22. package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs +33 -0
  23. package/fesm2022/onemrvapublic-design-system-mat-country-item.mjs.map +1 -0
  24. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs +211 -0
  25. package/fesm2022/onemrvapublic-design-system-mat-datepicker-header.mjs.map +1 -0
  26. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs +42 -0
  27. package/fesm2022/onemrvapublic-design-system-mat-empty-row.mjs.map +1 -0
  28. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +810 -0
  29. package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -0
  30. package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs +138 -0
  31. package/fesm2022/onemrvapublic-design-system-mat-input-address.mjs.map +1 -0
  32. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs +135 -0
  33. package/fesm2022/onemrvapublic-design-system-mat-input-birthplace.mjs.map +1 -0
  34. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +98 -0
  35. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -0
  36. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +189 -0
  37. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -0
  38. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs +308 -0
  39. package/fesm2022/onemrvapublic-design-system-mat-input-iban.mjs.map +1 -0
  40. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +295 -0
  41. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -0
  42. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs +210 -0
  43. package/fesm2022/onemrvapublic-design-system-mat-message-box.mjs.map +1 -0
  44. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs +225 -0
  45. package/fesm2022/onemrvapublic-design-system-mat-multi-select.mjs.map +1 -0
  46. package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs +169 -0
  47. package/fesm2022/onemrvapublic-design-system-mat-navigation.mjs.map +1 -0
  48. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs +103 -0
  49. package/fesm2022/onemrvapublic-design-system-mat-notification.mjs.map +1 -0
  50. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs +269 -0
  51. package/fesm2022/onemrvapublic-design-system-mat-paginator.mjs.map +1 -0
  52. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs +185 -0
  53. package/fesm2022/onemrvapublic-design-system-mat-panel.mjs.map +1 -0
  54. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs +118 -0
  55. package/fesm2022/onemrvapublic-design-system-mat-pop-over.mjs.map +1 -0
  56. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs +52 -0
  57. package/fesm2022/onemrvapublic-design-system-mat-progress-bar.mjs.map +1 -0
  58. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs +612 -0
  59. package/fesm2022/onemrvapublic-design-system-mat-select-search.mjs.map +1 -0
  60. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs +96 -0
  61. package/fesm2022/onemrvapublic-design-system-mat-selectable-box.mjs.map +1 -0
  62. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs +72 -0
  63. package/fesm2022/onemrvapublic-design-system-mat-side-menu.mjs.map +1 -0
  64. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs +241 -0
  65. package/fesm2022/onemrvapublic-design-system-mat-skeleton.mjs.map +1 -0
  66. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs +65 -0
  67. package/fesm2022/onemrvapublic-design-system-mat-spinner.mjs.map +1 -0
  68. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +146 -0
  69. package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -0
  70. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs +36 -0
  71. package/fesm2022/onemrvapublic-design-system-mat-sticker.mjs.map +1 -0
  72. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs +232 -0
  73. package/fesm2022/onemrvapublic-design-system-mat-table-of-content.mjs.map +1 -0
  74. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs +170 -0
  75. package/fesm2022/onemrvapublic-design-system-mat-task-list.mjs.map +1 -0
  76. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs +1363 -0
  77. package/fesm2022/onemrvapublic-design-system-mat-timepicker.mjs.map +1 -0
  78. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs +73 -0
  79. package/fesm2022/onemrvapublic-design-system-mat-toast.mjs.map +1 -0
  80. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs +166 -0
  81. package/fesm2022/onemrvapublic-design-system-mat-tooltip.mjs.map +1 -0
  82. package/fesm2022/onemrvapublic-design-system-page-error.mjs +80 -0
  83. package/fesm2022/onemrvapublic-design-system-page-error.mjs.map +1 -0
  84. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs +211 -0
  85. package/fesm2022/onemrvapublic-design-system-page-not-found.mjs.map +1 -0
  86. package/fesm2022/onemrvapublic-design-system-shared.mjs +2188 -0
  87. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -0
  88. package/fesm2022/onemrvapublic-design-system-utils.mjs +35 -0
  89. package/fesm2022/onemrvapublic-design-system-utils.mjs.map +1 -0
  90. package/fesm2022/onemrvapublic-design-system.mjs +10573 -0
  91. package/fesm2022/onemrvapublic-design-system.mjs.map +1 -0
  92. package/flag-icon/index.d.ts +18 -0
  93. package/flag-icon/src/flag-icon.component.scss +12 -0
  94. package/index.d.ts +3140 -0
  95. package/layout/index.d.ts +293 -0
  96. package/layout/src/components/layout/layout.component.scss +90 -80
  97. package/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.scss +3 -2
  98. package/layout/src/components/layout-drawer-content/layout-drawer-content.component.scss +9 -0
  99. package/layout/src/components/layout-drawer-title/layout-drawer-title.component.scss +9 -5
  100. package/layout/src/components/layout-left-sidenav/layout-left-sidenav.component.scss +5 -0
  101. package/layout/src/components/layout-sidenav/layout-sidenav.component.scss +43 -0
  102. package/layout/src/index.scss +0 -1
  103. package/mat-address/index.d.ts +36 -0
  104. package/mat-address/src/onemrva-address.scss +14 -0
  105. package/mat-avatar/index.d.ts +187 -0
  106. package/mat-avatar/src/onemrva-mat-avatar.component.scss +79 -123
  107. package/mat-breadcrumb/index.d.ts +40 -0
  108. package/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.scss +39 -53
  109. package/mat-carousel/index.d.ts +52 -0
  110. package/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.scss +10 -0
  111. package/mat-carousel/src/onemrva-mat-carousel.component.scss +38 -45
  112. package/mat-choice-chip/index.d.ts +20 -0
  113. package/mat-choice-chip/src/onemrva-mat-choice-chip.component.scss +83 -0
  114. package/mat-copy-to-clipboard/index.d.ts +26 -0
  115. package/mat-country-item/index.d.ts +10 -0
  116. package/{mat-input-birthplace/src/country-item.component.scss → mat-country-item/src/onemrva-mat-country-item.component.scss} +6 -1
  117. package/mat-datepicker-header/index.d.ts +44 -0
  118. package/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.scss +8 -0
  119. package/mat-empty-row/index.d.ts +19 -0
  120. package/mat-empty-row/src/onemrva-mat-empty-row.component.scss +29 -0
  121. package/mat-file-upload/index.d.ts +301 -0
  122. package/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.scss +48 -16
  123. package/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.scss +72 -218
  124. package/mat-input-address/index.d.ts +32 -0
  125. package/mat-input-address/src/onemrva-mat-input-address.component.scss +8 -0
  126. package/mat-input-birthplace/index.d.ts +36 -0
  127. package/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.scss +4 -2
  128. package/mat-input-country/index.d.ts +32 -0
  129. package/mat-input-country/src/onemrva-mat-input-country.component.scss +13 -0
  130. package/mat-input-enterprise-number/index.d.ts +37 -0
  131. package/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.scss +7 -0
  132. package/mat-input-iban/index.d.ts +79 -0
  133. package/mat-input-iban/src/onemrva-mat-input-iban.component.scss +10 -0
  134. package/mat-input-phone/index.d.ts +44 -0
  135. package/mat-message-box/index.d.ts +101 -0
  136. package/mat-message-box/src/onemrva-mat-message-box.component.scss +13 -65
  137. package/mat-multi-select/index.d.ts +57 -0
  138. package/mat-multi-select/src/onemrva-mat-multi-select.component.scss +35 -0
  139. package/mat-navigation/index.d.ts +54 -0
  140. package/mat-navigation/src/mat-navigation-item/onemrva-mat-navigation-item.component.scss +66 -0
  141. package/mat-navigation/src/onemrva-mat-navigation.component.scss +36 -0
  142. package/mat-notification/index.d.ts +43 -0
  143. package/mat-notification/src/onemrva-mat-notification.component.scss +26 -0
  144. package/mat-paginator/index.d.ts +58 -0
  145. package/mat-paginator/src/onemrva-mat-paginator.component.scss +146 -0
  146. package/mat-panel/index.d.ts +66 -0
  147. package/mat-panel/src/mat-expansion-panel-header-arrow-divider.scss +11 -0
  148. package/mat-panel/src/onemrva-mat-panel-content.scss +8 -0
  149. package/mat-panel/src/onemrva-mat-panel-icon.scss +7 -0
  150. package/mat-panel/src/onemrva-mat-panel-title.scss +13 -0
  151. package/mat-panel/src/onemrva-mat-panel.component.scss +75 -82
  152. package/mat-pop-over/index.d.ts +40 -0
  153. package/mat-pop-over/src/onemrva-mat-pop-over.component.scss +11 -11
  154. package/mat-progress-bar/index.d.ts +18 -0
  155. package/mat-progress-bar/src/onemrva-mat-progress-bar.component.scss +26 -0
  156. package/mat-select-search/index.d.ts +197 -0
  157. package/mat-select-search/src/mat-select-search.component.scss +62 -109
  158. package/mat-selectable-box/index.d.ts +29 -0
  159. package/mat-selectable-box/src/onemrva-mat-selectable-box.component.scss +68 -90
  160. package/mat-side-menu/index.d.ts +33 -0
  161. package/mat-side-menu/src/onemrva-mat-side-menu.component.scss +36 -38
  162. package/mat-skeleton/index.d.ts +100 -0
  163. package/mat-skeleton/src/onemrva-mat-skeleton.component.scss +10 -59
  164. package/mat-spinner/index.d.ts +25 -0
  165. package/mat-spinner/src/onemrva-mat-spinner.component.scss +21 -0
  166. package/mat-stepper/index.d.ts +36 -0
  167. package/mat-stepper/src/onemrva-mat-stepper.scss +40 -105
  168. package/mat-sticker/index.d.ts +14 -0
  169. package/mat-sticker/src/onemrva-mat-sticker.component.scss +26 -63
  170. package/mat-table-of-content/index.d.ts +84 -0
  171. package/mat-table-of-content/src/onemrva-mat-table-of-content.component.scss +57 -0
  172. package/mat-task-list/index.d.ts +57 -0
  173. package/mat-task-list/src/onemrva-mat-task-content.scss +11 -0
  174. package/mat-task-list/src/onemrva-mat-task-list.component.scss +0 -150
  175. package/mat-task-list/src/onemrva-mat-task-title.scss +16 -0
  176. package/mat-task-list/src/onemrva-mat-task.component.scss +67 -0
  177. package/mat-timepicker/index.d.ts +386 -0
  178. package/mat-timepicker/src/clock/clock.component.scss +13 -7
  179. package/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.scss +2 -7
  180. package/mat-toast/index.d.ts +30 -0
  181. package/mat-toast/src/onemrva-mat-toast.component.scss +7 -49
  182. package/mat-tooltip/index.d.ts +39 -0
  183. package/mat-tooltip/src/onemrva-mat-tooltip.component.scss +8 -5
  184. package/package.json +196 -26
  185. package/page-error/index.d.ts +34 -0
  186. package/page-error/src/page-error.component.scss +25 -0
  187. package/page-not-found/index.d.ts +54 -0
  188. package/page-not-found/src/page-not-found-mixin.component.scss +1 -1
  189. package/page-not-found/src/page-not-found.component.scss +2 -2
  190. package/shared/index.d.ts +541 -0
  191. package/utils/index.d.ts +32 -0
  192. package/.eslintrc.json +0 -33
  193. package/_index.scss +0 -34
  194. package/_utils.scss +0 -30
  195. package/core/index.ts +0 -3
  196. package/core/ng-package.json +0 -6
  197. package/core/src/lib/core.module.ts +0 -26
  198. package/core/src/lib/modules/index.ts +0 -1
  199. package/core/src/lib/modules/translate.loader.ts +0 -34
  200. package/core/src/lib/modules/translate.module.ts +0 -66
  201. package/core/src/lib/services/index.ts +0 -2
  202. package/core/src/lib/services/onemrva-error-handler.service.ts +0 -24
  203. package/core/src/lib/services/onemrva-missing-translation.service.ts +0 -12
  204. package/core/src/test.ts +0 -30
  205. package/layout/index.ts +0 -7
  206. package/layout/ng-package.json +0 -6
  207. package/layout/src/components/index.ts +0 -37
  208. package/layout/src/components/layout/_layout-mixin.component.scss +0 -189
  209. package/layout/src/components/layout/layout.component.html +0 -213
  210. package/layout/src/components/layout/layout.component.spec.ts +0 -59
  211. package/layout/src/components/layout/layout.component.ts +0 -185
  212. package/layout/src/components/layout-after-nav/layout-after-nav.component.spec.ts +0 -24
  213. package/layout/src/components/layout-after-nav/layout-after-nav.component.ts +0 -24
  214. package/layout/src/components/layout-content/layout-content.component.spec.ts +0 -24
  215. package/layout/src/components/layout-content/layout-content.component.ts +0 -24
  216. package/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.html +0 -1
  217. package/layout/src/components/layout-drawer-actions/layout-drawer-actions.component.ts +0 -14
  218. package/layout/src/components/layout-drawer-content/layout-drawer-content.component.html +0 -1
  219. package/layout/src/components/layout-drawer-content/layout-drawer-content.component.ts +0 -14
  220. package/layout/src/components/layout-drawer-title/layout-drawer-title.component.html +0 -7
  221. package/layout/src/components/layout-drawer-title/layout-drawer-title.component.ts +0 -18
  222. package/layout/src/components/layout-footer/layout-footer.component.ts +0 -11
  223. package/layout/src/components/layout-login-menu/layout-login-menu.component.spec.ts +0 -24
  224. package/layout/src/components/layout-login-menu/layout-login-menu.component.ts +0 -24
  225. package/layout/src/components/layout-route/layout-route.component.html +0 -64
  226. package/layout/src/components/layout-route/layout-route.component.spec.ts +0 -24
  227. package/layout/src/components/layout-route/layout-route.component.ts +0 -57
  228. package/layout/src/components/layout-sidenav/layout-sidenav.component.html +0 -104
  229. package/layout/src/components/layout-sidenav/layout-sidenav.component.ts +0 -88
  230. package/layout/src/components/layout-sidenav-title/layout-sidenav-title.component.ts +0 -9
  231. package/layout/src/components/layout-subroute/layout-subroute.component.html +0 -43
  232. package/layout/src/components/layout-subroute/layout-subroute.component.spec.ts +0 -24
  233. package/layout/src/components/layout-subroute/layout-subroute.component.ts +0 -62
  234. package/layout/src/components/layout-title/layout-title.component.spec.ts +0 -24
  235. package/layout/src/components/layout-title/layout-title.component.ts +0 -24
  236. package/layout/src/decorators/coerce-boolean-input.decorator.ts +0 -19
  237. package/layout/src/decorators/observable-content.decorator.ts +0 -13
  238. package/layout/src/directives/drawer-host.directive.ts +0 -42
  239. package/layout/src/enums/environment.enum.ts +0 -6
  240. package/layout/src/layout.module.ts +0 -47
  241. package/layout/src/models/onem-language.model.ts +0 -4
  242. package/layout/src/models/onemrva-profile.model.ts +0 -57
  243. package/layout/src/services/drawer.service.ts +0 -30
  244. package/layout/src/striphtml.pipe.ts +0 -10
  245. package/layout/src/test.ts +0 -31
  246. package/mat-avatar/index.ts +0 -2
  247. package/mat-avatar/ng-package.json +0 -6
  248. package/mat-avatar/src/onemrva-mat-avatar.component.html +0 -21
  249. package/mat-avatar/src/onemrva-mat-avatar.component.ts +0 -421
  250. package/mat-avatar/src/onemrva-mat-avatar.module.ts +0 -11
  251. package/mat-avatar/src/onemrva-mat.avatar.component.spec.ts +0 -54
  252. package/mat-badge/index.ts +0 -6
  253. package/mat-badge/ng-package.json +0 -6
  254. package/mat-badge/src/onemrva-mat-badge.component.scss +0 -157
  255. package/mat-badge/src/onemrva-mat-badge.component.ts +0 -331
  256. package/mat-badge/src/onemrva-mat-badge.module.ts +0 -8
  257. package/mat-breadcrumb/index.ts +0 -7
  258. package/mat-breadcrumb/ng-package.json +0 -6
  259. package/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.html +0 -37
  260. package/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.ts +0 -16
  261. package/mat-breadcrumb/src/onemrva-mat-breadcrumb.model.ts +0 -4
  262. package/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.ts +0 -12
  263. package/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.ts +0 -65
  264. package/mat-carousel/index.ts +0 -2
  265. package/mat-carousel/ng-package.json +0 -6
  266. package/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.html +0 -5
  267. package/mat-carousel/src/mat-carousel-item/onemrva-mat-carousel-item.component.ts +0 -27
  268. package/mat-carousel/src/onemrva-mat-carousel-item.directive.ts +0 -8
  269. package/mat-carousel/src/onemrva-mat-carousel.component.html +0 -43
  270. package/mat-carousel/src/onemrva-mat-carousel.component.ts +0 -160
  271. package/mat-copy-to-clipboard/index.ts +0 -1
  272. package/mat-copy-to-clipboard/ng-package.json +0 -6
  273. package/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.html +0 -14
  274. package/mat-copy-to-clipboard/src/components/copy-to-clipboard.component.ts +0 -76
  275. package/mat-datepicker-header/index.ts +0 -5
  276. package/mat-datepicker-header/ng-package.json +0 -6
  277. package/mat-datepicker-header/src/_onemrva-mat-datepicker-header.component.scss +0 -12
  278. package/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.html +0 -54
  279. package/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.ts +0 -283
  280. package/mat-file-upload/index.ts +0 -11
  281. package/mat-file-upload/ng-package.json +0 -6
  282. package/mat-file-upload/src/components/index.ts +0 -10
  283. package/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.html +0 -59
  284. package/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.ts +0 -79
  285. package/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.html +0 -58
  286. package/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.ts +0 -209
  287. package/mat-file-upload/src/directives/dnd.directive.ts +0 -41
  288. package/mat-file-upload/src/models/action-config.model.ts +0 -10
  289. package/mat-file-upload/src/models/progress-file.model.ts +0 -94
  290. package/mat-file-upload/src/onemrva-mat-file-upload-itf.store.ts +0 -79
  291. package/mat-file-upload/src/onemrva-mat-file-upload.module.ts +0 -28
  292. package/mat-file-upload/src/onemrva-mat-file-upload.service.ts +0 -68
  293. package/mat-file-upload/src/onemrva-mat-file-upload.store.ts +0 -482
  294. package/mat-input-bank-account/index.ts +0 -5
  295. package/mat-input-bank-account/ng-package.json +0 -6
  296. package/mat-input-bank-account/src/bank-account.component.html +0 -36
  297. package/mat-input-bank-account/src/bank-account.component.scss +0 -42
  298. package/mat-input-bank-account/src/bank-account.component.ts +0 -308
  299. package/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.html +0 -11
  300. package/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.scss +0 -14
  301. package/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.ts +0 -82
  302. package/mat-input-birthplace/index.ts +0 -5
  303. package/mat-input-birthplace/ng-package.json +0 -6
  304. package/mat-input-birthplace/src/country-item.component.html +0 -8
  305. package/mat-input-birthplace/src/country-item.component.ts +0 -33
  306. package/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.html +0 -28
  307. package/mat-input-birthplace/src/onemrva-mat-input-birthplace.component.ts +0 -129
  308. package/mat-input-country/index.ts +0 -6
  309. package/mat-input-country/ng-package.json +0 -6
  310. package/mat-input-country/src/countries.ts +0 -3198
  311. package/mat-input-country/src/onemrva-mat-input-country.component.html +0 -25
  312. package/mat-input-country/src/onemrva-mat-input-country.component.ts +0 -152
  313. package/mat-input-enterprise-number/index.ts +0 -5
  314. package/mat-input-enterprise-number/ng-package.json +0 -6
  315. package/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.html +0 -42
  316. package/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.ts +0 -212
  317. package/mat-input-phone/index.ts +0 -6
  318. package/mat-input-phone/ng-package.json +0 -6
  319. package/mat-input-phone/src/onemrva-mat-input-phone.component.html +0 -47
  320. package/mat-input-phone/src/onemrva-mat-input-phone.component.ts +0 -274
  321. package/mat-input-phone/src/phone-number.directive.ts +0 -46
  322. package/mat-message-box/index.ts +0 -2
  323. package/mat-message-box/ng-package.json +0 -6
  324. package/mat-message-box/src/onemrva-mat-message-box.component.html +0 -3
  325. package/mat-message-box/src/onemrva-mat-message-box.component.ts +0 -172
  326. package/mat-message-box/src/onemrva-mat-message-box.module.ts +0 -12
  327. package/mat-multi-select/index.ts +0 -2
  328. package/mat-multi-select/ng-package.json +0 -6
  329. package/mat-multi-select/src/_onemrva-mat-multi-select.component.scss +0 -66
  330. package/mat-multi-select/src/onemrva-mat-multi-select.component.html +0 -44
  331. package/mat-multi-select/src/onemrva-mat-multi-select.component.ts +0 -194
  332. package/mat-multi-select/src/onemrva-mat-multi-select.module.ts +0 -27
  333. package/mat-multi-select/src/onemrva-mat-select-counter.component.ts +0 -0
  334. package/mat-notification/index.ts +0 -1
  335. package/mat-notification/ng-package.json +0 -6
  336. package/mat-notification/src/_onemrva-mat-notification.component.scss +0 -102
  337. package/mat-notification/src/onemrva-mat-notification.component.html +0 -15
  338. package/mat-notification/src/onemrva-mat-notification.component.ts +0 -158
  339. package/mat-paginator/index.ts +0 -6
  340. package/mat-paginator/ng-package.json +0 -6
  341. package/mat-paginator/src/_onemrva-mat-paginator.component.scss +0 -122
  342. package/mat-paginator/src/onemrva-mat-paginator.component.html +0 -108
  343. package/mat-paginator/src/onemrva-mat-paginator.component.spec.ts +0 -184
  344. package/mat-paginator/src/onemrva-mat-paginator.component.ts +0 -216
  345. package/mat-paginator/src/onemrva-mat-paginator.module.ts +0 -21
  346. package/mat-panel/index.ts +0 -6
  347. package/mat-panel/ng-package.json +0 -6
  348. package/mat-panel/src/onemrva-mat-panel-content.component.ts +0 -11
  349. package/mat-panel/src/onemrva-mat-panel-content.html +0 -5
  350. package/mat-panel/src/onemrva-mat-panel-icon.component.ts +0 -11
  351. package/mat-panel/src/onemrva-mat-panel-icon.html +0 -5
  352. package/mat-panel/src/onemrva-mat-panel-title-action.component.ts +0 -11
  353. package/mat-panel/src/onemrva-mat-panel-title-action.html +0 -5
  354. package/mat-panel/src/onemrva-mat-panel-title.component.ts +0 -29
  355. package/mat-panel/src/onemrva-mat-panel-title.html +0 -8
  356. package/mat-panel/src/onemrva-mat-panel.component.html +0 -10
  357. package/mat-panel/src/onemrva-mat-panel.component.ts +0 -122
  358. package/mat-panel/src/onemrva-mat-panel.module.ts +0 -26
  359. package/mat-pop-over/index.ts +0 -4
  360. package/mat-pop-over/ng-package.json +0 -6
  361. package/mat-pop-over/src/onemrva-mat-pop-over-content.component.ts +0 -13
  362. package/mat-pop-over/src/onemrva-mat-pop-over-trigger.component.ts +0 -13
  363. package/mat-pop-over/src/onemrva-mat-pop-over.component.html +0 -29
  364. package/mat-pop-over/src/onemrva-mat-pop-over.component.ts +0 -46
  365. package/mat-pop-over/src/onemrva-mat-pop-over.module.ts +0 -19
  366. package/mat-progress-bar/index.ts +0 -1
  367. package/mat-progress-bar/ng-package.json +0 -6
  368. package/mat-progress-bar/src/_onemrva-mat-progress-bar-mixin.component.scss +0 -37
  369. package/mat-progress-bar/src/onemrva-mat-progress-bar.component.html +0 -13
  370. package/mat-progress-bar/src/onemrva-mat-progress-bar.component.ts +0 -27
  371. package/mat-select-search/index.ts +0 -3
  372. package/mat-select-search/ng-package.json +0 -6
  373. package/mat-select-search/src/default-options.ts +0 -48
  374. package/mat-select-search/src/mat-select-no-entries-found.directive.ts +0 -15
  375. package/mat-select-search/src/mat-select-search-clear.directive.ts +0 -13
  376. package/mat-select-search/src/mat-select-search.component.html +0 -82
  377. package/mat-select-search/src/mat-select-search.component.spec.ts +0 -790
  378. package/mat-select-search/src/mat-select-search.component.ts +0 -705
  379. package/mat-select-search/src/mat-select-search.module.ts +0 -52
  380. package/mat-selectable-box/index.ts +0 -6
  381. package/mat-selectable-box/ng-package.json +0 -6
  382. package/mat-selectable-box/src/onemrva-mat-selectable-box.component.ts +0 -99
  383. package/mat-selectable-box/src/onemrva-mat-selectable-box.module.ts +0 -30
  384. package/mat-side-menu/index.ts +0 -6
  385. package/mat-side-menu/ng-package.json +0 -6
  386. package/mat-side-menu/src/onemrva-mat-side-menu.component.html +0 -36
  387. package/mat-side-menu/src/onemrva-mat-side-menu.component.spec.ts +0 -66
  388. package/mat-side-menu/src/onemrva-mat-side-menu.component.ts +0 -58
  389. package/mat-side-menu/src/onemrva-mat-side-menu.module.ts +0 -14
  390. package/mat-skeleton/index.ts +0 -3
  391. package/mat-skeleton/ng-package.json +0 -6
  392. package/mat-skeleton/src/onemrva-mat-skeleton-enums.ts +0 -32
  393. package/mat-skeleton/src/onemrva-mat-skeleton.component.html +0 -14
  394. package/mat-skeleton/src/onemrva-mat-skeleton.component.ts +0 -187
  395. package/mat-skeleton/src/onemrva-mat-skeleton.module.ts +0 -10
  396. package/mat-spinner/index.ts +0 -7
  397. package/mat-spinner/ng-package.json +0 -6
  398. package/mat-spinner/src/_onemrva-mat-spinner.component.scss +0 -151
  399. package/mat-spinner/src/onemrva-mat-loading.directive.ts +0 -41
  400. package/mat-spinner/src/onemrva-mat-spinner.component.html +0 -2138
  401. package/mat-spinner/src/onemrva-mat-spinner.component.ts +0 -52
  402. package/mat-spinner/src/onemrva-mat-spinner.module.ts +0 -10
  403. package/mat-stepper/index.ts +0 -6
  404. package/mat-stepper/ng-package.json +0 -6
  405. package/mat-stepper/src/_stepper-variables.scss +0 -29
  406. package/mat-stepper/src/onemrva-mat-stepper.component.spec.ts +0 -22
  407. package/mat-stepper/src/onemrva-mat-stepper.component.ts +0 -57
  408. package/mat-stepper/src/onemrva-mat-stepper.html +0 -61
  409. package/mat-stepper/src/onemrva-mat-stepper.module.ts +0 -24
  410. package/mat-stepper/src/onemrva-stepper-animations.ts +0 -42
  411. package/mat-sticker/index.ts +0 -6
  412. package/mat-sticker/ng-package.json +0 -6
  413. package/mat-sticker/src/onemrva-mat-sticker.component.spec.ts +0 -16
  414. package/mat-sticker/src/onemrva-mat-sticker.component.ts +0 -58
  415. package/mat-sticker/src/onemrva-mat-sticker.module.ts +0 -10
  416. package/mat-table-of-content/index.ts +0 -8
  417. package/mat-table-of-content/ng-package.json +0 -6
  418. package/mat-table-of-content/src/_onemrva-mat-table-of-content.component.scss +0 -79
  419. package/mat-table-of-content/src/onemrva-mat-table-of-content.component.html +0 -23
  420. package/mat-table-of-content/src/onemrva-mat-table-of-content.component.ts +0 -126
  421. package/mat-table-of-content/src/onemrva-mat-table-of-content.directive.ts +0 -67
  422. package/mat-table-of-content/src/onemrva-mat-table-of-content.service.ts +0 -51
  423. package/mat-table-of-content/src/onemrva-mat-toc-anchor.model.ts +0 -24
  424. package/mat-task-list/index.ts +0 -5
  425. package/mat-task-list/ng-package.json +0 -6
  426. package/mat-task-list/src/onemrva-mat-task-content.component.ts +0 -11
  427. package/mat-task-list/src/onemrva-mat-task-content.html +0 -5
  428. package/mat-task-list/src/onemrva-mat-task-list.component.html +0 -1
  429. package/mat-task-list/src/onemrva-mat-task-list.component.ts +0 -39
  430. package/mat-task-list/src/onemrva-mat-task-list.module.ts +0 -31
  431. package/mat-task-list/src/onemrva-mat-task-title.component.ts +0 -24
  432. package/mat-task-list/src/onemrva-mat-task-title.html +0 -5
  433. package/mat-task-list/src/onemrva-mat-task.component.html +0 -23
  434. package/mat-task-list/src/onemrva-mat-task.component.ts +0 -121
  435. package/mat-timepicker/index.ts +0 -6
  436. package/mat-timepicker/ng-package.json +0 -6
  437. package/mat-timepicker/src/clock/clock.component.html +0 -109
  438. package/mat-timepicker/src/clock/clock.component.spec.ts +0 -38
  439. package/mat-timepicker/src/clock/clock.component.ts +0 -274
  440. package/mat-timepicker/src/interfaces-and-types.ts +0 -18
  441. package/mat-timepicker/src/onemrva-mat-timepicker.component.html +0 -0
  442. package/mat-timepicker/src/onemrva-mat-timepicker.component.ts +0 -300
  443. package/mat-timepicker/src/onemrva-mat-timepicker.module.ts +0 -40
  444. package/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.html +0 -53
  445. package/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.spec.ts +0 -41
  446. package/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.ts +0 -176
  447. package/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.html +0 -15
  448. package/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.ts +0 -140
  449. package/mat-timepicker/src/timepicker.directive.ts +0 -596
  450. package/mat-timepicker/src/util.ts +0 -109
  451. package/mat-toast/index.ts +0 -6
  452. package/mat-toast/ng-package.json +0 -6
  453. package/mat-toast/src/onemrva-mat-toast.component.ts +0 -36
  454. package/mat-toast/src/onemrva-mat-toast.module.ts +0 -11
  455. package/mat-tooltip/index.ts +0 -4
  456. package/mat-tooltip/ng-package.json +0 -6
  457. package/mat-tooltip/src/onemrva-mat-tooltip.component.ts +0 -21
  458. package/mat-tooltip/src/onemrva-mat-tooltip.directive.ts +0 -123
  459. package/mat-tooltip/src/onemrva-mat-tooltip.module.ts +0 -11
  460. package/ng-package.json +0 -25
  461. package/npm-shrinkwrap.json +0 -30
  462. package/page-not-found/index.ts +0 -5
  463. package/page-not-found/ng-package.json +0 -6
  464. package/page-not-found/src/page-not-found-action.component.ts +0 -9
  465. package/page-not-found/src/page-not-found-extra.component.ts +0 -9
  466. package/page-not-found/src/page-not-found-invader.component.ts +0 -93
  467. package/page-not-found/src/page-not-found.component.html +0 -47
  468. package/page-not-found/src/page-not-found.component.ts +0 -60
  469. package/page-not-found/src/page-not-found.module.ts +0 -24
  470. package/shared/index.ts +0 -17
  471. package/shared/ng-package.json +0 -6
  472. package/shared/src/lib/OnemrvaDateAdapter.ts +0 -78
  473. package/shared/src/lib/components/clipboard-icon/clipboard-icon.component.css +0 -0
  474. package/shared/src/lib/components/clipboard-icon/clipboard-icon.component.html +0 -1
  475. package/shared/src/lib/components/clipboard-icon/clipboard-icon.component.spec.ts +0 -21
  476. package/shared/src/lib/components/clipboard-icon/clipboard-icon.component.ts +0 -18
  477. package/shared/src/lib/containers/WebComponentOverlayContainer.ts +0 -90
  478. package/shared/src/lib/containers/index.ts +0 -1
  479. package/shared/src/lib/date.format.ts +0 -11
  480. package/shared/src/lib/directives/clipboard.directive.ts +0 -52
  481. package/shared/src/lib/directives/color.directive.ts +0 -46
  482. package/shared/src/lib/directives/digit-only.directive.ts +0 -46
  483. package/shared/src/lib/directives/if-width-is.directive.ts +0 -39
  484. package/shared/src/lib/directives/index.ts +0 -22
  485. package/shared/src/lib/directives/mask.directive.ts +0 -223
  486. package/shared/src/lib/directives/mat-row-clickable.directive.ts +0 -66
  487. package/shared/src/lib/interfaces/OnemRvaCommonCountry.interface.ts +0 -23
  488. package/shared/src/lib/interfaces/index.ts +0 -1
  489. package/shared/src/lib/pipes/index.ts +0 -2
  490. package/shared/src/lib/pipes/onemrva-bce.pipe.ts +0 -18
  491. package/shared/src/lib/pipes/onemrva-niss.pipe.ts +0 -18
  492. package/shared/src/lib/services/commonCountryLookup.service.ts +0 -50
  493. package/shared/src/lib/services/index.ts +0 -1
  494. package/shared/src/lib/shared.datepicker.module.ts +0 -60
  495. package/shared/src/lib/shared.module.ts +0 -10
  496. package/shared/src/lib/validators/bankAccountValidator.utils.ts +0 -61
  497. package/shared/src/lib/validators/onemrva-validators.spec.ts +0 -79
  498. package/shared/src/lib/validators/onemrva-validators.ts +0 -97
  499. package/shared/src/onemrva-validators.spec.ts +0 -14
  500. package/src/polyfills.ts +0 -52
  501. package/src/public-api.spec.ts +0 -7
  502. package/src/public-api.ts +0 -5
  503. package/tsconfig.lib.json +0 -12
  504. package/tsconfig.lib.prod.json +0 -10
  505. package/tsconfig.spec.json +0 -10
  506. package/utils/index.ts +0 -2
  507. package/utils/ng-package.json +0 -6
  508. package/utils/src/enum.utils.ts +0 -8
  509. package/utils/src/enums/color.enum.ts +0 -14
  510. package/utils/src/enums/index.ts +0 -2
  511. package/utils/src/enums/size.enum.ts +0 -11
  512. /package/{assets/.gitkeep → mat-navigation/src/mat-navigation-tree/onemrva-mat-navigation-tree.component.scss} +0 -0
@@ -0,0 +1,225 @@
1
+ import * as i0 from '@angular/core';
2
+ import { QueryList, inject, ChangeDetectorRef, forwardRef, HostBinding, ContentChildren, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { FormControl, ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { MatFormFieldControl } from '@angular/material/form-field';
6
+ import { TranslateService, TranslatePipe } from '@ngx-translate/core';
7
+ import { MatOption } from '@angular/material/core';
8
+ import { Subject, debounceTime, startWith, map, takeUntil } from 'rxjs';
9
+ import { NgClass, AsyncPipe } from '@angular/common';
10
+ import { MatIcon } from '@angular/material/icon';
11
+ import * as i2 from '@angular/material/select';
12
+ import { MatSelectModule } from '@angular/material/select';
13
+ import { MatSelectSearchComponent } from '@onemrvapublic/design-system/mat-select-search';
14
+
15
+ let NEXT_ID = 0;
16
+ class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
17
+ get opacity() {
18
+ return this.disabled ? 0.4 : 1;
19
+ }
20
+ onFocus() {
21
+ this.focused = true;
22
+ this.stateChanges.next();
23
+ }
24
+ onBlur() {
25
+ this.focused = false;
26
+ this.stateChanges.next();
27
+ }
28
+ constructor() {
29
+ super();
30
+ this.counter = 0;
31
+ this._values = [];
32
+ this.stateChanges = new Subject();
33
+ this.multiple = true;
34
+ // eslint-disable-next-line @angular-eslint/no-input-rename
35
+ this.role = 'select';
36
+ // eslint-disable-next-line @angular-eslint/no-input-rename
37
+ this.label = '';
38
+ // eslint-disable-next-line @angular-eslint/no-input-rename
39
+ this.invalid = false;
40
+ this.showFilter = true;
41
+ this.selectionToggle = true;
42
+ // eslint-disable-next-line @angular-eslint/no-input-rename
43
+ this.dataCy = `onemrva-mat-multi-select-${NEXT_ID++}`;
44
+ this.searchFilter = new FormControl('');
45
+ this.matOptions = new QueryList();
46
+ this.onDestroy$ = new Subject();
47
+ this.focused = false;
48
+ this.translate = inject(TranslateService);
49
+ this.cd = inject(ChangeDetectorRef);
50
+ // Function to call when the rating changes.
51
+ this.onChange = (_values) => {
52
+ //
53
+ };
54
+ // Function to call when the input is touched (when a star is clicked).
55
+ this.onTouched = () => {
56
+ //
57
+ };
58
+ this.optionSize = 0;
59
+ setTimeout(() => {
60
+ this.focused = false;
61
+ }, 3000);
62
+ }
63
+ // Allows Angular to update the model (rating).
64
+ // Update the model and changes needed for the view here.
65
+ writeValue(values) {
66
+ if (this.multiple) {
67
+ this.counter = 0;
68
+ if (Array.isArray(values))
69
+ this.counter = values.length;
70
+ //else if (Array.isArray(this._values)) this.counter = this._values.length;
71
+ }
72
+ this._values = values;
73
+ this.onChange(this._values);
74
+ }
75
+ // Allows Angular to register a function to call when the model (rating) changes.
76
+ // Save the function as a property to call later here.
77
+ registerOnChange(fn) {
78
+ this.onChange = fn;
79
+ }
80
+ // Allows Angular to register a function to call when the input has been touched.
81
+ // Save the function as a property to call later here.
82
+ registerOnTouched(fn) {
83
+ this.onTouched = fn;
84
+ }
85
+ isAllSelected() {
86
+ return this.counter === this.matOptions.length;
87
+ }
88
+ selectAll() {
89
+ this._values = this.matOptions.map(option => {
90
+ return option.value;
91
+ });
92
+ this.formControl.setValue(this._values);
93
+ }
94
+ isNoneSelected() {
95
+ return this.counter === 0;
96
+ }
97
+ deselectAll(_$event) {
98
+ this._values = [];
99
+ this.formControl.setValue(this._values);
100
+ }
101
+ onContainerClick(_event) {
102
+ //
103
+ }
104
+ setDescribedByIds(_ids) {
105
+ //
106
+ }
107
+ ngOnDestroy() {
108
+ this.onDestroy$.next('');
109
+ this.onDestroy$.complete();
110
+ }
111
+ ngOnInit() {
112
+ this.matOptions$ = this.searchFilter.valueChanges.pipe(debounceTime(200), startWith(''), map((value) => {
113
+ this.optionSize = this.matOptions.length;
114
+ if (this._values !== null) {
115
+ this.counter = this._values.length;
116
+ }
117
+ if (value === '') {
118
+ return this.matOptions.filter(_o => {
119
+ return true;
120
+ });
121
+ }
122
+ return this.matOptions.filter(option => {
123
+ return option?._text?.nativeElement.innerHTML
124
+ .toLowerCase()
125
+ .includes(value.toLowerCase());
126
+ });
127
+ }));
128
+ this.formControl.valueChanges
129
+ .pipe(takeUntil(this.onDestroy$))
130
+ .subscribe(values => {
131
+ this._values = values;
132
+ this.counter = this._values.length;
133
+ });
134
+ }
135
+ ngAfterContentChecked() {
136
+ if (this.matOptions.length !== this.optionSize) {
137
+ this.optionSize = this.matOptions.length;
138
+ this.counter = 0;
139
+ this.searchFilter.updateValueAndValidity({ emitEvent: true });
140
+ }
141
+ }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatMultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: OnemrvaMatMultiSelectComponent, isStandalone: true, selector: "onemrva-mat-multi-select", inputs: { multiple: "multiple", formControl: "formControl", role: ["attr.role", "role"], label: ["attr.aria-label", "label"], invalid: ["attr.aria-invalid", "invalid"], showFilter: "showFilter", selectionToggle: "selectionToggle", dataCy: ["attr.data-cy", "dataCy"] }, host: { properties: { "style.opacity": "this.opacity" } }, providers: [
144
+ {
145
+ provide: MatFormFieldControl,
146
+ useExisting: OnemrvaMatMultiSelectComponent,
147
+ multi: false,
148
+ },
149
+ {
150
+ provide: NG_VALUE_ACCESSOR,
151
+ useExisting: forwardRef(() => OnemrvaMatMultiSelectComponent),
152
+ multi: true,
153
+ },
154
+ ], queries: [{ propertyName: "matOptions", predicate: MatOption }], usesInheritance: true, ngImport: i0, template: "<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n>\n @if (multiple && selectionToggle) {\n <div class=\"selection-choice text-right\">\n <a\n tabindex=\"1\"\n [ngClass]=\"{ 'mat-disabled': isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"separator\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n [ngClass]=\"{ 'mat-disabled': isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n }\n <div class=\"option-list\">\n @if (showFilter) {\n <mat-option>\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n }\n @for (matOption of matOptions$ | async; track matOption.value) {\n <ng-container>\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.textContent }}\n </mat-option>\n </ng-container>\n }\n </div>\n</mat-select>\n@if (multiple && counter > 0) {\n <div class=\"mat-select-counter float-right position-absolute text-center\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n </div>\n}\n", styles: [":host{display:inline-block;width:100%}:host .mat-select-counter{top:var(--spacer);right:var(--triple-spacer);display:block;padding:var(--quarter-spacer) var(--half-spacer) var(--quarter-spacer) var(--spacer);background:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container);min-width:var(--triple-spacer);font-family:var(--brand-font);border:1px solid var(--mat-sys-primary);border-radius:var(--button-border-radius)}:host .mat-select-counter span.text{font-family:var(--sys-label-large-font);font-style:normal;font-weight:500;font-size:.75rem;line-height:1.25rem}:host .mat-select-counter mat-icon{font-size:.75rem;height:.75rem;width:.75rem;line-height:1rem;padding:0 var(--quarter-spacer) 0 var(--quarter-spacer);cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
155
+ }
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatMultiSelectComponent, decorators: [{
157
+ type: Component,
158
+ args: [{ selector: 'onemrva-mat-multi-select', providers: [
159
+ {
160
+ provide: MatFormFieldControl,
161
+ useExisting: OnemrvaMatMultiSelectComponent,
162
+ multi: false,
163
+ },
164
+ {
165
+ provide: NG_VALUE_ACCESSOR,
166
+ useExisting: forwardRef(() => OnemrvaMatMultiSelectComponent),
167
+ multi: true,
168
+ },
169
+ ], imports: [
170
+ NgClass,
171
+ TranslatePipe,
172
+ ReactiveFormsModule,
173
+ MatSelectModule,
174
+ AsyncPipe,
175
+ MatIcon,
176
+ MatSelectSearchComponent,
177
+ ], standalone: true, encapsulation: ViewEncapsulation.Emulated, template: "<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n>\n @if (multiple && selectionToggle) {\n <div class=\"selection-choice text-right\">\n <a\n tabindex=\"1\"\n [ngClass]=\"{ 'mat-disabled': isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"separator\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n [ngClass]=\"{ 'mat-disabled': isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n }\n <div class=\"option-list\">\n @if (showFilter) {\n <mat-option>\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n }\n @for (matOption of matOptions$ | async; track matOption.value) {\n <ng-container>\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.textContent }}\n </mat-option>\n </ng-container>\n }\n </div>\n</mat-select>\n@if (multiple && counter > 0) {\n <div class=\"mat-select-counter float-right position-absolute text-center\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n </div>\n}\n", styles: [":host{display:inline-block;width:100%}:host .mat-select-counter{top:var(--spacer);right:var(--triple-spacer);display:block;padding:var(--quarter-spacer) var(--half-spacer) var(--quarter-spacer) var(--spacer);background:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container);min-width:var(--triple-spacer);font-family:var(--brand-font);border:1px solid var(--mat-sys-primary);border-radius:var(--button-border-radius)}:host .mat-select-counter span.text{font-family:var(--sys-label-large-font);font-style:normal;font-weight:500;font-size:.75rem;line-height:1.25rem}:host .mat-select-counter mat-icon{font-size:.75rem;height:.75rem;width:.75rem;line-height:1rem;padding:0 var(--quarter-spacer) 0 var(--quarter-spacer);cursor:pointer}\n"] }]
178
+ }], ctorParameters: () => [], propDecorators: { multiple: [{
179
+ type: Input
180
+ }], formControl: [{
181
+ type: Input
182
+ }], role: [{
183
+ type: Input,
184
+ args: ['attr.role']
185
+ }], label: [{
186
+ type: Input,
187
+ args: ['attr.aria-label']
188
+ }], invalid: [{
189
+ type: Input,
190
+ args: ['attr.aria-invalid']
191
+ }], showFilter: [{
192
+ type: Input
193
+ }], selectionToggle: [{
194
+ type: Input
195
+ }], dataCy: [{
196
+ type: Input,
197
+ args: ['attr.data-cy']
198
+ }], matOptions: [{
199
+ type: ContentChildren,
200
+ args: [MatOption]
201
+ }], opacity: [{
202
+ type: HostBinding,
203
+ args: ['style.opacity']
204
+ }] } });
205
+
206
+ class OnemrvaMatMultiSelectModule {
207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatMultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
208
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatMultiSelectModule, imports: [OnemrvaMatMultiSelectComponent] }); }
209
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatMultiSelectModule, imports: [OnemrvaMatMultiSelectComponent] }); }
210
+ }
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatMultiSelectModule, decorators: [{
212
+ type: NgModule,
213
+ args: [{
214
+ declarations: [],
215
+ imports: [OnemrvaMatMultiSelectComponent],
216
+ exports: [],
217
+ }]
218
+ }] });
219
+
220
+ /**
221
+ * Generated bundle index. Do not edit.
222
+ */
223
+
224
+ export { OnemrvaMatMultiSelectComponent, OnemrvaMatMultiSelectModule };
225
+ //# sourceMappingURL=onemrvapublic-design-system-mat-multi-select.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-multi-select.mjs","sources":["../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.component.ts","../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.component.html","../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.module.ts","../../../../projects/onemrva/design-system/mat-multi-select/onemrvapublic-design-system-mat-multi-select.ts"],"sourcesContent":["import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n FormControl,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { MatOption } from '@angular/material/core';\nimport {\n debounceTime,\n map,\n Observable,\n startWith,\n Subject,\n takeUntil,\n} from 'rxjs';\nimport { AsyncPipe, NgClass } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSelectSearchComponent } from '@onemrvapublic/design-system/mat-select-search';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'onemrva-mat-multi-select',\n templateUrl: 'onemrva-mat-multi-select.component.html',\n styleUrl: 'onemrva-mat-multi-select.component.scss',\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: OnemrvaMatMultiSelectComponent,\n multi: false,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnemrvaMatMultiSelectComponent),\n multi: true,\n },\n ],\n imports: [\n NgClass,\n TranslatePipe,\n ReactiveFormsModule,\n MatSelectModule,\n AsyncPipe,\n MatIcon,\n MatSelectSearchComponent,\n ],\n standalone: true,\n encapsulation: ViewEncapsulation.Emulated,\n})\nexport class OnemrvaMatMultiSelectComponent\n extends MatFormFieldControl<any>\n implements OnInit, OnDestroy, AfterContentChecked\n{\n counter = 0;\n _values: any[] = [];\n public override stateChanges = new Subject<void>();\n\n @Input()\n multiple = true;\n\n @Input()\n formControl!: FormControl;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.role')\n public role = 'select';\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.aria-label')\n public label = '';\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.aria-invalid')\n public invalid = false;\n\n @Input()\n showFilter = true;\n\n @Input()\n selectionToggle = true;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.data-cy')\n public dataCy = `onemrva-mat-multi-select-${NEXT_ID++}`;\n\n searchFilter: FormControl = new FormControl<string>('');\n\n @ContentChildren(MatOption)\n matOptions: QueryList<MatOption> = new QueryList<MatOption>();\n matOptions$?: Observable<MatOption<any>[]>;\n onDestroy$: Subject<any> = new Subject<any>();\n\n @HostBinding('style.opacity')\n get opacity() {\n return this.disabled ? 0.4 : 1;\n }\n\n override focused = false;\n\n onFocus() {\n this.focused = true;\n this.stateChanges.next();\n }\n\n onBlur() {\n this.focused = false;\n this.stateChanges.next();\n }\n\n translate = inject(TranslateService);\n cd = inject(ChangeDetectorRef);\n\n constructor() {\n super();\n setTimeout(() => {\n this.focused = false;\n }, 3000);\n }\n\n // Function to call when the rating changes.\n onChange = (_values: any[]) => {\n //\n };\n\n // Function to call when the input is touched (when a star is clicked).\n onTouched = () => {\n //\n };\n\n // Allows Angular to update the model (rating).\n // Update the model and changes needed for the view here.\n writeValue(values: any[] | any | undefined | null): void {\n if (this.multiple) {\n this.counter = 0;\n if (Array.isArray(values)) this.counter = values.length;\n //else if (Array.isArray(this._values)) this.counter = this._values.length;\n }\n this._values = values;\n this.onChange(this._values);\n }\n\n // Allows Angular to register a function to call when the model (rating) changes.\n // Save the function as a property to call later here.\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n // Allows Angular to register a function to call when the input has been touched.\n // Save the function as a property to call later here.\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n isAllSelected() {\n return this.counter === this.matOptions.length;\n }\n\n selectAll() {\n this._values = this.matOptions.map(option => {\n return option.value;\n });\n this.formControl.setValue(this._values);\n }\n\n isNoneSelected() {\n return this.counter === 0;\n }\n\n deselectAll(_$event: MouseEvent) {\n this._values = [];\n this.formControl.setValue(this._values);\n }\n\n onContainerClick(_event: MouseEvent): void {\n //\n }\n\n setDescribedByIds(_ids: string[]): void {\n //\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next('');\n this.onDestroy$.complete();\n }\n\n optionSize = 0;\n\n ngOnInit(): void {\n this.matOptions$ = this.searchFilter.valueChanges.pipe(\n debounceTime(200),\n startWith(''),\n map((value: string) => {\n this.optionSize = this.matOptions.length;\n if (this._values !== null) {\n this.counter = this._values.length;\n }\n if (value === '') {\n return this.matOptions.filter(_o => {\n return true;\n });\n }\n return this.matOptions.filter(option => {\n return option?._text?.nativeElement.innerHTML\n .toLowerCase()\n .includes(value.toLowerCase());\n });\n }),\n );\n this.formControl.valueChanges\n .pipe(takeUntil(this.onDestroy$))\n .subscribe(values => {\n this._values = values;\n this.counter = this._values.length;\n });\n }\n\n ngAfterContentChecked(): void {\n if (this.matOptions.length !== this.optionSize) {\n this.optionSize = this.matOptions.length;\n this.counter = 0;\n this.searchFilter.updateValueAndValidity({ emitEvent: true });\n }\n }\n}\n","<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n>\n @if (multiple && selectionToggle) {\n <div class=\"selection-choice text-right\">\n <a\n tabindex=\"1\"\n [ngClass]=\"{ 'mat-disabled': isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"separator\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n [ngClass]=\"{ 'mat-disabled': isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n }\n <div class=\"option-list\">\n @if (showFilter) {\n <mat-option>\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n }\n @for (matOption of matOptions$ | async; track matOption.value) {\n <ng-container>\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.textContent }}\n </mat-option>\n </ng-container>\n }\n </div>\n</mat-select>\n@if (multiple && counter > 0) {\n <div class=\"mat-select-counter float-right position-absolute text-center\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { OnemrvaMatMultiSelectComponent } from './onemrva-mat-multi-select.component';\n\n@NgModule({\n declarations: [],\n imports: [OnemrvaMatMultiSelectComponent],\n exports: [],\n})\nexport class OnemrvaMatMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, ChangeDetectorRef, HostBinding, ViewChild, Input, ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';
3
+ import { RouterLinkActive, RouterLink, Router, NavigationEnd } from '@angular/router';
4
+ import { filter } from 'rxjs/operators';
5
+ import { MatIcon } from '@angular/material/icon';
6
+ import { MatExpansionPanel } from '@angular/material/expansion';
7
+ import { NgClass } from '@angular/common';
8
+ import { TranslatePipe } from '@ngx-translate/core';
9
+
10
+ class OnemrvaMatNavigationItemComponent {
11
+ constructor() {
12
+ this.label = '';
13
+ this.level = 0;
14
+ this.translate = true;
15
+ this.isExpanded = false;
16
+ this.cd = inject(ChangeDetectorRef);
17
+ }
18
+ get isHighlighted() {
19
+ return this.highlighted;
20
+ }
21
+ get isHighlighted2() {
22
+ return !this.highlighted && this.isExpanded;
23
+ }
24
+ get indentArray() {
25
+ return Array(this.level).fill(0);
26
+ }
27
+ ngAfterViewInit() {
28
+ this.matExpansionPanel?.afterCollapse.subscribe(() => {
29
+ this.highlighted = false;
30
+ this.isExpanded = false;
31
+ this.cd.markForCheck();
32
+ });
33
+ this.matExpansionPanel?.afterExpand.subscribe(() => {
34
+ this.isExpanded = true;
35
+ this.cd.markForCheck();
36
+ });
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: OnemrvaMatNavigationItemComponent, isStandalone: true, selector: "onemrva-mat-navigation-item", inputs: { routerLink: "routerLink", routerLinkActiveOptions: "routerLinkActiveOptions", dataCy: "dataCy", baseRouteForActiveMenu: "baseRouteForActiveMenu", label: "label", icon: "icon", level: "level", highlighted: "highlighted", opened: "opened", children: "children", customNgClass: "customNgClass", translate: "translate" }, host: { properties: { "class.highlighted": "this.isHighlighted", "class.highlighted2": "this.isHighlighted2" } }, viewQueries: [{ propertyName: "matExpansionPanel", first: true, predicate: MatExpansionPanel, descendants: true }], ngImport: i0, template: "@if (routerLink) {\n <button\n [routerLink]=\"routerLink\"\n [attr.data-cy]=\"dataCy\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n @for (indent of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n @if (icon) {\n <mat-icon>{{ icon }}</mat-icon>\n }\n @if (translate && label.trim() !== '') {\n <span [innerHTML]=\"label | translate\"></span>\n } @else {\n <span [innerHTML]=\"label\"></span>\n }\n </button>\n} @else {\n <button\n [ngClass]=\"{ 'mobile-menu-item': true, highlighted: highlighted === true }\"\n [attr.data-cy]=\"dataCy\"\n (click)=\"subMenu.toggle()\"\n >\n @for (indent of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n\n @if (icon) {\n <mat-icon>{{ icon }}</mat-icon>\n }\n\n @if (translate && label.trim() !== '') {\n <span [innerHTML]=\"label | translate\"></span>\n } @else {\n <span [innerHTML]=\"label\"></span>\n }\n\n <mat-icon [ngClass]=\"{ end: true, opened: subMenu.expanded }\"\n >arrow_drop_down</mat-icon\n >\n </button>\n <mat-expansion-panel #subMenu [expanded]=\"opened\">\n <ng-content></ng-content>\n </mat-expansion-panel>\n}\n", styles: [":host.highlighted2 .mobile-menu-item{transition:border-left .4s ease;border-left:.5rem solid var(--mat-sys-tertiary-container)}:host.highlighted .mobile-menu-item{transition:border-left .4s ease;border-left:.5rem solid var(--mat-sys-tertiary)}:host .mobile-menu-item{display:flex;width:100%;background:var(--mat-sys-background);padding:var(--double-spacer) var(--quad-spacer);border:none;box-shadow:none;align-items:center;text-align:left;cursor:pointer;font:var(--mat-sys-body-medium);text-decoration:none;color:var(--mat-sys-on-surface);border-left:.5rem solid transparent}:host .mobile-menu-item.active button{border-left:.5rem solid var(--mat-sys-tertiary);font-weight:600;background:var(--mat-sys-surface-container-low)}:host .mobile-menu-item.active button mat-icon{font-variation-settings:\"FILL\" 1,\"wght\" 600,\"GRAD\" 0,\"opsz\" 24}:host .mobile-menu-item:hover,:host .mobile-menu-item:focus{background:var(--mat-sys-surface-container-low)}:host .mobile-menu-item mat-icon{margin-left:-4px;margin-right:var(--spacer);transition:transform .3s ease}:host .mobile-menu-item mat-icon.opened{transform:rotate(180deg)}:host .mobile-menu-item mat-icon.end{margin-left:auto}:host .mobile-menu-item .indent-spacer{width:var(--double-spacer);flex-shrink:0}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatNavigationItemComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'onemrva-mat-navigation-item', imports: [
44
+ MatIcon,
45
+ RouterLinkActive,
46
+ RouterLink,
47
+ MatExpansionPanel,
48
+ NgClass,
49
+ TranslatePipe,
50
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (routerLink) {\n <button\n [routerLink]=\"routerLink\"\n [attr.data-cy]=\"dataCy\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n @for (indent of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n @if (icon) {\n <mat-icon>{{ icon }}</mat-icon>\n }\n @if (translate && label.trim() !== '') {\n <span [innerHTML]=\"label | translate\"></span>\n } @else {\n <span [innerHTML]=\"label\"></span>\n }\n </button>\n} @else {\n <button\n [ngClass]=\"{ 'mobile-menu-item': true, highlighted: highlighted === true }\"\n [attr.data-cy]=\"dataCy\"\n (click)=\"subMenu.toggle()\"\n >\n @for (indent of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n\n @if (icon) {\n <mat-icon>{{ icon }}</mat-icon>\n }\n\n @if (translate && label.trim() !== '') {\n <span [innerHTML]=\"label | translate\"></span>\n } @else {\n <span [innerHTML]=\"label\"></span>\n }\n\n <mat-icon [ngClass]=\"{ end: true, opened: subMenu.expanded }\"\n >arrow_drop_down</mat-icon\n >\n </button>\n <mat-expansion-panel #subMenu [expanded]=\"opened\">\n <ng-content></ng-content>\n </mat-expansion-panel>\n}\n", styles: [":host.highlighted2 .mobile-menu-item{transition:border-left .4s ease;border-left:.5rem solid var(--mat-sys-tertiary-container)}:host.highlighted .mobile-menu-item{transition:border-left .4s ease;border-left:.5rem solid var(--mat-sys-tertiary)}:host .mobile-menu-item{display:flex;width:100%;background:var(--mat-sys-background);padding:var(--double-spacer) var(--quad-spacer);border:none;box-shadow:none;align-items:center;text-align:left;cursor:pointer;font:var(--mat-sys-body-medium);text-decoration:none;color:var(--mat-sys-on-surface);border-left:.5rem solid transparent}:host .mobile-menu-item.active button{border-left:.5rem solid var(--mat-sys-tertiary);font-weight:600;background:var(--mat-sys-surface-container-low)}:host .mobile-menu-item.active button mat-icon{font-variation-settings:\"FILL\" 1,\"wght\" 600,\"GRAD\" 0,\"opsz\" 24}:host .mobile-menu-item:hover,:host .mobile-menu-item:focus{background:var(--mat-sys-surface-container-low)}:host .mobile-menu-item mat-icon{margin-left:-4px;margin-right:var(--spacer);transition:transform .3s ease}:host .mobile-menu-item mat-icon.opened{transform:rotate(180deg)}:host .mobile-menu-item mat-icon.end{margin-left:auto}:host .mobile-menu-item .indent-spacer{width:var(--double-spacer);flex-shrink:0}\n"] }]
51
+ }], propDecorators: { routerLink: [{
52
+ type: Input
53
+ }], routerLinkActiveOptions: [{
54
+ type: Input
55
+ }], dataCy: [{
56
+ type: Input
57
+ }], baseRouteForActiveMenu: [{
58
+ type: Input
59
+ }], label: [{
60
+ type: Input
61
+ }], icon: [{
62
+ type: Input
63
+ }], level: [{
64
+ type: Input
65
+ }], highlighted: [{
66
+ type: Input
67
+ }], opened: [{
68
+ type: Input
69
+ }], children: [{
70
+ type: Input
71
+ }], customNgClass: [{
72
+ type: Input
73
+ }], translate: [{
74
+ type: Input
75
+ }], matExpansionPanel: [{
76
+ type: ViewChild,
77
+ args: [MatExpansionPanel]
78
+ }], isHighlighted: [{
79
+ type: HostBinding,
80
+ args: ['class.highlighted']
81
+ }], isHighlighted2: [{
82
+ type: HostBinding,
83
+ args: ['class.highlighted2']
84
+ }] } });
85
+
86
+ class OnemrvaMatNavigationTreeComponent {
87
+ constructor() {
88
+ this.items = input([], ...(ngDevMode ? [{ debugName: "items" }] : []));
89
+ this.level = input(0, ...(ngDevMode ? [{ debugName: "level" }] : []));
90
+ this.translate = input(true, ...(ngDevMode ? [{ debugName: "translate" }] : []));
91
+ }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatNavigationTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: OnemrvaMatNavigationTreeComponent, isStandalone: true, selector: "onemrva-mat-navigation-tree", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, translate: { classPropertyName: "translate", publicName: "translate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@for (item of items(); track item) {\n <onemrva-mat-navigation-item\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [routerLink]=\"item.routerLink\"\n [level]=\"level()\"\n [dataCy]=\"item.dataCy\"\n [highlighted]=\"item.highlighted\"\n [children]=\"item.children\"\n [opened]=\"item.opened\"\n [translate]=\"translate()\"\n >\n @if (item.children?.length) {\n <onemrva-mat-navigation-tree\n [items]=\"item.children ?? []\"\n [level]=\"level() + 1\"\n ></onemrva-mat-navigation-tree>\n }\n </onemrva-mat-navigation-item>\n}\n", styles: [""], dependencies: [{ kind: "component", type: OnemrvaMatNavigationTreeComponent, selector: "onemrva-mat-navigation-tree", inputs: ["items", "level", "translate"] }, { kind: "component", type: OnemrvaMatNavigationItemComponent, selector: "onemrva-mat-navigation-item", inputs: ["routerLink", "routerLinkActiveOptions", "dataCy", "baseRouteForActiveMenu", "label", "icon", "level", "highlighted", "opened", "children", "customNgClass", "translate"] }], encapsulation: i0.ViewEncapsulation.None }); }
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatNavigationTreeComponent, decorators: [{
96
+ type: Component,
97
+ args: [{ selector: 'onemrva-mat-navigation-tree', imports: [OnemrvaMatNavigationItemComponent], encapsulation: ViewEncapsulation.None, standalone: true, template: "@for (item of items(); track item) {\n <onemrva-mat-navigation-item\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [routerLink]=\"item.routerLink\"\n [level]=\"level()\"\n [dataCy]=\"item.dataCy\"\n [highlighted]=\"item.highlighted\"\n [children]=\"item.children\"\n [opened]=\"item.opened\"\n [translate]=\"translate()\"\n >\n @if (item.children?.length) {\n <onemrva-mat-navigation-tree\n [items]=\"item.children ?? []\"\n [level]=\"level() + 1\"\n ></onemrva-mat-navigation-tree>\n }\n </onemrva-mat-navigation-item>\n}\n" }]
98
+ }] });
99
+
100
+ class OnemrvaMatNavigationComponent {
101
+ constructor() {
102
+ this.items = input([], ...(ngDevMode ? [{ debugName: "items" }] : []));
103
+ this.level = input(0, ...(ngDevMode ? [{ debugName: "level" }] : []));
104
+ this.translate = input(true, ...(ngDevMode ? [{ debugName: "translate" }] : []));
105
+ this.router = inject(Router);
106
+ this.router.events
107
+ .pipe(filter(event => event instanceof NavigationEnd))
108
+ .subscribe((event) => {
109
+ this.updateNavigationState(this.items(), event.urlAfterRedirects);
110
+ });
111
+ }
112
+ updateNavigationState(items, url) {
113
+ // First, reset all states
114
+ this.resetNavigationStates(items);
115
+ // Find the active item and build the path to it
116
+ const activePath = this.findActiveItemPath(items, url, []);
117
+ if (activePath.length > 0) {
118
+ // Set the highest parent (first item in path - level 0) as highlighted
119
+ if (activePath.length > 0) {
120
+ activePath[0].highlighted = true;
121
+ }
122
+ // Set opened to true for all parents to expand the path to the active item
123
+ for (let i = 0; i < activePath.length - 1; i++) {
124
+ activePath[i].opened = true;
125
+ }
126
+ }
127
+ }
128
+ resetNavigationStates(items) {
129
+ for (const item of items) {
130
+ item.highlighted = false;
131
+ item.opened = false;
132
+ if (item.children) {
133
+ this.resetNavigationStates(item.children);
134
+ }
135
+ }
136
+ }
137
+ findActiveItemPath(items, url, currentPath) {
138
+ for (const item of items) {
139
+ const newPath = [...currentPath, item];
140
+ if (item.routerLink && item.routerLink === url) {
141
+ return newPath;
142
+ }
143
+ if (item.children) {
144
+ const childPath = this.findActiveItemPath(item.children, url, newPath);
145
+ if (childPath.length > 0) {
146
+ return childPath;
147
+ }
148
+ }
149
+ }
150
+ return [];
151
+ }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.7", type: OnemrvaMatNavigationComponent, isStandalone: true, selector: "onemrva-mat-navigation", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, translate: { classPropertyName: "translate", publicName: "translate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<onemrva-mat-navigation-tree\n [items]=\"items()\"\n [level]=\"level() + 1\"\n></onemrva-mat-navigation-tree>\n", styles: ["onemrva-mat-navigation{min-width:250px}onemrva-mat-navigation .mat-expansion-panel-body{padding:0}onemrva-mat-navigation .mobile-menu-item{display:flex;width:100%;background:var(--mat-sys-background);padding:var(--double-spacer);border:none;box-shadow:none;align-items:center;text-align:left;font:var(--mat-sys-body-medium)}onemrva-mat-navigation .mobile-menu-item:active button,onemrva-mat-navigation .mobile-menu-item.active button{border-left:4px solid var(--mat-sys-tertiary)}onemrva-mat-navigation .mobile-menu-item:hover,onemrva-mat-navigation .mobile-menu-item:focus{background:var(--mat-sys-surface-container-low)}onemrva-mat-navigation .mobile-menu-item mat-icon{margin-left:var(--half-spacer)}onemrva-mat-navigation .mobile-menu-item mat-icon:first-child{margin-right:var(--spacer)}onemrva-mat-navigation .mobile-menu-item mat-icon.end{margin-left:auto}\n"], dependencies: [{ kind: "component", type: OnemrvaMatNavigationTreeComponent, selector: "onemrva-mat-navigation-tree", inputs: ["items", "level", "translate"] }], encapsulation: i0.ViewEncapsulation.None }); }
154
+ }
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatNavigationComponent, decorators: [{
156
+ type: Component,
157
+ args: [{ selector: 'onemrva-mat-navigation', imports: [OnemrvaMatNavigationTreeComponent], encapsulation: ViewEncapsulation.None, standalone: true, template: "<onemrva-mat-navigation-tree\n [items]=\"items()\"\n [level]=\"level() + 1\"\n></onemrva-mat-navigation-tree>\n", styles: ["onemrva-mat-navigation{min-width:250px}onemrva-mat-navigation .mat-expansion-panel-body{padding:0}onemrva-mat-navigation .mobile-menu-item{display:flex;width:100%;background:var(--mat-sys-background);padding:var(--double-spacer);border:none;box-shadow:none;align-items:center;text-align:left;font:var(--mat-sys-body-medium)}onemrva-mat-navigation .mobile-menu-item:active button,onemrva-mat-navigation .mobile-menu-item.active button{border-left:4px solid var(--mat-sys-tertiary)}onemrva-mat-navigation .mobile-menu-item:hover,onemrva-mat-navigation .mobile-menu-item:focus{background:var(--mat-sys-surface-container-low)}onemrva-mat-navigation .mobile-menu-item mat-icon{margin-left:var(--half-spacer)}onemrva-mat-navigation .mobile-menu-item mat-icon:first-child{margin-right:var(--spacer)}onemrva-mat-navigation .mobile-menu-item mat-icon.end{margin-left:auto}\n"] }]
158
+ }], ctorParameters: () => [] });
159
+
160
+ /*
161
+ * Public API Surface of mat-sticker
162
+ */
163
+
164
+ /**
165
+ * Generated bundle index. Do not edit.
166
+ */
167
+
168
+ export { OnemrvaMatNavigationComponent, OnemrvaMatNavigationItemComponent };
169
+ //# sourceMappingURL=onemrvapublic-design-system-mat-navigation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-navigation.mjs","sources":["../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-item/onemrva-mat-navigation-item.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-item/onemrva-mat-navigation-item.component.html","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-tree/onemrva-mat-navigation-tree.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/mat-navigation-tree/onemrva-mat-navigation-tree.component.html","../../../../projects/onemrva/design-system/mat-navigation/src/onemrva-mat-navigation.component.ts","../../../../projects/onemrva/design-system/mat-navigation/src/onemrva-mat-navigation.component.html","../../../../projects/onemrva/design-system/mat-navigation/index.ts","../../../../projects/onemrva/design-system/mat-navigation/onemrvapublic-design-system-mat-navigation.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n effect,\n HostBinding,\n inject,\n Input,\n OnInit,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport { NgClass } from '@angular/common';\nimport { NavItem } from './onemrva-nav-item';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'onemrva-mat-navigation-item',\n templateUrl: 'onemrva-mat-navigation-item.component.html',\n styleUrl: 'onemrva-mat-navigation-item.component.scss',\n imports: [\n MatIcon,\n RouterLinkActive,\n RouterLink,\n MatExpansionPanel,\n NgClass,\n TranslatePipe,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OnemrvaMatNavigationItemComponent implements AfterViewInit {\n @Input()\n public routerLink: string | undefined;\n @Input()\n public routerLinkActiveOptions?: any;\n @Input()\n public dataCy?: string;\n @Input()\n public baseRouteForActiveMenu?: string;\n @Input()\n public label = '';\n @Input()\n public icon?: string;\n @Input() level = 0;\n @Input() highlighted: boolean | undefined;\n @Input() opened: boolean | undefined;\n @Input() children: NavItem[] | undefined;\n @Input() customNgClass: any;\n @Input() translate = true;\n\n @ViewChild(MatExpansionPanel) matExpansionPanel?: MatExpansionPanel;\n\n isExpanded = false;\n\n @HostBinding('class.highlighted')\n get isHighlighted() {\n return this.highlighted;\n }\n @HostBinding('class.highlighted2')\n get isHighlighted2() {\n return !this.highlighted && this.isExpanded;\n }\n\n get indentArray(): number[] {\n return Array(this.level).fill(0);\n }\n\n cd = inject(ChangeDetectorRef);\n\n ngAfterViewInit(): void {\n this.matExpansionPanel?.afterCollapse.subscribe(() => {\n this.highlighted = false;\n this.isExpanded = false;\n this.cd.markForCheck();\n });\n this.matExpansionPanel?.afterExpand.subscribe(() => {\n this.isExpanded = true;\n this.cd.markForCheck();\n });\n }\n}\n","@if (routerLink) {\n <button\n [routerLink]=\"routerLink\"\n [attr.data-cy]=\"dataCy\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"active\"\n class=\"mobile-menu-item\"\n >\n @for (indent of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n @if (icon) {\n <mat-icon>{{ icon }}</mat-icon>\n }\n @if (translate && label.trim() !== '') {\n <span [innerHTML]=\"label | translate\"></span>\n } @else {\n <span [innerHTML]=\"label\"></span>\n }\n </button>\n} @else {\n <button\n [ngClass]=\"{ 'mobile-menu-item': true, highlighted: highlighted === true }\"\n [attr.data-cy]=\"dataCy\"\n (click)=\"subMenu.toggle()\"\n >\n @for (indent of indentArray; track $index) {\n <span class=\"indent-spacer\"></span>\n }\n\n @if (icon) {\n <mat-icon>{{ icon }}</mat-icon>\n }\n\n @if (translate && label.trim() !== '') {\n <span [innerHTML]=\"label | translate\"></span>\n } @else {\n <span [innerHTML]=\"label\"></span>\n }\n\n <mat-icon [ngClass]=\"{ end: true, opened: subMenu.expanded }\"\n >arrow_drop_down</mat-icon\n >\n </button>\n <mat-expansion-panel #subMenu [expanded]=\"opened\">\n <ng-content></ng-content>\n </mat-expansion-panel>\n}\n","import {\n AfterViewInit,\n Component,\n effect,\n inject,\n input,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { OnemrvaMatNavigationItemComponent } from '../mat-navigation-item/onemrva-mat-navigation-item.component';\nimport { NavItem } from '../mat-navigation-item/onemrva-nav-item';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'onemrva-mat-navigation-tree',\n templateUrl: 'onemrva-mat-navigation-tree.component.html',\n styleUrl: 'onemrva-mat-navigation-tree.component.scss',\n imports: [OnemrvaMatNavigationItemComponent],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n})\nexport class OnemrvaMatNavigationTreeComponent {\n items = input<NavItem[]>([]);\n level = input<number>(0);\n translate = input<boolean>(true);\n}\n","@for (item of items(); track item) {\n <onemrva-mat-navigation-item\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [routerLink]=\"item.routerLink\"\n [level]=\"level()\"\n [dataCy]=\"item.dataCy\"\n [highlighted]=\"item.highlighted\"\n [children]=\"item.children\"\n [opened]=\"item.opened\"\n [translate]=\"translate()\"\n >\n @if (item.children?.length) {\n <onemrva-mat-navigation-tree\n [items]=\"item.children ?? []\"\n [level]=\"level() + 1\"\n ></onemrva-mat-navigation-tree>\n }\n </onemrva-mat-navigation-item>\n}\n","import { Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { NavItem } from './mat-navigation-item/onemrva-nav-item';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { OnemrvaMatNavigationTreeComponent } from './mat-navigation-tree/onemrva-mat-navigation-tree.component';\n\n@Component({\n selector: 'onemrva-mat-navigation',\n templateUrl: 'onemrva-mat-navigation.component.html',\n styleUrl: 'onemrva-mat-navigation.component.scss',\n imports: [OnemrvaMatNavigationTreeComponent],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n})\nexport class OnemrvaMatNavigationComponent {\n items = input<NavItem[]>([]);\n level = input<number>(0);\n translate = input<boolean>(true);\n router: Router = inject(Router);\n\n constructor() {\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.updateNavigationState(this.items(), event.urlAfterRedirects);\n });\n }\n\n private updateNavigationState(items: NavItem[], url: string): void {\n // First, reset all states\n this.resetNavigationStates(items);\n\n // Find the active item and build the path to it\n const activePath = this.findActiveItemPath(items, url, []);\n\n if (activePath.length > 0) {\n // Set the highest parent (first item in path - level 0) as highlighted\n if (activePath.length > 0) {\n activePath[0].highlighted = true;\n }\n\n // Set opened to true for all parents to expand the path to the active item\n for (let i = 0; i < activePath.length - 1; i++) {\n activePath[i].opened = true;\n }\n }\n }\n\n private resetNavigationStates(items: NavItem[]): void {\n for (const item of items) {\n item.highlighted = false;\n item.opened = false;\n if (item.children) {\n this.resetNavigationStates(item.children);\n }\n }\n }\n\n private findActiveItemPath(\n items: NavItem[],\n url: string,\n currentPath: NavItem[],\n ): NavItem[] {\n for (const item of items) {\n const newPath = [...currentPath, item];\n\n if (item.routerLink && item.routerLink === url) {\n return newPath;\n }\n\n if (item.children) {\n const childPath = this.findActiveItemPath(item.children, url, newPath);\n if (childPath.length > 0) {\n return childPath;\n }\n }\n }\n\n return [];\n }\n}\n","<onemrva-mat-navigation-tree\n [items]=\"items()\"\n [level]=\"level() + 1\"\n></onemrva-mat-navigation-tree>\n","/*\n * Public API Surface of mat-sticker\n */\n\nexport * from './src/onemrva-mat-navigation.component';\nexport * from './src/mat-navigation-item/onemrva-nav-item';\nexport * from './src/mat-navigation-item/onemrva-mat-navigation-item.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { EventEmitter, inject, HostBinding, Input, Output, Component } from '@angular/core';
5
+ import * as i1 from '@angular/material/icon';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import * as i2 from '@ngx-translate/core';
8
+ import { TranslateModule } from '@ngx-translate/core';
9
+ import { Subject, takeUntil } from 'rxjs';
10
+
11
+ class OnemrvaMatNotificationComponent {
12
+ /** @hidden @internal */
13
+ get _closed() {
14
+ return !this._isOpen;
15
+ }
16
+ constructor() {
17
+ this.message = '';
18
+ this.closable = true;
19
+ this._isOpen = true;
20
+ this.notificationClose = new EventEmitter();
21
+ this.id = `onemrva-mat-notification`;
22
+ this.dataCy = 'onemrva-mat-notification';
23
+ /**
24
+ * Returns the `aria-label` attribute of the component.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * let ariaLabel = this.avatar.ariaLabel;
29
+ * ```
30
+ *
31
+ */
32
+ this.ariaLive = 'assertive';
33
+ /**
34
+ * Returns the `role` attribute of the component.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * let avatarRole = this.avatar.role;
39
+ * ```
40
+ */
41
+ this.role = 'alert';
42
+ this.destroyNotifier$ = new Subject();
43
+ this.isSmall = false;
44
+ this.breakpointObserver = inject(BreakpointObserver);
45
+ this.breakpointObserver
46
+ .observe([Breakpoints.XSmall, Breakpoints.Small])
47
+ .pipe(takeUntil(this.destroyNotifier$))
48
+ .subscribe((state) => {
49
+ if (state.matches) {
50
+ this.isSmall = true;
51
+ }
52
+ else {
53
+ this.isSmall = false;
54
+ }
55
+ });
56
+ }
57
+ ngOnDestroy() {
58
+ this.destroyNotifier$.next();
59
+ this.destroyNotifier$.complete();
60
+ }
61
+ closeNotification() {
62
+ this._isOpen = false;
63
+ this.notificationClose.emit();
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: OnemrvaMatNotificationComponent, isStandalone: true, selector: "onemrva-mat-notification", inputs: { message: "message", closable: "closable", id: "id", dataCy: "dataCy" }, outputs: { notificationClose: "notificationClose" }, host: { properties: { "class.collapse-notification": "this._closed", "attr.id": "this.id", "attr.data-cy": "this.dataCy", "attr.aria-live": "this.ariaLive", "attr.role": "this.role" } }, ngImport: i0, template: "<div class=\"onemrva-mat-notification container\">\n <div class=\"onemrva-mat-notification-content show-icon\">\n @if (message !== '') {\n {{ message | translate }}\n }\n <ng-content></ng-content>\n @if (closable || isSmall) {\n <mat-icon\n class=\"close-notification float-right clickable mr\"\n (click)=\"closeNotification()\"\n >\n close\n </mat-icon>\n }\n </div>\n</div>\n", styles: [":host{position:fixed;top:var(--layout-header-height, 0);left:0;right:0;transition:max-height .4s ease-out;max-height:100vh;overflow:hidden;z-index:401;background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container);border-bottom:1px solid var(--mat-sys-primary)}:host .onemrva-mat-notification{position:relative}:host .onemrva-mat-notification .onemrva-mat-notification-content{font:var(--mat-sys-body-medium);padding:var(--double-spacer) var(--spacer) var(--double-spacer) var(--spacer)}:host .onemrva-mat-notification .onemrva-mat-notification-content:before{margin-right:var(--double-spacer);margin-top:var(--quarter-spacer)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: OnemrvaMatNotificationComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'onemrva-mat-notification', standalone: true, imports: [CommonModule, TranslateModule, MatIconModule], template: "<div class=\"onemrva-mat-notification container\">\n <div class=\"onemrva-mat-notification-content show-icon\">\n @if (message !== '') {\n {{ message | translate }}\n }\n <ng-content></ng-content>\n @if (closable || isSmall) {\n <mat-icon\n class=\"close-notification float-right clickable mr\"\n (click)=\"closeNotification()\"\n >\n close\n </mat-icon>\n }\n </div>\n</div>\n", styles: [":host{position:fixed;top:var(--layout-header-height, 0);left:0;right:0;transition:max-height .4s ease-out;max-height:100vh;overflow:hidden;z-index:401;background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container);border-bottom:1px solid var(--mat-sys-primary)}:host .onemrva-mat-notification{position:relative}:host .onemrva-mat-notification .onemrva-mat-notification-content{font:var(--mat-sys-body-medium);padding:var(--double-spacer) var(--spacer) var(--double-spacer) var(--spacer)}:host .onemrva-mat-notification .onemrva-mat-notification-content:before{margin-right:var(--double-spacer);margin-top:var(--quarter-spacer)}\n"] }]
71
+ }], ctorParameters: () => [], propDecorators: { message: [{
72
+ type: Input
73
+ }], closable: [{
74
+ type: Input
75
+ }], notificationClose: [{
76
+ type: Output
77
+ }], _closed: [{
78
+ type: HostBinding,
79
+ args: ['class.collapse-notification']
80
+ }], id: [{
81
+ type: HostBinding,
82
+ args: ['attr.id']
83
+ }, {
84
+ type: Input
85
+ }], dataCy: [{
86
+ type: HostBinding,
87
+ args: ['attr.data-cy']
88
+ }, {
89
+ type: Input
90
+ }], ariaLive: [{
91
+ type: HostBinding,
92
+ args: ['attr.aria-live']
93
+ }], role: [{
94
+ type: HostBinding,
95
+ args: ['attr.role']
96
+ }] } });
97
+
98
+ /**
99
+ * Generated bundle index. Do not edit.
100
+ */
101
+
102
+ export { OnemrvaMatNotificationComponent };
103
+ //# sourceMappingURL=onemrvapublic-design-system-mat-notification.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-notification.mjs","sources":["../../../../projects/onemrva/design-system/mat-notification/src/onemrva-mat-notification.component.ts","../../../../projects/onemrva/design-system/mat-notification/src/onemrva-mat-notification.component.html","../../../../projects/onemrva/design-system/mat-notification/onemrvapublic-design-system-mat-notification.ts"],"sourcesContent":["import {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'onemrva-mat-notification',\n templateUrl: 'onemrva-mat-notification.component.html',\n styleUrl: 'onemrva-mat-notification.component.scss',\n standalone: true,\n imports: [CommonModule, TranslateModule, MatIconModule],\n})\nexport class OnemrvaMatNotificationComponent implements OnDestroy {\n @Input() message = '';\n @Input() closable = true;\n\n _isOpen = true;\n\n @Output()\n notificationClose = new EventEmitter<void>();\n\n /** @hidden @internal */\n @HostBinding('class.collapse-notification')\n public get _closed(): boolean {\n return !this._isOpen;\n }\n\n @HostBinding('attr.id')\n @Input()\n public id = `onemrva-mat-notification`;\n\n @HostBinding('attr.data-cy')\n @Input()\n dataCy = 'onemrva-mat-notification';\n\n /**\n * Returns the `aria-label` attribute of the component.\n *\n * @example\n * ```typescript\n * let ariaLabel = this.avatar.ariaLabel;\n * ```\n *\n */\n @HostBinding('attr.aria-live')\n public ariaLive = 'assertive';\n\n /**\n * Returns the `role` attribute of the component.\n *\n * @example\n * ```typescript\n * let avatarRole = this.avatar.role;\n * ```\n */\n @HostBinding('attr.role')\n public role = 'alert';\n\n private destroyNotifier$ = new Subject<void>();\n isSmall = false;\n public breakpointObserver = inject(BreakpointObserver);\n\n constructor() {\n this.breakpointObserver\n .observe([Breakpoints.XSmall, Breakpoints.Small])\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe((state: BreakpointState) => {\n if (state.matches) {\n this.isSmall = true;\n } else {\n this.isSmall = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n\n closeNotification() {\n this._isOpen = false;\n this.notificationClose.emit();\n }\n}\n","<div class=\"onemrva-mat-notification container\">\n <div class=\"onemrva-mat-notification-content show-icon\">\n @if (message !== '') {\n {{ message | translate }}\n }\n <ng-content></ng-content>\n @if (closable || isSmall) {\n <mat-icon\n class=\"close-notification float-right clickable mr\"\n (click)=\"closeNotification()\"\n >\n close\n </mat-icon>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}