@memberjunction/ng-dashboards 5.34.1 → 5.36.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 (407) 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 +96 -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 +453 -122
  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.d.ts +28 -0
  39. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  40. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2084 -2079
  41. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  42. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
  43. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  44. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
  45. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  46. package/dist/AI/components/models/model-management.component.d.ts +17 -0
  47. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  48. package/dist/AI/components/models/model-management.component.js +370 -425
  49. package/dist/AI/components/models/model-management.component.js.map +1 -1
  50. package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
  51. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  52. package/dist/AI/components/prompts/prompt-management.component.js +317 -357
  53. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  54. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
  55. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
  56. package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
  57. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  58. package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
  59. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  60. package/dist/AI/components/system/system-configuration.component.js +403 -362
  61. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  62. package/dist/AI/components/tags/tags-resource.component.d.ts +15 -0
  63. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  64. package/dist/AI/components/tags/tags-resource.component.js +1423 -1438
  65. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  66. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
  67. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  68. package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
  69. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  70. package/dist/APIKeys/api-keys-resource.component.d.ts +12 -8
  71. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  72. package/dist/APIKeys/api-keys-resource.component.js +329 -371
  73. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  74. package/dist/Actions/components/actions-overview.component.d.ts +6 -0
  75. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  76. package/dist/Actions/components/actions-overview.component.js +202 -158
  77. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  78. package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
  79. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  80. package/dist/Actions/components/execution-monitoring.component.js +191 -142
  81. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  82. package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
  83. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  84. package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
  85. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  86. package/dist/Actions/components/explorer/index.d.ts +0 -1
  87. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  88. package/dist/Actions/components/explorer/index.js +0 -1
  89. package/dist/Actions/components/explorer/index.js.map +1 -1
  90. package/dist/Admin/admin-data-schema.component.js +19 -79
  91. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  92. package/dist/Admin/admin-dev-tools-resource.component.js +19 -79
  93. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  94. package/dist/Admin/admin-identity-access.component.js +19 -79
  95. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  96. package/dist/Admin/admin-monitoring.component.js +19 -79
  97. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  98. package/dist/Admin/base-admin-container.component.d.ts +9 -7
  99. package/dist/Admin/base-admin-container.component.d.ts.map +1 -1
  100. package/dist/Admin/base-admin-container.component.js +26 -17
  101. package/dist/Admin/base-admin-container.component.js.map +1 -1
  102. package/dist/ApplicationRoles/application-roles-resource.component.js +92 -91
  103. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  104. package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
  105. package/dist/Archiving/components/archive-config-resource.component.js +24 -5
  106. package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
  107. package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
  108. package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
  109. package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
  110. package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
  111. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  112. package/dist/Communication/communication-logs-resource.component.js +80 -99
  113. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  114. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  115. package/dist/Communication/communication-monitor-resource.component.js +127 -106
  116. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  117. package/dist/Communication/communication-new-message-resource.component.d.ts +93 -0
  118. package/dist/Communication/communication-new-message-resource.component.d.ts.map +1 -0
  119. package/dist/Communication/communication-new-message-resource.component.js +661 -0
  120. package/dist/Communication/communication-new-message-resource.component.js.map +1 -0
  121. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  122. package/dist/Communication/communication-providers-resource.component.js +44 -45
  123. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  124. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  125. package/dist/Communication/communication-runs-resource.component.js +60 -58
  126. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  127. package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
  128. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  129. package/dist/Communication/communication-templates-resource.component.js +139 -162
  130. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  131. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
  132. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  133. package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
  134. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  135. package/dist/Credentials/components/credentials-categories-resource.component.js +238 -266
  136. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  137. package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
  138. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  139. package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
  140. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  141. package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
  142. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  143. package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
  144. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  145. package/dist/Credentials/components/credentials-types-resource.component.js +290 -305
  146. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  147. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
  148. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
  149. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +41 -21
  150. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  151. package/dist/DatabaseDesigner/components/entity-list.component.d.ts +2 -0
  152. package/dist/DatabaseDesigner/components/entity-list.component.d.ts.map +1 -1
  153. package/dist/DatabaseDesigner/components/entity-list.component.js +148 -155
  154. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  155. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  156. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  157. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +25 -1
  158. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  159. package/dist/DevTools/app-state-inspector.component.d.ts +5 -0
  160. package/dist/DevTools/app-state-inspector.component.d.ts.map +1 -1
  161. package/dist/DevTools/app-state-inspector.component.js +46 -72
  162. package/dist/DevTools/app-state-inspector.component.js.map +1 -1
  163. package/dist/DevTools/class-registry.component.js +88 -100
  164. package/dist/DevTools/class-registry.component.js.map +1 -1
  165. package/dist/DevTools/event-monitor.component.js +158 -168
  166. package/dist/DevTools/event-monitor.component.js.map +1 -1
  167. package/dist/DevTools/graphql-console.component.js +257 -264
  168. package/dist/DevTools/graphql-console.component.js.map +1 -1
  169. package/dist/DevTools/layout-inspector.component.d.ts +5 -0
  170. package/dist/DevTools/layout-inspector.component.d.ts.map +1 -1
  171. package/dist/DevTools/layout-inspector.component.js +46 -64
  172. package/dist/DevTools/layout-inspector.component.js.map +1 -1
  173. package/dist/DevTools/lazy-module-status.component.js +75 -84
  174. package/dist/DevTools/lazy-module-status.component.js.map +1 -1
  175. package/dist/DevTools/settings-explorer.component.js +76 -85
  176. package/dist/DevTools/settings-explorer.component.js.map +1 -1
  177. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +2 -0
  178. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  179. package/dist/EntityAdmin/entity-admin-dashboard.component.js +24 -16
  180. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  181. package/dist/Home/home-dashboard.component.d.ts +6 -0
  182. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  183. package/dist/Home/home-dashboard.component.js +521 -485
  184. package/dist/Home/home-dashboard.component.js.map +1 -1
  185. package/dist/Integration/components/activity/activity.component.d.ts +8 -0
  186. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  187. package/dist/Integration/components/activity/activity.component.js +307 -318
  188. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  189. package/dist/Integration/components/connections/connections.component.js +654 -648
  190. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  191. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
  192. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  193. package/dist/Integration/components/overview/overview.component.js +182 -163
  194. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  195. package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
  196. package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
  197. package/dist/Integration/components/pipelines/pipelines.component.js +595 -606
  198. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  199. package/dist/Integration/components/schedules/schedules.component.js +230 -241
  200. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  201. package/dist/Integration/integration.module.d.ts +1 -1
  202. package/dist/Integration/integration.module.d.ts.map +1 -1
  203. package/dist/Integration/integration.module.js +28 -1
  204. package/dist/Integration/integration.module.js.map +1 -1
  205. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +5 -0
  206. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
  207. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +1138 -1147
  208. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  209. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
  210. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  211. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +11 -0
  212. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
  213. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +684 -697
  214. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  215. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
  216. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
  217. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
  218. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  219. package/dist/Lists/components/lists-browse-resource.component.d.ts +120 -1
  220. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  221. package/dist/Lists/components/lists-browse-resource.component.js +1239 -610
  222. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  223. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  224. package/dist/Lists/components/lists-categories-resource.component.js +152 -160
  225. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  226. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  227. package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
  228. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  229. package/dist/Lists/components/lists-operations-resource.component.d.ts +133 -3
  230. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  231. package/dist/Lists/components/lists-operations-resource.component.js +1460 -272
  232. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  233. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts +29 -0
  234. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts.map +1 -0
  235. package/dist/Lists/components/lists-shared-with-me-resource.component.js +77 -0
  236. package/dist/Lists/components/lists-shared-with-me-resource.component.js.map +1 -0
  237. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts +6 -0
  238. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  239. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +35 -7
  240. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  241. package/dist/Lists/index.d.ts +1 -0
  242. package/dist/Lists/index.d.ts.map +1 -1
  243. package/dist/Lists/index.js +1 -0
  244. package/dist/Lists/index.js.map +1 -1
  245. package/dist/Lists/services/list-set-operations.service.d.ts +93 -2
  246. package/dist/Lists/services/list-set-operations.service.d.ts.map +1 -1
  247. package/dist/Lists/services/list-set-operations.service.js +236 -10
  248. package/dist/Lists/services/list-set-operations.service.js.map +1 -1
  249. package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
  250. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  251. package/dist/MCP/mcp-dashboard.component.js +1248 -1338
  252. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  253. package/dist/MCP/mcp.module.d.ts +1 -1
  254. package/dist/MCP/mcp.module.d.ts.map +1 -1
  255. package/dist/MCP/mcp.module.js +34 -1
  256. package/dist/MCP/mcp.module.js.map +1 -1
  257. package/dist/Permissions/audit-log-resource.component.js +76 -85
  258. package/dist/Permissions/audit-log-resource.component.js.map +1 -1
  259. package/dist/Permissions/resource-access-resource.component.js +64 -69
  260. package/dist/Permissions/resource-access-resource.component.js.map +1 -1
  261. package/dist/Permissions/user-access-resource.component.js +63 -74
  262. package/dist/Permissions/user-access-resource.component.js.map +1 -1
  263. package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
  264. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  265. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
  266. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  267. package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
  268. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  269. package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
  270. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  271. package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
  272. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  273. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
  274. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  275. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
  276. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  277. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
  278. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  279. package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
  280. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  281. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
  282. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  283. package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
  284. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  285. package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
  286. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  287. package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
  288. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  289. package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
  290. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  291. package/dist/Scheduling/scheduling-dashboard.component.js +259 -103
  292. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  293. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +13 -3
  294. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  295. package/dist/SystemDiagnostics/system-diagnostics.component.js +1009 -1264
  296. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  297. package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
  298. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  299. package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
  300. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  301. package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
  302. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  303. package/dist/Testing/components/testing-analytics.component.js +420 -393
  304. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  305. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
  306. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  307. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
  308. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  309. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
  310. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  311. package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
  312. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  313. package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
  314. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  315. package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
  316. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  317. package/dist/Testing/components/testing-explorer.component.d.ts +38 -6
  318. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  319. package/dist/Testing/components/testing-explorer.component.js +679 -786
  320. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  321. package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
  322. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  323. package/dist/Testing/components/testing-review-resource.component.js +9 -12
  324. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  325. package/dist/Testing/components/testing-review.component.d.ts +3 -1
  326. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  327. package/dist/Testing/components/testing-review.component.js +310 -274
  328. package/dist/Testing/components/testing-review.component.js.map +1 -1
  329. package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
  330. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  331. package/dist/Testing/components/testing-runs-resource.component.js +16 -19
  332. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  333. package/dist/Testing/components/testing-runs.component.d.ts +3 -1
  334. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  335. package/dist/Testing/components/testing-runs.component.js +307 -273
  336. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  337. package/dist/Testing/testing-dashboard.component.d.ts +2 -0
  338. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  339. package/dist/Testing/testing-dashboard.component.js +114 -99
  340. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  341. package/dist/VersionHistory/components/diff-resource.component.js +185 -188
  342. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  343. package/dist/VersionHistory/components/graph-resource.component.js +154 -184
  344. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  345. package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
  346. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
  347. package/dist/VersionHistory/components/labels-resource.component.js +350 -354
  348. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  349. package/dist/VersionHistory/components/restore-resource.component.js +163 -169
  350. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  351. package/dist/actions-dashboards.module.d.ts +15 -16
  352. package/dist/actions-dashboards.module.d.ts.map +1 -1
  353. package/dist/actions-dashboards.module.js +34 -11
  354. package/dist/actions-dashboards.module.js.map +1 -1
  355. package/dist/ai-dashboards.module.d.ts +45 -48
  356. package/dist/ai-dashboards.module.d.ts.map +1 -1
  357. package/dist/ai-dashboards.module.js +51 -10
  358. package/dist/ai-dashboards.module.js.map +1 -1
  359. package/dist/archiving-dashboards.module.d.ts +2 -1
  360. package/dist/archiving-dashboards.module.d.ts.map +1 -1
  361. package/dist/archiving-dashboards.module.js +12 -2
  362. package/dist/archiving-dashboards.module.js.map +1 -1
  363. package/dist/communication-dashboards.module.d.ts +9 -6
  364. package/dist/communication-dashboards.module.d.ts.map +1 -1
  365. package/dist/communication-dashboards.module.js +37 -7
  366. package/dist/communication-dashboards.module.js.map +1 -1
  367. package/dist/core-dashboards.module.d.ts +1 -1
  368. package/dist/core-dashboards.module.d.ts.map +1 -1
  369. package/dist/core-dashboards.module.js +46 -1
  370. package/dist/core-dashboards.module.js.map +1 -1
  371. package/dist/credentials-dashboards.module.d.ts +1 -1
  372. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  373. package/dist/credentials-dashboards.module.js +28 -1
  374. package/dist/credentials-dashboards.module.js.map +1 -1
  375. package/dist/lists-dashboards.module.d.ts +10 -9
  376. package/dist/lists-dashboards.module.d.ts.map +1 -1
  377. package/dist/lists-dashboards.module.js +40 -2
  378. package/dist/lists-dashboards.module.js.map +1 -1
  379. package/dist/public-api.d.ts +3 -2
  380. package/dist/public-api.d.ts.map +1 -1
  381. package/dist/public-api.js +4 -3
  382. package/dist/public-api.js.map +1 -1
  383. package/dist/scheduling-dashboards.module.d.ts +1 -1
  384. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  385. package/dist/scheduling-dashboards.module.js +31 -1
  386. package/dist/scheduling-dashboards.module.js.map +1 -1
  387. package/dist/testing-dashboards.module.d.ts +8 -7
  388. package/dist/testing-dashboards.module.d.ts.map +1 -1
  389. package/dist/testing-dashboards.module.js +42 -0
  390. package/dist/testing-dashboards.module.js.map +1 -1
  391. package/package.json +53 -52
  392. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
  393. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
  394. package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
  395. package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
  396. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
  397. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
  398. package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
  399. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
  400. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
  401. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
  402. package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
  403. package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
  404. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
  405. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
  406. package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
  407. package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
@@ -13,285 +13,254 @@ import { RunView } from '@memberjunction/core';
13
13
  import { UserInfoEngine } from '@memberjunction/core-entities';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@angular/common";
16
- import * as i2 from "@memberjunction/ng-shared-generic";
16
+ import * as i2 from "@memberjunction/ng-ui-components";
17
+ import * as i3 from "@memberjunction/ng-shared-generic";
17
18
  const _c0 = a0 => ({ "expanded": a0 });
18
- function VersionHistoryRestoreResourceComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelement(0, "mj-loading", 1);
19
+ function VersionHistoryRestoreResourceComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelement(0, "mj-loading", 9);
20
21
  } }
21
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "div", 32);
22
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "div", 31);
23
24
  i0.ɵɵtext(1);
24
25
  i0.ɵɵelementEnd();
25
26
  } if (rf & 2) {
26
- const restore_r4 = i0.ɵɵnextContext().$implicit;
27
- const ctx_r1 = i0.ɵɵnextContext(3);
27
+ const restore_r2 = i0.ɵɵnextContext().$implicit;
28
+ const ctx_r2 = i0.ɵɵnextContext(3);
28
29
  i0.ɵɵadvance();
29
- i0.ɵɵtextInterpolate(ctx_r1.FormatDate(restore_r4.StartedAt));
30
+ i0.ɵɵtextInterpolate(ctx_r2.FormatDate(restore_r2.StartedAt));
30
31
  } }
31
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_17_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵelementStart(0, "div", 40)(1, "span", 41);
32
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_17_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "div", 39)(1, "span", 40);
33
34
  i0.ɵɵtext(2, "Restored By");
34
35
  i0.ɵɵelementEnd();
35
- i0.ɵɵelementStart(3, "span", 43);
36
+ i0.ɵɵelementStart(3, "span", 42);
36
37
  i0.ɵɵtext(4);
37
38
  i0.ɵɵelementEnd()();
38
39
  } if (rf & 2) {
39
- const restore_r4 = i0.ɵɵnextContext(2).$implicit;
40
+ const restore_r2 = i0.ɵɵnextContext(2).$implicit;
40
41
  i0.ɵɵadvance(4);
41
- i0.ɵɵtextInterpolate(restore_r4.User);
42
+ i0.ɵɵtextInterpolate(restore_r2.User);
42
43
  } }
43
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_18_Conditional_3_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelementStart(0, "span", 45);
44
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_18_Conditional_3_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelementStart(0, "span", 44);
45
46
  i0.ɵɵtext(1);
46
47
  i0.ɵɵelementEnd();
47
48
  } if (rf & 2) {
48
- const restore_r4 = i0.ɵɵnextContext(3).$implicit;
49
+ const restore_r2 = i0.ɵɵnextContext(3).$implicit;
49
50
  i0.ɵɵadvance();
50
- i0.ɵɵtextInterpolate1(" ", restore_r4.PreRestoreLabel, " ");
51
+ i0.ɵɵtextInterpolate1(" ", restore_r2.PreRestoreLabel, " ");
51
52
  } }
52
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
53
- i0.ɵɵelementStart(0, "span", 45);
53
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelementStart(0, "span", 44);
54
55
  i0.ɵɵtext(1);
55
56
  i0.ɵɵpipe(2, "slice");
56
57
  i0.ɵɵelementEnd();
57
58
  } if (rf & 2) {
58
- const restore_r4 = i0.ɵɵnextContext(3).$implicit;
59
+ const restore_r2 = i0.ɵɵnextContext(3).$implicit;
59
60
  i0.ɵɵadvance();
60
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind3(2, 1, restore_r4.PreRestoreLabelID, 0, 20), "... ");
61
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind3(2, 1, restore_r2.PreRestoreLabelID, 0, 20), "... ");
61
62
  } }
62
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_18_Template(rf, ctx) { if (rf & 1) {
63
- i0.ɵɵelementStart(0, "div", 40)(1, "span", 41);
63
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_18_Template(rf, ctx) { if (rf & 1) {
64
+ i0.ɵɵelementStart(0, "div", 39)(1, "span", 40);
64
65
  i0.ɵɵtext(2, "Pre-Restore Label");
65
66
  i0.ɵɵelementEnd();
66
- i0.ɵɵconditionalCreate(3, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_18_Conditional_3_Template, 2, 1, "span", 45);
67
- i0.ɵɵconditionalCreate(4, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_18_Conditional_4_Template, 3, 5, "span", 45);
67
+ i0.ɵɵconditionalCreate(3, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_18_Conditional_3_Template, 2, 1, "span", 44);
68
+ i0.ɵɵconditionalCreate(4, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_18_Conditional_4_Template, 3, 5, "span", 44);
68
69
  i0.ɵɵelementEnd();
69
70
  } if (rf & 2) {
70
- const restore_r4 = i0.ɵɵnextContext(2).$implicit;
71
+ const restore_r2 = i0.ɵɵnextContext(2).$implicit;
71
72
  i0.ɵɵadvance(3);
72
- i0.ɵɵconditional(restore_r4.PreRestoreLabel ? 3 : -1);
73
+ i0.ɵɵconditional(restore_r2.PreRestoreLabel ? 3 : -1);
73
74
  i0.ɵɵadvance();
74
- i0.ɵɵconditional(!restore_r4.PreRestoreLabel ? 4 : -1);
75
+ i0.ɵɵconditional(!restore_r2.PreRestoreLabel ? 4 : -1);
75
76
  } }
76
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_19_Template(rf, ctx) { if (rf & 1) {
77
- i0.ɵɵelementStart(0, "div", 44)(1, "div", 46);
78
- i0.ɵɵelement(2, "i", 47);
77
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_19_Template(rf, ctx) { if (rf & 1) {
78
+ i0.ɵɵelementStart(0, "div", 43)(1, "div", 45);
79
+ i0.ɵɵelement(2, "i", 46);
79
80
  i0.ɵɵtext(3, " Error Log ");
80
81
  i0.ɵɵelementEnd();
81
- i0.ɵɵelementStart(4, "pre", 48);
82
+ i0.ɵɵelementStart(4, "pre", 47);
82
83
  i0.ɵɵtext(5);
83
84
  i0.ɵɵelementEnd()();
84
85
  } if (rf & 2) {
85
- const restore_r4 = i0.ɵɵnextContext(2).$implicit;
86
+ const restore_r2 = i0.ɵɵnextContext(2).$implicit;
86
87
  i0.ɵɵadvance(5);
87
- i0.ɵɵtextInterpolate(restore_r4.ErrorLog);
88
+ i0.ɵɵtextInterpolate(restore_r2.ErrorLog);
88
89
  } }
89
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
90
- i0.ɵɵelementStart(0, "div", 38)(1, "div", 39)(2, "div", 40)(3, "span", 41);
90
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
91
+ i0.ɵɵelementStart(0, "div", 37)(1, "div", 38)(2, "div", 39)(3, "span", 40);
91
92
  i0.ɵɵtext(4, "Status");
92
93
  i0.ɵɵelementEnd();
93
- i0.ɵɵelementStart(5, "span", 42);
94
+ i0.ɵɵelementStart(5, "span", 41);
94
95
  i0.ɵɵtext(6);
95
96
  i0.ɵɵelementEnd()();
96
- i0.ɵɵelementStart(7, "div", 40)(8, "span", 41);
97
+ i0.ɵɵelementStart(7, "div", 39)(8, "span", 40);
97
98
  i0.ɵɵtext(9, "Items Completed");
98
99
  i0.ɵɵelementEnd();
99
- i0.ɵɵelementStart(10, "span", 43);
100
+ i0.ɵɵelementStart(10, "span", 42);
100
101
  i0.ɵɵtext(11);
101
102
  i0.ɵɵelementEnd()();
102
- i0.ɵɵelementStart(12, "div", 40)(13, "span", 41);
103
+ i0.ɵɵelementStart(12, "div", 39)(13, "span", 40);
103
104
  i0.ɵɵtext(14, "Items Failed");
104
105
  i0.ɵɵelementEnd();
105
- i0.ɵɵelementStart(15, "span", 43);
106
+ i0.ɵɵelementStart(15, "span", 42);
106
107
  i0.ɵɵtext(16);
107
108
  i0.ɵɵelementEnd()();
108
- i0.ɵɵconditionalCreate(17, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_17_Template, 5, 1, "div", 40);
109
- i0.ɵɵconditionalCreate(18, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_18_Template, 5, 2, "div", 40);
109
+ i0.ɵɵconditionalCreate(17, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_17_Template, 5, 1, "div", 39);
110
+ i0.ɵɵconditionalCreate(18, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_18_Template, 5, 2, "div", 39);
110
111
  i0.ɵɵelementEnd();
111
- i0.ɵɵconditionalCreate(19, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Conditional_19_Template, 6, 1, "div", 44);
112
+ i0.ɵɵconditionalCreate(19, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Conditional_19_Template, 6, 1, "div", 43);
112
113
  i0.ɵɵelementEnd();
113
114
  } if (rf & 2) {
114
- const restore_r4 = i0.ɵɵnextContext().$implicit;
115
- const ctx_r1 = i0.ɵɵnextContext(3);
115
+ const restore_r2 = i0.ɵɵnextContext().$implicit;
116
+ const ctx_r2 = i0.ɵɵnextContext(3);
116
117
  i0.ɵɵadvance(5);
117
- i0.ɵɵproperty("ngClass", ctx_r1.GetStatusClass(restore_r4.Status));
118
+ i0.ɵɵproperty("ngClass", ctx_r2.GetStatusClass(restore_r2.Status));
118
119
  i0.ɵɵadvance();
119
- i0.ɵɵtextInterpolate1(" ", restore_r4.Status, " ");
120
+ i0.ɵɵtextInterpolate1(" ", restore_r2.Status, " ");
120
121
  i0.ɵɵadvance(5);
121
- i0.ɵɵtextInterpolate(restore_r4.CompletedItems ?? 0);
122
+ i0.ɵɵtextInterpolate(restore_r2.CompletedItems ?? 0);
122
123
  i0.ɵɵadvance(4);
123
- i0.ɵɵclassProp("text-error", (restore_r4.FailedItems ?? 0) > 0);
124
+ i0.ɵɵclassProp("text-error", (restore_r2.FailedItems ?? 0) > 0);
124
125
  i0.ɵɵadvance();
125
- i0.ɵɵtextInterpolate1(" ", restore_r4.FailedItems ?? 0, " ");
126
+ i0.ɵɵtextInterpolate1(" ", restore_r2.FailedItems ?? 0, " ");
126
127
  i0.ɵɵadvance();
127
- i0.ɵɵconditional(restore_r4.User ? 17 : -1);
128
+ i0.ɵɵconditional(restore_r2.User ? 17 : -1);
128
129
  i0.ɵɵadvance();
129
- i0.ɵɵconditional(restore_r4.PreRestoreLabelID ? 18 : -1);
130
+ i0.ɵɵconditional(restore_r2.PreRestoreLabelID ? 18 : -1);
130
131
  i0.ɵɵadvance();
131
- i0.ɵɵconditional(restore_r4.ErrorLog ? 19 : -1);
132
+ i0.ɵɵconditional(restore_r2.ErrorLog ? 19 : -1);
132
133
  } }
133
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Template(rf, ctx) { if (rf & 1) {
134
- const _r3 = i0.ɵɵgetCurrentView();
135
- i0.ɵɵelementStart(0, "div", 26)(1, "div", 27);
136
- i0.ɵɵlistener("click", function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Template_div_click_1_listener() { const restore_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.ToggleExpand(restore_r4.ID)); });
137
- i0.ɵɵelementStart(2, "div", 28);
138
- i0.ɵɵelement(3, "i", 29);
139
- i0.ɵɵelementStart(4, "div", 30)(5, "div", 31);
134
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Template(rf, ctx) { if (rf & 1) {
135
+ const _r1 = i0.ɵɵgetCurrentView();
136
+ i0.ɵɵelementStart(0, "div", 25)(1, "div", 26);
137
+ i0.ɵɵlistener("click", function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Template_div_click_1_listener() { const restore_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.ToggleExpand(restore_r2.ID)); });
138
+ i0.ɵɵelementStart(2, "div", 27);
139
+ i0.ɵɵelement(3, "i", 28);
140
+ i0.ɵɵelementStart(4, "div", 29)(5, "div", 30);
140
141
  i0.ɵɵtext(6);
141
142
  i0.ɵɵelementEnd();
142
- i0.ɵɵconditionalCreate(7, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_7_Template, 2, 1, "div", 32);
143
+ i0.ɵɵconditionalCreate(7, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_7_Template, 2, 1, "div", 31);
143
144
  i0.ɵɵelementEnd()();
144
- i0.ɵɵelementStart(8, "div", 33)(9, "div", 34);
145
- i0.ɵɵelement(10, "div", 35);
145
+ i0.ɵɵelementStart(8, "div", 32)(9, "div", 33);
146
+ i0.ɵɵelement(10, "div", 34);
146
147
  i0.ɵɵelementEnd();
147
- i0.ɵɵelementStart(11, "span", 36);
148
+ i0.ɵɵelementStart(11, "span", 35);
148
149
  i0.ɵɵtext(12);
149
150
  i0.ɵɵelementEnd();
150
- i0.ɵɵelement(13, "i", 37);
151
+ i0.ɵɵelement(13, "i", 36);
151
152
  i0.ɵɵelementEnd()();
152
- i0.ɵɵconditionalCreate(14, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Conditional_14_Template, 20, 9, "div", 38);
153
+ i0.ɵɵconditionalCreate(14, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Conditional_14_Template, 20, 9, "div", 37);
153
154
  i0.ɵɵelementEnd();
154
155
  } if (rf & 2) {
155
- const restore_r4 = ctx.$implicit;
156
- const ctx_r1 = i0.ɵɵnextContext(3);
157
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c0, ctx_r1.IsExpanded(restore_r4.ID)));
156
+ const restore_r2 = ctx.$implicit;
157
+ const ctx_r2 = i0.ɵɵnextContext(3);
158
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c0, ctx_r2.IsExpanded(restore_r2.ID)));
158
159
  i0.ɵɵadvance(3);
159
- i0.ɵɵclassMap(ctx_r1.GetStatusIcon(restore_r4.Status));
160
- i0.ɵɵproperty("ngClass", ctx_r1.GetStatusClass(restore_r4.Status));
160
+ i0.ɵɵclassMap(ctx_r2.GetStatusIcon(restore_r2.Status));
161
+ i0.ɵɵproperty("ngClass", ctx_r2.GetStatusClass(restore_r2.Status));
161
162
  i0.ɵɵadvance(3);
162
- i0.ɵɵtextInterpolate1(" ", restore_r4.VersionLabel, " ");
163
+ i0.ɵɵtextInterpolate1(" ", restore_r2.VersionLabel, " ");
163
164
  i0.ɵɵadvance();
164
- i0.ɵɵconditional(restore_r4.StartedAt ? 7 : -1);
165
+ i0.ɵɵconditional(restore_r2.StartedAt ? 7 : -1);
165
166
  i0.ɵɵadvance(3);
166
- i0.ɵɵstyleProp("width", ctx_r1.GetProgressPercent(restore_r4), "%");
167
- i0.ɵɵproperty("ngClass", ctx_r1.GetStatusClass(restore_r4.Status));
167
+ i0.ɵɵstyleProp("width", ctx_r2.GetProgressPercent(restore_r2), "%");
168
+ i0.ɵɵproperty("ngClass", ctx_r2.GetStatusClass(restore_r2.Status));
168
169
  i0.ɵɵadvance(2);
169
- i0.ɵɵtextInterpolate2(" ", restore_r4.CompletedItems ?? 0, " / ", restore_r4.TotalItems ?? 0, " items ");
170
+ i0.ɵɵtextInterpolate2(" ", restore_r2.CompletedItems ?? 0, " / ", restore_r2.TotalItems ?? 0, " items ");
170
171
  i0.ɵɵadvance();
171
- i0.ɵɵproperty("ngClass", ctx_r1.IsExpanded(restore_r4.ID) ? "fa-chevron-up" : "fa-chevron-down");
172
+ i0.ɵɵproperty("ngClass", ctx_r2.IsExpanded(restore_r2.ID) ? "fa-chevron-up" : "fa-chevron-down");
172
173
  i0.ɵɵadvance();
173
- i0.ɵɵconditional(ctx_r1.IsExpanded(restore_r4.ID) ? 14 : -1);
174
+ i0.ɵɵconditional(ctx_r2.IsExpanded(restore_r2.ID) ? 14 : -1);
174
175
  } }
175
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_Template(rf, ctx) { if (rf & 1) {
176
- i0.ɵɵelementStart(0, "div", 24);
177
- i0.ɵɵrepeaterCreate(1, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_For_2_Template, 15, 15, "div", 26, i0.ɵɵrepeaterTrackByIdentity);
176
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Template(rf, ctx) { if (rf & 1) {
177
+ i0.ɵɵelementStart(0, "div", 23);
178
+ i0.ɵɵrepeaterCreate(1, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_For_2_Template, 15, 15, "div", 25, i0.ɵɵrepeaterTrackByIdentity);
178
179
  i0.ɵɵelementEnd();
179
180
  } if (rf & 2) {
180
- const ctx_r1 = i0.ɵɵnextContext(2);
181
+ const ctx_r2 = i0.ɵɵnextContext(2);
181
182
  i0.ɵɵadvance();
182
- i0.ɵɵrepeater(ctx_r1.FilteredRestores);
183
+ i0.ɵɵrepeater(ctx_r2.FilteredRestores);
183
184
  } }
184
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_53_Conditional_4_Template(rf, ctx) { if (rf & 1) {
185
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_34_Conditional_4_Template(rf, ctx) { if (rf & 1) {
185
186
  i0.ɵɵelementStart(0, "p");
186
187
  i0.ɵɵtext(1, " Try adjusting your filters. ");
187
188
  i0.ɵɵelementEnd();
188
189
  } }
189
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_53_Conditional_5_Template(rf, ctx) { if (rf & 1) {
190
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_34_Conditional_5_Template(rf, ctx) { if (rf & 1) {
190
191
  i0.ɵɵelementStart(0, "p");
191
192
  i0.ɵɵtext(1, " No restores have been performed yet. Use the VersionHistoryEngine to restore records to a labeled state. ");
192
193
  i0.ɵɵelementEnd();
193
194
  } }
194
- function VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_53_Template(rf, ctx) { if (rf & 1) {
195
- i0.ɵɵelementStart(0, "div", 25);
196
- i0.ɵɵelement(1, "i", 49);
195
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_34_Template(rf, ctx) { if (rf & 1) {
196
+ i0.ɵɵelementStart(0, "div", 24);
197
+ i0.ɵɵelement(1, "i", 48);
197
198
  i0.ɵɵelementStart(2, "h3");
198
199
  i0.ɵɵtext(3, "No restore operations found");
199
200
  i0.ɵɵelementEnd();
200
- i0.ɵɵconditionalCreate(4, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_53_Conditional_4_Template, 2, 0, "p");
201
- i0.ɵɵconditionalCreate(5, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_53_Conditional_5_Template, 2, 0, "p");
201
+ i0.ɵɵconditionalCreate(4, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_34_Conditional_4_Template, 2, 0, "p");
202
+ i0.ɵɵconditionalCreate(5, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_34_Conditional_5_Template, 2, 0, "p");
202
203
  i0.ɵɵelementEnd();
203
204
  } if (rf & 2) {
204
- const ctx_r1 = i0.ɵɵnextContext(2);
205
+ const ctx_r2 = i0.ɵɵnextContext(2);
205
206
  i0.ɵɵadvance(4);
206
- i0.ɵɵconditional(ctx_r1.StatusFilter ? 4 : -1);
207
+ i0.ɵɵconditional(ctx_r2.StatusFilter ? 4 : -1);
207
208
  i0.ɵɵadvance();
208
- i0.ɵɵconditional(!ctx_r1.StatusFilter ? 5 : -1);
209
+ i0.ɵɵconditional(!ctx_r2.StatusFilter ? 5 : -1);
209
210
  } }
210
- function VersionHistoryRestoreResourceComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
211
- const _r1 = i0.ɵɵgetCurrentView();
212
- i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "h2", 4);
213
- i0.ɵɵtext(3, "Restore History");
211
+ function VersionHistoryRestoreResourceComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
212
+ i0.ɵɵelementStart(0, "div", 10)(1, "div", 11)(2, "div", 12);
213
+ i0.ɵɵelement(3, "i", 13);
214
214
  i0.ɵɵelementEnd();
215
- i0.ɵɵelementStart(4, "p", 5);
216
- i0.ɵɵtext(5, "Track all restore operations and their outcomes");
217
- i0.ɵɵelementEnd()();
218
- i0.ɵɵelementStart(6, "div", 6)(7, "button", 7);
219
- i0.ɵɵlistener("click", function VersionHistoryRestoreResourceComponent_Conditional_2_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Refresh()); });
220
- i0.ɵɵelement(8, "i", 8);
221
- i0.ɵɵelementEnd()()();
222
- i0.ɵɵelementStart(9, "div", 9)(10, "div", 10)(11, "div", 11);
223
- i0.ɵɵelement(12, "i", 12);
224
- i0.ɵɵelementEnd();
225
- i0.ɵɵelementStart(13, "div", 13)(14, "div", 14);
226
- i0.ɵɵtext(15);
215
+ i0.ɵɵelementStart(4, "div", 14)(5, "div", 15);
216
+ i0.ɵɵtext(6);
227
217
  i0.ɵɵelementEnd();
228
- i0.ɵɵelementStart(16, "div", 15);
229
- i0.ɵɵtext(17, "Total Restores");
218
+ i0.ɵɵelementStart(7, "div", 16);
219
+ i0.ɵɵtext(8, "Total Restores");
230
220
  i0.ɵɵelementEnd()()();
231
- i0.ɵɵelementStart(18, "div", 10)(19, "div", 16);
232
- i0.ɵɵelement(20, "i", 17);
221
+ i0.ɵɵelementStart(9, "div", 11)(10, "div", 17);
222
+ i0.ɵɵelement(11, "i", 18);
233
223
  i0.ɵɵelementEnd();
234
- i0.ɵɵelementStart(21, "div", 13)(22, "div", 14);
235
- i0.ɵɵtext(23);
224
+ i0.ɵɵelementStart(12, "div", 14)(13, "div", 15);
225
+ i0.ɵɵtext(14);
236
226
  i0.ɵɵelementEnd();
237
- i0.ɵɵelementStart(24, "div", 15);
238
- i0.ɵɵtext(25, "Successful");
227
+ i0.ɵɵelementStart(15, "div", 16);
228
+ i0.ɵɵtext(16, "Successful");
239
229
  i0.ɵɵelementEnd()()();
240
- i0.ɵɵelementStart(26, "div", 10)(27, "div", 18);
241
- i0.ɵɵelement(28, "i", 19);
230
+ i0.ɵɵelementStart(17, "div", 11)(18, "div", 19);
231
+ i0.ɵɵelement(19, "i", 20);
242
232
  i0.ɵɵelementEnd();
243
- i0.ɵɵelementStart(29, "div", 13)(30, "div", 14);
244
- i0.ɵɵtext(31);
233
+ i0.ɵɵelementStart(20, "div", 14)(21, "div", 15);
234
+ i0.ɵɵtext(22);
245
235
  i0.ɵɵelementEnd();
246
- i0.ɵɵelementStart(32, "div", 15);
247
- i0.ɵɵtext(33, "Failed");
236
+ i0.ɵɵelementStart(23, "div", 16);
237
+ i0.ɵɵtext(24, "Failed");
248
238
  i0.ɵɵelementEnd()()();
249
- i0.ɵɵelementStart(34, "div", 10)(35, "div", 20);
250
- i0.ɵɵelement(36, "i", 21);
239
+ i0.ɵɵelementStart(25, "div", 11)(26, "div", 21);
240
+ i0.ɵɵelement(27, "i", 22);
251
241
  i0.ɵɵelementEnd();
252
- i0.ɵɵelementStart(37, "div", 13)(38, "div", 14);
253
- i0.ɵɵtext(39);
242
+ i0.ɵɵelementStart(28, "div", 14)(29, "div", 15);
243
+ i0.ɵɵtext(30);
254
244
  i0.ɵɵelementEnd();
255
- i0.ɵɵelementStart(40, "div", 15);
256
- i0.ɵɵtext(41, "Partial");
245
+ i0.ɵɵelementStart(31, "div", 16);
246
+ i0.ɵɵtext(32, "Partial");
257
247
  i0.ɵɵelementEnd()()()();
258
- i0.ɵɵelementStart(42, "div", 22)(43, "button", 23);
259
- i0.ɵɵlistener("click", function VersionHistoryRestoreResourceComponent_Conditional_2_Template_button_click_43_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnStatusFilterChange("Complete")); });
260
- i0.ɵɵelement(44, "i", 17);
261
- i0.ɵɵtext(45, " Complete ");
262
- i0.ɵɵelementEnd();
263
- i0.ɵɵelementStart(46, "button", 23);
264
- i0.ɵɵlistener("click", function VersionHistoryRestoreResourceComponent_Conditional_2_Template_button_click_46_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnStatusFilterChange("Error")); });
265
- i0.ɵɵelement(47, "i", 19);
266
- i0.ɵɵtext(48, " Error ");
267
- i0.ɵɵelementEnd();
268
- i0.ɵɵelementStart(49, "button", 23);
269
- i0.ɵɵlistener("click", function VersionHistoryRestoreResourceComponent_Conditional_2_Template_button_click_49_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnStatusFilterChange("Partial")); });
270
- i0.ɵɵelement(50, "i", 21);
271
- i0.ɵɵtext(51, " Partial ");
272
- i0.ɵɵelementEnd()();
273
- i0.ɵɵconditionalCreate(52, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_52_Template, 3, 0, "div", 24);
274
- i0.ɵɵconditionalCreate(53, VersionHistoryRestoreResourceComponent_Conditional_2_Conditional_53_Template, 6, 2, "div", 25);
248
+ i0.ɵɵconditionalCreate(33, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Template, 3, 0, "div", 23);
249
+ i0.ɵɵconditionalCreate(34, VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_34_Template, 6, 2, "div", 24);
275
250
  } if (rf & 2) {
276
- const ctx_r1 = i0.ɵɵnextContext();
277
- i0.ɵɵadvance(15);
278
- i0.ɵɵtextInterpolate(ctx_r1.TotalRestores);
251
+ const ctx_r2 = i0.ɵɵnextContext();
252
+ i0.ɵɵadvance(6);
253
+ i0.ɵɵtextInterpolate(ctx_r2.TotalRestores);
279
254
  i0.ɵɵadvance(8);
280
- i0.ɵɵtextInterpolate(ctx_r1.SuccessfulRestores);
255
+ i0.ɵɵtextInterpolate(ctx_r2.SuccessfulRestores);
281
256
  i0.ɵɵadvance(8);
282
- i0.ɵɵtextInterpolate(ctx_r1.FailedRestores);
257
+ i0.ɵɵtextInterpolate(ctx_r2.FailedRestores);
283
258
  i0.ɵɵadvance(8);
284
- i0.ɵɵtextInterpolate(ctx_r1.PartialRestores);
285
- i0.ɵɵadvance(4);
286
- i0.ɵɵclassProp("active", ctx_r1.StatusFilter === "Complete");
287
- i0.ɵɵadvance(3);
288
- i0.ɵɵclassProp("active", ctx_r1.StatusFilter === "Error");
259
+ i0.ɵɵtextInterpolate(ctx_r2.PartialRestores);
289
260
  i0.ɵɵadvance(3);
290
- i0.ɵɵclassProp("active", ctx_r1.StatusFilter === "Partial");
291
- i0.ɵɵadvance(3);
292
- i0.ɵɵconditional(ctx_r1.FilteredRestores.length > 0 ? 52 : -1);
261
+ i0.ɵɵconditional(ctx_r2.FilteredRestores.length > 0 ? 33 : -1);
293
262
  i0.ɵɵadvance();
294
- i0.ɵɵconditional(ctx_r1.FilteredRestores.length === 0 && !ctx_r1.IsLoading ? 53 : -1);
263
+ i0.ɵɵconditional(ctx_r2.FilteredRestores.length === 0 && !ctx_r2.IsLoading ? 34 : -1);
295
264
  } }
296
265
  let VersionHistoryRestoreResourceComponent = class VersionHistoryRestoreResourceComponent extends BaseResourceComponent {
297
266
  static { VersionHistoryRestoreResourceComponent_1 = this; }
@@ -450,17 +419,42 @@ let VersionHistoryRestoreResourceComponent = class VersionHistoryRestoreResource
450
419
  this.LoadData();
451
420
  }
452
421
  static ɵfac = function VersionHistoryRestoreResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || VersionHistoryRestoreResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
453
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryRestoreResourceComponent, selectors: [["mj-version-history-restore-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [[1, "restore-container"], ["text", "Loading restore history..."], [1, "page-header"], [1, "header-left"], [1, "page-title"], [1, "page-subtitle"], [1, "header-actions"], ["title", "Refresh", 1, "btn-icon", 3, "click"], [1, "fa-solid", "fa-refresh"], [1, "kpi-row"], [1, "kpi-card"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-brand-primary) 10%, transparent)", "color", "var(--mj-brand-primary)"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "kpi-content"], [1, "kpi-value"], [1, "kpi-label"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-success) 10%, transparent)", "color", "var(--mj-status-success)"], [1, "fa-solid", "fa-circle-check"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-error) 10%, transparent)", "color", "var(--mj-status-error)"], [1, "fa-solid", "fa-circle-xmark"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-warning) 10%, transparent)", "color", "var(--mj-status-warning)"], [1, "fa-solid", "fa-circle-half-stroke"], [1, "filter-row"], [1, "filter-chip", 3, "click"], [1, "restore-list"], [1, "empty-state"], [1, "restore-card", 3, "ngClass"], [1, "restore-header", 3, "click"], [1, "restore-header-left"], [1, "status-icon", 3, "ngClass"], [1, "restore-info"], [1, "restore-label-name"], [1, "restore-date"], [1, "restore-header-right"], [1, "restore-progress-bar"], [1, "progress-fill", 3, "ngClass"], [1, "restore-count"], [1, "expand-icon", 3, "ngClass"], [1, "restore-details"], [1, "detail-grid"], [1, "detail-item"], [1, "detail-label"], [1, "detail-value", 3, "ngClass"], [1, "detail-value"], [1, "error-log"], [1, "detail-value", "detail-mono"], [1, "error-log-header"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "error-log-content"], [1, "fa-solid", "fa-clock-rotate-left", "empty-icon"]], template: function VersionHistoryRestoreResourceComponent_Template(rf, ctx) { if (rf & 1) {
454
- i0.ɵɵelementStart(0, "div", 0);
455
- i0.ɵɵconditionalCreate(1, VersionHistoryRestoreResourceComponent_Conditional_1_Template, 1, 0, "mj-loading", 1);
456
- i0.ɵɵconditionalCreate(2, VersionHistoryRestoreResourceComponent_Conditional_2_Template, 54, 12);
422
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryRestoreResourceComponent, selectors: [["mj-version-history-restore-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 13, vars: 8, consts: [["Title", "Restore History", "Icon", "fa-solid fa-clock-rotate-left", "Subtitle", "Track all restore operations and their outcomes"], ["meta", ""], ["Label", "restores", 3, "Count", "Total"], ["actions", ""], [3, "Clicked", "Loading"], ["toolbar", ""], ["Label", "Complete", "Icon", "fa-solid fa-circle-check", 3, "Clicked", "Active"], ["Label", "Error", "Icon", "fa-solid fa-circle-xmark", 3, "Clicked", "Active"], ["Label", "Partial", "Icon", "fa-solid fa-circle-half-stroke", 3, "Clicked", "Active"], ["text", "Loading restore history..."], [1, "kpi-row"], [1, "kpi-card"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-brand-primary) 10%, transparent)", "color", "var(--mj-brand-primary)"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "kpi-content"], [1, "kpi-value"], [1, "kpi-label"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-success) 10%, transparent)", "color", "var(--mj-status-success)"], [1, "fa-solid", "fa-circle-check"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-error) 10%, transparent)", "color", "var(--mj-status-error)"], [1, "fa-solid", "fa-circle-xmark"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-warning) 10%, transparent)", "color", "var(--mj-status-warning)"], [1, "fa-solid", "fa-circle-half-stroke"], [1, "restore-list"], [1, "empty-state"], [1, "restore-card", 3, "ngClass"], [1, "restore-header", 3, "click"], [1, "restore-header-left"], [1, "status-icon", 3, "ngClass"], [1, "restore-info"], [1, "restore-label-name"], [1, "restore-date"], [1, "restore-header-right"], [1, "restore-progress-bar"], [1, "progress-fill", 3, "ngClass"], [1, "restore-count"], [1, "expand-icon", 3, "ngClass"], [1, "restore-details"], [1, "detail-grid"], [1, "detail-item"], [1, "detail-label"], [1, "detail-value", 3, "ngClass"], [1, "detail-value"], [1, "error-log"], [1, "detail-value", "detail-mono"], [1, "error-log-header"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "error-log-content"], [1, "fa-solid", "fa-clock-rotate-left", "empty-icon"]], template: function VersionHistoryRestoreResourceComponent_Template(rf, ctx) { if (rf & 1) {
423
+ i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 0)(2, "div", 1);
424
+ i0.ɵɵelement(3, "mj-stat-badge", 2);
425
+ i0.ɵɵelementEnd();
426
+ i0.ɵɵelementStart(4, "div", 3)(5, "mj-refresh-button", 4);
427
+ i0.ɵɵlistener("Clicked", function VersionHistoryRestoreResourceComponent_Template_mj_refresh_button_Clicked_5_listener() { return ctx.Refresh(); });
428
+ i0.ɵɵelementEnd()();
429
+ i0.ɵɵelementStart(6, "div", 5)(7, "mj-filter-chip", 6);
430
+ i0.ɵɵlistener("Clicked", function VersionHistoryRestoreResourceComponent_Template_mj_filter_chip_Clicked_7_listener() { return ctx.OnStatusFilterChange("Complete"); });
457
431
  i0.ɵɵelementEnd();
432
+ i0.ɵɵelementStart(8, "mj-filter-chip", 7);
433
+ i0.ɵɵlistener("Clicked", function VersionHistoryRestoreResourceComponent_Template_mj_filter_chip_Clicked_8_listener() { return ctx.OnStatusFilterChange("Error"); });
434
+ i0.ɵɵelementEnd();
435
+ i0.ɵɵelementStart(9, "mj-filter-chip", 8);
436
+ i0.ɵɵlistener("Clicked", function VersionHistoryRestoreResourceComponent_Template_mj_filter_chip_Clicked_9_listener() { return ctx.OnStatusFilterChange("Partial"); });
437
+ i0.ɵɵelementEnd()()();
438
+ i0.ɵɵelementStart(10, "mj-page-body");
439
+ i0.ɵɵconditionalCreate(11, VersionHistoryRestoreResourceComponent_Conditional_11_Template, 1, 0, "mj-loading", 9);
440
+ i0.ɵɵconditionalCreate(12, VersionHistoryRestoreResourceComponent_Conditional_12_Template, 35, 6);
441
+ i0.ɵɵelementEnd()();
458
442
  } if (rf & 2) {
443
+ i0.ɵɵadvance(3);
444
+ i0.ɵɵproperty("Count", ctx.FilteredRestores.length)("Total", ctx.Restores.length);
445
+ i0.ɵɵadvance(2);
446
+ i0.ɵɵproperty("Loading", ctx.IsLoading);
447
+ i0.ɵɵadvance(2);
448
+ i0.ɵɵproperty("Active", ctx.StatusFilter === "Complete");
449
+ i0.ɵɵadvance();
450
+ i0.ɵɵproperty("Active", ctx.StatusFilter === "Error");
459
451
  i0.ɵɵadvance();
460
- i0.ɵɵconditional(ctx.IsLoading ? 1 : -1);
452
+ i0.ɵɵproperty("Active", ctx.StatusFilter === "Partial");
453
+ i0.ɵɵadvance(2);
454
+ i0.ɵɵconditional(ctx.IsLoading ? 11 : -1);
461
455
  i0.ɵɵadvance();
462
- i0.ɵɵconditional(!ctx.IsLoading ? 2 : -1);
463
- } }, dependencies: [i1.NgClass, i2.LoadingComponent, i1.SlicePipe], styles: [".restore-container[_ngcontent-%COMP%] {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n}\n\n\n\n.page-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 24px;\n}\n\n.header-left[_ngcontent-%COMP%] { flex: 1; }\n\n.page-title[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n}\n\n.page-subtitle[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n.header-actions[_ngcontent-%COMP%] { display: flex; gap: 12px; }\n\n.btn-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-secondary);\n}\n\n.btn-icon[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n\n\n.kpi-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n\n\n.filter-row[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.filter-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n cursor: pointer;\n font-size: 13px;\n color: var(--mj-text-secondary);\n transition: all 0.2s ease;\n}\n\n.filter-chip[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.filter-chip.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n\n\n.restore-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.restore-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.restore-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-strong);\n}\n\n.restore-card.expanded[_ngcontent-%COMP%] {\n box-shadow: var(--mj-shadow-md);\n}\n\n.restore-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n cursor: pointer;\n}\n\n.restore-header-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.status-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n\n.status-success[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n.status-failed[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n.status-progress[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n.status-pending[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n\n.restore-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.restore-label-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dry-run-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n border-radius: 8px;\n letter-spacing: 0.5px;\n}\n\n.restore-date[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.restore-header-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.restore-progress-bar[_ngcontent-%COMP%] {\n width: 80px;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.progress-fill.status-success[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n.progress-fill.status-failed[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n.progress-fill.status-progress[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n.progress-fill.status-pending[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n\n.restore-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n\n\n.restore-details[_ngcontent-%COMP%] {\n padding: 0 20px 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.detail-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 16px;\n padding-top: 16px;\n}\n\n.detail-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.detail-value[_ngcontent-%COMP%] {\n font-size: 15px;\n color: var(--mj-text-primary);\n font-weight: 500;\n}\n\n.detail-mono[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 13px;\n}\n\n.text-error[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n\n\n.error-log[_ngcontent-%COMP%] {\n margin-top: 16px;\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-log-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n color: var(--mj-status-error);\n font-size: 13px;\n font-weight: 600;\n}\n\n.error-log-content[_ngcontent-%COMP%] {\n margin: 0;\n padding: 12px 14px;\n font-size: 12px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n@media (max-width: 768px) {\n .kpi-row[_ngcontent-%COMP%] { grid-template-columns: repeat(2, 1fr); }\n}"], changeDetection: 0 });
456
+ i0.ɵɵconditional(!ctx.IsLoading ? 12 : -1);
457
+ } }, dependencies: [i1.NgClass, i2.MJPageHeaderComponent, i2.MJPageLayoutComponent, i2.MJPageBodyComponent, i2.MJFilterChipComponent, i2.MJStatBadgeComponent, i2.MJRefreshButtonComponent, i3.LoadingComponent, i1.SlicePipe], styles: ["\n\n.kpi-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n\n\n.restore-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.restore-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.restore-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-strong);\n}\n\n.restore-card.expanded[_ngcontent-%COMP%] {\n box-shadow: var(--mj-shadow-md);\n}\n\n.restore-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n cursor: pointer;\n}\n\n.restore-header-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.status-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n\n.status-success[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n.status-failed[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n.status-progress[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n.status-pending[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n\n.restore-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.restore-label-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dry-run-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n border-radius: 8px;\n letter-spacing: 0.5px;\n}\n\n.restore-date[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.restore-header-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.restore-progress-bar[_ngcontent-%COMP%] {\n width: 80px;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.progress-fill.status-success[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n.progress-fill.status-failed[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n.progress-fill.status-progress[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n.progress-fill.status-pending[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n\n.restore-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n\n\n.restore-details[_ngcontent-%COMP%] {\n padding: 0 20px 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.detail-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 16px;\n padding-top: 16px;\n}\n\n.detail-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.detail-value[_ngcontent-%COMP%] {\n font-size: 15px;\n color: var(--mj-text-primary);\n font-weight: 500;\n}\n\n.detail-mono[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 13px;\n}\n\n.text-error[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n\n\n.error-log[_ngcontent-%COMP%] {\n margin-top: 16px;\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-log-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n color: var(--mj-status-error);\n font-size: 13px;\n font-weight: 600;\n}\n\n.error-log-content[_ngcontent-%COMP%] {\n margin: 0;\n padding: 12px 14px;\n font-size: 12px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n@media (max-width: 768px) {\n .kpi-row[_ngcontent-%COMP%] { grid-template-columns: repeat(2, 1fr); }\n}"], changeDetection: 0 });
464
458
  };
465
459
  VersionHistoryRestoreResourceComponent = VersionHistoryRestoreResourceComponent_1 = __decorate([
466
460
  RegisterClass(BaseResourceComponent, 'VersionHistoryRestoreResource')
@@ -468,7 +462,7 @@ VersionHistoryRestoreResourceComponent = VersionHistoryRestoreResourceComponent_
468
462
  export { VersionHistoryRestoreResourceComponent };
469
463
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VersionHistoryRestoreResourceComponent, [{
470
464
  type: Component,
471
- args: [{ standalone: false, selector: 'mj-version-history-restore-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"restore-container\">\n @if (IsLoading) {\n <mj-loading text=\"Loading restore history...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- Header -->\n <div class=\"page-header\">\n <div class=\"header-left\">\n <h2 class=\"page-title\">Restore History</h2>\n <p class=\"page-subtitle\">Track all restore operations and their outcomes</p>\n </div>\n <div class=\"header-actions\">\n <button class=\"btn-icon\" (click)=\"Refresh()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n <!-- KPI Cards -->\n <div class=\"kpi-row\">\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent); color: var(--mj-brand-primary);\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{TotalRestores}}</div>\n <div class=\"kpi-label\">Total Restores</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-success) 10%, transparent); color: var(--mj-status-success);\">\n <i class=\"fa-solid fa-circle-check\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{SuccessfulRestores}}</div>\n <div class=\"kpi-label\">Successful</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); color: var(--mj-status-error);\">\n <i class=\"fa-solid fa-circle-xmark\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FailedRestores}}</div>\n <div class=\"kpi-label\">Failed</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); color: var(--mj-status-warning);\">\n <i class=\"fa-solid fa-circle-half-stroke\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{PartialRestores}}</div>\n <div class=\"kpi-label\">Partial</div>\n </div>\n </div>\n </div>\n <!-- Filters -->\n <div class=\"filter-row\">\n <button class=\"filter-chip\"\n [class.active]=\"StatusFilter === 'Complete'\"\n (click)=\"OnStatusFilterChange('Complete')\">\n <i class=\"fa-solid fa-circle-check\"></i> Complete\n </button>\n <button class=\"filter-chip\"\n [class.active]=\"StatusFilter === 'Error'\"\n (click)=\"OnStatusFilterChange('Error')\">\n <i class=\"fa-solid fa-circle-xmark\"></i> Error\n </button>\n <button class=\"filter-chip\"\n [class.active]=\"StatusFilter === 'Partial'\"\n (click)=\"OnStatusFilterChange('Partial')\">\n <i class=\"fa-solid fa-circle-half-stroke\"></i> Partial\n </button>\n </div>\n <!-- Restore List -->\n @if (FilteredRestores.length > 0) {\n <div class=\"restore-list\">\n @for (restore of FilteredRestores; track restore) {\n <div class=\"restore-card\"\n [ngClass]=\"{'expanded': IsExpanded(restore.ID)}\">\n <div class=\"restore-header\" (click)=\"ToggleExpand(restore.ID)\">\n <div class=\"restore-header-left\">\n <i [class]=\"GetStatusIcon(restore.Status)\"\n [ngClass]=\"GetStatusClass(restore.Status)\"\n class=\"status-icon\"></i>\n <div class=\"restore-info\">\n <div class=\"restore-label-name\">\n {{restore.VersionLabel}}\n </div>\n @if (restore.StartedAt) {\n <div class=\"restore-date\">{{FormatDate(restore.StartedAt)}}</div>\n }\n </div>\n </div>\n <div class=\"restore-header-right\">\n <div class=\"restore-progress-bar\">\n <div class=\"progress-fill\"\n [ngClass]=\"GetStatusClass(restore.Status)\"\n [style.width.%]=\"GetProgressPercent(restore)\">\n </div>\n </div>\n <span class=\"restore-count\">\n {{restore.CompletedItems ?? 0}} / {{restore.TotalItems ?? 0}} items\n </span>\n <i class=\"fa-solid\"\n [ngClass]=\"IsExpanded(restore.ID) ? 'fa-chevron-up' : 'fa-chevron-down'\"\n class=\"expand-icon\">\n </i>\n </div>\n </div>\n <!-- Expanded Details -->\n @if (IsExpanded(restore.ID)) {\n <div class=\"restore-details\">\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Status</span>\n <span class=\"detail-value\" [ngClass]=\"GetStatusClass(restore.Status)\">\n {{restore.Status}}\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Items Completed</span>\n <span class=\"detail-value\">{{restore.CompletedItems ?? 0}}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Items Failed</span>\n <span class=\"detail-value\" [class.text-error]=\"(restore.FailedItems ?? 0) > 0\">\n {{restore.FailedItems ?? 0}}\n </span>\n </div>\n @if (restore.User) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Restored By</span>\n <span class=\"detail-value\">{{restore.User}}</span>\n </div>\n }\n @if (restore.PreRestoreLabelID) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Pre-Restore Label</span>\n @if (restore.PreRestoreLabel) {\n <span class=\"detail-value detail-mono\">\n {{restore.PreRestoreLabel}}\n </span>\n }\n @if (!restore.PreRestoreLabel) {\n <span class=\"detail-value detail-mono\">\n {{restore.PreRestoreLabelID | slice:0:20}}...\n </span>\n }\n </div>\n }\n </div>\n @if (restore.ErrorLog) {\n <div class=\"error-log\">\n <div class=\"error-log-header\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n Error Log\n </div>\n <pre class=\"error-log-content\">{{restore.ErrorLog}}</pre>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Empty State -->\n @if (FilteredRestores.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-clock-rotate-left empty-icon\"></i>\n <h3>No restore operations found</h3>\n @if (StatusFilter) {\n <p>\n Try adjusting your filters.\n </p>\n }\n @if (!StatusFilter) {\n <p>\n No restores have been performed yet. Use the VersionHistoryEngine to restore records to a labeled state.\n </p>\n }\n </div>\n }\n }\n</div>\n", styles: [".restore-container {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n}\n\n/* Header */\n.page-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 24px;\n}\n\n.header-left { flex: 1; }\n\n.page-title {\n font-size: 24px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n}\n\n.page-subtitle {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n.header-actions { display: flex; gap: 12px; }\n\n.btn-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-secondary);\n}\n\n.btn-icon:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n/* KPI Row */\n.kpi-row {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n/* Filter Row */\n.filter-row {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.filter-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n cursor: pointer;\n font-size: 13px;\n color: var(--mj-text-secondary);\n transition: all 0.2s ease;\n}\n\n.filter-chip:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.filter-chip.active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n/* Restore List */\n.restore-list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.restore-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.restore-card:hover {\n border-color: var(--mj-border-strong);\n}\n\n.restore-card.expanded {\n box-shadow: var(--mj-shadow-md);\n}\n\n.restore-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n cursor: pointer;\n}\n\n.restore-header-left {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.status-icon {\n font-size: 20px;\n}\n\n.status-success { color: var(--mj-status-success); }\n.status-failed { color: var(--mj-status-error); }\n.status-progress { color: var(--mj-brand-primary); }\n.status-pending { color: var(--mj-status-warning); }\n\n.restore-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.restore-label-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dry-run-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n border-radius: 8px;\n letter-spacing: 0.5px;\n}\n\n.restore-date {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.restore-header-right {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.restore-progress-bar {\n width: 80px;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-fill {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.progress-fill.status-success { background: var(--mj-status-success); }\n.progress-fill.status-failed { background: var(--mj-status-error); }\n.progress-fill.status-progress { background: var(--mj-brand-primary); }\n.progress-fill.status-pending { background: var(--mj-status-warning); }\n\n.restore-count {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.expand-icon {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n/* Expanded Details */\n.restore-details {\n padding: 0 20px 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.detail-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 16px;\n padding-top: 16px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.detail-value {\n font-size: 15px;\n color: var(--mj-text-primary);\n font-weight: 500;\n}\n\n.detail-mono {\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 13px;\n}\n\n.text-error {\n color: var(--mj-status-error);\n}\n\n/* Error Log */\n.error-log {\n margin-top: 16px;\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-log-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n color: var(--mj-status-error);\n font-size: 13px;\n font-weight: 600;\n}\n\n.error-log-content {\n margin: 0;\n padding: 12px 14px;\n font-size: 12px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n@media (max-width: 768px) {\n .kpi-row { grid-template-columns: repeat(2, 1fr); }\n}\n"] }]
465
+ args: [{ standalone: false, selector: 'mj-version-history-restore-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mj-page-layout>\n <mj-page-header\n Title=\"Restore History\"\n Icon=\"fa-solid fa-clock-rotate-left\"\n Subtitle=\"Track all restore operations and their outcomes\">\n <div meta>\n <mj-stat-badge\n [Count]=\"FilteredRestores.length\"\n [Total]=\"Restores.length\"\n Label=\"restores\">\n </mj-stat-badge>\n </div>\n <div actions>\n <mj-refresh-button [Loading]=\"IsLoading\" (Clicked)=\"Refresh()\"></mj-refresh-button>\n </div>\n <div toolbar>\n <mj-filter-chip\n Label=\"Complete\"\n Icon=\"fa-solid fa-circle-check\"\n [Active]=\"StatusFilter === 'Complete'\"\n (Clicked)=\"OnStatusFilterChange('Complete')\">\n </mj-filter-chip>\n <mj-filter-chip\n Label=\"Error\"\n Icon=\"fa-solid fa-circle-xmark\"\n [Active]=\"StatusFilter === 'Error'\"\n (Clicked)=\"OnStatusFilterChange('Error')\">\n </mj-filter-chip>\n <mj-filter-chip\n Label=\"Partial\"\n Icon=\"fa-solid fa-circle-half-stroke\"\n [Active]=\"StatusFilter === 'Partial'\"\n (Clicked)=\"OnStatusFilterChange('Partial')\">\n </mj-filter-chip>\n </div>\n </mj-page-header>\n\n <mj-page-body>\n @if (IsLoading) {\n <mj-loading text=\"Loading restore history...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- KPI Cards -->\n <div class=\"kpi-row\">\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent); color: var(--mj-brand-primary);\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{TotalRestores}}</div>\n <div class=\"kpi-label\">Total Restores</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-success) 10%, transparent); color: var(--mj-status-success);\">\n <i class=\"fa-solid fa-circle-check\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{SuccessfulRestores}}</div>\n <div class=\"kpi-label\">Successful</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); color: var(--mj-status-error);\">\n <i class=\"fa-solid fa-circle-xmark\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FailedRestores}}</div>\n <div class=\"kpi-label\">Failed</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); color: var(--mj-status-warning);\">\n <i class=\"fa-solid fa-circle-half-stroke\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{PartialRestores}}</div>\n <div class=\"kpi-label\">Partial</div>\n </div>\n </div>\n </div>\n <!-- Restore List -->\n @if (FilteredRestores.length > 0) {\n <div class=\"restore-list\">\n @for (restore of FilteredRestores; track restore) {\n <div class=\"restore-card\"\n [ngClass]=\"{'expanded': IsExpanded(restore.ID)}\">\n <div class=\"restore-header\" (click)=\"ToggleExpand(restore.ID)\">\n <div class=\"restore-header-left\">\n <i [class]=\"GetStatusIcon(restore.Status)\"\n [ngClass]=\"GetStatusClass(restore.Status)\"\n class=\"status-icon\"></i>\n <div class=\"restore-info\">\n <div class=\"restore-label-name\">\n {{restore.VersionLabel}}\n </div>\n @if (restore.StartedAt) {\n <div class=\"restore-date\">{{FormatDate(restore.StartedAt)}}</div>\n }\n </div>\n </div>\n <div class=\"restore-header-right\">\n <div class=\"restore-progress-bar\">\n <div class=\"progress-fill\"\n [ngClass]=\"GetStatusClass(restore.Status)\"\n [style.width.%]=\"GetProgressPercent(restore)\">\n </div>\n </div>\n <span class=\"restore-count\">\n {{restore.CompletedItems ?? 0}} / {{restore.TotalItems ?? 0}} items\n </span>\n <i class=\"fa-solid\"\n [ngClass]=\"IsExpanded(restore.ID) ? 'fa-chevron-up' : 'fa-chevron-down'\"\n class=\"expand-icon\">\n </i>\n </div>\n </div>\n <!-- Expanded Details -->\n @if (IsExpanded(restore.ID)) {\n <div class=\"restore-details\">\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Status</span>\n <span class=\"detail-value\" [ngClass]=\"GetStatusClass(restore.Status)\">\n {{restore.Status}}\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Items Completed</span>\n <span class=\"detail-value\">{{restore.CompletedItems ?? 0}}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Items Failed</span>\n <span class=\"detail-value\" [class.text-error]=\"(restore.FailedItems ?? 0) > 0\">\n {{restore.FailedItems ?? 0}}\n </span>\n </div>\n @if (restore.User) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Restored By</span>\n <span class=\"detail-value\">{{restore.User}}</span>\n </div>\n }\n @if (restore.PreRestoreLabelID) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Pre-Restore Label</span>\n @if (restore.PreRestoreLabel) {\n <span class=\"detail-value detail-mono\">\n {{restore.PreRestoreLabel}}\n </span>\n }\n @if (!restore.PreRestoreLabel) {\n <span class=\"detail-value detail-mono\">\n {{restore.PreRestoreLabelID | slice:0:20}}...\n </span>\n }\n </div>\n }\n </div>\n @if (restore.ErrorLog) {\n <div class=\"error-log\">\n <div class=\"error-log-header\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n Error Log\n </div>\n <pre class=\"error-log-content\">{{restore.ErrorLog}}</pre>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Empty State -->\n @if (FilteredRestores.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-clock-rotate-left empty-icon\"></i>\n <h3>No restore operations found</h3>\n @if (StatusFilter) {\n <p>\n Try adjusting your filters.\n </p>\n }\n @if (!StatusFilter) {\n <p>\n No restores have been performed yet. Use the VersionHistoryEngine to restore records to a labeled state.\n </p>\n }\n </div>\n }\n }\n </mj-page-body>\n</mj-page-layout>\n", styles: ["/* KPI Row */\n.kpi-row {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n/* Restore List */\n.restore-list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.restore-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.restore-card:hover {\n border-color: var(--mj-border-strong);\n}\n\n.restore-card.expanded {\n box-shadow: var(--mj-shadow-md);\n}\n\n.restore-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n cursor: pointer;\n}\n\n.restore-header-left {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.status-icon {\n font-size: 20px;\n}\n\n.status-success { color: var(--mj-status-success); }\n.status-failed { color: var(--mj-status-error); }\n.status-progress { color: var(--mj-brand-primary); }\n.status-pending { color: var(--mj-status-warning); }\n\n.restore-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.restore-label-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dry-run-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n border-radius: 8px;\n letter-spacing: 0.5px;\n}\n\n.restore-date {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.restore-header-right {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.restore-progress-bar {\n width: 80px;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-fill {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.progress-fill.status-success { background: var(--mj-status-success); }\n.progress-fill.status-failed { background: var(--mj-status-error); }\n.progress-fill.status-progress { background: var(--mj-brand-primary); }\n.progress-fill.status-pending { background: var(--mj-status-warning); }\n\n.restore-count {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.expand-icon {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n/* Expanded Details */\n.restore-details {\n padding: 0 20px 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.detail-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 16px;\n padding-top: 16px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.detail-value {\n font-size: 15px;\n color: var(--mj-text-primary);\n font-weight: 500;\n}\n\n.detail-mono {\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 13px;\n}\n\n.text-error {\n color: var(--mj-status-error);\n}\n\n/* Error Log */\n.error-log {\n margin-top: 16px;\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-log-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n color: var(--mj-status-error);\n font-size: 13px;\n font-weight: 600;\n}\n\n.error-log-content {\n margin: 0;\n padding: 12px 14px;\n font-size: 12px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n@media (max-width: 768px) {\n .kpi-row { grid-template-columns: repeat(2, 1fr); }\n}\n"] }]
472
466
  }], () => [{ type: i0.ChangeDetectorRef }], null); })();
473
467
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VersionHistoryRestoreResourceComponent, { className: "VersionHistoryRestoreResourceComponent", filePath: "src/VersionHistory/components/restore-resource.component.ts", lineNumber: 19 }); })();
474
468
  //# sourceMappingURL=restore-resource.component.js.map