@flarehr/apollo-benefits 1.2.97 → 1.3.52

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 (375) hide show
  1. package/README.md +19 -0
  2. package/dist/assets/@splitsoftware-3446d8d5.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-2dfc069e.js +5 -0
  7. package/dist/assets/date-fns-cebe152d.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/framer-motion-a9ae3803.js +1 -0
  11. package/dist/assets/index-3f57257b.js +35 -0
  12. package/dist/assets/index-9148df21.js +5 -0
  13. package/dist/assets/index-ed3c23ba.css +1 -0
  14. package/dist/assets/lodash-5d893f8c.js +1 -0
  15. package/dist/assets/logo-a34e9b4b.png +0 -0
  16. package/dist/assets/oidc-client-6f6e47c2.js +101 -0
  17. package/dist/assets/padlock-8c081120.svg +26 -0
  18. package/dist/assets/suitcase-6471ad05.svg +17 -0
  19. package/dist/assets/vendor-00105f87.js +792 -0
  20. package/dist/assets/warning-a7f1af23.svg +14 -0
  21. package/dist/assets/welcome_image_mobile-dbde6c80.png +0 -0
  22. package/dist/assets/welcome_image_v2-869c59e4.png +0 -0
  23. package/dist/assets/wellbeing_banner-6903d615.png +0 -0
  24. package/dist/assets/workplace_link_banner_mobile-6ebaa24b.png +0 -0
  25. package/dist/assets/workplace_link_banner_v2-c81ed849.png +0 -0
  26. package/dist/config.json +14 -0
  27. package/dist/favicon.ico +0 -0
  28. package/dist/icons/android-chrome-192x192.png +0 -0
  29. package/dist/icons/android-chrome-512x512.png +0 -0
  30. package/dist/icons/apple-touch-icon.png +0 -0
  31. package/dist/icons/favicon-16x16.png +0 -0
  32. package/dist/icons/favicon-32x32.png +0 -0
  33. package/dist/index.html +115 -0
  34. package/dist/manifest.json +21 -0
  35. package/dist/sw-esm.js +16 -0
  36. package/package.json +127 -69
  37. package/LICENSE +0 -21
  38. package/dist/lib/apollo-benefits/apollo-benefits.esm.js +0 -1
  39. package/dist/lib/apollo-benefits/assets/Hero_Background.png +0 -0
  40. package/dist/lib/apollo-benefits/assets/car-placeholder.svg +0 -5
  41. package/dist/lib/apollo-benefits/assets/check.svg +0 -13
  42. package/dist/lib/apollo-benefits/common-assets/icon-info.svg +0 -4
  43. package/dist/lib/apollo-benefits/index.esm.js +0 -0
  44. package/dist/lib/apollo-benefits/p-054d1471.js +0 -1
  45. package/dist/lib/apollo-benefits/p-066d8e7b.js +0 -15
  46. package/dist/lib/apollo-benefits/p-08376428.entry.js +0 -1
  47. package/dist/lib/apollo-benefits/p-1d7ab1b9.entry.js +0 -1
  48. package/dist/lib/apollo-benefits/p-25a89275.entry.js +0 -1
  49. package/dist/lib/apollo-benefits/p-26d363c9.entry.js +0 -1
  50. package/dist/lib/apollo-benefits/p-337ce3df.js +0 -1
  51. package/dist/lib/apollo-benefits/p-3dc9a379.js +0 -1
  52. package/dist/lib/apollo-benefits/p-4376366b.js +0 -46
  53. package/dist/lib/apollo-benefits/p-4e2d34f4.entry.js +0 -1
  54. package/dist/lib/apollo-benefits/p-50bbf713.js +0 -1
  55. package/dist/lib/apollo-benefits/p-53c5e861.entry.js +0 -1
  56. package/dist/lib/apollo-benefits/p-556fdb43.js +0 -1
  57. package/dist/lib/apollo-benefits/p-57d4702d.entry.js +0 -1
  58. package/dist/lib/apollo-benefits/p-58ee670f.js +0 -1
  59. package/dist/lib/apollo-benefits/p-6a54654f.entry.js +0 -11
  60. package/dist/lib/apollo-benefits/p-6bd33850.js +0 -1
  61. package/dist/lib/apollo-benefits/p-79c3b633.entry.js +0 -1
  62. package/dist/lib/apollo-benefits/p-7f3a2f3b.entry.js +0 -1
  63. package/dist/lib/apollo-benefits/p-82d42c2b.js +0 -1
  64. package/dist/lib/apollo-benefits/p-9b3e978e.js +0 -1
  65. package/dist/lib/apollo-benefits/p-a1dd0cba.entry.js +0 -1
  66. package/dist/lib/apollo-benefits/p-aa379cfe.entry.js +0 -1
  67. package/dist/lib/apollo-benefits/p-aaf0e527.entry.js +0 -1
  68. package/dist/lib/apollo-benefits/p-b0b9425b.js +0 -1
  69. package/dist/lib/apollo-benefits/p-d0ef83f8.entry.js +0 -1
  70. package/dist/lib/apollo-benefits/p-db4a65f0.entry.js +0 -1
  71. package/dist/lib/apollo-benefits/p-dc67f942.entry.js +0 -1
  72. package/dist/lib/apollo-benefits/p-e1fd79bb.entry.js +0 -1
  73. package/dist/lib/apollo-benefits/p-ea120e31.js +0 -1
  74. package/dist/lib/apollo-benefits/p-ef5f33ca.js +0 -1
  75. package/dist/lib/apollo-benefits/p-f5254031.js +0 -1
  76. package/dist/lib/apollo-benefits/p-f63d9d89.js +0 -1
  77. package/dist/lib/apollo-benefits/p-fcfa5255.entry.js +0 -1
  78. package/dist/lib/cjs/Option-98dab0b8.js +0 -1988
  79. package/dist/lib/cjs/active-router-90429847.js +0 -75
  80. package/dist/lib/cjs/ap-ben-asset_5.cjs.entry.js +0 -1856
  81. package/dist/lib/cjs/ap-ben-benefit-card.cjs.entry.js +0 -45
  82. package/dist/lib/cjs/ap-ben-benefit-list-item.cjs.entry.js +0 -56
  83. package/dist/lib/cjs/ap-ben-benefit-url_27.cjs.entry.js +0 -48767
  84. package/dist/lib/cjs/ap-ben-benefits-list_3.cjs.entry.js +0 -55
  85. package/dist/lib/cjs/ap-ben-benefits-page.cjs.entry.js +0 -55
  86. package/dist/lib/cjs/ap-ben-choose-vehicle-section_4.cjs.entry.js +0 -2779
  87. package/dist/lib/cjs/ap-ben-notifications-section.cjs.entry.js +0 -243
  88. package/dist/lib/cjs/ap-ben-oidc-callback-page.cjs.entry.js +0 -40
  89. package/dist/lib/cjs/apollo-benefits.cjs.js +0 -25
  90. package/dist/lib/cjs/app-globals-e04ab04b.js +0 -12
  91. package/dist/lib/cjs/authentication.service-11c30071.js +0 -237
  92. package/dist/lib/cjs/benefits.api-b46ee2ea.js +0 -35
  93. package/dist/lib/cjs/cars-calculator-app.cjs.entry.js +0 -60
  94. package/dist/lib/cjs/cars-calculator.service-a8beab79.js +0 -166
  95. package/dist/lib/cjs/context-consumer.cjs.entry.js +0 -29
  96. package/dist/lib/cjs/datorama-akita-792b4d1d.js +0 -2553
  97. package/dist/lib/cjs/delay-e91dba76.js +0 -206
  98. package/dist/lib/cjs/event-tracking.service-6f723d9c.js +0 -155
  99. package/dist/lib/cjs/event-tracking.service-d6f9a51c.js +0 -259
  100. package/dist/lib/cjs/filter-c38164e6.js +0 -378
  101. package/dist/lib/cjs/fl-dropdown-async.cjs.entry.js +0 -422
  102. package/dist/lib/cjs/fl-dropdown.cjs.entry.js +0 -232
  103. package/dist/lib/cjs/fl-style-guide.cjs.entry.js +0 -91
  104. package/dist/lib/cjs/index-4f00f593.js +0 -994
  105. package/dist/lib/cjs/index-6e643fec.js +0 -1734
  106. package/dist/lib/cjs/index-889ce6c6.js +0 -27
  107. package/dist/lib/cjs/index.cjs.js +0 -2
  108. package/dist/lib/cjs/loader.cjs.js +0 -27
  109. package/dist/lib/cjs/scheduleArray-0ba3d6f8.js +0 -753
  110. package/dist/lib/cjs/stencil-async-content.cjs.entry.js +0 -32
  111. package/dist/lib/cjs/stencil-route-title.cjs.entry.js +0 -32
  112. package/dist/lib/cjs/stencil-router-prompt.cjs.entry.js +0 -59
  113. package/dist/lib/cjs/stencil-router-redirect.cjs.entry.js +0 -32
  114. package/dist/lib/cjs/view.service-ec43dea6.js +0 -21
  115. package/dist/lib/collection/assets/image/complete.svg +0 -122
  116. package/dist/lib/collection/collection-manifest.json +0 -81
  117. package/dist/lib/collection/components/benefits-app/apis/api-client.js +0 -16
  118. package/dist/lib/collection/components/benefits-app/apis/benefits-api/benefits-api.dto.js +0 -16
  119. package/dist/lib/collection/components/benefits-app/apis/benefits-api/benefits.api.js +0 -30
  120. package/dist/lib/collection/components/benefits-app/apis/event-tracking-api/event-tracking-api.dto.js +0 -1
  121. package/dist/lib/collection/components/benefits-app/apis/event-tracking-api/event-tracking-api.js +0 -7
  122. package/dist/lib/collection/components/benefits-app/apis/user-api/user-api.dto.js +0 -8
  123. package/dist/lib/collection/components/benefits-app/apis/user-api/user.api.js +0 -16
  124. package/dist/lib/collection/components/benefits-app/benefits-app.css +0 -399
  125. package/dist/lib/collection/components/benefits-app/benefits-app.js +0 -216
  126. package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefit-list-item.css +0 -23
  127. package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefits-list-item.js +0 -80
  128. package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-list/benefits-list.js +0 -32
  129. package/dist/lib/collection/components/benefits-app/pages/benefits-page/benefits-page.js +0 -47
  130. package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/assets/Hero_Background.png +0 -0
  131. package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.css +0 -8
  132. package/dist/lib/collection/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.js +0 -53
  133. package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.css +0 -3
  134. package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.js +0 -62
  135. package/dist/lib/collection/components/benefits-app/pages/benefits-page/promoted-benefits/promoted-benefits.js +0 -33
  136. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/api/manage-benefits-api.dto.js +0 -36
  137. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/api/manage-benefits.api.js +0 -23
  138. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/confirm-dialog.js +0 -158
  139. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.css +0 -8
  140. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.js +0 -126
  141. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/edit-benefit-form.js +0 -138
  142. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.css +0 -24
  143. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.js +0 -102
  144. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.css +0 -18
  145. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.js +0 -120
  146. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-page.js +0 -154
  147. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.query.js +0 -18
  148. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.service.js +0 -155
  149. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/empty-benefits.js +0 -36
  150. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-header-row.js +0 -13
  151. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.css +0 -3
  152. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.js +0 -88
  153. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.routes.js +0 -24
  154. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/manage-benefits.service.js +0 -37
  155. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.css +0 -10
  156. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.js +0 -89
  157. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.query.js +0 -11
  158. package/dist/lib/collection/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.store.js +0 -51
  159. package/dist/lib/collection/components/benefits-app/pages/role-management-page/api/role-management.api.js +0 -21
  160. package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-editors-section/role-editors-section.js +0 -104
  161. package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-management-page.js +0 -50
  162. package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-management.service.js +0 -44
  163. package/dist/lib/collection/components/benefits-app/pages/role-management-page/role-owner-section/role-owner-section.js +0 -40
  164. package/dist/lib/collection/components/benefits-app/pages/role-management-page/store/role-management.query.js +0 -13
  165. package/dist/lib/collection/components/benefits-app/pages/role-management-page/store/role-management.store.js +0 -42
  166. package/dist/lib/collection/components/benefits-app/services/benefits-app.service.js +0 -36
  167. package/dist/lib/collection/components/benefits-app/services/benefits.service.js +0 -11
  168. package/dist/lib/collection/components/benefits-app/services/event-tracking.service.js +0 -40
  169. package/dist/lib/collection/components/benefits-app/services/navigation.service.js +0 -34
  170. package/dist/lib/collection/components/benefits-app/store/benefits-app.query.js +0 -13
  171. package/dist/lib/collection/components/benefits-app/store/benefits-app.store.js +0 -24
  172. package/dist/lib/collection/components/benefits-app-host/benefits-app-host.js +0 -48
  173. package/dist/lib/collection/components/benefits-app-host/loading-page.js +0 -9
  174. package/dist/lib/collection/components/benefits-app-host/oidc-callback-page/oidc-callback-page.js +0 -65
  175. package/dist/lib/collection/components/benefits-app-host/oidc-callback-page/oidc-callback-page.routes.js +0 -11
  176. package/dist/lib/collection/components/benefits-app-host/services/app-configuration.query.js +0 -18
  177. package/dist/lib/collection/components/benefits-app-host/services/app-configuration.service.js +0 -23
  178. package/dist/lib/collection/components/benefits-app-host/services/authentication.query.js +0 -21
  179. package/dist/lib/collection/components/benefits-app-host/services/authentication.service.js +0 -96
  180. package/dist/lib/collection/components/benefits-app-host/services/session.store.js +0 -33
  181. package/dist/lib/collection/components/cars-calculator-app/api/api-client.js +0 -5
  182. package/dist/lib/collection/components/cars-calculator-app/api/cars-calculator-events.model.js +0 -1
  183. package/dist/lib/collection/components/cars-calculator-app/api/cars-calculator.api.js +0 -45
  184. package/dist/lib/collection/components/cars-calculator-app/api/event-tracking.api.js +0 -7
  185. package/dist/lib/collection/components/cars-calculator-app/cars-calculator-app.css +0 -22
  186. package/dist/lib/collection/components/cars-calculator-app/cars-calculator-app.js +0 -97
  187. package/dist/lib/collection/components/cars-calculator-app/notifications-section/notifications-section.js +0 -25
  188. package/dist/lib/collection/components/cars-calculator-app/pages/asset.component.js +0 -27
  189. package/dist/lib/collection/components/cars-calculator-app/pages/assets/car-placeholder.svg +0 -5
  190. package/dist/lib/collection/components/cars-calculator-app/pages/assets/check.svg +0 -13
  191. package/dist/lib/collection/components/cars-calculator-app/pages/choose-vehicle-section.component.js +0 -234
  192. package/dist/lib/collection/components/cars-calculator-app/pages/common-assets/icon-info.svg +0 -4
  193. package/dist/lib/collection/components/cars-calculator-app/pages/complete-section.component.js +0 -38
  194. package/dist/lib/collection/components/cars-calculator-app/pages/cost-breakdown-section.component.js +0 -45
  195. package/dist/lib/collection/components/cars-calculator-app/pages/model-variants-section.component.css +0 -34
  196. package/dist/lib/collection/components/cars-calculator-app/pages/model-variants-section.component.js +0 -93
  197. package/dist/lib/collection/components/cars-calculator-app/pages/personal-info-section.component.js +0 -71
  198. package/dist/lib/collection/components/cars-calculator-app/pages/quote-result-section.component.js +0 -117
  199. package/dist/lib/collection/components/cars-calculator-app/pages/submit-quote-section.component.js +0 -87
  200. package/dist/lib/collection/components/cars-calculator-app/services/app-configuration.service.js +0 -13
  201. package/dist/lib/collection/components/cars-calculator-app/services/cars-calculator.service.js +0 -117
  202. package/dist/lib/collection/components/cars-calculator-app/services/event-tracking.service.js +0 -37
  203. package/dist/lib/collection/components/cars-calculator-app/services/notifications.service.js +0 -37
  204. package/dist/lib/collection/components/cars-calculator-app/services/notifications.store.js +0 -3
  205. package/dist/lib/collection/components/cars-calculator-app/services/session.query.js +0 -38
  206. package/dist/lib/collection/components/cars-calculator-app/services/session.store.js +0 -80
  207. package/dist/lib/collection/components/cars-calculator-app/services/view.service.js +0 -16
  208. package/dist/lib/collection/components/shared/file-icon/file-icon.css +0 -15
  209. package/dist/lib/collection/components/shared/file-icon/file-icon.js +0 -84
  210. package/dist/lib/collection/components/shared/icon.js +0 -77
  211. package/dist/lib/collection/components/shared/icons-library.js +0 -11
  212. package/dist/lib/collection/components/shared/modal-section.js +0 -138
  213. package/dist/lib/collection/components/shared/tooltip.css +0 -3
  214. package/dist/lib/collection/components/shared/tooltip.js +0 -115
  215. package/dist/lib/collection/components/shared/ui-container/ui-container.css +0 -39
  216. package/dist/lib/collection/components/shared/ui-container/ui-container.js +0 -27
  217. package/dist/lib/collection/global/config.js +0 -2
  218. package/dist/lib/collection/global/main.dev.js +0 -31
  219. package/dist/lib/collection/global/main.js +0 -5
  220. package/dist/lib/collection/index.js +0 -2
  221. package/dist/lib/collection/utils/config.js +0 -2
  222. package/dist/lib/collection/utils/index.js +0 -28
  223. package/dist/lib/collection/utils/lazy.js +0 -29
  224. package/dist/lib/collection/utils/promise.js +0 -7
  225. package/dist/lib/esm/Option-53ef163a.js +0 -1982
  226. package/dist/lib/esm/active-router-134fe07f.js +0 -73
  227. package/dist/lib/esm/ap-ben-asset_5.entry.js +0 -1848
  228. package/dist/lib/esm/ap-ben-benefit-card.entry.js +0 -41
  229. package/dist/lib/esm/ap-ben-benefit-list-item.entry.js +0 -52
  230. package/dist/lib/esm/ap-ben-benefit-url_27.entry.js +0 -48737
  231. package/dist/lib/esm/ap-ben-benefits-list_3.entry.js +0 -49
  232. package/dist/lib/esm/ap-ben-benefits-page.entry.js +0 -51
  233. package/dist/lib/esm/ap-ben-choose-vehicle-section_4.entry.js +0 -2772
  234. package/dist/lib/esm/ap-ben-notifications-section.entry.js +0 -239
  235. package/dist/lib/esm/ap-ben-oidc-callback-page.entry.js +0 -36
  236. package/dist/lib/esm/apollo-benefits.js +0 -23
  237. package/dist/lib/esm/app-globals-ff43b669.js +0 -10
  238. package/dist/lib/esm/authentication.service-4dbff8a5.js +0 -232
  239. package/dist/lib/esm/benefits.api-5a0c5fa7.js +0 -33
  240. package/dist/lib/esm/cars-calculator-app.entry.js +0 -56
  241. package/dist/lib/esm/cars-calculator.service-1278f563.js +0 -163
  242. package/dist/lib/esm/context-consumer.entry.js +0 -25
  243. package/dist/lib/esm/datorama-akita-e42d9911.js +0 -2547
  244. package/dist/lib/esm/delay-d08c267f.js +0 -200
  245. package/dist/lib/esm/event-tracking.service-27d79066.js +0 -253
  246. package/dist/lib/esm/event-tracking.service-429d997c.js +0 -146
  247. package/dist/lib/esm/filter-aeb65cac.js +0 -370
  248. package/dist/lib/esm/fl-dropdown-async.entry.js +0 -418
  249. package/dist/lib/esm/fl-dropdown.entry.js +0 -228
  250. package/dist/lib/esm/fl-style-guide.entry.js +0 -87
  251. package/dist/lib/esm/index-1351f893.js +0 -979
  252. package/dist/lib/esm/index-8676bf1e.js +0 -22
  253. package/dist/lib/esm/index-d4b319a7.js +0 -1702
  254. package/dist/lib/esm/index.js +0 -1
  255. package/dist/lib/esm/loader.js +0 -23
  256. package/dist/lib/esm/polyfills/core-js.js +0 -11
  257. package/dist/lib/esm/polyfills/css-shim.js +0 -1
  258. package/dist/lib/esm/polyfills/dom.js +0 -79
  259. package/dist/lib/esm/polyfills/es5-html-element.js +0 -1
  260. package/dist/lib/esm/polyfills/index.js +0 -34
  261. package/dist/lib/esm/polyfills/system.js +0 -6
  262. package/dist/lib/esm/scheduleArray-b9669898.js +0 -738
  263. package/dist/lib/esm/stencil-async-content.entry.js +0 -28
  264. package/dist/lib/esm/stencil-route-title.entry.js +0 -28
  265. package/dist/lib/esm/stencil-router-prompt.entry.js +0 -55
  266. package/dist/lib/esm/stencil-router-redirect.entry.js +0 -28
  267. package/dist/lib/esm/view.service-6adbec31.js +0 -19
  268. package/dist/lib/index.cjs.js +0 -1
  269. package/dist/lib/index.js +0 -1
  270. package/dist/lib/loader/cdn.js +0 -3
  271. package/dist/lib/loader/index.cjs.js +0 -3
  272. package/dist/lib/loader/index.d.ts +0 -13
  273. package/dist/lib/loader/index.es2017.js +0 -3
  274. package/dist/lib/loader/index.js +0 -4
  275. package/dist/lib/loader/package.json +0 -10
  276. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/button/button.css +0 -118
  277. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/dropdown/dropdown.css +0 -9
  278. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/dropdown-async/dropdown-async.css +0 -9
  279. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/loading-indicator/loading-indicator.css +0 -141
  280. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/promise-button/promise-button.css +0 -5
  281. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/style-guide/style-guide.css +0 -0
  282. package/dist/lib/node_modules/@stencil/router/dist/collection/components/route/route.css +0 -3
  283. package/dist/lib/types/components/benefits-app/apis/api-client.d.ts +0 -7
  284. package/dist/lib/types/components/benefits-app/apis/benefits-api/benefits-api.dto.d.ts +0 -44
  285. package/dist/lib/types/components/benefits-app/apis/benefits-api/benefits.api.d.ts +0 -9
  286. package/dist/lib/types/components/benefits-app/apis/event-tracking-api/event-tracking-api.d.ts +0 -6
  287. package/dist/lib/types/components/benefits-app/apis/event-tracking-api/event-tracking-api.dto.d.ts +0 -18
  288. package/dist/lib/types/components/benefits-app/apis/user-api/user-api.dto.d.ts +0 -30
  289. package/dist/lib/types/components/benefits-app/apis/user-api/user.api.d.ts +0 -8
  290. package/dist/lib/types/components/benefits-app/benefits-app.d.ts +0 -22
  291. package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-list/benefits-list-item.d.ts +0 -10
  292. package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-list/benefits-list.d.ts +0 -5
  293. package/dist/lib/types/components/benefits-app/pages/benefits-page/benefits-page.d.ts +0 -10
  294. package/dist/lib/types/components/benefits-app/pages/benefits-page/hero-banner/hero-banner.d.ts +0 -5
  295. package/dist/lib/types/components/benefits-app/pages/benefits-page/promoted-benefits/benefit-card.d.ts +0 -8
  296. package/dist/lib/types/components/benefits-app/pages/benefits-page/promoted-benefits/promoted-benefits.d.ts +0 -5
  297. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/api/manage-benefits-api.dto.d.ts +0 -39
  298. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/api/manage-benefits.api.d.ts +0 -9
  299. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/confirm-dialog.d.ts +0 -16
  300. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/benefit-url.d.ts +0 -21
  301. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/edit-benefit-form.d.ts +0 -12
  302. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-benefit-icon.d.ts +0 -16
  303. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-form/upload-file.d.ts +0 -17
  304. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit-page.d.ts +0 -24
  305. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.query.d.ts +0 -16
  306. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/edit-benefit-page/edit-benefit.service.d.ts +0 -20
  307. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/empty-benefits.d.ts +0 -5
  308. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-header-row.d.ts +0 -3
  309. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.d.ts +0 -16
  310. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits-page.routes.d.ts +0 -6
  311. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/manage-benefits.service.d.ts +0 -8
  312. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/managed-benefit-item/managed-benefit-item.d.ts +0 -11
  313. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.query.d.ts +0 -10
  314. package/dist/lib/types/components/benefits-app/pages/manage-benefits-page/store/manage-benefits.store.d.ts +0 -51
  315. package/dist/lib/types/components/benefits-app/pages/role-management-page/api/role-management.api.d.ts +0 -7
  316. package/dist/lib/types/components/benefits-app/pages/role-management-page/role-editors-section/role-editors-section.d.ts +0 -15
  317. package/dist/lib/types/components/benefits-app/pages/role-management-page/role-management-page.d.ts +0 -9
  318. package/dist/lib/types/components/benefits-app/pages/role-management-page/role-management.service.d.ts +0 -11
  319. package/dist/lib/types/components/benefits-app/pages/role-management-page/role-owner-section/role-owner-section.d.ts +0 -5
  320. package/dist/lib/types/components/benefits-app/pages/role-management-page/store/role-management.query.d.ts +0 -12
  321. package/dist/lib/types/components/benefits-app/pages/role-management-page/store/role-management.store.d.ts +0 -17
  322. package/dist/lib/types/components/benefits-app/services/benefits-app.service.d.ts +0 -13
  323. package/dist/lib/types/components/benefits-app/services/benefits.service.d.ts +0 -8
  324. package/dist/lib/types/components/benefits-app/services/event-tracking.service.d.ts +0 -11
  325. package/dist/lib/types/components/benefits-app/services/navigation.service.d.ts +0 -14
  326. package/dist/lib/types/components/benefits-app/store/benefits-app.query.d.ts +0 -12
  327. package/dist/lib/types/components/benefits-app/store/benefits-app.store.d.ts +0 -31
  328. package/dist/lib/types/components/benefits-app-host/benefits-app-host.d.ts +0 -9
  329. package/dist/lib/types/components/benefits-app-host/loading-page.d.ts +0 -3
  330. package/dist/lib/types/components/benefits-app-host/oidc-callback-page/oidc-callback-page.d.ts +0 -8
  331. package/dist/lib/types/components/benefits-app-host/oidc-callback-page/oidc-callback-page.routes.d.ts +0 -1
  332. package/dist/lib/types/components/benefits-app-host/services/app-configuration.query.d.ts +0 -11
  333. package/dist/lib/types/components/benefits-app-host/services/app-configuration.service.d.ts +0 -9
  334. package/dist/lib/types/components/benefits-app-host/services/authentication.query.d.ts +0 -13
  335. package/dist/lib/types/components/benefits-app-host/services/authentication.service.d.ts +0 -25
  336. package/dist/lib/types/components/benefits-app-host/services/session.store.d.ts +0 -25
  337. package/dist/lib/types/components/cars-calculator-app/api/api-client.d.ts +0 -2
  338. package/dist/lib/types/components/cars-calculator-app/api/cars-calculator-events.model.d.ts +0 -39
  339. package/dist/lib/types/components/cars-calculator-app/api/cars-calculator.api.d.ts +0 -100
  340. package/dist/lib/types/components/cars-calculator-app/api/event-tracking.api.d.ts +0 -6
  341. package/dist/lib/types/components/cars-calculator-app/cars-calculator-app.d.ts +0 -18
  342. package/dist/lib/types/components/cars-calculator-app/notifications-section/notifications-section.d.ts +0 -5
  343. package/dist/lib/types/components/cars-calculator-app/pages/asset.component.d.ts +0 -4
  344. package/dist/lib/types/components/cars-calculator-app/pages/choose-vehicle-section.component.d.ts +0 -23
  345. package/dist/lib/types/components/cars-calculator-app/pages/complete-section.component.d.ts +0 -5
  346. package/dist/lib/types/components/cars-calculator-app/pages/cost-breakdown-section.component.d.ts +0 -6
  347. package/dist/lib/types/components/cars-calculator-app/pages/model-variants-section.component.d.ts +0 -12
  348. package/dist/lib/types/components/cars-calculator-app/pages/personal-info-section.component.d.ts +0 -10
  349. package/dist/lib/types/components/cars-calculator-app/pages/quote-result-section.component.d.ts +0 -16
  350. package/dist/lib/types/components/cars-calculator-app/pages/submit-quote-section.component.d.ts +0 -12
  351. package/dist/lib/types/components/cars-calculator-app/services/app-configuration.service.d.ts +0 -7
  352. package/dist/lib/types/components/cars-calculator-app/services/cars-calculator.service.d.ts +0 -11
  353. package/dist/lib/types/components/cars-calculator-app/services/event-tracking.service.d.ts +0 -13
  354. package/dist/lib/types/components/cars-calculator-app/services/notifications.service.d.ts +0 -15
  355. package/dist/lib/types/components/cars-calculator-app/services/notifications.store.d.ts +0 -14
  356. package/dist/lib/types/components/cars-calculator-app/services/session.query.d.ts +0 -26
  357. package/dist/lib/types/components/cars-calculator-app/services/session.store.d.ts +0 -78
  358. package/dist/lib/types/components/cars-calculator-app/services/view.service.d.ts +0 -8
  359. package/dist/lib/types/components/shared/file-icon/file-icon.d.ts +0 -11
  360. package/dist/lib/types/components/shared/icon.d.ts +0 -7
  361. package/dist/lib/types/components/shared/icons-library.d.ts +0 -1
  362. package/dist/lib/types/components/shared/modal-section.d.ts +0 -16
  363. package/dist/lib/types/components/shared/tooltip.d.ts +0 -13
  364. package/dist/lib/types/components/shared/ui-container/ui-container.d.ts +0 -5
  365. package/dist/lib/types/components.d.ts +0 -606
  366. package/dist/lib/types/global/config.d.ts +0 -2
  367. package/dist/lib/types/global/main.d.ts +0 -1
  368. package/dist/lib/types/global/main.dev.d.ts +0 -1
  369. package/dist/lib/types/index.d.ts +0 -2
  370. package/dist/lib/types/stencil-public-runtime.d.ts +0 -1555
  371. package/dist/lib/types/utils/config.d.ts +0 -2
  372. package/dist/lib/types/utils/index.d.ts +0 -10
  373. package/dist/lib/types/utils/lazy.d.ts +0 -12
  374. package/dist/lib/types/utils/promise.d.ts +0 -1
  375. 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();