@memberjunction/ng-dashboards 5.34.0 → 5.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +399 -292
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
  6. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
  7. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
  8. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
  9. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
  10. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  11. package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
  12. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  13. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
  14. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
  15. package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
  16. package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
  17. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
  18. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
  19. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
  20. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
  21. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
  22. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
  23. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
  24. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
  25. package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
  26. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
  27. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
  28. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
  29. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
  30. package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
  31. package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
  32. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
  33. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
  34. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
  35. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
  36. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
  37. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
  38. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
  39. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  40. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
  41. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  42. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
  43. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  44. package/dist/AI/components/models/model-management.component.d.ts +17 -0
  45. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  46. package/dist/AI/components/models/model-management.component.js +370 -425
  47. package/dist/AI/components/models/model-management.component.js.map +1 -1
  48. package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
  49. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  50. package/dist/AI/components/prompts/prompt-management.component.js +317 -357
  51. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  52. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
  53. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
  54. package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
  55. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  56. package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
  57. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  58. package/dist/AI/components/system/system-configuration.component.js +403 -362
  59. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  60. package/dist/AI/components/tags/tags-resource.component.js +781 -783
  61. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  62. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
  63. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  64. package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
  65. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  66. package/dist/Actions/components/actions-overview.component.d.ts +6 -0
  67. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  68. package/dist/Actions/components/actions-overview.component.js +79 -30
  69. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  70. package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
  71. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  72. package/dist/Actions/components/execution-monitoring.component.js +196 -142
  73. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  74. package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
  75. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  76. package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
  77. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  78. package/dist/Actions/components/explorer/index.d.ts +0 -1
  79. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  80. package/dist/Actions/components/explorer/index.js +0 -1
  81. package/dist/Actions/components/explorer/index.js.map +1 -1
  82. package/dist/Admin/admin-data-schema.component.js +32 -40
  83. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  84. package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
  85. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  86. package/dist/Admin/admin-identity-access.component.js +32 -40
  87. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  88. package/dist/Admin/admin-monitoring.component.js +32 -40
  89. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  90. package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
  91. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  92. package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
  93. package/dist/Archiving/components/archive-config-resource.component.js +24 -5
  94. package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
  95. package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
  96. package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
  97. package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
  98. package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
  99. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  100. package/dist/Communication/communication-logs-resource.component.js +80 -99
  101. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  102. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  103. package/dist/Communication/communication-monitor-resource.component.js +127 -106
  104. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  105. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  106. package/dist/Communication/communication-providers-resource.component.js +44 -45
  107. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  108. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  109. package/dist/Communication/communication-runs-resource.component.js +60 -58
  110. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  111. package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
  112. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  113. package/dist/Communication/communication-templates-resource.component.js +139 -162
  114. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  115. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
  116. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  117. package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
  118. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  119. package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
  120. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  121. package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
  122. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  123. package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
  124. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  125. package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
  126. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  127. package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
  128. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  129. package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
  130. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  131. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
  132. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
  133. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
  134. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  135. package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
  136. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  137. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  138. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  139. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
  140. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  141. package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
  142. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  143. package/dist/Home/home-dashboard.component.d.ts +6 -0
  144. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  145. package/dist/Home/home-dashboard.component.js +521 -485
  146. package/dist/Home/home-dashboard.component.js.map +1 -1
  147. package/dist/Integration/components/activity/activity.component.d.ts +8 -0
  148. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  149. package/dist/Integration/components/activity/activity.component.js +309 -318
  150. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  151. package/dist/Integration/components/connections/connections.component.js +866 -847
  152. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  153. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
  154. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  155. package/dist/Integration/components/overview/overview.component.js +182 -163
  156. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  157. package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
  158. package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
  159. package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
  160. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  161. package/dist/Integration/components/schedules/schedules.component.js +241 -241
  162. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  163. package/dist/Integration/integration.module.d.ts +1 -1
  164. package/dist/Integration/integration.module.d.ts.map +1 -1
  165. package/dist/Integration/integration.module.js +28 -1
  166. package/dist/Integration/integration.module.js.map +1 -1
  167. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
  168. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  169. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
  170. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  171. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
  172. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  173. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
  174. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
  175. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
  176. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  177. package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
  178. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  179. package/dist/Lists/components/lists-browse-resource.component.js +486 -532
  180. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  181. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  182. package/dist/Lists/components/lists-categories-resource.component.js +152 -160
  183. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  184. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  185. package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
  186. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  187. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  188. package/dist/Lists/components/lists-operations-resource.component.js +234 -246
  189. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  190. package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
  191. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  192. package/dist/MCP/mcp-dashboard.component.js +1248 -1338
  193. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  194. package/dist/MCP/mcp.module.d.ts +1 -1
  195. package/dist/MCP/mcp.module.d.ts.map +1 -1
  196. package/dist/MCP/mcp.module.js +34 -1
  197. package/dist/MCP/mcp.module.js.map +1 -1
  198. package/dist/Permissions/audit-log-resource.component.js +76 -85
  199. package/dist/Permissions/audit-log-resource.component.js.map +1 -1
  200. package/dist/Permissions/resource-access-resource.component.js +64 -69
  201. package/dist/Permissions/resource-access-resource.component.js.map +1 -1
  202. package/dist/Permissions/user-access-resource.component.js +63 -74
  203. package/dist/Permissions/user-access-resource.component.js.map +1 -1
  204. package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
  205. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  206. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
  207. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  208. package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
  209. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  210. package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
  211. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  212. package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
  213. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  214. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
  215. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  216. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
  217. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  218. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
  219. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  220. package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
  221. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  222. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
  223. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  224. package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
  225. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  226. package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
  227. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  228. package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
  229. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  230. package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
  231. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  232. package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
  233. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  234. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +4 -0
  235. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  236. package/dist/SystemDiagnostics/system-diagnostics.component.js +812 -784
  237. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  238. package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
  239. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  240. package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
  241. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  242. package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
  243. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  244. package/dist/Testing/components/testing-analytics.component.js +420 -393
  245. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  246. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
  247. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  248. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
  249. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  250. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
  251. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  252. package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
  253. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  254. package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
  255. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  256. package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
  257. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  258. package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
  259. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  260. package/dist/Testing/components/testing-explorer.component.js +587 -608
  261. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  262. package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
  263. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  264. package/dist/Testing/components/testing-review-resource.component.js +9 -12
  265. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  266. package/dist/Testing/components/testing-review.component.d.ts +3 -1
  267. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  268. package/dist/Testing/components/testing-review.component.js +310 -274
  269. package/dist/Testing/components/testing-review.component.js.map +1 -1
  270. package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
  271. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  272. package/dist/Testing/components/testing-runs-resource.component.js +16 -19
  273. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  274. package/dist/Testing/components/testing-runs.component.d.ts +3 -1
  275. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  276. package/dist/Testing/components/testing-runs.component.js +307 -273
  277. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  278. package/dist/Testing/testing-dashboard.component.d.ts +2 -0
  279. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  280. package/dist/Testing/testing-dashboard.component.js +107 -93
  281. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  282. package/dist/VersionHistory/components/diff-resource.component.js +185 -188
  283. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  284. package/dist/VersionHistory/components/graph-resource.component.js +154 -184
  285. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  286. package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
  287. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
  288. package/dist/VersionHistory/components/labels-resource.component.js +350 -354
  289. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  290. package/dist/VersionHistory/components/restore-resource.component.js +163 -169
  291. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  292. package/dist/actions-dashboards.module.d.ts +15 -16
  293. package/dist/actions-dashboards.module.d.ts.map +1 -1
  294. package/dist/actions-dashboards.module.js +34 -11
  295. package/dist/actions-dashboards.module.js.map +1 -1
  296. package/dist/ai-dashboards.module.d.ts +45 -48
  297. package/dist/ai-dashboards.module.d.ts.map +1 -1
  298. package/dist/ai-dashboards.module.js +36 -10
  299. package/dist/ai-dashboards.module.js.map +1 -1
  300. package/dist/archiving-dashboards.module.d.ts +2 -1
  301. package/dist/archiving-dashboards.module.d.ts.map +1 -1
  302. package/dist/archiving-dashboards.module.js +12 -2
  303. package/dist/archiving-dashboards.module.js.map +1 -1
  304. package/dist/communication-dashboards.module.d.ts +2 -1
  305. package/dist/communication-dashboards.module.d.ts.map +1 -1
  306. package/dist/communication-dashboards.module.js +24 -3
  307. package/dist/communication-dashboards.module.js.map +1 -1
  308. package/dist/core-dashboards.module.d.ts +1 -1
  309. package/dist/core-dashboards.module.d.ts.map +1 -1
  310. package/dist/core-dashboards.module.js +31 -1
  311. package/dist/core-dashboards.module.js.map +1 -1
  312. package/dist/credentials-dashboards.module.d.ts +1 -1
  313. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  314. package/dist/credentials-dashboards.module.js +28 -1
  315. package/dist/credentials-dashboards.module.js.map +1 -1
  316. package/dist/lists-dashboards.module.d.ts +1 -1
  317. package/dist/lists-dashboards.module.d.ts.map +1 -1
  318. package/dist/lists-dashboards.module.js +28 -1
  319. package/dist/lists-dashboards.module.js.map +1 -1
  320. package/dist/public-api.d.ts +2 -2
  321. package/dist/public-api.d.ts.map +1 -1
  322. package/dist/public-api.js +3 -3
  323. package/dist/public-api.js.map +1 -1
  324. package/dist/scheduling-dashboards.module.d.ts +1 -1
  325. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  326. package/dist/scheduling-dashboards.module.js +31 -1
  327. package/dist/scheduling-dashboards.module.js.map +1 -1
  328. package/dist/testing-dashboards.module.d.ts +8 -7
  329. package/dist/testing-dashboards.module.d.ts.map +1 -1
  330. package/dist/testing-dashboards.module.js +30 -0
  331. package/dist/testing-dashboards.module.js.map +1 -1
  332. package/package.json +52 -52
  333. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
  334. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
  335. package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
  336. package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
  337. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
  338. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
  339. package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
  340. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
  341. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
  342. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
  343. package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
  344. package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
  345. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
  346. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
  347. package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
  348. package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
@@ -13,537 +13,440 @@ import { RunView } from '@memberjunction/core';
13
13
  import { UserInfoEngine } from '@memberjunction/core-entities';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@angular/common";
16
- import * as i2 from "@angular/forms";
16
+ import * as i2 from "@memberjunction/ng-ui-components";
17
17
  import * as i3 from "@memberjunction/ng-shared-generic";
18
18
  import * as i4 from "@memberjunction/ng-versions";
19
- function VersionHistoryLabelsResourceComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelement(0, "mj-loading", 1);
19
+ function VersionHistoryLabelsResourceComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelement(0, "mj-loading", 12);
21
21
  } }
22
- function VersionHistoryLabelsResourceComponent_Conditional_2_For_53_Template(rf, ctx) { if (rf & 1) {
23
- const _r3 = i0.ɵɵgetCurrentView();
24
- i0.ɵɵelementStart(0, "button", 41);
25
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_For_53_Template_button_click_0_listener() { const stat_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnScopeFilterChange(stat_r4.Scope)); });
26
- i0.ɵɵelement(1, "i");
27
- i0.ɵɵelementStart(2, "span");
28
- i0.ɵɵtext(3);
29
- i0.ɵɵelementEnd();
30
- i0.ɵɵelementStart(4, "span", 42);
31
- i0.ɵɵtext(5);
32
- i0.ɵɵelementEnd()();
33
- } if (rf & 2) {
34
- const stat_r4 = ctx.$implicit;
35
- const ctx_r1 = i0.ɵɵnextContext(2);
36
- i0.ɵɵclassProp("active", ctx_r1.ScopeFilter === stat_r4.Scope);
37
- i0.ɵɵadvance();
38
- i0.ɵɵclassMap(stat_r4.Icon);
39
- i0.ɵɵadvance(2);
40
- i0.ɵɵtextInterpolate(stat_r4.Scope);
41
- i0.ɵɵadvance(2);
42
- i0.ɵɵtextInterpolate(stat_r4.Count);
43
- } }
44
- function VersionHistoryLabelsResourceComponent_Conditional_2_For_55_Template(rf, ctx) { if (rf & 1) {
45
- const _r5 = i0.ɵɵgetCurrentView();
46
- i0.ɵɵelementStart(0, "button", 43);
47
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_For_55_Template_button_click_0_listener() { const stat_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnStatusFilterChange(stat_r6.Status)); });
48
- i0.ɵɵelementStart(1, "span");
49
- i0.ɵɵtext(2);
50
- i0.ɵɵelementEnd();
51
- i0.ɵɵelementStart(3, "span", 42);
52
- i0.ɵɵtext(4);
53
- i0.ɵɵelementEnd()();
54
- } if (rf & 2) {
55
- const stat_r6 = ctx.$implicit;
56
- const ctx_r1 = i0.ɵɵnextContext(2);
57
- i0.ɵɵclassProp("active", ctx_r1.StatusFilter === stat_r6.Status);
58
- i0.ɵɵproperty("ngClass", ctx_r1.GetStatusClass(stat_r6.Status));
59
- i0.ɵɵadvance(2);
60
- i0.ɵɵtextInterpolate(stat_r6.Status);
61
- i0.ɵɵadvance(2);
62
- i0.ɵɵtextInterpolate(stat_r6.Count);
63
- } }
64
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_59_Template(rf, ctx) { if (rf & 1) {
65
- const _r7 = i0.ɵɵgetCurrentView();
66
- i0.ɵɵelementStart(0, "button", 44);
67
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_59_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnSearchChange("")); });
68
- i0.ɵɵelement(1, "i", 45);
69
- i0.ɵɵelementEnd();
70
- } }
71
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
72
- i0.ɵɵelementStart(0, "span", 52);
73
- i0.ɵɵelement(1, "i", 56);
22
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "span", 37);
24
+ i0.ɵɵelement(1, "i", 41);
74
25
  i0.ɵɵtext(2);
75
26
  i0.ɵɵelementEnd();
76
27
  } if (rf & 2) {
77
- const label_r9 = i0.ɵɵnextContext().$implicit;
78
- const ctx_r1 = i0.ɵɵnextContext(3);
28
+ const label_r2 = i0.ɵɵnextContext().$implicit;
29
+ const ctx_r2 = i0.ɵɵnextContext(3);
79
30
  i0.ɵɵadvance(2);
80
- i0.ɵɵtextInterpolate1(" ", ctx_r1.GetChildLabels(label_r9.ID).length, " records ");
31
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.GetChildLabels(label_r2.ID).length, " records ");
81
32
  } }
82
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
83
- i0.ɵɵelementStart(0, "span", 57);
84
- i0.ɵɵelement(1, "i", 66);
33
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelementStart(0, "span", 42);
35
+ i0.ɵɵelement(1, "i", 51);
85
36
  i0.ɵɵtext(2);
86
37
  i0.ɵɵelementEnd();
87
38
  } if (rf & 2) {
88
- const label_r9 = i0.ɵɵnextContext().$implicit;
89
- const ctx_r1 = i0.ɵɵnextContext(3);
39
+ const label_r2 = i0.ɵɵnextContext().$implicit;
40
+ const ctx_r2 = i0.ɵɵnextContext(3);
90
41
  i0.ɵɵadvance(2);
91
- i0.ɵɵtextInterpolate1(" ", label_r9.Entity ?? ctx_r1.ResolveEntityName(label_r9.EntityID), " ");
42
+ i0.ɵɵtextInterpolate1(" ", label_r2.Entity ?? ctx_r2.ResolveEntityName(label_r2.EntityID), " ");
92
43
  } }
93
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
94
- i0.ɵɵelementStart(0, "span", 58);
95
- i0.ɵɵelement(1, "i", 67);
44
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelementStart(0, "span", 43);
46
+ i0.ɵɵelement(1, "i", 52);
96
47
  i0.ɵɵtext(2);
97
48
  i0.ɵɵpipe(3, "slice");
98
49
  i0.ɵɵelementEnd();
99
50
  } if (rf & 2) {
100
- const label_r9 = i0.ɵɵnextContext().$implicit;
51
+ const label_r2 = i0.ɵɵnextContext().$implicit;
101
52
  i0.ɵɵadvance(2);
102
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind3(3, 1, label_r9.RecordID, 0, 12), "... ");
53
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind3(3, 1, label_r2.RecordID, 0, 12), "... ");
103
54
  } }
104
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
105
- i0.ɵɵelementStart(0, "span", 59);
106
- i0.ɵɵelement(1, "i", 68);
55
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
56
+ i0.ɵɵelementStart(0, "span", 44);
57
+ i0.ɵɵelement(1, "i", 53);
107
58
  i0.ɵɵtext(2);
108
59
  i0.ɵɵelementEnd();
109
60
  } if (rf & 2) {
110
- const label_r9 = i0.ɵɵnextContext().$implicit;
61
+ const label_r2 = i0.ɵɵnextContext().$implicit;
111
62
  i0.ɵɵadvance(2);
112
- i0.ɵɵtextInterpolate1(" ", label_r9.ItemCount, " items ");
63
+ i0.ɵɵtextInterpolate1(" ", label_r2.ItemCount, " items ");
113
64
  } }
114
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
115
- i0.ɵɵelementStart(0, "span", 59);
116
- i0.ɵɵelement(1, "i", 68);
65
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "span", 44);
67
+ i0.ɵɵelement(1, "i", 53);
117
68
  i0.ɵɵtext(2);
118
69
  i0.ɵɵelementEnd();
119
70
  } if (rf & 2) {
120
- const label_r9 = i0.ɵɵnextContext().$implicit;
121
- const ctx_r1 = i0.ɵɵnextContext(3);
71
+ const label_r2 = i0.ɵɵnextContext().$implicit;
72
+ const ctx_r2 = i0.ɵɵnextContext(3);
122
73
  i0.ɵɵadvance(2);
123
- i0.ɵɵtextInterpolate1(" ", ctx_r1.GetItemCount(label_r9.ID), " items ");
74
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.GetItemCount(label_r2.ID), " items ");
124
75
  } }
125
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_17_Template(rf, ctx) { if (rf & 1) {
126
- i0.ɵɵelementStart(0, "span", 60);
127
- i0.ɵɵelement(1, "i", 69);
76
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_17_Template(rf, ctx) { if (rf & 1) {
77
+ i0.ɵɵelementStart(0, "span", 45);
78
+ i0.ɵɵelement(1, "i", 54);
128
79
  i0.ɵɵtext(2);
129
80
  i0.ɵɵelementEnd();
130
81
  } if (rf & 2) {
131
- const label_r9 = i0.ɵɵnextContext().$implicit;
132
- const ctx_r1 = i0.ɵɵnextContext(3);
82
+ const label_r2 = i0.ɵɵnextContext().$implicit;
83
+ const ctx_r2 = i0.ɵɵnextContext(3);
133
84
  i0.ɵɵadvance(2);
134
- i0.ɵɵtextInterpolate1(" ", ctx_r1.FormatDuration(label_r9.CreationDurationMS), " ");
85
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.FormatDuration(label_r2.CreationDurationMS), " ");
135
86
  } }
136
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
137
- i0.ɵɵelementStart(0, "span", 61);
138
- i0.ɵɵelement(1, "i", 70);
87
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
88
+ i0.ɵɵelementStart(0, "span", 46);
89
+ i0.ɵɵelement(1, "i", 55);
139
90
  i0.ɵɵtext(2);
140
91
  i0.ɵɵelementEnd();
141
92
  } if (rf & 2) {
142
- const label_r9 = i0.ɵɵnextContext().$implicit;
93
+ const label_r2 = i0.ɵɵnextContext().$implicit;
143
94
  i0.ɵɵadvance(2);
144
- i0.ɵɵtextInterpolate1(" ", label_r9.CreatedByUser, " ");
95
+ i0.ɵɵtextInterpolate1(" ", label_r2.CreatedByUser, " ");
145
96
  } }
146
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_22_Template(rf, ctx) { if (rf & 1) {
147
- i0.ɵɵelementStart(0, "p", 64);
97
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_22_Template(rf, ctx) { if (rf & 1) {
98
+ i0.ɵɵelementStart(0, "p", 49);
148
99
  i0.ɵɵtext(1);
149
100
  i0.ɵɵelementEnd();
150
101
  } if (rf & 2) {
151
- const label_r9 = i0.ɵɵnextContext().$implicit;
102
+ const label_r2 = i0.ɵɵnextContext().$implicit;
152
103
  i0.ɵɵadvance();
153
- i0.ɵɵtextInterpolate(label_r9.Description);
104
+ i0.ɵɵtextInterpolate(label_r2.Description);
154
105
  } }
155
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_23_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
156
- i0.ɵɵelementStart(0, "span", 74);
106
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_23_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
107
+ i0.ɵɵelementStart(0, "span", 59);
157
108
  i0.ɵɵtext(1);
158
109
  i0.ɵɵpipe(2, "slice");
159
110
  i0.ɵɵelementEnd();
160
111
  } if (rf & 2) {
161
- const child_r10 = i0.ɵɵnextContext().$implicit;
112
+ const child_r4 = i0.ɵɵnextContext().$implicit;
162
113
  i0.ɵɵadvance();
163
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind3(2, 1, child_r10.RecordID, 0, 12), "...");
114
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind3(2, 1, child_r4.RecordID, 0, 12), "...");
164
115
  } }
165
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_23_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
166
- i0.ɵɵelementStart(0, "span", 75);
116
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_23_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
117
+ i0.ɵɵelementStart(0, "span", 60);
167
118
  i0.ɵɵtext(1);
168
119
  i0.ɵɵelementEnd();
169
120
  } if (rf & 2) {
170
- const child_r10 = i0.ɵɵnextContext().$implicit;
121
+ const child_r4 = i0.ɵɵnextContext().$implicit;
171
122
  i0.ɵɵadvance();
172
- i0.ɵɵtextInterpolate1("", child_r10.ItemCount, " items");
123
+ i0.ɵɵtextInterpolate1("", child_r4.ItemCount, " items");
173
124
  } }
174
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_23_For_2_Template(rf, ctx) { if (rf & 1) {
175
- i0.ɵɵelementStart(0, "div", 71);
176
- i0.ɵɵelement(1, "i", 72);
177
- i0.ɵɵelementStart(2, "span", 73);
125
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_23_For_2_Template(rf, ctx) { if (rf & 1) {
126
+ i0.ɵɵelementStart(0, "div", 56);
127
+ i0.ɵɵelement(1, "i", 57);
128
+ i0.ɵɵelementStart(2, "span", 58);
178
129
  i0.ɵɵtext(3);
179
130
  i0.ɵɵelementEnd();
180
- i0.ɵɵconditionalCreate(4, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_23_For_2_Conditional_4_Template, 3, 5, "span", 74);
181
- i0.ɵɵconditionalCreate(5, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_23_For_2_Conditional_5_Template, 2, 1, "span", 75);
131
+ i0.ɵɵconditionalCreate(4, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_23_For_2_Conditional_4_Template, 3, 5, "span", 59);
132
+ i0.ɵɵconditionalCreate(5, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_23_For_2_Conditional_5_Template, 2, 1, "span", 60);
182
133
  i0.ɵɵelementEnd();
183
134
  } if (rf & 2) {
184
- const child_r10 = ctx.$implicit;
135
+ const child_r4 = ctx.$implicit;
185
136
  i0.ɵɵadvance(3);
186
- i0.ɵɵtextInterpolate(child_r10.Name);
137
+ i0.ɵɵtextInterpolate(child_r4.Name);
187
138
  i0.ɵɵadvance();
188
- i0.ɵɵconditional(child_r10.RecordID ? 4 : -1);
139
+ i0.ɵɵconditional(child_r4.RecordID ? 4 : -1);
189
140
  i0.ɵɵadvance();
190
- i0.ɵɵconditional(child_r10.ItemCount ? 5 : -1);
141
+ i0.ɵɵconditional(child_r4.ItemCount ? 5 : -1);
191
142
  } }
192
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_23_Template(rf, ctx) { if (rf & 1) {
193
- i0.ɵɵelementStart(0, "div", 65);
194
- i0.ɵɵrepeaterCreate(1, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_23_For_2_Template, 6, 3, "div", 71, i0.ɵɵrepeaterTrackByIdentity);
143
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_23_Template(rf, ctx) { if (rf & 1) {
144
+ i0.ɵɵelementStart(0, "div", 50);
145
+ i0.ɵɵrepeaterCreate(1, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_23_For_2_Template, 6, 3, "div", 56, i0.ɵɵrepeaterTrackByIdentity);
195
146
  i0.ɵɵelementEnd();
196
147
  } if (rf & 2) {
197
- const label_r9 = i0.ɵɵnextContext().$implicit;
198
- const ctx_r1 = i0.ɵɵnextContext(3);
148
+ const label_r2 = i0.ɵɵnextContext().$implicit;
149
+ const ctx_r2 = i0.ɵɵnextContext(3);
199
150
  i0.ɵɵadvance();
200
- i0.ɵɵrepeater(ctx_r1.GetChildLabels(label_r9.ID));
151
+ i0.ɵɵrepeater(ctx_r2.GetChildLabels(label_r2.ID));
201
152
  } }
202
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Template(rf, ctx) { if (rf & 1) {
203
- const _r8 = i0.ɵɵgetCurrentView();
204
- i0.ɵɵelementStart(0, "div", 47);
205
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Template_div_click_0_listener() { const label_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnLabelClick(label_r9)); });
206
- i0.ɵɵelementStart(1, "div", 48)(2, "div", 49);
207
- i0.ɵɵelement(3, "i", 50);
208
- i0.ɵɵelementStart(4, "h3", 51);
153
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Template(rf, ctx) { if (rf & 1) {
154
+ const _r1 = i0.ɵɵgetCurrentView();
155
+ i0.ɵɵelementStart(0, "div", 32);
156
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Template_div_click_0_listener() { const label_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.OnLabelClick(label_r2)); });
157
+ i0.ɵɵelementStart(1, "div", 33)(2, "div", 34);
158
+ i0.ɵɵelement(3, "i", 35);
159
+ i0.ɵɵelementStart(4, "h3", 36);
209
160
  i0.ɵɵtext(5);
210
161
  i0.ɵɵelementEnd();
211
- i0.ɵɵconditionalCreate(6, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_6_Template, 3, 1, "span", 52);
212
- i0.ɵɵelementStart(7, "span", 53);
162
+ i0.ɵɵconditionalCreate(6, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_6_Template, 3, 1, "span", 37);
163
+ i0.ɵɵelementStart(7, "span", 38);
213
164
  i0.ɵɵtext(8);
214
165
  i0.ɵɵelementEnd()();
215
- i0.ɵɵelementStart(9, "div", 54)(10, "span", 55);
216
- i0.ɵɵelement(11, "i", 56);
166
+ i0.ɵɵelementStart(9, "div", 39)(10, "span", 40);
167
+ i0.ɵɵelement(11, "i", 41);
217
168
  i0.ɵɵtext(12);
218
169
  i0.ɵɵelementEnd();
219
- i0.ɵɵconditionalCreate(13, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_13_Template, 3, 1, "span", 57);
220
- i0.ɵɵconditionalCreate(14, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_14_Template, 4, 5, "span", 58);
221
- i0.ɵɵconditionalCreate(15, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_15_Template, 3, 1, "span", 59);
222
- i0.ɵɵconditionalCreate(16, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_16_Template, 3, 1, "span", 59);
223
- i0.ɵɵconditionalCreate(17, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_17_Template, 3, 1, "span", 60);
224
- i0.ɵɵconditionalCreate(18, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_18_Template, 3, 1, "span", 61);
225
- i0.ɵɵelementStart(19, "span", 62);
226
- i0.ɵɵelement(20, "i", 63);
170
+ i0.ɵɵconditionalCreate(13, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_13_Template, 3, 1, "span", 42);
171
+ i0.ɵɵconditionalCreate(14, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_14_Template, 4, 5, "span", 43);
172
+ i0.ɵɵconditionalCreate(15, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_15_Template, 3, 1, "span", 44);
173
+ i0.ɵɵconditionalCreate(16, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_16_Template, 3, 1, "span", 44);
174
+ i0.ɵɵconditionalCreate(17, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_17_Template, 3, 1, "span", 45);
175
+ i0.ɵɵconditionalCreate(18, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_18_Template, 3, 1, "span", 46);
176
+ i0.ɵɵelementStart(19, "span", 47);
177
+ i0.ɵɵelement(20, "i", 48);
227
178
  i0.ɵɵtext(21);
228
179
  i0.ɵɵelementEnd()()();
229
- i0.ɵɵconditionalCreate(22, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_22_Template, 2, 1, "p", 64);
230
- i0.ɵɵconditionalCreate(23, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Conditional_23_Template, 3, 0, "div", 65);
180
+ i0.ɵɵconditionalCreate(22, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_22_Template, 2, 1, "p", 49);
181
+ i0.ɵɵconditionalCreate(23, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Conditional_23_Template, 3, 0, "div", 50);
231
182
  i0.ɵɵelementEnd();
232
183
  } if (rf & 2) {
233
- const label_r9 = ctx.$implicit;
234
- const ctx_r1 = i0.ɵɵnextContext(3);
235
- i0.ɵɵclassProp("group-parent", ctx_r1.IsGroupParent(label_r9));
184
+ const label_r2 = ctx.$implicit;
185
+ const ctx_r2 = i0.ɵɵnextContext(3);
186
+ i0.ɵɵclassProp("group-parent", ctx_r2.IsGroupParent(label_r2));
236
187
  i0.ɵɵadvance(3);
237
- i0.ɵɵclassMap(ctx_r1.GetScopeIcon(label_r9.Scope));
188
+ i0.ɵɵclassMap(ctx_r2.GetScopeIcon(label_r2.Scope));
238
189
  i0.ɵɵadvance(2);
239
- i0.ɵɵtextInterpolate(label_r9.Name);
190
+ i0.ɵɵtextInterpolate(label_r2.Name);
240
191
  i0.ɵɵadvance();
241
- i0.ɵɵconditional(ctx_r1.IsGroupParent(label_r9) ? 6 : -1);
192
+ i0.ɵɵconditional(ctx_r2.IsGroupParent(label_r2) ? 6 : -1);
242
193
  i0.ɵɵadvance();
243
- i0.ɵɵproperty("ngClass", ctx_r1.GetStatusClass(label_r9.Status));
194
+ i0.ɵɵproperty("ngClass", ctx_r2.GetStatusClass(label_r2.Status));
244
195
  i0.ɵɵadvance();
245
- i0.ɵɵtextInterpolate1(" ", label_r9.Status, " ");
196
+ i0.ɵɵtextInterpolate1(" ", label_r2.Status, " ");
246
197
  i0.ɵɵadvance(4);
247
- i0.ɵɵtextInterpolate1(" ", label_r9.Scope, " ");
198
+ i0.ɵɵtextInterpolate1(" ", label_r2.Scope, " ");
248
199
  i0.ɵɵadvance();
249
- i0.ɵɵconditional(label_r9.Entity || label_r9.EntityID ? 13 : -1);
200
+ i0.ɵɵconditional(label_r2.Entity || label_r2.EntityID ? 13 : -1);
250
201
  i0.ɵɵadvance();
251
- i0.ɵɵconditional(label_r9.RecordID ? 14 : -1);
202
+ i0.ɵɵconditional(label_r2.RecordID ? 14 : -1);
252
203
  i0.ɵɵadvance();
253
- i0.ɵɵconditional(label_r9.ItemCount ? 15 : -1);
204
+ i0.ɵɵconditional(label_r2.ItemCount ? 15 : -1);
254
205
  i0.ɵɵadvance();
255
- i0.ɵɵconditional(!label_r9.ItemCount ? 16 : -1);
206
+ i0.ɵɵconditional(!label_r2.ItemCount ? 16 : -1);
256
207
  i0.ɵɵadvance();
257
- i0.ɵɵconditional(label_r9.CreationDurationMS ? 17 : -1);
208
+ i0.ɵɵconditional(label_r2.CreationDurationMS ? 17 : -1);
258
209
  i0.ɵɵadvance();
259
- i0.ɵɵconditional(label_r9.CreatedByUser ? 18 : -1);
210
+ i0.ɵɵconditional(label_r2.CreatedByUser ? 18 : -1);
260
211
  i0.ɵɵadvance(3);
261
- i0.ɵɵtextInterpolate1(" ", ctx_r1.FormatDate(label_r9.__mj_CreatedAt), " ");
212
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.FormatDate(label_r2.__mj_CreatedAt), " ");
262
213
  i0.ɵɵadvance();
263
- i0.ɵɵconditional(label_r9.Description ? 22 : -1);
214
+ i0.ɵɵconditional(label_r2.Description ? 22 : -1);
264
215
  i0.ɵɵadvance();
265
- i0.ɵɵconditional(ctx_r1.IsGroupParent(label_r9) && ctx_r1.GetChildLabels(label_r9.ID).length > 0 ? 23 : -1);
216
+ i0.ɵɵconditional(ctx_r2.IsGroupParent(label_r2) && ctx_r2.GetChildLabels(label_r2.ID).length > 0 ? 23 : -1);
266
217
  } }
267
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_Template(rf, ctx) { if (rf & 1) {
268
- i0.ɵɵelementStart(0, "div", 38);
269
- i0.ɵɵrepeaterCreate(1, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_For_2_Template, 24, 18, "div", 46, i0.ɵɵrepeaterTrackByIdentity);
218
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_Template(rf, ctx) { if (rf & 1) {
219
+ i0.ɵɵelementStart(0, "div", 28);
220
+ i0.ɵɵrepeaterCreate(1, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_For_2_Template, 24, 18, "div", 31, i0.ɵɵrepeaterTrackByIdentity);
270
221
  i0.ɵɵelementEnd();
271
222
  } if (rf & 2) {
272
- const ctx_r1 = i0.ɵɵnextContext(2);
223
+ const ctx_r2 = i0.ɵɵnextContext(2);
273
224
  i0.ɵɵadvance();
274
- i0.ɵɵrepeater(ctx_r1.FilteredLabels);
225
+ i0.ɵɵrepeater(ctx_r2.FilteredLabels);
275
226
  } }
276
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_For_19_Conditional_6_Template(rf, ctx) { if (rf & 1) {
277
- i0.ɵɵelementStart(0, "span", 90);
278
- i0.ɵɵelement(1, "i", 56);
227
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_For_19_Conditional_6_Template(rf, ctx) { if (rf & 1) {
228
+ i0.ɵɵelementStart(0, "span", 75);
229
+ i0.ɵɵelement(1, "i", 41);
279
230
  i0.ɵɵtext(2);
280
231
  i0.ɵɵelementEnd();
281
232
  } if (rf & 2) {
282
- const label_r13 = i0.ɵɵnextContext().$implicit;
283
- const ctx_r1 = i0.ɵɵnextContext(3);
233
+ const label_r7 = i0.ɵɵnextContext().$implicit;
234
+ const ctx_r2 = i0.ɵɵnextContext(3);
284
235
  i0.ɵɵadvance(2);
285
- i0.ɵɵtextInterpolate1(" ", ctx_r1.GetChildLabels(label_r13.ID).length, " ");
236
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.GetChildLabels(label_r7.ID).length, " ");
286
237
  } }
287
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_For_19_Template(rf, ctx) { if (rf & 1) {
288
- const _r12 = i0.ɵɵgetCurrentView();
289
- i0.ɵɵelementStart(0, "div", 86);
290
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_For_19_Template_div_click_0_listener() { const label_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnLabelClick(label_r13)); });
291
- i0.ɵɵelementStart(1, "span", 77);
292
- i0.ɵɵelement(2, "i", 87);
293
- i0.ɵɵelementEnd();
294
- i0.ɵɵelementStart(3, "span", 88)(4, "span", 89);
238
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_For_19_Template(rf, ctx) { if (rf & 1) {
239
+ const _r6 = i0.ɵɵgetCurrentView();
240
+ i0.ɵɵelementStart(0, "div", 71);
241
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_For_19_Template_div_click_0_listener() { const label_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.OnLabelClick(label_r7)); });
242
+ i0.ɵɵelementStart(1, "span", 62);
243
+ i0.ɵɵelement(2, "i", 72);
244
+ i0.ɵɵelementEnd();
245
+ i0.ɵɵelementStart(3, "span", 73)(4, "span", 74);
295
246
  i0.ɵɵtext(5);
296
247
  i0.ɵɵelementEnd();
297
- i0.ɵɵconditionalCreate(6, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_For_19_Conditional_6_Template, 3, 1, "span", 90);
248
+ i0.ɵɵconditionalCreate(6, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_For_19_Conditional_6_Template, 3, 1, "span", 75);
298
249
  i0.ɵɵelementEnd();
299
- i0.ɵɵelementStart(7, "span", 80);
250
+ i0.ɵɵelementStart(7, "span", 65);
300
251
  i0.ɵɵtext(8);
301
252
  i0.ɵɵelementEnd();
302
- i0.ɵɵelementStart(9, "span", 91)(10, "span", 92);
253
+ i0.ɵɵelementStart(9, "span", 76)(10, "span", 77);
303
254
  i0.ɵɵtext(11);
304
255
  i0.ɵɵelementEnd()();
305
- i0.ɵɵelementStart(12, "span", 93);
256
+ i0.ɵɵelementStart(12, "span", 78);
306
257
  i0.ɵɵtext(13);
307
258
  i0.ɵɵelementEnd();
308
- i0.ɵɵelementStart(14, "span", 94);
259
+ i0.ɵɵelementStart(14, "span", 79);
309
260
  i0.ɵɵtext(15);
310
261
  i0.ɵɵelementEnd();
311
- i0.ɵɵelementStart(16, "span", 84);
312
- i0.ɵɵelement(17, "i", 95);
262
+ i0.ɵɵelementStart(16, "span", 69);
263
+ i0.ɵɵelement(17, "i", 80);
313
264
  i0.ɵɵelementEnd()();
314
265
  } if (rf & 2) {
315
- const label_r13 = ctx.$implicit;
316
- const ctx_r1 = i0.ɵɵnextContext(3);
266
+ const label_r7 = ctx.$implicit;
267
+ const ctx_r2 = i0.ɵɵnextContext(3);
317
268
  i0.ɵɵadvance(2);
318
- i0.ɵɵclassMap(ctx_r1.GetScopeIcon(label_r13.Scope));
269
+ i0.ɵɵclassMap(ctx_r2.GetScopeIcon(label_r7.Scope));
319
270
  i0.ɵɵadvance(3);
320
- i0.ɵɵtextInterpolate(label_r13.Name);
271
+ i0.ɵɵtextInterpolate(label_r7.Name);
321
272
  i0.ɵɵadvance();
322
- i0.ɵɵconditional(ctx_r1.IsGroupParent(label_r13) ? 6 : -1);
273
+ i0.ɵɵconditional(ctx_r2.IsGroupParent(label_r7) ? 6 : -1);
323
274
  i0.ɵɵadvance(2);
324
- i0.ɵɵtextInterpolate(label_r13.Entity ?? ctx_r1.ResolveEntityName(label_r13.EntityID));
275
+ i0.ɵɵtextInterpolate(label_r7.Entity ?? ctx_r2.ResolveEntityName(label_r7.EntityID));
325
276
  i0.ɵɵadvance(2);
326
- i0.ɵɵproperty("ngClass", ctx_r1.GetStatusClass(label_r13.Status));
277
+ i0.ɵɵproperty("ngClass", ctx_r2.GetStatusClass(label_r7.Status));
327
278
  i0.ɵɵadvance();
328
- i0.ɵɵtextInterpolate(label_r13.Status);
279
+ i0.ɵɵtextInterpolate(label_r7.Status);
329
280
  i0.ɵɵadvance(2);
330
- i0.ɵɵtextInterpolate(label_r13.ItemCount || ctx_r1.GetItemCount(label_r13.ID));
281
+ i0.ɵɵtextInterpolate(label_r7.ItemCount || ctx_r2.GetItemCount(label_r7.ID));
331
282
  i0.ɵɵadvance(2);
332
- i0.ɵɵtextInterpolate(ctx_r1.FormatDate(label_r13.__mj_CreatedAt));
283
+ i0.ɵɵtextInterpolate(ctx_r2.FormatDate(label_r7.__mj_CreatedAt));
333
284
  } }
334
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_Template(rf, ctx) { if (rf & 1) {
335
- const _r11 = i0.ɵɵgetCurrentView();
336
- i0.ɵɵelementStart(0, "div", 39)(1, "div", 76);
337
- i0.ɵɵelement(2, "span", 77);
338
- i0.ɵɵelementStart(3, "span", 78);
339
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_Template_span_click_3_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnSortChange("Name")); });
285
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_Template(rf, ctx) { if (rf & 1) {
286
+ const _r5 = i0.ɵɵgetCurrentView();
287
+ i0.ɵɵelementStart(0, "div", 29)(1, "div", 61);
288
+ i0.ɵɵelement(2, "span", 62);
289
+ i0.ɵɵelementStart(3, "span", 63);
290
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_Template_span_click_3_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.OnSortChange("Name")); });
340
291
  i0.ɵɵtext(4, " Name ");
341
- i0.ɵɵelement(5, "i", 79);
292
+ i0.ɵɵelement(5, "i", 64);
342
293
  i0.ɵɵelementEnd();
343
- i0.ɵɵelementStart(6, "span", 80);
294
+ i0.ɵɵelementStart(6, "span", 65);
344
295
  i0.ɵɵtext(7, "Entity");
345
296
  i0.ɵɵelementEnd();
346
- i0.ɵɵelementStart(8, "span", 81);
347
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_Template_span_click_8_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnSortChange("Status")); });
297
+ i0.ɵɵelementStart(8, "span", 66);
298
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_Template_span_click_8_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.OnSortChange("Status")); });
348
299
  i0.ɵɵtext(9, " Status ");
349
- i0.ɵɵelement(10, "i", 79);
300
+ i0.ɵɵelement(10, "i", 64);
350
301
  i0.ɵɵelementEnd();
351
- i0.ɵɵelementStart(11, "span", 82);
352
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_Template_span_click_11_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnSortChange("Items")); });
302
+ i0.ɵɵelementStart(11, "span", 67);
303
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_Template_span_click_11_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.OnSortChange("Items")); });
353
304
  i0.ɵɵtext(12, " Items ");
354
- i0.ɵɵelement(13, "i", 79);
305
+ i0.ɵɵelement(13, "i", 64);
355
306
  i0.ɵɵelementEnd();
356
- i0.ɵɵelementStart(14, "span", 83);
357
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_Template_span_click_14_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnSortChange("Date")); });
307
+ i0.ɵɵelementStart(14, "span", 68);
308
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_Template_span_click_14_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.OnSortChange("Date")); });
358
309
  i0.ɵɵtext(15, " Created ");
359
- i0.ɵɵelement(16, "i", 79);
310
+ i0.ɵɵelement(16, "i", 64);
360
311
  i0.ɵɵelementEnd();
361
- i0.ɵɵelement(17, "span", 84);
312
+ i0.ɵɵelement(17, "span", 69);
362
313
  i0.ɵɵelementEnd();
363
- i0.ɵɵrepeaterCreate(18, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_For_19_Template, 18, 9, "div", 85, i0.ɵɵrepeaterTrackByIdentity);
314
+ i0.ɵɵrepeaterCreate(18, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_For_19_Template, 18, 9, "div", 70, i0.ɵɵrepeaterTrackByIdentity);
364
315
  i0.ɵɵelementEnd();
365
316
  } if (rf & 2) {
366
- const ctx_r1 = i0.ɵɵnextContext(2);
317
+ const ctx_r2 = i0.ɵɵnextContext(2);
367
318
  i0.ɵɵadvance(5);
368
- i0.ɵɵclassMap(ctx_r1.GetSortIcon("Name"));
319
+ i0.ɵɵclassMap(ctx_r2.GetSortIcon("Name"));
369
320
  i0.ɵɵadvance(5);
370
- i0.ɵɵclassMap(ctx_r1.GetSortIcon("Status"));
321
+ i0.ɵɵclassMap(ctx_r2.GetSortIcon("Status"));
371
322
  i0.ɵɵadvance(3);
372
- i0.ɵɵclassMap(ctx_r1.GetSortIcon("Items"));
323
+ i0.ɵɵclassMap(ctx_r2.GetSortIcon("Items"));
373
324
  i0.ɵɵadvance(3);
374
- i0.ɵɵclassMap(ctx_r1.GetSortIcon("Date"));
325
+ i0.ɵɵclassMap(ctx_r2.GetSortIcon("Date"));
375
326
  i0.ɵɵadvance(2);
376
- i0.ɵɵrepeater(ctx_r1.FilteredLabels);
327
+ i0.ɵɵrepeater(ctx_r2.FilteredLabels);
377
328
  } }
378
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Conditional_4_Template(rf, ctx) { if (rf & 1) {
329
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Conditional_4_Template(rf, ctx) { if (rf & 1) {
379
330
  i0.ɵɵelementStart(0, "p");
380
331
  i0.ɵɵtext(1, " Try adjusting your filters or search criteria. ");
381
332
  i0.ɵɵelementEnd();
382
333
  } }
383
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Conditional_5_Template(rf, ctx) { if (rf & 1) {
334
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Conditional_5_Template(rf, ctx) { if (rf & 1) {
384
335
  i0.ɵɵelementStart(0, "p");
385
336
  i0.ɵɵtext(1, " No version labels have been created yet. ");
386
337
  i0.ɵɵelementEnd();
387
338
  } }
388
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Conditional_6_Template(rf, ctx) { if (rf & 1) {
389
- const _r14 = i0.ɵɵgetCurrentView();
390
- i0.ɵɵelementStart(0, "button", 98);
391
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OpenCreateDialog()); });
392
- i0.ɵɵelement(1, "i", 15);
339
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Conditional_6_Template(rf, ctx) { if (rf & 1) {
340
+ const _r8 = i0.ɵɵgetCurrentView();
341
+ i0.ɵɵelementStart(0, "button", 83);
342
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.OpenCreateDialog()); });
343
+ i0.ɵɵelement(1, "i", 9);
393
344
  i0.ɵɵelementStart(2, "span");
394
345
  i0.ɵɵtext(3, "Create Your First Label");
395
346
  i0.ɵɵelementEnd()();
396
347
  } }
397
- function VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Template(rf, ctx) { if (rf & 1) {
398
- i0.ɵɵelementStart(0, "div", 40);
399
- i0.ɵɵelement(1, "i", 96);
348
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Template(rf, ctx) { if (rf & 1) {
349
+ i0.ɵɵelementStart(0, "div", 30);
350
+ i0.ɵɵelement(1, "i", 81);
400
351
  i0.ɵɵelementStart(2, "h3");
401
352
  i0.ɵɵtext(3, "No labels found");
402
353
  i0.ɵɵelementEnd();
403
- i0.ɵɵconditionalCreate(4, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Conditional_4_Template, 2, 0, "p");
404
- i0.ɵɵconditionalCreate(5, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Conditional_5_Template, 2, 0, "p");
405
- i0.ɵɵconditionalCreate(6, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Conditional_6_Template, 4, 0, "button", 97);
354
+ i0.ɵɵconditionalCreate(4, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Conditional_4_Template, 2, 0, "p");
355
+ i0.ɵɵconditionalCreate(5, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Conditional_5_Template, 2, 0, "p");
356
+ i0.ɵɵconditionalCreate(6, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Conditional_6_Template, 4, 0, "button", 82);
406
357
  i0.ɵɵelementEnd();
407
358
  } if (rf & 2) {
408
- const ctx_r1 = i0.ɵɵnextContext(2);
359
+ const ctx_r2 = i0.ɵɵnextContext(2);
409
360
  i0.ɵɵadvance(4);
410
- i0.ɵɵconditional(ctx_r1.SearchText || ctx_r1.ScopeFilter || ctx_r1.StatusFilter ? 4 : -1);
361
+ i0.ɵɵconditional(ctx_r2.SearchText || ctx_r2.ScopeFilter || ctx_r2.StatusFilter ? 4 : -1);
411
362
  i0.ɵɵadvance();
412
- i0.ɵɵconditional(!ctx_r1.SearchText && !ctx_r1.ScopeFilter && !ctx_r1.StatusFilter ? 5 : -1);
363
+ i0.ɵɵconditional(!ctx_r2.SearchText && !ctx_r2.ScopeFilter && !ctx_r2.StatusFilter ? 5 : -1);
413
364
  i0.ɵɵadvance();
414
- i0.ɵɵconditional(!ctx_r1.SearchText && !ctx_r1.ScopeFilter && !ctx_r1.StatusFilter ? 6 : -1);
365
+ i0.ɵɵconditional(!ctx_r2.SearchText && !ctx_r2.ScopeFilter && !ctx_r2.StatusFilter ? 6 : -1);
415
366
  } }
416
- function VersionHistoryLabelsResourceComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
417
- const _r1 = i0.ɵɵgetCurrentView();
418
- i0.ɵɵelementStart(0, "div", 4)(1, "div", 5)(2, "h2", 6);
419
- i0.ɵɵtext(3, "Version Labels");
420
- i0.ɵɵelementEnd();
421
- i0.ɵɵelementStart(4, "p", 7);
422
- i0.ɵɵtext(5, "Manage versioning snapshots across your system");
423
- i0.ɵɵelementEnd()();
424
- i0.ɵɵelementStart(6, "div", 8)(7, "div", 9)(8, "button", 10);
425
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.SetViewMode("card")); });
426
- i0.ɵɵelement(9, "i", 11);
427
- i0.ɵɵelementEnd();
428
- i0.ɵɵelementStart(10, "button", 12);
429
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.SetViewMode("list")); });
430
- i0.ɵɵelement(11, "i", 13);
431
- i0.ɵɵelementEnd()();
432
- i0.ɵɵelementStart(12, "button", 14);
433
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OpenCreateDialog()); });
434
- i0.ɵɵelement(13, "i", 15);
435
- i0.ɵɵelementStart(14, "span");
436
- i0.ɵɵtext(15, "Create Label");
437
- i0.ɵɵelementEnd()();
438
- i0.ɵɵelementStart(16, "button", 16);
439
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_2_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Refresh()); });
440
- i0.ɵɵelement(17, "i", 17);
441
- i0.ɵɵelementEnd()()();
442
- i0.ɵɵelementStart(18, "div", 18)(19, "div", 19)(20, "div", 20);
443
- i0.ɵɵelement(21, "i", 21);
367
+ function VersionHistoryLabelsResourceComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
368
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 16)(2, "div", 17);
369
+ i0.ɵɵelement(3, "i", 18);
444
370
  i0.ɵɵelementEnd();
445
- i0.ɵɵelementStart(22, "div", 22)(23, "div", 23);
446
- i0.ɵɵtext(24);
371
+ i0.ɵɵelementStart(4, "div", 19)(5, "div", 20);
372
+ i0.ɵɵtext(6);
447
373
  i0.ɵɵelementEnd();
448
- i0.ɵɵelementStart(25, "div", 24);
449
- i0.ɵɵtext(26, "Total Labels");
374
+ i0.ɵɵelementStart(7, "div", 21);
375
+ i0.ɵɵtext(8, "Total Labels");
450
376
  i0.ɵɵelementEnd()()();
451
- i0.ɵɵelementStart(27, "div", 19)(28, "div", 25);
452
- i0.ɵɵelement(29, "i", 26);
377
+ i0.ɵɵelementStart(9, "div", 16)(10, "div", 22);
378
+ i0.ɵɵelement(11, "i", 23);
453
379
  i0.ɵɵelementEnd();
454
- i0.ɵɵelementStart(30, "div", 22)(31, "div", 23);
455
- i0.ɵɵtext(32);
380
+ i0.ɵɵelementStart(12, "div", 19)(13, "div", 20);
381
+ i0.ɵɵtext(14);
456
382
  i0.ɵɵelementEnd();
457
- i0.ɵɵelementStart(33, "div", 24);
458
- i0.ɵɵtext(34, "Active");
383
+ i0.ɵɵelementStart(15, "div", 21);
384
+ i0.ɵɵtext(16, "Active");
459
385
  i0.ɵɵelementEnd()()();
460
- i0.ɵɵelementStart(35, "div", 19)(36, "div", 27);
461
- i0.ɵɵelement(37, "i", 28);
386
+ i0.ɵɵelementStart(17, "div", 16)(18, "div", 24);
387
+ i0.ɵɵelement(19, "i", 25);
462
388
  i0.ɵɵelementEnd();
463
- i0.ɵɵelementStart(38, "div", 22)(39, "div", 23);
464
- i0.ɵɵtext(40);
389
+ i0.ɵɵelementStart(20, "div", 19)(21, "div", 20);
390
+ i0.ɵɵtext(22);
465
391
  i0.ɵɵelementEnd();
466
- i0.ɵɵelementStart(41, "div", 24);
467
- i0.ɵɵtext(42, "Archived");
392
+ i0.ɵɵelementStart(23, "div", 21);
393
+ i0.ɵɵtext(24, "Archived");
468
394
  i0.ɵɵelementEnd()()();
469
- i0.ɵɵelementStart(43, "div", 19)(44, "div", 29);
470
- i0.ɵɵelement(45, "i", 30);
395
+ i0.ɵɵelementStart(25, "div", 16)(26, "div", 26);
396
+ i0.ɵɵelement(27, "i", 27);
471
397
  i0.ɵɵelementEnd();
472
- i0.ɵɵelementStart(46, "div", 22)(47, "div", 23);
473
- i0.ɵɵtext(48);
398
+ i0.ɵɵelementStart(28, "div", 19)(29, "div", 20);
399
+ i0.ɵɵtext(30);
474
400
  i0.ɵɵelementEnd();
475
- i0.ɵɵelementStart(49, "div", 24);
476
- i0.ɵɵtext(50, "Restored");
401
+ i0.ɵɵelementStart(31, "div", 21);
402
+ i0.ɵɵtext(32, "Restored");
477
403
  i0.ɵɵelementEnd()()()();
478
- i0.ɵɵelementStart(51, "div", 31);
479
- i0.ɵɵrepeaterCreate(52, VersionHistoryLabelsResourceComponent_Conditional_2_For_53_Template, 6, 6, "button", 32, i0.ɵɵrepeaterTrackByIdentity);
480
- i0.ɵɵrepeaterCreate(54, VersionHistoryLabelsResourceComponent_Conditional_2_For_55_Template, 5, 5, "button", 33, i0.ɵɵrepeaterTrackByIdentity);
481
- i0.ɵɵelementEnd();
482
- i0.ɵɵelementStart(56, "div", 34);
483
- i0.ɵɵelement(57, "i", 35);
484
- i0.ɵɵelementStart(58, "input", 36);
485
- i0.ɵɵlistener("ngModelChange", function VersionHistoryLabelsResourceComponent_Conditional_2_Template_input_ngModelChange_58_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnSearchChange($event)); });
486
- i0.ɵɵelementEnd();
487
- i0.ɵɵconditionalCreate(59, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_59_Template, 2, 0, "button", 37);
488
- i0.ɵɵelementEnd();
489
- i0.ɵɵconditionalCreate(60, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_60_Template, 3, 0, "div", 38);
490
- i0.ɵɵconditionalCreate(61, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_61_Template, 20, 8, "div", 39);
491
- i0.ɵɵconditionalCreate(62, VersionHistoryLabelsResourceComponent_Conditional_2_Conditional_62_Template, 7, 3, "div", 40);
404
+ i0.ɵɵconditionalCreate(33, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_33_Template, 3, 0, "div", 28);
405
+ i0.ɵɵconditionalCreate(34, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_34_Template, 20, 8, "div", 29);
406
+ i0.ɵɵconditionalCreate(35, VersionHistoryLabelsResourceComponent_Conditional_16_Conditional_35_Template, 7, 3, "div", 30);
492
407
  } if (rf & 2) {
493
- const ctx_r1 = i0.ɵɵnextContext();
408
+ const ctx_r2 = i0.ɵɵnextContext();
409
+ i0.ɵɵadvance(6);
410
+ i0.ɵɵtextInterpolate(ctx_r2.FormatNumber(ctx_r2.TotalLabels));
494
411
  i0.ɵɵadvance(8);
495
- i0.ɵɵclassProp("active", ctx_r1.ViewMode === "card");
496
- i0.ɵɵadvance(2);
497
- i0.ɵɵclassProp("active", ctx_r1.ViewMode === "list");
498
- i0.ɵɵadvance(14);
499
- i0.ɵɵtextInterpolate(ctx_r1.FormatNumber(ctx_r1.TotalLabels));
500
- i0.ɵɵadvance(8);
501
- i0.ɵɵtextInterpolate(ctx_r1.FormatNumber(ctx_r1.ActiveLabels));
412
+ i0.ɵɵtextInterpolate(ctx_r2.FormatNumber(ctx_r2.ActiveLabels));
502
413
  i0.ɵɵadvance(8);
503
- i0.ɵɵtextInterpolate(ctx_r1.FormatNumber(ctx_r1.ArchivedLabels));
414
+ i0.ɵɵtextInterpolate(ctx_r2.FormatNumber(ctx_r2.ArchivedLabels));
504
415
  i0.ɵɵadvance(8);
505
- i0.ɵɵtextInterpolate(ctx_r1.FormatNumber(ctx_r1.RestoredLabels));
506
- i0.ɵɵadvance(4);
507
- i0.ɵɵrepeater(ctx_r1.ScopeStats);
508
- i0.ɵɵadvance(2);
509
- i0.ɵɵrepeater(ctx_r1.StatusStats);
510
- i0.ɵɵadvance(4);
511
- i0.ɵɵproperty("ngModel", ctx_r1.SearchText);
512
- i0.ɵɵadvance();
513
- i0.ɵɵconditional(ctx_r1.SearchText ? 59 : -1);
514
- i0.ɵɵadvance();
515
- i0.ɵɵconditional(ctx_r1.FilteredLabels.length > 0 && ctx_r1.ViewMode === "card" ? 60 : -1);
416
+ i0.ɵɵtextInterpolate(ctx_r2.FormatNumber(ctx_r2.RestoredLabels));
417
+ i0.ɵɵadvance(3);
418
+ i0.ɵɵconditional(ctx_r2.FilteredLabels.length > 0 && ctx_r2.ViewMode === "card" ? 33 : -1);
516
419
  i0.ɵɵadvance();
517
- i0.ɵɵconditional(ctx_r1.FilteredLabels.length > 0 && ctx_r1.ViewMode === "list" ? 61 : -1);
420
+ i0.ɵɵconditional(ctx_r2.FilteredLabels.length > 0 && ctx_r2.ViewMode === "list" ? 34 : -1);
518
421
  i0.ɵɵadvance();
519
- i0.ɵɵconditional(ctx_r1.FilteredLabels.length === 0 && !ctx_r1.IsLoading ? 62 : -1);
422
+ i0.ɵɵconditional(ctx_r2.FilteredLabels.length === 0 && !ctx_r2.IsLoading ? 35 : -1);
520
423
  } }
521
- function VersionHistoryLabelsResourceComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
522
- const _r15 = i0.ɵɵgetCurrentView();
523
- i0.ɵɵelementStart(0, "div", 99);
524
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnCreateWizardCancel()); });
525
- i0.ɵɵelementStart(1, "div", 100);
526
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_3_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r15); return i0.ɵɵresetView($event.stopPropagation()); });
527
- i0.ɵɵelementStart(2, "div", 101)(3, "h3", 102);
528
- i0.ɵɵelement(4, "i", 103);
424
+ function VersionHistoryLabelsResourceComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
425
+ const _r9 = i0.ɵɵgetCurrentView();
426
+ i0.ɵɵelementStart(0, "div", 84);
427
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnCreateWizardCancel()); });
428
+ i0.ɵɵelementStart(1, "div", 85);
429
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_17_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r9); return i0.ɵɵresetView($event.stopPropagation()); });
430
+ i0.ɵɵelementStart(2, "div", 86)(3, "h3", 87);
431
+ i0.ɵɵelement(4, "i", 88);
529
432
  i0.ɵɵtext(5, " Create Version Label ");
530
433
  i0.ɵɵelementEnd();
531
- i0.ɵɵelementStart(6, "button", 104);
532
- i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_3_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnCreateWizardCancel()); });
533
- i0.ɵɵelement(7, "i", 45);
434
+ i0.ɵɵelementStart(6, "button", 89);
435
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Conditional_17_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnCreateWizardCancel()); });
436
+ i0.ɵɵelement(7, "i", 90);
534
437
  i0.ɵɵelementEnd()();
535
- i0.ɵɵelementStart(8, "div", 105)(9, "mj-label-create", 106);
536
- i0.ɵɵlistener("Created", function VersionHistoryLabelsResourceComponent_Conditional_3_Template_mj_label_create_Created_9_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnLabelCreated($event)); })("Cancel", function VersionHistoryLabelsResourceComponent_Conditional_3_Template_mj_label_create_Cancel_9_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnCreateWizardCancel()); });
438
+ i0.ɵɵelementStart(8, "div", 91)(9, "mj-label-create", 92);
439
+ i0.ɵɵlistener("Created", function VersionHistoryLabelsResourceComponent_Conditional_17_Template_mj_label_create_Created_9_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnLabelCreated($event)); })("Cancel", function VersionHistoryLabelsResourceComponent_Conditional_17_Template_mj_label_create_Cancel_9_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnCreateWizardCancel()); });
537
440
  i0.ɵɵelementEnd()()()();
538
441
  } }
539
- function VersionHistoryLabelsResourceComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
540
- const _r16 = i0.ɵɵgetCurrentView();
541
- i0.ɵɵelementStart(0, "mj-label-detail-panel", 107);
542
- i0.ɵɵlistener("Close", function VersionHistoryLabelsResourceComponent_Conditional_4_Template_mj_label_detail_panel_Close_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnDetailPanelClose()); })("LabelUpdated", function VersionHistoryLabelsResourceComponent_Conditional_4_Template_mj_label_detail_panel_LabelUpdated_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnLabelUpdated()); })("EntityLinkClick", function VersionHistoryLabelsResourceComponent_Conditional_4_Template_mj_label_detail_panel_EntityLinkClick_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnEntityLinkClick($event)); });
442
+ function VersionHistoryLabelsResourceComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
443
+ const _r10 = i0.ɵɵgetCurrentView();
444
+ i0.ɵɵelementStart(0, "mj-label-detail-panel", 93);
445
+ i0.ɵɵlistener("Close", function VersionHistoryLabelsResourceComponent_Conditional_18_Template_mj_label_detail_panel_Close_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnDetailPanelClose()); })("LabelUpdated", function VersionHistoryLabelsResourceComponent_Conditional_18_Template_mj_label_detail_panel_LabelUpdated_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnLabelUpdated()); })("EntityLinkClick", function VersionHistoryLabelsResourceComponent_Conditional_18_Template_mj_label_detail_panel_EntityLinkClick_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnEntityLinkClick($event)); });
543
446
  i0.ɵɵelementEnd();
544
447
  } if (rf & 2) {
545
- const ctx_r1 = i0.ɵɵnextContext();
546
- i0.ɵɵproperty("Label", ctx_r1.SelectedLabel)("AllLabels", ctx_r1.Labels)("ItemCountMap", ctx_r1.ItemCountMap);
448
+ const ctx_r2 = i0.ɵɵnextContext();
449
+ i0.ɵɵproperty("Label", ctx_r2.SelectedLabel)("AllLabels", ctx_r2.Labels)("ItemCountMap", ctx_r2.ItemCountMap);
547
450
  } }
548
451
  let VersionHistoryLabelsResourceComponent = class VersionHistoryLabelsResourceComponent extends BaseResourceComponent {
549
452
  static { VersionHistoryLabelsResourceComponent_1 = this; }
@@ -579,6 +482,64 @@ let VersionHistoryLabelsResourceComponent = class VersionHistoryLabelsResourceCo
579
482
  ShowCreateWizard = false;
580
483
  metadata = this.ProviderToUse;
581
484
  destroy$ = new Subject();
485
+ viewOptions = [
486
+ { key: 'card', icon: 'fa-solid fa-grip', title: 'Card view' },
487
+ { key: 'list', icon: 'fa-solid fa-list', title: 'List view' }
488
+ ];
489
+ get FilterFields() {
490
+ const scopeOptions = [
491
+ { text: 'All Scopes', value: '' },
492
+ ...this.ScopeStats.map(s => ({ text: `${s.Scope} (${s.Count})`, value: s.Scope }))
493
+ ];
494
+ const statusOptions = [
495
+ { text: 'All Statuses', value: '' },
496
+ ...this.StatusStats.map(s => ({ text: `${s.Status} (${s.Count})`, value: s.Status }))
497
+ ];
498
+ return [
499
+ {
500
+ key: 'scopeFilter',
501
+ type: 'dropdown',
502
+ label: 'Scope',
503
+ icon: 'fa-solid fa-layer-group',
504
+ placeholder: 'All Scopes',
505
+ options: scopeOptions
506
+ },
507
+ {
508
+ key: 'statusFilter',
509
+ type: 'dropdown',
510
+ label: 'Status',
511
+ icon: 'fa-solid fa-circle-info',
512
+ placeholder: 'All Statuses',
513
+ options: statusOptions
514
+ }
515
+ ];
516
+ }
517
+ get FilterValues() {
518
+ return { scopeFilter: this.ScopeFilter, statusFilter: this.StatusFilter };
519
+ }
520
+ get ActiveFilterCount() {
521
+ let n = 0;
522
+ if (this.ScopeFilter)
523
+ n++;
524
+ if (this.StatusFilter)
525
+ n++;
526
+ return n;
527
+ }
528
+ onFilterValuesChange(v) {
529
+ const next = (v ?? {});
530
+ if ((next.scopeFilter ?? '') !== this.ScopeFilter) {
531
+ this.OnScopeFilterChange(next.scopeFilter ?? '');
532
+ }
533
+ if ((next.statusFilter ?? '') !== this.StatusFilter) {
534
+ this.OnStatusFilterChange(next.statusFilter ?? '');
535
+ }
536
+ }
537
+ resetFilters() {
538
+ if (this.ScopeFilter)
539
+ this.OnScopeFilterChange('');
540
+ if (this.StatusFilter)
541
+ this.OnStatusFilterChange('');
542
+ }
582
543
  constructor(cdr) {
583
544
  super();
584
545
  this.cdr = cdr;
@@ -937,23 +898,58 @@ let VersionHistoryLabelsResourceComponent = class VersionHistoryLabelsResourceCo
937
898
  return this.Labels.filter(l => UUIDsEqual(l.ParentID, parentId));
938
899
  }
939
900
  static ɵfac = function VersionHistoryLabelsResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || VersionHistoryLabelsResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
940
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryLabelsResourceComponent, selectors: [["mj-version-history-labels-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 4, consts: [[1, "labels-container"], ["text", "Loading version labels..."], [1, "create-wizard-overlay"], [3, "Label", "AllLabels", "ItemCountMap"], [1, "page-header"], [1, "header-left"], [1, "page-title"], [1, "page-subtitle"], [1, "header-actions"], [1, "view-toggle"], ["title", "Card view", 1, "toggle-btn", 3, "click"], [1, "fa-solid", "fa-grip"], ["title", "List view", 1, "toggle-btn", 3, "click"], [1, "fa-solid", "fa-list"], [1, "btn-primary", 3, "click"], [1, "fa-solid", "fa-plus"], ["title", "Refresh", 1, "btn-icon", 3, "click"], [1, "fa-solid", "fa-refresh"], [1, "kpi-row"], [1, "kpi-card"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-brand-primary) 10%, transparent)", "color", "var(--mj-brand-primary)"], [1, "fa-solid", "fa-tags"], [1, "kpi-content"], [1, "kpi-value"], [1, "kpi-label"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-success) 10%, transparent)", "color", "var(--mj-status-success)"], [1, "fa-solid", "fa-circle-check"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-text-muted) 10%, transparent)", "color", "var(--mj-text-muted)"], [1, "fa-solid", "fa-box-archive"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-warning) 10%, transparent)", "color", "var(--mj-status-warning)"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "scope-chips"], [1, "scope-chip", 3, "active"], [1, "scope-chip", 3, "active", "ngClass"], [1, "search-bar"], [1, "fa-solid", "fa-search", "search-icon"], ["type", "text", "placeholder", "Search labels by name, description, or entity...", 1, "search-input", 3, "ngModelChange", "ngModel"], [1, "btn-clear"], [1, "labels-list"], [1, "labels-table"], [1, "empty-state"], [1, "scope-chip", 3, "click"], [1, "chip-count"], [1, "scope-chip", 3, "click", "ngClass"], [1, "btn-clear", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "label-card", "clickable", 3, "group-parent"], [1, "label-card", "clickable", 3, "click"], [1, "label-header"], [1, "label-title-row"], [1, "label-scope-icon"], [1, "label-name"], [1, "group-badge"], [1, "label-status", 3, "ngClass"], [1, "label-meta"], ["title", "Scope", 1, "meta-item"], [1, "fa-solid", "fa-layer-group"], ["title", "Entity", 1, "meta-item"], ["title", "Record ID", 1, "meta-item"], ["title", "Items captured", 1, "meta-item"], ["title", "Creation time", 1, "meta-item"], ["title", "Created by", 1, "meta-item"], ["title", "Created", 1, "meta-item"], [1, "fa-regular", "fa-clock"], [1, "label-description"], [1, "child-labels"], [1, "fa-solid", "fa-table"], [1, "fa-solid", "fa-fingerprint"], [1, "fa-solid", "fa-camera"], [1, "fa-solid", "fa-stopwatch"], [1, "fa-solid", "fa-user"], [1, "child-label"], [1, "fa-solid", "fa-tag", "child-icon"], [1, "child-name"], [1, "child-record"], [1, "child-items"], [1, "list-header-row"], [1, "list-col-icon"], [1, "list-col-name", "sortable-header", 3, "click"], [1, "sort-icon"], [1, "list-col-entity"], [1, "list-col-status", "sortable-header", 3, "click"], [1, "list-col-items", "sortable-header", 3, "click"], [1, "list-col-date", "sortable-header", 3, "click"], [1, "list-col-arrow"], [1, "list-row", "clickable"], [1, "list-row", "clickable", 3, "click"], [1, "list-scope-icon"], [1, "list-col-name"], [1, "list-label-name"], [1, "list-group-badge"], [1, "list-col-status"], [1, "label-status", "small", 3, "ngClass"], [1, "list-col-items"], [1, "list-col-date"], [1, "fa-solid", "fa-chevron-right", "list-arrow"], [1, "fa-solid", "fa-tags", "empty-icon"], [1, "btn-primary", "empty-cta"], [1, "btn-primary", "empty-cta", 3, "click"], [1, "create-wizard-overlay", 3, "click"], [1, "create-wizard-container", 3, "click"], [1, "create-wizard-header"], [1, "create-wizard-title"], [1, "fa-solid", "fa-tag"], ["title", "Close", 1, "create-wizard-close", 3, "click"], [1, "create-wizard-body"], [3, "Created", "Cancel"], [3, "Close", "LabelUpdated", "EntityLinkClick", "Label", "AllLabels", "ItemCountMap"]], template: function VersionHistoryLabelsResourceComponent_Template(rf, ctx) { if (rf & 1) {
941
- i0.ɵɵelementStart(0, "div", 0);
942
- i0.ɵɵconditionalCreate(1, VersionHistoryLabelsResourceComponent_Conditional_1_Template, 1, 0, "mj-loading", 1);
943
- i0.ɵɵconditionalCreate(2, VersionHistoryLabelsResourceComponent_Conditional_2_Template, 63, 13);
944
- i0.ɵɵconditionalCreate(3, VersionHistoryLabelsResourceComponent_Conditional_3_Template, 10, 0, "div", 2);
945
- i0.ɵɵconditionalCreate(4, VersionHistoryLabelsResourceComponent_Conditional_4_Template, 1, 3, "mj-label-detail-panel", 3);
901
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryLabelsResourceComponent, selectors: [["mj-version-history-labels-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 14, consts: [["Title", "Version Labels", "Icon", "fa-solid fa-tags", "Subtitle", "Manage versioning snapshots across your system"], ["meta", ""], ["Label", "labels", 3, "Count", "Total"], ["actions", ""], [3, "ClearAllRequested", "ActiveCount", "ShowClearAll"], [3, "ValuesChange", "Reset", "Fields", "Values"], [3, "KeyChange", "Options", "ActiveKey"], [3, "Clicked", "Loading"], ["mjButton", "", "variant", "primary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-plus"], ["toolbar", ""], ["Placeholder", "Search labels by name, description, or entity...", 3, "ValueChange", "Value"], ["text", "Loading version labels..."], [1, "create-wizard-overlay"], [3, "Label", "AllLabels", "ItemCountMap"], [1, "kpi-row"], [1, "kpi-card"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-brand-primary) 10%, transparent)", "color", "var(--mj-brand-primary)"], [1, "fa-solid", "fa-tags"], [1, "kpi-content"], [1, "kpi-value"], [1, "kpi-label"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-success) 10%, transparent)", "color", "var(--mj-status-success)"], [1, "fa-solid", "fa-circle-check"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-text-muted) 10%, transparent)", "color", "var(--mj-text-muted)"], [1, "fa-solid", "fa-box-archive"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-warning) 10%, transparent)", "color", "var(--mj-status-warning)"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "labels-list"], [1, "labels-table"], [1, "empty-state"], [1, "label-card", "clickable", 3, "group-parent"], [1, "label-card", "clickable", 3, "click"], [1, "label-header"], [1, "label-title-row"], [1, "label-scope-icon"], [1, "label-name"], [1, "group-badge"], [1, "label-status", 3, "ngClass"], [1, "label-meta"], ["title", "Scope", 1, "meta-item"], [1, "fa-solid", "fa-layer-group"], ["title", "Entity", 1, "meta-item"], ["title", "Record ID", 1, "meta-item"], ["title", "Items captured", 1, "meta-item"], ["title", "Creation time", 1, "meta-item"], ["title", "Created by", 1, "meta-item"], ["title", "Created", 1, "meta-item"], [1, "fa-regular", "fa-clock"], [1, "label-description"], [1, "child-labels"], [1, "fa-solid", "fa-table"], [1, "fa-solid", "fa-fingerprint"], [1, "fa-solid", "fa-camera"], [1, "fa-solid", "fa-stopwatch"], [1, "fa-solid", "fa-user"], [1, "child-label"], [1, "fa-solid", "fa-tag", "child-icon"], [1, "child-name"], [1, "child-record"], [1, "child-items"], [1, "list-header-row"], [1, "list-col-icon"], [1, "list-col-name", "sortable-header", 3, "click"], [1, "sort-icon"], [1, "list-col-entity"], [1, "list-col-status", "sortable-header", 3, "click"], [1, "list-col-items", "sortable-header", 3, "click"], [1, "list-col-date", "sortable-header", 3, "click"], [1, "list-col-arrow"], [1, "list-row", "clickable"], [1, "list-row", "clickable", 3, "click"], [1, "list-scope-icon"], [1, "list-col-name"], [1, "list-label-name"], [1, "list-group-badge"], [1, "list-col-status"], [1, "label-status", "small", 3, "ngClass"], [1, "list-col-items"], [1, "list-col-date"], [1, "fa-solid", "fa-chevron-right", "list-arrow"], [1, "fa-solid", "fa-tags", "empty-icon"], [1, "btn-primary", "empty-cta"], [1, "btn-primary", "empty-cta", 3, "click"], [1, "create-wizard-overlay", 3, "click"], [1, "create-wizard-container", 3, "click"], [1, "create-wizard-header"], [1, "create-wizard-title"], [1, "fa-solid", "fa-tag"], ["title", "Close", 1, "create-wizard-close", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "create-wizard-body"], [3, "Created", "Cancel"], [3, "Close", "LabelUpdated", "EntityLinkClick", "Label", "AllLabels", "ItemCountMap"]], template: function VersionHistoryLabelsResourceComponent_Template(rf, ctx) { if (rf & 1) {
902
+ i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 0)(2, "div", 1);
903
+ i0.ɵɵelement(3, "mj-stat-badge", 2);
904
+ i0.ɵɵelementEnd();
905
+ i0.ɵɵelementStart(4, "div", 3)(5, "mj-filter-popover", 4);
906
+ i0.ɵɵlistener("ClearAllRequested", function VersionHistoryLabelsResourceComponent_Template_mj_filter_popover_ClearAllRequested_5_listener() { return ctx.resetFilters(); });
907
+ i0.ɵɵelementStart(6, "mj-filter-panel", 5);
908
+ i0.ɵɵlistener("ValuesChange", function VersionHistoryLabelsResourceComponent_Template_mj_filter_panel_ValuesChange_6_listener($event) { return ctx.onFilterValuesChange($event); })("Reset", function VersionHistoryLabelsResourceComponent_Template_mj_filter_panel_Reset_6_listener() { return ctx.resetFilters(); });
909
+ i0.ɵɵelementEnd()();
910
+ i0.ɵɵelementStart(7, "mj-view-toggle", 6);
911
+ i0.ɵɵlistener("KeyChange", function VersionHistoryLabelsResourceComponent_Template_mj_view_toggle_KeyChange_7_listener($event) { return ctx.SetViewMode($event); });
912
+ i0.ɵɵelementEnd();
913
+ i0.ɵɵelementStart(8, "mj-refresh-button", 7);
914
+ i0.ɵɵlistener("Clicked", function VersionHistoryLabelsResourceComponent_Template_mj_refresh_button_Clicked_8_listener() { return ctx.Refresh(); });
915
+ i0.ɵɵelementEnd();
916
+ i0.ɵɵelementStart(9, "button", 8);
917
+ i0.ɵɵlistener("click", function VersionHistoryLabelsResourceComponent_Template_button_click_9_listener() { return ctx.OpenCreateDialog(); });
918
+ i0.ɵɵelement(10, "i", 9);
919
+ i0.ɵɵtext(11, " Create Label ");
920
+ i0.ɵɵelementEnd()();
921
+ i0.ɵɵelementStart(12, "div", 10)(13, "mj-page-search", 11);
922
+ i0.ɵɵlistener("ValueChange", function VersionHistoryLabelsResourceComponent_Template_mj_page_search_ValueChange_13_listener($event) { return ctx.OnSearchChange($event); });
923
+ i0.ɵɵelementEnd()()();
924
+ i0.ɵɵelementStart(14, "mj-page-body");
925
+ i0.ɵɵconditionalCreate(15, VersionHistoryLabelsResourceComponent_Conditional_15_Template, 1, 0, "mj-loading", 12);
926
+ i0.ɵɵconditionalCreate(16, VersionHistoryLabelsResourceComponent_Conditional_16_Template, 36, 7);
927
+ i0.ɵɵconditionalCreate(17, VersionHistoryLabelsResourceComponent_Conditional_17_Template, 10, 0, "div", 13);
928
+ i0.ɵɵelementEnd();
929
+ i0.ɵɵconditionalCreate(18, VersionHistoryLabelsResourceComponent_Conditional_18_Template, 1, 3, "mj-label-detail-panel", 14);
946
930
  i0.ɵɵelementEnd();
947
931
  } if (rf & 2) {
932
+ i0.ɵɵadvance(3);
933
+ i0.ɵɵproperty("Count", ctx.FilteredLabels.length)("Total", ctx.Labels.length);
934
+ i0.ɵɵadvance(2);
935
+ i0.ɵɵproperty("ActiveCount", ctx.ActiveFilterCount)("ShowClearAll", ctx.ActiveFilterCount > 0);
936
+ i0.ɵɵadvance();
937
+ i0.ɵɵproperty("Fields", ctx.FilterFields)("Values", ctx.FilterValues);
938
+ i0.ɵɵadvance();
939
+ i0.ɵɵproperty("Options", ctx.viewOptions)("ActiveKey", ctx.ViewMode);
948
940
  i0.ɵɵadvance();
949
- i0.ɵɵconditional(ctx.IsLoading ? 1 : -1);
941
+ i0.ɵɵproperty("Loading", ctx.IsLoading);
942
+ i0.ɵɵadvance(5);
943
+ i0.ɵɵproperty("Value", ctx.SearchText);
944
+ i0.ɵɵadvance(2);
945
+ i0.ɵɵconditional(ctx.IsLoading ? 15 : -1);
950
946
  i0.ɵɵadvance();
951
- i0.ɵɵconditional(!ctx.IsLoading ? 2 : -1);
947
+ i0.ɵɵconditional(!ctx.IsLoading ? 16 : -1);
952
948
  i0.ɵɵadvance();
953
- i0.ɵɵconditional(ctx.ShowCreateWizard ? 3 : -1);
949
+ i0.ɵɵconditional(ctx.ShowCreateWizard ? 17 : -1);
954
950
  i0.ɵɵadvance();
955
- i0.ɵɵconditional(ctx.ShowDetailPanel && ctx.SelectedLabel ? 4 : -1);
956
- } }, dependencies: [i1.NgClass, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.LoadingComponent, i4.MjLabelCreateComponent, i4.MjLabelDetailComponent, i1.SlicePipe], styles: [".labels-container[_ngcontent-%COMP%] {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n}\n\n\n\n.page-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 24px;\n}\n\n.header-left[_ngcontent-%COMP%] { flex: 1; }\n\n.page-title[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n}\n\n.page-subtitle[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n align-items: center;\n}\n\n.btn-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-secondary);\n}\n\n.btn-icon[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.btn-primary[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n.btn-primary[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.btn-secondary[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-secondary[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n\n\n.kpi-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n\n\n.scope-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-bottom: 16px;\n}\n\n.scope-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n cursor: pointer;\n font-size: 13px;\n color: var(--mj-text-secondary);\n transition: all 0.2s ease;\n}\n\n.scope-chip[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n}\n\n.scope-chip.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.scope-chip.active[_ngcontent-%COMP%] .chip-count[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-text-inverse) 20%, transparent);\n color: var(--mj-text-inverse);\n}\n\n.chip-count[_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: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n\n\n.search-bar[_ngcontent-%COMP%] {\n position: relative;\n margin-bottom: 20px;\n}\n\n.search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 14px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n.search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 40px 10px 40px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 10px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n transition: border-color 0.2s ease;\n box-sizing: border-box;\n}\n\n.search-input[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.search-input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n\n.btn-clear[_ngcontent-%COMP%] {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n color: var(--mj-text-secondary);\n cursor: pointer;\n border-radius: 4px;\n}\n\n.btn-clear[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n\n\n.labels-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.label-card[_ngcontent-%COMP%] {\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n transition: all 0.2s ease;\n}\n\n.label-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-strong);\n box-shadow: var(--mj-shadow-sm);\n}\n\n.label-card.group-parent[_ngcontent-%COMP%] {\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.label-header[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.label-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.label-scope-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 16px;\n}\n\n.label-name[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n flex: 1;\n}\n\n.group-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 10px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.label-status[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.status-archived[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-text-muted) 10%, transparent);\n color: var(--mj-text-muted);\n}\n\n.status-restored[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n}\n\n.label-meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n margin-top: 4px;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n opacity: 0.7;\n}\n\n.label-description[_ngcontent-%COMP%] {\n margin: 10px 0 0 0;\n font-size: 14px;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n\n\n.child-labels[_ngcontent-%COMP%] {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.child-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.child-label[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.child-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n\n.child-name[_ngcontent-%COMP%] {\n flex: 1;\n color: var(--mj-text-primary);\n}\n\n.child-record[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n font-family: monospace;\n}\n\n.child-items[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 12px;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n.empty-cta[_ngcontent-%COMP%] {\n margin-top: 20px;\n}\n\n\n\n\n\n\n\n\n\n\n.step-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n margin-bottom: 24px;\n padding: 0 20px;\n}\n\n.step[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.step-number[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n font-size: 13px;\n font-weight: 700;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n transition: all 0.2s ease;\n}\n\n.step.active[_ngcontent-%COMP%] .step-number[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.step.completed[_ngcontent-%COMP%] .step-number[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.step-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-muted);\n}\n\n.step.active[_ngcontent-%COMP%] .step-label[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n font-weight: 600;\n}\n\n.step.completed[_ngcontent-%COMP%] .step-label[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n}\n\n.step-connector[_ngcontent-%COMP%] {\n width: 40px;\n height: 2px;\n background: var(--mj-border-default);\n margin: 0 8px;\n transition: background 0.2s ease;\n}\n\n.step-connector.active[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n\n\n\n.dialog-step[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n min-height: 300px;\n}\n\n.step-description[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n.step-header-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.btn-back[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.btn-back[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n\n\n.dialog-search[_ngcontent-%COMP%] {\n position: relative;\n}\n\n.dialog-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.dialog-search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 9px 12px 9px 36px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n transition: border-color 0.15s ease;\n}\n\n.dialog-search-input[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n}\n\n.dialog-search-input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n\n\n\n.entity-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n max-height: 320px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n}\n\n.entity-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.entity-option[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.entity-option[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-option-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.entity-option-name[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.entity-option-desc[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.entity-option-arrow[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n flex-shrink: 0;\n}\n\n.entity-list-empty[_ngcontent-%COMP%] {\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 14px;\n}\n\n\n\n.records-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.selection-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.btn-text[_ngcontent-%COMP%] {\n padding: 6px 12px;\n background: none;\n border: none;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-brand-primary);\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n}\n\n.btn-text[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.record-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n max-height: 280px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n}\n\n.record-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.record-option[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.record-option[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.record-option.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent);\n}\n\n.record-checkbox[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: 2px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 11px;\n color: transparent;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.record-option.selected[_ngcontent-%COMP%] .record-checkbox[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.record-name[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-primary);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.records-footer[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 8px;\n}\n\n.selection-count[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n\n\n.details-summary[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n padding: 14px 16px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n}\n\n.summary-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.summary-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 13px;\n}\n\n.form-field[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.form-input[_ngcontent-%COMP%] {\n padding: 10px 14px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n outline: none;\n transition: border-color 0.15s ease;\n}\n\n.form-input[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n\n.form-textarea[_ngcontent-%COMP%] {\n padding: 10px 14px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n outline: none;\n resize: vertical;\n font-family: inherit;\n transition: border-color 0.15s ease;\n}\n\n.form-textarea[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-textarea[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n\n.details-footer[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n padding-top: 8px;\n}\n\n\n\n.creating-step[_ngcontent-%COMP%] {\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 20px;\n}\n\n.creating-animation[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n\n.creating-icon[_ngcontent-%COMP%] {\n font-size: 40px;\n color: var(--mj-brand-primary);\n}\n\n.creating-title[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.creating-progress[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n\n\n.progress-container[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 420px;\n margin: 16px auto 0;\n text-align: left;\n}\n\n.progress-bar-track[_ngcontent-%COMP%] {\n width: 100%;\n height: 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.progress-bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n background: var(--mj-brand-primary);\n border-radius: 4px;\n transition: width 0.3s ease;\n}\n\n.progress-details[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n}\n\n.progress-message[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n margin-right: 12px;\n}\n\n.progress-pct[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n white-space: nowrap;\n}\n\n.progress-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n margin-top: 6px;\n}\n\n.progress-stat[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.progress-stat[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n\n\n.done-step[_ngcontent-%COMP%] {\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 20px;\n}\n\n.done-icon-wrap[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 56px;\n height: 56px;\n border-radius: 50%;\n font-size: 24px;\n margin-bottom: 16px;\n}\n\n.done-icon-wrap.success[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.done-icon-wrap.error[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, transparent);\n color: var(--mj-status-error);\n}\n\n.done-title[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.done-message[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0 0 20px 0;\n}\n\n.error-text[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n\n\n.view-toggle[_ngcontent-%COMP%] {\n display: flex;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.toggle-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--mj-text-muted);\n transition: all 0.15s ease;\n font-size: 14px;\n}\n\n.toggle-btn[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.toggle-btn.active[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n}\n\n.toggle-btn[_ngcontent-%COMP%] + .toggle-btn[_ngcontent-%COMP%] {\n border-left: 1px solid var(--mj-border-default);\n}\n\n\n\n.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.label-card.clickable[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n transform: translateY(-1px);\n}\n\n\n\n.labels-table[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n}\n\n.list-header-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 40px 1fr 160px 90px 60px 100px 32px;\n align-items: center;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.list-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 40px 1fr 160px 90px 60px 100px 32px;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n transition: all 0.15s ease;\n}\n\n.list-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.list-row[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, transparent);\n}\n\n.list-scope-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 15px;\n}\n\n.list-col-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n\n.list-label-name[_ngcontent-%COMP%] {\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.list-group-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.list-col-entity[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 13px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.list-col-items[_ngcontent-%COMP%] {\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.list-col-date[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.list-col-arrow[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.list-arrow[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n transition: transform 0.15s ease, color 0.15s ease;\n}\n\n.list-row[_ngcontent-%COMP%]:hover .list-arrow[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n\n.label-status.small[_ngcontent-%COMP%] {\n padding: 2px 8px;\n font-size: 11px;\n}\n\n\n\n.sortable-header[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n gap: 4px;\n transition: color 0.15s ease;\n}\n\n.sortable-header[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n}\n\n.sort-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity 0.15s ease;\n}\n\n.sortable-header[_ngcontent-%COMP%]:hover .sort-icon[_ngcontent-%COMP%] {\n opacity: 0.8;\n}\n\n\n\n@media (max-width: 768px) {\n .kpi-row[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .list-header-row[_ngcontent-%COMP%], \n .list-row[_ngcontent-%COMP%] {\n grid-template-columns: 36px 1fr 80px 60px 32px;\n }\n\n .list-col-entity[_ngcontent-%COMP%], \n .list-col-date[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n\n\n\n\n\n\n\n.create-wizard-overlay[_ngcontent-%COMP%] {\n position: fixed;\n inset: 0;\n background: var(--mj-bg-overlay);\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: _ngcontent-%COMP%_fadeIn 0.15s ease;\n}\n\n.create-wizard-container[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\n width: 90%;\n max-width: 600px;\n max-height: 85vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.create-wizard-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n}\n\n.create-wizard-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.create-wizard-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 15px;\n}\n\n.create-wizard-close[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: none;\n border: none;\n border-radius: 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.create-wizard-close[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.create-wizard-body[_ngcontent-%COMP%] {\n padding: 24px;\n overflow-y: auto;\n flex: 1;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}"], changeDetection: 0 });
951
+ i0.ɵɵconditional(ctx.ShowDetailPanel && ctx.SelectedLabel ? 18 : -1);
952
+ } }, dependencies: [i1.NgClass, i2.MJButtonDirective, i2.MJPageHeaderComponent, i2.MJPageLayoutComponent, i2.MJPageBodyComponent, i2.MJPageSearchComponent, i2.MJFilterPopoverComponent, i2.MJFilterPanelComponent, i2.MJViewToggleComponent, i2.MJStatBadgeComponent, i2.MJRefreshButtonComponent, i3.LoadingComponent, i4.MjLabelCreateComponent, i4.MjLabelDetailComponent, i1.SlicePipe], styles: ["\n\n.kpi-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n\n\n.labels-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.label-card[_ngcontent-%COMP%] {\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n transition: all 0.2s ease;\n}\n\n.label-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-strong);\n box-shadow: var(--mj-shadow-sm);\n}\n\n.label-card.group-parent[_ngcontent-%COMP%] {\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.label-header[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.label-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.label-scope-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 16px;\n}\n\n.label-name[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n flex: 1;\n}\n\n.group-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 10px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.label-status[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.status-archived[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-text-muted) 10%, transparent);\n color: var(--mj-text-muted);\n}\n\n.status-restored[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n}\n\n.label-meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n margin-top: 4px;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n opacity: 0.7;\n}\n\n.label-description[_ngcontent-%COMP%] {\n margin: 10px 0 0 0;\n font-size: 14px;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n\n\n.child-labels[_ngcontent-%COMP%] {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.child-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.child-label[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.child-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n\n.child-name[_ngcontent-%COMP%] {\n flex: 1;\n color: var(--mj-text-primary);\n}\n\n.child-record[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n font-family: monospace;\n}\n\n.child-items[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 12px;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n.empty-cta[_ngcontent-%COMP%] {\n margin-top: 20px;\n}\n\n\n\n\n\n\n\n\n\n\n.step-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n margin-bottom: 24px;\n padding: 0 20px;\n}\n\n.step[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.step-number[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n font-size: 13px;\n font-weight: 700;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n transition: all 0.2s ease;\n}\n\n.step.active[_ngcontent-%COMP%] .step-number[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.step.completed[_ngcontent-%COMP%] .step-number[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.step-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-muted);\n}\n\n.step.active[_ngcontent-%COMP%] .step-label[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n font-weight: 600;\n}\n\n.step.completed[_ngcontent-%COMP%] .step-label[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n}\n\n.step-connector[_ngcontent-%COMP%] {\n width: 40px;\n height: 2px;\n background: var(--mj-border-default);\n margin: 0 8px;\n transition: background 0.2s ease;\n}\n\n.step-connector.active[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n}\n\n\n\n.dialog-step[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n min-height: 300px;\n}\n\n.step-description[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n.step-header-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.btn-back[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.btn-back[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n\n\n.dialog-search[_ngcontent-%COMP%] {\n position: relative;\n}\n\n.dialog-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.dialog-search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 9px 12px 9px 36px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n transition: border-color 0.15s ease;\n}\n\n.dialog-search-input[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n}\n\n.dialog-search-input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n\n\n\n.entity-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n max-height: 320px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n}\n\n.entity-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.entity-option[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.entity-option[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-option-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.entity-option-name[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.entity-option-desc[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.entity-option-arrow[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n flex-shrink: 0;\n}\n\n.entity-list-empty[_ngcontent-%COMP%] {\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 14px;\n}\n\n\n\n.records-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.selection-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.btn-text[_ngcontent-%COMP%] {\n padding: 6px 12px;\n background: none;\n border: none;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-brand-primary);\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n}\n\n.btn-text[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.record-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n max-height: 280px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n}\n\n.record-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.record-option[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.record-option[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.record-option.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent);\n}\n\n.record-checkbox[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: 2px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 11px;\n color: transparent;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.record-option.selected[_ngcontent-%COMP%] .record-checkbox[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.record-name[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-primary);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.records-footer[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 8px;\n}\n\n.selection-count[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n\n\n.details-summary[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n padding: 14px 16px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n}\n\n.summary-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.summary-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 13px;\n}\n\n.form-field[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.form-input[_ngcontent-%COMP%] {\n padding: 10px 14px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n outline: none;\n transition: border-color 0.15s ease;\n}\n\n.form-input[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n\n.form-textarea[_ngcontent-%COMP%] {\n padding: 10px 14px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n outline: none;\n resize: vertical;\n font-family: inherit;\n transition: border-color 0.15s ease;\n}\n\n.form-textarea[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-textarea[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n}\n\n.details-footer[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n padding-top: 8px;\n}\n\n\n\n.creating-step[_ngcontent-%COMP%] {\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 20px;\n}\n\n.creating-animation[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n\n.creating-icon[_ngcontent-%COMP%] {\n font-size: 40px;\n color: var(--mj-brand-primary);\n}\n\n.creating-title[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.creating-progress[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n\n\n.progress-container[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 420px;\n margin: 16px auto 0;\n text-align: left;\n}\n\n.progress-bar-track[_ngcontent-%COMP%] {\n width: 100%;\n height: 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.progress-bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n background: var(--mj-brand-primary);\n border-radius: 4px;\n transition: width 0.3s ease;\n}\n\n.progress-details[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n}\n\n.progress-message[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n margin-right: 12px;\n}\n\n.progress-pct[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n white-space: nowrap;\n}\n\n.progress-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n margin-top: 6px;\n}\n\n.progress-stat[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.progress-stat[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n\n\n.done-step[_ngcontent-%COMP%] {\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 20px;\n}\n\n.done-icon-wrap[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 56px;\n height: 56px;\n border-radius: 50%;\n font-size: 24px;\n margin-bottom: 16px;\n}\n\n.done-icon-wrap.success[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.done-icon-wrap.error[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, transparent);\n color: var(--mj-status-error);\n}\n\n.done-title[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.done-message[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0 0 20px 0;\n}\n\n.error-text[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n\n\n.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.label-card.clickable[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n transform: translateY(-1px);\n}\n\n\n\n.labels-table[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n}\n\n.list-header-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 40px 1fr 160px 90px 60px 100px 32px;\n align-items: center;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.list-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 40px 1fr 160px 90px 60px 100px 32px;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n transition: all 0.15s ease;\n}\n\n.list-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.list-row[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, transparent);\n}\n\n.list-scope-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 15px;\n}\n\n.list-col-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n\n.list-label-name[_ngcontent-%COMP%] {\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.list-group-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.list-col-entity[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 13px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.list-col-items[_ngcontent-%COMP%] {\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.list-col-date[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.list-col-arrow[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.list-arrow[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n transition: transform 0.15s ease, color 0.15s ease;\n}\n\n.list-row[_ngcontent-%COMP%]:hover .list-arrow[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n\n.label-status.small[_ngcontent-%COMP%] {\n padding: 2px 8px;\n font-size: 11px;\n}\n\n\n\n.sortable-header[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n gap: 4px;\n transition: color 0.15s ease;\n}\n\n.sortable-header[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n}\n\n.sort-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity 0.15s ease;\n}\n\n.sortable-header[_ngcontent-%COMP%]:hover .sort-icon[_ngcontent-%COMP%] {\n opacity: 0.8;\n}\n\n\n\n@media (max-width: 768px) {\n .kpi-row[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .list-header-row[_ngcontent-%COMP%], \n .list-row[_ngcontent-%COMP%] {\n grid-template-columns: 36px 1fr 80px 60px 32px;\n }\n\n .list-col-entity[_ngcontent-%COMP%], \n .list-col-date[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n\n\n\n\n\n\n\n.create-wizard-overlay[_ngcontent-%COMP%] {\n position: fixed;\n inset: 0;\n background: var(--mj-bg-overlay);\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: _ngcontent-%COMP%_fadeIn 0.15s ease;\n}\n\n.create-wizard-container[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\n width: 90%;\n max-width: 600px;\n max-height: 85vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.create-wizard-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n}\n\n.create-wizard-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.create-wizard-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 15px;\n}\n\n.create-wizard-close[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: none;\n border: none;\n border-radius: 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.create-wizard-close[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.create-wizard-body[_ngcontent-%COMP%] {\n padding: 24px;\n overflow-y: auto;\n flex: 1;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}"], changeDetection: 0 });
957
953
  };
958
954
  VersionHistoryLabelsResourceComponent = VersionHistoryLabelsResourceComponent_1 = __decorate([
959
955
  RegisterClass(BaseResourceComponent, 'VersionHistoryLabelsResource')
@@ -961,7 +957,7 @@ VersionHistoryLabelsResourceComponent = VersionHistoryLabelsResourceComponent_1
961
957
  export { VersionHistoryLabelsResourceComponent };
962
958
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VersionHistoryLabelsResourceComponent, [{
963
959
  type: Component,
964
- args: [{ standalone: false, selector: 'mj-version-history-labels-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"labels-container\">\n @if (IsLoading) {\n <mj-loading text=\"Loading version labels...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- Header -->\n <div class=\"page-header\">\n <div class=\"header-left\">\n <h2 class=\"page-title\">Version Labels</h2>\n <p class=\"page-subtitle\">Manage versioning snapshots across your system</p>\n </div>\n <div class=\"header-actions\">\n <div class=\"view-toggle\">\n <button class=\"toggle-btn\" [class.active]=\"ViewMode === 'card'\" (click)=\"SetViewMode('card')\" title=\"Card view\">\n <i class=\"fa-solid fa-grip\"></i>\n </button>\n <button class=\"toggle-btn\" [class.active]=\"ViewMode === 'list'\" (click)=\"SetViewMode('list')\" title=\"List view\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n <button class=\"btn-primary\" (click)=\"OpenCreateDialog()\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>Create Label</span>\n </button>\n <button class=\"btn-icon\" (click)=\"Refresh()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n <!-- KPI Cards -->\n <div class=\"kpi-row\">\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent); color: var(--mj-brand-primary);\">\n <i class=\"fa-solid fa-tags\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(TotalLabels)}}</div>\n <div class=\"kpi-label\">Total Labels</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-success) 10%, transparent); color: var(--mj-status-success);\">\n <i class=\"fa-solid fa-circle-check\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(ActiveLabels)}}</div>\n <div class=\"kpi-label\">Active</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-text-muted) 10%, transparent); color: var(--mj-text-muted);\">\n <i class=\"fa-solid fa-box-archive\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(ArchivedLabels)}}</div>\n <div class=\"kpi-label\">Archived</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); color: var(--mj-status-warning);\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(RestoredLabels)}}</div>\n <div class=\"kpi-label\">Restored</div>\n </div>\n </div>\n </div>\n <!-- Scope breakdown -->\n <div class=\"scope-chips\">\n @for (stat of ScopeStats; track stat) {\n <button class=\"scope-chip\"\n [class.active]=\"ScopeFilter === stat.Scope\"\n (click)=\"OnScopeFilterChange(stat.Scope)\">\n <i [class]=\"stat.Icon\"></i>\n <span>{{stat.Scope}}</span>\n <span class=\"chip-count\">{{stat.Count}}</span>\n </button>\n }\n @for (stat of StatusStats; track stat) {\n <button class=\"scope-chip\"\n [class.active]=\"StatusFilter === stat.Status\"\n [ngClass]=\"GetStatusClass(stat.Status)\"\n (click)=\"OnStatusFilterChange(stat.Status)\">\n <span>{{stat.Status}}</span>\n <span class=\"chip-count\">{{stat.Count}}</span>\n </button>\n }\n </div>\n <!-- Search -->\n <div class=\"search-bar\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input type=\"text\"\n class=\"search-input\"\n placeholder=\"Search labels by name, description, or entity...\"\n [ngModel]=\"SearchText\"\n (ngModelChange)=\"OnSearchChange($event)\" />\n @if (SearchText) {\n <button class=\"btn-clear\" (click)=\"OnSearchChange('')\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n }\n </div>\n <!-- Labels Card View -->\n @if (FilteredLabels.length > 0 && ViewMode === 'card') {\n <div class=\"labels-list\">\n @for (label of FilteredLabels; track label) {\n <div class=\"label-card clickable\"\n [class.group-parent]=\"IsGroupParent(label)\"\n (click)=\"OnLabelClick(label)\">\n <div class=\"label-header\">\n <div class=\"label-title-row\">\n <i [class]=\"GetScopeIcon(label.Scope)\" class=\"label-scope-icon\"></i>\n <h3 class=\"label-name\">{{label.Name}}</h3>\n @if (IsGroupParent(label)) {\n <span class=\"group-badge\">\n <i class=\"fa-solid fa-layer-group\"></i>\n {{GetChildLabels(label.ID).length}} records\n </span>\n }\n <span class=\"label-status\" [ngClass]=\"GetStatusClass(label.Status)\">\n {{label.Status}}\n </span>\n </div>\n <div class=\"label-meta\">\n <span class=\"meta-item\" title=\"Scope\">\n <i class=\"fa-solid fa-layer-group\"></i> {{label.Scope}}\n </span>\n @if (label.Entity || label.EntityID) {\n <span class=\"meta-item\" title=\"Entity\">\n <i class=\"fa-solid fa-table\"></i> {{label.Entity ?? ResolveEntityName(label.EntityID)}}\n </span>\n }\n @if (label.RecordID) {\n <span class=\"meta-item\" title=\"Record ID\">\n <i class=\"fa-solid fa-fingerprint\"></i> {{label.RecordID | slice:0:12}}...\n </span>\n }\n @if (label.ItemCount) {\n <span class=\"meta-item\" title=\"Items captured\">\n <i class=\"fa-solid fa-camera\"></i> {{label.ItemCount}} items\n </span>\n }\n @if (!label.ItemCount) {\n <span class=\"meta-item\" title=\"Items captured\">\n <i class=\"fa-solid fa-camera\"></i> {{GetItemCount(label.ID)}} items\n </span>\n }\n @if (label.CreationDurationMS) {\n <span class=\"meta-item\" title=\"Creation time\">\n <i class=\"fa-solid fa-stopwatch\"></i> {{FormatDuration(label.CreationDurationMS)}}\n </span>\n }\n @if (label.CreatedByUser) {\n <span class=\"meta-item\" title=\"Created by\">\n <i class=\"fa-solid fa-user\"></i> {{label.CreatedByUser}}\n </span>\n }\n <span class=\"meta-item\" title=\"Created\">\n <i class=\"fa-regular fa-clock\"></i> {{FormatDate(label.__mj_CreatedAt)}}\n </span>\n </div>\n </div>\n @if (label.Description) {\n <p class=\"label-description\">{{label.Description}}</p>\n }\n <!-- Child labels for group parents -->\n @if (IsGroupParent(label) && GetChildLabels(label.ID).length > 0) {\n <div class=\"child-labels\">\n @for (child of GetChildLabels(label.ID); track child) {\n <div class=\"child-label\">\n <i class=\"fa-solid fa-tag child-icon\"></i>\n <span class=\"child-name\">{{child.Name}}</span>\n @if (child.RecordID) {\n <span class=\"child-record\">{{child.RecordID | slice:0:12}}...</span>\n }\n @if (child.ItemCount) {\n <span class=\"child-items\">{{child.ItemCount}} items</span>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Labels List View -->\n @if (FilteredLabels.length > 0 && ViewMode === 'list') {\n <div class=\"labels-table\">\n <div class=\"list-header-row\">\n <span class=\"list-col-icon\"></span>\n <span class=\"list-col-name sortable-header\" (click)=\"OnSortChange('Name')\">\n Name <i [class]=\"GetSortIcon('Name')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-entity\">Entity</span>\n <span class=\"list-col-status sortable-header\" (click)=\"OnSortChange('Status')\">\n Status <i [class]=\"GetSortIcon('Status')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-items sortable-header\" (click)=\"OnSortChange('Items')\">\n Items <i [class]=\"GetSortIcon('Items')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-date sortable-header\" (click)=\"OnSortChange('Date')\">\n Created <i [class]=\"GetSortIcon('Date')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-arrow\"></span>\n </div>\n @for (label of FilteredLabels; track label) {\n <div class=\"list-row clickable\"\n (click)=\"OnLabelClick(label)\">\n <span class=\"list-col-icon\">\n <i [class]=\"GetScopeIcon(label.Scope)\" class=\"list-scope-icon\"></i>\n </span>\n <span class=\"list-col-name\">\n <span class=\"list-label-name\">{{label.Name}}</span>\n @if (IsGroupParent(label)) {\n <span class=\"list-group-badge\">\n <i class=\"fa-solid fa-layer-group\"></i> {{GetChildLabels(label.ID).length}}\n </span>\n }\n </span>\n <span class=\"list-col-entity\">{{label.Entity ?? ResolveEntityName(label.EntityID)}}</span>\n <span class=\"list-col-status\">\n <span class=\"label-status small\" [ngClass]=\"GetStatusClass(label.Status)\">{{label.Status}}</span>\n </span>\n <span class=\"list-col-items\">{{label.ItemCount || GetItemCount(label.ID)}}</span>\n <span class=\"list-col-date\">{{FormatDate(label.__mj_CreatedAt)}}</span>\n <span class=\"list-col-arrow\">\n <i class=\"fa-solid fa-chevron-right list-arrow\"></i>\n </span>\n </div>\n }\n </div>\n }\n <!-- Empty state -->\n @if (FilteredLabels.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-tags empty-icon\"></i>\n <h3>No labels found</h3>\n @if (SearchText || ScopeFilter || StatusFilter) {\n <p>\n Try adjusting your filters or search criteria.\n </p>\n }\n @if (!SearchText && !ScopeFilter && !StatusFilter) {\n <p>\n No version labels have been created yet.\n </p>\n }\n @if (!SearchText && !ScopeFilter && !StatusFilter) {\n <button class=\"btn-primary empty-cta\"\n (click)=\"OpenCreateDialog()\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>Create Your First Label</span>\n </button>\n }\n </div>\n }\n }\n\n <!-- Create Label Wizard -->\n @if (ShowCreateWizard) {\n <div class=\"create-wizard-overlay\" (click)=\"OnCreateWizardCancel()\">\n <div class=\"create-wizard-container\" (click)=\"$event.stopPropagation()\">\n <div class=\"create-wizard-header\">\n <h3 class=\"create-wizard-title\">\n <i class=\"fa-solid fa-tag\"></i>\n Create Version Label\n </h3>\n <button class=\"create-wizard-close\" (click)=\"OnCreateWizardCancel()\" title=\"Close\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"create-wizard-body\">\n <mj-label-create\n (Created)=\"OnLabelCreated($event)\"\n (Cancel)=\"OnCreateWizardCancel()\">\n </mj-label-create>\n </div>\n </div>\n </div>\n }\n\n <!-- Detail panel -->\n @if (ShowDetailPanel && SelectedLabel) {\n <mj-label-detail-panel\n [Label]=\"SelectedLabel\"\n [AllLabels]=\"Labels\"\n [ItemCountMap]=\"ItemCountMap\"\n (Close)=\"OnDetailPanelClose()\"\n (LabelUpdated)=\"OnLabelUpdated()\"\n (EntityLinkClick)=\"OnEntityLinkClick($event)\">\n </mj-label-detail-panel>\n }\n</div>\n", styles: [".labels-container {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n}\n\n/* Header */\n.page-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 24px;\n}\n\n.header-left { flex: 1; }\n\n.page-title {\n font-size: 24px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n}\n\n.page-subtitle {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n.header-actions {\n display: flex;\n gap: 12px;\n align-items: center;\n}\n\n.btn-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-secondary);\n}\n\n.btn-icon:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.btn-primary {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n.btn-primary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.btn-secondary {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-secondary:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n/* KPI Row */\n.kpi-row {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n/* Scope Chips */\n.scope-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-bottom: 16px;\n}\n\n.scope-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n cursor: pointer;\n font-size: 13px;\n color: var(--mj-text-secondary);\n transition: all 0.2s ease;\n}\n\n.scope-chip:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n}\n\n.scope-chip.active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.scope-chip.active .chip-count {\n background: color-mix(in srgb, var(--mj-text-inverse) 20%, transparent);\n color: var(--mj-text-inverse);\n}\n\n.chip-count {\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: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n/* Search Bar */\n.search-bar {\n position: relative;\n margin-bottom: 20px;\n}\n\n.search-icon {\n position: absolute;\n left: 14px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n.search-input {\n width: 100%;\n padding: 10px 40px 10px 40px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 10px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n transition: border-color 0.2s ease;\n box-sizing: border-box;\n}\n\n.search-input:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.search-input::placeholder {\n color: var(--mj-text-muted);\n}\n\n.btn-clear {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n color: var(--mj-text-secondary);\n cursor: pointer;\n border-radius: 4px;\n}\n\n.btn-clear:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n/* Labels List */\n.labels-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.label-card {\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n transition: all 0.2s ease;\n}\n\n.label-card:hover {\n border-color: var(--mj-border-strong);\n box-shadow: var(--mj-shadow-sm);\n}\n\n.label-card.group-parent {\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.label-header {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.label-title-row {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.label-scope-icon {\n color: var(--mj-brand-primary);\n font-size: 16px;\n}\n\n.label-name {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n flex: 1;\n}\n\n.group-badge {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 10px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.label-status {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-active {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.status-archived {\n background: color-mix(in srgb, var(--mj-text-muted) 10%, transparent);\n color: var(--mj-text-muted);\n}\n\n.status-restored {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n}\n\n.label-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n margin-top: 4px;\n}\n\n.meta-item {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.meta-item i {\n font-size: 12px;\n opacity: 0.7;\n}\n\n.label-description {\n margin: 10px 0 0 0;\n font-size: 14px;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n/* Child labels */\n.child-labels {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.child-label {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.child-label:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.child-icon {\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n\n.child-name {\n flex: 1;\n color: var(--mj-text-primary);\n}\n\n.child-record {\n color: var(--mj-text-muted);\n font-size: 12px;\n font-family: monospace;\n}\n\n.child-items {\n color: var(--mj-text-secondary);\n font-size: 12px;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n.empty-cta {\n margin-top: 20px;\n}\n\n/* ==================================================================== */\n/* Create Label Dialog */\n/* ==================================================================== */\n\n/* Step Indicator */\n.step-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n margin-bottom: 24px;\n padding: 0 20px;\n}\n\n.step {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.step-number {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n font-size: 13px;\n font-weight: 700;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n transition: all 0.2s ease;\n}\n\n.step.active .step-number {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.step.completed .step-number {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.step-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-muted);\n}\n\n.step.active .step-label {\n color: var(--mj-text-primary);\n font-weight: 600;\n}\n\n.step.completed .step-label {\n color: var(--mj-status-success);\n}\n\n.step-connector {\n width: 40px;\n height: 2px;\n background: var(--mj-border-default);\n margin: 0 8px;\n transition: background 0.2s ease;\n}\n\n.step-connector.active {\n background: var(--mj-status-success);\n}\n\n/* Dialog Step Content */\n.dialog-step {\n display: flex;\n flex-direction: column;\n gap: 16px;\n min-height: 300px;\n}\n\n.step-description {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n.step-header-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.btn-back {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.btn-back:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n/* Dialog Search */\n.dialog-search {\n position: relative;\n}\n\n.dialog-search-icon {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.dialog-search-input {\n width: 100%;\n padding: 9px 12px 9px 36px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n transition: border-color 0.15s ease;\n}\n\n.dialog-search-input:focus {\n border-color: var(--mj-brand-primary);\n}\n\n.dialog-search-input::placeholder {\n color: var(--mj-text-muted);\n}\n\n/* Entity List */\n.entity-list {\n flex: 1;\n overflow-y: auto;\n max-height: 320px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n}\n\n.entity-option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.entity-option:last-child {\n border-bottom: none;\n}\n\n.entity-option:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-option-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.entity-option-name {\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.entity-option-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.entity-option-arrow {\n color: var(--mj-text-muted);\n font-size: 12px;\n flex-shrink: 0;\n}\n\n.entity-list-empty {\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 14px;\n}\n\n/* Records */\n.records-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.selection-actions {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.btn-text {\n padding: 6px 12px;\n background: none;\n border: none;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-brand-primary);\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n}\n\n.btn-text:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.record-list {\n flex: 1;\n overflow-y: auto;\n max-height: 280px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n}\n\n.record-option {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.record-option:last-child {\n border-bottom: none;\n}\n\n.record-option:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.record-option.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent);\n}\n\n.record-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: 2px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 11px;\n color: transparent;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.record-option.selected .record-checkbox {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.record-name {\n font-size: 14px;\n color: var(--mj-text-primary);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.records-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 8px;\n}\n\n.selection-count {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n/* Details step */\n.details-summary {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n padding: 14px 16px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n}\n\n.summary-item {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.summary-item i {\n color: var(--mj-brand-primary);\n font-size: 13px;\n}\n\n.form-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.form-input {\n padding: 10px 14px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n outline: none;\n transition: border-color 0.15s ease;\n}\n\n.form-input:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-input::placeholder {\n color: var(--mj-text-muted);\n}\n\n.form-textarea {\n padding: 10px 14px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n outline: none;\n resize: vertical;\n font-family: inherit;\n transition: border-color 0.15s ease;\n}\n\n.form-textarea:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-textarea::placeholder {\n color: var(--mj-text-muted);\n}\n\n.details-footer {\n display: flex;\n gap: 12px;\n padding-top: 8px;\n}\n\n/* Creating state */\n.creating-step {\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 20px;\n}\n\n.creating-animation {\n margin-bottom: 16px;\n}\n\n.creating-icon {\n font-size: 40px;\n color: var(--mj-brand-primary);\n}\n\n.creating-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.creating-progress {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n/* Progress bar */\n.progress-container {\n width: 100%;\n max-width: 420px;\n margin: 16px auto 0;\n text-align: left;\n}\n\n.progress-bar-track {\n width: 100%;\n height: 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.progress-bar-fill {\n height: 100%;\n background: var(--mj-brand-primary);\n border-radius: 4px;\n transition: width 0.3s ease;\n}\n\n.progress-details {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n}\n\n.progress-message {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n margin-right: 12px;\n}\n\n.progress-pct {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n white-space: nowrap;\n}\n\n.progress-stats {\n display: flex;\n gap: 16px;\n margin-top: 6px;\n}\n\n.progress-stat {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.progress-stat i {\n font-size: 11px;\n}\n\n/* Done state */\n.done-step {\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 20px;\n}\n\n.done-icon-wrap {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 56px;\n height: 56px;\n border-radius: 50%;\n font-size: 24px;\n margin-bottom: 16px;\n}\n\n.done-icon-wrap.success {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.done-icon-wrap.error {\n background: color-mix(in srgb, var(--mj-status-error) 10%, transparent);\n color: var(--mj-status-error);\n}\n\n.done-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.done-message {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0 0 20px 0;\n}\n\n.error-text {\n color: var(--mj-status-error);\n}\n\n/* View Toggle */\n.view-toggle {\n display: flex;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.toggle-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--mj-text-muted);\n transition: all 0.15s ease;\n font-size: 14px;\n}\n\n.toggle-btn:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.toggle-btn.active {\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n}\n\n.toggle-btn + .toggle-btn {\n border-left: 1px solid var(--mj-border-default);\n}\n\n/* Clickable cards/rows */\n.clickable {\n cursor: pointer;\n}\n\n.label-card.clickable:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n transform: translateY(-1px);\n}\n\n/* Labels Table (List View) */\n.labels-table {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n}\n\n.list-header-row {\n display: grid;\n grid-template-columns: 40px 1fr 160px 90px 60px 100px 32px;\n align-items: center;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.list-row {\n display: grid;\n grid-template-columns: 40px 1fr 160px 90px 60px 100px 32px;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n transition: all 0.15s ease;\n}\n\n.list-row:last-child {\n border-bottom: none;\n}\n\n.list-row:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, transparent);\n}\n\n.list-scope-icon {\n color: var(--mj-brand-primary);\n font-size: 15px;\n}\n\n.list-col-name {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n\n.list-label-name {\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.list-group-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.list-col-entity {\n color: var(--mj-text-secondary);\n font-size: 13px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.list-col-items {\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.list-col-date {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.list-col-arrow {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.list-arrow {\n color: var(--mj-text-muted);\n font-size: 12px;\n transition: transform 0.15s ease, color 0.15s ease;\n}\n\n.list-row:hover .list-arrow {\n color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n\n.label-status.small {\n padding: 2px 8px;\n font-size: 11px;\n}\n\n/* Sortable headers */\n.sortable-header {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n gap: 4px;\n transition: color 0.15s ease;\n}\n\n.sortable-header:hover {\n color: var(--mj-brand-primary);\n}\n\n.sort-icon {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity 0.15s ease;\n}\n\n.sortable-header:hover .sort-icon {\n opacity: 0.8;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n .kpi-row {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .list-header-row,\n .list-row {\n grid-template-columns: 36px 1fr 80px 60px 32px;\n }\n\n .list-col-entity,\n .list-col-date {\n display: none;\n }\n}\n\n/* ================================================================= */\n/* CREATE WIZARD OVERLAY */\n/* ================================================================= */\n\n.create-wizard-overlay {\n position: fixed;\n inset: 0;\n background: var(--mj-bg-overlay);\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: fadeIn 0.15s ease;\n}\n\n.create-wizard-container {\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\n width: 90%;\n max-width: 600px;\n max-height: 85vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.create-wizard-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n}\n\n.create-wizard-title {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.create-wizard-title i {\n color: var(--mj-brand-primary);\n font-size: 15px;\n}\n\n.create-wizard-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: none;\n border: none;\n border-radius: 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.create-wizard-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.create-wizard-body {\n padding: 24px;\n overflow-y: auto;\n flex: 1;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n"] }]
960
+ args: [{ standalone: false, selector: 'mj-version-history-labels-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mj-page-layout>\n <mj-page-header\n Title=\"Version Labels\"\n Icon=\"fa-solid fa-tags\"\n Subtitle=\"Manage versioning snapshots across your system\">\n <div meta>\n <mj-stat-badge\n [Count]=\"FilteredLabels.length\"\n [Total]=\"Labels.length\"\n Label=\"labels\">\n </mj-stat-badge>\n </div>\n <div actions>\n <mj-filter-popover\n [ActiveCount]=\"ActiveFilterCount\"\n [ShowClearAll]=\"ActiveFilterCount > 0\"\n (ClearAllRequested)=\"resetFilters()\">\n <mj-filter-panel\n [Fields]=\"FilterFields\"\n [Values]=\"FilterValues\"\n (ValuesChange)=\"onFilterValuesChange($event)\"\n (Reset)=\"resetFilters()\">\n </mj-filter-panel>\n </mj-filter-popover>\n <mj-view-toggle\n [Options]=\"viewOptions\"\n [ActiveKey]=\"ViewMode\"\n (KeyChange)=\"SetViewMode($any($event))\">\n </mj-view-toggle>\n <mj-refresh-button [Loading]=\"IsLoading\" (Clicked)=\"Refresh()\"></mj-refresh-button>\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"OpenCreateDialog()\">\n <i class=\"fa-solid fa-plus\"></i> Create Label\n </button>\n </div>\n <div toolbar>\n <mj-page-search\n Placeholder=\"Search labels by name, description, or entity...\"\n [Value]=\"SearchText\"\n (ValueChange)=\"OnSearchChange($event)\">\n </mj-page-search>\n </div>\n </mj-page-header>\n\n <mj-page-body>\n @if (IsLoading) {\n <mj-loading text=\"Loading version labels...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- KPI Cards -->\n <div class=\"kpi-row\">\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent); color: var(--mj-brand-primary);\">\n <i class=\"fa-solid fa-tags\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(TotalLabels)}}</div>\n <div class=\"kpi-label\">Total Labels</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-success) 10%, transparent); color: var(--mj-status-success);\">\n <i class=\"fa-solid fa-circle-check\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(ActiveLabels)}}</div>\n <div class=\"kpi-label\">Active</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-text-muted) 10%, transparent); color: var(--mj-text-muted);\">\n <i class=\"fa-solid fa-box-archive\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(ArchivedLabels)}}</div>\n <div class=\"kpi-label\">Archived</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); color: var(--mj-status-warning);\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(RestoredLabels)}}</div>\n <div class=\"kpi-label\">Restored</div>\n </div>\n </div>\n </div>\n <!-- Labels Card View -->\n @if (FilteredLabels.length > 0 && ViewMode === 'card') {\n <div class=\"labels-list\">\n @for (label of FilteredLabels; track label) {\n <div class=\"label-card clickable\"\n [class.group-parent]=\"IsGroupParent(label)\"\n (click)=\"OnLabelClick(label)\">\n <div class=\"label-header\">\n <div class=\"label-title-row\">\n <i [class]=\"GetScopeIcon(label.Scope)\" class=\"label-scope-icon\"></i>\n <h3 class=\"label-name\">{{label.Name}}</h3>\n @if (IsGroupParent(label)) {\n <span class=\"group-badge\">\n <i class=\"fa-solid fa-layer-group\"></i>\n {{GetChildLabels(label.ID).length}} records\n </span>\n }\n <span class=\"label-status\" [ngClass]=\"GetStatusClass(label.Status)\">\n {{label.Status}}\n </span>\n </div>\n <div class=\"label-meta\">\n <span class=\"meta-item\" title=\"Scope\">\n <i class=\"fa-solid fa-layer-group\"></i> {{label.Scope}}\n </span>\n @if (label.Entity || label.EntityID) {\n <span class=\"meta-item\" title=\"Entity\">\n <i class=\"fa-solid fa-table\"></i> {{label.Entity ?? ResolveEntityName(label.EntityID)}}\n </span>\n }\n @if (label.RecordID) {\n <span class=\"meta-item\" title=\"Record ID\">\n <i class=\"fa-solid fa-fingerprint\"></i> {{label.RecordID | slice:0:12}}...\n </span>\n }\n @if (label.ItemCount) {\n <span class=\"meta-item\" title=\"Items captured\">\n <i class=\"fa-solid fa-camera\"></i> {{label.ItemCount}} items\n </span>\n }\n @if (!label.ItemCount) {\n <span class=\"meta-item\" title=\"Items captured\">\n <i class=\"fa-solid fa-camera\"></i> {{GetItemCount(label.ID)}} items\n </span>\n }\n @if (label.CreationDurationMS) {\n <span class=\"meta-item\" title=\"Creation time\">\n <i class=\"fa-solid fa-stopwatch\"></i> {{FormatDuration(label.CreationDurationMS)}}\n </span>\n }\n @if (label.CreatedByUser) {\n <span class=\"meta-item\" title=\"Created by\">\n <i class=\"fa-solid fa-user\"></i> {{label.CreatedByUser}}\n </span>\n }\n <span class=\"meta-item\" title=\"Created\">\n <i class=\"fa-regular fa-clock\"></i> {{FormatDate(label.__mj_CreatedAt)}}\n </span>\n </div>\n </div>\n @if (label.Description) {\n <p class=\"label-description\">{{label.Description}}</p>\n }\n <!-- Child labels for group parents -->\n @if (IsGroupParent(label) && GetChildLabels(label.ID).length > 0) {\n <div class=\"child-labels\">\n @for (child of GetChildLabels(label.ID); track child) {\n <div class=\"child-label\">\n <i class=\"fa-solid fa-tag child-icon\"></i>\n <span class=\"child-name\">{{child.Name}}</span>\n @if (child.RecordID) {\n <span class=\"child-record\">{{child.RecordID | slice:0:12}}...</span>\n }\n @if (child.ItemCount) {\n <span class=\"child-items\">{{child.ItemCount}} items</span>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Labels List View -->\n @if (FilteredLabels.length > 0 && ViewMode === 'list') {\n <div class=\"labels-table\">\n <div class=\"list-header-row\">\n <span class=\"list-col-icon\"></span>\n <span class=\"list-col-name sortable-header\" (click)=\"OnSortChange('Name')\">\n Name <i [class]=\"GetSortIcon('Name')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-entity\">Entity</span>\n <span class=\"list-col-status sortable-header\" (click)=\"OnSortChange('Status')\">\n Status <i [class]=\"GetSortIcon('Status')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-items sortable-header\" (click)=\"OnSortChange('Items')\">\n Items <i [class]=\"GetSortIcon('Items')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-date sortable-header\" (click)=\"OnSortChange('Date')\">\n Created <i [class]=\"GetSortIcon('Date')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-arrow\"></span>\n </div>\n @for (label of FilteredLabels; track label) {\n <div class=\"list-row clickable\"\n (click)=\"OnLabelClick(label)\">\n <span class=\"list-col-icon\">\n <i [class]=\"GetScopeIcon(label.Scope)\" class=\"list-scope-icon\"></i>\n </span>\n <span class=\"list-col-name\">\n <span class=\"list-label-name\">{{label.Name}}</span>\n @if (IsGroupParent(label)) {\n <span class=\"list-group-badge\">\n <i class=\"fa-solid fa-layer-group\"></i> {{GetChildLabels(label.ID).length}}\n </span>\n }\n </span>\n <span class=\"list-col-entity\">{{label.Entity ?? ResolveEntityName(label.EntityID)}}</span>\n <span class=\"list-col-status\">\n <span class=\"label-status small\" [ngClass]=\"GetStatusClass(label.Status)\">{{label.Status}}</span>\n </span>\n <span class=\"list-col-items\">{{label.ItemCount || GetItemCount(label.ID)}}</span>\n <span class=\"list-col-date\">{{FormatDate(label.__mj_CreatedAt)}}</span>\n <span class=\"list-col-arrow\">\n <i class=\"fa-solid fa-chevron-right list-arrow\"></i>\n </span>\n </div>\n }\n </div>\n }\n <!-- Empty state -->\n @if (FilteredLabels.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-tags empty-icon\"></i>\n <h3>No labels found</h3>\n @if (SearchText || ScopeFilter || StatusFilter) {\n <p>\n Try adjusting your filters or search criteria.\n </p>\n }\n @if (!SearchText && !ScopeFilter && !StatusFilter) {\n <p>\n No version labels have been created yet.\n </p>\n }\n @if (!SearchText && !ScopeFilter && !StatusFilter) {\n <button class=\"btn-primary empty-cta\"\n (click)=\"OpenCreateDialog()\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>Create Your First Label</span>\n </button>\n }\n </div>\n }\n }\n\n <!-- Create Label Wizard -->\n @if (ShowCreateWizard) {\n <div class=\"create-wizard-overlay\" (click)=\"OnCreateWizardCancel()\">\n <div class=\"create-wizard-container\" (click)=\"$event.stopPropagation()\">\n <div class=\"create-wizard-header\">\n <h3 class=\"create-wizard-title\">\n <i class=\"fa-solid fa-tag\"></i>\n Create Version Label\n </h3>\n <button class=\"create-wizard-close\" (click)=\"OnCreateWizardCancel()\" title=\"Close\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"create-wizard-body\">\n <mj-label-create\n (Created)=\"OnLabelCreated($event)\"\n (Cancel)=\"OnCreateWizardCancel()\">\n </mj-label-create>\n </div>\n </div>\n </div>\n }\n\n </mj-page-body>\n\n <!-- Detail panel -->\n @if (ShowDetailPanel && SelectedLabel) {\n <mj-label-detail-panel\n [Label]=\"SelectedLabel\"\n [AllLabels]=\"Labels\"\n [ItemCountMap]=\"ItemCountMap\"\n (Close)=\"OnDetailPanelClose()\"\n (LabelUpdated)=\"OnLabelUpdated()\"\n (EntityLinkClick)=\"OnEntityLinkClick($event)\">\n </mj-label-detail-panel>\n }\n</mj-page-layout>\n", styles: ["/* KPI Row */\n.kpi-row {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n/* Labels List */\n.labels-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.label-card {\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n transition: all 0.2s ease;\n}\n\n.label-card:hover {\n border-color: var(--mj-border-strong);\n box-shadow: var(--mj-shadow-sm);\n}\n\n.label-card.group-parent {\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.label-header {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.label-title-row {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.label-scope-icon {\n color: var(--mj-brand-primary);\n font-size: 16px;\n}\n\n.label-name {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n flex: 1;\n}\n\n.group-badge {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 10px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.label-status {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.status-active {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.status-archived {\n background: color-mix(in srgb, var(--mj-text-muted) 10%, transparent);\n color: var(--mj-text-muted);\n}\n\n.status-restored {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n}\n\n.label-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n margin-top: 4px;\n}\n\n.meta-item {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.meta-item i {\n font-size: 12px;\n opacity: 0.7;\n}\n\n.label-description {\n margin: 10px 0 0 0;\n font-size: 14px;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n/* Child labels */\n.child-labels {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.child-label {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.child-label:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.child-icon {\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n\n.child-name {\n flex: 1;\n color: var(--mj-text-primary);\n}\n\n.child-record {\n color: var(--mj-text-muted);\n font-size: 12px;\n font-family: monospace;\n}\n\n.child-items {\n color: var(--mj-text-secondary);\n font-size: 12px;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n.empty-cta {\n margin-top: 20px;\n}\n\n/* ==================================================================== */\n/* Create Label Dialog */\n/* ==================================================================== */\n\n/* Step Indicator */\n.step-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n margin-bottom: 24px;\n padding: 0 20px;\n}\n\n.step {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.step-number {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n font-size: 13px;\n font-weight: 700;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n transition: all 0.2s ease;\n}\n\n.step.active .step-number {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.step.completed .step-number {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.step-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-muted);\n}\n\n.step.active .step-label {\n color: var(--mj-text-primary);\n font-weight: 600;\n}\n\n.step.completed .step-label {\n color: var(--mj-status-success);\n}\n\n.step-connector {\n width: 40px;\n height: 2px;\n background: var(--mj-border-default);\n margin: 0 8px;\n transition: background 0.2s ease;\n}\n\n.step-connector.active {\n background: var(--mj-status-success);\n}\n\n/* Dialog Step Content */\n.dialog-step {\n display: flex;\n flex-direction: column;\n gap: 16px;\n min-height: 300px;\n}\n\n.step-description {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n.step-header-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.btn-back {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.btn-back:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n/* Dialog Search */\n.dialog-search {\n position: relative;\n}\n\n.dialog-search-icon {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.dialog-search-input {\n width: 100%;\n padding: 9px 12px 9px 36px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n transition: border-color 0.15s ease;\n}\n\n.dialog-search-input:focus {\n border-color: var(--mj-brand-primary);\n}\n\n.dialog-search-input::placeholder {\n color: var(--mj-text-muted);\n}\n\n/* Entity List */\n.entity-list {\n flex: 1;\n overflow-y: auto;\n max-height: 320px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n}\n\n.entity-option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.entity-option:last-child {\n border-bottom: none;\n}\n\n.entity-option:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-option-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.entity-option-name {\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.entity-option-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.entity-option-arrow {\n color: var(--mj-text-muted);\n font-size: 12px;\n flex-shrink: 0;\n}\n\n.entity-list-empty {\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 14px;\n}\n\n/* Records */\n.records-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.selection-actions {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.btn-text {\n padding: 6px 12px;\n background: none;\n border: none;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-brand-primary);\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n}\n\n.btn-text:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.record-list {\n flex: 1;\n overflow-y: auto;\n max-height: 280px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n}\n\n.record-option {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.record-option:last-child {\n border-bottom: none;\n}\n\n.record-option:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.record-option.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent);\n}\n\n.record-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: 2px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 11px;\n color: transparent;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.record-option.selected .record-checkbox {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.record-name {\n font-size: 14px;\n color: var(--mj-text-primary);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.records-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 8px;\n}\n\n.selection-count {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n/* Details step */\n.details-summary {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n padding: 14px 16px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n}\n\n.summary-item {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.summary-item i {\n color: var(--mj-brand-primary);\n font-size: 13px;\n}\n\n.form-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.form-input {\n padding: 10px 14px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n outline: none;\n transition: border-color 0.15s ease;\n}\n\n.form-input:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-input::placeholder {\n color: var(--mj-text-muted);\n}\n\n.form-textarea {\n padding: 10px 14px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface);\n outline: none;\n resize: vertical;\n font-family: inherit;\n transition: border-color 0.15s ease;\n}\n\n.form-textarea:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-textarea::placeholder {\n color: var(--mj-text-muted);\n}\n\n.details-footer {\n display: flex;\n gap: 12px;\n padding-top: 8px;\n}\n\n/* Creating state */\n.creating-step {\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 20px;\n}\n\n.creating-animation {\n margin-bottom: 16px;\n}\n\n.creating-icon {\n font-size: 40px;\n color: var(--mj-brand-primary);\n}\n\n.creating-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.creating-progress {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n/* Progress bar */\n.progress-container {\n width: 100%;\n max-width: 420px;\n margin: 16px auto 0;\n text-align: left;\n}\n\n.progress-bar-track {\n width: 100%;\n height: 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.progress-bar-fill {\n height: 100%;\n background: var(--mj-brand-primary);\n border-radius: 4px;\n transition: width 0.3s ease;\n}\n\n.progress-details {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n}\n\n.progress-message {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n margin-right: 12px;\n}\n\n.progress-pct {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n white-space: nowrap;\n}\n\n.progress-stats {\n display: flex;\n gap: 16px;\n margin-top: 6px;\n}\n\n.progress-stat {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.progress-stat i {\n font-size: 11px;\n}\n\n/* Done state */\n.done-step {\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 20px;\n}\n\n.done-icon-wrap {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 56px;\n height: 56px;\n border-radius: 50%;\n font-size: 24px;\n margin-bottom: 16px;\n}\n\n.done-icon-wrap.success {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.done-icon-wrap.error {\n background: color-mix(in srgb, var(--mj-status-error) 10%, transparent);\n color: var(--mj-status-error);\n}\n\n.done-title {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.done-message {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0 0 20px 0;\n}\n\n.error-text {\n color: var(--mj-status-error);\n}\n\n/* Clickable cards/rows */\n.clickable {\n cursor: pointer;\n}\n\n.label-card.clickable:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 12px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n transform: translateY(-1px);\n}\n\n/* Labels Table (List View) */\n.labels-table {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n}\n\n.list-header-row {\n display: grid;\n grid-template-columns: 40px 1fr 160px 90px 60px 100px 32px;\n align-items: center;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.list-row {\n display: grid;\n grid-template-columns: 40px 1fr 160px 90px 60px 100px 32px;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n transition: all 0.15s ease;\n}\n\n.list-row:last-child {\n border-bottom: none;\n}\n\n.list-row:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, transparent);\n}\n\n.list-scope-icon {\n color: var(--mj-brand-primary);\n font-size: 15px;\n}\n\n.list-col-name {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n\n.list-label-name {\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.list-group-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.list-col-entity {\n color: var(--mj-text-secondary);\n font-size: 13px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.list-col-items {\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.list-col-date {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.list-col-arrow {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.list-arrow {\n color: var(--mj-text-muted);\n font-size: 12px;\n transition: transform 0.15s ease, color 0.15s ease;\n}\n\n.list-row:hover .list-arrow {\n color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n\n.label-status.small {\n padding: 2px 8px;\n font-size: 11px;\n}\n\n/* Sortable headers */\n.sortable-header {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n gap: 4px;\n transition: color 0.15s ease;\n}\n\n.sortable-header:hover {\n color: var(--mj-brand-primary);\n}\n\n.sort-icon {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity 0.15s ease;\n}\n\n.sortable-header:hover .sort-icon {\n opacity: 0.8;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n .kpi-row {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .list-header-row,\n .list-row {\n grid-template-columns: 36px 1fr 80px 60px 32px;\n }\n\n .list-col-entity,\n .list-col-date {\n display: none;\n }\n}\n\n/* ================================================================= */\n/* CREATE WIZARD OVERLAY */\n/* ================================================================= */\n\n.create-wizard-overlay {\n position: fixed;\n inset: 0;\n background: var(--mj-bg-overlay);\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: fadeIn 0.15s ease;\n}\n\n.create-wizard-container {\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\n width: 90%;\n max-width: 600px;\n max-height: 85vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.create-wizard-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n}\n\n.create-wizard-title {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.create-wizard-title i {\n color: var(--mj-brand-primary);\n font-size: 15px;\n}\n\n.create-wizard-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n background: none;\n border: none;\n border-radius: 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.create-wizard-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n.create-wizard-body {\n padding: 24px;\n overflow-y: auto;\n flex: 1;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n"] }]
965
961
  }], () => [{ type: i0.ChangeDetectorRef }], null); })();
966
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VersionHistoryLabelsResourceComponent, { className: "VersionHistoryLabelsResourceComponent", filePath: "src/VersionHistory/components/labels-resource.component.ts", lineNumber: 40 }); })();
962
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VersionHistoryLabelsResourceComponent, { className: "VersionHistoryLabelsResourceComponent", filePath: "src/VersionHistory/components/labels-resource.component.ts", lineNumber: 41 }); })();
967
963
  //# sourceMappingURL=labels-resource.component.js.map