@memberjunction/ng-dashboards 5.38.0 → 5.40.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 (321) hide show
  1. package/README.md +14 -7
  2. package/dist/AI/components/agents/agent-configuration.component.js +199 -198
  3. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  4. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  5. package/dist/AI/components/analytics/ai-analytics-resource.component.js +20 -17
  6. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  7. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +15 -0
  8. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
  9. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +166 -58
  10. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
  11. package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
  12. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +2 -1
  13. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
  14. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +1 -0
  15. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
  16. package/dist/AI/components/analytics/model-performance/model-performance.component.js +55 -36
  17. package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
  18. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts +9 -1
  19. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
  20. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +158 -117
  21. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
  22. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts +1 -0
  23. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
  24. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +22 -8
  25. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
  26. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +217 -860
  27. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  28. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +1717 -7802
  29. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  30. package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts +56 -0
  31. package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts.map +1 -0
  32. package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js +423 -0
  33. package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js.map +1 -0
  34. package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts +70 -0
  35. package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts.map +1 -0
  36. package/dist/AI/components/autotagging/components/classify-item-grid.component.js +308 -0
  37. package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -0
  38. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts +29 -0
  39. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -0
  40. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +186 -0
  41. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -0
  42. package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts +69 -0
  43. package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts.map +1 -0
  44. package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js +278 -0
  45. package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js.map +1 -0
  46. package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts +73 -0
  47. package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts.map +1 -0
  48. package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js +393 -0
  49. package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js.map +1 -0
  50. package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts +122 -0
  51. package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts.map +1 -0
  52. package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js +908 -0
  53. package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js.map +1 -0
  54. package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts +87 -0
  55. package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts.map +1 -0
  56. package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js +475 -0
  57. package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js.map +1 -0
  58. package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts +29 -0
  59. package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts.map +1 -0
  60. package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js +208 -0
  61. package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js.map +1 -0
  62. package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts +21 -0
  63. package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts.map +1 -0
  64. package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js +70 -0
  65. package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js.map +1 -0
  66. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts +333 -0
  67. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -0
  68. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +2125 -0
  69. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -0
  70. package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts +61 -0
  71. package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts.map +1 -0
  72. package/dist/AI/components/autotagging/shared/classify.dryrun.js +78 -0
  73. package/dist/AI/components/autotagging/shared/classify.dryrun.js.map +1 -0
  74. package/dist/AI/components/autotagging/shared/classify.format.d.ts +58 -0
  75. package/dist/AI/components/autotagging/shared/classify.format.d.ts.map +1 -0
  76. package/dist/AI/components/autotagging/shared/classify.format.js +260 -0
  77. package/dist/AI/components/autotagging/shared/classify.format.js.map +1 -0
  78. package/dist/AI/components/autotagging/shared/classify.types.d.ts +319 -0
  79. package/dist/AI/components/autotagging/shared/classify.types.d.ts.map +1 -0
  80. package/dist/AI/components/autotagging/shared/classify.types.js +6 -0
  81. package/dist/AI/components/autotagging/shared/classify.types.js.map +1 -0
  82. package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts +103 -0
  83. package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts.map +1 -0
  84. package/dist/AI/components/autotagging/tabs/health-tab.component.js +571 -0
  85. package/dist/AI/components/autotagging/tabs/health-tab.component.js.map +1 -0
  86. package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts +77 -0
  87. package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts.map +1 -0
  88. package/dist/AI/components/autotagging/tabs/history-tab.component.js +519 -0
  89. package/dist/AI/components/autotagging/tabs/history-tab.component.js.map +1 -0
  90. package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts +107 -0
  91. package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts.map +1 -0
  92. package/dist/AI/components/autotagging/tabs/inbox-tab.component.js +719 -0
  93. package/dist/AI/components/autotagging/tabs/inbox-tab.component.js.map +1 -0
  94. package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts +131 -0
  95. package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts.map +1 -0
  96. package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js +813 -0
  97. package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js.map +1 -0
  98. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +177 -0
  99. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -0
  100. package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1465 -0
  101. package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -0
  102. package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts +78 -0
  103. package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts.map +1 -0
  104. package/dist/AI/components/autotagging/tabs/tags-tab.component.js +492 -0
  105. package/dist/AI/components/autotagging/tabs/tags-tab.component.js.map +1 -0
  106. package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts +397 -0
  107. package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts.map +1 -0
  108. package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js +3490 -0
  109. package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js.map +1 -0
  110. package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts +56 -0
  111. package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts.map +1 -0
  112. package/dist/AI/components/autotagging/tabs/types-tab.component.js +271 -0
  113. package/dist/AI/components/autotagging/tabs/types-tab.component.js.map +1 -0
  114. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +3 -0
  115. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  116. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +306 -290
  117. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  118. package/dist/AI/components/execution-monitoring.component.js +1 -1
  119. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  120. package/dist/AI/components/models/model-management.component.js +209 -208
  121. package/dist/AI/components/models/model-management.component.js.map +1 -1
  122. package/dist/AI/components/prompts/prompt-management.component.js +130 -128
  123. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  124. package/dist/AI/components/requests/agent-requests-resource.component.js +61 -61
  125. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  126. package/dist/AI/components/system/system-configuration.component.js +17 -17
  127. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  128. package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
  129. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  130. package/dist/AI/components/tags/tags-resource.component.js +578 -538
  131. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  132. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +3 -0
  133. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  134. package/dist/AI/components/vectors/vector-management-resource.component.js +331 -303
  135. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  136. package/dist/AI/services/ai-instrumentation.service.d.ts +5 -0
  137. package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
  138. package/dist/AI/services/ai-instrumentation.service.js +14 -2
  139. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  140. package/dist/AI/services/cache-metrics.d.ts +50 -0
  141. package/dist/AI/services/cache-metrics.d.ts.map +1 -0
  142. package/dist/AI/services/cache-metrics.js +43 -0
  143. package/dist/AI/services/cache-metrics.js.map +1 -0
  144. package/dist/APIKeys/api-applications-panel.component.js +2 -2
  145. package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
  146. package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
  147. package/dist/APIKeys/api-keys-resource.component.js +132 -131
  148. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  149. package/dist/Actions/components/actions-overview.component.js +141 -141
  150. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  151. package/dist/Actions/components/execution-monitoring.component.js +15 -15
  152. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  153. package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -5
  154. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  155. package/dist/Actions/components/explorer/action-explorer.component.js +139 -212
  156. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  157. package/dist/Admin/admin-data-schema.component.js +2 -2
  158. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  159. package/dist/Admin/admin-dev-tools-resource.component.js +2 -2
  160. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  161. package/dist/Admin/admin-identity-access.component.js +2 -2
  162. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  163. package/dist/Admin/admin-monitoring.component.js +2 -2
  164. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  165. package/dist/ApplicationRoles/application-roles-resource.component.js +54 -49
  166. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  167. package/dist/Communication/communication-logs-resource.component.d.ts +6 -0
  168. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  169. package/dist/Communication/communication-logs-resource.component.js +72 -50
  170. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  171. package/dist/Communication/communication-monitor-resource.component.js +103 -102
  172. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  173. package/dist/Communication/communication-providers-resource.component.js +52 -51
  174. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  175. package/dist/Communication/communication-runs-resource.component.js +39 -38
  176. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  177. package/dist/Communication/communication-templates-resource.component.d.ts +6 -0
  178. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  179. package/dist/Communication/communication-templates-resource.component.js +92 -89
  180. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  181. package/dist/Credentials/components/credentials-audit-resource.component.js +136 -135
  182. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  183. package/dist/Credentials/components/credentials-categories-resource.component.js +155 -152
  184. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  185. package/dist/Credentials/components/credentials-list-resource.component.js +119 -118
  186. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  187. package/dist/Credentials/components/credentials-overview-resource.component.js +129 -128
  188. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  189. package/dist/Credentials/components/credentials-types-resource.component.js +107 -106
  190. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  191. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +31 -340
  192. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  193. package/dist/DataExplorer/data-explorer-dashboard.component.js +468 -1958
  194. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  195. package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
  196. package/dist/DataExplorer/data-explorer-resource.component.js +10 -0
  197. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
  198. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +1 -1
  199. package/dist/DatabaseDesigner/components/entity-list.component.js +115 -114
  200. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  201. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +5 -6
  202. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  203. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +4 -5
  204. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  205. package/dist/DevTools/app-state-inspector.component.js +18 -17
  206. package/dist/DevTools/app-state-inspector.component.js.map +1 -1
  207. package/dist/DevTools/class-registry.component.js +88 -85
  208. package/dist/DevTools/class-registry.component.js.map +1 -1
  209. package/dist/DevTools/event-monitor.component.js +155 -150
  210. package/dist/DevTools/event-monitor.component.js.map +1 -1
  211. package/dist/DevTools/graphql-console.component.js +245 -243
  212. package/dist/DevTools/graphql-console.component.js.map +1 -1
  213. package/dist/DevTools/layout-inspector.component.js +18 -17
  214. package/dist/DevTools/layout-inspector.component.js.map +1 -1
  215. package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -19
  216. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  217. package/dist/Home/home-dashboard.component.js +2 -2
  218. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  219. package/dist/Integration/components/activity/activity.component.js +236 -229
  220. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  221. package/dist/Integration/components/connections/connections.component.js +390 -389
  222. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  223. package/dist/Integration/components/overview/overview.component.js +2 -2
  224. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
  225. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +14 -11
  226. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  227. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +27 -2
  228. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
  229. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +244 -119
  230. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  231. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +293 -291
  232. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  233. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +62 -61
  234. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  235. package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts +65 -0
  236. package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts.map +1 -0
  237. package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js +176 -0
  238. package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js.map +1 -0
  239. package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts +81 -0
  240. package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts.map +1 -0
  241. package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js +308 -0
  242. package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js.map +1 -0
  243. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +85 -0
  244. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -0
  245. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +362 -0
  246. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -0
  247. package/dist/KnowledgeHub/index.d.ts +3 -0
  248. package/dist/KnowledgeHub/index.d.ts.map +1 -1
  249. package/dist/KnowledgeHub/index.js +3 -0
  250. package/dist/KnowledgeHub/index.js.map +1 -1
  251. package/dist/Lists/components/lists-browse-resource.component.d.ts +6 -2
  252. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  253. package/dist/Lists/components/lists-browse-resource.component.js +525 -566
  254. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  255. package/dist/Lists/components/lists-categories-resource.component.js +135 -134
  256. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  257. package/dist/Lists/components/lists-my-lists-resource.component.js +199 -198
  258. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  259. package/dist/MCP/components/mcp-server-dialog.component.js +2 -2
  260. package/dist/MCP/mcp-dashboard.component.js +443 -438
  261. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  262. package/dist/QueryBrowser/query-browser-resource.component.js +1 -1
  263. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  264. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  265. package/dist/Scheduling/components/scheduling-activity.component.js +146 -147
  266. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  267. package/dist/Scheduling/components/scheduling-jobs.component.js +76 -75
  268. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  269. package/dist/Scheduling/components/scheduling-overview.component.js +97 -96
  270. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  271. package/dist/Scheduling/scheduling-dashboard.component.js +24 -22
  272. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  273. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +2 -0
  274. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
  275. package/dist/Scheduling/services/scheduling-instrumentation.service.js +1 -0
  276. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  277. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +1 -1
  278. package/dist/Testing/components/testing-explorer.component.d.ts +14 -4
  279. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  280. package/dist/Testing/components/testing-explorer.component.js +436 -427
  281. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  282. package/dist/Testing/components/testing-runs-resource.component.js +1 -1
  283. package/dist/Testing/components/testing-runs.component.js +116 -115
  284. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  285. package/dist/Testing/testing-dashboard.component.js +6 -7
  286. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  287. package/dist/VersionHistory/components/labels-resource.component.js +173 -172
  288. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  289. package/dist/VersionHistory/components/restore-resource.component.d.ts +6 -0
  290. package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -1
  291. package/dist/VersionHistory/components/restore-resource.component.js +116 -92
  292. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  293. package/dist/ai-dashboards.module.d.ts +57 -35
  294. package/dist/ai-dashboards.module.d.ts.map +1 -1
  295. package/dist/ai-dashboards.module.js +80 -1
  296. package/dist/ai-dashboards.module.js.map +1 -1
  297. package/dist/communication-dashboards.module.d.ts +1 -1
  298. package/dist/communication-dashboards.module.d.ts.map +1 -1
  299. package/dist/communication-dashboards.module.js +7 -1
  300. package/dist/communication-dashboards.module.js.map +1 -1
  301. package/dist/data-explorer-dashboards.module.d.ts +12 -14
  302. package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
  303. package/dist/data-explorer-dashboards.module.js +5 -14
  304. package/dist/data-explorer-dashboards.module.js.map +1 -1
  305. package/dist/public-api.d.ts +3 -0
  306. package/dist/public-api.d.ts.map +1 -1
  307. package/dist/public-api.js +3 -0
  308. package/dist/public-api.js.map +1 -1
  309. package/dist/testing-dashboards.module.d.ts +4 -5
  310. package/dist/testing-dashboards.module.d.ts.map +1 -1
  311. package/dist/testing-dashboards.module.js +7 -5
  312. package/dist/testing-dashboards.module.js.map +1 -1
  313. package/package.json +57 -54
  314. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts +0 -79
  315. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +0 -1
  316. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +0 -195
  317. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +0 -1
  318. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts +0 -226
  319. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +0 -1
  320. package/dist/DataExplorer/components/view-selector/view-selector.component.js +0 -861
  321. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +0 -1
@@ -0,0 +1,208 @@
1
+ /**
2
+ * @fileoverview Classify · Content Item Detail slide-in dialog.
3
+ *
4
+ * Presentational slide-in panel showing a content item's details, tags, text,
5
+ * metadata, and actions. Opened from multiple tabs, so it is rendered by the
6
+ * HOST (the data orchestrator), which builds the `ContentItemDetail` and toggles
7
+ * visibility. This component is purely presentational: data DOWN via `[Item]` /
8
+ * `[Show]`, intents UP via `(Closed)` / `(OpenRecordRequested)`.
9
+ */
10
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
11
+ import { BaseAngularComponent } from '@memberjunction/ng-base-types';
12
+ import { formatWeight, tagFontSize } from '../shared/classify.format';
13
+ import * as i0 from "@angular/core";
14
+ const _forTrack0 = ($index, $item) => $item.Tag;
15
+ function ClassifyItemDetailDialogComponent_Conditional_0_Conditional_15_Conditional_2_Template(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵelementStart(0, "span", 23);
17
+ i0.ɵɵelement(1, "i", 24);
18
+ i0.ɵɵtext(2);
19
+ i0.ɵɵelementEnd();
20
+ } if (rf & 2) {
21
+ const ctx_r1 = i0.ɵɵnextContext(3);
22
+ i0.ɵɵadvance(2);
23
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.Item.FileTypeName);
24
+ } }
25
+ function ClassifyItemDetailDialogComponent_Conditional_0_Conditional_15_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "span", 22);
27
+ i0.ɵɵtext(1);
28
+ i0.ɵɵelementEnd();
29
+ i0.ɵɵconditionalCreate(2, ClassifyItemDetailDialogComponent_Conditional_0_Conditional_15_Conditional_2_Template, 3, 1, "span", 23);
30
+ } if (rf & 2) {
31
+ const ctx_r1 = i0.ɵɵnextContext(2);
32
+ i0.ɵɵadvance();
33
+ i0.ɵɵtextInterpolate(ctx_r1.Item.ContentTypeName);
34
+ i0.ɵɵadvance();
35
+ i0.ɵɵconditional(ctx_r1.Item.FileTypeName ? 2 : -1);
36
+ } }
37
+ function ClassifyItemDetailDialogComponent_Conditional_0_Conditional_16_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
39
+ i0.ɵɵtext(2, "URL");
40
+ i0.ɵɵelementEnd();
41
+ i0.ɵɵelementStart(3, "a", 25);
42
+ i0.ɵɵtext(4);
43
+ i0.ɵɵelement(5, "i", 26);
44
+ i0.ɵɵelementEnd()();
45
+ } if (rf & 2) {
46
+ const ctx_r1 = i0.ɵɵnextContext(2);
47
+ i0.ɵɵadvance(3);
48
+ i0.ɵɵproperty("href", ctx_r1.Item.URL, i0.ɵɵsanitizeUrl);
49
+ i0.ɵɵadvance();
50
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.Item.URL, " ");
51
+ } }
52
+ function ClassifyItemDetailDialogComponent_Conditional_0_Conditional_17_Template(rf, ctx) { if (rf & 1) {
53
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
54
+ i0.ɵɵtext(2, "Content Preview");
55
+ i0.ɵɵelementEnd();
56
+ i0.ɵɵelementStart(3, "div", 27);
57
+ i0.ɵɵtext(4);
58
+ i0.ɵɵelementEnd()();
59
+ } if (rf & 2) {
60
+ const ctx_r1 = i0.ɵɵnextContext(2);
61
+ i0.ɵɵadvance(4);
62
+ i0.ɵɵtextInterpolate(ctx_r1.Item.TextContent);
63
+ } }
64
+ function ClassifyItemDetailDialogComponent_Conditional_0_Conditional_18_For_5_Template(rf, ctx) { if (rf & 1) {
65
+ i0.ɵɵelementStart(0, "span", 30);
66
+ i0.ɵɵtext(1);
67
+ i0.ɵɵelementStart(2, "span", 31);
68
+ i0.ɵɵtext(3);
69
+ i0.ɵɵelementEnd()();
70
+ } if (rf & 2) {
71
+ const wt_r3 = ctx.$implicit;
72
+ const ctx_r1 = i0.ɵɵnextContext(3);
73
+ i0.ɵɵstyleProp("font-size", ctx_r1.TagFontSize(wt_r3.Weight));
74
+ i0.ɵɵadvance();
75
+ i0.ɵɵtextInterpolate1(" ", wt_r3.Tag, " ");
76
+ i0.ɵɵadvance(2);
77
+ i0.ɵɵtextInterpolate(ctx_r1.FormatWeight(wt_r3.Weight));
78
+ } }
79
+ function ClassifyItemDetailDialogComponent_Conditional_0_Conditional_18_Template(rf, ctx) { if (rf & 1) {
80
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
81
+ i0.ɵɵtext(2);
82
+ i0.ɵɵelementEnd();
83
+ i0.ɵɵelementStart(3, "div", 28);
84
+ i0.ɵɵrepeaterCreate(4, ClassifyItemDetailDialogComponent_Conditional_0_Conditional_18_For_5_Template, 4, 4, "span", 29, _forTrack0);
85
+ i0.ɵɵelementEnd()();
86
+ } if (rf & 2) {
87
+ const ctx_r1 = i0.ɵɵnextContext(2);
88
+ i0.ɵɵadvance(2);
89
+ i0.ɵɵtextInterpolate1("Tags (", ctx_r1.Item.Tags.length, ")");
90
+ i0.ɵɵadvance(2);
91
+ i0.ɵɵrepeater(ctx_r1.Item.Tags);
92
+ } }
93
+ function ClassifyItemDetailDialogComponent_Conditional_0_Conditional_23_Template(rf, ctx) { if (rf & 1) {
94
+ i0.ɵɵelementStart(0, "div", 14)(1, "span", 15);
95
+ i0.ɵɵtext(2, "Checksum");
96
+ i0.ɵɵelementEnd();
97
+ i0.ɵɵelementStart(3, "span", 32);
98
+ i0.ɵɵtext(4);
99
+ i0.ɵɵelementEnd()();
100
+ } if (rf & 2) {
101
+ const ctx_r1 = i0.ɵɵnextContext(2);
102
+ i0.ɵɵadvance(4);
103
+ i0.ɵɵtextInterpolate(ctx_r1.Item.Checksum);
104
+ } }
105
+ function ClassifyItemDetailDialogComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
106
+ const _r1 = i0.ɵɵgetCurrentView();
107
+ i0.ɵɵelementStart(0, "div", 0);
108
+ i0.ɵɵlistener("click", function ClassifyItemDetailDialogComponent_Conditional_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Closed.emit()); });
109
+ i0.ɵɵelementEnd();
110
+ i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "h3");
111
+ i0.ɵɵelement(4, "i", 3);
112
+ i0.ɵɵtext(5, " Content Item");
113
+ i0.ɵɵelementEnd();
114
+ i0.ɵɵelementStart(6, "button", 4);
115
+ i0.ɵɵlistener("click", function ClassifyItemDetailDialogComponent_Conditional_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Closed.emit()); });
116
+ i0.ɵɵelement(7, "i", 5);
117
+ i0.ɵɵelementEnd()();
118
+ i0.ɵɵelementStart(8, "div", 6)(9, "div", 7)(10, "h4", 8);
119
+ i0.ɵɵtext(11);
120
+ i0.ɵɵelementEnd();
121
+ i0.ɵɵelementStart(12, "div", 9)(13, "span", 10);
122
+ i0.ɵɵtext(14);
123
+ i0.ɵɵelementEnd();
124
+ i0.ɵɵconditionalCreate(15, ClassifyItemDetailDialogComponent_Conditional_0_Conditional_15_Template, 3, 2);
125
+ i0.ɵɵelementEnd()();
126
+ i0.ɵɵconditionalCreate(16, ClassifyItemDetailDialogComponent_Conditional_0_Conditional_16_Template, 6, 2, "div", 11);
127
+ i0.ɵɵconditionalCreate(17, ClassifyItemDetailDialogComponent_Conditional_0_Conditional_17_Template, 5, 1, "div", 11);
128
+ i0.ɵɵconditionalCreate(18, ClassifyItemDetailDialogComponent_Conditional_0_Conditional_18_Template, 6, 1, "div", 11);
129
+ i0.ɵɵelementStart(19, "div", 11)(20, "div", 12);
130
+ i0.ɵɵtext(21, "Metadata");
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementStart(22, "div", 13);
133
+ i0.ɵɵconditionalCreate(23, ClassifyItemDetailDialogComponent_Conditional_0_Conditional_23_Template, 5, 1, "div", 14);
134
+ i0.ɵɵelementStart(24, "div", 14)(25, "span", 15);
135
+ i0.ɵɵtext(26, "Created");
136
+ i0.ɵɵelementEnd();
137
+ i0.ɵɵelementStart(27, "span", 16);
138
+ i0.ɵɵtext(28);
139
+ i0.ɵɵelementEnd()();
140
+ i0.ɵɵelementStart(29, "div", 14)(30, "span", 15);
141
+ i0.ɵɵtext(31, "Updated");
142
+ i0.ɵɵelementEnd();
143
+ i0.ɵɵelementStart(32, "span", 16);
144
+ i0.ɵɵtext(33);
145
+ i0.ɵɵelementEnd()()()();
146
+ i0.ɵɵelementStart(34, "div", 17)(35, "button", 18);
147
+ i0.ɵɵlistener("click", function ClassifyItemDetailDialogComponent_Conditional_0_Template_button_click_35_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OpenRecordRequested.emit(ctx_r1.Item)); });
148
+ i0.ɵɵelement(36, "i", 19);
149
+ i0.ɵɵtext(37, " Open Record ");
150
+ i0.ɵɵelementEnd();
151
+ i0.ɵɵelementStart(38, "button", 20);
152
+ i0.ɵɵelement(39, "i", 21);
153
+ i0.ɵɵtext(40, " See Similar Items ");
154
+ i0.ɵɵelementEnd()()()();
155
+ } if (rf & 2) {
156
+ const ctx_r1 = i0.ɵɵnextContext();
157
+ i0.ɵɵadvance(11);
158
+ i0.ɵɵtextInterpolate(ctx_r1.Item.Name);
159
+ i0.ɵɵadvance(3);
160
+ i0.ɵɵtextInterpolate(ctx_r1.Item.SourceName);
161
+ i0.ɵɵadvance();
162
+ i0.ɵɵconditional(ctx_r1.Item.RequiresContentType ? 15 : -1);
163
+ i0.ɵɵadvance();
164
+ i0.ɵɵconditional(ctx_r1.Item.URL ? 16 : -1);
165
+ i0.ɵɵadvance();
166
+ i0.ɵɵconditional(ctx_r1.Item.TextContent ? 17 : -1);
167
+ i0.ɵɵadvance();
168
+ i0.ɵɵconditional(ctx_r1.Item.Tags.length > 0 ? 18 : -1);
169
+ i0.ɵɵadvance(5);
170
+ i0.ɵɵconditional(ctx_r1.Item.Checksum ? 23 : -1);
171
+ i0.ɵɵadvance(5);
172
+ i0.ɵɵtextInterpolate(ctx_r1.Item.CreatedAt);
173
+ i0.ɵɵadvance(5);
174
+ i0.ɵɵtextInterpolate(ctx_r1.Item.UpdatedAt);
175
+ } }
176
+ export class ClassifyItemDetailDialogComponent extends BaseAngularComponent {
177
+ /** The content item to display, built and supplied by the host orchestrator. */
178
+ Item = null;
179
+ /** Whether the slide-in is visible. */
180
+ Show = false;
181
+ /** Emitted when the user dismisses the panel (overlay/close button). */
182
+ Closed = new EventEmitter();
183
+ /** Emitted when the user requests to open the underlying record. */
184
+ OpenRecordRequested = new EventEmitter();
185
+ // Template-facing formatters
186
+ FormatWeight = formatWeight;
187
+ TagFontSize = tagFontSize;
188
+ static ɵfac = /*@__PURE__*/ (() => { let ɵClassifyItemDetailDialogComponent_BaseFactory; return function ClassifyItemDetailDialogComponent_Factory(__ngFactoryType__) { return (ɵClassifyItemDetailDialogComponent_BaseFactory || (ɵClassifyItemDetailDialogComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ClassifyItemDetailDialogComponent)))(__ngFactoryType__ || ClassifyItemDetailDialogComponent); }; })();
189
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ClassifyItemDetailDialogComponent, selectors: [["classify-item-detail-dialog"]], inputs: { Item: "Item", Show: "Show" }, outputs: { Closed: "Closed", OpenRecordRequested: "OpenRecordRequested" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[1, "at-slide-overlay", 3, "click"], [1, "at-slide-panel", "at-detail-panel"], [1, "at-slide-header"], [1, "fa-solid", "fa-file-lines"], ["aria-label", "Close item detail", 1, "at-slide-close", 3, "click"], [1, "fa-solid", "fa-times"], [1, "at-slide-body"], [1, "at-detail-item-header"], [1, "at-detail-item-name"], [1, "at-detail-badges"], [1, "at-detail-badge", "at-detail-badge-source"], [1, "at-detail-section"], [1, "at-detail-section-label"], [1, "at-detail-meta-grid"], [1, "at-detail-meta-row"], [1, "at-detail-meta-key"], [1, "at-detail-meta-value"], [1, "at-detail-actions"], [1, "at-action-btn", "at-primary-btn", 3, "click"], [1, "fa-solid", "fa-external-link-alt"], ["disabled", "", 1, "at-action-btn", "at-secondary-btn"], [1, "fa-solid", "fa-magnifying-glass"], [1, "at-detail-badge", "at-detail-badge-type"], [1, "at-detail-badge", "at-detail-badge-file"], [1, "fa-solid", "fa-file"], ["target", "_blank", 1, "at-detail-link", 3, "href"], [1, "fa-solid", "fa-external-link-alt", 2, "font-size", "0.65rem", "margin-left", "4px"], [1, "at-detail-text-preview"], [1, "at-detail-tags"], [1, "at-tag-pill", "at-tag-weighted", 3, "font-size"], [1, "at-tag-pill", "at-tag-weighted"], [1, "at-tag-weight"], [1, "at-detail-meta-value", "at-detail-meta-mono"]], template: function ClassifyItemDetailDialogComponent_Template(rf, ctx) { if (rf & 1) {
190
+ i0.ɵɵconditionalCreate(0, ClassifyItemDetailDialogComponent_Conditional_0_Template, 41, 9);
191
+ } if (rf & 2) {
192
+ i0.ɵɵconditional(ctx.Show && ctx.Item ? 0 : -1);
193
+ } }, encapsulation: 2 });
194
+ }
195
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ClassifyItemDetailDialogComponent, [{
196
+ type: Component,
197
+ args: [{ standalone: false, selector: 'classify-item-detail-dialog', template: "<!-- \u2550\u2550\u2550\u2550\u2550\u2550 ITEM DETAIL SLIDE-IN \u2550\u2550\u2550\u2550\u2550\u2550 -->\n@if (Show && Item) {\n <div class=\"at-slide-overlay\" (click)=\"Closed.emit()\"></div>\n <div class=\"at-slide-panel at-detail-panel\">\n <div class=\"at-slide-header\">\n <h3><i class=\"fa-solid fa-file-lines\"></i> Content Item</h3>\n <button class=\"at-slide-close\" aria-label=\"Close item detail\" (click)=\"Closed.emit()\"><i class=\"fa-solid fa-times\"></i></button>\n </div>\n <div class=\"at-slide-body\">\n <!-- Header -->\n <div class=\"at-detail-item-header\">\n <h4 class=\"at-detail-item-name\">{{ Item.Name }}</h4>\n <div class=\"at-detail-badges\">\n <span class=\"at-detail-badge at-detail-badge-source\">{{ Item.SourceName }}</span>\n @if (Item.RequiresContentType) {\n <span class=\"at-detail-badge at-detail-badge-type\">{{ Item.ContentTypeName }}</span>\n @if (Item.FileTypeName) {\n <span class=\"at-detail-badge at-detail-badge-file\"><i class=\"fa-solid fa-file\"></i> {{ Item.FileTypeName }}</span>\n }\n }\n </div>\n </div>\n\n <!-- URL -->\n @if (Item.URL) {\n <div class=\"at-detail-section\">\n <div class=\"at-detail-section-label\">URL</div>\n <a [href]=\"Item.URL\" target=\"_blank\" class=\"at-detail-link\">\n {{ Item.URL }}\n <i class=\"fa-solid fa-external-link-alt\" style=\"font-size: 0.65rem; margin-left: 4px;\"></i>\n </a>\n </div>\n }\n\n <!-- Text Preview -->\n @if (Item.TextContent) {\n <div class=\"at-detail-section\">\n <div class=\"at-detail-section-label\">Content Preview</div>\n <div class=\"at-detail-text-preview\">{{ Item.TextContent }}</div>\n </div>\n }\n\n <!-- Tags (weighted) -->\n @if (Item.Tags.length > 0) {\n <div class=\"at-detail-section\">\n <div class=\"at-detail-section-label\">Tags ({{ Item.Tags.length }})</div>\n <div class=\"at-detail-tags\">\n @for (wt of Item.Tags; track wt.Tag) {\n <span class=\"at-tag-pill at-tag-weighted\" [style.font-size]=\"TagFontSize(wt.Weight)\">\n {{ wt.Tag }}\n <span class=\"at-tag-weight\">{{ FormatWeight(wt.Weight) }}</span>\n </span>\n }\n </div>\n </div>\n }\n\n <!-- Metadata -->\n <div class=\"at-detail-section\">\n <div class=\"at-detail-section-label\">Metadata</div>\n <div class=\"at-detail-meta-grid\">\n @if (Item.Checksum) {\n <div class=\"at-detail-meta-row\">\n <span class=\"at-detail-meta-key\">Checksum</span>\n <span class=\"at-detail-meta-value at-detail-meta-mono\">{{ Item.Checksum }}</span>\n </div>\n }\n <div class=\"at-detail-meta-row\">\n <span class=\"at-detail-meta-key\">Created</span>\n <span class=\"at-detail-meta-value\">{{ Item.CreatedAt }}</span>\n </div>\n <div class=\"at-detail-meta-row\">\n <span class=\"at-detail-meta-key\">Updated</span>\n <span class=\"at-detail-meta-value\">{{ Item.UpdatedAt }}</span>\n </div>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"at-detail-actions\">\n <button class=\"at-action-btn at-primary-btn\" (click)=\"OpenRecordRequested.emit(Item)\">\n <i class=\"fa-solid fa-external-link-alt\"></i> Open Record\n </button>\n <button class=\"at-action-btn at-secondary-btn\" disabled>\n <i class=\"fa-solid fa-magnifying-glass\"></i> See Similar Items\n </button>\n </div>\n </div>\n </div>\n}\n", styles: ["/*\n * Content Item Detail slide-in dialog styles.\n *\n * The host (AutotaggingPipelineResourceComponent) uses ViewEncapsulation.None,\n * so its `.at-*` rules are global and already style this dialog's markup while\n * it renders inside the host shell. No dialog-specific rules are needed today.\n */\n"] }]
198
+ }], null, { Item: [{
199
+ type: Input
200
+ }], Show: [{
201
+ type: Input
202
+ }], Closed: [{
203
+ type: Output
204
+ }], OpenRecordRequested: [{
205
+ type: Output
206
+ }] }); })();
207
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ClassifyItemDetailDialogComponent, { className: "ClassifyItemDetailDialogComponent", filePath: "src/AI/components/autotagging/dialogs/item-detail.dialog.component.ts", lineNumber: 21 }); })();
208
+ //# sourceMappingURL=item-detail.dialog.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-detail.dialog.component.js","sourceRoot":"","sources":["../../../../../src/AI/components/autotagging/dialogs/item-detail.dialog.component.ts","../../../../../src/AI/components/autotagging/dialogs/item-detail.dialog.component.html"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;;;;ICK1C,gCAAmD;IAAA,wBAAgC;IAAC,YAAuB;IAAA,iBAAO;;;IAA9B,eAAuB;IAAvB,oDAAuB;;;IAF/G,gCAAmD;IAAA,YAA0B;IAAA,iBAAO;IACpF,kIAAyB;;;IAD0B,cAA0B;IAA1B,iDAA0B;IAC7E,cAEC;IAFD,mDAEC;;;IAQL,AADJ,+BAA+B,cACU;IAAA,mBAAG;IAAA,iBAAM;IAC9C,6BAA4D;IACxD,YACA;IAAA,wBAA2F;IAEnG,AADI,iBAAI,EACF;;;IAJC,eAAiB;IAAjB,wDAAiB;IAChB,cACA;IADA,gDACA;;;IAQJ,AADJ,+BAA+B,cACU;IAAA,+BAAe;IAAA,iBAAM;IAC1D,+BAAoC;IAAA,YAAsB;IAC9D,AAD8D,iBAAM,EAC9D;;;IADkC,eAAsB;IAAtB,6CAAsB;;;IAUlD,gCAAqF;IACjF,YACA;IAAA,gCAA4B;IAAA,YAA6B;IAC7D,AAD6D,iBAAO,EAC7D;;;;IAHmC,6DAA0C;IAChF,cACA;IADA,0CACA;IAA4B,eAA6B;IAA7B,uDAA6B;;;IALrE,AADJ,+BAA+B,cACU;IAAA,YAA6B;IAAA,iBAAM;IACxE,+BAA4B;IACxB,mIAKC;IAET,AADI,iBAAM,EACJ;;;IATmC,eAA6B;IAA7B,6DAA6B;IAE9D,eAKC;IALD,+BAKC;;;IAWG,AADJ,+BAAgC,eACK;IAAA,wBAAQ;IAAA,iBAAO;IAChD,gCAAuD;IAAA,YAAmB;IAC9E,AAD8E,iBAAO,EAC/E;;;IADqD,eAAmB;IAAnB,0CAAmB;;;;IA9DlG,8BAAsD;IAAxB,kMAAS,oBAAa,KAAC;IAAC,iBAAM;IAGpD,AADJ,AADJ,8BAA4C,aACX,SACrB;IAAA,uBAAsC;IAAC,6BAAY;IAAA,iBAAK;IAC5D,iCAAsF;IAAxB,qMAAS,oBAAa,KAAC;IAAC,uBAAiC;IAC3H,AAD2H,iBAAS,EAC9H;IAIE,AADJ,AAFJ,8BAA2B,aAEY,aACC;IAAA,aAAe;IAAA,iBAAK;IAEhD,AADJ,+BAA8B,gBAC2B;IAAA,aAAqB;IAAA,iBAAO;IACjF,yGAAgC;IAOxC,AADI,iBAAM,EACJ;IAGN,oHAAgB;IAWhB,oHAAwB;IAQxB,oHAA4B;IAgBxB,AADJ,gCAA+B,eACU;IAAA,yBAAQ;IAAA,iBAAM;IACnD,gCAAiC;IAC7B,oHAAqB;IAOjB,AADJ,gCAAgC,gBACK;IAAA,wBAAO;IAAA,iBAAO;IAC/C,iCAAmC;IAAA,aAAoB;IAC3D,AAD2D,iBAAO,EAC5D;IAEF,AADJ,gCAAgC,gBACK;IAAA,wBAAO;IAAA,iBAAO;IAC/C,iCAAmC;IAAA,aAAoB;IAGnE,AADI,AADI,AAD2D,iBAAO,EAC5D,EACJ,EACJ;IAIF,AADJ,gCAA+B,kBAC2D;IAAzC,sMAAS,4CAA8B,KAAC;IACjF,yBAA6C;IAAC,8BAClD;IAAA,iBAAS;IACT,mCAAwD;IACpD,yBAA4C;IAAC,oCACjD;IAGZ,AADI,AADI,AADI,iBAAS,EACP,EACJ,EACJ;;;IA7EsC,gBAAe;IAAf,sCAAe;IAEU,eAAqB;IAArB,4CAAqB;IAC1E,cAKC;IALD,2DAKC;IAKT,cAQC;IARD,2CAQC;IAGD,cAKC;IALD,mDAKC;IAGD,cAYC;IAZD,uDAYC;IAMO,eAKC;IALD,gDAKC;IAGsC,eAAoB;IAApB,2CAAoB;IAIpB,eAAoB;IAApB,2CAAoB;;ADrD/E,MAAM,OAAO,iCAAkC,SAAQ,oBAAoB;IACvE,gFAAgF;IACvE,IAAI,GAA6B,IAAI,CAAC;IAC/C,uCAAuC;IAC9B,IAAI,GAAG,KAAK,CAAC;IAEtB,wEAAwE;IAC9D,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC5C,oEAAoE;IAC1D,mBAAmB,GAAG,IAAI,YAAY,EAAqB,CAAC;IAEtE,6BAA6B;IACb,YAAY,GAAG,YAAY,CAAC;IAC5B,WAAW,GAAG,WAAW,CAAC;iTAbjC,iCAAiC,yBAAjC,iCAAiC;6DAAjC,iCAAiC;YCnB9C,0FAAoB;;YAApB,+CAwFC;;;iFDrEY,iCAAiC;cAN7C,SAAS;6BACM,KAAK,YACP,6BAA6B;;kBAMtC,KAAK;;kBAEL,KAAK;;kBAGL,MAAM;;kBAEN,MAAM;;kFATE,iCAAiC","sourcesContent":["/**\n * @fileoverview Classify · Content Item Detail slide-in dialog.\n *\n * Presentational slide-in panel showing a content item's details, tags, text,\n * metadata, and actions. Opened from multiple tabs, so it is rendered by the\n * HOST (the data orchestrator), which builds the `ContentItemDetail` and toggles\n * visibility. This component is purely presentational: data DOWN via `[Item]` /\n * `[Show]`, intents UP via `(Closed)` / `(OpenRecordRequested)`.\n */\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nimport { ContentItemDetail } from '../shared/classify.types';\nimport { formatWeight, tagFontSize } from '../shared/classify.format';\n\n@Component({\n standalone: false,\n selector: 'classify-item-detail-dialog',\n templateUrl: './item-detail.dialog.component.html',\n styleUrls: ['./item-detail.dialog.component.css']\n})\nexport class ClassifyItemDetailDialogComponent extends BaseAngularComponent {\n /** The content item to display, built and supplied by the host orchestrator. */\n @Input() Item: ContentItemDetail | null = null;\n /** Whether the slide-in is visible. */\n @Input() Show = false;\n\n /** Emitted when the user dismisses the panel (overlay/close button). */\n @Output() Closed = new EventEmitter<void>();\n /** Emitted when the user requests to open the underlying record. */\n @Output() OpenRecordRequested = new EventEmitter<ContentItemDetail>();\n\n // Template-facing formatters\n public readonly FormatWeight = formatWeight;\n public readonly TagFontSize = tagFontSize;\n}\n","<!-- ══════ ITEM DETAIL SLIDE-IN ══════ -->\n@if (Show && Item) {\n <div class=\"at-slide-overlay\" (click)=\"Closed.emit()\"></div>\n <div class=\"at-slide-panel at-detail-panel\">\n <div class=\"at-slide-header\">\n <h3><i class=\"fa-solid fa-file-lines\"></i> Content Item</h3>\n <button class=\"at-slide-close\" aria-label=\"Close item detail\" (click)=\"Closed.emit()\"><i class=\"fa-solid fa-times\"></i></button>\n </div>\n <div class=\"at-slide-body\">\n <!-- Header -->\n <div class=\"at-detail-item-header\">\n <h4 class=\"at-detail-item-name\">{{ Item.Name }}</h4>\n <div class=\"at-detail-badges\">\n <span class=\"at-detail-badge at-detail-badge-source\">{{ Item.SourceName }}</span>\n @if (Item.RequiresContentType) {\n <span class=\"at-detail-badge at-detail-badge-type\">{{ Item.ContentTypeName }}</span>\n @if (Item.FileTypeName) {\n <span class=\"at-detail-badge at-detail-badge-file\"><i class=\"fa-solid fa-file\"></i> {{ Item.FileTypeName }}</span>\n }\n }\n </div>\n </div>\n\n <!-- URL -->\n @if (Item.URL) {\n <div class=\"at-detail-section\">\n <div class=\"at-detail-section-label\">URL</div>\n <a [href]=\"Item.URL\" target=\"_blank\" class=\"at-detail-link\">\n {{ Item.URL }}\n <i class=\"fa-solid fa-external-link-alt\" style=\"font-size: 0.65rem; margin-left: 4px;\"></i>\n </a>\n </div>\n }\n\n <!-- Text Preview -->\n @if (Item.TextContent) {\n <div class=\"at-detail-section\">\n <div class=\"at-detail-section-label\">Content Preview</div>\n <div class=\"at-detail-text-preview\">{{ Item.TextContent }}</div>\n </div>\n }\n\n <!-- Tags (weighted) -->\n @if (Item.Tags.length > 0) {\n <div class=\"at-detail-section\">\n <div class=\"at-detail-section-label\">Tags ({{ Item.Tags.length }})</div>\n <div class=\"at-detail-tags\">\n @for (wt of Item.Tags; track wt.Tag) {\n <span class=\"at-tag-pill at-tag-weighted\" [style.font-size]=\"TagFontSize(wt.Weight)\">\n {{ wt.Tag }}\n <span class=\"at-tag-weight\">{{ FormatWeight(wt.Weight) }}</span>\n </span>\n }\n </div>\n </div>\n }\n\n <!-- Metadata -->\n <div class=\"at-detail-section\">\n <div class=\"at-detail-section-label\">Metadata</div>\n <div class=\"at-detail-meta-grid\">\n @if (Item.Checksum) {\n <div class=\"at-detail-meta-row\">\n <span class=\"at-detail-meta-key\">Checksum</span>\n <span class=\"at-detail-meta-value at-detail-meta-mono\">{{ Item.Checksum }}</span>\n </div>\n }\n <div class=\"at-detail-meta-row\">\n <span class=\"at-detail-meta-key\">Created</span>\n <span class=\"at-detail-meta-value\">{{ Item.CreatedAt }}</span>\n </div>\n <div class=\"at-detail-meta-row\">\n <span class=\"at-detail-meta-key\">Updated</span>\n <span class=\"at-detail-meta-value\">{{ Item.UpdatedAt }}</span>\n </div>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"at-detail-actions\">\n <button class=\"at-action-btn at-primary-btn\" (click)=\"OpenRecordRequested.emit(Item)\">\n <i class=\"fa-solid fa-external-link-alt\"></i> Open Record\n </button>\n <button class=\"at-action-btn at-secondary-btn\" disabled>\n <i class=\"fa-solid fa-magnifying-glass\"></i> See Similar Items\n </button>\n </div>\n </div>\n </div>\n}\n"]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @fileoverview Classify · No-Content-Types warning dialog.
3
+ *
4
+ * Presentational warning overlay shown when the user tries to create a content
5
+ * source before any content type exists. Rendered by the HOST, which owns the
6
+ * `Show` state and the cross-tab navigation logic. Intents bubble UP via
7
+ * `(GoToTypes)` (close form + switch to the Types tab) and `(Dismissed)`.
8
+ */
9
+ import { EventEmitter } from '@angular/core';
10
+ import * as i0 from "@angular/core";
11
+ export declare class ClassifyNoContentTypeWarningComponent {
12
+ /** Whether the warning overlay is visible. */
13
+ Show: boolean;
14
+ /** Emitted when the user chooses to go to the Content Types tab. */
15
+ GoToTypes: EventEmitter<void>;
16
+ /** Emitted when the user dismisses the warning. */
17
+ Dismissed: EventEmitter<void>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClassifyNoContentTypeWarningComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClassifyNoContentTypeWarningComponent, "classify-no-content-type-warning", never, { "Show": { "alias": "Show"; "required": false; }; }, { "GoToTypes": "GoToTypes"; "Dismissed": "Dismissed"; }, never, never, false, never>;
20
+ }
21
+ //# sourceMappingURL=no-content-type-warning.dialog.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-content-type-warning.dialog.component.d.ts","sourceRoot":"","sources":["../../../../../src/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;;AAEvE,qBAMa,qCAAqC;IAC9C,8CAA8C;IACrC,IAAI,UAAS;IAEtB,oEAAoE;IAC1D,SAAS,qBAA4B;IAC/C,mDAAmD;IACzC,SAAS,qBAA4B;yCAPtC,qCAAqC;2CAArC,qCAAqC;CAQjD"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @fileoverview Classify · No-Content-Types warning dialog.
3
+ *
4
+ * Presentational warning overlay shown when the user tries to create a content
5
+ * source before any content type exists. Rendered by the HOST, which owns the
6
+ * `Show` state and the cross-tab navigation logic. Intents bubble UP via
7
+ * `(GoToTypes)` (close form + switch to the Types tab) and `(Dismissed)`.
8
+ */
9
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
10
+ import * as i0 from "@angular/core";
11
+ function ClassifyNoContentTypeWarningComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
12
+ const _r1 = i0.ɵɵgetCurrentView();
13
+ i0.ɵɵelementStart(0, "div", 1);
14
+ i0.ɵɵlistener("click", function ClassifyNoContentTypeWarningComponent_Conditional_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Dismissed.emit()); });
15
+ i0.ɵɵelementStart(1, "div", 2);
16
+ i0.ɵɵlistener("click", function ClassifyNoContentTypeWarningComponent_Conditional_0_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView($event.stopPropagation()); });
17
+ i0.ɵɵelementStart(2, "div", 3)(3, "span");
18
+ i0.ɵɵelement(4, "i", 4);
19
+ i0.ɵɵtext(5, " Content Type Required");
20
+ i0.ɵɵelementEnd();
21
+ i0.ɵɵelementStart(6, "button", 5);
22
+ i0.ɵɵlistener("click", function ClassifyNoContentTypeWarningComponent_Conditional_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Dismissed.emit()); });
23
+ i0.ɵɵelement(7, "i", 6);
24
+ i0.ɵɵelementEnd()();
25
+ i0.ɵɵelementStart(8, "div", 7)(9, "p", 8);
26
+ i0.ɵɵtext(10, " No content types have been configured yet. At least one content type is required before you can create a content source. ");
27
+ i0.ɵɵelementEnd();
28
+ i0.ɵɵelementStart(11, "p", 9);
29
+ i0.ɵɵtext(12, " Go to the ");
30
+ i0.ɵɵelementStart(13, "strong");
31
+ i0.ɵɵtext(14, "Content Types");
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵtext(15, " tab to create one. ");
34
+ i0.ɵɵelementEnd()();
35
+ i0.ɵɵelementStart(16, "div", 10)(17, "button", 11);
36
+ i0.ɵɵlistener("mousedown", function ClassifyNoContentTypeWarningComponent_Conditional_0_Template_button_mousedown_17_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.GoToTypes.emit()); });
37
+ i0.ɵɵelement(18, "i", 12);
38
+ i0.ɵɵtext(19, " Go to Content Types ");
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵelementStart(20, "button", 13);
41
+ i0.ɵɵlistener("click", function ClassifyNoContentTypeWarningComponent_Conditional_0_Template_button_click_20_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Dismissed.emit()); });
42
+ i0.ɵɵtext(21, "Close");
43
+ i0.ɵɵelementEnd()()()();
44
+ } }
45
+ export class ClassifyNoContentTypeWarningComponent {
46
+ /** Whether the warning overlay is visible. */
47
+ Show = false;
48
+ /** Emitted when the user chooses to go to the Content Types tab. */
49
+ GoToTypes = new EventEmitter();
50
+ /** Emitted when the user dismisses the warning. */
51
+ Dismissed = new EventEmitter();
52
+ static ɵfac = function ClassifyNoContentTypeWarningComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ClassifyNoContentTypeWarningComponent)(); };
53
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ClassifyNoContentTypeWarningComponent, selectors: [["classify-no-content-type-warning"]], inputs: { Show: "Show" }, outputs: { GoToTypes: "GoToTypes", Dismissed: "Dismissed" }, standalone: false, decls: 1, vars: 1, consts: [[1, "at-schedule-dialog-overlay", 2, "z-index", "10001"], [1, "at-schedule-dialog-overlay", 2, "z-index", "10001", 3, "click"], [1, "at-schedule-dialog", 2, "max-width", "440px", "z-index", "10002", 3, "click"], [1, "at-schedule-dialog-header"], [1, "fa-solid", "fa-triangle-exclamation", 2, "color", "var(--mj-status-warning)", "margin-right", "8px"], ["aria-label", "Close warning", 1, "at-close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "at-schedule-dialog-body", 2, "text-align", "center", "padding", "24px"], [2, "color", "var(--mj-text-secondary)", "margin-bottom", "16px"], [2, "color", "var(--mj-text-muted)", "font-size", "13px"], [1, "at-schedule-dialog-footer"], [1, "at-action-btn", "at-primary-btn", 3, "mousedown"], [1, "fa-solid", "fa-arrow-right"], [1, "at-action-btn", "at-secondary-btn", 3, "click"]], template: function ClassifyNoContentTypeWarningComponent_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵconditionalCreate(0, ClassifyNoContentTypeWarningComponent_Conditional_0_Template, 22, 0, "div", 0);
55
+ } if (rf & 2) {
56
+ i0.ɵɵconditional(ctx.Show ? 0 : -1);
57
+ } }, encapsulation: 2 });
58
+ }
59
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ClassifyNoContentTypeWarningComponent, [{
60
+ type: Component,
61
+ args: [{ standalone: false, selector: 'classify-no-content-type-warning', template: "<!-- No Content Types Warning Dialog (z-index above slide-in panel) -->\n@if (Show) {\n <div class=\"at-schedule-dialog-overlay\" style=\"z-index: 10001;\" (click)=\"Dismissed.emit()\">\n <div class=\"at-schedule-dialog\" style=\"max-width: 440px; z-index: 10002;\" (click)=\"$event.stopPropagation()\">\n <div class=\"at-schedule-dialog-header\">\n <span><i class=\"fa-solid fa-triangle-exclamation\" style=\"color: var(--mj-status-warning); margin-right: 8px;\"></i> Content Type Required</span>\n <button class=\"at-close-btn\" aria-label=\"Close warning\" (click)=\"Dismissed.emit()\"><i class=\"fa-solid fa-xmark\"></i></button>\n </div>\n <div class=\"at-schedule-dialog-body\" style=\"text-align: center; padding: 24px;\">\n <p style=\"color: var(--mj-text-secondary); margin-bottom: 16px;\">\n No content types have been configured yet. At least one content type is required before you can create a content source.\n </p>\n <p style=\"color: var(--mj-text-muted); font-size: 13px;\">\n Go to the <strong>Content Types</strong> tab to create one.\n </p>\n </div>\n <div class=\"at-schedule-dialog-footer\">\n <button class=\"at-action-btn at-primary-btn\" (mousedown)=\"GoToTypes.emit()\">\n <i class=\"fa-solid fa-arrow-right\"></i> Go to Content Types\n </button>\n <button class=\"at-action-btn at-secondary-btn\" (click)=\"Dismissed.emit()\">Close</button>\n </div>\n </div>\n </div>\n}\n", styles: ["/*\n * No-Content-Types warning dialog styles.\n *\n * The host (AutotaggingPipelineResourceComponent) uses ViewEncapsulation.None,\n * so its `.at-*` rules are global and already style this dialog's markup while\n * it renders inside the host shell. No dialog-specific rules are needed today.\n */\n"] }]
62
+ }], null, { Show: [{
63
+ type: Input
64
+ }], GoToTypes: [{
65
+ type: Output
66
+ }], Dismissed: [{
67
+ type: Output
68
+ }] }); })();
69
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ClassifyNoContentTypeWarningComponent, { className: "ClassifyNoContentTypeWarningComponent", filePath: "src/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.ts", lineNumber: 17 }); })();
70
+ //# sourceMappingURL=no-content-type-warning.dialog.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-content-type-warning.dialog.component.js","sourceRoot":"","sources":["../../../../../src/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.ts","../../../../../src/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.html"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;;ICNnE,8BAA2F;IAA3B,sMAAS,uBAAgB,KAAC;IACtF,8BAA6G;IAAnC,yKAAS,wBAAwB,KAAC;IAEpG,AADJ,8BAAuC,WAC7B;IAAA,uBAA4G;IAAC,sCAAqB;IAAA,iBAAO;IAC/I,iCAAmF;IAA3B,yMAAS,uBAAgB,KAAC;IAAC,uBAAiC;IACxH,AADwH,iBAAS,EAC3H;IAEF,AADJ,8BAAgF,WACX;IAC7D,2IACJ;IAAA,iBAAI;IACJ,6BAAyD;IACrD,4BAAU;IAAA,+BAAQ;IAAA,8BAAa;IAAA,iBAAS;IAAC,qCAC7C;IACJ,AADI,iBAAI,EACF;IAEF,AADJ,gCAAuC,kBACyC;IAA/B,kNAAa,uBAAgB,KAAC;IACvE,yBAAuC;IAAC,sCAC5C;IAAA,iBAAS;IACT,mCAA0E;IAA3B,0MAAS,uBAAgB,KAAC;IAAC,sBAAK;IAG3F,AADI,AADI,AADmF,iBAAS,EACtF,EACJ,EACJ;;ADPV,MAAM,OAAO,qCAAqC;IAC9C,8CAA8C;IACrC,IAAI,GAAG,KAAK,CAAC;IAEtB,oEAAoE;IAC1D,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC/C,mDAAmD;IACzC,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;+HAPtC,qCAAqC;6DAArC,qCAAqC;YCflD,wGAAY;;YAAZ,mCAuBC;;;iFDRY,qCAAqC;cANjD,SAAS;6BACM,KAAK,YACP,kCAAkC;;kBAM3C,KAAK;;kBAGL,MAAM;;kBAEN,MAAM;;kFAPE,qCAAqC","sourcesContent":["/**\n * @fileoverview Classify · No-Content-Types warning dialog.\n *\n * Presentational warning overlay shown when the user tries to create a content\n * source before any content type exists. Rendered by the HOST, which owns the\n * `Show` state and the cross-tab navigation logic. Intents bubble UP via\n * `(GoToTypes)` (close form + switch to the Types tab) and `(Dismissed)`.\n */\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'classify-no-content-type-warning',\n templateUrl: './no-content-type-warning.dialog.component.html',\n styleUrls: ['./no-content-type-warning.dialog.component.css']\n})\nexport class ClassifyNoContentTypeWarningComponent {\n /** Whether the warning overlay is visible. */\n @Input() Show = false;\n\n /** Emitted when the user chooses to go to the Content Types tab. */\n @Output() GoToTypes = new EventEmitter<void>();\n /** Emitted when the user dismisses the warning. */\n @Output() Dismissed = new EventEmitter<void>();\n}\n","<!-- No Content Types Warning Dialog (z-index above slide-in panel) -->\n@if (Show) {\n <div class=\"at-schedule-dialog-overlay\" style=\"z-index: 10001;\" (click)=\"Dismissed.emit()\">\n <div class=\"at-schedule-dialog\" style=\"max-width: 440px; z-index: 10002;\" (click)=\"$event.stopPropagation()\">\n <div class=\"at-schedule-dialog-header\">\n <span><i class=\"fa-solid fa-triangle-exclamation\" style=\"color: var(--mj-status-warning); margin-right: 8px;\"></i> Content Type Required</span>\n <button class=\"at-close-btn\" aria-label=\"Close warning\" (click)=\"Dismissed.emit()\"><i class=\"fa-solid fa-xmark\"></i></button>\n </div>\n <div class=\"at-schedule-dialog-body\" style=\"text-align: center; padding: 24px;\">\n <p style=\"color: var(--mj-text-secondary); margin-bottom: 16px;\">\n No content types have been configured yet. At least one content type is required before you can create a content source.\n </p>\n <p style=\"color: var(--mj-text-muted); font-size: 13px;\">\n Go to the <strong>Content Types</strong> tab to create one.\n </p>\n </div>\n <div class=\"at-schedule-dialog-footer\">\n <button class=\"at-action-btn at-primary-btn\" (mousedown)=\"GoToTypes.emit()\">\n <i class=\"fa-solid fa-arrow-right\"></i> Go to Content Types\n </button>\n <button class=\"at-action-btn at-secondary-btn\" (click)=\"Dismissed.emit()\">Close</button>\n </div>\n </div>\n </div>\n}\n"]}