@memberjunction/ng-dashboards 3.3.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/dist/AI/ai-dashboard.component.d.ts +62 -0
  2. package/dist/AI/ai-dashboard.component.d.ts.map +1 -0
  3. package/dist/AI/ai-dashboard.component.js +338 -0
  4. package/dist/AI/ai-dashboard.component.js.map +1 -0
  5. package/dist/AI/components/agents/agent-configuration.component.d.ts +36 -5
  6. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  7. package/dist/AI/components/agents/agent-configuration.component.js +287 -141
  8. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  9. package/dist/AI/components/agents/agent-editor.component.d.ts +14 -5
  10. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
  11. package/dist/AI/components/agents/agent-editor.component.js +149 -211
  12. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  13. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
  14. package/dist/AI/components/agents/agent-filter-panel.component.js +4 -4
  15. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  16. package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -1
  17. package/dist/AI/components/charts/performance-heatmap.component.js +4 -6
  18. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  19. package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -1
  20. package/dist/AI/components/charts/time-series-chart.component.js +6 -7
  21. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  22. package/dist/AI/components/execution-monitoring.component.d.ts +0 -4
  23. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  24. package/dist/AI/components/execution-monitoring.component.js +33 -37
  25. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  26. package/dist/AI/components/models/model-management-v2.component.d.ts +96 -0
  27. package/dist/AI/components/models/model-management-v2.component.d.ts.map +1 -0
  28. package/dist/AI/components/models/model-management-v2.component.js +981 -0
  29. package/dist/AI/components/models/model-management-v2.component.js.map +1 -0
  30. package/dist/AI/components/models/model-management.component.d.ts +26 -6
  31. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  32. package/dist/AI/components/models/model-management.component.js +216 -103
  33. package/dist/AI/components/models/model-management.component.js.map +1 -1
  34. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  35. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +22 -17
  36. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  37. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +1 -1
  38. package/dist/AI/components/prompts/prompt-filter-panel.component.js +4 -4
  39. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  40. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts +97 -0
  41. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -0
  42. package/dist/AI/components/prompts/prompt-management-v2.component.js +811 -0
  43. package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -0
  44. package/dist/AI/components/prompts/prompt-management.component.d.ts +26 -6
  45. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  46. package/dist/AI/components/prompts/prompt-management.component.js +164 -57
  47. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  48. package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
  49. package/dist/AI/components/prompts/prompt-version-control.component.js +33 -28
  50. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  51. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +1 -1
  52. package/dist/AI/components/system/system-config-filter-panel.component.js +4 -4
  53. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  54. package/dist/AI/components/system/system-configuration.component.d.ts +0 -4
  55. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  56. package/dist/AI/components/system/system-configuration.component.js +26 -27
  57. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  58. package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -1
  59. package/dist/AI/components/widgets/kpi-card.component.js +52 -42
  60. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  61. package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -1
  62. package/dist/AI/components/widgets/live-execution-widget.component.js +7 -7
  63. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  64. package/dist/APIKeys/api-applications-panel.component.d.ts +5 -5
  65. package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
  66. package/dist/APIKeys/api-applications-panel.component.js +242 -239
  67. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  68. package/dist/APIKeys/api-key-create-dialog.component.d.ts +4 -5
  69. package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
  70. package/dist/APIKeys/api-key-create-dialog.component.js +237 -217
  71. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  72. package/dist/APIKeys/api-key-edit-panel.component.d.ts +1 -3
  73. package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
  74. package/dist/APIKeys/api-key-edit-panel.component.js +268 -249
  75. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  76. package/dist/APIKeys/api-key-list.component.d.ts +2 -3
  77. package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
  78. package/dist/APIKeys/api-key-list.component.js +136 -133
  79. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  80. package/dist/APIKeys/api-keys-resource.component.d.ts +6 -6
  81. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  82. package/dist/APIKeys/api-keys-resource.component.js +335 -358
  83. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  84. package/dist/APIKeys/api-scopes-panel.component.d.ts +0 -2
  85. package/dist/APIKeys/api-scopes-panel.component.d.ts.map +1 -1
  86. package/dist/APIKeys/api-scopes-panel.component.js +151 -155
  87. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  88. package/dist/APIKeys/api-usage-panel.component.d.ts +0 -2
  89. package/dist/APIKeys/api-usage-panel.component.d.ts.map +1 -1
  90. package/dist/APIKeys/api-usage-panel.component.js +237 -234
  91. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  92. package/dist/Actions/actions-management-dashboard.component.d.ts +52 -0
  93. package/dist/Actions/actions-management-dashboard.component.d.ts.map +1 -0
  94. package/dist/Actions/actions-management-dashboard.component.js +308 -0
  95. package/dist/Actions/actions-management-dashboard.component.js.map +1 -0
  96. package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -1
  97. package/dist/Actions/components/actions-list-view.component.js +15 -14
  98. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  99. package/dist/Actions/components/actions-overview.component.d.ts +3 -6
  100. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  101. package/dist/Actions/components/actions-overview.component.js +17 -19
  102. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  103. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
  104. package/dist/Actions/components/categories-list-view.component.js +6 -6
  105. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  106. package/dist/Actions/components/code-management.component.d.ts +0 -4
  107. package/dist/Actions/components/code-management.component.d.ts.map +1 -1
  108. package/dist/Actions/components/code-management.component.js +3 -9
  109. package/dist/Actions/components/code-management.component.js.map +1 -1
  110. package/dist/Actions/components/entity-integration.component.d.ts +0 -4
  111. package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
  112. package/dist/Actions/components/entity-integration.component.js +3 -9
  113. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  114. package/dist/Actions/components/execution-monitoring.component.d.ts +3 -6
  115. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  116. package/dist/Actions/components/execution-monitoring.component.js +13 -16
  117. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  118. package/dist/Actions/components/executions-list-view.component.d.ts.map +1 -1
  119. package/dist/Actions/components/executions-list-view.component.js +3 -3
  120. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  121. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts +22 -0
  122. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -0
  123. package/dist/Actions/components/explorer/action-breadcrumb.component.js +139 -0
  124. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -0
  125. package/dist/Actions/components/explorer/action-card.component.d.ts +39 -0
  126. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -0
  127. package/dist/Actions/components/explorer/action-card.component.js +411 -0
  128. package/dist/Actions/components/explorer/action-card.component.js.map +1 -0
  129. package/dist/Actions/components/explorer/action-explorer.component.d.ts +58 -0
  130. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -0
  131. package/dist/Actions/components/explorer/action-explorer.component.js +523 -0
  132. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -0
  133. package/dist/Actions/components/explorer/action-list-item.component.d.ts +24 -0
  134. package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -0
  135. package/dist/Actions/components/explorer/action-list-item.component.js +210 -0
  136. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -0
  137. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +63 -0
  138. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -0
  139. package/dist/Actions/components/explorer/action-toolbar.component.js +484 -0
  140. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -0
  141. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +57 -0
  142. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -0
  143. package/dist/Actions/components/explorer/action-tree-panel.component.js +455 -0
  144. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -0
  145. package/dist/Actions/components/explorer/index.d.ts +9 -0
  146. package/dist/Actions/components/explorer/index.d.ts.map +1 -0
  147. package/dist/Actions/components/explorer/index.js +10 -0
  148. package/dist/Actions/components/explorer/index.js.map +1 -0
  149. package/dist/Actions/components/explorer/new-action-panel.component.d.ts +49 -0
  150. package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -0
  151. package/dist/Actions/components/explorer/new-action-panel.component.js +359 -0
  152. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -0
  153. package/dist/Actions/components/explorer/new-category-panel.component.d.ts +37 -0
  154. package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -0
  155. package/dist/Actions/components/explorer/new-category-panel.component.js +282 -0
  156. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -0
  157. package/dist/Actions/components/scheduled-actions.component.d.ts +0 -4
  158. package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
  159. package/dist/Actions/components/scheduled-actions.component.js +3 -9
  160. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  161. package/dist/Actions/components/security-permissions.component.d.ts +0 -4
  162. package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
  163. package/dist/Actions/components/security-permissions.component.js +3 -9
  164. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  165. package/dist/Actions/index.d.ts +2 -6
  166. package/dist/Actions/index.d.ts.map +1 -1
  167. package/dist/Actions/index.js +4 -7
  168. package/dist/Actions/index.js.map +1 -1
  169. package/dist/Actions/services/action-explorer-state.service.d.ts +104 -0
  170. package/dist/Actions/services/action-explorer-state.service.d.ts.map +1 -0
  171. package/dist/Actions/services/action-explorer-state.service.js +352 -0
  172. package/dist/Actions/services/action-explorer-state.service.js.map +1 -0
  173. package/dist/Communication/communication-dashboard.component.d.ts +2 -7
  174. package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
  175. package/dist/Communication/communication-dashboard.component.js +143 -107
  176. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  177. package/dist/Communication/communication-logs-resource.component.d.ts +10 -8
  178. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  179. package/dist/Communication/communication-logs-resource.component.js +270 -134
  180. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  181. package/dist/Communication/communication-monitor-resource.component.d.ts +38 -7
  182. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  183. package/dist/Communication/communication-monitor-resource.component.js +469 -186
  184. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  185. package/dist/Communication/communication-providers-resource.component.d.ts +16 -9
  186. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  187. package/dist/Communication/communication-providers-resource.component.js +262 -139
  188. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  189. package/dist/Communication/communication-runs-resource.component.d.ts +4 -6
  190. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  191. package/dist/Communication/communication-runs-resource.component.js +168 -159
  192. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  193. package/dist/Communication/communication-templates-resource.component.d.ts +39 -0
  194. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -0
  195. package/dist/Communication/communication-templates-resource.component.js +388 -0
  196. package/dist/Communication/communication-templates-resource.component.js.map +1 -0
  197. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +69 -271
  198. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  199. package/dist/ComponentStudio/component-studio-dashboard.component.js +705 -1808
  200. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  201. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +68 -0
  202. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -0
  203. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +400 -0
  204. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -0
  205. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
  206. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +25 -22
  207. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  208. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  209. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +16 -16
  210. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  211. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts +44 -0
  212. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -0
  213. package/dist/ComponentStudio/components/browser/component-browser.component.js +638 -0
  214. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -0
  215. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts +35 -0
  216. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -0
  217. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +380 -0
  218. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -0
  219. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts +24 -0
  220. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -0
  221. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +221 -0
  222. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -0
  223. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts +28 -0
  224. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -0
  225. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +263 -0
  226. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -0
  227. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts +34 -0
  228. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -0
  229. package/dist/ComponentStudio/components/editors/spec-editor.component.js +307 -0
  230. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -0
  231. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts +29 -0
  232. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -0
  233. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +159 -0
  234. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -0
  235. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts +20 -0
  236. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -0
  237. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +192 -0
  238. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -0
  239. package/dist/ComponentStudio/components/text-import-dialog.component.d.ts.map +1 -1
  240. package/dist/ComponentStudio/components/text-import-dialog.component.js +4 -4
  241. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  242. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +57 -0
  243. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -0
  244. package/dist/ComponentStudio/components/workspace/component-preview.component.js +343 -0
  245. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -0
  246. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +15 -0
  247. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -0
  248. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +144 -0
  249. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -0
  250. package/dist/ComponentStudio/services/component-studio-state.service.d.ts +203 -0
  251. package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -0
  252. package/dist/ComponentStudio/services/component-studio-state.service.js +651 -0
  253. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -0
  254. package/dist/ComponentStudio/services/component-version.service.d.ts +120 -0
  255. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -0
  256. package/dist/ComponentStudio/services/component-version.service.js +394 -0
  257. package/dist/ComponentStudio/services/component-version.service.js.map +1 -0
  258. package/dist/Credentials/components/credential-category-edit-panel.component.js +1 -1
  259. package/dist/Credentials/components/credential-edit-panel.component.js +1 -1
  260. package/dist/Credentials/components/credential-type-edit-panel.component.js +1 -1
  261. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +0 -1
  262. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  263. package/dist/Credentials/components/credentials-audit-resource.component.js +200 -196
  264. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  265. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +1 -2
  266. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  267. package/dist/Credentials/components/credentials-categories-resource.component.js +195 -190
  268. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  269. package/dist/Credentials/components/credentials-list-resource.component.d.ts +1 -2
  270. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  271. package/dist/Credentials/components/credentials-list-resource.component.js +252 -241
  272. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  273. package/dist/Credentials/components/credentials-overview-resource.component.d.ts +0 -1
  274. package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
  275. package/dist/Credentials/components/credentials-overview-resource.component.js +228 -226
  276. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  277. package/dist/Credentials/components/credentials-types-resource.component.d.ts +1 -2
  278. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  279. package/dist/Credentials/components/credentials-types-resource.component.js +214 -210
  280. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  281. package/dist/Credentials/credentials-dashboard.component.d.ts +0 -1
  282. package/dist/Credentials/credentials-dashboard.component.d.ts.map +1 -1
  283. package/dist/Credentials/credentials-dashboard.component.js +31 -44
  284. package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
  285. package/dist/Credentials/pipes/group-by.pipe.d.ts.map +1 -1
  286. package/dist/Credentials/pipes/group-by.pipe.js +2 -1
  287. package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
  288. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +0 -1
  289. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
  290. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +73 -80
  291. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  292. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts.map +1 -1
  293. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +46 -45
  294. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  295. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +1 -1
  296. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +7 -7
  297. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
  298. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +2 -2
  299. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
  300. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +15 -15
  301. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
  302. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts +245 -0
  303. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts.map +1 -0
  304. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js +1143 -0
  305. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js.map +1 -0
  306. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -1
  307. package/dist/DataExplorer/components/view-selector/view-selector.component.js +17 -11
  308. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
  309. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +0 -4
  310. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  311. package/dist/DataExplorer/data-explorer-dashboard.component.js +49 -54
  312. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  313. package/dist/DataExplorer/data-explorer-resource.component.d.ts +0 -1
  314. package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
  315. package/dist/DataExplorer/data-explorer-resource.component.js +3 -6
  316. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
  317. package/dist/DataExplorer/index.d.ts +2 -2
  318. package/dist/DataExplorer/index.d.ts.map +1 -1
  319. package/dist/DataExplorer/index.js +2 -2
  320. package/dist/DataExplorer/index.js.map +1 -1
  321. package/dist/EntityAdmin/components/entity-details.component.d.ts +50 -0
  322. package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -0
  323. package/dist/EntityAdmin/components/entity-details.component.js +680 -0
  324. package/dist/EntityAdmin/components/entity-details.component.js.map +1 -0
  325. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts +31 -0
  326. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts.map +1 -0
  327. package/dist/EntityAdmin/components/entity-filter-panel.component.js +160 -0
  328. package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -0
  329. package/dist/EntityAdmin/components/erd-composite.component.d.ts +73 -0
  330. package/dist/EntityAdmin/components/erd-composite.component.d.ts.map +1 -0
  331. package/dist/EntityAdmin/components/erd-composite.component.js +271 -0
  332. package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -0
  333. package/dist/EntityAdmin/components/erd-diagram.component.d.ts +47 -0
  334. package/dist/EntityAdmin/components/erd-diagram.component.d.ts.map +1 -0
  335. package/dist/EntityAdmin/components/erd-diagram.component.js +618 -0
  336. package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -0
  337. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +0 -1
  338. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  339. package/dist/EntityAdmin/entity-admin-dashboard.component.js +6 -7
  340. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  341. package/dist/Home/home-application.d.ts +0 -5
  342. package/dist/Home/home-application.d.ts.map +1 -1
  343. package/dist/Home/home-application.js +0 -9
  344. package/dist/Home/home-application.js.map +1 -1
  345. package/dist/Home/home-dashboard.component.d.ts +0 -4
  346. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  347. package/dist/Home/home-dashboard.component.js +141 -139
  348. package/dist/Home/home-dashboard.component.js.map +1 -1
  349. package/dist/Lists/components/lists-browse-resource.component.d.ts +0 -1
  350. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  351. package/dist/Lists/components/lists-browse-resource.component.js +761 -685
  352. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  353. package/dist/Lists/components/lists-categories-resource.component.d.ts +0 -1
  354. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  355. package/dist/Lists/components/lists-categories-resource.component.js +340 -316
  356. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  357. package/dist/Lists/components/lists-my-lists-resource.component.d.ts +0 -1
  358. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  359. package/dist/Lists/components/lists-my-lists-resource.component.js +530 -482
  360. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  361. package/dist/Lists/components/lists-operations-resource.component.d.ts +0 -1
  362. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  363. package/dist/Lists/components/lists-operations-resource.component.js +508 -455
  364. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  365. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  366. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +44 -39
  367. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  368. package/dist/Lists/index.d.ts +0 -1
  369. package/dist/Lists/index.d.ts.map +1 -1
  370. package/dist/Lists/index.js +0 -11
  371. package/dist/Lists/index.js.map +1 -1
  372. package/dist/MCP/components/mcp-connection-dialog.component.d.ts +68 -0
  373. package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -0
  374. package/dist/MCP/components/mcp-connection-dialog.component.js +523 -0
  375. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -0
  376. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +73 -0
  377. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -0
  378. package/dist/MCP/components/mcp-log-detail-panel.component.js +533 -0
  379. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -0
  380. package/dist/MCP/components/mcp-server-dialog.component.d.ts +76 -0
  381. package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -0
  382. package/dist/MCP/components/mcp-server-dialog.component.js +546 -0
  383. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -0
  384. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +267 -0
  385. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -0
  386. package/dist/MCP/components/mcp-test-tool-dialog.component.js +1300 -0
  387. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -0
  388. package/dist/MCP/index.d.ts +11 -0
  389. package/dist/MCP/index.d.ts.map +1 -0
  390. package/dist/MCP/index.js +15 -0
  391. package/dist/MCP/index.js.map +1 -0
  392. package/dist/MCP/mcp-dashboard.component.d.ts +467 -0
  393. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -0
  394. package/dist/MCP/mcp-dashboard.component.js +2765 -0
  395. package/dist/MCP/mcp-dashboard.component.js.map +1 -0
  396. package/dist/MCP/mcp-filter-panel.component.d.ts +54 -0
  397. package/dist/MCP/mcp-filter-panel.component.d.ts.map +1 -0
  398. package/dist/MCP/mcp-filter-panel.component.js +288 -0
  399. package/dist/MCP/mcp-filter-panel.component.js.map +1 -0
  400. package/dist/MCP/mcp-resource.component.d.ts +26 -0
  401. package/dist/MCP/mcp-resource.component.d.ts.map +1 -0
  402. package/dist/MCP/mcp-resource.component.js +54 -0
  403. package/dist/MCP/mcp-resource.component.js.map +1 -0
  404. package/dist/MCP/mcp.module.d.ts +24 -0
  405. package/dist/MCP/mcp.module.d.ts.map +1 -0
  406. package/dist/MCP/mcp.module.js +113 -0
  407. package/dist/MCP/mcp.module.js.map +1 -0
  408. package/dist/MCP/services/mcp-tools.service.d.ts +115 -0
  409. package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -0
  410. package/dist/MCP/services/mcp-tools.service.js +221 -0
  411. package/dist/MCP/services/mcp-tools.service.js.map +1 -0
  412. package/dist/QueryBrowser/query-browser-resource.component.d.ts +0 -1
  413. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  414. package/dist/QueryBrowser/query-browser-resource.component.js +79 -88
  415. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  416. package/dist/Scheduling/components/index.d.ts +5 -8
  417. package/dist/Scheduling/components/index.d.ts.map +1 -1
  418. package/dist/Scheduling/components/index.js +6 -9
  419. package/dist/Scheduling/components/index.js.map +1 -1
  420. package/dist/Scheduling/components/job-slideout.component.d.ts +45 -0
  421. package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -0
  422. package/dist/Scheduling/components/job-slideout.component.js +459 -0
  423. package/dist/Scheduling/components/job-slideout.component.js.map +1 -0
  424. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +15 -0
  425. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -0
  426. package/dist/Scheduling/components/scheduling-activity-resource.component.js +45 -0
  427. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -0
  428. package/dist/Scheduling/components/scheduling-activity.component.d.ts +71 -0
  429. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -0
  430. package/dist/Scheduling/components/scheduling-activity.component.js +714 -0
  431. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -0
  432. package/dist/Scheduling/components/scheduling-health-resource.component.js +1 -1
  433. package/dist/Scheduling/components/scheduling-health.component.js +1 -1
  434. package/dist/Scheduling/components/scheduling-history-resource.component.js +1 -1
  435. package/dist/Scheduling/components/scheduling-history.component.js +1 -1
  436. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +3 -8
  437. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  438. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +5 -15
  439. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  440. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +52 -34
  441. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  442. package/dist/Scheduling/components/scheduling-jobs.component.js +452 -262
  443. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  444. package/dist/Scheduling/components/scheduling-monitor-resource.component.js +1 -1
  445. package/dist/Scheduling/components/scheduling-monitoring.component.js +1 -1
  446. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +15 -0
  447. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -0
  448. package/dist/Scheduling/components/scheduling-overview-resource.component.js +45 -0
  449. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -0
  450. package/dist/Scheduling/components/scheduling-overview.component.d.ts +43 -0
  451. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -0
  452. package/dist/Scheduling/components/scheduling-overview.component.js +600 -0
  453. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -0
  454. package/dist/Scheduling/components/scheduling-types-resource.component.js +1 -1
  455. package/dist/Scheduling/components/scheduling-types.component.js +1 -1
  456. package/dist/Scheduling/scheduling-dashboard.component.d.ts +22 -33
  457. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  458. package/dist/Scheduling/scheduling-dashboard.component.js +173 -175
  459. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  460. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +49 -6
  461. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
  462. package/dist/Scheduling/services/scheduling-instrumentation.service.js +218 -149
  463. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  464. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +0 -4
  465. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  466. package/dist/SystemDiagnostics/system-diagnostics.component.js +1552 -1534
  467. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  468. package/dist/Testing/components/index.d.ts +7 -8
  469. package/dist/Testing/components/index.d.ts.map +1 -1
  470. package/dist/Testing/components/index.js +8 -9
  471. package/dist/Testing/components/index.js.map +1 -1
  472. package/dist/Testing/components/testing-analytics-resource.component.d.ts +0 -4
  473. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  474. package/dist/Testing/components/testing-analytics-resource.component.js +3 -9
  475. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  476. package/dist/Testing/components/testing-analytics.component.d.ts +52 -37
  477. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  478. package/dist/Testing/components/testing-analytics.component.js +1024 -570
  479. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  480. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +16 -0
  481. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -0
  482. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +47 -0
  483. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -0
  484. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +57 -0
  485. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -0
  486. package/dist/Testing/components/testing-dashboard-tab.component.js +649 -0
  487. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -0
  488. package/dist/Testing/components/testing-execution-resource.component.js +1 -1
  489. package/dist/Testing/components/testing-execution.component.js +1 -1
  490. package/dist/Testing/components/testing-explorer-resource.component.d.ts +16 -0
  491. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -0
  492. package/dist/Testing/components/testing-explorer-resource.component.js +47 -0
  493. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -0
  494. package/dist/Testing/components/testing-explorer.component.d.ts +193 -0
  495. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -0
  496. package/dist/Testing/components/testing-explorer.component.js +2219 -0
  497. package/dist/Testing/components/testing-explorer.component.js.map +1 -0
  498. package/dist/Testing/components/testing-feedback-resource.component.js +1 -1
  499. package/dist/Testing/components/testing-feedback.component.js +1 -1
  500. package/dist/Testing/components/testing-overview-resource.component.js +1 -1
  501. package/dist/Testing/components/testing-overview.component.js +1 -1
  502. package/dist/Testing/components/testing-review-resource.component.d.ts +16 -0
  503. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -0
  504. package/dist/Testing/components/testing-review-resource.component.js +47 -0
  505. package/dist/Testing/components/testing-review-resource.component.js.map +1 -0
  506. package/dist/Testing/components/testing-review.component.d.ts +60 -0
  507. package/dist/Testing/components/testing-review.component.d.ts.map +1 -0
  508. package/dist/Testing/components/testing-review.component.js +985 -0
  509. package/dist/Testing/components/testing-review.component.js.map +1 -0
  510. package/dist/Testing/components/testing-runs-resource.component.d.ts +16 -0
  511. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -0
  512. package/dist/Testing/components/testing-runs-resource.component.js +47 -0
  513. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -0
  514. package/dist/Testing/components/testing-runs.component.d.ts +82 -0
  515. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -0
  516. package/dist/Testing/components/testing-runs.component.js +1067 -0
  517. package/dist/Testing/components/testing-runs.component.js.map +1 -0
  518. package/dist/Testing/components/testing-version-comparison.component.js +1 -1
  519. package/dist/Testing/components/testing-version-resource.component.js +1 -1
  520. package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts.map +1 -1
  521. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +73 -61
  522. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  523. package/dist/Testing/components/widgets/suite-tree.component.d.ts.map +1 -1
  524. package/dist/Testing/components/widgets/suite-tree.component.js +34 -31
  525. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  526. package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -1
  527. package/dist/Testing/components/widgets/test-run-detail-panel.component.js +180 -171
  528. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  529. package/dist/Testing/testing-dashboard.component.d.ts +12 -16
  530. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  531. package/dist/Testing/testing-dashboard.component.js +51 -72
  532. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  533. package/dist/VersionHistory/components/diff-resource.component.d.ts +119 -0
  534. package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -0
  535. package/dist/VersionHistory/components/diff-resource.component.js +1162 -0
  536. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -0
  537. package/dist/VersionHistory/components/graph-resource.component.d.ts +67 -0
  538. package/dist/VersionHistory/components/graph-resource.component.d.ts.map +1 -0
  539. package/dist/VersionHistory/components/graph-resource.component.js +521 -0
  540. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -0
  541. package/dist/VersionHistory/components/index.d.ts +5 -0
  542. package/dist/VersionHistory/components/index.d.ts.map +1 -0
  543. package/dist/VersionHistory/components/index.js +5 -0
  544. package/dist/VersionHistory/components/index.js.map +1 -0
  545. package/dist/VersionHistory/components/labels-resource.component.d.ts +89 -0
  546. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -0
  547. package/dist/VersionHistory/components/labels-resource.component.js +968 -0
  548. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -0
  549. package/dist/VersionHistory/components/restore-resource.component.d.ts +40 -0
  550. package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -0
  551. package/dist/VersionHistory/components/restore-resource.component.js +472 -0
  552. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -0
  553. package/dist/VersionHistory/index.d.ts +2 -0
  554. package/dist/VersionHistory/index.d.ts.map +1 -0
  555. package/dist/VersionHistory/index.js +2 -0
  556. package/dist/VersionHistory/index.js.map +1 -0
  557. package/dist/generic/base-dashboard.d.ts +65 -0
  558. package/dist/generic/base-dashboard.d.ts.map +1 -0
  559. package/dist/generic/base-dashboard.js +74 -0
  560. package/dist/generic/base-dashboard.js.map +1 -0
  561. package/dist/module.d.ts +127 -104
  562. package/dist/module.d.ts.map +1 -1
  563. package/dist/module.js +221 -95
  564. package/dist/module.js.map +1 -1
  565. package/dist/public-api.d.ts +22 -19
  566. package/dist/public-api.d.ts.map +1 -1
  567. package/dist/public-api.js +28 -119
  568. package/dist/public-api.js.map +1 -1
  569. package/dist/shared/pipes/highlight-search.pipe.d.ts +17 -0
  570. package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -0
  571. package/dist/shared/pipes/highlight-search.pipe.js +41 -0
  572. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -0
  573. package/dist/shared/pipes/index.d.ts +2 -0
  574. package/dist/shared/pipes/index.d.ts.map +1 -0
  575. package/dist/shared/pipes/index.js +2 -0
  576. package/dist/shared/pipes/index.js.map +1 -0
  577. package/dist/shared/shared-pipes.module.d.ts +11 -0
  578. package/dist/shared/shared-pipes.module.d.ts.map +1 -0
  579. package/dist/shared/shared-pipes.module.js +24 -0
  580. package/dist/shared/shared-pipes.module.js.map +1 -0
  581. package/package.json +65 -56
@@ -11,89 +11,143 @@ import { Metadata, RunView, CompositeKey } from '@memberjunction/core';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@memberjunction/ng-shared";
13
13
  import * as i2 from "@angular/common";
14
- function CommunicationProvidersResourceComponent_div_12_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelementStart(0, "div", 8);
16
- i0.ɵɵelement(1, "div", 9);
17
- i0.ɵɵelementStart(2, "p");
18
- i0.ɵɵtext(3, "Loading providers...");
19
- i0.ɵɵelementEnd()();
14
+ import * as i3 from "@memberjunction/ng-shared-generic";
15
+ function CommunicationProvidersResourceComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵelementStart(0, "div", 4);
17
+ i0.ɵɵelement(1, "mj-loading", 6);
18
+ i0.ɵɵelementEnd();
19
+ } }
20
+ function CommunicationProvidersResourceComponent_Conditional_11_For_2_Conditional_19_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "span", 18);
22
+ i0.ɵɵelement(1, "i", 27);
23
+ i0.ɵɵtext(2, " Scheduled ");
24
+ i0.ɵɵelementEnd();
20
25
  } }
21
- function CommunicationProvidersResourceComponent_div_13_div_1_Template(rf, ctx) { if (rf & 1) {
22
- const _r2 = i0.ɵɵgetCurrentView();
23
- i0.ɵɵelementStart(0, "div", 14)(1, "div", 15)(2, "div", 16);
26
+ function CommunicationProvidersResourceComponent_Conditional_11_For_2_Conditional_20_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelementStart(0, "span", 18);
28
+ i0.ɵɵelement(1, "i", 27);
29
+ i0.ɵɵtext(2, " Drafts ");
30
+ i0.ɵɵelementEnd();
31
+ } }
32
+ function CommunicationProvidersResourceComponent_Conditional_11_For_2_Conditional_21_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "span", 18);
34
+ i0.ɵɵelement(1, "i", 27);
35
+ i0.ɵɵtext(2, " Forward ");
36
+ i0.ɵɵelementEnd();
37
+ } }
38
+ function CommunicationProvidersResourceComponent_Conditional_11_For_2_Conditional_22_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelementStart(0, "span", 18);
40
+ i0.ɵɵelement(1, "i", 27);
41
+ i0.ɵɵtext(2, " Reply ");
42
+ i0.ɵɵelementEnd();
43
+ } }
44
+ function CommunicationProvidersResourceComponent_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
45
+ const _r1 = i0.ɵɵgetCurrentView();
46
+ i0.ɵɵelementStart(0, "div", 8)(1, "div", 9)(2, "div", 10);
24
47
  i0.ɵɵelement(3, "i");
25
48
  i0.ɵɵelementEnd();
26
- i0.ɵɵelementStart(4, "div", 17);
27
- i0.ɵɵtext(5);
28
- i0.ɵɵelementEnd()();
29
- i0.ɵɵelementStart(6, "div", 18)(7, "h3");
30
- i0.ɵɵtext(8);
49
+ i0.ɵɵelementStart(4, "div", 11)(5, "div", 12);
50
+ i0.ɵɵtext(6);
31
51
  i0.ɵɵelementEnd();
32
- i0.ɵɵelementStart(9, "p");
52
+ i0.ɵɵelementStart(7, "div", 13);
53
+ i0.ɵɵtext(8);
54
+ i0.ɵɵelementEnd()();
55
+ i0.ɵɵelementStart(9, "span", 14);
33
56
  i0.ɵɵtext(10);
57
+ i0.ɵɵelementEnd()();
58
+ i0.ɵɵelementStart(11, "div", 15)(12, "div", 16)(13, "span", 17);
59
+ i0.ɵɵelement(14, "i");
60
+ i0.ɵɵtext(15, " Sending ");
34
61
  i0.ɵɵelementEnd();
35
- i0.ɵɵelementStart(11, "div", 19)(12, "span", 20);
36
- i0.ɵɵelement(13, "i", 21);
37
- i0.ɵɵtext(14, " Sending ");
62
+ i0.ɵɵelementStart(16, "span", 17);
63
+ i0.ɵɵelement(17, "i");
64
+ i0.ɵɵtext(18, " Receiving ");
38
65
  i0.ɵɵelementEnd();
39
- i0.ɵɵelementStart(15, "span", 20);
40
- i0.ɵɵelement(16, "i", 22);
41
- i0.ɵɵtext(17, " Receiving ");
42
- i0.ɵɵelementEnd()()();
43
- i0.ɵɵelementStart(18, "div", 23)(19, "button", 24);
44
- i0.ɵɵlistener("click", function CommunicationProvidersResourceComponent_div_13_div_1_Template_button_click_19_listener() { const provider_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.configureProvider(provider_r3)); });
45
- i0.ɵɵelement(20, "i", 25);
46
- i0.ɵɵtext(21, " Configure ");
66
+ i0.ɵɵconditionalCreate(19, CommunicationProvidersResourceComponent_Conditional_11_For_2_Conditional_19_Template, 3, 0, "span", 18);
67
+ i0.ɵɵconditionalCreate(20, CommunicationProvidersResourceComponent_Conditional_11_For_2_Conditional_20_Template, 3, 0, "span", 18);
68
+ i0.ɵɵconditionalCreate(21, CommunicationProvidersResourceComponent_Conditional_11_For_2_Conditional_21_Template, 3, 0, "span", 18);
69
+ i0.ɵɵconditionalCreate(22, CommunicationProvidersResourceComponent_Conditional_11_For_2_Conditional_22_Template, 3, 0, "span", 18);
70
+ i0.ɵɵelementEnd();
71
+ i0.ɵɵelementStart(23, "div", 19)(24, "div", 20)(25, "div", 21);
72
+ i0.ɵɵtext(26);
73
+ i0.ɵɵelementEnd();
74
+ i0.ɵɵelementStart(27, "div", 22);
75
+ i0.ɵɵtext(28, "Sent (24h)");
76
+ i0.ɵɵelementEnd()();
77
+ i0.ɵɵelementStart(29, "div", 20)(30, "div", 21);
78
+ i0.ɵɵtext(31);
79
+ i0.ɵɵelementEnd();
80
+ i0.ɵɵelementStart(32, "div", 22);
81
+ i0.ɵɵtext(33, "Success");
82
+ i0.ɵɵelementEnd()();
83
+ i0.ɵɵelementStart(34, "div", 20)(35, "div", 21);
84
+ i0.ɵɵtext(36);
47
85
  i0.ɵɵelementEnd();
48
- i0.ɵɵelementStart(22, "button", 26);
49
- i0.ɵɵlistener("click", function CommunicationProvidersResourceComponent_div_13_div_1_Template_button_click_22_listener() { const provider_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.viewProviderLogs(provider_r3)); });
50
- i0.ɵɵtext(23, " Logs ");
86
+ i0.ɵɵelementStart(37, "div", 22);
87
+ i0.ɵɵtext(38, "Failed");
88
+ i0.ɵɵelementEnd()()()();
89
+ i0.ɵɵelementStart(39, "div", 23)(40, "button", 24);
90
+ i0.ɵɵlistener("click", function CommunicationProvidersResourceComponent_Conditional_11_For_2_Template_button_click_40_listener() { const card_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.configureProvider(card_r2.Entity)); });
91
+ i0.ɵɵelement(41, "i", 25);
92
+ i0.ɵɵtext(42, " Configure ");
93
+ i0.ɵɵelementEnd();
94
+ i0.ɵɵelementStart(43, "button", 24);
95
+ i0.ɵɵlistener("click", function CommunicationProvidersResourceComponent_Conditional_11_For_2_Template_button_click_43_listener() { const card_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.viewProviderLogs(card_r2.Entity)); });
96
+ i0.ɵɵelement(44, "i", 26);
97
+ i0.ɵɵtext(45, " Analytics ");
51
98
  i0.ɵɵelementEnd()()();
52
99
  } if (rf & 2) {
53
- const provider_r3 = ctx.$implicit;
54
- const ctx_r3 = i0.ɵɵnextContext(2);
55
- i0.ɵɵclassProp("disabled", provider_r3.Status === "Disabled");
100
+ const card_r2 = ctx.$implicit;
101
+ i0.ɵɵclassProp("disabled", card_r2.Entity.Status === "Disabled");
102
+ i0.ɵɵadvance(2);
103
+ i0.ɵɵproperty("ngClass", card_r2.LogoClass);
104
+ i0.ɵɵadvance();
105
+ i0.ɵɵclassMap(card_r2.IconClass);
56
106
  i0.ɵɵadvance(3);
57
- i0.ɵɵclassMap(ctx_r3.getProviderIcon(provider_r3.Name));
107
+ i0.ɵɵtextInterpolate(card_r2.Entity.Name);
108
+ i0.ɵɵadvance(2);
109
+ i0.ɵɵtextInterpolate(card_r2.Entity.Description || "No description");
58
110
  i0.ɵɵadvance();
59
- i0.ɵɵclassMap(provider_r3.Status.toLowerCase());
111
+ i0.ɵɵproperty("ngClass", card_r2.Entity.Status.toLowerCase());
60
112
  i0.ɵɵadvance();
61
- i0.ɵɵtextInterpolate1(" ", provider_r3.Status, " ");
113
+ i0.ɵɵtextInterpolate1(" ", card_r2.Entity.Status, " ");
62
114
  i0.ɵɵadvance(3);
63
- i0.ɵɵtextInterpolate(provider_r3.Name);
115
+ i0.ɵɵclassProp("supported", card_r2.Entity.SupportsSending)("unsupported", !card_r2.Entity.SupportsSending);
116
+ i0.ɵɵadvance();
117
+ i0.ɵɵclassMap(card_r2.Entity.SupportsSending ? "fa-solid fa-check" : "fa-solid fa-xmark");
64
118
  i0.ɵɵadvance(2);
65
- i0.ɵɵtextInterpolate(provider_r3.Description || "No description provided.");
119
+ i0.ɵɵclassProp("supported", card_r2.Entity.SupportsReceiving)("unsupported", !card_r2.Entity.SupportsReceiving);
120
+ i0.ɵɵadvance();
121
+ i0.ɵɵclassMap(card_r2.Entity.SupportsReceiving ? "fa-solid fa-check" : "fa-solid fa-xmark");
66
122
  i0.ɵɵadvance(2);
67
- i0.ɵɵclassProp("active", provider_r3.SupportsSending);
68
- i0.ɵɵadvance(3);
69
- i0.ɵɵclassProp("active", provider_r3.SupportsReceiving);
123
+ i0.ɵɵconditional(card_r2.Entity.SupportsScheduledSending ? 19 : -1);
124
+ i0.ɵɵadvance();
125
+ i0.ɵɵconditional(card_r2.Entity.SupportsDrafts ? 20 : -1);
126
+ i0.ɵɵadvance();
127
+ i0.ɵɵconditional(card_r2.Entity.SupportsForwarding ? 21 : -1);
128
+ i0.ɵɵadvance();
129
+ i0.ɵɵconditional(card_r2.Entity.SupportsReplying ? 22 : -1);
130
+ i0.ɵɵadvance(4);
131
+ i0.ɵɵtextInterpolate(card_r2.SentCount);
132
+ i0.ɵɵadvance(5);
133
+ i0.ɵɵtextInterpolate1("", card_r2.SuccessRate, "%");
134
+ i0.ɵɵadvance(5);
135
+ i0.ɵɵtextInterpolate(card_r2.FailedCount);
70
136
  } }
71
- function CommunicationProvidersResourceComponent_div_13_Template(rf, ctx) { if (rf & 1) {
72
- const _r1 = i0.ɵɵgetCurrentView();
73
- i0.ɵɵelementStart(0, "div", 10);
74
- i0.ɵɵtemplate(1, CommunicationProvidersResourceComponent_div_13_div_1_Template, 24, 13, "div", 11);
75
- i0.ɵɵelementStart(2, "div", 12);
76
- i0.ɵɵlistener("click", function CommunicationProvidersResourceComponent_div_13_Template_div_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.addNewProvider()); });
77
- i0.ɵɵelement(3, "i", 13);
78
- i0.ɵɵelementStart(4, "span");
79
- i0.ɵɵtext(5, "Connect New Service");
80
- i0.ɵɵelementEnd()()();
137
+ function CommunicationProvidersResourceComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
138
+ i0.ɵɵelementStart(0, "div", 5);
139
+ i0.ɵɵrepeaterCreate(1, CommunicationProvidersResourceComponent_Conditional_11_For_2_Template, 46, 28, "div", 7, i0.ɵɵrepeaterTrackByIdentity);
140
+ i0.ɵɵelementEnd();
81
141
  } if (rf & 2) {
82
- const ctx_r3 = i0.ɵɵnextContext();
142
+ const ctx_r2 = i0.ɵɵnextContext();
83
143
  i0.ɵɵadvance();
84
- i0.ɵɵproperty("ngForOf", ctx_r3.providers);
144
+ i0.ɵɵrepeater(ctx_r2.providerCards);
85
145
  } }
86
- /**
87
- * Tree-shaking prevention function
88
- */
89
- export function LoadCommunicationProvidersResource() {
90
- // Force inclusion in production builds
91
- }
92
146
  let CommunicationProvidersResourceComponent = class CommunicationProvidersResourceComponent extends BaseResourceComponent {
93
147
  cdr;
94
148
  navService;
95
149
  isLoading = false;
96
- providers = [];
150
+ providerCards = [];
97
151
  constructor(cdr, navService) {
98
152
  super();
99
153
  this.cdr = cdr;
@@ -109,13 +163,24 @@ let CommunicationProvidersResourceComponent = class CommunicationProvidersResour
109
163
  this.isLoading = true;
110
164
  this.cdr.detectChanges();
111
165
  const rv = new RunView();
112
- const result = await rv.RunView({
113
- EntityName: 'Communication Providers',
114
- OrderBy: 'Name ASC',
115
- ResultType: 'entity_object'
116
- });
117
- if (result.Success) {
118
- this.providers = result.Results;
166
+ const yesterday = new Date();
167
+ yesterday.setDate(yesterday.getDate() - 1);
168
+ const yesterdayIso = yesterday.toISOString();
169
+ const [providersResult, logsResult] = await Promise.all([
170
+ rv.RunView({
171
+ EntityName: 'Communication Providers',
172
+ OrderBy: 'Name ASC',
173
+ ResultType: 'entity_object'
174
+ }),
175
+ rv.RunView({
176
+ EntityName: 'Communication Logs',
177
+ ExtraFilter: `MessageDate >= '${yesterdayIso}'`,
178
+ ResultType: 'entity_object'
179
+ })
180
+ ]);
181
+ if (providersResult.Success) {
182
+ const logs = logsResult.Success ? logsResult.Results : [];
183
+ this.providerCards = providersResult.Results.map(p => this.buildProviderCard(p, logs));
119
184
  }
120
185
  }
121
186
  catch (error) {
@@ -126,29 +191,55 @@ let CommunicationProvidersResourceComponent = class CommunicationProvidersResour
126
191
  this.cdr.detectChanges();
127
192
  }
128
193
  }
194
+ buildProviderCard(provider, logs) {
195
+ const providerLogs = logs.filter(l => l.CommunicationProvider === provider.Name);
196
+ const sent = providerLogs.length;
197
+ const failed = providerLogs.filter(l => l.Status === 'Failed').length;
198
+ const rate = sent > 0 ? parseFloat(((sent - failed) / sent * 100).toFixed(1)) : 100;
199
+ return {
200
+ Entity: provider,
201
+ SentCount: sent,
202
+ SuccessRate: rate,
203
+ FailedCount: failed,
204
+ IconClass: this.getProviderIcon(provider.Name),
205
+ LogoClass: this.getProviderLogoClass(provider.Name)
206
+ };
207
+ }
129
208
  getProviderIcon(name) {
130
209
  const n = name.toLowerCase();
131
210
  if (n.includes('sendgrid'))
132
211
  return 'fa-solid fa-envelope';
133
212
  if (n.includes('twilio'))
134
213
  return 'fa-solid fa-comment-sms';
214
+ if (n.includes('gmail') || n.includes('google'))
215
+ return 'fa-brands fa-google';
216
+ if (n.includes('microsoft') || n.includes('graph') || n.includes('outlook'))
217
+ return 'fa-brands fa-microsoft';
135
218
  if (n.includes('aws') || n.includes('ses'))
136
219
  return 'fa-brands fa-aws';
137
220
  if (n.includes('slack'))
138
221
  return 'fa-brands fa-slack';
139
- if (n.includes('teams'))
140
- return 'fa-solid fa-users-rectangle';
141
222
  return 'fa-solid fa-server';
142
223
  }
224
+ getProviderLogoClass(name) {
225
+ const n = name.toLowerCase();
226
+ if (n.includes('sendgrid'))
227
+ return 'sendgrid';
228
+ if (n.includes('twilio'))
229
+ return 'twilio';
230
+ if (n.includes('gmail') || n.includes('google'))
231
+ return 'gmail';
232
+ if (n.includes('microsoft') || n.includes('graph') || n.includes('outlook'))
233
+ return 'msgraph';
234
+ return '';
235
+ }
143
236
  configureProvider(provider) {
144
237
  const pk = new CompositeKey();
145
238
  pk.LoadFromEntityInfoAndRecord(new Metadata().Entities.find(e => e.Name === 'Communication Providers'), provider);
146
239
  this.navService.OpenEntityRecord('Communication Providers', pk);
147
240
  }
148
241
  viewProviderLogs(provider) {
149
- // Navigate to logs with filter
150
- // For now just open the logs tab (this would need a more complex navigation or shared state)
151
- console.log('View logs for provider:', provider.Name);
242
+ console.log('View analytics for provider:', provider.Name);
152
243
  }
153
244
  addNewProvider() {
154
245
  this.navService.OpenEntityRecord('Communication Providers', new CompositeKey());
@@ -160,27 +251,27 @@ let CommunicationProvidersResourceComponent = class CommunicationProvidersResour
160
251
  return 'fa-solid fa-server';
161
252
  }
162
253
  static ɵfac = function CommunicationProvidersResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CommunicationProvidersResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.NavigationService)); };
163
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommunicationProvidersResourceComponent, selectors: [["mj-communication-providers-resource"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 14, vars: 2, consts: [[1, "providers-container"], [1, "providers-header"], [1, "title-area"], [1, "header-actions"], [1, "add-btn", 3, "click"], [1, "fa-solid", "fa-plus"], ["class", "loader-container", 4, "ngIf"], ["class", "providers-grid", 4, "ngIf"], [1, "loader-container"], [1, "spinner"], [1, "providers-grid"], ["class", "provider-card", 3, "disabled", 4, "ngFor", "ngForOf"], [1, "add-card", 3, "click"], [1, "fa-solid", "fa-circle-plus"], [1, "provider-card"], [1, "card-header"], [1, "provider-logo"], [1, "status-badge"], [1, "card-body"], [1, "capabilities"], [1, "cap"], [1, "fa-solid", "fa-paper-plane"], [1, "fa-solid", "fa-inbox"], [1, "card-footer"], [1, "config-btn", 3, "click"], [1, "fa-solid", "fa-gear"], [1, "view-logs-btn", 3, "click"]], template: function CommunicationProvidersResourceComponent_Template(rf, ctx) { if (rf & 1) {
164
- i0.ɵɵelementStart(0, "div", 0)(1, "header", 1)(2, "div", 2)(3, "h1");
254
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommunicationProvidersResourceComponent, selectors: [["mj-communication-providers-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 2, consts: [[1, "providers-wrapper"], [1, "providers-header"], [1, "tb-btn", "primary", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "loading-state"], [1, "providers-grid"], ["text", "Loading providers..."], [1, "provider-card", 3, "disabled"], [1, "provider-card"], [1, "provider-card-header"], [1, "provider-card-logo", 3, "ngClass"], [1, "provider-card-title"], [1, "provider-card-name"], [1, "provider-card-desc"], [1, "provider-card-status", 3, "ngClass"], [1, "provider-card-body"], [1, "provider-capabilities"], [1, "capability-chip"], [1, "capability-chip", "supported"], [1, "provider-card-stats"], [1, "provider-stat"], [1, "provider-stat-value"], [1, "provider-stat-label"], [1, "provider-card-footer"], [3, "click"], [1, "fa-solid", "fa-gear"], [1, "fa-solid", "fa-chart-line"], [1, "fa-solid", "fa-check"]], template: function CommunicationProvidersResourceComponent_Template(rf, ctx) { if (rf & 1) {
255
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div")(3, "h2");
165
256
  i0.ɵɵtext(4, "Communication Providers");
166
257
  i0.ɵɵelementEnd();
167
258
  i0.ɵɵelementStart(5, "p");
168
- i0.ɵɵtext(6, "Manage your messaging integrations and services");
259
+ i0.ɵɵtext(6, "Manage your messaging service integrations");
169
260
  i0.ɵɵelementEnd()();
170
- i0.ɵɵelementStart(7, "div", 3)(8, "button", 4);
171
- i0.ɵɵlistener("click", function CommunicationProvidersResourceComponent_Template_button_click_8_listener() { return ctx.addNewProvider(); });
172
- i0.ɵɵelement(9, "i", 5);
173
- i0.ɵɵelementStart(10, "span");
174
- i0.ɵɵtext(11, "Add Provider");
175
- i0.ɵɵelementEnd()()()();
176
- i0.ɵɵtemplate(12, CommunicationProvidersResourceComponent_div_12_Template, 4, 0, "div", 6)(13, CommunicationProvidersResourceComponent_div_13_Template, 6, 1, "div", 7);
261
+ i0.ɵɵelementStart(7, "button", 2);
262
+ i0.ɵɵlistener("click", function CommunicationProvidersResourceComponent_Template_button_click_7_listener() { return ctx.addNewProvider(); });
263
+ i0.ɵɵelement(8, "i", 3);
264
+ i0.ɵɵtext(9, " Add Provider ");
265
+ i0.ɵɵelementEnd()();
266
+ i0.ɵɵconditionalCreate(10, CommunicationProvidersResourceComponent_Conditional_10_Template, 2, 0, "div", 4);
267
+ i0.ɵɵconditionalCreate(11, CommunicationProvidersResourceComponent_Conditional_11_Template, 3, 0, "div", 5);
177
268
  i0.ɵɵelementEnd();
178
269
  } if (rf & 2) {
179
- i0.ɵɵadvance(12);
180
- i0.ɵɵproperty("ngIf", ctx.isLoading);
270
+ i0.ɵɵadvance(10);
271
+ i0.ɵɵconditional(ctx.isLoading ? 10 : -1);
181
272
  i0.ɵɵadvance();
182
- i0.ɵɵproperty("ngIf", !ctx.isLoading);
183
- } }, dependencies: [i2.NgForOf, i2.NgIf], styles: [".providers-container[_ngcontent-%COMP%] {\n padding: 32px;\n background-color: #f8fafc;\n min-height: 100%;\n font-family: 'Inter', system-ui, -apple-system, sans-serif;\n }\n .providers-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 32px;\n }\n .title-area[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1.875rem;\n font-weight: 800;\n color: #0f172a;\n }\n .title-area[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 4px 0 0;\n color: #64748b;\n font-size: 1rem;\n }\n .add-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 24px;\n background: #3b82f6;\n border: none;\n border-radius: 10px;\n color: white;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.2);\n }\n .add-btn[_ngcontent-%COMP%]:hover {\n background: #2563eb;\n transform: translateY(-1px);\n box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.3);\n }\n\n .loader-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 100px 0;\n color: #64748b;\n }\n .spinner[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border: 4px solid #e2e8f0;\n border-top-color: #3b82f6;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1s linear infinite;\n margin-bottom: 16px;\n }\n @keyframes _ngcontent-%COMP%_spin {\n to { transform: rotate(360deg); }\n }\n\n .providers-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n gap: 24px;\n }\n .provider-card[_ngcontent-%COMP%] {\n background: white;\n border-radius: 20px;\n border: 1px solid #f1f5f9;\n padding: 24px;\n display: flex;\n flex-direction: column;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n box-shadow: 0 1px 3px rgba(0,0,0,0.05);\n }\n .provider-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-4px);\n box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);\n }\n .provider-card.disabled[_ngcontent-%COMP%] {\n opacity: 0.7;\n background: #fcfcfc;\n }\n\n .card-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 20px;\n }\n .provider-logo[_ngcontent-%COMP%] {\n width: 56px;\n height: 56px;\n background: #f8fafc;\n border-radius: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.75rem;\n color: #334155;\n border: 1px solid #f1f5f9;\n }\n .status-badge[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-weight: 700;\n padding: 4px 12px;\n border-radius: 20px;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n }\n .status-badge.active[_ngcontent-%COMP%] { background: #dcfce7; color: #166534; }\n .status-badge.disabled[_ngcontent-%COMP%] { background: #f1f5f9; color: #475569; }\n\n .card-body[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px;\n font-size: 1.25rem;\n font-weight: 700;\n color: #0f172a;\n }\n .card-body[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 20px;\n font-size: 0.9375rem;\n color: #64748b;\n line-height: 1.5;\n height: 45px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .capabilities[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n margin-bottom: 24px;\n }\n .cap[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-weight: 600;\n color: #94a3b8;\n display: flex;\n align-items: center;\n gap: 6px;\n }\n .cap.active[_ngcontent-%COMP%] {\n color: #3b82f6;\n }\n\n .card-footer[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n margin-top: auto;\n }\n .config-btn[_ngcontent-%COMP%] {\n flex: 1;\n padding: 10px;\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n color: #475569;\n font-weight: 600;\n font-size: 0.875rem;\n cursor: pointer;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n }\n .config-btn[_ngcontent-%COMP%]:hover {\n background: #f1f5f9;\n border-color: #cbd5e1;\n color: #1e293b;\n }\n .view-logs-btn[_ngcontent-%COMP%] {\n padding: 10px 16px;\n background: transparent;\n border: 1px solid transparent;\n color: #64748b;\n font-weight: 600;\n font-size: 0.875rem;\n cursor: pointer;\n }\n .view-logs-btn[_ngcontent-%COMP%]:hover {\n color: #3b82f6;\n }\n\n .add-card[_ngcontent-%COMP%] {\n border: 2px dashed #e2e8f0;\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 16px;\n color: #94a3b8;\n cursor: pointer;\n transition: all 0.2s;\n min-height: 240px;\n }\n .add-card[_ngcontent-%COMP%]:hover {\n border-color: #3b82f6;\n background: #eff6ff;\n color: #3b82f6;\n }\n .add-card[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 3rem;\n }\n .add-card[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-weight: 600;\n }"] });
273
+ i0.ɵɵconditional(!ctx.isLoading ? 11 : -1);
274
+ } }, dependencies: [i2.NgClass, i3.LoadingComponent], styles: [".providers-wrapper[_ngcontent-%COMP%] {\n height: 100%;\n padding: 24px;\n overflow-y: auto;\n background: var(--mat-sys-surface-container);\n }\n .providers-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 20px;\n }\n .providers-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 800;\n color: var(--mat-sys-on-surface);\n }\n .providers-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 4px 0 0;\n font-size: 13px;\n color: var(--mat-sys-on-surface-variant);\n }\n\n .tb-btn[_ngcontent-%COMP%] {\n display: inline-flex; align-items: center;\n gap: 6px; padding: 8px 16px;\n border: 1px solid var(--mat-sys-outline-variant);\n border-radius: var(--mat-sys-corner-extra-small, 4px);\n background: var(--mat-sys-surface-container-lowest);\n color: var(--mat-sys-on-surface-variant);\n font-size: 12px; font-weight: 600;\n cursor: pointer; transition: all 0.15s ease;\n font-family: inherit;\n }\n .tb-btn.primary[_ngcontent-%COMP%] {\n background: var(--mat-sys-primary);\n color: var(--mat-sys-on-primary, #fff);\n border-color: var(--mat-sys-primary);\n }\n .tb-btn.primary[_ngcontent-%COMP%]:hover { filter: brightness(1.1); }\n\n .loading-state[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 80px 0;\n }\n\n \n\n .providers-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));\n gap: 16px;\n }\n .provider-card[_ngcontent-%COMP%] {\n background: var(--mat-sys-surface-container-lowest);\n border: 1px solid var(--mat-sys-outline-variant);\n border-radius: var(--mat-sys-corner-medium, 12px);\n overflow: hidden;\n transition: all 0.15s ease;\n }\n .provider-card[_ngcontent-%COMP%]:hover {\n box-shadow: 0 2px 6px 2px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);\n border-color: var(--mat-sys-outline);\n }\n .provider-card.disabled[_ngcontent-%COMP%] { opacity: 0.65; }\n\n .provider-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 20px 20px 16px;\n }\n .provider-card-logo[_ngcontent-%COMP%] {\n width: 48px; height: 48px;\n border-radius: var(--mat-sys-corner-medium, 12px);\n display: flex; align-items: center; justify-content: center;\n font-size: 22px; flex-shrink: 0;\n background: var(--mat-sys-surface-container);\n }\n .provider-card-logo.sendgrid[_ngcontent-%COMP%] { background: #E8F4FD; color: #1A82E2; }\n .provider-card-logo.twilio[_ngcontent-%COMP%] { background: #FEECEE; color: #F22F46; }\n .provider-card-logo.gmail[_ngcontent-%COMP%] { background: #FEECED; color: #EA4335; }\n .provider-card-logo.msgraph[_ngcontent-%COMP%] { background: #E6F0FA; color: #0078D4; }\n\n .provider-card-title[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n .provider-card-name[_ngcontent-%COMP%] {\n font-size: 15px; font-weight: 700;\n color: var(--mat-sys-on-surface);\n white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\n }\n .provider-card-desc[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mat-sys-on-surface-variant);\n margin-top: 2px;\n }\n .provider-card-status[_ngcontent-%COMP%] {\n font-size: 10px; font-weight: 700;\n text-transform: uppercase; letter-spacing: 0.5px;\n padding: 3px 10px; border-radius: 10px;\n flex-shrink: 0;\n }\n .provider-card-status.active[_ngcontent-%COMP%] { background: #d4f8e0; color: #1b873f; }\n .provider-card-status.disabled[_ngcontent-%COMP%] { background: var(--mat-sys-surface-container-high); color: var(--mat-sys-on-surface-variant); }\n\n .provider-card-body[_ngcontent-%COMP%] { padding: 0 20px 16px; }\n\n .provider-capabilities[_ngcontent-%COMP%] {\n display: flex; flex-wrap: wrap;\n gap: 6px; margin-bottom: 16px;\n }\n .capability-chip[_ngcontent-%COMP%] {\n display: inline-flex; align-items: center;\n gap: 4px; padding: 4px 10px;\n border-radius: 12px; font-size: 11px; font-weight: 500;\n }\n .capability-chip.supported[_ngcontent-%COMP%] { background: #d4f8e0; color: #1b873f; }\n .capability-chip.unsupported[_ngcontent-%COMP%] {\n background: var(--mat-sys-surface-container);\n color: var(--mat-sys-outline);\n text-decoration: line-through;\n }\n\n .provider-card-stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 12px; padding: 12px;\n background: var(--mat-sys-surface-container-low);\n border-radius: var(--mat-sys-corner-small, 8px);\n }\n .provider-stat[_ngcontent-%COMP%] { text-align: center; }\n .provider-stat-value[_ngcontent-%COMP%] {\n font-size: 16px; font-weight: 800;\n color: var(--mat-sys-on-surface);\n }\n .provider-stat-label[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mat-sys-on-surface-variant);\n text-transform: uppercase; letter-spacing: 0.3px;\n }\n\n .provider-card-footer[_ngcontent-%COMP%] {\n display: flex;\n border-top: 1px solid var(--mat-sys-outline-variant);\n }\n .provider-card-footer[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n flex: 1; padding: 12px;\n border: none; background: transparent;\n font-size: 12px; font-weight: 600;\n color: var(--mat-sys-primary);\n cursor: pointer; transition: background 0.15s;\n font-family: inherit;\n display: flex; align-items: center;\n justify-content: center; gap: 6px;\n }\n .provider-card-footer[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n background: var(--mat-sys-surface-container-low);\n }\n .provider-card-footer[_ngcontent-%COMP%] button[_ngcontent-%COMP%] + button[_ngcontent-%COMP%] {\n border-left: 1px solid var(--mat-sys-outline-variant);\n }"] });
184
275
  };
185
276
  CommunicationProvidersResourceComponent = __decorate([
186
277
  RegisterClass(BaseResourceComponent, 'CommunicationProvidersResource')
@@ -188,66 +279,98 @@ CommunicationProvidersResourceComponent = __decorate([
188
279
  export { CommunicationProvidersResourceComponent };
189
280
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommunicationProvidersResourceComponent, [{
190
281
  type: Component,
191
- args: [{ selector: 'mj-communication-providers-resource', template: `
192
- <div class="providers-container">
193
- <header class="providers-header">
194
- <div class="title-area">
195
- <h1>Communication Providers</h1>
196
- <p>Manage your messaging integrations and services</p>
197
- </div>
198
- <div class="header-actions">
199
- <button class="add-btn" (click)="addNewProvider()">
200
- <i class="fa-solid fa-plus"></i>
201
- <span>Add Provider</span>
202
- </button>
203
- </div>
204
- </header>
205
-
206
- <div *ngIf="isLoading" class="loader-container">
207
- <div class="spinner"></div>
208
- <p>Loading providers...</p>
282
+ args: [{ standalone: false, selector: 'mj-communication-providers-resource', template: `
283
+ <div class="providers-wrapper">
284
+ <div class="providers-header">
285
+ <div>
286
+ <h2>Communication Providers</h2>
287
+ <p>Manage your messaging service integrations</p>
288
+ </div>
289
+ <button class="tb-btn primary" (click)="addNewProvider()">
290
+ <i class="fa-solid fa-plus"></i> Add Provider
291
+ </button>
292
+ </div>
293
+
294
+ @if (isLoading) {
295
+ <div class="loading-state">
296
+ <mj-loading text="Loading providers..."></mj-loading>
209
297
  </div>
210
-
211
- <div *ngIf="!isLoading" class="providers-grid">
212
- <div *ngFor="let provider of providers" class="provider-card" [class.disabled]="provider.Status === 'Disabled'">
213
- <div class="card-header">
214
- <div class="provider-logo">
215
- <i [class]="getProviderIcon(provider.Name)"></i>
216
- </div>
217
- <div class="status-badge" [class]="provider.Status.toLowerCase()">
218
- {{provider.Status}}
219
- </div>
298
+ }
299
+
300
+ @if (!isLoading) {
301
+ <div class="providers-grid">
302
+ @for (card of providerCards; track card) {
303
+ <div class="provider-card" [class.disabled]="card.Entity.Status === 'Disabled'">
304
+ <div class="provider-card-header">
305
+ <div class="provider-card-logo" [ngClass]="card.LogoClass">
306
+ <i [class]="card.IconClass"></i>
220
307
  </div>
221
- <div class="card-body">
222
- <h3>{{provider.Name}}</h3>
223
- <p>{{provider.Description || 'No description provided.'}}</p>
224
-
225
- <div class="capabilities">
226
- <span class="cap" [class.active]="provider.SupportsSending">
227
- <i class="fa-solid fa-paper-plane"></i> Sending
228
- </span>
229
- <span class="cap" [class.active]="provider.SupportsReceiving">
230
- <i class="fa-solid fa-inbox"></i> Receiving
231
- </span>
232
- </div>
308
+ <div class="provider-card-title">
309
+ <div class="provider-card-name">{{card.Entity.Name}}</div>
310
+ <div class="provider-card-desc">{{card.Entity.Description || 'No description'}}</div>
233
311
  </div>
234
- <div class="card-footer">
235
- <button class="config-btn" (click)="configureProvider(provider)">
236
- <i class="fa-solid fa-gear"></i> Configure
237
- </button>
238
- <button class="view-logs-btn" (click)="viewProviderLogs(provider)">
239
- Logs
240
- </button>
312
+ <span class="provider-card-status" [ngClass]="card.Entity.Status.toLowerCase()">
313
+ {{card.Entity.Status}}
314
+ </span>
315
+ </div>
316
+ <div class="provider-card-body">
317
+ <div class="provider-capabilities">
318
+ <span class="capability-chip" [class.supported]="card.Entity.SupportsSending" [class.unsupported]="!card.Entity.SupportsSending">
319
+ <i [class]="card.Entity.SupportsSending ? 'fa-solid fa-check' : 'fa-solid fa-xmark'"></i> Sending
320
+ </span>
321
+ <span class="capability-chip" [class.supported]="card.Entity.SupportsReceiving" [class.unsupported]="!card.Entity.SupportsReceiving">
322
+ <i [class]="card.Entity.SupportsReceiving ? 'fa-solid fa-check' : 'fa-solid fa-xmark'"></i> Receiving
323
+ </span>
324
+ @if (card.Entity.SupportsScheduledSending) {
325
+ <span class="capability-chip supported">
326
+ <i class="fa-solid fa-check"></i> Scheduled
327
+ </span>
328
+ }
329
+ @if (card.Entity.SupportsDrafts) {
330
+ <span class="capability-chip supported">
331
+ <i class="fa-solid fa-check"></i> Drafts
332
+ </span>
333
+ }
334
+ @if (card.Entity.SupportsForwarding) {
335
+ <span class="capability-chip supported">
336
+ <i class="fa-solid fa-check"></i> Forward
337
+ </span>
338
+ }
339
+ @if (card.Entity.SupportsReplying) {
340
+ <span class="capability-chip supported">
341
+ <i class="fa-solid fa-check"></i> Reply
342
+ </span>
343
+ }
241
344
  </div>
345
+ <div class="provider-card-stats">
346
+ <div class="provider-stat">
347
+ <div class="provider-stat-value">{{card.SentCount}}</div>
348
+ <div class="provider-stat-label">Sent (24h)</div>
349
+ </div>
350
+ <div class="provider-stat">
351
+ <div class="provider-stat-value">{{card.SuccessRate}}%</div>
352
+ <div class="provider-stat-label">Success</div>
353
+ </div>
354
+ <div class="provider-stat">
355
+ <div class="provider-stat-value">{{card.FailedCount}}</div>
356
+ <div class="provider-stat-label">Failed</div>
357
+ </div>
358
+ </div>
359
+ </div>
360
+ <div class="provider-card-footer">
361
+ <button (click)="configureProvider(card.Entity)">
362
+ <i class="fa-solid fa-gear"></i> Configure
363
+ </button>
364
+ <button (click)="viewProviderLogs(card.Entity)">
365
+ <i class="fa-solid fa-chart-line"></i> Analytics
366
+ </button>
367
+ </div>
242
368
  </div>
243
-
244
- <div class="add-card" (click)="addNewProvider()">
245
- <i class="fa-solid fa-circle-plus"></i>
246
- <span>Connect New Service</span>
247
- </div>
369
+ }
248
370
  </div>
371
+ }
249
372
  </div>
250
- `, styles: ["\n .providers-container {\n padding: 32px;\n background-color: #f8fafc;\n min-height: 100%;\n font-family: 'Inter', system-ui, -apple-system, sans-serif;\n }\n .providers-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 32px;\n }\n .title-area h1 {\n margin: 0;\n font-size: 1.875rem;\n font-weight: 800;\n color: #0f172a;\n }\n .title-area p {\n margin: 4px 0 0;\n color: #64748b;\n font-size: 1rem;\n }\n .add-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 24px;\n background: #3b82f6;\n border: none;\n border-radius: 10px;\n color: white;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.2);\n }\n .add-btn:hover {\n background: #2563eb;\n transform: translateY(-1px);\n box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.3);\n }\n\n .loader-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 100px 0;\n color: #64748b;\n }\n .spinner {\n width: 40px;\n height: 40px;\n border: 4px solid #e2e8f0;\n border-top-color: #3b82f6;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n margin-bottom: 16px;\n }\n @keyframes spin {\n to { transform: rotate(360deg); }\n }\n\n .providers-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n gap: 24px;\n }\n .provider-card {\n background: white;\n border-radius: 20px;\n border: 1px solid #f1f5f9;\n padding: 24px;\n display: flex;\n flex-direction: column;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n box-shadow: 0 1px 3px rgba(0,0,0,0.05);\n }\n .provider-card:hover {\n transform: translateY(-4px);\n box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);\n }\n .provider-card.disabled {\n opacity: 0.7;\n background: #fcfcfc;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 20px;\n }\n .provider-logo {\n width: 56px;\n height: 56px;\n background: #f8fafc;\n border-radius: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.75rem;\n color: #334155;\n border: 1px solid #f1f5f9;\n }\n .status-badge {\n font-size: 0.75rem;\n font-weight: 700;\n padding: 4px 12px;\n border-radius: 20px;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n }\n .status-badge.active { background: #dcfce7; color: #166534; }\n .status-badge.disabled { background: #f1f5f9; color: #475569; }\n\n .card-body h3 {\n margin: 0 0 8px;\n font-size: 1.25rem;\n font-weight: 700;\n color: #0f172a;\n }\n .card-body p {\n margin: 0 0 20px;\n font-size: 0.9375rem;\n color: #64748b;\n line-height: 1.5;\n height: 45px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .capabilities {\n display: flex;\n gap: 12px;\n margin-bottom: 24px;\n }\n .cap {\n font-size: 0.75rem;\n font-weight: 600;\n color: #94a3b8;\n display: flex;\n align-items: center;\n gap: 6px;\n }\n .cap.active {\n color: #3b82f6;\n }\n\n .card-footer {\n display: flex;\n gap: 12px;\n margin-top: auto;\n }\n .config-btn {\n flex: 1;\n padding: 10px;\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n color: #475569;\n font-weight: 600;\n font-size: 0.875rem;\n cursor: pointer;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n }\n .config-btn:hover {\n background: #f1f5f9;\n border-color: #cbd5e1;\n color: #1e293b;\n }\n .view-logs-btn {\n padding: 10px 16px;\n background: transparent;\n border: 1px solid transparent;\n color: #64748b;\n font-weight: 600;\n font-size: 0.875rem;\n cursor: pointer;\n }\n .view-logs-btn:hover {\n color: #3b82f6;\n }\n\n .add-card {\n border: 2px dashed #e2e8f0;\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 16px;\n color: #94a3b8;\n cursor: pointer;\n transition: all 0.2s;\n min-height: 240px;\n }\n .add-card:hover {\n border-color: #3b82f6;\n background: #eff6ff;\n color: #3b82f6;\n }\n .add-card i {\n font-size: 3rem;\n }\n .add-card span {\n font-weight: 600;\n }\n "] }]
373
+ `, styles: ["\n .providers-wrapper {\n height: 100%;\n padding: 24px;\n overflow-y: auto;\n background: var(--mat-sys-surface-container);\n }\n .providers-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 20px;\n }\n .providers-header h2 {\n margin: 0;\n font-size: 18px;\n font-weight: 800;\n color: var(--mat-sys-on-surface);\n }\n .providers-header p {\n margin: 4px 0 0;\n font-size: 13px;\n color: var(--mat-sys-on-surface-variant);\n }\n\n .tb-btn {\n display: inline-flex; align-items: center;\n gap: 6px; padding: 8px 16px;\n border: 1px solid var(--mat-sys-outline-variant);\n border-radius: var(--mat-sys-corner-extra-small, 4px);\n background: var(--mat-sys-surface-container-lowest);\n color: var(--mat-sys-on-surface-variant);\n font-size: 12px; font-weight: 600;\n cursor: pointer; transition: all 0.15s ease;\n font-family: inherit;\n }\n .tb-btn.primary {\n background: var(--mat-sys-primary);\n color: var(--mat-sys-on-primary, #fff);\n border-color: var(--mat-sys-primary);\n }\n .tb-btn.primary:hover { filter: brightness(1.1); }\n\n .loading-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 80px 0;\n }\n\n /* GRID */\n .providers-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));\n gap: 16px;\n }\n .provider-card {\n background: var(--mat-sys-surface-container-lowest);\n border: 1px solid var(--mat-sys-outline-variant);\n border-radius: var(--mat-sys-corner-medium, 12px);\n overflow: hidden;\n transition: all 0.15s ease;\n }\n .provider-card:hover {\n box-shadow: 0 2px 6px 2px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);\n border-color: var(--mat-sys-outline);\n }\n .provider-card.disabled { opacity: 0.65; }\n\n .provider-card-header {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 20px 20px 16px;\n }\n .provider-card-logo {\n width: 48px; height: 48px;\n border-radius: var(--mat-sys-corner-medium, 12px);\n display: flex; align-items: center; justify-content: center;\n font-size: 22px; flex-shrink: 0;\n background: var(--mat-sys-surface-container);\n }\n .provider-card-logo.sendgrid { background: #E8F4FD; color: #1A82E2; }\n .provider-card-logo.twilio { background: #FEECEE; color: #F22F46; }\n .provider-card-logo.gmail { background: #FEECED; color: #EA4335; }\n .provider-card-logo.msgraph { background: #E6F0FA; color: #0078D4; }\n\n .provider-card-title { flex: 1; min-width: 0; }\n .provider-card-name {\n font-size: 15px; font-weight: 700;\n color: var(--mat-sys-on-surface);\n white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\n }\n .provider-card-desc {\n font-size: 12px;\n color: var(--mat-sys-on-surface-variant);\n margin-top: 2px;\n }\n .provider-card-status {\n font-size: 10px; font-weight: 700;\n text-transform: uppercase; letter-spacing: 0.5px;\n padding: 3px 10px; border-radius: 10px;\n flex-shrink: 0;\n }\n .provider-card-status.active { background: #d4f8e0; color: #1b873f; }\n .provider-card-status.disabled { background: var(--mat-sys-surface-container-high); color: var(--mat-sys-on-surface-variant); }\n\n .provider-card-body { padding: 0 20px 16px; }\n\n .provider-capabilities {\n display: flex; flex-wrap: wrap;\n gap: 6px; margin-bottom: 16px;\n }\n .capability-chip {\n display: inline-flex; align-items: center;\n gap: 4px; padding: 4px 10px;\n border-radius: 12px; font-size: 11px; font-weight: 500;\n }\n .capability-chip.supported { background: #d4f8e0; color: #1b873f; }\n .capability-chip.unsupported {\n background: var(--mat-sys-surface-container);\n color: var(--mat-sys-outline);\n text-decoration: line-through;\n }\n\n .provider-card-stats {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 12px; padding: 12px;\n background: var(--mat-sys-surface-container-low);\n border-radius: var(--mat-sys-corner-small, 8px);\n }\n .provider-stat { text-align: center; }\n .provider-stat-value {\n font-size: 16px; font-weight: 800;\n color: var(--mat-sys-on-surface);\n }\n .provider-stat-label {\n font-size: 10px;\n color: var(--mat-sys-on-surface-variant);\n text-transform: uppercase; letter-spacing: 0.3px;\n }\n\n .provider-card-footer {\n display: flex;\n border-top: 1px solid var(--mat-sys-outline-variant);\n }\n .provider-card-footer button {\n flex: 1; padding: 12px;\n border: none; background: transparent;\n font-size: 12px; font-weight: 600;\n color: var(--mat-sys-primary);\n cursor: pointer; transition: background 0.15s;\n font-family: inherit;\n display: flex; align-items: center;\n justify-content: center; gap: 6px;\n }\n .provider-card-footer button:hover {\n background: var(--mat-sys-surface-container-low);\n }\n .provider-card-footer button + button {\n border-left: 1px solid var(--mat-sys-outline-variant);\n }\n "] }]
251
374
  }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.NavigationService }], null); })();
252
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CommunicationProvidersResourceComponent, { className: "CommunicationProvidersResourceComponent", filePath: "src/Communication/communication-providers-resource.component.ts", lineNumber: 295 }); })();
375
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CommunicationProvidersResourceComponent, { className: "CommunicationProvidersResourceComponent", filePath: "src/communication/communication-providers-resource.component.ts", lineNumber: 276 }); })();
253
376
  //# sourceMappingURL=communication-providers-resource.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"communication-providers-resource.component.js","sourceRoot":"","sources":["../../src/Communication/communication-providers-resource.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communication-providers-resource.component.js","sourceRoot":"","sources":["../../src/Communication/communication-providers-resource.component.ts"],"names":[],"mappings":"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"}