@flarehr/apollo-benefits 1.2.100 → 1.3.54122

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 (376) hide show
  1. package/README.md +19 -0
  2. package/dist/assets/@splitsoftware-7d799540.js +18 -0
  3. package/dist/assets/all_tab_color-548783b9.svg +21 -0
  4. package/dist/assets/all_tab_gray-a5051313.svg +6 -0
  5. package/dist/assets/check-57fe1dcb.svg +15 -0
  6. package/dist/assets/datadog-350af017.js +5 -0
  7. package/dist/assets/date-fns-c5d8fbc0.js +1 -0
  8. package/dist/assets/default_backdrop-fdd955b8.png +0 -0
  9. package/dist/assets/external_link-599a0aec.svg +3 -0
  10. package/dist/assets/external_link_white-55111b2e.svg +3 -0
  11. package/dist/assets/framer-motion-bb8d6b82.js +1 -0
  12. package/dist/assets/index-1f3a05d4.js +5 -0
  13. package/dist/assets/index-a281aa90.js +35 -0
  14. package/dist/assets/index-cfa25e28.css +1 -0
  15. package/dist/assets/lodash-5d893f8c.js +1 -0
  16. package/dist/assets/logo-a34e9b4b.png +0 -0
  17. package/dist/assets/oidc-client-6f6e47c2.js +101 -0
  18. package/dist/assets/padlock-8c081120.svg +26 -0
  19. package/dist/assets/suitcase-6471ad05.svg +17 -0
  20. package/dist/assets/vendor-2d0139ca.js +788 -0
  21. package/dist/assets/warning-a7f1af23.svg +14 -0
  22. package/dist/assets/welcome_image_mobile-dbde6c80.png +0 -0
  23. package/dist/assets/welcome_image_v2-869c59e4.png +0 -0
  24. package/dist/assets/wellbeing_banner-6903d615.png +0 -0
  25. package/dist/assets/workplace_link_banner_mobile-6ebaa24b.png +0 -0
  26. package/dist/assets/workplace_link_banner_v2-c81ed849.png +0 -0
  27. package/dist/config.json +14 -0
  28. package/dist/favicon.ico +0 -0
  29. package/dist/icons/android-chrome-192x192.png +0 -0
  30. package/dist/icons/android-chrome-512x512.png +0 -0
  31. package/dist/icons/apple-touch-icon.png +0 -0
  32. package/dist/icons/favicon-16x16.png +0 -0
  33. package/dist/icons/favicon-32x32.png +0 -0
  34. package/dist/index.html +114 -0
  35. package/dist/manifest.json +21 -0
  36. package/dist/sw-esm.js +16 -0
  37. package/package.json +127 -69
  38. package/LICENSE +0 -21
  39. package/dist/lib/apollo-benefits/apollo-benefits.esm.js +0 -1
  40. package/dist/lib/apollo-benefits/assets/Hero_Background.png +0 -0
  41. package/dist/lib/apollo-benefits/assets/car-placeholder.svg +0 -5
  42. package/dist/lib/apollo-benefits/assets/check.svg +0 -13
  43. package/dist/lib/apollo-benefits/common-assets/icon-info.svg +0 -4
  44. package/dist/lib/apollo-benefits/index.esm.js +0 -0
  45. package/dist/lib/apollo-benefits/p-054d1471.js +0 -1
  46. package/dist/lib/apollo-benefits/p-066d8e7b.js +0 -15
  47. package/dist/lib/apollo-benefits/p-08376428.entry.js +0 -1
  48. package/dist/lib/apollo-benefits/p-1d7ab1b9.entry.js +0 -1
  49. package/dist/lib/apollo-benefits/p-25a89275.entry.js +0 -1
  50. package/dist/lib/apollo-benefits/p-26d363c9.entry.js +0 -1
  51. package/dist/lib/apollo-benefits/p-337ce3df.js +0 -1
  52. package/dist/lib/apollo-benefits/p-3dc9a379.js +0 -1
  53. package/dist/lib/apollo-benefits/p-4376366b.js +0 -46
  54. package/dist/lib/apollo-benefits/p-4e2d34f4.entry.js +0 -1
  55. package/dist/lib/apollo-benefits/p-50bbf713.js +0 -1
  56. package/dist/lib/apollo-benefits/p-53c5e861.entry.js +0 -1
  57. package/dist/lib/apollo-benefits/p-556fdb43.js +0 -1
  58. package/dist/lib/apollo-benefits/p-57d4702d.entry.js +0 -1
  59. package/dist/lib/apollo-benefits/p-58ee670f.js +0 -1
  60. package/dist/lib/apollo-benefits/p-6a54654f.entry.js +0 -11
  61. package/dist/lib/apollo-benefits/p-6bd33850.js +0 -1
  62. package/dist/lib/apollo-benefits/p-79c3b633.entry.js +0 -1
  63. package/dist/lib/apollo-benefits/p-7f3a2f3b.entry.js +0 -1
  64. package/dist/lib/apollo-benefits/p-82d42c2b.js +0 -1
  65. package/dist/lib/apollo-benefits/p-9b3e978e.js +0 -1
  66. package/dist/lib/apollo-benefits/p-a1dd0cba.entry.js +0 -1
  67. package/dist/lib/apollo-benefits/p-aa379cfe.entry.js +0 -1
  68. package/dist/lib/apollo-benefits/p-aaf0e527.entry.js +0 -1
  69. package/dist/lib/apollo-benefits/p-b0b9425b.js +0 -1
  70. package/dist/lib/apollo-benefits/p-d0ef83f8.entry.js +0 -1
  71. package/dist/lib/apollo-benefits/p-db4a65f0.entry.js +0 -1
  72. package/dist/lib/apollo-benefits/p-dc67f942.entry.js +0 -1
  73. package/dist/lib/apollo-benefits/p-e1fd79bb.entry.js +0 -1
  74. package/dist/lib/apollo-benefits/p-ea120e31.js +0 -1
  75. package/dist/lib/apollo-benefits/p-ef5f33ca.js +0 -1
  76. package/dist/lib/apollo-benefits/p-f5254031.js +0 -1
  77. package/dist/lib/apollo-benefits/p-f63d9d89.js +0 -1
  78. package/dist/lib/apollo-benefits/p-fcfa5255.entry.js +0 -1
  79. package/dist/lib/cjs/Option-98dab0b8.js +0 -1988
  80. package/dist/lib/cjs/active-router-90429847.js +0 -75
  81. package/dist/lib/cjs/ap-ben-asset_5.cjs.entry.js +0 -1856
  82. package/dist/lib/cjs/ap-ben-benefit-card.cjs.entry.js +0 -45
  83. package/dist/lib/cjs/ap-ben-benefit-list-item.cjs.entry.js +0 -56
  84. package/dist/lib/cjs/ap-ben-benefit-url_27.cjs.entry.js +0 -48767
  85. package/dist/lib/cjs/ap-ben-benefits-list_3.cjs.entry.js +0 -55
  86. package/dist/lib/cjs/ap-ben-benefits-page.cjs.entry.js +0 -55
  87. package/dist/lib/cjs/ap-ben-choose-vehicle-section_4.cjs.entry.js +0 -2779
  88. package/dist/lib/cjs/ap-ben-notifications-section.cjs.entry.js +0 -243
  89. package/dist/lib/cjs/ap-ben-oidc-callback-page.cjs.entry.js +0 -40
  90. package/dist/lib/cjs/apollo-benefits.cjs.js +0 -25
  91. package/dist/lib/cjs/app-globals-e04ab04b.js +0 -12
  92. package/dist/lib/cjs/authentication.service-11c30071.js +0 -237
  93. package/dist/lib/cjs/benefits.api-b46ee2ea.js +0 -35
  94. package/dist/lib/cjs/cars-calculator-app.cjs.entry.js +0 -60
  95. package/dist/lib/cjs/cars-calculator.service-a8beab79.js +0 -166
  96. package/dist/lib/cjs/context-consumer.cjs.entry.js +0 -29
  97. package/dist/lib/cjs/datorama-akita-792b4d1d.js +0 -2553
  98. package/dist/lib/cjs/delay-e91dba76.js +0 -206
  99. package/dist/lib/cjs/event-tracking.service-6f723d9c.js +0 -155
  100. package/dist/lib/cjs/event-tracking.service-d6f9a51c.js +0 -259
  101. package/dist/lib/cjs/filter-c38164e6.js +0 -378
  102. package/dist/lib/cjs/fl-dropdown-async.cjs.entry.js +0 -422
  103. package/dist/lib/cjs/fl-dropdown.cjs.entry.js +0 -232
  104. package/dist/lib/cjs/fl-style-guide.cjs.entry.js +0 -91
  105. package/dist/lib/cjs/index-4f00f593.js +0 -994
  106. package/dist/lib/cjs/index-6e643fec.js +0 -1734
  107. package/dist/lib/cjs/index-889ce6c6.js +0 -27
  108. package/dist/lib/cjs/index.cjs.js +0 -2
  109. package/dist/lib/cjs/loader.cjs.js +0 -27
  110. package/dist/lib/cjs/scheduleArray-0ba3d6f8.js +0 -753
  111. package/dist/lib/cjs/stencil-async-content.cjs.entry.js +0 -32
  112. package/dist/lib/cjs/stencil-route-title.cjs.entry.js +0 -32
  113. package/dist/lib/cjs/stencil-router-prompt.cjs.entry.js +0 -59
  114. package/dist/lib/cjs/stencil-router-redirect.cjs.entry.js +0 -32
  115. package/dist/lib/cjs/view.service-ec43dea6.js +0 -21
  116. package/dist/lib/collection/assets/image/complete.svg +0 -122
  117. package/dist/lib/collection/collection-manifest.json +0 -81
  118. package/dist/lib/collection/components/benefits-app/apis/api-client.js +0 -16
  119. package/dist/lib/collection/components/benefits-app/apis/benefits-api/benefits-api.dto.js +0 -16
  120. package/dist/lib/collection/components/benefits-app/apis/benefits-api/benefits.api.js +0 -30
  121. package/dist/lib/collection/components/benefits-app/apis/event-tracking-api/event-tracking-api.dto.js +0 -1
  122. package/dist/lib/collection/components/benefits-app/apis/event-tracking-api/event-tracking-api.js +0 -7
  123. package/dist/lib/collection/components/benefits-app/apis/user-api/user-api.dto.js +0 -8
  124. package/dist/lib/collection/components/benefits-app/apis/user-api/user.api.js +0 -16
  125. package/dist/lib/collection/components/benefits-app/benefits-app.css +0 -399
  126. package/dist/lib/collection/components/benefits-app/benefits-app.js +0 -216
  127. package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefit-list-item.css +0 -23
  128. package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefits-list-item.js +0 -80
  129. package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefits-list.js +0 -32
  130. package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-page.js +0 -47
  131. package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/assets/Hero_Background.png +0 -0
  132. package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.css +0 -8
  133. package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.js +0 -53
  134. package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.css +0 -3
  135. package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.js +0 -62
  136. package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/promoted-benefits.js +0 -33
  137. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/api/manage-benefits-api.dto.js +0 -36
  138. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/api/manage-benefits.api.js +0 -23
  139. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/confirm-dialog.js +0 -158
  140. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.css +0 -8
  141. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.js +0 -126
  142. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/edit-benefit-form.js +0 -138
  143. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.css +0 -24
  144. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.js +0 -102
  145. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.css +0 -18
  146. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.js +0 -120
  147. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-page.js +0 -154
  148. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.query.js +0 -18
  149. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.service.js +0 -155
  150. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/empty-benefits.js +0 -36
  151. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-header-row.js +0 -13
  152. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.css +0 -3
  153. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.js +0 -88
  154. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.routes.js +0 -24
  155. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits.service.js +0 -37
  156. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.css +0 -10
  157. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.js +0 -89
  158. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.query.js +0 -11
  159. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.store.js +0 -51
  160. package/dist/lib/collection/components/benefits-app/pages/role-management-page/api/role-management.api.js +0 -21
  161. package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-editors-section/role-editors-section.js +0 -104
  162. package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-management-page.js +0 -50
  163. package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-management.service.js +0 -44
  164. package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-owner-section/role-owner-section.js +0 -40
  165. package/dist/lib/collection/components/benefits-app/pages/role-management-page/store/role-management.query.js +0 -13
  166. package/dist/lib/collection/components/benefits-app/pages/role-management-page/store/role-management.store.js +0 -42
  167. package/dist/lib/collection/components/benefits-app/services/benefits-app.service.js +0 -36
  168. package/dist/lib/collection/components/benefits-app/services/benefits.service.js +0 -11
  169. package/dist/lib/collection/components/benefits-app/services/event-tracking.service.js +0 -40
  170. package/dist/lib/collection/components/benefits-app/services/navigation.service.js +0 -34
  171. package/dist/lib/collection/components/benefits-app/store/benefits-app.query.js +0 -13
  172. package/dist/lib/collection/components/benefits-app/store/benefits-app.store.js +0 -24
  173. package/dist/lib/collection/components/benefits-app-host/benefits-app-host.js +0 -48
  174. package/dist/lib/collection/components/benefits-app-host/loading-page.js +0 -9
  175. package/dist/lib/collection/components/benefits-app-host/oidc-callback-page/oidc-callback-page.js +0 -65
  176. package/dist/lib/collection/components/benefits-app-host/oidc-callback-page/oidc-callback-page.routes.js +0 -11
  177. package/dist/lib/collection/components/benefits-app-host/services/app-configuration.query.js +0 -18
  178. package/dist/lib/collection/components/benefits-app-host/services/app-configuration.service.js +0 -23
  179. package/dist/lib/collection/components/benefits-app-host/services/authentication.query.js +0 -21
  180. package/dist/lib/collection/components/benefits-app-host/services/authentication.service.js +0 -96
  181. package/dist/lib/collection/components/benefits-app-host/services/session.store.js +0 -33
  182. package/dist/lib/collection/components/cars-calculator-app/api/api-client.js +0 -5
  183. package/dist/lib/collection/components/cars-calculator-app/api/cars-calculator-events.model.js +0 -1
  184. package/dist/lib/collection/components/cars-calculator-app/api/cars-calculator.api.js +0 -45
  185. package/dist/lib/collection/components/cars-calculator-app/api/event-tracking.api.js +0 -7
  186. package/dist/lib/collection/components/cars-calculator-app/cars-calculator-app.css +0 -22
  187. package/dist/lib/collection/components/cars-calculator-app/cars-calculator-app.js +0 -97
  188. package/dist/lib/collection/components/cars-calculator-app/notifications-section/notifications-section.js +0 -25
  189. package/dist/lib/collection/components/cars-calculator-app/pages/asset.component.js +0 -27
  190. package/dist/lib/collection/components/cars-calculator-app/pages/assets/car-placeholder.svg +0 -5
  191. package/dist/lib/collection/components/cars-calculator-app/pages/assets/check.svg +0 -13
  192. package/dist/lib/collection/components/cars-calculator-app/pages/choose-vehicle-section.component.js +0 -234
  193. package/dist/lib/collection/components/cars-calculator-app/pages/common-assets/icon-info.svg +0 -4
  194. package/dist/lib/collection/components/cars-calculator-app/pages/complete-section.component.js +0 -38
  195. package/dist/lib/collection/components/cars-calculator-app/pages/cost-breakdown-section.component.js +0 -45
  196. package/dist/lib/collection/components/cars-calculator-app/pages/model-variants-section.component.css +0 -34
  197. package/dist/lib/collection/components/cars-calculator-app/pages/model-variants-section.component.js +0 -93
  198. package/dist/lib/collection/components/cars-calculator-app/pages/personal-info-section.component.js +0 -71
  199. package/dist/lib/collection/components/cars-calculator-app/pages/quote-result-section.component.js +0 -117
  200. package/dist/lib/collection/components/cars-calculator-app/pages/submit-quote-section.component.js +0 -87
  201. package/dist/lib/collection/components/cars-calculator-app/services/app-configuration.service.js +0 -13
  202. package/dist/lib/collection/components/cars-calculator-app/services/cars-calculator.service.js +0 -117
  203. package/dist/lib/collection/components/cars-calculator-app/services/event-tracking.service.js +0 -37
  204. package/dist/lib/collection/components/cars-calculator-app/services/notifications.service.js +0 -37
  205. package/dist/lib/collection/components/cars-calculator-app/services/notifications.store.js +0 -3
  206. package/dist/lib/collection/components/cars-calculator-app/services/session.query.js +0 -38
  207. package/dist/lib/collection/components/cars-calculator-app/services/session.store.js +0 -80
  208. package/dist/lib/collection/components/cars-calculator-app/services/view.service.js +0 -16
  209. package/dist/lib/collection/components/shared/file-icon/file-icon.css +0 -15
  210. package/dist/lib/collection/components/shared/file-icon/file-icon.js +0 -84
  211. package/dist/lib/collection/components/shared/icon.js +0 -77
  212. package/dist/lib/collection/components/shared/icons-library.js +0 -11
  213. package/dist/lib/collection/components/shared/modal-section.js +0 -138
  214. package/dist/lib/collection/components/shared/tooltip.css +0 -3
  215. package/dist/lib/collection/components/shared/tooltip.js +0 -115
  216. package/dist/lib/collection/components/shared/ui-container/ui-container.css +0 -39
  217. package/dist/lib/collection/components/shared/ui-container/ui-container.js +0 -27
  218. package/dist/lib/collection/global/config.js +0 -2
  219. package/dist/lib/collection/global/main.dev.js +0 -31
  220. package/dist/lib/collection/global/main.js +0 -5
  221. package/dist/lib/collection/index.js +0 -2
  222. package/dist/lib/collection/utils/config.js +0 -2
  223. package/dist/lib/collection/utils/index.js +0 -28
  224. package/dist/lib/collection/utils/lazy.js +0 -29
  225. package/dist/lib/collection/utils/promise.js +0 -7
  226. package/dist/lib/esm/Option-53ef163a.js +0 -1982
  227. package/dist/lib/esm/active-router-134fe07f.js +0 -73
  228. package/dist/lib/esm/ap-ben-asset_5.entry.js +0 -1848
  229. package/dist/lib/esm/ap-ben-benefit-card.entry.js +0 -41
  230. package/dist/lib/esm/ap-ben-benefit-list-item.entry.js +0 -52
  231. package/dist/lib/esm/ap-ben-benefit-url_27.entry.js +0 -48737
  232. package/dist/lib/esm/ap-ben-benefits-list_3.entry.js +0 -49
  233. package/dist/lib/esm/ap-ben-benefits-page.entry.js +0 -51
  234. package/dist/lib/esm/ap-ben-choose-vehicle-section_4.entry.js +0 -2772
  235. package/dist/lib/esm/ap-ben-notifications-section.entry.js +0 -239
  236. package/dist/lib/esm/ap-ben-oidc-callback-page.entry.js +0 -36
  237. package/dist/lib/esm/apollo-benefits.js +0 -23
  238. package/dist/lib/esm/app-globals-ff43b669.js +0 -10
  239. package/dist/lib/esm/authentication.service-4dbff8a5.js +0 -232
  240. package/dist/lib/esm/benefits.api-5a0c5fa7.js +0 -33
  241. package/dist/lib/esm/cars-calculator-app.entry.js +0 -56
  242. package/dist/lib/esm/cars-calculator.service-1278f563.js +0 -163
  243. package/dist/lib/esm/context-consumer.entry.js +0 -25
  244. package/dist/lib/esm/datorama-akita-e42d9911.js +0 -2547
  245. package/dist/lib/esm/delay-d08c267f.js +0 -200
  246. package/dist/lib/esm/event-tracking.service-27d79066.js +0 -253
  247. package/dist/lib/esm/event-tracking.service-429d997c.js +0 -146
  248. package/dist/lib/esm/filter-aeb65cac.js +0 -370
  249. package/dist/lib/esm/fl-dropdown-async.entry.js +0 -418
  250. package/dist/lib/esm/fl-dropdown.entry.js +0 -228
  251. package/dist/lib/esm/fl-style-guide.entry.js +0 -87
  252. package/dist/lib/esm/index-1351f893.js +0 -979
  253. package/dist/lib/esm/index-8676bf1e.js +0 -22
  254. package/dist/lib/esm/index-d4b319a7.js +0 -1702
  255. package/dist/lib/esm/index.js +0 -1
  256. package/dist/lib/esm/loader.js +0 -23
  257. package/dist/lib/esm/polyfills/core-js.js +0 -11
  258. package/dist/lib/esm/polyfills/css-shim.js +0 -1
  259. package/dist/lib/esm/polyfills/dom.js +0 -79
  260. package/dist/lib/esm/polyfills/es5-html-element.js +0 -1
  261. package/dist/lib/esm/polyfills/index.js +0 -34
  262. package/dist/lib/esm/polyfills/system.js +0 -6
  263. package/dist/lib/esm/scheduleArray-b9669898.js +0 -738
  264. package/dist/lib/esm/stencil-async-content.entry.js +0 -28
  265. package/dist/lib/esm/stencil-route-title.entry.js +0 -28
  266. package/dist/lib/esm/stencil-router-prompt.entry.js +0 -55
  267. package/dist/lib/esm/stencil-router-redirect.entry.js +0 -28
  268. package/dist/lib/esm/view.service-6adbec31.js +0 -19
  269. package/dist/lib/index.cjs.js +0 -1
  270. package/dist/lib/index.js +0 -1
  271. package/dist/lib/loader/cdn.js +0 -3
  272. package/dist/lib/loader/index.cjs.js +0 -3
  273. package/dist/lib/loader/index.d.ts +0 -13
  274. package/dist/lib/loader/index.es2017.js +0 -3
  275. package/dist/lib/loader/index.js +0 -4
  276. package/dist/lib/loader/package.json +0 -10
  277. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/button/button.css +0 -118
  278. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/dropdown/dropdown.css +0 -9
  279. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/dropdown-async/dropdown-async.css +0 -9
  280. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/loading-indicator/loading-indicator.css +0 -141
  281. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/promise-button/promise-button.css +0 -5
  282. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/style-guide/style-guide.css +0 -0
  283. package/dist/lib/node_modules/@stencil/router/dist/collection/components/route/route.css +0 -3
  284. package/dist/lib/types/components/benefits-app/apis/api-client.d.ts +0 -7
  285. package/dist/lib/types/components/benefits-app/apis/benefits-api/benefits-api.dto.d.ts +0 -44
  286. package/dist/lib/types/components/benefits-app/apis/benefits-api/benefits.api.d.ts +0 -9
  287. package/dist/lib/types/components/benefits-app/apis/event-tracking-api/event-tracking-api.d.ts +0 -6
  288. package/dist/lib/types/components/benefits-app/apis/event-tracking-api/event-tracking-api.dto.d.ts +0 -18
  289. package/dist/lib/types/components/benefits-app/apis/user-api/user-api.dto.d.ts +0 -30
  290. package/dist/lib/types/components/benefits-app/apis/user-api/user.api.d.ts +0 -8
  291. package/dist/lib/types/components/benefits-app/benefits-app.d.ts +0 -22
  292. package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-list/benefits-list-item.d.ts +0 -10
  293. package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-list/benefits-list.d.ts +0 -5
  294. package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-page.d.ts +0 -10
  295. package/dist/lib/types/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.d.ts +0 -5
  296. package/dist/lib/types/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.d.ts +0 -8
  297. package/dist/lib/types/components/benefits-app/pages/benefits-page/promoted-benefits/promoted-benefits.d.ts +0 -5
  298. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/api/manage-benefits-api.dto.d.ts +0 -39
  299. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/api/manage-benefits.api.d.ts +0 -9
  300. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/confirm-dialog.d.ts +0 -16
  301. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.d.ts +0 -21
  302. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/edit-benefit-form.d.ts +0 -12
  303. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.d.ts +0 -16
  304. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.d.ts +0 -17
  305. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-page.d.ts +0 -24
  306. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.query.d.ts +0 -16
  307. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.service.d.ts +0 -20
  308. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/empty-benefits.d.ts +0 -5
  309. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-header-row.d.ts +0 -3
  310. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.d.ts +0 -16
  311. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.routes.d.ts +0 -6
  312. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits.service.d.ts +0 -8
  313. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.d.ts +0 -11
  314. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.query.d.ts +0 -10
  315. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.store.d.ts +0 -51
  316. package/dist/lib/types/components/benefits-app/pages/role-management-page/api/role-management.api.d.ts +0 -7
  317. package/dist/lib/types/components/benefits-app/pages/role-management-page/role-editors-section/role-editors-section.d.ts +0 -15
  318. package/dist/lib/types/components/benefits-app/pages/role-management-page/role-management-page.d.ts +0 -9
  319. package/dist/lib/types/components/benefits-app/pages/role-management-page/role-management.service.d.ts +0 -11
  320. package/dist/lib/types/components/benefits-app/pages/role-management-page/role-owner-section/role-owner-section.d.ts +0 -5
  321. package/dist/lib/types/components/benefits-app/pages/role-management-page/store/role-management.query.d.ts +0 -12
  322. package/dist/lib/types/components/benefits-app/pages/role-management-page/store/role-management.store.d.ts +0 -17
  323. package/dist/lib/types/components/benefits-app/services/benefits-app.service.d.ts +0 -13
  324. package/dist/lib/types/components/benefits-app/services/benefits.service.d.ts +0 -8
  325. package/dist/lib/types/components/benefits-app/services/event-tracking.service.d.ts +0 -11
  326. package/dist/lib/types/components/benefits-app/services/navigation.service.d.ts +0 -14
  327. package/dist/lib/types/components/benefits-app/store/benefits-app.query.d.ts +0 -12
  328. package/dist/lib/types/components/benefits-app/store/benefits-app.store.d.ts +0 -31
  329. package/dist/lib/types/components/benefits-app-host/benefits-app-host.d.ts +0 -9
  330. package/dist/lib/types/components/benefits-app-host/loading-page.d.ts +0 -3
  331. package/dist/lib/types/components/benefits-app-host/oidc-callback-page/oidc-callback-page.d.ts +0 -8
  332. package/dist/lib/types/components/benefits-app-host/oidc-callback-page/oidc-callback-page.routes.d.ts +0 -1
  333. package/dist/lib/types/components/benefits-app-host/services/app-configuration.query.d.ts +0 -11
  334. package/dist/lib/types/components/benefits-app-host/services/app-configuration.service.d.ts +0 -9
  335. package/dist/lib/types/components/benefits-app-host/services/authentication.query.d.ts +0 -13
  336. package/dist/lib/types/components/benefits-app-host/services/authentication.service.d.ts +0 -25
  337. package/dist/lib/types/components/benefits-app-host/services/session.store.d.ts +0 -25
  338. package/dist/lib/types/components/cars-calculator-app/api/api-client.d.ts +0 -2
  339. package/dist/lib/types/components/cars-calculator-app/api/cars-calculator-events.model.d.ts +0 -39
  340. package/dist/lib/types/components/cars-calculator-app/api/cars-calculator.api.d.ts +0 -100
  341. package/dist/lib/types/components/cars-calculator-app/api/event-tracking.api.d.ts +0 -6
  342. package/dist/lib/types/components/cars-calculator-app/cars-calculator-app.d.ts +0 -18
  343. package/dist/lib/types/components/cars-calculator-app/notifications-section/notifications-section.d.ts +0 -5
  344. package/dist/lib/types/components/cars-calculator-app/pages/asset.component.d.ts +0 -4
  345. package/dist/lib/types/components/cars-calculator-app/pages/choose-vehicle-section.component.d.ts +0 -23
  346. package/dist/lib/types/components/cars-calculator-app/pages/complete-section.component.d.ts +0 -5
  347. package/dist/lib/types/components/cars-calculator-app/pages/cost-breakdown-section.component.d.ts +0 -6
  348. package/dist/lib/types/components/cars-calculator-app/pages/model-variants-section.component.d.ts +0 -12
  349. package/dist/lib/types/components/cars-calculator-app/pages/personal-info-section.component.d.ts +0 -10
  350. package/dist/lib/types/components/cars-calculator-app/pages/quote-result-section.component.d.ts +0 -16
  351. package/dist/lib/types/components/cars-calculator-app/pages/submit-quote-section.component.d.ts +0 -12
  352. package/dist/lib/types/components/cars-calculator-app/services/app-configuration.service.d.ts +0 -7
  353. package/dist/lib/types/components/cars-calculator-app/services/cars-calculator.service.d.ts +0 -11
  354. package/dist/lib/types/components/cars-calculator-app/services/event-tracking.service.d.ts +0 -13
  355. package/dist/lib/types/components/cars-calculator-app/services/notifications.service.d.ts +0 -15
  356. package/dist/lib/types/components/cars-calculator-app/services/notifications.store.d.ts +0 -14
  357. package/dist/lib/types/components/cars-calculator-app/services/session.query.d.ts +0 -26
  358. package/dist/lib/types/components/cars-calculator-app/services/session.store.d.ts +0 -78
  359. package/dist/lib/types/components/cars-calculator-app/services/view.service.d.ts +0 -8
  360. package/dist/lib/types/components/shared/file-icon/file-icon.d.ts +0 -11
  361. package/dist/lib/types/components/shared/icon.d.ts +0 -7
  362. package/dist/lib/types/components/shared/icons-library.d.ts +0 -1
  363. package/dist/lib/types/components/shared/modal-section.d.ts +0 -16
  364. package/dist/lib/types/components/shared/tooltip.d.ts +0 -13
  365. package/dist/lib/types/components/shared/ui-container/ui-container.d.ts +0 -5
  366. package/dist/lib/types/components.d.ts +0 -606
  367. package/dist/lib/types/global/config.d.ts +0 -2
  368. package/dist/lib/types/global/main.d.ts +0 -1
  369. package/dist/lib/types/global/main.dev.d.ts +0 -1
  370. package/dist/lib/types/index.d.ts +0 -2
  371. package/dist/lib/types/stencil-public-runtime.d.ts +0 -1555
  372. package/dist/lib/types/utils/config.d.ts +0 -2
  373. package/dist/lib/types/utils/index.d.ts +0 -10
  374. package/dist/lib/types/utils/lazy.d.ts +0 -12
  375. package/dist/lib/types/utils/promise.d.ts +0 -1
  376. package/readme.md +0 -1
@@ -1,50 +0,0 @@
1
- import { Component, h, Host, State } from '@stencil/core';
2
- import { Subscription } from 'rxjs';
3
- import { getOrError } from '../../../../utils';
4
- import benefitsAppQuery from '../../store/benefits-app.query';
5
- import roleManagementService from './role-management.service';
6
- import roleManagementQuery from './store/role-management.query';
7
- import roleManagementStore from './store/role-management.store';
8
- export class RoleManagementPage {
9
- constructor() {
10
- this.showRemoveConfirmDialog = false;
11
- this.storeSubscription = new Subscription();
12
- }
13
- async componentWillLoad() {
14
- roleManagementStore.reset();
15
- this.storeSubscription.add(benefitsAppQuery.signedInUser$.subscribe((user) => {
16
- this.user = getOrError(user);
17
- }));
18
- await roleManagementService.getEditorProfiles();
19
- this.storeSubscription.add(roleManagementQuery.showRemoveEditorDialog$.subscribe((state) => (this.showRemoveConfirmDialog = state)));
20
- }
21
- disconnectedCallback() {
22
- this.storeSubscription.unsubscribe();
23
- }
24
- render() {
25
- return (h(Host, { class: "w-100" },
26
- h("ap-ben-ui-container", { class: "w-100 d-none py-5" },
27
- h("div", { class: "d-flex align-items-start flex-column" },
28
- h("h3", null, "Access Management"),
29
- h("div", { class: "mt-3" },
30
- h("h4", null, "Permissions")),
31
- h("div", null, "Manage which staff has permission to edit and manage benefits.")),
32
- h("div", { class: "mt-4" },
33
- h("ap-ben-role-owner-section", { owner: this.user })),
34
- h("div", { class: "mt-4" },
35
- h("ap-ben-role-editors-section", null))),
36
- this.renderRemoveConfirmDialog()));
37
- }
38
- renderRemoveConfirmDialog() {
39
- return (h("ap-ben-modal-section", { show: this.showRemoveConfirmDialog, showHeader: true, modalTitle: "Remove editor", onModalClosed: (_) => roleManagementStore.showRemoveEditorDialog(false) },
40
- h("ap-ben-confirm-dialog", { acceptText: "Remove", declineText: "Cancel", dialogStyle: "danger", onAccepted: (_) => roleManagementService.removeSelectedEditor(), onDeclined: (_) => roleManagementStore.showRemoveEditorDialog(false) },
41
- h("p", null,
42
- h("b", null, "Are you sure you want to remove this person?")),
43
- h("p", null, "If you proceed, this person will not be able to edit or manage benefits anymore."))));
44
- }
45
- static get is() { return "ap-ben-role-management-page"; }
46
- static get states() { return {
47
- "showRemoveConfirmDialog": {},
48
- "user": {}
49
- }; }
50
- }
@@ -1,44 +0,0 @@
1
- import { pipe } from 'fp-ts/function';
2
- import * as O from 'fp-ts/Option';
3
- import { getOrError } from '../../../../utils';
4
- import { withMinimalDuration } from '../../../../utils/promise';
5
- import userApi from '../../apis/user-api/user.api';
6
- import { UserProfileDto } from '../../apis/user-api/user-api.dto';
7
- import roleManagementApi from './api/role-management.api';
8
- import roleManagementQuery from './store/role-management.query';
9
- import roleManagementStore from './store/role-management.store';
10
- export class RoleManagementService {
11
- async getBasicProfileByEmail(email) {
12
- const res = await userApi.getBasicProfileByEmail(email);
13
- return pipe(res, O.map((dto) => dto));
14
- }
15
- async getEditorProfiles() {
16
- const editorProfiles = (await roleManagementApi.getEditorProfiles()).map(UserProfileDto.toDomain);
17
- roleManagementStore.update((state) => {
18
- state.editorProfiles = editorProfiles;
19
- });
20
- }
21
- async removeSelectedEditor() {
22
- roleManagementStore.showRemoveEditorDialog(false);
23
- roleManagementStore.setEditorLoading(true);
24
- const editor = getOrError(roleManagementQuery.getValue().selectedEditor);
25
- await roleManagementApi.assignRole(editor.basicProfile.profileId, 'user');
26
- await this.getEditorProfiles();
27
- roleManagementStore.setEditorLoading(false);
28
- }
29
- showRemoveEditorDialog(editorProfile) {
30
- roleManagementStore.selectEditor(editorProfile);
31
- roleManagementStore.showRemoveEditorDialog(true);
32
- }
33
- async addEditorByEmail(email) {
34
- roleManagementStore.setEditorLoading(true);
35
- const user = await withMinimalDuration(this.getBasicProfileByEmail(email), 300);
36
- if (O.isSome(user)) {
37
- await roleManagementApi.assignRole(user.value.profileId, 'accountEditor');
38
- await this.getEditorProfiles();
39
- }
40
- roleManagementStore.setEditorLoading(false);
41
- return user;
42
- }
43
- }
44
- export default new RoleManagementService();
@@ -1,40 +0,0 @@
1
- import { Component, h, Host, Prop } from '@stencil/core';
2
- export class RoleOwnerSection {
3
- render() {
4
- const basicProfile = this.owner.basicProfile;
5
- return (h(Host, null,
6
- h("h5", null, "Owner"),
7
- h("hr", null),
8
- h("div", { class: "d-flex border rounded px-3" },
9
- h("div", { class: "d-flex flex-wrap align-content-center" },
10
- h("ap-ben-icon", { class: "text-black-50 fa-4x", iconPrefix: "fad", iconId: "user-circle" })),
11
- h("div", { class: "d-flex align-items-start flex-column m-3" },
12
- h("h5", null,
13
- h("b", null, `${basicProfile.firstName} ${basicProfile.lastName}`)),
14
- h("div", null, basicProfile.email),
15
- h("div", null, basicProfile.title)))));
16
- }
17
- static get is() { return "ap-ben-role-owner-section"; }
18
- static get properties() { return {
19
- "owner": {
20
- "type": "unknown",
21
- "mutable": false,
22
- "complexType": {
23
- "original": "UserProfile",
24
- "resolved": "{ basicProfile: BasicProfile; benefitsProfile: BenefitsProfile; }",
25
- "references": {
26
- "UserProfile": {
27
- "location": "import",
28
- "path": "../../../store/benefits-app.store"
29
- }
30
- }
31
- },
32
- "required": false,
33
- "optional": false,
34
- "docs": {
35
- "tags": [],
36
- "text": ""
37
- }
38
- }
39
- }; }
40
- }
@@ -1,13 +0,0 @@
1
- import { Query } from '@datorama/akita';
2
- import roleManagementStore from './role-management.store';
3
- export class RoleManagementQuery extends Query {
4
- constructor(store) {
5
- super(store);
6
- this.store = store;
7
- this.editorProfiles$ = this.select((state) => state.editorProfiles);
8
- this.editorLoading$ = this.select((state) => state.editorLoading);
9
- this.showRemoveEditorDialog$ = this.select((state) => state.showRemoveEditorDialog);
10
- this.selectedEditor$ = this.select((state) => state.selectedEditor);
11
- }
12
- }
13
- export default new RoleManagementQuery(roleManagementStore);
@@ -1,42 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { Store, StoreConfig } from '@datorama/akita';
8
- import * as O from 'fp-ts/Option';
9
- import { produce } from 'immer';
10
- function createInitialState() {
11
- return {
12
- editorProfiles: [],
13
- selectedEditor: O.none,
14
- editorLoading: false,
15
- showRemoveEditorDialog: false
16
- };
17
- }
18
- let RoleManagementStore = class RoleManagementStore extends Store {
19
- constructor() {
20
- super(createInitialState());
21
- }
22
- setEditorLoading(v) {
23
- this.update((state) => {
24
- state.editorLoading = v;
25
- });
26
- }
27
- selectEditor(editor) {
28
- this.update((state) => {
29
- state.selectedEditor = O.fromNullable(editor);
30
- });
31
- }
32
- showRemoveEditorDialog(v) {
33
- this.update((state) => {
34
- state.showRemoveEditorDialog = v;
35
- });
36
- }
37
- };
38
- RoleManagementStore = __decorate([
39
- StoreConfig({ name: 'role-management', resettable: true, producerFn: produce })
40
- ], RoleManagementStore);
41
- export { RoleManagementStore };
42
- export default new RoleManagementStore();
@@ -1,36 +0,0 @@
1
- import * as O from 'fp-ts/Option';
2
- import { getOrDefault } from '../../../utils';
3
- import userApi from '../apis/user-api/user.api';
4
- import { UserProfileDto } from '../apis/user-api/user-api.dto';
5
- import benefitsAppStore from '../store/benefits-app.store';
6
- export class BenefitsAppService {
7
- static set profileId(profileId) {
8
- this._profileId = O.fromNullable(profileId);
9
- }
10
- static get profileId() {
11
- if (O.isNone(this._profileId)) {
12
- throw Error(`ProfileId is missing.`);
13
- }
14
- return this._profileId.value;
15
- }
16
- static set accountId(accountId) {
17
- this._accountId = O.fromNullable(accountId);
18
- }
19
- static get accountIdOrDefault() {
20
- return getOrDefault(this._accountId, '');
21
- }
22
- async loadSignedInUserProfileAsync() {
23
- const user = UserProfileDto.toDomain(await userApi.getUserProfile());
24
- BenefitsAppService.accountId = user.basicProfile.accountId;
25
- benefitsAppStore.update((state) => {
26
- state.user = O.fromNullable(user);
27
- });
28
- }
29
- static get partnerIdOrDefault() {
30
- return getOrDefault(this._partnerId, '');
31
- }
32
- }
33
- BenefitsAppService._profileId = O.none;
34
- BenefitsAppService._accountId = O.none;
35
- BenefitsAppService._partnerId = O.none;
36
- export default new BenefitsAppService();
@@ -1,11 +0,0 @@
1
- import * as O from 'fp-ts/Option';
2
- import benefitsApi from '../apis/benefits-api/benefits.api';
3
- export class BenefitsService {
4
- async getViewPageState() {
5
- return benefitsApi.getBenefitsAsync();
6
- }
7
- async getShopifyUrl() {
8
- return O.fromNullable((await benefitsApi.getShopifyUrl()).redirectUrl);
9
- }
10
- }
11
- export default new BenefitsService();
@@ -1,40 +0,0 @@
1
- import benefitsEventTrackingApi from '../apis/event-tracking-api/event-tracking-api';
2
- export class BenefitsEventTrackingService {
3
- async trackAppLoadedAsync() {
4
- return this.trackEventAsync('appLoaded');
5
- }
6
- async trackPageViewedAsync(event) {
7
- return this.trackEventAsync({ pageViewed: event });
8
- }
9
- async trackBenefitLinkClickedAsync({ benefitId, benefit }) {
10
- const event = {
11
- benefitId,
12
- attachment: 'link',
13
- category: benefit.category,
14
- subtitle: benefit.subtitle,
15
- title: benefit.title
16
- };
17
- return this.trackEventAsync({ benefitSelected: event });
18
- }
19
- async trackBenefitAttachmentClickedAsync({ benefitId, benefit }) {
20
- const event = {
21
- benefitId,
22
- attachment: 'document',
23
- category: benefit.category,
24
- subtitle: benefit.subtitle,
25
- title: benefit.title
26
- };
27
- return this.trackEventAsync({ benefitSelected: event });
28
- }
29
- async trackEventAsync(event) {
30
- try {
31
- await benefitsEventTrackingApi.postTrackEventAsync({
32
- event
33
- });
34
- }
35
- catch (_a) {
36
- return;
37
- }
38
- }
39
- }
40
- export default new BenefitsEventTrackingService();
@@ -1,34 +0,0 @@
1
- import { pipe } from 'fp-ts/lib/function';
2
- import * as O from 'fp-ts/Option';
3
- class NavigationService {
4
- constructor() {
5
- this._baseUrl = O.none;
6
- this._history = O.none;
7
- }
8
- navigateInternally(route) {
9
- const path = `${this.baseUrl}${this.toRouteWithLeadingSlash(route)}`;
10
- this.history.value.push(path);
11
- }
12
- toRouteWithLeadingSlash(route) {
13
- return route.length > 0 && route[0] === '/' ? route : `/${route}`;
14
- }
15
- set baseUrl(baseUrl) {
16
- this._baseUrl = pipe(O.fromNullable(baseUrl), O.map((value) => value.replace(/\/$/, '')));
17
- }
18
- get baseUrl() {
19
- if (O.isNone(this._baseUrl)) {
20
- throw Error(`Base URL is missing.`);
21
- }
22
- return this._baseUrl.value;
23
- }
24
- set history(history) {
25
- this._history = history;
26
- }
27
- get history() {
28
- if (O.isNone(this._history)) {
29
- throw Error(`Router history is missing.`);
30
- }
31
- return this._history;
32
- }
33
- }
34
- export default new NavigationService();
@@ -1,13 +0,0 @@
1
- import { Query } from '@datorama/akita';
2
- import { pipe } from 'fp-ts/lib/function';
3
- import * as O from 'fp-ts/Option';
4
- import benefitsAppStore from './benefits-app.store';
5
- export class BenefitsAppQuery extends Query {
6
- constructor(store) {
7
- super(store);
8
- this.store = store;
9
- this.signedInUser$ = this.select((state) => state.user);
10
- this.signedInUserRole$ = this.select((state) => pipe(state.user, O.fold(() => 'user', (v) => v.benefitsProfile.role)));
11
- }
12
- }
13
- export default new BenefitsAppQuery(benefitsAppStore);
@@ -1,24 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { Store, StoreConfig } from '@datorama/akita';
8
- import * as O from 'fp-ts/Option';
9
- import { produce } from 'immer';
10
- function createInitialState() {
11
- return {
12
- user: O.none
13
- };
14
- }
15
- let BenefitsAppStore = class BenefitsAppStore extends Store {
16
- constructor() {
17
- super(createInitialState());
18
- }
19
- };
20
- BenefitsAppStore = __decorate([
21
- StoreConfig({ name: 'benefits-app', resettable: true, producerFn: produce })
22
- ], BenefitsAppStore);
23
- export { BenefitsAppStore };
24
- export default new BenefitsAppStore();
@@ -1,48 +0,0 @@
1
- import '@flarehr/beacon';
2
- import { Component, h, Host, State } from '@stencil/core';
3
- import * as O from 'fp-ts/lib/Option';
4
- import { buildOidcStencilRoutes } from './oidc-callback-page/oidc-callback-page.routes';
5
- import appConfigurationQuery from './services/app-configuration.query';
6
- import appConfigurationService from './services/app-configuration.service';
7
- import sessionQuery from './services/authentication.query';
8
- import oidcService from './services/authentication.service';
9
- import { AuthenticationState } from './services/session.store';
10
- export class SuperSelectionAppHost {
11
- async componentWillLoad() {
12
- await appConfigurationService.loadConfigurationAsync(`${appConfigurationService.getAppHostUrl()}/static/config.json`);
13
- if (sessionQuery.isUnauthorized || oidcService.shouldPerformSignIn(window.location.search)) {
14
- oidcService.initFromRoute(window.location.pathname, window.location.search);
15
- }
16
- sessionQuery.sessionState$.subscribe((updatedState) => (this.sessionState = updatedState));
17
- sessionQuery.jwt$.subscribe((newToken) => (this.jwt = newToken));
18
- appConfigurationQuery.appConfiguration$.subscribe((updatedConfiguration) => (this.appConfiguration = updatedConfiguration));
19
- }
20
- render() {
21
- if (O.isNone(this.appConfiguration))
22
- return h("ap-ben-loading-page", null);
23
- const appBaseUrl = appConfigurationService.getAppRootUrl(false);
24
- return (h(Host, { class: "w-100" },
25
- h("stencil-router", null,
26
- h("stencil-route-switch", { scrollTopOffset: 0 },
27
- buildOidcStencilRoutes(),
28
- h("stencil-route", { url: appBaseUrl, routeRender: this.renderProtectedRoute((props) => (h("benefits-app", Object.assign({ jwt: O.toUndefined(this.jwt), apiBaseUrl: appConfigurationQuery.configuration.ApiBaseUrl, appBaseUrl: appBaseUrl }, props)))) })))));
29
- }
30
- renderProtectedRoute(renderProtectedComponent) {
31
- switch (this.sessionState) {
32
- case AuthenticationState.Authenticated:
33
- return renderProtectedComponent;
34
- case AuthenticationState.Unauthorized:
35
- case AuthenticationState.SignOutPending:
36
- case AuthenticationState.SignInPending:
37
- return () => h("ap-ben-loading-page", null);
38
- case AuthenticationState.Error:
39
- return () => h("h1", null, "Authentication Error");
40
- }
41
- }
42
- static get is() { return "benefits-app-host"; }
43
- static get states() { return {
44
- "sessionState": {},
45
- "jwt": {},
46
- "appConfiguration": {}
47
- }; }
48
- }
@@ -1,9 +0,0 @@
1
- import { Component, h, Host } from '@stencil/core';
2
- export class LoadingPage {
3
- render() {
4
- return (h(Host, { class: "d-flex flex-column justify-content-center align-items-center flex-grow-1" },
5
- h("h5", null, "Loading Benefits"),
6
- h("fl-loading-indicator", null)));
7
- }
8
- static get is() { return "ap-ben-loading-page"; }
9
- }
@@ -1,65 +0,0 @@
1
- import { Component, h, Prop } from '@stencil/core';
2
- import appConfigurationService from '../services/app-configuration.service';
3
- import oidcService from '../services/authentication.service';
4
- export class OidcCallbackPage {
5
- async componentWillLoad() {
6
- switch (this.callbackMode) {
7
- case 'sign-in':
8
- await oidcService.signInRedirectCallbackAsync();
9
- this.navigateToHomePage();
10
- break;
11
- case 'sign-out':
12
- await oidcService.signOutRedirectCallbackAsync();
13
- break;
14
- case 'silent-refresh':
15
- await oidcService.silentRefreshCallbackAsync();
16
- break;
17
- }
18
- }
19
- render() {
20
- return h("h1", null, "Please, wait...");
21
- }
22
- navigateToHomePage() {
23
- this.history.replace(appConfigurationService.getAppRootUrl());
24
- }
25
- static get is() { return "ap-ben-oidc-callback-page"; }
26
- static get properties() { return {
27
- "history": {
28
- "type": "unknown",
29
- "mutable": false,
30
- "complexType": {
31
- "original": "RouterHistory",
32
- "resolved": "RouterHistory",
33
- "references": {
34
- "RouterHistory": {
35
- "location": "import",
36
- "path": "@stencil/router"
37
- }
38
- }
39
- },
40
- "required": false,
41
- "optional": false,
42
- "docs": {
43
- "tags": [],
44
- "text": ""
45
- }
46
- },
47
- "callbackMode": {
48
- "type": "string",
49
- "mutable": false,
50
- "complexType": {
51
- "original": "'sign-in' | 'sign-out' | 'silent-refresh'",
52
- "resolved": "\"sign-in\" | \"sign-out\" | \"silent-refresh\"",
53
- "references": {}
54
- },
55
- "required": false,
56
- "optional": false,
57
- "docs": {
58
- "tags": [],
59
- "text": ""
60
- },
61
- "attribute": "callback-mode",
62
- "reflect": false
63
- }
64
- }; }
65
- }
@@ -1,11 +0,0 @@
1
- import { h } from '@stencil/core';
2
- import appConfigurationService from '../services/app-configuration.service';
3
- import { OidcRoutes } from '../services/authentication.service';
4
- export const buildOidcStencilRoutes = () => {
5
- const appRootUrl = appConfigurationService.getAppRootUrl(false);
6
- return [
7
- h("stencil-route", { url: `${appRootUrl}${OidcRoutes.SignIn}`, component: "ap-ben-oidc-callback-page", componentProps: { callbackMode: 'sign-in' } }),
8
- h("stencil-route", { url: `${appRootUrl}${OidcRoutes.SignOut}`, component: "ap-ben-oidc-callback-page", componentProps: { callbackMode: 'sign-out' } }),
9
- h("stencil-route", { url: `${appRootUrl}${OidcRoutes.SilentRefresh}`, component: "ap-ben-oidc-callback-page", componentProps: { callbackMode: 'silent-refresh' } })
10
- ];
11
- };
@@ -1,18 +0,0 @@
1
- import { Query } from '@datorama/akita';
2
- import * as O from 'fp-ts/Option';
3
- import sessionStore from './session.store';
4
- export class AppConfigurationQuery extends Query {
5
- constructor(store) {
6
- super(store);
7
- this.store = store;
8
- this.appConfiguration$ = this.select((state) => state.appConfiguration);
9
- }
10
- get configuration() {
11
- const configuration = this.getValue().appConfiguration;
12
- if (O.isNone(configuration)) {
13
- throw Error('App configuration is not yet loaded');
14
- }
15
- return configuration.value;
16
- }
17
- }
18
- export default new AppConfigurationQuery(sessionStore);
@@ -1,23 +0,0 @@
1
- import * as O from 'fp-ts/lib/Option';
2
- import wretch from 'wretch';
3
- import { Lazy } from '../../../utils';
4
- import sessionStore from './session.store';
5
- class AppConfigurationService {
6
- constructor() {
7
- this._appRootUrl = new Lazy(() => this.resolveRootUrl());
8
- this.getAppRootUrl = (withSlash = true) => this._appRootUrl.value + (withSlash ? '/' : '');
9
- this.getAppHostUrl = () => `${window.location.origin}${this.getAppRootUrl()}`.replace(/\/$/, '');
10
- }
11
- async loadConfigurationAsync(configurationPath) {
12
- const configuration = await wretch(configurationPath).get().json();
13
- sessionStore.update({ appConfiguration: O.fromNullable(configuration) });
14
- }
15
- resolveRootUrl() {
16
- const match = O.fromNullable(window.location.pathname.match(/^\/benefits\/embed\/v1.0\/web/));
17
- if (O.isNone(match)) {
18
- throw Error('Unsupported host URL');
19
- }
20
- return match.value[0];
21
- }
22
- }
23
- export default new AppConfigurationService();
@@ -1,21 +0,0 @@
1
- import { Query } from '@datorama/akita';
2
- import sessionStore, { AuthenticationState } from './session.store';
3
- export class AuthenticationQuery extends Query {
4
- constructor(store) {
5
- super(store);
6
- this.store = store;
7
- this.sessionState$ = this.select((state) => state.authenticationState);
8
- this.jwt$ = this.select((state) => state.jwt);
9
- }
10
- get sessionState() {
11
- return this.getValue().authenticationState;
12
- }
13
- get isUnauthorized() {
14
- return (this.getValue().authenticationState === AuthenticationState.Unauthorized ||
15
- this.getValue().authenticationState === AuthenticationState.Error);
16
- }
17
- get isAuthorized() {
18
- return this.getValue().authenticationState === AuthenticationState.Authenticated;
19
- }
20
- }
21
- export default new AuthenticationQuery(sessionStore);
@@ -1,96 +0,0 @@
1
- import * as O from 'fp-ts/lib/Option';
2
- import OidcClient from 'oidc-client';
3
- import { Lazy } from '../../../utils';
4
- import appConfigurationQuery from './app-configuration.query';
5
- import appConfigurationService from './app-configuration.service';
6
- import sessionStore, { AuthenticationState } from './session.store';
7
- export var OidcRoutes;
8
- (function (OidcRoutes) {
9
- OidcRoutes["SignIn"] = "/oidc/callback";
10
- OidcRoutes["SignOut"] = "/oidc/logout";
11
- OidcRoutes["SilentRefresh"] = "/oidc/silent-refresh";
12
- })(OidcRoutes || (OidcRoutes = {}));
13
- export class AuthenticationService {
14
- constructor() {
15
- this.tokenQueryParameter = 'token';
16
- this.getHostUrl = () => appConfigurationService.getAppHostUrl();
17
- this.userManager = new Lazy(() => {
18
- const instance = new OidcClient.UserManager(this.userManagerSettings);
19
- instance.events.addAccessTokenExpired(async () => this.signOutRedirectAsync());
20
- instance.events.addUserLoaded(this.sessionUpdatedHandler);
21
- this.configureLogging();
22
- return instance;
23
- });
24
- }
25
- shouldPerformSignIn(query) {
26
- const identityReferenceToken = this.getIdentityReferenceTokenFromRoute(query);
27
- return O.isSome(identityReferenceToken);
28
- }
29
- isOidcRoute(urlPath) {
30
- return (urlPath.includes(OidcRoutes.SignIn) ||
31
- urlPath.includes(OidcRoutes.SignOut) ||
32
- urlPath.includes(OidcRoutes.SilentRefresh));
33
- }
34
- initFromRoute(urlPath, query) {
35
- if (this.isOidcRoute(urlPath)) {
36
- return;
37
- }
38
- const identityReferenceToken = this.getIdentityReferenceTokenFromRoute(query);
39
- if (O.isNone(identityReferenceToken)) {
40
- sessionStore.update({ authenticationState: AuthenticationState.Error });
41
- throw Error(`"${this.tokenQueryParameter}" URL query parameter is required`);
42
- }
43
- this.signInRedirectAsync(identityReferenceToken);
44
- }
45
- async signOutRedirectAsync() {
46
- sessionStore.update({ authenticationState: AuthenticationState.SignOutPending });
47
- return this.userManager.value.signoutRedirect();
48
- }
49
- async signInRedirectCallbackAsync() {
50
- await this.userManager.value.signinRedirectCallback();
51
- sessionStore.update({ authenticationState: AuthenticationState.Authenticated });
52
- }
53
- async signOutRedirectCallbackAsync() {
54
- await this.userManager.value.signoutRedirectCallback();
55
- sessionStore.update({ authenticationState: AuthenticationState.Unauthorized });
56
- }
57
- async silentRefreshCallbackAsync() {
58
- await this.userManager.value.signinSilentCallback();
59
- }
60
- async signInRedirectAsync(identityReferenceToken) {
61
- sessionStore.update({ authenticationState: AuthenticationState.SignInPending });
62
- return this.userManager.value.signinRedirect({
63
- extraQueryParams: {
64
- irt: identityReferenceToken.value
65
- }
66
- });
67
- }
68
- getIdentityReferenceTokenFromRoute(query) {
69
- const urlParams = new URLSearchParams(query);
70
- return O.fromNullable(urlParams.get(this.tokenQueryParameter));
71
- }
72
- sessionUpdatedHandler(user) {
73
- sessionStore.update({ jwt: O.fromNullable(user.access_token) });
74
- }
75
- get userManagerSettings() {
76
- return {
77
- authority: appConfigurationQuery.configuration.OidcAuthority,
78
- client_id: 'apollo-benefits-ui',
79
- redirect_uri: `${this.getHostUrl()}${OidcRoutes.SignIn}`,
80
- response_type: 'id_token token',
81
- scope: 'openid',
82
- post_logout_redirect_uri: `${this.getHostUrl()}${OidcRoutes.SignOut}`,
83
- silent_redirect_uri: `${this.getHostUrl()}${OidcRoutes.SilentRefresh}`,
84
- automaticSilentRenew: true,
85
- accessTokenExpiringNotificationTime: 10,
86
- filterProtocolClaims: true,
87
- loadUserInfo: true,
88
- clockSkew: 2592000.0
89
- };
90
- }
91
- configureLogging() {
92
- OidcClient.Log.logger = console;
93
- OidcClient.Log.level = OidcClient.Log.DEBUG;
94
- }
95
- }
96
- export default new AuthenticationService();