@tuki-io/tuki-widgets 0.0.133 → 0.0.134

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 (825) hide show
  1. package/.editorconfig +16 -0
  2. package/.hintrc +14 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/README.md +10 -9
  7. package/angular.json +141 -0
  8. package/package.json +49 -73
  9. package/projects/tuki/widgets/README.md +24 -0
  10. package/projects/tuki/widgets/contact-center/cc-readiness/cc-readiness.module.ts +44 -0
  11. package/projects/tuki/widgets/contact-center/cc-readiness/cc-readiness.service.spec.ts +16 -0
  12. package/projects/tuki/widgets/contact-center/cc-readiness/cc-readiness.service.ts +33 -0
  13. package/projects/tuki/widgets/contact-center/cc-readiness/components/card/card.component.html +11 -0
  14. package/projects/tuki/widgets/contact-center/cc-readiness/components/card/card.component.scss +48 -0
  15. package/projects/tuki/widgets/contact-center/cc-readiness/components/card/card.component.ts +10 -0
  16. package/projects/tuki/widgets/contact-center/cc-readiness/types/cc-readiness.ts +34 -0
  17. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.html +74 -0
  18. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.scss +177 -0
  19. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.spec.ts +35 -0
  20. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.ts +237 -0
  21. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.html +19 -0
  22. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.scss +38 -0
  23. package/projects/tuki/widgets/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.ts +57 -0
  24. package/projects/tuki/widgets/contact-center/ng-package.json +7 -0
  25. package/projects/tuki/widgets/contact-center/public-api.ts +6 -0
  26. package/projects/tuki/widgets/contact-center/shared/api.endpoints.ts +6 -0
  27. package/projects/tuki/widgets/contact-center/shared/api.service.ts +91 -0
  28. package/projects/tuki/widgets/contact-center/shared/assets/icons/applications.svg +6 -0
  29. package/projects/tuki/widgets/contact-center/shared/assets/icons/audioPrompts.svg +4 -0
  30. package/projects/tuki/widgets/contact-center/shared/assets/icons/contactServiceQueues.svg +3 -0
  31. package/projects/tuki/widgets/contact-center/shared/assets/icons/phonebooks.svg +6 -0
  32. package/projects/tuki/widgets/contact-center/shared/assets/icons/resourceGroups.svg +6 -0
  33. package/projects/tuki/widgets/contact-center/shared/assets/icons/resources.svg +3 -0
  34. package/projects/tuki/widgets/contact-center/shared/assets/icons/scripts.svg +12 -0
  35. package/projects/tuki/widgets/contact-center/shared/assets/icons/skills.svg +3 -0
  36. package/projects/tuki/widgets/contact-center/shared/assets/icons/teams.svg +3 -0
  37. package/projects/tuki/widgets/contact-center/shared/assets/icons/triggers.svg +4 -0
  38. package/projects/tuki/widgets/contact-center/shared/assets/icons/wrapUpCodes.svg +3 -0
  39. package/projects/tuki/widgets/contact-center/shared/assets/icons/xml.svg +6 -0
  40. package/projects/tuki/widgets/contact-center/shared/material.module.ts +36 -0
  41. package/projects/tuki/widgets/contact-center/shared/shared.module.ts +20 -0
  42. package/projects/tuki/widgets/contact-center/shared/styles/tuki-widgets-theme.scss +13 -0
  43. package/projects/tuki/widgets/contact-center/shared/styles/variables.scss +94 -0
  44. package/projects/tuki/widgets/di2mt/api/api.endpoints.ts +31 -0
  45. package/projects/tuki/widgets/di2mt/assets/icons/already_upgraded.png +0 -0
  46. package/projects/tuki/widgets/di2mt/assets/icons/check2_icon.png +0 -0
  47. package/projects/tuki/widgets/di2mt/assets/icons/check_icon.png +0 -0
  48. package/projects/tuki/widgets/di2mt/assets/icons/details_d_icon.svg +3 -0
  49. package/projects/tuki/widgets/di2mt/assets/icons/expand_icon.png +0 -0
  50. package/projects/tuki/widgets/di2mt/assets/icons/icon_play.svg +3 -0
  51. package/projects/tuki/widgets/di2mt/assets/icons/issue_icon.png +0 -0
  52. package/projects/tuki/widgets/di2mt/assets/icons/menu_icon.png +0 -0
  53. package/projects/tuki/widgets/di2mt/assets/icons/ready_to_upgrade.png +0 -0
  54. package/projects/tuki/widgets/di2mt/assets/icons/search_icon.png +0 -0
  55. package/projects/tuki/widgets/di2mt/assets/icons/site.png +0 -0
  56. package/projects/tuki/widgets/di2mt/assets/icons/user.png +0 -0
  57. package/projects/tuki/widgets/di2mt/assets/icons/warning_icon.png +0 -0
  58. package/projects/tuki/widgets/di2mt/ng-package.json +7 -0
  59. package/projects/tuki/widgets/di2mt/public-api.ts +27 -0
  60. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.html +11 -0
  61. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.scss +48 -0
  62. package/projects/tuki/widgets/di2mt/shared/components/card/card.component.ts +10 -0
  63. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.html +15 -0
  64. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.scss +38 -0
  65. package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.ts +76 -0
  66. package/projects/tuki/widgets/di2mt/shared/components/index.ts +6 -0
  67. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.html +43 -0
  68. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.scss +74 -0
  69. package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.ts +44 -0
  70. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.html +57 -0
  71. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.scss +187 -0
  72. package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.ts +41 -0
  73. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.html +12 -0
  74. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.scss +78 -0
  75. package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.ts +27 -0
  76. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.html +28 -0
  77. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.scss +245 -0
  78. package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.ts +28 -0
  79. package/projects/tuki/widgets/di2mt/shared/constants/app.constants.ts +96 -0
  80. package/projects/tuki/widgets/di2mt/shared/material.module.ts +36 -0
  81. package/projects/tuki/widgets/di2mt/shared/services/api.service.ts +91 -0
  82. package/projects/tuki/widgets/di2mt/shared/shared.module.ts +39 -0
  83. package/projects/tuki/widgets/di2mt/shared/types/constants.ts +22 -0
  84. package/projects/tuki/widgets/di2mt/shared/types/data-table.ts +5 -0
  85. package/projects/tuki/widgets/di2mt/shared/types/table/filter.ts +14 -0
  86. package/projects/tuki/widgets/di2mt/styles/tuki-widgets-theme.scss +13 -0
  87. package/projects/tuki/widgets/di2mt/styles/variables.scss +94 -0
  88. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.html +6 -0
  89. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.scss +45 -0
  90. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.ts +27 -0
  91. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.html +160 -0
  92. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +460 -0
  93. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +506 -0
  94. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +33 -0
  95. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.service.ts +172 -0
  96. package/projects/tuki/widgets/di2mt/widgets/site-upgrade/types/user-upgrade.ts +27 -0
  97. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.ts +52 -0
  98. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.ts +53 -0
  99. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.ts +82 -0
  100. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.html +7 -0
  101. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.scss +0 -0
  102. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.ts +45 -0
  103. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.html +7 -0
  104. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.scss +0 -0
  105. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.ts +45 -0
  106. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.ts +81 -0
  107. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.ts +70 -0
  108. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/types/upgrade-overview.ts +58 -0
  109. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.module.ts +42 -0
  110. package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.service.ts +95 -0
  111. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/types/user-upgrade.ts +35 -0
  112. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.html +204 -0
  113. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +462 -0
  114. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +438 -0
  115. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.module.ts +34 -0
  116. package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.service.ts +137 -0
  117. package/projects/tuki/widgets/karma.conf.js +44 -0
  118. package/projects/tuki/widgets/ng-package.json +10 -0
  119. package/projects/tuki/widgets/package.json +13 -0
  120. package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +23 -0
  121. package/projects/tuki/widgets/src/lib/widgets.component.ts +20 -0
  122. package/projects/tuki/widgets/src/lib/widgets.module.ts +16 -0
  123. package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +16 -0
  124. package/projects/tuki/widgets/src/lib/widgets.service.ts +9 -0
  125. package/projects/tuki/widgets/src/public-api.ts +7 -0
  126. package/projects/tuki/widgets/src/test.ts +27 -0
  127. package/projects/tuki/widgets/styles.scss +558 -0
  128. package/projects/tuki/widgets/tsconfig.lib.json +37 -0
  129. package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -0
  130. package/projects/tuki/widgets/tsconfig.spec.json +17 -0
  131. package/projects/tuki/widgets/user-device-manage/ng-package.json +7 -0
  132. package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +98 -0
  133. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-down-bold.svg +1 -0
  134. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +5 -0
  135. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right-regular.svg +1 -0
  136. package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +5 -0
  137. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cancel-regular.svg +1 -0
  138. package/projects/tuki/widgets/user-device-manage/src/assets/icons/check-circle-regular.svg +1 -0
  139. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco.svg +8 -0
  140. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco_7841.png +0 -0
  141. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco_8841.png +0 -0
  142. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco_8851.png +0 -0
  143. package/projects/tuki/widgets/user-device-manage/src/assets/icons/cisco_9861.png +0 -0
  144. package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +3 -0
  145. package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +5 -0
  146. package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  147. package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +1 -0
  148. package/projects/tuki/widgets/user-device-manage/src/assets/icons/info-circle-regular.svg +1 -0
  149. package/projects/tuki/widgets/user-device-manage/src/assets/icons/people-regular.svg +1 -0
  150. package/projects/tuki/widgets/user-device-manage/src/assets/icons/plus-regular.svg +1 -0
  151. package/projects/tuki/widgets/user-device-manage/src/assets/icons/settings-light.svg +1 -0
  152. package/projects/tuki/widgets/user-device-manage/src/assets/icons/settings-regular.svg +1 -0
  153. package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  154. package/projects/tuki/widgets/user-device-manage/src/assets/icons/warning-regular.svg +1 -0
  155. package/projects/tuki/widgets/user-device-manage/src/assets/info-circle-bold.svg +1 -0
  156. package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +292 -0
  157. package/projects/tuki/widgets/user-device-manage/src/classes/deviceProfile.ts +60 -0
  158. package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +50 -0
  159. package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +177 -0
  160. package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +21 -0
  161. package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +41 -0
  162. package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +144 -0
  163. package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +40 -0
  164. package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +6 -0
  165. package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +169 -0
  166. package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +167 -0
  167. package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +50 -0
  168. package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +19 -0
  169. package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +225 -0
  170. package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +8 -0
  171. package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +16 -0
  172. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +14 -0
  173. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +80 -0
  174. package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +35 -0
  175. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +21 -0
  176. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +97 -0
  177. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +28 -0
  178. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +6 -0
  179. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.scss +20 -0
  180. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +13 -0
  181. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +6 -0
  182. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +4 -0
  183. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +63 -0
  184. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +241 -0
  185. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +500 -0
  186. package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +194 -0
  187. package/projects/tuki/widgets/user-device-manage/src/device-info/device-info.component.html +52 -0
  188. package/projects/tuki/widgets/user-device-manage/src/device-info/device-info.component.scss +219 -0
  189. package/projects/tuki/widgets/user-device-manage/src/device-info/device-info.component.ts +38 -0
  190. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +27 -0
  191. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +131 -0
  192. package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +25 -0
  193. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +281 -0
  194. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +766 -0
  195. package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +142 -0
  196. package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +9 -0
  197. package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +10 -0
  198. package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +35 -0
  199. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +67 -0
  200. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +98 -0
  201. package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
  202. package/projects/tuki/widgets/user-device-manage/src/material.module.ts +87 -0
  203. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +33 -0
  204. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +84 -0
  205. package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +46 -0
  206. package/projects/tuki/widgets/user-device-manage/src/pipes/mac-address.pipe.ts +24 -0
  207. package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +25 -0
  208. package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +87 -0
  209. package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +17 -0
  210. package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +95 -0
  211. package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +111 -0
  212. package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +89 -0
  213. package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +68 -0
  214. package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +25 -0
  215. package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +82 -0
  216. package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +203 -0
  217. package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +360 -0
  218. package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +87 -0
  219. package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +829 -0
  220. package/projects/tuki/widgets/user-device-manage/src/shared/tk-page-section/page-section.component.html +13 -0
  221. package/projects/tuki/widgets/user-device-manage/src/shared/tk-page-section/page-section.component.scss +48 -0
  222. package/projects/tuki/widgets/user-device-manage/src/shared/tk-page-section/page-section.component.spec.ts +23 -0
  223. package/projects/tuki/widgets/user-device-manage/src/shared/tk-page-section/page-section.component.ts +10 -0
  224. package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +90 -0
  225. package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +284 -0
  226. package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +33 -0
  227. package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +127 -0
  228. package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +30 -0
  229. package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +79 -0
  230. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +7 -0
  231. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  232. package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +13 -0
  233. package/projects/tuki/widgets/user-manage/ng-package.json +7 -0
  234. package/projects/tuki/widgets/user-manage/src/app.constants.ts +54 -0
  235. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-down-bold.svg +1 -0
  236. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +5 -0
  237. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right-bold.svg +1 -0
  238. package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +5 -0
  239. package/projects/tuki/widgets/user-manage/src/assets/icons/cisco_7841.png +0 -0
  240. package/projects/tuki/widgets/user-manage/src/assets/icons/cisco_8841.png +0 -0
  241. package/projects/tuki/widgets/user-manage/src/assets/icons/cisco_8851.png +0 -0
  242. package/projects/tuki/widgets/user-manage/src/assets/icons/cisco_9861.png +0 -0
  243. package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +5 -0
  244. package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
  245. package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +1 -0
  246. package/projects/tuki/widgets/user-manage/src/assets/icons/info-circle-bold.svg +1 -0
  247. package/projects/tuki/widgets/user-manage/src/assets/icons/people-regular.svg +1 -0
  248. package/projects/tuki/widgets/user-manage/src/assets/icons/settings-light.svg +1 -0
  249. package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
  250. package/projects/tuki/widgets/user-manage/src/classes/device.ts +232 -0
  251. package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +44 -0
  252. package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +161 -0
  253. package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +21 -0
  254. package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +44 -0
  255. package/projects/tuki/widgets/user-manage/src/classes/line.ts +145 -0
  256. package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -0
  257. package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -0
  258. package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +6 -0
  259. package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +165 -0
  260. package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -0
  261. package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +49 -0
  262. package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -0
  263. package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +42 -0
  264. package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -0
  265. package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -0
  266. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +32 -0
  267. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +305 -0
  268. package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +26 -0
  269. package/projects/tuki/widgets/user-manage/src/device-list/device-row/device-row.component.html +13 -0
  270. package/projects/tuki/widgets/user-manage/src/device-list/device-row/device-row.component.scss +154 -0
  271. package/projects/tuki/widgets/user-manage/src/device-list/device-row/device-row.component.ts +34 -0
  272. package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -0
  273. package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -0
  274. package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +35 -0
  275. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +68 -0
  276. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +125 -0
  277. package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +93 -0
  278. package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -0
  279. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -0
  280. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -0
  281. package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -0
  282. package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -0
  283. package/projects/tuki/widgets/user-manage/src/services/api.service.ts +90 -0
  284. package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +116 -0
  285. package/projects/tuki/widgets/user-manage/src/services/line.service.ts +31 -0
  286. package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -0
  287. package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
  288. package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -0
  289. package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +203 -0
  290. package/projects/tuki/widgets/user-manage/src/services/user.service.ts +288 -0
  291. package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +59 -0
  292. package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -0
  293. package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +93 -0
  294. package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -0
  295. package/projects/tuki/widgets/user-manage/src/styles/icons.scss +41 -0
  296. package/projects/tuki/widgets/user-manage/src/styles/styles.scss +128 -0
  297. package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -0
  298. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +10 -0
  299. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +444 -0
  300. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +63 -0
  301. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +97 -0
  302. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +444 -0
  303. package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +89 -0
  304. package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -0
  305. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +37 -0
  306. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +121 -0
  307. package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -0
  308. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +313 -0
  309. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +638 -0
  310. package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +222 -0
  311. package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +65 -0
  312. package/projects/tuki/widgets/user-manage/src/user-summary/user-summary.component.html +64 -0
  313. package/projects/tuki/widgets/user-manage/src/user-summary/user-summary.component.scss +17 -0
  314. package/projects/tuki/widgets/user-manage/src/user-summary/user-summary.component.ts +8 -0
  315. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +7 -0
  316. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
  317. package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -0
  318. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -0
  319. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -0
  320. package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -0
  321. package/projects/tuki/widgets/users-list/ng-package.json +7 -0
  322. package/projects/tuki/widgets/users-list/src/app.constants.ts +54 -0
  323. package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +3 -0
  324. package/projects/tuki/widgets/users-list/src/assets/icons/cogs.svg +8 -0
  325. package/projects/tuki/widgets/users-list/src/assets/icons/copy-regular.svg +1 -0
  326. package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +1 -0
  327. package/projects/tuki/widgets/users-list/src/assets/icons/info-circle-regular.svg +1 -0
  328. package/projects/tuki/widgets/users-list/src/assets/icons/info.svg +5 -0
  329. package/projects/tuki/widgets/users-list/src/assets/icons/move_user_to_another_location.svg +14 -0
  330. package/projects/tuki/widgets/users-list/src/assets/icons/mt.svg +3 -0
  331. package/projects/tuki/widgets/users-list/src/assets/icons/settings-regular.svg +1 -0
  332. package/projects/tuki/widgets/users-list/src/assets/icons/webex.svg +7 -0
  333. package/projects/tuki/widgets/users-list/src/assets/icons/webex_logo_icon.svg +305 -0
  334. package/projects/tuki/widgets/users-list/src/assets/icons/white-close-icon.svg +3 -0
  335. package/projects/tuki/widgets/users-list/src/classes/app-location.ts +36 -0
  336. package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -0
  337. package/projects/tuki/widgets/users-list/src/classes/line.ts +144 -0
  338. package/projects/tuki/widgets/users-list/src/classes/move-user.ts +225 -0
  339. package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -0
  340. package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -0
  341. package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -0
  342. package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -0
  343. package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -0
  344. package/projects/tuki/widgets/users-list/src/classes/user-list.ts +47 -0
  345. package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -0
  346. package/projects/tuki/widgets/users-list/src/components/table-toolbar/table-toolbar.component.html +39 -0
  347. package/projects/tuki/widgets/users-list/src/components/table-toolbar/table-toolbar.component.scss +41 -0
  348. package/projects/tuki/widgets/users-list/src/components/table-toolbar/table-toolbar.component.ts +21 -0
  349. package/projects/tuki/widgets/users-list/src/material.module.ts +97 -0
  350. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +37 -0
  351. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +129 -0
  352. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +46 -0
  353. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.html +31 -0
  354. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.scss +20 -0
  355. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.ts +26 -0
  356. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +222 -0
  357. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +249 -0
  358. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +206 -0
  359. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +12 -0
  360. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.scss +41 -0
  361. package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +36 -0
  362. package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +14 -0
  363. package/projects/tuki/widgets/users-list/src/services/api.service.ts +90 -0
  364. package/projects/tuki/widgets/users-list/src/services/dns.service.ts +128 -0
  365. package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -0
  366. package/projects/tuki/widgets/users-list/src/services/move-user.service.ts +59 -0
  367. package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -0
  368. package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -0
  369. package/projects/tuki/widgets/users-list/src/services/site-settings.service.ts +26 -0
  370. package/projects/tuki/widgets/users-list/src/services/user.service.ts +159 -0
  371. package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +160 -0
  372. package/projects/tuki/widgets/users-list/src/styles/styles.scss +639 -0
  373. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +15 -0
  374. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +103 -0
  375. package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +35 -0
  376. package/projects/tuki/widgets/users-list/src/users-list.component.css +4 -0
  377. package/projects/tuki/widgets/users-list/src/users-list.component.css.map +1 -0
  378. package/projects/tuki/widgets/users-list/src/users-list.component.html +261 -0
  379. package/projects/tuki/widgets/users-list/src/users-list.component.scss +629 -0
  380. package/projects/tuki/widgets/users-list/src/users-list.component.ts +410 -0
  381. package/projects/tuki/widgets/users-list/src/users-list.module.ts +65 -0
  382. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +11 -0
  383. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
  384. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +7 -0
  385. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +17 -0
  386. package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -0
  387. package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +32 -0
  388. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -0
  389. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -0
  390. package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -0
  391. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +45 -0
  392. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +1 -0
  393. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -0
  394. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -0
  395. package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -0
  396. package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -0
  397. package/projects/widgets-playground/src/app/app.component.html +130 -0
  398. package/projects/widgets-playground/src/app/app.component.scss +16 -0
  399. package/projects/widgets-playground/src/app/app.component.spec.ts +31 -0
  400. package/projects/widgets-playground/src/app/app.component.ts +31 -0
  401. package/projects/widgets-playground/src/app/app.module.ts +45 -0
  402. package/projects/widgets-playground/src/assets/.gitkeep +0 -0
  403. package/projects/widgets-playground/src/assets/icons/already_upgraded.png +0 -0
  404. package/projects/widgets-playground/src/assets/icons/applications copy.svg +6 -0
  405. package/projects/widgets-playground/src/assets/icons/applications.svg +6 -0
  406. package/projects/widgets-playground/src/assets/icons/arrow-down-bold.svg +1 -0
  407. package/projects/widgets-playground/src/assets/icons/audio-prompts.svg +4 -0
  408. package/projects/widgets-playground/src/assets/icons/audioPrompts.svg +4 -0
  409. package/projects/widgets-playground/src/assets/icons/check2_icon.png +0 -0
  410. package/projects/widgets-playground/src/assets/icons/check_icon.png +0 -0
  411. package/projects/widgets-playground/src/assets/icons/contactServiceQueues.svg +3 -0
  412. package/projects/widgets-playground/src/assets/icons/copy-regular.svg +1 -0
  413. package/projects/widgets-playground/src/assets/icons/csqs.svg +3 -0
  414. package/projects/widgets-playground/src/assets/icons/expand_icon.png +0 -0
  415. package/projects/widgets-playground/src/assets/icons/info-circle-regular.svg +1 -0
  416. package/projects/widgets-playground/src/assets/icons/issue_icon.png +0 -0
  417. package/projects/widgets-playground/src/assets/icons/menu_icon.png +0 -0
  418. package/projects/widgets-playground/src/assets/icons/mt.svg +3 -0
  419. package/projects/widgets-playground/src/assets/icons/phone-books.svg +6 -0
  420. package/projects/widgets-playground/src/assets/icons/phonebooks.svg +6 -0
  421. package/projects/widgets-playground/src/assets/icons/ready_to_upgrade.png +0 -0
  422. package/projects/widgets-playground/src/assets/icons/resource-group.svg +6 -0
  423. package/projects/widgets-playground/src/assets/icons/resource.svg +3 -0
  424. package/projects/widgets-playground/src/assets/icons/resourceGroups.svg +6 -0
  425. package/projects/widgets-playground/src/assets/icons/resources.svg +3 -0
  426. package/projects/widgets-playground/src/assets/icons/scripts copy.svg +12 -0
  427. package/projects/widgets-playground/src/assets/icons/scripts.svg +12 -0
  428. package/projects/widgets-playground/src/assets/icons/search_icon.png +0 -0
  429. package/projects/widgets-playground/src/assets/icons/settings-regular.svg +1 -0
  430. package/projects/widgets-playground/src/assets/icons/site.png +0 -0
  431. package/projects/widgets-playground/src/assets/icons/skills copy.svg +3 -0
  432. package/projects/widgets-playground/src/assets/icons/skills.svg +3 -0
  433. package/projects/widgets-playground/src/assets/icons/teams copy.svg +3 -0
  434. package/projects/widgets-playground/src/assets/icons/teams.svg +3 -0
  435. package/projects/widgets-playground/src/assets/icons/triggers copy.svg +4 -0
  436. package/projects/widgets-playground/src/assets/icons/triggers.svg +4 -0
  437. package/projects/widgets-playground/src/assets/icons/user.png +0 -0
  438. package/projects/widgets-playground/src/assets/icons/warning_icon.png +0 -0
  439. package/projects/widgets-playground/src/assets/icons/webex.svg +7 -0
  440. package/projects/widgets-playground/src/assets/icons/webex_logo_icon.svg +305 -0
  441. package/projects/widgets-playground/src/assets/icons/wrapUpCodes.svg +3 -0
  442. package/projects/widgets-playground/src/assets/icons/wrapup-codes.svg +3 -0
  443. package/projects/widgets-playground/src/assets/icons/xml copy.svg +6 -0
  444. package/projects/widgets-playground/src/assets/icons/xml.svg +6 -0
  445. package/projects/widgets-playground/src/favicon.ico +0 -0
  446. package/projects/widgets-playground/src/index.html +13 -0
  447. package/projects/widgets-playground/src/main.ts +7 -0
  448. package/projects/widgets-playground/src/styles.scss +24 -0
  449. package/projects/widgets-playground/tsconfig.app.json +14 -0
  450. package/projects/widgets-playground/tsconfig.spec.json +14 -0
  451. package/proxy.conf.js +23 -0
  452. package/tsconfig.json +46 -0
  453. package/contact-center/cc-readiness/cc-readiness.module.d.ts +0 -19
  454. package/contact-center/cc-readiness/cc-readiness.service.d.ts +0 -12
  455. package/contact-center/cc-readiness/components/card/card.component.d.ts +0 -6
  456. package/contact-center/cc-readiness/types/cc-readiness.d.ts +0 -20
  457. package/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.d.ts +0 -52
  458. package/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.d.ts +0 -26
  459. package/contact-center/index.d.ts +0 -5
  460. package/contact-center/public-api.d.ts +0 -3
  461. package/contact-center/shared/api.endpoints.d.ts +0 -6
  462. package/contact-center/shared/api.service.d.ts +0 -20
  463. package/contact-center/shared/material.module.d.ts +0 -15
  464. package/contact-center/shared/shared.module.d.ts +0 -10
  465. package/di2mt/api/api.endpoints.d.ts +0 -31
  466. package/di2mt/index.d.ts +0 -5
  467. package/di2mt/public-api.d.ts +0 -13
  468. package/di2mt/shared/components/card/card.component.d.ts +0 -6
  469. package/di2mt/shared/components/chart-card/chart-card.component.d.ts +0 -23
  470. package/di2mt/shared/components/stat-card/stat-card.component.d.ts +0 -14
  471. package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +0 -15
  472. package/di2mt/shared/components/summary-card/summary-card.component.d.ts +0 -9
  473. package/di2mt/shared/components/table-filters/table-filters.component.d.ts +0 -14
  474. package/di2mt/shared/constants/app.constants.d.ts +0 -74
  475. package/di2mt/shared/material.module.d.ts +0 -15
  476. package/di2mt/shared/services/api.service.d.ts +0 -20
  477. package/di2mt/shared/shared.module.d.ts +0 -16
  478. package/di2mt/shared/types/constants.d.ts +0 -15
  479. package/di2mt/shared/types/data-table.d.ts +0 -5
  480. package/di2mt/shared/types/table/filter.d.ts +0 -16
  481. package/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.d.ts +0 -11
  482. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +0 -69
  483. package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +0 -15
  484. package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +0 -84
  485. package/di2mt/widgets/site-upgrade/types/user-upgrade.d.ts +0 -26
  486. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +0 -19
  487. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +0 -19
  488. package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +0 -18
  489. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +0 -19
  490. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +0 -19
  491. package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +0 -15
  492. package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +0 -18
  493. package/di2mt/widgets/upgrade-overview/types/upgrade-overview.d.ts +0 -56
  494. package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +0 -15
  495. package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +0 -17
  496. package/di2mt/widgets/user-upgrade/types/user-upgrade.d.ts +0 -32
  497. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +0 -79
  498. package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +0 -16
  499. package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +0 -41
  500. package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +0 -71
  501. package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +0 -35
  502. package/esm2020/contact-center/cc-readiness/components/card/card.component.mjs +0 -13
  503. package/esm2020/contact-center/cc-readiness/types/cc-readiness.mjs +0 -5
  504. package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +0 -187
  505. package/esm2020/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.mjs +0 -47
  506. package/esm2020/contact-center/public-api.mjs +0 -4
  507. package/esm2020/contact-center/shared/api.endpoints.mjs +0 -7
  508. package/esm2020/contact-center/shared/api.service.mjs +0 -86
  509. package/esm2020/contact-center/shared/material.module.mjs +0 -76
  510. package/esm2020/contact-center/shared/shared.module.mjs +0 -33
  511. package/esm2020/contact-center/tuki-io-tuki-widgets-contact-center.mjs +0 -5
  512. package/esm2020/di2mt/api/api.endpoints.mjs +0 -32
  513. package/esm2020/di2mt/public-api.mjs +0 -24
  514. package/esm2020/di2mt/shared/components/card/card.component.mjs +0 -13
  515. package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +0 -66
  516. package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +0 -47
  517. package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +0 -43
  518. package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +0 -36
  519. package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +0 -37
  520. package/esm2020/di2mt/shared/constants/app.constants.mjs +0 -95
  521. package/esm2020/di2mt/shared/material.module.mjs +0 -76
  522. package/esm2020/di2mt/shared/services/api.service.mjs +0 -86
  523. package/esm2020/di2mt/shared/shared.module.mjs +0 -63
  524. package/esm2020/di2mt/shared/types/constants.mjs +0 -20
  525. package/esm2020/di2mt/shared/types/data-table.mjs +0 -2
  526. package/esm2020/di2mt/shared/types/table/filter.mjs +0 -2
  527. package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +0 -5
  528. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +0 -38
  529. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +0 -433
  530. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +0 -53
  531. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +0 -92
  532. package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +0 -3
  533. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +0 -64
  534. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +0 -64
  535. package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +0 -83
  536. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +0 -45
  537. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +0 -45
  538. package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +0 -86
  539. package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +0 -74
  540. package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +0 -2
  541. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +0 -59
  542. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +0 -82
  543. package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +0 -3
  544. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +0 -376
  545. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +0 -59
  546. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +0 -80
  547. package/esm2020/lib/widgets.component.mjs +0 -22
  548. package/esm2020/lib/widgets.module.mjs +0 -21
  549. package/esm2020/lib/widgets.service.mjs +0 -14
  550. package/esm2020/public-api.mjs +0 -7
  551. package/esm2020/tuki-io-tuki-widgets.mjs +0 -5
  552. package/esm2020/user-device-manage/public-api.mjs +0 -9
  553. package/esm2020/user-device-manage/src/app.constants.mjs +0 -97
  554. package/esm2020/user-device-manage/src/classes/device.mjs +0 -85
  555. package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +0 -34
  556. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +0 -2
  557. package/esm2020/user-device-manage/src/classes/line-association.mjs +0 -121
  558. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +0 -10
  559. package/esm2020/user-device-manage/src/classes/line-directory.mjs +0 -27
  560. package/esm2020/user-device-manage/src/classes/line.mjs +0 -18
  561. package/esm2020/user-device-manage/src/classes/notification.mjs +0 -32
  562. package/esm2020/user-device-manage/src/classes/recording-options.mjs +0 -7
  563. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +0 -111
  564. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +0 -21
  565. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +0 -32
  566. package/esm2020/user-device-manage/src/classes/types.mjs +0 -24
  567. package/esm2020/user-device-manage/src/common-functions.mjs +0 -19
  568. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +0 -34
  569. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +0 -31
  570. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +0 -16
  571. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +0 -64
  572. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +0 -179
  573. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +0 -43
  574. package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +0 -24
  575. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +0 -141
  576. package/esm2020/user-device-manage/src/environments/environment.mjs +0 -11
  577. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +0 -36
  578. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
  579. package/esm2020/user-device-manage/src/material.module.mjs +0 -192
  580. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +0 -35
  581. package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +0 -26
  582. package/esm2020/user-device-manage/src/services/api.service.mjs +0 -79
  583. package/esm2020/user-device-manage/src/services/device.service.mjs +0 -83
  584. package/esm2020/user-device-manage/src/services/dns.service.mjs +0 -104
  585. package/esm2020/user-device-manage/src/services/line.service.mjs +0 -76
  586. package/esm2020/user-device-manage/src/services/notification.service.mjs +0 -62
  587. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  588. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +0 -70
  589. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +0 -197
  590. package/esm2020/user-device-manage/src/services/user.service.mjs +0 -311
  591. package/esm2020/user-device-manage/src/services/utils.service.mjs +0 -87
  592. package/esm2020/user-device-manage/src/services/validation.service.mjs +0 -760
  593. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +0 -13
  594. package/esm2020/user-device-manage/src/user-device-manage.module.mjs +0 -116
  595. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +0 -14
  596. package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +0 -5
  597. package/esm2020/user-manage/public-api.mjs +0 -7
  598. package/esm2020/user-manage/src/app.constants.mjs +0 -54
  599. package/esm2020/user-manage/src/classes/device.mjs +0 -37
  600. package/esm2020/user-manage/src/classes/line-association-interface.mjs +0 -2
  601. package/esm2020/user-manage/src/classes/line-association.mjs +0 -110
  602. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +0 -10
  603. package/esm2020/user-manage/src/classes/line-directory.mjs +0 -28
  604. package/esm2020/user-manage/src/classes/line.mjs +0 -18
  605. package/esm2020/user-manage/src/classes/notification.mjs +0 -32
  606. package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
  607. package/esm2020/user-manage/src/classes/recording-options.mjs +0 -7
  608. package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -109
  609. package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
  610. package/esm2020/user-manage/src/classes/translation-pattern.mjs +0 -32
  611. package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
  612. package/esm2020/user-manage/src/common-functions.mjs +0 -19
  613. package/esm2020/user-manage/src/device-list/device-list.component.mjs +0 -26
  614. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +0 -33
  615. package/esm2020/user-manage/src/environments/environment.mjs +0 -11
  616. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -36
  617. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -81
  618. package/esm2020/user-manage/src/material.module.mjs +0 -188
  619. package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
  620. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
  621. package/esm2020/user-manage/src/services/api.service.mjs +0 -79
  622. package/esm2020/user-manage/src/services/dns.service.mjs +0 -110
  623. package/esm2020/user-manage/src/services/line.service.mjs +0 -34
  624. package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
  625. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
  626. package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
  627. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +0 -197
  628. package/esm2020/user-manage/src/services/user.service.mjs +0 -249
  629. package/esm2020/user-manage/src/services/users-search.service.mjs +0 -50
  630. package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
  631. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +0 -65
  632. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +0 -75
  633. package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
  634. package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -219
  635. package/esm2020/user-manage/src/user-manage.module.mjs +0 -102
  636. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
  637. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
  638. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
  639. package/esm2020/users-list/public-api.mjs +0 -9
  640. package/esm2020/users-list/src/app.constants.mjs +0 -54
  641. package/esm2020/users-list/src/classes/app-location.mjs +0 -32
  642. package/esm2020/users-list/src/classes/device.mjs +0 -7
  643. package/esm2020/users-list/src/classes/line.mjs +0 -18
  644. package/esm2020/users-list/src/classes/move-user.mjs +0 -178
  645. package/esm2020/users-list/src/classes/notification.mjs +0 -31
  646. package/esm2020/users-list/src/classes/pagination.mjs +0 -8
  647. package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
  648. package/esm2020/users-list/src/classes/table-data.mjs +0 -2
  649. package/esm2020/users-list/src/classes/user-list.mjs +0 -14
  650. package/esm2020/users-list/src/components/table-toolbar/table-toolbar.component.mjs +0 -25
  651. package/esm2020/users-list/src/material.module.mjs +0 -216
  652. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +0 -38
  653. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +0 -23
  654. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +0 -189
  655. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +0 -38
  656. package/esm2020/users-list/src/services/api-webex.service.mjs +0 -18
  657. package/esm2020/users-list/src/services/api.service.mjs +0 -78
  658. package/esm2020/users-list/src/services/dns.service.mjs +0 -120
  659. package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
  660. package/esm2020/users-list/src/services/move-user.service.mjs +0 -53
  661. package/esm2020/users-list/src/services/notification.service.mjs +0 -62
  662. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
  663. package/esm2020/users-list/src/services/site-settings.service.mjs +0 -27
  664. package/esm2020/users-list/src/services/user.service.mjs +0 -142
  665. package/esm2020/users-list/src/services/users-search.service.mjs +0 -141
  666. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +0 -34
  667. package/esm2020/users-list/src/users-list.component.mjs +0 -339
  668. package/esm2020/users-list/src/users-list.module.mjs +0 -95
  669. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
  670. package/esm2020/users-list/src/utils/common-functions.mjs +0 -32
  671. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
  672. package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
  673. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
  674. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +0 -433
  675. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +0 -1
  676. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +0 -2220
  677. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
  678. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3378
  679. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
  680. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -2219
  681. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  682. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -2098
  683. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  684. package/fesm2015/tuki-io-tuki-widgets.mjs +0 -63
  685. package/fesm2015/tuki-io-tuki-widgets.mjs.map +0 -1
  686. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +0 -430
  687. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +0 -1
  688. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +0 -2204
  689. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
  690. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3357
  691. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
  692. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -2205
  693. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
  694. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -2074
  695. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
  696. package/fesm2020/tuki-io-tuki-widgets.mjs +0 -63
  697. package/fesm2020/tuki-io-tuki-widgets.mjs.map +0 -1
  698. package/index.d.ts +0 -5
  699. package/lib/widgets.component.d.ts +0 -8
  700. package/lib/widgets.module.d.ts +0 -7
  701. package/lib/widgets.service.d.ts +0 -6
  702. package/public-api.d.ts +0 -3
  703. package/user-device-manage/index.d.ts +0 -5
  704. package/user-device-manage/src/app.constants.d.ts +0 -76
  705. package/user-device-manage/src/classes/device.d.ts +0 -233
  706. package/user-device-manage/src/classes/deviceProfile.d.ts +0 -24
  707. package/user-device-manage/src/classes/line-association-interface.d.ts +0 -45
  708. package/user-device-manage/src/classes/line-association.d.ts +0 -62
  709. package/user-device-manage/src/classes/line-call-info-display.d.ts +0 -11
  710. package/user-device-manage/src/classes/line-directory.d.ts +0 -15
  711. package/user-device-manage/src/classes/line.d.ts +0 -140
  712. package/user-device-manage/src/classes/notification.d.ts +0 -18
  713. package/user-device-manage/src/classes/recording-options.d.ts +0 -5
  714. package/user-device-manage/src/classes/simplified-user.d.ts +0 -52
  715. package/user-device-manage/src/classes/site-defaults.d.ts +0 -146
  716. package/user-device-manage/src/classes/translation-pattern.d.ts +0 -19
  717. package/user-device-manage/src/classes/types.d.ts +0 -19
  718. package/user-device-manage/src/common-functions.d.ts +0 -1
  719. package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +0 -20
  720. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +0 -15
  721. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +0 -7
  722. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +0 -24
  723. package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +0 -89
  724. package/user-device-manage/src/device-info/device-info.component.d.ts +0 -15
  725. package/user-device-manage/src/device-list/device-list.component.d.ts +0 -11
  726. package/user-device-manage/src/device-manage-widget.component.d.ts +0 -54
  727. package/user-device-manage/src/environments/environment.d.ts +0 -9
  728. package/user-device-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  729. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
  730. package/user-device-manage/src/material.module.d.ts +0 -29
  731. package/user-device-manage/src/notifications/notification.component.d.ts +0 -19
  732. package/user-device-manage/src/pipes/mac-address.pipe.d.ts +0 -7
  733. package/user-device-manage/src/services/api.service.d.ts +0 -20
  734. package/user-device-manage/src/services/device.service.d.ts +0 -21
  735. package/user-device-manage/src/services/dns.service.d.ts +0 -14
  736. package/user-device-manage/src/services/line.service.d.ts +0 -33
  737. package/user-device-manage/src/services/notification.service.d.ts +0 -18
  738. package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  739. package/user-device-manage/src/services/site-settings.service.d.ts +0 -25
  740. package/user-device-manage/src/services/sorting-utils.service.d.ts +0 -26
  741. package/user-device-manage/src/services/user.service.d.ts +0 -61
  742. package/user-device-manage/src/services/utils.service.d.ts +0 -10
  743. package/user-device-manage/src/services/validation.service.d.ts +0 -165
  744. package/user-device-manage/src/shared/tk-page-section/page-section.component.d.ts +0 -6
  745. package/user-device-manage/src/user-device-manage.module.d.ts +0 -25
  746. package/user-device-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  747. package/user-manage/index.d.ts +0 -5
  748. package/user-manage/src/app.constants.d.ts +0 -33
  749. package/user-manage/src/classes/device.d.ts +0 -203
  750. package/user-manage/src/classes/line-association-interface.d.ts +0 -41
  751. package/user-manage/src/classes/line-association.d.ts +0 -55
  752. package/user-manage/src/classes/line-call-info-display.d.ts +0 -11
  753. package/user-manage/src/classes/line-directory.d.ts +0 -17
  754. package/user-manage/src/classes/line.d.ts +0 -141
  755. package/user-manage/src/classes/notification.d.ts +0 -18
  756. package/user-manage/src/classes/pagination.d.ts +0 -13
  757. package/user-manage/src/classes/recording-options.d.ts +0 -5
  758. package/user-manage/src/classes/simplified-user.d.ts +0 -50
  759. package/user-manage/src/classes/table-data.d.ts +0 -5
  760. package/user-manage/src/classes/translation-pattern.d.ts +0 -18
  761. package/user-manage/src/classes/user-list.d.ts +0 -34
  762. package/user-manage/src/common-functions.d.ts +0 -1
  763. package/user-manage/src/device-list/device-list.component.d.ts +0 -11
  764. package/user-manage/src/device-list/device-row/device-row.component.d.ts +0 -12
  765. package/user-manage/src/environments/environment.d.ts +0 -9
  766. package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
  767. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -37
  768. package/user-manage/src/material.module.d.ts +0 -28
  769. package/user-manage/src/notifications/notification.component.d.ts +0 -19
  770. package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
  771. package/user-manage/src/services/api.service.d.ts +0 -21
  772. package/user-manage/src/services/dns.service.d.ts +0 -14
  773. package/user-manage/src/services/line.service.d.ts +0 -17
  774. package/user-manage/src/services/notification.service.d.ts +0 -18
  775. package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
  776. package/user-manage/src/services/site-settings.service.d.ts +0 -9
  777. package/user-manage/src/services/sorting-utils.service.d.ts +0 -26
  778. package/user-manage/src/services/user.service.d.ts +0 -45
  779. package/user-manage/src/services/users-search.service.d.ts +0 -25
  780. package/user-manage/src/services/utils.service.d.ts +0 -9
  781. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +0 -24
  782. package/user-manage/src/user-calling/user-calling.component.d.ts +0 -30
  783. package/user-manage/src/user-info/user-info.component.d.ts +0 -9
  784. package/user-manage/src/user-manage-widget.component.d.ts +0 -45
  785. package/user-manage/src/user-manage.module.d.ts +0 -22
  786. package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  787. package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
  788. package/users-list/index.d.ts +0 -5
  789. package/users-list/src/app.constants.d.ts +0 -36
  790. package/users-list/src/classes/app-location.d.ts +0 -17
  791. package/users-list/src/classes/device.d.ts +0 -224
  792. package/users-list/src/classes/line.d.ts +0 -140
  793. package/users-list/src/classes/move-user.d.ts +0 -85
  794. package/users-list/src/classes/notification.d.ts +0 -18
  795. package/users-list/src/classes/pagination.d.ts +0 -13
  796. package/users-list/src/classes/simlified-user.d.ts +0 -25
  797. package/users-list/src/classes/table-data.d.ts +0 -5
  798. package/users-list/src/classes/user-list.d.ts +0 -36
  799. package/users-list/src/components/table-toolbar/table-toolbar.component.d.ts +0 -10
  800. package/users-list/src/material.module.d.ts +0 -32
  801. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +0 -21
  802. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +0 -12
  803. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +0 -55
  804. package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +0 -17
  805. package/users-list/src/services/api-webex.service.d.ts +0 -8
  806. package/users-list/src/services/api.service.d.ts +0 -21
  807. package/users-list/src/services/dns.service.d.ts +0 -18
  808. package/users-list/src/services/events-communication.service.d.ts +0 -8
  809. package/users-list/src/services/move-user.service.d.ts +0 -17
  810. package/users-list/src/services/notification.service.d.ts +0 -18
  811. package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
  812. package/users-list/src/services/site-settings.service.d.ts +0 -11
  813. package/users-list/src/services/user.service.d.ts +0 -35
  814. package/users-list/src/services/users-search.service.d.ts +0 -37
  815. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +0 -20
  816. package/users-list/src/users-list.component.d.ts +0 -62
  817. package/users-list/src/users-list.module.d.ts +0 -19
  818. package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
  819. package/users-list/src/utils/common-functions.d.ts +0 -2
  820. package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
  821. package/users-list/src/utils/utils.service.d.ts +0 -9
  822. /package/{di2mt → projects/tuki/widgets/di2mt}/README.md +0 -0
  823. /package/{user-device-manage/public-api.d.ts → projects/tuki/widgets/user-device-manage/public-api.ts} +0 -0
  824. /package/{user-manage/public-api.d.ts → projects/tuki/widgets/user-manage/public-api.ts} +0 -0
  825. /package/{users-list/public-api.d.ts → projects/tuki/widgets/users-list/public-api.ts} +0 -0
@@ -1,71 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { HttpClientModule } from '@angular/common/http';
4
- import { LicencesRequirementComponent } from './widgets/licences-requirement/licences-requirement.component';
5
- import { SummaryGridComponent } from './widgets/summary-grid/summary-grid.component';
6
- import { CardComponent } from './components/card/card.component';
7
- import { NgApexchartsModule } from 'ng-apexcharts';
8
- import { MatButtonModule } from '@angular/material/button';
9
- import { MatCheckboxModule } from '@angular/material/checkbox';
10
- import { MatOptionModule } from '@angular/material/core';
11
- import { MatPaginatorModule } from '@angular/material/paginator';
12
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
13
- import { MatSelectModule } from '@angular/material/select';
14
- import { MatTableModule } from '@angular/material/table';
15
- import * as i0 from "@angular/core";
16
- export class CcReadinessModule {
17
- }
18
- CcReadinessModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- CcReadinessModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessModule, declarations: [LicencesRequirementComponent,
20
- SummaryGridComponent,
21
- CardComponent], imports: [CommonModule,
22
- HttpClientModule,
23
- NgApexchartsModule,
24
- MatTableModule,
25
- MatButtonModule,
26
- MatCheckboxModule,
27
- MatSelectModule,
28
- MatProgressSpinnerModule,
29
- MatOptionModule,
30
- MatPaginatorModule,
31
- MatSelectModule], exports: [LicencesRequirementComponent,
32
- SummaryGridComponent] });
33
- CcReadinessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessModule, imports: [CommonModule,
34
- HttpClientModule,
35
- NgApexchartsModule,
36
- MatTableModule,
37
- MatButtonModule,
38
- MatCheckboxModule,
39
- MatSelectModule,
40
- MatProgressSpinnerModule,
41
- MatOptionModule,
42
- MatPaginatorModule,
43
- MatSelectModule] });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessModule, decorators: [{
45
- type: NgModule,
46
- args: [{
47
- declarations: [
48
- LicencesRequirementComponent,
49
- SummaryGridComponent,
50
- CardComponent
51
- ],
52
- imports: [
53
- CommonModule,
54
- HttpClientModule,
55
- NgApexchartsModule,
56
- MatTableModule,
57
- MatButtonModule,
58
- MatCheckboxModule,
59
- MatSelectModule,
60
- MatProgressSpinnerModule,
61
- MatOptionModule,
62
- MatPaginatorModule,
63
- MatSelectModule
64
- ],
65
- exports: [
66
- LicencesRequirementComponent,
67
- SummaryGridComponent
68
- ]
69
- }]
70
- }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtcmVhZGluZXNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3MvY2MtcmVhZGluZXNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUE0QnpELE1BQU0sT0FBTyxpQkFBaUI7OytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkF0QjFCLDRCQUE0QjtRQUM1QixvQkFBb0I7UUFDcEIsYUFBYSxhQUdiLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlLGFBR2YsNEJBQTRCO1FBQzVCLG9CQUFvQjtnSEFHWCxpQkFBaUIsWUFqQjFCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlOzRGQU9OLGlCQUFpQjtrQkF4QjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCw0QkFBNEI7d0JBQzVCLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBMaWNlbmNlc1JlcXVpcmVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzL2xpY2VuY2VzLXJlcXVpcmVtZW50L2xpY2VuY2VzLXJlcXVpcmVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdW1tYXJ5R3JpZENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9zdW1tYXJ5LWdyaWQvc3VtbWFyeS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdBcGV4Y2hhcnRzTW9kdWxlIH0gZnJvbSAnbmctYXBleGNoYXJ0cyc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBMaWNlbmNlc1JlcXVpcmVtZW50Q29tcG9uZW50LFxuICAgIFN1bW1hcnlHcmlkQ29tcG9uZW50LFxuICAgIENhcmRDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIE5nQXBleGNoYXJ0c01vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTGljZW5jZXNSZXF1aXJlbWVudENvbXBvbmVudCxcbiAgICBTdW1tYXJ5R3JpZENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENjUmVhZGluZXNzTW9kdWxlIHsgfVxuIl19
@@ -1,35 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { APIService } from '../shared/api.service';
3
- import { API } from '../shared/api.endpoints';
4
- import { map } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- export class CcReadinessService {
7
- constructor() {
8
- this.api = inject(APIService);
9
- }
10
- fetchUccxServerEntityStats(customerId) {
11
- return this.api.fetch(API.READINESS.UCCX_SERVER_ENTITY_STATS(customerId))
12
- .pipe(map((stats) => {
13
- stats.forEach(stat => {
14
- // @ts-ignore
15
- delete stat.counts.reasonCodes;
16
- });
17
- return stats;
18
- }));
19
- }
20
- fetchWebexLicenseUsageSummary(customerId) {
21
- return this.api.fetch(API.READINESS.LICENSE_USAGE_SUMMARY(customerId));
22
- }
23
- setToken(token) {
24
- this.api.token = token;
25
- }
26
- }
27
- CcReadinessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
- CcReadinessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessService, providedIn: 'root' });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessService, decorators: [{
30
- type: Injectable,
31
- args: [{
32
- providedIn: 'root'
33
- }]
34
- }], ctorParameters: function () { return []; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtcmVhZGluZXNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvY29udGFjdC1jZW50ZXIvY2MtcmVhZGluZXNzL2NjLXJlYWRpbmVzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUMsT0FBTyxFQUFjLEdBQUcsRUFBMEIsTUFBTSxNQUFNLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0I7UUFGaUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxQixDQUFDO0lBRWpCLDBCQUEwQixDQUFDLFVBQWtCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBOEIsRUFBRSxFQUFFO1lBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLGFBQWE7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxVQUFrQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7O2dIQXRCVSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBVY2N4U2VydmVyRW50aXR5U3RhdHMsIFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeSB9IGZyb20gJy4vdHlwZXMvY2MtcmVhZGluZXNzJztcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL3NoYXJlZC9hcGkuZW5kcG9pbnRzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDY1JlYWRpbmVzc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaSA9IGluamVjdChBUElTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGZldGNoVWNjeFNlcnZlckVudGl0eVN0YXRzKGN1c3RvbWVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8VWNjeFNlcnZlckVudGl0eVN0YXRzW10+IHtcbiAgICByZXR1cm4gdGhpcy5hcGkuZmV0Y2goQVBJLlJFQURJTkVTUy5VQ0NYX1NFUlZFUl9FTlRJVFlfU1RBVFMoY3VzdG9tZXJJZCkpXG4gICAgICAucGlwZShtYXAoKHN0YXRzOiBVY2N4U2VydmVyRW50aXR5U3RhdHNbXSkgPT4ge1xuICAgICAgICBzdGF0cy5mb3JFYWNoKHN0YXQgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBkZWxldGUgc3RhdC5jb3VudHMucmVhc29uQ29kZXM7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc3RhdHM7XG4gICAgICB9KSk7XG4gIH1cblxuICBmZXRjaFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeShjdXN0b21lcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpLmZldGNoKEFQSS5SRUFESU5FU1MuTElDRU5TRV9VU0FHRV9TVU1NQVJZKGN1c3RvbWVySWQpKTtcbiAgfVxuXG4gIHNldFRva2VuKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmFwaS50b2tlbiA9IHRva2VuO1xuICB9XG59Il19
@@ -1,13 +0,0 @@
1
- import { Component, Input } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class CardComponent {
4
- }
5
- CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, selector: "tk-card", inputs: { title: "title" }, ngImport: i0, template: "<article class=\"card\">\r\n <header class=\"card__header\">\r\n <h2>{{ title }}</h2>\r\n <!--<div class=\"card__menu-button\">\r\n <img width=\"18\" src=\"assets/icons/menu_icon.png\" alt=\"Menu Icon\">\r\n </div>-->\r\n </header>\r\n <div class=\"card__content\">\r\n <ng-content select=\"card-content\"></ng-content>\r\n </div>\r\n</article>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;height:100%;box-sizing:border-box}.card{font-family:Inter,Inter,sans-serif;background-color:#fff;border-radius:1rem;padding:2rem;border:1px solid hsla(0,0%,0%,.2);min-width:300px;max-width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;gap:2.5rem}.card__header{position:relative;display:flex;align-items:center;justify-content:space-between}.card__header h2{font-size:16px;margin:0}.card__header .card__menu-button{position:relative;display:flex;align-items:center}.card__content{display:flex;flex-direction:column;gap:2.5rem;flex-grow:1}\n"] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, decorators: [{
8
- type: Component,
9
- args: [{ selector: 'tk-card', template: "<article class=\"card\">\r\n <header class=\"card__header\">\r\n <h2>{{ title }}</h2>\r\n <!--<div class=\"card__menu-button\">\r\n <img width=\"18\" src=\"assets/icons/menu_icon.png\" alt=\"Menu Icon\">\r\n </div>-->\r\n </header>\r\n <div class=\"card__content\">\r\n <ng-content select=\"card-content\"></ng-content>\r\n </div>\r\n</article>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;height:100%;box-sizing:border-box}.card{font-family:Inter,Inter,sans-serif;background-color:#fff;border-radius:1rem;padding:2rem;border:1px solid hsla(0,0%,0%,.2);min-width:300px;max-width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;gap:2.5rem}.card__header{position:relative;display:flex;align-items:center;justify-content:space-between}.card__header h2{font-size:16px;margin:0}.card__header .card__menu-button{position:relative;display:flex;align-items:center}.card__content{display:flex;flex-direction:column;gap:2.5rem;flex-grow:1}\n"] }]
10
- }], propDecorators: { title: [{
11
- type: Input
12
- }] } });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvY29udGFjdC1jZW50ZXIvY2MtcmVhZGluZXNzL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3MvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT2pELE1BQU0sT0FBTyxhQUFhOzsyR0FBYixhQUFhOytGQUFiLGFBQWEsMkVDUDFCLGlaQVdBOzRGREphLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0ksU0FBUzs4QkFLVixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd0ay1jYXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NhcmQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSB0aXRsZSE6IHN0cmluZztcclxufSIsIjxhcnRpY2xlIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGhlYWRlciBjbGFzcz1cImNhcmRfX2hlYWRlclwiPlxyXG4gICAgICAgIDxoMj57eyB0aXRsZSB9fTwvaDI+XHJcbiAgICAgICAgPCEtLTxkaXYgY2xhc3M9XCJjYXJkX19tZW51LWJ1dHRvblwiPlxyXG4gICAgICAgICAgICA8aW1nIHdpZHRoPVwiMThcIiBzcmM9XCJhc3NldHMvaWNvbnMvbWVudV9pY29uLnBuZ1wiIGFsdD1cIk1lbnUgSWNvblwiPlxyXG4gICAgICAgIDwvZGl2Pi0tPlxyXG4gICAgPC9oZWFkZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZF9fY29udGVudFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNhcmQtY29udGVudFwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG48L2FydGljbGU+XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- ;
2
- ;
3
- ;
4
- export {};
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtcmVhZGluZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2NvbnRhY3QtY2VudGVyL2NjLXJlYWRpbmVzcy90eXBlcy9jYy1yZWFkaW5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JDLENBQUM7QUFPRCxDQUFDO0FBUUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVudGl0eVR5cGUgPVxyXG4gICAgfCAnYXBwbGljYXRpb25zJ1xyXG4gICAgfCAndHJpZ2dlcnMnXHJcbiAgICB8ICdjb250YWN0U2VydmljZVF1ZXVlcydcclxuICAgIHwgJ3Jlc291cmNlcydcclxuICAgIHwgJ3Jlc291cmNlR3JvdXBzJ1xyXG4gICAgfCAnc2tpbGxzJ1xyXG4gICAgfCAneG1sJ1xyXG4gICAgfCAnc2NyaXB0cydcclxuICAgIHwgJ2F1ZGlvUHJvbXB0cydcclxuICAgIHwgJ3RlYW1zJ1xyXG4gICAgLy8gfCAncmVhc29uQ29kZXMnXHJcbiAgICB8ICdwaG9uZWJvb2tzJ1xyXG4gICAgfCAnd3JhcFVwQ29kZXMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVY2N4U2VydmVyRW50aXR5U3RhdHMge1xyXG4gICAgdWNjeElwOiBzdHJpbmc7XHJcbiAgICBjb3VudHM6IHsgW2tleSBpbiBFbnRpdHlUeXBlXTogbnVtYmVyIH1cclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV2ViZXhMaWNlbnNlRmVhdHVyZVVzYWdlIHtcclxuICAgIGZlYXR1cmU6ICdQRVJTT04nIHwgJ09SUEhBTkVEX0RFVklDRScsXHJcbiAgICB0b3RhbENvdW50OiBudW1iZXIsXHJcbiAgICB1c2FnZUNvdW50OiBudW1iZXIsXHJcbiAgICB1blVzZWRDb3VudDogbnVtYmVyXHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeSB7XHJcbiAgICB3ZWJleFJlYWRpbmVzc0xpY2Vuc2VTdGF0czogV2ViZXhMaWNlbnNlRmVhdHVyZVVzYWdlW10sXHJcbiAgICB0b3RhbFByb2Zlc3Npb25hbExpY2Vuc2VDb3VudDogbnVtYmVyLFxyXG4gICAgdG90YWxXb3Jrc3BhY2VQcm9mZXNzaW9uYWxMaWNlbnNlQ291bnQ6IG51bWJlcixcclxuICAgIHByb2Zlc3Npb25hbFdlYmV4UmVhZGluZXNzVG90YWxMaWNlbnNlU3RhdENvdmVyYWdlOiBudW1iZXIsXHJcbiAgICB3b3Jrc3BhY2VXZWJleFJlYWRpbmVzc1RvdGFsTGljZW5zZVN0YXRDb3ZlcmFnZTogbnVtYmVyXHJcbn07Il19
@@ -1,187 +0,0 @@
1
- import { Component, Input, inject } from '@angular/core';
2
- import { catchError, finalize, of } from 'rxjs';
3
- import { CcReadinessService } from '../../cc-readiness.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "ng-apexcharts";
7
- import * as i3 from "@angular/material/select";
8
- import * as i4 from "@angular/material/core";
9
- import * as i5 from "../../components/card/card.component";
10
- const LEGEND_COLORS = {
11
- existing: '#16A693',
12
- missing: '#808080'
13
- };
14
- export class LicencesRequirementComponent {
15
- constructor() {
16
- this.ccReadinessService = inject(CcReadinessService);
17
- this.viewModel = null;
18
- this.loading = false;
19
- this.error = false;
20
- this.filters = ['All', 'Professional licenses', 'Workspace licenses'];
21
- this.selectedSummaryIndex = 0;
22
- this.summary = null;
23
- }
24
- ngOnInit() {
25
- this.loadSummaries();
26
- }
27
- ngOnDestroy() {
28
- this.subscription?.unsubscribe();
29
- }
30
- ngOnChanges(changes) {
31
- if ((changes['customerId'] && !changes['customerId'].firstChange) ||
32
- (changes['token'] && !changes['token'].firstChange)) {
33
- this.loadSummaries();
34
- }
35
- }
36
- onFilterChange(index) {
37
- if (!isNaN(index) && index >= 0 && index < this.filters.length) {
38
- this.selectFilter(index);
39
- }
40
- }
41
- loadSummaries() {
42
- const numericCustomerId = Number(this.customerId);
43
- if (!numericCustomerId || !this.token) {
44
- return;
45
- }
46
- this.subscription?.unsubscribe();
47
- this.loading = true;
48
- this.error = false;
49
- this.viewModel = null;
50
- this.selectedSummaryIndex = 0;
51
- this.ccReadinessService.setToken(this.token);
52
- this.subscription = this.ccReadinessService.fetchWebexLicenseUsageSummary(numericCustomerId)
53
- .pipe(catchError(error => {
54
- console.error('Unable to load Webex license usage summary', error);
55
- this.error = true;
56
- return of([]);
57
- }), finalize(() => this.loading = false))
58
- .subscribe(items => {
59
- console.log('Raw API response:', items);
60
- // Handle both array and single object responses
61
- if (Array.isArray(items) && items.length > 0) {
62
- this.summary = items[0];
63
- }
64
- else if (items && typeof items === 'object' && !Array.isArray(items)) {
65
- // If single object returned, use it directly
66
- this.summary = items;
67
- }
68
- else {
69
- this.summary = null;
70
- }
71
- console.log('Processed summary:', this.summary);
72
- this.selectFilter(0);
73
- });
74
- }
75
- selectFilter(index) {
76
- this.selectedSummaryIndex = index;
77
- if (!this.summary) {
78
- this.viewModel = null;
79
- return;
80
- }
81
- this.viewModel = this.mapSummaryToViewModel(this.summary, index);
82
- console.log('Created viewModel for filter index', index, ':', this.viewModel);
83
- }
84
- mapSummaryToViewModel(summary, filterIndex) {
85
- console.log('Mapping summary to viewModel:', summary, 'filterIndex:', filterIndex);
86
- // Extract data from webexReadinessLicenseStats and license counts
87
- const personStat = summary.webexReadinessLicenseStats?.find(stat => stat.feature === 'PERSON');
88
- const deviceStat = summary.webexReadinessLicenseStats?.find(stat => stat.feature === 'ORPHANED_DEVICE');
89
- const professionalNeeded = personStat?.totalCount ?? 0;
90
- const workspaceNeeded = deviceStat?.totalCount ?? 0;
91
- const professionalOwned = Number(summary.totalProfessionalLicenseCount ?? 0);
92
- const workspaceOwned = Number(summary.totalWorkspaceProfessionalLicenseCount ?? 0);
93
- // Filter data based on selection
94
- let existingCount;
95
- let missingCount;
96
- let rows;
97
- if (filterIndex === 0) {
98
- // All - show both
99
- existingCount = professionalOwned + workspaceOwned;
100
- const totalNeeded = professionalNeeded + workspaceNeeded;
101
- missingCount = Math.max(0, totalNeeded - existingCount);
102
- rows = [
103
- { label: 'Professional licenses', value: professionalNeeded },
104
- { label: 'Workspace licenses', value: workspaceNeeded }
105
- ];
106
- }
107
- else if (filterIndex === 1) {
108
- // Professional licenses only
109
- existingCount = professionalOwned;
110
- missingCount = Math.max(0, professionalNeeded - professionalOwned);
111
- rows = [{ label: 'Professional licenses', value: professionalNeeded }];
112
- }
113
- else {
114
- // Workspace licenses only
115
- existingCount = workspaceOwned;
116
- missingCount = Math.max(0, workspaceNeeded - workspaceOwned);
117
- rows = [{ label: 'Workspace licenses', value: workspaceNeeded }];
118
- }
119
- const totalLicenses = existingCount + missingCount;
120
- const legendItems = [
121
- {
122
- label: 'Existing licenses',
123
- count: existingCount,
124
- percentage: totalLicenses > 0 ? (existingCount / totalLicenses) * 100 : 0,
125
- color: LEGEND_COLORS.existing
126
- },
127
- {
128
- label: 'Missing licenses',
129
- count: missingCount,
130
- percentage: totalLicenses > 0 ? (missingCount / totalLicenses) * 100 : 0,
131
- color: LEGEND_COLORS.missing
132
- }
133
- ];
134
- console.log('Legend items:', legendItems);
135
- console.log('Table rows:', rows);
136
- const totalRequired = rows.reduce((acc, row) => acc + row.value, 0);
137
- return {
138
- chartOptions: this.buildChartOptions(legendItems),
139
- legendItems,
140
- rows,
141
- totalRequired
142
- };
143
- }
144
- buildChartOptions(legendItems) {
145
- return {
146
- series: legendItems.map(item => item.count),
147
- chart: {
148
- type: 'donut',
149
- height: 220
150
- },
151
- labels: legendItems.map(item => item.label),
152
- colors: legendItems.map(item => item.color),
153
- legend: {
154
- show: false
155
- },
156
- plotOptions: {
157
- pie: {
158
- donut: {
159
- size: '75%'
160
- }
161
- }
162
- },
163
- dataLabels: {
164
- enabled: false
165
- }
166
- };
167
- }
168
- normalizePercentage(value) {
169
- if (!isFinite(value)) {
170
- return 0;
171
- }
172
- // Convert decimal to percentage (0.9487 → 94.9)
173
- const percentage = value * 100;
174
- return Math.round(percentage * 10) / 10;
175
- }
176
- }
177
- LicencesRequirementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LicencesRequirementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
178
- LicencesRequirementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: LicencesRequirementComponent, selector: "cc-licenses-requirement", inputs: { customerId: "customerId", token: "token" }, usesOnChanges: true, ngImport: i0, template: "<tk-card title=\"Licenses requirement\">\n <ng-container ngProjectAs=\"card-content\">\n <div\n class=\"widget-body\"\n *ngIf=\"!loading && !error && viewModel; else widgetState\"\n >\n <div class=\"left-section\">\n <mat-select\n [(value)]=\"selectedSummaryIndex\"\n (selectionChange)=\"onFilterChange($event.value)\"\n class=\"filter-select\"\n >\n <mat-option *ngFor=\"let option of filters; index as i\" [value]=\"i\">\n {{ option }}\n </mat-option>\n </mat-select>\n\n <div class=\"chart-section\">\n <div class=\"chart-wrapper\">\n <apx-chart\n [series]=\"viewModel.chartOptions.series\"\n [chart]=\"viewModel.chartOptions.chart\"\n [labels]=\"viewModel.chartOptions.labels\"\n [colors]=\"viewModel.chartOptions.colors\"\n [legend]=\"viewModel.chartOptions.legend\"\n [plotOptions]=\"viewModel.chartOptions.plotOptions\"\n [dataLabels]=\"viewModel.chartOptions.dataLabels\"\n >\n </apx-chart>\n </div>\n <div class=\"legend\">\n <div class=\"legend-item\" *ngFor=\"let item of viewModel.legendItems\">\n <span\n class=\"legend-marker\"\n [style.backgroundColor]=\"item.color\"\n ></span>\n <span class=\"legend-label\">{{ item.label }}</span>\n <span class=\"legend-value\">{{ item.count | number }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"divider\" aria-hidden=\"true\"></div>\n\n <div class=\"table-section\">\n <div class=\"lic-table-header\">\n <span>License</span>\n <span>Required</span>\n </div>\n <div class=\"table-row\" *ngFor=\"let row of viewModel.rows\">\n <span>{{ row.label }}</span>\n <span>{{ row.value | number }}</span>\n </div>\n <div class=\"table-row total-row\">\n <span>Total</span>\n <span>{{ viewModel.totalRequired | number }}</span>\n </div>\n </div>\n </div>\n\n <ng-template #widgetState>\n <div class=\"state-message\" *ngIf=\"loading\">\n Loading license requirements\u2026\n </div>\n <div class=\"state-message error\" *ngIf=\"!loading && error\">\n Unable to load license requirements.\n </div>\n <div class=\"state-message\" *ngIf=\"!loading && !error && !viewModel\">\n No license data available.\n </div>\n </ng-template>\n </ng-container>\n</tk-card>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;width:100%;box-sizing:border-box}.filter-select{font-family:Inter,Inter,sans-serif;font-size:14px;min-width:140px;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem .75rem;background-color:#fff}.filter-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select{border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff}:host ::ng-deep .filter-select.mat-mdc-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select.mat-focused{border-color:#16a693}:host ::ng-deep .filter-select .mat-mdc-select-trigger{font-size:14px;padding:.5rem .75rem}:host ::ng-deep .filter-select .mat-mdc-select-value{color:#111827}:host ::ng-deep .filter-select .mat-mdc-select-arrow-wrapper{padding-left:.5rem}.widget-body{display:flex;gap:2.5rem;align-items:flex-start}.left-section{flex:2;display:flex;flex-direction:column;gap:1rem}.chart-section{display:flex;gap:1.5rem;align-items:center}.chart-wrapper{width:220px;min-height:220px;flex-shrink:0}.chart-wrapper apx-chart{width:220px!important;height:220px!important}.legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-family:Inter,Inter,sans-serif;font-size:14px}.legend-marker{width:14px;height:14px;border-radius:50%;display:inline-flex}.legend-label{color:#4b5563}.legend-value{margin-left:auto;font-weight:600;color:#111827}.divider{width:1px;min-height:200px;align-self:stretch;background:#e5e7eb}.table-section{flex:3;display:flex;flex-direction:column;gap:.75rem;font-family:Inter,Inter,sans-serif}.lic-table-header,.table-row{display:flex;justify-content:space-between;font-size:14px}.lic-table-header{font-weight:600;color:#6b7280;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.table-row{color:#111827}.total-row{font-weight:700;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.state-message{font-family:Inter,Inter,sans-serif;font-size:14px;color:#6b7280}.state-message.error{color:#b91c1c}@media (max-width: 960px){.widget-body{flex-direction:column}.divider{display:none}.chart-section{justify-content:space-between}}:host ::ng-deep .apexcharts-legend{display:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.CardComponent, selector: "tk-card", inputs: ["title"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] });
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LicencesRequirementComponent, decorators: [{
180
- type: Component,
181
- args: [{ selector: 'cc-licenses-requirement', template: "<tk-card title=\"Licenses requirement\">\n <ng-container ngProjectAs=\"card-content\">\n <div\n class=\"widget-body\"\n *ngIf=\"!loading && !error && viewModel; else widgetState\"\n >\n <div class=\"left-section\">\n <mat-select\n [(value)]=\"selectedSummaryIndex\"\n (selectionChange)=\"onFilterChange($event.value)\"\n class=\"filter-select\"\n >\n <mat-option *ngFor=\"let option of filters; index as i\" [value]=\"i\">\n {{ option }}\n </mat-option>\n </mat-select>\n\n <div class=\"chart-section\">\n <div class=\"chart-wrapper\">\n <apx-chart\n [series]=\"viewModel.chartOptions.series\"\n [chart]=\"viewModel.chartOptions.chart\"\n [labels]=\"viewModel.chartOptions.labels\"\n [colors]=\"viewModel.chartOptions.colors\"\n [legend]=\"viewModel.chartOptions.legend\"\n [plotOptions]=\"viewModel.chartOptions.plotOptions\"\n [dataLabels]=\"viewModel.chartOptions.dataLabels\"\n >\n </apx-chart>\n </div>\n <div class=\"legend\">\n <div class=\"legend-item\" *ngFor=\"let item of viewModel.legendItems\">\n <span\n class=\"legend-marker\"\n [style.backgroundColor]=\"item.color\"\n ></span>\n <span class=\"legend-label\">{{ item.label }}</span>\n <span class=\"legend-value\">{{ item.count | number }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"divider\" aria-hidden=\"true\"></div>\n\n <div class=\"table-section\">\n <div class=\"lic-table-header\">\n <span>License</span>\n <span>Required</span>\n </div>\n <div class=\"table-row\" *ngFor=\"let row of viewModel.rows\">\n <span>{{ row.label }}</span>\n <span>{{ row.value | number }}</span>\n </div>\n <div class=\"table-row total-row\">\n <span>Total</span>\n <span>{{ viewModel.totalRequired | number }}</span>\n </div>\n </div>\n </div>\n\n <ng-template #widgetState>\n <div class=\"state-message\" *ngIf=\"loading\">\n Loading license requirements\u2026\n </div>\n <div class=\"state-message error\" *ngIf=\"!loading && error\">\n Unable to load license requirements.\n </div>\n <div class=\"state-message\" *ngIf=\"!loading && !error && !viewModel\">\n No license data available.\n </div>\n </ng-template>\n </ng-container>\n</tk-card>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;width:100%;box-sizing:border-box}.filter-select{font-family:Inter,Inter,sans-serif;font-size:14px;min-width:140px;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem .75rem;background-color:#fff}.filter-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select{border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff}:host ::ng-deep .filter-select.mat-mdc-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select.mat-focused{border-color:#16a693}:host ::ng-deep .filter-select .mat-mdc-select-trigger{font-size:14px;padding:.5rem .75rem}:host ::ng-deep .filter-select .mat-mdc-select-value{color:#111827}:host ::ng-deep .filter-select .mat-mdc-select-arrow-wrapper{padding-left:.5rem}.widget-body{display:flex;gap:2.5rem;align-items:flex-start}.left-section{flex:2;display:flex;flex-direction:column;gap:1rem}.chart-section{display:flex;gap:1.5rem;align-items:center}.chart-wrapper{width:220px;min-height:220px;flex-shrink:0}.chart-wrapper apx-chart{width:220px!important;height:220px!important}.legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-family:Inter,Inter,sans-serif;font-size:14px}.legend-marker{width:14px;height:14px;border-radius:50%;display:inline-flex}.legend-label{color:#4b5563}.legend-value{margin-left:auto;font-weight:600;color:#111827}.divider{width:1px;min-height:200px;align-self:stretch;background:#e5e7eb}.table-section{flex:3;display:flex;flex-direction:column;gap:.75rem;font-family:Inter,Inter,sans-serif}.lic-table-header,.table-row{display:flex;justify-content:space-between;font-size:14px}.lic-table-header{font-weight:600;color:#6b7280;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.table-row{color:#111827}.total-row{font-weight:700;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.state-message{font-family:Inter,Inter,sans-serif;font-size:14px;color:#6b7280}.state-message.error{color:#b91c1c}@media (max-width: 960px){.widget-body{flex-direction:column}.divider{display:none}.chart-section{justify-content:space-between}}:host ::ng-deep .apexcharts-legend{display:none!important}\n"] }]
182
- }], propDecorators: { customerId: [{
183
- type: Input
184
- }], token: [{
185
- type: Input
186
- }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5jZXMtcmVxdWlyZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2NvbnRhY3QtY2VudGVyL2NjLXJlYWRpbmVzcy93aWRnZXRzL2xpY2VuY2VzLXJlcXVpcmVtZW50L2xpY2VuY2VzLXJlcXVpcmVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9saWNlbmNlcy1yZXF1aXJlbWVudC9saWNlbmNlcy1yZXF1aXJlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0MsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFnQ2hFLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFPRixNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBU21CLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBR2pFLGNBQVMsR0FBdUMsSUFBSSxDQUFDO1FBQ3JELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLFlBQU8sR0FBYSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNFLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUVqQixZQUFPLEdBQW9DLElBQUksQ0FB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RCxNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzNDLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLEdBQUcsRUFBRTtvQkFDSCxLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLEtBQUs7cUJBQ1o7aUJBQ0Y7YUFDRjtZQUNELFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsS0FBSzthQUNmO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELGdEQUFnRDtRQUNoRCxNQUFNLFVBQVUsR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFDLENBQUM7OzBIQTlMVSw0QkFBNEI7OEdBQTVCLDRCQUE0QiwwSUM3Q3pDLGduRkEwRUE7NEZEN0JhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBSzFCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcGV4Q2hhcnQsIEFwZXhEYXRhTGFiZWxzLCBBcGV4TGVnZW5kLCBBcGV4Tm9uQXhpc0NoYXJ0U2VyaWVzLCBBcGV4UGxvdE9wdGlvbnMgfSBmcm9tICduZy1hcGV4Y2hhcnRzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDY1JlYWRpbmVzc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYy1yZWFkaW5lc3Muc2VydmljZSc7XG5pbXBvcnQgeyBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnkgfSBmcm9tICcuLi8uLi90eXBlcy9jYy1yZWFkaW5lc3MnO1xuXG5pbnRlcmZhY2UgTGljZW5zZUxlZ2VuZEl0ZW0ge1xuICBsYWJlbDogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xuICBwZXJjZW50YWdlOiBudW1iZXI7XG4gIGNvbG9yOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBMaWNlbnNlVGFibGVSb3cge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgTGljZW5zZUNoYXJ0T3B0aW9ucyB7XG4gIHNlcmllczogQXBleE5vbkF4aXNDaGFydFNlcmllcztcbiAgY2hhcnQ6IEFwZXhDaGFydDtcbiAgbGFiZWxzOiBzdHJpbmdbXTtcbiAgY29sb3JzOiBzdHJpbmdbXTtcbiAgbGVnZW5kOiBBcGV4TGVnZW5kO1xuICBwbG90T3B0aW9uczogQXBleFBsb3RPcHRpb25zO1xuICBkYXRhTGFiZWxzOiBBcGV4RGF0YUxhYmVscztcbn1cblxuaW50ZXJmYWNlIExpY2Vuc2VSZXF1aXJlbWVudFZpZXdNb2RlbCB7XG4gIGNoYXJ0T3B0aW9uczogTGljZW5zZUNoYXJ0T3B0aW9ucztcbiAgbGVnZW5kSXRlbXM6IExpY2Vuc2VMZWdlbmRJdGVtW107XG4gIHJvd3M6IExpY2Vuc2VUYWJsZVJvd1tdO1xuICB0b3RhbFJlcXVpcmVkOiBudW1iZXI7XG59XG5cbmNvbnN0IExFR0VORF9DT0xPUlMgPSB7XG4gIGV4aXN0aW5nOiAnIzE2QTY5MycsXG4gIG1pc3Npbmc6ICcjODA4MDgwJ1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2MtbGljZW5zZXMtcmVxdWlyZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGljZW5jZXMtcmVxdWlyZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWNlbmNlcy1yZXF1aXJlbWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpY2VuY2VzUmVxdWlyZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY3VzdG9tZXJJZCE6IG51bWJlcjtcbiAgQElucHV0KCkgdG9rZW4hOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjY1JlYWRpbmVzc1NlcnZpY2UgPSBpbmplY3QoQ2NSZWFkaW5lc3NTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgdmlld01vZGVsOiBMaWNlbnNlUmVxdWlyZW1lbnRWaWV3TW9kZWwgfCBudWxsID0gbnVsbDtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBlcnJvciA9IGZhbHNlO1xuXG4gIGZpbHRlcnM6IHN0cmluZ1tdID0gWydBbGwnLCAnUHJvZmVzc2lvbmFsIGxpY2Vuc2VzJywgJ1dvcmtzcGFjZSBsaWNlbnNlcyddO1xuICBzZWxlY3RlZFN1bW1hcnlJbmRleCA9IDA7XG5cbiAgcHJpdmF0ZSBzdW1tYXJ5OiBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnkgfCBudWxsID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRTdW1tYXJpZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICgoY2hhbmdlc1snY3VzdG9tZXJJZCddICYmICFjaGFuZ2VzWydjdXN0b21lcklkJ10uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlc1sndG9rZW4nXSAmJiAhY2hhbmdlc1sndG9rZW4nXS5maXJzdENoYW5nZSkpIHtcbiAgICAgIHRoaXMubG9hZFN1bW1hcmllcygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmlsdGVyQ2hhbmdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIWlzTmFOKGluZGV4KSAmJiBpbmRleCA+PSAwICYmIGluZGV4IDwgdGhpcy5maWx0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZFN1bW1hcmllcygpOiB2b2lkIHtcbiAgICBjb25zdCBudW1lcmljQ3VzdG9tZXJJZCA9IE51bWJlcih0aGlzLmN1c3RvbWVySWQpO1xuICAgIGlmICghbnVtZXJpY0N1c3RvbWVySWQgfHwgIXRoaXMudG9rZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZpZXdNb2RlbCA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RlZFN1bW1hcnlJbmRleCA9IDA7XG5cbiAgICB0aGlzLmNjUmVhZGluZXNzU2VydmljZS5zZXRUb2tlbih0aGlzLnRva2VuKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY2NSZWFkaW5lc3NTZXJ2aWNlLmZldGNoV2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5KG51bWVyaWNDdXN0b21lcklkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1VuYWJsZSB0byBsb2FkIFdlYmV4IGxpY2Vuc2UgdXNhZ2Ugc3VtbWFyeScsIGVycm9yKTtcbiAgICAgICAgICB0aGlzLmVycm9yID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gb2Y8V2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5W10+KFtdKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZyA9IGZhbHNlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdSYXcgQVBJIHJlc3BvbnNlOicsIGl0ZW1zKTtcbiAgICAgICAgLy8gSGFuZGxlIGJvdGggYXJyYXkgYW5kIHNpbmdsZSBvYmplY3QgcmVzcG9uc2VzXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1zKSAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5zdW1tYXJ5ID0gaXRlbXNbMF07XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbXMgJiYgdHlwZW9mIGl0ZW1zID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtcykpIHtcbiAgICAgICAgICAvLyBJZiBzaW5nbGUgb2JqZWN0IHJldHVybmVkLCB1c2UgaXQgZGlyZWN0bHlcbiAgICAgICAgICB0aGlzLnN1bW1hcnkgPSBpdGVtcyBhcyB1bmtub3duIGFzIFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnN1bW1hcnkgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBzdW1tYXJ5OicsIHRoaXMuc3VtbWFyeSk7XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyKDApO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEZpbHRlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFN1bW1hcnlJbmRleCA9IGluZGV4O1xuICAgIGlmICghdGhpcy5zdW1tYXJ5KSB7XG4gICAgICB0aGlzLnZpZXdNb2RlbCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmlld01vZGVsID0gdGhpcy5tYXBTdW1tYXJ5VG9WaWV3TW9kZWwodGhpcy5zdW1tYXJ5LCBpbmRleCk7XG4gICAgY29uc29sZS5sb2coJ0NyZWF0ZWQgdmlld01vZGVsIGZvciBmaWx0ZXIgaW5kZXgnLCBpbmRleCwgJzonLCB0aGlzLnZpZXdNb2RlbCk7XG4gIH1cblxuICBwcml2YXRlIG1hcFN1bW1hcnlUb1ZpZXdNb2RlbChzdW1tYXJ5OiBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnksIGZpbHRlckluZGV4OiBudW1iZXIpOiBMaWNlbnNlUmVxdWlyZW1lbnRWaWV3TW9kZWwge1xuICAgIGNvbnNvbGUubG9nKCdNYXBwaW5nIHN1bW1hcnkgdG8gdmlld01vZGVsOicsIHN1bW1hcnksICdmaWx0ZXJJbmRleDonLCBmaWx0ZXJJbmRleCk7XG5cbiAgICAvLyBFeHRyYWN0IGRhdGEgZnJvbSB3ZWJleFJlYWRpbmVzc0xpY2Vuc2VTdGF0cyBhbmQgbGljZW5zZSBjb3VudHNcbiAgICBjb25zdCBwZXJzb25TdGF0ID0gc3VtbWFyeS53ZWJleFJlYWRpbmVzc0xpY2Vuc2VTdGF0cz8uZmluZChzdGF0ID0+IHN0YXQuZmVhdHVyZSA9PT0gJ1BFUlNPTicpO1xuICAgIGNvbnN0IGRldmljZVN0YXQgPSBzdW1tYXJ5LndlYmV4UmVhZGluZXNzTGljZW5zZVN0YXRzPy5maW5kKHN0YXQgPT4gc3RhdC5mZWF0dXJlID09PSAnT1JQSEFORURfREVWSUNFJyk7XG5cbiAgICBjb25zdCBwcm9mZXNzaW9uYWxOZWVkZWQgPSBwZXJzb25TdGF0Py50b3RhbENvdW50ID8/IDA7XG4gICAgY29uc3Qgd29ya3NwYWNlTmVlZGVkID0gZGV2aWNlU3RhdD8udG90YWxDb3VudCA/PyAwO1xuXG4gICAgY29uc3QgcHJvZmVzc2lvbmFsT3duZWQgPSBOdW1iZXIoc3VtbWFyeS50b3RhbFByb2Zlc3Npb25hbExpY2Vuc2VDb3VudCA/PyAwKTtcbiAgICBjb25zdCB3b3Jrc3BhY2VPd25lZCA9IE51bWJlcihzdW1tYXJ5LnRvdGFsV29ya3NwYWNlUHJvZmVzc2lvbmFsTGljZW5zZUNvdW50ID8/IDApO1xuXG4gICAgLy8gRmlsdGVyIGRhdGEgYmFzZWQgb24gc2VsZWN0aW9uXG4gICAgbGV0IGV4aXN0aW5nQ291bnQ6IG51bWJlcjtcbiAgICBsZXQgbWlzc2luZ0NvdW50OiBudW1iZXI7XG4gICAgbGV0IHJvd3M6IExpY2Vuc2VUYWJsZVJvd1tdO1xuXG4gICAgaWYgKGZpbHRlckluZGV4ID09PSAwKSB7XG4gICAgICAvLyBBbGwgLSBzaG93IGJvdGhcbiAgICAgIGV4aXN0aW5nQ291bnQgPSBwcm9mZXNzaW9uYWxPd25lZCArIHdvcmtzcGFjZU93bmVkO1xuICAgICAgY29uc3QgdG90YWxOZWVkZWQgPSBwcm9mZXNzaW9uYWxOZWVkZWQgKyB3b3Jrc3BhY2VOZWVkZWQ7XG4gICAgICBtaXNzaW5nQ291bnQgPSBNYXRoLm1heCgwLCB0b3RhbE5lZWRlZCAtIGV4aXN0aW5nQ291bnQpO1xuXG4gICAgICByb3dzID0gW1xuICAgICAgICB7IGxhYmVsOiAnUHJvZmVzc2lvbmFsIGxpY2Vuc2VzJywgdmFsdWU6IHByb2Zlc3Npb25hbE5lZWRlZCB9LFxuICAgICAgICB7IGxhYmVsOiAnV29ya3NwYWNlIGxpY2Vuc2VzJywgdmFsdWU6IHdvcmtzcGFjZU5lZWRlZCB9XG4gICAgICBdO1xuICAgIH0gZWxzZSBpZiAoZmlsdGVySW5kZXggPT09IDEpIHtcbiAgICAgIC8vIFByb2Zlc3Npb25hbCBsaWNlbnNlcyBvbmx5XG4gICAgICBleGlzdGluZ0NvdW50ID0gcHJvZmVzc2lvbmFsT3duZWQ7XG4gICAgICBtaXNzaW5nQ291bnQgPSBNYXRoLm1heCgwLCBwcm9mZXNzaW9uYWxOZWVkZWQgLSBwcm9mZXNzaW9uYWxPd25lZCk7XG5cbiAgICAgIHJvd3MgPSBbeyBsYWJlbDogJ1Byb2Zlc3Npb25hbCBsaWNlbnNlcycsIHZhbHVlOiBwcm9mZXNzaW9uYWxOZWVkZWQgfV07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdvcmtzcGFjZSBsaWNlbnNlcyBvbmx5XG4gICAgICBleGlzdGluZ0NvdW50ID0gd29ya3NwYWNlT3duZWQ7XG4gICAgICBtaXNzaW5nQ291bnQgPSBNYXRoLm1heCgwLCB3b3Jrc3BhY2VOZWVkZWQgLSB3b3Jrc3BhY2VPd25lZCk7XG5cbiAgICAgIHJvd3MgPSBbeyBsYWJlbDogJ1dvcmtzcGFjZSBsaWNlbnNlcycsIHZhbHVlOiB3b3Jrc3BhY2VOZWVkZWQgfV07XG4gICAgfVxuXG4gICAgY29uc3QgdG90YWxMaWNlbnNlcyA9IGV4aXN0aW5nQ291bnQgKyBtaXNzaW5nQ291bnQ7XG5cbiAgICBjb25zdCBsZWdlbmRJdGVtczogTGljZW5zZUxlZ2VuZEl0ZW1bXSA9IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdFeGlzdGluZyBsaWNlbnNlcycsXG4gICAgICAgIGNvdW50OiBleGlzdGluZ0NvdW50LFxuICAgICAgICBwZXJjZW50YWdlOiB0b3RhbExpY2Vuc2VzID4gMCA/IChleGlzdGluZ0NvdW50IC8gdG90YWxMaWNlbnNlcykgKiAxMDAgOiAwLFxuICAgICAgICBjb2xvcjogTEVHRU5EX0NPTE9SUy5leGlzdGluZ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdNaXNzaW5nIGxpY2Vuc2VzJyxcbiAgICAgICAgY291bnQ6IG1pc3NpbmdDb3VudCxcbiAgICAgICAgcGVyY2VudGFnZTogdG90YWxMaWNlbnNlcyA+IDAgPyAobWlzc2luZ0NvdW50IC8gdG90YWxMaWNlbnNlcykgKiAxMDAgOiAwLFxuICAgICAgICBjb2xvcjogTEVHRU5EX0NPTE9SUy5taXNzaW5nXG4gICAgICB9XG4gICAgXTtcblxuICAgIGNvbnNvbGUubG9nKCdMZWdlbmQgaXRlbXM6JywgbGVnZW5kSXRlbXMpO1xuICAgIGNvbnNvbGUubG9nKCdUYWJsZSByb3dzOicsIHJvd3MpO1xuXG4gICAgY29uc3QgdG90YWxSZXF1aXJlZCA9IHJvd3MucmVkdWNlKChhY2MsIHJvdykgPT4gYWNjICsgcm93LnZhbHVlLCAwKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjaGFydE9wdGlvbnM6IHRoaXMuYnVpbGRDaGFydE9wdGlvbnMobGVnZW5kSXRlbXMpLFxuICAgICAgbGVnZW5kSXRlbXMsXG4gICAgICByb3dzLFxuICAgICAgdG90YWxSZXF1aXJlZFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ2hhcnRPcHRpb25zKGxlZ2VuZEl0ZW1zOiBMaWNlbnNlTGVnZW5kSXRlbVtdKTogTGljZW5zZUNoYXJ0T3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlcmllczogbGVnZW5kSXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5jb3VudCksXG4gICAgICBjaGFydDoge1xuICAgICAgICB0eXBlOiAnZG9udXQnLFxuICAgICAgICBoZWlnaHQ6IDIyMFxuICAgICAgfSxcbiAgICAgIGxhYmVsczogbGVnZW5kSXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5sYWJlbCksXG4gICAgICBjb2xvcnM6IGxlZ2VuZEl0ZW1zLm1hcChpdGVtID0+IGl0ZW0uY29sb3IpLFxuICAgICAgbGVnZW5kOiB7XG4gICAgICAgIHNob3c6IGZhbHNlXG4gICAgICB9LFxuICAgICAgcGxvdE9wdGlvbnM6IHtcbiAgICAgICAgcGllOiB7XG4gICAgICAgICAgZG9udXQ6IHtcbiAgICAgICAgICAgIHNpemU6ICc3NSUnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZGF0YUxhYmVsczoge1xuICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVBlcmNlbnRhZ2UodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKCFpc0Zpbml0ZSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICAvLyBDb252ZXJ0IGRlY2ltYWwgdG8gcGVyY2VudGFnZSAoMC45NDg3IOKGkiA5NC45KVxuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSB2YWx1ZSAqIDEwMDtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChwZXJjZW50YWdlICogMTApIC8gMTA7XG4gIH1cbn1cbiIsIjx0ay1jYXJkIHRpdGxlPVwiTGljZW5zZXMgcmVxdWlyZW1lbnRcIj5cbiAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cImNhcmQtY29udGVudFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwid2lkZ2V0LWJvZHlcIlxuICAgICAgKm5nSWY9XCIhbG9hZGluZyAmJiAhZXJyb3IgJiYgdmlld01vZGVsOyBlbHNlIHdpZGdldFN0YXRlXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zZWN0aW9uXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgWyh2YWx1ZSldPVwic2VsZWN0ZWRTdW1tYXJ5SW5kZXhcIlxuICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgICAgY2xhc3M9XCJmaWx0ZXItc2VsZWN0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyczsgaW5kZXggYXMgaVwiIFt2YWx1ZV09XCJpXCI+XG4gICAgICAgICAgICB7eyBvcHRpb24gfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtc2VjdGlvblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC13cmFwcGVyXCI+XG4gICAgICAgICAgICA8YXB4LWNoYXJ0XG4gICAgICAgICAgICAgIFtzZXJpZXNdPVwidmlld01vZGVsLmNoYXJ0T3B0aW9ucy5zZXJpZXNcIlxuICAgICAgICAgICAgICBbY2hhcnRdPVwidmlld01vZGVsLmNoYXJ0T3B0aW9ucy5jaGFydFwiXG4gICAgICAgICAgICAgIFtsYWJlbHNdPVwidmlld01vZGVsLmNoYXJ0T3B0aW9ucy5sYWJlbHNcIlxuICAgICAgICAgICAgICBbY29sb3JzXT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMuY29sb3JzXCJcbiAgICAgICAgICAgICAgW2xlZ2VuZF09XCJ2aWV3TW9kZWwuY2hhcnRPcHRpb25zLmxlZ2VuZFwiXG4gICAgICAgICAgICAgIFtwbG90T3B0aW9uc109XCJ2aWV3TW9kZWwuY2hhcnRPcHRpb25zLnBsb3RPcHRpb25zXCJcbiAgICAgICAgICAgICAgW2RhdGFMYWJlbHNdPVwidmlld01vZGVsLmNoYXJ0T3B0aW9ucy5kYXRhTGFiZWxzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXB4LWNoYXJ0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmQtaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZpZXdNb2RlbC5sZWdlbmRJdGVtc1wiPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibGVnZW5kLW1hcmtlclwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJpdGVtLmNvbG9yXCJcbiAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtbGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC12YWx1ZVwiPnt7IGl0ZW0uY291bnQgfCBudW1iZXIgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXNlY3Rpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxpYy10YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICA8c3Bhbj5MaWNlbnNlPC9zcGFuPlxuICAgICAgICAgIDxzcGFuPlJlcXVpcmVkPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiICpuZ0Zvcj1cImxldCByb3cgb2Ygdmlld01vZGVsLnJvd3NcIj5cbiAgICAgICAgICA8c3Bhbj57eyByb3cubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3sgcm93LnZhbHVlIHwgbnVtYmVyIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyB0b3RhbC1yb3dcIj5cbiAgICAgICAgICA8c3Bhbj5Ub3RhbDwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyB2aWV3TW9kZWwudG90YWxSZXF1aXJlZCB8IG51bWJlciB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjd2lkZ2V0U3RhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdGUtbWVzc2FnZVwiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgICBMb2FkaW5nIGxpY2Vuc2UgcmVxdWlyZW1lbnRz4oCmXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0ZS1tZXNzYWdlIGVycm9yXCIgKm5nSWY9XCIhbG9hZGluZyAmJiBlcnJvclwiPlxuICAgICAgICBVbmFibGUgdG8gbG9hZCBsaWNlbnNlIHJlcXVpcmVtZW50cy5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0YXRlLW1lc3NhZ2VcIiAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvciAmJiAhdmlld01vZGVsXCI+XG4gICAgICAgIE5vIGxpY2Vuc2UgZGF0YSBhdmFpbGFibGUuXG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvdGstY2FyZD5cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { Component, inject, Input } from "@angular/core";
2
- import { CcReadinessService } from "../../cc-readiness.service";
3
- import { map } from "rxjs";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../../components/card/card.component";
7
- const ENTITY_CONFIG = {
8
- applications: { label: 'Applications' },
9
- triggers: { label: 'Triggers' },
10
- contactServiceQueues: { label: 'CSQs' },
11
- resources: { label: 'Resources' },
12
- resourceGroups: { label: 'Resource Groups' },
13
- skills: { label: 'Skills' },
14
- xml: { label: 'XML' },
15
- scripts: { label: 'Scripts' },
16
- audioPrompts: { label: 'Audio Prompts' },
17
- teams: { label: 'Teams' },
18
- wrapUpCodes: { label: 'Wrap-Up Codes' },
19
- phonebooks: { label: 'Phonebooks' }
20
- };
21
- export class SummaryGridComponent {
22
- constructor() {
23
- this.ccReadinessService = inject(CcReadinessService);
24
- this.ENTITY_CONFIG = ENTITY_CONFIG;
25
- }
26
- ngOnInit() {
27
- this.ccReadinessService.setToken(this.token);
28
- this.data$ = this.ccReadinessService.fetchUccxServerEntityStats(this.customerId)
29
- .pipe(map(items => {
30
- return items.map(item => ({
31
- uccxIp: item.uccxIp,
32
- counts: Object.entries(item.counts).map(([name, value]) => ({ name, value }))
33
- }));
34
- }));
35
- }
36
- }
37
- SummaryGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SummaryGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- SummaryGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SummaryGridComponent, selector: "cc-summary-grid", inputs: { customerId: "customerId", token: "token" }, ngImport: i0, template: "<ng-container *ngIf=\"data$ | async as data\">\r\n <div *ngFor=\"let stats of data\">\r\n <tk-card [title]=\"stats.uccxIp\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"grid-wrapper\">\r\n <div class=\"grid-item\" *ngFor=\"let item of stats.counts\">\r\n <div class=\"item-top\">\r\n <span class=\"item-icon\">\r\n <img width=\"24\" height=\"24\" src=\"assets/icons/{{ item.name }}.svg\" alt=\"{{ item.name }} Icon\">\r\n </span>\r\n <span class=\"item-count\">{{ item.value }}</span>\r\n </div>\r\n <span class=\"item-label\">{{ ENTITY_CONFIG[item.name].label }}</span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </tk-card>\r\n </div>\r\n</ng-container>", styles: [".grid-wrapper{display:grid;grid-template-columns:repeat(6,1fr);gap:2rem;row-gap:2rem}.grid-item{display:flex;flex-direction:column;gap:.5rem}.item-top{display:flex;align-items:center;gap:inherit}.item-icon{display:flex;align-items:center;background-color:#f2f2f2;padding:.75rem;border-radius:.5rem}.item-count{font-size:30px}.item-label{font-size:14px;margin-left:.15rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CardComponent, selector: "tk-card", inputs: ["title"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SummaryGridComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'cc-summary-grid', template: "<ng-container *ngIf=\"data$ | async as data\">\r\n <div *ngFor=\"let stats of data\">\r\n <tk-card [title]=\"stats.uccxIp\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"grid-wrapper\">\r\n <div class=\"grid-item\" *ngFor=\"let item of stats.counts\">\r\n <div class=\"item-top\">\r\n <span class=\"item-icon\">\r\n <img width=\"24\" height=\"24\" src=\"assets/icons/{{ item.name }}.svg\" alt=\"{{ item.name }} Icon\">\r\n </span>\r\n <span class=\"item-count\">{{ item.value }}</span>\r\n </div>\r\n <span class=\"item-label\">{{ ENTITY_CONFIG[item.name].label }}</span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </tk-card>\r\n </div>\r\n</ng-container>", styles: [".grid-wrapper{display:grid;grid-template-columns:repeat(6,1fr);gap:2rem;row-gap:2rem}.grid-item{display:flex;flex-direction:column;gap:.5rem}.item-top{display:flex;align-items:center;gap:inherit}.item-icon{display:flex;align-items:center;background-color:#f2f2f2;padding:.75rem;border-radius:.5rem}.item-count{font-size:30px}.item-label{font-size:14px;margin-left:.15rem}\n"] }]
42
- }], propDecorators: { customerId: [{
43
- type: Input
44
- }], token: [{
45
- type: Input
46
- }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9zdW1tYXJ5LWdyaWQvc3VtbWFyeS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9zdW1tYXJ5LWdyaWQvc3VtbWFyeS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7O0FBYXZDLE1BQU0sYUFBYSxHQUF5QztJQUN4RCxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO0lBQ3ZDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7SUFDL0Isb0JBQW9CLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQ3ZDLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7SUFDakMsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO0lBQzVDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7SUFDM0IsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtJQUNyQixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0lBQzdCLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7SUFDeEMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUN6QixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO0lBQ3ZDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Q0FDdEMsQ0FBQztBQU9GLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFTcUIsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FlMUM7SUFYRyxRQUFRO1FBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUMzRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNoRixDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDOztrSEFwQlEsb0JBQW9CO3NHQUFwQixvQkFBb0IsNkdDbkNqQywyOEJBa0JlOzRGRGlCRixvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksaUJBQWlCOzhCQUtsQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2NSZWFkaW5lc3NTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NjLXJlYWRpbmVzcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEVudGl0eVR5cGUsIFVjY3hTZXJ2ZXJFbnRpdHlTdGF0cyB9IGZyb20gXCIuLi8uLi90eXBlcy9jYy1yZWFkaW5lc3NcIjtcclxuXHJcbmludGVyZmFjZSBTdW1tYXJ5R3JpZENvdW50IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBTdW1tYXJ5R3JpZEl0ZW0ge1xyXG4gICAgdWNjeElwOiBzdHJpbmc7XHJcbiAgICBjb3VudHM6IFN1bW1hcnlHcmlkQ291bnRbXTtcclxufVxyXG5cclxuY29uc3QgRU5USVRZX0NPTkZJRzogeyBba2V5OiBzdHJpbmddOiB7IGxhYmVsOiBzdHJpbmcgfSB9ID0ge1xyXG4gICAgYXBwbGljYXRpb25zOiB7IGxhYmVsOiAnQXBwbGljYXRpb25zJyB9LFxyXG4gICAgdHJpZ2dlcnM6IHsgbGFiZWw6ICdUcmlnZ2VycycgfSxcclxuICAgIGNvbnRhY3RTZXJ2aWNlUXVldWVzOiB7IGxhYmVsOiAnQ1NRcycgfSxcclxuICAgIHJlc291cmNlczogeyBsYWJlbDogJ1Jlc291cmNlcycgfSxcclxuICAgIHJlc291cmNlR3JvdXBzOiB7IGxhYmVsOiAnUmVzb3VyY2UgR3JvdXBzJyB9LFxyXG4gICAgc2tpbGxzOiB7IGxhYmVsOiAnU2tpbGxzJyB9LFxyXG4gICAgeG1sOiB7IGxhYmVsOiAnWE1MJyB9LFxyXG4gICAgc2NyaXB0czogeyBsYWJlbDogJ1NjcmlwdHMnIH0sXHJcbiAgICBhdWRpb1Byb21wdHM6IHsgbGFiZWw6ICdBdWRpbyBQcm9tcHRzJyB9LFxyXG4gICAgdGVhbXM6IHsgbGFiZWw6ICdUZWFtcycgfSxcclxuICAgIHdyYXBVcENvZGVzOiB7IGxhYmVsOiAnV3JhcC1VcCBDb2RlcycgfSxcclxuICAgIHBob25lYm9va3M6IHsgbGFiZWw6ICdQaG9uZWJvb2tzJyB9XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2Mtc3VtbWFyeS1ncmlkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnc3VtbWFyeS1ncmlkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydzdW1tYXJ5LWdyaWQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VtbWFyeUdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY3VzdG9tZXJJZCE6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2NSZWFkaW5lc3NTZXJ2aWNlID0gaW5qZWN0KENjUmVhZGluZXNzU2VydmljZSk7XHJcblxyXG4gICAgcmVhZG9ubHkgRU5USVRZX0NPTkZJRyA9IEVOVElUWV9DT05GSUc7XHJcblxyXG4gICAgZGF0YSQhOiBPYnNlcnZhYmxlPFN1bW1hcnlHcmlkSXRlbVtdPjtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNjUmVhZGluZXNzU2VydmljZS5zZXRUb2tlbih0aGlzLnRva2VuKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhJCA9IHRoaXMuY2NSZWFkaW5lc3NTZXJ2aWNlLmZldGNoVWNjeFNlcnZlckVudGl0eVN0YXRzKHRoaXMuY3VzdG9tZXJJZClcclxuICAgICAgICAgICAgLnBpcGUobWFwKGl0ZW1zID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtcy5tYXAoaXRlbSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIHVjY3hJcDogaXRlbS51Y2N4SXAsXHJcbiAgICAgICAgICAgICAgICAgICAgY291bnRzOiBPYmplY3QuZW50cmllcyhpdGVtLmNvdW50cykubWFwKChbbmFtZSwgdmFsdWVdKSA9PiAoeyBuYW1lLCB2YWx1ZSB9KSlcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEkIHwgYXN5bmMgYXMgZGF0YVwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgc3RhdHMgb2YgZGF0YVwiPlxyXG4gICAgICAgIDx0ay1jYXJkIFt0aXRsZV09XCJzdGF0cy51Y2N4SXBcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cImNhcmQtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGF0cy5jb3VudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tdG9wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0taWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgc3JjPVwiYXNzZXRzL2ljb25zL3t7IGl0ZW0ubmFtZSB9fS5zdmdcIiBhbHQ9XCJ7eyBpdGVtLm5hbWUgfX0gSWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWNvdW50XCI+e3sgaXRlbS52YWx1ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS1sYWJlbFwiPnt7IEVOVElUWV9DT05GSUdbaXRlbS5uYW1lXS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RrLWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+Il19
@@ -1,4 +0,0 @@
1
- export * from './cc-readiness/cc-readiness.module';
2
- export * from './cc-readiness/widgets/summary-grid/summary-grid.component';
3
- export * from './cc-readiness/widgets/licences-requirement/licences-requirement.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDRFQUE0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NjLXJlYWRpbmVzcy9jYy1yZWFkaW5lc3MubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY2MtcmVhZGluZXNzL3dpZGdldHMvc3VtbWFyeS1ncmlkL3N1bW1hcnktZ3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NjLXJlYWRpbmVzcy93aWRnZXRzL2xpY2VuY2VzLXJlcXVpcmVtZW50L2xpY2VuY2VzLXJlcXVpcmVtZW50LmNvbXBvbmVudCc7Il19
@@ -1,7 +0,0 @@
1
- export const API = {
2
- READINESS: {
3
- UCCX_SERVER_ENTITY_STATS: (customerId) => `/api/uccx/migration/customer/${customerId}/entity-counts`,
4
- LICENSE_USAGE_SUMMARY: (customerId) => `/api/webexreadiness/customers/${customerId}/callinglicesnsecountperfeature`,
5
- }
6
- };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmVuZHBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9zaGFyZWQvYXBpLmVuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDZixTQUFTLEVBQUU7UUFDUCx3QkFBd0IsRUFBRSxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLGdDQUFnQyxVQUFVLGdCQUFnQjtRQUM1RyxxQkFBcUIsRUFBRSxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxVQUFVLGlDQUFpQztLQUM5SDtDQUNKLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVBJID0ge1xyXG4gICAgUkVBRElORVNTOiB7XHJcbiAgICAgICAgVUNDWF9TRVJWRVJfRU5USVRZX1NUQVRTOiAoY3VzdG9tZXJJZDogbnVtYmVyKSA9PiBgL2FwaS91Y2N4L21pZ3JhdGlvbi9jdXN0b21lci8ke2N1c3RvbWVySWR9L2VudGl0eS1jb3VudHNgLFxyXG4gICAgICAgIExJQ0VOU0VfVVNBR0VfU1VNTUFSWTogKGN1c3RvbWVySWQ6IG51bWJlcikgPT4gYC9hcGkvd2ViZXhyZWFkaW5lc3MvY3VzdG9tZXJzLyR7Y3VzdG9tZXJJZH0vY2FsbGluZ2xpY2VzbnNlY291bnRwZXJmZWF0dXJlYCxcclxuICAgIH1cclxufSJdfQ==
@@ -1,86 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpHeaders } from '@angular/common/http';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class APIService {
6
- constructor(httpClient) {
7
- this.httpClient = httpClient;
8
- this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
9
- this.token = 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbkBjb3JyZW5ldC5jb20iLCJyb2xlcyI6IlNVUEVSX1VTRVIiLCJpYXQiOjE3NTUwODUyMzgsImV4cCI6MTc1NTEwMzIzOH0.X1CKx-OBZvSs7Bzr_4SWW2ulBgHNkYZrmVuv6V7FZyo';
10
- // this.apiUrl = window.location.protocol + '//' + window.location.host + '/dcp';
11
- this.apiUrl = 'https://dev.tuki.io/webex';
12
- // this.apiUrl = 'http://localhost:8088/dcp';
13
- }
14
- fetch(url, params, cache) {
15
- const headers = this.getHeaders(cache);
16
- params = params || {};
17
- return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
18
- }
19
- post(url, body, params = {}) {
20
- body = body || null;
21
- const headers = this.getHeaders();
22
- return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
23
- }
24
- // use when response extended data is necessary:
25
- postExtended(url, body = null, params = {}, headers = {}) {
26
- headers = headers || this.getHeaders();
27
- return this.httpClient.post(this.apiUrl + url, body, {
28
- headers,
29
- observe: 'response',
30
- params: this.prepareEncodedParams(params)
31
- });
32
- }
33
- put(url, body = null, params = {}) {
34
- const headers = this.getHeaders();
35
- return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
36
- }
37
- delete(url, params = {}) {
38
- const headers = this.getHeaders();
39
- return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
40
- }
41
- fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
42
- const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
43
- const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
44
- return this.fetch(url, params, cache);
45
- }
46
- prepareEncodedParams(params) {
47
- const result = {};
48
- if (!params) {
49
- return {};
50
- }
51
- for (const key of Object.keys(params)) {
52
- if (params[key]) {
53
- const stringParam = params[key].toString();
54
- result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
55
- }
56
- }
57
- return result;
58
- }
59
- getHeaders(cache) {
60
- let headers = new HttpHeaders();
61
- if (cache) {
62
- headers = headers.append('_Cache', 'true ');
63
- }
64
- const token = this.token || this.getParameterByName('token');
65
- headers = headers.append('Authorization', 'Bearer ' + token);
66
- return headers;
67
- }
68
- getParameterByName(name, url = window.location.href) {
69
- name = name.replace(/[\[\]]/g, '\\$&');
70
- var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
71
- if (!results)
72
- return null;
73
- if (!results[2])
74
- return '';
75
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
76
- }
77
- }
78
- APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
79
- APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, providedIn: 'root' });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
81
- type: Injectable,
82
- args: [{
83
- providedIn: 'root'
84
- }]
85
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvY29udGFjdC1jZW50ZXIvc2hhcmVkL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFNL0QsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFDVSxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRmhDLFdBQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBSTNFLElBQUksQ0FBQyxLQUFLLEdBQUcsa0xBQWtMLENBQUE7UUFDL0wsaUZBQWlGO1FBQ2pGLElBQUksQ0FBQyxNQUFNLEdBQUcsMkJBQTJCLENBQUM7UUFDMUMsNkNBQTZDO0lBQy9DLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBVyxFQUFFLE1BQVksRUFBRSxLQUFlO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDdEMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFD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QkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFQSVNlcnZpY2Uge1xyXG4gIHB1YmxpYyB0b2tlbjogYW55O1xyXG4gIGFwaVVybCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgKyAnL2RjcCc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcclxuICApIHtcclxuICAgIHRoaXMudG9rZW4gPSAnZXlKaGJHY2lPaUpJVXpJMU5pSjkuZXlKemRXSWlPaUpoWkcxcGJrQmpiM0p5Wlc1bGRDNWpiMjBpTENKeWIyeGxjeUk2SWxOVlVFVlNYMVZUUlZJaUxDSnBZWFFpT2pFM05UVXdPRFV5TXpnc0ltVjRjQ0k2TVRjMU5URXdNekl6T0gwLlgxQ0t4LU9CWnZTczdCenJfNFNXVzJ1bEJnSE5rWVpybVZ1djZWN0ZaeW8nXHJcbiAgICAvLyB0aGlzLmFwaVVybCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdCArICcvZGNwJztcclxuICAgIHRoaXMuYXBpVXJsID0gJ2h0dHBzOi8vZGV2LnR1a2kuaW8vd2ViZXgnO1xyXG4gICAgLy8gdGhpcy5hcGlVcmwgPSAnaHR0cDovL2xvY2FsaG9zdDo4MDg4L2RjcCc7XHJcbiAgfVxyXG5cclxuICBmZXRjaCh1cmw6IHN0cmluZywgcGFyYW1zPzogYW55LCBjYWNoZT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycyhjYWNoZSk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh0aGlzLmFwaVVybCArIHVybCwge3BhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpLCBoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuICBwb3N0KHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGJvZHkgPSBib2R5IHx8IG51bGw7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5hcGlVcmwgKyB1cmwsIGJvZHksIHtwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKSwgaGVhZGVyc30pO1xyXG4gIH1cclxuXHJcbiAgLy8gdXNlIHdoZW4gcmVzcG9uc2UgZXh0ZW5kZWQgZGF0YSBpcyBuZWNlc3Nhcnk6XHJcbiAgcG9zdEV4dGVuZGVkKHVybDogc3RyaW5nLCBib2R5ID0gbnVsbCwgcGFyYW1zID0ge30sIGhlYWRlcnMgPSB7fSkge1xyXG4gICAgaGVhZGVycyA9IGhlYWRlcnMgfHwgdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5hcGlVcmwgKyB1cmwsIGJvZHksIHtcclxuICAgICAgaGVhZGVycyxcclxuICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcclxuICAgICAgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcylcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHV0KHVybDogc3RyaW5nLCBib2R5ID0gbnVsbCwgcGFyYW1zID0ge30pIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHRoaXMuYXBpVXJsICsgdXJsLCBib2R5LCB7aGVhZGVycywgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyl9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZSh1cmw6IHN0cmluZywgcGFyYW1zID0ge30pIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHRoaXMuYXBpVXJsICsgdXJsLCB7aGVhZGVycywgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyl9KTtcclxuICB9XHJcblxyXG4gIGZldGNoUGFnaW5hdGlvbih1cmw6IHN0cmluZywgcGFnZVNpemU6IG51bWJlciwgcGFnZU51bWJlcjogbnVtYmVyLCBhZGRpdGlvbmFsUGFyYW1zID0ge30sIGNhY2hlPzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb3B5QWRkaXRpb25hbFBhcmFtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYWRkaXRpb25hbFBhcmFtcykpO1xyXG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmFzc2lnbihjb3B5QWRkaXRpb25hbFBhcmFtcywge3NpemU6IHBhZ2VTaXplLnRvU3RyaW5nKCksIHBhZ2U6IHBhZ2VOdW1iZXIudG9TdHJpbmcoKX0pO1xyXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2godXJsLCBwYXJhbXMsIGNhY2hlKSBhcyBPYnNlcnZhYmxlPGFueT47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtczogYW55KSB7XHJcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xyXG5cclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcclxuICAgICAgaWYgKHBhcmFtc1trZXldKSB7XHJcbiAgICAgICAgY29uc3Qgc3RyaW5nUGFyYW0gPSBwYXJhbXNba2V5XS50b1N0cmluZygpO1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gc3RyaW5nUGFyYW0uaW5jbHVkZXMoJysnKSA/IGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdQYXJhbSkgOiBzdHJpbmdQYXJhbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SGVhZGVycyhjYWNoZT86IGJvb2xlYW4pOiBIdHRwSGVhZGVycyB7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnX0NhY2hlJywgJ3RydWUgJyk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW4gfHwgdGhpcy5nZXRQYXJhbWV0ZXJCeU5hbWUoJ3Rva2VuJyk7XHJcbiAgICBoZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcrIHRva2VuKTtcclxuICAgIHJldHVybiBoZWFkZXJzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJCeU5hbWUobmFtZTogYW55LCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZikge1xyXG4gICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvW1xcW1xcXV0vZywgJ1xcXFwkJicpO1xyXG4gICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCgnWz8mXScgKyBuYW1lICsgJyg9KFteJiNdKil8JnwjfCQpJyksXHJcbiAgICAgIHJlc3VsdHMgPSByZWdleC5leGVjKHVybCk7XHJcbiAgICBpZiAoIXJlc3VsdHMpIHJldHVybiBudWxsO1xyXG4gICAgaWYgKCFyZXN1bHRzWzJdKSByZXR1cm4gJyc7XHJcbiAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHJlc3VsdHNbMl0ucmVwbGFjZSgvXFwrL2csICcgJykpO1xyXG4gIH1cclxufSJdfQ==