@memberjunction/ng-core-entity-forms 3.4.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1922) hide show
  1. package/README.md +2 -2
  2. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.js +1 -1
  3. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.d.ts +13 -25
  4. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.d.ts.map +1 -1
  5. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js +33 -379
  6. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js.map +1 -1
  7. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.js +1 -1
  8. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  9. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.js +1 -1
  10. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.js +1 -1
  11. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.js +1 -1
  12. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.js +1 -1
  13. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.js +1 -1
  14. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.js +1 -1
  15. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.js +1 -1
  16. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.js +1 -1
  17. package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.js +1 -1
  18. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.js +1 -1
  19. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  20. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +15 -14
  21. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  22. package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js +1 -0
  23. package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js.map +1 -1
  24. package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.js +1 -1
  25. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  26. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +14 -13
  27. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  28. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +41 -4
  29. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  30. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +1335 -1159
  31. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  32. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  33. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +15 -14
  34. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  35. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  36. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +12 -12
  37. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  38. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  39. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +9 -8
  40. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  41. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  42. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +14 -14
  43. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  44. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  45. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +12 -11
  46. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  47. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  48. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +18 -16
  49. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  50. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  51. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +91 -59
  52. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  53. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
  54. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +9 -9
  55. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  56. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +0 -1
  57. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  58. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +542 -527
  59. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  60. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +12 -11
  61. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  62. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +0 -1
  63. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
  64. package/dist/lib/custom/Actions/action-execution-log-form.component.js +12 -10
  65. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  66. package/dist/lib/custom/Actions/action-form.component.d.ts +0 -1
  67. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  68. package/dist/lib/custom/Actions/action-form.component.js +50 -42
  69. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  70. package/dist/lib/custom/Actions/action-param-dialog.component.d.ts +32 -0
  71. package/dist/lib/custom/Actions/action-param-dialog.component.d.ts.map +1 -0
  72. package/dist/lib/custom/Actions/action-param-dialog.component.js +321 -0
  73. package/dist/lib/custom/Actions/action-param-dialog.component.js.map +1 -0
  74. package/dist/lib/custom/Actions/action-result-code-dialog.component.d.ts +20 -0
  75. package/dist/lib/custom/Actions/action-result-code-dialog.component.d.ts.map +1 -0
  76. package/dist/lib/custom/Actions/action-result-code-dialog.component.js +127 -0
  77. package/dist/lib/custom/Actions/action-result-code-dialog.component.js.map +1 -0
  78. package/dist/lib/custom/Actions/action-test-harness-dialog.component.d.ts +15 -0
  79. package/dist/lib/custom/Actions/action-test-harness-dialog.component.d.ts.map +1 -0
  80. package/dist/lib/custom/Actions/action-test-harness-dialog.component.js +96 -0
  81. package/dist/lib/custom/Actions/action-test-harness-dialog.component.js.map +1 -0
  82. package/dist/lib/custom/Actions/action-test-harness.component.d.ts +50 -0
  83. package/dist/lib/custom/Actions/action-test-harness.component.d.ts.map +1 -0
  84. package/dist/lib/custom/Actions/action-test-harness.component.js +710 -0
  85. package/dist/lib/custom/Actions/action-test-harness.component.js.map +1 -0
  86. package/dist/lib/custom/Actions/actions-top-area-extended.d.ts +8 -0
  87. package/dist/lib/custom/Actions/actions-top-area-extended.d.ts.map +1 -0
  88. package/dist/lib/custom/Actions/actions-top-area-extended.js +64 -0
  89. package/dist/lib/custom/Actions/actions-top-area-extended.js.map +1 -0
  90. package/dist/lib/custom/Entities/entities-form.component.d.ts +10 -0
  91. package/dist/lib/custom/Entities/entities-form.component.d.ts.map +1 -0
  92. package/dist/lib/custom/Entities/entities-form.component.js +198 -0
  93. package/dist/lib/custom/Entities/entities-form.component.js.map +1 -0
  94. package/dist/lib/custom/Entities/entity-form.component.d.ts +0 -1
  95. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  96. package/dist/lib/custom/Entities/entity-form.component.js +722 -691
  97. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  98. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +0 -1
  99. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
  100. package/dist/lib/custom/EntityActions/entityaction.form.component.js +24 -27
  101. package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
  102. package/dist/lib/custom/Lists/list-form.component.d.ts +0 -1
  103. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  104. package/dist/lib/custom/Lists/list-form.component.js +425 -438
  105. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  106. package/dist/lib/custom/Queries/query-category-dialog.component.d.ts.map +1 -1
  107. package/dist/lib/custom/Queries/query-category-dialog.component.js +28 -29
  108. package/dist/lib/custom/Queries/query-category-dialog.component.js.map +1 -1
  109. package/dist/lib/custom/Queries/query-form.component.d.ts +0 -1
  110. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  111. package/dist/lib/custom/Queries/query-form.component.js +185 -183
  112. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  113. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
  114. package/dist/lib/custom/Queries/query-run-dialog.component.js +90 -89
  115. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  116. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
  117. package/dist/lib/custom/Templates/template-param-dialog.component.js +76 -75
  118. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  119. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  120. package/dist/lib/custom/Templates/template-params-grid.component.js +98 -93
  121. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  122. package/dist/lib/custom/Templates/templates-form.component.d.ts +0 -1
  123. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  124. package/dist/lib/custom/Templates/templates-form.component.js +15 -25
  125. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  126. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +0 -1
  127. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
  128. package/dist/lib/custom/Tests/entity-link-pill.component.js +16 -18
  129. package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
  130. package/dist/lib/custom/Tests/test-form.component.d.ts +0 -1
  131. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  132. package/dist/lib/custom/Tests/test-form.component.js +419 -400
  133. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  134. package/dist/lib/custom/Tests/test-rubric-form.component.d.ts +0 -1
  135. package/dist/lib/custom/Tests/test-rubric-form.component.d.ts.map +1 -1
  136. package/dist/lib/custom/Tests/test-rubric-form.component.js +6 -8
  137. package/dist/lib/custom/Tests/test-rubric-form.component.js.map +1 -1
  138. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +0 -1
  139. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
  140. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +17 -17
  141. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  142. package/dist/lib/custom/Tests/test-run-form.component.d.ts +0 -1
  143. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  144. package/dist/lib/custom/Tests/test-run-form.component.js +405 -390
  145. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  146. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +0 -1
  147. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  148. package/dist/lib/custom/Tests/test-suite-form.component.js +646 -621
  149. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  150. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +0 -1
  151. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  152. package/dist/lib/custom/Tests/test-suite-run-form.component.js +616 -585
  153. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  154. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  155. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +240 -243
  156. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  157. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  158. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +42 -40
  159. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  160. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  161. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +37 -36
  162. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  163. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  164. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +68 -78
  165. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  166. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.d.ts.map +1 -1
  167. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js +6 -6
  168. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js.map +1 -1
  169. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +0 -1
  170. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  171. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +289 -271
  172. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  173. package/dist/lib/custom/custom-forms.module.d.ts +51 -54
  174. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  175. package/dist/lib/custom/custom-forms.module.js +29 -59
  176. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  177. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  178. package/dist/lib/custom/shared/entity-selector-dialog.component.js +85 -82
  179. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  180. package/dist/lib/generated/Entities/AIAction/aiaction.form.component.d.ts.map +1 -1
  181. package/dist/lib/generated/Entities/AIAction/aiaction.form.component.js +17 -18
  182. package/dist/lib/generated/Entities/AIAction/aiaction.form.component.js.map +1 -1
  183. package/dist/lib/generated/Entities/AIAction/sections/details.component.d.ts +11 -0
  184. package/dist/lib/generated/Entities/AIAction/sections/details.component.d.ts.map +1 -0
  185. package/dist/lib/generated/Entities/AIAction/sections/details.component.js +127 -0
  186. package/dist/lib/generated/Entities/AIAction/sections/details.component.js.map +1 -0
  187. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.d.ts.map +1 -1
  188. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js +137 -138
  189. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js.map +1 -1
  190. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.d.ts +54 -0
  191. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.d.ts.map +1 -0
  192. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.js +492 -0
  193. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.js.map +1 -0
  194. package/dist/lib/generated/Entities/AIAgent/sections/details.component.d.ts +11 -0
  195. package/dist/lib/generated/Entities/AIAgent/sections/details.component.d.ts.map +1 -0
  196. package/dist/lib/generated/Entities/AIAgent/sections/details.component.js +576 -0
  197. package/dist/lib/generated/Entities/AIAgent/sections/details.component.js.map +1 -0
  198. package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.d.ts.map +1 -1
  199. package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.js +3 -3
  200. package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.js.map +1 -1
  201. package/dist/lib/generated/Entities/AIAgentAction/sections/details.component.d.ts +11 -0
  202. package/dist/lib/generated/Entities/AIAgentAction/sections/details.component.d.ts.map +1 -0
  203. package/dist/lib/generated/Entities/AIAgentAction/sections/details.component.js +194 -0
  204. package/dist/lib/generated/Entities/AIAgentAction/sections/details.component.js.map +1 -0
  205. package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.d.ts.map +1 -1
  206. package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.js +3 -3
  207. package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.js.map +1 -1
  208. package/dist/lib/generated/Entities/AIAgentArtifactType/sections/details.component.d.ts +11 -0
  209. package/dist/lib/generated/Entities/AIAgentArtifactType/sections/details.component.d.ts.map +1 -0
  210. package/dist/lib/generated/Entities/AIAgentArtifactType/sections/details.component.js +120 -0
  211. package/dist/lib/generated/Entities/AIAgentArtifactType/sections/details.component.js.map +1 -0
  212. package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.d.ts.map +1 -1
  213. package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.js +3 -3
  214. package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.js.map +1 -1
  215. package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.d.ts.map +1 -1
  216. package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.js +3 -3
  217. package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.js.map +1 -1
  218. package/dist/lib/generated/Entities/AIAgentDataSource/sections/details.component.d.ts +11 -0
  219. package/dist/lib/generated/Entities/AIAgentDataSource/sections/details.component.d.ts.map +1 -0
  220. package/dist/lib/generated/Entities/AIAgentDataSource/sections/details.component.js +253 -0
  221. package/dist/lib/generated/Entities/AIAgentDataSource/sections/details.component.js.map +1 -0
  222. package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.d.ts.map +1 -1
  223. package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.js +3 -3
  224. package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.js.map +1 -1
  225. package/dist/lib/generated/Entities/AIAgentExample/sections/details.component.d.ts +11 -0
  226. package/dist/lib/generated/Entities/AIAgentExample/sections/details.component.d.ts.map +1 -0
  227. package/dist/lib/generated/Entities/AIAgentExample/sections/details.component.js +265 -0
  228. package/dist/lib/generated/Entities/AIAgentExample/sections/details.component.js.map +1 -0
  229. package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.d.ts.map +1 -1
  230. package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.js +3 -3
  231. package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.js.map +1 -1
  232. package/dist/lib/generated/Entities/AIAgentLearningCycle/sections/details.component.d.ts +11 -0
  233. package/dist/lib/generated/Entities/AIAgentLearningCycle/sections/details.component.d.ts.map +1 -0
  234. package/dist/lib/generated/Entities/AIAgentLearningCycle/sections/details.component.js +127 -0
  235. package/dist/lib/generated/Entities/AIAgentLearningCycle/sections/details.component.js.map +1 -0
  236. package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.d.ts.map +1 -1
  237. package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.js +3 -3
  238. package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.js.map +1 -1
  239. package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.d.ts.map +1 -1
  240. package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.js +3 -3
  241. package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.js.map +1 -1
  242. package/dist/lib/generated/Entities/AIAgentModel/sections/details.component.d.ts +11 -0
  243. package/dist/lib/generated/Entities/AIAgentModel/sections/details.component.d.ts.map +1 -0
  244. package/dist/lib/generated/Entities/AIAgentModel/sections/details.component.js +129 -0
  245. package/dist/lib/generated/Entities/AIAgentModel/sections/details.component.js.map +1 -0
  246. package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.d.ts.map +1 -1
  247. package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.js +3 -3
  248. package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.js.map +1 -1
  249. package/dist/lib/generated/Entities/AIAgentNote/sections/details.component.d.ts +11 -0
  250. package/dist/lib/generated/Entities/AIAgentNote/sections/details.component.d.ts.map +1 -0
  251. package/dist/lib/generated/Entities/AIAgentNote/sections/details.component.js +267 -0
  252. package/dist/lib/generated/Entities/AIAgentNote/sections/details.component.js.map +1 -0
  253. package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.d.ts.map +1 -1
  254. package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.js +11 -12
  255. package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.js.map +1 -1
  256. package/dist/lib/generated/Entities/AIAgentNoteType/sections/details.component.d.ts +11 -0
  257. package/dist/lib/generated/Entities/AIAgentNoteType/sections/details.component.d.ts.map +1 -0
  258. package/dist/lib/generated/Entities/AIAgentNoteType/sections/details.component.js +107 -0
  259. package/dist/lib/generated/Entities/AIAgentNoteType/sections/details.component.js.map +1 -0
  260. package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.d.ts.map +1 -1
  261. package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.js +3 -3
  262. package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.js.map +1 -1
  263. package/dist/lib/generated/Entities/AIAgentPermission/sections/details.component.d.ts +11 -0
  264. package/dist/lib/generated/Entities/AIAgentPermission/sections/details.component.d.ts.map +1 -0
  265. package/dist/lib/generated/Entities/AIAgentPermission/sections/details.component.js +176 -0
  266. package/dist/lib/generated/Entities/AIAgentPermission/sections/details.component.js.map +1 -0
  267. package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.d.ts.map +1 -1
  268. package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.js +3 -3
  269. package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.js.map +1 -1
  270. package/dist/lib/generated/Entities/AIAgentPrompt/sections/details.component.d.ts +11 -0
  271. package/dist/lib/generated/Entities/AIAgentPrompt/sections/details.component.d.ts.map +1 -0
  272. package/dist/lib/generated/Entities/AIAgentPrompt/sections/details.component.js +176 -0
  273. package/dist/lib/generated/Entities/AIAgentPrompt/sections/details.component.js.map +1 -0
  274. package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.d.ts.map +1 -1
  275. package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.js +3 -3
  276. package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.js.map +1 -1
  277. package/dist/lib/generated/Entities/AIAgentRelationship/sections/details.component.d.ts +11 -0
  278. package/dist/lib/generated/Entities/AIAgentRelationship/sections/details.component.d.ts.map +1 -0
  279. package/dist/lib/generated/Entities/AIAgentRelationship/sections/details.component.js +165 -0
  280. package/dist/lib/generated/Entities/AIAgentRelationship/sections/details.component.js.map +1 -0
  281. package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.d.ts.map +1 -1
  282. package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.js +3 -3
  283. package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.js.map +1 -1
  284. package/dist/lib/generated/Entities/AIAgentRequest/sections/details.component.d.ts +11 -0
  285. package/dist/lib/generated/Entities/AIAgentRequest/sections/details.component.d.ts.map +1 -0
  286. package/dist/lib/generated/Entities/AIAgentRequest/sections/details.component.js +185 -0
  287. package/dist/lib/generated/Entities/AIAgentRequest/sections/details.component.js.map +1 -0
  288. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.d.ts.map +1 -1
  289. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js +41 -42
  290. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js.map +1 -1
  291. package/dist/lib/generated/Entities/AIAgentRun/sections/details.component.d.ts +11 -0
  292. package/dist/lib/generated/Entities/AIAgentRun/sections/details.component.d.ts.map +1 -0
  293. package/dist/lib/generated/Entities/AIAgentRun/sections/details.component.js +496 -0
  294. package/dist/lib/generated/Entities/AIAgentRun/sections/details.component.js.map +1 -0
  295. package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.d.ts.map +1 -1
  296. package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.js +3 -3
  297. package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.js.map +1 -1
  298. package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.d.ts.map +1 -1
  299. package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js +21 -22
  300. package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js.map +1 -1
  301. package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.d.ts +11 -0
  302. package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.d.ts.map +1 -0
  303. package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.js +255 -0
  304. package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.js.map +1 -0
  305. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.d.ts.map +1 -1
  306. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.js +16 -17
  307. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.js.map +1 -1
  308. package/dist/lib/generated/Entities/AIAgentStep/sections/details.component.d.ts +11 -0
  309. package/dist/lib/generated/Entities/AIAgentStep/sections/details.component.d.ts.map +1 -0
  310. package/dist/lib/generated/Entities/AIAgentStep/sections/details.component.js +295 -0
  311. package/dist/lib/generated/Entities/AIAgentStep/sections/details.component.js.map +1 -0
  312. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.d.ts.map +1 -1
  313. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.js +3 -3
  314. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.js.map +1 -1
  315. package/dist/lib/generated/Entities/AIAgentStepPath/sections/details.component.d.ts +11 -0
  316. package/dist/lib/generated/Entities/AIAgentStepPath/sections/details.component.d.ts.map +1 -0
  317. package/dist/lib/generated/Entities/AIAgentStepPath/sections/details.component.js +147 -0
  318. package/dist/lib/generated/Entities/AIAgentStepPath/sections/details.component.js.map +1 -0
  319. package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.d.ts.map +1 -1
  320. package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js +11 -12
  321. package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js.map +1 -1
  322. package/dist/lib/generated/Entities/AIAgentType/sections/details.component.d.ts +11 -0
  323. package/dist/lib/generated/Entities/AIAgentType/sections/details.component.d.ts.map +1 -0
  324. package/dist/lib/generated/Entities/AIAgentType/sections/details.component.js +163 -0
  325. package/dist/lib/generated/Entities/AIAgentType/sections/details.component.js.map +1 -0
  326. package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.d.ts.map +1 -1
  327. package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.js +17 -18
  328. package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.js.map +1 -1
  329. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.d.ts.map +1 -1
  330. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js +53 -54
  331. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js.map +1 -1
  332. package/dist/lib/generated/Entities/AIConfiguration/sections/details.component.d.ts +11 -0
  333. package/dist/lib/generated/Entities/AIConfiguration/sections/details.component.d.ts.map +1 -0
  334. package/dist/lib/generated/Entities/AIConfiguration/sections/details.component.js +147 -0
  335. package/dist/lib/generated/Entities/AIConfiguration/sections/details.component.js.map +1 -0
  336. package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.d.ts.map +1 -1
  337. package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.js +3 -3
  338. package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.js.map +1 -1
  339. package/dist/lib/generated/Entities/AIConfigurationParam/sections/details.component.d.ts +11 -0
  340. package/dist/lib/generated/Entities/AIConfigurationParam/sections/details.component.d.ts.map +1 -0
  341. package/dist/lib/generated/Entities/AIConfigurationParam/sections/details.component.js +127 -0
  342. package/dist/lib/generated/Entities/AIConfigurationParam/sections/details.component.js.map +1 -0
  343. package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.d.ts.map +1 -1
  344. package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.js +3 -3
  345. package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.js.map +1 -1
  346. package/dist/lib/generated/Entities/AIModality/aimodality.form.component.d.ts.map +1 -1
  347. package/dist/lib/generated/Entities/AIModality/aimodality.form.component.js +47 -48
  348. package/dist/lib/generated/Entities/AIModality/aimodality.form.component.js.map +1 -1
  349. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.d.ts.map +1 -1
  350. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js +125 -126
  351. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js.map +1 -1
  352. package/dist/lib/generated/Entities/AIModel/sections/details.component.d.ts +11 -0
  353. package/dist/lib/generated/Entities/AIModel/sections/details.component.d.ts.map +1 -0
  354. package/dist/lib/generated/Entities/AIModel/sections/details.component.js +217 -0
  355. package/dist/lib/generated/Entities/AIModel/sections/details.component.js.map +1 -0
  356. package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.d.ts.map +1 -1
  357. package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.js +3 -3
  358. package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.js.map +1 -1
  359. package/dist/lib/generated/Entities/AIModelAction/sections/details.component.d.ts +11 -0
  360. package/dist/lib/generated/Entities/AIModelAction/sections/details.component.d.ts.map +1 -0
  361. package/dist/lib/generated/Entities/AIModelAction/sections/details.component.js +120 -0
  362. package/dist/lib/generated/Entities/AIModelAction/sections/details.component.js.map +1 -0
  363. package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.d.ts.map +1 -1
  364. package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.js +3 -3
  365. package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.js.map +1 -1
  366. package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.d.ts.map +1 -1
  367. package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js +3 -3
  368. package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js.map +1 -1
  369. package/dist/lib/generated/Entities/AIModelCost/sections/details.component.d.ts +11 -0
  370. package/dist/lib/generated/Entities/AIModelCost/sections/details.component.d.ts.map +1 -0
  371. package/dist/lib/generated/Entities/AIModelCost/sections/details.component.js +223 -0
  372. package/dist/lib/generated/Entities/AIModelCost/sections/details.component.js.map +1 -0
  373. package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.d.ts.map +1 -1
  374. package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.js +3 -3
  375. package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.js.map +1 -1
  376. package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.d.ts.map +1 -1
  377. package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js +11 -12
  378. package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js.map +1 -1
  379. package/dist/lib/generated/Entities/AIModelPriceType/sections/details.component.d.ts +11 -0
  380. package/dist/lib/generated/Entities/AIModelPriceType/sections/details.component.d.ts.map +1 -0
  381. package/dist/lib/generated/Entities/AIModelPriceType/sections/details.component.js +89 -0
  382. package/dist/lib/generated/Entities/AIModelPriceType/sections/details.component.js.map +1 -0
  383. package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.d.ts.map +1 -1
  384. package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js +11 -12
  385. package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js.map +1 -1
  386. package/dist/lib/generated/Entities/AIModelPriceUnitType/sections/details.component.d.ts +11 -0
  387. package/dist/lib/generated/Entities/AIModelPriceUnitType/sections/details.component.d.ts.map +1 -0
  388. package/dist/lib/generated/Entities/AIModelPriceUnitType/sections/details.component.js +98 -0
  389. package/dist/lib/generated/Entities/AIModelPriceUnitType/sections/details.component.js.map +1 -0
  390. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.d.ts.map +1 -1
  391. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js +17 -18
  392. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js.map +1 -1
  393. package/dist/lib/generated/Entities/AIModelType/sections/details.component.d.ts +11 -0
  394. package/dist/lib/generated/Entities/AIModelType/sections/details.component.d.ts.map +1 -0
  395. package/dist/lib/generated/Entities/AIModelType/sections/details.component.js +89 -0
  396. package/dist/lib/generated/Entities/AIModelType/sections/details.component.js.map +1 -0
  397. package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.d.ts.map +1 -1
  398. package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.js +11 -12
  399. package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.js.map +1 -1
  400. package/dist/lib/generated/Entities/AIModelVendor/sections/details.component.d.ts +11 -0
  401. package/dist/lib/generated/Entities/AIModelVendor/sections/details.component.d.ts.map +1 -0
  402. package/dist/lib/generated/Entities/AIModelVendor/sections/details.component.js +221 -0
  403. package/dist/lib/generated/Entities/AIModelVendor/sections/details.component.js.map +1 -0
  404. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.d.ts.map +1 -1
  405. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js +77 -78
  406. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js.map +1 -1
  407. package/dist/lib/generated/Entities/AIPrompt/sections/details.component.d.ts +11 -0
  408. package/dist/lib/generated/Entities/AIPrompt/sections/details.component.d.ts.map +1 -0
  409. package/dist/lib/generated/Entities/AIPrompt/sections/details.component.js +567 -0
  410. package/dist/lib/generated/Entities/AIPrompt/sections/details.component.js.map +1 -0
  411. package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.d.ts.map +1 -1
  412. package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.js +17 -18
  413. package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.js.map +1 -1
  414. package/dist/lib/generated/Entities/AIPromptCategory/sections/details.component.d.ts +11 -0
  415. package/dist/lib/generated/Entities/AIPromptCategory/sections/details.component.d.ts.map +1 -0
  416. package/dist/lib/generated/Entities/AIPromptCategory/sections/details.component.js +118 -0
  417. package/dist/lib/generated/Entities/AIPromptCategory/sections/details.component.js.map +1 -0
  418. package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.d.ts.map +1 -1
  419. package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.js +11 -12
  420. package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.js.map +1 -1
  421. package/dist/lib/generated/Entities/AIPromptModel/sections/details.component.d.ts +11 -0
  422. package/dist/lib/generated/Entities/AIPromptModel/sections/details.component.d.ts.map +1 -0
  423. package/dist/lib/generated/Entities/AIPromptModel/sections/details.component.js +214 -0
  424. package/dist/lib/generated/Entities/AIPromptModel/sections/details.component.js.map +1 -0
  425. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.d.ts.map +1 -1
  426. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js +23 -24
  427. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js.map +1 -1
  428. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.d.ts +11 -0
  429. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.d.ts.map +1 -0
  430. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.js +903 -0
  431. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.js.map +1 -0
  432. package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.d.ts.map +1 -1
  433. package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.js +11 -12
  434. package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.js.map +1 -1
  435. package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.d.ts.map +1 -1
  436. package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.js +11 -12
  437. package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.js.map +1 -1
  438. package/dist/lib/generated/Entities/AIPromptType/sections/details.component.d.ts +11 -0
  439. package/dist/lib/generated/Entities/AIPromptType/sections/details.component.d.ts.map +1 -0
  440. package/dist/lib/generated/Entities/AIPromptType/sections/details.component.js +89 -0
  441. package/dist/lib/generated/Entities/AIPromptType/sections/details.component.js.map +1 -0
  442. package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.d.ts.map +1 -1
  443. package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.js +3 -3
  444. package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.js.map +1 -1
  445. package/dist/lib/generated/Entities/AIResultCache/sections/details.component.d.ts +11 -0
  446. package/dist/lib/generated/Entities/AIResultCache/sections/details.component.d.ts.map +1 -0
  447. package/dist/lib/generated/Entities/AIResultCache/sections/details.component.js +236 -0
  448. package/dist/lib/generated/Entities/AIResultCache/sections/details.component.js.map +1 -0
  449. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.d.ts.map +1 -1
  450. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js +53 -54
  451. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js.map +1 -1
  452. package/dist/lib/generated/Entities/AIVendor/sections/details.component.d.ts +11 -0
  453. package/dist/lib/generated/Entities/AIVendor/sections/details.component.d.ts.map +1 -0
  454. package/dist/lib/generated/Entities/AIVendor/sections/details.component.js +89 -0
  455. package/dist/lib/generated/Entities/AIVendor/sections/details.component.js.map +1 -0
  456. package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.d.ts.map +1 -1
  457. package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.js +3 -3
  458. package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.js.map +1 -1
  459. package/dist/lib/generated/Entities/AIVendorType/sections/details.component.d.ts +11 -0
  460. package/dist/lib/generated/Entities/AIVendorType/sections/details.component.d.ts.map +1 -0
  461. package/dist/lib/generated/Entities/AIVendorType/sections/details.component.js +129 -0
  462. package/dist/lib/generated/Entities/AIVendorType/sections/details.component.js.map +1 -0
  463. package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.d.ts.map +1 -1
  464. package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.js +17 -18
  465. package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.js.map +1 -1
  466. package/dist/lib/generated/Entities/AIVendorTypeDefinition/sections/details.component.d.ts +11 -0
  467. package/dist/lib/generated/Entities/AIVendorTypeDefinition/sections/details.component.d.ts.map +1 -0
  468. package/dist/lib/generated/Entities/AIVendorTypeDefinition/sections/details.component.js +89 -0
  469. package/dist/lib/generated/Entities/AIVendorTypeDefinition/sections/details.component.js.map +1 -0
  470. package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.d.ts.map +1 -1
  471. package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.js +23 -24
  472. package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.js.map +1 -1
  473. package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.d.ts.map +1 -1
  474. package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.js +3 -3
  475. package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.js.map +1 -1
  476. package/dist/lib/generated/Entities/APIKey/apikey.form.component.d.ts.map +1 -1
  477. package/dist/lib/generated/Entities/APIKey/apikey.form.component.js +23 -24
  478. package/dist/lib/generated/Entities/APIKey/apikey.form.component.js.map +1 -1
  479. package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.d.ts.map +1 -1
  480. package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.js +3 -3
  481. package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.js.map +1 -1
  482. package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.d.ts.map +1 -1
  483. package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.js +3 -3
  484. package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.js.map +1 -1
  485. package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.d.ts.map +1 -1
  486. package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.js +3 -3
  487. package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.js.map +1 -1
  488. package/dist/lib/generated/Entities/APIScope/apiscope.form.component.d.ts.map +1 -1
  489. package/dist/lib/generated/Entities/APIScope/apiscope.form.component.js +23 -24
  490. package/dist/lib/generated/Entities/APIScope/apiscope.form.component.js.map +1 -1
  491. package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.d.ts.map +1 -1
  492. package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.js +3 -3
  493. package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.js.map +1 -1
  494. package/dist/lib/generated/Entities/AccessControlRule/sections/details.component.d.ts +11 -0
  495. package/dist/lib/generated/Entities/AccessControlRule/sections/details.component.d.ts.map +1 -0
  496. package/dist/lib/generated/Entities/AccessControlRule/sections/details.component.js +192 -0
  497. package/dist/lib/generated/Entities/AccessControlRule/sections/details.component.js.map +1 -0
  498. package/dist/lib/generated/Entities/Action/action.form.component.d.ts.map +1 -1
  499. package/dist/lib/generated/Entities/Action/action.form.component.js +77 -78
  500. package/dist/lib/generated/Entities/Action/action.form.component.js.map +1 -1
  501. package/dist/lib/generated/Entities/Action/sections/code.component.d.ts +11 -0
  502. package/dist/lib/generated/Entities/Action/sections/code.component.d.ts.map +1 -0
  503. package/dist/lib/generated/Entities/Action/sections/code.component.js +62 -0
  504. package/dist/lib/generated/Entities/Action/sections/code.component.js.map +1 -0
  505. package/dist/lib/generated/Entities/Action/sections/details.component.d.ts +11 -0
  506. package/dist/lib/generated/Entities/Action/sections/details.component.d.ts.map +1 -0
  507. package/dist/lib/generated/Entities/Action/sections/details.component.js +277 -0
  508. package/dist/lib/generated/Entities/Action/sections/details.component.js.map +1 -0
  509. package/dist/lib/generated/Entities/Action/sections/top.component.d.ts +11 -0
  510. package/dist/lib/generated/Entities/Action/sections/top.component.d.ts.map +1 -0
  511. package/dist/lib/generated/Entities/Action/sections/top.component.js +71 -0
  512. package/dist/lib/generated/Entities/Action/sections/top.component.js.map +1 -0
  513. package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.d.ts.map +1 -1
  514. package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js +3 -3
  515. package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js.map +1 -1
  516. package/dist/lib/generated/Entities/ActionAuthorization/sections/details.component.d.ts +11 -0
  517. package/dist/lib/generated/Entities/ActionAuthorization/sections/details.component.d.ts.map +1 -0
  518. package/dist/lib/generated/Entities/ActionAuthorization/sections/details.component.js +120 -0
  519. package/dist/lib/generated/Entities/ActionAuthorization/sections/details.component.js.map +1 -0
  520. package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.d.ts.map +1 -1
  521. package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.js +23 -24
  522. package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.js.map +1 -1
  523. package/dist/lib/generated/Entities/ActionCategory/sections/details.component.d.ts +11 -0
  524. package/dist/lib/generated/Entities/ActionCategory/sections/details.component.d.ts.map +1 -0
  525. package/dist/lib/generated/Entities/ActionCategory/sections/details.component.js +127 -0
  526. package/dist/lib/generated/Entities/ActionCategory/sections/details.component.js.map +1 -0
  527. package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.d.ts.map +1 -1
  528. package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js +3 -3
  529. package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js.map +1 -1
  530. package/dist/lib/generated/Entities/ActionContext/sections/details.component.d.ts +11 -0
  531. package/dist/lib/generated/Entities/ActionContext/sections/details.component.d.ts.map +1 -0
  532. package/dist/lib/generated/Entities/ActionContext/sections/details.component.js +120 -0
  533. package/dist/lib/generated/Entities/ActionContext/sections/details.component.js.map +1 -0
  534. package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.d.ts.map +1 -1
  535. package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.js +11 -12
  536. package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.js.map +1 -1
  537. package/dist/lib/generated/Entities/ActionContextType/sections/details.component.d.ts +11 -0
  538. package/dist/lib/generated/Entities/ActionContextType/sections/details.component.d.ts.map +1 -0
  539. package/dist/lib/generated/Entities/ActionContextType/sections/details.component.js +89 -0
  540. package/dist/lib/generated/Entities/ActionContextType/sections/details.component.js.map +1 -0
  541. package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.d.ts.map +1 -1
  542. package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.js +3 -3
  543. package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.js.map +1 -1
  544. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.d.ts +11 -0
  545. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.d.ts.map +1 -0
  546. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.js +165 -0
  547. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.js.map +1 -0
  548. package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.d.ts.map +1 -1
  549. package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.js +11 -12
  550. package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.js.map +1 -1
  551. package/dist/lib/generated/Entities/ActionFilter/sections/details.component.d.ts +11 -0
  552. package/dist/lib/generated/Entities/ActionFilter/sections/details.component.d.ts.map +1 -0
  553. package/dist/lib/generated/Entities/ActionFilter/sections/details.component.js +107 -0
  554. package/dist/lib/generated/Entities/ActionFilter/sections/details.component.js.map +1 -0
  555. package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.d.ts.map +1 -1
  556. package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.js +3 -3
  557. package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.js.map +1 -1
  558. package/dist/lib/generated/Entities/ActionLibrary/sections/details.component.d.ts +11 -0
  559. package/dist/lib/generated/Entities/ActionLibrary/sections/details.component.d.ts.map +1 -0
  560. package/dist/lib/generated/Entities/ActionLibrary/sections/details.component.js +120 -0
  561. package/dist/lib/generated/Entities/ActionLibrary/sections/details.component.js.map +1 -0
  562. package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.d.ts.map +1 -1
  563. package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.js +17 -18
  564. package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.js.map +1 -1
  565. package/dist/lib/generated/Entities/ActionParam/sections/details.component.d.ts +11 -0
  566. package/dist/lib/generated/Entities/ActionParam/sections/details.component.d.ts.map +1 -0
  567. package/dist/lib/generated/Entities/ActionParam/sections/details.component.js +154 -0
  568. package/dist/lib/generated/Entities/ActionParam/sections/details.component.js.map +1 -0
  569. package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.d.ts.map +1 -1
  570. package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.js +3 -3
  571. package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.js.map +1 -1
  572. package/dist/lib/generated/Entities/ActionResultCode/sections/details.component.d.ts +11 -0
  573. package/dist/lib/generated/Entities/ActionResultCode/sections/details.component.d.ts.map +1 -0
  574. package/dist/lib/generated/Entities/ActionResultCode/sections/details.component.js +118 -0
  575. package/dist/lib/generated/Entities/ActionResultCode/sections/details.component.js.map +1 -0
  576. package/dist/lib/generated/Entities/Application/application.form.component.d.ts.map +1 -1
  577. package/dist/lib/generated/Entities/Application/application.form.component.js +35 -36
  578. package/dist/lib/generated/Entities/Application/application.form.component.js.map +1 -1
  579. package/dist/lib/generated/Entities/Application/sections/details.component.d.ts +11 -0
  580. package/dist/lib/generated/Entities/Application/sections/details.component.d.ts.map +1 -0
  581. package/dist/lib/generated/Entities/Application/sections/details.component.js +116 -0
  582. package/dist/lib/generated/Entities/Application/sections/details.component.js.map +1 -0
  583. package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.d.ts.map +1 -1
  584. package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.js +3 -3
  585. package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.js.map +1 -1
  586. package/dist/lib/generated/Entities/ApplicationEntity/sections/details.component.d.ts +11 -0
  587. package/dist/lib/generated/Entities/ApplicationEntity/sections/details.component.d.ts.map +1 -0
  588. package/dist/lib/generated/Entities/ApplicationEntity/sections/details.component.js +165 -0
  589. package/dist/lib/generated/Entities/ApplicationEntity/sections/details.component.js.map +1 -0
  590. package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.d.ts.map +1 -1
  591. package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.js +3 -3
  592. package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.js.map +1 -1
  593. package/dist/lib/generated/Entities/ApplicationSetting/sections/details.component.d.ts +11 -0
  594. package/dist/lib/generated/Entities/ApplicationSetting/sections/details.component.d.ts.map +1 -0
  595. package/dist/lib/generated/Entities/ApplicationSetting/sections/details.component.js +118 -0
  596. package/dist/lib/generated/Entities/ApplicationSetting/sections/details.component.js.map +1 -0
  597. package/dist/lib/generated/Entities/Artifact/artifact.form.component.d.ts.map +1 -1
  598. package/dist/lib/generated/Entities/Artifact/artifact.form.component.js +23 -24
  599. package/dist/lib/generated/Entities/Artifact/artifact.form.component.js.map +1 -1
  600. package/dist/lib/generated/Entities/Artifact/sections/details.component.d.ts +11 -0
  601. package/dist/lib/generated/Entities/Artifact/sections/details.component.d.ts.map +1 -0
  602. package/dist/lib/generated/Entities/Artifact/sections/details.component.js +167 -0
  603. package/dist/lib/generated/Entities/Artifact/sections/details.component.js.map +1 -0
  604. package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.d.ts.map +1 -1
  605. package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.js +3 -3
  606. package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.js.map +1 -1
  607. package/dist/lib/generated/Entities/ArtifactPermission/sections/details.component.d.ts +11 -0
  608. package/dist/lib/generated/Entities/ArtifactPermission/sections/details.component.d.ts.map +1 -0
  609. package/dist/lib/generated/Entities/ArtifactPermission/sections/details.component.js +167 -0
  610. package/dist/lib/generated/Entities/ArtifactPermission/sections/details.component.js.map +1 -0
  611. package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.d.ts.map +1 -1
  612. package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.js +35 -36
  613. package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.js.map +1 -1
  614. package/dist/lib/generated/Entities/ArtifactType/sections/details.component.d.ts +11 -0
  615. package/dist/lib/generated/Entities/ArtifactType/sections/details.component.d.ts.map +1 -0
  616. package/dist/lib/generated/Entities/ArtifactType/sections/details.component.js +154 -0
  617. package/dist/lib/generated/Entities/ArtifactType/sections/details.component.js.map +1 -0
  618. package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.d.ts.map +1 -1
  619. package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.js +3 -3
  620. package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.js.map +1 -1
  621. package/dist/lib/generated/Entities/ArtifactUse/sections/details.component.d.ts +11 -0
  622. package/dist/lib/generated/Entities/ArtifactUse/sections/details.component.d.ts.map +1 -0
  623. package/dist/lib/generated/Entities/ArtifactUse/sections/details.component.js +129 -0
  624. package/dist/lib/generated/Entities/ArtifactUse/sections/details.component.js.map +1 -0
  625. package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.d.ts.map +1 -1
  626. package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.js +29 -30
  627. package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.js.map +1 -1
  628. package/dist/lib/generated/Entities/ArtifactVersion/sections/details.component.d.ts +11 -0
  629. package/dist/lib/generated/Entities/ArtifactVersion/sections/details.component.d.ts.map +1 -0
  630. package/dist/lib/generated/Entities/ArtifactVersion/sections/details.component.js +174 -0
  631. package/dist/lib/generated/Entities/ArtifactVersion/sections/details.component.js.map +1 -0
  632. package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.d.ts.map +1 -1
  633. package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.js +3 -3
  634. package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.js.map +1 -1
  635. package/dist/lib/generated/Entities/ArtifactVersionAttribute/sections/details.component.d.ts +11 -0
  636. package/dist/lib/generated/Entities/ArtifactVersionAttribute/sections/details.component.d.ts.map +1 -0
  637. package/dist/lib/generated/Entities/ArtifactVersionAttribute/sections/details.component.js +127 -0
  638. package/dist/lib/generated/Entities/ArtifactVersionAttribute/sections/details.component.js.map +1 -0
  639. package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.d.ts.map +1 -1
  640. package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.js +3 -3
  641. package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.js.map +1 -1
  642. package/dist/lib/generated/Entities/AuditLog/sections/details.component.d.ts +11 -0
  643. package/dist/lib/generated/Entities/AuditLog/sections/details.component.d.ts.map +1 -0
  644. package/dist/lib/generated/Entities/AuditLog/sections/details.component.js +187 -0
  645. package/dist/lib/generated/Entities/AuditLog/sections/details.component.js.map +1 -0
  646. package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.d.ts.map +1 -1
  647. package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.js +17 -18
  648. package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.js.map +1 -1
  649. package/dist/lib/generated/Entities/AuditLogType/sections/details.component.d.ts +11 -0
  650. package/dist/lib/generated/Entities/AuditLogType/sections/details.component.d.ts.map +1 -0
  651. package/dist/lib/generated/Entities/AuditLogType/sections/details.component.js +138 -0
  652. package/dist/lib/generated/Entities/AuditLogType/sections/details.component.js.map +1 -0
  653. package/dist/lib/generated/Entities/Authorization/authorization.form.component.d.ts.map +1 -1
  654. package/dist/lib/generated/Entities/Authorization/authorization.form.component.js +35 -36
  655. package/dist/lib/generated/Entities/Authorization/authorization.form.component.js.map +1 -1
  656. package/dist/lib/generated/Entities/Authorization/sections/details.component.d.ts +11 -0
  657. package/dist/lib/generated/Entities/Authorization/sections/details.component.d.ts.map +1 -0
  658. package/dist/lib/generated/Entities/Authorization/sections/details.component.js +136 -0
  659. package/dist/lib/generated/Entities/Authorization/sections/details.component.js.map +1 -0
  660. package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.d.ts.map +1 -1
  661. package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.js +3 -3
  662. package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.js.map +1 -1
  663. package/dist/lib/generated/Entities/AuthorizationRole/sections/details.component.d.ts +11 -0
  664. package/dist/lib/generated/Entities/AuthorizationRole/sections/details.component.d.ts.map +1 -0
  665. package/dist/lib/generated/Entities/AuthorizationRole/sections/details.component.js +120 -0
  666. package/dist/lib/generated/Entities/AuthorizationRole/sections/details.component.js.map +1 -0
  667. package/dist/lib/generated/Entities/Collection/collection.form.component.d.ts.map +1 -1
  668. package/dist/lib/generated/Entities/Collection/collection.form.component.js +23 -24
  669. package/dist/lib/generated/Entities/Collection/collection.form.component.js.map +1 -1
  670. package/dist/lib/generated/Entities/Collection/sections/details.component.d.ts +11 -0
  671. package/dist/lib/generated/Entities/Collection/sections/details.component.d.ts.map +1 -0
  672. package/dist/lib/generated/Entities/Collection/sections/details.component.js +185 -0
  673. package/dist/lib/generated/Entities/Collection/sections/details.component.js.map +1 -0
  674. package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.d.ts.map +1 -1
  675. package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.js +3 -3
  676. package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.js.map +1 -1
  677. package/dist/lib/generated/Entities/CollectionArtifact/sections/details.component.d.ts +11 -0
  678. package/dist/lib/generated/Entities/CollectionArtifact/sections/details.component.d.ts.map +1 -0
  679. package/dist/lib/generated/Entities/CollectionArtifact/sections/details.component.js +120 -0
  680. package/dist/lib/generated/Entities/CollectionArtifact/sections/details.component.js.map +1 -0
  681. package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.d.ts.map +1 -1
  682. package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.js +3 -3
  683. package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.js.map +1 -1
  684. package/dist/lib/generated/Entities/CollectionPermission/sections/details.component.d.ts +11 -0
  685. package/dist/lib/generated/Entities/CollectionPermission/sections/details.component.d.ts.map +1 -0
  686. package/dist/lib/generated/Entities/CollectionPermission/sections/details.component.js +167 -0
  687. package/dist/lib/generated/Entities/CollectionPermission/sections/details.component.js.map +1 -0
  688. package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.d.ts.map +1 -1
  689. package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.js +17 -18
  690. package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.js.map +1 -1
  691. package/dist/lib/generated/Entities/CommunicationBaseMessageType/sections/details.component.d.ts +11 -0
  692. package/dist/lib/generated/Entities/CommunicationBaseMessageType/sections/details.component.d.ts.map +1 -0
  693. package/dist/lib/generated/Entities/CommunicationBaseMessageType/sections/details.component.js +116 -0
  694. package/dist/lib/generated/Entities/CommunicationBaseMessageType/sections/details.component.js.map +1 -0
  695. package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.d.ts.map +1 -1
  696. package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.js +3 -3
  697. package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.js.map +1 -1
  698. package/dist/lib/generated/Entities/CommunicationLog/sections/details.component.d.ts +11 -0
  699. package/dist/lib/generated/Entities/CommunicationLog/sections/details.component.d.ts.map +1 -0
  700. package/dist/lib/generated/Entities/CommunicationLog/sections/details.component.js +167 -0
  701. package/dist/lib/generated/Entities/CommunicationLog/sections/details.component.js.map +1 -0
  702. package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.d.ts.map +1 -1
  703. package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.js +17 -18
  704. package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.js.map +1 -1
  705. package/dist/lib/generated/Entities/CommunicationProvider/sections/details.component.d.ts +11 -0
  706. package/dist/lib/generated/Entities/CommunicationProvider/sections/details.component.d.ts.map +1 -0
  707. package/dist/lib/generated/Entities/CommunicationProvider/sections/details.component.js +152 -0
  708. package/dist/lib/generated/Entities/CommunicationProvider/sections/details.component.js.map +1 -0
  709. package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.d.ts.map +1 -1
  710. package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.js +11 -12
  711. package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.js.map +1 -1
  712. package/dist/lib/generated/Entities/CommunicationProviderMessageType/sections/details.component.d.ts +11 -0
  713. package/dist/lib/generated/Entities/CommunicationProviderMessageType/sections/details.component.d.ts.map +1 -0
  714. package/dist/lib/generated/Entities/CommunicationProviderMessageType/sections/details.component.js +138 -0
  715. package/dist/lib/generated/Entities/CommunicationProviderMessageType/sections/details.component.js.map +1 -0
  716. package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.d.ts.map +1 -1
  717. package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.js +11 -12
  718. package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.js.map +1 -1
  719. package/dist/lib/generated/Entities/CommunicationRun/sections/details.component.d.ts +11 -0
  720. package/dist/lib/generated/Entities/CommunicationRun/sections/details.component.d.ts.map +1 -0
  721. package/dist/lib/generated/Entities/CommunicationRun/sections/details.component.js +145 -0
  722. package/dist/lib/generated/Entities/CommunicationRun/sections/details.component.js.map +1 -0
  723. package/dist/lib/generated/Entities/Company/company.form.component.d.ts.map +1 -1
  724. package/dist/lib/generated/Entities/Company/company.form.component.js +41 -42
  725. package/dist/lib/generated/Entities/Company/company.form.component.js.map +1 -1
  726. package/dist/lib/generated/Entities/Company/sections/details.component.d.ts +11 -0
  727. package/dist/lib/generated/Entities/Company/sections/details.component.d.ts.map +1 -0
  728. package/dist/lib/generated/Entities/Company/sections/details.component.js +118 -0
  729. package/dist/lib/generated/Entities/Company/sections/details.component.js.map +1 -0
  730. package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.d.ts.map +1 -1
  731. package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.js +29 -30
  732. package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.js.map +1 -1
  733. package/dist/lib/generated/Entities/CompanyIntegration/sections/details.component.d.ts +11 -0
  734. package/dist/lib/generated/Entities/CompanyIntegration/sections/details.component.d.ts.map +1 -0
  735. package/dist/lib/generated/Entities/CompanyIntegration/sections/details.component.js +255 -0
  736. package/dist/lib/generated/Entities/CompanyIntegration/sections/details.component.js.map +1 -0
  737. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.d.ts.map +1 -1
  738. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.js +3 -3
  739. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.js.map +1 -1
  740. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/sections/details.component.d.ts +11 -0
  741. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/sections/details.component.d.ts.map +1 -0
  742. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/sections/details.component.js +129 -0
  743. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/sections/details.component.js.map +1 -0
  744. package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.d.ts.map +1 -1
  745. package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.js +23 -24
  746. package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.js.map +1 -1
  747. package/dist/lib/generated/Entities/CompanyIntegrationRun/sections/details.component.d.ts +11 -0
  748. package/dist/lib/generated/Entities/CompanyIntegrationRun/sections/details.component.d.ts.map +1 -0
  749. package/dist/lib/generated/Entities/CompanyIntegrationRun/sections/details.component.js +183 -0
  750. package/dist/lib/generated/Entities/CompanyIntegrationRun/sections/details.component.js.map +1 -0
  751. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.d.ts.map +1 -1
  752. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.js +3 -3
  753. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.js.map +1 -1
  754. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/sections/details.component.d.ts +11 -0
  755. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/sections/details.component.d.ts.map +1 -0
  756. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/sections/details.component.js +127 -0
  757. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/sections/details.component.js.map +1 -0
  758. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.d.ts.map +1 -1
  759. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.js +11 -12
  760. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.js.map +1 -1
  761. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/sections/details.component.d.ts +11 -0
  762. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/sections/details.component.d.ts.map +1 -0
  763. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/sections/details.component.js +156 -0
  764. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/sections/details.component.js.map +1 -0
  765. package/dist/lib/generated/Entities/Component/component.form.component.d.ts.map +1 -1
  766. package/dist/lib/generated/Entities/Component/component.form.component.js +22 -23
  767. package/dist/lib/generated/Entities/Component/component.form.component.js.map +1 -1
  768. package/dist/lib/generated/Entities/Component/sections/details.component.d.ts +11 -0
  769. package/dist/lib/generated/Entities/Component/sections/details.component.d.ts.map +1 -0
  770. package/dist/lib/generated/Entities/Component/sections/details.component.js +316 -0
  771. package/dist/lib/generated/Entities/Component/sections/details.component.js.map +1 -0
  772. package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.d.ts.map +1 -1
  773. package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.js +3 -3
  774. package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.js.map +1 -1
  775. package/dist/lib/generated/Entities/ComponentDependency/sections/details.component.d.ts +11 -0
  776. package/dist/lib/generated/Entities/ComponentDependency/sections/details.component.d.ts.map +1 -0
  777. package/dist/lib/generated/Entities/ComponentDependency/sections/details.component.js +111 -0
  778. package/dist/lib/generated/Entities/ComponentDependency/sections/details.component.js.map +1 -0
  779. package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.d.ts.map +1 -1
  780. package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.js +11 -12
  781. package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.js.map +1 -1
  782. package/dist/lib/generated/Entities/ComponentLibrary/sections/details.component.d.ts +11 -0
  783. package/dist/lib/generated/Entities/ComponentLibrary/sections/details.component.d.ts.map +1 -0
  784. package/dist/lib/generated/Entities/ComponentLibrary/sections/details.component.js +179 -0
  785. package/dist/lib/generated/Entities/ComponentLibrary/sections/details.component.js.map +1 -0
  786. package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.d.ts.map +1 -1
  787. package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.js +3 -3
  788. package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.js.map +1 -1
  789. package/dist/lib/generated/Entities/ComponentLibraryLink/sections/details.component.d.ts +11 -0
  790. package/dist/lib/generated/Entities/ComponentLibraryLink/sections/details.component.d.ts.map +1 -0
  791. package/dist/lib/generated/Entities/ComponentLibraryLink/sections/details.component.js +120 -0
  792. package/dist/lib/generated/Entities/ComponentLibraryLink/sections/details.component.js.map +1 -0
  793. package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.d.ts.map +1 -1
  794. package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.js +11 -12
  795. package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.js.map +1 -1
  796. package/dist/lib/generated/Entities/ComponentRegistry/sections/details.component.d.ts +11 -0
  797. package/dist/lib/generated/Entities/ComponentRegistry/sections/details.component.d.ts.map +1 -0
  798. package/dist/lib/generated/Entities/ComponentRegistry/sections/details.component.js +125 -0
  799. package/dist/lib/generated/Entities/ComponentRegistry/sections/details.component.js.map +1 -0
  800. package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.d.ts.map +1 -1
  801. package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.js +17 -18
  802. package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.js.map +1 -1
  803. package/dist/lib/generated/Entities/ContentFileType/sections/details.component.d.ts +11 -0
  804. package/dist/lib/generated/Entities/ContentFileType/sections/details.component.d.ts.map +1 -0
  805. package/dist/lib/generated/Entities/ContentFileType/sections/details.component.js +89 -0
  806. package/dist/lib/generated/Entities/ContentFileType/sections/details.component.js.map +1 -0
  807. package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.d.ts.map +1 -1
  808. package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.js +17 -18
  809. package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.js.map +1 -1
  810. package/dist/lib/generated/Entities/ContentItem/sections/details.component.d.ts +11 -0
  811. package/dist/lib/generated/Entities/ContentItem/sections/details.component.d.ts.map +1 -0
  812. package/dist/lib/generated/Entities/ContentItem/sections/details.component.js +196 -0
  813. package/dist/lib/generated/Entities/ContentItem/sections/details.component.js.map +1 -0
  814. package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.d.ts.map +1 -1
  815. package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.js +3 -3
  816. package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.js.map +1 -1
  817. package/dist/lib/generated/Entities/ContentItemAttribute/sections/details.component.d.ts +11 -0
  818. package/dist/lib/generated/Entities/ContentItemAttribute/sections/details.component.d.ts.map +1 -0
  819. package/dist/lib/generated/Entities/ContentItemAttribute/sections/details.component.js +109 -0
  820. package/dist/lib/generated/Entities/ContentItemAttribute/sections/details.component.js.map +1 -0
  821. package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.d.ts.map +1 -1
  822. package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.js +3 -3
  823. package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.js.map +1 -1
  824. package/dist/lib/generated/Entities/ContentItemTag/sections/details.component.d.ts +11 -0
  825. package/dist/lib/generated/Entities/ContentItemTag/sections/details.component.d.ts.map +1 -0
  826. package/dist/lib/generated/Entities/ContentItemTag/sections/details.component.js +100 -0
  827. package/dist/lib/generated/Entities/ContentItemTag/sections/details.component.js.map +1 -0
  828. package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.d.ts.map +1 -1
  829. package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.js +3 -3
  830. package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.js.map +1 -1
  831. package/dist/lib/generated/Entities/ContentProcessRun/sections/details.component.d.ts +11 -0
  832. package/dist/lib/generated/Entities/ContentProcessRun/sections/details.component.d.ts.map +1 -0
  833. package/dist/lib/generated/Entities/ContentProcessRun/sections/details.component.js +127 -0
  834. package/dist/lib/generated/Entities/ContentProcessRun/sections/details.component.js.map +1 -0
  835. package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.d.ts.map +1 -1
  836. package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.js +23 -24
  837. package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.js.map +1 -1
  838. package/dist/lib/generated/Entities/ContentSource/sections/details.component.d.ts +11 -0
  839. package/dist/lib/generated/Entities/ContentSource/sections/details.component.d.ts.map +1 -0
  840. package/dist/lib/generated/Entities/ContentSource/sections/details.component.js +149 -0
  841. package/dist/lib/generated/Entities/ContentSource/sections/details.component.js.map +1 -0
  842. package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.d.ts.map +1 -1
  843. package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.js +3 -3
  844. package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.js.map +1 -1
  845. package/dist/lib/generated/Entities/ContentSourceParam/sections/details.component.d.ts +11 -0
  846. package/dist/lib/generated/Entities/ContentSourceParam/sections/details.component.d.ts.map +1 -0
  847. package/dist/lib/generated/Entities/ContentSourceParam/sections/details.component.js +109 -0
  848. package/dist/lib/generated/Entities/ContentSourceParam/sections/details.component.js.map +1 -0
  849. package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.d.ts.map +1 -1
  850. package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.js +17 -18
  851. package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.js.map +1 -1
  852. package/dist/lib/generated/Entities/ContentSourceType/sections/details.component.d.ts +11 -0
  853. package/dist/lib/generated/Entities/ContentSourceType/sections/details.component.d.ts.map +1 -0
  854. package/dist/lib/generated/Entities/ContentSourceType/sections/details.component.js +89 -0
  855. package/dist/lib/generated/Entities/ContentSourceType/sections/details.component.js.map +1 -0
  856. package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.d.ts.map +1 -1
  857. package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.js +3 -3
  858. package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.js.map +1 -1
  859. package/dist/lib/generated/Entities/ContentSourceTypeParam/sections/details.component.d.ts +11 -0
  860. package/dist/lib/generated/Entities/ContentSourceTypeParam/sections/details.component.d.ts.map +1 -0
  861. package/dist/lib/generated/Entities/ContentSourceTypeParam/sections/details.component.js +116 -0
  862. package/dist/lib/generated/Entities/ContentSourceTypeParam/sections/details.component.js.map +1 -0
  863. package/dist/lib/generated/Entities/ContentType/contenttype.form.component.d.ts.map +1 -1
  864. package/dist/lib/generated/Entities/ContentType/contenttype.form.component.js +17 -18
  865. package/dist/lib/generated/Entities/ContentType/contenttype.form.component.js.map +1 -1
  866. package/dist/lib/generated/Entities/ContentType/sections/details.component.d.ts +11 -0
  867. package/dist/lib/generated/Entities/ContentType/sections/details.component.d.ts.map +1 -0
  868. package/dist/lib/generated/Entities/ContentType/sections/details.component.js +127 -0
  869. package/dist/lib/generated/Entities/ContentType/sections/details.component.js.map +1 -0
  870. package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.d.ts.map +1 -1
  871. package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.js +3 -3
  872. package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.js.map +1 -1
  873. package/dist/lib/generated/Entities/ContentTypeAttribute/sections/details.component.d.ts +11 -0
  874. package/dist/lib/generated/Entities/ContentTypeAttribute/sections/details.component.d.ts.map +1 -0
  875. package/dist/lib/generated/Entities/ContentTypeAttribute/sections/details.component.js +107 -0
  876. package/dist/lib/generated/Entities/ContentTypeAttribute/sections/details.component.js.map +1 -0
  877. package/dist/lib/generated/Entities/Conversation/conversation.form.component.d.ts.map +1 -1
  878. package/dist/lib/generated/Entities/Conversation/conversation.form.component.js +42 -43
  879. package/dist/lib/generated/Entities/Conversation/conversation.form.component.js.map +1 -1
  880. package/dist/lib/generated/Entities/Conversation/sections/details.component.d.ts +11 -0
  881. package/dist/lib/generated/Entities/Conversation/sections/details.component.d.ts.map +1 -0
  882. package/dist/lib/generated/Entities/Conversation/sections/details.component.js +243 -0
  883. package/dist/lib/generated/Entities/Conversation/sections/details.component.js.map +1 -0
  884. package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.d.ts.map +1 -1
  885. package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.js +23 -24
  886. package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.js.map +1 -1
  887. package/dist/lib/generated/Entities/ConversationArtifact/sections/details.component.d.ts +11 -0
  888. package/dist/lib/generated/Entities/ConversationArtifact/sections/details.component.d.ts.map +1 -0
  889. package/dist/lib/generated/Entities/ConversationArtifact/sections/details.component.js +147 -0
  890. package/dist/lib/generated/Entities/ConversationArtifact/sections/details.component.js.map +1 -0
  891. package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.d.ts.map +1 -1
  892. package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.js +3 -3
  893. package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.js.map +1 -1
  894. package/dist/lib/generated/Entities/ConversationArtifactPermission/sections/details.component.d.ts +11 -0
  895. package/dist/lib/generated/Entities/ConversationArtifactPermission/sections/details.component.d.ts.map +1 -0
  896. package/dist/lib/generated/Entities/ConversationArtifactPermission/sections/details.component.js +109 -0
  897. package/dist/lib/generated/Entities/ConversationArtifactPermission/sections/details.component.js.map +1 -0
  898. package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.d.ts.map +1 -1
  899. package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.js +11 -12
  900. package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.js.map +1 -1
  901. package/dist/lib/generated/Entities/ConversationArtifactVersion/sections/details.component.d.ts +11 -0
  902. package/dist/lib/generated/Entities/ConversationArtifactVersion/sections/details.component.d.ts.map +1 -0
  903. package/dist/lib/generated/Entities/ConversationArtifactVersion/sections/details.component.js +127 -0
  904. package/dist/lib/generated/Entities/ConversationArtifactVersion/sections/details.component.js.map +1 -0
  905. package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.d.ts.map +1 -1
  906. package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.js +59 -60
  907. package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.js.map +1 -1
  908. package/dist/lib/generated/Entities/ConversationDetail/sections/details.component.d.ts +11 -0
  909. package/dist/lib/generated/Entities/ConversationDetail/sections/details.component.d.ts.map +1 -0
  910. package/dist/lib/generated/Entities/ConversationDetail/sections/details.component.js +299 -0
  911. package/dist/lib/generated/Entities/ConversationDetail/sections/details.component.js.map +1 -0
  912. package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.d.ts.map +1 -1
  913. package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.js +3 -3
  914. package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.js.map +1 -1
  915. package/dist/lib/generated/Entities/ConversationDetailArtifact/sections/details.component.d.ts +11 -0
  916. package/dist/lib/generated/Entities/ConversationDetailArtifact/sections/details.component.d.ts.map +1 -0
  917. package/dist/lib/generated/Entities/ConversationDetailArtifact/sections/details.component.js +111 -0
  918. package/dist/lib/generated/Entities/ConversationDetailArtifact/sections/details.component.js.map +1 -0
  919. package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.d.ts.map +1 -1
  920. package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.js +3 -3
  921. package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.js.map +1 -1
  922. package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.d.ts.map +1 -1
  923. package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.js +7 -13
  924. package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.js.map +1 -1
  925. package/dist/lib/generated/Entities/ConversationDetailRating/sections/details.component.d.ts +11 -0
  926. package/dist/lib/generated/Entities/ConversationDetailRating/sections/details.component.d.ts.map +1 -0
  927. package/dist/lib/generated/Entities/ConversationDetailRating/sections/details.component.js +120 -0
  928. package/dist/lib/generated/Entities/ConversationDetailRating/sections/details.component.js.map +1 -0
  929. package/dist/lib/generated/Entities/Credential/credential.form.component.d.ts.map +1 -1
  930. package/dist/lib/generated/Entities/Credential/credential.form.component.js +40 -23
  931. package/dist/lib/generated/Entities/Credential/credential.form.component.js.map +1 -1
  932. package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.d.ts.map +1 -1
  933. package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.js +17 -18
  934. package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.js.map +1 -1
  935. package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.d.ts.map +1 -1
  936. package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.js +23 -24
  937. package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.js.map +1 -1
  938. package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.d.ts.map +1 -1
  939. package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.js +29 -30
  940. package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.js.map +1 -1
  941. package/dist/lib/generated/Entities/Dashboard/sections/details.component.d.ts +11 -0
  942. package/dist/lib/generated/Entities/Dashboard/sections/details.component.d.ts.map +1 -0
  943. package/dist/lib/generated/Entities/Dashboard/sections/details.component.js +223 -0
  944. package/dist/lib/generated/Entities/Dashboard/sections/details.component.js.map +1 -0
  945. package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.d.ts.map +1 -1
  946. package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.js +29 -30
  947. package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.js.map +1 -1
  948. package/dist/lib/generated/Entities/DashboardCategory/sections/details.component.d.ts +11 -0
  949. package/dist/lib/generated/Entities/DashboardCategory/sections/details.component.d.ts.map +1 -0
  950. package/dist/lib/generated/Entities/DashboardCategory/sections/details.component.js +138 -0
  951. package/dist/lib/generated/Entities/DashboardCategory/sections/details.component.js.map +1 -0
  952. package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.d.ts.map +1 -1
  953. package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.js +3 -3
  954. package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.js.map +1 -1
  955. package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.d.ts.map +1 -1
  956. package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.js +3 -3
  957. package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.js.map +1 -1
  958. package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.d.ts.map +1 -1
  959. package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.js +3 -3
  960. package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.js.map +1 -1
  961. package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.d.ts.map +1 -1
  962. package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.js +3 -3
  963. package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.js.map +1 -1
  964. package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.d.ts.map +1 -1
  965. package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.js +3 -3
  966. package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.js.map +1 -1
  967. package/dist/lib/generated/Entities/DashboardUserPreference/sections/details.component.d.ts +11 -0
  968. package/dist/lib/generated/Entities/DashboardUserPreference/sections/details.component.d.ts.map +1 -0
  969. package/dist/lib/generated/Entities/DashboardUserPreference/sections/details.component.js +149 -0
  970. package/dist/lib/generated/Entities/DashboardUserPreference/sections/details.component.js.map +1 -0
  971. package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.d.ts.map +1 -1
  972. package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.js +3 -3
  973. package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.js.map +1 -1
  974. package/dist/lib/generated/Entities/DashboardUserState/sections/details.component.d.ts +11 -0
  975. package/dist/lib/generated/Entities/DashboardUserState/sections/details.component.d.ts.map +1 -0
  976. package/dist/lib/generated/Entities/DashboardUserState/sections/details.component.js +120 -0
  977. package/dist/lib/generated/Entities/DashboardUserState/sections/details.component.js.map +1 -0
  978. package/dist/lib/generated/Entities/DataContext/datacontext.form.component.d.ts.map +1 -1
  979. package/dist/lib/generated/Entities/DataContext/datacontext.form.component.js +23 -24
  980. package/dist/lib/generated/Entities/DataContext/datacontext.form.component.js.map +1 -1
  981. package/dist/lib/generated/Entities/DataContext/sections/details.component.d.ts +11 -0
  982. package/dist/lib/generated/Entities/DataContext/sections/details.component.d.ts.map +1 -0
  983. package/dist/lib/generated/Entities/DataContext/sections/details.component.js +118 -0
  984. package/dist/lib/generated/Entities/DataContext/sections/details.component.js.map +1 -0
  985. package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.d.ts.map +1 -1
  986. package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.js +3 -3
  987. package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.js.map +1 -1
  988. package/dist/lib/generated/Entities/DataContextItem/sections/details.component.d.ts +11 -0
  989. package/dist/lib/generated/Entities/DataContextItem/sections/details.component.d.ts.map +1 -0
  990. package/dist/lib/generated/Entities/DataContextItem/sections/details.component.js +214 -0
  991. package/dist/lib/generated/Entities/DataContextItem/sections/details.component.js.map +1 -0
  992. package/dist/lib/generated/Entities/Dataset/dataset.form.component.d.ts.map +1 -1
  993. package/dist/lib/generated/Entities/Dataset/dataset.form.component.js +11 -12
  994. package/dist/lib/generated/Entities/Dataset/dataset.form.component.js.map +1 -1
  995. package/dist/lib/generated/Entities/Dataset/sections/details.component.d.ts +11 -0
  996. package/dist/lib/generated/Entities/Dataset/sections/details.component.d.ts.map +1 -0
  997. package/dist/lib/generated/Entities/Dataset/sections/details.component.js +89 -0
  998. package/dist/lib/generated/Entities/Dataset/sections/details.component.js.map +1 -0
  999. package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.d.ts.map +1 -1
  1000. package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.js +3 -3
  1001. package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.js.map +1 -1
  1002. package/dist/lib/generated/Entities/DatasetItem/sections/details.component.d.ts +11 -0
  1003. package/dist/lib/generated/Entities/DatasetItem/sections/details.component.d.ts.map +1 -0
  1004. package/dist/lib/generated/Entities/DatasetItem/sections/details.component.js +165 -0
  1005. package/dist/lib/generated/Entities/DatasetItem/sections/details.component.js.map +1 -0
  1006. package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.d.ts.map +1 -1
  1007. package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.js +11 -12
  1008. package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.js.map +1 -1
  1009. package/dist/lib/generated/Entities/DuplicateRun/sections/details.component.d.ts +11 -0
  1010. package/dist/lib/generated/Entities/DuplicateRun/sections/details.component.d.ts.map +1 -0
  1011. package/dist/lib/generated/Entities/DuplicateRun/sections/details.component.js +205 -0
  1012. package/dist/lib/generated/Entities/DuplicateRun/sections/details.component.js.map +1 -0
  1013. package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.d.ts.map +1 -1
  1014. package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.js +11 -12
  1015. package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.js.map +1 -1
  1016. package/dist/lib/generated/Entities/DuplicateRunDetail/sections/details.component.d.ts +11 -0
  1017. package/dist/lib/generated/Entities/DuplicateRunDetail/sections/details.component.d.ts.map +1 -0
  1018. package/dist/lib/generated/Entities/DuplicateRunDetail/sections/details.component.js +136 -0
  1019. package/dist/lib/generated/Entities/DuplicateRunDetail/sections/details.component.js.map +1 -0
  1020. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.d.ts.map +1 -1
  1021. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.js +3 -3
  1022. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.js.map +1 -1
  1023. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/sections/details.component.d.ts +11 -0
  1024. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/sections/details.component.d.ts.map +1 -0
  1025. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/sections/details.component.js +165 -0
  1026. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/sections/details.component.js.map +1 -0
  1027. package/dist/lib/generated/Entities/Employee/employee.form.component.d.ts.map +1 -1
  1028. package/dist/lib/generated/Entities/Employee/employee.form.component.js +35 -36
  1029. package/dist/lib/generated/Entities/Employee/employee.form.component.js.map +1 -1
  1030. package/dist/lib/generated/Entities/Employee/sections/details.component.d.ts +11 -0
  1031. package/dist/lib/generated/Entities/Employee/sections/details.component.d.ts.map +1 -0
  1032. package/dist/lib/generated/Entities/Employee/sections/details.component.js +202 -0
  1033. package/dist/lib/generated/Entities/Employee/sections/details.component.js.map +1 -0
  1034. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.d.ts.map +1 -1
  1035. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.js +3 -3
  1036. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.js.map +1 -1
  1037. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/sections/details.component.d.ts +11 -0
  1038. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/sections/details.component.d.ts.map +1 -0
  1039. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/sections/details.component.js +120 -0
  1040. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/sections/details.component.js.map +1 -0
  1041. package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.d.ts.map +1 -1
  1042. package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.js +3 -3
  1043. package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.js.map +1 -1
  1044. package/dist/lib/generated/Entities/EmployeeRole/sections/details.component.d.ts +11 -0
  1045. package/dist/lib/generated/Entities/EmployeeRole/sections/details.component.d.ts.map +1 -0
  1046. package/dist/lib/generated/Entities/EmployeeRole/sections/details.component.js +102 -0
  1047. package/dist/lib/generated/Entities/EmployeeRole/sections/details.component.js.map +1 -0
  1048. package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.d.ts.map +1 -1
  1049. package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.js +3 -3
  1050. package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.js.map +1 -1
  1051. package/dist/lib/generated/Entities/EmployeeSkill/sections/details.component.d.ts +11 -0
  1052. package/dist/lib/generated/Entities/EmployeeSkill/sections/details.component.d.ts.map +1 -0
  1053. package/dist/lib/generated/Entities/EmployeeSkill/sections/details.component.js +102 -0
  1054. package/dist/lib/generated/Entities/EmployeeSkill/sections/details.component.js.map +1 -0
  1055. package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.d.ts.map +1 -1
  1056. package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.js +11 -12
  1057. package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.js.map +1 -1
  1058. package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.d.ts.map +1 -1
  1059. package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.js +11 -12
  1060. package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.js.map +1 -1
  1061. package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.d.ts.map +1 -1
  1062. package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.js +11 -12
  1063. package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.js.map +1 -1
  1064. package/dist/lib/generated/Entities/Entity/entity.form.component.d.ts.map +1 -1
  1065. package/dist/lib/generated/Entities/Entity/entity.form.component.js +308 -273
  1066. package/dist/lib/generated/Entities/Entity/entity.form.component.js.map +1 -1
  1067. package/dist/lib/generated/Entities/Entity/sections/api.component.d.ts +11 -0
  1068. package/dist/lib/generated/Entities/Entity/sections/api.component.d.ts.map +1 -0
  1069. package/dist/lib/generated/Entities/Entity/sections/api.component.js +116 -0
  1070. package/dist/lib/generated/Entities/Entity/sections/api.component.js.map +1 -0
  1071. package/dist/lib/generated/Entities/Entity/sections/audit.component.d.ts +11 -0
  1072. package/dist/lib/generated/Entities/Entity/sections/audit.component.d.ts.map +1 -0
  1073. package/dist/lib/generated/Entities/Entity/sections/audit.component.js +71 -0
  1074. package/dist/lib/generated/Entities/Entity/sections/audit.component.js.map +1 -0
  1075. package/dist/lib/generated/Entities/Entity/sections/db.component.d.ts +11 -0
  1076. package/dist/lib/generated/Entities/Entity/sections/db.component.d.ts.map +1 -0
  1077. package/dist/lib/generated/Entities/Entity/sections/db.component.js +107 -0
  1078. package/dist/lib/generated/Entities/Entity/sections/db.component.js.map +1 -0
  1079. package/dist/lib/generated/Entities/Entity/sections/details.component.d.ts +11 -0
  1080. package/dist/lib/generated/Entities/Entity/sections/details.component.d.ts.map +1 -0
  1081. package/dist/lib/generated/Entities/Entity/sections/details.component.js +415 -0
  1082. package/dist/lib/generated/Entities/Entity/sections/details.component.js.map +1 -0
  1083. package/dist/lib/generated/Entities/Entity/sections/top.component.d.ts +11 -0
  1084. package/dist/lib/generated/Entities/Entity/sections/top.component.d.ts.map +1 -0
  1085. package/dist/lib/generated/Entities/Entity/sections/top.component.js +107 -0
  1086. package/dist/lib/generated/Entities/Entity/sections/top.component.js.map +1 -0
  1087. package/dist/lib/generated/Entities/Entity/sections/ui.component.d.ts +11 -0
  1088. package/dist/lib/generated/Entities/Entity/sections/ui.component.d.ts.map +1 -0
  1089. package/dist/lib/generated/Entities/Entity/sections/ui.component.js +62 -0
  1090. package/dist/lib/generated/Entities/Entity/sections/ui.component.js.map +1 -0
  1091. package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.d.ts.map +1 -1
  1092. package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.js +3 -3
  1093. package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.js.map +1 -1
  1094. package/dist/lib/generated/Entities/EntityAIAction/sections/details.component.d.ts +11 -0
  1095. package/dist/lib/generated/Entities/EntityAIAction/sections/details.component.d.ts.map +1 -0
  1096. package/dist/lib/generated/Entities/EntityAIAction/sections/details.component.js +223 -0
  1097. package/dist/lib/generated/Entities/EntityAIAction/sections/details.component.js.map +1 -0
  1098. package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.d.ts.map +1 -1
  1099. package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.js +23 -24
  1100. package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.js.map +1 -1
  1101. package/dist/lib/generated/Entities/EntityAction/sections/details.component.d.ts +11 -0
  1102. package/dist/lib/generated/Entities/EntityAction/sections/details.component.d.ts.map +1 -0
  1103. package/dist/lib/generated/Entities/EntityAction/sections/details.component.js +120 -0
  1104. package/dist/lib/generated/Entities/EntityAction/sections/details.component.js.map +1 -0
  1105. package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.d.ts.map +1 -1
  1106. package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.js +12 -6
  1107. package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.js.map +1 -1
  1108. package/dist/lib/generated/Entities/EntityActionFilter/sections/details.component.d.ts +11 -0
  1109. package/dist/lib/generated/Entities/EntityActionFilter/sections/details.component.d.ts.map +1 -0
  1110. package/dist/lib/generated/Entities/EntityActionFilter/sections/details.component.js +111 -0
  1111. package/dist/lib/generated/Entities/EntityActionFilter/sections/details.component.js.map +1 -0
  1112. package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.d.ts.map +1 -1
  1113. package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.js +3 -3
  1114. package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.js.map +1 -1
  1115. package/dist/lib/generated/Entities/EntityActionInvocation/sections/details.component.d.ts +11 -0
  1116. package/dist/lib/generated/Entities/EntityActionInvocation/sections/details.component.d.ts.map +1 -0
  1117. package/dist/lib/generated/Entities/EntityActionInvocation/sections/details.component.js +111 -0
  1118. package/dist/lib/generated/Entities/EntityActionInvocation/sections/details.component.js.map +1 -0
  1119. package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.d.ts.map +1 -1
  1120. package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.js +11 -12
  1121. package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.js.map +1 -1
  1122. package/dist/lib/generated/Entities/EntityActionInvocationType/sections/details.component.d.ts +11 -0
  1123. package/dist/lib/generated/Entities/EntityActionInvocationType/sections/details.component.d.ts.map +1 -0
  1124. package/dist/lib/generated/Entities/EntityActionInvocationType/sections/details.component.js +98 -0
  1125. package/dist/lib/generated/Entities/EntityActionInvocationType/sections/details.component.js.map +1 -0
  1126. package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.d.ts.map +1 -1
  1127. package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.js +13 -7
  1128. package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.js.map +1 -1
  1129. package/dist/lib/generated/Entities/EntityActionParam/sections/details.component.d.ts +11 -0
  1130. package/dist/lib/generated/Entities/EntityActionParam/sections/details.component.d.ts.map +1 -0
  1131. package/dist/lib/generated/Entities/EntityActionParam/sections/details.component.js +129 -0
  1132. package/dist/lib/generated/Entities/EntityActionParam/sections/details.component.js.map +1 -0
  1133. package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.d.ts.map +1 -1
  1134. package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.js +3 -3
  1135. package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.js.map +1 -1
  1136. package/dist/lib/generated/Entities/EntityCommunicationField/sections/details.component.d.ts +11 -0
  1137. package/dist/lib/generated/Entities/EntityCommunicationField/sections/details.component.d.ts.map +1 -0
  1138. package/dist/lib/generated/Entities/EntityCommunicationField/sections/details.component.js +100 -0
  1139. package/dist/lib/generated/Entities/EntityCommunicationField/sections/details.component.js.map +1 -0
  1140. package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.d.ts.map +1 -1
  1141. package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.js +11 -12
  1142. package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.js.map +1 -1
  1143. package/dist/lib/generated/Entities/EntityCommunicationMessageType/sections/details.component.d.ts +11 -0
  1144. package/dist/lib/generated/Entities/EntityCommunicationMessageType/sections/details.component.d.ts.map +1 -0
  1145. package/dist/lib/generated/Entities/EntityCommunicationMessageType/sections/details.component.js +120 -0
  1146. package/dist/lib/generated/Entities/EntityCommunicationMessageType/sections/details.component.js.map +1 -0
  1147. package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.d.ts.map +1 -1
  1148. package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.js +23 -24
  1149. package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.js.map +1 -1
  1150. package/dist/lib/generated/Entities/EntityDocument/sections/details.component.d.ts +11 -0
  1151. package/dist/lib/generated/Entities/EntityDocument/sections/details.component.d.ts.map +1 -0
  1152. package/dist/lib/generated/Entities/EntityDocument/sections/details.component.js +207 -0
  1153. package/dist/lib/generated/Entities/EntityDocument/sections/details.component.js.map +1 -0
  1154. package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.d.ts.map +1 -1
  1155. package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.js +3 -3
  1156. package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.js.map +1 -1
  1157. package/dist/lib/generated/Entities/EntityDocumentRun/sections/details.component.d.ts +11 -0
  1158. package/dist/lib/generated/Entities/EntityDocumentRun/sections/details.component.d.ts.map +1 -0
  1159. package/dist/lib/generated/Entities/EntityDocumentRun/sections/details.component.js +118 -0
  1160. package/dist/lib/generated/Entities/EntityDocumentRun/sections/details.component.js.map +1 -0
  1161. package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.d.ts.map +1 -1
  1162. package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.js +3 -3
  1163. package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.js.map +1 -1
  1164. package/dist/lib/generated/Entities/EntityDocumentSetting/sections/details.component.d.ts +11 -0
  1165. package/dist/lib/generated/Entities/EntityDocumentSetting/sections/details.component.d.ts.map +1 -0
  1166. package/dist/lib/generated/Entities/EntityDocumentSetting/sections/details.component.js +118 -0
  1167. package/dist/lib/generated/Entities/EntityDocumentSetting/sections/details.component.js.map +1 -0
  1168. package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.d.ts.map +1 -1
  1169. package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.js +11 -12
  1170. package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.js.map +1 -1
  1171. package/dist/lib/generated/Entities/EntityDocumentType/sections/details.component.d.ts +11 -0
  1172. package/dist/lib/generated/Entities/EntityDocumentType/sections/details.component.d.ts.map +1 -0
  1173. package/dist/lib/generated/Entities/EntityDocumentType/sections/details.component.js +89 -0
  1174. package/dist/lib/generated/Entities/EntityDocumentType/sections/details.component.js.map +1 -0
  1175. package/dist/lib/generated/Entities/EntityField/entityfield.form.component.d.ts.map +1 -1
  1176. package/dist/lib/generated/Entities/EntityField/entityfield.form.component.js +31 -26
  1177. package/dist/lib/generated/Entities/EntityField/entityfield.form.component.js.map +1 -1
  1178. package/dist/lib/generated/Entities/EntityField/sections/details.component.d.ts +11 -0
  1179. package/dist/lib/generated/Entities/EntityField/sections/details.component.d.ts.map +1 -0
  1180. package/dist/lib/generated/Entities/EntityField/sections/details.component.js +561 -0
  1181. package/dist/lib/generated/Entities/EntityField/sections/details.component.js.map +1 -0
  1182. package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.d.ts.map +1 -1
  1183. package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.js +3 -3
  1184. package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.js.map +1 -1
  1185. package/dist/lib/generated/Entities/EntityFieldValue/sections/details.component.d.ts +11 -0
  1186. package/dist/lib/generated/Entities/EntityFieldValue/sections/details.component.d.ts.map +1 -0
  1187. package/dist/lib/generated/Entities/EntityFieldValue/sections/details.component.js +145 -0
  1188. package/dist/lib/generated/Entities/EntityFieldValue/sections/details.component.js.map +1 -0
  1189. package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.d.ts.map +1 -1
  1190. package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.js +3 -3
  1191. package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.js.map +1 -1
  1192. package/dist/lib/generated/Entities/EntityPermission/sections/details.component.d.ts +11 -0
  1193. package/dist/lib/generated/Entities/EntityPermission/sections/details.component.d.ts.map +1 -0
  1194. package/dist/lib/generated/Entities/EntityPermission/sections/details.component.js +236 -0
  1195. package/dist/lib/generated/Entities/EntityPermission/sections/details.component.js.map +1 -0
  1196. package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.d.ts.map +1 -1
  1197. package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.js +3 -3
  1198. package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.js.map +1 -1
  1199. package/dist/lib/generated/Entities/EntityRecordDocument/sections/details.component.d.ts +11 -0
  1200. package/dist/lib/generated/Entities/EntityRecordDocument/sections/details.component.d.ts.map +1 -0
  1201. package/dist/lib/generated/Entities/EntityRecordDocument/sections/details.component.js +176 -0
  1202. package/dist/lib/generated/Entities/EntityRecordDocument/sections/details.component.js.map +1 -0
  1203. package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.d.ts.map +1 -1
  1204. package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.js +3 -3
  1205. package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.js.map +1 -1
  1206. package/dist/lib/generated/Entities/EntityRelationship/sections/details.component.d.ts +11 -0
  1207. package/dist/lib/generated/Entities/EntityRelationship/sections/details.component.d.ts.map +1 -0
  1208. package/dist/lib/generated/Entities/EntityRelationship/sections/details.component.js +349 -0
  1209. package/dist/lib/generated/Entities/EntityRelationship/sections/details.component.js.map +1 -0
  1210. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.d.ts.map +1 -1
  1211. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.js +11 -12
  1212. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.js.map +1 -1
  1213. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/sections/details.component.d.ts +11 -0
  1214. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/sections/details.component.d.ts.map +1 -0
  1215. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/sections/details.component.js +98 -0
  1216. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/sections/details.component.js.map +1 -0
  1217. package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.d.ts.map +1 -1
  1218. package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.js +3 -3
  1219. package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.js.map +1 -1
  1220. package/dist/lib/generated/Entities/EntitySetting/sections/details.component.d.ts +11 -0
  1221. package/dist/lib/generated/Entities/EntitySetting/sections/details.component.d.ts.map +1 -0
  1222. package/dist/lib/generated/Entities/EntitySetting/sections/details.component.js +118 -0
  1223. package/dist/lib/generated/Entities/EntitySetting/sections/details.component.js.map +1 -0
  1224. package/dist/lib/generated/Entities/Environment/environment.form.component.d.ts.map +1 -1
  1225. package/dist/lib/generated/Entities/Environment/environment.form.component.js +47 -48
  1226. package/dist/lib/generated/Entities/Environment/environment.form.component.js.map +1 -1
  1227. package/dist/lib/generated/Entities/Environment/sections/details.component.d.ts +11 -0
  1228. package/dist/lib/generated/Entities/Environment/sections/details.component.d.ts.map +1 -0
  1229. package/dist/lib/generated/Entities/Environment/sections/details.component.js +107 -0
  1230. package/dist/lib/generated/Entities/Environment/sections/details.component.js.map +1 -0
  1231. package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.d.ts.map +1 -1
  1232. package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.js +18 -12
  1233. package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.js.map +1 -1
  1234. package/dist/lib/generated/Entities/ErrorLog/sections/details.component.d.ts +11 -0
  1235. package/dist/lib/generated/Entities/ErrorLog/sections/details.component.d.ts.map +1 -0
  1236. package/dist/lib/generated/Entities/ErrorLog/sections/details.component.js +147 -0
  1237. package/dist/lib/generated/Entities/ErrorLog/sections/details.component.js.map +1 -0
  1238. package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.d.ts.map +1 -1
  1239. package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.js +3 -3
  1240. package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.js.map +1 -1
  1241. package/dist/lib/generated/Entities/ExplorerNavigationItem/sections/details.component.d.ts +11 -0
  1242. package/dist/lib/generated/Entities/ExplorerNavigationItem/sections/details.component.d.ts.map +1 -0
  1243. package/dist/lib/generated/Entities/ExplorerNavigationItem/sections/details.component.js +152 -0
  1244. package/dist/lib/generated/Entities/ExplorerNavigationItem/sections/details.component.js.map +1 -0
  1245. package/dist/lib/generated/Entities/File/file.form.component.d.ts.map +1 -1
  1246. package/dist/lib/generated/Entities/File/file.form.component.js +29 -30
  1247. package/dist/lib/generated/Entities/File/file.form.component.js.map +1 -1
  1248. package/dist/lib/generated/Entities/File/sections/details.component.d.ts +11 -0
  1249. package/dist/lib/generated/Entities/File/sections/details.component.d.ts.map +1 -0
  1250. package/dist/lib/generated/Entities/File/sections/details.component.js +156 -0
  1251. package/dist/lib/generated/Entities/File/sections/details.component.js.map +1 -0
  1252. package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.d.ts.map +1 -1
  1253. package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.js +17 -18
  1254. package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.js.map +1 -1
  1255. package/dist/lib/generated/Entities/FileCategory/sections/details.component.d.ts +11 -0
  1256. package/dist/lib/generated/Entities/FileCategory/sections/details.component.d.ts.map +1 -0
  1257. package/dist/lib/generated/Entities/FileCategory/sections/details.component.js +118 -0
  1258. package/dist/lib/generated/Entities/FileCategory/sections/details.component.js.map +1 -0
  1259. package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.d.ts.map +1 -1
  1260. package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.js +3 -3
  1261. package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.js.map +1 -1
  1262. package/dist/lib/generated/Entities/FileEntityRecordLink/sections/details.component.d.ts +11 -0
  1263. package/dist/lib/generated/Entities/FileEntityRecordLink/sections/details.component.d.ts.map +1 -0
  1264. package/dist/lib/generated/Entities/FileEntityRecordLink/sections/details.component.js +120 -0
  1265. package/dist/lib/generated/Entities/FileEntityRecordLink/sections/details.component.js.map +1 -0
  1266. package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.d.ts.map +1 -1
  1267. package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.js +3 -3
  1268. package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.js.map +1 -1
  1269. package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.d.ts.map +1 -1
  1270. package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.js +29 -30
  1271. package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.js.map +1 -1
  1272. package/dist/lib/generated/Entities/FileStorageProvider/sections/details.component.d.ts +11 -0
  1273. package/dist/lib/generated/Entities/FileStorageProvider/sections/details.component.d.ts.map +1 -0
  1274. package/dist/lib/generated/Entities/FileStorageProvider/sections/details.component.js +134 -0
  1275. package/dist/lib/generated/Entities/FileStorageProvider/sections/details.component.js.map +1 -0
  1276. package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.d.ts.map +1 -1
  1277. package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.js +3 -3
  1278. package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.js.map +1 -1
  1279. package/dist/lib/generated/Entities/GeneratedCode/sections/details.component.d.ts +11 -0
  1280. package/dist/lib/generated/Entities/GeneratedCode/sections/details.component.d.ts.map +1 -0
  1281. package/dist/lib/generated/Entities/GeneratedCode/sections/details.component.js +203 -0
  1282. package/dist/lib/generated/Entities/GeneratedCode/sections/details.component.js.map +1 -0
  1283. package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.d.ts.map +1 -1
  1284. package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.js +17 -18
  1285. package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.js.map +1 -1
  1286. package/dist/lib/generated/Entities/GeneratedCodeCategory/sections/details.component.d.ts +11 -0
  1287. package/dist/lib/generated/Entities/GeneratedCodeCategory/sections/details.component.d.ts.map +1 -0
  1288. package/dist/lib/generated/Entities/GeneratedCodeCategory/sections/details.component.js +118 -0
  1289. package/dist/lib/generated/Entities/GeneratedCodeCategory/sections/details.component.js.map +1 -0
  1290. package/dist/lib/generated/Entities/Integration/integration.form.component.d.ts.map +1 -1
  1291. package/dist/lib/generated/Entities/Integration/integration.form.component.js +23 -24
  1292. package/dist/lib/generated/Entities/Integration/integration.form.component.js.map +1 -1
  1293. package/dist/lib/generated/Entities/Integration/sections/details.component.d.ts +11 -0
  1294. package/dist/lib/generated/Entities/Integration/sections/details.component.d.ts.map +1 -0
  1295. package/dist/lib/generated/Entities/Integration/sections/details.component.js +135 -0
  1296. package/dist/lib/generated/Entities/Integration/sections/details.component.js.map +1 -0
  1297. package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.d.ts.map +1 -1
  1298. package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.js +3 -3
  1299. package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.js.map +1 -1
  1300. package/dist/lib/generated/Entities/IntegrationURLFormat/sections/details.component.d.ts +11 -0
  1301. package/dist/lib/generated/Entities/IntegrationURLFormat/sections/details.component.d.ts.map +1 -0
  1302. package/dist/lib/generated/Entities/IntegrationURLFormat/sections/details.component.js +139 -0
  1303. package/dist/lib/generated/Entities/IntegrationURLFormat/sections/details.component.js.map +1 -0
  1304. package/dist/lib/generated/Entities/Library/library.form.component.d.ts.map +1 -1
  1305. package/dist/lib/generated/Entities/Library/library.form.component.js +17 -18
  1306. package/dist/lib/generated/Entities/Library/library.form.component.js.map +1 -1
  1307. package/dist/lib/generated/Entities/Library/sections/details.component.d.ts +11 -0
  1308. package/dist/lib/generated/Entities/Library/sections/details.component.d.ts.map +1 -0
  1309. package/dist/lib/generated/Entities/Library/sections/details.component.js +116 -0
  1310. package/dist/lib/generated/Entities/Library/sections/details.component.js.map +1 -0
  1311. package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.d.ts.map +1 -1
  1312. package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.js +3 -3
  1313. package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.js.map +1 -1
  1314. package/dist/lib/generated/Entities/LibraryItem/sections/details.component.d.ts +11 -0
  1315. package/dist/lib/generated/Entities/LibraryItem/sections/details.component.d.ts.map +1 -0
  1316. package/dist/lib/generated/Entities/LibraryItem/sections/details.component.js +109 -0
  1317. package/dist/lib/generated/Entities/LibraryItem/sections/details.component.js.map +1 -0
  1318. package/dist/lib/generated/Entities/List/list.form.component.d.ts.map +1 -1
  1319. package/dist/lib/generated/Entities/List/list.form.component.js +29 -30
  1320. package/dist/lib/generated/Entities/List/list.form.component.js.map +1 -1
  1321. package/dist/lib/generated/Entities/List/sections/details.component.d.ts +11 -0
  1322. package/dist/lib/generated/Entities/List/sections/details.component.d.ts.map +1 -0
  1323. package/dist/lib/generated/Entities/List/sections/details.component.js +178 -0
  1324. package/dist/lib/generated/Entities/List/sections/details.component.js.map +1 -0
  1325. package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.d.ts.map +1 -1
  1326. package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.js +17 -18
  1327. package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.js.map +1 -1
  1328. package/dist/lib/generated/Entities/ListCategory/sections/details.component.d.ts +11 -0
  1329. package/dist/lib/generated/Entities/ListCategory/sections/details.component.d.ts.map +1 -0
  1330. package/dist/lib/generated/Entities/ListCategory/sections/details.component.js +138 -0
  1331. package/dist/lib/generated/Entities/ListCategory/sections/details.component.js.map +1 -0
  1332. package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.d.ts.map +1 -1
  1333. package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.js +3 -3
  1334. package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.js.map +1 -1
  1335. package/dist/lib/generated/Entities/ListDetail/sections/details.component.d.ts +11 -0
  1336. package/dist/lib/generated/Entities/ListDetail/sections/details.component.d.ts.map +1 -0
  1337. package/dist/lib/generated/Entities/ListDetail/sections/details.component.js +127 -0
  1338. package/dist/lib/generated/Entities/ListDetail/sections/details.component.js.map +1 -0
  1339. package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.d.ts.map +1 -1
  1340. package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.js +3 -3
  1341. package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.js.map +1 -1
  1342. package/dist/lib/generated/Entities/ListShare/listshare.form.component.d.ts.map +1 -1
  1343. package/dist/lib/generated/Entities/ListShare/listshare.form.component.js +3 -3
  1344. package/dist/lib/generated/Entities/ListShare/listshare.form.component.js.map +1 -1
  1345. package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.d.ts.map +1 -1
  1346. package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.js +56 -21
  1347. package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.js.map +1 -1
  1348. package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.d.ts.map +1 -1
  1349. package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.js +77 -24
  1350. package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.js.map +1 -1
  1351. package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.d.ts.map +1 -1
  1352. package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.js +3 -3
  1353. package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.js.map +1 -1
  1354. package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.d.ts.map +1 -1
  1355. package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.js +3 -3
  1356. package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.js.map +1 -1
  1357. package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.d.ts.map +1 -1
  1358. package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.js +17 -18
  1359. package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.js.map +1 -1
  1360. package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.d.ts.map +1 -1
  1361. package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.js +10 -10
  1362. package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.js.map +1 -1
  1363. package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.d.ts +11 -0
  1364. package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.d.ts.map +1 -0
  1365. package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.js +75 -0
  1366. package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.js.map +1 -0
  1367. package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.d.ts +11 -0
  1368. package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.d.ts.map +1 -0
  1369. package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.js +81 -0
  1370. package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.js.map +1 -0
  1371. package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.d.ts +11 -0
  1372. package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.d.ts.map +1 -0
  1373. package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.js +81 -0
  1374. package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.js.map +1 -0
  1375. package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.d.ts +11 -0
  1376. package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.d.ts.map +1 -0
  1377. package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.js +67 -0
  1378. package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.js.map +1 -0
  1379. package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.d.ts.map +1 -1
  1380. package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.js +11 -12
  1381. package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.js.map +1 -1
  1382. package/dist/lib/generated/Entities/OutputDeliveryType/sections/details.component.d.ts +11 -0
  1383. package/dist/lib/generated/Entities/OutputDeliveryType/sections/details.component.d.ts.map +1 -0
  1384. package/dist/lib/generated/Entities/OutputDeliveryType/sections/details.component.js +89 -0
  1385. package/dist/lib/generated/Entities/OutputDeliveryType/sections/details.component.js.map +1 -0
  1386. package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.d.ts.map +1 -1
  1387. package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.js +11 -12
  1388. package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.js.map +1 -1
  1389. package/dist/lib/generated/Entities/OutputFormatType/sections/details.component.d.ts +11 -0
  1390. package/dist/lib/generated/Entities/OutputFormatType/sections/details.component.d.ts.map +1 -0
  1391. package/dist/lib/generated/Entities/OutputFormatType/sections/details.component.js +98 -0
  1392. package/dist/lib/generated/Entities/OutputFormatType/sections/details.component.js.map +1 -0
  1393. package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.d.ts.map +1 -1
  1394. package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.js +11 -12
  1395. package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.js.map +1 -1
  1396. package/dist/lib/generated/Entities/OutputTriggerType/sections/details.component.d.ts +11 -0
  1397. package/dist/lib/generated/Entities/OutputTriggerType/sections/details.component.d.ts.map +1 -0
  1398. package/dist/lib/generated/Entities/OutputTriggerType/sections/details.component.js +89 -0
  1399. package/dist/lib/generated/Entities/OutputTriggerType/sections/details.component.js.map +1 -0
  1400. package/dist/lib/generated/Entities/Project/project.form.component.d.ts.map +1 -1
  1401. package/dist/lib/generated/Entities/Project/project.form.component.js +23 -24
  1402. package/dist/lib/generated/Entities/Project/project.form.component.js.map +1 -1
  1403. package/dist/lib/generated/Entities/Project/sections/details.component.d.ts +11 -0
  1404. package/dist/lib/generated/Entities/Project/sections/details.component.d.ts.map +1 -0
  1405. package/dist/lib/generated/Entities/Project/sections/details.component.js +165 -0
  1406. package/dist/lib/generated/Entities/Project/sections/details.component.js.map +1 -0
  1407. package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.d.ts.map +1 -1
  1408. package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.js +3 -3
  1409. package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.js.map +1 -1
  1410. package/dist/lib/generated/Entities/PublicLink/sections/details.component.d.ts +11 -0
  1411. package/dist/lib/generated/Entities/PublicLink/sections/details.component.d.ts.map +1 -0
  1412. package/dist/lib/generated/Entities/PublicLink/sections/details.component.js +163 -0
  1413. package/dist/lib/generated/Entities/PublicLink/sections/details.component.js.map +1 -0
  1414. package/dist/lib/generated/Entities/Query/query.form.component.d.ts.map +1 -1
  1415. package/dist/lib/generated/Entities/Query/query.form.component.js +35 -36
  1416. package/dist/lib/generated/Entities/Query/query.form.component.js.map +1 -1
  1417. package/dist/lib/generated/Entities/Query/sections/details.component.d.ts +11 -0
  1418. package/dist/lib/generated/Entities/Query/sections/details.component.d.ts.map +1 -0
  1419. package/dist/lib/generated/Entities/Query/sections/details.component.js +255 -0
  1420. package/dist/lib/generated/Entities/Query/sections/details.component.js.map +1 -0
  1421. package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.d.ts.map +1 -1
  1422. package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.js +17 -18
  1423. package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.js.map +1 -1
  1424. package/dist/lib/generated/Entities/QueryCategory/sections/details.component.d.ts +11 -0
  1425. package/dist/lib/generated/Entities/QueryCategory/sections/details.component.d.ts.map +1 -0
  1426. package/dist/lib/generated/Entities/QueryCategory/sections/details.component.js +174 -0
  1427. package/dist/lib/generated/Entities/QueryCategory/sections/details.component.js.map +1 -0
  1428. package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.d.ts.map +1 -1
  1429. package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.js +3 -3
  1430. package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.js.map +1 -1
  1431. package/dist/lib/generated/Entities/QueryEntity/sections/details.component.d.ts +11 -0
  1432. package/dist/lib/generated/Entities/QueryEntity/sections/details.component.d.ts.map +1 -0
  1433. package/dist/lib/generated/Entities/QueryEntity/sections/details.component.js +129 -0
  1434. package/dist/lib/generated/Entities/QueryEntity/sections/details.component.js.map +1 -0
  1435. package/dist/lib/generated/Entities/QueryField/queryfield.form.component.d.ts.map +1 -1
  1436. package/dist/lib/generated/Entities/QueryField/queryfield.form.component.js +3 -3
  1437. package/dist/lib/generated/Entities/QueryField/queryfield.form.component.js.map +1 -1
  1438. package/dist/lib/generated/Entities/QueryField/sections/details.component.d.ts +11 -0
  1439. package/dist/lib/generated/Entities/QueryField/sections/details.component.d.ts.map +1 -0
  1440. package/dist/lib/generated/Entities/QueryField/sections/details.component.js +219 -0
  1441. package/dist/lib/generated/Entities/QueryField/sections/details.component.js.map +1 -0
  1442. package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.d.ts.map +1 -1
  1443. package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.js +3 -3
  1444. package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.js.map +1 -1
  1445. package/dist/lib/generated/Entities/QueryParameter/sections/details.component.d.ts +11 -0
  1446. package/dist/lib/generated/Entities/QueryParameter/sections/details.component.d.ts.map +1 -0
  1447. package/dist/lib/generated/Entities/QueryParameter/sections/details.component.js +172 -0
  1448. package/dist/lib/generated/Entities/QueryParameter/sections/details.component.js.map +1 -0
  1449. package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.d.ts.map +1 -1
  1450. package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.js +3 -3
  1451. package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.js.map +1 -1
  1452. package/dist/lib/generated/Entities/QueryPermission/sections/details.component.d.ts +11 -0
  1453. package/dist/lib/generated/Entities/QueryPermission/sections/details.component.d.ts.map +1 -0
  1454. package/dist/lib/generated/Entities/QueryPermission/sections/details.component.js +111 -0
  1455. package/dist/lib/generated/Entities/QueryPermission/sections/details.component.js.map +1 -0
  1456. package/dist/lib/generated/Entities/Queue/queue.form.component.d.ts.map +1 -1
  1457. package/dist/lib/generated/Entities/Queue/queue.form.component.js +11 -12
  1458. package/dist/lib/generated/Entities/Queue/queue.form.component.js.map +1 -1
  1459. package/dist/lib/generated/Entities/Queue/sections/details.component.d.ts +11 -0
  1460. package/dist/lib/generated/Entities/Queue/sections/details.component.d.ts.map +1 -0
  1461. package/dist/lib/generated/Entities/Queue/sections/details.component.js +226 -0
  1462. package/dist/lib/generated/Entities/Queue/sections/details.component.js.map +1 -0
  1463. package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.d.ts.map +1 -1
  1464. package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.js +3 -3
  1465. package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.js.map +1 -1
  1466. package/dist/lib/generated/Entities/QueueTask/sections/details.component.d.ts +11 -0
  1467. package/dist/lib/generated/Entities/QueueTask/sections/details.component.d.ts.map +1 -0
  1468. package/dist/lib/generated/Entities/QueueTask/sections/details.component.js +163 -0
  1469. package/dist/lib/generated/Entities/QueueTask/sections/details.component.js.map +1 -0
  1470. package/dist/lib/generated/Entities/QueueType/queuetype.form.component.d.ts.map +1 -1
  1471. package/dist/lib/generated/Entities/QueueType/queuetype.form.component.js +11 -12
  1472. package/dist/lib/generated/Entities/QueueType/queuetype.form.component.js.map +1 -1
  1473. package/dist/lib/generated/Entities/QueueType/sections/details.component.d.ts +11 -0
  1474. package/dist/lib/generated/Entities/QueueType/sections/details.component.d.ts.map +1 -0
  1475. package/dist/lib/generated/Entities/QueueType/sections/details.component.js +116 -0
  1476. package/dist/lib/generated/Entities/QueueType/sections/details.component.js.map +1 -0
  1477. package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.d.ts.map +1 -1
  1478. package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.js +16 -23
  1479. package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.js.map +1 -1
  1480. package/dist/lib/generated/Entities/Recommendation/sections/details.component.d.ts +11 -0
  1481. package/dist/lib/generated/Entities/Recommendation/sections/details.component.d.ts.map +1 -0
  1482. package/dist/lib/generated/Entities/Recommendation/sections/details.component.js +111 -0
  1483. package/dist/lib/generated/Entities/Recommendation/sections/details.component.js.map +1 -0
  1484. package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.d.ts.map +1 -1
  1485. package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.js +7 -13
  1486. package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.js.map +1 -1
  1487. package/dist/lib/generated/Entities/RecommendationItem/sections/details.component.d.ts +11 -0
  1488. package/dist/lib/generated/Entities/RecommendationItem/sections/details.component.d.ts.map +1 -0
  1489. package/dist/lib/generated/Entities/RecommendationItem/sections/details.component.js +120 -0
  1490. package/dist/lib/generated/Entities/RecommendationItem/sections/details.component.js.map +1 -0
  1491. package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.d.ts.map +1 -1
  1492. package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.js +11 -12
  1493. package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.js.map +1 -1
  1494. package/dist/lib/generated/Entities/RecommendationProvider/sections/details.component.d.ts +11 -0
  1495. package/dist/lib/generated/Entities/RecommendationProvider/sections/details.component.d.ts.map +1 -0
  1496. package/dist/lib/generated/Entities/RecommendationProvider/sections/details.component.js +89 -0
  1497. package/dist/lib/generated/Entities/RecommendationProvider/sections/details.component.js.map +1 -0
  1498. package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.d.ts.map +1 -1
  1499. package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.js +11 -12
  1500. package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.js.map +1 -1
  1501. package/dist/lib/generated/Entities/RecommendationRun/sections/details.component.d.ts +11 -0
  1502. package/dist/lib/generated/Entities/RecommendationRun/sections/details.component.d.ts.map +1 -0
  1503. package/dist/lib/generated/Entities/RecommendationRun/sections/details.component.js +147 -0
  1504. package/dist/lib/generated/Entities/RecommendationRun/sections/details.component.js.map +1 -0
  1505. package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.d.ts.map +1 -1
  1506. package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.js +31 -19
  1507. package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.js.map +1 -1
  1508. package/dist/lib/generated/Entities/RecordChange/sections/details.component.d.ts +11 -0
  1509. package/dist/lib/generated/Entities/RecordChange/sections/details.component.d.ts.map +1 -0
  1510. package/dist/lib/generated/Entities/RecordChange/sections/details.component.js +232 -0
  1511. package/dist/lib/generated/Entities/RecordChange/sections/details.component.js.map +1 -0
  1512. package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.d.ts.map +1 -1
  1513. package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.js +11 -12
  1514. package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.js.map +1 -1
  1515. package/dist/lib/generated/Entities/RecordChangeReplayRun/sections/details.component.d.ts +11 -0
  1516. package/dist/lib/generated/Entities/RecordChangeReplayRun/sections/details.component.d.ts.map +1 -0
  1517. package/dist/lib/generated/Entities/RecordChangeReplayRun/sections/details.component.js +118 -0
  1518. package/dist/lib/generated/Entities/RecordChangeReplayRun/sections/details.component.js.map +1 -0
  1519. package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.d.ts.map +1 -1
  1520. package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.js +3 -3
  1521. package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.js.map +1 -1
  1522. package/dist/lib/generated/Entities/RecordLink/sections/details.component.d.ts +11 -0
  1523. package/dist/lib/generated/Entities/RecordLink/sections/details.component.d.ts.map +1 -0
  1524. package/dist/lib/generated/Entities/RecordLink/sections/details.component.js +156 -0
  1525. package/dist/lib/generated/Entities/RecordLink/sections/details.component.js.map +1 -0
  1526. package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.d.ts.map +1 -1
  1527. package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.js +7 -13
  1528. package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.js.map +1 -1
  1529. package/dist/lib/generated/Entities/RecordMergeDeletionLog/sections/details.component.d.ts +11 -0
  1530. package/dist/lib/generated/Entities/RecordMergeDeletionLog/sections/details.component.d.ts.map +1 -0
  1531. package/dist/lib/generated/Entities/RecordMergeDeletionLog/sections/details.component.js +109 -0
  1532. package/dist/lib/generated/Entities/RecordMergeDeletionLog/sections/details.component.js.map +1 -0
  1533. package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.d.ts.map +1 -1
  1534. package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.js +17 -18
  1535. package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.js.map +1 -1
  1536. package/dist/lib/generated/Entities/RecordMergeLog/sections/details.component.d.ts +11 -0
  1537. package/dist/lib/generated/Entities/RecordMergeLog/sections/details.component.d.ts.map +1 -0
  1538. package/dist/lib/generated/Entities/RecordMergeLog/sections/details.component.js +194 -0
  1539. package/dist/lib/generated/Entities/RecordMergeLog/sections/details.component.js.map +1 -0
  1540. package/dist/lib/generated/Entities/Report/report.form.component.d.ts.map +1 -1
  1541. package/dist/lib/generated/Entities/Report/report.form.component.js +28 -35
  1542. package/dist/lib/generated/Entities/Report/report.form.component.js.map +1 -1
  1543. package/dist/lib/generated/Entities/Report/sections/details.component.d.ts +11 -0
  1544. package/dist/lib/generated/Entities/Report/sections/details.component.d.ts.map +1 -0
  1545. package/dist/lib/generated/Entities/Report/sections/details.component.js +325 -0
  1546. package/dist/lib/generated/Entities/Report/sections/details.component.js.map +1 -0
  1547. package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.d.ts.map +1 -1
  1548. package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.js +17 -18
  1549. package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.js.map +1 -1
  1550. package/dist/lib/generated/Entities/ReportCategory/sections/details.component.d.ts +11 -0
  1551. package/dist/lib/generated/Entities/ReportCategory/sections/details.component.d.ts.map +1 -0
  1552. package/dist/lib/generated/Entities/ReportCategory/sections/details.component.js +138 -0
  1553. package/dist/lib/generated/Entities/ReportCategory/sections/details.component.js.map +1 -0
  1554. package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.d.ts.map +1 -1
  1555. package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.js +3 -3
  1556. package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.js.map +1 -1
  1557. package/dist/lib/generated/Entities/ReportSnapshot/sections/details.component.d.ts +11 -0
  1558. package/dist/lib/generated/Entities/ReportSnapshot/sections/details.component.d.ts.map +1 -0
  1559. package/dist/lib/generated/Entities/ReportSnapshot/sections/details.component.js +120 -0
  1560. package/dist/lib/generated/Entities/ReportSnapshot/sections/details.component.js.map +1 -0
  1561. package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.d.ts.map +1 -1
  1562. package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.js +3 -3
  1563. package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.js.map +1 -1
  1564. package/dist/lib/generated/Entities/ReportUserState/sections/details.component.d.ts +11 -0
  1565. package/dist/lib/generated/Entities/ReportUserState/sections/details.component.d.ts.map +1 -0
  1566. package/dist/lib/generated/Entities/ReportUserState/sections/details.component.js +120 -0
  1567. package/dist/lib/generated/Entities/ReportUserState/sections/details.component.js.map +1 -0
  1568. package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.d.ts.map +1 -1
  1569. package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.js +3 -3
  1570. package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.js.map +1 -1
  1571. package/dist/lib/generated/Entities/ReportVersion/sections/details.component.d.ts +11 -0
  1572. package/dist/lib/generated/Entities/ReportVersion/sections/details.component.d.ts.map +1 -0
  1573. package/dist/lib/generated/Entities/ReportVersion/sections/details.component.js +136 -0
  1574. package/dist/lib/generated/Entities/ReportVersion/sections/details.component.js.map +1 -0
  1575. package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.d.ts.map +1 -1
  1576. package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.js +3 -3
  1577. package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.js.map +1 -1
  1578. package/dist/lib/generated/Entities/ResourceLink/sections/details.component.d.ts +11 -0
  1579. package/dist/lib/generated/Entities/ResourceLink/sections/details.component.d.ts.map +1 -0
  1580. package/dist/lib/generated/Entities/ResourceLink/sections/details.component.js +129 -0
  1581. package/dist/lib/generated/Entities/ResourceLink/sections/details.component.js.map +1 -0
  1582. package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.d.ts.map +1 -1
  1583. package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.js +3 -3
  1584. package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.js.map +1 -1
  1585. package/dist/lib/generated/Entities/ResourcePermission/sections/details.component.d.ts +11 -0
  1586. package/dist/lib/generated/Entities/ResourcePermission/sections/details.component.d.ts.map +1 -0
  1587. package/dist/lib/generated/Entities/ResourcePermission/sections/details.component.js +185 -0
  1588. package/dist/lib/generated/Entities/ResourcePermission/sections/details.component.js.map +1 -0
  1589. package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.d.ts.map +1 -1
  1590. package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.js +29 -30
  1591. package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.js.map +1 -1
  1592. package/dist/lib/generated/Entities/ResourceType/sections/details.component.d.ts +11 -0
  1593. package/dist/lib/generated/Entities/ResourceType/sections/details.component.d.ts.map +1 -0
  1594. package/dist/lib/generated/Entities/ResourceType/sections/details.component.js +147 -0
  1595. package/dist/lib/generated/Entities/ResourceType/sections/details.component.js.map +1 -0
  1596. package/dist/lib/generated/Entities/Role/role.form.component.d.ts.map +1 -1
  1597. package/dist/lib/generated/Entities/Role/role.form.component.js +53 -54
  1598. package/dist/lib/generated/Entities/Role/role.form.component.js.map +1 -1
  1599. package/dist/lib/generated/Entities/Role/sections/details.component.d.ts +11 -0
  1600. package/dist/lib/generated/Entities/Role/sections/details.component.d.ts.map +1 -0
  1601. package/dist/lib/generated/Entities/Role/sections/details.component.js +107 -0
  1602. package/dist/lib/generated/Entities/Role/sections/details.component.js.map +1 -0
  1603. package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.d.ts.map +1 -1
  1604. package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.js +11 -12
  1605. package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.js.map +1 -1
  1606. package/dist/lib/generated/Entities/RowLevelSecurityFilter/sections/details.component.d.ts +11 -0
  1607. package/dist/lib/generated/Entities/RowLevelSecurityFilter/sections/details.component.d.ts.map +1 -0
  1608. package/dist/lib/generated/Entities/RowLevelSecurityFilter/sections/details.component.js +98 -0
  1609. package/dist/lib/generated/Entities/RowLevelSecurityFilter/sections/details.component.js.map +1 -0
  1610. package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.d.ts.map +1 -1
  1611. package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.js +11 -12
  1612. package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.js.map +1 -1
  1613. package/dist/lib/generated/Entities/ScheduledAction/sections/details.component.d.ts +11 -0
  1614. package/dist/lib/generated/Entities/ScheduledAction/sections/details.component.d.ts.map +1 -0
  1615. package/dist/lib/generated/Entities/ScheduledAction/sections/details.component.js +210 -0
  1616. package/dist/lib/generated/Entities/ScheduledAction/sections/details.component.js.map +1 -0
  1617. package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.d.ts.map +1 -1
  1618. package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.js +3 -3
  1619. package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.js.map +1 -1
  1620. package/dist/lib/generated/Entities/ScheduledActionParam/sections/details.component.d.ts +11 -0
  1621. package/dist/lib/generated/Entities/ScheduledActionParam/sections/details.component.d.ts.map +1 -0
  1622. package/dist/lib/generated/Entities/ScheduledActionParam/sections/details.component.js +138 -0
  1623. package/dist/lib/generated/Entities/ScheduledActionParam/sections/details.component.js.map +1 -0
  1624. package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.d.ts.map +1 -1
  1625. package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.js +11 -12
  1626. package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.js.map +1 -1
  1627. package/dist/lib/generated/Entities/ScheduledJob/sections/details.component.d.ts +11 -0
  1628. package/dist/lib/generated/Entities/ScheduledJob/sections/details.component.d.ts.map +1 -0
  1629. package/dist/lib/generated/Entities/ScheduledJob/sections/details.component.js +329 -0
  1630. package/dist/lib/generated/Entities/ScheduledJob/sections/details.component.js.map +1 -0
  1631. package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.d.ts.map +1 -1
  1632. package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.js +11 -12
  1633. package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.js.map +1 -1
  1634. package/dist/lib/generated/Entities/ScheduledJobRun/sections/details.component.d.ts +11 -0
  1635. package/dist/lib/generated/Entities/ScheduledJobRun/sections/details.component.d.ts.map +1 -0
  1636. package/dist/lib/generated/Entities/ScheduledJobRun/sections/details.component.js +174 -0
  1637. package/dist/lib/generated/Entities/ScheduledJobRun/sections/details.component.js.map +1 -0
  1638. package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.d.ts.map +1 -1
  1639. package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.js +11 -12
  1640. package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.js.map +1 -1
  1641. package/dist/lib/generated/Entities/ScheduledJobType/sections/details.component.d.ts +11 -0
  1642. package/dist/lib/generated/Entities/ScheduledJobType/sections/details.component.d.ts.map +1 -0
  1643. package/dist/lib/generated/Entities/ScheduledJobType/sections/details.component.js +125 -0
  1644. package/dist/lib/generated/Entities/ScheduledJobType/sections/details.component.js.map +1 -0
  1645. package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.d.ts.map +1 -1
  1646. package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.js +3 -3
  1647. package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.js.map +1 -1
  1648. package/dist/lib/generated/Entities/SchemaInfo/sections/details.component.d.ts +11 -0
  1649. package/dist/lib/generated/Entities/SchemaInfo/sections/details.component.d.ts.map +1 -0
  1650. package/dist/lib/generated/Entities/SchemaInfo/sections/details.component.js +107 -0
  1651. package/dist/lib/generated/Entities/SchemaInfo/sections/details.component.js.map +1 -0
  1652. package/dist/lib/generated/Entities/Skill/sections/details.component.d.ts +11 -0
  1653. package/dist/lib/generated/Entities/Skill/sections/details.component.d.ts.map +1 -0
  1654. package/dist/lib/generated/Entities/Skill/sections/details.component.js +109 -0
  1655. package/dist/lib/generated/Entities/Skill/sections/details.component.js.map +1 -0
  1656. package/dist/lib/generated/Entities/Skill/skill.form.component.d.ts.map +1 -1
  1657. package/dist/lib/generated/Entities/Skill/skill.form.component.js +17 -18
  1658. package/dist/lib/generated/Entities/Skill/skill.form.component.js.map +1 -1
  1659. package/dist/lib/generated/Entities/Tag/sections/details.component.d.ts +11 -0
  1660. package/dist/lib/generated/Entities/Tag/sections/details.component.d.ts.map +1 -0
  1661. package/dist/lib/generated/Entities/Tag/sections/details.component.js +127 -0
  1662. package/dist/lib/generated/Entities/Tag/sections/details.component.js.map +1 -0
  1663. package/dist/lib/generated/Entities/Tag/tag.form.component.d.ts.map +1 -1
  1664. package/dist/lib/generated/Entities/Tag/tag.form.component.js +17 -18
  1665. package/dist/lib/generated/Entities/Tag/tag.form.component.js.map +1 -1
  1666. package/dist/lib/generated/Entities/TaggedItem/sections/details.component.d.ts +11 -0
  1667. package/dist/lib/generated/Entities/TaggedItem/sections/details.component.d.ts.map +1 -0
  1668. package/dist/lib/generated/Entities/TaggedItem/sections/details.component.js +120 -0
  1669. package/dist/lib/generated/Entities/TaggedItem/sections/details.component.js.map +1 -0
  1670. package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.d.ts.map +1 -1
  1671. package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.js +3 -3
  1672. package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.js.map +1 -1
  1673. package/dist/lib/generated/Entities/Task/sections/details.component.d.ts +11 -0
  1674. package/dist/lib/generated/Entities/Task/sections/details.component.d.ts.map +1 -0
  1675. package/dist/lib/generated/Entities/Task/sections/details.component.js +274 -0
  1676. package/dist/lib/generated/Entities/Task/sections/details.component.js.map +1 -0
  1677. package/dist/lib/generated/Entities/Task/task.form.component.d.ts.map +1 -1
  1678. package/dist/lib/generated/Entities/Task/task.form.component.js +22 -23
  1679. package/dist/lib/generated/Entities/Task/task.form.component.js.map +1 -1
  1680. package/dist/lib/generated/Entities/TaskDependency/sections/details.component.d.ts +11 -0
  1681. package/dist/lib/generated/Entities/TaskDependency/sections/details.component.d.ts.map +1 -0
  1682. package/dist/lib/generated/Entities/TaskDependency/sections/details.component.js +120 -0
  1683. package/dist/lib/generated/Entities/TaskDependency/sections/details.component.js.map +1 -0
  1684. package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.d.ts.map +1 -1
  1685. package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.js +3 -3
  1686. package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.js.map +1 -1
  1687. package/dist/lib/generated/Entities/TaskType/sections/details.component.d.ts +11 -0
  1688. package/dist/lib/generated/Entities/TaskType/sections/details.component.d.ts.map +1 -0
  1689. package/dist/lib/generated/Entities/TaskType/sections/details.component.js +89 -0
  1690. package/dist/lib/generated/Entities/TaskType/sections/details.component.js.map +1 -0
  1691. package/dist/lib/generated/Entities/TaskType/tasktype.form.component.d.ts.map +1 -1
  1692. package/dist/lib/generated/Entities/TaskType/tasktype.form.component.js +11 -12
  1693. package/dist/lib/generated/Entities/TaskType/tasktype.form.component.js.map +1 -1
  1694. package/dist/lib/generated/Entities/Template/sections/details.component.d.ts +11 -0
  1695. package/dist/lib/generated/Entities/Template/sections/details.component.d.ts.map +1 -0
  1696. package/dist/lib/generated/Entities/Template/sections/details.component.js +165 -0
  1697. package/dist/lib/generated/Entities/Template/sections/details.component.js.map +1 -0
  1698. package/dist/lib/generated/Entities/Template/template.form.component.d.ts.map +1 -1
  1699. package/dist/lib/generated/Entities/Template/template.form.component.js +41 -42
  1700. package/dist/lib/generated/Entities/Template/template.form.component.js.map +1 -1
  1701. package/dist/lib/generated/Entities/TemplateCategory/sections/details.component.d.ts +11 -0
  1702. package/dist/lib/generated/Entities/TemplateCategory/sections/details.component.d.ts.map +1 -0
  1703. package/dist/lib/generated/Entities/TemplateCategory/sections/details.component.js +138 -0
  1704. package/dist/lib/generated/Entities/TemplateCategory/sections/details.component.js.map +1 -0
  1705. package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.d.ts.map +1 -1
  1706. package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.js +17 -18
  1707. package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.js.map +1 -1
  1708. package/dist/lib/generated/Entities/TemplateContent/sections/details.component.d.ts +11 -0
  1709. package/dist/lib/generated/Entities/TemplateContent/sections/details.component.d.ts.map +1 -0
  1710. package/dist/lib/generated/Entities/TemplateContent/sections/details.component.js +138 -0
  1711. package/dist/lib/generated/Entities/TemplateContent/sections/details.component.js.map +1 -0
  1712. package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.d.ts.map +1 -1
  1713. package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js +11 -12
  1714. package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js.map +1 -1
  1715. package/dist/lib/generated/Entities/TemplateContentType/sections/details.component.d.ts +11 -0
  1716. package/dist/lib/generated/Entities/TemplateContentType/sections/details.component.d.ts.map +1 -0
  1717. package/dist/lib/generated/Entities/TemplateContentType/sections/details.component.js +98 -0
  1718. package/dist/lib/generated/Entities/TemplateContentType/sections/details.component.js.map +1 -0
  1719. package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.d.ts.map +1 -1
  1720. package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.js +11 -12
  1721. package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.js.map +1 -1
  1722. package/dist/lib/generated/Entities/TemplateParam/sections/details.component.d.ts +11 -0
  1723. package/dist/lib/generated/Entities/TemplateParam/sections/details.component.d.ts.map +1 -0
  1724. package/dist/lib/generated/Entities/TemplateParam/sections/details.component.js +212 -0
  1725. package/dist/lib/generated/Entities/TemplateParam/sections/details.component.js.map +1 -0
  1726. package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.d.ts.map +1 -1
  1727. package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.js +12 -18
  1728. package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.js.map +1 -1
  1729. package/dist/lib/generated/Entities/Test/test.form.component.d.ts.map +1 -1
  1730. package/dist/lib/generated/Entities/Test/test.form.component.js +17 -18
  1731. package/dist/lib/generated/Entities/Test/test.form.component.js.map +1 -1
  1732. package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.d.ts.map +1 -1
  1733. package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.js +3 -3
  1734. package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.js.map +1 -1
  1735. package/dist/lib/generated/Entities/TestRun/testrun.form.component.d.ts.map +1 -1
  1736. package/dist/lib/generated/Entities/TestRun/testrun.form.component.js +35 -36
  1737. package/dist/lib/generated/Entities/TestRun/testrun.form.component.js.map +1 -1
  1738. package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.d.ts.map +1 -1
  1739. package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.js +3 -3
  1740. package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.js.map +1 -1
  1741. package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.d.ts.map +1 -1
  1742. package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.js +23 -24
  1743. package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.js.map +1 -1
  1744. package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.d.ts.map +1 -1
  1745. package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.js +11 -12
  1746. package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.js.map +1 -1
  1747. package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.d.ts.map +1 -1
  1748. package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.js +3 -3
  1749. package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.js.map +1 -1
  1750. package/dist/lib/generated/Entities/TestType/testtype.form.component.d.ts.map +1 -1
  1751. package/dist/lib/generated/Entities/TestType/testtype.form.component.js +17 -18
  1752. package/dist/lib/generated/Entities/TestType/testtype.form.component.js.map +1 -1
  1753. package/dist/lib/generated/Entities/User/sections/details.component.d.ts +11 -0
  1754. package/dist/lib/generated/Entities/User/sections/details.component.d.ts.map +1 -0
  1755. package/dist/lib/generated/Entities/User/sections/details.component.js +247 -0
  1756. package/dist/lib/generated/Entities/User/sections/details.component.js.map +1 -0
  1757. package/dist/lib/generated/Entities/User/user.form.component.d.ts.map +1 -1
  1758. package/dist/lib/generated/Entities/User/user.form.component.js +540 -487
  1759. package/dist/lib/generated/Entities/User/user.form.component.js.map +1 -1
  1760. package/dist/lib/generated/Entities/UserApplication/sections/details.component.d.ts +11 -0
  1761. package/dist/lib/generated/Entities/UserApplication/sections/details.component.d.ts.map +1 -0
  1762. package/dist/lib/generated/Entities/UserApplication/sections/details.component.js +129 -0
  1763. package/dist/lib/generated/Entities/UserApplication/sections/details.component.js.map +1 -0
  1764. package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.d.ts.map +1 -1
  1765. package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.js +11 -12
  1766. package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.js.map +1 -1
  1767. package/dist/lib/generated/Entities/UserApplicationEntity/sections/details.component.d.ts +11 -0
  1768. package/dist/lib/generated/Entities/UserApplicationEntity/sections/details.component.d.ts.map +1 -0
  1769. package/dist/lib/generated/Entities/UserApplicationEntity/sections/details.component.js +129 -0
  1770. package/dist/lib/generated/Entities/UserApplicationEntity/sections/details.component.js.map +1 -0
  1771. package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.d.ts.map +1 -1
  1772. package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.js +3 -3
  1773. package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.js.map +1 -1
  1774. package/dist/lib/generated/Entities/UserFavorite/sections/details.component.d.ts +11 -0
  1775. package/dist/lib/generated/Entities/UserFavorite/sections/details.component.d.ts.map +1 -0
  1776. package/dist/lib/generated/Entities/UserFavorite/sections/details.component.js +129 -0
  1777. package/dist/lib/generated/Entities/UserFavorite/sections/details.component.js.map +1 -0
  1778. package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.d.ts.map +1 -1
  1779. package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.js +3 -3
  1780. package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.js.map +1 -1
  1781. package/dist/lib/generated/Entities/UserNotification/sections/details.component.d.ts +11 -0
  1782. package/dist/lib/generated/Entities/UserNotification/sections/details.component.d.ts.map +1 -0
  1783. package/dist/lib/generated/Entities/UserNotification/sections/details.component.js +165 -0
  1784. package/dist/lib/generated/Entities/UserNotification/sections/details.component.js.map +1 -0
  1785. package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.d.ts.map +1 -1
  1786. package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.js +3 -3
  1787. package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.js.map +1 -1
  1788. package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.d.ts.map +1 -1
  1789. package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.js +3 -3
  1790. package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.js.map +1 -1
  1791. package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.d.ts.map +1 -1
  1792. package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.js +17 -18
  1793. package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.js.map +1 -1
  1794. package/dist/lib/generated/Entities/UserRecordLog/sections/details.component.d.ts +11 -0
  1795. package/dist/lib/generated/Entities/UserRecordLog/sections/details.component.d.ts.map +1 -0
  1796. package/dist/lib/generated/Entities/UserRecordLog/sections/details.component.js +183 -0
  1797. package/dist/lib/generated/Entities/UserRecordLog/sections/details.component.js.map +1 -0
  1798. package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.d.ts.map +1 -1
  1799. package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.js +3 -3
  1800. package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.js.map +1 -1
  1801. package/dist/lib/generated/Entities/UserRole/sections/details.component.d.ts +11 -0
  1802. package/dist/lib/generated/Entities/UserRole/sections/details.component.d.ts.map +1 -0
  1803. package/dist/lib/generated/Entities/UserRole/sections/details.component.js +111 -0
  1804. package/dist/lib/generated/Entities/UserRole/sections/details.component.js.map +1 -0
  1805. package/dist/lib/generated/Entities/UserRole/userrole.form.component.d.ts.map +1 -1
  1806. package/dist/lib/generated/Entities/UserRole/userrole.form.component.js +3 -3
  1807. package/dist/lib/generated/Entities/UserRole/userrole.form.component.js.map +1 -1
  1808. package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.d.ts.map +1 -1
  1809. package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.js +3 -3
  1810. package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.js.map +1 -1
  1811. package/dist/lib/generated/Entities/UserView/sections/details.component.d.ts +11 -0
  1812. package/dist/lib/generated/Entities/UserView/sections/details.component.d.ts.map +1 -0
  1813. package/dist/lib/generated/Entities/UserView/sections/details.component.js +293 -0
  1814. package/dist/lib/generated/Entities/UserView/sections/details.component.js.map +1 -0
  1815. package/dist/lib/generated/Entities/UserView/userview.form.component.d.ts.map +1 -1
  1816. package/dist/lib/generated/Entities/UserView/userview.form.component.js +23 -24
  1817. package/dist/lib/generated/Entities/UserView/userview.form.component.js.map +1 -1
  1818. package/dist/lib/generated/Entities/UserViewCategory/sections/details.component.d.ts +11 -0
  1819. package/dist/lib/generated/Entities/UserViewCategory/sections/details.component.d.ts.map +1 -0
  1820. package/dist/lib/generated/Entities/UserViewCategory/sections/details.component.js +158 -0
  1821. package/dist/lib/generated/Entities/UserViewCategory/sections/details.component.js.map +1 -0
  1822. package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.d.ts.map +1 -1
  1823. package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.js +17 -18
  1824. package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.js.map +1 -1
  1825. package/dist/lib/generated/Entities/UserViewRun/sections/details.component.d.ts +11 -0
  1826. package/dist/lib/generated/Entities/UserViewRun/sections/details.component.d.ts.map +1 -0
  1827. package/dist/lib/generated/Entities/UserViewRun/sections/details.component.js +120 -0
  1828. package/dist/lib/generated/Entities/UserViewRun/sections/details.component.js.map +1 -0
  1829. package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.d.ts.map +1 -1
  1830. package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.js +11 -12
  1831. package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.js.map +1 -1
  1832. package/dist/lib/generated/Entities/UserViewRunDetail/sections/details.component.d.ts +11 -0
  1833. package/dist/lib/generated/Entities/UserViewRunDetail/sections/details.component.d.ts.map +1 -0
  1834. package/dist/lib/generated/Entities/UserViewRunDetail/sections/details.component.js +109 -0
  1835. package/dist/lib/generated/Entities/UserViewRunDetail/sections/details.component.js.map +1 -0
  1836. package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.d.ts.map +1 -1
  1837. package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.js +3 -3
  1838. package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.js.map +1 -1
  1839. package/dist/lib/generated/Entities/VectorDatabase/sections/details.component.d.ts +11 -0
  1840. package/dist/lib/generated/Entities/VectorDatabase/sections/details.component.d.ts.map +1 -0
  1841. package/dist/lib/generated/Entities/VectorDatabase/sections/details.component.js +107 -0
  1842. package/dist/lib/generated/Entities/VectorDatabase/sections/details.component.js.map +1 -0
  1843. package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.d.ts.map +1 -1
  1844. package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.js +17 -18
  1845. package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.js.map +1 -1
  1846. package/dist/lib/generated/Entities/VectorIndex/sections/details.component.d.ts +11 -0
  1847. package/dist/lib/generated/Entities/VectorIndex/sections/details.component.d.ts.map +1 -0
  1848. package/dist/lib/generated/Entities/VectorIndex/sections/details.component.js +129 -0
  1849. package/dist/lib/generated/Entities/VectorIndex/sections/details.component.js.map +1 -0
  1850. package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.d.ts.map +1 -1
  1851. package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.js +11 -12
  1852. package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.js.map +1 -1
  1853. package/dist/lib/generated/Entities/VersionInstallation/sections/details.component.d.ts +11 -0
  1854. package/dist/lib/generated/Entities/VersionInstallation/sections/details.component.d.ts.map +1 -0
  1855. package/dist/lib/generated/Entities/VersionInstallation/sections/details.component.js +152 -0
  1856. package/dist/lib/generated/Entities/VersionInstallation/sections/details.component.js.map +1 -0
  1857. package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.d.ts.map +1 -1
  1858. package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.js +3 -3
  1859. package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.js.map +1 -1
  1860. package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.d.ts +11 -0
  1861. package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.d.ts.map +1 -0
  1862. package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.js +167 -0
  1863. package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.js.map +1 -0
  1864. package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.d.ts +11 -0
  1865. package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.d.ts.map +1 -0
  1866. package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.js +73 -0
  1867. package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.js.map +1 -0
  1868. package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.d.ts +11 -0
  1869. package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.d.ts.map +1 -0
  1870. package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.js +85 -0
  1871. package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.js.map +1 -0
  1872. package/dist/lib/generated/Entities/Workflow/sections/details.component.d.ts +11 -0
  1873. package/dist/lib/generated/Entities/Workflow/sections/details.component.d.ts.map +1 -0
  1874. package/dist/lib/generated/Entities/Workflow/sections/details.component.js +154 -0
  1875. package/dist/lib/generated/Entities/Workflow/sections/details.component.js.map +1 -0
  1876. package/dist/lib/generated/Entities/Workflow/workflow.form.component.d.ts.map +1 -1
  1877. package/dist/lib/generated/Entities/Workflow/workflow.form.component.js +17 -18
  1878. package/dist/lib/generated/Entities/Workflow/workflow.form.component.js.map +1 -1
  1879. package/dist/lib/generated/Entities/WorkflowEngine/sections/details.component.d.ts +11 -0
  1880. package/dist/lib/generated/Entities/WorkflowEngine/sections/details.component.d.ts.map +1 -0
  1881. package/dist/lib/generated/Entities/WorkflowEngine/sections/details.component.js +107 -0
  1882. package/dist/lib/generated/Entities/WorkflowEngine/sections/details.component.js.map +1 -0
  1883. package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.d.ts.map +1 -1
  1884. package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.js +11 -12
  1885. package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.js.map +1 -1
  1886. package/dist/lib/generated/Entities/WorkflowRun/sections/details.component.d.ts +11 -0
  1887. package/dist/lib/generated/Entities/WorkflowRun/sections/details.component.d.ts.map +1 -0
  1888. package/dist/lib/generated/Entities/WorkflowRun/sections/details.component.js +145 -0
  1889. package/dist/lib/generated/Entities/WorkflowRun/sections/details.component.js.map +1 -0
  1890. package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.d.ts.map +1 -1
  1891. package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.js +3 -3
  1892. package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.js.map +1 -1
  1893. package/dist/lib/generated/Entities/Workspace/sections/details.component.d.ts +11 -0
  1894. package/dist/lib/generated/Entities/Workspace/sections/details.component.d.ts.map +1 -0
  1895. package/dist/lib/generated/Entities/Workspace/sections/details.component.js +109 -0
  1896. package/dist/lib/generated/Entities/Workspace/sections/details.component.js.map +1 -0
  1897. package/dist/lib/generated/Entities/Workspace/workspace.form.component.d.ts.map +1 -1
  1898. package/dist/lib/generated/Entities/Workspace/workspace.form.component.js +11 -12
  1899. package/dist/lib/generated/Entities/Workspace/workspace.form.component.js.map +1 -1
  1900. package/dist/lib/generated/Entities/WorkspaceItem/sections/details.component.d.ts +11 -0
  1901. package/dist/lib/generated/Entities/WorkspaceItem/sections/details.component.d.ts.map +1 -0
  1902. package/dist/lib/generated/Entities/WorkspaceItem/sections/details.component.js +156 -0
  1903. package/dist/lib/generated/Entities/WorkspaceItem/sections/details.component.js.map +1 -0
  1904. package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.d.ts.map +1 -1
  1905. package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.js +3 -3
  1906. package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.js.map +1 -1
  1907. package/dist/lib/generated/Entities/flyway_schema_history/flyway_schema_history.form.component.d.ts +11 -0
  1908. package/dist/lib/generated/Entities/flyway_schema_history/flyway_schema_history.form.component.d.ts.map +1 -0
  1909. package/dist/lib/generated/Entities/flyway_schema_history/flyway_schema_history.form.component.js +67 -0
  1910. package/dist/lib/generated/Entities/flyway_schema_history/flyway_schema_history.form.component.js.map +1 -0
  1911. package/dist/lib/generated/generated-forms.module.d.ts +92 -85
  1912. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  1913. package/dist/lib/generated/generated-forms.module.js +90 -62
  1914. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  1915. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  1916. package/dist/lib/shared/components/template-editor.component.js +167 -164
  1917. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  1918. package/dist/public-api.d.ts +0 -1
  1919. package/dist/public-api.d.ts.map +1 -1
  1920. package/dist/public-api.js +1 -1
  1921. package/dist/public-api.js.map +1 -1
  1922. package/package.json +54 -52
@@ -26,13 +26,13 @@ import * as i8 from "@progress/kendo-angular-buttons";
26
26
  import * as i9 from "./entity-link-pill.component";
27
27
  const _c0 = () => [1, 2, 3, 4, 5];
28
28
  const _c1 = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
29
- function TestSuiteRunFormComponentExtended_li_9_Template(rf, ctx) { if (rf & 1) {
29
+ function TestSuiteRunFormComponentExtended_Conditional_9_Template(rf, ctx) { if (rf & 1) {
30
30
  const _r1 = i0.ɵɵgetCurrentView();
31
31
  i0.ɵɵelementStart(0, "li");
32
- i0.ɵɵelement(1, "i", 8);
32
+ i0.ɵɵelement(1, "i", 7);
33
33
  i0.ɵɵelementStart(2, "a", 3);
34
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_li_9_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openTestSuite()); });
35
- i0.ɵɵelement(3, "i", 67);
34
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_9_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openTestSuite()); });
35
+ i0.ɵɵelement(3, "i", 66);
36
36
  i0.ɵɵelementStart(4, "span", 5);
37
37
  i0.ɵɵtext(5);
38
38
  i0.ɵɵelementEnd()()();
@@ -41,9 +41,9 @@ function TestSuiteRunFormComponentExtended_li_9_Template(rf, ctx) { if (rf & 1)
41
41
  i0.ɵɵadvance(5);
42
42
  i0.ɵɵtextInterpolate(ctx_r1.testSuite.Name);
43
43
  } }
44
- function TestSuiteRunFormComponentExtended_span_25_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵelementStart(0, "span", 68);
46
- i0.ɵɵelement(1, "i", 69);
44
+ function TestSuiteRunFormComponentExtended_Conditional_25_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelementStart(0, "span", 15);
46
+ i0.ɵɵelement(1, "i", 67);
47
47
  i0.ɵɵtext(2);
48
48
  i0.ɵɵelementEnd();
49
49
  } if (rf & 2) {
@@ -51,9 +51,9 @@ function TestSuiteRunFormComponentExtended_span_25_Template(rf, ctx) { if (rf &
51
51
  i0.ɵɵadvance(2);
52
52
  i0.ɵɵtextInterpolate1(" ", ctx_r1.record.Environment, " ");
53
53
  } }
54
- function TestSuiteRunFormComponentExtended_span_26_Template(rf, ctx) { if (rf & 1) {
55
- i0.ɵɵelementStart(0, "span", 70);
56
- i0.ɵɵelement(1, "i", 71);
54
+ function TestSuiteRunFormComponentExtended_Conditional_26_Template(rf, ctx) { if (rf & 1) {
55
+ i0.ɵɵelementStart(0, "span", 16);
56
+ i0.ɵɵelement(1, "i", 68);
57
57
  i0.ɵɵtext(2);
58
58
  i0.ɵɵelementEnd();
59
59
  } if (rf & 2) {
@@ -61,16 +61,16 @@ function TestSuiteRunFormComponentExtended_span_26_Template(rf, ctx) { if (rf &
61
61
  i0.ɵɵadvance(2);
62
62
  i0.ɵɵtextInterpolate1(" ", ctx_r1.record.TriggerType, " ");
63
63
  } }
64
- function TestSuiteRunFormComponentExtended_button_29_Template(rf, ctx) { if (rf & 1) {
64
+ function TestSuiteRunFormComponentExtended_Conditional_29_Template(rf, ctx) { if (rf & 1) {
65
65
  const _r3 = i0.ɵɵgetCurrentView();
66
- i0.ɵɵelementStart(0, "button", 72);
67
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_button_29_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.reRunSuite()); });
68
- i0.ɵɵelement(1, "i", 73);
66
+ i0.ɵɵelementStart(0, "button", 69);
67
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_29_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.reRunSuite()); });
68
+ i0.ɵɵelement(1, "i", 70);
69
69
  i0.ɵɵtext(2, " Re-run Suite ");
70
70
  i0.ɵɵelementEnd();
71
71
  } }
72
- function TestSuiteRunFormComponentExtended_div_107_div_4_span_1_Template(rf, ctx) { if (rf & 1) {
73
- i0.ɵɵelementStart(0, "span", 84);
72
+ function TestSuiteRunFormComponentExtended_Conditional_107_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
73
+ i0.ɵɵelementStart(0, "span", 78);
74
74
  i0.ɵɵtext(1);
75
75
  i0.ɵɵelementEnd();
76
76
  } if (rf & 2) {
@@ -78,91 +78,93 @@ function TestSuiteRunFormComponentExtended_div_107_div_4_span_1_Template(rf, ctx
78
78
  i0.ɵɵadvance();
79
79
  i0.ɵɵtextInterpolate(tag_r5);
80
80
  } }
81
- function TestSuiteRunFormComponentExtended_div_107_div_4_Template(rf, ctx) { if (rf & 1) {
82
- i0.ɵɵelementStart(0, "div", 82);
83
- i0.ɵɵtemplate(1, TestSuiteRunFormComponentExtended_div_107_div_4_span_1_Template, 2, 1, "span", 83);
81
+ function TestSuiteRunFormComponentExtended_Conditional_107_Conditional_4_Template(rf, ctx) { if (rf & 1) {
82
+ i0.ɵɵelementStart(0, "div", 74);
83
+ i0.ɵɵrepeaterCreate(1, TestSuiteRunFormComponentExtended_Conditional_107_Conditional_4_For_2_Template, 2, 1, "span", 78, i0.ɵɵrepeaterTrackByIdentity);
84
84
  i0.ɵɵelementEnd();
85
85
  } if (rf & 2) {
86
86
  const ctx_r1 = i0.ɵɵnextContext(2);
87
87
  i0.ɵɵadvance();
88
- i0.ɵɵproperty("ngForOf", ctx_r1.tags);
88
+ i0.ɵɵrepeater(ctx_r1.tags);
89
89
  } }
90
- function TestSuiteRunFormComponentExtended_div_107_span_5_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵelementStart(0, "span", 85);
90
+ function TestSuiteRunFormComponentExtended_Conditional_107_Conditional_5_Template(rf, ctx) { if (rf & 1) {
91
+ i0.ɵɵelementStart(0, "span", 75);
92
92
  i0.ɵɵtext(1, "No tags");
93
93
  i0.ɵɵelementEnd();
94
94
  } }
95
- function TestSuiteRunFormComponentExtended_div_107_Template(rf, ctx) { if (rf & 1) {
95
+ function TestSuiteRunFormComponentExtended_Conditional_107_Template(rf, ctx) { if (rf & 1) {
96
96
  const _r4 = i0.ɵɵgetCurrentView();
97
- i0.ɵɵelementStart(0, "div", 74)(1, "div", 75)(2, "span", 76);
98
- i0.ɵɵelement(3, "i", 77);
99
- i0.ɵɵelementEnd();
100
- i0.ɵɵtemplate(4, TestSuiteRunFormComponentExtended_div_107_div_4_Template, 2, 1, "div", 78)(5, TestSuiteRunFormComponentExtended_div_107_span_5_Template, 2, 0, "span", 79);
101
- i0.ɵɵelementStart(6, "button", 80);
102
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_107_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.startEditingTags()); });
103
- i0.ɵɵelement(7, "i", 81);
97
+ i0.ɵɵelementStart(0, "div", 45)(1, "div", 71)(2, "span", 72);
98
+ i0.ɵɵelement(3, "i", 73);
99
+ i0.ɵɵelementEnd();
100
+ i0.ɵɵconditionalCreate(4, TestSuiteRunFormComponentExtended_Conditional_107_Conditional_4_Template, 3, 0, "div", 74);
101
+ i0.ɵɵconditionalCreate(5, TestSuiteRunFormComponentExtended_Conditional_107_Conditional_5_Template, 2, 0, "span", 75);
102
+ i0.ɵɵelementStart(6, "button", 76);
103
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_107_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.startEditingTags()); });
104
+ i0.ɵɵelement(7, "i", 77);
104
105
  i0.ɵɵtext(8, " Add ");
105
106
  i0.ɵɵelementEnd()()();
106
107
  } if (rf & 2) {
107
108
  const ctx_r1 = i0.ɵɵnextContext();
108
109
  i0.ɵɵadvance(4);
109
- i0.ɵɵproperty("ngIf", ctx_r1.tags.length > 0);
110
+ i0.ɵɵconditional(ctx_r1.tags.length > 0 ? 4 : -1);
110
111
  i0.ɵɵadvance();
111
- i0.ɵɵproperty("ngIf", ctx_r1.tags.length === 0);
112
+ i0.ɵɵconditional(ctx_r1.tags.length === 0 ? 5 : -1);
112
113
  } }
113
- function TestSuiteRunFormComponentExtended_div_108_span_7_Template(rf, ctx) { if (rf & 1) {
114
+ function TestSuiteRunFormComponentExtended_Conditional_108_For_8_Template(rf, ctx) { if (rf & 1) {
114
115
  const _r7 = i0.ɵɵgetCurrentView();
115
- i0.ɵɵelementStart(0, "span", 100);
116
+ i0.ɵɵelementStart(0, "span", 83);
116
117
  i0.ɵɵtext(1);
117
- i0.ɵɵelementStart(2, "button", 101);
118
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_108_span_7_Template_button_click_2_listener() { const tag_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.removeTag(tag_r8)); });
119
- i0.ɵɵelement(3, "i", 102);
118
+ i0.ɵɵelementStart(2, "button", 92);
119
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_108_For_8_Template_button_click_2_listener() { const tag_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.removeTag(tag_r8)); });
120
+ i0.ɵɵelement(3, "i", 93);
120
121
  i0.ɵɵelementEnd()();
121
122
  } if (rf & 2) {
122
123
  const tag_r8 = ctx.$implicit;
123
124
  i0.ɵɵadvance();
124
125
  i0.ɵɵtextInterpolate1(" ", tag_r8, " ");
125
126
  } }
126
- function TestSuiteRunFormComponentExtended_div_108_span_8_Template(rf, ctx) { if (rf & 1) {
127
- i0.ɵɵelementStart(0, "span", 103);
127
+ function TestSuiteRunFormComponentExtended_Conditional_108_Conditional_9_Template(rf, ctx) { if (rf & 1) {
128
+ i0.ɵɵelementStart(0, "span", 84);
128
129
  i0.ɵɵtext(1, "No tags yet");
129
130
  i0.ɵɵelementEnd();
130
131
  } }
131
- function TestSuiteRunFormComponentExtended_div_108_i_15_Template(rf, ctx) { if (rf & 1) {
132
- i0.ɵɵelement(0, "i", 104);
132
+ function TestSuiteRunFormComponentExtended_Conditional_108_Conditional_16_Template(rf, ctx) { if (rf & 1) {
133
+ i0.ɵɵelement(0, "i", 90);
133
134
  } }
134
- function TestSuiteRunFormComponentExtended_div_108_Template(rf, ctx) { if (rf & 1) {
135
+ function TestSuiteRunFormComponentExtended_Conditional_108_Template(rf, ctx) { if (rf & 1) {
135
136
  const _r6 = i0.ɵɵgetCurrentView();
136
- i0.ɵɵelementStart(0, "div", 86)(1, "div", 87)(2, "span", 88);
137
- i0.ɵɵelement(3, "i", 77);
137
+ i0.ɵɵelementStart(0, "div", 46)(1, "div", 79)(2, "span", 80);
138
+ i0.ɵɵelement(3, "i", 73);
138
139
  i0.ɵɵtext(4, " Edit Tags");
139
140
  i0.ɵɵelementEnd()();
140
- i0.ɵɵelementStart(5, "div", 89)(6, "div", 90);
141
- i0.ɵɵtemplate(7, TestSuiteRunFormComponentExtended_div_108_span_7_Template, 4, 1, "span", 91)(8, TestSuiteRunFormComponentExtended_div_108_span_8_Template, 2, 0, "span", 92);
141
+ i0.ɵɵelementStart(5, "div", 81)(6, "div", 82);
142
+ i0.ɵɵrepeaterCreate(7, TestSuiteRunFormComponentExtended_Conditional_108_For_8_Template, 4, 1, "span", 83, i0.ɵɵrepeaterTrackByIdentity);
143
+ i0.ɵɵconditionalCreate(9, TestSuiteRunFormComponentExtended_Conditional_108_Conditional_9_Template, 2, 0, "span", 84);
142
144
  i0.ɵɵelementEnd();
143
- i0.ɵɵelementStart(9, "div", 93)(10, "input", 94);
144
- i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_div_108_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.newTag, $event) || (ctx_r1.newTag = $event); return i0.ɵɵresetView($event); });
145
- i0.ɵɵlistener("keyup.enter", function TestSuiteRunFormComponentExtended_div_108_Template_input_keyup_enter_10_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.addTag()); });
145
+ i0.ɵɵelementStart(10, "div", 85)(11, "input", 86);
146
+ i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_Conditional_108_Template_input_ngModelChange_11_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.newTag, $event) || (ctx_r1.newTag = $event); return i0.ɵɵresetView($event); });
147
+ i0.ɵɵlistener("keyup.enter", function TestSuiteRunFormComponentExtended_Conditional_108_Template_input_keyup_enter_11_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.addTag()); });
146
148
  i0.ɵɵelementEnd();
147
- i0.ɵɵelementStart(11, "button", 95);
148
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_108_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.addTag()); });
149
- i0.ɵɵelement(12, "i", 81);
149
+ i0.ɵɵelementStart(12, "button", 87);
150
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_108_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.addTag()); });
151
+ i0.ɵɵelement(13, "i", 77);
150
152
  i0.ɵɵelementEnd()()();
151
- i0.ɵɵelementStart(13, "div", 96)(14, "button", 97);
152
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_108_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveTags()); });
153
- i0.ɵɵtemplate(15, TestSuiteRunFormComponentExtended_div_108_i_15_Template, 1, 0, "i", 98);
154
- i0.ɵɵtext(16);
155
- i0.ɵɵelementEnd();
156
- i0.ɵɵelementStart(17, "button", 99);
157
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_108_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelEditingTags()); });
158
- i0.ɵɵtext(18, "Cancel");
153
+ i0.ɵɵelementStart(14, "div", 88)(15, "button", 89);
154
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_108_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveTags()); });
155
+ i0.ɵɵconditionalCreate(16, TestSuiteRunFormComponentExtended_Conditional_108_Conditional_16_Template, 1, 0, "i", 90);
156
+ i0.ɵɵtext(17);
157
+ i0.ɵɵelementEnd();
158
+ i0.ɵɵelementStart(18, "button", 91);
159
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_108_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelEditingTags()); });
160
+ i0.ɵɵtext(19, "Cancel");
159
161
  i0.ɵɵelementEnd()()();
160
162
  } if (rf & 2) {
161
163
  const ctx_r1 = i0.ɵɵnextContext();
162
164
  i0.ɵɵadvance(7);
163
- i0.ɵɵproperty("ngForOf", ctx_r1.tags);
164
- i0.ɵɵadvance();
165
- i0.ɵɵproperty("ngIf", ctx_r1.tags.length === 0);
165
+ i0.ɵɵrepeater(ctx_r1.tags);
166
+ i0.ɵɵadvance(2);
167
+ i0.ɵɵconditional(ctx_r1.tags.length === 0 ? 9 : -1);
166
168
  i0.ɵɵadvance(2);
167
169
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.newTag);
168
170
  i0.ɵɵadvance();
@@ -170,12 +172,12 @@ function TestSuiteRunFormComponentExtended_div_108_Template(rf, ctx) { if (rf &
170
172
  i0.ɵɵadvance(3);
171
173
  i0.ɵɵproperty("disabled", ctx_r1.savingTags);
172
174
  i0.ɵɵadvance();
173
- i0.ɵɵproperty("ngIf", ctx_r1.savingTags);
175
+ i0.ɵɵconditional(ctx_r1.savingTags ? 16 : -1);
174
176
  i0.ɵɵadvance();
175
177
  i0.ɵɵtextInterpolate1(" ", ctx_r1.savingTags ? "Saving..." : "Save", " ");
176
178
  } }
177
- function TestSuiteRunFormComponentExtended_span_117_Template(rf, ctx) { if (rf & 1) {
178
- i0.ɵɵelementStart(0, "span", 105);
179
+ function TestSuiteRunFormComponentExtended_Conditional_117_Template(rf, ctx) { if (rf & 1) {
180
+ i0.ɵɵelementStart(0, "span", 51);
179
181
  i0.ɵɵtext(1);
180
182
  i0.ɵɵelementEnd();
181
183
  } if (rf & 2) {
@@ -183,11 +185,11 @@ function TestSuiteRunFormComponentExtended_span_117_Template(rf, ctx) { if (rf &
183
185
  i0.ɵɵadvance();
184
186
  i0.ɵɵtextInterpolate(ctx_r1.testRuns.length);
185
187
  } }
186
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_11_Template(rf, ctx) { if (rf & 1) {
187
- i0.ɵɵelementStart(0, "div", 125)(1, "span", 126);
188
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
189
+ i0.ɵɵelementStart(0, "div", 110)(1, "span", 111);
188
190
  i0.ɵɵtext(2, "Avg Rating");
189
191
  i0.ɵɵelementEnd();
190
- i0.ɵɵelementStart(3, "span", 127);
192
+ i0.ɵɵelementStart(3, "span", 112);
191
193
  i0.ɵɵtext(4);
192
194
  i0.ɵɵelementEnd()();
193
195
  } if (rf & 2) {
@@ -195,8 +197,8 @@ function TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_11_Template(
195
197
  i0.ɵɵadvance(4);
196
198
  i0.ɵɵtextInterpolate1("", ctx_r1.evaluationMetrics.humanAvgRating.toFixed(1), "/10");
197
199
  } }
198
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_12_span_5_Template(rf, ctx) { if (rf & 1) {
199
- i0.ɵɵelementStart(0, "span", 132);
200
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Conditional_12_Conditional_5_Template(rf, ctx) { if (rf & 1) {
201
+ i0.ɵɵelementStart(0, "span", 115);
200
202
  i0.ɵɵtext(1);
201
203
  i0.ɵɵelementEnd();
202
204
  } if (rf & 2) {
@@ -204,25 +206,25 @@ function TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_12_span_5_Te
204
206
  i0.ɵɵadvance();
205
207
  i0.ɵɵtextInterpolate1("", ctx_r1.evaluationMetrics.humanIncorrectCount, " incorrect");
206
208
  } }
207
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_12_Template(rf, ctx) { if (rf & 1) {
208
- i0.ɵɵelementStart(0, "div", 125)(1, "span", 126);
209
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Conditional_12_Template(rf, ctx) { if (rf & 1) {
210
+ i0.ɵɵelementStart(0, "div", 110)(1, "span", 111);
209
211
  i0.ɵɵtext(2, "Correct");
210
212
  i0.ɵɵelementEnd();
211
- i0.ɵɵelementStart(3, "span", 130);
213
+ i0.ɵɵelementStart(3, "span", 114);
212
214
  i0.ɵɵtext(4);
213
215
  i0.ɵɵelementEnd();
214
- i0.ɵɵtemplate(5, TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_12_span_5_Template, 2, 1, "span", 131);
216
+ i0.ɵɵconditionalCreate(5, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Conditional_12_Conditional_5_Template, 2, 1, "span", 115);
215
217
  i0.ɵɵelementEnd();
216
218
  } if (rf & 2) {
217
219
  const ctx_r1 = i0.ɵɵnextContext(4);
218
220
  i0.ɵɵadvance(4);
219
221
  i0.ɵɵtextInterpolate(ctx_r1.evaluationMetrics.humanCorrectCount);
220
222
  i0.ɵɵadvance();
221
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.humanIncorrectCount > 0);
223
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.humanIncorrectCount > 0 ? 5 : -1);
222
224
  } }
223
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_13_Template(rf, ctx) { if (rf & 1) {
224
- i0.ɵɵelementStart(0, "div", 133)(1, "span", 134);
225
- i0.ɵɵelement(2, "i", 135);
225
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
226
+ i0.ɵɵelementStart(0, "div", 113)(1, "span", 116);
227
+ i0.ɵɵelement(2, "i", 117);
226
228
  i0.ɵɵtext(3);
227
229
  i0.ɵɵelementEnd()();
228
230
  } if (rf & 2) {
@@ -230,38 +232,39 @@ function TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_13_Template(
230
232
  i0.ɵɵadvance(3);
231
233
  i0.ɵɵtextInterpolate1(" ", ctx_r1.evaluationMetrics.humanPendingCount, " need review ");
232
234
  } }
233
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_2_Template(rf, ctx) { if (rf & 1) {
234
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 122);
235
- i0.ɵɵelement(2, "i", 123);
235
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Template(rf, ctx) { if (rf & 1) {
236
+ i0.ɵɵelementStart(0, "div", 106)(1, "div", 107);
237
+ i0.ɵɵelement(2, "i", 108);
236
238
  i0.ɵɵelementStart(3, "span");
237
239
  i0.ɵɵtext(4, "Human Feedback");
238
240
  i0.ɵɵelementEnd()();
239
- i0.ɵɵelementStart(5, "div", 124)(6, "div", 125)(7, "span", 126);
241
+ i0.ɵɵelementStart(5, "div", 109)(6, "div", 110)(7, "span", 111);
240
242
  i0.ɵɵtext(8, "Reviewed");
241
243
  i0.ɵɵelementEnd();
242
- i0.ɵɵelementStart(9, "span", 127);
244
+ i0.ɵɵelementStart(9, "span", 112);
243
245
  i0.ɵɵtext(10);
244
246
  i0.ɵɵelementEnd()();
245
- i0.ɵɵtemplate(11, TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_11_Template, 5, 1, "div", 128)(12, TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_12_Template, 6, 2, "div", 128);
247
+ i0.ɵɵconditionalCreate(11, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Conditional_11_Template, 5, 1, "div", 110);
248
+ i0.ɵɵconditionalCreate(12, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Conditional_12_Template, 6, 2, "div", 110);
246
249
  i0.ɵɵelementEnd();
247
- i0.ɵɵtemplate(13, TestSuiteRunFormComponentExtended_div_129_div_19_div_2_div_13_Template, 4, 1, "div", 129);
250
+ i0.ɵɵconditionalCreate(13, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Conditional_13_Template, 4, 1, "div", 113);
248
251
  i0.ɵɵelementEnd();
249
252
  } if (rf & 2) {
250
253
  const ctx_r1 = i0.ɵɵnextContext(3);
251
254
  i0.ɵɵadvance(10);
252
- i0.ɵɵtextInterpolate2("", ctx_r1.evaluationMetrics.humanReviewedCount, " / ", ctx_r1.evaluationMetrics.totalRuns, "");
255
+ i0.ɵɵtextInterpolate2("", ctx_r1.evaluationMetrics.humanReviewedCount, " / ", ctx_r1.evaluationMetrics.totalRuns);
253
256
  i0.ɵɵadvance();
254
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.humanReviewedCount > 0);
257
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.humanReviewedCount > 0 ? 11 : -1);
255
258
  i0.ɵɵadvance();
256
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.humanReviewedCount > 0);
259
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.humanReviewedCount > 0 ? 12 : -1);
257
260
  i0.ɵɵadvance();
258
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.humanPendingCount > 0);
261
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.humanPendingCount > 0 ? 13 : -1);
259
262
  } }
260
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_3_div_11_Template(rf, ctx) { if (rf & 1) {
261
- i0.ɵɵelementStart(0, "div", 125)(1, "span", 126);
263
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_3_Conditional_11_Template(rf, ctx) { if (rf & 1) {
264
+ i0.ɵɵelementStart(0, "div", 110)(1, "span", 111);
262
265
  i0.ɵɵtext(2, "Avg Score");
263
266
  i0.ɵɵelementEnd();
264
- i0.ɵɵelementStart(3, "span", 127);
267
+ i0.ɵɵelementStart(3, "span", 112);
265
268
  i0.ɵɵtext(4);
266
269
  i0.ɵɵelementEnd()();
267
270
  } if (rf & 2) {
@@ -269,11 +272,11 @@ function TestSuiteRunFormComponentExtended_div_129_div_19_div_3_div_11_Template(
269
272
  i0.ɵɵadvance(4);
270
273
  i0.ɵɵtextInterpolate1("", (ctx_r1.evaluationMetrics.autoAvgScore * 100).toFixed(0), "%");
271
274
  } }
272
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_3_div_12_Template(rf, ctx) { if (rf & 1) {
273
- i0.ɵɵelementStart(0, "div", 125)(1, "span", 126);
275
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_3_Conditional_12_Template(rf, ctx) { if (rf & 1) {
276
+ i0.ɵɵelementStart(0, "div", 110)(1, "span", 111);
274
277
  i0.ɵɵtext(2, "Pass Rate");
275
278
  i0.ɵɵelementEnd();
276
- i0.ɵɵelementStart(3, "span", 127);
279
+ i0.ɵɵelementStart(3, "span", 112);
277
280
  i0.ɵɵtext(4);
278
281
  i0.ɵɵelementEnd()();
279
282
  } if (rf & 2) {
@@ -281,31 +284,32 @@ function TestSuiteRunFormComponentExtended_div_129_div_19_div_3_div_12_Template(
281
284
  i0.ɵɵadvance(4);
282
285
  i0.ɵɵtextInterpolate1("", ctx_r1.evaluationMetrics.autoPassRate.toFixed(0), "%");
283
286
  } }
284
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_3_Template(rf, ctx) { if (rf & 1) {
285
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 122);
286
- i0.ɵɵelement(2, "i", 136);
287
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_3_Template(rf, ctx) { if (rf & 1) {
288
+ i0.ɵɵelementStart(0, "div", 106)(1, "div", 107);
289
+ i0.ɵɵelement(2, "i", 118);
287
290
  i0.ɵɵelementStart(3, "span");
288
291
  i0.ɵɵtext(4, "Auto Evaluation");
289
292
  i0.ɵɵelementEnd()();
290
- i0.ɵɵelementStart(5, "div", 124)(6, "div", 125)(7, "span", 126);
293
+ i0.ɵɵelementStart(5, "div", 109)(6, "div", 110)(7, "span", 111);
291
294
  i0.ɵɵtext(8, "Evaluated");
292
295
  i0.ɵɵelementEnd();
293
- i0.ɵɵelementStart(9, "span", 127);
296
+ i0.ɵɵelementStart(9, "span", 112);
294
297
  i0.ɵɵtext(10);
295
298
  i0.ɵɵelementEnd()();
296
- i0.ɵɵtemplate(11, TestSuiteRunFormComponentExtended_div_129_div_19_div_3_div_11_Template, 5, 1, "div", 128)(12, TestSuiteRunFormComponentExtended_div_129_div_19_div_3_div_12_Template, 5, 1, "div", 128);
299
+ i0.ɵɵconditionalCreate(11, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_3_Conditional_11_Template, 5, 1, "div", 110);
300
+ i0.ɵɵconditionalCreate(12, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_3_Conditional_12_Template, 5, 1, "div", 110);
297
301
  i0.ɵɵelementEnd()();
298
302
  } if (rf & 2) {
299
303
  const ctx_r1 = i0.ɵɵnextContext(3);
300
304
  i0.ɵɵadvance(10);
301
- i0.ɵɵtextInterpolate2("", ctx_r1.evaluationMetrics.autoEvaluatedCount, " / ", ctx_r1.evaluationMetrics.totalRuns, "");
305
+ i0.ɵɵtextInterpolate2("", ctx_r1.evaluationMetrics.autoEvaluatedCount, " / ", ctx_r1.evaluationMetrics.totalRuns);
302
306
  i0.ɵɵadvance();
303
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.autoEvaluatedCount > 0);
307
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.autoEvaluatedCount > 0 ? 11 : -1);
304
308
  i0.ɵɵadvance();
305
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.autoEvaluatedCount > 0);
309
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.autoEvaluatedCount > 0 ? 12 : -1);
306
310
  } }
307
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_4_div_16_span_3_Template(rf, ctx) { if (rf & 1) {
308
- i0.ɵɵelementStart(0, "span", 140);
311
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_4_Conditional_16_Conditional_3_Template(rf, ctx) { if (rf & 1) {
312
+ i0.ɵɵelementStart(0, "span", 120);
309
313
  i0.ɵɵtext(1);
310
314
  i0.ɵɵelementEnd();
311
315
  } if (rf & 2) {
@@ -313,8 +317,8 @@ function TestSuiteRunFormComponentExtended_div_129_div_19_div_4_div_16_span_3_Te
313
317
  i0.ɵɵadvance();
314
318
  i0.ɵɵtextInterpolate1("", ctx_r1.evaluationMetrics.execErrorCount, " errors");
315
319
  } }
316
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_4_div_16_span_4_Template(rf, ctx) { if (rf & 1) {
317
- i0.ɵɵelementStart(0, "span", 141);
320
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_4_Conditional_16_Conditional_4_Template(rf, ctx) { if (rf & 1) {
321
+ i0.ɵɵelementStart(0, "span", 121);
318
322
  i0.ɵɵtext(1);
319
323
  i0.ɵɵelementEnd();
320
324
  } if (rf & 2) {
@@ -322,104 +326,109 @@ function TestSuiteRunFormComponentExtended_div_129_div_19_div_4_div_16_span_4_Te
322
326
  i0.ɵɵadvance();
323
327
  i0.ɵɵtextInterpolate1("", ctx_r1.evaluationMetrics.execTimeoutCount, " timeouts");
324
328
  } }
325
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_4_div_16_Template(rf, ctx) { if (rf & 1) {
326
- i0.ɵɵelementStart(0, "div", 125)(1, "span", 126);
329
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_4_Conditional_16_Template(rf, ctx) { if (rf & 1) {
330
+ i0.ɵɵelementStart(0, "div", 110)(1, "span", 111);
327
331
  i0.ɵɵtext(2, "Issues");
328
332
  i0.ɵɵelementEnd();
329
- i0.ɵɵtemplate(3, TestSuiteRunFormComponentExtended_div_129_div_19_div_4_div_16_span_3_Template, 2, 1, "span", 138)(4, TestSuiteRunFormComponentExtended_div_129_div_19_div_4_div_16_span_4_Template, 2, 1, "span", 139);
333
+ i0.ɵɵconditionalCreate(3, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_4_Conditional_16_Conditional_3_Template, 2, 1, "span", 120);
334
+ i0.ɵɵconditionalCreate(4, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_4_Conditional_16_Conditional_4_Template, 2, 1, "span", 121);
330
335
  i0.ɵɵelementEnd();
331
336
  } if (rf & 2) {
332
337
  const ctx_r1 = i0.ɵɵnextContext(4);
333
338
  i0.ɵɵadvance(3);
334
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.execErrorCount > 0);
339
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.execErrorCount > 0 ? 3 : -1);
335
340
  i0.ɵɵadvance();
336
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.execTimeoutCount > 0);
341
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.execTimeoutCount > 0 ? 4 : -1);
337
342
  } }
338
- function TestSuiteRunFormComponentExtended_div_129_div_19_div_4_Template(rf, ctx) { if (rf & 1) {
339
- i0.ɵɵelementStart(0, "div", 121)(1, "div", 122);
340
- i0.ɵɵelement(2, "i", 137);
343
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_4_Template(rf, ctx) { if (rf & 1) {
344
+ i0.ɵɵelementStart(0, "div", 106)(1, "div", 107);
345
+ i0.ɵɵelement(2, "i", 119);
341
346
  i0.ɵɵelementStart(3, "span");
342
347
  i0.ɵɵtext(4, "Execution");
343
348
  i0.ɵɵelementEnd()();
344
- i0.ɵɵelementStart(5, "div", 124)(6, "div", 125)(7, "span", 126);
349
+ i0.ɵɵelementStart(5, "div", 109)(6, "div", 110)(7, "span", 111);
345
350
  i0.ɵɵtext(8, "Completed");
346
351
  i0.ɵɵelementEnd();
347
- i0.ɵɵelementStart(9, "span", 127);
352
+ i0.ɵɵelementStart(9, "span", 112);
348
353
  i0.ɵɵtext(10);
349
354
  i0.ɵɵelementEnd()();
350
- i0.ɵɵelementStart(11, "div", 125)(12, "span", 126);
355
+ i0.ɵɵelementStart(11, "div", 110)(12, "span", 111);
351
356
  i0.ɵɵtext(13, "Success Rate");
352
357
  i0.ɵɵelementEnd();
353
- i0.ɵɵelementStart(14, "span", 127);
358
+ i0.ɵɵelementStart(14, "span", 112);
354
359
  i0.ɵɵtext(15);
355
360
  i0.ɵɵelementEnd()();
356
- i0.ɵɵtemplate(16, TestSuiteRunFormComponentExtended_div_129_div_19_div_4_div_16_Template, 5, 2, "div", 128);
361
+ i0.ɵɵconditionalCreate(16, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_4_Conditional_16_Template, 5, 2, "div", 110);
357
362
  i0.ɵɵelementEnd()();
358
363
  } if (rf & 2) {
359
364
  const ctx_r1 = i0.ɵɵnextContext(3);
360
365
  i0.ɵɵadvance(10);
361
- i0.ɵɵtextInterpolate2("", ctx_r1.evaluationMetrics.execCompletedCount, " / ", ctx_r1.evaluationMetrics.totalRuns, "");
366
+ i0.ɵɵtextInterpolate2("", ctx_r1.evaluationMetrics.execCompletedCount, " / ", ctx_r1.evaluationMetrics.totalRuns);
362
367
  i0.ɵɵadvance(5);
363
368
  i0.ɵɵtextInterpolate1("", ctx_r1.evaluationMetrics.execSuccessRate.toFixed(0), "%");
364
369
  i0.ɵɵadvance();
365
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics.execErrorCount > 0 || ctx_r1.evaluationMetrics.execTimeoutCount > 0);
370
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics.execErrorCount > 0 || ctx_r1.evaluationMetrics.execTimeoutCount > 0 ? 16 : -1);
366
371
  } }
367
- function TestSuiteRunFormComponentExtended_div_129_div_19_Template(rf, ctx) { if (rf & 1) {
368
- i0.ɵɵelementStart(0, "div", 118)(1, "div", 119);
369
- i0.ɵɵtemplate(2, TestSuiteRunFormComponentExtended_div_129_div_19_div_2_Template, 14, 5, "div", 120)(3, TestSuiteRunFormComponentExtended_div_129_div_19_div_3_Template, 13, 4, "div", 120)(4, TestSuiteRunFormComponentExtended_div_129_div_19_div_4_Template, 17, 4, "div", 120);
372
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Template(rf, ctx) { if (rf & 1) {
373
+ i0.ɵɵelementStart(0, "div", 102)(1, "div", 105);
374
+ i0.ɵɵconditionalCreate(2, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_2_Template, 14, 5, "div", 106);
375
+ i0.ɵɵconditionalCreate(3, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_3_Template, 13, 4, "div", 106);
376
+ i0.ɵɵconditionalCreate(4, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Conditional_4_Template, 17, 4, "div", 106);
370
377
  i0.ɵɵelementEnd()();
371
378
  } if (rf & 2) {
372
379
  const ctx_r1 = i0.ɵɵnextContext(2);
373
380
  i0.ɵɵadvance(2);
374
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showHuman);
381
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showHuman ? 2 : -1);
375
382
  i0.ɵɵadvance();
376
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showAuto);
383
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showAuto ? 3 : -1);
377
384
  i0.ɵɵadvance();
378
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showExecution);
385
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showExecution ? 4 : -1);
379
386
  } }
380
- function TestSuiteRunFormComponentExtended_div_129_div_20_div_8_i_2_Template(rf, ctx) { if (rf & 1) {
381
- i0.ɵɵelement(0, "i", 159);
387
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
388
+ i0.ɵɵelement(0, "i", 130);
382
389
  } }
383
- function TestSuiteRunFormComponentExtended_div_129_div_20_div_8_i_3_Template(rf, ctx) { if (rf & 1) {
384
- i0.ɵɵelement(0, "i", 160);
390
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
391
+ i0.ɵɵelement(0, "i", 131);
385
392
  } }
386
- function TestSuiteRunFormComponentExtended_div_129_div_20_div_8_i_4_Template(rf, ctx) { if (rf & 1) {
387
- i0.ɵɵelement(0, "i", 135);
393
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Conditional_4_Template(rf, ctx) { if (rf & 1) {
394
+ i0.ɵɵelement(0, "i", 117);
388
395
  } }
389
- function TestSuiteRunFormComponentExtended_div_129_div_20_div_8_Template(rf, ctx) { if (rf & 1) {
396
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Template(rf, ctx) { if (rf & 1) {
390
397
  const _r9 = i0.ɵɵgetCurrentView();
391
- i0.ɵɵelementStart(0, "div", 149);
392
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_129_div_20_div_8_Template_div_click_0_listener() { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleRunExpanded(item_r10.run.id)); });
393
- i0.ɵɵelementStart(1, "div", 150);
394
- i0.ɵɵtemplate(2, TestSuiteRunFormComponentExtended_div_129_div_20_div_8_i_2_Template, 1, 0, "i", 151)(3, TestSuiteRunFormComponentExtended_div_129_div_20_div_8_i_3_Template, 1, 0, "i", 152)(4, TestSuiteRunFormComponentExtended_div_129_div_20_div_8_i_4_Template, 1, 0, "i", 153);
395
- i0.ɵɵelementEnd();
396
- i0.ɵɵelementStart(5, "div", 154)(6, "span", 155);
398
+ i0.ɵɵelementStart(0, "div", 128);
399
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Template_div_click_0_listener() { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleRunExpanded(item_r10.run.id)); });
400
+ i0.ɵɵelementStart(1, "div", 129);
401
+ i0.ɵɵconditionalCreate(2, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Conditional_2_Template, 1, 0, "i", 130);
402
+ i0.ɵɵconditionalCreate(3, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Conditional_3_Template, 1, 0, "i", 131);
403
+ i0.ɵɵconditionalCreate(4, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Conditional_4_Template, 1, 0, "i", 117);
404
+ i0.ɵɵelementEnd();
405
+ i0.ɵɵelementStart(5, "div", 132)(6, "span", 133);
397
406
  i0.ɵɵtext(7);
398
407
  i0.ɵɵelementEnd();
399
- i0.ɵɵelementStart(8, "span", 156);
408
+ i0.ɵɵelementStart(8, "span", 134);
400
409
  i0.ɵɵtext(9);
401
410
  i0.ɵɵelementEnd()();
402
- i0.ɵɵelementStart(10, "div", 157);
403
- i0.ɵɵelement(11, "i", 158);
411
+ i0.ɵɵelementStart(10, "div", 135);
412
+ i0.ɵɵelement(11, "i", 136);
404
413
  i0.ɵɵelementEnd()();
405
414
  } if (rf & 2) {
406
415
  const item_r10 = ctx.$implicit;
407
416
  i0.ɵɵclassProp("high-priority", item_r10.priority === "high")("medium-priority", item_r10.priority === "medium");
408
417
  i0.ɵɵadvance(2);
409
- i0.ɵɵproperty("ngIf", item_r10.priority === "high");
418
+ i0.ɵɵconditional(item_r10.priority === "high" ? 2 : -1);
410
419
  i0.ɵɵadvance();
411
- i0.ɵɵproperty("ngIf", item_r10.priority === "medium");
420
+ i0.ɵɵconditional(item_r10.priority === "medium" ? 3 : -1);
412
421
  i0.ɵɵadvance();
413
- i0.ɵɵproperty("ngIf", item_r10.priority === "low");
422
+ i0.ɵɵconditional(item_r10.priority === "low" ? 4 : -1);
414
423
  i0.ɵɵadvance(3);
415
424
  i0.ɵɵtextInterpolate(item_r10.run.testName);
416
425
  i0.ɵɵadvance(2);
417
426
  i0.ɵɵtextInterpolate(item_r10.reason);
418
427
  } }
419
- function TestSuiteRunFormComponentExtended_div_129_div_20_div_9_Template(rf, ctx) { if (rf & 1) {
428
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_Conditional_10_Template(rf, ctx) { if (rf & 1) {
420
429
  const _r11 = i0.ɵɵgetCurrentView();
421
- i0.ɵɵelementStart(0, "div", 161)(1, "button", 99);
422
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_129_div_20_div_9_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.changeTab("runs")); });
430
+ i0.ɵɵelementStart(0, "div", 127)(1, "button", 91);
431
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_Conditional_10_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.changeTab("runs")); });
423
432
  i0.ɵɵtext(2);
424
433
  i0.ɵɵelementEnd()();
425
434
  } if (rf & 2) {
@@ -427,58 +436,61 @@ function TestSuiteRunFormComponentExtended_div_129_div_20_div_9_Template(rf, ctx
427
436
  i0.ɵɵadvance(2);
428
437
  i0.ɵɵtextInterpolate1(" View all ", ctx_r1.needsReviewItems.length, " items ");
429
438
  } }
430
- function TestSuiteRunFormComponentExtended_div_129_div_20_Template(rf, ctx) { if (rf & 1) {
431
- i0.ɵɵelementStart(0, "div", 142)(1, "div", 143)(2, "h3");
432
- i0.ɵɵelement(3, "i", 144);
439
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_Template(rf, ctx) { if (rf & 1) {
440
+ i0.ɵɵelementStart(0, "div", 103)(1, "div", 122)(2, "h3");
441
+ i0.ɵɵelement(3, "i", 123);
433
442
  i0.ɵɵtext(4, " Needs Review");
434
443
  i0.ɵɵelementEnd();
435
- i0.ɵɵelementStart(5, "span", 145);
444
+ i0.ɵɵelementStart(5, "span", 124);
436
445
  i0.ɵɵtext(6);
437
446
  i0.ɵɵelementEnd()();
438
- i0.ɵɵelementStart(7, "div", 146);
439
- i0.ɵɵtemplate(8, TestSuiteRunFormComponentExtended_div_129_div_20_div_8_Template, 12, 9, "div", 147)(9, TestSuiteRunFormComponentExtended_div_129_div_20_div_9_Template, 3, 1, "div", 148);
447
+ i0.ɵɵelementStart(7, "div", 125);
448
+ i0.ɵɵrepeaterCreate(8, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_For_9_Template, 12, 9, "div", 126, i0.ɵɵrepeaterTrackByIdentity);
449
+ i0.ɵɵconditionalCreate(10, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_Conditional_10_Template, 3, 1, "div", 127);
440
450
  i0.ɵɵelementEnd()();
441
451
  } if (rf & 2) {
442
452
  const ctx_r1 = i0.ɵɵnextContext(2);
443
453
  i0.ɵɵadvance(6);
444
454
  i0.ɵɵtextInterpolate1("", ctx_r1.needsReviewItems.length, " items");
445
455
  i0.ɵɵadvance(2);
446
- i0.ɵɵproperty("ngForOf", ctx_r1.needsReviewItems.slice(0, 5));
447
- i0.ɵɵadvance();
448
- i0.ɵɵproperty("ngIf", ctx_r1.needsReviewItems.length > 5);
456
+ i0.ɵɵrepeater(ctx_r1.needsReviewItems.slice(0, 5));
457
+ i0.ɵɵadvance(2);
458
+ i0.ɵɵconditional(ctx_r1.needsReviewItems.length > 5 ? 10 : -1);
449
459
  } }
450
- function TestSuiteRunFormComponentExtended_div_129_div_21_Template(rf, ctx) { if (rf & 1) {
451
- i0.ɵɵelementStart(0, "div", 162)(1, "div", 163);
452
- i0.ɵɵelement(2, "i", 164);
460
+ function TestSuiteRunFormComponentExtended_Conditional_129_Conditional_21_Template(rf, ctx) { if (rf & 1) {
461
+ i0.ɵɵelementStart(0, "div", 104)(1, "div", 137);
462
+ i0.ɵɵelement(2, "i", 138);
453
463
  i0.ɵɵelementStart(3, "span");
454
464
  i0.ɵɵtext(4, "Suite execution in progress...");
455
465
  i0.ɵɵelementEnd()();
456
- i0.ɵɵelementStart(5, "div", 165);
457
- i0.ɵɵelement(6, "i", 166);
466
+ i0.ɵɵelementStart(5, "div", 139);
467
+ i0.ɵɵelement(6, "i", 140);
458
468
  i0.ɵɵtext(7, " Auto-refreshing every 5 seconds ");
459
469
  i0.ɵɵelementEnd()();
460
470
  } }
461
- function TestSuiteRunFormComponentExtended_div_129_Template(rf, ctx) { if (rf & 1) {
462
- i0.ɵɵelementStart(0, "div", 106)(1, "div", 107)(2, "div", 108);
463
- i0.ɵɵelement(3, "i", 12);
471
+ function TestSuiteRunFormComponentExtended_Conditional_129_Template(rf, ctx) { if (rf & 1) {
472
+ i0.ɵɵelementStart(0, "div", 58)(1, "div", 94)(2, "div", 95);
473
+ i0.ɵɵelement(3, "i", 11);
464
474
  i0.ɵɵelementEnd();
465
- i0.ɵɵelementStart(4, "div", 109)(5, "h2");
475
+ i0.ɵɵelementStart(4, "div", 96)(5, "h2");
466
476
  i0.ɵɵtext(6);
467
477
  i0.ɵɵelementEnd();
468
- i0.ɵɵelementStart(7, "div", 110)(8, "div", 111)(9, "span", 112);
478
+ i0.ɵɵelementStart(7, "div", 97)(8, "div", 98)(9, "span", 99);
469
479
  i0.ɵɵtext(10);
470
480
  i0.ɵɵelementEnd();
471
- i0.ɵɵelementStart(11, "span", 113);
481
+ i0.ɵɵelementStart(11, "span", 100);
472
482
  i0.ɵɵtext(12, "Pass Rate");
473
483
  i0.ɵɵelementEnd()();
474
- i0.ɵɵelement(13, "div", 114);
475
- i0.ɵɵelementStart(14, "div", 111)(15, "span", 112);
484
+ i0.ɵɵelement(13, "div", 101);
485
+ i0.ɵɵelementStart(14, "div", 98)(15, "span", 99);
476
486
  i0.ɵɵtext(16);
477
487
  i0.ɵɵelementEnd();
478
- i0.ɵɵelementStart(17, "span", 113);
488
+ i0.ɵɵelementStart(17, "span", 100);
479
489
  i0.ɵɵtext(18, "Tests Passed");
480
490
  i0.ɵɵelementEnd()()()()();
481
- i0.ɵɵtemplate(19, TestSuiteRunFormComponentExtended_div_129_div_19_Template, 5, 3, "div", 115)(20, TestSuiteRunFormComponentExtended_div_129_div_20_Template, 10, 3, "div", 116)(21, TestSuiteRunFormComponentExtended_div_129_div_21_Template, 8, 0, "div", 117);
491
+ i0.ɵɵconditionalCreate(19, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_19_Template, 5, 3, "div", 102);
492
+ i0.ɵɵconditionalCreate(20, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_20_Template, 11, 2, "div", 103);
493
+ i0.ɵɵconditionalCreate(21, TestSuiteRunFormComponentExtended_Conditional_129_Conditional_21_Template, 8, 0, "div", 104);
482
494
  i0.ɵɵelementEnd();
483
495
  } if (rf & 2) {
484
496
  const ctx_r1 = i0.ɵɵnextContext();
@@ -487,23 +499,23 @@ function TestSuiteRunFormComponentExtended_div_129_Template(rf, ctx) { if (rf &
487
499
  i0.ɵɵadvance(2);
488
500
  i0.ɵɵproperty("ngClass", ctx_r1.getStatusIcon());
489
501
  i0.ɵɵadvance(3);
490
- i0.ɵɵtextInterpolate1("SUITE ", ctx_r1.record.Status.toUpperCase() || "UNKNOWN", "");
502
+ i0.ɵɵtextInterpolate1("SUITE ", ctx_r1.record.Status.toUpperCase() || "UNKNOWN");
491
503
  i0.ɵɵadvance(4);
492
504
  i0.ɵɵtextInterpolate1("", ctx_r1.getPassRate().toFixed(1), "%");
493
505
  i0.ɵɵadvance(6);
494
- i0.ɵɵtextInterpolate2("", ctx_r1.record.PassedTests || 0, " / ", ctx_r1.record.TotalTests || 0, "");
506
+ i0.ɵɵtextInterpolate2("", ctx_r1.record.PassedTests || 0, " / ", ctx_r1.record.TotalTests || 0);
495
507
  i0.ɵɵadvance(3);
496
- i0.ɵɵproperty("ngIf", ctx_r1.evaluationMetrics && ctx_r1.feedbacksLoaded);
508
+ i0.ɵɵconditional(ctx_r1.evaluationMetrics && ctx_r1.feedbacksLoaded ? 19 : -1);
497
509
  i0.ɵɵadvance();
498
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showHuman && ctx_r1.needsReviewItems.length > 0 && ctx_r1.feedbacksLoaded);
510
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showHuman && ctx_r1.needsReviewItems.length > 0 && ctx_r1.feedbacksLoaded ? 20 : -1);
499
511
  i0.ɵɵadvance();
500
- i0.ɵɵproperty("ngIf", ctx_r1.record.Status === "Running" || ctx_r1.record.Status === "Pending");
512
+ i0.ɵɵconditional(ctx_r1.record.Status === "Running" || ctx_r1.record.Status === "Pending" ? 21 : -1);
501
513
  } }
502
- function TestSuiteRunFormComponentExtended_div_130_div_1_button_4_Template(rf, ctx) { if (rf & 1) {
514
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
503
515
  const _r13 = i0.ɵɵgetCurrentView();
504
- i0.ɵɵelementStart(0, "button", 181);
505
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_1_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter("Passed")); });
506
- i0.ɵɵelement(1, "i", 182);
516
+ i0.ɵɵelementStart(0, "button", 153);
517
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter("Passed")); });
518
+ i0.ɵɵelement(1, "i", 154);
507
519
  i0.ɵɵtext(2);
508
520
  i0.ɵɵelementEnd();
509
521
  } if (rf & 2) {
@@ -512,11 +524,11 @@ function TestSuiteRunFormComponentExtended_div_130_div_1_button_4_Template(rf, c
512
524
  i0.ɵɵadvance(2);
513
525
  i0.ɵɵtextInterpolate1(" Passed (", ctx_r1.getRunCountByStatus("Passed"), ") ");
514
526
  } }
515
- function TestSuiteRunFormComponentExtended_div_130_div_1_button_5_Template(rf, ctx) { if (rf & 1) {
527
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_5_Template(rf, ctx) { if (rf & 1) {
516
528
  const _r14 = i0.ɵɵgetCurrentView();
517
- i0.ɵɵelementStart(0, "button", 183);
518
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_1_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter("Failed")); });
519
- i0.ɵɵelement(1, "i", 102);
529
+ i0.ɵɵelementStart(0, "button", 155);
530
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter("Failed")); });
531
+ i0.ɵɵelement(1, "i", 93);
520
532
  i0.ɵɵtext(2);
521
533
  i0.ɵɵelementEnd();
522
534
  } if (rf & 2) {
@@ -525,11 +537,11 @@ function TestSuiteRunFormComponentExtended_div_130_div_1_button_5_Template(rf, c
525
537
  i0.ɵɵadvance(2);
526
538
  i0.ɵɵtextInterpolate1(" Failed (", ctx_r1.getRunCountByStatus("Failed"), ") ");
527
539
  } }
528
- function TestSuiteRunFormComponentExtended_div_130_div_1_button_6_Template(rf, ctx) { if (rf & 1) {
540
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_6_Template(rf, ctx) { if (rf & 1) {
529
541
  const _r15 = i0.ɵɵgetCurrentView();
530
- i0.ɵɵelementStart(0, "button", 184);
531
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_1_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter("Error")); });
532
- i0.ɵɵelement(1, "i", 185);
542
+ i0.ɵɵelementStart(0, "button", 156);
543
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter("Error")); });
544
+ i0.ɵɵelement(1, "i", 157);
533
545
  i0.ɵɵtext(2);
534
546
  i0.ɵɵelementEnd();
535
547
  } if (rf & 2) {
@@ -538,17 +550,19 @@ function TestSuiteRunFormComponentExtended_div_130_div_1_button_6_Template(rf, c
538
550
  i0.ɵɵadvance(2);
539
551
  i0.ɵɵtextInterpolate1(" Error (", ctx_r1.getRunCountByStatus("Error"), ") ");
540
552
  } }
541
- function TestSuiteRunFormComponentExtended_div_130_div_1_Template(rf, ctx) { if (rf & 1) {
553
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Template(rf, ctx) { if (rf & 1) {
542
554
  const _r12 = i0.ɵɵgetCurrentView();
543
- i0.ɵɵelementStart(0, "div", 172)(1, "div", 173)(2, "button", 174);
544
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_1_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter(null)); });
555
+ i0.ɵɵelementStart(0, "div", 141)(1, "div", 145)(2, "button", 146);
556
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter(null)); });
545
557
  i0.ɵɵtext(3);
546
558
  i0.ɵɵelementEnd();
547
- i0.ɵɵtemplate(4, TestSuiteRunFormComponentExtended_div_130_div_1_button_4_Template, 3, 3, "button", 175)(5, TestSuiteRunFormComponentExtended_div_130_div_1_button_5_Template, 3, 3, "button", 176)(6, TestSuiteRunFormComponentExtended_div_130_div_1_button_6_Template, 3, 3, "button", 177);
559
+ i0.ɵɵconditionalCreate(4, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_4_Template, 3, 3, "button", 147);
560
+ i0.ɵɵconditionalCreate(5, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_5_Template, 3, 3, "button", 148);
561
+ i0.ɵɵconditionalCreate(6, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Conditional_6_Template, 3, 3, "button", 149);
548
562
  i0.ɵɵelementEnd();
549
- i0.ɵɵelementStart(7, "div", 178)(8, "button", 179);
550
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_1_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.exportToCSV()); });
551
- i0.ɵɵelement(9, "i", 180);
563
+ i0.ɵɵelementStart(7, "div", 150)(8, "button", 151);
564
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.exportToCSV()); });
565
+ i0.ɵɵelement(9, "i", 152);
552
566
  i0.ɵɵtext(10, " Export CSV ");
553
567
  i0.ɵɵelementEnd()()();
554
568
  } if (rf & 2) {
@@ -558,30 +572,30 @@ function TestSuiteRunFormComponentExtended_div_130_div_1_Template(rf, ctx) { if
558
572
  i0.ɵɵadvance();
559
573
  i0.ɵɵtextInterpolate1(" All (", ctx_r1.testRuns.length, ") ");
560
574
  i0.ɵɵadvance();
561
- i0.ɵɵproperty("ngIf", ctx_r1.getRunCountByStatus("Passed") > 0);
575
+ i0.ɵɵconditional(ctx_r1.getRunCountByStatus("Passed") > 0 ? 4 : -1);
562
576
  i0.ɵɵadvance();
563
- i0.ɵɵproperty("ngIf", ctx_r1.getRunCountByStatus("Failed") > 0);
577
+ i0.ɵɵconditional(ctx_r1.getRunCountByStatus("Failed") > 0 ? 5 : -1);
564
578
  i0.ɵɵadvance();
565
- i0.ɵɵproperty("ngIf", ctx_r1.getRunCountByStatus("Error") > 0);
579
+ i0.ɵɵconditional(ctx_r1.getRunCountByStatus("Error") > 0 ? 6 : -1);
566
580
  } }
567
- function TestSuiteRunFormComponentExtended_div_130_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
568
- i0.ɵɵelementStart(0, "div", 189);
569
- i0.ɵɵelement(1, "div", 190)(2, "div", 191);
570
- i0.ɵɵelementStart(3, "div", 192);
571
- i0.ɵɵelement(4, "div", 193)(5, "div", 194);
581
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_2_For_3_Template(rf, ctx) { if (rf & 1) {
582
+ i0.ɵɵelementStart(0, "div", 159);
583
+ i0.ɵɵelement(1, "div", 160)(2, "div", 161);
584
+ i0.ɵɵelementStart(3, "div", 162);
585
+ i0.ɵɵelement(4, "div", 163)(5, "div", 164);
572
586
  i0.ɵɵelementEnd()();
573
587
  } }
574
- function TestSuiteRunFormComponentExtended_div_130_div_2_Template(rf, ctx) { if (rf & 1) {
575
- i0.ɵɵelementStart(0, "div", 186)(1, "div", 187);
576
- i0.ɵɵtemplate(2, TestSuiteRunFormComponentExtended_div_130_div_2_div_2_Template, 6, 0, "div", 188);
588
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_2_Template(rf, ctx) { if (rf & 1) {
589
+ i0.ɵɵelementStart(0, "div", 142)(1, "div", 158);
590
+ i0.ɵɵrepeaterCreate(2, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_2_For_3_Template, 6, 0, "div", 159, i0.ɵɵrepeaterTrackByIdentity);
577
591
  i0.ɵɵelementEnd()();
578
592
  } if (rf & 2) {
579
593
  i0.ɵɵadvance(2);
580
- i0.ɵɵproperty("ngForOf", i0.ɵɵpureFunction0(1, _c0));
594
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(0, _c0));
581
595
  } }
582
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_span_12_Template(rf, ctx) { if (rf & 1) {
583
- i0.ɵɵelementStart(0, "span", 213);
584
- i0.ɵɵelement(1, "i", 24);
596
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_12_Template(rf, ctx) { if (rf & 1) {
597
+ i0.ɵɵelementStart(0, "span", 174);
598
+ i0.ɵɵelement(1, "i", 23);
585
599
  i0.ɵɵtext(2);
586
600
  i0.ɵɵelementEnd();
587
601
  } if (rf & 2) {
@@ -589,9 +603,9 @@ function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_span_12_Template(
589
603
  i0.ɵɵadvance(2);
590
604
  i0.ɵɵtextInterpolate1(" ", run_r17.DurationSeconds.toFixed(1), "s ");
591
605
  } }
592
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_span_13_Template(rf, ctx) { if (rf & 1) {
593
- i0.ɵɵelementStart(0, "span", 214);
594
- i0.ɵɵelement(1, "i", 29);
606
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
607
+ i0.ɵɵelementStart(0, "span", 175);
608
+ i0.ɵɵelement(1, "i", 28);
595
609
  i0.ɵɵtext(2);
596
610
  i0.ɵɵelementEnd();
597
611
  } if (rf & 2) {
@@ -599,14 +613,14 @@ function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_span_13_Template(
599
613
  i0.ɵɵadvance(2);
600
614
  i0.ɵɵtextInterpolate1(" ", run_r17.CostUSD.toFixed(6), " ");
601
615
  } }
602
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_mj_entity_link_pill_14_Template(rf, ctx) { if (rf & 1) {
603
- i0.ɵɵelement(0, "mj-entity-link-pill", 215);
616
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
617
+ i0.ɵɵelement(0, "mj-entity-link-pill", 176);
604
618
  } if (rf & 2) {
605
619
  const run_r17 = i0.ɵɵnextContext().$implicit;
606
620
  i0.ɵɵproperty("entityName", run_r17.TargetLogEntity)("recordId", run_r17.TargetLogID);
607
621
  } }
608
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_15_span_1_Template(rf, ctx) { if (rf & 1) {
609
- i0.ɵɵelementStart(0, "span", 218);
622
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_15_For_2_Template(rf, ctx) { if (rf & 1) {
623
+ i0.ɵɵelementStart(0, "span", 181);
610
624
  i0.ɵɵtext(1);
611
625
  i0.ɵɵelementEnd();
612
626
  } if (rf & 2) {
@@ -614,20 +628,20 @@ function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_15_span_1_Tem
614
628
  i0.ɵɵadvance();
615
629
  i0.ɵɵtextInterpolate(tag_r18);
616
630
  } }
617
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_15_Template(rf, ctx) { if (rf & 1) {
618
- i0.ɵɵelementStart(0, "div", 216);
619
- i0.ɵɵtemplate(1, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_15_span_1_Template, 2, 1, "span", 217);
631
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
632
+ i0.ɵɵelementStart(0, "div", 177);
633
+ i0.ɵɵrepeaterCreate(1, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_15_For_2_Template, 2, 1, "span", 181, i0.ɵɵrepeaterTrackByIdentity);
620
634
  i0.ɵɵelementEnd();
621
635
  } if (rf & 2) {
622
636
  const run_r17 = i0.ɵɵnextContext().$implicit;
623
637
  const ctx_r1 = i0.ɵɵnextContext(3);
624
638
  i0.ɵɵadvance();
625
- i0.ɵɵproperty("ngForOf", ctx_r1.getRunTags(run_r17));
639
+ i0.ɵɵrepeater(ctx_r1.getRunTags(run_r17));
626
640
  } }
627
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_button_7_Template(rf, ctx) { if (rf & 1) {
641
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_For_8_Template(rf, ctx) { if (rf & 1) {
628
642
  const _r20 = i0.ɵɵgetCurrentView();
629
- i0.ɵɵelementStart(0, "button", 236);
630
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_button_7_Template_button_click_0_listener($event) { const num_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r1 = i0.ɵɵnextContext(5); ctx_r1.setInlineRating(num_r21); return i0.ɵɵresetView($event.stopPropagation()); })("mouseenter", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_button_7_Template_button_mouseenter_0_listener() { const num_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.inlineHoverRating = num_r21); })("mouseleave", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_button_7_Template_button_mouseleave_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.inlineHoverRating = 0); });
643
+ i0.ɵɵelementStart(0, "button", 198);
644
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_For_8_Template_button_click_0_listener($event) { const num_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r1 = i0.ɵɵnextContext(5); ctx_r1.setInlineRating(num_r21); return i0.ɵɵresetView($event.stopPropagation()); })("mouseenter", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_For_8_Template_button_mouseenter_0_listener() { const num_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.inlineHoverRating = num_r21); })("mouseleave", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_For_8_Template_button_mouseleave_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.inlineHoverRating = 0); });
631
645
  i0.ɵɵtext(1);
632
646
  i0.ɵɵelementEnd();
633
647
  } if (rf & 2) {
@@ -637,11 +651,11 @@ function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_button_7_T
637
651
  i0.ɵɵadvance();
638
652
  i0.ɵɵtextInterpolate1(" ", num_r21, " ");
639
653
  } }
640
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_div_8_Template(rf, ctx) { if (rf & 1) {
641
- i0.ɵɵelementStart(0, "div", 237)(1, "span", 238);
654
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Conditional_9_Template(rf, ctx) { if (rf & 1) {
655
+ i0.ɵɵelementStart(0, "div", 188)(1, "span", 199);
642
656
  i0.ɵɵtext(2);
643
657
  i0.ɵɵelementEnd();
644
- i0.ɵɵelementStart(3, "span", 239);
658
+ i0.ɵɵelementStart(3, "span", 200);
645
659
  i0.ɵɵtext(4);
646
660
  i0.ɵɵelementEnd()();
647
661
  } if (rf & 2) {
@@ -651,80 +665,77 @@ function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_div_8_Temp
651
665
  i0.ɵɵadvance(2);
652
666
  i0.ɵɵtextInterpolate(ctx_r1.getInlineRatingLabel());
653
667
  } }
654
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template(rf, ctx) { if (rf & 1) {
668
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
655
669
  const _r19 = i0.ɵɵgetCurrentView();
656
- i0.ɵɵelementStart(0, "div", 219);
657
- i0.ɵɵelement(1, "div", 220);
658
- i0.ɵɵelementStart(2, "div", 221)(3, "div", 222);
670
+ i0.ɵɵelementStart(0, "div", 180);
671
+ i0.ɵɵelement(1, "div", 182);
672
+ i0.ɵɵelementStart(2, "div", 183)(3, "div", 184);
659
673
  i0.ɵɵtext(4, "Quick Feedback");
660
674
  i0.ɵɵelementEnd();
661
- i0.ɵɵelementStart(5, "div", 223)(6, "div", 224);
662
- i0.ɵɵtemplate(7, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_button_7_Template, 2, 11, "button", 225);
675
+ i0.ɵɵelementStart(5, "div", 185)(6, "div", 186);
676
+ i0.ɵɵrepeaterCreate(7, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_For_8_Template, 2, 11, "button", 187, i0.ɵɵrepeaterTrackByIdentity);
663
677
  i0.ɵɵelementEnd();
664
- i0.ɵɵtemplate(8, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_div_8_Template, 5, 2, "div", 226);
678
+ i0.ɵɵconditionalCreate(9, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Conditional_9_Template, 5, 2, "div", 188);
665
679
  i0.ɵɵelementEnd();
666
- i0.ɵɵelementStart(9, "div", 227)(10, "span", 228);
667
- i0.ɵɵtext(11, "Was it correct?");
680
+ i0.ɵɵelementStart(10, "div", 189)(11, "span", 190);
681
+ i0.ɵɵtext(12, "Was it correct?");
668
682
  i0.ɵɵelementEnd();
669
- i0.ɵɵelementStart(12, "div", 229)(13, "label", 230);
670
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_label_click_13_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
671
- i0.ɵɵelementStart(14, "input", 231);
672
- i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_input_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.inlineIsCorrect, $event) || (ctx_r1.inlineIsCorrect = $event); return i0.ɵɵresetView($event); });
683
+ i0.ɵɵelementStart(13, "div", 191)(14, "label", 192);
684
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_label_click_14_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
685
+ i0.ɵɵelementStart(15, "input", 193);
686
+ i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_input_ngModelChange_15_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.inlineIsCorrect, $event) || (ctx_r1.inlineIsCorrect = $event); return i0.ɵɵresetView($event); });
673
687
  i0.ɵɵelementEnd();
674
- i0.ɵɵelementStart(15, "span");
675
- i0.ɵɵtext(16, "Yes");
688
+ i0.ɵɵelementStart(16, "span");
689
+ i0.ɵɵtext(17, "Yes");
676
690
  i0.ɵɵelementEnd()();
677
- i0.ɵɵelementStart(17, "label", 230);
678
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_label_click_17_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
679
- i0.ɵɵelementStart(18, "input", 231);
680
- i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_input_ngModelChange_18_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.inlineIsCorrect, $event) || (ctx_r1.inlineIsCorrect = $event); return i0.ɵɵresetView($event); });
691
+ i0.ɵɵelementStart(18, "label", 192);
692
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_label_click_18_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
693
+ i0.ɵɵelementStart(19, "input", 193);
694
+ i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_input_ngModelChange_19_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.inlineIsCorrect, $event) || (ctx_r1.inlineIsCorrect = $event); return i0.ɵɵresetView($event); });
681
695
  i0.ɵɵelementEnd();
682
- i0.ɵɵelementStart(19, "span");
683
- i0.ɵɵtext(20, "No");
696
+ i0.ɵɵelementStart(20, "span");
697
+ i0.ɵɵtext(21, "No");
684
698
  i0.ɵɵelementEnd()();
685
- i0.ɵɵelementStart(21, "label", 230);
686
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_label_click_21_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
687
- i0.ɵɵelementStart(22, "input", 231);
688
- i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_input_ngModelChange_22_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.inlineIsCorrect, $event) || (ctx_r1.inlineIsCorrect = $event); return i0.ɵɵresetView($event); });
699
+ i0.ɵɵelementStart(22, "label", 192);
700
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_label_click_22_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
701
+ i0.ɵɵelementStart(23, "input", 193);
702
+ i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_input_ngModelChange_23_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.inlineIsCorrect, $event) || (ctx_r1.inlineIsCorrect = $event); return i0.ɵɵresetView($event); });
689
703
  i0.ɵɵelementEnd();
690
- i0.ɵɵelementStart(23, "span");
691
- i0.ɵɵtext(24, "Not Sure");
704
+ i0.ɵɵelementStart(24, "span");
705
+ i0.ɵɵtext(25, "Not Sure");
692
706
  i0.ɵɵelementEnd()()()();
693
- i0.ɵɵelementStart(25, "div", 232);
694
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_div_click_25_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
695
- i0.ɵɵelementStart(26, "textarea", 233);
696
- i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_textarea_ngModelChange_26_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.inlineComments, $event) || (ctx_r1.inlineComments = $event); return i0.ɵɵresetView($event); });
707
+ i0.ɵɵelementStart(26, "div", 194);
708
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_div_click_26_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
709
+ i0.ɵɵelementStart(27, "textarea", 195);
710
+ i0.ɵɵtwoWayListener("ngModelChange", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_textarea_ngModelChange_27_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.inlineComments, $event) || (ctx_r1.inlineComments = $event); return i0.ɵɵresetView($event); });
697
711
  i0.ɵɵelementEnd()();
698
- i0.ɵɵelementStart(27, "div", 234);
699
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_div_click_27_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
700
- i0.ɵɵelementStart(28, "button", 179);
701
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_button_click_28_listener() { i0.ɵɵrestoreView(_r19); const run_r17 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.openTestRun(run_r17.ID)); });
702
- i0.ɵɵelement(29, "i", 235);
703
- i0.ɵɵtext(30, " View Full Details ");
704
- i0.ɵɵelementEnd();
705
- i0.ɵɵelementStart(31, "button", 97);
706
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template_button_click_31_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.saveInlineFeedback()); });
707
- i0.ɵɵelement(32, "i", 12);
708
- i0.ɵɵtext(33);
712
+ i0.ɵɵelementStart(28, "div", 196);
713
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_div_click_28_listener($event) { i0.ɵɵrestoreView(_r19); return i0.ɵɵresetView($event.stopPropagation()); });
714
+ i0.ɵɵelementStart(29, "button", 151);
715
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r19); const run_r17 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.openTestRun(run_r17.ID)); });
716
+ i0.ɵɵelement(30, "i", 197);
717
+ i0.ɵɵtext(31, " View Full Details ");
718
+ i0.ɵɵelementEnd();
719
+ i0.ɵɵelementStart(32, "button", 89);
720
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template_button_click_32_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.saveInlineFeedback()); });
721
+ i0.ɵɵelement(33, "i", 11);
722
+ i0.ɵɵtext(34);
709
723
  i0.ɵɵelementEnd()()()();
710
724
  } if (rf & 2) {
711
725
  const run_r17 = i0.ɵɵnextContext().$implicit;
712
726
  const ctx_r1 = i0.ɵɵnextContext(3);
713
727
  i0.ɵɵadvance(7);
714
- i0.ɵɵproperty("ngForOf", i0.ɵɵpureFunction0(18, _c1));
715
- i0.ɵɵadvance();
716
- i0.ɵɵproperty("ngIf", ctx_r1.inlineRating > 0);
728
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(17, _c1));
729
+ i0.ɵɵadvance(2);
730
+ i0.ɵɵconditional(ctx_r1.inlineRating > 0 ? 9 : -1);
717
731
  i0.ɵɵadvance(6);
718
- i0.ɵɵpropertyInterpolate1("name", "correct-", run_r17.ID, "");
719
- i0.ɵɵproperty("value", true);
732
+ i0.ɵɵproperty("name", i0.ɵɵinterpolate1("correct-", run_r17.ID))("value", true);
720
733
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.inlineIsCorrect);
721
734
  i0.ɵɵadvance(4);
722
- i0.ɵɵpropertyInterpolate1("name", "correct-", run_r17.ID, "");
723
- i0.ɵɵproperty("value", false);
735
+ i0.ɵɵproperty("name", i0.ɵɵinterpolate1("correct-", run_r17.ID))("value", false);
724
736
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.inlineIsCorrect);
725
737
  i0.ɵɵadvance(4);
726
- i0.ɵɵpropertyInterpolate1("name", "correct-", run_r17.ID, "");
727
- i0.ɵɵproperty("value", null);
738
+ i0.ɵɵproperty("name", i0.ɵɵinterpolate1("correct-", run_r17.ID))("value", null);
728
739
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.inlineIsCorrect);
729
740
  i0.ɵɵadvance(4);
730
741
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.inlineComments);
@@ -735,30 +746,32 @@ function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template(r
735
746
  i0.ɵɵadvance();
736
747
  i0.ɵɵtextInterpolate1(" ", ctx_r1.savingInlineFeedback ? "Saving..." : ctx_r1.hasFeedback(run_r17.ID) ? "Update" : "Save", " ");
737
748
  } }
738
- function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_Template(rf, ctx) { if (rf & 1) {
749
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Template(rf, ctx) { if (rf & 1) {
739
750
  const _r16 = i0.ɵɵgetCurrentView();
740
- i0.ɵɵelementStart(0, "div", 197)(1, "div", 198);
741
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_Template_div_click_1_listener() { const run_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleRunExpanded(run_r17.ID)); });
742
- i0.ɵɵelementStart(2, "div", 199);
751
+ i0.ɵɵelementStart(0, "div", 165)(1, "div", 166);
752
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Template_div_click_1_listener() { const run_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleRunExpanded(run_r17.ID)); });
753
+ i0.ɵɵelementStart(2, "div", 167);
743
754
  i0.ɵɵtext(3);
744
755
  i0.ɵɵelementEnd();
745
- i0.ɵɵelementStart(4, "div", 200);
746
- i0.ɵɵelement(5, "i", 12);
756
+ i0.ɵɵelementStart(4, "div", 168);
757
+ i0.ɵɵelement(5, "i", 11);
747
758
  i0.ɵɵelementEnd();
748
- i0.ɵɵelementStart(6, "div", 201)(7, "div", 202)(8, "div", 203);
759
+ i0.ɵɵelementStart(6, "div", 169)(7, "div", 170)(8, "div", 171);
749
760
  i0.ɵɵtext(9);
750
761
  i0.ɵɵelementEnd();
751
- i0.ɵɵelement(10, "app-evaluation-badge", 204);
762
+ i0.ɵɵelement(10, "app-evaluation-badge", 172);
752
763
  i0.ɵɵelementEnd();
753
- i0.ɵɵelementStart(11, "div", 205);
754
- i0.ɵɵtemplate(12, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_span_12_Template, 3, 1, "span", 206)(13, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_span_13_Template, 3, 1, "span", 207)(14, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_mj_entity_link_pill_14_Template, 1, 2, "mj-entity-link-pill", 208);
764
+ i0.ɵɵelementStart(11, "div", 173);
765
+ i0.ɵɵconditionalCreate(12, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_12_Template, 3, 1, "span", 174);
766
+ i0.ɵɵconditionalCreate(13, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_13_Template, 3, 1, "span", 175);
767
+ i0.ɵɵconditionalCreate(14, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_14_Template, 1, 2, "mj-entity-link-pill", 176);
755
768
  i0.ɵɵelementEnd();
756
- i0.ɵɵtemplate(15, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_15_Template, 2, 1, "div", 209);
769
+ i0.ɵɵconditionalCreate(15, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_15_Template, 3, 0, "div", 177);
757
770
  i0.ɵɵelementEnd();
758
- i0.ɵɵelementStart(16, "div", 210);
759
- i0.ɵɵelement(17, "i", 211);
771
+ i0.ɵɵelementStart(16, "div", 178);
772
+ i0.ɵɵelement(17, "i", 179);
760
773
  i0.ɵɵelementEnd()();
761
- i0.ɵɵtemplate(18, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_div_18_Template, 34, 19, "div", 212);
774
+ i0.ɵɵconditionalCreate(18, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Conditional_18_Template, 35, 18, "div", 180);
762
775
  i0.ɵɵelementEnd();
763
776
  } if (rf & 2) {
764
777
  const run_r17 = ctx.$implicit;
@@ -774,30 +787,30 @@ function TestSuiteRunFormComponentExtended_div_130_div_3_div_1_Template(rf, ctx)
774
787
  i0.ɵɵadvance();
775
788
  i0.ɵɵproperty("executionStatus", run_r17.Status)("originalStatus", run_r17.Status)("autoScore", run_r17.Score)("humanRating", ctx_r1.getFeedbackRating(run_r17.ID) || null)("humanIsCorrect", ctx_r1.getHumanIsCorrect(run_r17.ID))("hasHumanFeedback", ctx_r1.hasFeedback(run_r17.ID))("preferences", ctx_r1.evalPreferences)("mode", "compact");
776
789
  i0.ɵɵadvance(2);
777
- i0.ɵɵproperty("ngIf", run_r17.DurationSeconds);
790
+ i0.ɵɵconditional(run_r17.DurationSeconds ? 12 : -1);
778
791
  i0.ɵɵadvance();
779
- i0.ɵɵproperty("ngIf", run_r17.CostUSD);
792
+ i0.ɵɵconditional(run_r17.CostUSD ? 13 : -1);
780
793
  i0.ɵɵadvance();
781
- i0.ɵɵproperty("ngIf", run_r17.TargetLogEntityID && run_r17.TargetLogID);
794
+ i0.ɵɵconditional(run_r17.TargetLogEntityID && run_r17.TargetLogID ? 14 : -1);
782
795
  i0.ɵɵadvance();
783
- i0.ɵɵproperty("ngIf", ctx_r1.getRunTags(run_r17).length > 0);
796
+ i0.ɵɵconditional(ctx_r1.getRunTags(run_r17).length > 0 ? 15 : -1);
784
797
  i0.ɵɵadvance(2);
785
798
  i0.ɵɵclassProp("fa-chevron-down", ctx_r1.expandedRunId !== run_r17.ID)("fa-chevron-up", ctx_r1.expandedRunId === run_r17.ID);
786
799
  i0.ɵɵadvance();
787
- i0.ɵɵproperty("ngIf", ctx_r1.expandedRunId === run_r17.ID);
800
+ i0.ɵɵconditional(ctx_r1.expandedRunId === run_r17.ID ? 18 : -1);
788
801
  } }
789
- function TestSuiteRunFormComponentExtended_div_130_div_3_Template(rf, ctx) { if (rf & 1) {
790
- i0.ɵɵelementStart(0, "div", 195);
791
- i0.ɵɵtemplate(1, TestSuiteRunFormComponentExtended_div_130_div_3_div_1_Template, 19, 22, "div", 196);
802
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_Template(rf, ctx) { if (rf & 1) {
803
+ i0.ɵɵelementStart(0, "div", 143);
804
+ i0.ɵɵrepeaterCreate(1, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_For_2_Template, 19, 22, "div", 165, i0.ɵɵrepeaterTrackByIdentity);
792
805
  i0.ɵɵelementEnd();
793
806
  } if (rf & 2) {
794
807
  const ctx_r1 = i0.ɵɵnextContext(2);
795
808
  i0.ɵɵadvance();
796
- i0.ɵɵproperty("ngForOf", ctx_r1.getFilteredTestRuns());
809
+ i0.ɵɵrepeater(ctx_r1.getFilteredTestRuns());
797
810
  } }
798
- function TestSuiteRunFormComponentExtended_div_130_div_4_Template(rf, ctx) { if (rf & 1) {
799
- i0.ɵɵelementStart(0, "div", 240)(1, "div", 241);
800
- i0.ɵɵelement(2, "i", 242);
811
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_4_Template(rf, ctx) { if (rf & 1) {
812
+ i0.ɵɵelementStart(0, "div", 144)(1, "div", 201);
813
+ i0.ɵɵelement(2, "i", 202);
801
814
  i0.ɵɵelementEnd();
802
815
  i0.ɵɵelementStart(3, "h4");
803
816
  i0.ɵɵtext(4, "No Test Runs Found");
@@ -806,10 +819,10 @@ function TestSuiteRunFormComponentExtended_div_130_div_4_Template(rf, ctx) { if
806
819
  i0.ɵɵtext(6, "No test runs have been recorded for this suite execution.");
807
820
  i0.ɵɵelementEnd()();
808
821
  } }
809
- function TestSuiteRunFormComponentExtended_div_130_div_5_Template(rf, ctx) { if (rf & 1) {
822
+ function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_5_Template(rf, ctx) { if (rf & 1) {
810
823
  const _r22 = i0.ɵɵgetCurrentView();
811
- i0.ɵɵelementStart(0, "div", 240)(1, "div", 241);
812
- i0.ɵɵelement(2, "i", 243);
824
+ i0.ɵɵelementStart(0, "div", 144)(1, "div", 201);
825
+ i0.ɵɵelement(2, "i", 203);
813
826
  i0.ɵɵelementEnd();
814
827
  i0.ɵɵelementStart(3, "h4");
815
828
  i0.ɵɵtext(4, "No Matching Runs");
@@ -817,32 +830,36 @@ function TestSuiteRunFormComponentExtended_div_130_div_5_Template(rf, ctx) { if
817
830
  i0.ɵɵelementStart(5, "p");
818
831
  i0.ɵɵtext(6, "No test runs match the current filter.");
819
832
  i0.ɵɵelementEnd();
820
- i0.ɵɵelementStart(7, "button", 179);
821
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_130_div_5_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter(null)); });
833
+ i0.ɵɵelementStart(7, "button", 151);
834
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_130_Conditional_5_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setRunStatusFilter(null)); });
822
835
  i0.ɵɵtext(8, "Clear Filter");
823
836
  i0.ɵɵelementEnd()();
824
837
  } }
825
- function TestSuiteRunFormComponentExtended_div_130_Template(rf, ctx) { if (rf & 1) {
826
- i0.ɵɵelementStart(0, "div", 167);
827
- i0.ɵɵtemplate(1, TestSuiteRunFormComponentExtended_div_130_div_1_Template, 11, 6, "div", 168)(2, TestSuiteRunFormComponentExtended_div_130_div_2_Template, 3, 2, "div", 169)(3, TestSuiteRunFormComponentExtended_div_130_div_3_Template, 2, 1, "div", 170)(4, TestSuiteRunFormComponentExtended_div_130_div_4_Template, 7, 0, "div", 171)(5, TestSuiteRunFormComponentExtended_div_130_div_5_Template, 9, 0, "div", 171);
838
+ function TestSuiteRunFormComponentExtended_Conditional_130_Template(rf, ctx) { if (rf & 1) {
839
+ i0.ɵɵelementStart(0, "div", 59);
840
+ i0.ɵɵconditionalCreate(1, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_1_Template, 11, 6, "div", 141);
841
+ i0.ɵɵconditionalCreate(2, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_2_Template, 4, 1, "div", 142);
842
+ i0.ɵɵconditionalCreate(3, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_3_Template, 3, 0, "div", 143);
843
+ i0.ɵɵconditionalCreate(4, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_4_Template, 7, 0, "div", 144);
844
+ i0.ɵɵconditionalCreate(5, TestSuiteRunFormComponentExtended_Conditional_130_Conditional_5_Template, 9, 0, "div", 144);
828
845
  i0.ɵɵelementEnd();
829
846
  } if (rf & 2) {
830
847
  const ctx_r1 = i0.ɵɵnextContext();
831
848
  i0.ɵɵadvance();
832
- i0.ɵɵproperty("ngIf", ctx_r1.testRunsLoaded && ctx_r1.testRuns.length > 0);
849
+ i0.ɵɵconditional(ctx_r1.testRunsLoaded && ctx_r1.testRuns.length > 0 ? 1 : -1);
833
850
  i0.ɵɵadvance();
834
- i0.ɵɵproperty("ngIf", ctx_r1.loadingTestRuns);
851
+ i0.ɵɵconditional(ctx_r1.loadingTestRuns ? 2 : -1);
835
852
  i0.ɵɵadvance();
836
- i0.ɵɵproperty("ngIf", !ctx_r1.loadingTestRuns && ctx_r1.testRuns.length > 0);
853
+ i0.ɵɵconditional(!ctx_r1.loadingTestRuns && ctx_r1.testRuns.length > 0 ? 3 : -1);
837
854
  i0.ɵɵadvance();
838
- i0.ɵɵproperty("ngIf", ctx_r1.testRunsLoaded && !ctx_r1.loadingTestRuns && ctx_r1.testRuns.length === 0);
855
+ i0.ɵɵconditional(ctx_r1.testRunsLoaded && !ctx_r1.loadingTestRuns && ctx_r1.testRuns.length === 0 ? 4 : -1);
839
856
  i0.ɵɵadvance();
840
- i0.ɵɵproperty("ngIf", ctx_r1.testRunsLoaded && !ctx_r1.loadingTestRuns && ctx_r1.testRuns.length > 0 && ctx_r1.getFilteredTestRuns().length === 0);
857
+ i0.ɵɵconditional(ctx_r1.testRunsLoaded && !ctx_r1.loadingTestRuns && ctx_r1.testRuns.length > 0 && ctx_r1.getFilteredTestRuns().length === 0 ? 5 : -1);
841
858
  } }
842
- function TestSuiteRunFormComponentExtended_div_131_a_15_Template(rf, ctx) { if (rf & 1) {
859
+ function TestSuiteRunFormComponentExtended_Conditional_131_Conditional_15_Template(rf, ctx) { if (rf & 1) {
843
860
  const _r23 = i0.ɵɵgetCurrentView();
844
861
  i0.ɵɵelementStart(0, "a", 3);
845
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_131_a_15_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r23); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.openTestSuite()); });
862
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_131_Conditional_15_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r23); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.openTestSuite()); });
846
863
  i0.ɵɵtext(1);
847
864
  i0.ɵɵelementEnd();
848
865
  } if (rf & 2) {
@@ -850,76 +867,77 @@ function TestSuiteRunFormComponentExtended_div_131_a_15_Template(rf, ctx) { if (
850
867
  i0.ɵɵadvance();
851
868
  i0.ɵɵtextInterpolate(ctx_r1.testSuite.Name);
852
869
  } }
853
- function TestSuiteRunFormComponentExtended_div_131_span_16_Template(rf, ctx) { if (rf & 1) {
870
+ function TestSuiteRunFormComponentExtended_Conditional_131_Conditional_16_Template(rf, ctx) { if (rf & 1) {
854
871
  i0.ɵɵelementStart(0, "span");
855
872
  i0.ɵɵtext(1, "Loading...");
856
873
  i0.ɵɵelementEnd();
857
874
  } }
858
- function TestSuiteRunFormComponentExtended_div_131_Template(rf, ctx) { if (rf & 1) {
859
- i0.ɵɵelementStart(0, "div", 244)(1, "div", 245)(2, "h3");
860
- i0.ɵɵelement(3, "i", 53);
875
+ function TestSuiteRunFormComponentExtended_Conditional_131_Template(rf, ctx) { if (rf & 1) {
876
+ i0.ɵɵelementStart(0, "div", 60)(1, "div", 204)(2, "h3");
877
+ i0.ɵɵelement(3, "i", 52);
861
878
  i0.ɵɵtext(4, " Run Information");
862
879
  i0.ɵɵelementEnd();
863
- i0.ɵɵelementStart(5, "div", 246)(6, "div", 247)(7, "div", 248);
880
+ i0.ɵɵelementStart(5, "div", 205)(6, "div", 206)(7, "div", 207);
864
881
  i0.ɵɵtext(8, "Run ID");
865
882
  i0.ɵɵelementEnd();
866
- i0.ɵɵelementStart(9, "div", 249);
883
+ i0.ɵɵelementStart(9, "div", 208);
867
884
  i0.ɵɵtext(10);
868
885
  i0.ɵɵelementEnd()();
869
- i0.ɵɵelementStart(11, "div", 247)(12, "div", 248);
886
+ i0.ɵɵelementStart(11, "div", 206)(12, "div", 207);
870
887
  i0.ɵɵtext(13, "Test Suite");
871
888
  i0.ɵɵelementEnd();
872
- i0.ɵɵelementStart(14, "div", 250);
873
- i0.ɵɵtemplate(15, TestSuiteRunFormComponentExtended_div_131_a_15_Template, 2, 1, "a", 251)(16, TestSuiteRunFormComponentExtended_div_131_span_16_Template, 2, 0, "span", 6);
889
+ i0.ɵɵelementStart(14, "div", 209);
890
+ i0.ɵɵconditionalCreate(15, TestSuiteRunFormComponentExtended_Conditional_131_Conditional_15_Template, 2, 1, "a", 210);
891
+ i0.ɵɵconditionalCreate(16, TestSuiteRunFormComponentExtended_Conditional_131_Conditional_16_Template, 2, 0, "span");
874
892
  i0.ɵɵelementEnd()();
875
- i0.ɵɵelementStart(17, "div", 247)(18, "div", 248);
893
+ i0.ɵɵelementStart(17, "div", 206)(18, "div", 207);
876
894
  i0.ɵɵtext(19, "Status");
877
895
  i0.ɵɵelementEnd();
878
- i0.ɵɵelementStart(20, "div", 250)(21, "span", 252);
896
+ i0.ɵɵelementStart(20, "div", 209)(21, "span", 211);
879
897
  i0.ɵɵtext(22);
880
898
  i0.ɵɵelementEnd()()();
881
- i0.ɵɵelementStart(23, "div", 247)(24, "div", 248);
899
+ i0.ɵɵelementStart(23, "div", 206)(24, "div", 207);
882
900
  i0.ɵɵtext(25, "Run By");
883
901
  i0.ɵɵelementEnd();
884
- i0.ɵɵelementStart(26, "div", 250);
902
+ i0.ɵɵelementStart(26, "div", 209);
885
903
  i0.ɵɵtext(27);
886
904
  i0.ɵɵelementEnd()();
887
- i0.ɵɵelementStart(28, "div", 247)(29, "div", 248);
905
+ i0.ɵɵelementStart(28, "div", 206)(29, "div", 207);
888
906
  i0.ɵɵtext(30, "Started At");
889
907
  i0.ɵɵelementEnd();
890
- i0.ɵɵelementStart(31, "div", 250);
908
+ i0.ɵɵelementStart(31, "div", 209);
891
909
  i0.ɵɵtext(32);
892
910
  i0.ɵɵpipe(33, "date");
893
911
  i0.ɵɵelementEnd()();
894
- i0.ɵɵelementStart(34, "div", 247)(35, "div", 248);
912
+ i0.ɵɵelementStart(34, "div", 206)(35, "div", 207);
895
913
  i0.ɵɵtext(36, "Completed At");
896
914
  i0.ɵɵelementEnd();
897
- i0.ɵɵelementStart(37, "div", 250);
915
+ i0.ɵɵelementStart(37, "div", 209);
898
916
  i0.ɵɵtext(38);
899
917
  i0.ɵɵpipe(39, "date");
900
918
  i0.ɵɵelementEnd()();
901
- i0.ɵɵelementStart(40, "div", 247)(41, "div", 248);
919
+ i0.ɵɵelementStart(40, "div", 206)(41, "div", 207);
902
920
  i0.ɵɵtext(42, "Environment");
903
921
  i0.ɵɵelementEnd();
904
- i0.ɵɵelementStart(43, "div", 250);
922
+ i0.ɵɵelementStart(43, "div", 209);
905
923
  i0.ɵɵtext(44);
906
924
  i0.ɵɵelementEnd()();
907
- i0.ɵɵelementStart(45, "div", 247)(46, "div", 248);
925
+ i0.ɵɵelementStart(45, "div", 206)(46, "div", 207);
908
926
  i0.ɵɵtext(47, "Trigger Type");
909
927
  i0.ɵɵelementEnd();
910
- i0.ɵɵelementStart(48, "div", 250);
928
+ i0.ɵɵelementStart(48, "div", 209);
911
929
  i0.ɵɵtext(49);
912
930
  i0.ɵɵelementEnd()();
913
- i0.ɵɵelementStart(50, "div", 247)(51, "div", 248);
931
+ i0.ɵɵelementStart(50, "div", 206)(51, "div", 207);
914
932
  i0.ɵɵtext(52, "Git Commit");
915
933
  i0.ɵɵelementEnd();
916
- i0.ɵɵelementStart(53, "div", 249);
934
+ i0.ɵɵelementStart(53, "div", 208);
917
935
  i0.ɵɵtext(54);
918
936
  i0.ɵɵelementEnd()();
919
- i0.ɵɵelementStart(55, "div", 247)(56, "div", 248);
937
+ i0.ɵɵelementStart(55, "div", 206)(56, "div", 207);
920
938
  i0.ɵɵtext(57, "Agent Version");
921
939
  i0.ɵɵelementEnd();
922
- i0.ɵɵelementStart(58, "div", 250);
940
+ i0.ɵɵelementStart(58, "div", 209);
923
941
  i0.ɵɵtext(59);
924
942
  i0.ɵɵelementEnd()()()()();
925
943
  } if (rf & 2) {
@@ -927,9 +945,9 @@ function TestSuiteRunFormComponentExtended_div_131_Template(rf, ctx) { if (rf &
927
945
  i0.ɵɵadvance(10);
928
946
  i0.ɵɵtextInterpolate(ctx_r1.record.ID);
929
947
  i0.ɵɵadvance(5);
930
- i0.ɵɵproperty("ngIf", ctx_r1.testSuite);
948
+ i0.ɵɵconditional(ctx_r1.testSuite ? 15 : -1);
931
949
  i0.ɵɵadvance();
932
- i0.ɵɵproperty("ngIf", !ctx_r1.testSuite);
950
+ i0.ɵɵconditional(!ctx_r1.testSuite ? 16 : -1);
933
951
  i0.ɵɵadvance(5);
934
952
  i0.ɵɵproperty("ngClass", ctx_r1.getStatusClass());
935
953
  i0.ɵɵadvance();
@@ -949,67 +967,67 @@ function TestSuiteRunFormComponentExtended_div_131_Template(rf, ctx) { if (rf &
949
967
  i0.ɵɵadvance(5);
950
968
  i0.ɵɵtextInterpolate(ctx_r1.record.AgentVersion || "N/A");
951
969
  } }
952
- function TestSuiteRunFormComponentExtended_div_132_div_1_Template(rf, ctx) { if (rf & 1) {
953
- i0.ɵɵelementStart(0, "div", 256);
954
- i0.ɵɵelement(1, "i", 104);
970
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_1_Template(rf, ctx) { if (rf & 1) {
971
+ i0.ɵɵelementStart(0, "div", 212);
972
+ i0.ɵɵelement(1, "i", 90);
955
973
  i0.ɵɵelementStart(2, "span");
956
974
  i0.ɵɵtext(3, "Loading test results...");
957
975
  i0.ɵɵelementEnd()();
958
976
  } }
959
- function TestSuiteRunFormComponentExtended_div_132_div_2_Template(rf, ctx) { if (rf & 1) {
960
- i0.ɵɵelementStart(0, "div", 257)(1, "h3");
961
- i0.ɵɵelement(2, "i", 258);
977
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_2_Template(rf, ctx) { if (rf & 1) {
978
+ i0.ɵɵelementStart(0, "div", 213)(1, "h3");
979
+ i0.ɵɵelement(2, "i", 214);
962
980
  i0.ɵɵtext(3, " Summary Statistics");
963
981
  i0.ɵɵelementEnd();
964
- i0.ɵɵelementStart(4, "div", 259)(5, "div", 260)(6, "div", 261);
965
- i0.ɵɵelement(7, "i", 34);
982
+ i0.ɵɵelementStart(4, "div", 215)(5, "div", 216)(6, "div", 217);
983
+ i0.ɵɵelement(7, "i", 33);
966
984
  i0.ɵɵelementEnd();
967
- i0.ɵɵelementStart(8, "div", 262)(9, "div", 112);
985
+ i0.ɵɵelementStart(8, "div", 218)(9, "div", 99);
968
986
  i0.ɵɵtext(10);
969
987
  i0.ɵɵelementEnd();
970
- i0.ɵɵelementStart(11, "div", 113);
988
+ i0.ɵɵelementStart(11, "div", 100);
971
989
  i0.ɵɵtext(12, "Passed");
972
990
  i0.ɵɵelementEnd();
973
- i0.ɵɵelementStart(13, "div", 263);
991
+ i0.ɵɵelementStart(13, "div", 219);
974
992
  i0.ɵɵtext(14);
975
993
  i0.ɵɵelementEnd()()();
976
- i0.ɵɵelementStart(15, "div", 260)(16, "div", 264);
977
- i0.ɵɵelement(17, "i", 39);
994
+ i0.ɵɵelementStart(15, "div", 216)(16, "div", 220);
995
+ i0.ɵɵelement(17, "i", 38);
978
996
  i0.ɵɵelementEnd();
979
- i0.ɵɵelementStart(18, "div", 262)(19, "div", 112);
997
+ i0.ɵɵelementStart(18, "div", 218)(19, "div", 99);
980
998
  i0.ɵɵtext(20);
981
999
  i0.ɵɵelementEnd();
982
- i0.ɵɵelementStart(21, "div", 113);
1000
+ i0.ɵɵelementStart(21, "div", 100);
983
1001
  i0.ɵɵtext(22, "Failed");
984
1002
  i0.ɵɵelementEnd();
985
- i0.ɵɵelementStart(23, "div", 263);
1003
+ i0.ɵɵelementStart(23, "div", 219);
986
1004
  i0.ɵɵtext(24);
987
1005
  i0.ɵɵelementEnd()()();
988
- i0.ɵɵelementStart(25, "div", 260)(26, "div", 265);
989
- i0.ɵɵelement(27, "i", 266);
1006
+ i0.ɵɵelementStart(25, "div", 216)(26, "div", 221);
1007
+ i0.ɵɵelement(27, "i", 222);
990
1008
  i0.ɵɵelementEnd();
991
- i0.ɵɵelementStart(28, "div", 262)(29, "div", 112);
1009
+ i0.ɵɵelementStart(28, "div", 218)(29, "div", 99);
992
1010
  i0.ɵɵtext(30);
993
1011
  i0.ɵɵelementEnd();
994
- i0.ɵɵelementStart(31, "div", 113);
1012
+ i0.ɵɵelementStart(31, "div", 100);
995
1013
  i0.ɵɵtext(32, "Avg Score");
996
1014
  i0.ɵɵelementEnd()()();
997
- i0.ɵɵelementStart(33, "div", 260)(34, "div", 267);
998
- i0.ɵɵelement(35, "i", 24);
1015
+ i0.ɵɵelementStart(33, "div", 216)(34, "div", 223);
1016
+ i0.ɵɵelement(35, "i", 23);
999
1017
  i0.ɵɵelementEnd();
1000
- i0.ɵɵelementStart(36, "div", 262)(37, "div", 112);
1018
+ i0.ɵɵelementStart(36, "div", 218)(37, "div", 99);
1001
1019
  i0.ɵɵtext(38);
1002
1020
  i0.ɵɵelementEnd();
1003
- i0.ɵɵelementStart(39, "div", 113);
1021
+ i0.ɵɵelementStart(39, "div", 100);
1004
1022
  i0.ɵɵtext(40, "Avg Duration");
1005
1023
  i0.ɵɵelementEnd()()();
1006
- i0.ɵɵelementStart(41, "div", 260)(42, "div", 268);
1007
- i0.ɵɵelement(43, "i", 29);
1024
+ i0.ɵɵelementStart(41, "div", 216)(42, "div", 224);
1025
+ i0.ɵɵelement(43, "i", 28);
1008
1026
  i0.ɵɵelementEnd();
1009
- i0.ɵɵelementStart(44, "div", 262)(45, "div", 112);
1027
+ i0.ɵɵelementStart(44, "div", 218)(45, "div", 99);
1010
1028
  i0.ɵɵtext(46);
1011
1029
  i0.ɵɵelementEnd();
1012
- i0.ɵɵelementStart(47, "div", 113);
1030
+ i0.ɵɵelementStart(47, "div", 100);
1013
1031
  i0.ɵɵtext(48, "Total Cost");
1014
1032
  i0.ɵɵelementEnd()()()()();
1015
1033
  } if (rf & 2) {
@@ -1027,25 +1045,25 @@ function TestSuiteRunFormComponentExtended_div_132_div_2_Template(rf, ctx) { if
1027
1045
  i0.ɵɵadvance(8);
1028
1046
  i0.ɵɵtextInterpolate1("", ctx_r1.getAverageDuration().toFixed(1), "s");
1029
1047
  i0.ɵɵadvance(8);
1030
- i0.ɵɵtextInterpolate1("$", ctx_r1.getTotalCost().toFixed(4), "");
1048
+ i0.ɵɵtextInterpolate1("$", ctx_r1.getTotalCost().toFixed(4));
1031
1049
  } }
1032
- function TestSuiteRunFormComponentExtended_div_132_div_3_th_26_Template(rf, ctx) { if (rf & 1) {
1033
- i0.ɵɵelementStart(0, "th", 286);
1050
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_Conditional_26_Template(rf, ctx) { if (rf & 1) {
1051
+ i0.ɵɵelementStart(0, "th", 236);
1034
1052
  i0.ɵɵtext(1, "Status");
1035
1053
  i0.ɵɵelementEnd();
1036
1054
  } }
1037
- function TestSuiteRunFormComponentExtended_div_132_div_3_th_27_Template(rf, ctx) { if (rf & 1) {
1038
- i0.ɵɵelementStart(0, "th", 287);
1055
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_Conditional_27_Template(rf, ctx) { if (rf & 1) {
1056
+ i0.ɵɵelementStart(0, "th", 237);
1039
1057
  i0.ɵɵtext(1, "Auto Score");
1040
1058
  i0.ɵɵelementEnd();
1041
1059
  } }
1042
- function TestSuiteRunFormComponentExtended_div_132_div_3_th_28_Template(rf, ctx) { if (rf & 1) {
1043
- i0.ɵɵelementStart(0, "th", 288);
1060
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_Conditional_28_Template(rf, ctx) { if (rf & 1) {
1061
+ i0.ɵɵelementStart(0, "th", 238);
1044
1062
  i0.ɵɵtext(1, "Human Score");
1045
1063
  i0.ɵɵelementEnd();
1046
1064
  } }
1047
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_div_7_span_1_Template(rf, ctx) { if (rf & 1) {
1048
- i0.ɵɵelementStart(0, "span", 296);
1065
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
1066
+ i0.ɵɵelementStart(0, "span", 247);
1049
1067
  i0.ɵɵtext(1);
1050
1068
  i0.ɵɵelementEnd();
1051
1069
  } if (rf & 2) {
@@ -1053,19 +1071,19 @@ function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_div_7_span_1_Temp
1053
1071
  i0.ɵɵadvance();
1054
1072
  i0.ɵɵtextInterpolate(tag_r26);
1055
1073
  } }
1056
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_div_7_Template(rf, ctx) { if (rf & 1) {
1057
- i0.ɵɵelementStart(0, "div", 294);
1058
- i0.ɵɵtemplate(1, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_div_7_span_1_Template, 2, 1, "span", 295);
1074
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1075
+ i0.ɵɵelementStart(0, "div", 245);
1076
+ i0.ɵɵrepeaterCreate(1, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_7_For_2_Template, 2, 1, "span", 247, i0.ɵɵrepeaterTrackByIdentity);
1059
1077
  i0.ɵɵelementEnd();
1060
1078
  } if (rf & 2) {
1061
1079
  const run_r25 = i0.ɵɵnextContext().$implicit;
1062
1080
  const ctx_r1 = i0.ɵɵnextContext(3);
1063
1081
  i0.ɵɵadvance();
1064
- i0.ɵɵproperty("ngForOf", ctx_r1.getRunTags(run_r25).slice(0, 2));
1082
+ i0.ɵɵrepeater(ctx_r1.getRunTags(run_r25).slice(0, 2));
1065
1083
  } }
1066
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_8_Template(rf, ctx) { if (rf & 1) {
1067
- i0.ɵɵelementStart(0, "td", 286)(1, "span", 15);
1068
- i0.ɵɵelement(2, "i", 211);
1084
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1085
+ i0.ɵɵelementStart(0, "td", 236)(1, "span", 14);
1086
+ i0.ɵɵelement(2, "i", 179);
1069
1087
  i0.ɵɵtext(3);
1070
1088
  i0.ɵɵelementEnd()();
1071
1089
  } if (rf & 2) {
@@ -1077,11 +1095,11 @@ function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_8_Template(rf,
1077
1095
  i0.ɵɵadvance();
1078
1096
  i0.ɵɵtextInterpolate1(" ", run_r25.Status, " ");
1079
1097
  } }
1080
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_9_div_1_Template(rf, ctx) { if (rf & 1) {
1081
- i0.ɵɵelementStart(0, "div", 298)(1, "div", 299);
1082
- i0.ɵɵelement(2, "div", 300);
1098
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
1099
+ i0.ɵɵelementStart(0, "div", 248)(1, "div", 249);
1100
+ i0.ɵɵelement(2, "div", 250);
1083
1101
  i0.ɵɵelementEnd();
1084
- i0.ɵɵelementStart(3, "span", 301);
1102
+ i0.ɵɵelementStart(3, "span", 251);
1085
1103
  i0.ɵɵtext(4);
1086
1104
  i0.ɵɵelementEnd()();
1087
1105
  } if (rf & 2) {
@@ -1092,25 +1110,26 @@ function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_9_div_1_Templa
1092
1110
  i0.ɵɵadvance(2);
1093
1111
  i0.ɵɵtextInterpolate1("", (run_r25.Score * 100).toFixed(0), "%");
1094
1112
  } }
1095
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_9_span_2_Template(rf, ctx) { if (rf & 1) {
1096
- i0.ɵɵelementStart(0, "span", 302);
1113
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1114
+ i0.ɵɵelementStart(0, "span", 246);
1097
1115
  i0.ɵɵtext(1, "\u2014");
1098
1116
  i0.ɵɵelementEnd();
1099
1117
  } }
1100
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_9_Template(rf, ctx) { if (rf & 1) {
1101
- i0.ɵɵelementStart(0, "td", 287);
1102
- i0.ɵɵtemplate(1, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_9_div_1_Template, 5, 9, "div", 297)(2, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_9_span_2_Template, 2, 0, "span", 293);
1118
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_9_Template(rf, ctx) { if (rf & 1) {
1119
+ i0.ɵɵelementStart(0, "td", 237);
1120
+ i0.ɵɵconditionalCreate(1, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_9_Conditional_1_Template, 5, 9, "div", 248);
1121
+ i0.ɵɵconditionalCreate(2, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_9_Conditional_2_Template, 2, 0, "span", 246);
1103
1122
  i0.ɵɵelementEnd();
1104
1123
  } if (rf & 2) {
1105
1124
  const run_r25 = i0.ɵɵnextContext().$implicit;
1106
1125
  i0.ɵɵadvance();
1107
- i0.ɵɵproperty("ngIf", run_r25.Score != null);
1126
+ i0.ɵɵconditional(run_r25.Score != null ? 1 : -1);
1108
1127
  i0.ɵɵadvance();
1109
- i0.ɵɵproperty("ngIf", run_r25.Score == null);
1128
+ i0.ɵɵconditional(run_r25.Score == null ? 2 : -1);
1110
1129
  } }
1111
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_div_1_span_3_Template(rf, ctx) { if (rf & 1) {
1112
- i0.ɵɵelementStart(0, "span", 308);
1113
- i0.ɵɵelement(1, "i", 211);
1130
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_10_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1131
+ i0.ɵɵelementStart(0, "span", 255);
1132
+ i0.ɵɵelement(1, "i", 179);
1114
1133
  i0.ɵɵelementEnd();
1115
1134
  } if (rf & 2) {
1116
1135
  const run_r25 = i0.ɵɵnextContext(3).$implicit;
@@ -1118,11 +1137,11 @@ function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_div_1_span_
1118
1137
  i0.ɵɵadvance();
1119
1138
  i0.ɵɵclassProp("fa-check", ctx_r1.getHumanIsCorrect(run_r25.ID) === true)("fa-times", ctx_r1.getHumanIsCorrect(run_r25.ID) === false)("correct", ctx_r1.getHumanIsCorrect(run_r25.ID) === true)("incorrect", ctx_r1.getHumanIsCorrect(run_r25.ID) === false);
1120
1139
  } }
1121
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_div_1_Template(rf, ctx) { if (rf & 1) {
1122
- i0.ɵɵelementStart(0, "div", 305)(1, "span", 306);
1140
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_10_Conditional_1_Template(rf, ctx) { if (rf & 1) {
1141
+ i0.ɵɵelementStart(0, "div", 252)(1, "span", 254);
1123
1142
  i0.ɵɵtext(2);
1124
1143
  i0.ɵɵelementEnd();
1125
- i0.ɵɵtemplate(3, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_div_1_span_3_Template, 2, 8, "span", 307);
1144
+ i0.ɵɵconditionalCreate(3, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_10_Conditional_1_Conditional_3_Template, 2, 8, "span", 255);
1126
1145
  i0.ɵɵelementEnd();
1127
1146
  } if (rf & 2) {
1128
1147
  const run_r25 = i0.ɵɵnextContext(2).$implicit;
@@ -1132,26 +1151,27 @@ function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_div_1_Templ
1132
1151
  i0.ɵɵadvance();
1133
1152
  i0.ɵɵtextInterpolate1(" ", ctx_r1.getFeedbackRating(run_r25.ID), "/10 ");
1134
1153
  i0.ɵɵadvance();
1135
- i0.ɵɵproperty("ngIf", ctx_r1.getHumanIsCorrect(run_r25.ID) !== null);
1154
+ i0.ɵɵconditional(ctx_r1.getHumanIsCorrect(run_r25.ID) !== null ? 3 : -1);
1136
1155
  } }
1137
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_span_2_Template(rf, ctx) { if (rf & 1) {
1138
- i0.ɵɵelementStart(0, "span", 309);
1139
- i0.ɵɵelement(1, "i", 310);
1156
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_10_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1157
+ i0.ɵɵelementStart(0, "span", 253);
1158
+ i0.ɵɵelement(1, "i", 256);
1140
1159
  i0.ɵɵelementEnd();
1141
1160
  } }
1142
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_Template(rf, ctx) { if (rf & 1) {
1143
- i0.ɵɵelementStart(0, "td", 288);
1144
- i0.ɵɵtemplate(1, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_div_1_Template, 4, 8, "div", 303)(2, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_span_2_Template, 2, 0, "span", 304);
1161
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1162
+ i0.ɵɵelementStart(0, "td", 238);
1163
+ i0.ɵɵconditionalCreate(1, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_10_Conditional_1_Template, 4, 8, "div", 252);
1164
+ i0.ɵɵconditionalCreate(2, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_10_Conditional_2_Template, 2, 0, "span", 253);
1145
1165
  i0.ɵɵelementEnd();
1146
1166
  } if (rf & 2) {
1147
1167
  const run_r25 = i0.ɵɵnextContext().$implicit;
1148
1168
  const ctx_r1 = i0.ɵɵnextContext(3);
1149
1169
  i0.ɵɵadvance();
1150
- i0.ɵɵproperty("ngIf", ctx_r1.hasFeedback(run_r25.ID));
1170
+ i0.ɵɵconditional(ctx_r1.hasFeedback(run_r25.ID) ? 1 : -1);
1151
1171
  i0.ɵɵadvance();
1152
- i0.ɵɵproperty("ngIf", !ctx_r1.hasFeedback(run_r25.ID));
1172
+ i0.ɵɵconditional(!ctx_r1.hasFeedback(run_r25.ID) ? 2 : -1);
1153
1173
  } }
1154
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_12_Template(rf, ctx) { if (rf & 1) {
1174
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_12_Template(rf, ctx) { if (rf & 1) {
1155
1175
  i0.ɵɵelementStart(0, "span");
1156
1176
  i0.ɵɵtext(1);
1157
1177
  i0.ɵɵelementEnd();
@@ -1160,121 +1180,127 @@ function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_12_Template(
1160
1180
  i0.ɵɵadvance();
1161
1181
  i0.ɵɵtextInterpolate1("", run_r25.DurationSeconds.toFixed(1), "s");
1162
1182
  } }
1163
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_13_Template(rf, ctx) { if (rf & 1) {
1164
- i0.ɵɵelementStart(0, "span", 302);
1183
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_13_Template(rf, ctx) { if (rf & 1) {
1184
+ i0.ɵɵelementStart(0, "span", 246);
1165
1185
  i0.ɵɵtext(1, "\u2014");
1166
1186
  i0.ɵɵelementEnd();
1167
1187
  } }
1168
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_15_Template(rf, ctx) { if (rf & 1) {
1188
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_15_Template(rf, ctx) { if (rf & 1) {
1169
1189
  i0.ɵɵelementStart(0, "span");
1170
1190
  i0.ɵɵtext(1);
1171
1191
  i0.ɵɵelementEnd();
1172
1192
  } if (rf & 2) {
1173
1193
  const run_r25 = i0.ɵɵnextContext().$implicit;
1174
1194
  i0.ɵɵadvance();
1175
- i0.ɵɵtextInterpolate1("$", run_r25.CostUSD.toFixed(4), "");
1195
+ i0.ɵɵtextInterpolate1("$", run_r25.CostUSD.toFixed(4));
1176
1196
  } }
1177
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_16_Template(rf, ctx) { if (rf & 1) {
1178
- i0.ɵɵelementStart(0, "span", 302);
1197
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_16_Template(rf, ctx) { if (rf & 1) {
1198
+ i0.ɵɵelementStart(0, "span", 246);
1179
1199
  i0.ɵɵtext(1, "\u2014");
1180
1200
  i0.ɵɵelementEnd();
1181
1201
  } }
1182
- function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_Template(rf, ctx) { if (rf & 1) {
1202
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Template(rf, ctx) { if (rf & 1) {
1183
1203
  const _r24 = i0.ɵɵgetCurrentView();
1184
- i0.ɵɵelementStart(0, "tr", 289);
1185
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_Template_tr_click_0_listener() { const run_r25 = i0.ɵɵrestoreView(_r24).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.openTestRun(run_r25.ID)); });
1186
- i0.ɵɵelementStart(1, "td", 278);
1204
+ i0.ɵɵelementStart(0, "tr", 242);
1205
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Template_tr_click_0_listener() { const run_r25 = i0.ɵɵrestoreView(_r24).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.openTestRun(run_r25.ID)); });
1206
+ i0.ɵɵelementStart(1, "td", 234);
1187
1207
  i0.ɵɵtext(2);
1188
1208
  i0.ɵɵelementEnd();
1189
- i0.ɵɵelementStart(3, "td", 279)(4, "div", 290)(5, "span", 291);
1209
+ i0.ɵɵelementStart(3, "td", 235)(4, "div", 243)(5, "span", 244);
1190
1210
  i0.ɵɵtext(6);
1191
1211
  i0.ɵɵelementEnd();
1192
- i0.ɵɵtemplate(7, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_div_7_Template, 2, 1, "div", 292);
1212
+ i0.ɵɵconditionalCreate(7, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_7_Template, 3, 0, "div", 245);
1193
1213
  i0.ɵɵelementEnd()();
1194
- i0.ɵɵtemplate(8, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_8_Template, 4, 16, "td", 280)(9, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_9_Template, 3, 2, "td", 281)(10, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_td_10_Template, 3, 2, "td", 282);
1195
- i0.ɵɵelementStart(11, "td", 283);
1196
- i0.ɵɵtemplate(12, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_12_Template, 2, 1, "span", 6)(13, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_13_Template, 2, 0, "span", 293);
1197
- i0.ɵɵelementEnd();
1198
- i0.ɵɵelementStart(14, "td", 284);
1199
- i0.ɵɵtemplate(15, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_15_Template, 2, 1, "span", 6)(16, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_span_16_Template, 2, 0, "span", 293);
1214
+ i0.ɵɵconditionalCreate(8, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_8_Template, 4, 16, "td", 236);
1215
+ i0.ɵɵconditionalCreate(9, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_9_Template, 3, 2, "td", 237);
1216
+ i0.ɵɵconditionalCreate(10, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_10_Template, 3, 2, "td", 238);
1217
+ i0.ɵɵelementStart(11, "td", 239);
1218
+ i0.ɵɵconditionalCreate(12, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_12_Template, 2, 1, "span");
1219
+ i0.ɵɵconditionalCreate(13, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_13_Template, 2, 0, "span", 246);
1220
+ i0.ɵɵelementEnd();
1221
+ i0.ɵɵelementStart(14, "td", 240);
1222
+ i0.ɵɵconditionalCreate(15, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_15_Template, 2, 1, "span");
1223
+ i0.ɵɵconditionalCreate(16, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Conditional_16_Template, 2, 0, "span", 246);
1200
1224
  i0.ɵɵelementEnd()();
1201
1225
  } if (rf & 2) {
1202
1226
  const run_r25 = ctx.$implicit;
1203
- const i_r27 = ctx.index;
1227
+ const ɵ$index_1024_r27 = ctx.$index;
1204
1228
  const ctx_r1 = i0.ɵɵnextContext(3);
1205
1229
  i0.ɵɵclassProp("row-passed", run_r25.Status === "Passed")("row-failed", run_r25.Status === "Failed")("row-error", run_r25.Status === "Error")("row-skipped", run_r25.Status === "Skipped");
1206
1230
  i0.ɵɵadvance(2);
1207
- i0.ɵɵtextInterpolate(i_r27 + 1);
1231
+ i0.ɵɵtextInterpolate(ɵ$index_1024_r27 + 1);
1208
1232
  i0.ɵɵadvance(4);
1209
1233
  i0.ɵɵtextInterpolate(run_r25.Test || "Unknown Test");
1210
1234
  i0.ɵɵadvance();
1211
- i0.ɵɵproperty("ngIf", ctx_r1.getRunTags(run_r25).length > 0);
1235
+ i0.ɵɵconditional(ctx_r1.getRunTags(run_r25).length > 0 ? 7 : -1);
1212
1236
  i0.ɵɵadvance();
1213
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showExecution);
1237
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showExecution ? 8 : -1);
1214
1238
  i0.ɵɵadvance();
1215
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showAuto);
1239
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showAuto ? 9 : -1);
1216
1240
  i0.ɵɵadvance();
1217
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showHuman);
1241
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showHuman ? 10 : -1);
1218
1242
  i0.ɵɵadvance(2);
1219
- i0.ɵɵproperty("ngIf", run_r25.DurationSeconds);
1243
+ i0.ɵɵconditional(run_r25.DurationSeconds ? 12 : -1);
1220
1244
  i0.ɵɵadvance();
1221
- i0.ɵɵproperty("ngIf", !run_r25.DurationSeconds);
1245
+ i0.ɵɵconditional(!run_r25.DurationSeconds ? 13 : -1);
1222
1246
  i0.ɵɵadvance(2);
1223
- i0.ɵɵproperty("ngIf", run_r25.CostUSD);
1247
+ i0.ɵɵconditional(run_r25.CostUSD ? 15 : -1);
1224
1248
  i0.ɵɵadvance();
1225
- i0.ɵɵproperty("ngIf", !run_r25.CostUSD);
1249
+ i0.ɵɵconditional(!run_r25.CostUSD ? 16 : -1);
1226
1250
  } }
1227
- function TestSuiteRunFormComponentExtended_div_132_div_3_Template(rf, ctx) { if (rf & 1) {
1228
- i0.ɵɵelementStart(0, "div", 257)(1, "div", 269)(2, "h3");
1229
- i0.ɵɵelement(3, "i", 270);
1251
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1252
+ i0.ɵɵelementStart(0, "div", 213)(1, "div", 225)(2, "h3");
1253
+ i0.ɵɵelement(3, "i", 226);
1230
1254
  i0.ɵɵtext(4, " Test Results");
1231
1255
  i0.ɵɵelementEnd();
1232
- i0.ɵɵelementStart(5, "div", 271)(6, "span", 272);
1233
- i0.ɵɵelement(7, "i", 34);
1256
+ i0.ɵɵelementStart(5, "div", 227)(6, "span", 228);
1257
+ i0.ɵɵelement(7, "i", 33);
1234
1258
  i0.ɵɵtext(8, " Passed");
1235
1259
  i0.ɵɵelementEnd();
1236
- i0.ɵɵelementStart(9, "span", 273);
1237
- i0.ɵɵelement(10, "i", 39);
1260
+ i0.ɵɵelementStart(9, "span", 229);
1261
+ i0.ɵɵelement(10, "i", 38);
1238
1262
  i0.ɵɵtext(11, " Failed");
1239
1263
  i0.ɵɵelementEnd();
1240
- i0.ɵɵelementStart(12, "span", 274);
1241
- i0.ɵɵelement(13, "i", 41);
1264
+ i0.ɵɵelementStart(12, "span", 230);
1265
+ i0.ɵɵelement(13, "i", 40);
1242
1266
  i0.ɵɵtext(14, " Error");
1243
1267
  i0.ɵɵelementEnd();
1244
- i0.ɵɵelementStart(15, "span", 275);
1245
- i0.ɵɵelement(16, "i", 43);
1268
+ i0.ɵɵelementStart(15, "span", 231);
1269
+ i0.ɵɵelement(16, "i", 42);
1246
1270
  i0.ɵɵtext(17, " Skipped");
1247
1271
  i0.ɵɵelementEnd()()();
1248
- i0.ɵɵelementStart(18, "div", 276)(19, "table", 277)(20, "thead")(21, "tr")(22, "th", 278);
1272
+ i0.ɵɵelementStart(18, "div", 232)(19, "table", 233)(20, "thead")(21, "tr")(22, "th", 234);
1249
1273
  i0.ɵɵtext(23, "#");
1250
1274
  i0.ɵɵelementEnd();
1251
- i0.ɵɵelementStart(24, "th", 279);
1275
+ i0.ɵɵelementStart(24, "th", 235);
1252
1276
  i0.ɵɵtext(25, "Test Name");
1253
1277
  i0.ɵɵelementEnd();
1254
- i0.ɵɵtemplate(26, TestSuiteRunFormComponentExtended_div_132_div_3_th_26_Template, 2, 0, "th", 280)(27, TestSuiteRunFormComponentExtended_div_132_div_3_th_27_Template, 2, 0, "th", 281)(28, TestSuiteRunFormComponentExtended_div_132_div_3_th_28_Template, 2, 0, "th", 282);
1255
- i0.ɵɵelementStart(29, "th", 283);
1278
+ i0.ɵɵconditionalCreate(26, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_Conditional_26_Template, 2, 0, "th", 236);
1279
+ i0.ɵɵconditionalCreate(27, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_Conditional_27_Template, 2, 0, "th", 237);
1280
+ i0.ɵɵconditionalCreate(28, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_Conditional_28_Template, 2, 0, "th", 238);
1281
+ i0.ɵɵelementStart(29, "th", 239);
1256
1282
  i0.ɵɵtext(30, "Duration");
1257
1283
  i0.ɵɵelementEnd();
1258
- i0.ɵɵelementStart(31, "th", 284);
1284
+ i0.ɵɵelementStart(31, "th", 240);
1259
1285
  i0.ɵɵtext(32, "Cost");
1260
1286
  i0.ɵɵelementEnd()()();
1261
1287
  i0.ɵɵelementStart(33, "tbody");
1262
- i0.ɵɵtemplate(34, TestSuiteRunFormComponentExtended_div_132_div_3_tr_34_Template, 17, 18, "tr", 285);
1288
+ i0.ɵɵrepeaterCreate(34, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_For_35_Template, 17, 18, "tr", 241, i0.ɵɵrepeaterTrackByIdentity);
1263
1289
  i0.ɵɵelementEnd()()()();
1264
1290
  } if (rf & 2) {
1265
1291
  const ctx_r1 = i0.ɵɵnextContext(2);
1266
1292
  i0.ɵɵadvance(26);
1267
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showExecution);
1293
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showExecution ? 26 : -1);
1268
1294
  i0.ɵɵadvance();
1269
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showAuto);
1295
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showAuto ? 27 : -1);
1270
1296
  i0.ɵɵadvance();
1271
- i0.ɵɵproperty("ngIf", ctx_r1.evalPreferences.showHuman);
1297
+ i0.ɵɵconditional(ctx_r1.evalPreferences.showHuman ? 28 : -1);
1272
1298
  i0.ɵɵadvance(6);
1273
- i0.ɵɵproperty("ngForOf", ctx_r1.testRuns);
1299
+ i0.ɵɵrepeater(ctx_r1.testRuns);
1274
1300
  } }
1275
- function TestSuiteRunFormComponentExtended_div_132_div_4_Template(rf, ctx) { if (rf & 1) {
1276
- i0.ɵɵelementStart(0, "div", 240)(1, "div", 241);
1277
- i0.ɵɵelement(2, "i", 55);
1301
+ function TestSuiteRunFormComponentExtended_Conditional_132_Conditional_4_Template(rf, ctx) { if (rf & 1) {
1302
+ i0.ɵɵelementStart(0, "div", 144)(1, "div", 201);
1303
+ i0.ɵɵelement(2, "i", 54);
1278
1304
  i0.ɵɵelementEnd();
1279
1305
  i0.ɵɵelementStart(3, "h4");
1280
1306
  i0.ɵɵtext(4, "No Test Results Yet");
@@ -1283,52 +1309,55 @@ function TestSuiteRunFormComponentExtended_div_132_div_4_Template(rf, ctx) { if
1283
1309
  i0.ɵɵtext(6, "Test runs will appear here once the suite execution completes.");
1284
1310
  i0.ɵɵelementEnd()();
1285
1311
  } }
1286
- function TestSuiteRunFormComponentExtended_div_132_Template(rf, ctx) { if (rf & 1) {
1287
- i0.ɵɵelementStart(0, "div", 253);
1288
- i0.ɵɵtemplate(1, TestSuiteRunFormComponentExtended_div_132_div_1_Template, 4, 0, "div", 254)(2, TestSuiteRunFormComponentExtended_div_132_div_2_Template, 49, 7, "div", 255)(3, TestSuiteRunFormComponentExtended_div_132_div_3_Template, 35, 4, "div", 255)(4, TestSuiteRunFormComponentExtended_div_132_div_4_Template, 7, 0, "div", 171);
1312
+ function TestSuiteRunFormComponentExtended_Conditional_132_Template(rf, ctx) { if (rf & 1) {
1313
+ i0.ɵɵelementStart(0, "div", 61);
1314
+ i0.ɵɵconditionalCreate(1, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_1_Template, 4, 0, "div", 212);
1315
+ i0.ɵɵconditionalCreate(2, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_2_Template, 49, 7, "div", 213);
1316
+ i0.ɵɵconditionalCreate(3, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_3_Template, 36, 3, "div", 213);
1317
+ i0.ɵɵconditionalCreate(4, TestSuiteRunFormComponentExtended_Conditional_132_Conditional_4_Template, 7, 0, "div", 144);
1289
1318
  i0.ɵɵelementEnd();
1290
1319
  } if (rf & 2) {
1291
1320
  const ctx_r1 = i0.ɵɵnextContext();
1292
1321
  i0.ɵɵadvance();
1293
- i0.ɵɵproperty("ngIf", ctx_r1.loadingTestRuns);
1322
+ i0.ɵɵconditional(ctx_r1.loadingTestRuns ? 1 : -1);
1294
1323
  i0.ɵɵadvance();
1295
- i0.ɵɵproperty("ngIf", !ctx_r1.loadingTestRuns && ctx_r1.testRuns.length > 0);
1324
+ i0.ɵɵconditional(!ctx_r1.loadingTestRuns && ctx_r1.testRuns.length > 0 ? 2 : -1);
1296
1325
  i0.ɵɵadvance();
1297
- i0.ɵɵproperty("ngIf", !ctx_r1.loadingTestRuns && ctx_r1.testRuns.length > 0);
1326
+ i0.ɵɵconditional(!ctx_r1.loadingTestRuns && ctx_r1.testRuns.length > 0 ? 3 : -1);
1298
1327
  i0.ɵɵadvance();
1299
- i0.ɵɵproperty("ngIf", !ctx_r1.loadingTestRuns && ctx_r1.testRunsLoaded && ctx_r1.testRuns.length === 0);
1328
+ i0.ɵɵconditional(!ctx_r1.loadingTestRuns && ctx_r1.testRunsLoaded && ctx_r1.testRuns.length === 0 ? 4 : -1);
1300
1329
  } }
1301
- function TestSuiteRunFormComponentExtended_div_133_Template(rf, ctx) { if (rf & 1) {
1302
- i0.ɵɵelementStart(0, "div", 311);
1303
- i0.ɵɵelement(1, "mj-execution-context", 312);
1330
+ function TestSuiteRunFormComponentExtended_Conditional_133_Template(rf, ctx) { if (rf & 1) {
1331
+ i0.ɵɵelementStart(0, "div", 62);
1332
+ i0.ɵɵelement(1, "mj-execution-context", 257);
1304
1333
  i0.ɵɵelementEnd();
1305
1334
  } if (rf & 2) {
1306
1335
  const ctx_r1 = i0.ɵɵnextContext();
1307
1336
  i0.ɵɵadvance();
1308
1337
  i0.ɵɵproperty("machineName", ctx_r1.record.MachineName)("machineId", ctx_r1.record.MachineID)("runByUserName", ctx_r1.record.RunByUserName)("runByUserEmail", ctx_r1.record.RunByUserEmail)("runContextDetailsJson", ctx_r1.record.RunContextDetails);
1309
1338
  } }
1310
- function TestSuiteRunFormComponentExtended_div_136_Template(rf, ctx) { if (rf & 1) {
1339
+ function TestSuiteRunFormComponentExtended_Conditional_136_Template(rf, ctx) { if (rf & 1) {
1311
1340
  const _r28 = i0.ɵɵgetCurrentView();
1312
- i0.ɵɵelementStart(0, "div", 313)(1, "div", 314);
1313
- i0.ɵɵelement(2, "i", 65);
1341
+ i0.ɵɵelementStart(0, "div", 65)(1, "div", 258);
1342
+ i0.ɵɵelement(2, "i", 64);
1314
1343
  i0.ɵɵtext(3, " Shortcuts ");
1315
- i0.ɵɵelementStart(4, "button", 315);
1316
- i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_div_136_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r28); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleShortcuts()); });
1317
- i0.ɵɵelement(5, "i", 102);
1344
+ i0.ɵɵelementStart(4, "button", 259);
1345
+ i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Conditional_136_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r28); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleShortcuts()); });
1346
+ i0.ɵɵelement(5, "i", 93);
1318
1347
  i0.ɵɵelementEnd()();
1319
- i0.ɵɵelementStart(6, "div", 316)(7, "div", 317)(8, "span");
1348
+ i0.ɵɵelementStart(6, "div", 260)(7, "div", 261)(8, "span");
1320
1349
  i0.ɵɵtext(9, "Refresh");
1321
1350
  i0.ɵɵelementEnd();
1322
- i0.ɵɵelementStart(10, "span", 318)(11, "kbd");
1351
+ i0.ɵɵelementStart(10, "span", 262)(11, "kbd");
1323
1352
  i0.ɵɵtext(12, "Cmd");
1324
1353
  i0.ɵɵelementEnd();
1325
1354
  i0.ɵɵelementStart(13, "kbd");
1326
1355
  i0.ɵɵtext(14, "R");
1327
1356
  i0.ɵɵelementEnd()()();
1328
- i0.ɵɵelementStart(15, "div", 317)(16, "span");
1357
+ i0.ɵɵelementStart(15, "div", 261)(16, "span");
1329
1358
  i0.ɵɵtext(17, "Re-run Suite");
1330
1359
  i0.ɵɵelementEnd();
1331
- i0.ɵɵelementStart(18, "span", 318)(19, "kbd");
1360
+ i0.ɵɵelementStart(18, "span", 262)(19, "kbd");
1332
1361
  i0.ɵɵtext(20, "Cmd");
1333
1362
  i0.ɵɵelementEnd();
1334
1363
  i0.ɵɵelementStart(21, "kbd");
@@ -1337,10 +1366,10 @@ function TestSuiteRunFormComponentExtended_div_136_Template(rf, ctx) { if (rf &
1337
1366
  i0.ɵɵelementStart(23, "kbd");
1338
1367
  i0.ɵɵtext(24, "R");
1339
1368
  i0.ɵɵelementEnd()()();
1340
- i0.ɵɵelementStart(25, "div", 317)(26, "span");
1369
+ i0.ɵɵelementStart(25, "div", 261)(26, "span");
1341
1370
  i0.ɵɵtext(27, "Switch Tabs");
1342
1371
  i0.ɵɵelementEnd();
1343
- i0.ɵɵelementStart(28, "span", 318)(29, "kbd");
1372
+ i0.ɵɵelementStart(28, "span", 262)(29, "kbd");
1344
1373
  i0.ɵɵtext(30, "1");
1345
1374
  i0.ɵɵelementEnd();
1346
1375
  i0.ɵɵtext(31, "-");
@@ -2048,164 +2077,170 @@ let TestSuiteRunFormComponentExtended = class TestSuiteRunFormComponentExtended
2048
2077
  }
2049
2078
  static { this.ɵfac = function TestSuiteRunFormComponentExtended_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TestSuiteRunFormComponentExtended)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.SharedService), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3.TestingDialogService), i0.ɵɵdirectiveInject(i3.EvaluationPreferencesService), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i4.ApplicationManager)); }; }
2050
2079
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestSuiteRunFormComponentExtended, selectors: [["mj-test-suite-run-form"]], hostBindings: function TestSuiteRunFormComponentExtended_HostBindings(rf, ctx) { if (rf & 1) {
2051
- i0.ɵɵlistener("keydown", function TestSuiteRunFormComponentExtended_keydown_HostBindingHandler($event) { return ctx.handleKeyboardShortcut($event); }, false, i0.ɵɵresolveDocument);
2052
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 137, vars: 48, consts: [["kendoDialogContainer", "", 1, "test-suite-run-form"], [1, "suite-run-header"], ["aria-label", "Breadcrumb", 1, "breadcrumb"], ["href", "javascript:void(0)", 3, "click"], [1, "fas", "fa-vial"], [1, "breadcrumb-text"], [4, "ngIf"], [1, "current"], [1, "fas", "fa-chevron-right", "separator"], [1, "header-content"], [1, "header-left"], [1, "suite-run-icon"], [1, "fas", 3, "ngClass"], [1, "suite-run-info"], [1, "suite-run-meta"], [1, "status-badge", 3, "ngClass"], ["class", "meta-tag environment", 4, "ngIf"], ["class", "meta-tag trigger", 4, "ngIf"], [1, "header-actions"], ["kendoButton", "", "themeColor", "primary", 3, "click", 4, "ngIf"], ["kendoButton", "", 3, "click", "disabled"], [1, "metrics-bar"], [1, "metric-card"], [1, "metric-icon"], [1, "fas", "fa-clock"], [1, "metric-content"], [1, "metric-value"], [1, "metric-label"], [1, "fas", "fa-percentage"], [1, "fas", "fa-dollar-sign"], [1, "fas", "fa-calendar"], [1, "results-summary"], [1, "result-item", "passed"], [1, "result-icon"], [1, "fas", "fa-check-circle"], [1, "result-content"], [1, "result-count"], [1, "result-label"], [1, "result-item", "failed"], [1, "fas", "fa-times-circle"], [1, "result-item", "error"], [1, "fas", "fa-exclamation-circle"], [1, "result-item", "skipped"], [1, "fas", "fa-forward"], [1, "result-item", "total"], [1, "fas", "fa-list"], ["class", "tags-bar", 4, "ngIf"], ["class", "tags-editor-panel", 4, "ngIf"], [1, "tabs-container"], ["role", "tablist", 1, "tabs"], ["role", "tab", 1, "tab", 3, "click"], [1, "fas", "fa-th-large"], ["class", "tab-badge", 4, "ngIf"], [1, "fas", "fa-info-circle"], ["role", "tab", "title", "Press 4", 1, "tab", 3, "click"], [1, "fas", "fa-chart-bar"], ["role", "tab", "title", "Press 5", 1, "tab", 3, "click"], [1, "fas", "fa-microchip"], [1, "tab-content"], ["class", "overview-tab", 4, "ngIf"], ["class", "runs-tab", 4, "ngIf"], ["class", "details-tab", 4, "ngIf"], ["class", "analytics-tab", 4, "ngIf"], ["class", "execution-tab", 4, "ngIf"], [1, "shortcuts-toggle", 3, "click", "title"], [1, "fas", "fa-keyboard"], ["class", "keyboard-shortcuts", 4, "ngIf"], [1, "fas", "fa-layer-group"], [1, "meta-tag", "environment"], [1, "fas", "fa-server"], [1, "meta-tag", "trigger"], [1, "fas", "fa-bolt"], ["kendoButton", "", "themeColor", "primary", 3, "click"], [1, "fas", "fa-play"], [1, "tags-bar"], [1, "tags-bar-content"], [1, "tags-bar-label"], [1, "fas", "fa-tags"], ["class", "tags-bar-chips", 4, "ngIf"], ["class", "tags-bar-empty", 4, "ngIf"], ["title", "Edit tags", 1, "tags-bar-edit", 3, "click"], [1, "fas", "fa-plus"], [1, "tags-bar-chips"], ["class", "tag-inline", 4, "ngFor", "ngForOf"], [1, "tag-inline"], [1, "tags-bar-empty"], [1, "tags-editor-panel"], [1, "tags-editor-header"], [1, "tags-editor-title"], [1, "tags-editor-body"], [1, "tags-editor-chips"], ["class", "tag-editable", 4, "ngFor", "ngForOf"], ["class", "tags-empty-hint", 4, "ngIf"], [1, "tags-editor-input"], ["type", "text", "placeholder", "Type a tag and press Enter...", 1, "tag-text-input", 3, "ngModelChange", "keyup.enter", "ngModel"], ["kendoButton", "", "fillMode", "flat", 3, "click", "disabled"], [1, "tags-editor-footer"], ["kendoButton", "", "themeColor", "primary", 3, "click", "disabled"], ["class", "fas fa-spinner fa-spin", 4, "ngIf"], ["kendoButton", "", "fillMode", "flat", 3, "click"], [1, "tag-editable"], ["title", "Remove tag", 1, "tag-remove-btn", 3, "click"], [1, "fas", "fa-times"], [1, "tags-empty-hint"], [1, "fas", "fa-spinner", "fa-spin"], [1, "tab-badge"], [1, "overview-tab"], [1, "result-hero"], [1, "result-hero-icon"], [1, "result-hero-text"], [1, "result-hero-stats"], [1, "stat-item"], [1, "stat-value"], [1, "stat-label"], [1, "stat-divider"], ["class", "evaluation-summary", 4, "ngIf"], ["class", "needs-review-section", 4, "ngIf"], ["class", "progress-section", 4, "ngIf"], [1, "evaluation-summary"], [1, "eval-summary-grid"], ["class", "eval-summary-card", 4, "ngIf"], [1, "eval-summary-card"], [1, "eval-card-header"], [1, "fa-solid", "fa-user"], [1, "eval-card-body"], [1, "eval-stat-row"], [1, "eval-stat-label"], [1, "eval-stat-value"], ["class", "eval-stat-row", 4, "ngIf"], ["class", "eval-card-footer", 4, "ngIf"], [1, "eval-stat-value", "correct"], ["class", "eval-stat-value incorrect", 4, "ngIf"], [1, "eval-stat-value", "incorrect"], [1, "eval-card-footer"], [1, "pending-badge"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-robot"], [1, "fa-solid", "fa-circle-check"], ["class", "eval-stat-value error", 4, "ngIf"], ["class", "eval-stat-value timeout", 4, "ngIf"], [1, "eval-stat-value", "error"], [1, "eval-stat-value", "timeout"], [1, "needs-review-section"], [1, "needs-review-header"], [1, "fa-solid", "fa-user-clock"], [1, "review-count"], [1, "needs-review-list"], ["class", "review-item", 3, "high-priority", "medium-priority", "click", 4, "ngFor", "ngForOf"], ["class", "review-more", 4, "ngIf"], [1, "review-item", 3, "click"], [1, "review-item-icon"], ["class", "fa-solid fa-exclamation-triangle", 4, "ngIf"], ["class", "fa-solid fa-circle-dot", 4, "ngIf"], ["class", "fa-solid fa-clock", 4, "ngIf"], [1, "review-item-content"], [1, "review-item-name"], [1, "review-item-reason"], [1, "review-item-action"], [1, "fa-solid", "fa-chevron-right"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "fa-solid", "fa-circle-dot"], [1, "review-more"], [1, "progress-section"], [1, "progress-info"], [1, "fas", "fa-circle-notch", "fa-spin"], [1, "auto-refresh-notice"], [1, "fas", "fa-sync"], [1, "runs-tab"], ["class", "runs-toolbar", 4, "ngIf"], ["class", "loading-state", 4, "ngIf"], ["class", "test-runs-list", 4, "ngIf"], ["class", "empty-state", 4, "ngIf"], [1, "runs-toolbar"], [1, "run-filters"], [1, "filter-btn", 3, "click"], ["class", "filter-btn passed", 3, "active", "click", 4, "ngIf"], ["class", "filter-btn failed", 3, "active", "click", 4, "ngIf"], ["class", "filter-btn error", 3, "active", "click", 4, "ngIf"], [1, "runs-actions"], ["kendoButton", "", 3, "click"], [1, "fas", "fa-download"], [1, "filter-btn", "passed", 3, "click"], [1, "fas", "fa-check"], [1, "filter-btn", "failed", 3, "click"], [1, "filter-btn", "error", 3, "click"], [1, "fas", "fa-exclamation"], [1, "loading-state"], [1, "skeleton-list"], ["class", "skeleton-card", 4, "ngFor", "ngForOf"], [1, "skeleton-card"], [1, "skeleton-sequence"], [1, "skeleton-icon"], [1, "skeleton-content"], [1, "skeleton-line", "wide"], [1, "skeleton-line", "narrow"], [1, "test-runs-list"], ["class", "test-run-card", 4, "ngFor", "ngForOf"], [1, "test-run-card"], [1, "test-run-item", 3, "click"], [1, "run-sequence"], [1, "run-icon"], [1, "run-content"], [1, "run-header-row"], [1, "run-name"], [3, "executionStatus", "originalStatus", "autoScore", "humanRating", "humanIsCorrect", "hasHumanFeedback", "preferences", "mode"], [1, "run-meta"], ["class", "run-duration", 4, "ngIf"], ["class", "run-cost", 4, "ngIf"], [3, "entityName", "recordId", 4, "ngIf"], ["class", "run-tags", 4, "ngIf"], [1, "run-expand"], [1, "fas"], ["class", "inline-feedback", 4, "ngIf"], [1, "run-duration"], [1, "run-cost"], [3, "entityName", "recordId"], [1, "run-tags"], ["class", "tag-chip", 4, "ngFor", "ngForOf"], [1, "tag-chip"], [1, "inline-feedback"], [1, "feedback-divider"], [1, "feedback-section"], [1, "feedback-label"], [1, "inline-rating"], [1, "rating-numbers"], ["type", "button", "class", "rating-btn", 3, "selected", "hover", "low", "mid", "high", "click", "mouseenter", "mouseleave", 4, "ngFor", "ngForOf"], ["class", "rating-info", 4, "ngIf"], [1, "correctness-row"], [1, "correctness-label"], [1, "correctness-options"], [1, "radio-opt", 3, "click"], ["type", "radio", 3, "ngModelChange", "name", "value", "ngModel"], [1, "comments-row", 3, "click"], ["placeholder", "Add comments or corrections...", "rows", "3", 1, "feedback-textarea", 3, "ngModelChange", "ngModel"], [1, "feedback-actions", 3, "click"], [1, "fas", "fa-external-link-alt"], ["type", "button", 1, "rating-btn", 3, "click", "mouseenter", "mouseleave"], [1, "rating-info"], [1, "rating-value"], [1, "rating-label-text"], [1, "empty-state"], [1, "empty-icon"], [1, "fas", "fa-inbox"], [1, "fas", "fa-filter"], [1, "details-tab"], [1, "details-card"], [1, "details-grid"], [1, "detail-item"], [1, "detail-label"], [1, "detail-value", "monospace"], [1, "detail-value"], ["href", "javascript:void(0)", 3, "click", 4, "ngIf"], [1, "status-inline", 3, "ngClass"], [1, "analytics-tab"], ["class", "analytics-loading", 4, "ngIf"], ["class", "analytics-section", 4, "ngIf"], [1, "analytics-loading"], [1, "analytics-section"], [1, "fas", "fa-chart-pie"], [1, "stats-grid"], [1, "stat-card"], [1, "stat-icon", "passed"], [1, "stat-content"], [1, "stat-percent"], [1, "stat-icon", "failed"], [1, "stat-icon", "score"], [1, "fas", "fa-star"], [1, "stat-icon", "duration"], [1, "stat-icon", "cost"], [1, "analytics-header"], [1, "fas", "fa-table"], [1, "analytics-legend"], [1, "legend-item", "passed"], [1, "legend-item", "failed"], [1, "legend-item", "error"], [1, "legend-item", "skipped"], [1, "results-table-wrapper"], [1, "results-table"], [1, "seq-col"], [1, "name-col"], ["class", "status-col", 4, "ngIf"], ["class", "score-col", 4, "ngIf"], ["class", "feedback-col", 4, "ngIf"], [1, "duration-col"], [1, "cost-col"], ["class", "result-row", 3, "row-passed", "row-failed", "row-error", "row-skipped", "click", 4, "ngFor", "ngForOf"], [1, "status-col"], [1, "score-col"], [1, "feedback-col"], [1, "result-row", 3, "click"], [1, "test-name-wrapper"], [1, "test-name"], ["class", "test-tags", 4, "ngIf"], ["class", "na-value", 4, "ngIf"], [1, "test-tags"], ["class", "tag-mini", 4, "ngFor", "ngForOf"], [1, "tag-mini"], ["class", "score-display", 4, "ngIf"], [1, "score-display"], [1, "score-bar-mini"], [1, "score-fill"], [1, "score-text"], [1, "na-value"], ["class", "feedback-display", 4, "ngIf"], ["class", "na-value needs-review", 4, "ngIf"], [1, "feedback-display"], [1, "feedback-rating"], ["class", "feedback-correctness", 4, "ngIf"], [1, "feedback-correctness"], [1, "na-value", "needs-review"], [1, "fas", "fa-user-clock"], [1, "execution-tab"], [3, "machineName", "machineId", "runByUserName", "runByUserEmail", "runContextDetailsJson"], [1, "keyboard-shortcuts"], [1, "shortcuts-header"], ["title", "Hide shortcuts", 1, "shortcuts-close", 3, "click"], [1, "shortcut-list"], [1, "shortcut-item"], [1, "shortcut-keys"]], template: function TestSuiteRunFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
2080
+ i0.ɵɵlistener("keydown", function TestSuiteRunFormComponentExtended_keydown_HostBindingHandler($event) { return ctx.handleKeyboardShortcut($event); }, i0.ɵɵresolveDocument);
2081
+ } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 137, vars: 48, consts: [["kendoDialogContainer", "", 1, "test-suite-run-form"], [1, "suite-run-header"], ["aria-label", "Breadcrumb", 1, "breadcrumb"], ["href", "javascript:void(0)", 3, "click"], [1, "fas", "fa-vial"], [1, "breadcrumb-text"], [1, "current"], [1, "fas", "fa-chevron-right", "separator"], [1, "header-content"], [1, "header-left"], [1, "suite-run-icon"], [1, "fas", 3, "ngClass"], [1, "suite-run-info"], [1, "suite-run-meta"], [1, "status-badge", 3, "ngClass"], [1, "meta-tag", "environment"], [1, "meta-tag", "trigger"], [1, "header-actions"], ["kendoButton", "", "themeColor", "primary"], ["kendoButton", "", 3, "click", "disabled"], [1, "metrics-bar"], [1, "metric-card"], [1, "metric-icon"], [1, "fas", "fa-clock"], [1, "metric-content"], [1, "metric-value"], [1, "metric-label"], [1, "fas", "fa-percentage"], [1, "fas", "fa-dollar-sign"], [1, "fas", "fa-calendar"], [1, "results-summary"], [1, "result-item", "passed"], [1, "result-icon"], [1, "fas", "fa-check-circle"], [1, "result-content"], [1, "result-count"], [1, "result-label"], [1, "result-item", "failed"], [1, "fas", "fa-times-circle"], [1, "result-item", "error"], [1, "fas", "fa-exclamation-circle"], [1, "result-item", "skipped"], [1, "fas", "fa-forward"], [1, "result-item", "total"], [1, "fas", "fa-list"], [1, "tags-bar"], [1, "tags-editor-panel"], [1, "tabs-container"], ["role", "tablist", 1, "tabs"], ["role", "tab", 1, "tab", 3, "click"], [1, "fas", "fa-th-large"], [1, "tab-badge"], [1, "fas", "fa-info-circle"], ["role", "tab", "title", "Press 4", 1, "tab", 3, "click"], [1, "fas", "fa-chart-bar"], ["role", "tab", "title", "Press 5", 1, "tab", 3, "click"], [1, "fas", "fa-microchip"], [1, "tab-content"], [1, "overview-tab"], [1, "runs-tab"], [1, "details-tab"], [1, "analytics-tab"], [1, "execution-tab"], [1, "shortcuts-toggle", 3, "click", "title"], [1, "fas", "fa-keyboard"], [1, "keyboard-shortcuts"], [1, "fas", "fa-layer-group"], [1, "fas", "fa-server"], [1, "fas", "fa-bolt"], ["kendoButton", "", "themeColor", "primary", 3, "click"], [1, "fas", "fa-play"], [1, "tags-bar-content"], [1, "tags-bar-label"], [1, "fas", "fa-tags"], [1, "tags-bar-chips"], [1, "tags-bar-empty"], ["title", "Edit tags", 1, "tags-bar-edit", 3, "click"], [1, "fas", "fa-plus"], [1, "tag-inline"], [1, "tags-editor-header"], [1, "tags-editor-title"], [1, "tags-editor-body"], [1, "tags-editor-chips"], [1, "tag-editable"], [1, "tags-empty-hint"], [1, "tags-editor-input"], ["type", "text", "placeholder", "Type a tag and press Enter...", 1, "tag-text-input", 3, "ngModelChange", "keyup.enter", "ngModel"], ["kendoButton", "", "fillMode", "flat", 3, "click", "disabled"], [1, "tags-editor-footer"], ["kendoButton", "", "themeColor", "primary", 3, "click", "disabled"], [1, "fas", "fa-spinner", "fa-spin"], ["kendoButton", "", "fillMode", "flat", 3, "click"], ["title", "Remove tag", 1, "tag-remove-btn", 3, "click"], [1, "fas", "fa-times"], [1, "result-hero"], [1, "result-hero-icon"], [1, "result-hero-text"], [1, "result-hero-stats"], [1, "stat-item"], [1, "stat-value"], [1, "stat-label"], [1, "stat-divider"], [1, "evaluation-summary"], [1, "needs-review-section"], [1, "progress-section"], [1, "eval-summary-grid"], [1, "eval-summary-card"], [1, "eval-card-header"], [1, "fa-solid", "fa-user"], [1, "eval-card-body"], [1, "eval-stat-row"], [1, "eval-stat-label"], [1, "eval-stat-value"], [1, "eval-card-footer"], [1, "eval-stat-value", "correct"], [1, "eval-stat-value", "incorrect"], [1, "pending-badge"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-robot"], [1, "fa-solid", "fa-circle-check"], [1, "eval-stat-value", "error"], [1, "eval-stat-value", "timeout"], [1, "needs-review-header"], [1, "fa-solid", "fa-user-clock"], [1, "review-count"], [1, "needs-review-list"], [1, "review-item", 3, "high-priority", "medium-priority"], [1, "review-more"], [1, "review-item", 3, "click"], [1, "review-item-icon"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "fa-solid", "fa-circle-dot"], [1, "review-item-content"], [1, "review-item-name"], [1, "review-item-reason"], [1, "review-item-action"], [1, "fa-solid", "fa-chevron-right"], [1, "progress-info"], [1, "fas", "fa-circle-notch", "fa-spin"], [1, "auto-refresh-notice"], [1, "fas", "fa-sync"], [1, "runs-toolbar"], [1, "loading-state"], [1, "test-runs-list"], [1, "empty-state"], [1, "run-filters"], [1, "filter-btn", 3, "click"], [1, "filter-btn", "passed", 3, "active"], [1, "filter-btn", "failed", 3, "active"], [1, "filter-btn", "error", 3, "active"], [1, "runs-actions"], ["kendoButton", "", 3, "click"], [1, "fas", "fa-download"], [1, "filter-btn", "passed", 3, "click"], [1, "fas", "fa-check"], [1, "filter-btn", "failed", 3, "click"], [1, "filter-btn", "error", 3, "click"], [1, "fas", "fa-exclamation"], [1, "skeleton-list"], [1, "skeleton-card"], [1, "skeleton-sequence"], [1, "skeleton-icon"], [1, "skeleton-content"], [1, "skeleton-line", "wide"], [1, "skeleton-line", "narrow"], [1, "test-run-card"], [1, "test-run-item", 3, "click"], [1, "run-sequence"], [1, "run-icon"], [1, "run-content"], [1, "run-header-row"], [1, "run-name"], [3, "executionStatus", "originalStatus", "autoScore", "humanRating", "humanIsCorrect", "hasHumanFeedback", "preferences", "mode"], [1, "run-meta"], [1, "run-duration"], [1, "run-cost"], [3, "entityName", "recordId"], [1, "run-tags"], [1, "run-expand"], [1, "fas"], [1, "inline-feedback"], [1, "tag-chip"], [1, "feedback-divider"], [1, "feedback-section"], [1, "feedback-label"], [1, "inline-rating"], [1, "rating-numbers"], ["type", "button", 1, "rating-btn", 3, "selected", "hover", "low", "mid", "high"], [1, "rating-info"], [1, "correctness-row"], [1, "correctness-label"], [1, "correctness-options"], [1, "radio-opt", 3, "click"], ["type", "radio", 3, "ngModelChange", "name", "value", "ngModel"], [1, "comments-row", 3, "click"], ["placeholder", "Add comments or corrections...", "rows", "3", 1, "feedback-textarea", 3, "ngModelChange", "ngModel"], [1, "feedback-actions", 3, "click"], [1, "fas", "fa-external-link-alt"], ["type", "button", 1, "rating-btn", 3, "click", "mouseenter", "mouseleave"], [1, "rating-value"], [1, "rating-label-text"], [1, "empty-icon"], [1, "fas", "fa-inbox"], [1, "fas", "fa-filter"], [1, "details-card"], [1, "details-grid"], [1, "detail-item"], [1, "detail-label"], [1, "detail-value", "monospace"], [1, "detail-value"], ["href", "javascript:void(0)"], [1, "status-inline", 3, "ngClass"], [1, "analytics-loading"], [1, "analytics-section"], [1, "fas", "fa-chart-pie"], [1, "stats-grid"], [1, "stat-card"], [1, "stat-icon", "passed"], [1, "stat-content"], [1, "stat-percent"], [1, "stat-icon", "failed"], [1, "stat-icon", "score"], [1, "fas", "fa-star"], [1, "stat-icon", "duration"], [1, "stat-icon", "cost"], [1, "analytics-header"], [1, "fas", "fa-table"], [1, "analytics-legend"], [1, "legend-item", "passed"], [1, "legend-item", "failed"], [1, "legend-item", "error"], [1, "legend-item", "skipped"], [1, "results-table-wrapper"], [1, "results-table"], [1, "seq-col"], [1, "name-col"], [1, "status-col"], [1, "score-col"], [1, "feedback-col"], [1, "duration-col"], [1, "cost-col"], [1, "result-row", 3, "row-passed", "row-failed", "row-error", "row-skipped"], [1, "result-row", 3, "click"], [1, "test-name-wrapper"], [1, "test-name"], [1, "test-tags"], [1, "na-value"], [1, "tag-mini"], [1, "score-display"], [1, "score-bar-mini"], [1, "score-fill"], [1, "score-text"], [1, "feedback-display"], [1, "na-value", "needs-review"], [1, "feedback-rating"], [1, "feedback-correctness"], [1, "fas", "fa-user-clock"], [3, "machineName", "machineId", "runByUserName", "runByUserEmail", "runContextDetailsJson"], [1, "shortcuts-header"], ["title", "Hide shortcuts", 1, "shortcuts-close", 3, "click"], [1, "shortcut-list"], [1, "shortcut-item"], [1, "shortcut-keys"]], template: function TestSuiteRunFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
2053
2082
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "nav", 2)(3, "ol")(4, "li")(5, "a", 3);
2054
2083
  i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Template_a_click_5_listener() { return ctx.navigateToTestingDashboard(); });
2055
2084
  i0.ɵɵelement(6, "i", 4);
2056
2085
  i0.ɵɵelementStart(7, "span", 5);
2057
2086
  i0.ɵɵtext(8, "Testing");
2058
2087
  i0.ɵɵelementEnd()()();
2059
- i0.ɵɵtemplate(9, TestSuiteRunFormComponentExtended_li_9_Template, 6, 1, "li", 6);
2060
- i0.ɵɵelementStart(10, "li", 7);
2061
- i0.ɵɵelement(11, "i", 8);
2088
+ i0.ɵɵconditionalCreate(9, TestSuiteRunFormComponentExtended_Conditional_9_Template, 6, 1, "li");
2089
+ i0.ɵɵelementStart(10, "li", 6);
2090
+ i0.ɵɵelement(11, "i", 7);
2062
2091
  i0.ɵɵelementStart(12, "span");
2063
2092
  i0.ɵɵtext(13);
2064
2093
  i0.ɵɵelementEnd()()()();
2065
- i0.ɵɵelementStart(14, "div", 9)(15, "div", 10)(16, "div", 11);
2066
- i0.ɵɵelement(17, "i", 12);
2094
+ i0.ɵɵelementStart(14, "div", 8)(15, "div", 9)(16, "div", 10);
2095
+ i0.ɵɵelement(17, "i", 11);
2067
2096
  i0.ɵɵelementEnd();
2068
- i0.ɵɵelementStart(18, "div", 13)(19, "h1");
2097
+ i0.ɵɵelementStart(18, "div", 12)(19, "h1");
2069
2098
  i0.ɵɵtext(20, "Suite Run");
2070
2099
  i0.ɵɵelementEnd();
2071
- i0.ɵɵelementStart(21, "div", 14)(22, "span", 15);
2072
- i0.ɵɵelement(23, "i", 12);
2100
+ i0.ɵɵelementStart(21, "div", 13)(22, "span", 14);
2101
+ i0.ɵɵelement(23, "i", 11);
2073
2102
  i0.ɵɵtext(24);
2074
2103
  i0.ɵɵelementEnd();
2075
- i0.ɵɵtemplate(25, TestSuiteRunFormComponentExtended_span_25_Template, 3, 1, "span", 16)(26, TestSuiteRunFormComponentExtended_span_26_Template, 3, 1, "span", 17);
2104
+ i0.ɵɵconditionalCreate(25, TestSuiteRunFormComponentExtended_Conditional_25_Template, 3, 1, "span", 15);
2105
+ i0.ɵɵconditionalCreate(26, TestSuiteRunFormComponentExtended_Conditional_26_Template, 3, 1, "span", 16);
2076
2106
  i0.ɵɵelementEnd()()();
2077
- i0.ɵɵelementStart(27, "div", 18);
2107
+ i0.ɵɵelementStart(27, "div", 17);
2078
2108
  i0.ɵɵelement(28, "app-evaluation-mode-toggle");
2079
- i0.ɵɵtemplate(29, TestSuiteRunFormComponentExtended_button_29_Template, 3, 0, "button", 19);
2080
- i0.ɵɵelementStart(30, "button", 20);
2109
+ i0.ɵɵconditionalCreate(29, TestSuiteRunFormComponentExtended_Conditional_29_Template, 3, 0, "button", 18);
2110
+ i0.ɵɵelementStart(30, "button", 19);
2081
2111
  i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Template_button_click_30_listener() { return ctx.refresh(); });
2082
- i0.ɵɵelement(31, "i", 12);
2112
+ i0.ɵɵelement(31, "i", 11);
2083
2113
  i0.ɵɵtext(32);
2084
2114
  i0.ɵɵelementEnd()()();
2085
- i0.ɵɵelementStart(33, "div", 21)(34, "div", 22)(35, "div", 23);
2086
- i0.ɵɵelement(36, "i", 24);
2115
+ i0.ɵɵelementStart(33, "div", 20)(34, "div", 21)(35, "div", 22);
2116
+ i0.ɵɵelement(36, "i", 23);
2087
2117
  i0.ɵɵelementEnd();
2088
- i0.ɵɵelementStart(37, "div", 25)(38, "div", 26);
2118
+ i0.ɵɵelementStart(37, "div", 24)(38, "div", 25);
2089
2119
  i0.ɵɵtext(39);
2090
2120
  i0.ɵɵelementEnd();
2091
- i0.ɵɵelementStart(40, "div", 27);
2121
+ i0.ɵɵelementStart(40, "div", 26);
2092
2122
  i0.ɵɵtext(41, "Duration");
2093
2123
  i0.ɵɵelementEnd()()();
2094
- i0.ɵɵelementStart(42, "div", 22)(43, "div", 23);
2095
- i0.ɵɵelement(44, "i", 28);
2124
+ i0.ɵɵelementStart(42, "div", 21)(43, "div", 22);
2125
+ i0.ɵɵelement(44, "i", 27);
2096
2126
  i0.ɵɵelementEnd();
2097
- i0.ɵɵelementStart(45, "div", 25)(46, "div", 26);
2127
+ i0.ɵɵelementStart(45, "div", 24)(46, "div", 25);
2098
2128
  i0.ɵɵtext(47);
2099
2129
  i0.ɵɵelementEnd();
2100
- i0.ɵɵelementStart(48, "div", 27);
2130
+ i0.ɵɵelementStart(48, "div", 26);
2101
2131
  i0.ɵɵtext(49, "Pass Rate");
2102
2132
  i0.ɵɵelementEnd()()();
2103
- i0.ɵɵelementStart(50, "div", 22)(51, "div", 23);
2104
- i0.ɵɵelement(52, "i", 29);
2133
+ i0.ɵɵelementStart(50, "div", 21)(51, "div", 22);
2134
+ i0.ɵɵelement(52, "i", 28);
2105
2135
  i0.ɵɵelementEnd();
2106
- i0.ɵɵelementStart(53, "div", 25)(54, "div", 26);
2136
+ i0.ɵɵelementStart(53, "div", 24)(54, "div", 25);
2107
2137
  i0.ɵɵtext(55);
2108
2138
  i0.ɵɵelementEnd();
2109
- i0.ɵɵelementStart(56, "div", 27);
2139
+ i0.ɵɵelementStart(56, "div", 26);
2110
2140
  i0.ɵɵtext(57, "Total Cost");
2111
2141
  i0.ɵɵelementEnd()()();
2112
- i0.ɵɵelementStart(58, "div", 22)(59, "div", 23);
2113
- i0.ɵɵelement(60, "i", 30);
2142
+ i0.ɵɵelementStart(58, "div", 21)(59, "div", 22);
2143
+ i0.ɵɵelement(60, "i", 29);
2114
2144
  i0.ɵɵelementEnd();
2115
- i0.ɵɵelementStart(61, "div", 25)(62, "div", 26);
2145
+ i0.ɵɵelementStart(61, "div", 24)(62, "div", 25);
2116
2146
  i0.ɵɵtext(63);
2117
2147
  i0.ɵɵelementEnd();
2118
- i0.ɵɵelementStart(64, "div", 27);
2148
+ i0.ɵɵelementStart(64, "div", 26);
2119
2149
  i0.ɵɵtext(65, "Started");
2120
2150
  i0.ɵɵelementEnd()()()();
2121
- i0.ɵɵelementStart(66, "div", 31)(67, "div", 32)(68, "div", 33);
2122
- i0.ɵɵelement(69, "i", 34);
2151
+ i0.ɵɵelementStart(66, "div", 30)(67, "div", 31)(68, "div", 32);
2152
+ i0.ɵɵelement(69, "i", 33);
2123
2153
  i0.ɵɵelementEnd();
2124
- i0.ɵɵelementStart(70, "div", 35)(71, "span", 36);
2154
+ i0.ɵɵelementStart(70, "div", 34)(71, "span", 35);
2125
2155
  i0.ɵɵtext(72);
2126
2156
  i0.ɵɵelementEnd();
2127
- i0.ɵɵelementStart(73, "span", 37);
2157
+ i0.ɵɵelementStart(73, "span", 36);
2128
2158
  i0.ɵɵtext(74, "Passed");
2129
2159
  i0.ɵɵelementEnd()()();
2130
- i0.ɵɵelementStart(75, "div", 38)(76, "div", 33);
2131
- i0.ɵɵelement(77, "i", 39);
2160
+ i0.ɵɵelementStart(75, "div", 37)(76, "div", 32);
2161
+ i0.ɵɵelement(77, "i", 38);
2132
2162
  i0.ɵɵelementEnd();
2133
- i0.ɵɵelementStart(78, "div", 35)(79, "span", 36);
2163
+ i0.ɵɵelementStart(78, "div", 34)(79, "span", 35);
2134
2164
  i0.ɵɵtext(80);
2135
2165
  i0.ɵɵelementEnd();
2136
- i0.ɵɵelementStart(81, "span", 37);
2166
+ i0.ɵɵelementStart(81, "span", 36);
2137
2167
  i0.ɵɵtext(82, "Failed");
2138
2168
  i0.ɵɵelementEnd()()();
2139
- i0.ɵɵelementStart(83, "div", 40)(84, "div", 33);
2140
- i0.ɵɵelement(85, "i", 41);
2169
+ i0.ɵɵelementStart(83, "div", 39)(84, "div", 32);
2170
+ i0.ɵɵelement(85, "i", 40);
2141
2171
  i0.ɵɵelementEnd();
2142
- i0.ɵɵelementStart(86, "div", 35)(87, "span", 36);
2172
+ i0.ɵɵelementStart(86, "div", 34)(87, "span", 35);
2143
2173
  i0.ɵɵtext(88);
2144
2174
  i0.ɵɵelementEnd();
2145
- i0.ɵɵelementStart(89, "span", 37);
2175
+ i0.ɵɵelementStart(89, "span", 36);
2146
2176
  i0.ɵɵtext(90, "Errors");
2147
2177
  i0.ɵɵelementEnd()()();
2148
- i0.ɵɵelementStart(91, "div", 42)(92, "div", 33);
2149
- i0.ɵɵelement(93, "i", 43);
2178
+ i0.ɵɵelementStart(91, "div", 41)(92, "div", 32);
2179
+ i0.ɵɵelement(93, "i", 42);
2150
2180
  i0.ɵɵelementEnd();
2151
- i0.ɵɵelementStart(94, "div", 35)(95, "span", 36);
2181
+ i0.ɵɵelementStart(94, "div", 34)(95, "span", 35);
2152
2182
  i0.ɵɵtext(96);
2153
2183
  i0.ɵɵelementEnd();
2154
- i0.ɵɵelementStart(97, "span", 37);
2184
+ i0.ɵɵelementStart(97, "span", 36);
2155
2185
  i0.ɵɵtext(98, "Skipped");
2156
2186
  i0.ɵɵelementEnd()()();
2157
- i0.ɵɵelementStart(99, "div", 44)(100, "div", 33);
2158
- i0.ɵɵelement(101, "i", 45);
2187
+ i0.ɵɵelementStart(99, "div", 43)(100, "div", 32);
2188
+ i0.ɵɵelement(101, "i", 44);
2159
2189
  i0.ɵɵelementEnd();
2160
- i0.ɵɵelementStart(102, "div", 35)(103, "span", 36);
2190
+ i0.ɵɵelementStart(102, "div", 34)(103, "span", 35);
2161
2191
  i0.ɵɵtext(104);
2162
2192
  i0.ɵɵelementEnd();
2163
- i0.ɵɵelementStart(105, "span", 37);
2193
+ i0.ɵɵelementStart(105, "span", 36);
2164
2194
  i0.ɵɵtext(106, "Total");
2165
2195
  i0.ɵɵelementEnd()()()();
2166
- i0.ɵɵtemplate(107, TestSuiteRunFormComponentExtended_div_107_Template, 9, 2, "div", 46)(108, TestSuiteRunFormComponentExtended_div_108_Template, 19, 7, "div", 47);
2196
+ i0.ɵɵconditionalCreate(107, TestSuiteRunFormComponentExtended_Conditional_107_Template, 9, 2, "div", 45);
2197
+ i0.ɵɵconditionalCreate(108, TestSuiteRunFormComponentExtended_Conditional_108_Template, 20, 6, "div", 46);
2167
2198
  i0.ɵɵelementEnd();
2168
- i0.ɵɵelementStart(109, "div", 48)(110, "div", 49)(111, "button", 50);
2199
+ i0.ɵɵelementStart(109, "div", 47)(110, "div", 48)(111, "button", 49);
2169
2200
  i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Template_button_click_111_listener() { return ctx.changeTab("overview"); });
2170
- i0.ɵɵelement(112, "i", 51);
2201
+ i0.ɵɵelement(112, "i", 50);
2171
2202
  i0.ɵɵtext(113, " Overview ");
2172
2203
  i0.ɵɵelementEnd();
2173
- i0.ɵɵelementStart(114, "button", 50);
2204
+ i0.ɵɵelementStart(114, "button", 49);
2174
2205
  i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Template_button_click_114_listener() { return ctx.changeTab("runs"); });
2175
- i0.ɵɵelement(115, "i", 45);
2206
+ i0.ɵɵelement(115, "i", 44);
2176
2207
  i0.ɵɵtext(116, " Test Runs ");
2177
- i0.ɵɵtemplate(117, TestSuiteRunFormComponentExtended_span_117_Template, 2, 1, "span", 52);
2208
+ i0.ɵɵconditionalCreate(117, TestSuiteRunFormComponentExtended_Conditional_117_Template, 2, 1, "span", 51);
2178
2209
  i0.ɵɵelementEnd();
2179
- i0.ɵɵelementStart(118, "button", 50);
2210
+ i0.ɵɵelementStart(118, "button", 49);
2180
2211
  i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Template_button_click_118_listener() { return ctx.changeTab("details"); });
2181
- i0.ɵɵelement(119, "i", 53);
2212
+ i0.ɵɵelement(119, "i", 52);
2182
2213
  i0.ɵɵtext(120, " Details ");
2183
2214
  i0.ɵɵelementEnd();
2184
- i0.ɵɵelementStart(121, "button", 54);
2215
+ i0.ɵɵelementStart(121, "button", 53);
2185
2216
  i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Template_button_click_121_listener() { return ctx.changeTab("analytics"); });
2186
- i0.ɵɵelement(122, "i", 55);
2217
+ i0.ɵɵelement(122, "i", 54);
2187
2218
  i0.ɵɵtext(123, " Analytics ");
2188
2219
  i0.ɵɵelementEnd();
2189
- i0.ɵɵelementStart(124, "button", 56);
2220
+ i0.ɵɵelementStart(124, "button", 55);
2190
2221
  i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Template_button_click_124_listener() { return ctx.changeTab("execution"); });
2191
- i0.ɵɵelement(125, "i", 57);
2222
+ i0.ɵɵelement(125, "i", 56);
2192
2223
  i0.ɵɵelementStart(126, "span");
2193
2224
  i0.ɵɵtext(127, "Execution");
2194
2225
  i0.ɵɵelementEnd()()()();
2195
- i0.ɵɵelementStart(128, "div", 58);
2196
- i0.ɵɵtemplate(129, TestSuiteRunFormComponentExtended_div_129_Template, 22, 16, "div", 59)(130, TestSuiteRunFormComponentExtended_div_130_Template, 6, 5, "div", 60)(131, TestSuiteRunFormComponentExtended_div_131_Template, 60, 18, "div", 61)(132, TestSuiteRunFormComponentExtended_div_132_Template, 5, 4, "div", 62)(133, TestSuiteRunFormComponentExtended_div_133_Template, 2, 5, "div", 63);
2226
+ i0.ɵɵelementStart(128, "div", 57);
2227
+ i0.ɵɵconditionalCreate(129, TestSuiteRunFormComponentExtended_Conditional_129_Template, 22, 16, "div", 58);
2228
+ i0.ɵɵconditionalCreate(130, TestSuiteRunFormComponentExtended_Conditional_130_Template, 6, 5, "div", 59);
2229
+ i0.ɵɵconditionalCreate(131, TestSuiteRunFormComponentExtended_Conditional_131_Template, 60, 18, "div", 60);
2230
+ i0.ɵɵconditionalCreate(132, TestSuiteRunFormComponentExtended_Conditional_132_Template, 5, 4, "div", 61);
2231
+ i0.ɵɵconditionalCreate(133, TestSuiteRunFormComponentExtended_Conditional_133_Template, 2, 5, "div", 62);
2197
2232
  i0.ɵɵelementEnd();
2198
- i0.ɵɵelementStart(134, "button", 64);
2233
+ i0.ɵɵelementStart(134, "button", 63);
2199
2234
  i0.ɵɵlistener("click", function TestSuiteRunFormComponentExtended_Template_button_click_134_listener() { return ctx.toggleShortcuts(); });
2200
- i0.ɵɵelement(135, "i", 65);
2235
+ i0.ɵɵelement(135, "i", 64);
2201
2236
  i0.ɵɵelementEnd();
2202
- i0.ɵɵtemplate(136, TestSuiteRunFormComponentExtended_div_136_Template, 34, 0, "div", 66);
2237
+ i0.ɵɵconditionalCreate(136, TestSuiteRunFormComponentExtended_Conditional_136_Template, 34, 0, "div", 65);
2203
2238
  i0.ɵɵelementEnd();
2204
2239
  } if (rf & 2) {
2205
2240
  i0.ɵɵadvance(9);
2206
- i0.ɵɵproperty("ngIf", ctx.testSuite);
2241
+ i0.ɵɵconditional(ctx.testSuite ? 9 : -1);
2207
2242
  i0.ɵɵadvance(4);
2208
- i0.ɵɵtextInterpolate1("Run #", ctx.record.ID.substring(0, 8), "");
2243
+ i0.ɵɵtextInterpolate1("Run #", ctx.record.ID.substring(0, 8));
2209
2244
  i0.ɵɵadvance(3);
2210
2245
  i0.ɵɵstyleProp("background-color", ctx.getStatusColor());
2211
2246
  i0.ɵɵadvance();
@@ -2217,11 +2252,11 @@ let TestSuiteRunFormComponentExtended = class TestSuiteRunFormComponentExtended
2217
2252
  i0.ɵɵadvance();
2218
2253
  i0.ɵɵtextInterpolate1(" ", ctx.record.Status, " ");
2219
2254
  i0.ɵɵadvance();
2220
- i0.ɵɵproperty("ngIf", ctx.record.Environment);
2255
+ i0.ɵɵconditional(ctx.record.Environment ? 25 : -1);
2221
2256
  i0.ɵɵadvance();
2222
- i0.ɵɵproperty("ngIf", ctx.record.TriggerType);
2257
+ i0.ɵɵconditional(ctx.record.TriggerType ? 26 : -1);
2223
2258
  i0.ɵɵadvance(3);
2224
- i0.ɵɵproperty("ngIf", ctx.record.SuiteID);
2259
+ i0.ɵɵconditional(ctx.record.SuiteID ? 29 : -1);
2225
2260
  i0.ɵɵadvance();
2226
2261
  i0.ɵɵproperty("disabled", ctx.isRefreshing);
2227
2262
  i0.ɵɵadvance();
@@ -2247,9 +2282,9 @@ let TestSuiteRunFormComponentExtended = class TestSuiteRunFormComponentExtended
2247
2282
  i0.ɵɵadvance(8);
2248
2283
  i0.ɵɵtextInterpolate(ctx.record.TotalTests || 0);
2249
2284
  i0.ɵɵadvance(3);
2250
- i0.ɵɵproperty("ngIf", !ctx.editingTags);
2285
+ i0.ɵɵconditional(!ctx.editingTags ? 107 : -1);
2251
2286
  i0.ɵɵadvance();
2252
- i0.ɵɵproperty("ngIf", ctx.editingTags);
2287
+ i0.ɵɵconditional(ctx.editingTags ? 108 : -1);
2253
2288
  i0.ɵɵadvance(3);
2254
2289
  i0.ɵɵclassProp("active", ctx.activeTab === "overview");
2255
2290
  i0.ɵɵattribute("aria-selected", ctx.activeTab === "overview");
@@ -2257,7 +2292,7 @@ let TestSuiteRunFormComponentExtended = class TestSuiteRunFormComponentExtended
2257
2292
  i0.ɵɵclassProp("active", ctx.activeTab === "runs");
2258
2293
  i0.ɵɵattribute("aria-selected", ctx.activeTab === "runs");
2259
2294
  i0.ɵɵadvance(3);
2260
- i0.ɵɵproperty("ngIf", ctx.testRunsLoaded);
2295
+ i0.ɵɵconditional(ctx.testRunsLoaded ? 117 : -1);
2261
2296
  i0.ɵɵadvance();
2262
2297
  i0.ɵɵclassProp("active", ctx.activeTab === "details");
2263
2298
  i0.ɵɵattribute("aria-selected", ctx.activeTab === "details");
@@ -2268,20 +2303,20 @@ let TestSuiteRunFormComponentExtended = class TestSuiteRunFormComponentExtended
2268
2303
  i0.ɵɵclassProp("active", ctx.activeTab === "execution");
2269
2304
  i0.ɵɵattribute("aria-selected", ctx.activeTab === "execution");
2270
2305
  i0.ɵɵadvance(5);
2271
- i0.ɵɵproperty("ngIf", ctx.activeTab === "overview");
2306
+ i0.ɵɵconditional(ctx.activeTab === "overview" ? 129 : -1);
2272
2307
  i0.ɵɵadvance();
2273
- i0.ɵɵproperty("ngIf", ctx.activeTab === "runs");
2308
+ i0.ɵɵconditional(ctx.activeTab === "runs" ? 130 : -1);
2274
2309
  i0.ɵɵadvance();
2275
- i0.ɵɵproperty("ngIf", ctx.activeTab === "details");
2310
+ i0.ɵɵconditional(ctx.activeTab === "details" ? 131 : -1);
2276
2311
  i0.ɵɵadvance();
2277
- i0.ɵɵproperty("ngIf", ctx.activeTab === "analytics");
2312
+ i0.ɵɵconditional(ctx.activeTab === "analytics" ? 132 : -1);
2278
2313
  i0.ɵɵadvance();
2279
- i0.ɵɵproperty("ngIf", ctx.activeTab === "execution");
2314
+ i0.ɵɵconditional(ctx.activeTab === "execution" ? 133 : -1);
2280
2315
  i0.ɵɵadvance();
2281
2316
  i0.ɵɵproperty("title", ctx.showShortcuts ? "Hide keyboard shortcuts" : "Show keyboard shortcuts");
2282
2317
  i0.ɵɵadvance(2);
2283
- i0.ɵɵproperty("ngIf", ctx.showShortcuts);
2284
- } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, i6.DefaultValueAccessor, i6.RadioControlValueAccessor, i6.NgControlStatus, i6.NgModel, i7.DialogContainerDirective, i8.ButtonComponent, i3.EvaluationBadgeComponent, i3.EvaluationModeToggleComponent, i3.ExecutionContextComponent, i9.EntityLinkPillComponent, i5.DatePipe], styles: ["\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n --suite-run-primary: #3b82f6;\n --suite-run-primary-light: #eff6ff;\n --suite-run-success: #10b981;\n --suite-run-success-light: #ecfdf5;\n --suite-run-danger: #ef4444;\n --suite-run-danger-light: #fef2f2;\n --suite-run-warning: #f59e0b;\n --suite-run-warning-light: #fffbeb;\n --suite-run-info: #8b5cf6;\n --suite-run-info-light: #f5f3ff;\n --suite-run-neutral: #6b7280;\n --suite-run-neutral-light: #f9fafb;\n --suite-run-bg: #f8fafc;\n --suite-run-card: #ffffff;\n --suite-run-border: #e2e8f0;\n --suite-run-text: #1e293b;\n --suite-run-text-secondary: #64748b;\n --suite-run-radius: 12px;\n --suite-run-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);\n --suite-run-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n --suite-run-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\n\n.test-suite-run-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--suite-run-bg);\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n}\n\n\n\n\n\n.suite-run-header[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-bottom: 1px solid var(--suite-run-border);\n padding: 20px 24px;\n}\n\n\n\n.breadcrumb[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n\n.breadcrumb[_ngcontent-%COMP%] ol[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: 13px;\n}\n\n.breadcrumb[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.breadcrumb[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n text-decoration: none;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 8px;\n border-radius: 6px;\n transition: background 0.15s;\n}\n\n.breadcrumb[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover {\n background: rgba(59, 130, 246, 0.1);\n text-decoration: none;\n}\n\n.breadcrumb[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--suite-run-text-secondary);\n margin: 0 4px;\n}\n\n.breadcrumb[_ngcontent-%COMP%] .current[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n font-weight: 500;\n}\n\n.breadcrumb-text[_ngcontent-%COMP%] {\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n\n\n.header-content[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.header-left[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n\n.suite-run-icon[_ngcontent-%COMP%] {\n width: 56px;\n height: 56px;\n border-radius: var(--suite-run-radius);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 24px;\n flex-shrink: 0;\n box-shadow: var(--suite-run-shadow);\n}\n\n.suite-run-info[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n letter-spacing: -0.025em;\n}\n\n.suite-run-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n}\n\n.status-badge.status-completed[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.status-badge.status-failed[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.status-badge.status-running[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.status-badge.status-pending[_ngcontent-%COMP%] {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.status-badge.status-cancelled[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.meta-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n background: var(--suite-run-neutral-light);\n border-radius: 6px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n.meta-tag[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.7;\n}\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n\n\n\n\n.metrics-bar[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 20px;\n}\n\n.metric-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n border: 1px solid var(--suite-run-border);\n border-radius: 10px;\n padding: 14px;\n transition: var(--suite-run-transition);\n}\n\n.metric-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.metric-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-card);\n border-radius: 10px;\n color: var(--suite-run-primary);\n font-size: 16px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.metric-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.metric-value[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 700;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.metric-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n margin-top: 2px;\n}\n\n\n\n\n\n.results-summary[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n padding-top: 20px;\n border-top: 1px solid var(--suite-run-border);\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.result-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: 10px;\n flex-shrink: 0;\n transition: var(--suite-run-transition);\n}\n\n.result-item[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.result-icon[_ngcontent-%COMP%] {\n font-size: 24px;\n}\n\n.result-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.result-count[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 700;\n line-height: 1.2;\n}\n\n.result-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.result-item.passed[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.passed[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.result-item.failed[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.failed[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.result-item.error[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.error[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n}\n\n.result-item.skipped[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.skipped[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-neutral);\n}\n\n.result-item.total[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.total[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n\n\n\n\n.tabs-container[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-bottom: 1px solid var(--suite-run-border);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.tabs[_ngcontent-%COMP%] {\n display: flex;\n padding: 0 24px;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n}\n\n.tabs[_ngcontent-%COMP%]::-webkit-scrollbar {\n display: none;\n}\n\n.tab[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 16px 20px;\n border: none;\n background: transparent;\n border-bottom: 3px solid transparent;\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: var(--suite-run-transition);\n white-space: nowrap;\n position: relative;\n}\n\n.tab[_ngcontent-%COMP%]:hover {\n color: var(--suite-run-primary);\n background: var(--suite-run-primary-light);\n}\n\n.tab.active[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n border-bottom-color: var(--suite-run-primary);\n font-weight: 600;\n}\n\n.tab[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 15px;\n}\n\n.tab-badge[_ngcontent-%COMP%] {\n background: var(--suite-run-border);\n color: var(--suite-run-text-secondary);\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.tab.active[_ngcontent-%COMP%] .tab-badge[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.tab-shortcut[_ngcontent-%COMP%] {\n display: none;\n width: 18px;\n height: 18px;\n background: var(--suite-run-neutral-light);\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n align-items: center;\n justify-content: center;\n margin-left: 4px;\n}\n\n\n\n\n\n.tab-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n}\n\n\n\n\n\n.overview-tab[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 20px;\n max-width: 800px;\n margin: 0 auto;\n width: 100%;\n}\n\n.result-hero[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 48px 32px;\n text-align: center;\n border: 2px solid var(--suite-run-border);\n transition: var(--suite-run-transition);\n}\n\n.result-hero.passed[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);\n border-color: var(--suite-run-success);\n}\n\n.result-hero.failed[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);\n border-color: var(--suite-run-danger);\n}\n\n.result-hero.running[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);\n border-color: var(--suite-run-primary);\n}\n\n.result-hero.pending[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);\n border-color: var(--suite-run-info);\n}\n\n.result-hero-icon[_ngcontent-%COMP%] {\n font-size: 72px;\n margin-bottom: 20px;\n}\n\n.result-hero.passed[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.result-hero.failed[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.result-hero.running[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.result-hero.pending[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n color: var(--suite-run-info);\n}\n\n.result-hero-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0 0 16px 0;\n font-size: 32px;\n font-weight: 800;\n color: var(--suite-run-text);\n letter-spacing: -0.025em;\n}\n\n.result-hero-stats[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 32px;\n}\n\n.stat-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.stat-value[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.stat-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat-divider[_ngcontent-%COMP%] {\n width: 1px;\n height: 40px;\n background: var(--suite-run-border);\n}\n\n\n\n.progress-section[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n border: 1px solid rgba(59, 130, 246, 0.2);\n border-radius: var(--suite-run-radius);\n padding: 20px;\n text-align: center;\n}\n\n.progress-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n font-size: 16px;\n font-weight: 500;\n color: var(--suite-run-primary);\n margin-bottom: 8px;\n}\n\n.progress-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n\n.auto-refresh-notice[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n\n\n\n\n.runs-tab[_ngcontent-%COMP%] {\n max-width: 900px;\n margin: 0 auto;\n width: 100%;\n}\n\n\n\n.loading-state[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.skeleton-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.skeleton-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n border: 1px solid var(--suite-run-border);\n}\n\n.skeleton-sequence[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: _ngcontent-%COMP%_shimmer 1.5s infinite;\n border-radius: 50%;\n}\n\n.skeleton-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: _ngcontent-%COMP%_shimmer 1.5s infinite;\n border-radius: 8px;\n}\n\n.skeleton-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.skeleton-line[_ngcontent-%COMP%] {\n height: 14px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: _ngcontent-%COMP%_shimmer 1.5s infinite;\n border-radius: 4px;\n}\n\n.skeleton-line.wide[_ngcontent-%COMP%] {\n width: 70%;\n}\n\n.skeleton-line.narrow[_ngcontent-%COMP%] {\n width: 40%;\n}\n\n@keyframes _ngcontent-%COMP%_shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n\n\n\n.test-runs-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.test-run-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item[_ngcontent-%COMP%]:hover {\n background: var(--suite-run-primary-light);\n border-color: #93c5fd;\n transform: translateX(4px);\n}\n\n.test-run-item[_ngcontent-%COMP%]:active {\n transform: translateX(2px);\n}\n\n.run-sequence[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n font-size: 13px;\n font-weight: 700;\n color: var(--suite-run-text-secondary);\n flex-shrink: 0;\n}\n\n.run-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 10px;\n color: white;\n font-size: 16px;\n flex-shrink: 0;\n box-shadow: var(--suite-run-shadow);\n}\n\n.run-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.run-name[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.run-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n flex-wrap: wrap;\n}\n\n.run-status[_ngcontent-%COMP%] {\n font-weight: 700;\n}\n\n.run-score[_ngcontent-%COMP%], \n.run-duration[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.run-score[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.run-duration[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.7;\n}\n\n.test-run-item[_ngcontent-%COMP%] > i[_ngcontent-%COMP%] {\n color: #cbd5e1;\n font-size: 14px;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item[_ngcontent-%COMP%]:hover > i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n transform: translateX(4px);\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 background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n border: 2px dashed var(--suite-run-border);\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n margin-bottom: 20px;\n}\n\n.empty-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: #cbd5e1;\n}\n\n.empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n color: var(--suite-run-text-secondary);\n max-width: 300px;\n}\n\n\n\n\n\n.details-tab[_ngcontent-%COMP%] {\n max-width: 900px;\n margin: 0 auto;\n width: 100%;\n}\n\n.details-card[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 24px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.details-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 20px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--suite-run-text);\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.details-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.details-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 20px;\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: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n}\n\n.detail-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--suite-run-text);\n word-wrap: break-word;\n}\n\n.detail-value.monospace[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 12px;\n background: var(--suite-run-neutral-light);\n padding: 6px 10px;\n border-radius: 6px;\n}\n\n.detail-value[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n text-decoration: none;\n font-weight: 500;\n transition: var(--suite-run-transition);\n}\n\n.detail-value[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover {\n color: #2563eb;\n text-decoration: underline;\n}\n\n.status-inline[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 4px 10px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-inline.status-completed[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.status-inline.status-failed[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.status-inline.status-running[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.status-inline.status-pending[_ngcontent-%COMP%] {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.status-inline.status-cancelled[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n\n\n\n\n\n\n.shortcuts-toggle[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 20px;\n right: 20px;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n box-shadow: var(--suite-run-shadow);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n z-index: 99;\n transition: var(--suite-run-transition);\n opacity: 0.7;\n}\n\n.shortcuts-toggle[_ngcontent-%COMP%]:hover {\n opacity: 1;\n transform: scale(1.1);\n color: var(--suite-run-primary);\n border-color: var(--suite-run-primary);\n}\n\n.keyboard-shortcuts[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 20px;\n right: 20px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n padding: 12px 16px;\n box-shadow: var(--suite-run-shadow-lg);\n font-size: 12px;\n z-index: 100;\n opacity: 0.9;\n transition: var(--suite-run-transition);\n}\n\n.keyboard-shortcuts[_ngcontent-%COMP%]:hover {\n opacity: 1;\n}\n\n.shortcuts-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n color: var(--suite-run-text);\n margin-bottom: 10px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.shortcuts-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.shortcuts-close[_ngcontent-%COMP%] {\n margin-left: auto;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--suite-run-text-muted);\n font-size: 12px;\n padding: 2px 4px;\n border-radius: 4px;\n transition: var(--suite-run-transition);\n}\n\n.shortcuts-close[_ngcontent-%COMP%]:hover {\n color: var(--suite-run-text);\n background: var(--suite-run-border);\n}\n\n.shortcut-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.shortcut-item[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n}\n\n.shortcut-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n color: var(--suite-run-text-secondary);\n}\n\n.shortcut-keys[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\nkbd[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n font-family: inherit;\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text);\n box-shadow: 0 1px 0 #94a3b8;\n}\n\n\n\n\n\n@media (max-width: 1024px) {\n .suite-run-header[_ngcontent-%COMP%] {\n padding: 16px 20px;\n }\n\n .metrics-bar[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .result-hero-stats[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n }\n\n .stat-divider[_ngcontent-%COMP%] {\n display: none;\n }\n\n .details-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .tab-shortcut[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n\n\n\n\n@media (max-width: 768px) {\n .suite-run-header[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .header-content[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n }\n\n .header-left[_ngcontent-%COMP%] {\n width: 100%;\n }\n\n .suite-run-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n font-size: 20px;\n }\n\n .suite-run-info[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n\n .header-actions[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: stretch;\n }\n\n .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n flex: 1;\n }\n\n .metrics-bar[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n gap: 8px;\n }\n\n .metric-card[_ngcontent-%COMP%] {\n padding: 12px;\n flex-direction: column;\n text-align: center;\n gap: 8px;\n }\n\n .metric-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n }\n\n .metric-value[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .results-summary[_ngcontent-%COMP%] {\n gap: 8px;\n padding-top: 16px;\n flex-wrap: nowrap;\n overflow-x: auto;\n padding-bottom: 8px;\n margin-bottom: -8px;\n }\n\n .result-item[_ngcontent-%COMP%] {\n padding: 10px 12px;\n min-width: 90px;\n }\n\n .result-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n\n .result-count[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .tabs[_ngcontent-%COMP%] {\n padding: 0 16px;\n }\n\n .tab[_ngcontent-%COMP%] {\n padding: 14px 16px;\n font-size: 13px;\n }\n\n .tab-content[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .result-hero[_ngcontent-%COMP%] {\n padding: 32px 20px;\n }\n\n .result-hero-icon[_ngcontent-%COMP%] {\n font-size: 56px;\n }\n\n .result-hero-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n font-size: 24px;\n }\n\n .stat-value[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n\n .test-run-item[_ngcontent-%COMP%] {\n padding: 14px;\n }\n\n .run-sequence[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n\n .run-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n font-size: 14px;\n }\n\n .run-name[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n\n .run-meta[_ngcontent-%COMP%] {\n gap: 10px;\n font-size: 11px;\n }\n\n .empty-state[_ngcontent-%COMP%] {\n padding: 40px 16px;\n }\n\n .empty-icon[_ngcontent-%COMP%] {\n width: 64px;\n height: 64px;\n }\n\n .empty-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 28px;\n }\n\n .details-card[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .details-grid[_ngcontent-%COMP%] {\n gap: 16px;\n }\n\n .keyboard-shortcuts[_ngcontent-%COMP%], .shortcuts-toggle[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n\n\n\n\n@media (max-width: 480px) {\n .suite-run-header[_ngcontent-%COMP%] {\n padding: 12px;\n }\n\n .breadcrumb[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-bottom: 12px;\n }\n\n .suite-run-icon[_ngcontent-%COMP%] {\n width: 44px;\n height: 44px;\n font-size: 18px;\n }\n\n .suite-run-info[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .suite-run-meta[_ngcontent-%COMP%] {\n gap: 8px;\n }\n\n .status-badge[_ngcontent-%COMP%] {\n padding: 4px 10px;\n font-size: 11px;\n }\n\n .meta-tag[_ngcontent-%COMP%] {\n font-size: 11px;\n padding: 3px 8px;\n }\n\n .metrics-bar[_ngcontent-%COMP%] {\n grid-template-columns: 1fr 1fr;\n }\n\n .metric-card[_ngcontent-%COMP%] {\n padding: 10px;\n gap: 6px;\n }\n\n .metric-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n font-size: 14px;\n }\n\n .metric-value[_ngcontent-%COMP%] {\n font-size: 14px;\n }\n\n .metric-label[_ngcontent-%COMP%] {\n font-size: 9px;\n }\n\n .result-item[_ngcontent-%COMP%] {\n padding: 8px 10px;\n min-width: 80px;\n gap: 8px;\n }\n\n .result-icon[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .result-count[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .result-label[_ngcontent-%COMP%] {\n font-size: 9px;\n }\n\n .tabs[_ngcontent-%COMP%] {\n padding: 0 12px;\n }\n\n .tab[_ngcontent-%COMP%] {\n padding: 12px 14px;\n gap: 6px;\n }\n\n .tab[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n }\n\n .tab-content[_ngcontent-%COMP%] {\n padding: 12px;\n }\n\n .result-hero[_ngcontent-%COMP%] {\n padding: 24px 16px;\n }\n\n .result-hero-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n }\n\n .result-hero-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n font-size: 20px;\n margin-bottom: 12px;\n }\n\n .stat-value[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .stat-label[_ngcontent-%COMP%] {\n font-size: 10px;\n }\n\n .progress-section[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .progress-info[_ngcontent-%COMP%] {\n font-size: 14px;\n }\n\n .test-run-item[_ngcontent-%COMP%] {\n padding: 12px;\n gap: 10px;\n }\n\n .run-sequence[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n font-size: 11px;\n }\n\n .run-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n font-size: 12px;\n border-radius: 8px;\n }\n\n .run-name[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-bottom: 3px;\n }\n\n .run-meta[_ngcontent-%COMP%] {\n gap: 8px;\n font-size: 10px;\n }\n\n .empty-state[_ngcontent-%COMP%] {\n padding: 32px 12px;\n }\n\n .empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n\n .details-card[_ngcontent-%COMP%] {\n padding: 14px;\n }\n\n .details-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 14px;\n margin-bottom: 16px;\n }\n\n .detail-label[_ngcontent-%COMP%] {\n font-size: 10px;\n }\n\n .detail-value[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n}\n\n\n\n\n\n@media (hover: none) and (pointer: coarse) {\n .test-run-item[_ngcontent-%COMP%] {\n min-height: 64px;\n }\n\n .test-run-item[_ngcontent-%COMP%]:hover {\n transform: none;\n background: var(--suite-run-card);\n border-color: var(--suite-run-border);\n }\n\n .test-run-item[_ngcontent-%COMP%]:active {\n background: var(--suite-run-primary-light);\n border-color: #93c5fd;\n }\n\n .tab[_ngcontent-%COMP%]:hover {\n background: transparent;\n color: var(--suite-run-text-secondary);\n }\n\n .tab[_ngcontent-%COMP%]:active {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n }\n\n .metric-card[_ngcontent-%COMP%]:hover {\n transform: none;\n box-shadow: none;\n }\n\n .result-item[_ngcontent-%COMP%]:hover {\n transform: none;\n box-shadow: none;\n }\n\n .keyboard-shortcuts[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n\n\n\n\n@media print {\n .suite-run-header[_ngcontent-%COMP%] {\n background: white;\n box-shadow: none;\n border-bottom: 2px solid #000;\n }\n\n .tabs-container[_ngcontent-%COMP%], \n .header-actions[_ngcontent-%COMP%], \n .keyboard-shortcuts[_ngcontent-%COMP%] {\n display: none;\n }\n\n .tab-content[_ngcontent-%COMP%] {\n padding: 20px 0;\n }\n\n .result-hero[_ngcontent-%COMP%], \n .test-run-item[_ngcontent-%COMP%], \n .details-card[_ngcontent-%COMP%] {\n box-shadow: none;\n border: 1px solid #ccc;\n }\n}\n\n\n\n\n\n@media (prefers-color-scheme: dark) {\n \n\n}\n\n\n\n\n\n.tags-bar[_ngcontent-%COMP%] {\n margin-top: 16px;\n padding: 8px 14px;\n background: linear-gradient(135deg, rgba(59, 130, 246, 0.04) 0%, rgba(59, 130, 246, 0.08) 100%);\n border: 1px solid rgba(59, 130, 246, 0.15);\n border-radius: 8px;\n max-width: 600px;\n}\n\n.tags-bar-content[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.tags-bar-label[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n}\n\n.tags-bar-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n opacity: 0.6;\n}\n\n.tags-bar-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n flex: 1;\n}\n\n.tag-inline[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 4px 10px;\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n letter-spacing: 0.01em;\n}\n\n.tags-bar-empty[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n opacity: 0.7;\n flex: 1;\n}\n\n.tags-bar-edit[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n background: transparent;\n border: 1px dashed var(--suite-run-border);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.tags-bar-edit[_ngcontent-%COMP%]:hover {\n border-color: var(--suite-run-primary);\n color: var(--suite-run-primary);\n background: var(--suite-run-primary-light);\n}\n\n.tags-bar-edit[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n\n\n\n\n.tags-editor-panel[_ngcontent-%COMP%] {\n margin-top: 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-primary);\n border-radius: 10px;\n overflow: hidden;\n box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);\n max-width: 600px;\n}\n\n.tags-editor-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 12px 16px;\n background: var(--suite-run-primary-light);\n border-bottom: 1px solid rgba(59, 130, 246, 0.2);\n}\n\n.tags-editor-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--suite-run-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.tags-editor-body[_ngcontent-%COMP%] {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tags-editor-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n min-height: 32px;\n}\n\n.tag-editable[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 8px 5px 12px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-primary);\n color: var(--suite-run-primary);\n border-radius: 14px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.tag-remove-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n background: transparent;\n border: none;\n color: var(--suite-run-primary);\n cursor: pointer;\n border-radius: 50%;\n font-size: 9px;\n opacity: 0.6;\n transition: var(--suite-run-transition);\n}\n\n.tag-remove-btn[_ngcontent-%COMP%]:hover {\n opacity: 1;\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.tags-empty-hint[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n font-style: italic;\n padding: 4px 0;\n}\n\n.tags-editor-input[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.tag-text-input[_ngcontent-%COMP%] {\n flex: 1;\n padding: 10px 14px;\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n font-size: 13px;\n background: var(--suite-run-neutral-light);\n}\n\n.tag-text-input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--suite-run-primary);\n background: var(--suite-run-card);\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.tag-text-input[_ngcontent-%COMP%]::placeholder {\n color: var(--suite-run-text-secondary);\n opacity: 0.6;\n}\n\n.tags-editor-footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-start;\n gap: 8px;\n padding: 12px 16px;\n background: var(--suite-run-neutral-light);\n border-top: 1px solid var(--suite-run-border);\n}\n\n\n\n\n\n.runs-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding: 12px 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.run-filters[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.filter-btn[_ngcontent-%COMP%] {\n padding: 6px 14px;\n border: 1px solid var(--suite-run-border);\n background: var(--suite-run-card);\n border-radius: 20px;\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n cursor: pointer;\n transition: var(--suite-run-transition);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.filter-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--suite-run-primary);\n color: var(--suite-run-primary);\n}\n\n.filter-btn.active[_ngcontent-%COMP%] {\n background: var(--suite-run-primary);\n border-color: var(--suite-run-primary);\n color: white;\n}\n\n.filter-btn.passed[_ngcontent-%COMP%]:hover, \n.filter-btn.passed.active[_ngcontent-%COMP%] {\n background: var(--suite-run-success);\n border-color: var(--suite-run-success);\n color: white;\n}\n\n.filter-btn.failed[_ngcontent-%COMP%]:hover, \n.filter-btn.failed.active[_ngcontent-%COMP%] {\n background: var(--suite-run-danger);\n border-color: var(--suite-run-danger);\n color: white;\n}\n\n.filter-btn.error[_ngcontent-%COMP%]:hover, \n.filter-btn.error.active[_ngcontent-%COMP%] {\n background: var(--suite-run-warning);\n border-color: var(--suite-run-warning);\n color: white;\n}\n\n.runs-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n\n\n\n\n.test-run-card[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n transition: var(--suite-run-transition);\n margin-bottom: 10px;\n}\n\n.test-run-card[_ngcontent-%COMP%]:hover {\n box-shadow: var(--suite-run-shadow);\n}\n\n.test-run-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item[_ngcontent-%COMP%]:hover {\n background: var(--suite-run-primary-light);\n}\n\n.run-header-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 4px;\n}\n\n.run-feedback-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.run-feedback-indicator[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.run-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n}\n\n.tag-mini[_ngcontent-%COMP%] {\n display: inline-flex;\n padding: 2px 8px;\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-text-secondary);\n border-radius: 10px;\n font-size: 10px;\n font-weight: 500;\n}\n\n.tag-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);\n border: 1px solid #bfdbfe;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: #1d4ed8;\n}\n\n.run-expand[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n transition: var(--suite-run-transition);\n}\n\n.test-run-item[_ngcontent-%COMP%]:hover .run-expand[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.run-cost[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.run-cost[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.7;\n}\n\n\n\n\n\n.inline-feedback[_ngcontent-%COMP%] {\n padding: 0 16px 16px;\n animation: _ngcontent-%COMP%_slideDown 0.2s ease-out;\n}\n\n@keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.feedback-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: var(--suite-run-border);\n margin-bottom: 16px;\n}\n\n.feedback-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.feedback-label[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.inline-rating[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.rating-numbers[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.rating-btn[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n border: 2px solid var(--suite-run-border);\n border-radius: 8px;\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-text-secondary);\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.rating-btn[_ngcontent-%COMP%]:hover, \n.rating-btn.hover[_ngcontent-%COMP%] {\n transform: scale(1.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.rating-btn.low[_ngcontent-%COMP%]:hover, \n.rating-btn.low.hover[_ngcontent-%COMP%] {\n border-color: var(--suite-run-danger);\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.rating-btn.mid[_ngcontent-%COMP%]:hover, \n.rating-btn.mid.hover[_ngcontent-%COMP%] {\n border-color: var(--suite-run-warning);\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.rating-btn.high[_ngcontent-%COMP%]:hover, \n.rating-btn.high.hover[_ngcontent-%COMP%] {\n border-color: var(--suite-run-success);\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.rating-btn.selected[_ngcontent-%COMP%] {\n transform: scale(1.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.rating-btn.selected.low[_ngcontent-%COMP%] {\n border-color: var(--suite-run-danger);\n background: var(--suite-run-danger);\n color: white;\n}\n\n.rating-btn.selected.mid[_ngcontent-%COMP%] {\n border-color: var(--suite-run-warning);\n background: var(--suite-run-warning);\n color: white;\n}\n\n.rating-btn.selected.high[_ngcontent-%COMP%] {\n border-color: var(--suite-run-success);\n background: var(--suite-run-success);\n color: white;\n}\n\n.rating-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 14px;\n background: var(--suite-run-neutral-light);\n border-radius: 8px;\n}\n\n.rating-value[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.rating-label-text[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--suite-run-text-secondary);\n}\n\n.correctness-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.correctness-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--suite-run-text);\n}\n\n.correctness-options[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n}\n\n.radio-opt[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n font-size: 13px;\n color: var(--suite-run-text-secondary);\n}\n\n.radio-opt[_ngcontent-%COMP%] input[type=\"radio\"][_ngcontent-%COMP%] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n}\n\n.comments-row[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.feedback-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px;\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n font-size: 14px;\n font-family: inherit;\n resize: vertical;\n min-height: 80px;\n}\n\n.feedback-textarea[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--suite-run-primary);\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.feedback-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n gap: 12px;\n padding-top: 8px;\n}\n\n\n\n\n\n@media (max-width: 768px) {\n .tags-bar[_ngcontent-%COMP%] {\n padding: 8px 12px;\n }\n\n .tags-bar-content[_ngcontent-%COMP%] {\n gap: 8px;\n }\n\n .tag-inline[_ngcontent-%COMP%] {\n padding: 3px 8px;\n font-size: 10px;\n }\n\n .tags-editor-panel[_ngcontent-%COMP%] {\n margin-top: 12px;\n }\n\n .tags-editor-body[_ngcontent-%COMP%] {\n padding: 12px;\n }\n\n .tags-editor-footer[_ngcontent-%COMP%] {\n padding: 10px 12px;\n }\n\n .runs-toolbar[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .run-filters[_ngcontent-%COMP%] {\n justify-content: center;\n }\n\n .runs-actions[_ngcontent-%COMP%] {\n justify-content: center;\n }\n\n .rating-numbers[_ngcontent-%COMP%] {\n justify-content: center;\n }\n\n .rating-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n font-size: 12px;\n }\n\n .correctness-row[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .feedback-actions[_ngcontent-%COMP%] {\n flex-direction: column;\n }\n\n .feedback-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n width: 100%;\n }\n}\n\n\n\n\n\n@keyframes _ngcontent-%COMP%_pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n}\n\n.result-hero.running[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_pulse 2s ease-in-out infinite;\n}\n\n\n\n.overview-tab[_ngcontent-%COMP%], \n.runs-tab[_ngcontent-%COMP%], \n.details-tab[_ngcontent-%COMP%], \n.analytics-tab[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease;\n}\n\n\n\n\n\n.analytics-tab[_ngcontent-%COMP%] {\n max-width: 1200px;\n margin: 0 auto;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.analytics-section[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 24px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.analytics-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 20px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--suite-run-text);\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.analytics-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.analytics-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 16px;\n margin-bottom: 20px;\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.analytics-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n padding: 0;\n border: none;\n}\n\n.analytics-legend[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.legend-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.legend-item.passed[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.legend-item.failed[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.legend-item.error[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n}\n\n.legend-item.skipped[_ngcontent-%COMP%] {\n color: var(--suite-run-neutral);\n}\n\n\n\n.performance-matrix[_ngcontent-%COMP%] {\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.matrix-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 2fr 120px 150px 100px 100px;\n border-bottom: 1px solid var(--suite-run-border);\n transition: var(--suite-run-transition);\n cursor: pointer;\n}\n\n.matrix-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.matrix-row[_ngcontent-%COMP%]:hover:not(.matrix-header-row) {\n background: var(--suite-run-primary-light);\n}\n\n.matrix-row.passed[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-success);\n}\n\n.matrix-row.failed[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-danger);\n}\n\n.matrix-row.error[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-warning);\n}\n\n.matrix-row.skipped[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-neutral);\n}\n\n.matrix-header-row[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n font-weight: 600;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n cursor: default;\n}\n\n.matrix-cell[_ngcontent-%COMP%] {\n padding: 12px 16px;\n display: flex;\n align-items: center;\n}\n\n.test-name-cell[_ngcontent-%COMP%] {\n gap: 12px;\n}\n\n.test-sequence[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n flex-shrink: 0;\n}\n\n.test-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-indicator.status-passed[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.status-indicator.status-failed[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.status-indicator.status-error[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n}\n\n.status-indicator.status-skipped[_ngcontent-%COMP%] {\n color: var(--suite-run-neutral);\n}\n\n.status-indicator.status-pending[_ngcontent-%COMP%] {\n color: var(--suite-run-info);\n}\n\n.status-indicator.status-running[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.score-bar[_ngcontent-%COMP%] {\n position: relative;\n width: 100%;\n height: 20px;\n background: var(--suite-run-neutral-light);\n border-radius: 10px;\n overflow: hidden;\n}\n\n.score-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 10px;\n transition: width 0.3s ease;\n}\n\n.score-fill.high[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, var(--suite-run-success) 0%, #34d399 100%);\n}\n\n.score-fill.medium[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, var(--suite-run-warning) 0%, #fbbf24 100%);\n}\n\n.score-fill.low[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, var(--suite-run-danger) 0%, #f87171 100%);\n}\n\n.score-text[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 11px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.na-value[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n opacity: 0.6;\n}\n\n\n\n.stats-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 16px;\n}\n\n.stat-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n border: 1px solid var(--suite-run-border);\n border-radius: 12px;\n transition: var(--suite-run-transition);\n}\n\n.stat-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.stat-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 12px;\n font-size: 20px;\n}\n\n.stat-icon.passed[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.stat-icon.failed[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.stat-icon.score[_ngcontent-%COMP%] {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.stat-icon.duration[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.stat-icon.cost[_ngcontent-%COMP%] {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.stat-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.stat-card[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.stat-card[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat-percent[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n\n\n@media (max-width: 768px) {\n .analytics-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .matrix-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 8px;\n padding: 12px;\n }\n\n .matrix-header-row[_ngcontent-%COMP%] {\n display: none;\n }\n\n .matrix-cell[_ngcontent-%COMP%] {\n padding: 4px 0;\n }\n\n .test-name-cell[_ngcontent-%COMP%]::before, \n .status-cell[_ngcontent-%COMP%]::before, \n .score-cell[_ngcontent-%COMP%]::before, \n .duration-cell[_ngcontent-%COMP%]::before, \n .cost-cell[_ngcontent-%COMP%]::before {\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n margin-right: 8px;\n min-width: 80px;\n }\n\n .status-cell[_ngcontent-%COMP%]::before { content: 'Status:'; }\n .score-cell[_ngcontent-%COMP%]::before { content: 'Score:'; }\n .duration-cell[_ngcontent-%COMP%]::before { content: 'Duration:'; }\n .cost-cell[_ngcontent-%COMP%]::before { content: 'Cost:'; }\n\n .stats-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr 1fr;\n }\n\n .stat-card[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .stat-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n font-size: 16px;\n }\n\n .stat-card[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n}\n\n\n\n.tab[_ngcontent-%COMP%]:focus-visible, \n.test-run-item[_ngcontent-%COMP%]:focus-visible, \nbutton[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--suite-run-primary);\n outline-offset: 2px;\n}\n\n\n\n\n\n.analytics-loading[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 60px 20px;\n color: var(--suite-run-text-secondary);\n}\n\n.analytics-loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: var(--suite-run-primary);\n}\n\n\n\n\n\n.results-table-wrapper[_ngcontent-%COMP%] {\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.results-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n}\n\n.results-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n}\n\n.results-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 12px 16px;\n text-align: left;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.results-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n border-bottom: 1px solid #f1f5f9;\n vertical-align: middle;\n}\n\n.results-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: none;\n}\n\n\n\n.seq-col[_ngcontent-%COMP%] {\n width: 40px;\n min-width: 40px;\n text-align: center;\n white-space: nowrap;\n}\n\n.name-col[_ngcontent-%COMP%] {\n \n\n width: auto;\n max-width: 50%;\n}\n\n.status-col[_ngcontent-%COMP%] {\n width: 1%; \n\n white-space: nowrap;\n}\n\n.score-col[_ngcontent-%COMP%] {\n width: 1%; \n\n min-width: 120px; \n\n white-space: nowrap;\n}\n\n.duration-col[_ngcontent-%COMP%] {\n width: 1%; \n\n white-space: nowrap;\n text-align: right;\n}\n\n.cost-col[_ngcontent-%COMP%] {\n width: 1%; \n\n white-space: nowrap;\n text-align: right;\n}\n\n\n\n.result-row[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.result-row[_ngcontent-%COMP%]:hover {\n background: var(--suite-run-primary-light);\n}\n\n.result-row.row-passed[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-success);\n}\n\n.result-row.row-failed[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-danger);\n}\n\n.result-row.row-error[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-warning);\n}\n\n.result-row.row-skipped[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-neutral);\n}\n\n\n\n.test-name-wrapper[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.test-name-wrapper[_ngcontent-%COMP%] .test-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--suite-run-text);\n}\n\n.test-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n\n\n.score-display[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.score-bar-mini[_ngcontent-%COMP%] {\n flex: 1;\n height: 6px;\n background: var(--suite-run-neutral-light);\n border-radius: 3px;\n overflow: hidden;\n min-width: 60px;\n}\n\n.score-bar-mini[_ngcontent-%COMP%] .score-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.score-bar-mini[_ngcontent-%COMP%] .score-fill.high[_ngcontent-%COMP%] {\n background: var(--suite-run-success);\n}\n\n.score-bar-mini[_ngcontent-%COMP%] .score-fill.medium[_ngcontent-%COMP%] {\n background: var(--suite-run-warning);\n}\n\n.score-bar-mini[_ngcontent-%COMP%] .score-fill.low[_ngcontent-%COMP%] {\n background: var(--suite-run-danger);\n}\n\n.score-display[_ngcontent-%COMP%] .score-text[_ngcontent-%COMP%] {\n position: static;\n transform: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--suite-run-text);\n min-width: 35px;\n text-align: right;\n}\n\n\n\n.results-table[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-passed[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-failed[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-error[_ngcontent-%COMP%] {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-skipped[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-pending[_ngcontent-%COMP%] {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-running[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n\n\n@media (max-width: 768px) {\n .results-table-wrapper[_ngcontent-%COMP%] {\n overflow-x: auto;\n }\n\n .results-table[_ngcontent-%COMP%] {\n min-width: 600px;\n }\n\n .results-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], \n .results-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 12px;\n }\n\n .name-col[_ngcontent-%COMP%] {\n min-width: 150px;\n }\n}\n\n\n\n\n\n@media (prefers-contrast: high) {\n .status-badge[_ngcontent-%COMP%], \n .status-inline[_ngcontent-%COMP%] {\n border: 2px solid currentColor;\n }\n\n .test-run-item[_ngcontent-%COMP%] {\n border-width: 2px;\n }\n\n .tab.active[_ngcontent-%COMP%] {\n border-bottom-width: 4px;\n }\n}\n\n\n\n\n\n.evaluation-summary[_ngcontent-%COMP%] {\n margin-top: 20px;\n}\n\n.eval-summary-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n}\n\n.eval-summary-card[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n transition: var(--suite-run-transition);\n}\n\n.eval-summary-card[_ngcontent-%COMP%]:hover {\n box-shadow: var(--suite-run-shadow);\n}\n\n.eval-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: var(--suite-run-neutral-light);\n border-bottom: 1px solid var(--suite-run-border);\n font-size: 13px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.eval-card-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.eval-card-body[_ngcontent-%COMP%] {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.eval-stat-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n.eval-stat-label[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n.eval-stat-value[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.eval-stat-value.correct[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.eval-stat-value.incorrect[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n font-weight: 500;\n font-size: 12px;\n}\n\n.eval-stat-value.error[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.eval-stat-value.timeout[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n}\n\n.eval-card-footer[_ngcontent-%COMP%] {\n padding: 10px 16px;\n background: var(--suite-run-warning-light);\n border-top: 1px solid rgba(245, 158, 11, 0.2);\n}\n\n.pending-badge[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-warning);\n}\n\n.pending-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n\n\n\n\n.needs-review-section[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n}\n\n.needs-review-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 20px;\n background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);\n border-bottom: 1px solid rgba(245, 158, 11, 0.3);\n}\n\n.needs-review-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #92400e;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.needs-review-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.review-count[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 500;\n color: #92400e;\n background: rgba(255, 255, 255, 0.6);\n padding: 2px 10px;\n border-radius: 12px;\n}\n\n.needs-review-list[_ngcontent-%COMP%] {\n padding: 8px;\n}\n\n.review-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n border-radius: 8px;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.review-item[_ngcontent-%COMP%]:hover {\n background: var(--suite-run-primary-light);\n}\n\n.review-item-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n font-size: 14px;\n flex-shrink: 0;\n}\n\n.review-item.high-priority[_ngcontent-%COMP%] .review-item-icon[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.review-item.medium-priority[_ngcontent-%COMP%] .review-item-icon[_ngcontent-%COMP%] {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.review-item[_ngcontent-%COMP%]:not(.high-priority):not(.medium-priority) .review-item-icon[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.review-item-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.review-item-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.review-item-reason[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--suite-run-text-secondary);\n}\n\n.review-item-action[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n font-size: 12px;\n}\n\n.review-item[_ngcontent-%COMP%]:hover .review-item-action[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.review-more[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n padding: 8px;\n border-top: 1px solid var(--suite-run-border);\n}\n\n\n\n@media (max-width: 768px) {\n .eval-summary-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .eval-card-header[_ngcontent-%COMP%] {\n padding: 10px 14px;\n font-size: 12px;\n }\n\n .eval-card-body[_ngcontent-%COMP%] {\n padding: 12px 14px;\n }\n\n .needs-review-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n }\n\n .needs-review-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n\n .review-item[_ngcontent-%COMP%] {\n padding: 10px 12px;\n }\n\n .review-item-icon[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n}\n\n\n\n\n\n.feedback-col[_ngcontent-%COMP%] {\n width: 1%; \n\n white-space: nowrap;\n text-align: center;\n}\n\n.feedback-display[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n}\n\n.feedback-rating[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--suite-run-neutral-light);\n}\n\n.feedback-rating.low[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.feedback-rating.mid[_ngcontent-%COMP%] {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.feedback-rating.high[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.feedback-correctness[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.feedback-correctness[_ngcontent-%COMP%] i.correct[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.feedback-correctness[_ngcontent-%COMP%] i.incorrect[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.na-value.needs-review[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n opacity: 0.7;\n}\n\n.na-value.needs-review[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}"], changeDetection: 0 }); }
2318
+ i0.ɵɵconditional(ctx.showShortcuts ? 136 : -1);
2319
+ } }, dependencies: [i5.NgClass, i6.DefaultValueAccessor, i6.RadioControlValueAccessor, i6.NgControlStatus, i6.NgModel, i7.DialogContainerDirective, i8.ButtonComponent, i3.EvaluationBadgeComponent, i3.EvaluationModeToggleComponent, i3.ExecutionContextComponent, i9.EntityLinkPillComponent, i5.DatePipe], styles: ["\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n --suite-run-primary: #3b82f6;\n --suite-run-primary-light: #eff6ff;\n --suite-run-success: #10b981;\n --suite-run-success-light: #ecfdf5;\n --suite-run-danger: #ef4444;\n --suite-run-danger-light: #fef2f2;\n --suite-run-warning: #f59e0b;\n --suite-run-warning-light: #fffbeb;\n --suite-run-info: #8b5cf6;\n --suite-run-info-light: #f5f3ff;\n --suite-run-neutral: #6b7280;\n --suite-run-neutral-light: #f9fafb;\n --suite-run-bg: #f8fafc;\n --suite-run-card: #ffffff;\n --suite-run-border: #e2e8f0;\n --suite-run-text: #1e293b;\n --suite-run-text-secondary: #64748b;\n --suite-run-radius: 12px;\n --suite-run-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);\n --suite-run-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n --suite-run-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\n\n.test-suite-run-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--suite-run-bg);\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n}\n\n\n\n\n\n.suite-run-header[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-bottom: 1px solid var(--suite-run-border);\n padding: 20px 24px;\n}\n\n\n\n.breadcrumb[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n\n.breadcrumb[_ngcontent-%COMP%] ol[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: 13px;\n}\n\n.breadcrumb[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.breadcrumb[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n text-decoration: none;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 8px;\n border-radius: 6px;\n transition: background 0.15s;\n}\n\n.breadcrumb[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover {\n background: rgba(59, 130, 246, 0.1);\n text-decoration: none;\n}\n\n.breadcrumb[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--suite-run-text-secondary);\n margin: 0 4px;\n}\n\n.breadcrumb[_ngcontent-%COMP%] .current[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n font-weight: 500;\n}\n\n.breadcrumb-text[_ngcontent-%COMP%] {\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n\n\n.header-content[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.header-left[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n\n.suite-run-icon[_ngcontent-%COMP%] {\n width: 56px;\n height: 56px;\n border-radius: var(--suite-run-radius);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 24px;\n flex-shrink: 0;\n box-shadow: var(--suite-run-shadow);\n}\n\n.suite-run-info[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n letter-spacing: -0.025em;\n}\n\n.suite-run-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n}\n\n.status-badge.status-completed[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.status-badge.status-failed[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.status-badge.status-running[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.status-badge.status-pending[_ngcontent-%COMP%] {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.status-badge.status-cancelled[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.meta-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n background: var(--suite-run-neutral-light);\n border-radius: 6px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n.meta-tag[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.7;\n}\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n\n\n\n\n.metrics-bar[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 20px;\n}\n\n.metric-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n border: 1px solid var(--suite-run-border);\n border-radius: 10px;\n padding: 14px;\n transition: var(--suite-run-transition);\n}\n\n.metric-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.metric-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-card);\n border-radius: 10px;\n color: var(--suite-run-primary);\n font-size: 16px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.metric-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.metric-value[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 700;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.metric-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n margin-top: 2px;\n}\n\n\n\n\n\n.results-summary[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n padding-top: 20px;\n border-top: 1px solid var(--suite-run-border);\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.result-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: 10px;\n flex-shrink: 0;\n transition: var(--suite-run-transition);\n}\n\n.result-item[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.result-icon[_ngcontent-%COMP%] {\n font-size: 24px;\n}\n\n.result-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.result-count[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 700;\n line-height: 1.2;\n}\n\n.result-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.result-item.passed[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.passed[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.result-item.failed[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.failed[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.result-item.error[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.error[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n}\n\n.result-item.skipped[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.skipped[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-neutral);\n}\n\n.result-item.total[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], \n.result-item.total[_ngcontent-%COMP%] .result-count[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n\n\n\n\n.tabs-container[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-bottom: 1px solid var(--suite-run-border);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.tabs[_ngcontent-%COMP%] {\n display: flex;\n padding: 0 24px;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n}\n\n.tabs[_ngcontent-%COMP%]::-webkit-scrollbar {\n display: none;\n}\n\n.tab[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 16px 20px;\n border: none;\n background: transparent;\n border-bottom: 3px solid transparent;\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: var(--suite-run-transition);\n white-space: nowrap;\n position: relative;\n}\n\n.tab[_ngcontent-%COMP%]:hover {\n color: var(--suite-run-primary);\n background: var(--suite-run-primary-light);\n}\n\n.tab.active[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n border-bottom-color: var(--suite-run-primary);\n font-weight: 600;\n}\n\n.tab[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 15px;\n}\n\n.tab-badge[_ngcontent-%COMP%] {\n background: var(--suite-run-border);\n color: var(--suite-run-text-secondary);\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.tab.active[_ngcontent-%COMP%] .tab-badge[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.tab-shortcut[_ngcontent-%COMP%] {\n display: none;\n width: 18px;\n height: 18px;\n background: var(--suite-run-neutral-light);\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n align-items: center;\n justify-content: center;\n margin-left: 4px;\n}\n\n\n\n\n\n.tab-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n}\n\n\n\n\n\n.overview-tab[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 20px;\n max-width: 800px;\n margin: 0 auto;\n width: 100%;\n}\n\n.result-hero[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 48px 32px;\n text-align: center;\n border: 2px solid var(--suite-run-border);\n transition: var(--suite-run-transition);\n}\n\n.result-hero.passed[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);\n border-color: var(--suite-run-success);\n}\n\n.result-hero.failed[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);\n border-color: var(--suite-run-danger);\n}\n\n.result-hero.running[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);\n border-color: var(--suite-run-primary);\n}\n\n.result-hero.pending[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);\n border-color: var(--suite-run-info);\n}\n\n.result-hero-icon[_ngcontent-%COMP%] {\n font-size: 72px;\n margin-bottom: 20px;\n}\n\n.result-hero.passed[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.result-hero.failed[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.result-hero.running[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.result-hero.pending[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n color: var(--suite-run-info);\n}\n\n.result-hero-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0 0 16px 0;\n font-size: 32px;\n font-weight: 800;\n color: var(--suite-run-text);\n letter-spacing: -0.025em;\n}\n\n.result-hero-stats[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 32px;\n}\n\n.stat-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.stat-value[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.stat-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat-divider[_ngcontent-%COMP%] {\n width: 1px;\n height: 40px;\n background: var(--suite-run-border);\n}\n\n\n\n.progress-section[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n border: 1px solid rgba(59, 130, 246, 0.2);\n border-radius: var(--suite-run-radius);\n padding: 20px;\n text-align: center;\n}\n\n.progress-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n font-size: 16px;\n font-weight: 500;\n color: var(--suite-run-primary);\n margin-bottom: 8px;\n}\n\n.progress-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n\n.auto-refresh-notice[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n\n\n\n\n.runs-tab[_ngcontent-%COMP%] {\n max-width: 900px;\n margin: 0 auto;\n width: 100%;\n}\n\n\n\n.loading-state[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.skeleton-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.skeleton-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n border: 1px solid var(--suite-run-border);\n}\n\n.skeleton-sequence[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: _ngcontent-%COMP%_shimmer 1.5s infinite;\n border-radius: 50%;\n}\n\n.skeleton-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: _ngcontent-%COMP%_shimmer 1.5s infinite;\n border-radius: 8px;\n}\n\n.skeleton-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.skeleton-line[_ngcontent-%COMP%] {\n height: 14px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: _ngcontent-%COMP%_shimmer 1.5s infinite;\n border-radius: 4px;\n}\n\n.skeleton-line.wide[_ngcontent-%COMP%] {\n width: 70%;\n}\n\n.skeleton-line.narrow[_ngcontent-%COMP%] {\n width: 40%;\n}\n\n@keyframes _ngcontent-%COMP%_shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n\n\n\n.test-runs-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.test-run-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item[_ngcontent-%COMP%]:hover {\n background: var(--suite-run-primary-light);\n border-color: #93c5fd;\n transform: translateX(4px);\n}\n\n.test-run-item[_ngcontent-%COMP%]:active {\n transform: translateX(2px);\n}\n\n.run-sequence[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n font-size: 13px;\n font-weight: 700;\n color: var(--suite-run-text-secondary);\n flex-shrink: 0;\n}\n\n.run-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 10px;\n color: white;\n font-size: 16px;\n flex-shrink: 0;\n box-shadow: var(--suite-run-shadow);\n}\n\n.run-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.run-name[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.run-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n flex-wrap: wrap;\n}\n\n.run-status[_ngcontent-%COMP%] {\n font-weight: 700;\n}\n\n.run-score[_ngcontent-%COMP%], \n.run-duration[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.run-score[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.run-duration[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.7;\n}\n\n.test-run-item[_ngcontent-%COMP%] > i[_ngcontent-%COMP%] {\n color: #cbd5e1;\n font-size: 14px;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item[_ngcontent-%COMP%]:hover > i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n transform: translateX(4px);\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 background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n border: 2px dashed var(--suite-run-border);\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n margin-bottom: 20px;\n}\n\n.empty-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: #cbd5e1;\n}\n\n.empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n color: var(--suite-run-text-secondary);\n max-width: 300px;\n}\n\n\n\n\n\n.details-tab[_ngcontent-%COMP%] {\n max-width: 900px;\n margin: 0 auto;\n width: 100%;\n}\n\n.details-card[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 24px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.details-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 20px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--suite-run-text);\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.details-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.details-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 20px;\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: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n}\n\n.detail-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--suite-run-text);\n word-wrap: break-word;\n}\n\n.detail-value.monospace[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 12px;\n background: var(--suite-run-neutral-light);\n padding: 6px 10px;\n border-radius: 6px;\n}\n\n.detail-value[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n text-decoration: none;\n font-weight: 500;\n transition: var(--suite-run-transition);\n}\n\n.detail-value[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover {\n color: #2563eb;\n text-decoration: underline;\n}\n\n.status-inline[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 4px 10px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-inline.status-completed[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.status-inline.status-failed[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.status-inline.status-running[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.status-inline.status-pending[_ngcontent-%COMP%] {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.status-inline.status-cancelled[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n\n\n\n\n\n\n.shortcuts-toggle[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 20px;\n right: 20px;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n box-shadow: var(--suite-run-shadow);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n z-index: 99;\n transition: var(--suite-run-transition);\n opacity: 0.7;\n}\n\n.shortcuts-toggle[_ngcontent-%COMP%]:hover {\n opacity: 1;\n transform: scale(1.1);\n color: var(--suite-run-primary);\n border-color: var(--suite-run-primary);\n}\n\n.keyboard-shortcuts[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 20px;\n right: 20px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n padding: 12px 16px;\n box-shadow: var(--suite-run-shadow-lg);\n font-size: 12px;\n z-index: 100;\n opacity: 0.9;\n transition: var(--suite-run-transition);\n}\n\n.keyboard-shortcuts[_ngcontent-%COMP%]:hover {\n opacity: 1;\n}\n\n.shortcuts-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n color: var(--suite-run-text);\n margin-bottom: 10px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.shortcuts-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.shortcuts-close[_ngcontent-%COMP%] {\n margin-left: auto;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--suite-run-text-muted);\n font-size: 12px;\n padding: 2px 4px;\n border-radius: 4px;\n transition: var(--suite-run-transition);\n}\n\n.shortcuts-close[_ngcontent-%COMP%]:hover {\n color: var(--suite-run-text);\n background: var(--suite-run-border);\n}\n\n.shortcut-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.shortcut-item[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n}\n\n.shortcut-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n color: var(--suite-run-text-secondary);\n}\n\n.shortcut-keys[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\nkbd[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n font-family: inherit;\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text);\n box-shadow: 0 1px 0 #94a3b8;\n}\n\n\n\n\n\n@media (max-width: 1024px) {\n .suite-run-header[_ngcontent-%COMP%] {\n padding: 16px 20px;\n }\n\n .metrics-bar[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .result-hero-stats[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n }\n\n .stat-divider[_ngcontent-%COMP%] {\n display: none;\n }\n\n .details-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .tab-shortcut[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n\n\n\n\n@media (max-width: 768px) {\n .suite-run-header[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .header-content[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n }\n\n .header-left[_ngcontent-%COMP%] {\n width: 100%;\n }\n\n .suite-run-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n font-size: 20px;\n }\n\n .suite-run-info[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n\n .header-actions[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: stretch;\n }\n\n .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n flex: 1;\n }\n\n .metrics-bar[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n gap: 8px;\n }\n\n .metric-card[_ngcontent-%COMP%] {\n padding: 12px;\n flex-direction: column;\n text-align: center;\n gap: 8px;\n }\n\n .metric-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n }\n\n .metric-value[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .results-summary[_ngcontent-%COMP%] {\n gap: 8px;\n padding-top: 16px;\n flex-wrap: nowrap;\n overflow-x: auto;\n padding-bottom: 8px;\n margin-bottom: -8px;\n }\n\n .result-item[_ngcontent-%COMP%] {\n padding: 10px 12px;\n min-width: 90px;\n }\n\n .result-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n\n .result-count[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .tabs[_ngcontent-%COMP%] {\n padding: 0 16px;\n }\n\n .tab[_ngcontent-%COMP%] {\n padding: 14px 16px;\n font-size: 13px;\n }\n\n .tab-content[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .result-hero[_ngcontent-%COMP%] {\n padding: 32px 20px;\n }\n\n .result-hero-icon[_ngcontent-%COMP%] {\n font-size: 56px;\n }\n\n .result-hero-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n font-size: 24px;\n }\n\n .stat-value[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n\n .test-run-item[_ngcontent-%COMP%] {\n padding: 14px;\n }\n\n .run-sequence[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n\n .run-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n font-size: 14px;\n }\n\n .run-name[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n\n .run-meta[_ngcontent-%COMP%] {\n gap: 10px;\n font-size: 11px;\n }\n\n .empty-state[_ngcontent-%COMP%] {\n padding: 40px 16px;\n }\n\n .empty-icon[_ngcontent-%COMP%] {\n width: 64px;\n height: 64px;\n }\n\n .empty-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 28px;\n }\n\n .details-card[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .details-grid[_ngcontent-%COMP%] {\n gap: 16px;\n }\n\n .keyboard-shortcuts[_ngcontent-%COMP%], .shortcuts-toggle[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n\n\n\n\n@media (max-width: 480px) {\n .suite-run-header[_ngcontent-%COMP%] {\n padding: 12px;\n }\n\n .breadcrumb[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-bottom: 12px;\n }\n\n .suite-run-icon[_ngcontent-%COMP%] {\n width: 44px;\n height: 44px;\n font-size: 18px;\n }\n\n .suite-run-info[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .suite-run-meta[_ngcontent-%COMP%] {\n gap: 8px;\n }\n\n .status-badge[_ngcontent-%COMP%] {\n padding: 4px 10px;\n font-size: 11px;\n }\n\n .meta-tag[_ngcontent-%COMP%] {\n font-size: 11px;\n padding: 3px 8px;\n }\n\n .metrics-bar[_ngcontent-%COMP%] {\n grid-template-columns: 1fr 1fr;\n }\n\n .metric-card[_ngcontent-%COMP%] {\n padding: 10px;\n gap: 6px;\n }\n\n .metric-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n font-size: 14px;\n }\n\n .metric-value[_ngcontent-%COMP%] {\n font-size: 14px;\n }\n\n .metric-label[_ngcontent-%COMP%] {\n font-size: 9px;\n }\n\n .result-item[_ngcontent-%COMP%] {\n padding: 8px 10px;\n min-width: 80px;\n gap: 8px;\n }\n\n .result-icon[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .result-count[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .result-label[_ngcontent-%COMP%] {\n font-size: 9px;\n }\n\n .tabs[_ngcontent-%COMP%] {\n padding: 0 12px;\n }\n\n .tab[_ngcontent-%COMP%] {\n padding: 12px 14px;\n gap: 6px;\n }\n\n .tab[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n }\n\n .tab-content[_ngcontent-%COMP%] {\n padding: 12px;\n }\n\n .result-hero[_ngcontent-%COMP%] {\n padding: 24px 16px;\n }\n\n .result-hero-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n }\n\n .result-hero-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n font-size: 20px;\n margin-bottom: 12px;\n }\n\n .stat-value[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .stat-label[_ngcontent-%COMP%] {\n font-size: 10px;\n }\n\n .progress-section[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .progress-info[_ngcontent-%COMP%] {\n font-size: 14px;\n }\n\n .test-run-item[_ngcontent-%COMP%] {\n padding: 12px;\n gap: 10px;\n }\n\n .run-sequence[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n font-size: 11px;\n }\n\n .run-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n font-size: 12px;\n border-radius: 8px;\n }\n\n .run-name[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-bottom: 3px;\n }\n\n .run-meta[_ngcontent-%COMP%] {\n gap: 8px;\n font-size: 10px;\n }\n\n .empty-state[_ngcontent-%COMP%] {\n padding: 32px 12px;\n }\n\n .empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n\n .details-card[_ngcontent-%COMP%] {\n padding: 14px;\n }\n\n .details-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 14px;\n margin-bottom: 16px;\n }\n\n .detail-label[_ngcontent-%COMP%] {\n font-size: 10px;\n }\n\n .detail-value[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n}\n\n\n\n\n\n@media (hover: none) and (pointer: coarse) {\n .test-run-item[_ngcontent-%COMP%] {\n min-height: 64px;\n }\n\n .test-run-item[_ngcontent-%COMP%]:hover {\n transform: none;\n background: var(--suite-run-card);\n border-color: var(--suite-run-border);\n }\n\n .test-run-item[_ngcontent-%COMP%]:active {\n background: var(--suite-run-primary-light);\n border-color: #93c5fd;\n }\n\n .tab[_ngcontent-%COMP%]:hover {\n background: transparent;\n color: var(--suite-run-text-secondary);\n }\n\n .tab[_ngcontent-%COMP%]:active {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n }\n\n .metric-card[_ngcontent-%COMP%]:hover {\n transform: none;\n box-shadow: none;\n }\n\n .result-item[_ngcontent-%COMP%]:hover {\n transform: none;\n box-shadow: none;\n }\n\n .keyboard-shortcuts[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n\n\n\n\n@media print {\n .suite-run-header[_ngcontent-%COMP%] {\n background: white;\n box-shadow: none;\n border-bottom: 2px solid #000;\n }\n\n .tabs-container[_ngcontent-%COMP%], \n .header-actions[_ngcontent-%COMP%], \n .keyboard-shortcuts[_ngcontent-%COMP%] {\n display: none;\n }\n\n .tab-content[_ngcontent-%COMP%] {\n padding: 20px 0;\n }\n\n .result-hero[_ngcontent-%COMP%], \n .test-run-item[_ngcontent-%COMP%], \n .details-card[_ngcontent-%COMP%] {\n box-shadow: none;\n border: 1px solid #ccc;\n }\n}\n\n\n\n\n\n@media (prefers-color-scheme: dark) {\n \n\n}\n\n\n\n\n\n.tags-bar[_ngcontent-%COMP%] {\n margin-top: 16px;\n padding: 8px 14px;\n background: linear-gradient(135deg, rgba(59, 130, 246, 0.04) 0%, rgba(59, 130, 246, 0.08) 100%);\n border: 1px solid rgba(59, 130, 246, 0.15);\n border-radius: 8px;\n max-width: 600px;\n}\n\n.tags-bar-content[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.tags-bar-label[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n}\n\n.tags-bar-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n opacity: 0.6;\n}\n\n.tags-bar-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n flex: 1;\n}\n\n.tag-inline[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 4px 10px;\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n letter-spacing: 0.01em;\n}\n\n.tags-bar-empty[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n opacity: 0.7;\n flex: 1;\n}\n\n.tags-bar-edit[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n background: transparent;\n border: 1px dashed var(--suite-run-border);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.tags-bar-edit[_ngcontent-%COMP%]:hover {\n border-color: var(--suite-run-primary);\n color: var(--suite-run-primary);\n background: var(--suite-run-primary-light);\n}\n\n.tags-bar-edit[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n\n\n\n\n.tags-editor-panel[_ngcontent-%COMP%] {\n margin-top: 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-primary);\n border-radius: 10px;\n overflow: hidden;\n box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);\n max-width: 600px;\n}\n\n.tags-editor-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 12px 16px;\n background: var(--suite-run-primary-light);\n border-bottom: 1px solid rgba(59, 130, 246, 0.2);\n}\n\n.tags-editor-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--suite-run-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.tags-editor-body[_ngcontent-%COMP%] {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tags-editor-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n min-height: 32px;\n}\n\n.tag-editable[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 8px 5px 12px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-primary);\n color: var(--suite-run-primary);\n border-radius: 14px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.tag-remove-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n background: transparent;\n border: none;\n color: var(--suite-run-primary);\n cursor: pointer;\n border-radius: 50%;\n font-size: 9px;\n opacity: 0.6;\n transition: var(--suite-run-transition);\n}\n\n.tag-remove-btn[_ngcontent-%COMP%]:hover {\n opacity: 1;\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.tags-empty-hint[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n font-style: italic;\n padding: 4px 0;\n}\n\n.tags-editor-input[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.tag-text-input[_ngcontent-%COMP%] {\n flex: 1;\n padding: 10px 14px;\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n font-size: 13px;\n background: var(--suite-run-neutral-light);\n}\n\n.tag-text-input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--suite-run-primary);\n background: var(--suite-run-card);\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.tag-text-input[_ngcontent-%COMP%]::placeholder {\n color: var(--suite-run-text-secondary);\n opacity: 0.6;\n}\n\n.tags-editor-footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-start;\n gap: 8px;\n padding: 12px 16px;\n background: var(--suite-run-neutral-light);\n border-top: 1px solid var(--suite-run-border);\n}\n\n\n\n\n\n.runs-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding: 12px 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.run-filters[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.filter-btn[_ngcontent-%COMP%] {\n padding: 6px 14px;\n border: 1px solid var(--suite-run-border);\n background: var(--suite-run-card);\n border-radius: 20px;\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n cursor: pointer;\n transition: var(--suite-run-transition);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.filter-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--suite-run-primary);\n color: var(--suite-run-primary);\n}\n\n.filter-btn.active[_ngcontent-%COMP%] {\n background: var(--suite-run-primary);\n border-color: var(--suite-run-primary);\n color: white;\n}\n\n.filter-btn.passed[_ngcontent-%COMP%]:hover, \n.filter-btn.passed.active[_ngcontent-%COMP%] {\n background: var(--suite-run-success);\n border-color: var(--suite-run-success);\n color: white;\n}\n\n.filter-btn.failed[_ngcontent-%COMP%]:hover, \n.filter-btn.failed.active[_ngcontent-%COMP%] {\n background: var(--suite-run-danger);\n border-color: var(--suite-run-danger);\n color: white;\n}\n\n.filter-btn.error[_ngcontent-%COMP%]:hover, \n.filter-btn.error.active[_ngcontent-%COMP%] {\n background: var(--suite-run-warning);\n border-color: var(--suite-run-warning);\n color: white;\n}\n\n.runs-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n\n\n\n\n.test-run-card[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n transition: var(--suite-run-transition);\n margin-bottom: 10px;\n}\n\n.test-run-card[_ngcontent-%COMP%]:hover {\n box-shadow: var(--suite-run-shadow);\n}\n\n.test-run-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item[_ngcontent-%COMP%]:hover {\n background: var(--suite-run-primary-light);\n}\n\n.run-header-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 4px;\n}\n\n.run-feedback-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.run-feedback-indicator[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.run-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n}\n\n.tag-mini[_ngcontent-%COMP%] {\n display: inline-flex;\n padding: 2px 8px;\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-text-secondary);\n border-radius: 10px;\n font-size: 10px;\n font-weight: 500;\n}\n\n.tag-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);\n border: 1px solid #bfdbfe;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: #1d4ed8;\n}\n\n.run-expand[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n transition: var(--suite-run-transition);\n}\n\n.test-run-item[_ngcontent-%COMP%]:hover .run-expand[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.run-cost[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.run-cost[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.7;\n}\n\n\n\n\n\n.inline-feedback[_ngcontent-%COMP%] {\n padding: 0 16px 16px;\n animation: _ngcontent-%COMP%_slideDown 0.2s ease-out;\n}\n\n@keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.feedback-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: var(--suite-run-border);\n margin-bottom: 16px;\n}\n\n.feedback-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.feedback-label[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.inline-rating[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.rating-numbers[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.rating-btn[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n border: 2px solid var(--suite-run-border);\n border-radius: 8px;\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-text-secondary);\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.rating-btn[_ngcontent-%COMP%]:hover, \n.rating-btn.hover[_ngcontent-%COMP%] {\n transform: scale(1.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.rating-btn.low[_ngcontent-%COMP%]:hover, \n.rating-btn.low.hover[_ngcontent-%COMP%] {\n border-color: var(--suite-run-danger);\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.rating-btn.mid[_ngcontent-%COMP%]:hover, \n.rating-btn.mid.hover[_ngcontent-%COMP%] {\n border-color: var(--suite-run-warning);\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.rating-btn.high[_ngcontent-%COMP%]:hover, \n.rating-btn.high.hover[_ngcontent-%COMP%] {\n border-color: var(--suite-run-success);\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.rating-btn.selected[_ngcontent-%COMP%] {\n transform: scale(1.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.rating-btn.selected.low[_ngcontent-%COMP%] {\n border-color: var(--suite-run-danger);\n background: var(--suite-run-danger);\n color: white;\n}\n\n.rating-btn.selected.mid[_ngcontent-%COMP%] {\n border-color: var(--suite-run-warning);\n background: var(--suite-run-warning);\n color: white;\n}\n\n.rating-btn.selected.high[_ngcontent-%COMP%] {\n border-color: var(--suite-run-success);\n background: var(--suite-run-success);\n color: white;\n}\n\n.rating-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 14px;\n background: var(--suite-run-neutral-light);\n border-radius: 8px;\n}\n\n.rating-value[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.rating-label-text[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--suite-run-text-secondary);\n}\n\n.correctness-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.correctness-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--suite-run-text);\n}\n\n.correctness-options[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n}\n\n.radio-opt[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n font-size: 13px;\n color: var(--suite-run-text-secondary);\n}\n\n.radio-opt[_ngcontent-%COMP%] input[type=\"radio\"][_ngcontent-%COMP%] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n}\n\n.comments-row[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.feedback-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px;\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n font-size: 14px;\n font-family: inherit;\n resize: vertical;\n min-height: 80px;\n}\n\n.feedback-textarea[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--suite-run-primary);\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.feedback-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n gap: 12px;\n padding-top: 8px;\n}\n\n\n\n\n\n@media (max-width: 768px) {\n .tags-bar[_ngcontent-%COMP%] {\n padding: 8px 12px;\n }\n\n .tags-bar-content[_ngcontent-%COMP%] {\n gap: 8px;\n }\n\n .tag-inline[_ngcontent-%COMP%] {\n padding: 3px 8px;\n font-size: 10px;\n }\n\n .tags-editor-panel[_ngcontent-%COMP%] {\n margin-top: 12px;\n }\n\n .tags-editor-body[_ngcontent-%COMP%] {\n padding: 12px;\n }\n\n .tags-editor-footer[_ngcontent-%COMP%] {\n padding: 10px 12px;\n }\n\n .runs-toolbar[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .run-filters[_ngcontent-%COMP%] {\n justify-content: center;\n }\n\n .runs-actions[_ngcontent-%COMP%] {\n justify-content: center;\n }\n\n .rating-numbers[_ngcontent-%COMP%] {\n justify-content: center;\n }\n\n .rating-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n font-size: 12px;\n }\n\n .correctness-row[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .feedback-actions[_ngcontent-%COMP%] {\n flex-direction: column;\n }\n\n .feedback-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n width: 100%;\n }\n}\n\n\n\n\n\n@keyframes _ngcontent-%COMP%_pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n}\n\n.result-hero.running[_ngcontent-%COMP%] .result-hero-icon[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_pulse 2s ease-in-out infinite;\n}\n\n\n\n.overview-tab[_ngcontent-%COMP%], \n.runs-tab[_ngcontent-%COMP%], \n.details-tab[_ngcontent-%COMP%], \n.analytics-tab[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease;\n}\n\n\n\n\n\n.analytics-tab[_ngcontent-%COMP%] {\n max-width: 1200px;\n margin: 0 auto;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.analytics-section[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 24px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.analytics-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 20px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--suite-run-text);\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.analytics-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.analytics-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 16px;\n margin-bottom: 20px;\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.analytics-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n padding: 0;\n border: none;\n}\n\n.analytics-legend[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.legend-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.legend-item.passed[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.legend-item.failed[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.legend-item.error[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n}\n\n.legend-item.skipped[_ngcontent-%COMP%] {\n color: var(--suite-run-neutral);\n}\n\n\n\n.performance-matrix[_ngcontent-%COMP%] {\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.matrix-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 2fr 120px 150px 100px 100px;\n border-bottom: 1px solid var(--suite-run-border);\n transition: var(--suite-run-transition);\n cursor: pointer;\n}\n\n.matrix-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.matrix-row[_ngcontent-%COMP%]:hover:not(.matrix-header-row) {\n background: var(--suite-run-primary-light);\n}\n\n.matrix-row.passed[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-success);\n}\n\n.matrix-row.failed[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-danger);\n}\n\n.matrix-row.error[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-warning);\n}\n\n.matrix-row.skipped[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-neutral);\n}\n\n.matrix-header-row[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n font-weight: 600;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n cursor: default;\n}\n\n.matrix-cell[_ngcontent-%COMP%] {\n padding: 12px 16px;\n display: flex;\n align-items: center;\n}\n\n.test-name-cell[_ngcontent-%COMP%] {\n gap: 12px;\n}\n\n.test-sequence[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n flex-shrink: 0;\n}\n\n.test-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-indicator.status-passed[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.status-indicator.status-failed[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.status-indicator.status-error[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n}\n\n.status-indicator.status-skipped[_ngcontent-%COMP%] {\n color: var(--suite-run-neutral);\n}\n\n.status-indicator.status-pending[_ngcontent-%COMP%] {\n color: var(--suite-run-info);\n}\n\n.status-indicator.status-running[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.score-bar[_ngcontent-%COMP%] {\n position: relative;\n width: 100%;\n height: 20px;\n background: var(--suite-run-neutral-light);\n border-radius: 10px;\n overflow: hidden;\n}\n\n.score-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 10px;\n transition: width 0.3s ease;\n}\n\n.score-fill.high[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, var(--suite-run-success) 0%, #34d399 100%);\n}\n\n.score-fill.medium[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, var(--suite-run-warning) 0%, #fbbf24 100%);\n}\n\n.score-fill.low[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, var(--suite-run-danger) 0%, #f87171 100%);\n}\n\n.score-text[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 11px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.na-value[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n opacity: 0.6;\n}\n\n\n\n.stats-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 16px;\n}\n\n.stat-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n border: 1px solid var(--suite-run-border);\n border-radius: 12px;\n transition: var(--suite-run-transition);\n}\n\n.stat-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.stat-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 12px;\n font-size: 20px;\n}\n\n.stat-icon.passed[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.stat-icon.failed[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.stat-icon.score[_ngcontent-%COMP%] {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.stat-icon.duration[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.stat-icon.cost[_ngcontent-%COMP%] {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.stat-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.stat-card[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.stat-card[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat-percent[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n\n\n@media (max-width: 768px) {\n .analytics-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .matrix-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 8px;\n padding: 12px;\n }\n\n .matrix-header-row[_ngcontent-%COMP%] {\n display: none;\n }\n\n .matrix-cell[_ngcontent-%COMP%] {\n padding: 4px 0;\n }\n\n .test-name-cell[_ngcontent-%COMP%]::before, \n .status-cell[_ngcontent-%COMP%]::before, \n .score-cell[_ngcontent-%COMP%]::before, \n .duration-cell[_ngcontent-%COMP%]::before, \n .cost-cell[_ngcontent-%COMP%]::before {\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n margin-right: 8px;\n min-width: 80px;\n }\n\n .status-cell[_ngcontent-%COMP%]::before { content: 'Status:'; }\n .score-cell[_ngcontent-%COMP%]::before { content: 'Score:'; }\n .duration-cell[_ngcontent-%COMP%]::before { content: 'Duration:'; }\n .cost-cell[_ngcontent-%COMP%]::before { content: 'Cost:'; }\n\n .stats-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr 1fr;\n }\n\n .stat-card[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .stat-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n font-size: 16px;\n }\n\n .stat-card[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n}\n\n\n\n.tab[_ngcontent-%COMP%]:focus-visible, \n.test-run-item[_ngcontent-%COMP%]:focus-visible, \nbutton[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--suite-run-primary);\n outline-offset: 2px;\n}\n\n\n\n\n\n.analytics-loading[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 60px 20px;\n color: var(--suite-run-text-secondary);\n}\n\n.analytics-loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: var(--suite-run-primary);\n}\n\n\n\n\n\n.results-table-wrapper[_ngcontent-%COMP%] {\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.results-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n}\n\n.results-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n}\n\n.results-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 12px 16px;\n text-align: left;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.results-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n border-bottom: 1px solid #f1f5f9;\n vertical-align: middle;\n}\n\n.results-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: none;\n}\n\n\n\n.seq-col[_ngcontent-%COMP%] {\n width: 40px;\n min-width: 40px;\n text-align: center;\n white-space: nowrap;\n}\n\n.name-col[_ngcontent-%COMP%] {\n \n\n width: auto;\n max-width: 50%;\n}\n\n.status-col[_ngcontent-%COMP%] {\n width: 1%; \n\n white-space: nowrap;\n}\n\n.score-col[_ngcontent-%COMP%] {\n width: 1%; \n\n min-width: 120px; \n\n white-space: nowrap;\n}\n\n.duration-col[_ngcontent-%COMP%] {\n width: 1%; \n\n white-space: nowrap;\n text-align: right;\n}\n\n.cost-col[_ngcontent-%COMP%] {\n width: 1%; \n\n white-space: nowrap;\n text-align: right;\n}\n\n\n\n.result-row[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.result-row[_ngcontent-%COMP%]:hover {\n background: var(--suite-run-primary-light);\n}\n\n.result-row.row-passed[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-success);\n}\n\n.result-row.row-failed[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-danger);\n}\n\n.result-row.row-error[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-warning);\n}\n\n.result-row.row-skipped[_ngcontent-%COMP%] {\n border-left: 4px solid var(--suite-run-neutral);\n}\n\n\n\n.test-name-wrapper[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.test-name-wrapper[_ngcontent-%COMP%] .test-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--suite-run-text);\n}\n\n.test-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n\n\n.score-display[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.score-bar-mini[_ngcontent-%COMP%] {\n flex: 1;\n height: 6px;\n background: var(--suite-run-neutral-light);\n border-radius: 3px;\n overflow: hidden;\n min-width: 60px;\n}\n\n.score-bar-mini[_ngcontent-%COMP%] .score-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.score-bar-mini[_ngcontent-%COMP%] .score-fill.high[_ngcontent-%COMP%] {\n background: var(--suite-run-success);\n}\n\n.score-bar-mini[_ngcontent-%COMP%] .score-fill.medium[_ngcontent-%COMP%] {\n background: var(--suite-run-warning);\n}\n\n.score-bar-mini[_ngcontent-%COMP%] .score-fill.low[_ngcontent-%COMP%] {\n background: var(--suite-run-danger);\n}\n\n.score-display[_ngcontent-%COMP%] .score-text[_ngcontent-%COMP%] {\n position: static;\n transform: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--suite-run-text);\n min-width: 35px;\n text-align: right;\n}\n\n\n\n.results-table[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-passed[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-failed[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-error[_ngcontent-%COMP%] {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-skipped[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-pending[_ngcontent-%COMP%] {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.results-table[_ngcontent-%COMP%] .status-badge.status-running[_ngcontent-%COMP%] {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n\n\n@media (max-width: 768px) {\n .results-table-wrapper[_ngcontent-%COMP%] {\n overflow-x: auto;\n }\n\n .results-table[_ngcontent-%COMP%] {\n min-width: 600px;\n }\n\n .results-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], \n .results-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 12px;\n }\n\n .name-col[_ngcontent-%COMP%] {\n min-width: 150px;\n }\n}\n\n\n\n\n\n@media (prefers-contrast: high) {\n .status-badge[_ngcontent-%COMP%], \n .status-inline[_ngcontent-%COMP%] {\n border: 2px solid currentColor;\n }\n\n .test-run-item[_ngcontent-%COMP%] {\n border-width: 2px;\n }\n\n .tab.active[_ngcontent-%COMP%] {\n border-bottom-width: 4px;\n }\n}\n\n\n\n\n\n.evaluation-summary[_ngcontent-%COMP%] {\n margin-top: 20px;\n}\n\n.eval-summary-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n}\n\n.eval-summary-card[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n transition: var(--suite-run-transition);\n}\n\n.eval-summary-card[_ngcontent-%COMP%]:hover {\n box-shadow: var(--suite-run-shadow);\n}\n\n.eval-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: var(--suite-run-neutral-light);\n border-bottom: 1px solid var(--suite-run-border);\n font-size: 13px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.eval-card-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.eval-card-body[_ngcontent-%COMP%] {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.eval-stat-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n.eval-stat-label[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n.eval-stat-value[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.eval-stat-value.correct[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.eval-stat-value.incorrect[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n font-weight: 500;\n font-size: 12px;\n}\n\n.eval-stat-value.error[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.eval-stat-value.timeout[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n}\n\n.eval-card-footer[_ngcontent-%COMP%] {\n padding: 10px 16px;\n background: var(--suite-run-warning-light);\n border-top: 1px solid rgba(245, 158, 11, 0.2);\n}\n\n.pending-badge[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-warning);\n}\n\n.pending-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n\n\n\n\n.needs-review-section[_ngcontent-%COMP%] {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n}\n\n.needs-review-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 20px;\n background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);\n border-bottom: 1px solid rgba(245, 158, 11, 0.3);\n}\n\n.needs-review-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #92400e;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.needs-review-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.review-count[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 500;\n color: #92400e;\n background: rgba(255, 255, 255, 0.6);\n padding: 2px 10px;\n border-radius: 12px;\n}\n\n.needs-review-list[_ngcontent-%COMP%] {\n padding: 8px;\n}\n\n.review-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n border-radius: 8px;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.review-item[_ngcontent-%COMP%]:hover {\n background: var(--suite-run-primary-light);\n}\n\n.review-item-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n font-size: 14px;\n flex-shrink: 0;\n}\n\n.review-item.high-priority[_ngcontent-%COMP%] .review-item-icon[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.review-item.medium-priority[_ngcontent-%COMP%] .review-item-icon[_ngcontent-%COMP%] {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.review-item[_ngcontent-%COMP%]:not(.high-priority):not(.medium-priority) .review-item-icon[_ngcontent-%COMP%] {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.review-item-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.review-item-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.review-item-reason[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--suite-run-text-secondary);\n}\n\n.review-item-action[_ngcontent-%COMP%] {\n color: var(--suite-run-text-secondary);\n font-size: 12px;\n}\n\n.review-item[_ngcontent-%COMP%]:hover .review-item-action[_ngcontent-%COMP%] {\n color: var(--suite-run-primary);\n}\n\n.review-more[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n padding: 8px;\n border-top: 1px solid var(--suite-run-border);\n}\n\n\n\n@media (max-width: 768px) {\n .eval-summary-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .eval-card-header[_ngcontent-%COMP%] {\n padding: 10px 14px;\n font-size: 12px;\n }\n\n .eval-card-body[_ngcontent-%COMP%] {\n padding: 12px 14px;\n }\n\n .needs-review-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n }\n\n .needs-review-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n\n .review-item[_ngcontent-%COMP%] {\n padding: 10px 12px;\n }\n\n .review-item-icon[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n}\n\n\n\n\n\n.feedback-col[_ngcontent-%COMP%] {\n width: 1%; \n\n white-space: nowrap;\n text-align: center;\n}\n\n.feedback-display[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n}\n\n.feedback-rating[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--suite-run-neutral-light);\n}\n\n.feedback-rating.low[_ngcontent-%COMP%] {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.feedback-rating.mid[_ngcontent-%COMP%] {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.feedback-rating.high[_ngcontent-%COMP%] {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.feedback-correctness[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.feedback-correctness[_ngcontent-%COMP%] i.correct[_ngcontent-%COMP%] {\n color: var(--suite-run-success);\n}\n\n.feedback-correctness[_ngcontent-%COMP%] i.incorrect[_ngcontent-%COMP%] {\n color: var(--suite-run-danger);\n}\n\n.na-value.needs-review[_ngcontent-%COMP%] {\n color: var(--suite-run-warning);\n opacity: 0.7;\n}\n\n.na-value.needs-review[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}"], changeDetection: 0 }); }
2285
2320
  };
2286
2321
  TestSuiteRunFormComponentExtended = __decorate([
2287
2322
  RegisterClass(BaseFormComponent, 'MJ: Test Suite Runs')
@@ -2289,14 +2324,10 @@ TestSuiteRunFormComponentExtended = __decorate([
2289
2324
  export { TestSuiteRunFormComponentExtended };
2290
2325
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TestSuiteRunFormComponentExtended, [{
2291
2326
  type: Component,
2292
- args: [{ selector: 'mj-test-suite-run-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"test-suite-run-form\" kendoDialogContainer>\n <!-- Header Section -->\n <div class=\"suite-run-header\">\n <!-- Breadcrumb Navigation -->\n <nav class=\"breadcrumb\" aria-label=\"Breadcrumb\">\n <ol>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"navigateToTestingDashboard()\">\n <i class=\"fas fa-vial\"></i>\n <span class=\"breadcrumb-text\">Testing</span>\n </a>\n </li>\n <li *ngIf=\"testSuite\">\n <i class=\"fas fa-chevron-right separator\"></i>\n <a href=\"javascript:void(0)\" (click)=\"openTestSuite()\">\n <i class=\"fas fa-layer-group\"></i>\n <span class=\"breadcrumb-text\">{{ testSuite.Name }}</span>\n </a>\n </li>\n <li class=\"current\">\n <i class=\"fas fa-chevron-right separator\"></i>\n <span>Run #{{ record.ID.substring(0, 8) }}</span>\n </li>\n </ol>\n </nav>\n\n <!-- Header Content -->\n <div class=\"header-content\">\n <div class=\"header-left\">\n <div class=\"suite-run-icon\" [style.background-color]=\"getStatusColor()\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon()\"></i>\n </div>\n <div class=\"suite-run-info\">\n <h1>Suite Run</h1>\n <div class=\"suite-run-meta\">\n <span class=\"status-badge\" [ngClass]=\"getStatusClass()\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon()\"></i>\n {{ record.Status }}\n </span>\n <span class=\"meta-tag environment\" *ngIf=\"record.Environment\">\n <i class=\"fas fa-server\"></i>\n {{ record.Environment }}\n </span>\n <span class=\"meta-tag trigger\" *ngIf=\"record.TriggerType\">\n <i class=\"fas fa-bolt\"></i>\n {{ record.TriggerType }}\n </span>\n </div>\n </div>\n </div>\n <div class=\"header-actions\">\n <!-- Evaluation Mode Toggle -->\n <app-evaluation-mode-toggle></app-evaluation-mode-toggle>\n <button kendoButton (click)=\"reRunSuite()\" themeColor=\"primary\" *ngIf=\"record.SuiteID\">\n <i class=\"fas fa-play\"></i> Re-run Suite\n </button>\n <button kendoButton (click)=\"refresh()\" [disabled]=\"isRefreshing\">\n <i class=\"fas\" [ngClass]=\"isRefreshing ? 'fa-sync fa-spin' : 'fa-sync'\"></i>\n {{ isRefreshing ? 'Refreshing...' : 'Refresh' }}\n </button>\n </div>\n </div>\n\n <!-- Metrics Bar -->\n <div class=\"metrics-bar\">\n <div class=\"metric-card\">\n <div class=\"metric-icon\">\n <i class=\"fas fa-clock\"></i>\n </div>\n <div class=\"metric-content\">\n <div class=\"metric-value\">{{ calculateDuration() }}</div>\n <div class=\"metric-label\">Duration</div>\n </div>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-icon\">\n <i class=\"fas fa-percentage\"></i>\n </div>\n <div class=\"metric-content\">\n <div class=\"metric-value\">{{ getPassRate().toFixed(1) }}%</div>\n <div class=\"metric-label\">Pass Rate</div>\n </div>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-icon\">\n <i class=\"fas fa-dollar-sign\"></i>\n </div>\n <div class=\"metric-content\">\n <div class=\"metric-value\">{{ formatCost(record.TotalCostUSD) }}</div>\n <div class=\"metric-label\">Total Cost</div>\n </div>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-icon\">\n <i class=\"fas fa-calendar\"></i>\n </div>\n <div class=\"metric-content\">\n <div class=\"metric-value\">{{ getRelativeTime(record.StartedAt) }}</div>\n <div class=\"metric-label\">Started</div>\n </div>\n </div>\n </div>\n\n <!-- Results Summary -->\n <div class=\"results-summary\">\n <div class=\"result-item passed\">\n <div class=\"result-icon\">\n <i class=\"fas fa-check-circle\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.PassedTests || 0 }}</span>\n <span class=\"result-label\">Passed</span>\n </div>\n </div>\n <div class=\"result-item failed\">\n <div class=\"result-icon\">\n <i class=\"fas fa-times-circle\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.FailedTests || 0 }}</span>\n <span class=\"result-label\">Failed</span>\n </div>\n </div>\n <div class=\"result-item error\">\n <div class=\"result-icon\">\n <i class=\"fas fa-exclamation-circle\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.ErrorTests || 0 }}</span>\n <span class=\"result-label\">Errors</span>\n </div>\n </div>\n <div class=\"result-item skipped\">\n <div class=\"result-icon\">\n <i class=\"fas fa-forward\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.SkippedTests || 0 }}</span>\n <span class=\"result-label\">Skipped</span>\n </div>\n </div>\n <div class=\"result-item total\">\n <div class=\"result-icon\">\n <i class=\"fas fa-list\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.TotalTests || 0 }}</span>\n <span class=\"result-label\">Total</span>\n </div>\n </div>\n </div>\n\n <!-- Tags Section - Sleek inline design -->\n <div class=\"tags-bar\" *ngIf=\"!editingTags\">\n <div class=\"tags-bar-content\">\n <span class=\"tags-bar-label\"><i class=\"fas fa-tags\"></i></span>\n <div class=\"tags-bar-chips\" *ngIf=\"tags.length > 0\">\n <span class=\"tag-inline\" *ngFor=\"let tag of tags\">{{ tag }}</span>\n </div>\n <span class=\"tags-bar-empty\" *ngIf=\"tags.length === 0\">No tags</span>\n <button class=\"tags-bar-edit\" (click)=\"startEditingTags()\" title=\"Edit tags\">\n <i class=\"fas fa-plus\"></i> Add\n </button>\n </div>\n </div>\n\n <!-- Tags Editor - Expanded when editing -->\n <div class=\"tags-editor-panel\" *ngIf=\"editingTags\">\n <div class=\"tags-editor-header\">\n <span class=\"tags-editor-title\"><i class=\"fas fa-tags\"></i> Edit Tags</span>\n </div>\n <div class=\"tags-editor-body\">\n <div class=\"tags-editor-chips\">\n <span class=\"tag-editable\" *ngFor=\"let tag of tags\">\n {{ tag }}\n <button class=\"tag-remove-btn\" (click)=\"removeTag(tag)\" title=\"Remove tag\">\n <i class=\"fas fa-times\"></i>\n </button>\n </span>\n <span class=\"tags-empty-hint\" *ngIf=\"tags.length === 0\">No tags yet</span>\n </div>\n <div class=\"tags-editor-input\">\n <input type=\"text\"\n [(ngModel)]=\"newTag\"\n placeholder=\"Type a tag and press Enter...\"\n (keyup.enter)=\"addTag()\"\n class=\"tag-text-input\" />\n <button kendoButton (click)=\"addTag()\" [disabled]=\"!newTag.trim()\" fillMode=\"flat\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </div>\n </div>\n <div class=\"tags-editor-footer\">\n <button kendoButton (click)=\"saveTags()\" themeColor=\"primary\" [disabled]=\"savingTags\">\n <i class=\"fas fa-spinner fa-spin\" *ngIf=\"savingTags\"></i>\n {{ savingTags ? 'Saving...' : 'Save' }}\n </button>\n <button kendoButton (click)=\"cancelEditingTags()\" fillMode=\"flat\">Cancel</button>\n </div>\n </div>\n </div>\n\n <!-- Tabs -->\n <div class=\"tabs-container\">\n <div class=\"tabs\" role=\"tablist\">\n <button class=\"tab\"\n [class.active]=\"activeTab === 'overview'\"\n (click)=\"changeTab('overview')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'overview'\">\n <i class=\"fas fa-th-large\"></i> Overview\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 'runs'\"\n (click)=\"changeTab('runs')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'runs'\">\n <i class=\"fas fa-list\"></i> Test Runs\n <span class=\"tab-badge\" *ngIf=\"testRunsLoaded\">{{ testRuns.length }}</span>\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 'details'\"\n (click)=\"changeTab('details')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'details'\">\n <i class=\"fas fa-info-circle\"></i> Details\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 'analytics'\"\n (click)=\"changeTab('analytics')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'analytics'\"\n title=\"Press 4\">\n <i class=\"fas fa-chart-bar\"></i> Analytics\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 'execution'\"\n (click)=\"changeTab('execution')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'execution'\"\n title=\"Press 5\">\n <i class=\"fas fa-microchip\"></i>\n <span>Execution</span>\n </button>\n </div>\n </div>\n\n <!-- Tab Content -->\n <div class=\"tab-content\">\n <!-- Overview Tab -->\n <div class=\"overview-tab\" *ngIf=\"activeTab === 'overview'\">\n <!-- Result Hero -->\n <div class=\"result-hero\"\n [class.passed]=\"record.Status === 'Completed' && getPassRate() >= 90\"\n [class.failed]=\"record.Status === 'Failed' || getPassRate() < 50\"\n [class.running]=\"record.Status === 'Running'\"\n [class.pending]=\"record.Status === 'Pending'\">\n <div class=\"result-hero-icon\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon()\"></i>\n </div>\n <div class=\"result-hero-text\">\n <h2>SUITE {{ record.Status.toUpperCase() || 'UNKNOWN' }}</h2>\n <div class=\"result-hero-stats\">\n <div class=\"stat-item\">\n <span class=\"stat-value\">{{ getPassRate().toFixed(1) }}%</span>\n <span class=\"stat-label\">Pass Rate</span>\n </div>\n <div class=\"stat-divider\"></div>\n <div class=\"stat-item\">\n <span class=\"stat-value\">{{ record.PassedTests || 0 }} / {{ record.TotalTests || 0 }}</span>\n <span class=\"stat-label\">Tests Passed</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Evaluation Metrics Summary -->\n <div class=\"evaluation-summary\" *ngIf=\"evaluationMetrics && feedbacksLoaded\">\n <div class=\"eval-summary-grid\">\n <!-- Human Feedback Card -->\n <div class=\"eval-summary-card\" *ngIf=\"evalPreferences.showHuman\">\n <div class=\"eval-card-header\">\n <i class=\"fa-solid fa-user\"></i>\n <span>Human Feedback</span>\n </div>\n <div class=\"eval-card-body\">\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Reviewed</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.humanReviewedCount }} / {{ evaluationMetrics.totalRuns }}</span>\n </div>\n <div class=\"eval-stat-row\" *ngIf=\"evaluationMetrics.humanReviewedCount > 0\">\n <span class=\"eval-stat-label\">Avg Rating</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.humanAvgRating.toFixed(1) }}/10</span>\n </div>\n <div class=\"eval-stat-row\" *ngIf=\"evaluationMetrics.humanReviewedCount > 0\">\n <span class=\"eval-stat-label\">Correct</span>\n <span class=\"eval-stat-value correct\">{{ evaluationMetrics.humanCorrectCount }}</span>\n <span class=\"eval-stat-value incorrect\" *ngIf=\"evaluationMetrics.humanIncorrectCount > 0\">{{ evaluationMetrics.humanIncorrectCount }} incorrect</span>\n </div>\n </div>\n <div class=\"eval-card-footer\" *ngIf=\"evaluationMetrics.humanPendingCount > 0\">\n <span class=\"pending-badge\">\n <i class=\"fa-solid fa-clock\"></i>\n {{ evaluationMetrics.humanPendingCount }} need review\n </span>\n </div>\n </div>\n\n <!-- Auto Score Card -->\n <div class=\"eval-summary-card\" *ngIf=\"evalPreferences.showAuto\">\n <div class=\"eval-card-header\">\n <i class=\"fa-solid fa-robot\"></i>\n <span>Auto Evaluation</span>\n </div>\n <div class=\"eval-card-body\">\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Evaluated</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.autoEvaluatedCount }} / {{ evaluationMetrics.totalRuns }}</span>\n </div>\n <div class=\"eval-stat-row\" *ngIf=\"evaluationMetrics.autoEvaluatedCount > 0\">\n <span class=\"eval-stat-label\">Avg Score</span>\n <span class=\"eval-stat-value\">{{ (evaluationMetrics.autoAvgScore * 100).toFixed(0) }}%</span>\n </div>\n <div class=\"eval-stat-row\" *ngIf=\"evaluationMetrics.autoEvaluatedCount > 0\">\n <span class=\"eval-stat-label\">Pass Rate</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.autoPassRate.toFixed(0) }}%</span>\n </div>\n </div>\n </div>\n\n <!-- Execution Card -->\n <div class=\"eval-summary-card\" *ngIf=\"evalPreferences.showExecution\">\n <div class=\"eval-card-header\">\n <i class=\"fa-solid fa-circle-check\"></i>\n <span>Execution</span>\n </div>\n <div class=\"eval-card-body\">\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Completed</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.execCompletedCount }} / {{ evaluationMetrics.totalRuns }}</span>\n </div>\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Success Rate</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.execSuccessRate.toFixed(0) }}%</span>\n </div>\n <div class=\"eval-stat-row\" *ngIf=\"evaluationMetrics.execErrorCount > 0 || evaluationMetrics.execTimeoutCount > 0\">\n <span class=\"eval-stat-label\">Issues</span>\n <span class=\"eval-stat-value error\" *ngIf=\"evaluationMetrics.execErrorCount > 0\">{{ evaluationMetrics.execErrorCount }} errors</span>\n <span class=\"eval-stat-value timeout\" *ngIf=\"evaluationMetrics.execTimeoutCount > 0\">{{ evaluationMetrics.execTimeoutCount }} timeouts</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Needs Review Section -->\n <div class=\"needs-review-section\" *ngIf=\"evalPreferences.showHuman && needsReviewItems.length > 0 && feedbacksLoaded\">\n <div class=\"needs-review-header\">\n <h3><i class=\"fa-solid fa-user-clock\"></i> Needs Review</h3>\n <span class=\"review-count\">{{ needsReviewItems.length }} items</span>\n </div>\n <div class=\"needs-review-list\">\n <div class=\"review-item\" *ngFor=\"let item of needsReviewItems.slice(0, 5)\"\n [class.high-priority]=\"item.priority === 'high'\"\n [class.medium-priority]=\"item.priority === 'medium'\"\n (click)=\"toggleRunExpanded(item.run.id)\">\n <div class=\"review-item-icon\">\n <i class=\"fa-solid fa-exclamation-triangle\" *ngIf=\"item.priority === 'high'\"></i>\n <i class=\"fa-solid fa-circle-dot\" *ngIf=\"item.priority === 'medium'\"></i>\n <i class=\"fa-solid fa-clock\" *ngIf=\"item.priority === 'low'\"></i>\n </div>\n <div class=\"review-item-content\">\n <span class=\"review-item-name\">{{ item.run.testName }}</span>\n <span class=\"review-item-reason\">{{ item.reason }}</span>\n </div>\n <div class=\"review-item-action\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n </div>\n </div>\n <div class=\"review-more\" *ngIf=\"needsReviewItems.length > 5\">\n <button kendoButton fillMode=\"flat\" (click)=\"changeTab('runs')\">\n View all {{ needsReviewItems.length }} items\n </button>\n </div>\n </div>\n </div>\n\n <!-- Progress Ring (when running) -->\n <div class=\"progress-section\" *ngIf=\"record.Status === 'Running' || record.Status === 'Pending'\">\n <div class=\"progress-info\">\n <i class=\"fas fa-circle-notch fa-spin\"></i>\n <span>Suite execution in progress...</span>\n </div>\n <div class=\"auto-refresh-notice\">\n <i class=\"fas fa-sync\"></i>\n Auto-refreshing every 5 seconds\n </div>\n </div>\n </div>\n\n <!-- Test Runs Tab -->\n <div class=\"runs-tab\" *ngIf=\"activeTab === 'runs'\">\n <!-- Toolbar -->\n <div class=\"runs-toolbar\" *ngIf=\"testRunsLoaded && testRuns.length > 0\">\n <div class=\"run-filters\">\n <button class=\"filter-btn\"\n [class.active]=\"runStatusFilter === null\"\n (click)=\"setRunStatusFilter(null)\">\n All ({{ testRuns.length }})\n </button>\n <button class=\"filter-btn passed\"\n [class.active]=\"runStatusFilter === 'Passed'\"\n (click)=\"setRunStatusFilter('Passed')\"\n *ngIf=\"getRunCountByStatus('Passed') > 0\">\n <i class=\"fas fa-check\"></i> Passed ({{ getRunCountByStatus('Passed') }})\n </button>\n <button class=\"filter-btn failed\"\n [class.active]=\"runStatusFilter === 'Failed'\"\n (click)=\"setRunStatusFilter('Failed')\"\n *ngIf=\"getRunCountByStatus('Failed') > 0\">\n <i class=\"fas fa-times\"></i> Failed ({{ getRunCountByStatus('Failed') }})\n </button>\n <button class=\"filter-btn error\"\n [class.active]=\"runStatusFilter === 'Error'\"\n (click)=\"setRunStatusFilter('Error')\"\n *ngIf=\"getRunCountByStatus('Error') > 0\">\n <i class=\"fas fa-exclamation\"></i> Error ({{ getRunCountByStatus('Error') }})\n </button>\n </div>\n <div class=\"runs-actions\">\n <button kendoButton (click)=\"exportToCSV()\">\n <i class=\"fas fa-download\"></i> Export CSV\n </button>\n </div>\n </div>\n\n <!-- Loading State -->\n <div class=\"loading-state\" *ngIf=\"loadingTestRuns\">\n <div class=\"skeleton-list\">\n <div class=\"skeleton-card\" *ngFor=\"let i of [1,2,3,4,5]\">\n <div class=\"skeleton-sequence\"></div>\n <div class=\"skeleton-icon\"></div>\n <div class=\"skeleton-content\">\n <div class=\"skeleton-line wide\"></div>\n <div class=\"skeleton-line narrow\"></div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Test Runs List -->\n <div class=\"test-runs-list\" *ngIf=\"!loadingTestRuns && testRuns.length > 0\">\n <div class=\"test-run-card\" *ngFor=\"let run of getFilteredTestRuns()\">\n <div class=\"test-run-item\" (click)=\"toggleRunExpanded(run.ID)\">\n <div class=\"run-sequence\">{{ run.Sequence || '-' }}</div>\n <div class=\"run-icon\" [style.background-color]=\"getRunStatusColor(run.Status)\">\n <i class=\"fas\" [ngClass]=\"getRunStatusIcon(run.Status)\"></i>\n </div>\n <div class=\"run-content\">\n <div class=\"run-header-row\">\n <div class=\"run-name\">{{ run.Test }}</div>\n <!-- Evaluation Badge -->\n <app-evaluation-badge\n [executionStatus]=\"run.Status\"\n [originalStatus]=\"run.Status\"\n [autoScore]=\"run.Score\"\n [humanRating]=\"getFeedbackRating(run.ID) || null\"\n [humanIsCorrect]=\"getHumanIsCorrect(run.ID)\"\n [hasHumanFeedback]=\"hasFeedback(run.ID)\"\n [preferences]=\"evalPreferences\"\n [mode]=\"'compact'\">\n </app-evaluation-badge>\n </div>\n <div class=\"run-meta\">\n <span class=\"run-duration\" *ngIf=\"run.DurationSeconds\">\n <i class=\"fas fa-clock\"></i> {{ run.DurationSeconds.toFixed(1) }}s\n </span>\n <span class=\"run-cost\" *ngIf=\"run.CostUSD\">\n <i class=\"fas fa-dollar-sign\"></i> {{ run.CostUSD.toFixed(6) }}\n </span>\n <mj-entity-link-pill\n *ngIf=\"run.TargetLogEntityID && run.TargetLogID\"\n [entityName]=\"run.TargetLogEntity\"\n [recordId]=\"run.TargetLogID\">\n </mj-entity-link-pill>\n </div>\n <div class=\"run-tags\" *ngIf=\"getRunTags(run).length > 0\">\n <span class=\"tag-chip\" *ngFor=\"let tag of getRunTags(run)\">{{ tag }}</span>\n </div>\n </div>\n <div class=\"run-expand\">\n <i class=\"fas\" [class.fa-chevron-down]=\"expandedRunId !== run.ID\" [class.fa-chevron-up]=\"expandedRunId === run.ID\"></i>\n </div>\n </div>\n\n <!-- Expanded Inline Feedback -->\n <div class=\"inline-feedback\" *ngIf=\"expandedRunId === run.ID\">\n <div class=\"feedback-divider\"></div>\n\n <div class=\"feedback-section\">\n <div class=\"feedback-label\">Quick Feedback</div>\n\n <div class=\"inline-rating\">\n <div class=\"rating-numbers\">\n <button *ngFor=\"let num of [1,2,3,4,5,6,7,8,9,10]\"\n type=\"button\"\n class=\"rating-btn\"\n [class.selected]=\"num === inlineRating\"\n [class.hover]=\"num === inlineHoverRating\"\n [class.low]=\"num <= 3\"\n [class.mid]=\"num >= 4 && num <= 6\"\n [class.high]=\"num >= 7\"\n (click)=\"setInlineRating(num); $event.stopPropagation()\"\n (mouseenter)=\"inlineHoverRating = num\"\n (mouseleave)=\"inlineHoverRating = 0\">\n {{ num }}\n </button>\n </div>\n <div class=\"rating-info\" *ngIf=\"inlineRating > 0\">\n <span class=\"rating-value\">{{ inlineRating }}/10</span>\n <span class=\"rating-label-text\">{{ getInlineRatingLabel() }}</span>\n </div>\n </div>\n\n <div class=\"correctness-row\">\n <span class=\"correctness-label\">Was it correct?</span>\n <div class=\"correctness-options\">\n <label class=\"radio-opt\" (click)=\"$event.stopPropagation()\">\n <input type=\"radio\" name=\"correct-{{run.ID}}\" [value]=\"true\" [(ngModel)]=\"inlineIsCorrect\">\n <span>Yes</span>\n </label>\n <label class=\"radio-opt\" (click)=\"$event.stopPropagation()\">\n <input type=\"radio\" name=\"correct-{{run.ID}}\" [value]=\"false\" [(ngModel)]=\"inlineIsCorrect\">\n <span>No</span>\n </label>\n <label class=\"radio-opt\" (click)=\"$event.stopPropagation()\">\n <input type=\"radio\" name=\"correct-{{run.ID}}\" [value]=\"null\" [(ngModel)]=\"inlineIsCorrect\">\n <span>Not Sure</span>\n </label>\n </div>\n </div>\n\n <div class=\"comments-row\" (click)=\"$event.stopPropagation()\">\n <textarea\n class=\"feedback-textarea\"\n [(ngModel)]=\"inlineComments\"\n placeholder=\"Add comments or corrections...\"\n rows=\"3\"></textarea>\n </div>\n\n <div class=\"feedback-actions\" (click)=\"$event.stopPropagation()\">\n <button kendoButton (click)=\"openTestRun(run.ID)\">\n <i class=\"fas fa-external-link-alt\"></i> View Full Details\n </button>\n <button kendoButton\n themeColor=\"primary\"\n (click)=\"saveInlineFeedback()\"\n [disabled]=\"!canSubmitInlineFeedback() || savingInlineFeedback\">\n <i class=\"fas\" [ngClass]=\"savingInlineFeedback ? 'fa-spinner fa-spin' : 'fa-save'\"></i>\n {{ savingInlineFeedback ? 'Saving...' : (hasFeedback(run.ID) ? 'Update' : 'Save') }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Empty State -->\n <div class=\"empty-state\" *ngIf=\"testRunsLoaded && !loadingTestRuns && testRuns.length === 0\">\n <div class=\"empty-icon\">\n <i class=\"fas fa-inbox\"></i>\n </div>\n <h4>No Test Runs Found</h4>\n <p>No test runs have been recorded for this suite execution.</p>\n </div>\n\n <!-- Filtered Empty -->\n <div class=\"empty-state\" *ngIf=\"testRunsLoaded && !loadingTestRuns && testRuns.length > 0 && getFilteredTestRuns().length === 0\">\n <div class=\"empty-icon\">\n <i class=\"fas fa-filter\"></i>\n </div>\n <h4>No Matching Runs</h4>\n <p>No test runs match the current filter.</p>\n <button kendoButton (click)=\"setRunStatusFilter(null)\">Clear Filter</button>\n </div>\n </div>\n\n <!-- Details Tab -->\n <div class=\"details-tab\" *ngIf=\"activeTab === 'details'\">\n <div class=\"details-card\">\n <h3><i class=\"fas fa-info-circle\"></i> Run Information</h3>\n <div class=\"details-grid\">\n <div class=\"detail-item\">\n <div class=\"detail-label\">Run ID</div>\n <div class=\"detail-value monospace\">{{ record.ID }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Test Suite</div>\n <div class=\"detail-value\">\n <a href=\"javascript:void(0)\" (click)=\"openTestSuite()\" *ngIf=\"testSuite\">{{ testSuite.Name }}</a>\n <span *ngIf=\"!testSuite\">Loading...</span>\n </div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Status</div>\n <div class=\"detail-value\">\n <span class=\"status-inline\" [ngClass]=\"getStatusClass()\">{{ record.Status }}</span>\n </div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Run By</div>\n <div class=\"detail-value\">{{ record.RunByUser || 'N/A' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Started At</div>\n <div class=\"detail-value\">{{ record.StartedAt | date:'medium' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Completed At</div>\n <div class=\"detail-value\">{{ record.CompletedAt | date:'medium' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Environment</div>\n <div class=\"detail-value\">{{ record.Environment || 'N/A' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Trigger Type</div>\n <div class=\"detail-value\">{{ record.TriggerType || 'N/A' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Git Commit</div>\n <div class=\"detail-value monospace\">{{ record.GitCommit || 'N/A' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Agent Version</div>\n <div class=\"detail-value\">{{ record.AgentVersion || 'N/A' }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Analytics Tab -->\n <div class=\"analytics-tab\" *ngIf=\"activeTab === 'analytics'\">\n <!-- Loading State -->\n <div class=\"analytics-loading\" *ngIf=\"loadingTestRuns\">\n <i class=\"fas fa-spinner fa-spin\"></i>\n <span>Loading test results...</span>\n </div>\n\n <!-- Summary Statistics - Moved to top for better overview -->\n <div class=\"analytics-section\" *ngIf=\"!loadingTestRuns && testRuns.length > 0\">\n <h3><i class=\"fas fa-chart-pie\"></i> Summary Statistics</h3>\n <div class=\"stats-grid\">\n <div class=\"stat-card\">\n <div class=\"stat-icon passed\"><i class=\"fas fa-check-circle\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">{{ getPassedCount() }}</div>\n <div class=\"stat-label\">Passed</div>\n <div class=\"stat-percent\">{{ getPassedPercent().toFixed(1) }}%</div>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-icon failed\"><i class=\"fas fa-times-circle\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">{{ getFailedCount() }}</div>\n <div class=\"stat-label\">Failed</div>\n <div class=\"stat-percent\">{{ getFailedPercent().toFixed(1) }}%</div>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-icon score\"><i class=\"fas fa-star\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">{{ (getAverageScore() * 100).toFixed(1) }}%</div>\n <div class=\"stat-label\">Avg Score</div>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-icon duration\"><i class=\"fas fa-clock\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">{{ getAverageDuration().toFixed(1) }}s</div>\n <div class=\"stat-label\">Avg Duration</div>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-icon cost\"><i class=\"fas fa-dollar-sign\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">${{ getTotalCost().toFixed(4) }}</div>\n <div class=\"stat-label\">Total Cost</div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Test Results Table -->\n <div class=\"analytics-section\" *ngIf=\"!loadingTestRuns && testRuns.length > 0\">\n <div class=\"analytics-header\">\n <h3><i class=\"fas fa-table\"></i> Test Results</h3>\n <div class=\"analytics-legend\">\n <span class=\"legend-item passed\"><i class=\"fas fa-check-circle\"></i> Passed</span>\n <span class=\"legend-item failed\"><i class=\"fas fa-times-circle\"></i> Failed</span>\n <span class=\"legend-item error\"><i class=\"fas fa-exclamation-circle\"></i> Error</span>\n <span class=\"legend-item skipped\"><i class=\"fas fa-forward\"></i> Skipped</span>\n </div>\n </div>\n\n <!-- Results Table -->\n <div class=\"results-table-wrapper\">\n <table class=\"results-table\">\n <thead>\n <tr>\n <th class=\"seq-col\">#</th>\n <th class=\"name-col\">Test Name</th>\n <th class=\"status-col\" *ngIf=\"evalPreferences.showExecution\">Status</th>\n <th class=\"score-col\" *ngIf=\"evalPreferences.showAuto\">Auto Score</th>\n <th class=\"feedback-col\" *ngIf=\"evalPreferences.showHuman\">Human Score</th>\n <th class=\"duration-col\">Duration</th>\n <th class=\"cost-col\">Cost</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let run of testRuns; let i = index\"\n class=\"result-row\"\n [class.row-passed]=\"run.Status === 'Passed'\"\n [class.row-failed]=\"run.Status === 'Failed'\"\n [class.row-error]=\"run.Status === 'Error'\"\n [class.row-skipped]=\"run.Status === 'Skipped'\"\n (click)=\"openTestRun(run.ID)\">\n <td class=\"seq-col\">{{ i + 1 }}</td>\n <td class=\"name-col\">\n <div class=\"test-name-wrapper\">\n <span class=\"test-name\">{{ run.Test || 'Unknown Test' }}</span>\n <div class=\"test-tags\" *ngIf=\"getRunTags(run).length > 0\">\n <span class=\"tag-mini\" *ngFor=\"let tag of getRunTags(run).slice(0, 2)\">{{ tag }}</span>\n </div>\n </div>\n </td>\n <td class=\"status-col\" *ngIf=\"evalPreferences.showExecution\">\n <span class=\"status-badge\" [ngClass]=\"'status-' + run.Status.toLowerCase()\">\n <i class=\"fas\"\n [class.fa-check-circle]=\"run.Status === 'Passed'\"\n [class.fa-times-circle]=\"run.Status === 'Failed'\"\n [class.fa-exclamation-circle]=\"run.Status === 'Error'\"\n [class.fa-forward]=\"run.Status === 'Skipped'\"\n [class.fa-clock]=\"run.Status === 'Pending'\"\n [class.fa-spinner]=\"run.Status === 'Running'\"\n [class.fa-spin]=\"run.Status === 'Running'\"></i>\n {{ run.Status }}\n </span>\n </td>\n <td class=\"score-col\" *ngIf=\"evalPreferences.showAuto\">\n <div class=\"score-display\" *ngIf=\"run.Score != null\">\n <div class=\"score-bar-mini\">\n <div class=\"score-fill\"\n [style.width.%]=\"run.Score * 100\"\n [class.high]=\"run.Score >= 0.8\"\n [class.medium]=\"run.Score >= 0.5 && run.Score < 0.8\"\n [class.low]=\"run.Score < 0.5\"></div>\n </div>\n <span class=\"score-text\">{{ (run.Score * 100).toFixed(0) }}%</span>\n </div>\n <span class=\"na-value\" *ngIf=\"run.Score == null\">\u2014</span>\n </td>\n <td class=\"feedback-col\" *ngIf=\"evalPreferences.showHuman\">\n <div class=\"feedback-display\" *ngIf=\"hasFeedback(run.ID)\">\n <span class=\"feedback-rating\" [class.low]=\"getFeedbackRating(run.ID) <= 3\" [class.mid]=\"getFeedbackRating(run.ID) >= 4 && getFeedbackRating(run.ID) <= 6\" [class.high]=\"getFeedbackRating(run.ID) >= 7\">\n {{ getFeedbackRating(run.ID) }}/10\n </span>\n <span class=\"feedback-correctness\" *ngIf=\"getHumanIsCorrect(run.ID) !== null\">\n <i class=\"fas\" [class.fa-check]=\"getHumanIsCorrect(run.ID) === true\" [class.fa-times]=\"getHumanIsCorrect(run.ID) === false\" [class.correct]=\"getHumanIsCorrect(run.ID) === true\" [class.incorrect]=\"getHumanIsCorrect(run.ID) === false\"></i>\n </span>\n </div>\n <span class=\"na-value needs-review\" *ngIf=\"!hasFeedback(run.ID)\">\n <i class=\"fas fa-user-clock\"></i>\n </span>\n </td>\n <td class=\"duration-col\">\n <span *ngIf=\"run.DurationSeconds\">{{ run.DurationSeconds.toFixed(1) }}s</span>\n <span class=\"na-value\" *ngIf=\"!run.DurationSeconds\">\u2014</span>\n </td>\n <td class=\"cost-col\">\n <span *ngIf=\"run.CostUSD\">${{ run.CostUSD.toFixed(4) }}</span>\n <span class=\"na-value\" *ngIf=\"!run.CostUSD\">\u2014</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n <!-- Empty State -->\n <div class=\"empty-state\" *ngIf=\"!loadingTestRuns && testRunsLoaded && testRuns.length === 0\">\n <div class=\"empty-icon\">\n <i class=\"fas fa-chart-bar\"></i>\n </div>\n <h4>No Test Results Yet</h4>\n <p>Test runs will appear here once the suite execution completes.</p>\n </div>\n </div>\n\n <!-- Execution Tab -->\n <div class=\"execution-tab\" *ngIf=\"activeTab === 'execution'\">\n <mj-execution-context\n [machineName]=\"record.MachineName\"\n [machineId]=\"record.MachineID\"\n [runByUserName]=\"record.RunByUserName\"\n [runByUserEmail]=\"record.RunByUserEmail\"\n [runContextDetailsJson]=\"record.RunContextDetails\">\n </mj-execution-context>\n </div>\n </div>\n\n <!-- Keyboard Shortcuts Toggle Button -->\n <button class=\"shortcuts-toggle\" (click)=\"toggleShortcuts()\" [title]=\"showShortcuts ? 'Hide keyboard shortcuts' : 'Show keyboard shortcuts'\">\n <i class=\"fas fa-keyboard\"></i>\n </button>\n\n <!-- Keyboard Shortcuts Hint (Desktop Only) -->\n <div class=\"keyboard-shortcuts\" *ngIf=\"showShortcuts\">\n <div class=\"shortcuts-header\">\n <i class=\"fas fa-keyboard\"></i>\n Shortcuts\n <button class=\"shortcuts-close\" (click)=\"toggleShortcuts()\" title=\"Hide shortcuts\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n <div class=\"shortcut-list\">\n <div class=\"shortcut-item\">\n <span>Refresh</span>\n <span class=\"shortcut-keys\"><kbd>Cmd</kbd><kbd>R</kbd></span>\n </div>\n <div class=\"shortcut-item\">\n <span>Re-run Suite</span>\n <span class=\"shortcut-keys\"><kbd>Cmd</kbd><kbd>Shift</kbd><kbd>R</kbd></span>\n </div>\n <div class=\"shortcut-item\">\n <span>Switch Tabs</span>\n <span class=\"shortcut-keys\"><kbd>1</kbd>-<kbd>5</kbd></span>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/* ===================================\n Test Suite Run Form - Premium UX\n World-class responsive design\n =================================== */\n\n/* CSS Custom Properties */\n:host {\n --suite-run-primary: #3b82f6;\n --suite-run-primary-light: #eff6ff;\n --suite-run-success: #10b981;\n --suite-run-success-light: #ecfdf5;\n --suite-run-danger: #ef4444;\n --suite-run-danger-light: #fef2f2;\n --suite-run-warning: #f59e0b;\n --suite-run-warning-light: #fffbeb;\n --suite-run-info: #8b5cf6;\n --suite-run-info-light: #f5f3ff;\n --suite-run-neutral: #6b7280;\n --suite-run-neutral-light: #f9fafb;\n --suite-run-bg: #f8fafc;\n --suite-run-card: #ffffff;\n --suite-run-border: #e2e8f0;\n --suite-run-text: #1e293b;\n --suite-run-text-secondary: #64748b;\n --suite-run-radius: 12px;\n --suite-run-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);\n --suite-run-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n --suite-run-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n/* Base Container */\n.test-suite-run-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--suite-run-bg);\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n}\n\n/* ===================================\n Header Section\n =================================== */\n.suite-run-header {\n background: var(--suite-run-card);\n border-bottom: 1px solid var(--suite-run-border);\n padding: 20px 24px;\n}\n\n/* Breadcrumb */\n.breadcrumb {\n margin-bottom: 16px;\n}\n\n.breadcrumb ol {\n display: flex;\n align-items: center;\n gap: 4px;\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: 13px;\n}\n\n.breadcrumb li {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.breadcrumb a {\n color: var(--suite-run-primary);\n text-decoration: none;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 8px;\n border-radius: 6px;\n transition: background 0.15s;\n}\n\n.breadcrumb a:hover {\n background: rgba(59, 130, 246, 0.1);\n text-decoration: none;\n}\n\n.breadcrumb .separator {\n font-size: 10px;\n color: var(--suite-run-text-secondary);\n margin: 0 4px;\n}\n\n.breadcrumb .current {\n color: var(--suite-run-text-secondary);\n font-weight: 500;\n}\n\n.breadcrumb-text {\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Header Content */\n.header-content {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.header-left {\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n\n.suite-run-icon {\n width: 56px;\n height: 56px;\n border-radius: var(--suite-run-radius);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 24px;\n flex-shrink: 0;\n box-shadow: var(--suite-run-shadow);\n}\n\n.suite-run-info h1 {\n margin: 0 0 8px 0;\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n letter-spacing: -0.025em;\n}\n\n.suite-run-meta {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.status-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n}\n\n.status-badge.status-completed {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.status-badge.status-failed {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.status-badge.status-running {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.status-badge.status-pending {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.status-badge.status-cancelled {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.meta-tag {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n background: var(--suite-run-neutral-light);\n border-radius: 6px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n.meta-tag i {\n font-size: 10px;\n opacity: 0.7;\n}\n\n.header-actions {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n/* ===================================\n Metrics Bar\n =================================== */\n.metrics-bar {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 20px;\n}\n\n.metric-card {\n display: flex;\n align-items: center;\n gap: 12px;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n border: 1px solid var(--suite-run-border);\n border-radius: 10px;\n padding: 14px;\n transition: var(--suite-run-transition);\n}\n\n.metric-card:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.metric-icon {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-card);\n border-radius: 10px;\n color: var(--suite-run-primary);\n font-size: 16px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.metric-content {\n flex: 1;\n min-width: 0;\n}\n\n.metric-value {\n font-size: 18px;\n font-weight: 700;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.metric-label {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n margin-top: 2px;\n}\n\n/* ===================================\n Results Summary\n =================================== */\n.results-summary {\n display: flex;\n gap: 12px;\n padding-top: 20px;\n border-top: 1px solid var(--suite-run-border);\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.result-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: 10px;\n flex-shrink: 0;\n transition: var(--suite-run-transition);\n}\n\n.result-item:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.result-icon {\n font-size: 24px;\n}\n\n.result-content {\n display: flex;\n flex-direction: column;\n}\n\n.result-count {\n font-size: 20px;\n font-weight: 700;\n line-height: 1.2;\n}\n\n.result-label {\n font-size: 11px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.result-item.passed .result-icon,\n.result-item.passed .result-count {\n color: var(--suite-run-success);\n}\n\n.result-item.failed .result-icon,\n.result-item.failed .result-count {\n color: var(--suite-run-danger);\n}\n\n.result-item.error .result-icon,\n.result-item.error .result-count {\n color: var(--suite-run-warning);\n}\n\n.result-item.skipped .result-icon,\n.result-item.skipped .result-count {\n color: var(--suite-run-neutral);\n}\n\n.result-item.total .result-icon,\n.result-item.total .result-count {\n color: var(--suite-run-primary);\n}\n\n/* ===================================\n Tabs\n =================================== */\n.tabs-container {\n background: var(--suite-run-card);\n border-bottom: 1px solid var(--suite-run-border);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.tabs {\n display: flex;\n padding: 0 24px;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n}\n\n.tabs::-webkit-scrollbar {\n display: none;\n}\n\n.tab {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 16px 20px;\n border: none;\n background: transparent;\n border-bottom: 3px solid transparent;\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: var(--suite-run-transition);\n white-space: nowrap;\n position: relative;\n}\n\n.tab:hover {\n color: var(--suite-run-primary);\n background: var(--suite-run-primary-light);\n}\n\n.tab.active {\n color: var(--suite-run-primary);\n border-bottom-color: var(--suite-run-primary);\n font-weight: 600;\n}\n\n.tab i {\n font-size: 15px;\n}\n\n.tab-badge {\n background: var(--suite-run-border);\n color: var(--suite-run-text-secondary);\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.tab.active .tab-badge {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.tab-shortcut {\n display: none;\n width: 18px;\n height: 18px;\n background: var(--suite-run-neutral-light);\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n align-items: center;\n justify-content: center;\n margin-left: 4px;\n}\n\n/* ===================================\n Tab Content\n =================================== */\n.tab-content {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n}\n\n/* ===================================\n Overview Tab\n =================================== */\n.overview-tab {\n display: flex;\n flex-direction: column;\n gap: 20px;\n max-width: 800px;\n margin: 0 auto;\n width: 100%;\n}\n\n.result-hero {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 48px 32px;\n text-align: center;\n border: 2px solid var(--suite-run-border);\n transition: var(--suite-run-transition);\n}\n\n.result-hero.passed {\n background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);\n border-color: var(--suite-run-success);\n}\n\n.result-hero.failed {\n background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);\n border-color: var(--suite-run-danger);\n}\n\n.result-hero.running {\n background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);\n border-color: var(--suite-run-primary);\n}\n\n.result-hero.pending {\n background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);\n border-color: var(--suite-run-info);\n}\n\n.result-hero-icon {\n font-size: 72px;\n margin-bottom: 20px;\n}\n\n.result-hero.passed .result-hero-icon {\n color: var(--suite-run-success);\n}\n\n.result-hero.failed .result-hero-icon {\n color: var(--suite-run-danger);\n}\n\n.result-hero.running .result-hero-icon {\n color: var(--suite-run-primary);\n}\n\n.result-hero.pending .result-hero-icon {\n color: var(--suite-run-info);\n}\n\n.result-hero-text h2 {\n margin: 0 0 16px 0;\n font-size: 32px;\n font-weight: 800;\n color: var(--suite-run-text);\n letter-spacing: -0.025em;\n}\n\n.result-hero-stats {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 32px;\n}\n\n.stat-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.stat-value {\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.stat-label {\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat-divider {\n width: 1px;\n height: 40px;\n background: var(--suite-run-border);\n}\n\n/* Progress Section */\n.progress-section {\n background: var(--suite-run-primary-light);\n border: 1px solid rgba(59, 130, 246, 0.2);\n border-radius: var(--suite-run-radius);\n padding: 20px;\n text-align: center;\n}\n\n.progress-info {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n font-size: 16px;\n font-weight: 500;\n color: var(--suite-run-primary);\n margin-bottom: 8px;\n}\n\n.progress-info i {\n font-size: 20px;\n}\n\n.auto-refresh-notice {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n/* ===================================\n Test Runs Tab\n =================================== */\n.runs-tab {\n max-width: 900px;\n margin: 0 auto;\n width: 100%;\n}\n\n/* Loading Skeleton */\n.loading-state {\n animation: fadeIn 0.3s ease;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.skeleton-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.skeleton-card {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n border: 1px solid var(--suite-run-border);\n}\n\n.skeleton-sequence {\n width: 32px;\n height: 32px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: shimmer 1.5s infinite;\n border-radius: 50%;\n}\n\n.skeleton-icon {\n width: 40px;\n height: 40px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: shimmer 1.5s infinite;\n border-radius: 8px;\n}\n\n.skeleton-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.skeleton-line {\n height: 14px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: shimmer 1.5s infinite;\n border-radius: 4px;\n}\n\n.skeleton-line.wide {\n width: 70%;\n}\n\n.skeleton-line.narrow {\n width: 40%;\n}\n\n@keyframes shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n\n/* Test Runs List */\n.test-runs-list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.test-run-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item:hover {\n background: var(--suite-run-primary-light);\n border-color: #93c5fd;\n transform: translateX(4px);\n}\n\n.test-run-item:active {\n transform: translateX(2px);\n}\n\n.run-sequence {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n font-size: 13px;\n font-weight: 700;\n color: var(--suite-run-text-secondary);\n flex-shrink: 0;\n}\n\n.run-icon {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 10px;\n color: white;\n font-size: 16px;\n flex-shrink: 0;\n box-shadow: var(--suite-run-shadow);\n}\n\n.run-content {\n flex: 1;\n min-width: 0;\n}\n\n.run-name {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.run-meta {\n display: flex;\n gap: 16px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n flex-wrap: wrap;\n}\n\n.run-status {\n font-weight: 700;\n}\n\n.run-score,\n.run-duration {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.run-score i,\n.run-duration i {\n font-size: 10px;\n opacity: 0.7;\n}\n\n.test-run-item > i {\n color: #cbd5e1;\n font-size: 14px;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item:hover > i {\n color: var(--suite-run-primary);\n transform: translateX(4px);\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 background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n border: 2px dashed var(--suite-run-border);\n}\n\n.empty-icon {\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n margin-bottom: 20px;\n}\n\n.empty-icon i {\n font-size: 32px;\n color: #cbd5e1;\n}\n\n.empty-state h4 {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.empty-state p {\n margin: 0;\n font-size: 14px;\n color: var(--suite-run-text-secondary);\n max-width: 300px;\n}\n\n/* ===================================\n Details Tab\n =================================== */\n.details-tab {\n max-width: 900px;\n margin: 0 auto;\n width: 100%;\n}\n\n.details-card {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 24px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.details-card h3 {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 20px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--suite-run-text);\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.details-card h3 i {\n color: var(--suite-run-primary);\n}\n\n.details-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 20px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n}\n\n.detail-value {\n font-size: 14px;\n color: var(--suite-run-text);\n word-wrap: break-word;\n}\n\n.detail-value.monospace {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 12px;\n background: var(--suite-run-neutral-light);\n padding: 6px 10px;\n border-radius: 6px;\n}\n\n.detail-value a {\n color: var(--suite-run-primary);\n text-decoration: none;\n font-weight: 500;\n transition: var(--suite-run-transition);\n}\n\n.detail-value a:hover {\n color: #2563eb;\n text-decoration: underline;\n}\n\n.status-inline {\n display: inline-flex;\n align-items: center;\n padding: 4px 10px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-inline.status-completed {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.status-inline.status-failed {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.status-inline.status-running {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.status-inline.status-pending {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.status-inline.status-cancelled {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n/* ===================================\n Keyboard Shortcuts\n =================================== */\n/* Toggle button - visible when shortcuts are hidden */\n.shortcuts-toggle {\n position: fixed;\n bottom: 20px;\n right: 20px;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n box-shadow: var(--suite-run-shadow);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n z-index: 99;\n transition: var(--suite-run-transition);\n opacity: 0.7;\n}\n\n.shortcuts-toggle:hover {\n opacity: 1;\n transform: scale(1.1);\n color: var(--suite-run-primary);\n border-color: var(--suite-run-primary);\n}\n\n.keyboard-shortcuts {\n position: fixed;\n bottom: 20px;\n right: 20px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n padding: 12px 16px;\n box-shadow: var(--suite-run-shadow-lg);\n font-size: 12px;\n z-index: 100;\n opacity: 0.9;\n transition: var(--suite-run-transition);\n}\n\n.keyboard-shortcuts:hover {\n opacity: 1;\n}\n\n.shortcuts-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n color: var(--suite-run-text);\n margin-bottom: 10px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.shortcuts-header i {\n color: var(--suite-run-primary);\n}\n\n.shortcuts-close {\n margin-left: auto;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--suite-run-text-muted);\n font-size: 12px;\n padding: 2px 4px;\n border-radius: 4px;\n transition: var(--suite-run-transition);\n}\n\n.shortcuts-close:hover {\n color: var(--suite-run-text);\n background: var(--suite-run-border);\n}\n\n.shortcut-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.shortcut-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n}\n\n.shortcut-item span:first-child {\n color: var(--suite-run-text-secondary);\n}\n\n.shortcut-keys {\n display: flex;\n gap: 4px;\n}\n\nkbd {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n font-family: inherit;\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text);\n box-shadow: 0 1px 0 #94a3b8;\n}\n\n/* ===================================\n Responsive Design - Tablet\n =================================== */\n@media (max-width: 1024px) {\n .suite-run-header {\n padding: 16px 20px;\n }\n\n .metrics-bar {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .result-hero-stats {\n flex-direction: column;\n gap: 16px;\n }\n\n .stat-divider {\n display: none;\n }\n\n .details-grid {\n grid-template-columns: 1fr;\n }\n\n .tab-shortcut {\n display: none;\n }\n}\n\n/* ===================================\n Responsive Design - Mobile\n =================================== */\n@media (max-width: 768px) {\n .suite-run-header {\n padding: 16px;\n }\n\n .header-content {\n flex-direction: column;\n gap: 16px;\n }\n\n .header-left {\n width: 100%;\n }\n\n .suite-run-icon {\n width: 48px;\n height: 48px;\n font-size: 20px;\n }\n\n .suite-run-info h1 {\n font-size: 20px;\n }\n\n .header-actions {\n width: 100%;\n justify-content: stretch;\n }\n\n .header-actions button {\n flex: 1;\n }\n\n .metrics-bar {\n grid-template-columns: repeat(2, 1fr);\n gap: 8px;\n }\n\n .metric-card {\n padding: 12px;\n flex-direction: column;\n text-align: center;\n gap: 8px;\n }\n\n .metric-icon {\n width: 36px;\n height: 36px;\n }\n\n .metric-value {\n font-size: 16px;\n }\n\n .results-summary {\n gap: 8px;\n padding-top: 16px;\n flex-wrap: nowrap;\n overflow-x: auto;\n padding-bottom: 8px;\n margin-bottom: -8px;\n }\n\n .result-item {\n padding: 10px 12px;\n min-width: 90px;\n }\n\n .result-icon {\n font-size: 20px;\n }\n\n .result-count {\n font-size: 18px;\n }\n\n .tabs {\n padding: 0 16px;\n }\n\n .tab {\n padding: 14px 16px;\n font-size: 13px;\n }\n\n .tab-content {\n padding: 16px;\n }\n\n .result-hero {\n padding: 32px 20px;\n }\n\n .result-hero-icon {\n font-size: 56px;\n }\n\n .result-hero-text h2 {\n font-size: 24px;\n }\n\n .stat-value {\n font-size: 20px;\n }\n\n .test-run-item {\n padding: 14px;\n }\n\n .run-sequence {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n\n .run-icon {\n width: 36px;\n height: 36px;\n font-size: 14px;\n }\n\n .run-name {\n font-size: 13px;\n }\n\n .run-meta {\n gap: 10px;\n font-size: 11px;\n }\n\n .empty-state {\n padding: 40px 16px;\n }\n\n .empty-icon {\n width: 64px;\n height: 64px;\n }\n\n .empty-icon i {\n font-size: 28px;\n }\n\n .details-card {\n padding: 16px;\n }\n\n .details-grid {\n gap: 16px;\n }\n\n .keyboard-shortcuts, .shortcuts-toggle {\n display: none;\n }\n}\n\n/* ===================================\n Responsive Design - Small Mobile\n =================================== */\n@media (max-width: 480px) {\n .suite-run-header {\n padding: 12px;\n }\n\n .breadcrumb {\n font-size: 12px;\n margin-bottom: 12px;\n }\n\n .suite-run-icon {\n width: 44px;\n height: 44px;\n font-size: 18px;\n }\n\n .suite-run-info h1 {\n font-size: 18px;\n }\n\n .suite-run-meta {\n gap: 8px;\n }\n\n .status-badge {\n padding: 4px 10px;\n font-size: 11px;\n }\n\n .meta-tag {\n font-size: 11px;\n padding: 3px 8px;\n }\n\n .metrics-bar {\n grid-template-columns: 1fr 1fr;\n }\n\n .metric-card {\n padding: 10px;\n gap: 6px;\n }\n\n .metric-icon {\n width: 32px;\n height: 32px;\n font-size: 14px;\n }\n\n .metric-value {\n font-size: 14px;\n }\n\n .metric-label {\n font-size: 9px;\n }\n\n .result-item {\n padding: 8px 10px;\n min-width: 80px;\n gap: 8px;\n }\n\n .result-icon {\n font-size: 18px;\n }\n\n .result-count {\n font-size: 16px;\n }\n\n .result-label {\n font-size: 9px;\n }\n\n .tabs {\n padding: 0 12px;\n }\n\n .tab {\n padding: 12px 14px;\n gap: 6px;\n }\n\n .tab i {\n font-size: 14px;\n }\n\n .tab-content {\n padding: 12px;\n }\n\n .result-hero {\n padding: 24px 16px;\n }\n\n .result-hero-icon {\n font-size: 48px;\n margin-bottom: 16px;\n }\n\n .result-hero-text h2 {\n font-size: 20px;\n margin-bottom: 12px;\n }\n\n .stat-value {\n font-size: 18px;\n }\n\n .stat-label {\n font-size: 10px;\n }\n\n .progress-section {\n padding: 16px;\n }\n\n .progress-info {\n font-size: 14px;\n }\n\n .test-run-item {\n padding: 12px;\n gap: 10px;\n }\n\n .run-sequence {\n width: 24px;\n height: 24px;\n font-size: 11px;\n }\n\n .run-icon {\n width: 32px;\n height: 32px;\n font-size: 12px;\n border-radius: 8px;\n }\n\n .run-name {\n font-size: 12px;\n margin-bottom: 3px;\n }\n\n .run-meta {\n gap: 8px;\n font-size: 10px;\n }\n\n .empty-state {\n padding: 32px 12px;\n }\n\n .empty-state h4 {\n font-size: 16px;\n }\n\n .empty-state p {\n font-size: 13px;\n }\n\n .details-card {\n padding: 14px;\n }\n\n .details-card h3 {\n font-size: 14px;\n margin-bottom: 16px;\n }\n\n .detail-label {\n font-size: 10px;\n }\n\n .detail-value {\n font-size: 13px;\n }\n}\n\n/* ===================================\n Touch Device Optimizations\n =================================== */\n@media (hover: none) and (pointer: coarse) {\n .test-run-item {\n min-height: 64px;\n }\n\n .test-run-item:hover {\n transform: none;\n background: var(--suite-run-card);\n border-color: var(--suite-run-border);\n }\n\n .test-run-item:active {\n background: var(--suite-run-primary-light);\n border-color: #93c5fd;\n }\n\n .tab:hover {\n background: transparent;\n color: var(--suite-run-text-secondary);\n }\n\n .tab:active {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n }\n\n .metric-card:hover {\n transform: none;\n box-shadow: none;\n }\n\n .result-item:hover {\n transform: none;\n box-shadow: none;\n }\n\n .keyboard-shortcuts {\n display: none;\n }\n}\n\n/* ===================================\n Print Styles\n =================================== */\n@media print {\n .suite-run-header {\n background: white;\n box-shadow: none;\n border-bottom: 2px solid #000;\n }\n\n .tabs-container,\n .header-actions,\n .keyboard-shortcuts {\n display: none;\n }\n\n .tab-content {\n padding: 20px 0;\n }\n\n .result-hero,\n .test-run-item,\n .details-card {\n box-shadow: none;\n border: 1px solid #ccc;\n }\n}\n\n/* ===================================\n Dark Mode Support (Future)\n =================================== */\n@media (prefers-color-scheme: dark) {\n /* Ready for dark mode implementation */\n}\n\n/* ===================================\n Tags Bar - Sleek Inline Display\n =================================== */\n.tags-bar {\n margin-top: 16px;\n padding: 8px 14px;\n background: linear-gradient(135deg, rgba(59, 130, 246, 0.04) 0%, rgba(59, 130, 246, 0.08) 100%);\n border: 1px solid rgba(59, 130, 246, 0.15);\n border-radius: 8px;\n max-width: 600px;\n}\n\n.tags-bar-content {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.tags-bar-label {\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n}\n\n.tags-bar-label i {\n opacity: 0.6;\n}\n\n.tags-bar-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n flex: 1;\n}\n\n.tag-inline {\n display: inline-flex;\n align-items: center;\n padding: 4px 10px;\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n letter-spacing: 0.01em;\n}\n\n.tags-bar-empty {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n opacity: 0.7;\n flex: 1;\n}\n\n.tags-bar-edit {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n background: transparent;\n border: 1px dashed var(--suite-run-border);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.tags-bar-edit:hover {\n border-color: var(--suite-run-primary);\n color: var(--suite-run-primary);\n background: var(--suite-run-primary-light);\n}\n\n.tags-bar-edit i {\n font-size: 10px;\n}\n\n/* ===================================\n Tags Editor Panel - Expanded Edit Mode\n =================================== */\n.tags-editor-panel {\n margin-top: 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-primary);\n border-radius: 10px;\n overflow: hidden;\n box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);\n max-width: 600px;\n}\n\n.tags-editor-header {\n display: flex;\n align-items: center;\n padding: 12px 16px;\n background: var(--suite-run-primary-light);\n border-bottom: 1px solid rgba(59, 130, 246, 0.2);\n}\n\n.tags-editor-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--suite-run-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.tags-editor-body {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tags-editor-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n min-height: 32px;\n}\n\n.tag-editable {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 8px 5px 12px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-primary);\n color: var(--suite-run-primary);\n border-radius: 14px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.tag-remove-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n background: transparent;\n border: none;\n color: var(--suite-run-primary);\n cursor: pointer;\n border-radius: 50%;\n font-size: 9px;\n opacity: 0.6;\n transition: var(--suite-run-transition);\n}\n\n.tag-remove-btn:hover {\n opacity: 1;\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.tags-empty-hint {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n font-style: italic;\n padding: 4px 0;\n}\n\n.tags-editor-input {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.tag-text-input {\n flex: 1;\n padding: 10px 14px;\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n font-size: 13px;\n background: var(--suite-run-neutral-light);\n}\n\n.tag-text-input:focus {\n outline: none;\n border-color: var(--suite-run-primary);\n background: var(--suite-run-card);\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.tag-text-input::placeholder {\n color: var(--suite-run-text-secondary);\n opacity: 0.6;\n}\n\n.tags-editor-footer {\n display: flex;\n justify-content: flex-start;\n gap: 8px;\n padding: 12px 16px;\n background: var(--suite-run-neutral-light);\n border-top: 1px solid var(--suite-run-border);\n}\n\n/* ===================================\n Runs Toolbar\n =================================== */\n.runs-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding: 12px 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.run-filters {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.filter-btn {\n padding: 6px 14px;\n border: 1px solid var(--suite-run-border);\n background: var(--suite-run-card);\n border-radius: 20px;\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n cursor: pointer;\n transition: var(--suite-run-transition);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.filter-btn:hover {\n border-color: var(--suite-run-primary);\n color: var(--suite-run-primary);\n}\n\n.filter-btn.active {\n background: var(--suite-run-primary);\n border-color: var(--suite-run-primary);\n color: white;\n}\n\n.filter-btn.passed:hover,\n.filter-btn.passed.active {\n background: var(--suite-run-success);\n border-color: var(--suite-run-success);\n color: white;\n}\n\n.filter-btn.failed:hover,\n.filter-btn.failed.active {\n background: var(--suite-run-danger);\n border-color: var(--suite-run-danger);\n color: white;\n}\n\n.filter-btn.error:hover,\n.filter-btn.error.active {\n background: var(--suite-run-warning);\n border-color: var(--suite-run-warning);\n color: white;\n}\n\n.runs-actions {\n display: flex;\n gap: 8px;\n}\n\n/* ===================================\n Test Run Card (Expandable)\n =================================== */\n.test-run-card {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n transition: var(--suite-run-transition);\n margin-bottom: 10px;\n}\n\n.test-run-card:hover {\n box-shadow: var(--suite-run-shadow);\n}\n\n.test-run-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item:hover {\n background: var(--suite-run-primary-light);\n}\n\n.run-header-row {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 4px;\n}\n\n.run-feedback-indicator {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.run-feedback-indicator i {\n font-size: 10px;\n}\n\n.run-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n}\n\n.tag-mini {\n display: inline-flex;\n padding: 2px 8px;\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-text-secondary);\n border-radius: 10px;\n font-size: 10px;\n font-weight: 500;\n}\n\n.tag-chip {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);\n border: 1px solid #bfdbfe;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: #1d4ed8;\n}\n\n.run-expand {\n color: var(--suite-run-text-secondary);\n transition: var(--suite-run-transition);\n}\n\n.test-run-item:hover .run-expand {\n color: var(--suite-run-primary);\n}\n\n.run-cost {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.run-cost i {\n font-size: 10px;\n opacity: 0.7;\n}\n\n/* ===================================\n Inline Feedback\n =================================== */\n.inline-feedback {\n padding: 0 16px 16px;\n animation: slideDown 0.2s ease-out;\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.feedback-divider {\n height: 1px;\n background: var(--suite-run-border);\n margin-bottom: 16px;\n}\n\n.feedback-section {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.feedback-label {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.inline-rating {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.rating-numbers {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.rating-btn {\n width: 36px;\n height: 36px;\n border: 2px solid var(--suite-run-border);\n border-radius: 8px;\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-text-secondary);\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.rating-btn:hover,\n.rating-btn.hover {\n transform: scale(1.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.rating-btn.low:hover,\n.rating-btn.low.hover {\n border-color: var(--suite-run-danger);\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.rating-btn.mid:hover,\n.rating-btn.mid.hover {\n border-color: var(--suite-run-warning);\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.rating-btn.high:hover,\n.rating-btn.high.hover {\n border-color: var(--suite-run-success);\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.rating-btn.selected {\n transform: scale(1.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.rating-btn.selected.low {\n border-color: var(--suite-run-danger);\n background: var(--suite-run-danger);\n color: white;\n}\n\n.rating-btn.selected.mid {\n border-color: var(--suite-run-warning);\n background: var(--suite-run-warning);\n color: white;\n}\n\n.rating-btn.selected.high {\n border-color: var(--suite-run-success);\n background: var(--suite-run-success);\n color: white;\n}\n\n.rating-info {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 14px;\n background: var(--suite-run-neutral-light);\n border-radius: 8px;\n}\n\n.rating-value {\n font-size: 18px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.rating-label-text {\n font-size: 13px;\n color: var(--suite-run-text-secondary);\n}\n\n.correctness-row {\n display: flex;\n align-items: center;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.correctness-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--suite-run-text);\n}\n\n.correctness-options {\n display: flex;\n gap: 16px;\n}\n\n.radio-opt {\n display: flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n font-size: 13px;\n color: var(--suite-run-text-secondary);\n}\n\n.radio-opt input[type=\"radio\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n}\n\n.comments-row {\n width: 100%;\n}\n\n.feedback-textarea {\n width: 100%;\n padding: 12px;\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n font-size: 14px;\n font-family: inherit;\n resize: vertical;\n min-height: 80px;\n}\n\n.feedback-textarea:focus {\n outline: none;\n border-color: var(--suite-run-primary);\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.feedback-actions {\n display: flex;\n justify-content: space-between;\n gap: 12px;\n padding-top: 8px;\n}\n\n/* ===================================\n Mobile Responsive Updates\n =================================== */\n@media (max-width: 768px) {\n .tags-bar {\n padding: 8px 12px;\n }\n\n .tags-bar-content {\n gap: 8px;\n }\n\n .tag-inline {\n padding: 3px 8px;\n font-size: 10px;\n }\n\n .tags-editor-panel {\n margin-top: 12px;\n }\n\n .tags-editor-body {\n padding: 12px;\n }\n\n .tags-editor-footer {\n padding: 10px 12px;\n }\n\n .runs-toolbar {\n flex-direction: column;\n align-items: stretch;\n }\n\n .run-filters {\n justify-content: center;\n }\n\n .runs-actions {\n justify-content: center;\n }\n\n .rating-numbers {\n justify-content: center;\n }\n\n .rating-btn {\n width: 32px;\n height: 32px;\n font-size: 12px;\n }\n\n .correctness-row {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .feedback-actions {\n flex-direction: column;\n }\n\n .feedback-actions button {\n width: 100%;\n }\n}\n\n/* ===================================\n Animations\n =================================== */\n@keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n}\n\n.result-hero.running .result-hero-icon {\n animation: pulse 2s ease-in-out infinite;\n}\n\n/* Tab content fade in */\n.overview-tab,\n.runs-tab,\n.details-tab,\n.analytics-tab {\n animation: fadeIn 0.3s ease;\n}\n\n/* ===================================\n Analytics Tab\n =================================== */\n.analytics-tab {\n max-width: 1200px;\n margin: 0 auto;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.analytics-section {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 24px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.analytics-section h3 {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 20px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--suite-run-text);\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.analytics-section h3 i {\n color: var(--suite-run-primary);\n}\n\n.analytics-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 16px;\n margin-bottom: 20px;\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.analytics-header h3 {\n margin: 0;\n padding: 0;\n border: none;\n}\n\n.analytics-legend {\n display: flex;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.legend-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.legend-item.passed {\n color: var(--suite-run-success);\n}\n\n.legend-item.failed {\n color: var(--suite-run-danger);\n}\n\n.legend-item.error {\n color: var(--suite-run-warning);\n}\n\n.legend-item.skipped {\n color: var(--suite-run-neutral);\n}\n\n/* Performance Matrix */\n.performance-matrix {\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.matrix-row {\n display: grid;\n grid-template-columns: 2fr 120px 150px 100px 100px;\n border-bottom: 1px solid var(--suite-run-border);\n transition: var(--suite-run-transition);\n cursor: pointer;\n}\n\n.matrix-row:last-child {\n border-bottom: none;\n}\n\n.matrix-row:hover:not(.matrix-header-row) {\n background: var(--suite-run-primary-light);\n}\n\n.matrix-row.passed {\n border-left: 4px solid var(--suite-run-success);\n}\n\n.matrix-row.failed {\n border-left: 4px solid var(--suite-run-danger);\n}\n\n.matrix-row.error {\n border-left: 4px solid var(--suite-run-warning);\n}\n\n.matrix-row.skipped {\n border-left: 4px solid var(--suite-run-neutral);\n}\n\n.matrix-header-row {\n background: var(--suite-run-neutral-light);\n font-weight: 600;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n cursor: default;\n}\n\n.matrix-cell {\n padding: 12px 16px;\n display: flex;\n align-items: center;\n}\n\n.test-name-cell {\n gap: 12px;\n}\n\n.test-sequence {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n flex-shrink: 0;\n}\n\n.test-name {\n font-weight: 500;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-indicator {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-indicator.status-passed {\n color: var(--suite-run-success);\n}\n\n.status-indicator.status-failed {\n color: var(--suite-run-danger);\n}\n\n.status-indicator.status-error {\n color: var(--suite-run-warning);\n}\n\n.status-indicator.status-skipped {\n color: var(--suite-run-neutral);\n}\n\n.status-indicator.status-pending {\n color: var(--suite-run-info);\n}\n\n.status-indicator.status-running {\n color: var(--suite-run-primary);\n}\n\n.score-bar {\n position: relative;\n width: 100%;\n height: 20px;\n background: var(--suite-run-neutral-light);\n border-radius: 10px;\n overflow: hidden;\n}\n\n.score-fill {\n height: 100%;\n border-radius: 10px;\n transition: width 0.3s ease;\n}\n\n.score-fill.high {\n background: linear-gradient(90deg, var(--suite-run-success) 0%, #34d399 100%);\n}\n\n.score-fill.medium {\n background: linear-gradient(90deg, var(--suite-run-warning) 0%, #fbbf24 100%);\n}\n\n.score-fill.low {\n background: linear-gradient(90deg, var(--suite-run-danger) 0%, #f87171 100%);\n}\n\n.score-text {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 11px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.na-value {\n color: var(--suite-run-text-secondary);\n opacity: 0.6;\n}\n\n/* Summary Statistics Grid */\n.stats-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 16px;\n}\n\n.stat-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n border: 1px solid var(--suite-run-border);\n border-radius: 12px;\n transition: var(--suite-run-transition);\n}\n\n.stat-card:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.stat-icon {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 12px;\n font-size: 20px;\n}\n\n.stat-icon.passed {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.stat-icon.failed {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.stat-icon.score {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.stat-icon.duration {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.stat-icon.cost {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.stat-content {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.stat-card .stat-value {\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.stat-card .stat-label {\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat-percent {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n/* Responsive Analytics */\n@media (max-width: 768px) {\n .analytics-header {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .matrix-row {\n grid-template-columns: 1fr;\n gap: 8px;\n padding: 12px;\n }\n\n .matrix-header-row {\n display: none;\n }\n\n .matrix-cell {\n padding: 4px 0;\n }\n\n .test-name-cell::before,\n .status-cell::before,\n .score-cell::before,\n .duration-cell::before,\n .cost-cell::before {\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n margin-right: 8px;\n min-width: 80px;\n }\n\n .status-cell::before { content: 'Status:'; }\n .score-cell::before { content: 'Score:'; }\n .duration-cell::before { content: 'Duration:'; }\n .cost-cell::before { content: 'Cost:'; }\n\n .stats-grid {\n grid-template-columns: 1fr 1fr;\n }\n\n .stat-card {\n padding: 16px;\n }\n\n .stat-icon {\n width: 40px;\n height: 40px;\n font-size: 16px;\n }\n\n .stat-card .stat-value {\n font-size: 20px;\n }\n}\n\n/* Focus States for Accessibility */\n.tab:focus-visible,\n.test-run-item:focus-visible,\nbutton:focus-visible {\n outline: 2px solid var(--suite-run-primary);\n outline-offset: 2px;\n}\n\n/* ===================================\n Analytics Loading State\n =================================== */\n.analytics-loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 60px 20px;\n color: var(--suite-run-text-secondary);\n}\n\n.analytics-loading i {\n font-size: 32px;\n color: var(--suite-run-primary);\n}\n\n/* ===================================\n Results Table\n =================================== */\n.results-table-wrapper {\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.results-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n}\n\n.results-table thead {\n background: var(--suite-run-neutral-light);\n}\n\n.results-table th {\n padding: 12px 16px;\n text-align: left;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.results-table td {\n padding: 12px 16px;\n border-bottom: 1px solid #f1f5f9;\n vertical-align: middle;\n}\n\n.results-table tbody tr:last-child td {\n border-bottom: none;\n}\n\n/* Column widths - Fixed columns fit content, name column takes remainder (max 50%) */\n.seq-col {\n width: 40px;\n min-width: 40px;\n text-align: center;\n white-space: nowrap;\n}\n\n.name-col {\n /* Take remaining space, but cap at 50% of table width */\n width: auto;\n max-width: 50%;\n}\n\n.status-col {\n width: 1%; /* Shrink to fit content */\n white-space: nowrap;\n}\n\n.score-col {\n width: 1%; /* Shrink to fit content */\n min-width: 120px; /* Score bar needs some minimum width */\n white-space: nowrap;\n}\n\n.duration-col {\n width: 1%; /* Shrink to fit content */\n white-space: nowrap;\n text-align: right;\n}\n\n.cost-col {\n width: 1%; /* Shrink to fit content */\n white-space: nowrap;\n text-align: right;\n}\n\n/* Result Row */\n.result-row {\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.result-row:hover {\n background: var(--suite-run-primary-light);\n}\n\n.result-row.row-passed {\n border-left: 4px solid var(--suite-run-success);\n}\n\n.result-row.row-failed {\n border-left: 4px solid var(--suite-run-danger);\n}\n\n.result-row.row-error {\n border-left: 4px solid var(--suite-run-warning);\n}\n\n.result-row.row-skipped {\n border-left: 4px solid var(--suite-run-neutral);\n}\n\n/* Test Name Wrapper */\n.test-name-wrapper {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.test-name-wrapper .test-name {\n font-weight: 500;\n color: var(--suite-run-text);\n}\n\n.test-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n/* Score Display */\n.score-display {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.score-bar-mini {\n flex: 1;\n height: 6px;\n background: var(--suite-run-neutral-light);\n border-radius: 3px;\n overflow: hidden;\n min-width: 60px;\n}\n\n.score-bar-mini .score-fill {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.score-bar-mini .score-fill.high {\n background: var(--suite-run-success);\n}\n\n.score-bar-mini .score-fill.medium {\n background: var(--suite-run-warning);\n}\n\n.score-bar-mini .score-fill.low {\n background: var(--suite-run-danger);\n}\n\n.score-display .score-text {\n position: static;\n transform: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--suite-run-text);\n min-width: 35px;\n text-align: right;\n}\n\n/* Status Badge in Table */\n.results-table .status-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.results-table .status-badge.status-passed {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.results-table .status-badge.status-failed {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.results-table .status-badge.status-error {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.results-table .status-badge.status-skipped {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.results-table .status-badge.status-pending {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.results-table .status-badge.status-running {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n/* Responsive Results Table */\n@media (max-width: 768px) {\n .results-table-wrapper {\n overflow-x: auto;\n }\n\n .results-table {\n min-width: 600px;\n }\n\n .results-table th,\n .results-table td {\n padding: 10px 12px;\n }\n\n .name-col {\n min-width: 150px;\n }\n}\n\n/* ===================================\n High Contrast Mode\n =================================== */\n@media (prefers-contrast: high) {\n .status-badge,\n .status-inline {\n border: 2px solid currentColor;\n }\n\n .test-run-item {\n border-width: 2px;\n }\n\n .tab.active {\n border-bottom-width: 4px;\n }\n}\n\n/* ===================================\n Evaluation Summary\n =================================== */\n.evaluation-summary {\n margin-top: 20px;\n}\n\n.eval-summary-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n}\n\n.eval-summary-card {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n transition: var(--suite-run-transition);\n}\n\n.eval-summary-card:hover {\n box-shadow: var(--suite-run-shadow);\n}\n\n.eval-card-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: var(--suite-run-neutral-light);\n border-bottom: 1px solid var(--suite-run-border);\n font-size: 13px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.eval-card-header i {\n color: var(--suite-run-primary);\n}\n\n.eval-card-body {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.eval-stat-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n.eval-stat-label {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n.eval-stat-value {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.eval-stat-value.correct {\n color: var(--suite-run-success);\n}\n\n.eval-stat-value.incorrect {\n color: var(--suite-run-danger);\n font-weight: 500;\n font-size: 12px;\n}\n\n.eval-stat-value.error {\n color: var(--suite-run-danger);\n}\n\n.eval-stat-value.timeout {\n color: var(--suite-run-warning);\n}\n\n.eval-card-footer {\n padding: 10px 16px;\n background: var(--suite-run-warning-light);\n border-top: 1px solid rgba(245, 158, 11, 0.2);\n}\n\n.pending-badge {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-warning);\n}\n\n.pending-badge i {\n font-size: 11px;\n}\n\n/* ===================================\n Needs Review Section\n =================================== */\n.needs-review-section {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n}\n\n.needs-review-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 20px;\n background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);\n border-bottom: 1px solid rgba(245, 158, 11, 0.3);\n}\n\n.needs-review-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #92400e;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.needs-review-header h3 i {\n font-size: 16px;\n}\n\n.review-count {\n font-size: 12px;\n font-weight: 500;\n color: #92400e;\n background: rgba(255, 255, 255, 0.6);\n padding: 2px 10px;\n border-radius: 12px;\n}\n\n.needs-review-list {\n padding: 8px;\n}\n\n.review-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n border-radius: 8px;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.review-item:hover {\n background: var(--suite-run-primary-light);\n}\n\n.review-item-icon {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n font-size: 14px;\n flex-shrink: 0;\n}\n\n.review-item.high-priority .review-item-icon {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.review-item.medium-priority .review-item-icon {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.review-item:not(.high-priority):not(.medium-priority) .review-item-icon {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.review-item-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.review-item-name {\n font-size: 13px;\n font-weight: 500;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.review-item-reason {\n font-size: 11px;\n color: var(--suite-run-text-secondary);\n}\n\n.review-item-action {\n color: var(--suite-run-text-secondary);\n font-size: 12px;\n}\n\n.review-item:hover .review-item-action {\n color: var(--suite-run-primary);\n}\n\n.review-more {\n display: flex;\n justify-content: center;\n padding: 8px;\n border-top: 1px solid var(--suite-run-border);\n}\n\n/* Mobile Responsive for Evaluation */\n@media (max-width: 768px) {\n .eval-summary-grid {\n grid-template-columns: 1fr;\n }\n\n .eval-card-header {\n padding: 10px 14px;\n font-size: 12px;\n }\n\n .eval-card-body {\n padding: 12px 14px;\n }\n\n .needs-review-header {\n padding: 12px 16px;\n }\n\n .needs-review-header h3 {\n font-size: 13px;\n }\n\n .review-item {\n padding: 10px 12px;\n }\n\n .review-item-icon {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n}\n\n/* ===================================\n Feedback Column in Analytics Table\n =================================== */\n.feedback-col {\n width: 1%; /* Shrink to fit content */\n white-space: nowrap;\n text-align: center;\n}\n\n.feedback-display {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n}\n\n.feedback-rating {\n font-size: 13px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--suite-run-neutral-light);\n}\n\n.feedback-rating.low {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.feedback-rating.mid {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.feedback-rating.high {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.feedback-correctness i {\n font-size: 12px;\n}\n\n.feedback-correctness i.correct {\n color: var(--suite-run-success);\n}\n\n.feedback-correctness i.incorrect {\n color: var(--suite-run-danger);\n}\n\n.na-value.needs-review {\n color: var(--suite-run-warning);\n opacity: 0.7;\n}\n\n.na-value.needs-review i {\n font-size: 14px;\n}\n"] }]
2327
+ args: [{ standalone: false, selector: 'mj-test-suite-run-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"test-suite-run-form\" kendoDialogContainer>\n <!-- Header Section -->\n <div class=\"suite-run-header\">\n <!-- Breadcrumb Navigation -->\n <nav class=\"breadcrumb\" aria-label=\"Breadcrumb\">\n <ol>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"navigateToTestingDashboard()\">\n <i class=\"fas fa-vial\"></i>\n <span class=\"breadcrumb-text\">Testing</span>\n </a>\n </li>\n @if (testSuite) {\n <li>\n <i class=\"fas fa-chevron-right separator\"></i>\n <a href=\"javascript:void(0)\" (click)=\"openTestSuite()\">\n <i class=\"fas fa-layer-group\"></i>\n <span class=\"breadcrumb-text\">{{ testSuite.Name }}</span>\n </a>\n </li>\n }\n <li class=\"current\">\n <i class=\"fas fa-chevron-right separator\"></i>\n <span>Run #{{ record.ID.substring(0, 8) }}</span>\n </li>\n </ol>\n </nav>\n\n <!-- Header Content -->\n <div class=\"header-content\">\n <div class=\"header-left\">\n <div class=\"suite-run-icon\" [style.background-color]=\"getStatusColor()\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon()\"></i>\n </div>\n <div class=\"suite-run-info\">\n <h1>Suite Run</h1>\n <div class=\"suite-run-meta\">\n <span class=\"status-badge\" [ngClass]=\"getStatusClass()\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon()\"></i>\n {{ record.Status }}\n </span>\n @if (record.Environment) {\n <span class=\"meta-tag environment\">\n <i class=\"fas fa-server\"></i>\n {{ record.Environment }}\n </span>\n }\n @if (record.TriggerType) {\n <span class=\"meta-tag trigger\">\n <i class=\"fas fa-bolt\"></i>\n {{ record.TriggerType }}\n </span>\n }\n </div>\n </div>\n </div>\n <div class=\"header-actions\">\n <!-- Evaluation Mode Toggle -->\n <app-evaluation-mode-toggle></app-evaluation-mode-toggle>\n @if (record.SuiteID) {\n <button kendoButton (click)=\"reRunSuite()\" themeColor=\"primary\">\n <i class=\"fas fa-play\"></i> Re-run Suite\n </button>\n }\n <button kendoButton (click)=\"refresh()\" [disabled]=\"isRefreshing\">\n <i class=\"fas\" [ngClass]=\"isRefreshing ? 'fa-sync fa-spin' : 'fa-sync'\"></i>\n {{ isRefreshing ? 'Refreshing...' : 'Refresh' }}\n </button>\n </div>\n </div>\n\n <!-- Metrics Bar -->\n <div class=\"metrics-bar\">\n <div class=\"metric-card\">\n <div class=\"metric-icon\">\n <i class=\"fas fa-clock\"></i>\n </div>\n <div class=\"metric-content\">\n <div class=\"metric-value\">{{ calculateDuration() }}</div>\n <div class=\"metric-label\">Duration</div>\n </div>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-icon\">\n <i class=\"fas fa-percentage\"></i>\n </div>\n <div class=\"metric-content\">\n <div class=\"metric-value\">{{ getPassRate().toFixed(1) }}%</div>\n <div class=\"metric-label\">Pass Rate</div>\n </div>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-icon\">\n <i class=\"fas fa-dollar-sign\"></i>\n </div>\n <div class=\"metric-content\">\n <div class=\"metric-value\">{{ formatCost(record.TotalCostUSD) }}</div>\n <div class=\"metric-label\">Total Cost</div>\n </div>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-icon\">\n <i class=\"fas fa-calendar\"></i>\n </div>\n <div class=\"metric-content\">\n <div class=\"metric-value\">{{ getRelativeTime(record.StartedAt) }}</div>\n <div class=\"metric-label\">Started</div>\n </div>\n </div>\n </div>\n\n <!-- Results Summary -->\n <div class=\"results-summary\">\n <div class=\"result-item passed\">\n <div class=\"result-icon\">\n <i class=\"fas fa-check-circle\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.PassedTests || 0 }}</span>\n <span class=\"result-label\">Passed</span>\n </div>\n </div>\n <div class=\"result-item failed\">\n <div class=\"result-icon\">\n <i class=\"fas fa-times-circle\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.FailedTests || 0 }}</span>\n <span class=\"result-label\">Failed</span>\n </div>\n </div>\n <div class=\"result-item error\">\n <div class=\"result-icon\">\n <i class=\"fas fa-exclamation-circle\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.ErrorTests || 0 }}</span>\n <span class=\"result-label\">Errors</span>\n </div>\n </div>\n <div class=\"result-item skipped\">\n <div class=\"result-icon\">\n <i class=\"fas fa-forward\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.SkippedTests || 0 }}</span>\n <span class=\"result-label\">Skipped</span>\n </div>\n </div>\n <div class=\"result-item total\">\n <div class=\"result-icon\">\n <i class=\"fas fa-list\"></i>\n </div>\n <div class=\"result-content\">\n <span class=\"result-count\">{{ record.TotalTests || 0 }}</span>\n <span class=\"result-label\">Total</span>\n </div>\n </div>\n </div>\n\n <!-- Tags Section - Sleek inline design -->\n @if (!editingTags) {\n <div class=\"tags-bar\">\n <div class=\"tags-bar-content\">\n <span class=\"tags-bar-label\"><i class=\"fas fa-tags\"></i></span>\n @if (tags.length > 0) {\n <div class=\"tags-bar-chips\">\n @for (tag of tags; track tag) {\n <span class=\"tag-inline\">{{ tag }}</span>\n }\n </div>\n }\n @if (tags.length === 0) {\n <span class=\"tags-bar-empty\">No tags</span>\n }\n <button class=\"tags-bar-edit\" (click)=\"startEditingTags()\" title=\"Edit tags\">\n <i class=\"fas fa-plus\"></i> Add\n </button>\n </div>\n </div>\n }\n\n <!-- Tags Editor - Expanded when editing -->\n @if (editingTags) {\n <div class=\"tags-editor-panel\">\n <div class=\"tags-editor-header\">\n <span class=\"tags-editor-title\"><i class=\"fas fa-tags\"></i> Edit Tags</span>\n </div>\n <div class=\"tags-editor-body\">\n <div class=\"tags-editor-chips\">\n @for (tag of tags; track tag) {\n <span class=\"tag-editable\">\n {{ tag }}\n <button class=\"tag-remove-btn\" (click)=\"removeTag(tag)\" title=\"Remove tag\">\n <i class=\"fas fa-times\"></i>\n </button>\n </span>\n }\n @if (tags.length === 0) {\n <span class=\"tags-empty-hint\">No tags yet</span>\n }\n </div>\n <div class=\"tags-editor-input\">\n <input type=\"text\"\n [(ngModel)]=\"newTag\"\n placeholder=\"Type a tag and press Enter...\"\n (keyup.enter)=\"addTag()\"\n class=\"tag-text-input\" />\n <button kendoButton (click)=\"addTag()\" [disabled]=\"!newTag.trim()\" fillMode=\"flat\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </div>\n </div>\n <div class=\"tags-editor-footer\">\n <button kendoButton (click)=\"saveTags()\" themeColor=\"primary\" [disabled]=\"savingTags\">\n @if (savingTags) {\n <i class=\"fas fa-spinner fa-spin\"></i>\n }\n {{ savingTags ? 'Saving...' : 'Save' }}\n </button>\n <button kendoButton (click)=\"cancelEditingTags()\" fillMode=\"flat\">Cancel</button>\n </div>\n </div>\n }\n </div>\n\n <!-- Tabs -->\n <div class=\"tabs-container\">\n <div class=\"tabs\" role=\"tablist\">\n <button class=\"tab\"\n [class.active]=\"activeTab === 'overview'\"\n (click)=\"changeTab('overview')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'overview'\">\n <i class=\"fas fa-th-large\"></i> Overview\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 'runs'\"\n (click)=\"changeTab('runs')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'runs'\">\n <i class=\"fas fa-list\"></i> Test Runs\n @if (testRunsLoaded) {\n <span class=\"tab-badge\">{{ testRuns.length }}</span>\n }\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 'details'\"\n (click)=\"changeTab('details')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'details'\">\n <i class=\"fas fa-info-circle\"></i> Details\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 'analytics'\"\n (click)=\"changeTab('analytics')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'analytics'\"\n title=\"Press 4\">\n <i class=\"fas fa-chart-bar\"></i> Analytics\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 'execution'\"\n (click)=\"changeTab('execution')\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === 'execution'\"\n title=\"Press 5\">\n <i class=\"fas fa-microchip\"></i>\n <span>Execution</span>\n </button>\n </div>\n </div>\n\n <!-- Tab Content -->\n <div class=\"tab-content\">\n <!-- Overview Tab -->\n @if (activeTab === 'overview') {\n <div class=\"overview-tab\">\n <!-- Result Hero -->\n <div class=\"result-hero\"\n [class.passed]=\"record.Status === 'Completed' && getPassRate() >= 90\"\n [class.failed]=\"record.Status === 'Failed' || getPassRate() < 50\"\n [class.running]=\"record.Status === 'Running'\"\n [class.pending]=\"record.Status === 'Pending'\">\n <div class=\"result-hero-icon\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon()\"></i>\n </div>\n <div class=\"result-hero-text\">\n <h2>SUITE {{ record.Status.toUpperCase() || 'UNKNOWN' }}</h2>\n <div class=\"result-hero-stats\">\n <div class=\"stat-item\">\n <span class=\"stat-value\">{{ getPassRate().toFixed(1) }}%</span>\n <span class=\"stat-label\">Pass Rate</span>\n </div>\n <div class=\"stat-divider\"></div>\n <div class=\"stat-item\">\n <span class=\"stat-value\">{{ record.PassedTests || 0 }} / {{ record.TotalTests || 0 }}</span>\n <span class=\"stat-label\">Tests Passed</span>\n </div>\n </div>\n </div>\n </div>\n <!-- Evaluation Metrics Summary -->\n @if (evaluationMetrics && feedbacksLoaded) {\n <div class=\"evaluation-summary\">\n <div class=\"eval-summary-grid\">\n <!-- Human Feedback Card -->\n @if (evalPreferences.showHuman) {\n <div class=\"eval-summary-card\">\n <div class=\"eval-card-header\">\n <i class=\"fa-solid fa-user\"></i>\n <span>Human Feedback</span>\n </div>\n <div class=\"eval-card-body\">\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Reviewed</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.humanReviewedCount }} / {{ evaluationMetrics.totalRuns }}</span>\n </div>\n @if (evaluationMetrics.humanReviewedCount > 0) {\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Avg Rating</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.humanAvgRating.toFixed(1) }}/10</span>\n </div>\n }\n @if (evaluationMetrics.humanReviewedCount > 0) {\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Correct</span>\n <span class=\"eval-stat-value correct\">{{ evaluationMetrics.humanCorrectCount }}</span>\n @if (evaluationMetrics.humanIncorrectCount > 0) {\n <span class=\"eval-stat-value incorrect\">{{ evaluationMetrics.humanIncorrectCount }} incorrect</span>\n }\n </div>\n }\n </div>\n @if (evaluationMetrics.humanPendingCount > 0) {\n <div class=\"eval-card-footer\">\n <span class=\"pending-badge\">\n <i class=\"fa-solid fa-clock\"></i>\n {{ evaluationMetrics.humanPendingCount }} need review\n </span>\n </div>\n }\n </div>\n }\n <!-- Auto Score Card -->\n @if (evalPreferences.showAuto) {\n <div class=\"eval-summary-card\">\n <div class=\"eval-card-header\">\n <i class=\"fa-solid fa-robot\"></i>\n <span>Auto Evaluation</span>\n </div>\n <div class=\"eval-card-body\">\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Evaluated</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.autoEvaluatedCount }} / {{ evaluationMetrics.totalRuns }}</span>\n </div>\n @if (evaluationMetrics.autoEvaluatedCount > 0) {\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Avg Score</span>\n <span class=\"eval-stat-value\">{{ (evaluationMetrics.autoAvgScore * 100).toFixed(0) }}%</span>\n </div>\n }\n @if (evaluationMetrics.autoEvaluatedCount > 0) {\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Pass Rate</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.autoPassRate.toFixed(0) }}%</span>\n </div>\n }\n </div>\n </div>\n }\n <!-- Execution Card -->\n @if (evalPreferences.showExecution) {\n <div class=\"eval-summary-card\">\n <div class=\"eval-card-header\">\n <i class=\"fa-solid fa-circle-check\"></i>\n <span>Execution</span>\n </div>\n <div class=\"eval-card-body\">\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Completed</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.execCompletedCount }} / {{ evaluationMetrics.totalRuns }}</span>\n </div>\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Success Rate</span>\n <span class=\"eval-stat-value\">{{ evaluationMetrics.execSuccessRate.toFixed(0) }}%</span>\n </div>\n @if (evaluationMetrics.execErrorCount > 0 || evaluationMetrics.execTimeoutCount > 0) {\n <div class=\"eval-stat-row\">\n <span class=\"eval-stat-label\">Issues</span>\n @if (evaluationMetrics.execErrorCount > 0) {\n <span class=\"eval-stat-value error\">{{ evaluationMetrics.execErrorCount }} errors</span>\n }\n @if (evaluationMetrics.execTimeoutCount > 0) {\n <span class=\"eval-stat-value timeout\">{{ evaluationMetrics.execTimeoutCount }} timeouts</span>\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n <!-- Needs Review Section -->\n @if (evalPreferences.showHuman && needsReviewItems.length > 0 && feedbacksLoaded) {\n <div class=\"needs-review-section\">\n <div class=\"needs-review-header\">\n <h3><i class=\"fa-solid fa-user-clock\"></i> Needs Review</h3>\n <span class=\"review-count\">{{ needsReviewItems.length }} items</span>\n </div>\n <div class=\"needs-review-list\">\n @for (item of needsReviewItems.slice(0, 5); track item) {\n <div class=\"review-item\"\n [class.high-priority]=\"item.priority === 'high'\"\n [class.medium-priority]=\"item.priority === 'medium'\"\n (click)=\"toggleRunExpanded(item.run.id)\">\n <div class=\"review-item-icon\">\n @if (item.priority === 'high') {\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n }\n @if (item.priority === 'medium') {\n <i class=\"fa-solid fa-circle-dot\"></i>\n }\n @if (item.priority === 'low') {\n <i class=\"fa-solid fa-clock\"></i>\n }\n </div>\n <div class=\"review-item-content\">\n <span class=\"review-item-name\">{{ item.run.testName }}</span>\n <span class=\"review-item-reason\">{{ item.reason }}</span>\n </div>\n <div class=\"review-item-action\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n </div>\n </div>\n }\n @if (needsReviewItems.length > 5) {\n <div class=\"review-more\">\n <button kendoButton fillMode=\"flat\" (click)=\"changeTab('runs')\">\n View all {{ needsReviewItems.length }} items\n </button>\n </div>\n }\n </div>\n </div>\n }\n <!-- Progress Ring (when running) -->\n @if (record.Status === 'Running' || record.Status === 'Pending') {\n <div class=\"progress-section\">\n <div class=\"progress-info\">\n <i class=\"fas fa-circle-notch fa-spin\"></i>\n <span>Suite execution in progress...</span>\n </div>\n <div class=\"auto-refresh-notice\">\n <i class=\"fas fa-sync\"></i>\n Auto-refreshing every 5 seconds\n </div>\n </div>\n }\n </div>\n }\n\n <!-- Test Runs Tab -->\n @if (activeTab === 'runs') {\n <div class=\"runs-tab\">\n <!-- Toolbar -->\n @if (testRunsLoaded && testRuns.length > 0) {\n <div class=\"runs-toolbar\">\n <div class=\"run-filters\">\n <button class=\"filter-btn\"\n [class.active]=\"runStatusFilter === null\"\n (click)=\"setRunStatusFilter(null)\">\n All ({{ testRuns.length }})\n </button>\n @if (getRunCountByStatus('Passed') > 0) {\n <button class=\"filter-btn passed\"\n [class.active]=\"runStatusFilter === 'Passed'\"\n (click)=\"setRunStatusFilter('Passed')\"\n >\n <i class=\"fas fa-check\"></i> Passed ({{ getRunCountByStatus('Passed') }})\n </button>\n }\n @if (getRunCountByStatus('Failed') > 0) {\n <button class=\"filter-btn failed\"\n [class.active]=\"runStatusFilter === 'Failed'\"\n (click)=\"setRunStatusFilter('Failed')\"\n >\n <i class=\"fas fa-times\"></i> Failed ({{ getRunCountByStatus('Failed') }})\n </button>\n }\n @if (getRunCountByStatus('Error') > 0) {\n <button class=\"filter-btn error\"\n [class.active]=\"runStatusFilter === 'Error'\"\n (click)=\"setRunStatusFilter('Error')\"\n >\n <i class=\"fas fa-exclamation\"></i> Error ({{ getRunCountByStatus('Error') }})\n </button>\n }\n </div>\n <div class=\"runs-actions\">\n <button kendoButton (click)=\"exportToCSV()\">\n <i class=\"fas fa-download\"></i> Export CSV\n </button>\n </div>\n </div>\n }\n <!-- Loading State -->\n @if (loadingTestRuns) {\n <div class=\"loading-state\">\n <div class=\"skeleton-list\">\n @for (i of [1,2,3,4,5]; track i) {\n <div class=\"skeleton-card\">\n <div class=\"skeleton-sequence\"></div>\n <div class=\"skeleton-icon\"></div>\n <div class=\"skeleton-content\">\n <div class=\"skeleton-line wide\"></div>\n <div class=\"skeleton-line narrow\"></div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <!-- Test Runs List -->\n @if (!loadingTestRuns && testRuns.length > 0) {\n <div class=\"test-runs-list\">\n @for (run of getFilteredTestRuns(); track run) {\n <div class=\"test-run-card\">\n <div class=\"test-run-item\" (click)=\"toggleRunExpanded(run.ID)\">\n <div class=\"run-sequence\">{{ run.Sequence || '-' }}</div>\n <div class=\"run-icon\" [style.background-color]=\"getRunStatusColor(run.Status)\">\n <i class=\"fas\" [ngClass]=\"getRunStatusIcon(run.Status)\"></i>\n </div>\n <div class=\"run-content\">\n <div class=\"run-header-row\">\n <div class=\"run-name\">{{ run.Test }}</div>\n <!-- Evaluation Badge -->\n <app-evaluation-badge\n [executionStatus]=\"run.Status\"\n [originalStatus]=\"run.Status\"\n [autoScore]=\"run.Score\"\n [humanRating]=\"getFeedbackRating(run.ID) || null\"\n [humanIsCorrect]=\"getHumanIsCorrect(run.ID)\"\n [hasHumanFeedback]=\"hasFeedback(run.ID)\"\n [preferences]=\"evalPreferences\"\n [mode]=\"'compact'\">\n </app-evaluation-badge>\n </div>\n <div class=\"run-meta\">\n @if (run.DurationSeconds) {\n <span class=\"run-duration\">\n <i class=\"fas fa-clock\"></i> {{ run.DurationSeconds.toFixed(1) }}s\n </span>\n }\n @if (run.CostUSD) {\n <span class=\"run-cost\">\n <i class=\"fas fa-dollar-sign\"></i> {{ run.CostUSD.toFixed(6) }}\n </span>\n }\n @if (run.TargetLogEntityID && run.TargetLogID) {\n <mj-entity-link-pill\n [entityName]=\"run.TargetLogEntity\"\n [recordId]=\"run.TargetLogID\">\n </mj-entity-link-pill>\n }\n </div>\n @if (getRunTags(run).length > 0) {\n <div class=\"run-tags\">\n @for (tag of getRunTags(run); track tag) {\n <span class=\"tag-chip\">{{ tag }}</span>\n }\n </div>\n }\n </div>\n <div class=\"run-expand\">\n <i class=\"fas\" [class.fa-chevron-down]=\"expandedRunId !== run.ID\" [class.fa-chevron-up]=\"expandedRunId === run.ID\"></i>\n </div>\n </div>\n <!-- Expanded Inline Feedback -->\n @if (expandedRunId === run.ID) {\n <div class=\"inline-feedback\">\n <div class=\"feedback-divider\"></div>\n <div class=\"feedback-section\">\n <div class=\"feedback-label\">Quick Feedback</div>\n <div class=\"inline-rating\">\n <div class=\"rating-numbers\">\n @for (num of [1,2,3,4,5,6,7,8,9,10]; track num) {\n <button\n type=\"button\"\n class=\"rating-btn\"\n [class.selected]=\"num === inlineRating\"\n [class.hover]=\"num === inlineHoverRating\"\n [class.low]=\"num <= 3\"\n [class.mid]=\"num >= 4 && num <= 6\"\n [class.high]=\"num >= 7\"\n (click)=\"setInlineRating(num); $event.stopPropagation()\"\n (mouseenter)=\"inlineHoverRating = num\"\n (mouseleave)=\"inlineHoverRating = 0\">\n {{ num }}\n </button>\n }\n </div>\n @if (inlineRating > 0) {\n <div class=\"rating-info\">\n <span class=\"rating-value\">{{ inlineRating }}/10</span>\n <span class=\"rating-label-text\">{{ getInlineRatingLabel() }}</span>\n </div>\n }\n </div>\n <div class=\"correctness-row\">\n <span class=\"correctness-label\">Was it correct?</span>\n <div class=\"correctness-options\">\n <label class=\"radio-opt\" (click)=\"$event.stopPropagation()\">\n <input type=\"radio\" name=\"correct-{{run.ID}}\" [value]=\"true\" [(ngModel)]=\"inlineIsCorrect\">\n <span>Yes</span>\n </label>\n <label class=\"radio-opt\" (click)=\"$event.stopPropagation()\">\n <input type=\"radio\" name=\"correct-{{run.ID}}\" [value]=\"false\" [(ngModel)]=\"inlineIsCorrect\">\n <span>No</span>\n </label>\n <label class=\"radio-opt\" (click)=\"$event.stopPropagation()\">\n <input type=\"radio\" name=\"correct-{{run.ID}}\" [value]=\"null\" [(ngModel)]=\"inlineIsCorrect\">\n <span>Not Sure</span>\n </label>\n </div>\n </div>\n <div class=\"comments-row\" (click)=\"$event.stopPropagation()\">\n <textarea\n class=\"feedback-textarea\"\n [(ngModel)]=\"inlineComments\"\n placeholder=\"Add comments or corrections...\"\n rows=\"3\"></textarea>\n </div>\n <div class=\"feedback-actions\" (click)=\"$event.stopPropagation()\">\n <button kendoButton (click)=\"openTestRun(run.ID)\">\n <i class=\"fas fa-external-link-alt\"></i> View Full Details\n </button>\n <button kendoButton\n themeColor=\"primary\"\n (click)=\"saveInlineFeedback()\"\n [disabled]=\"!canSubmitInlineFeedback() || savingInlineFeedback\">\n <i class=\"fas\" [ngClass]=\"savingInlineFeedback ? 'fa-spinner fa-spin' : 'fa-save'\"></i>\n {{ savingInlineFeedback ? 'Saving...' : (hasFeedback(run.ID) ? 'Update' : 'Save') }}\n </button>\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Empty State -->\n @if (testRunsLoaded && !loadingTestRuns && testRuns.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fas fa-inbox\"></i>\n </div>\n <h4>No Test Runs Found</h4>\n <p>No test runs have been recorded for this suite execution.</p>\n </div>\n }\n <!-- Filtered Empty -->\n @if (testRunsLoaded && !loadingTestRuns && testRuns.length > 0 && getFilteredTestRuns().length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fas fa-filter\"></i>\n </div>\n <h4>No Matching Runs</h4>\n <p>No test runs match the current filter.</p>\n <button kendoButton (click)=\"setRunStatusFilter(null)\">Clear Filter</button>\n </div>\n }\n </div>\n }\n\n <!-- Details Tab -->\n @if (activeTab === 'details') {\n <div class=\"details-tab\">\n <div class=\"details-card\">\n <h3><i class=\"fas fa-info-circle\"></i> Run Information</h3>\n <div class=\"details-grid\">\n <div class=\"detail-item\">\n <div class=\"detail-label\">Run ID</div>\n <div class=\"detail-value monospace\">{{ record.ID }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Test Suite</div>\n <div class=\"detail-value\">\n @if (testSuite) {\n <a href=\"javascript:void(0)\" (click)=\"openTestSuite()\">{{ testSuite.Name }}</a>\n }\n @if (!testSuite) {\n <span>Loading...</span>\n }\n </div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Status</div>\n <div class=\"detail-value\">\n <span class=\"status-inline\" [ngClass]=\"getStatusClass()\">{{ record.Status }}</span>\n </div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Run By</div>\n <div class=\"detail-value\">{{ record.RunByUser || 'N/A' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Started At</div>\n <div class=\"detail-value\">{{ record.StartedAt | date:'medium' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Completed At</div>\n <div class=\"detail-value\">{{ record.CompletedAt | date:'medium' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Environment</div>\n <div class=\"detail-value\">{{ record.Environment || 'N/A' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Trigger Type</div>\n <div class=\"detail-value\">{{ record.TriggerType || 'N/A' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Git Commit</div>\n <div class=\"detail-value monospace\">{{ record.GitCommit || 'N/A' }}</div>\n </div>\n <div class=\"detail-item\">\n <div class=\"detail-label\">Agent Version</div>\n <div class=\"detail-value\">{{ record.AgentVersion || 'N/A' }}</div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <!-- Analytics Tab -->\n @if (activeTab === 'analytics') {\n <div class=\"analytics-tab\">\n <!-- Loading State -->\n @if (loadingTestRuns) {\n <div class=\"analytics-loading\">\n <i class=\"fas fa-spinner fa-spin\"></i>\n <span>Loading test results...</span>\n </div>\n }\n <!-- Summary Statistics - Moved to top for better overview -->\n @if (!loadingTestRuns && testRuns.length > 0) {\n <div class=\"analytics-section\">\n <h3><i class=\"fas fa-chart-pie\"></i> Summary Statistics</h3>\n <div class=\"stats-grid\">\n <div class=\"stat-card\">\n <div class=\"stat-icon passed\"><i class=\"fas fa-check-circle\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">{{ getPassedCount() }}</div>\n <div class=\"stat-label\">Passed</div>\n <div class=\"stat-percent\">{{ getPassedPercent().toFixed(1) }}%</div>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-icon failed\"><i class=\"fas fa-times-circle\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">{{ getFailedCount() }}</div>\n <div class=\"stat-label\">Failed</div>\n <div class=\"stat-percent\">{{ getFailedPercent().toFixed(1) }}%</div>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-icon score\"><i class=\"fas fa-star\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">{{ (getAverageScore() * 100).toFixed(1) }}%</div>\n <div class=\"stat-label\">Avg Score</div>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-icon duration\"><i class=\"fas fa-clock\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">{{ getAverageDuration().toFixed(1) }}s</div>\n <div class=\"stat-label\">Avg Duration</div>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-icon cost\"><i class=\"fas fa-dollar-sign\"></i></div>\n <div class=\"stat-content\">\n <div class=\"stat-value\">${{ getTotalCost().toFixed(4) }}</div>\n <div class=\"stat-label\">Total Cost</div>\n </div>\n </div>\n </div>\n </div>\n }\n <!-- Test Results Table -->\n @if (!loadingTestRuns && testRuns.length > 0) {\n <div class=\"analytics-section\">\n <div class=\"analytics-header\">\n <h3><i class=\"fas fa-table\"></i> Test Results</h3>\n <div class=\"analytics-legend\">\n <span class=\"legend-item passed\"><i class=\"fas fa-check-circle\"></i> Passed</span>\n <span class=\"legend-item failed\"><i class=\"fas fa-times-circle\"></i> Failed</span>\n <span class=\"legend-item error\"><i class=\"fas fa-exclamation-circle\"></i> Error</span>\n <span class=\"legend-item skipped\"><i class=\"fas fa-forward\"></i> Skipped</span>\n </div>\n </div>\n <!-- Results Table -->\n <div class=\"results-table-wrapper\">\n <table class=\"results-table\">\n <thead>\n <tr>\n <th class=\"seq-col\">#</th>\n <th class=\"name-col\">Test Name</th>\n @if (evalPreferences.showExecution) {\n <th class=\"status-col\">Status</th>\n }\n @if (evalPreferences.showAuto) {\n <th class=\"score-col\">Auto Score</th>\n }\n @if (evalPreferences.showHuman) {\n <th class=\"feedback-col\">Human Score</th>\n }\n <th class=\"duration-col\">Duration</th>\n <th class=\"cost-col\">Cost</th>\n </tr>\n </thead>\n <tbody>\n @for (run of testRuns; track run; let i = $index) {\n <tr\n class=\"result-row\"\n [class.row-passed]=\"run.Status === 'Passed'\"\n [class.row-failed]=\"run.Status === 'Failed'\"\n [class.row-error]=\"run.Status === 'Error'\"\n [class.row-skipped]=\"run.Status === 'Skipped'\"\n (click)=\"openTestRun(run.ID)\">\n <td class=\"seq-col\">{{ i + 1 }}</td>\n <td class=\"name-col\">\n <div class=\"test-name-wrapper\">\n <span class=\"test-name\">{{ run.Test || 'Unknown Test' }}</span>\n @if (getRunTags(run).length > 0) {\n <div class=\"test-tags\">\n @for (tag of getRunTags(run).slice(0, 2); track tag) {\n <span class=\"tag-mini\">{{ tag }}</span>\n }\n </div>\n }\n </div>\n </td>\n @if (evalPreferences.showExecution) {\n <td class=\"status-col\">\n <span class=\"status-badge\" [ngClass]=\"'status-' + run.Status.toLowerCase()\">\n <i class=\"fas\"\n [class.fa-check-circle]=\"run.Status === 'Passed'\"\n [class.fa-times-circle]=\"run.Status === 'Failed'\"\n [class.fa-exclamation-circle]=\"run.Status === 'Error'\"\n [class.fa-forward]=\"run.Status === 'Skipped'\"\n [class.fa-clock]=\"run.Status === 'Pending'\"\n [class.fa-spinner]=\"run.Status === 'Running'\"\n [class.fa-spin]=\"run.Status === 'Running'\"></i>\n {{ run.Status }}\n </span>\n </td>\n }\n @if (evalPreferences.showAuto) {\n <td class=\"score-col\">\n @if (run.Score != null) {\n <div class=\"score-display\">\n <div class=\"score-bar-mini\">\n <div class=\"score-fill\"\n [style.width.%]=\"run.Score * 100\"\n [class.high]=\"run.Score >= 0.8\"\n [class.medium]=\"run.Score >= 0.5 && run.Score < 0.8\"\n [class.low]=\"run.Score < 0.5\"></div>\n </div>\n <span class=\"score-text\">{{ (run.Score * 100).toFixed(0) }}%</span>\n </div>\n }\n @if (run.Score == null) {\n <span class=\"na-value\">\u2014</span>\n }\n </td>\n }\n @if (evalPreferences.showHuman) {\n <td class=\"feedback-col\">\n @if (hasFeedback(run.ID)) {\n <div class=\"feedback-display\">\n <span class=\"feedback-rating\" [class.low]=\"getFeedbackRating(run.ID) <= 3\" [class.mid]=\"getFeedbackRating(run.ID) >= 4 && getFeedbackRating(run.ID) <= 6\" [class.high]=\"getFeedbackRating(run.ID) >= 7\">\n {{ getFeedbackRating(run.ID) }}/10\n </span>\n @if (getHumanIsCorrect(run.ID) !== null) {\n <span class=\"feedback-correctness\">\n <i class=\"fas\" [class.fa-check]=\"getHumanIsCorrect(run.ID) === true\" [class.fa-times]=\"getHumanIsCorrect(run.ID) === false\" [class.correct]=\"getHumanIsCorrect(run.ID) === true\" [class.incorrect]=\"getHumanIsCorrect(run.ID) === false\"></i>\n </span>\n }\n </div>\n }\n @if (!hasFeedback(run.ID)) {\n <span class=\"na-value needs-review\">\n <i class=\"fas fa-user-clock\"></i>\n </span>\n }\n </td>\n }\n <td class=\"duration-col\">\n @if (run.DurationSeconds) {\n <span>{{ run.DurationSeconds.toFixed(1) }}s</span>\n }\n @if (!run.DurationSeconds) {\n <span class=\"na-value\">\u2014</span>\n }\n </td>\n <td class=\"cost-col\">\n @if (run.CostUSD) {\n <span>${{ run.CostUSD.toFixed(4) }}</span>\n }\n @if (!run.CostUSD) {\n <span class=\"na-value\">\u2014</span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n </div>\n }\n <!-- Empty State -->\n @if (!loadingTestRuns && testRunsLoaded && testRuns.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fas fa-chart-bar\"></i>\n </div>\n <h4>No Test Results Yet</h4>\n <p>Test runs will appear here once the suite execution completes.</p>\n </div>\n }\n </div>\n }\n\n <!-- Execution Tab -->\n @if (activeTab === 'execution') {\n <div class=\"execution-tab\">\n <mj-execution-context\n [machineName]=\"record.MachineName\"\n [machineId]=\"record.MachineID\"\n [runByUserName]=\"record.RunByUserName\"\n [runByUserEmail]=\"record.RunByUserEmail\"\n [runContextDetailsJson]=\"record.RunContextDetails\">\n </mj-execution-context>\n </div>\n }\n </div>\n\n <!-- Keyboard Shortcuts Toggle Button -->\n <button class=\"shortcuts-toggle\" (click)=\"toggleShortcuts()\" [title]=\"showShortcuts ? 'Hide keyboard shortcuts' : 'Show keyboard shortcuts'\">\n <i class=\"fas fa-keyboard\"></i>\n </button>\n\n <!-- Keyboard Shortcuts Hint (Desktop Only) -->\n @if (showShortcuts) {\n <div class=\"keyboard-shortcuts\">\n <div class=\"shortcuts-header\">\n <i class=\"fas fa-keyboard\"></i>\n Shortcuts\n <button class=\"shortcuts-close\" (click)=\"toggleShortcuts()\" title=\"Hide shortcuts\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n <div class=\"shortcut-list\">\n <div class=\"shortcut-item\">\n <span>Refresh</span>\n <span class=\"shortcut-keys\"><kbd>Cmd</kbd><kbd>R</kbd></span>\n </div>\n <div class=\"shortcut-item\">\n <span>Re-run Suite</span>\n <span class=\"shortcut-keys\"><kbd>Cmd</kbd><kbd>Shift</kbd><kbd>R</kbd></span>\n </div>\n <div class=\"shortcut-item\">\n <span>Switch Tabs</span>\n <span class=\"shortcut-keys\"><kbd>1</kbd>-<kbd>5</kbd></span>\n </div>\n </div>\n </div>\n }\n</div>\n", styles: ["/* ===================================\n Test Suite Run Form - Premium UX\n World-class responsive design\n =================================== */\n\n/* CSS Custom Properties */\n:host {\n --suite-run-primary: #3b82f6;\n --suite-run-primary-light: #eff6ff;\n --suite-run-success: #10b981;\n --suite-run-success-light: #ecfdf5;\n --suite-run-danger: #ef4444;\n --suite-run-danger-light: #fef2f2;\n --suite-run-warning: #f59e0b;\n --suite-run-warning-light: #fffbeb;\n --suite-run-info: #8b5cf6;\n --suite-run-info-light: #f5f3ff;\n --suite-run-neutral: #6b7280;\n --suite-run-neutral-light: #f9fafb;\n --suite-run-bg: #f8fafc;\n --suite-run-card: #ffffff;\n --suite-run-border: #e2e8f0;\n --suite-run-text: #1e293b;\n --suite-run-text-secondary: #64748b;\n --suite-run-radius: 12px;\n --suite-run-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);\n --suite-run-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n --suite-run-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n/* Base Container */\n.test-suite-run-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--suite-run-bg);\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n}\n\n/* ===================================\n Header Section\n =================================== */\n.suite-run-header {\n background: var(--suite-run-card);\n border-bottom: 1px solid var(--suite-run-border);\n padding: 20px 24px;\n}\n\n/* Breadcrumb */\n.breadcrumb {\n margin-bottom: 16px;\n}\n\n.breadcrumb ol {\n display: flex;\n align-items: center;\n gap: 4px;\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: 13px;\n}\n\n.breadcrumb li {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.breadcrumb a {\n color: var(--suite-run-primary);\n text-decoration: none;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 8px;\n border-radius: 6px;\n transition: background 0.15s;\n}\n\n.breadcrumb a:hover {\n background: rgba(59, 130, 246, 0.1);\n text-decoration: none;\n}\n\n.breadcrumb .separator {\n font-size: 10px;\n color: var(--suite-run-text-secondary);\n margin: 0 4px;\n}\n\n.breadcrumb .current {\n color: var(--suite-run-text-secondary);\n font-weight: 500;\n}\n\n.breadcrumb-text {\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Header Content */\n.header-content {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.header-left {\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n\n.suite-run-icon {\n width: 56px;\n height: 56px;\n border-radius: var(--suite-run-radius);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 24px;\n flex-shrink: 0;\n box-shadow: var(--suite-run-shadow);\n}\n\n.suite-run-info h1 {\n margin: 0 0 8px 0;\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n letter-spacing: -0.025em;\n}\n\n.suite-run-meta {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.status-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n}\n\n.status-badge.status-completed {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.status-badge.status-failed {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.status-badge.status-running {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.status-badge.status-pending {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.status-badge.status-cancelled {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.meta-tag {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n background: var(--suite-run-neutral-light);\n border-radius: 6px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n.meta-tag i {\n font-size: 10px;\n opacity: 0.7;\n}\n\n.header-actions {\n display: flex;\n gap: 8px;\n flex-shrink: 0;\n}\n\n/* ===================================\n Metrics Bar\n =================================== */\n.metrics-bar {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 20px;\n}\n\n.metric-card {\n display: flex;\n align-items: center;\n gap: 12px;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n border: 1px solid var(--suite-run-border);\n border-radius: 10px;\n padding: 14px;\n transition: var(--suite-run-transition);\n}\n\n.metric-card:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.metric-icon {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-card);\n border-radius: 10px;\n color: var(--suite-run-primary);\n font-size: 16px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.metric-content {\n flex: 1;\n min-width: 0;\n}\n\n.metric-value {\n font-size: 18px;\n font-weight: 700;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.metric-label {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n margin-top: 2px;\n}\n\n/* ===================================\n Results Summary\n =================================== */\n.results-summary {\n display: flex;\n gap: 12px;\n padding-top: 20px;\n border-top: 1px solid var(--suite-run-border);\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.result-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: 10px;\n flex-shrink: 0;\n transition: var(--suite-run-transition);\n}\n\n.result-item:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.result-icon {\n font-size: 24px;\n}\n\n.result-content {\n display: flex;\n flex-direction: column;\n}\n\n.result-count {\n font-size: 20px;\n font-weight: 700;\n line-height: 1.2;\n}\n\n.result-label {\n font-size: 11px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.result-item.passed .result-icon,\n.result-item.passed .result-count {\n color: var(--suite-run-success);\n}\n\n.result-item.failed .result-icon,\n.result-item.failed .result-count {\n color: var(--suite-run-danger);\n}\n\n.result-item.error .result-icon,\n.result-item.error .result-count {\n color: var(--suite-run-warning);\n}\n\n.result-item.skipped .result-icon,\n.result-item.skipped .result-count {\n color: var(--suite-run-neutral);\n}\n\n.result-item.total .result-icon,\n.result-item.total .result-count {\n color: var(--suite-run-primary);\n}\n\n/* ===================================\n Tabs\n =================================== */\n.tabs-container {\n background: var(--suite-run-card);\n border-bottom: 1px solid var(--suite-run-border);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.tabs {\n display: flex;\n padding: 0 24px;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n}\n\n.tabs::-webkit-scrollbar {\n display: none;\n}\n\n.tab {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 16px 20px;\n border: none;\n background: transparent;\n border-bottom: 3px solid transparent;\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: var(--suite-run-transition);\n white-space: nowrap;\n position: relative;\n}\n\n.tab:hover {\n color: var(--suite-run-primary);\n background: var(--suite-run-primary-light);\n}\n\n.tab.active {\n color: var(--suite-run-primary);\n border-bottom-color: var(--suite-run-primary);\n font-weight: 600;\n}\n\n.tab i {\n font-size: 15px;\n}\n\n.tab-badge {\n background: var(--suite-run-border);\n color: var(--suite-run-text-secondary);\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.tab.active .tab-badge {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.tab-shortcut {\n display: none;\n width: 18px;\n height: 18px;\n background: var(--suite-run-neutral-light);\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n align-items: center;\n justify-content: center;\n margin-left: 4px;\n}\n\n/* ===================================\n Tab Content\n =================================== */\n.tab-content {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n}\n\n/* ===================================\n Overview Tab\n =================================== */\n.overview-tab {\n display: flex;\n flex-direction: column;\n gap: 20px;\n max-width: 800px;\n margin: 0 auto;\n width: 100%;\n}\n\n.result-hero {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 48px 32px;\n text-align: center;\n border: 2px solid var(--suite-run-border);\n transition: var(--suite-run-transition);\n}\n\n.result-hero.passed {\n background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);\n border-color: var(--suite-run-success);\n}\n\n.result-hero.failed {\n background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);\n border-color: var(--suite-run-danger);\n}\n\n.result-hero.running {\n background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);\n border-color: var(--suite-run-primary);\n}\n\n.result-hero.pending {\n background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);\n border-color: var(--suite-run-info);\n}\n\n.result-hero-icon {\n font-size: 72px;\n margin-bottom: 20px;\n}\n\n.result-hero.passed .result-hero-icon {\n color: var(--suite-run-success);\n}\n\n.result-hero.failed .result-hero-icon {\n color: var(--suite-run-danger);\n}\n\n.result-hero.running .result-hero-icon {\n color: var(--suite-run-primary);\n}\n\n.result-hero.pending .result-hero-icon {\n color: var(--suite-run-info);\n}\n\n.result-hero-text h2 {\n margin: 0 0 16px 0;\n font-size: 32px;\n font-weight: 800;\n color: var(--suite-run-text);\n letter-spacing: -0.025em;\n}\n\n.result-hero-stats {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 32px;\n}\n\n.stat-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.stat-value {\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.stat-label {\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat-divider {\n width: 1px;\n height: 40px;\n background: var(--suite-run-border);\n}\n\n/* Progress Section */\n.progress-section {\n background: var(--suite-run-primary-light);\n border: 1px solid rgba(59, 130, 246, 0.2);\n border-radius: var(--suite-run-radius);\n padding: 20px;\n text-align: center;\n}\n\n.progress-info {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n font-size: 16px;\n font-weight: 500;\n color: var(--suite-run-primary);\n margin-bottom: 8px;\n}\n\n.progress-info i {\n font-size: 20px;\n}\n\n.auto-refresh-notice {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n/* ===================================\n Test Runs Tab\n =================================== */\n.runs-tab {\n max-width: 900px;\n margin: 0 auto;\n width: 100%;\n}\n\n/* Loading Skeleton */\n.loading-state {\n animation: fadeIn 0.3s ease;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.skeleton-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.skeleton-card {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n border: 1px solid var(--suite-run-border);\n}\n\n.skeleton-sequence {\n width: 32px;\n height: 32px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: shimmer 1.5s infinite;\n border-radius: 50%;\n}\n\n.skeleton-icon {\n width: 40px;\n height: 40px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: shimmer 1.5s infinite;\n border-radius: 8px;\n}\n\n.skeleton-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.skeleton-line {\n height: 14px;\n background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n background-size: 200% 100%;\n animation: shimmer 1.5s infinite;\n border-radius: 4px;\n}\n\n.skeleton-line.wide {\n width: 70%;\n}\n\n.skeleton-line.narrow {\n width: 40%;\n}\n\n@keyframes shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n\n/* Test Runs List */\n.test-runs-list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.test-run-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item:hover {\n background: var(--suite-run-primary-light);\n border-color: #93c5fd;\n transform: translateX(4px);\n}\n\n.test-run-item:active {\n transform: translateX(2px);\n}\n\n.run-sequence {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n font-size: 13px;\n font-weight: 700;\n color: var(--suite-run-text-secondary);\n flex-shrink: 0;\n}\n\n.run-icon {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 10px;\n color: white;\n font-size: 16px;\n flex-shrink: 0;\n box-shadow: var(--suite-run-shadow);\n}\n\n.run-content {\n flex: 1;\n min-width: 0;\n}\n\n.run-name {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.run-meta {\n display: flex;\n gap: 16px;\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n flex-wrap: wrap;\n}\n\n.run-status {\n font-weight: 700;\n}\n\n.run-score,\n.run-duration {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.run-score i,\n.run-duration i {\n font-size: 10px;\n opacity: 0.7;\n}\n\n.test-run-item > i {\n color: #cbd5e1;\n font-size: 14px;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item:hover > i {\n color: var(--suite-run-primary);\n transform: translateX(4px);\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 background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n border: 2px dashed var(--suite-run-border);\n}\n\n.empty-icon {\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n margin-bottom: 20px;\n}\n\n.empty-icon i {\n font-size: 32px;\n color: #cbd5e1;\n}\n\n.empty-state h4 {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.empty-state p {\n margin: 0;\n font-size: 14px;\n color: var(--suite-run-text-secondary);\n max-width: 300px;\n}\n\n/* ===================================\n Details Tab\n =================================== */\n.details-tab {\n max-width: 900px;\n margin: 0 auto;\n width: 100%;\n}\n\n.details-card {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 24px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.details-card h3 {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 20px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--suite-run-text);\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.details-card h3 i {\n color: var(--suite-run-primary);\n}\n\n.details-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 20px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n}\n\n.detail-value {\n font-size: 14px;\n color: var(--suite-run-text);\n word-wrap: break-word;\n}\n\n.detail-value.monospace {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 12px;\n background: var(--suite-run-neutral-light);\n padding: 6px 10px;\n border-radius: 6px;\n}\n\n.detail-value a {\n color: var(--suite-run-primary);\n text-decoration: none;\n font-weight: 500;\n transition: var(--suite-run-transition);\n}\n\n.detail-value a:hover {\n color: #2563eb;\n text-decoration: underline;\n}\n\n.status-inline {\n display: inline-flex;\n align-items: center;\n padding: 4px 10px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-inline.status-completed {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.status-inline.status-failed {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.status-inline.status-running {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.status-inline.status-pending {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.status-inline.status-cancelled {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n/* ===================================\n Keyboard Shortcuts\n =================================== */\n/* Toggle button - visible when shortcuts are hidden */\n.shortcuts-toggle {\n position: fixed;\n bottom: 20px;\n right: 20px;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n box-shadow: var(--suite-run-shadow);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n z-index: 99;\n transition: var(--suite-run-transition);\n opacity: 0.7;\n}\n\n.shortcuts-toggle:hover {\n opacity: 1;\n transform: scale(1.1);\n color: var(--suite-run-primary);\n border-color: var(--suite-run-primary);\n}\n\n.keyboard-shortcuts {\n position: fixed;\n bottom: 20px;\n right: 20px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n padding: 12px 16px;\n box-shadow: var(--suite-run-shadow-lg);\n font-size: 12px;\n z-index: 100;\n opacity: 0.9;\n transition: var(--suite-run-transition);\n}\n\n.keyboard-shortcuts:hover {\n opacity: 1;\n}\n\n.shortcuts-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n color: var(--suite-run-text);\n margin-bottom: 10px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.shortcuts-header i {\n color: var(--suite-run-primary);\n}\n\n.shortcuts-close {\n margin-left: auto;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--suite-run-text-muted);\n font-size: 12px;\n padding: 2px 4px;\n border-radius: 4px;\n transition: var(--suite-run-transition);\n}\n\n.shortcuts-close:hover {\n color: var(--suite-run-text);\n background: var(--suite-run-border);\n}\n\n.shortcut-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.shortcut-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n}\n\n.shortcut-item span:first-child {\n color: var(--suite-run-text-secondary);\n}\n\n.shortcut-keys {\n display: flex;\n gap: 4px;\n}\n\nkbd {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n font-family: inherit;\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text);\n box-shadow: 0 1px 0 #94a3b8;\n}\n\n/* ===================================\n Responsive Design - Tablet\n =================================== */\n@media (max-width: 1024px) {\n .suite-run-header {\n padding: 16px 20px;\n }\n\n .metrics-bar {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .result-hero-stats {\n flex-direction: column;\n gap: 16px;\n }\n\n .stat-divider {\n display: none;\n }\n\n .details-grid {\n grid-template-columns: 1fr;\n }\n\n .tab-shortcut {\n display: none;\n }\n}\n\n/* ===================================\n Responsive Design - Mobile\n =================================== */\n@media (max-width: 768px) {\n .suite-run-header {\n padding: 16px;\n }\n\n .header-content {\n flex-direction: column;\n gap: 16px;\n }\n\n .header-left {\n width: 100%;\n }\n\n .suite-run-icon {\n width: 48px;\n height: 48px;\n font-size: 20px;\n }\n\n .suite-run-info h1 {\n font-size: 20px;\n }\n\n .header-actions {\n width: 100%;\n justify-content: stretch;\n }\n\n .header-actions button {\n flex: 1;\n }\n\n .metrics-bar {\n grid-template-columns: repeat(2, 1fr);\n gap: 8px;\n }\n\n .metric-card {\n padding: 12px;\n flex-direction: column;\n text-align: center;\n gap: 8px;\n }\n\n .metric-icon {\n width: 36px;\n height: 36px;\n }\n\n .metric-value {\n font-size: 16px;\n }\n\n .results-summary {\n gap: 8px;\n padding-top: 16px;\n flex-wrap: nowrap;\n overflow-x: auto;\n padding-bottom: 8px;\n margin-bottom: -8px;\n }\n\n .result-item {\n padding: 10px 12px;\n min-width: 90px;\n }\n\n .result-icon {\n font-size: 20px;\n }\n\n .result-count {\n font-size: 18px;\n }\n\n .tabs {\n padding: 0 16px;\n }\n\n .tab {\n padding: 14px 16px;\n font-size: 13px;\n }\n\n .tab-content {\n padding: 16px;\n }\n\n .result-hero {\n padding: 32px 20px;\n }\n\n .result-hero-icon {\n font-size: 56px;\n }\n\n .result-hero-text h2 {\n font-size: 24px;\n }\n\n .stat-value {\n font-size: 20px;\n }\n\n .test-run-item {\n padding: 14px;\n }\n\n .run-sequence {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n\n .run-icon {\n width: 36px;\n height: 36px;\n font-size: 14px;\n }\n\n .run-name {\n font-size: 13px;\n }\n\n .run-meta {\n gap: 10px;\n font-size: 11px;\n }\n\n .empty-state {\n padding: 40px 16px;\n }\n\n .empty-icon {\n width: 64px;\n height: 64px;\n }\n\n .empty-icon i {\n font-size: 28px;\n }\n\n .details-card {\n padding: 16px;\n }\n\n .details-grid {\n gap: 16px;\n }\n\n .keyboard-shortcuts, .shortcuts-toggle {\n display: none;\n }\n}\n\n/* ===================================\n Responsive Design - Small Mobile\n =================================== */\n@media (max-width: 480px) {\n .suite-run-header {\n padding: 12px;\n }\n\n .breadcrumb {\n font-size: 12px;\n margin-bottom: 12px;\n }\n\n .suite-run-icon {\n width: 44px;\n height: 44px;\n font-size: 18px;\n }\n\n .suite-run-info h1 {\n font-size: 18px;\n }\n\n .suite-run-meta {\n gap: 8px;\n }\n\n .status-badge {\n padding: 4px 10px;\n font-size: 11px;\n }\n\n .meta-tag {\n font-size: 11px;\n padding: 3px 8px;\n }\n\n .metrics-bar {\n grid-template-columns: 1fr 1fr;\n }\n\n .metric-card {\n padding: 10px;\n gap: 6px;\n }\n\n .metric-icon {\n width: 32px;\n height: 32px;\n font-size: 14px;\n }\n\n .metric-value {\n font-size: 14px;\n }\n\n .metric-label {\n font-size: 9px;\n }\n\n .result-item {\n padding: 8px 10px;\n min-width: 80px;\n gap: 8px;\n }\n\n .result-icon {\n font-size: 18px;\n }\n\n .result-count {\n font-size: 16px;\n }\n\n .result-label {\n font-size: 9px;\n }\n\n .tabs {\n padding: 0 12px;\n }\n\n .tab {\n padding: 12px 14px;\n gap: 6px;\n }\n\n .tab i {\n font-size: 14px;\n }\n\n .tab-content {\n padding: 12px;\n }\n\n .result-hero {\n padding: 24px 16px;\n }\n\n .result-hero-icon {\n font-size: 48px;\n margin-bottom: 16px;\n }\n\n .result-hero-text h2 {\n font-size: 20px;\n margin-bottom: 12px;\n }\n\n .stat-value {\n font-size: 18px;\n }\n\n .stat-label {\n font-size: 10px;\n }\n\n .progress-section {\n padding: 16px;\n }\n\n .progress-info {\n font-size: 14px;\n }\n\n .test-run-item {\n padding: 12px;\n gap: 10px;\n }\n\n .run-sequence {\n width: 24px;\n height: 24px;\n font-size: 11px;\n }\n\n .run-icon {\n width: 32px;\n height: 32px;\n font-size: 12px;\n border-radius: 8px;\n }\n\n .run-name {\n font-size: 12px;\n margin-bottom: 3px;\n }\n\n .run-meta {\n gap: 8px;\n font-size: 10px;\n }\n\n .empty-state {\n padding: 32px 12px;\n }\n\n .empty-state h4 {\n font-size: 16px;\n }\n\n .empty-state p {\n font-size: 13px;\n }\n\n .details-card {\n padding: 14px;\n }\n\n .details-card h3 {\n font-size: 14px;\n margin-bottom: 16px;\n }\n\n .detail-label {\n font-size: 10px;\n }\n\n .detail-value {\n font-size: 13px;\n }\n}\n\n/* ===================================\n Touch Device Optimizations\n =================================== */\n@media (hover: none) and (pointer: coarse) {\n .test-run-item {\n min-height: 64px;\n }\n\n .test-run-item:hover {\n transform: none;\n background: var(--suite-run-card);\n border-color: var(--suite-run-border);\n }\n\n .test-run-item:active {\n background: var(--suite-run-primary-light);\n border-color: #93c5fd;\n }\n\n .tab:hover {\n background: transparent;\n color: var(--suite-run-text-secondary);\n }\n\n .tab:active {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n }\n\n .metric-card:hover {\n transform: none;\n box-shadow: none;\n }\n\n .result-item:hover {\n transform: none;\n box-shadow: none;\n }\n\n .keyboard-shortcuts {\n display: none;\n }\n}\n\n/* ===================================\n Print Styles\n =================================== */\n@media print {\n .suite-run-header {\n background: white;\n box-shadow: none;\n border-bottom: 2px solid #000;\n }\n\n .tabs-container,\n .header-actions,\n .keyboard-shortcuts {\n display: none;\n }\n\n .tab-content {\n padding: 20px 0;\n }\n\n .result-hero,\n .test-run-item,\n .details-card {\n box-shadow: none;\n border: 1px solid #ccc;\n }\n}\n\n/* ===================================\n Dark Mode Support (Future)\n =================================== */\n@media (prefers-color-scheme: dark) {\n /* Ready for dark mode implementation */\n}\n\n/* ===================================\n Tags Bar - Sleek Inline Display\n =================================== */\n.tags-bar {\n margin-top: 16px;\n padding: 8px 14px;\n background: linear-gradient(135deg, rgba(59, 130, 246, 0.04) 0%, rgba(59, 130, 246, 0.08) 100%);\n border: 1px solid rgba(59, 130, 246, 0.15);\n border-radius: 8px;\n max-width: 600px;\n}\n\n.tags-bar-content {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.tags-bar-label {\n color: var(--suite-run-text-secondary);\n font-size: 14px;\n}\n\n.tags-bar-label i {\n opacity: 0.6;\n}\n\n.tags-bar-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n flex: 1;\n}\n\n.tag-inline {\n display: inline-flex;\n align-items: center;\n padding: 4px 10px;\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n letter-spacing: 0.01em;\n}\n\n.tags-bar-empty {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n opacity: 0.7;\n flex: 1;\n}\n\n.tags-bar-edit {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n background: transparent;\n border: 1px dashed var(--suite-run-border);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.tags-bar-edit:hover {\n border-color: var(--suite-run-primary);\n color: var(--suite-run-primary);\n background: var(--suite-run-primary-light);\n}\n\n.tags-bar-edit i {\n font-size: 10px;\n}\n\n/* ===================================\n Tags Editor Panel - Expanded Edit Mode\n =================================== */\n.tags-editor-panel {\n margin-top: 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-primary);\n border-radius: 10px;\n overflow: hidden;\n box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);\n max-width: 600px;\n}\n\n.tags-editor-header {\n display: flex;\n align-items: center;\n padding: 12px 16px;\n background: var(--suite-run-primary-light);\n border-bottom: 1px solid rgba(59, 130, 246, 0.2);\n}\n\n.tags-editor-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--suite-run-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.tags-editor-body {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tags-editor-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n min-height: 32px;\n}\n\n.tag-editable {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 8px 5px 12px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-primary);\n color: var(--suite-run-primary);\n border-radius: 14px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.tag-remove-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n background: transparent;\n border: none;\n color: var(--suite-run-primary);\n cursor: pointer;\n border-radius: 50%;\n font-size: 9px;\n opacity: 0.6;\n transition: var(--suite-run-transition);\n}\n\n.tag-remove-btn:hover {\n opacity: 1;\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.tags-empty-hint {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n font-style: italic;\n padding: 4px 0;\n}\n\n.tags-editor-input {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.tag-text-input {\n flex: 1;\n padding: 10px 14px;\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n font-size: 13px;\n background: var(--suite-run-neutral-light);\n}\n\n.tag-text-input:focus {\n outline: none;\n border-color: var(--suite-run-primary);\n background: var(--suite-run-card);\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.tag-text-input::placeholder {\n color: var(--suite-run-text-secondary);\n opacity: 0.6;\n}\n\n.tags-editor-footer {\n display: flex;\n justify-content: flex-start;\n gap: 8px;\n padding: 12px 16px;\n background: var(--suite-run-neutral-light);\n border-top: 1px solid var(--suite-run-border);\n}\n\n/* ===================================\n Runs Toolbar\n =================================== */\n.runs-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding: 12px 16px;\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.run-filters {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.filter-btn {\n padding: 6px 14px;\n border: 1px solid var(--suite-run-border);\n background: var(--suite-run-card);\n border-radius: 20px;\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n cursor: pointer;\n transition: var(--suite-run-transition);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.filter-btn:hover {\n border-color: var(--suite-run-primary);\n color: var(--suite-run-primary);\n}\n\n.filter-btn.active {\n background: var(--suite-run-primary);\n border-color: var(--suite-run-primary);\n color: white;\n}\n\n.filter-btn.passed:hover,\n.filter-btn.passed.active {\n background: var(--suite-run-success);\n border-color: var(--suite-run-success);\n color: white;\n}\n\n.filter-btn.failed:hover,\n.filter-btn.failed.active {\n background: var(--suite-run-danger);\n border-color: var(--suite-run-danger);\n color: white;\n}\n\n.filter-btn.error:hover,\n.filter-btn.error.active {\n background: var(--suite-run-warning);\n border-color: var(--suite-run-warning);\n color: white;\n}\n\n.runs-actions {\n display: flex;\n gap: 8px;\n}\n\n/* ===================================\n Test Run Card (Expandable)\n =================================== */\n.test-run-card {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n transition: var(--suite-run-transition);\n margin-bottom: 10px;\n}\n\n.test-run-card:hover {\n box-shadow: var(--suite-run-shadow);\n}\n\n.test-run-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.test-run-item:hover {\n background: var(--suite-run-primary-light);\n}\n\n.run-header-row {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 4px;\n}\n\n.run-feedback-indicator {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.run-feedback-indicator i {\n font-size: 10px;\n}\n\n.run-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n}\n\n.tag-mini {\n display: inline-flex;\n padding: 2px 8px;\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-text-secondary);\n border-radius: 10px;\n font-size: 10px;\n font-weight: 500;\n}\n\n.tag-chip {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);\n border: 1px solid #bfdbfe;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: #1d4ed8;\n}\n\n.run-expand {\n color: var(--suite-run-text-secondary);\n transition: var(--suite-run-transition);\n}\n\n.test-run-item:hover .run-expand {\n color: var(--suite-run-primary);\n}\n\n.run-cost {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.run-cost i {\n font-size: 10px;\n opacity: 0.7;\n}\n\n/* ===================================\n Inline Feedback\n =================================== */\n.inline-feedback {\n padding: 0 16px 16px;\n animation: slideDown 0.2s ease-out;\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.feedback-divider {\n height: 1px;\n background: var(--suite-run-border);\n margin-bottom: 16px;\n}\n\n.feedback-section {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.feedback-label {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.inline-rating {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.rating-numbers {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.rating-btn {\n width: 36px;\n height: 36px;\n border: 2px solid var(--suite-run-border);\n border-radius: 8px;\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-text-secondary);\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.rating-btn:hover,\n.rating-btn.hover {\n transform: scale(1.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.rating-btn.low:hover,\n.rating-btn.low.hover {\n border-color: var(--suite-run-danger);\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.rating-btn.mid:hover,\n.rating-btn.mid.hover {\n border-color: var(--suite-run-warning);\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.rating-btn.high:hover,\n.rating-btn.high.hover {\n border-color: var(--suite-run-success);\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.rating-btn.selected {\n transform: scale(1.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.rating-btn.selected.low {\n border-color: var(--suite-run-danger);\n background: var(--suite-run-danger);\n color: white;\n}\n\n.rating-btn.selected.mid {\n border-color: var(--suite-run-warning);\n background: var(--suite-run-warning);\n color: white;\n}\n\n.rating-btn.selected.high {\n border-color: var(--suite-run-success);\n background: var(--suite-run-success);\n color: white;\n}\n\n.rating-info {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 14px;\n background: var(--suite-run-neutral-light);\n border-radius: 8px;\n}\n\n.rating-value {\n font-size: 18px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.rating-label-text {\n font-size: 13px;\n color: var(--suite-run-text-secondary);\n}\n\n.correctness-row {\n display: flex;\n align-items: center;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.correctness-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--suite-run-text);\n}\n\n.correctness-options {\n display: flex;\n gap: 16px;\n}\n\n.radio-opt {\n display: flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n font-size: 13px;\n color: var(--suite-run-text-secondary);\n}\n\n.radio-opt input[type=\"radio\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n}\n\n.comments-row {\n width: 100%;\n}\n\n.feedback-textarea {\n width: 100%;\n padding: 12px;\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n font-size: 14px;\n font-family: inherit;\n resize: vertical;\n min-height: 80px;\n}\n\n.feedback-textarea:focus {\n outline: none;\n border-color: var(--suite-run-primary);\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.feedback-actions {\n display: flex;\n justify-content: space-between;\n gap: 12px;\n padding-top: 8px;\n}\n\n/* ===================================\n Mobile Responsive Updates\n =================================== */\n@media (max-width: 768px) {\n .tags-bar {\n padding: 8px 12px;\n }\n\n .tags-bar-content {\n gap: 8px;\n }\n\n .tag-inline {\n padding: 3px 8px;\n font-size: 10px;\n }\n\n .tags-editor-panel {\n margin-top: 12px;\n }\n\n .tags-editor-body {\n padding: 12px;\n }\n\n .tags-editor-footer {\n padding: 10px 12px;\n }\n\n .runs-toolbar {\n flex-direction: column;\n align-items: stretch;\n }\n\n .run-filters {\n justify-content: center;\n }\n\n .runs-actions {\n justify-content: center;\n }\n\n .rating-numbers {\n justify-content: center;\n }\n\n .rating-btn {\n width: 32px;\n height: 32px;\n font-size: 12px;\n }\n\n .correctness-row {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .feedback-actions {\n flex-direction: column;\n }\n\n .feedback-actions button {\n width: 100%;\n }\n}\n\n/* ===================================\n Animations\n =================================== */\n@keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n}\n\n.result-hero.running .result-hero-icon {\n animation: pulse 2s ease-in-out infinite;\n}\n\n/* Tab content fade in */\n.overview-tab,\n.runs-tab,\n.details-tab,\n.analytics-tab {\n animation: fadeIn 0.3s ease;\n}\n\n/* ===================================\n Analytics Tab\n =================================== */\n.analytics-tab {\n max-width: 1200px;\n margin: 0 auto;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.analytics-section {\n background: var(--suite-run-card);\n border-radius: var(--suite-run-radius);\n padding: 24px;\n box-shadow: var(--suite-run-shadow);\n}\n\n.analytics-section h3 {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 20px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--suite-run-text);\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.analytics-section h3 i {\n color: var(--suite-run-primary);\n}\n\n.analytics-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 16px;\n margin-bottom: 20px;\n padding-bottom: 12px;\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.analytics-header h3 {\n margin: 0;\n padding: 0;\n border: none;\n}\n\n.analytics-legend {\n display: flex;\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.legend-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.legend-item.passed {\n color: var(--suite-run-success);\n}\n\n.legend-item.failed {\n color: var(--suite-run-danger);\n}\n\n.legend-item.error {\n color: var(--suite-run-warning);\n}\n\n.legend-item.skipped {\n color: var(--suite-run-neutral);\n}\n\n/* Performance Matrix */\n.performance-matrix {\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.matrix-row {\n display: grid;\n grid-template-columns: 2fr 120px 150px 100px 100px;\n border-bottom: 1px solid var(--suite-run-border);\n transition: var(--suite-run-transition);\n cursor: pointer;\n}\n\n.matrix-row:last-child {\n border-bottom: none;\n}\n\n.matrix-row:hover:not(.matrix-header-row) {\n background: var(--suite-run-primary-light);\n}\n\n.matrix-row.passed {\n border-left: 4px solid var(--suite-run-success);\n}\n\n.matrix-row.failed {\n border-left: 4px solid var(--suite-run-danger);\n}\n\n.matrix-row.error {\n border-left: 4px solid var(--suite-run-warning);\n}\n\n.matrix-row.skipped {\n border-left: 4px solid var(--suite-run-neutral);\n}\n\n.matrix-header-row {\n background: var(--suite-run-neutral-light);\n font-weight: 600;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n cursor: default;\n}\n\n.matrix-cell {\n padding: 12px 16px;\n display: flex;\n align-items: center;\n}\n\n.test-name-cell {\n gap: 12px;\n}\n\n.test-sequence {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--suite-run-neutral-light);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n flex-shrink: 0;\n}\n\n.test-name {\n font-weight: 500;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-indicator {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-indicator.status-passed {\n color: var(--suite-run-success);\n}\n\n.status-indicator.status-failed {\n color: var(--suite-run-danger);\n}\n\n.status-indicator.status-error {\n color: var(--suite-run-warning);\n}\n\n.status-indicator.status-skipped {\n color: var(--suite-run-neutral);\n}\n\n.status-indicator.status-pending {\n color: var(--suite-run-info);\n}\n\n.status-indicator.status-running {\n color: var(--suite-run-primary);\n}\n\n.score-bar {\n position: relative;\n width: 100%;\n height: 20px;\n background: var(--suite-run-neutral-light);\n border-radius: 10px;\n overflow: hidden;\n}\n\n.score-fill {\n height: 100%;\n border-radius: 10px;\n transition: width 0.3s ease;\n}\n\n.score-fill.high {\n background: linear-gradient(90deg, var(--suite-run-success) 0%, #34d399 100%);\n}\n\n.score-fill.medium {\n background: linear-gradient(90deg, var(--suite-run-warning) 0%, #fbbf24 100%);\n}\n\n.score-fill.low {\n background: linear-gradient(90deg, var(--suite-run-danger) 0%, #f87171 100%);\n}\n\n.score-text {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 11px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.na-value {\n color: var(--suite-run-text-secondary);\n opacity: 0.6;\n}\n\n/* Summary Statistics Grid */\n.stats-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 16px;\n}\n\n.stat-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n border: 1px solid var(--suite-run-border);\n border-radius: 12px;\n transition: var(--suite-run-transition);\n}\n\n.stat-card:hover {\n transform: translateY(-2px);\n box-shadow: var(--suite-run-shadow);\n}\n\n.stat-icon {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 12px;\n font-size: 20px;\n}\n\n.stat-icon.passed {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.stat-icon.failed {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.stat-icon.score {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.stat-icon.duration {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n.stat-icon.cost {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.stat-content {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.stat-card .stat-value {\n font-size: 24px;\n font-weight: 700;\n color: var(--suite-run-text);\n}\n\n.stat-card .stat-label {\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat-percent {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n/* Responsive Analytics */\n@media (max-width: 768px) {\n .analytics-header {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .matrix-row {\n grid-template-columns: 1fr;\n gap: 8px;\n padding: 12px;\n }\n\n .matrix-header-row {\n display: none;\n }\n\n .matrix-cell {\n padding: 4px 0;\n }\n\n .test-name-cell::before,\n .status-cell::before,\n .score-cell::before,\n .duration-cell::before,\n .cost-cell::before {\n font-size: 10px;\n font-weight: 600;\n color: var(--suite-run-text-secondary);\n text-transform: uppercase;\n margin-right: 8px;\n min-width: 80px;\n }\n\n .status-cell::before { content: 'Status:'; }\n .score-cell::before { content: 'Score:'; }\n .duration-cell::before { content: 'Duration:'; }\n .cost-cell::before { content: 'Cost:'; }\n\n .stats-grid {\n grid-template-columns: 1fr 1fr;\n }\n\n .stat-card {\n padding: 16px;\n }\n\n .stat-icon {\n width: 40px;\n height: 40px;\n font-size: 16px;\n }\n\n .stat-card .stat-value {\n font-size: 20px;\n }\n}\n\n/* Focus States for Accessibility */\n.tab:focus-visible,\n.test-run-item:focus-visible,\nbutton:focus-visible {\n outline: 2px solid var(--suite-run-primary);\n outline-offset: 2px;\n}\n\n/* ===================================\n Analytics Loading State\n =================================== */\n.analytics-loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 60px 20px;\n color: var(--suite-run-text-secondary);\n}\n\n.analytics-loading i {\n font-size: 32px;\n color: var(--suite-run-primary);\n}\n\n/* ===================================\n Results Table\n =================================== */\n.results-table-wrapper {\n border: 1px solid var(--suite-run-border);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.results-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n}\n\n.results-table thead {\n background: var(--suite-run-neutral-light);\n}\n\n.results-table th {\n padding: 12px 16px;\n text-align: left;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--suite-run-text-secondary);\n border-bottom: 1px solid var(--suite-run-border);\n}\n\n.results-table td {\n padding: 12px 16px;\n border-bottom: 1px solid #f1f5f9;\n vertical-align: middle;\n}\n\n.results-table tbody tr:last-child td {\n border-bottom: none;\n}\n\n/* Column widths - Fixed columns fit content, name column takes remainder (max 50%) */\n.seq-col {\n width: 40px;\n min-width: 40px;\n text-align: center;\n white-space: nowrap;\n}\n\n.name-col {\n /* Take remaining space, but cap at 50% of table width */\n width: auto;\n max-width: 50%;\n}\n\n.status-col {\n width: 1%; /* Shrink to fit content */\n white-space: nowrap;\n}\n\n.score-col {\n width: 1%; /* Shrink to fit content */\n min-width: 120px; /* Score bar needs some minimum width */\n white-space: nowrap;\n}\n\n.duration-col {\n width: 1%; /* Shrink to fit content */\n white-space: nowrap;\n text-align: right;\n}\n\n.cost-col {\n width: 1%; /* Shrink to fit content */\n white-space: nowrap;\n text-align: right;\n}\n\n/* Result Row */\n.result-row {\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.result-row:hover {\n background: var(--suite-run-primary-light);\n}\n\n.result-row.row-passed {\n border-left: 4px solid var(--suite-run-success);\n}\n\n.result-row.row-failed {\n border-left: 4px solid var(--suite-run-danger);\n}\n\n.result-row.row-error {\n border-left: 4px solid var(--suite-run-warning);\n}\n\n.result-row.row-skipped {\n border-left: 4px solid var(--suite-run-neutral);\n}\n\n/* Test Name Wrapper */\n.test-name-wrapper {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.test-name-wrapper .test-name {\n font-weight: 500;\n color: var(--suite-run-text);\n}\n\n.test-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n/* Score Display */\n.score-display {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.score-bar-mini {\n flex: 1;\n height: 6px;\n background: var(--suite-run-neutral-light);\n border-radius: 3px;\n overflow: hidden;\n min-width: 60px;\n}\n\n.score-bar-mini .score-fill {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.score-bar-mini .score-fill.high {\n background: var(--suite-run-success);\n}\n\n.score-bar-mini .score-fill.medium {\n background: var(--suite-run-warning);\n}\n\n.score-bar-mini .score-fill.low {\n background: var(--suite-run-danger);\n}\n\n.score-display .score-text {\n position: static;\n transform: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--suite-run-text);\n min-width: 35px;\n text-align: right;\n}\n\n/* Status Badge in Table */\n.results-table .status-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.results-table .status-badge.status-passed {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.results-table .status-badge.status-failed {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.results-table .status-badge.status-error {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.results-table .status-badge.status-skipped {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.results-table .status-badge.status-pending {\n background: var(--suite-run-info-light);\n color: var(--suite-run-info);\n}\n\n.results-table .status-badge.status-running {\n background: var(--suite-run-primary-light);\n color: var(--suite-run-primary);\n}\n\n/* Responsive Results Table */\n@media (max-width: 768px) {\n .results-table-wrapper {\n overflow-x: auto;\n }\n\n .results-table {\n min-width: 600px;\n }\n\n .results-table th,\n .results-table td {\n padding: 10px 12px;\n }\n\n .name-col {\n min-width: 150px;\n }\n}\n\n/* ===================================\n High Contrast Mode\n =================================== */\n@media (prefers-contrast: high) {\n .status-badge,\n .status-inline {\n border: 2px solid currentColor;\n }\n\n .test-run-item {\n border-width: 2px;\n }\n\n .tab.active {\n border-bottom-width: 4px;\n }\n}\n\n/* ===================================\n Evaluation Summary\n =================================== */\n.evaluation-summary {\n margin-top: 20px;\n}\n\n.eval-summary-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n}\n\n.eval-summary-card {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n transition: var(--suite-run-transition);\n}\n\n.eval-summary-card:hover {\n box-shadow: var(--suite-run-shadow);\n}\n\n.eval-card-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: var(--suite-run-neutral-light);\n border-bottom: 1px solid var(--suite-run-border);\n font-size: 13px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.eval-card-header i {\n color: var(--suite-run-primary);\n}\n\n.eval-card-body {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.eval-stat-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n.eval-stat-label {\n font-size: 12px;\n color: var(--suite-run-text-secondary);\n}\n\n.eval-stat-value {\n font-size: 14px;\n font-weight: 600;\n color: var(--suite-run-text);\n}\n\n.eval-stat-value.correct {\n color: var(--suite-run-success);\n}\n\n.eval-stat-value.incorrect {\n color: var(--suite-run-danger);\n font-weight: 500;\n font-size: 12px;\n}\n\n.eval-stat-value.error {\n color: var(--suite-run-danger);\n}\n\n.eval-stat-value.timeout {\n color: var(--suite-run-warning);\n}\n\n.eval-card-footer {\n padding: 10px 16px;\n background: var(--suite-run-warning-light);\n border-top: 1px solid rgba(245, 158, 11, 0.2);\n}\n\n.pending-badge {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--suite-run-warning);\n}\n\n.pending-badge i {\n font-size: 11px;\n}\n\n/* ===================================\n Needs Review Section\n =================================== */\n.needs-review-section {\n background: var(--suite-run-card);\n border: 1px solid var(--suite-run-border);\n border-radius: var(--suite-run-radius);\n overflow: hidden;\n}\n\n.needs-review-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 20px;\n background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);\n border-bottom: 1px solid rgba(245, 158, 11, 0.3);\n}\n\n.needs-review-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #92400e;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.needs-review-header h3 i {\n font-size: 16px;\n}\n\n.review-count {\n font-size: 12px;\n font-weight: 500;\n color: #92400e;\n background: rgba(255, 255, 255, 0.6);\n padding: 2px 10px;\n border-radius: 12px;\n}\n\n.needs-review-list {\n padding: 8px;\n}\n\n.review-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n border-radius: 8px;\n cursor: pointer;\n transition: var(--suite-run-transition);\n}\n\n.review-item:hover {\n background: var(--suite-run-primary-light);\n}\n\n.review-item-icon {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n font-size: 14px;\n flex-shrink: 0;\n}\n\n.review-item.high-priority .review-item-icon {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.review-item.medium-priority .review-item-icon {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.review-item:not(.high-priority):not(.medium-priority) .review-item-icon {\n background: var(--suite-run-neutral-light);\n color: var(--suite-run-neutral);\n}\n\n.review-item-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.review-item-name {\n font-size: 13px;\n font-weight: 500;\n color: var(--suite-run-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.review-item-reason {\n font-size: 11px;\n color: var(--suite-run-text-secondary);\n}\n\n.review-item-action {\n color: var(--suite-run-text-secondary);\n font-size: 12px;\n}\n\n.review-item:hover .review-item-action {\n color: var(--suite-run-primary);\n}\n\n.review-more {\n display: flex;\n justify-content: center;\n padding: 8px;\n border-top: 1px solid var(--suite-run-border);\n}\n\n/* Mobile Responsive for Evaluation */\n@media (max-width: 768px) {\n .eval-summary-grid {\n grid-template-columns: 1fr;\n }\n\n .eval-card-header {\n padding: 10px 14px;\n font-size: 12px;\n }\n\n .eval-card-body {\n padding: 12px 14px;\n }\n\n .needs-review-header {\n padding: 12px 16px;\n }\n\n .needs-review-header h3 {\n font-size: 13px;\n }\n\n .review-item {\n padding: 10px 12px;\n }\n\n .review-item-icon {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n}\n\n/* ===================================\n Feedback Column in Analytics Table\n =================================== */\n.feedback-col {\n width: 1%; /* Shrink to fit content */\n white-space: nowrap;\n text-align: center;\n}\n\n.feedback-display {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n}\n\n.feedback-rating {\n font-size: 13px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--suite-run-neutral-light);\n}\n\n.feedback-rating.low {\n background: var(--suite-run-danger-light);\n color: var(--suite-run-danger);\n}\n\n.feedback-rating.mid {\n background: var(--suite-run-warning-light);\n color: var(--suite-run-warning);\n}\n\n.feedback-rating.high {\n background: var(--suite-run-success-light);\n color: var(--suite-run-success);\n}\n\n.feedback-correctness i {\n font-size: 12px;\n}\n\n.feedback-correctness i.correct {\n color: var(--suite-run-success);\n}\n\n.feedback-correctness i.incorrect {\n color: var(--suite-run-danger);\n}\n\n.na-value.needs-review {\n color: var(--suite-run-warning);\n opacity: 0.7;\n}\n\n.na-value.needs-review i {\n font-size: 14px;\n}\n"] }]
2293
2328
  }], () => [{ type: i0.ElementRef }, { type: i1.SharedService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i3.TestingDialogService }, { type: i3.EvaluationPreferencesService }, { type: i0.ViewContainerRef }, { type: i4.ApplicationManager }], { handleKeyboardShortcut: [{
2294
2329
  type: HostListener,
2295
2330
  args: ['document:keydown', ['$event']]
2296
2331
  }] }); })();
2297
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestSuiteRunFormComponentExtended, { className: "TestSuiteRunFormComponentExtended", filePath: "src/lib/custom/Tests/test-suite-run-form.component.ts", lineNumber: 35 }); })();
2298
- export function LoadTestSuiteRunFormComponentExtended() {
2299
- // Prevents tree-shaking
2300
- }
2301
- LoadTestSuiteRunFormComponentExtended();
2332
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestSuiteRunFormComponentExtended, { className: "TestSuiteRunFormComponentExtended", filePath: "src/lib/custom/tests/test-suite-run-form.component.ts", lineNumber: 36 }); })();
2302
2333
  //# sourceMappingURL=test-suite-run-form.component.js.map