@onemrvapublic/design-system 0.0.0

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 (434) hide show
  1. package/.dockerignore +4 -0
  2. package/.editorconfig +16 -0
  3. package/.github/workflows/npm-publish.yml +34 -0
  4. package/README.md +27 -0
  5. package/angular.json +214 -0
  6. package/build.sh +108 -0
  7. package/cypress.config.ts +40 -0
  8. package/index.html +10 -0
  9. package/npm-publish.sh +11 -0
  10. package/package.json +89 -0
  11. package/projects/onemrva/design-system/README.md +24 -0
  12. package/projects/onemrva/design-system/_index.scss +29 -0
  13. package/projects/onemrva/design-system/_utils.scss +25 -0
  14. package/projects/onemrva/design-system/layout/assets/logo_de.svg +3 -0
  15. package/projects/onemrva/design-system/layout/assets/logo_en.svg +3 -0
  16. package/projects/onemrva/design-system/layout/assets/logo_fr.svg +3 -0
  17. package/projects/onemrva/design-system/layout/assets/logo_nl.svg +3 -0
  18. package/projects/onemrva/design-system/layout/assets/logo_onem_rva.svg +32 -0
  19. package/projects/onemrva/design-system/layout/index.ts +7 -0
  20. package/projects/onemrva/design-system/layout/ng-package.json +6 -0
  21. package/projects/onemrva/design-system/layout/src/components/index.ts +31 -0
  22. package/projects/onemrva/design-system/layout/src/components/layout/_layout-mixin.component.scss +159 -0
  23. package/projects/onemrva/design-system/layout/src/components/layout/layout.component.html +194 -0
  24. package/projects/onemrva/design-system/layout/src/components/layout/layout.component.scss +137 -0
  25. package/projects/onemrva/design-system/layout/src/components/layout/layout.component.spec.ts +24 -0
  26. package/projects/onemrva/design-system/layout/src/components/layout/layout.component.ts +187 -0
  27. package/projects/onemrva/design-system/layout/src/components/layout-content/layout-content.component.spec.ts +24 -0
  28. package/projects/onemrva/design-system/layout/src/components/layout-content/layout-content.component.ts +23 -0
  29. package/projects/onemrva/design-system/layout/src/components/layout-footer/layout-footer.component.ts +11 -0
  30. package/projects/onemrva/design-system/layout/src/components/layout-login-menu/layout-login-menu.component.spec.ts +25 -0
  31. package/projects/onemrva/design-system/layout/src/components/layout-login-menu/layout-login-menu.component.ts +17 -0
  32. package/projects/onemrva/design-system/layout/src/components/layout-route/layout-route.component.html +57 -0
  33. package/projects/onemrva/design-system/layout/src/components/layout-route/layout-route.component.spec.ts +24 -0
  34. package/projects/onemrva/design-system/layout/src/components/layout-route/layout-route.component.ts +56 -0
  35. package/projects/onemrva/design-system/layout/src/components/layout-sidenav/layout-sidenav.component.html +104 -0
  36. package/projects/onemrva/design-system/layout/src/components/layout-sidenav/layout-sidenav.component.ts +88 -0
  37. package/projects/onemrva/design-system/layout/src/components/layout-sidenav-title/layout-sidenav-title.component.ts +9 -0
  38. package/projects/onemrva/design-system/layout/src/components/layout-subroute/layout-subroute.component.html +44 -0
  39. package/projects/onemrva/design-system/layout/src/components/layout-subroute/layout-subroute.component.spec.ts +24 -0
  40. package/projects/onemrva/design-system/layout/src/components/layout-subroute/layout-subroute.component.ts +35 -0
  41. package/projects/onemrva/design-system/layout/src/components/layout-title/layout-title.component.spec.ts +25 -0
  42. package/projects/onemrva/design-system/layout/src/components/layout-title/layout-title.component.ts +17 -0
  43. package/projects/onemrva/design-system/layout/src/decorators/coerce-boolean-input.decorator.ts +19 -0
  44. package/projects/onemrva/design-system/layout/src/decorators/observable-content.decorator.ts +13 -0
  45. package/projects/onemrva/design-system/layout/src/directives/drawer-host.directive.ts +10 -0
  46. package/projects/onemrva/design-system/layout/src/enums/environment.enum.ts +6 -0
  47. package/projects/onemrva/design-system/layout/src/layout.component.spec.ts +24 -0
  48. package/projects/onemrva/design-system/layout/src/layout.module.ts +103 -0
  49. package/projects/onemrva/design-system/layout/src/models/onem-language.model.ts +4 -0
  50. package/projects/onemrva/design-system/layout/src/models/onemrva-profile.model.ts +57 -0
  51. package/projects/onemrva/design-system/layout/src/services/drawer.service.ts +28 -0
  52. package/projects/onemrva/design-system/layout/src/striphtml.pipe.ts +11 -0
  53. package/projects/onemrva/design-system/layout/src/test.ts +25 -0
  54. package/projects/onemrva/design-system/mat-avatar/index.ts +2 -0
  55. package/projects/onemrva/design-system/mat-avatar/ng-package.json +6 -0
  56. package/projects/onemrva/design-system/mat-avatar/src/onemrva-mat-avatar.component.html +17 -0
  57. package/projects/onemrva/design-system/mat-avatar/src/onemrva-mat-avatar.component.scss +130 -0
  58. package/projects/onemrva/design-system/mat-avatar/src/onemrva-mat-avatar.component.ts +421 -0
  59. package/projects/onemrva/design-system/mat-avatar/src/onemrva-mat-avatar.module.ts +17 -0
  60. package/projects/onemrva/design-system/mat-badge/index.ts +6 -0
  61. package/projects/onemrva/design-system/mat-badge/ng-package.json +6 -0
  62. package/projects/onemrva/design-system/mat-badge/src/onemrva-mat-badge.component.scss +152 -0
  63. package/projects/onemrva/design-system/mat-badge/src/onemrva-mat-badge.component.ts +291 -0
  64. package/projects/onemrva/design-system/mat-badge/src/onemrva-mat-badge.module.ts +8 -0
  65. package/projects/onemrva/design-system/mat-breadcrumb/index.ts +7 -0
  66. package/projects/onemrva/design-system/mat-breadcrumb/ng-package.json +6 -0
  67. package/projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.html +37 -0
  68. package/projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.scss +70 -0
  69. package/projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.component.ts +16 -0
  70. package/projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.model.ts +4 -0
  71. package/projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.module.ts +12 -0
  72. package/projects/onemrva/design-system/mat-breadcrumb/src/onemrva-mat-breadcrumb.service.ts +65 -0
  73. package/projects/onemrva/design-system/mat-clipboard/index.ts +6 -0
  74. package/projects/onemrva/design-system/mat-clipboard/ng-package.json +6 -0
  75. package/projects/onemrva/design-system/mat-clipboard/src/_onemrva-mat-spinner.component.scss +62 -0
  76. package/projects/onemrva/design-system/mat-clipboard/src/onemrva-mat-clipboard.component.ts +16 -0
  77. package/projects/onemrva/design-system/mat-clipboard/src/onemrva-mat-clipboard.module.ts +14 -0
  78. package/projects/onemrva/design-system/mat-datepicker-header/index.ts +5 -0
  79. package/projects/onemrva/design-system/mat-datepicker-header/ng-package.json +6 -0
  80. package/projects/onemrva/design-system/mat-datepicker-header/src/_onemrva-mat-datepicker-header.component.scss +11 -0
  81. package/projects/onemrva/design-system/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.html +53 -0
  82. package/projects/onemrva/design-system/mat-datepicker-header/src/onemrva-mat-datepicker-header.component.ts +285 -0
  83. package/projects/onemrva/design-system/mat-file-upload/index.ts +11 -0
  84. package/projects/onemrva/design-system/mat-file-upload/ng-package.json +6 -0
  85. package/projects/onemrva/design-system/mat-file-upload/src/components/index.ts +10 -0
  86. package/projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.html +59 -0
  87. package/projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.scss +24 -0
  88. package/projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-panel/onemrva-file-panel.component.ts +79 -0
  89. package/projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.html +53 -0
  90. package/projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.scss +248 -0
  91. package/projects/onemrva/design-system/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.ts +185 -0
  92. package/projects/onemrva/design-system/mat-file-upload/src/directives/dnd.directive.ts +43 -0
  93. package/projects/onemrva/design-system/mat-file-upload/src/models/action-config.model.ts +10 -0
  94. package/projects/onemrva/design-system/mat-file-upload/src/models/progress-file.model.ts +94 -0
  95. package/projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload-itf.store.ts +79 -0
  96. package/projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.module.ts +28 -0
  97. package/projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.service.ts +68 -0
  98. package/projects/onemrva/design-system/mat-file-upload/src/onemrva-mat-file-upload.store.ts +473 -0
  99. package/projects/onemrva/design-system/mat-input-bank-account/index.ts +5 -0
  100. package/projects/onemrva/design-system/mat-input-bank-account/ng-package.json +6 -0
  101. package/projects/onemrva/design-system/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.html +32 -0
  102. package/projects/onemrva/design-system/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.scss +9 -0
  103. package/projects/onemrva/design-system/mat-input-bank-account/src/onemrva-mat-input-bank-account.component.ts +125 -0
  104. package/projects/onemrva/design-system/mat-input-country/index.ts +6 -0
  105. package/projects/onemrva/design-system/mat-input-country/ng-package.json +6 -0
  106. package/projects/onemrva/design-system/mat-input-country/src/countries.ts +3182 -0
  107. package/projects/onemrva/design-system/mat-input-country/src/onemrva-mat-input-country.component.html +29 -0
  108. package/projects/onemrva/design-system/mat-input-country/src/onemrva-mat-input-country.component.scss +29 -0
  109. package/projects/onemrva/design-system/mat-input-country/src/onemrva-mat-input-country.component.ts +144 -0
  110. package/projects/onemrva/design-system/mat-input-enterprise-number/index.ts +5 -0
  111. package/projects/onemrva/design-system/mat-input-enterprise-number/ng-package.json +6 -0
  112. package/projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.html +39 -0
  113. package/projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.scss +25 -0
  114. package/projects/onemrva/design-system/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.ts +190 -0
  115. package/projects/onemrva/design-system/mat-input-phone/index.ts +6 -0
  116. package/projects/onemrva/design-system/mat-input-phone/ng-package.json +6 -0
  117. package/projects/onemrva/design-system/mat-input-phone/src/onemrva-mat-input-phone.component.html +43 -0
  118. package/projects/onemrva/design-system/mat-input-phone/src/onemrva-mat-input-phone.component.scss +29 -0
  119. package/projects/onemrva/design-system/mat-input-phone/src/onemrva-mat-input-phone.component.ts +261 -0
  120. package/projects/onemrva/design-system/mat-input-phone/src/phone-number.directive.ts +47 -0
  121. package/projects/onemrva/design-system/mat-message-box/index.ts +2 -0
  122. package/projects/onemrva/design-system/mat-message-box/ng-package.json +6 -0
  123. package/projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.component.scss +60 -0
  124. package/projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.component.ts +134 -0
  125. package/projects/onemrva/design-system/mat-message-box/src/onemrva-mat-message-box.module.ts +12 -0
  126. package/projects/onemrva/design-system/mat-multi-select/index.ts +2 -0
  127. package/projects/onemrva/design-system/mat-multi-select/ng-package.json +6 -0
  128. package/projects/onemrva/design-system/mat-multi-select/src/_onemrva-mat-multi-select.component.scss +66 -0
  129. package/projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.component.html +24 -0
  130. package/projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.component.ts +152 -0
  131. package/projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.module.ts +31 -0
  132. package/projects/onemrva/design-system/mat-notification/index.ts +1 -0
  133. package/projects/onemrva/design-system/mat-notification/ng-package.json +6 -0
  134. package/projects/onemrva/design-system/mat-notification/src/_onemrva-mat-notification.component.scss +71 -0
  135. package/projects/onemrva/design-system/mat-notification/src/onemrva-mat-notification.component.html +10 -0
  136. package/projects/onemrva/design-system/mat-notification/src/onemrva-mat-notification.component.ts +158 -0
  137. package/projects/onemrva/design-system/mat-paginator/index.ts +6 -0
  138. package/projects/onemrva/design-system/mat-paginator/ng-package.json +7 -0
  139. package/projects/onemrva/design-system/mat-paginator/package.json +7 -0
  140. package/projects/onemrva/design-system/mat-paginator/src/_onemrva-mat-paginator.component.scss +122 -0
  141. package/projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.component.html +104 -0
  142. package/projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.component.spec.ts +184 -0
  143. package/projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.component.ts +214 -0
  144. package/projects/onemrva/design-system/mat-paginator/src/onemrva-mat-paginator.module.ts +15 -0
  145. package/projects/onemrva/design-system/mat-panel/index.ts +6 -0
  146. package/projects/onemrva/design-system/mat-panel/ng-package.json +6 -0
  147. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel-content.component.ts +12 -0
  148. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel-content.html +5 -0
  149. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel-icon.component.ts +12 -0
  150. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel-icon.html +5 -0
  151. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel-title-action.component.ts +12 -0
  152. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel-title-action.html +5 -0
  153. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel-title.component.ts +20 -0
  154. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel-title.html +8 -0
  155. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel.component.html +10 -0
  156. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel.component.scss +100 -0
  157. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel.component.ts +122 -0
  158. package/projects/onemrva/design-system/mat-panel/src/onemrva-mat-panel.module.ts +26 -0
  159. package/projects/onemrva/design-system/mat-pop-over/index.ts +4 -0
  160. package/projects/onemrva/design-system/mat-pop-over/ng-package.json +6 -0
  161. package/projects/onemrva/design-system/mat-pop-over/src/onemrva-mat-pop-over-content.component.ts +13 -0
  162. package/projects/onemrva/design-system/mat-pop-over/src/onemrva-mat-pop-over-trigger.component.ts +13 -0
  163. package/projects/onemrva/design-system/mat-pop-over/src/onemrva-mat-pop-over.component.html +29 -0
  164. package/projects/onemrva/design-system/mat-pop-over/src/onemrva-mat-pop-over.component.scss +141 -0
  165. package/projects/onemrva/design-system/mat-pop-over/src/onemrva-mat-pop-over.component.ts +47 -0
  166. package/projects/onemrva/design-system/mat-pop-over/src/onemrva-mat-pop-over.module.ts +19 -0
  167. package/projects/onemrva/design-system/mat-progress-bar/index.ts +1 -0
  168. package/projects/onemrva/design-system/mat-progress-bar/ng-package.json +6 -0
  169. package/projects/onemrva/design-system/mat-progress-bar/src/_onemrva-mat-progress-bar-mixin.component.scss +37 -0
  170. package/projects/onemrva/design-system/mat-progress-bar/src/onemrva-mat-progress-bar.component.html +13 -0
  171. package/projects/onemrva/design-system/mat-progress-bar/src/onemrva-mat-progress-bar.component.ts +27 -0
  172. package/projects/onemrva/design-system/mat-select-search/index.ts +3 -0
  173. package/projects/onemrva/design-system/mat-select-search/ng-package.json +6 -0
  174. package/projects/onemrva/design-system/mat-select-search/src/default-options.ts +42 -0
  175. package/projects/onemrva/design-system/mat-select-search/src/mat-select-no-entries-found.directive.ts +15 -0
  176. package/projects/onemrva/design-system/mat-select-search/src/mat-select-search-clear.directive.ts +13 -0
  177. package/projects/onemrva/design-system/mat-select-search/src/mat-select-search.component.html +67 -0
  178. package/projects/onemrva/design-system/mat-select-search/src/mat-select-search.component.scss +126 -0
  179. package/projects/onemrva/design-system/mat-select-search/src/mat-select-search.component.spec.ts +790 -0
  180. package/projects/onemrva/design-system/mat-select-search/src/mat-select-search.component.ts +612 -0
  181. package/projects/onemrva/design-system/mat-select-search/src/mat-select-search.module.ts +53 -0
  182. package/projects/onemrva/design-system/mat-side-menu/index.ts +6 -0
  183. package/projects/onemrva/design-system/mat-side-menu/ng-package.json +6 -0
  184. package/projects/onemrva/design-system/mat-side-menu/src/onemrva-mat-side-menu.component.html +36 -0
  185. package/projects/onemrva/design-system/mat-side-menu/src/onemrva-mat-side-menu.component.scss +50 -0
  186. package/projects/onemrva/design-system/mat-side-menu/src/onemrva-mat-side-menu.component.spec.ts +66 -0
  187. package/projects/onemrva/design-system/mat-side-menu/src/onemrva-mat-side-menu.component.ts +46 -0
  188. package/projects/onemrva/design-system/mat-side-menu/src/onemrva-mat-side-menu.module.ts +14 -0
  189. package/projects/onemrva/design-system/mat-skeleton/index.ts +3 -0
  190. package/projects/onemrva/design-system/mat-skeleton/ng-package.json +6 -0
  191. package/projects/onemrva/design-system/mat-skeleton/src/onemrva-mat-skeleton-enums.ts +32 -0
  192. package/projects/onemrva/design-system/mat-skeleton/src/onemrva-mat-skeleton.component.html +17 -0
  193. package/projects/onemrva/design-system/mat-skeleton/src/onemrva-mat-skeleton.component.scss +216 -0
  194. package/projects/onemrva/design-system/mat-skeleton/src/onemrva-mat-skeleton.component.ts +173 -0
  195. package/projects/onemrva/design-system/mat-skeleton/src/onemrva-mat-skeleton.module.ts +16 -0
  196. package/projects/onemrva/design-system/mat-spinner/index.ts +6 -0
  197. package/projects/onemrva/design-system/mat-spinner/ng-package.json +6 -0
  198. package/projects/onemrva/design-system/mat-spinner/src/_onemrva-mat-spinner.component.scss +62 -0
  199. package/projects/onemrva/design-system/mat-spinner/src/onemrva-mat-spinner.component.ts +11 -0
  200. package/projects/onemrva/design-system/mat-spinner/src/onemrva-mat-spinner.module.ts +8 -0
  201. package/projects/onemrva/design-system/mat-stepper/index.ts +6 -0
  202. package/projects/onemrva/design-system/mat-stepper/ng-package.json +6 -0
  203. package/projects/onemrva/design-system/mat-stepper/src/_stepper-variables.scss +29 -0
  204. package/projects/onemrva/design-system/mat-stepper/src/onemrva-mat-stepper.component.spec.ts +23 -0
  205. package/projects/onemrva/design-system/mat-stepper/src/onemrva-mat-stepper.component.ts +60 -0
  206. package/projects/onemrva/design-system/mat-stepper/src/onemrva-mat-stepper.html +53 -0
  207. package/projects/onemrva/design-system/mat-stepper/src/onemrva-mat-stepper.module.ts +30 -0
  208. package/projects/onemrva/design-system/mat-stepper/src/onemrva-mat-stepper.scss +106 -0
  209. package/projects/onemrva/design-system/mat-stepper/src/onemrva-stepper-animations.ts +40 -0
  210. package/projects/onemrva/design-system/mat-table-of-content/index.ts +8 -0
  211. package/projects/onemrva/design-system/mat-table-of-content/ng-package.json +6 -0
  212. package/projects/onemrva/design-system/mat-table-of-content/src/_onemrva-mat-table-of-content.component.scss +79 -0
  213. package/projects/onemrva/design-system/mat-table-of-content/src/onemrva-mat-table-of-content.component.html +23 -0
  214. package/projects/onemrva/design-system/mat-table-of-content/src/onemrva-mat-table-of-content.component.ts +128 -0
  215. package/projects/onemrva/design-system/mat-table-of-content/src/onemrva-mat-table-of-content.directive.ts +67 -0
  216. package/projects/onemrva/design-system/mat-table-of-content/src/onemrva-mat-table-of-content.service.ts +51 -0
  217. package/projects/onemrva/design-system/mat-table-of-content/src/onemrva-mat-toc-anchor.model.ts +24 -0
  218. package/projects/onemrva/design-system/mat-task-list/index.ts +5 -0
  219. package/projects/onemrva/design-system/mat-task-list/ng-package.json +6 -0
  220. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task-content.component.ts +12 -0
  221. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task-content.html +5 -0
  222. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task-list.component.html +1 -0
  223. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task-list.component.scss +150 -0
  224. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task-list.component.ts +50 -0
  225. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task-list.module.ts +31 -0
  226. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task-title.component.ts +18 -0
  227. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task-title.html +5 -0
  228. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task.component.html +17 -0
  229. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task.component.scss +0 -0
  230. package/projects/onemrva/design-system/mat-task-list/src/onemrva-mat-task.component.ts +117 -0
  231. package/projects/onemrva/design-system/mat-timepicker/index.ts +6 -0
  232. package/projects/onemrva/design-system/mat-timepicker/ng-package.json +6 -0
  233. package/projects/onemrva/design-system/mat-timepicker/src/clock/clock.component.html +42 -0
  234. package/projects/onemrva/design-system/mat-timepicker/src/clock/clock.component.scss +129 -0
  235. package/projects/onemrva/design-system/mat-timepicker/src/clock/clock.component.spec.ts +25 -0
  236. package/projects/onemrva/design-system/mat-timepicker/src/clock/clock.component.ts +273 -0
  237. package/projects/onemrva/design-system/mat-timepicker/src/interfaces-and-types.ts +16 -0
  238. package/projects/onemrva/design-system/mat-timepicker/src/onemrva-mat-timepicker.component.html +0 -0
  239. package/projects/onemrva/design-system/mat-timepicker/src/onemrva-mat-timepicker.component.ts +289 -0
  240. package/projects/onemrva/design-system/mat-timepicker/src/onemrva-mat-timepicker.module.ts +40 -0
  241. package/projects/onemrva/design-system/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.html +53 -0
  242. package/projects/onemrva/design-system/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.scss +69 -0
  243. package/projects/onemrva/design-system/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.spec.ts +25 -0
  244. package/projects/onemrva/design-system/mat-timepicker/src/timepicker-dialog/timepicker-dialog.component.ts +169 -0
  245. package/projects/onemrva/design-system/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.html +15 -0
  246. package/projects/onemrva/design-system/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.scss +32 -0
  247. package/projects/onemrva/design-system/mat-timepicker/src/timepicker-toggle/timepicker-toggle.component.ts +135 -0
  248. package/projects/onemrva/design-system/mat-timepicker/src/timepicker.directive.ts +594 -0
  249. package/projects/onemrva/design-system/mat-timepicker/src/util.ts +97 -0
  250. package/projects/onemrva/design-system/mat-toast/index.ts +6 -0
  251. package/projects/onemrva/design-system/mat-toast/ng-package.json +6 -0
  252. package/projects/onemrva/design-system/mat-toast/src/onemrva-mat-toast.component.scss +54 -0
  253. package/projects/onemrva/design-system/mat-toast/src/onemrva-mat-toast.component.ts +36 -0
  254. package/projects/onemrva/design-system/mat-toast/src/onemrva-mat-toast.module.ts +11 -0
  255. package/projects/onemrva/design-system/mat-tooltip/index.ts +4 -0
  256. package/projects/onemrva/design-system/mat-tooltip/ng-package.json +6 -0
  257. package/projects/onemrva/design-system/mat-tooltip/src/onemrva-mat-tooltip.component.scss +9 -0
  258. package/projects/onemrva/design-system/mat-tooltip/src/onemrva-mat-tooltip.component.ts +21 -0
  259. package/projects/onemrva/design-system/mat-tooltip/src/onemrva-mat-tooltip.directive.ts +119 -0
  260. package/projects/onemrva/design-system/mat-tooltip/src/onemrva-mat-tooltip.module.ts +11 -0
  261. package/projects/onemrva/design-system/ng-package.json +20 -0
  262. package/projects/onemrva/design-system/package.json +27 -0
  263. package/projects/onemrva/design-system/page-not-found/assets/404/Arri/303/250re-plan.svg +22 -0
  264. package/projects/onemrva/design-system/page-not-found/assets/404/Halo.svg +10 -0
  265. package/projects/onemrva/design-system/page-not-found/assets/404/Ombre.svg +3 -0
  266. package/projects/onemrva/design-system/page-not-found/assets/404/Page.svg +21 -0
  267. package/projects/onemrva/design-system/page-not-found/assets/404/Page2.svg +19 -0
  268. package/projects/onemrva/design-system/page-not-found/assets/404/Soucoupe.svg +70 -0
  269. package/projects/onemrva/design-system/page-not-found/assets/404/Yeux.svg +6 -0
  270. package/projects/onemrva/design-system/page-not-found/assets/404/shape.svg +3 -0
  271. package/projects/onemrva/design-system/page-not-found/index.ts +5 -0
  272. package/projects/onemrva/design-system/page-not-found/ng-package.json +9 -0
  273. package/projects/onemrva/design-system/page-not-found/src/page-not-found-action.component.ts +9 -0
  274. package/projects/onemrva/design-system/page-not-found/src/page-not-found-extra.component.ts +9 -0
  275. package/projects/onemrva/design-system/page-not-found/src/page-not-found-invader.component.scss +16 -0
  276. package/projects/onemrva/design-system/page-not-found/src/page-not-found-invader.component.ts +84 -0
  277. package/projects/onemrva/design-system/page-not-found/src/page-not-found-mixin.component.scss +12 -0
  278. package/projects/onemrva/design-system/page-not-found/src/page-not-found.component.html +31 -0
  279. package/projects/onemrva/design-system/page-not-found/src/page-not-found.component.scss +206 -0
  280. package/projects/onemrva/design-system/page-not-found/src/page-not-found.component.ts +59 -0
  281. package/projects/onemrva/design-system/page-not-found/src/page-not-found.module.ts +24 -0
  282. package/projects/onemrva/design-system/src/public-api.ts +5 -0
  283. package/projects/onemrva/design-system/tsconfig.lib.json +12 -0
  284. package/projects/onemrva/design-system/tsconfig.lib.prod.json +10 -0
  285. package/projects/onemrva/design-system/utils/index.ts +2 -0
  286. package/projects/onemrva/design-system/utils/ng-package.json +6 -0
  287. package/projects/onemrva/design-system/utils/src/enum.utils.ts +6 -0
  288. package/projects/onemrva/design-system/utils/src/enums/color.enum.ts +14 -0
  289. package/projects/onemrva/design-system/utils/src/enums/index.ts +2 -0
  290. package/projects/onemrva/design-system/utils/src/enums/size.enum.ts +11 -0
  291. package/projects/schematics/README.md +40 -0
  292. package/projects/schematics/package.json +25 -0
  293. package/projects/schematics/src/cmp-demo/schema.json +15 -0
  294. package/projects/schematics/src/collection.json +17 -0
  295. package/projects/schematics/src/component/files/root/ng-package.json +6 -0
  296. package/projects/schematics/src/component/files/src/onemrva-mat-__name__.component.html +4 -0
  297. package/projects/schematics/src/component/schema.json +11 -0
  298. package/projects/schematics/src/demo/files/demo/demo-__name__.component.html +2 -0
  299. package/projects/schematics/src/demo/files/demo/readme.md +26 -0
  300. package/projects/schematics/src/demo/schema.json +15 -0
  301. package/projects/schematics/tsconfig.json +24 -0
  302. package/projects/test/.nycrc +5 -0
  303. package/projects/test/cypress/coverage.webpack.ts +20 -0
  304. package/projects/test/cypress/cucumber-json/basictest.cucumber.json +402 -0
  305. package/projects/test/cypress/fixtures/example.json +5 -0
  306. package/projects/test/cypress/integration/basictest.feature +53 -0
  307. package/projects/test/cypress/integration/common/basicTestSteps.ts +54 -0
  308. package/projects/test/cypress/plugins/index.ts +13 -0
  309. package/projects/test/cypress/support/commands.ts +44 -0
  310. package/projects/test/cypress/support/e2e.ts +20 -0
  311. package/projects/test/cypress/tsconfig.json +10 -0
  312. package/projects/test/cypress/videos/basictest.feature.mp4 +0 -0
  313. package/projects/test/karma.conf.js +44 -0
  314. package/projects/test/src/app/app-routing.module.ts +14 -0
  315. package/projects/test/src/app/app.component.html +14 -0
  316. package/projects/test/src/app/app.component.scss +0 -0
  317. package/projects/test/src/app/app.component.spec.ts +35 -0
  318. package/projects/test/src/app/app.component.ts +51 -0
  319. package/projects/test/src/app/app.module.ts +103 -0
  320. package/projects/test/src/app/demos/avatar/demo-avatar.component.html +77 -0
  321. package/projects/test/src/app/demos/avatar/demo-avatar.component.scss +4 -0
  322. package/projects/test/src/app/demos/avatar/demo-avatar.component.ts +13 -0
  323. package/projects/test/src/app/demos/badge/demo-badge.component.html +389 -0
  324. package/projects/test/src/app/demos/badge/demo-badge.component.scss +4 -0
  325. package/projects/test/src/app/demos/badge/demo-badge.component.ts +22 -0
  326. package/projects/test/src/app/demos/badge/readme.md +30 -0
  327. package/projects/test/src/app/demos/breadcrumb/demo-breadcrumb.component.html +20 -0
  328. package/projects/test/src/app/demos/breadcrumb/demo-breadcrumb.component.ts +7 -0
  329. package/projects/test/src/app/demos/breadcrumb/demo-breadcrumb.module.ts +89 -0
  330. package/projects/test/src/app/demos/breadcrumb/readme.md +29 -0
  331. package/projects/test/src/app/demos/datepicker/demo-datepicker.component.html +10 -0
  332. package/projects/test/src/app/demos/datepicker/demo-datepicker.component.scss +5 -0
  333. package/projects/test/src/app/demos/datepicker/demo-datepicker.component.ts +12 -0
  334. package/projects/test/src/app/demos/datepicker/demo-datepicker.module.ts +43 -0
  335. package/projects/test/src/app/demos/datepicker/readme.md +36 -0
  336. package/projects/test/src/app/demos/file-upload/demo-file-upload.component.html +30 -0
  337. package/projects/test/src/app/demos/file-upload/demo-file-upload.component.ts +132 -0
  338. package/projects/test/src/app/demos/file-upload/demo-file-upload.service.ts +60 -0
  339. package/projects/test/src/app/demos/file-upload/readme.md +26 -0
  340. package/projects/test/src/app/demos/input-bank-account/demo-input-bank-account.component.ts +19 -0
  341. package/projects/test/src/app/demos/input-bank-account/demo-input-bank-account.module.ts +20 -0
  342. package/projects/test/src/app/demos/input-country/demo-input-country.component.html +9 -0
  343. package/projects/test/src/app/demos/input-country/demo-input-country.component.ts +14 -0
  344. package/projects/test/src/app/demos/input-country/demo-input-country.module.ts +26 -0
  345. package/projects/test/src/app/demos/input-enterprise-number/demo-input-enterprise-number.component.ts +13 -0
  346. package/projects/test/src/app/demos/input-enterprise-number/demo-input-enterprise-number.module.ts +20 -0
  347. package/projects/test/src/app/demos/input-phone/demo-input-phone.component.html +16 -0
  348. package/projects/test/src/app/demos/input-phone/demo-input-phone.component.ts +16 -0
  349. package/projects/test/src/app/demos/input-phone/demo-input-phone.module.ts +21 -0
  350. package/projects/test/src/app/demos/message-box/demo-message-box.component.html +32 -0
  351. package/projects/test/src/app/demos/message-box/demo-message-box.component.ts +12 -0
  352. package/projects/test/src/app/demos/message-box/readme.md +26 -0
  353. package/projects/test/src/app/demos/multiselect/demo-multiselect.component.html +53 -0
  354. package/projects/test/src/app/demos/multiselect/demo-multiselect.component.scss +23 -0
  355. package/projects/test/src/app/demos/multiselect/demo-multiselect.component.ts +53 -0
  356. package/projects/test/src/app/demos/multiselect/demo-multiselect.module.ts +38 -0
  357. package/projects/test/src/app/demos/multiselect/readme.md +34 -0
  358. package/projects/test/src/app/demos/not-found/demo-not-found.component.html +21 -0
  359. package/projects/test/src/app/demos/not-found/demo-not-found.component.scss +6 -0
  360. package/projects/test/src/app/demos/not-found/demo-not-found.component.ts +50 -0
  361. package/projects/test/src/app/demos/not-found/readme.md +44 -0
  362. package/projects/test/src/app/demos/notification/demo-notification.component.html +5 -0
  363. package/projects/test/src/app/demos/notification/demo-notification.component.ts +10 -0
  364. package/projects/test/src/app/demos/paginator/demo-paginator.component.html +35 -0
  365. package/projects/test/src/app/demos/paginator/demo-paginator.component.ts +25 -0
  366. package/projects/test/src/app/demos/paginator/readme.md +89 -0
  367. package/projects/test/src/app/demos/panel/demo-panel.component.html +53 -0
  368. package/projects/test/src/app/demos/panel/demo-panel.component.scss +3 -0
  369. package/projects/test/src/app/demos/panel/demo-panel.component.ts +20 -0
  370. package/projects/test/src/app/demos/panel/readme.md +26 -0
  371. package/projects/test/src/app/demos/pop-over/demo-pop-over.component.html +130 -0
  372. package/projects/test/src/app/demos/pop-over/demo-pop-over.component.scss +9 -0
  373. package/projects/test/src/app/demos/pop-over/demo-pop-over.component.ts +13 -0
  374. package/projects/test/src/app/demos/pop-over/readme.md +26 -0
  375. package/projects/test/src/app/demos/progress-bar/demo-progress-bar.component.html +19 -0
  376. package/projects/test/src/app/demos/progress-bar/demo-progress-bar.component.ts +35 -0
  377. package/projects/test/src/app/demos/side-menu/demo-side-menu.component.html +5 -0
  378. package/projects/test/src/app/demos/side-menu/demo-side-menu.component.ts +34 -0
  379. package/projects/test/src/app/demos/side-menu/readme.md +30 -0
  380. package/projects/test/src/app/demos/skeleton/demo-skeleton.component.html +119 -0
  381. package/projects/test/src/app/demos/skeleton/demo-skeleton.component.scss +0 -0
  382. package/projects/test/src/app/demos/skeleton/demo-skeleton.component.ts +35 -0
  383. package/projects/test/src/app/demos/spinner/demo-spinner.component.html +1 -0
  384. package/projects/test/src/app/demos/spinner/demo-spinner.component.ts +10 -0
  385. package/projects/test/src/app/demos/spinner/readme.md +24 -0
  386. package/projects/test/src/app/demos/summary-stepper/demo-summary-stepper.component.html +108 -0
  387. package/projects/test/src/app/demos/summary-stepper/demo-summary-stepper.component.scss +3 -0
  388. package/projects/test/src/app/demos/summary-stepper/demo-summary-stepper.component.ts +55 -0
  389. package/projects/test/src/app/demos/summary-stepper/readme.md +26 -0
  390. package/projects/test/src/app/demos/table/demo-table-datasource.ts +140 -0
  391. package/projects/test/src/app/demos/table/demo-table.component.html +41 -0
  392. package/projects/test/src/app/demos/table/demo-table.component.scss +17 -0
  393. package/projects/test/src/app/demos/table/demo-table.component.ts +51 -0
  394. package/projects/test/src/app/demos/table/demo-table.module.ts +45 -0
  395. package/projects/test/src/app/demos/table/readme.md +27 -0
  396. package/projects/test/src/app/demos/task-list/demo-task-list.component.html +37 -0
  397. package/projects/test/src/app/demos/task-list/demo-task-list.component.scss +3 -0
  398. package/projects/test/src/app/demos/task-list/demo-task-list.component.ts +14 -0
  399. package/projects/test/src/app/demos/task-list/demo-task-list.module.ts +29 -0
  400. package/projects/test/src/app/demos/task-list/readme.md +26 -0
  401. package/projects/test/src/app/demos/timepicker/demo-timepicker.component.html +9 -0
  402. package/projects/test/src/app/demos/timepicker/demo-timepicker.component.ts +31 -0
  403. package/projects/test/src/app/demos/timepicker/readme.md +26 -0
  404. package/projects/test/src/app/demos/toast/demo-toast.component.html +8 -0
  405. package/projects/test/src/app/demos/toast/demo-toast.component.scss +3 -0
  406. package/projects/test/src/app/demos/toast/demo-toast.component.ts +61 -0
  407. package/projects/test/src/app/demos/toast/readme.md +30 -0
  408. package/projects/test/src/app/demos/toc/demo-toc.component.html +288 -0
  409. package/projects/test/src/app/demos/toc/demo-toc.component.ts +26 -0
  410. package/projects/test/src/app/demos/tooltip/demo-tooltip.component.html +73 -0
  411. package/projects/test/src/app/demos/tooltip/demo-tooltip.component.scss +11 -0
  412. package/projects/test/src/app/demos/tooltip/demo-tooltip.component.ts +14 -0
  413. package/projects/test/src/app/home.component.ts +54 -0
  414. package/projects/test/src/app/material.module.ts +39 -0
  415. package/projects/test/src/app/onemrva-translate-http-loader.ts +35 -0
  416. package/projects/test/src/app/routes.ts +198 -0
  417. package/projects/test/src/assets/.gitkeep +0 -0
  418. package/projects/test/src/assets/i18n/de.json +80 -0
  419. package/projects/test/src/assets/i18n/en.json +80 -0
  420. package/projects/test/src/assets/i18n/fr.json +80 -0
  421. package/projects/test/src/assets/i18n/nl.json +79 -0
  422. package/projects/test/src/environments/environment.e2e.ts +3 -0
  423. package/projects/test/src/environments/environment.prod.ts +3 -0
  424. package/projects/test/src/environments/environment.ts +16 -0
  425. package/projects/test/src/favicon.ico +0 -0
  426. package/projects/test/src/index.html +15 -0
  427. package/projects/test/src/main.ts +12 -0
  428. package/projects/test/src/polyfills.ts +53 -0
  429. package/projects/test/src/styles.scss +22 -0
  430. package/projects/test/src/test.ts +26 -0
  431. package/projects/test/tsconfig.app.json +15 -0
  432. package/projects/test/tsconfig.spec.json +18 -0
  433. package/rva.crt +36 -0
  434. package/tsconfig.json +44 -0
@@ -0,0 +1,289 @@
1
+ import {
2
+ Component,
3
+ EventEmitter,
4
+ HostBinding,
5
+ Input,
6
+ Output,
7
+ } from '@angular/core';
8
+ import { OnemrvaMatColor, OnemrvaMatSize } from '@onemrvapublic/design-system/utils';
9
+ import { MatTimepickerComponentDialogComponent } from './timepicker-dialog/timepicker-dialog.component';
10
+ import { Subject } from 'rxjs';
11
+ import { MatDialog, MatDialogRef } from '@angular/material/dialog';
12
+ import { MatTimepickerDirective } from './timepicker.directive';
13
+ import { ThemePalette } from '@angular/material/core';
14
+ import { first, takeUntil } from 'rxjs/operators';
15
+
16
+ let NEXT_ID = 0;
17
+
18
+ @Component({
19
+ selector: 'mat-timepicker',
20
+ templateUrl: 'onemrva-mat-timepicker.component.html',
21
+ })
22
+ export class OnemrvaMatTimepickerComponent {
23
+ public modalRef!: MatDialogRef<MatTimepickerComponentDialogComponent>;
24
+ private onChangeFn: any;
25
+ private _value!: Date;
26
+
27
+ get value(): Date {
28
+ return this._value;
29
+ }
30
+
31
+ set value(value: Date) {
32
+ this._value = value;
33
+ }
34
+
35
+ private isAlive: Subject<any> = new Subject<any>();
36
+
37
+ constructor(public dialog: MatDialog) {}
38
+
39
+ opened: boolean = false;
40
+
41
+ public setTimepickerInput(t: MatTimepickerDirective) {
42
+ this.timepickerInput = t;
43
+ }
44
+ timepickerInput: any;
45
+
46
+ /** Emits when the timepicker's state changes. */
47
+ readonly stateChanges = new Subject<void>();
48
+
49
+ /** Emits when the timepicker has been opened. */
50
+ @Output('opened') readonly openedStream = new EventEmitter<void>();
51
+
52
+ /** Emits when the timepicker has been closed. */
53
+ @Output('closed') readonly closedStream = new EventEmitter<void>();
54
+
55
+ /**
56
+ * Returns the `aria-label` attribute of the element.
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * let timepickerLabel = this.timepicker.ariaLabel;
61
+ * ```
62
+ *
63
+ */
64
+ @HostBinding('attr.aria-label')
65
+ public ariaLabel = '';
66
+
67
+ /**
68
+ * Returns the `role` attribute of the element.
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * let timepickerRole = this.timepicker.role;
73
+ * ```
74
+ */
75
+ @HostBinding('attr.role')
76
+ public role = '';
77
+
78
+ /**
79
+ * Host `class.onemrva-mat-timepicker` binding.
80
+ *
81
+ * @hidden
82
+ * @internal
83
+ */
84
+ @HostBinding('class.onemrva-mat-timepicker')
85
+ public cssClass = 'onemrva-mat-timepicker';
86
+
87
+ /**
88
+ * Sets the `id` of the element. If not set, the first component instance will have `id` = `"onemrva-mat-timepicker-0"`.
89
+ *
90
+ * @example
91
+ * ```html
92
+ * <onemrva-mat-timepicker id="my-first-timepicker"></onemrva-mat-timepicker>
93
+ * ```
94
+ */
95
+ @HostBinding('attr.id')
96
+ @Input()
97
+ public id = `onemrva-mat-timepicker-${NEXT_ID++}`;
98
+
99
+ /**
100
+ * Sets the `data-cy` of the element. If not set, the first component instance will have `data-cy` = `"onemrva-mat-timepicker-0"`.
101
+ *
102
+ * @example
103
+ * ```html
104
+ * <onemrva-mat-timepicker id="my-first-timepicker"></onemrva-mat-timepicker>
105
+ * ```
106
+ */
107
+ @HostBinding('attr.data-cy')
108
+ @Input()
109
+ public dataCy = `onemrva-mat-timepicker-${NEXT_ID++}`;
110
+
111
+ /**
112
+ * @hidden
113
+ * @internal
114
+ */
115
+ private _color: ThemePalette = 'primary';
116
+
117
+ /**
118
+ * Returns the color of the element.
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * let color = this.timepicker.color;
123
+ * ```
124
+ */
125
+ @Input()
126
+ public get color(): ThemePalette {
127
+ return this._color;
128
+ }
129
+
130
+ /**
131
+ * Sets the size of the element.
132
+ * By default, the color is `"primary"`.
133
+ *
134
+ * @example
135
+ * ```html
136
+ * <onemrva-mat-timepicker size="large"></onemrva-mat-timepicker>
137
+ * ```
138
+ */
139
+ public set color(value: ThemePalette) {
140
+ switch (value) {
141
+ case OnemrvaMatColor.PRIMARY:
142
+ case OnemrvaMatColor.ACCENT:
143
+ case OnemrvaMatColor.WARN:
144
+ this._color = value;
145
+ break;
146
+ default:
147
+ this._color = OnemrvaMatColor.PRIMARY;
148
+ }
149
+ }
150
+
151
+ /** @hidden @internal */
152
+ @HostBinding('class.mat-primary')
153
+ public get _isPrimary(): boolean {
154
+ return this.color === OnemrvaMatColor.PRIMARY;
155
+ }
156
+ /** @hidden @internal */
157
+ @HostBinding('class.mat-accent')
158
+ public get _isAccent(): boolean {
159
+ return this.color === OnemrvaMatColor.ACCENT;
160
+ }
161
+ /**
162
+ * @hidden
163
+ * @internal
164
+ */
165
+ private _size: string | OnemrvaMatSize = OnemrvaMatSize.SMALL;
166
+
167
+ /**
168
+ * Returns the size of the element.
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * let timepickerSize = this.timepicker.size;
173
+ * ```
174
+ */
175
+ @Input()
176
+ public get size(): string | OnemrvaMatSize {
177
+ return this._size;
178
+ }
179
+
180
+ /**
181
+ * Sets the size of the element.
182
+ * By default, the size is `"medium"`.
183
+ *
184
+ * @example
185
+ * ```html
186
+ * <onemrva-mat-timepicker size="large"></onemrva-mat-timepicker>
187
+ * ```
188
+ */
189
+ public set size(value: string | OnemrvaMatSize) {
190
+ switch (value) {
191
+ case OnemrvaMatSize.XSMALL:
192
+ case OnemrvaMatSize.SMALL:
193
+ case OnemrvaMatSize.MEDIUM:
194
+ case OnemrvaMatSize.LARGE:
195
+ case OnemrvaMatSize.XLARGE:
196
+ this._size = value;
197
+ break;
198
+ default:
199
+ this._size = OnemrvaMatSize.MEDIUM;
200
+ }
201
+ }
202
+
203
+ open() {
204
+ if (this.timepickerInput.disabled) {
205
+ return;
206
+ }
207
+
208
+ this.value = this.timepickerInput.currentValue;
209
+ if (this.value === undefined || this.value === null) {
210
+ this.value = new Date();
211
+ }
212
+
213
+ this.modalRef = this.dialog.open(MatTimepickerComponentDialogComponent, {
214
+ autoFocus: false,
215
+ data: {
216
+ value: this.timepickerInput.currentValue,
217
+ okLabel: this.timepickerInput.okLabel,
218
+ cancelLabel: this.timepickerInput.cancelLabel,
219
+ color: this.color,
220
+ minDate: this.timepickerInput.minDate,
221
+ maxDate: this.timepickerInput.maxDate,
222
+ allowed24HourMap: this.timepickerInput.allowed24HourMap,
223
+ },
224
+ });
225
+
226
+ const instance = this.modalRef.componentInstance;
227
+ instance.changeEvent
228
+ .pipe(takeUntil(this.isAlive))
229
+ .subscribe(this.handleChange);
230
+ instance.okClickEvent
231
+ .pipe(takeUntil(this.isAlive))
232
+ .subscribe(this.handleOk);
233
+ instance.cancelClickEvent
234
+ .pipe(takeUntil(this.isAlive))
235
+ .subscribe(this.handleCancel);
236
+ this.modalRef
237
+ .beforeClosed()
238
+ .pipe(first())
239
+ .subscribe(() => (instance.isClosing = true));
240
+ this.modalRef
241
+ .afterClosed()
242
+ .pipe(first())
243
+ .subscribe(() => {
244
+ if (this.timepickerInput.onTouchedFn) {
245
+ this.timepickerInput.onTouchedFn();
246
+ }
247
+ //this.modalRef = null;
248
+ this.timepickerInput.elRef.nativeElement.focus();
249
+ });
250
+ this.timepickerInput.currentValue = this.value as Date;
251
+ }
252
+
253
+ handleChange = (newValue: Date) => {
254
+ if (!(newValue instanceof Date)) {
255
+ return;
256
+ }
257
+ const v =
258
+ this.value instanceof Date ? new Date(this.value.getTime()) : new Date();
259
+ v.setHours(newValue.getHours());
260
+ v.setMinutes(newValue.getMinutes());
261
+ v.setSeconds(0);
262
+ v.setMilliseconds(0);
263
+ this.value = v;
264
+ };
265
+
266
+ handleOk = () => {
267
+ if (this.onChangeFn) {
268
+ this.onChangeFn(this.value);
269
+ }
270
+ this.timepickerInput.value = this.value;
271
+ this.modalRef.close();
272
+ };
273
+
274
+ handleCancel = () => {
275
+ this.modalRef.close();
276
+ };
277
+
278
+ ngOnDestroy() {
279
+ this.isAlive.next('0');
280
+ this.isAlive.complete();
281
+ this.stateChanges.complete();
282
+
283
+ // if (this._platform.isBrowser) {
284
+ // this.fm.stopMonitoring(this.elRef.nativeElement);
285
+ // }
286
+ //
287
+ // this.listeners.forEach(l => l());
288
+ }
289
+ }
@@ -0,0 +1,40 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { OnemrvaMatTimepickerComponent } from './onemrva-mat-timepicker.component';
4
+ import { MatDialogModule } from '@angular/material/dialog';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatToolbarModule } from '@angular/material/toolbar';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatInputModule } from '@angular/material/input';
9
+ import {
10
+ MatTimePickerToggle,
11
+ MatTimepickerToggleIcon,
12
+ } from './timepicker-toggle/timepicker-toggle.component';
13
+ import { MatTimepickerDirective } from './timepicker.directive';
14
+ import { ClockComponent } from './clock/clock.component';
15
+ import { MatTimepickerComponentDialogComponent } from './timepicker-dialog/timepicker-dialog.component';
16
+
17
+ @NgModule({
18
+ declarations: [
19
+ ClockComponent,
20
+ MatTimepickerDirective,
21
+ MatTimepickerComponentDialogComponent,
22
+ MatTimepickerToggleIcon,
23
+ MatTimePickerToggle,
24
+ OnemrvaMatTimepickerComponent,
25
+ ],
26
+ imports: [
27
+ CommonModule,
28
+ MatDialogModule,
29
+ MatButtonModule,
30
+ MatToolbarModule,
31
+ MatIconModule,
32
+ MatInputModule,
33
+ ],
34
+ exports: [
35
+ MatTimepickerDirective,
36
+ MatTimePickerToggle,
37
+ OnemrvaMatTimepickerComponent,
38
+ ],
39
+ })
40
+ export class OnemrvaMatTimepickerModule {}
@@ -0,0 +1,53 @@
1
+ <mat-dialog-content>
2
+ <div class="root">
3
+ <mat-toolbar [color]="color" class="header">
4
+ <div class="time-frame">
5
+ <span
6
+ class="time fixed-font-size"
7
+ [ngClass]="{ select: this.viewType === 'hours' && 'active' }"
8
+ (click)="editHours()"
9
+ >
10
+ {{ twoDigits(formattedHours) }}
11
+ </span>
12
+ <span class="fixed-font-size">:</span>
13
+ <span
14
+ class="time fixed-font-size"
15
+ [ngClass]="{ select: this.viewType === 'minutes' && 'active' }"
16
+ (click)="editMinutes()"
17
+ >
18
+ {{ twoDigits(minutes) }}
19
+ </span>
20
+ </div>
21
+ </mat-toolbar>
22
+ <div class="body">
23
+ <mat-clock
24
+ [allowed24HourMap]="allowed24HourMap"
25
+ [minDate]="minDate"
26
+ [maxDate]="maxDate"
27
+ [color]="color"
28
+ [viewType]="viewType"
29
+ [formattedHours]="formattedHours"
30
+ [minutes]="minutes"
31
+ (changeEvent)="handleClockChange($event)"
32
+ (unavailableSelection)="handleUnavailableSelection()"
33
+ [formattedValue]="viewType === 'minutes' ? minutes : formattedHours"
34
+ (mouseup)="handleClockChangeDone($event)"
35
+ (touchend)="handleClockChangeDone($event)"
36
+ (invalidSelection)="invalidSelectionHandler($event)"
37
+ ></mat-clock>
38
+ </div>
39
+ </div>
40
+ </mat-dialog-content>
41
+ <mat-dialog-actions>
42
+ <button mat-button color="primary" (click)="cancelClickHandler()">
43
+ {{ cancelLabel }}
44
+ </button>
45
+ <button
46
+ mat-flat-button
47
+ [disabled]="invalidSelection"
48
+ [color]="color"
49
+ (click)="okClickHandler()"
50
+ >
51
+ {{ okLabel }}
52
+ </button>
53
+ </mat-dialog-actions>
@@ -0,0 +1,69 @@
1
+ .mdc-dialog__content {
2
+ min-height: 395px;
3
+ padding: 0px !important;
4
+ // margin-top: -24px;
5
+ overflow: hidden;
6
+ }
7
+
8
+ mat-dialog-actions {
9
+ justify-content: flex-end;
10
+ margin: 0;
11
+ }
12
+
13
+ .root {
14
+ min-width: 282px;
15
+ }
16
+
17
+ .header {
18
+ border-top-left-radius: 2px;
19
+ border-top-right-radius: 2px;
20
+ padding: 20px 0;
21
+ line-height: 58px;
22
+ font-size: 58px;
23
+ display: flex;
24
+ justify-content: center;
25
+ align-items: center;
26
+ user-select: none;
27
+ height: 98px;
28
+
29
+ .fixed-font-size {
30
+ font-size: 58px;
31
+ }
32
+
33
+ .time-frame {
34
+ height: 60px;
35
+ }
36
+ }
37
+
38
+ .time {
39
+ transition: all 200ms ease-out;
40
+ cursor: pointer;
41
+ &:not(.select) {
42
+ opacity: 0.6;
43
+ }
44
+ }
45
+
46
+ .placeholder {
47
+ flex: 1;
48
+ }
49
+
50
+ .ampm {
51
+ display: flex;
52
+ flex-direction: column-reverse;
53
+ flex: 1;
54
+ font-size: 14px;
55
+ line-height: 20px;
56
+ margin-left: 16px;
57
+ font-weight: 700;
58
+ }
59
+
60
+ .select {
61
+ color: white;
62
+ }
63
+
64
+ .body {
65
+ padding: 24px 16px;
66
+ padding-bottom: 20px;
67
+ display: flex;
68
+ justify-content: center;
69
+ }
@@ -0,0 +1,25 @@
1
+ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { MatTimepickerComponentDialogComponent } from './timepicker-dialog.component';
4
+
5
+ describe('TimePickerComponent', () => {
6
+ let component: MatTimepickerComponentDialogComponent;
7
+ let fixture: ComponentFixture<MatTimepickerComponentDialogComponent>;
8
+
9
+ beforeEach(async(() => {
10
+ TestBed.configureTestingModule({
11
+ declarations: [MatTimepickerComponentDialogComponent]
12
+ })
13
+ .compileComponents();
14
+ }));
15
+
16
+ beforeEach(() => {
17
+ fixture = TestBed.createComponent(MatTimepickerComponentDialogComponent);
18
+ component = fixture.componentInstance;
19
+ fixture.detectChanges();
20
+ });
21
+
22
+ it('should create', () => {
23
+ expect(component).toBeTruthy();
24
+ });
25
+ });
@@ -0,0 +1,169 @@
1
+ import { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
2
+ import { Component, EventEmitter, Output, Inject } from '@angular/core';
3
+ import { ClockViewType, IAllowed24HourMap } from '../interfaces-and-types';
4
+ import { twoDigits, convertHoursForMode } from '../util';
5
+ import { Subject } from 'rxjs';
6
+ import { ThemePalette } from '@angular/material/core';
7
+
8
+ @Component({
9
+ selector: 'mat-timepicker-dialog',
10
+ templateUrl: './timepicker-dialog.component.html',
11
+ styleUrls: ['./timepicker-dialog.component.scss'],
12
+ })
13
+ export class MatTimepickerComponentDialogComponent {
14
+ twoDigits = twoDigits;
15
+
16
+ @Output() changeEvent: EventEmitter<any> = new EventEmitter<any>();
17
+ @Output() okClickEvent: EventEmitter<any> = new EventEmitter<any>();
18
+ @Output() cancelClickEvent: EventEmitter<any> = new EventEmitter<any>();
19
+
20
+ allowed24HourMap!: IAllowed24HourMap;
21
+
22
+ invalidSelection = false;
23
+
24
+ okLabel: string = '';
25
+ cancelLabel: string = '';
26
+
27
+ set value(value: any) {
28
+ value = value || this.minDate || this.maxDate || new Date();
29
+ this.hours = value.getHours();
30
+ this.minutes = value.getMinutes();
31
+ this._value = value;
32
+ }
33
+
34
+ get value() {
35
+ return this._value;
36
+ }
37
+
38
+ viewType: ClockViewType = 'hours';
39
+
40
+ minutes: any;
41
+ color: ThemePalette = 'primary';
42
+ isPm = false;
43
+ skipMinuteAutoSwitch = false;
44
+ autoSwitchID: any;
45
+ editHoursClicked = false;
46
+ isClosing = false;
47
+
48
+ minDate!: Date;
49
+ maxDate!: Date;
50
+
51
+ // tslint:disable-next-line:variable-name
52
+ _formattedHour: any;
53
+ // tslint:disable-next-line:variable-name
54
+ _hours: any;
55
+ // tslint:disable-next-line:variable-name
56
+ _value?: Date;
57
+
58
+ set hours(value: any) {
59
+ this._hours = value;
60
+ this._formattedHour = convertHoursForMode(this.hours).hour;
61
+ }
62
+ get hours() {
63
+ return this._hours;
64
+ }
65
+
66
+ get formattedHours() {
67
+ return this._formattedHour;
68
+ }
69
+
70
+ bindData(data: any) {
71
+ this.okLabel = data.okLabel;
72
+ this.cancelLabel = data.cancelLabel;
73
+ this.color = data.color;
74
+ this.minDate = data.minDate;
75
+ this.maxDate = data.maxDate;
76
+ this.allowed24HourMap = data.allowed24HourMap;
77
+ }
78
+
79
+ constructor(
80
+ @Inject(MAT_DIALOG_DATA) public data: any,
81
+ public dialog: MatDialog
82
+ ) {
83
+ this.isPm = data.isPm;
84
+ this.bindData(data);
85
+ // keep this always at the bottom
86
+ this.value = data.value;
87
+ }
88
+
89
+ timepickerInput!: any;
90
+
91
+ ngDoCheck() {
92
+ this.bindData(this.data);
93
+ }
94
+
95
+ handleClockChange({
96
+ value,
97
+ type,
98
+ }: {
99
+ value: number;
100
+ type: 'minutes' | 'hours';
101
+ }) {
102
+ if ((type && type === 'hours') || (!type && this.viewType === 'hours')) {
103
+ this.hours = value;
104
+ } else if (
105
+ (type && type === 'minutes') ||
106
+ (!type && this.viewType === 'minutes')
107
+ ) {
108
+ this.minutes = value;
109
+ }
110
+
111
+ const newValue = new Date();
112
+ const hours = this.hours;
113
+ // newValue.setFullYear(0);
114
+ // newValue.setMonth(0);
115
+ // newValue.setDate(0);
116
+ newValue.setHours(hours);
117
+ newValue.setMinutes(this.minutes);
118
+ newValue.setSeconds(0);
119
+ newValue.setMilliseconds(0);
120
+ this.value = newValue;
121
+ this.changeEvent.emit(newValue);
122
+ }
123
+
124
+ handleUnavailableSelection() {
125
+ clearTimeout(this.autoSwitchID);
126
+ }
127
+
128
+ handleClockChangeDone(e: Event) {
129
+ e.preventDefault(); // prevent mouseUp after touchEnd
130
+
131
+ if (this.viewType === 'hours' && !this.skipMinuteAutoSwitch) {
132
+ this.autoSwitchID = setTimeout(() => {
133
+ this.editMinutes();
134
+ this.autoSwitchID = null;
135
+ }, 300);
136
+ }
137
+ }
138
+
139
+ editHours() {
140
+ this.viewType = 'hours';
141
+ this.editHoursClicked = true;
142
+ setTimeout(() => {
143
+ this.editHoursClicked = false;
144
+ }, 0);
145
+ }
146
+
147
+ editMinutes() {
148
+ this.viewType = 'minutes';
149
+ }
150
+
151
+ invalidSelectionHandler(value: boolean) {
152
+ this.invalidSelection = value;
153
+ }
154
+
155
+ okClickHandler() {
156
+ this.okClickEvent.emit();
157
+ }
158
+
159
+ cancelClickHandler() {
160
+ this.cancelClickEvent.emit();
161
+ }
162
+
163
+ closedStream!: EventEmitter<void>;
164
+ disabled!: boolean;
165
+ id!: string;
166
+ opened!: boolean;
167
+ openedStream!: EventEmitter<void>;
168
+ stateChanges!: Subject<void>;
169
+ }
@@ -0,0 +1,15 @@
1
+ <button
2
+ #button
3
+ mat-icon-button
4
+ type="button"
5
+ [title]="ariaLabel"
6
+ [attr.aria-haspopup]="timepicker ? 'dialog' : null"
7
+ [attr.aria-label]="ariaLabel"
8
+ [attr.tabindex]="disabled ? -1 : tabIndex"
9
+ [disabled]="disabled"
10
+ [disableRipple]="disableRipple">
11
+
12
+ <mat-icon>schedule</mat-icon>
13
+
14
+ <ng-content select="[mattimepickerToggleIcon]"></ng-content>
15
+ </button>
@@ -0,0 +1,32 @@
1
+ //@use '../../../../../node_modules/@angular/cdk/index';
2
+
3
+ .mat-form-field-appearance-legacy {
4
+ .mat-form-field-prefix,
5
+ .mat-form-field-suffix {
6
+ .mat-datepicker-toggle-default-icon {
7
+ width: 1em;
8
+ }
9
+ }
10
+ }
11
+
12
+ .mat-form-field:not(.mat-form-field-appearance-legacy) {
13
+ .mat-form-field-prefix,
14
+ .mat-form-field-suffix {
15
+ .mat-datepicker-toggle-default-icon {
16
+ display: block;
17
+ width: 1.5em;
18
+ height: 1.5em;
19
+ }
20
+
21
+ .mat-icon-button .mat-datepicker-toggle-default-icon {
22
+ margin: auto;
23
+ }
24
+ }
25
+ }
26
+ //@include cdk.high-contrast(active, off) {
27
+ // .mat-datepicker-toggle-default-icon {
28
+ // // On Chromium-based browsers the icon doesn't appear to inherit the text color in high
29
+ // // contrast mode so we have to set it explicitly. This is a no-op on IE and Firefox.
30
+ // color: CanvasText;
31
+ // }
32
+ //}