@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
@@ -1,705 +0,0 @@
1
- /**
2
- * Copyright (c) 2018 Bithost GmbH All Rights Reserved.
3
- *
4
- * Use of this source code is governed by an MIT-style license that can be
5
- * found in the LICENSE file at https://angular.io/license
6
- */
7
-
8
- import {
9
- A,
10
- DOWN_ARROW,
11
- END,
12
- ENTER,
13
- ESCAPE,
14
- HOME,
15
- NINE,
16
- SPACE,
17
- UP_ARROW,
18
- Z,
19
- ZERO,
20
- } from '@angular/cdk/keycodes';
21
- import { ViewportRuler } from '@angular/cdk/scrolling';
22
- import {
23
- ChangeDetectionStrategy,
24
- ChangeDetectorRef,
25
- Component,
26
- ContentChild,
27
- ElementRef,
28
- EventEmitter,
29
- forwardRef,
30
- Inject,
31
- Input,
32
- OnDestroy,
33
- OnInit,
34
- Optional,
35
- Output,
36
- QueryList,
37
- ViewChild,
38
- } from '@angular/core';
39
- import {
40
- ControlValueAccessor,
41
- FormControl,
42
- NG_VALUE_ACCESSOR,
43
- } from '@angular/forms';
44
- import { MatOption } from '@angular/material/core';
45
- import { MatFormField } from '@angular/material/form-field';
46
- import { MatSelect } from '@angular/material/select';
47
- import { BehaviorSubject, combineLatest, Observable, of, Subject } from 'rxjs';
48
- import {
49
- delay,
50
- filter,
51
- map,
52
- startWith,
53
- switchMap,
54
- take,
55
- takeUntil,
56
- tap,
57
- } from 'rxjs/operators';
58
- import { MatSelectSearchClearDirective } from './mat-select-search-clear.directive';
59
- import {
60
- configurableDefaultOptions,
61
- MAT_SELECTSEARCH_DEFAULT_OPTIONS,
62
- MatSelectSearchOptions,
63
- } from './default-options';
64
- import { MatSelectNoEntriesFoundDirective } from './mat-select-no-entries-found.directive';
65
-
66
- /* tslint:disable:member-ordering component-selector */
67
- /**
68
- * Component providing an input field for searching MatSelect options.
69
- *
70
- * Example usage:
71
- *
72
- * interface Bank {
73
- * id: string;
74
- * name: string;
75
- * }
76
- *
77
- * @Component({
78
- * selector: 'my-app-data-selection',
79
- * template: `
80
- * <mat-form-field>
81
- * <mat-select [formControl]="bankCtrl" placeholder="Bank">
82
- * <mat-option>
83
- * <ngx-mat-select-search [formControl]="bankFilterCtrl"></ngx-mat-select-search>
84
- * </mat-option>
85
- * <mat-option *ngFor="let bank of filteredBanks | async" [value]="bank.id">
86
- * {{bank.name}}
87
- * </mat-option>
88
- * </mat-select>
89
- * </mat-form-field>
90
- * `
91
- * })
92
- * export class DataSelectionComponent implements OnInit, OnDestroy {
93
- *
94
- * // control for the selected bank
95
- * public bankCtrl: FormControl = new FormControl();
96
- * // control for the MatSelect filter keyword
97
- * public bankFilterCtrl: FormControl = new FormControl();
98
- *
99
- * // list of banks
100
- * private banks: Bank[] = [{name: 'Bank A', id: 'A'}, {name: 'Bank B', id: 'B'}, {name: 'Bank C', id: 'C'}];
101
- * // list of banks filtered by search keyword
102
- * public filteredBanks: ReplaySubject<Bank[]> = new ReplaySubject<Bank[]>(1);
103
- *
104
- * // Subject that emits when the component has been destroyed.
105
- * private _onDestroy = new Subject<void>();
106
- *
107
- *
108
- * ngOnInit() {
109
- * // load the initial bank list
110
- * this.filteredBanks.next(this.banks.slice());
111
- * // listen for search field value changes
112
- * this.bankFilterCtrl.valueChanges
113
- * .pipe(takeUntil(this._onDestroy))
114
- * .subscribe(() => {
115
- * this.filterBanks();
116
- * });
117
- * }
118
- *
119
- * ngOnDestroy() {
120
- * this._onDestroy.next();
121
- * this._onDestroy.complete();
122
- * }
123
- *
124
- * private filterBanks() {
125
- * if (!this.banks) {
126
- * return;
127
- * }
128
- *
129
- * // get the search keyword
130
- * let search = this.bankFilterCtrl.value;
131
- * if (!search) {
132
- * this.filteredBanks.next(this.banks.slice());
133
- * return;
134
- * } else {
135
- * search = search.toLowerCase();
136
- * }
137
- *
138
- * // filter the banks
139
- * this.filteredBanks.next(
140
- * this.banks.filter(bank => bank.name.toLowerCase().indexOf(search) > -1)
141
- * );
142
- * }
143
- * }
144
- */
145
- @Component({
146
- selector: 'mat-select-search',
147
- templateUrl: './mat-select-search.component.html',
148
- styleUrls: ['./mat-select-search.component.scss'],
149
- providers: [
150
- {
151
- provide: NG_VALUE_ACCESSOR,
152
- useExisting: forwardRef(() => MatSelectSearchComponent),
153
- multi: true,
154
- },
155
- ],
156
- changeDetection: ChangeDetectionStrategy.OnPush,
157
- })
158
- export class MatSelectSearchComponent
159
- implements OnInit, OnDestroy, ControlValueAccessor
160
- {
161
- /** Label of the search placeholder */
162
- @Input() placeholderLabel = 'Search';
163
-
164
- /** Type of the search input field */
165
- @Input() type = 'text';
166
-
167
- /** Font-based icon used for displaying Close-Icon */
168
- @Input() closeIcon = 'close';
169
-
170
- /** Svg-based icon used for displaying Close-Icon. If set, closeIcon is overridden */
171
- @Input() closeSvgIcon: string = '';
172
-
173
- /** Label to be shown when no entries are found. Set to null if no message should be shown. */
174
- @Input() noEntriesFoundLabel = 'Nothing found';
175
-
176
- /**
177
- * Whether or not the search field should be cleared after the dropdown menu is closed.
178
- * Useful for server-side filtering. See [#3](https://github.com/bithost-gmbh/ngx-mat-select-search/issues/3)
179
- */
180
- @Input() clearSearchInput = true;
181
-
182
- /** Whether to show the search-in-progress indicator */
183
- @Input() searching = false;
184
-
185
- /** Disables initial focusing of the input field */
186
- @Input() disableInitialFocus = false;
187
-
188
- /** Enable clear input on escape pressed */
189
- @Input() enableClearOnEscapePressed = false;
190
-
191
- /**
192
- * Prevents home / end key being propagated to mat-select,
193
- * allowing to move the cursor within the search input instead of navigating the options
194
- */
195
- @Input() preventHomeEndKeyPropagation = false;
196
-
197
- /** Disables scrolling to active options when option list changes. Useful for server-side search */
198
- @Input() disableScrollToActiveOnOptionsChanged = false;
199
-
200
- /** Adds 508 screen reader support for search box */
201
- @Input() ariaLabel = 'dropdown search';
202
-
203
- /** Whether to show Select All Checkbox (for mat-select[multi=true]) */
204
- @Input() showToggleAllCheckbox = false;
205
-
206
- /** select all checkbox checked state */
207
- @Input() toggleAllCheckboxChecked = false;
208
-
209
- /** select all checkbox indeterminate state */
210
- @Input() toggleAllCheckboxIndeterminate = false;
211
-
212
- /** Display a message in a tooltip on the toggle-all checkbox */
213
- @Input() toggleAllCheckboxTooltipMessage = '';
214
-
215
- /** Define the position of the tooltip on the toggle-all checkbox. */
216
- @Input() toggleAllCheckboxTooltipPosition:
217
- | 'left'
218
- | 'right'
219
- | 'above'
220
- | 'below'
221
- | 'before'
222
- | 'after' = 'below';
223
-
224
- /** Show/Hide the search clear button of the search input */
225
- @Input() hideClearSearchButton = false;
226
-
227
- /**
228
- * Always restore selected options on selectionChange for mode multi (e.g. for lazy loading/infinity scrolling).
229
- * Defaults to false, so selected options are only restored while filtering is active.
230
- */
231
- @Input() alwaysRestoreSelectedOptionsMulti = false;
232
-
233
- /** Output emitter to send to parent component with the toggle all boolean */
234
- @Output() toggleAll = new EventEmitter<boolean>();
235
-
236
- /** Reference to the search input field */
237
- @ViewChild('searchSelectInput', { read: ElementRef, static: true })
238
- searchSelectInput?: ElementRef;
239
-
240
- /** Reference to the search input field */
241
- @ViewChild('innerSelectSearch', { read: ElementRef, static: true })
242
- innerSelectSearch?: ElementRef;
243
-
244
- /** Reference to custom search input clear icon */
245
- @ContentChild(MatSelectSearchClearDirective)
246
- clearIcon?: MatSelectSearchClearDirective;
247
-
248
- /** Reference to custom no entries found element */
249
- @ContentChild(MatSelectNoEntriesFoundDirective)
250
- noEntriesFound?: MatSelectNoEntriesFoundDirective;
251
-
252
- /** Current search value */
253
- get value(): string {
254
- return (this._formControl as FormControl).value;
255
- }
256
-
257
- private _lastExternalInputValue?: string;
258
-
259
- onTouched: (_: any) => void = (_: any) => {};
260
-
261
- /** Reference to the MatSelect options */
262
- public set _options(_options: QueryList<MatOption>) {
263
- this._options$.next(_options);
264
- }
265
-
266
- public get _options(): QueryList<MatOption> {
267
- return this._options$.getValue();
268
- }
269
-
270
- public _options$: BehaviorSubject<QueryList<MatOption>> = new BehaviorSubject<
271
- QueryList<MatOption>
272
- >(new QueryList());
273
-
274
- private optionsList$: Observable<MatOption[]> = this._options$.pipe(
275
- switchMap(_options =>
276
- _options
277
- ? _options.changes.pipe(
278
- map(options => options.toArray()),
279
- startWith<MatOption[]>(_options.toArray()),
280
- )
281
- : of([]),
282
- ),
283
- );
284
-
285
- private optionsLength$: Observable<number> = this.optionsList$.pipe(
286
- map(options => (options ? options.length : 0)),
287
- );
288
-
289
- /** Previously selected values when using <mat-select [multiple]="true">*/
290
- private previousSelectedValues?: any[];
291
-
292
- public _formControl: FormControl<string | null> = new FormControl<string>('');
293
-
294
- /** whether to show the no entries found message */
295
- public _showNoEntriesFound$: Observable<boolean> = combineLatest([
296
- this._formControl.valueChanges,
297
- this.optionsLength$,
298
- ]).pipe(
299
- map(([_, optionsLength]) => {
300
- return (
301
- this.noEntriesFoundLabel !== '' &&
302
- optionsLength === this.getOptionsLengthOffset()
303
- );
304
- }),
305
- );
306
-
307
- /** Subject that emits when the component has been destroyed. */
308
- private _onDestroy = new Subject<void>();
309
-
310
- /** Reference to active descendant for ARIA Support. */
311
- private activeDescendant?: HTMLElement;
312
-
313
- constructor(
314
- @Inject(MatSelect) public matSelect: MatSelect,
315
- public changeDetectorRef: ChangeDetectorRef,
316
- private _viewportRuler: ViewportRuler,
317
- @Optional() @Inject(MatOption) public matOption: MatOption,
318
- @Optional() @Inject(MatFormField) public matFormField: MatFormField,
319
- @Optional()
320
- @Inject(MAT_SELECTSEARCH_DEFAULT_OPTIONS)
321
- defaultOptions: MatSelectSearchOptions,
322
- ) {
323
- this.applyDefaultOptions(defaultOptions);
324
- }
325
-
326
- private applyDefaultOptions(defaultOptions: MatSelectSearchOptions) {
327
- if (!defaultOptions) {
328
- return;
329
- }
330
- for (const key of configurableDefaultOptions) {
331
- // eslint-disable-next-line
332
- if (defaultOptions.hasOwnProperty(key)) {
333
- (this[key] as any) = defaultOptions[key];
334
- }
335
- }
336
- }
337
-
338
- ngOnInit() {
339
- // set custom mat-option class if the component was placed inside a mat-option
340
- if (this.matOption) {
341
- this.matOption.disabled = true;
342
- this.matOption
343
- ._getHostElement()
344
- .classList.add('contains-mat-select-search');
345
- this.matOption._getHostElement().setAttribute('aria-hidden', 'true');
346
- } else {
347
- console.error(
348
- '<ngx-mat-select-search> must be placed inside a <mat-option> element',
349
- );
350
- }
351
-
352
- // when the select dropdown panel is opened or closed
353
- this.matSelect.openedChange
354
- .pipe(delay(1), takeUntil(this._onDestroy))
355
- .subscribe(opened => {
356
- if (opened) {
357
- this.updateInputWidth();
358
- // focus the search field when opening
359
- if (!this.disableInitialFocus) {
360
- this._focus();
361
- }
362
- } else {
363
- // clear it when closing
364
- if (this.clearSearchInput) {
365
- this._reset();
366
- }
367
- }
368
- });
369
-
370
- // set the first item active after the options changed
371
- this.matSelect.openedChange
372
- .pipe(
373
- take(1),
374
- switchMap(_ => {
375
- this._options = this.matSelect.options;
376
-
377
- // Closure variable for tracking the most recent first option.
378
- // In order to avoid avoid causing the list to
379
- // scroll to the top when options are added to the bottom of
380
- // the list (eg: infinite scroll), we compare only
381
- // the changes to the first options to determine if we
382
- // should set the first item as active.
383
- // This prevents unnecessary scrolling to the top of the list
384
- // when options are appended, but allows the first item
385
- // in the list to be set as active by default when there
386
- // is no active selection
387
- let previousFirstOption =
388
- this._options.toArray()[this.getOptionsLengthOffset()];
389
-
390
- return this._options.changes.pipe(
391
- tap(() => {
392
- // avoid "expression has been changed" error
393
- setTimeout(() => {
394
- // Convert the QueryList to an array
395
- const options = this._options.toArray();
396
-
397
- // The true first item is offset by 1
398
- const currentFirstOption =
399
- options[this.getOptionsLengthOffset()];
400
-
401
- const keyManager = this.matSelect._keyManager;
402
- if (keyManager && this.matSelect.panelOpen) {
403
- // set first item active and input width
404
-
405
- // Check to see if the first option in these changes is different from the previous.
406
- const firstOptionIsChanged = !this.matSelect.compareWith(
407
- previousFirstOption,
408
- currentFirstOption,
409
- );
410
-
411
- // CASE: The first option is different now.
412
- // Indiciates we should set it as active and scroll to the top.
413
- if (
414
- firstOptionIsChanged ||
415
- !keyManager.activeItem ||
416
- !options.find(option =>
417
- this.matSelect.compareWith(option, keyManager.activeItem),
418
- )
419
- ) {
420
- keyManager.setFirstItemActive();
421
- }
422
-
423
- // wait for panel width changes
424
- setTimeout(() => {
425
- this.updateInputWidth();
426
- });
427
- }
428
-
429
- // Update our reference
430
- previousFirstOption = currentFirstOption;
431
- });
432
- }),
433
- );
434
- }),
435
- )
436
- .pipe(takeUntil(this._onDestroy))
437
- .subscribe();
438
-
439
- // add or remove css class depending on whether to show the no entries found message
440
- // note: this is hacky
441
- this._showNoEntriesFound$
442
- .pipe(takeUntil(this._onDestroy))
443
- .subscribe(showNoEntriesFound => {
444
- // set no entries found class on mat option
445
- if (this.matOption) {
446
- if (showNoEntriesFound) {
447
- this.matOption
448
- ._getHostElement()
449
- .classList.add('mat-select-search-no-entries-found');
450
- } else {
451
- this.matOption
452
- ._getHostElement()
453
- .classList.remove('mat-select-search-no-entries-found');
454
- }
455
- }
456
- });
457
-
458
- // resize the input width when the viewport is resized, i.e. the trigger width could potentially be resized
459
- this._viewportRuler
460
- .change()
461
- .pipe(takeUntil(this._onDestroy))
462
- .subscribe(() => {
463
- if (this.matSelect.panelOpen) {
464
- this.updateInputWidth();
465
- }
466
- });
467
-
468
- this.initMultipleHandling();
469
-
470
- this.optionsList$.pipe(takeUntil(this._onDestroy)).subscribe(() => {
471
- // update view when available options change
472
- this.changeDetectorRef.markForCheck();
473
- });
474
- }
475
-
476
- _emitSelectAllBooleanToParent(state: boolean) {
477
- this.toggleAll.emit(state);
478
- }
479
-
480
- ngOnDestroy() {
481
- this._onDestroy.next();
482
- this._onDestroy.complete();
483
- }
484
-
485
- _isToggleAllCheckboxVisible(): boolean {
486
- return this.matSelect.multiple && this.showToggleAllCheckbox;
487
- }
488
-
489
- /**
490
- * Handles the key down event with MatSelect.
491
- * Allows e.g. selecting with enter key, navigation with arrow keys, etc.
492
- * @param event
493
- */
494
- _handleKeydown(event: KeyboardEvent) {
495
- // Prevent propagation for all alphanumeric characters in order to avoid selection issues
496
- if (
497
- (event.key && event.key.length === 1) ||
498
- (event.keyCode >= A && event.keyCode <= Z) ||
499
- (event.keyCode >= ZERO && event.keyCode <= NINE) ||
500
- event.keyCode === SPACE ||
501
- (this.preventHomeEndKeyPropagation &&
502
- (event.keyCode === HOME || event.keyCode === END))
503
- ) {
504
- event.stopPropagation();
505
- }
506
-
507
- if (this.matSelect.multiple && event.key && event.keyCode === ENTER) {
508
- // Regain focus after multiselect, so we can further type
509
- setTimeout(() => this._focus());
510
- }
511
-
512
- // Special case if click Escape, if input is empty, close the dropdown, if not, empty out the search field
513
- if (
514
- this.enableClearOnEscapePressed === true &&
515
- event.keyCode === ESCAPE &&
516
- this.value
517
- ) {
518
- this._reset(true);
519
- event.stopPropagation();
520
- }
521
- }
522
-
523
- /**
524
- * Handles the key up event with MatSelect.
525
- * Allows e.g. the announcing of the currently activeDescendant by screen readers.
526
- */
527
- _handleKeyup(event: KeyboardEvent) {
528
- if (event.keyCode === UP_ARROW || event.keyCode === DOWN_ARROW) {
529
- const ariaActiveDescendantId = this.matSelect._getAriaActiveDescendant();
530
- const index = this._options
531
- .toArray()
532
- .findIndex(item => item.id === ariaActiveDescendantId);
533
- if (index !== -1) {
534
- this.unselectActiveDescendant();
535
-
536
- const temp = this._options.toArray();
537
- this.activeDescendant = temp[index]._getHostElement();
538
-
539
- this.activeDescendant.setAttribute('aria-selected', 'true');
540
-
541
- this.searchSelectInput?.nativeElement.setAttribute(
542
- 'aria-activedescendant',
543
- ariaActiveDescendantId,
544
- );
545
- }
546
- }
547
- }
548
-
549
- writeValue(value: string) {
550
- this._lastExternalInputValue = value;
551
- this._formControl.setValue(value);
552
- this.changeDetectorRef.markForCheck();
553
- }
554
-
555
- onBlur() {
556
- this.unselectActiveDescendant();
557
- }
558
-
559
- registerOnChange(fn: (value: string | null) => void) {
560
- this._formControl.valueChanges
561
- .pipe(
562
- filter(value => value !== this._lastExternalInputValue),
563
- tap(() => (this._lastExternalInputValue = undefined)),
564
- takeUntil(this._onDestroy),
565
- )
566
- .subscribe(fn);
567
- }
568
-
569
- registerOnTouched(fn: () => void) {
570
- this.onTouched = fn;
571
- }
572
-
573
- /**
574
- * Focuses the search input field
575
- */
576
- public _focus() {
577
- if (!this.searchSelectInput || !this.matSelect.panel) {
578
- return;
579
- }
580
- // save and restore scrollTop of panel, since it will be reset by focus()
581
- // note: this is hacky
582
- const panel = this.matSelect.panel.nativeElement;
583
- const scrollTop = panel.scrollTop;
584
-
585
- // focus
586
- this.searchSelectInput.nativeElement.focus();
587
-
588
- panel.scrollTop = scrollTop;
589
- }
590
-
591
- /**
592
- * Resets the current search value
593
- * @param focus whether to focus after resetting
594
- */
595
- public _reset(focus?: boolean) {
596
- this._formControl.setValue('');
597
- if (focus) {
598
- this._focus();
599
- }
600
- }
601
-
602
- /**
603
- * Initializes handling <mat-select [multiple]="true">
604
- * Note: to improve this code, mat-select should be extended to allow disabling resetting the selection while filtering.
605
- */
606
- private initMultipleHandling() {
607
- if (!this.matSelect.ngControl) {
608
- if (this.matSelect.multiple) {
609
- // note: the access to matSelect.ngControl (instead of matSelect.value / matSelect.valueChanges)
610
- // is necessary to properly work in multi-selection mode.
611
- console.error(
612
- 'the mat-select containing ngx-mat-select-search must have a ngModel or formControl directive when multiple=true',
613
- );
614
- }
615
- return;
616
- }
617
- // if <mat-select [multiple]="true">
618
- // store previously selected values and restore them when they are deselected
619
- // because the option is not available while we are currently filtering
620
- this.previousSelectedValues = this.matSelect.ngControl.value;
621
-
622
- this.matSelect.ngControl.valueChanges
623
- ?.pipe(takeUntil(this._onDestroy))
624
- .subscribe(values => {
625
- let restoreSelectedValues = false;
626
- if (this.matSelect.multiple) {
627
- if (
628
- (this.alwaysRestoreSelectedOptionsMulti ||
629
- (this._formControl.value && this._formControl.value.length)) &&
630
- this.previousSelectedValues &&
631
- Array.isArray(this.previousSelectedValues)
632
- ) {
633
- if (!values || !Array.isArray(values)) {
634
- values = [];
635
- }
636
- const optionValues = this.matSelect.options.map(
637
- option => option.value,
638
- );
639
- this.previousSelectedValues.forEach(previousValue => {
640
- if (
641
- !values.some((v: any) =>
642
- this.matSelect.compareWith(v, previousValue),
643
- ) &&
644
- !optionValues.some(v =>
645
- this.matSelect.compareWith(v, previousValue),
646
- )
647
- ) {
648
- // if a value that was selected before is deselected and not found in the options, it was deselected
649
- // due to the filtering, so we restore it.
650
- values.push(previousValue);
651
- restoreSelectedValues = true;
652
- }
653
- });
654
- }
655
- }
656
- this.previousSelectedValues = values;
657
-
658
- if (restoreSelectedValues) {
659
- this.matSelect._onChange(values);
660
- }
661
- });
662
- }
663
-
664
- /**
665
- * Set the width of the innerSelectSearch to fit even custom scrollbars
666
- * And support all Operation Systems
667
- */
668
- public updateInputWidth() {
669
- if (!this.innerSelectSearch || !this.innerSelectSearch.nativeElement) {
670
- return;
671
- }
672
- let element: HTMLElement = this.innerSelectSearch.nativeElement;
673
- if (element.parentElement !== null) {
674
- let panelElement: HTMLElement | null = null;
675
- while ((element = element.parentElement)) {
676
- if (element.classList.contains('mat-select-panel')) {
677
- panelElement = element;
678
- break;
679
- }
680
- }
681
- if (panelElement !== null) {
682
- this.innerSelectSearch.nativeElement.style.width =
683
- panelElement.clientWidth + 'px';
684
- }
685
- }
686
- }
687
-
688
- /**
689
- * Determine the offset to length that can be caused by the optional matOption used as a search input.
690
- */
691
- private getOptionsLengthOffset(): number {
692
- if (this.matOption) {
693
- return 1;
694
- } else {
695
- return 0;
696
- }
697
- }
698
-
699
- private unselectActiveDescendant() {
700
- this.activeDescendant?.removeAttribute('aria-selected');
701
- this.searchSelectInput?.nativeElement.removeAttribute(
702
- 'aria-activedescendant',
703
- );
704
- }
705
- }