@memberjunction/ng-dashboards 5.34.0 → 5.35.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 (348) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +399 -292
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
  6. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
  7. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
  8. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
  9. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
  10. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  11. package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
  12. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  13. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
  14. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
  15. package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
  16. package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
  17. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
  18. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
  19. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
  20. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
  21. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
  22. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
  23. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
  24. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
  25. package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
  26. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
  27. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
  28. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
  29. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
  30. package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
  31. package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
  32. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
  33. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
  34. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
  35. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
  36. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
  37. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
  38. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
  39. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  40. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
  41. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  42. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
  43. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  44. package/dist/AI/components/models/model-management.component.d.ts +17 -0
  45. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  46. package/dist/AI/components/models/model-management.component.js +370 -425
  47. package/dist/AI/components/models/model-management.component.js.map +1 -1
  48. package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
  49. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  50. package/dist/AI/components/prompts/prompt-management.component.js +317 -357
  51. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  52. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
  53. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
  54. package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
  55. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  56. package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
  57. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  58. package/dist/AI/components/system/system-configuration.component.js +403 -362
  59. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  60. package/dist/AI/components/tags/tags-resource.component.js +781 -783
  61. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  62. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
  63. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  64. package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
  65. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  66. package/dist/Actions/components/actions-overview.component.d.ts +6 -0
  67. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  68. package/dist/Actions/components/actions-overview.component.js +79 -30
  69. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  70. package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
  71. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  72. package/dist/Actions/components/execution-monitoring.component.js +196 -142
  73. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  74. package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
  75. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  76. package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
  77. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  78. package/dist/Actions/components/explorer/index.d.ts +0 -1
  79. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  80. package/dist/Actions/components/explorer/index.js +0 -1
  81. package/dist/Actions/components/explorer/index.js.map +1 -1
  82. package/dist/Admin/admin-data-schema.component.js +32 -40
  83. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  84. package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
  85. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  86. package/dist/Admin/admin-identity-access.component.js +32 -40
  87. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  88. package/dist/Admin/admin-monitoring.component.js +32 -40
  89. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  90. package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
  91. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  92. package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
  93. package/dist/Archiving/components/archive-config-resource.component.js +24 -5
  94. package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
  95. package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
  96. package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
  97. package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
  98. package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
  99. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  100. package/dist/Communication/communication-logs-resource.component.js +80 -99
  101. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  102. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  103. package/dist/Communication/communication-monitor-resource.component.js +127 -106
  104. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  105. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  106. package/dist/Communication/communication-providers-resource.component.js +44 -45
  107. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  108. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  109. package/dist/Communication/communication-runs-resource.component.js +60 -58
  110. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  111. package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
  112. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  113. package/dist/Communication/communication-templates-resource.component.js +139 -162
  114. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  115. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
  116. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  117. package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
  118. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  119. package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
  120. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  121. package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
  122. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  123. package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
  124. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  125. package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
  126. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  127. package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
  128. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  129. package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
  130. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  131. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
  132. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
  133. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
  134. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  135. package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
  136. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  137. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  138. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  139. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
  140. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  141. package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
  142. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  143. package/dist/Home/home-dashboard.component.d.ts +6 -0
  144. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  145. package/dist/Home/home-dashboard.component.js +521 -485
  146. package/dist/Home/home-dashboard.component.js.map +1 -1
  147. package/dist/Integration/components/activity/activity.component.d.ts +8 -0
  148. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  149. package/dist/Integration/components/activity/activity.component.js +309 -318
  150. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  151. package/dist/Integration/components/connections/connections.component.js +866 -847
  152. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  153. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
  154. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  155. package/dist/Integration/components/overview/overview.component.js +182 -163
  156. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  157. package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
  158. package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
  159. package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
  160. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  161. package/dist/Integration/components/schedules/schedules.component.js +241 -241
  162. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  163. package/dist/Integration/integration.module.d.ts +1 -1
  164. package/dist/Integration/integration.module.d.ts.map +1 -1
  165. package/dist/Integration/integration.module.js +28 -1
  166. package/dist/Integration/integration.module.js.map +1 -1
  167. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
  168. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  169. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
  170. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  171. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
  172. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  173. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
  174. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
  175. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
  176. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  177. package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
  178. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  179. package/dist/Lists/components/lists-browse-resource.component.js +486 -532
  180. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  181. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  182. package/dist/Lists/components/lists-categories-resource.component.js +152 -160
  183. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  184. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  185. package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
  186. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  187. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  188. package/dist/Lists/components/lists-operations-resource.component.js +234 -246
  189. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  190. package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
  191. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  192. package/dist/MCP/mcp-dashboard.component.js +1248 -1338
  193. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  194. package/dist/MCP/mcp.module.d.ts +1 -1
  195. package/dist/MCP/mcp.module.d.ts.map +1 -1
  196. package/dist/MCP/mcp.module.js +34 -1
  197. package/dist/MCP/mcp.module.js.map +1 -1
  198. package/dist/Permissions/audit-log-resource.component.js +76 -85
  199. package/dist/Permissions/audit-log-resource.component.js.map +1 -1
  200. package/dist/Permissions/resource-access-resource.component.js +64 -69
  201. package/dist/Permissions/resource-access-resource.component.js.map +1 -1
  202. package/dist/Permissions/user-access-resource.component.js +63 -74
  203. package/dist/Permissions/user-access-resource.component.js.map +1 -1
  204. package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
  205. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  206. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
  207. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  208. package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
  209. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  210. package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
  211. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  212. package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
  213. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  214. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
  215. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  216. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
  217. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  218. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
  219. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  220. package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
  221. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  222. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
  223. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  224. package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
  225. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  226. package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
  227. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  228. package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
  229. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  230. package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
  231. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  232. package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
  233. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  234. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +4 -0
  235. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  236. package/dist/SystemDiagnostics/system-diagnostics.component.js +812 -784
  237. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  238. package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
  239. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  240. package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
  241. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  242. package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
  243. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  244. package/dist/Testing/components/testing-analytics.component.js +420 -393
  245. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  246. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
  247. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  248. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
  249. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  250. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
  251. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  252. package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
  253. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  254. package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
  255. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  256. package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
  257. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  258. package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
  259. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  260. package/dist/Testing/components/testing-explorer.component.js +587 -608
  261. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  262. package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
  263. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  264. package/dist/Testing/components/testing-review-resource.component.js +9 -12
  265. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  266. package/dist/Testing/components/testing-review.component.d.ts +3 -1
  267. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  268. package/dist/Testing/components/testing-review.component.js +310 -274
  269. package/dist/Testing/components/testing-review.component.js.map +1 -1
  270. package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
  271. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  272. package/dist/Testing/components/testing-runs-resource.component.js +16 -19
  273. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  274. package/dist/Testing/components/testing-runs.component.d.ts +3 -1
  275. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  276. package/dist/Testing/components/testing-runs.component.js +307 -273
  277. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  278. package/dist/Testing/testing-dashboard.component.d.ts +2 -0
  279. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  280. package/dist/Testing/testing-dashboard.component.js +107 -93
  281. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  282. package/dist/VersionHistory/components/diff-resource.component.js +185 -188
  283. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  284. package/dist/VersionHistory/components/graph-resource.component.js +154 -184
  285. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  286. package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
  287. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
  288. package/dist/VersionHistory/components/labels-resource.component.js +350 -354
  289. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  290. package/dist/VersionHistory/components/restore-resource.component.js +163 -169
  291. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  292. package/dist/actions-dashboards.module.d.ts +15 -16
  293. package/dist/actions-dashboards.module.d.ts.map +1 -1
  294. package/dist/actions-dashboards.module.js +34 -11
  295. package/dist/actions-dashboards.module.js.map +1 -1
  296. package/dist/ai-dashboards.module.d.ts +45 -48
  297. package/dist/ai-dashboards.module.d.ts.map +1 -1
  298. package/dist/ai-dashboards.module.js +36 -10
  299. package/dist/ai-dashboards.module.js.map +1 -1
  300. package/dist/archiving-dashboards.module.d.ts +2 -1
  301. package/dist/archiving-dashboards.module.d.ts.map +1 -1
  302. package/dist/archiving-dashboards.module.js +12 -2
  303. package/dist/archiving-dashboards.module.js.map +1 -1
  304. package/dist/communication-dashboards.module.d.ts +2 -1
  305. package/dist/communication-dashboards.module.d.ts.map +1 -1
  306. package/dist/communication-dashboards.module.js +24 -3
  307. package/dist/communication-dashboards.module.js.map +1 -1
  308. package/dist/core-dashboards.module.d.ts +1 -1
  309. package/dist/core-dashboards.module.d.ts.map +1 -1
  310. package/dist/core-dashboards.module.js +31 -1
  311. package/dist/core-dashboards.module.js.map +1 -1
  312. package/dist/credentials-dashboards.module.d.ts +1 -1
  313. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  314. package/dist/credentials-dashboards.module.js +28 -1
  315. package/dist/credentials-dashboards.module.js.map +1 -1
  316. package/dist/lists-dashboards.module.d.ts +1 -1
  317. package/dist/lists-dashboards.module.d.ts.map +1 -1
  318. package/dist/lists-dashboards.module.js +28 -1
  319. package/dist/lists-dashboards.module.js.map +1 -1
  320. package/dist/public-api.d.ts +2 -2
  321. package/dist/public-api.d.ts.map +1 -1
  322. package/dist/public-api.js +3 -3
  323. package/dist/public-api.js.map +1 -1
  324. package/dist/scheduling-dashboards.module.d.ts +1 -1
  325. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  326. package/dist/scheduling-dashboards.module.js +31 -1
  327. package/dist/scheduling-dashboards.module.js.map +1 -1
  328. package/dist/testing-dashboards.module.d.ts +8 -7
  329. package/dist/testing-dashboards.module.d.ts.map +1 -1
  330. package/dist/testing-dashboards.module.js +30 -0
  331. package/dist/testing-dashboards.module.js.map +1 -1
  332. package/package.json +52 -52
  333. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
  334. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
  335. package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
  336. package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
  337. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
  338. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
  339. package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
  340. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
  341. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
  342. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
  343. package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
  344. package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
  345. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
  346. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
  347. package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
  348. package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
@@ -10,25 +10,24 @@ import { RunView } from '@memberjunction/core';
10
10
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@memberjunction/ng-shared-generic";
13
- import * as i2 from "../analytics-filter-bar.component";
14
- import * as i3 from "@angular/common";
13
+ import * as i2 from "@angular/common";
15
14
  const _forTrack0 = ($index, $item) => $item.Label;
16
15
  const _forTrack1 = ($index, $item) => $item.Model;
17
16
  const _forTrack2 = ($index, $item) => $item.Date;
18
- function AnalyticsCostBudgetComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementStart(0, "div", 1);
20
- i0.ɵɵelement(1, "mj-loading", 2);
17
+ function AnalyticsCostBudgetComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "div", 0);
19
+ i0.ɵɵelement(1, "mj-loading", 1);
21
20
  i0.ɵɵelementEnd();
22
21
  } }
23
- function AnalyticsCostBudgetComponent_Conditional_2_For_2_Conditional_8_Conditional_1_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵelement(0, "i", 31);
22
+ function AnalyticsCostBudgetComponent_Conditional_1_For_2_Conditional_8_Conditional_1_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelement(0, "i", 30);
25
24
  } }
26
- function AnalyticsCostBudgetComponent_Conditional_2_For_2_Conditional_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelement(0, "i", 32);
25
+ function AnalyticsCostBudgetComponent_Conditional_1_For_2_Conditional_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelement(0, "i", 31);
28
27
  } }
29
- function AnalyticsCostBudgetComponent_Conditional_2_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelementStart(0, "div", 30);
31
- i0.ɵɵconditionalCreate(1, AnalyticsCostBudgetComponent_Conditional_2_For_2_Conditional_8_Conditional_1_Template, 1, 0, "i", 31)(2, AnalyticsCostBudgetComponent_Conditional_2_For_2_Conditional_8_Conditional_2_Template, 1, 0, "i", 32);
28
+ function AnalyticsCostBudgetComponent_Conditional_1_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵelementStart(0, "div", 29);
30
+ i0.ɵɵconditionalCreate(1, AnalyticsCostBudgetComponent_Conditional_1_For_2_Conditional_8_Conditional_1_Template, 1, 0, "i", 30)(2, AnalyticsCostBudgetComponent_Conditional_1_For_2_Conditional_8_Conditional_2_Template, 1, 0, "i", 31);
32
31
  i0.ɵɵtext(3);
33
32
  i0.ɵɵpipe(4, "number");
34
33
  i0.ɵɵelementEnd();
@@ -40,17 +39,17 @@ function AnalyticsCostBudgetComponent_Conditional_2_For_2_Conditional_8_Template
40
39
  i0.ɵɵadvance(2);
41
40
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(4, 6, kpi_r2.Delta, "1.1-1"), "% vs prev ");
42
41
  } }
43
- function AnalyticsCostBudgetComponent_Conditional_2_For_2_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelementStart(0, "div", 24)(1, "div", 25);
42
+ function AnalyticsCostBudgetComponent_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
43
+ i0.ɵɵelementStart(0, "div", 23)(1, "div", 24);
45
44
  i0.ɵɵelement(2, "i");
46
45
  i0.ɵɵelementEnd();
47
- i0.ɵɵelementStart(3, "div", 26)(4, "div", 27);
46
+ i0.ɵɵelementStart(3, "div", 25)(4, "div", 26);
48
47
  i0.ɵɵtext(5);
49
48
  i0.ɵɵelementEnd();
50
- i0.ɵɵelementStart(6, "div", 28);
49
+ i0.ɵɵelementStart(6, "div", 27);
51
50
  i0.ɵɵtext(7);
52
51
  i0.ɵɵelementEnd();
53
- i0.ɵɵconditionalCreate(8, AnalyticsCostBudgetComponent_Conditional_2_For_2_Conditional_8_Template, 5, 9, "div", 29);
52
+ i0.ɵɵconditionalCreate(8, AnalyticsCostBudgetComponent_Conditional_1_For_2_Conditional_8_Template, 5, 9, "div", 28);
54
53
  i0.ɵɵelementEnd()();
55
54
  } if (rf & 2) {
56
55
  const kpi_r2 = ctx.$implicit;
@@ -64,23 +63,23 @@ function AnalyticsCostBudgetComponent_Conditional_2_For_2_Template(rf, ctx) { if
64
63
  i0.ɵɵadvance();
65
64
  i0.ɵɵconditional(kpi_r2.Delta != null ? 8 : -1);
66
65
  } }
67
- function AnalyticsCostBudgetComponent_Conditional_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
68
- i0.ɵɵelementStart(0, "div", 11);
66
+ function AnalyticsCostBudgetComponent_Conditional_1_Conditional_10_Template(rf, ctx) { if (rf & 1) {
67
+ i0.ɵɵelementStart(0, "div", 10);
69
68
  i0.ɵɵtext(1, "No cost data for selected period");
70
69
  i0.ɵɵelementEnd();
71
70
  } }
72
- function AnalyticsCostBudgetComponent_Conditional_2_Conditional_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
73
- i0.ɵɵelementStart(0, "div", 36)(1, "span", 37);
71
+ function AnalyticsCostBudgetComponent_Conditional_1_Conditional_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵelementStart(0, "div", 35)(1, "span", 36);
74
73
  i0.ɵɵtext(2, "avg");
75
74
  i0.ɵɵelementEnd()();
76
75
  } if (rf & 2) {
77
76
  const ctx_r2 = i0.ɵɵnextContext(3);
78
77
  i0.ɵɵstyleProp("bottom", ctx_r2.AvgLinePercent, "%");
79
78
  } }
80
- function AnalyticsCostBudgetComponent_Conditional_2_Conditional_11_For_4_Template(rf, ctx) { if (rf & 1) {
81
- i0.ɵɵelementStart(0, "div", 35);
82
- i0.ɵɵelement(1, "div", 38);
83
- i0.ɵɵelementStart(2, "div", 39);
79
+ function AnalyticsCostBudgetComponent_Conditional_1_Conditional_11_For_4_Template(rf, ctx) { if (rf & 1) {
80
+ i0.ɵɵelementStart(0, "div", 34);
81
+ i0.ɵɵelement(1, "div", 37);
82
+ i0.ɵɵelementStart(2, "div", 38);
84
83
  i0.ɵɵtext(3);
85
84
  i0.ɵɵelementEnd()();
86
85
  } if (rf & 2) {
@@ -93,10 +92,10 @@ function AnalyticsCostBudgetComponent_Conditional_2_Conditional_11_For_4_Templat
93
92
  i0.ɵɵadvance(2);
94
93
  i0.ɵɵtextInterpolate(bar_r4.Label);
95
94
  } }
96
- function AnalyticsCostBudgetComponent_Conditional_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
97
- i0.ɵɵelementStart(0, "div", 12)(1, "div", 33);
98
- i0.ɵɵconditionalCreate(2, AnalyticsCostBudgetComponent_Conditional_2_Conditional_11_Conditional_2_Template, 3, 2, "div", 34);
99
- i0.ɵɵrepeaterCreate(3, AnalyticsCostBudgetComponent_Conditional_2_Conditional_11_For_4_Template, 4, 6, "div", 35, _forTrack2);
95
+ function AnalyticsCostBudgetComponent_Conditional_1_Conditional_11_Template(rf, ctx) { if (rf & 1) {
96
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 32);
97
+ i0.ɵɵconditionalCreate(2, AnalyticsCostBudgetComponent_Conditional_1_Conditional_11_Conditional_2_Template, 3, 2, "div", 33);
98
+ i0.ɵɵrepeaterCreate(3, AnalyticsCostBudgetComponent_Conditional_1_Conditional_11_For_4_Template, 4, 6, "div", 34, _forTrack2);
100
99
  i0.ɵɵelementEnd()();
101
100
  } if (rf & 2) {
102
101
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -105,21 +104,21 @@ function AnalyticsCostBudgetComponent_Conditional_2_Conditional_11_Template(rf,
105
104
  i0.ɵɵadvance();
106
105
  i0.ɵɵrepeater(ctx_r2.DailyBars);
107
106
  } }
108
- function AnalyticsCostBudgetComponent_Conditional_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
109
- i0.ɵɵelementStart(0, "div", 11);
107
+ function AnalyticsCostBudgetComponent_Conditional_1_Conditional_18_Template(rf, ctx) { if (rf & 1) {
108
+ i0.ɵɵelementStart(0, "div", 10);
110
109
  i0.ɵɵtext(1, "No vendor cost data");
111
110
  i0.ɵɵelementEnd();
112
111
  } }
113
- function AnalyticsCostBudgetComponent_Conditional_2_Conditional_19_For_2_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵelementStart(0, "div", 41);
112
+ function AnalyticsCostBudgetComponent_Conditional_1_Conditional_19_For_2_Template(rf, ctx) { if (rf & 1) {
113
+ i0.ɵɵelementStart(0, "div", 40);
115
114
  i0.ɵɵpipe(1, "number");
116
- i0.ɵɵelementStart(2, "span", 42);
115
+ i0.ɵɵelementStart(2, "span", 41);
117
116
  i0.ɵɵtext(3);
118
117
  i0.ɵɵelementEnd();
119
- i0.ɵɵelementStart(4, "span", 43);
118
+ i0.ɵɵelementStart(4, "span", 42);
120
119
  i0.ɵɵtext(5);
121
120
  i0.ɵɵelementEnd();
122
- i0.ɵɵelementStart(6, "span", 44);
121
+ i0.ɵɵelementStart(6, "span", 43);
123
122
  i0.ɵɵtext(7);
124
123
  i0.ɵɵpipe(8, "number");
125
124
  i0.ɵɵelementEnd()();
@@ -135,49 +134,49 @@ function AnalyticsCostBudgetComponent_Conditional_2_Conditional_19_For_2_Templat
135
134
  i0.ɵɵadvance(2);
136
135
  i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(8, 11, cell_r5.Percent, "1.0-0"), "%");
137
136
  } }
138
- function AnalyticsCostBudgetComponent_Conditional_2_Conditional_19_Template(rf, ctx) { if (rf & 1) {
139
- i0.ɵɵelementStart(0, "div", 16);
140
- i0.ɵɵrepeaterCreate(1, AnalyticsCostBudgetComponent_Conditional_2_Conditional_19_For_2_Template, 9, 14, "div", 40, _forTrack0);
137
+ function AnalyticsCostBudgetComponent_Conditional_1_Conditional_19_Template(rf, ctx) { if (rf & 1) {
138
+ i0.ɵɵelementStart(0, "div", 15);
139
+ i0.ɵɵrepeaterCreate(1, AnalyticsCostBudgetComponent_Conditional_1_Conditional_19_For_2_Template, 9, 14, "div", 39, _forTrack0);
141
140
  i0.ɵɵelementEnd();
142
141
  } if (rf & 2) {
143
142
  const ctx_r2 = i0.ɵɵnextContext(2);
144
143
  i0.ɵɵadvance();
145
144
  i0.ɵɵrepeater(ctx_r2.TreemapCells);
146
145
  } }
147
- function AnalyticsCostBudgetComponent_Conditional_2_Conditional_51_Template(rf, ctx) { if (rf & 1) {
148
- i0.ɵɵelementStart(0, "tr")(1, "td", 45);
146
+ function AnalyticsCostBudgetComponent_Conditional_1_Conditional_51_Template(rf, ctx) { if (rf & 1) {
147
+ i0.ɵɵelementStart(0, "tr")(1, "td", 44);
149
148
  i0.ɵɵtext(2, "No data available");
150
149
  i0.ɵɵelementEnd()();
151
150
  } }
152
- function AnalyticsCostBudgetComponent_Conditional_2_For_53_Template(rf, ctx) { if (rf & 1) {
153
- i0.ɵɵelementStart(0, "tr")(1, "td", 46);
151
+ function AnalyticsCostBudgetComponent_Conditional_1_For_53_Template(rf, ctx) { if (rf & 1) {
152
+ i0.ɵɵelementStart(0, "tr")(1, "td", 45);
154
153
  i0.ɵɵtext(2);
155
154
  i0.ɵɵelementEnd();
156
- i0.ɵɵelementStart(3, "td", 47);
155
+ i0.ɵɵelementStart(3, "td", 46);
157
156
  i0.ɵɵtext(4);
158
157
  i0.ɵɵelementEnd();
159
- i0.ɵɵelementStart(5, "td", 48);
158
+ i0.ɵɵelementStart(5, "td", 47);
160
159
  i0.ɵɵtext(6);
161
160
  i0.ɵɵpipe(7, "number");
162
161
  i0.ɵɵelementEnd();
163
- i0.ɵɵelementStart(8, "td", 48);
162
+ i0.ɵɵelementStart(8, "td", 47);
164
163
  i0.ɵɵtext(9);
165
164
  i0.ɵɵpipe(10, "number");
166
165
  i0.ɵɵelementEnd();
167
- i0.ɵɵelementStart(11, "td", 48);
166
+ i0.ɵɵelementStart(11, "td", 47);
168
167
  i0.ɵɵtext(12);
169
168
  i0.ɵɵpipe(13, "number");
170
169
  i0.ɵɵelementEnd();
171
- i0.ɵɵelementStart(14, "td", 48);
170
+ i0.ɵɵelementStart(14, "td", 47);
172
171
  i0.ɵɵtext(15);
173
172
  i0.ɵɵelementEnd();
174
- i0.ɵɵelementStart(16, "td", 48);
173
+ i0.ɵɵelementStart(16, "td", 47);
175
174
  i0.ɵɵtext(17);
176
175
  i0.ɵɵelementEnd();
177
- i0.ɵɵelementStart(18, "td", 49);
176
+ i0.ɵɵelementStart(18, "td", 48);
178
177
  i0.ɵɵtext(19);
179
178
  i0.ɵɵelementEnd();
180
- i0.ɵɵelementStart(20, "td", 48);
179
+ i0.ɵɵelementStart(20, "td", 47);
181
180
  i0.ɵɵtext(21);
182
181
  i0.ɵɵpipe(22, "number");
183
182
  i0.ɵɵelementEnd()();
@@ -203,64 +202,64 @@ function AnalyticsCostBudgetComponent_Conditional_2_For_53_Template(rf, ctx) { i
203
202
  i0.ɵɵadvance(2);
204
203
  i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(22, 15, row_r6.PercentOfTotal, "1.1-1"), "%");
205
204
  } }
206
- function AnalyticsCostBudgetComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
205
+ function AnalyticsCostBudgetComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
207
206
  const _r1 = i0.ɵɵgetCurrentView();
208
- i0.ɵɵelementStart(0, "div", 3);
209
- i0.ɵɵrepeaterCreate(1, AnalyticsCostBudgetComponent_Conditional_2_For_2_Template, 9, 7, "div", 4, _forTrack0);
207
+ i0.ɵɵelementStart(0, "div", 2);
208
+ i0.ɵɵrepeaterCreate(1, AnalyticsCostBudgetComponent_Conditional_1_For_2_Template, 9, 7, "div", 3, _forTrack0);
210
209
  i0.ɵɵelementEnd();
211
- i0.ɵɵelementStart(3, "div", 5)(4, "div", 6)(5, "div", 7)(6, "div", 8);
212
- i0.ɵɵelement(7, "i", 9);
210
+ i0.ɵɵelementStart(3, "div", 4)(4, "div", 5)(5, "div", 6)(6, "div", 7);
211
+ i0.ɵɵelement(7, "i", 8);
213
212
  i0.ɵɵtext(8, " Daily Cost Trend ");
214
213
  i0.ɵɵelementEnd()();
215
- i0.ɵɵelementStart(9, "div", 10);
216
- i0.ɵɵconditionalCreate(10, AnalyticsCostBudgetComponent_Conditional_2_Conditional_10_Template, 2, 0, "div", 11)(11, AnalyticsCostBudgetComponent_Conditional_2_Conditional_11_Template, 5, 1, "div", 12);
214
+ i0.ɵɵelementStart(9, "div", 9);
215
+ i0.ɵɵconditionalCreate(10, AnalyticsCostBudgetComponent_Conditional_1_Conditional_10_Template, 2, 0, "div", 10)(11, AnalyticsCostBudgetComponent_Conditional_1_Conditional_11_Template, 5, 1, "div", 11);
217
216
  i0.ɵɵelementEnd()();
218
- i0.ɵɵelementStart(12, "div", 13)(13, "div", 7)(14, "div", 8);
219
- i0.ɵɵelement(15, "i", 14);
217
+ i0.ɵɵelementStart(12, "div", 12)(13, "div", 6)(14, "div", 7);
218
+ i0.ɵɵelement(15, "i", 13);
220
219
  i0.ɵɵtext(16, " Cost by Vendor ");
221
220
  i0.ɵɵelementEnd()();
222
- i0.ɵɵelementStart(17, "div", 15);
223
- i0.ɵɵconditionalCreate(18, AnalyticsCostBudgetComponent_Conditional_2_Conditional_18_Template, 2, 0, "div", 11)(19, AnalyticsCostBudgetComponent_Conditional_2_Conditional_19_Template, 3, 0, "div", 16);
221
+ i0.ɵɵelementStart(17, "div", 14);
222
+ i0.ɵɵconditionalCreate(18, AnalyticsCostBudgetComponent_Conditional_1_Conditional_18_Template, 2, 0, "div", 10)(19, AnalyticsCostBudgetComponent_Conditional_1_Conditional_19_Template, 3, 0, "div", 15);
224
223
  i0.ɵɵelementEnd()()();
225
- i0.ɵɵelementStart(20, "div", 17)(21, "div", 7)(22, "div", 8);
226
- i0.ɵɵelement(23, "i", 18);
224
+ i0.ɵɵelementStart(20, "div", 16)(21, "div", 6)(22, "div", 7);
225
+ i0.ɵɵelement(23, "i", 17);
227
226
  i0.ɵɵtext(24, " Cost by Model ");
228
227
  i0.ɵɵelementEnd();
229
- i0.ɵɵelementStart(25, "button", 19);
230
- i0.ɵɵlistener("click", function AnalyticsCostBudgetComponent_Conditional_2_Template_button_click_25_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.ExportCSV()); });
231
- i0.ɵɵelement(26, "i", 20);
228
+ i0.ɵɵelementStart(25, "button", 18);
229
+ i0.ɵɵlistener("click", function AnalyticsCostBudgetComponent_Conditional_1_Template_button_click_25_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.ExportCSV()); });
230
+ i0.ɵɵelement(26, "i", 19);
232
231
  i0.ɵɵtext(27, " Export CSV ");
233
232
  i0.ɵɵelementEnd()();
234
- i0.ɵɵelementStart(28, "div", 21)(29, "table", 22)(30, "thead")(31, "tr")(32, "th");
233
+ i0.ɵɵelementStart(28, "div", 20)(29, "table", 21)(30, "thead")(31, "tr")(32, "th");
235
234
  i0.ɵɵtext(33, "Model");
236
235
  i0.ɵɵelementEnd();
237
236
  i0.ɵɵelementStart(34, "th");
238
237
  i0.ɵɵtext(35, "Vendor");
239
238
  i0.ɵɵelementEnd();
240
- i0.ɵɵelementStart(36, "th", 23);
239
+ i0.ɵɵelementStart(36, "th", 22);
241
240
  i0.ɵɵtext(37, "Runs");
242
241
  i0.ɵɵelementEnd();
243
- i0.ɵɵelementStart(38, "th", 23);
242
+ i0.ɵɵelementStart(38, "th", 22);
244
243
  i0.ɵɵtext(39, "Input Tokens");
245
244
  i0.ɵɵelementEnd();
246
- i0.ɵɵelementStart(40, "th", 23);
245
+ i0.ɵɵelementStart(40, "th", 22);
247
246
  i0.ɵɵtext(41, "Output Tokens");
248
247
  i0.ɵɵelementEnd();
249
- i0.ɵɵelementStart(42, "th", 23);
248
+ i0.ɵɵelementStart(42, "th", 22);
250
249
  i0.ɵɵtext(43, "Input Cost");
251
250
  i0.ɵɵelementEnd();
252
- i0.ɵɵelementStart(44, "th", 23);
251
+ i0.ɵɵelementStart(44, "th", 22);
253
252
  i0.ɵɵtext(45, "Output Cost");
254
253
  i0.ɵɵelementEnd();
255
- i0.ɵɵelementStart(46, "th", 23);
254
+ i0.ɵɵelementStart(46, "th", 22);
256
255
  i0.ɵɵtext(47, "Total Cost");
257
256
  i0.ɵɵelementEnd();
258
- i0.ɵɵelementStart(48, "th", 23);
257
+ i0.ɵɵelementStart(48, "th", 22);
259
258
  i0.ɵɵtext(49, "% of Total");
260
259
  i0.ɵɵelementEnd()()();
261
260
  i0.ɵɵelementStart(50, "tbody");
262
- i0.ɵɵconditionalCreate(51, AnalyticsCostBudgetComponent_Conditional_2_Conditional_51_Template, 3, 0, "tr");
263
- i0.ɵɵrepeaterCreate(52, AnalyticsCostBudgetComponent_Conditional_2_For_53_Template, 23, 18, "tr", null, _forTrack1);
261
+ i0.ɵɵconditionalCreate(51, AnalyticsCostBudgetComponent_Conditional_1_Conditional_51_Template, 3, 0, "tr");
262
+ i0.ɵɵrepeaterCreate(52, AnalyticsCostBudgetComponent_Conditional_1_For_53_Template, 23, 18, "tr", null, _forTrack1);
264
263
  i0.ɵɵelementEnd()()()();
265
264
  } if (rf & 2) {
266
265
  const ctx_r2 = i0.ɵɵnextContext();
@@ -289,10 +288,30 @@ const TREEMAP_COLORS = [
289
288
  'var(--mj-text-disabled)'
290
289
  ];
291
290
  export class AnalyticsCostBudgetComponent extends BaseAngularComponent {
292
- TimeRange = '7d';
293
- Filters = { Models: [], Agents: [], Prompts: [], Statuses: [] };
291
+ _timeRange = '7d';
292
+ set TimeRange(value) {
293
+ const prev = this._timeRange;
294
+ this._timeRange = value;
295
+ if (prev !== value && this.initialized)
296
+ this.LoadData();
297
+ }
298
+ get TimeRange() { return this._timeRange; }
299
+ _filters = { Models: [], Agents: [], Prompts: [], Statuses: [] };
300
+ set Filters(value) {
301
+ const next = value ?? { Models: [], Agents: [], Prompts: [], Statuses: [] };
302
+ const changed = !this.shallowFiltersEqual(this._filters, next);
303
+ this._filters = next;
304
+ if (changed && this.initialized)
305
+ this.LoadData();
306
+ }
307
+ get Filters() { return this._filters; }
308
+ shallowFiltersEqual(a, b) {
309
+ const sameArr = (x, y) => x.length === y.length && x.every((v, i) => v === y[i]);
310
+ return sameArr(a.Models, b.Models) && sameArr(a.Agents, b.Agents) && sameArr(a.Prompts, b.Prompts) && sameArr(a.Statuses, b.Statuses);
311
+ }
294
312
  TimeRangeChange = new EventEmitter();
295
313
  FiltersChange = new EventEmitter();
314
+ initialized = false;
296
315
  cdr = inject(ChangeDetectorRef);
297
316
  destroy$ = new Subject();
298
317
  IsLoading = false;
@@ -305,6 +324,7 @@ export class AnalyticsCostBudgetComponent extends BaseAngularComponent {
305
324
  allRuns = [];
306
325
  previousPeriodRuns = [];
307
326
  ngOnInit() {
327
+ this.initialized = true;
308
328
  this.LoadData();
309
329
  }
310
330
  ngOnDestroy() {
@@ -553,34 +573,15 @@ export class AnalyticsCostBudgetComponent extends BaseAngularComponent {
553
573
  URL.revokeObjectURL(url);
554
574
  }
555
575
  static ɵfac = /*@__PURE__*/ (() => { let ɵAnalyticsCostBudgetComponent_BaseFactory; return function AnalyticsCostBudgetComponent_Factory(__ngFactoryType__) { return (ɵAnalyticsCostBudgetComponent_BaseFactory || (ɵAnalyticsCostBudgetComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AnalyticsCostBudgetComponent)))(__ngFactoryType__ || AnalyticsCostBudgetComponent); }; })();
556
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AnalyticsCostBudgetComponent, selectors: [["app-analytics-cost-budget"]], inputs: { TimeRange: "TimeRange", Filters: "Filters" }, outputs: { TimeRangeChange: "TimeRangeChange", FiltersChange: "FiltersChange" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 10, consts: [[3, "TimeRangeChange", "FiltersChange", "TimeRange", "TimeRangeOptions", "Filters", "ShowAgentFilter", "ShowPromptFilter", "ShowModelFilter", "ShowStatusFilter", "ShowCompareToggle", "ShowExportButton"], [1, "loading-container"], ["text", "Loading cost data..."], [1, "kpi-row"], [1, "kpi-card", 3, "kpi-card--highlighted"], [1, "two-col"], [1, "panel", "panel-chart"], [1, "panel-header"], [1, "panel-header__title"], [1, "fa-solid", "fa-chart-column", "panel-header__icon"], [1, "chart-body"], [1, "panel-empty"], [1, "bar-chart"], [1, "panel", "panel-treemap"], [1, "fa-solid", "fa-chart-pie", "panel-header__icon"], [1, "treemap-body"], [1, "treemap-grid"], [1, "panel"], [1, "fa-solid", "fa-table", "panel-header__icon"], [1, "export-btn", 3, "click"], [1, "fa-solid", "fa-download"], [1, "table-wrapper"], [1, "data-table"], [1, "col-numeric"], [1, "kpi-card"], [1, "kpi-icon"], [1, "kpi-content"], [1, "kpi-label"], [1, "kpi-value"], [1, "kpi-delta", 3, "kpi-delta--up", "kpi-delta--down"], [1, "kpi-delta"], [1, "fa-solid", "fa-arrow-up"], [1, "fa-solid", "fa-arrow-down"], [1, "bar-chart-area"], [1, "avg-line", 3, "bottom"], [1, "bar-col", 3, "title"], [1, "avg-line"], [1, "avg-label"], [1, "bar"], [1, "bar-label"], [1, "treemap-cell", 3, "background", "flex-basis", "title"], [1, "treemap-cell", 3, "title"], [1, "treemap-label"], [1, "treemap-value"], [1, "treemap-pct"], ["colspan", "9", 1, "empty-row"], [1, "cell-model"], [1, "cell-vendor"], [1, "cell-numeric"], [1, "cell-numeric", "cell-cost"]], template: function AnalyticsCostBudgetComponent_Template(rf, ctx) { if (rf & 1) {
557
- i0.ɵɵelementStart(0, "app-analytics-filter-bar", 0);
558
- i0.ɵɵlistener("TimeRangeChange", function AnalyticsCostBudgetComponent_Template_app_analytics_filter_bar_TimeRangeChange_0_listener($event) { return ctx.OnTimeRangeChange($event); })("FiltersChange", function AnalyticsCostBudgetComponent_Template_app_analytics_filter_bar_FiltersChange_0_listener($event) { return ctx.OnFiltersChange($event); });
559
- i0.ɵɵelementEnd();
560
- i0.ɵɵconditionalCreate(1, AnalyticsCostBudgetComponent_Conditional_1_Template, 2, 0, "div", 1)(2, AnalyticsCostBudgetComponent_Conditional_2_Template, 54, 3);
576
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AnalyticsCostBudgetComponent, selectors: [["app-analytics-cost-budget"]], inputs: { TimeRange: "TimeRange", Filters: "Filters" }, outputs: { TimeRangeChange: "TimeRangeChange", FiltersChange: "FiltersChange" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 1, consts: [[1, "loading-container"], ["text", "Loading cost data..."], [1, "kpi-row"], [1, "kpi-card", 3, "kpi-card--highlighted"], [1, "two-col"], [1, "panel", "panel-chart"], [1, "panel-header"], [1, "panel-header__title"], [1, "fa-solid", "fa-chart-column", "panel-header__icon"], [1, "chart-body"], [1, "panel-empty"], [1, "bar-chart"], [1, "panel", "panel-treemap"], [1, "fa-solid", "fa-chart-pie", "panel-header__icon"], [1, "treemap-body"], [1, "treemap-grid"], [1, "panel"], [1, "fa-solid", "fa-table", "panel-header__icon"], [1, "export-btn", 3, "click"], [1, "fa-solid", "fa-download"], [1, "table-wrapper"], [1, "data-table"], [1, "col-numeric"], [1, "kpi-card"], [1, "kpi-icon"], [1, "kpi-content"], [1, "kpi-label"], [1, "kpi-value"], [1, "kpi-delta", 3, "kpi-delta--up", "kpi-delta--down"], [1, "kpi-delta"], [1, "fa-solid", "fa-arrow-up"], [1, "fa-solid", "fa-arrow-down"], [1, "bar-chart-area"], [1, "avg-line", 3, "bottom"], [1, "bar-col", 3, "title"], [1, "avg-line"], [1, "avg-label"], [1, "bar"], [1, "bar-label"], [1, "treemap-cell", 3, "background", "flex-basis", "title"], [1, "treemap-cell", 3, "title"], [1, "treemap-label"], [1, "treemap-value"], [1, "treemap-pct"], ["colspan", "9", 1, "empty-row"], [1, "cell-model"], [1, "cell-vendor"], [1, "cell-numeric"], [1, "cell-numeric", "cell-cost"]], template: function AnalyticsCostBudgetComponent_Template(rf, ctx) { if (rf & 1) {
577
+ i0.ɵɵconditionalCreate(0, AnalyticsCostBudgetComponent_Conditional_0_Template, 2, 0, "div", 0)(1, AnalyticsCostBudgetComponent_Conditional_1_Template, 54, 3);
561
578
  } if (rf & 2) {
562
- i0.ɵɵproperty("TimeRange", ctx.TimeRange)("TimeRangeOptions", ctx.TimeRangeOptionsList)("Filters", ctx.Filters)("ShowAgentFilter", false)("ShowPromptFilter", false)("ShowModelFilter", true)("ShowStatusFilter", false)("ShowCompareToggle", false)("ShowExportButton", false);
563
- i0.ɵɵadvance();
564
- i0.ɵɵconditional(ctx.IsLoading ? 1 : 2);
565
- } }, dependencies: [i1.LoadingComponent, i2.AnalyticsFilterBarComponent, i3.DecimalPipe], styles: ["[_nghost-%COMP%] { display: block; }\n\n .loading-container[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 300px;\n }\n\n \n\n .kpi-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 12px;\n margin: 16px 0;\n }\n\n .kpi-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n padding: 16px;\n display: flex;\n align-items: flex-start;\n gap: 12px;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n }\n\n .kpi-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-text-primary) 8%, transparent);\n }\n\n .kpi-card--highlighted[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n }\n\n .kpi-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .kpi-card--highlighted[_ngcontent-%COMP%] .kpi-icon[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-bg-surface));\n }\n\n .kpi-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .kpi-value[_ngcontent-%COMP%] {\n font-size: 22px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 2px 0;\n letter-spacing: -0.02em;\n }\n\n .kpi-delta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 3px;\n }\n\n .kpi-delta--up[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .kpi-delta--down[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n }\n\n \n\n .two-col[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 3fr 2fr;\n gap: 16px;\n margin-bottom: 16px;\n }\n\n \n\n .panel[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 18px;\n border-bottom: 1px solid var(--mj-border-subtle);\n }\n\n .panel-header__title[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .panel-header__icon[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-brand-primary);\n }\n\n .panel-empty[_ngcontent-%COMP%] {\n text-align: center;\n padding: 32px;\n color: var(--mj-text-disabled);\n font-size: 13px;\n }\n\n .export-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 13px;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n }\n\n .export-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n }\n\n \n\n .chart-body[_ngcontent-%COMP%] {\n padding: 16px 18px;\n }\n\n .bar-chart[_ngcontent-%COMP%] {\n width: 100%;\n }\n\n .bar-chart-area[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-end;\n gap: 4px;\n height: 180px;\n position: relative;\n padding-bottom: 24px;\n }\n\n .bar-col[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n justify-content: flex-end;\n }\n\n .bar[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 32px;\n border-radius: 4px 4px 0 0;\n background: var(--mj-brand-primary);\n transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n min-height: 2px;\n }\n\n .bar--anomaly[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n }\n\n .bar-label[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-muted);\n margin-top: 4px;\n white-space: nowrap;\n }\n\n .avg-line[_ngcontent-%COMP%] {\n position: absolute;\n left: 0;\n right: 0;\n border-top: 2px dashed var(--mj-text-disabled);\n z-index: 1;\n pointer-events: none;\n }\n\n .avg-label[_ngcontent-%COMP%] {\n position: absolute;\n right: 0;\n top: -14px;\n font-size: 10px;\n color: var(--mj-text-disabled);\n font-weight: 600;\n }\n\n \n\n .treemap-body[_ngcontent-%COMP%] {\n padding: 16px 18px;\n }\n\n .treemap-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n min-height: 160px;\n }\n\n .treemap-cell[_ngcontent-%COMP%] {\n border-radius: 8px;\n padding: 12px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-width: 80px;\n min-height: 70px;\n flex-grow: 1;\n color: var(--mj-text-inverse, white);\n transition: opacity 0.2s;\n }\n\n .treemap-cell[_ngcontent-%COMP%]:hover {\n opacity: 0.85;\n }\n\n .treemap-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n opacity: 0.95;\n }\n\n .treemap-value[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 700;\n margin-top: 2px;\n }\n\n .treemap-pct[_ngcontent-%COMP%] {\n font-size: 11px;\n opacity: 0.8;\n }\n\n \n\n .table-wrapper[_ngcontent-%COMP%] {\n overflow-x: auto;\n }\n\n .data-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n }\n\n .data-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], \n .data-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 14px;\n text-align: left;\n border-bottom: 1px solid var(--mj-border-subtle);\n }\n\n .data-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.4px;\n background: var(--mj-bg-surface-card);\n position: sticky;\n top: 0;\n white-space: nowrap;\n }\n\n .col-numeric[_ngcontent-%COMP%] { text-align: right; }\n\n .data-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n transition: background 0.15s;\n }\n\n .data-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n }\n\n .cell-model[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .cell-vendor[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n }\n\n .cell-numeric[_ngcontent-%COMP%] {\n text-align: right;\n font-variant-numeric: tabular-nums;\n color: var(--mj-text-secondary);\n }\n\n .cell-cost[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-row[_ngcontent-%COMP%] {\n text-align: center;\n color: var(--mj-text-disabled);\n padding: 24px;\n }\n\n \n\n @media (max-width: 1200px) {\n .two-col[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 768px) {\n .kpi-row[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .kpi-value[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n }"] });
579
+ i0.ɵɵconditional(ctx.IsLoading ? 0 : 1);
580
+ } }, dependencies: [i1.LoadingComponent, i2.DecimalPipe], styles: ["[_nghost-%COMP%] { display: block; }\n\n .loading-container[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 300px;\n }\n\n \n\n .kpi-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 12px;\n margin: 16px 0;\n }\n\n .kpi-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n padding: 16px;\n display: flex;\n align-items: flex-start;\n gap: 12px;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n }\n\n .kpi-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-text-primary) 8%, transparent);\n }\n\n .kpi-card--highlighted[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n }\n\n .kpi-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .kpi-card--highlighted[_ngcontent-%COMP%] .kpi-icon[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-bg-surface));\n }\n\n .kpi-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .kpi-value[_ngcontent-%COMP%] {\n font-size: 22px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 2px 0;\n letter-spacing: -0.02em;\n }\n\n .kpi-delta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 3px;\n }\n\n .kpi-delta--up[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .kpi-delta--down[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n }\n\n \n\n .two-col[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 3fr 2fr;\n gap: 16px;\n margin-bottom: 16px;\n }\n\n \n\n .panel[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 18px;\n border-bottom: 1px solid var(--mj-border-subtle);\n }\n\n .panel-header__title[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .panel-header__icon[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-brand-primary);\n }\n\n .panel-empty[_ngcontent-%COMP%] {\n text-align: center;\n padding: 32px;\n color: var(--mj-text-disabled);\n font-size: 13px;\n }\n\n .export-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 13px;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n }\n\n .export-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n }\n\n \n\n .chart-body[_ngcontent-%COMP%] {\n padding: 16px 18px;\n }\n\n .bar-chart[_ngcontent-%COMP%] {\n width: 100%;\n }\n\n .bar-chart-area[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-end;\n gap: 4px;\n height: 180px;\n position: relative;\n padding-bottom: 24px;\n }\n\n .bar-col[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n justify-content: flex-end;\n }\n\n .bar[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 32px;\n border-radius: 4px 4px 0 0;\n background: var(--mj-brand-primary);\n transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n min-height: 2px;\n }\n\n .bar--anomaly[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n }\n\n .bar-label[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-muted);\n margin-top: 4px;\n white-space: nowrap;\n }\n\n .avg-line[_ngcontent-%COMP%] {\n position: absolute;\n left: 0;\n right: 0;\n border-top: 2px dashed var(--mj-text-disabled);\n z-index: 1;\n pointer-events: none;\n }\n\n .avg-label[_ngcontent-%COMP%] {\n position: absolute;\n right: 0;\n top: -14px;\n font-size: 10px;\n color: var(--mj-text-disabled);\n font-weight: 600;\n }\n\n \n\n .treemap-body[_ngcontent-%COMP%] {\n padding: 16px 18px;\n }\n\n .treemap-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n min-height: 160px;\n }\n\n .treemap-cell[_ngcontent-%COMP%] {\n border-radius: 8px;\n padding: 12px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-width: 80px;\n min-height: 70px;\n flex-grow: 1;\n color: var(--mj-text-inverse, white);\n transition: opacity 0.2s;\n }\n\n .treemap-cell[_ngcontent-%COMP%]:hover {\n opacity: 0.85;\n }\n\n .treemap-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n opacity: 0.95;\n }\n\n .treemap-value[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 700;\n margin-top: 2px;\n }\n\n .treemap-pct[_ngcontent-%COMP%] {\n font-size: 11px;\n opacity: 0.8;\n }\n\n \n\n .table-wrapper[_ngcontent-%COMP%] {\n overflow-x: auto;\n }\n\n .data-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n }\n\n .data-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], \n .data-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 14px;\n text-align: left;\n border-bottom: 1px solid var(--mj-border-subtle);\n }\n\n .data-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.4px;\n background: var(--mj-bg-surface-card);\n position: sticky;\n top: 0;\n white-space: nowrap;\n }\n\n .col-numeric[_ngcontent-%COMP%] { text-align: right; }\n\n .data-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n transition: background 0.15s;\n }\n\n .data-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n }\n\n .cell-model[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .cell-vendor[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n }\n\n .cell-numeric[_ngcontent-%COMP%] {\n text-align: right;\n font-variant-numeric: tabular-nums;\n color: var(--mj-text-secondary);\n }\n\n .cell-cost[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-row[_ngcontent-%COMP%] {\n text-align: center;\n color: var(--mj-text-disabled);\n padding: 24px;\n }\n\n \n\n @media (max-width: 1200px) {\n .two-col[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 768px) {\n .kpi-row[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .kpi-value[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n }"] });
566
581
  }
567
582
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsCostBudgetComponent, [{
568
583
  type: Component,
569
584
  args: [{ standalone: false, selector: 'app-analytics-cost-budget', template: `
570
- <!-- Filter Bar -->
571
- <app-analytics-filter-bar
572
- [TimeRange]="TimeRange"
573
- [TimeRangeOptions]="TimeRangeOptionsList"
574
- [Filters]="Filters"
575
- [ShowAgentFilter]="false"
576
- [ShowPromptFilter]="false"
577
- [ShowModelFilter]="true"
578
- [ShowStatusFilter]="false"
579
- [ShowCompareToggle]="false"
580
- [ShowExportButton]="false"
581
- (TimeRangeChange)="OnTimeRangeChange($event)"
582
- (FiltersChange)="OnFiltersChange($event)"
583
- ></app-analytics-filter-bar>
584
585
 
585
586
  @if (IsLoading) {
586
587
  <div class="loading-container">
@@ -740,6 +741,6 @@ export class AnalyticsCostBudgetComponent extends BaseAngularComponent {
740
741
  }], FiltersChange: [{
741
742
  type: Output
742
743
  }] }); })();
743
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AnalyticsCostBudgetComponent, { className: "AnalyticsCostBudgetComponent", filePath: "src/AI/components/analytics/cost-budget/cost-budget.component.ts", lineNumber: 603 }); })();
744
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AnalyticsCostBudgetComponent, { className: "AnalyticsCostBudgetComponent", filePath: "src/AI/components/analytics/cost-budget/cost-budget.component.ts", lineNumber: 589 }); })();
744
745
  export function LoadAnalyticsCostBudget() { }
745
746
  //# sourceMappingURL=cost-budget.component.js.map