@softheon/armature 10.45.5 → 15.0.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 (465) hide show
  1. package/assets/styles/material-overrides.scss +103 -88
  2. package/assets/styles/sof-styles.scss +442 -376
  3. package/esm2020/lib/alert-banner/alert-banner-api.mjs +10 -0
  4. package/esm2020/lib/alert-banner/alert-banner.module.mjs +41 -0
  5. package/esm2020/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +83 -0
  6. package/esm2020/lib/alert-banner/models/alert-banner-config.mjs +2 -0
  7. package/esm2020/lib/alert-banner/models/alert-banner-context.mjs +2 -0
  8. package/esm2020/lib/alert-banner/models/constants.mjs +16 -0
  9. package/esm2020/lib/alert-banner/services/alert-banner.service.mjs +44 -0
  10. package/esm2020/lib/armature.module.mjs +176 -0
  11. package/esm2020/lib/base-components/base-component-api.mjs +9 -0
  12. package/esm2020/lib/base-components/base-component.module.mjs +93 -0
  13. package/esm2020/lib/base-components/sof-alert/sof-alert.component.mjs +79 -0
  14. package/esm2020/lib/base-components/sof-banner/sof-banner.component.mjs +49 -0
  15. package/esm2020/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.mjs +188 -0
  16. package/esm2020/lib/base-components/sof-modal/sof-modal.component.mjs +58 -0
  17. package/esm2020/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +79 -0
  18. package/esm2020/lib/component-save-print/components/component-save-print/component-save-print.component.mjs +91 -0
  19. package/esm2020/lib/component-save-print/services/component-save-print.service.mjs +30 -0
  20. package/esm2020/lib/component-save-print/sof-ar-component-save-print.module.mjs +32 -0
  21. package/esm2020/lib/core/client-generated/api/session.service.mjs +242 -0
  22. package/esm2020/lib/core/client-generated/configuration.mjs +59 -0
  23. package/esm2020/lib/core/client-generated/encoder.mjs +17 -0
  24. package/esm2020/lib/core/client-generated/model/applicationUserModel.mjs +20 -0
  25. package/esm2020/lib/core/client-generated/model/assertedUserModel.mjs +2 -0
  26. package/esm2020/lib/core/client-generated/model/brandingModel.mjs +2 -0
  27. package/esm2020/lib/core/client-generated/model/errorModel.mjs +13 -0
  28. package/esm2020/lib/core/client-generated/model/folderLink.mjs +13 -0
  29. package/esm2020/lib/core/client-generated/model/identityProfile.mjs +2 -0
  30. package/esm2020/lib/core/client-generated/model/models.mjs +20 -0
  31. package/esm2020/lib/core/client-generated/model/oAuthModel.mjs +13 -0
  32. package/esm2020/lib/core/client-generated/model/preferencesRow.mjs +13 -0
  33. package/esm2020/lib/core/client-generated/model/rolesRow.mjs +13 -0
  34. package/esm2020/lib/core/client-generated/model/sessionGetResponseModel.mjs +2 -0
  35. package/esm2020/lib/core/client-generated/model/sessionPostRequestModel.mjs +2 -0
  36. package/esm2020/lib/core/client-generated/model/sessionPostResponseModel.mjs +2 -0
  37. package/esm2020/lib/core/client-generated/model/sessionPutRequestModel.mjs +2 -0
  38. package/esm2020/lib/core/client-generated/model/sessionPutResponseModel.mjs +2 -0
  39. package/esm2020/lib/core/client-generated/model/sessionResponseModel.mjs +2 -0
  40. package/esm2020/lib/core/client-generated/model/settingsProfile.mjs +2 -0
  41. package/esm2020/lib/core/client-generated/model/themePaletteColorsModel.mjs +13 -0
  42. package/esm2020/lib/core/client-generated/model/themePaletteModel.mjs +2 -0
  43. package/esm2020/lib/core/client-generated/model/trackingModel.mjs +13 -0
  44. package/esm2020/lib/core/client-generated/model/validationRecordsRow.mjs +13 -0
  45. package/esm2020/lib/core/client-generated/variables.mjs +9 -0
  46. package/esm2020/lib/core/components/app-template/app-template.component.mjs +250 -0
  47. package/esm2020/lib/core/functions/guid.mjs +11 -0
  48. package/esm2020/lib/core/functions/naming-convention.mjs +33 -0
  49. package/esm2020/lib/core/initializer/abstract-startup-service.mjs +4 -0
  50. package/esm2020/lib/core/initializer/initializer.service.mjs +189 -0
  51. package/esm2020/lib/core/interceptors/armature-auth-token-append.interceptor.mjs +73 -0
  52. package/esm2020/lib/core/models/base-config.mjs +2 -0
  53. package/esm2020/lib/core/models/constants.mjs +13 -0
  54. package/esm2020/lib/core/models/data-store-config.mjs +4 -0
  55. package/esm2020/lib/core/models/header-config.mjs +2 -0
  56. package/esm2020/lib/core/models/http-verbs.mjs +9 -0
  57. package/esm2020/lib/core/models/navigation-config.mjs +2 -0
  58. package/esm2020/lib/core/models/oidc-auth-settings.mjs +2 -0
  59. package/esm2020/lib/core/models/route-path.mjs +7 -0
  60. package/esm2020/lib/core/models/session-config.mjs +4 -0
  61. package/esm2020/lib/core/models/styles.mjs +2 -0
  62. package/esm2020/lib/core/models/typed-session.mjs +4 -0
  63. package/esm2020/lib/core/models/user-entity-service-config.mjs +12 -0
  64. package/esm2020/lib/core/services/authorization.service.mjs +175 -0
  65. package/esm2020/lib/core/services/banner.service.mjs +43 -0
  66. package/esm2020/lib/core/services/base-config.service.mjs +32 -0
  67. package/esm2020/lib/core/services/custom-auth-config.service.mjs +4 -0
  68. package/esm2020/lib/core/services/default-config.service.mjs +19 -0
  69. package/esm2020/lib/core/services/session.service.mjs +385 -0
  70. package/esm2020/lib/core/services/user-entity.service.mjs +140 -0
  71. package/esm2020/lib/distributed-cache/client-generated/api/api.mjs +4 -0
  72. package/esm2020/lib/distributed-cache/client-generated/api/cache.service.mjs +213 -0
  73. package/esm2020/lib/distributed-cache/client-generated/configuration.mjs +59 -0
  74. package/esm2020/lib/distributed-cache/client-generated/encoder.mjs +17 -0
  75. package/esm2020/lib/distributed-cache/client-generated/model/cacheExpirationType.mjs +16 -0
  76. package/esm2020/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.mjs +2 -0
  77. package/esm2020/lib/distributed-cache/client-generated/model/models.mjs +5 -0
  78. package/esm2020/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.mjs +13 -0
  79. package/esm2020/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.mjs +13 -0
  80. package/esm2020/lib/distributed-cache/client-generated/variables.mjs +9 -0
  81. package/esm2020/lib/distributed-cache/distributed-cache-api.mjs +8 -0
  82. package/esm2020/lib/distributed-cache/distributed-cache.module.mjs +38 -0
  83. package/esm2020/lib/distributed-cache/models/constants.mjs +3 -0
  84. package/esm2020/lib/distributed-cache/models/policy-person.mjs +9 -0
  85. package/esm2020/lib/distributed-cache/services/server-cache.service.mjs +48 -0
  86. package/esm2020/lib/error/components/error-common/error-common.component.mjs +25 -0
  87. package/esm2020/lib/error/error-api.mjs +7 -0
  88. package/esm2020/lib/error/error.module.mjs +31 -0
  89. package/esm2020/lib/error/models/error-common-config.mjs +8 -0
  90. package/esm2020/lib/faq/components/faq/faq.component.mjs +40 -0
  91. package/esm2020/lib/faq/faq-api.mjs +8 -0
  92. package/esm2020/lib/faq/faq.module.mjs +41 -0
  93. package/esm2020/lib/faq/models/faq-config.mjs +4 -0
  94. package/esm2020/lib/faq/models/faq.mjs +8 -0
  95. package/esm2020/lib/footer/components/footer/footer.component.mjs +25 -0
  96. package/esm2020/lib/footer/components/site-map/site-map.component.mjs +25 -0
  97. package/esm2020/lib/footer/footer-api.mjs +10 -0
  98. package/esm2020/lib/footer/footer.module.mjs +45 -0
  99. package/esm2020/lib/footer/models/enum/site-map-direction.mjs +15 -0
  100. package/esm2020/lib/footer/models/footer-config.mjs +4 -0
  101. package/esm2020/lib/footer/models/site-map-models.mjs +2 -0
  102. package/esm2020/lib/forms/components/sof-address/sof-address.component.mjs +110 -0
  103. package/esm2020/lib/forms/directives/alphanumeric/alphanumeric.directive.mjs +78 -0
  104. package/esm2020/lib/forms/directives/input-trim/input-trim.directive.mjs +110 -0
  105. package/esm2020/lib/forms/directives/letters-only/letters-only.directive.mjs +72 -0
  106. package/esm2020/lib/forms/directives/numbers-only/numbers-only.directive.mjs +60 -0
  107. package/esm2020/lib/forms/forms-api.mjs +19 -0
  108. package/esm2020/lib/forms/forms.module.mjs +83 -0
  109. package/esm2020/lib/forms/models/address.mjs +2 -0
  110. package/esm2020/lib/forms/models/constants.mjs +10 -0
  111. package/esm2020/lib/forms/models/county.mjs +2 -0
  112. package/esm2020/lib/forms/models/enums/states.mjs +58 -0
  113. package/esm2020/lib/forms/pipes/phone-format.pipe.mjs +33 -0
  114. package/esm2020/lib/forms/services/alert.service.mjs +167 -0
  115. package/esm2020/lib/header/components/header/header.component.mjs +161 -0
  116. package/esm2020/lib/header/components/mobile-header-menu/mobile-header-menu.component.mjs +39 -0
  117. package/esm2020/lib/header/header-api.mjs +12 -0
  118. package/esm2020/lib/header/header.module.mjs +85 -0
  119. package/esm2020/lib/header/models/header-auth.settings.mjs +32 -0
  120. package/esm2020/lib/header/models/header-language.settings.mjs +2 -0
  121. package/esm2020/lib/header/models/header-theme.settings.mjs +2 -0
  122. package/esm2020/lib/header/models/header.settings.mjs +2 -0
  123. package/esm2020/lib/header/models/mobile-header-nav.settings.mjs +2 -0
  124. package/esm2020/lib/navigation/components/navigation/navigation.component.mjs +555 -0
  125. package/esm2020/lib/navigation/models/nav-theme.settings.mjs +2 -0
  126. package/esm2020/lib/navigation/models/nav.settings.mjs +2 -0
  127. package/esm2020/lib/navigation/models/navigation.mjs +2 -0
  128. package/esm2020/lib/navigation/navigation-api.mjs +9 -0
  129. package/esm2020/lib/navigation/navigation.module.mjs +126 -0
  130. package/esm2020/lib/oauth/models/constants.mjs +6 -0
  131. package/esm2020/lib/oauth/models/generated/accountManagementAssertionModel.mjs +2 -0
  132. package/esm2020/lib/oauth/models/generated/accountManagementRefreshRequestModel.mjs +2 -0
  133. package/esm2020/lib/oauth/models/generated/accountManagementResponseModel.mjs +2 -0
  134. package/esm2020/lib/oauth/models/generated/coverageDetail.mjs +19 -0
  135. package/esm2020/lib/oauth/models/generated/finance.mjs +13 -0
  136. package/esm2020/lib/oauth/models/generated/iSsoResponseModel.mjs +13 -0
  137. package/esm2020/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.mjs +2 -0
  138. package/esm2020/lib/oauth/models/generated/person.mjs +13 -0
  139. package/esm2020/lib/oauth/models/generated/policy.mjs +2 -0
  140. package/esm2020/lib/oauth/models/generated/refreshResponseModel.mjs +13 -0
  141. package/esm2020/lib/oauth/models/hybrid-saml-oauth-config.mjs +4 -0
  142. package/esm2020/lib/oauth/oauth-api.mjs +15 -0
  143. package/esm2020/lib/oauth/oauth.module.mjs +29 -0
  144. package/esm2020/lib/oauth/services/hybrid-saml-oauth.service.mjs +201 -0
  145. package/esm2020/lib/rbac/directives/rbac-action.directive.mjs +50 -0
  146. package/esm2020/lib/rbac/models/access-token-claims.mjs +23 -0
  147. package/esm2020/lib/rbac/models/constants.mjs +4 -0
  148. package/esm2020/lib/rbac/models/decoded-access-token.mjs +69 -0
  149. package/esm2020/lib/rbac/models/rbac-config.mjs +4 -0
  150. package/esm2020/lib/rbac/models/role-access.mjs +10 -0
  151. package/esm2020/lib/rbac/rbac-api.mjs +15 -0
  152. package/esm2020/lib/rbac/rbac.module.mjs +51 -0
  153. package/esm2020/lib/rbac/services/ar-role-nav.service.mjs +91 -0
  154. package/esm2020/lib/rbac/services/oauth2-role.service.mjs +114 -0
  155. package/esm2020/lib/rbac/services/role-nav.service.mjs +4 -0
  156. package/esm2020/lib/resize-panels/components/resize-panels/resize-panels.component.mjs +156 -0
  157. package/esm2020/lib/resize-panels/models/resize-event.mjs +2 -0
  158. package/esm2020/lib/resize-panels/resize-panels-api.mjs +5 -0
  159. package/esm2020/lib/resize-panels/resize-panels.module.mjs +23 -0
  160. package/esm2020/lib/rum/models/arm-error.mjs +29 -0
  161. package/esm2020/lib/rum/models/rum-config.mjs +4 -0
  162. package/esm2020/lib/rum/rum-api.mjs +10 -0
  163. package/esm2020/lib/rum/rum.module.mjs +48 -0
  164. package/esm2020/lib/rum/services/rum.service.mjs +115 -0
  165. package/esm2020/lib/rum/services/shared-error.service.mjs +45 -0
  166. package/esm2020/lib/rum/services/softheon-error-handler.service.mjs +76 -0
  167. package/esm2020/lib/saml/components/redirect-saml/redirect-saml.component.mjs +79 -0
  168. package/esm2020/lib/saml/models/i-saml-request.mjs +2 -0
  169. package/esm2020/lib/saml/models/i-saml-response.mjs +2 -0
  170. package/esm2020/lib/saml/models/redirect-saml-request.mjs +4 -0
  171. package/esm2020/lib/saml/models/sso-gateway-model.mjs +4 -0
  172. package/esm2020/lib/saml/saml-api.mjs +15 -0
  173. package/esm2020/lib/saml/saml.module.mjs +43 -0
  174. package/esm2020/lib/saml/services/entry/abstract-saml-entry.service.mjs +4 -0
  175. package/esm2020/lib/saml/services/entry/sso-gateway-entry.service.mjs +36 -0
  176. package/esm2020/lib/saml/services/send-off/abstract-saml.service.mjs +4 -0
  177. package/esm2020/lib/saml/services/send-off/saml.service.mjs +39 -0
  178. package/esm2020/lib/sof-pipe/constants/constants.mjs +17 -0
  179. package/esm2020/lib/sof-pipe/models/sof-date-pipe-format.mjs +2 -0
  180. package/esm2020/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.mjs +39 -0
  181. package/esm2020/lib/sof-pipe/pipes/sof-date/sof-date.pipe.mjs +59 -0
  182. package/esm2020/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.mjs +28 -0
  183. package/esm2020/lib/sof-pipe/sof-pipe.api.mjs +9 -0
  184. package/esm2020/lib/sof-pipe/sof-pipe.module.mjs +39 -0
  185. package/esm2020/lib/theming/directives/css-override.directive.mjs +69 -0
  186. package/esm2020/lib/theming/models/css-override.mjs +11 -0
  187. package/esm2020/lib/theming/services/theme.service.mjs +167 -0
  188. package/esm2020/lib/theming/theme-api.mjs +6 -0
  189. package/esm2020/lib/theming/theme.module.mjs +31 -0
  190. package/esm2020/public-api.mjs +48 -0
  191. package/esm2020/softheon-armature.mjs +5 -0
  192. package/fesm2015/softheon-armature.mjs +6767 -0
  193. package/fesm2015/softheon-armature.mjs.map +1 -0
  194. package/fesm2020/softheon-armature.mjs +6829 -0
  195. package/fesm2020/softheon-armature.mjs.map +1 -0
  196. package/index.d.ts +5 -0
  197. package/lib/alert-banner/alert-banner.module.d.ts +9 -0
  198. package/lib/alert-banner/components/alert-banner/alert-banner.component.d.ts +3 -0
  199. package/lib/alert-banner/services/alert-banner.service.d.ts +3 -0
  200. package/lib/armature.module.d.ts +15 -0
  201. package/lib/base-components/base-component.module.d.ts +24 -0
  202. package/lib/base-components/sof-alert/sof-alert.component.d.ts +3 -0
  203. package/lib/base-components/sof-banner/sof-banner.component.d.ts +3 -0
  204. package/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.d.ts +3 -0
  205. package/lib/base-components/sof-modal/sof-modal.component.d.ts +3 -0
  206. package/lib/base-components/sof-progress-bar/sof-progress-bar.component.d.ts +3 -0
  207. package/lib/component-save-print/components/component-save-print/component-save-print.component.d.ts +3 -0
  208. package/lib/component-save-print/services/component-save-print.service.d.ts +3 -0
  209. package/lib/component-save-print/sof-ar-component-save-print.module.d.ts +6 -0
  210. package/lib/core/client-generated/api/session.service.d.ts +3 -11
  211. package/lib/core/components/app-template/app-template.component.d.ts +3 -0
  212. package/lib/core/initializer/initializer.service.d.ts +3 -0
  213. package/lib/core/interceptors/armature-auth-token-append.interceptor.d.ts +3 -0
  214. package/lib/core/models/http-verbs.d.ts +1 -1
  215. package/lib/core/services/authorization.service.d.ts +3 -0
  216. package/lib/core/services/banner.service.d.ts +3 -0
  217. package/lib/core/services/base-config.service.d.ts +3 -0
  218. package/lib/core/services/default-config.service.d.ts +3 -0
  219. package/lib/core/services/session.service.d.ts +3 -0
  220. package/lib/core/services/user-entity.service.d.ts +3 -0
  221. package/lib/distributed-cache/client-generated/api/cache.service.d.ts +3 -11
  222. package/lib/distributed-cache/client-generated/model/cacheExpirationType.d.ts +1 -1
  223. package/lib/distributed-cache/distributed-cache.module.d.ts +5 -0
  224. package/lib/distributed-cache/services/server-cache.service.d.ts +3 -0
  225. package/lib/error/components/error-common/error-common.component.d.ts +3 -0
  226. package/lib/error/error.module.d.ts +8 -0
  227. package/lib/faq/components/faq/faq.component.d.ts +3 -0
  228. package/lib/faq/faq.module.d.ts +12 -0
  229. package/lib/footer/components/footer/footer.component.d.ts +3 -0
  230. package/lib/footer/components/site-map/site-map.component.d.ts +3 -0
  231. package/lib/footer/footer.module.d.ts +11 -0
  232. package/lib/forms/components/sof-address/sof-address.component.d.ts +3 -0
  233. package/lib/forms/directives/alphanumeric/alphanumeric.directive.d.ts +3 -0
  234. package/lib/forms/directives/input-trim/input-trim.directive.d.ts +3 -0
  235. package/lib/forms/directives/letters-only/letters-only.directive.d.ts +3 -0
  236. package/lib/forms/directives/numbers-only/numbers-only.directive.d.ts +3 -0
  237. package/lib/forms/forms.module.d.ts +17 -0
  238. package/lib/forms/pipes/phone-format.pipe.d.ts +3 -0
  239. package/lib/forms/services/alert.service.d.ts +3 -0
  240. package/lib/header/components/header/header.component.d.ts +4 -1
  241. package/lib/header/components/mobile-header-menu/mobile-header-menu.component.d.ts +3 -0
  242. package/lib/header/header.module.d.ts +18 -0
  243. package/lib/navigation/components/navigation/navigation.component.d.ts +6 -3
  244. package/lib/navigation/navigation.module.d.ts +22 -0
  245. package/lib/oauth/oauth.module.d.ts +6 -0
  246. package/lib/oauth/services/hybrid-saml-oauth.service.d.ts +3 -0
  247. package/lib/rbac/directives/rbac-action.directive.d.ts +3 -0
  248. package/lib/rbac/rbac.module.d.ts +6 -0
  249. package/lib/rbac/services/ar-role-nav.service.d.ts +3 -0
  250. package/lib/rbac/services/oauth2-role.service.d.ts +3 -0
  251. package/lib/resize-panels/components/resize-panels/resize-panels.component.d.ts +3 -0
  252. package/lib/resize-panels/resize-panels.module.d.ts +6 -0
  253. package/lib/rum/rum.module.d.ts +5 -0
  254. package/lib/rum/services/rum.service.d.ts +3 -0
  255. package/lib/rum/services/shared-error.service.d.ts +3 -0
  256. package/lib/rum/services/softheon-error-handler.service.d.ts +3 -0
  257. package/lib/saml/components/redirect-saml/redirect-saml.component.d.ts +3 -0
  258. package/lib/saml/saml.module.d.ts +6 -0
  259. package/lib/saml/services/entry/sso-gateway-entry.service.d.ts +3 -0
  260. package/lib/saml/services/send-off/saml.service.d.ts +3 -0
  261. package/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.d.ts +3 -0
  262. package/lib/sof-pipe/pipes/sof-date/sof-date.pipe.d.ts +3 -0
  263. package/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.d.ts +3 -0
  264. package/lib/sof-pipe/sof-pipe.module.d.ts +8 -0
  265. package/lib/theming/directives/css-override.directive.d.ts +3 -0
  266. package/lib/theming/services/theme.service.d.ts +3 -0
  267. package/lib/theming/theme.module.d.ts +6 -0
  268. package/package.json +39 -27
  269. package/bundles/softheon-armature.umd.js +0 -7212
  270. package/bundles/softheon-armature.umd.js.map +0 -1
  271. package/bundles/softheon-armature.umd.min.js +0 -16
  272. package/bundles/softheon-armature.umd.min.js.map +0 -1
  273. package/esm2015/lib/alert-banner/alert-banner-api.js +0 -10
  274. package/esm2015/lib/alert-banner/alert-banner.module.js +0 -30
  275. package/esm2015/lib/alert-banner/components/alert-banner/alert-banner.component.js +0 -78
  276. package/esm2015/lib/alert-banner/models/alert-banner-config.js +0 -2
  277. package/esm2015/lib/alert-banner/models/alert-banner-context.js +0 -2
  278. package/esm2015/lib/alert-banner/models/constants.js +0 -16
  279. package/esm2015/lib/alert-banner/services/alert-banner.service.js +0 -43
  280. package/esm2015/lib/armature.module.js +0 -142
  281. package/esm2015/lib/base-components/base-component-api.js +0 -9
  282. package/esm2015/lib/base-components/base-component.module.js +0 -61
  283. package/esm2015/lib/base-components/sof-alert/sof-alert.component.js +0 -67
  284. package/esm2015/lib/base-components/sof-banner/sof-banner.component.js +0 -44
  285. package/esm2015/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.js +0 -169
  286. package/esm2015/lib/base-components/sof-modal/sof-modal.component.js +0 -49
  287. package/esm2015/lib/base-components/sof-progress-bar/sof-progress-bar.component.js +0 -76
  288. package/esm2015/lib/component-save-print/components/component-save-print/component-save-print.component.js +0 -97
  289. package/esm2015/lib/component-save-print/services/component-save-print.service.js +0 -29
  290. package/esm2015/lib/component-save-print/sof-ar-component-save-print.module.js +0 -25
  291. package/esm2015/lib/core/client-generated/api/session.service.js +0 -235
  292. package/esm2015/lib/core/client-generated/configuration.js +0 -59
  293. package/esm2015/lib/core/client-generated/encoder.js +0 -17
  294. package/esm2015/lib/core/client-generated/model/applicationUserModel.js +0 -20
  295. package/esm2015/lib/core/client-generated/model/assertedUserModel.js +0 -2
  296. package/esm2015/lib/core/client-generated/model/brandingModel.js +0 -2
  297. package/esm2015/lib/core/client-generated/model/errorModel.js +0 -13
  298. package/esm2015/lib/core/client-generated/model/folderLink.js +0 -13
  299. package/esm2015/lib/core/client-generated/model/identityProfile.js +0 -2
  300. package/esm2015/lib/core/client-generated/model/models.js +0 -20
  301. package/esm2015/lib/core/client-generated/model/oAuthModel.js +0 -13
  302. package/esm2015/lib/core/client-generated/model/preferencesRow.js +0 -13
  303. package/esm2015/lib/core/client-generated/model/rolesRow.js +0 -13
  304. package/esm2015/lib/core/client-generated/model/sessionGetResponseModel.js +0 -2
  305. package/esm2015/lib/core/client-generated/model/sessionPostRequestModel.js +0 -2
  306. package/esm2015/lib/core/client-generated/model/sessionPostResponseModel.js +0 -2
  307. package/esm2015/lib/core/client-generated/model/sessionPutRequestModel.js +0 -2
  308. package/esm2015/lib/core/client-generated/model/sessionPutResponseModel.js +0 -2
  309. package/esm2015/lib/core/client-generated/model/sessionResponseModel.js +0 -2
  310. package/esm2015/lib/core/client-generated/model/settingsProfile.js +0 -2
  311. package/esm2015/lib/core/client-generated/model/themePaletteColorsModel.js +0 -13
  312. package/esm2015/lib/core/client-generated/model/themePaletteModel.js +0 -2
  313. package/esm2015/lib/core/client-generated/model/trackingModel.js +0 -13
  314. package/esm2015/lib/core/client-generated/model/validationRecordsRow.js +0 -13
  315. package/esm2015/lib/core/client-generated/variables.js +0 -9
  316. package/esm2015/lib/core/components/app-template/app-template.component.js +0 -249
  317. package/esm2015/lib/core/functions/guid.js +0 -11
  318. package/esm2015/lib/core/functions/naming-convention.js +0 -33
  319. package/esm2015/lib/core/initializer/abstract-startup-service.js +0 -4
  320. package/esm2015/lib/core/initializer/initializer.service.js +0 -206
  321. package/esm2015/lib/core/interceptors/armature-auth-token-append.interceptor.js +0 -75
  322. package/esm2015/lib/core/models/base-config.js +0 -2
  323. package/esm2015/lib/core/models/constants.js +0 -13
  324. package/esm2015/lib/core/models/data-store-config.js +0 -4
  325. package/esm2015/lib/core/models/header-config.js +0 -2
  326. package/esm2015/lib/core/models/http-verbs.js +0 -9
  327. package/esm2015/lib/core/models/navigation-config.js +0 -2
  328. package/esm2015/lib/core/models/oidc-auth-settings.js +0 -2
  329. package/esm2015/lib/core/models/route-path.js +0 -7
  330. package/esm2015/lib/core/models/session-config.js +0 -4
  331. package/esm2015/lib/core/models/styles.js +0 -2
  332. package/esm2015/lib/core/models/typed-session.js +0 -4
  333. package/esm2015/lib/core/models/user-entity-service-config.js +0 -12
  334. package/esm2015/lib/core/services/authorization.service.js +0 -178
  335. package/esm2015/lib/core/services/banner.service.js +0 -42
  336. package/esm2015/lib/core/services/base-config.service.js +0 -31
  337. package/esm2015/lib/core/services/custom-auth-config.service.js +0 -4
  338. package/esm2015/lib/core/services/default-config.service.js +0 -18
  339. package/esm2015/lib/core/services/session.service.js +0 -386
  340. package/esm2015/lib/core/services/user-entity.service.js +0 -147
  341. package/esm2015/lib/distributed-cache/client-generated/api/api.js +0 -4
  342. package/esm2015/lib/distributed-cache/client-generated/api/cache.service.js +0 -206
  343. package/esm2015/lib/distributed-cache/client-generated/configuration.js +0 -59
  344. package/esm2015/lib/distributed-cache/client-generated/encoder.js +0 -17
  345. package/esm2015/lib/distributed-cache/client-generated/model/cacheExpirationType.js +0 -16
  346. package/esm2015/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.js +0 -2
  347. package/esm2015/lib/distributed-cache/client-generated/model/models.js +0 -5
  348. package/esm2015/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.js +0 -13
  349. package/esm2015/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.js +0 -13
  350. package/esm2015/lib/distributed-cache/client-generated/variables.js +0 -9
  351. package/esm2015/lib/distributed-cache/distributed-cache-api.js +0 -8
  352. package/esm2015/lib/distributed-cache/distributed-cache.module.js +0 -26
  353. package/esm2015/lib/distributed-cache/models/constants.js +0 -3
  354. package/esm2015/lib/distributed-cache/models/policy-person.js +0 -9
  355. package/esm2015/lib/distributed-cache/services/server-cache.service.js +0 -52
  356. package/esm2015/lib/error/components/error-common/error-common.component.js +0 -24
  357. package/esm2015/lib/error/error-api.js +0 -7
  358. package/esm2015/lib/error/error.module.js +0 -22
  359. package/esm2015/lib/error/models/error-common-config.js +0 -8
  360. package/esm2015/lib/faq/components/faq/faq.component.js +0 -35
  361. package/esm2015/lib/faq/faq-api.js +0 -8
  362. package/esm2015/lib/faq/faq.module.js +0 -32
  363. package/esm2015/lib/faq/models/faq-config.js +0 -4
  364. package/esm2015/lib/faq/models/faq.js +0 -8
  365. package/esm2015/lib/footer/components/footer/footer.component.js +0 -25
  366. package/esm2015/lib/footer/components/site-map/site-map.component.js +0 -23
  367. package/esm2015/lib/footer/footer-api.js +0 -10
  368. package/esm2015/lib/footer/footer.module.js +0 -30
  369. package/esm2015/lib/footer/models/enum/site-map-direction.js +0 -15
  370. package/esm2015/lib/footer/models/footer-config.js +0 -4
  371. package/esm2015/lib/footer/models/site-map-models.js +0 -2
  372. package/esm2015/lib/forms/components/sof-address/sof-address.component.js +0 -99
  373. package/esm2015/lib/forms/directives/alphanumeric/alphanumeric.directive.js +0 -75
  374. package/esm2015/lib/forms/directives/input-trim/input-trim.directive.js +0 -97
  375. package/esm2015/lib/forms/directives/letters-only/letters-only.directive.js +0 -68
  376. package/esm2015/lib/forms/directives/numbers-only/numbers-only.directive.js +0 -58
  377. package/esm2015/lib/forms/forms-api.js +0 -19
  378. package/esm2015/lib/forms/forms.module.js +0 -63
  379. package/esm2015/lib/forms/models/address.js +0 -2
  380. package/esm2015/lib/forms/models/constants.js +0 -10
  381. package/esm2015/lib/forms/models/county.js +0 -2
  382. package/esm2015/lib/forms/models/enums/states.js +0 -58
  383. package/esm2015/lib/forms/pipes/phone-format.pipe.js +0 -29
  384. package/esm2015/lib/forms/services/alert.service.js +0 -170
  385. package/esm2015/lib/header/components/header/header.component.js +0 -157
  386. package/esm2015/lib/header/components/mobile-header-menu/mobile-header-menu.component.js +0 -37
  387. package/esm2015/lib/header/header-api.js +0 -12
  388. package/esm2015/lib/header/header.module.js +0 -51
  389. package/esm2015/lib/header/models/header-auth.settings.js +0 -32
  390. package/esm2015/lib/header/models/header-language.settings.js +0 -2
  391. package/esm2015/lib/header/models/header-theme.settings.js +0 -2
  392. package/esm2015/lib/header/models/header.settings.js +0 -2
  393. package/esm2015/lib/header/models/mobile-header-nav.settings.js +0 -2
  394. package/esm2015/lib/navigation/components/navigation/navigation.component.js +0 -544
  395. package/esm2015/lib/navigation/models/nav-theme.settings.js +0 -2
  396. package/esm2015/lib/navigation/models/nav.settings.js +0 -2
  397. package/esm2015/lib/navigation/models/navigation.js +0 -2
  398. package/esm2015/lib/navigation/navigation-api.js +0 -9
  399. package/esm2015/lib/navigation/navigation.module.js +0 -67
  400. package/esm2015/lib/oauth/models/constants.js +0 -6
  401. package/esm2015/lib/oauth/models/generated/accountManagementAssertionModel.js +0 -2
  402. package/esm2015/lib/oauth/models/generated/accountManagementRefreshRequestModel.js +0 -2
  403. package/esm2015/lib/oauth/models/generated/accountManagementResponseModel.js +0 -2
  404. package/esm2015/lib/oauth/models/generated/coverageDetail.js +0 -19
  405. package/esm2015/lib/oauth/models/generated/finance.js +0 -13
  406. package/esm2015/lib/oauth/models/generated/iSsoResponseModel.js +0 -13
  407. package/esm2015/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.js +0 -2
  408. package/esm2015/lib/oauth/models/generated/person.js +0 -13
  409. package/esm2015/lib/oauth/models/generated/policy.js +0 -2
  410. package/esm2015/lib/oauth/models/generated/refreshResponseModel.js +0 -13
  411. package/esm2015/lib/oauth/models/hybrid-saml-oauth-config.js +0 -4
  412. package/esm2015/lib/oauth/oauth-api.js +0 -15
  413. package/esm2015/lib/oauth/oauth.module.js +0 -20
  414. package/esm2015/lib/oauth/services/hybrid-saml-oauth.service.js +0 -202
  415. package/esm2015/lib/rbac/directives/rbac-action.directive.js +0 -52
  416. package/esm2015/lib/rbac/models/access-token-claims.js +0 -23
  417. package/esm2015/lib/rbac/models/constants.js +0 -4
  418. package/esm2015/lib/rbac/models/decoded-access-token.js +0 -69
  419. package/esm2015/lib/rbac/models/rbac-config.js +0 -4
  420. package/esm2015/lib/rbac/models/role-access.js +0 -10
  421. package/esm2015/lib/rbac/rbac-api.js +0 -15
  422. package/esm2015/lib/rbac/rbac.module.js +0 -43
  423. package/esm2015/lib/rbac/services/ar-role-nav.service.js +0 -90
  424. package/esm2015/lib/rbac/services/oauth2-role.service.js +0 -120
  425. package/esm2015/lib/rbac/services/role-nav.service.js +0 -4
  426. package/esm2015/lib/resize-panels/components/resize-panels/resize-panels.component.js +0 -142
  427. package/esm2015/lib/resize-panels/models/resize-event.js +0 -2
  428. package/esm2015/lib/resize-panels/resize-panels-api.js +0 -5
  429. package/esm2015/lib/resize-panels/resize-panels.module.js +0 -18
  430. package/esm2015/lib/rum/models/arm-error.js +0 -29
  431. package/esm2015/lib/rum/models/rum-config.js +0 -4
  432. package/esm2015/lib/rum/rum-api.js +0 -10
  433. package/esm2015/lib/rum/rum.module.js +0 -40
  434. package/esm2015/lib/rum/services/rum.service.js +0 -118
  435. package/esm2015/lib/rum/services/shared-error.service.js +0 -46
  436. package/esm2015/lib/rum/services/softheon-error-handler.service.js +0 -81
  437. package/esm2015/lib/saml/components/redirect-saml/redirect-saml.component.js +0 -76
  438. package/esm2015/lib/saml/models/i-saml-request.js +0 -2
  439. package/esm2015/lib/saml/models/i-saml-response.js +0 -2
  440. package/esm2015/lib/saml/models/redirect-saml-request.js +0 -4
  441. package/esm2015/lib/saml/models/sso-gateway-model.js +0 -4
  442. package/esm2015/lib/saml/saml-api.js +0 -15
  443. package/esm2015/lib/saml/saml.module.js +0 -36
  444. package/esm2015/lib/saml/services/entry/abstract-saml-entry.service.js +0 -4
  445. package/esm2015/lib/saml/services/entry/sso-gateway-entry.service.js +0 -35
  446. package/esm2015/lib/saml/services/send-off/abstract-saml.service.js +0 -9
  447. package/esm2015/lib/saml/services/send-off/saml.service.js +0 -41
  448. package/esm2015/lib/sof-pipe/constants/constants.js +0 -17
  449. package/esm2015/lib/sof-pipe/models/sof-date-pipe-format.js +0 -2
  450. package/esm2015/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.js +0 -33
  451. package/esm2015/lib/sof-pipe/pipes/sof-date/sof-date.pipe.js +0 -54
  452. package/esm2015/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.js +0 -24
  453. package/esm2015/lib/sof-pipe/sof-pipe.api.js +0 -9
  454. package/esm2015/lib/sof-pipe/sof-pipe.module.js +0 -28
  455. package/esm2015/lib/theming/directives/css-override.directive.js +0 -67
  456. package/esm2015/lib/theming/models/css-override.js +0 -11
  457. package/esm2015/lib/theming/services/theme.service.js +0 -166
  458. package/esm2015/lib/theming/theme-api.js +0 -6
  459. package/esm2015/lib/theming/theme.module.js +0 -24
  460. package/esm2015/public-api.js +0 -48
  461. package/esm2015/softheon-armature.js +0 -12
  462. package/fesm2015/softheon-armature.js +0 -6517
  463. package/fesm2015/softheon-armature.js.map +0 -1
  464. package/softheon-armature.d.ts +0 -11
  465. package/softheon-armature.metadata.json +0 -1
@@ -0,0 +1,83 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FlexLayoutModule } from '@angular/flex-layout';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { MatInputModule } from '@angular/material/input';
7
+ import { MatSelectModule } from '@angular/material/select';
8
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
9
+ import { SofAddressComponent } from './components/sof-address/sof-address.component';
10
+ import { AlphaNumericDirective } from './directives/alphanumeric/alphanumeric.directive';
11
+ import { InputTrimDirective } from './directives/input-trim/input-trim.directive';
12
+ import { LettersOnlyDirective } from './directives/letters-only/letters-only.directive';
13
+ import { NumbersOnlyDirective } from './directives/numbers-only/numbers-only.directive';
14
+ import { PhoneFormatPipe } from './pipes/phone-format.pipe';
15
+ import { AlertService } from './services/alert.service';
16
+ import * as i0 from "@angular/core";
17
+ /** The components */
18
+ const components = [
19
+ SofAddressComponent
20
+ ];
21
+ /** The directives */
22
+ const directives = [
23
+ NumbersOnlyDirective,
24
+ LettersOnlyDirective,
25
+ AlphaNumericDirective,
26
+ InputTrimDirective
27
+ ];
28
+ const pipes = [
29
+ PhoneFormatPipe
30
+ ];
31
+ /** The material modules */
32
+ const materialModules = [
33
+ MatInputModule,
34
+ MatFormFieldModule,
35
+ MatSelectModule,
36
+ MatSnackBarModule
37
+ ];
38
+ /** Armature forms module */
39
+ export class FormsModule {
40
+ }
41
+ FormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: FormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
42
+ FormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: FormsModule, declarations: [SofAddressComponent, NumbersOnlyDirective,
43
+ LettersOnlyDirective,
44
+ AlphaNumericDirective,
45
+ InputTrimDirective, PhoneFormatPipe], imports: [CommonModule,
46
+ FlexLayoutModule,
47
+ ReactiveFormsModule, MatInputModule,
48
+ MatFormFieldModule,
49
+ MatSelectModule,
50
+ MatSnackBarModule], exports: [SofAddressComponent, NumbersOnlyDirective,
51
+ LettersOnlyDirective,
52
+ AlphaNumericDirective,
53
+ InputTrimDirective, PhoneFormatPipe] });
54
+ FormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: FormsModule, providers: [
55
+ AlertService
56
+ ], imports: [CommonModule,
57
+ FlexLayoutModule,
58
+ ReactiveFormsModule, materialModules] });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: FormsModule, decorators: [{
60
+ type: NgModule,
61
+ args: [{
62
+ declarations: [
63
+ ...components,
64
+ ...directives,
65
+ ...pipes
66
+ ],
67
+ imports: [
68
+ CommonModule,
69
+ FlexLayoutModule,
70
+ ReactiveFormsModule,
71
+ ...materialModules
72
+ ],
73
+ providers: [
74
+ AlertService
75
+ ],
76
+ exports: [
77
+ ...components,
78
+ ...directives,
79
+ ...pipes
80
+ ]
81
+ }]
82
+ }] });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9mb3Jtcy9mb3Jtcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUV4RCxxQkFBcUI7QUFDckIsTUFBTSxVQUFVLEdBQUc7SUFDakIsbUJBQW1CO0NBQ3BCLENBQUM7QUFFRixxQkFBcUI7QUFDckIsTUFBTSxVQUFVLEdBQUc7SUFDakIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsa0JBQWtCO0NBQ25CLENBQUM7QUFFRixNQUFNLEtBQUssR0FBRztJQUNaLGVBQWU7Q0FDaEIsQ0FBQztBQUVGLDJCQUEyQjtBQUMzQixNQUFNLGVBQWUsR0FBRztJQUN0QixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7Q0FDbEIsQ0FBQztBQUVGLDRCQUE0QjtBQXNCNUIsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkE3Q3RCLG1CQUFtQixFQUtuQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0IsRUFJbEIsZUFBZSxhQW1CYixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLG1CQUFtQixFQWhCckIsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsaUJBQWlCLGFBcEJqQixtQkFBbUIsRUFLbkIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsa0JBQWtCLEVBSWxCLGVBQWU7eUdBaUNKLFdBQVcsYUFUWDtRQUNULFlBQVk7S0FDYixZQVBDLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsbUJBQW1CLEVBQ2hCLGVBQWU7MkZBV1QsV0FBVztrQkFyQnZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLEdBQUcsVUFBVTt3QkFDYixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxLQUFLO3FCQUNUO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixHQUFHLGVBQWU7cUJBQ25CO29CQUNELFNBQVMsRUFBRTt3QkFDVCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLFVBQVU7d0JBQ2IsR0FBRyxVQUFVO3dCQUNiLEdBQUcsS0FBSztxQkFDVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBTb2ZBZGRyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NvZi1hZGRyZXNzL3NvZi1hZGRyZXNzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFscGhhTnVtZXJpY0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hbHBoYW51bWVyaWMvYWxwaGFudW1lcmljLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IElucHV0VHJpbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pbnB1dC10cmltL2lucHV0LXRyaW0uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGV0dGVyc09ubHlEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbGV0dGVycy1vbmx5L2xldHRlcnMtb25seS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOdW1iZXJzT25seURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9udW1iZXJzLW9ubHkvbnVtYmVycy1vbmx5LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFBob25lRm9ybWF0UGlwZSB9IGZyb20gJy4vcGlwZXMvcGhvbmUtZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xyXG5cclxuLyoqIFRoZSBjb21wb25lbnRzICovXHJcbmNvbnN0IGNvbXBvbmVudHMgPSBbXHJcbiAgU29mQWRkcmVzc0NvbXBvbmVudFxyXG5dO1xyXG5cclxuLyoqIFRoZSBkaXJlY3RpdmVzICovXHJcbmNvbnN0IGRpcmVjdGl2ZXMgPSBbXHJcbiAgTnVtYmVyc09ubHlEaXJlY3RpdmUsXHJcbiAgTGV0dGVyc09ubHlEaXJlY3RpdmUsXHJcbiAgQWxwaGFOdW1lcmljRGlyZWN0aXZlLFxyXG4gIElucHV0VHJpbURpcmVjdGl2ZVxyXG5dO1xyXG5cclxuY29uc3QgcGlwZXMgPSBbXHJcbiAgUGhvbmVGb3JtYXRQaXBlXHJcbl07XHJcblxyXG4vKiogVGhlIG1hdGVyaWFsIG1vZHVsZXMgKi9cclxuY29uc3QgbWF0ZXJpYWxNb2R1bGVzID0gW1xyXG4gIE1hdElucHV0TW9kdWxlLFxyXG4gIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgTWF0U25hY2tCYXJNb2R1bGVcclxuXTtcclxuXHJcbi8qKiBBcm1hdHVyZSBmb3JtcyBtb2R1bGUgKi9cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAuLi5kaXJlY3RpdmVzLFxyXG4gICAgLi4ucGlwZXNcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgLi4ubWF0ZXJpYWxNb2R1bGVzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEFsZXJ0U2VydmljZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgLi4uY29tcG9uZW50cyxcclxuICAgIC4uLmRpcmVjdGl2ZXMsXHJcbiAgICAuLi5waXBlc1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1zTW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvZm9ybXMvbW9kZWxzL2FkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdW50eSB9IGZyb20gJy4vY291bnR5JztcclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIG1vZGVsXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3Mge1xyXG5cclxuICAgIC8qKiBTdHJlZXQgMSAqL1xyXG4gICAgc3RyZWV0MT86IHN0cmluZztcclxuXHJcbiAgICAvKiogU3RyZWV0IDIgKi9cclxuICAgIHN0cmVldDI/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRoZSBjaXR5ICovXHJcbiAgICBjaXR5Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBDb3VudHkgKi9cclxuICAgIGNvdW50eT86IENvdW50eTtcclxufVxyXG4iXX0=
@@ -0,0 +1,10 @@
1
+ /** The validation key constants */
2
+ export class ValidationKeys {
3
+ }
4
+ ValidationKeys.required = 'required';
5
+ ValidationKeys.minLength = 'minlength';
6
+ ValidationKeys.maxLength = 'maxlength';
7
+ ValidationKeys.pattern = 'pattern';
8
+ ValidationKeys.maskError = 'maskError';
9
+ ValidationKeys.email = 'email';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9mb3Jtcy9tb2RlbHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyxNQUFNLE9BQU8sY0FBYzs7QUFDVCx1QkFBUSxHQUFXLFVBQVUsQ0FBQztBQUM5Qix3QkFBUyxHQUFXLFdBQVcsQ0FBQztBQUNoQyx3QkFBUyxHQUFXLFdBQVcsQ0FBQztBQUNoQyxzQkFBTyxHQUFXLFNBQVMsQ0FBQztBQUM1Qix3QkFBUyxHQUFXLFdBQVcsQ0FBQztBQUNoQyxvQkFBSyxHQUFXLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgdmFsaWRhdGlvbiBrZXkgY29uc3RhbnRzICovXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uS2V5cyB7XHJcbiAgICBwdWJsaWMgc3RhdGljIHJlcXVpcmVkOiBzdHJpbmcgPSAncmVxdWlyZWQnO1xyXG4gICAgcHVibGljIHN0YXRpYyBtaW5MZW5ndGg6IHN0cmluZyA9ICdtaW5sZW5ndGgnO1xyXG4gICAgcHVibGljIHN0YXRpYyBtYXhMZW5ndGg6IHN0cmluZyA9ICdtYXhsZW5ndGgnO1xyXG4gICAgcHVibGljIHN0YXRpYyBwYXR0ZXJuOiBzdHJpbmcgPSAncGF0dGVybic7XHJcbiAgICBwdWJsaWMgc3RhdGljIG1hc2tFcnJvcjogc3RyaW5nID0gJ21hc2tFcnJvcic7XHJcbiAgICBwdWJsaWMgc3RhdGljIGVtYWlsOiBzdHJpbmcgPSAnZW1haWwnO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9mb3Jtcy9tb2RlbHMvY291bnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ291bnR5IG1vZGVsXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50eSB7XHJcblxyXG4gICAgLyoqIFpJUCBDb2RlICovXHJcbiAgICB6aXBDb2RlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBGSVBTIENvZGUgKi9cclxuICAgIGZpcHNDb2RlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBTdGF0ZSBjb3VudHkgaXMgbG9jYXRlZCBpbiAqL1xyXG4gICAgc3RhdGU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIE5hbWUgb2YgdGhlIGNvdW50eSAqL1xyXG4gICAgbmFtZT86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -0,0 +1,58 @@
1
+ /**
2
+ * The States enum
3
+ */
4
+ export var States;
5
+ (function (States) {
6
+ States["AL"] = "Alabama";
7
+ States["AK"] = "Alaska";
8
+ States["AZ"] = "Arizona";
9
+ States["AR"] = "Arkansas";
10
+ States["CA"] = "California";
11
+ States["CO"] = "Colorado";
12
+ States["CT"] = "Connecticut";
13
+ States["DE"] = "Delaware";
14
+ States["DC"] = "District of Columbia";
15
+ States["FL"] = "Florida";
16
+ States["GA"] = "Georgia";
17
+ States["HI"] = "Hawaii";
18
+ States["ID"] = "Idaho";
19
+ States["IL"] = "Illinois";
20
+ States["IN"] = "Indiana";
21
+ States["IA"] = "Iowa";
22
+ States["KS"] = "Kansas";
23
+ States["KY"] = "Kentucky";
24
+ States["LA"] = "Louisiana";
25
+ States["ME"] = "Maine";
26
+ States["MD"] = "Maryland";
27
+ States["MA"] = "Massachusetts";
28
+ States["MI"] = "Michigan";
29
+ States["MN"] = "Minnesota";
30
+ States["MS"] = "Mississippi";
31
+ States["MO"] = "Missouri";
32
+ States["MT"] = "Montana";
33
+ States["NE"] = "Nebraska";
34
+ States["NV"] = "Nevada";
35
+ States["NH"] = "New Hampshire";
36
+ States["NJ"] = "New Jersey";
37
+ States["NM"] = "New Mexico";
38
+ States["NY"] = "New York";
39
+ States["NC"] = "North Carolina";
40
+ States["ND"] = "North Dakota";
41
+ States["OH"] = "Ohio";
42
+ States["OK"] = "Oklahoma";
43
+ States["OR"] = "Oregon";
44
+ States["PA"] = "Pennsylvania";
45
+ States["RI"] = "Rhode Island";
46
+ States["SC"] = "South Carolina";
47
+ States["SD"] = "South Dakota";
48
+ States["TN"] = "Tennessee";
49
+ States["TX"] = "Texas";
50
+ States["UT"] = "Utah";
51
+ States["VT"] = "Vermont";
52
+ States["VA"] = "Virginia";
53
+ States["WA"] = "Washington";
54
+ States["WV"] = "West Virginia";
55
+ States["WI"] = "Wisconsin";
56
+ States["WY"] = "Wyoming";
57
+ })(States || (States = {}));
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9mb3Jtcy9tb2RlbHMvZW51bXMvc3RhdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksTUFvRFg7QUFwREQsV0FBWSxNQUFNO0lBQ2Qsd0JBQWMsQ0FBQTtJQUNkLHVCQUFhLENBQUE7SUFDYix3QkFBYyxDQUFBO0lBQ2QseUJBQWUsQ0FBQTtJQUNmLDJCQUFpQixDQUFBO0lBQ2pCLHlCQUFlLENBQUE7SUFDZiw0QkFBa0IsQ0FBQTtJQUNsQix5QkFBZSxDQUFBO0lBQ2YscUNBQTJCLENBQUE7SUFDM0Isd0JBQWMsQ0FBQTtJQUNkLHdCQUFjLENBQUE7SUFDZCx1QkFBYSxDQUFBO0lBQ2Isc0JBQVksQ0FBQTtJQUNaLHlCQUFlLENBQUE7SUFDZix3QkFBYyxDQUFBO0lBQ2QscUJBQVcsQ0FBQTtJQUNYLHVCQUFhLENBQUE7SUFDYix5QkFBZSxDQUFBO0lBQ2YsMEJBQWdCLENBQUE7SUFDaEIsc0JBQVksQ0FBQTtJQUNaLHlCQUFlLENBQUE7SUFDZiw4QkFBb0IsQ0FBQTtJQUNwQix5QkFBZSxDQUFBO0lBQ2YsMEJBQWdCLENBQUE7SUFDaEIsNEJBQWtCLENBQUE7SUFDbEIseUJBQWUsQ0FBQTtJQUNmLHdCQUFjLENBQUE7SUFDZCx5QkFBZSxDQUFBO0lBQ2YsdUJBQWEsQ0FBQTtJQUNiLDhCQUFvQixDQUFBO0lBQ3BCLDJCQUFpQixDQUFBO0lBQ2pCLDJCQUFpQixDQUFBO0lBQ2pCLHlCQUFlLENBQUE7SUFDZiwrQkFBcUIsQ0FBQTtJQUNyQiw2QkFBbUIsQ0FBQTtJQUNuQixxQkFBVyxDQUFBO0lBQ1gseUJBQWUsQ0FBQTtJQUNmLHVCQUFhLENBQUE7SUFDYiw2QkFBbUIsQ0FBQTtJQUNuQiw2QkFBbUIsQ0FBQTtJQUNuQiwrQkFBcUIsQ0FBQTtJQUNyQiw2QkFBbUIsQ0FBQTtJQUNuQiwwQkFBZ0IsQ0FBQTtJQUNoQixzQkFBWSxDQUFBO0lBQ1oscUJBQVcsQ0FBQTtJQUNYLHdCQUFjLENBQUE7SUFDZCx5QkFBZSxDQUFBO0lBQ2YsMkJBQWlCLENBQUE7SUFDakIsOEJBQW9CLENBQUE7SUFDcEIsMEJBQWdCLENBQUE7SUFDaEIsd0JBQWMsQ0FBQTtBQUNsQixDQUFDLEVBcERXLE1BQU0sS0FBTixNQUFNLFFBb0RqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUaGUgU3RhdGVzIGVudW1cclxuICovXHJcbmV4cG9ydCBlbnVtIFN0YXRlcyB7XHJcbiAgICBBTCA9ICdBbGFiYW1hJyxcclxuICAgIEFLID0gJ0FsYXNrYScsXHJcbiAgICBBWiA9ICdBcml6b25hJyxcclxuICAgIEFSID0gJ0Fya2Fuc2FzJyxcclxuICAgIENBID0gJ0NhbGlmb3JuaWEnLFxyXG4gICAgQ08gPSAnQ29sb3JhZG8nLFxyXG4gICAgQ1QgPSAnQ29ubmVjdGljdXQnLFxyXG4gICAgREUgPSAnRGVsYXdhcmUnLFxyXG4gICAgREMgPSAnRGlzdHJpY3Qgb2YgQ29sdW1iaWEnLFxyXG4gICAgRkwgPSAnRmxvcmlkYScsXHJcbiAgICBHQSA9ICdHZW9yZ2lhJyxcclxuICAgIEhJID0gJ0hhd2FpaScsXHJcbiAgICBJRCA9ICdJZGFobycsXHJcbiAgICBJTCA9ICdJbGxpbm9pcycsXHJcbiAgICBJTiA9ICdJbmRpYW5hJyxcclxuICAgIElBID0gJ0lvd2EnLFxyXG4gICAgS1MgPSAnS2Fuc2FzJyxcclxuICAgIEtZID0gJ0tlbnR1Y2t5JyxcclxuICAgIExBID0gJ0xvdWlzaWFuYScsXHJcbiAgICBNRSA9ICdNYWluZScsXHJcbiAgICBNRCA9ICdNYXJ5bGFuZCcsXHJcbiAgICBNQSA9ICdNYXNzYWNodXNldHRzJyxcclxuICAgIE1JID0gJ01pY2hpZ2FuJyxcclxuICAgIE1OID0gJ01pbm5lc290YScsXHJcbiAgICBNUyA9ICdNaXNzaXNzaXBwaScsXHJcbiAgICBNTyA9ICdNaXNzb3VyaScsXHJcbiAgICBNVCA9ICdNb250YW5hJyxcclxuICAgIE5FID0gJ05lYnJhc2thJyxcclxuICAgIE5WID0gJ05ldmFkYScsXHJcbiAgICBOSCA9ICdOZXcgSGFtcHNoaXJlJyxcclxuICAgIE5KID0gJ05ldyBKZXJzZXknLFxyXG4gICAgTk0gPSAnTmV3IE1leGljbycsXHJcbiAgICBOWSA9ICdOZXcgWW9yaycsXHJcbiAgICBOQyA9ICdOb3J0aCBDYXJvbGluYScsXHJcbiAgICBORCA9ICdOb3J0aCBEYWtvdGEnLFxyXG4gICAgT0ggPSAnT2hpbycsXHJcbiAgICBPSyA9ICdPa2xhaG9tYScsXHJcbiAgICBPUiA9ICdPcmVnb24nLFxyXG4gICAgUEEgPSAnUGVubnN5bHZhbmlhJyxcclxuICAgIFJJID0gJ1Job2RlIElzbGFuZCcsXHJcbiAgICBTQyA9ICdTb3V0aCBDYXJvbGluYScsXHJcbiAgICBTRCA9ICdTb3V0aCBEYWtvdGEnLFxyXG4gICAgVE4gPSAnVGVubmVzc2VlJyxcclxuICAgIFRYID0gJ1RleGFzJyxcclxuICAgIFVUID0gJ1V0YWgnLFxyXG4gICAgVlQgPSAnVmVybW9udCcsXHJcbiAgICBWQSA9ICdWaXJnaW5pYScsXHJcbiAgICBXQSA9ICdXYXNoaW5ndG9uJyxcclxuICAgIFdWID0gJ1dlc3QgVmlyZ2luaWEnLFxyXG4gICAgV0kgPSAnV2lzY29uc2luJyxcclxuICAgIFdZID0gJ1d5b21pbmcnXHJcbn1cclxuIl19
@@ -0,0 +1,33 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A pipe that takes a simple string phone number and formats it
5
+ */
6
+ export class PhoneFormatPipe {
7
+ transform(phoneNumber) {
8
+ // If input is undefined, then return empty string
9
+ if (!phoneNumber) {
10
+ return '';
11
+ }
12
+ // Check for more than 10 digits
13
+ let formattedPhoneNumber = ('' + phoneNumber).replace(/\D/g, '');
14
+ if (formattedPhoneNumber.length > 10) {
15
+ return '';
16
+ }
17
+ // Check for correct pattern
18
+ let formattedPhoneArray = formattedPhoneNumber.match(/^(1|)?(\d{3})(\d{3})(\d{4})$/);
19
+ if (!!formattedPhoneArray) {
20
+ return ['(', formattedPhoneArray[2], ') ', formattedPhoneArray[3], '-', formattedPhoneArray[4]].join('');
21
+ }
22
+ else {
23
+ return '';
24
+ }
25
+ }
26
+ }
27
+ PhoneFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: PhoneFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
28
+ PhoneFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: PhoneFormatPipe, name: "sofArPhone" });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: PhoneFormatPipe, decorators: [{
30
+ type: Pipe,
31
+ args: [{ name: 'sofArPhone' }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2Zvcm1zL3BpcGVzL3Bob25lLWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxXQUFtQjtRQUUzQixrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsZ0NBQWdDO1FBQ2hDLElBQUksb0JBQW9CLEdBQUcsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRSxJQUFJLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUM7WUFDbkMsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELDRCQUE0QjtRQUM1QixJQUFJLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMxRzthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7OzRHQXJCVSxlQUFlOzBHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQSBwaXBlIHRoYXQgdGFrZXMgYSBzaW1wbGUgc3RyaW5nIHBob25lIG51bWJlciBhbmQgZm9ybWF0cyBpdFxyXG4gKi9cclxuQFBpcGUoe25hbWU6ICdzb2ZBclBob25lJ30pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0ocGhvbmVOdW1iZXI6IHN0cmluZyk6IHN0cmluZyB7XHJcblxyXG4gICAgLy8gSWYgaW5wdXQgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBlbXB0eSBzdHJpbmdcclxuICAgIGlmICghcGhvbmVOdW1iZXIpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENoZWNrIGZvciBtb3JlIHRoYW4gMTAgZGlnaXRzXHJcbiAgICBsZXQgZm9ybWF0dGVkUGhvbmVOdW1iZXIgPSAoJycgKyBwaG9uZU51bWJlcikucmVwbGFjZSgvXFxEL2csICcnKTtcclxuICAgIGlmIChmb3JtYXR0ZWRQaG9uZU51bWJlci5sZW5ndGggPiAxMCl7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICAvLyBDaGVjayBmb3IgY29ycmVjdCBwYXR0ZXJuXHJcbiAgICBsZXQgZm9ybWF0dGVkUGhvbmVBcnJheSA9IGZvcm1hdHRlZFBob25lTnVtYmVyLm1hdGNoKC9eKDF8KT8oXFxkezN9KShcXGR7M30pKFxcZHs0fSkkLyk7XHJcbiAgICBpZiAoISFmb3JtYXR0ZWRQaG9uZUFycmF5KSB7XHJcbiAgICAgIHJldHVybiBbJygnLCBmb3JtYXR0ZWRQaG9uZUFycmF5WzJdLCAnKSAnLCBmb3JtYXR0ZWRQaG9uZUFycmF5WzNdLCAnLScsIGZvcm1hdHRlZFBob25lQXJyYXlbNF1dLmpvaW4oJycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,167 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FormArray, FormGroup } from '@angular/forms';
3
+ import { MatSnackBarConfig } from '@angular/material/snack-bar';
4
+ import { ValidationKeys } from '../models/constants';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/snack-bar";
7
+ import * as i2 from "@ngx-translate/core";
8
+ /**
9
+ * Service to handle error alerts
10
+ */
11
+ export class AlertService {
12
+ /**
13
+ * The constructor
14
+ * @param snackBar the angular material snackbar
15
+ * @param translateService the translate service
16
+ */
17
+ constructor(snackBar, translateService) {
18
+ this.snackBar = snackBar;
19
+ this.translateService = translateService;
20
+ /** the translation ket for close text */
21
+ this.closeTextKey = 'common.dismiss';
22
+ }
23
+ /**
24
+ * Opens a generic snack bar alert
25
+ * @param detailsTextKey text to show in the alert
26
+ * @param durationLength how long the alert should be shown before it fades
27
+ */
28
+ openCustomSnackBarAlert(detailsTextKey, params = {}, durationLength = 3000) {
29
+ const snackBarConfig = new MatSnackBarConfig();
30
+ snackBarConfig.duration = durationLength;
31
+ snackBarConfig.panelClass = ['red-snackbar'];
32
+ this.snackBar.open(this.translateService.instant(detailsTextKey, params), this.translateService.instant(this.closeTextKey), snackBarConfig);
33
+ }
34
+ /**
35
+ * Opens an alert with a the specific form validation error
36
+ * @param form the form to validate
37
+ * @param el the element reference from the forms page, used to set focus on invalid form
38
+ * @param durationLength how long the alert should be shown before it fades
39
+ */
40
+ openFormInvalidSnackBarAlert(form, el, durationLength = 5000) {
41
+ this.getWhatIsNotFilledOut(form, el, durationLength);
42
+ }
43
+ /**
44
+ * Iterates through a form (form group/form array) recursively to get the individual form control that is invalid
45
+ * @param form the form to validate
46
+ * @param el the element reference from the forms page, used to set focus on invalid form
47
+ * @param durationLength how long the alert should be shown before it fades
48
+ */
49
+ getWhatIsNotFilledOut(form, el, durationLength) {
50
+ for (let field in form.controls) {
51
+ let control = form.get(field);
52
+ if (!control.invalid) {
53
+ continue;
54
+ }
55
+ if (control instanceof FormArray) {
56
+ for (let formArrayField in control.controls) {
57
+ let formArrayControl = control.get(formArrayField);
58
+ if (!formArrayControl.invalid) {
59
+ continue;
60
+ }
61
+ if (formArrayControl instanceof FormGroup) {
62
+ return this.getWhatIsNotFilledOut(formArrayControl, el, durationLength);
63
+ }
64
+ else {
65
+ return this.getErrorMessage(formArrayControl, formArrayField, el, durationLength);
66
+ }
67
+ }
68
+ }
69
+ else if (control instanceof FormGroup) {
70
+ for (let formGroupField in control.controls) {
71
+ let formGroupControl = control.get(formGroupField);
72
+ if (!formGroupControl.invalid) {
73
+ continue;
74
+ }
75
+ if (formGroupControl instanceof FormGroup) {
76
+ return this.getWhatIsNotFilledOut(formGroupControl, el, durationLength);
77
+ }
78
+ else {
79
+ return this.getErrorMessage(formGroupControl, formGroupField, el, durationLength);
80
+ }
81
+ }
82
+ }
83
+ else {
84
+ return this.getErrorMessage(control, field, el, durationLength);
85
+ }
86
+ }
87
+ }
88
+ /**
89
+ * Gets the error message based on the form control that is invalid
90
+ * @param control the invalid form control
91
+ * @param field the field name that is invalid
92
+ * @param el the element reference from the forms page, used to set focus on invalid form
93
+ * @param durationLength how long the alert should be shown before it fades
94
+ */
95
+ getErrorMessage(control, field, el, durationLength) {
96
+ let errorText = '';
97
+ const error = control.errors;
98
+ const errorKey = Object.keys(control.errors)[0]; // will only ever be one at a time even if multiple validation errors
99
+ const formattedFieldText = this.getFieldFormattedText(field);
100
+ switch (errorKey) {
101
+ case ValidationKeys.required: {
102
+ errorText = this.translateService.instant('error.requiredError', { 'fieldName': formattedFieldText });
103
+ break;
104
+ }
105
+ case ValidationKeys.maxLength: {
106
+ const errorValues = Object.values(error)[0];
107
+ const requiredLength = Object.values(errorValues)[0];
108
+ const actualValue = Object.values(errorValues)[1];
109
+ errorText = this.translateService.instant('error.maxLengthError', { 'fieldName': formattedFieldText, 'actualValue': actualValue, 'requiredLength': requiredLength });
110
+ break;
111
+ }
112
+ case ValidationKeys.minLength: {
113
+ let errorValues = Object.values(error)[0];
114
+ let requiredLength = Object.values(errorValues)[0];
115
+ let actualValue = Object.values(errorValues)[1];
116
+ errorText = this.translateService.instant('error.minLengthError', { 'fieldName': formattedFieldText, 'actualValue': actualValue, 'requiredLength': requiredLength });
117
+ break;
118
+ }
119
+ case ValidationKeys.pattern:
120
+ case ValidationKeys.maskError:
121
+ case ValidationKeys.email: {
122
+ errorText = this.translateService.instant('error.formatError', { 'fieldName': formattedFieldText });
123
+ break;
124
+ }
125
+ default: {
126
+ errorText = this.translateService.instant('error.allFieldsRequired');
127
+ break;
128
+ }
129
+ }
130
+ this.setFocusToFormControl(el);
131
+ this.openCustomSnackBarAlert(errorText, durationLength);
132
+ return;
133
+ }
134
+ /**
135
+ * Formats the form control name to readable text to display to the user in an error alert
136
+ * @param field The field
137
+ */
138
+ getFieldFormattedText(field) {
139
+ let split = field.split(/(?=[A-Z])/); // splits a string by word
140
+ let formattedFieldText = '';
141
+ for (let i = 0; i < split.length; i++) {
142
+ split[i] = split[i].charAt(0).toUpperCase() + split[i].substring(1);
143
+ formattedFieldText += split[i] + ' ';
144
+ }
145
+ return formattedFieldText;
146
+ }
147
+ /**
148
+ * Sets focus to the first invalid form control element
149
+ * @param el Element to focus on
150
+ */
151
+ setFocusToFormControl(el) {
152
+ // find all invalid controls and focus the first control found
153
+ const invalidElements = el.nativeElement.querySelectorAll('input.ng-invalid, select.ng-invalid');
154
+ if (invalidElements.length > 0) {
155
+ invalidElements[0].focus(); // [0] will always be the form itself [1] will be the first control
156
+ }
157
+ }
158
+ }
159
+ AlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AlertService, deps: [{ token: i1.MatSnackBar }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
160
+ AlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AlertService, providedIn: 'root' });
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AlertService, decorators: [{
162
+ type: Injectable,
163
+ args: [{
164
+ providedIn: 'root'
165
+ }]
166
+ }], ctorParameters: function () { return [{ type: i1.MatSnackBar }, { type: i2.TranslateService }]; } });
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvZm9ybXMvc2VydmljZXMvYWxlcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBbUIsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUVyRDs7R0FFRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBS3ZCOzs7O09BSUc7SUFDSCxZQUNTLFFBQXFCLEVBQ3BCLGdCQUFrQztRQURuQyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3BCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFWNUMseUNBQXlDO1FBQ3pCLGlCQUFZLEdBQVcsZ0JBQWdCLENBQUM7SUFVcEQsQ0FBQztJQUVMOzs7O09BSUc7SUFDSSx1QkFBdUIsQ0FBQyxjQUFzQixFQUFFLFNBQWMsRUFBRSxFQUFFLGlCQUF5QixJQUFJO1FBRXBHLE1BQU0sY0FBYyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUMvQyxjQUFjLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztRQUN6QyxjQUFjLENBQUMsVUFBVSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7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QUU7WUFDOUIsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsbUVBQW1FO1NBQ2hHO0lBRUgsQ0FBQzs7eUdBL0pVLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyLCBNYXRTbmFja0JhckNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSBlcnJvciBhbGVydHNcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XHJcblxyXG4gIC8qKiB0aGUgdHJhbnNsYXRpb24ga2V0IGZvciBjbG9zZSB0ZXh0ICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGNsb3NlVGV4dEtleTogc3RyaW5nID0gJ2NvbW1vbi5kaXNtaXNzJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGNvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIHNuYWNrQmFyIHRoZSBhbmd1bGFyIG1hdGVyaWFsIHNuYWNrYmFyXHJcbiAgICogQHBhcmFtIHRyYW5zbGF0ZVNlcnZpY2UgdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbnMgYSBnZW5lcmljIHNuYWNrIGJhciBhbGVydFxyXG4gICAqIEBwYXJhbSBkZXRhaWxzVGV4dEtleSB0ZXh0IHRvIHNob3cgaW4gdGhlIGFsZXJ0XHJcbiAgICogQHBhcmFtIGR1cmF0aW9uTGVuZ3RoIGhvdyBsb25nIHRoZSBhbGVydCBzaG91bGQgYmUgc2hvd24gYmVmb3JlIGl0IGZhZGVzXHJcbiAgICovXHJcbiAgcHVibGljIG9wZW5DdXN0b21TbmFja0JhckFsZXJ0KGRldGFpbHNUZXh0S2V5OiBzdHJpbmcsIHBhcmFtczogYW55ID0ge30sIGR1cmF0aW9uTGVuZ3RoOiBudW1iZXIgPSAzMDAwKTogdm9pZCB7XHJcblxyXG4gICAgY29uc3Qgc25hY2tCYXJDb25maWcgPSBuZXcgTWF0U25hY2tCYXJDb25maWcoKTtcclxuICAgIHNuYWNrQmFyQ29uZmlnLmR1cmF0aW9uID0gZHVyYXRpb25MZW5ndGg7XHJcbiAgICBzbmFja0JhckNvbmZpZy5wYW5lbENsYXNzID0gWydyZWQtc25hY2tiYXInXTtcclxuXHJcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4odGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZGV0YWlsc1RleHRLZXksIHBhcmFtcyksIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuY2xvc2VUZXh0S2V5KSwgc25hY2tCYXJDb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbnMgYW4gYWxlcnQgd2l0aCBhIHRoZSBzcGVjaWZpYyBmb3JtIHZhbGlkYXRpb24gZXJyb3JcclxuICAgKiBAcGFyYW0gZm9ybSB0aGUgZm9ybSB0byB2YWxpZGF0ZVxyXG4gICAqIEBwYXJhbSBlbCB0aGUgZWxlbWVudCByZWZlcmVuY2UgZnJvbSB0aGUgZm9ybXMgcGFnZSwgdXNlZCB0byBzZXQgZm9jdXMgb24gaW52YWxpZCBmb3JtXHJcbiAgICogQHBhcmFtIGR1cmF0aW9uTGVuZ3RoIGhvdyBsb25nIHRoZSBhbGVydCBzaG91bGQgYmUgc2hvd24gYmVmb3JlIGl0IGZhZGVzXHJcbiAgICovXHJcbiAgcHVibGljIG9wZW5Gb3JtSW52YWxpZFNuYWNrQmFyQWxlcnQoZm9ybTogRm9ybUdyb3VwLCBlbDogRWxlbWVudFJlZiwgZHVyYXRpb25MZW5ndGg6IG51bWJlciA9IDUwMDApOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0V2hhdElzTm90RmlsbGVkT3V0KGZvcm0sIGVsLCBkdXJhdGlvbkxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdGVyYXRlcyB0aHJvdWdoIGEgZm9ybSAoZm9ybSBncm91cC9mb3JtIGFycmF5KSByZWN1cnNpdmVseSB0byBnZXQgdGhlIGluZGl2aWR1YWwgZm9ybSBjb250cm9sIHRoYXQgaXMgaW52YWxpZFxyXG4gICAqIEBwYXJhbSBmb3JtIHRoZSBmb3JtIHRvIHZhbGlkYXRlXHJcbiAgICogQHBhcmFtIGVsIHRoZSBlbGVtZW50IHJlZmVyZW5jZSBmcm9tIHRoZSBmb3JtcyBwYWdlLCB1c2VkIHRvIHNldCBmb2N1cyBvbiBpbnZhbGlkIGZvcm1cclxuICAgKiBAcGFyYW0gZHVyYXRpb25MZW5ndGggaG93IGxvbmcgdGhlIGFsZXJ0IHNob3VsZCBiZSBzaG93biBiZWZvcmUgaXQgZmFkZXNcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0V2hhdElzTm90RmlsbGVkT3V0KGZvcm06IEZvcm1Hcm91cCwgZWw6IEVsZW1lbnRSZWYsIGR1cmF0aW9uTGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgZm9yIChsZXQgZmllbGQgaW4gZm9ybS5jb250cm9scykge1xyXG4gICAgICBsZXQgY29udHJvbCA9IGZvcm0uZ2V0KGZpZWxkKTtcclxuICAgICAgaWYgKCFjb250cm9sLmludmFsaWQpIHtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgIGZvciAobGV0IGZvcm1BcnJheUZpZWxkIGluIGNvbnRyb2wuY29udHJvbHMpIHtcclxuICAgICAgICAgIGxldCBmb3JtQXJyYXlDb250cm9sID0gY29udHJvbC5nZXQoZm9ybUFycmF5RmllbGQpO1xyXG4gICAgICAgICAgaWYgKCFmb3JtQXJyYXlDb250cm9sLmludmFsaWQpIHtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZm9ybUFycmF5Q29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRXaGF0SXNOb3RGaWxsZWRPdXQoZm9ybUFycmF5Q29udHJvbCwgZWwsIGR1cmF0aW9uTGVuZ3RoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVycm9yTWVzc2FnZShmb3JtQXJyYXlDb250cm9sLCBmb3JtQXJyYXlGaWVsZCwgZWwsIGR1cmF0aW9uTGVuZ3RoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgIGZvciAobGV0IGZvcm1Hcm91cEZpZWxkIGluIGNvbnRyb2wuY29udHJvbHMpIHtcclxuICAgICAgICAgIGxldCBmb3JtR3JvdXBDb250cm9sID0gY29udHJvbC5nZXQoZm9ybUdyb3VwRmllbGQpO1xyXG4gICAgICAgICAgaWYgKCFmb3JtR3JvdXBDb250cm9sLmludmFsaWQpIHtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZm9ybUdyb3VwQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRXaGF0SXNOb3RGaWxsZWRPdXQoZm9ybUdyb3VwQ29udHJvbCwgZWwsIGR1cmF0aW9uTGVuZ3RoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVycm9yTWVzc2FnZShmb3JtR3JvdXBDb250cm9sLCBmb3JtR3JvdXBGaWVsZCwgZWwsIGR1cmF0aW9uTGVuZ3RoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGNvbnRyb2wsIGZpZWxkLCBlbCwgZHVyYXRpb25MZW5ndGgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBlcnJvciBtZXNzYWdlIGJhc2VkIG9uIHRoZSBmb3JtIGNvbnRyb2wgdGhhdCBpcyBpbnZhbGlkXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgdGhlIGludmFsaWQgZm9ybSBjb250cm9sXHJcbiAgICogQHBhcmFtIGZpZWxkIHRoZSBmaWVsZCBuYW1lIHRoYXQgaXMgaW52YWxpZFxyXG4gICAqIEBwYXJhbSBlbCB0aGUgZWxlbWVudCByZWZlcmVuY2UgZnJvbSB0aGUgZm9ybXMgcGFnZSwgdXNlZCB0byBzZXQgZm9jdXMgb24gaW52YWxpZCBmb3JtXHJcbiAgICogQHBhcmFtIGR1cmF0aW9uTGVuZ3RoIGhvdyBsb25nIHRoZSBhbGVydCBzaG91bGQgYmUgc2hvd24gYmVmb3JlIGl0IGZhZGVzXHJcbiAgICovXHJcbiAgcHVibGljIGdldEVycm9yTWVzc2FnZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGZpZWxkOiBzdHJpbmcsIGVsOiBFbGVtZW50UmVmLCBkdXJhdGlvbkxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGxldCBlcnJvclRleHQgPSAnJztcclxuICAgIGNvbnN0IGVycm9yID0gY29udHJvbC5lcnJvcnM7XHJcbiAgICBjb25zdCBlcnJvcktleSA9IE9iamVjdC5rZXlzKGNvbnRyb2wuZXJyb3JzKVswXTsgLy8gd2lsbCBvbmx5IGV2ZXIgYmUgb25lIGF0IGEgdGltZSBldmVuIGlmIG11bHRpcGxlIHZhbGlkYXRpb24gZXJyb3JzXHJcblxyXG4gICAgY29uc3QgZm9ybWF0dGVkRmllbGRUZXh0ID0gdGhpcy5nZXRGaWVsZEZvcm1hdHRlZFRleHQoZmllbGQpO1xyXG4gICAgc3dpdGNoIChlcnJvcktleSkge1xyXG4gICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLnJlcXVpcmVkOiB7XHJcbiAgICAgICAgZXJyb3JUZXh0ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Vycm9yLnJlcXVpcmVkRXJyb3InLCB7ICdmaWVsZE5hbWUnOiBmb3JtYXR0ZWRGaWVsZFRleHQgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5tYXhMZW5ndGg6IHtcclxuICAgICAgICBjb25zdCBlcnJvclZhbHVlcyA9IE9iamVjdC52YWx1ZXMoZXJyb3IpWzBdO1xyXG4gICAgICAgIGNvbnN0IHJlcXVpcmVkTGVuZ3RoID0gT2JqZWN0LnZhbHVlcyhlcnJvclZhbHVlcylbMF07XHJcbiAgICAgICAgY29uc3QgYWN0dWFsVmFsdWUgPSBPYmplY3QudmFsdWVzKGVycm9yVmFsdWVzKVsxXTtcclxuICAgICAgICBlcnJvclRleHQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZXJyb3IubWF4TGVuZ3RoRXJyb3InLCB7ICdmaWVsZE5hbWUnOiBmb3JtYXR0ZWRGaWVsZFRleHQsICdhY3R1YWxWYWx1ZSc6IGFjdHVhbFZhbHVlLCAncmVxdWlyZWRMZW5ndGgnOiByZXF1aXJlZExlbmd0aCB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLm1pbkxlbmd0aDoge1xyXG4gICAgICAgIGxldCBlcnJvclZhbHVlcyA9IE9iamVjdC52YWx1ZXMoZXJyb3IpWzBdO1xyXG4gICAgICAgIGxldCByZXF1aXJlZExlbmd0aCA9IE9iamVjdC52YWx1ZXMoZXJyb3JWYWx1ZXMpWzBdO1xyXG4gICAgICAgIGxldCBhY3R1YWxWYWx1ZSA9IE9iamVjdC52YWx1ZXMoZXJyb3JWYWx1ZXMpWzFdO1xyXG4gICAgICAgIGVycm9yVGV4dCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdlcnJvci5taW5MZW5ndGhFcnJvcicsIHsgJ2ZpZWxkTmFtZSc6IGZvcm1hdHRlZEZpZWxkVGV4dCwgJ2FjdHVhbFZhbHVlJzogYWN0dWFsVmFsdWUsICdyZXF1aXJlZExlbmd0aCc6IHJlcXVpcmVkTGVuZ3RoIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMucGF0dGVybjpcclxuICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5tYXNrRXJyb3I6XHJcbiAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuZW1haWw6IHtcclxuICAgICAgICBlcnJvclRleHQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZXJyb3IuZm9ybWF0RXJyb3InLCB7ICdmaWVsZE5hbWUnOiBmb3JtYXR0ZWRGaWVsZFRleHQgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIGVycm9yVGV4dCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdlcnJvci5hbGxGaWVsZHNSZXF1aXJlZCcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEZvY3VzVG9Gb3JtQ29udHJvbChlbCk7XHJcbiAgICB0aGlzLm9wZW5DdXN0b21TbmFja0JhckFsZXJ0KGVycm9yVGV4dCwgZHVyYXRpb25MZW5ndGgpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRm9ybWF0cyB0aGUgZm9ybSBjb250cm9sIG5hbWUgdG8gcmVhZGFibGUgdGV4dCB0byBkaXNwbGF5IHRvIHRoZSB1c2VyIGluIGFuIGVycm9yIGFsZXJ0XHJcbiAgICogQHBhcmFtIGZpZWxkIFRoZSBmaWVsZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRGaWVsZEZvcm1hdHRlZFRleHQoZmllbGQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgc3BsaXQgPSBmaWVsZC5zcGxpdCgvKD89W0EtWl0pLyk7IC8vIHNwbGl0cyBhIHN0cmluZyBieSB3b3JkXHJcbiAgICBsZXQgZm9ybWF0dGVkRmllbGRUZXh0ID0gJyc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwbGl0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHNwbGl0W2ldID0gc3BsaXRbaV0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzcGxpdFtpXS5zdWJzdHJpbmcoMSk7XHJcbiAgICAgIGZvcm1hdHRlZEZpZWxkVGV4dCArPSBzcGxpdFtpXSArICcgJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ybWF0dGVkRmllbGRUZXh0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyBmb2N1cyB0byB0aGUgZmlyc3QgaW52YWxpZCBmb3JtIGNvbnRyb2wgZWxlbWVudFxyXG4gICAqIEBwYXJhbSBlbCBFbGVtZW50IHRvIGZvY3VzIG9uXHJcbiAgICovXHJcbiAgcHVibGljIHNldEZvY3VzVG9Gb3JtQ29udHJvbChlbDogRWxlbWVudFJlZik6IHZvaWQge1xyXG4gICAgLy8gZmluZCBhbGwgaW52YWxpZCBjb250cm9scyBhbmQgZm9jdXMgdGhlIGZpcnN0IGNvbnRyb2wgZm91bmRcclxuICAgIGNvbnN0IGludmFsaWRFbGVtZW50cyA9IGVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQubmctaW52YWxpZCwgc2VsZWN0Lm5nLWludmFsaWQnKTtcclxuICAgIGlmIChpbnZhbGlkRWxlbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpbnZhbGlkRWxlbWVudHNbMF0uZm9jdXMoKTsgLy8gWzBdIHdpbGwgYWx3YXlzIGJlIHRoZSBmb3JtIGl0c2VsZiBbMV0gd2lsbCBiZSB0aGUgZmlyc3QgY29udHJvbFxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIl19