@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,17 +13,18 @@ import * as i0 from "@angular/core";
13
13
  import * as i1 from "@memberjunction/ng-notifications";
14
14
  import * as i2 from "@angular/common";
15
15
  import * as i3 from "@angular/forms";
16
- import * as i4 from "@memberjunction/ng-shared-generic";
16
+ import * as i4 from "@memberjunction/ng-ui-components";
17
+ import * as i5 from "@memberjunction/ng-shared-generic";
17
18
  const _c0 = a0 => ({ vm: a0 });
18
- function ListsCategoriesResource_Conditional_11_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementStart(0, "div", 8);
20
- i0.ɵɵelement(1, "mj-loading", 12);
19
+ function ListsCategoriesResource_Conditional_7_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelementStart(0, "div", 5);
21
+ i0.ɵɵelement(1, "mj-loading", 9);
21
22
  i0.ɵɵelementEnd();
22
23
  } }
23
- function ListsCategoriesResource_Conditional_12_Template(rf, ctx) { if (rf & 1) {
24
+ function ListsCategoriesResource_Conditional_8_Template(rf, ctx) { if (rf & 1) {
24
25
  const _r2 = i0.ɵɵgetCurrentView();
25
- i0.ɵɵelementStart(0, "div", 9)(1, "div", 13);
26
- i0.ɵɵelement(2, "div", 14)(3, "i", 15);
26
+ i0.ɵɵelementStart(0, "div", 6)(1, "div", 10);
27
+ i0.ɵɵelement(2, "div", 11)(3, "i", 12);
27
28
  i0.ɵɵelementEnd();
28
29
  i0.ɵɵelementStart(4, "h3");
29
30
  i0.ɵɵtext(5, "No Categories Yet");
@@ -31,38 +32,38 @@ function ListsCategoriesResource_Conditional_12_Template(rf, ctx) { if (rf & 1)
31
32
  i0.ɵɵelementStart(6, "p");
32
33
  i0.ɵɵtext(7, "Categories help you organize lists into logical groups.");
33
34
  i0.ɵɵelementEnd();
34
- i0.ɵɵelementStart(8, "div", 16)(9, "div", 17);
35
- i0.ɵɵelement(10, "i", 18);
35
+ i0.ɵɵelementStart(8, "div", 13)(9, "div", 14);
36
+ i0.ɵɵelement(10, "i", 15);
36
37
  i0.ɵɵelementStart(11, "span");
37
38
  i0.ɵɵtext(12, "Create hierarchical folder structures");
38
39
  i0.ɵɵelementEnd()();
39
- i0.ɵɵelementStart(13, "div", 17);
40
- i0.ɵɵelement(14, "i", 18);
40
+ i0.ɵɵelementStart(13, "div", 14);
41
+ i0.ɵɵelement(14, "i", 15);
41
42
  i0.ɵɵelementStart(15, "span");
42
43
  i0.ɵɵtext(16, "Quickly find related lists");
43
44
  i0.ɵɵelementEnd()()();
44
- i0.ɵɵelementStart(17, "button", 19);
45
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_12_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createCategory()); });
46
- i0.ɵɵelement(18, "i", 7);
45
+ i0.ɵɵelementStart(17, "button", 16);
46
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_8_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createCategory()); });
47
+ i0.ɵɵelement(18, "i", 4);
47
48
  i0.ɵɵtext(19, " Create Your First Category ");
48
49
  i0.ɵɵelementEnd()();
49
50
  } }
50
- function ListsCategoriesResource_Conditional_13_For_10_ng_container_0_Template(rf, ctx) { if (rf & 1) {
51
+ function ListsCategoriesResource_Conditional_9_For_10_ng_container_0_Template(rf, ctx) { if (rf & 1) {
51
52
  i0.ɵɵelementContainer(0);
52
53
  } }
53
- function ListsCategoriesResource_Conditional_13_For_10_Template(rf, ctx) { if (rf & 1) {
54
- i0.ɵɵtemplate(0, ListsCategoriesResource_Conditional_13_For_10_ng_container_0_Template, 1, 0, "ng-container", 27);
54
+ function ListsCategoriesResource_Conditional_9_For_10_Template(rf, ctx) { if (rf & 1) {
55
+ i0.ɵɵtemplate(0, ListsCategoriesResource_Conditional_9_For_10_ng_container_0_Template, 1, 0, "ng-container", 24);
55
56
  } if (rf & 2) {
56
57
  const vm_r4 = ctx.$implicit;
57
58
  i0.ɵɵnextContext(2);
58
- const categoryNodeTemplate_r5 = i0.ɵɵreference(15);
59
+ const categoryNodeTemplate_r5 = i0.ɵɵreference(11);
59
60
  i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r5)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, vm_r4));
60
61
  } }
61
- function ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_15_Template(rf, ctx) { if (rf & 1) {
62
- i0.ɵɵelementStart(0, "div", 34)(1, "label");
62
+ function ListsCategoriesResource_Conditional_9_Conditional_11_Conditional_15_Template(rf, ctx) { if (rf & 1) {
63
+ i0.ɵɵelementStart(0, "div", 31)(1, "label");
63
64
  i0.ɵɵtext(2, "Description");
64
65
  i0.ɵɵelementEnd();
65
- i0.ɵɵelementStart(3, "span", 35);
66
+ i0.ɵɵelementStart(3, "span", 32);
66
67
  i0.ɵɵtext(4);
67
68
  i0.ɵɵelementEnd()();
68
69
  } if (rf & 2) {
@@ -70,9 +71,9 @@ function ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_15_Te
70
71
  i0.ɵɵadvance(4);
71
72
  i0.ɵɵtextInterpolate(ctx_r2.selectedCategory.Description);
72
73
  } }
73
- function ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_For_5_Template(rf, ctx) { if (rf & 1) {
74
- i0.ɵɵelementStart(0, "div", 42);
75
- i0.ɵɵelement(1, "i", 43);
74
+ function ListsCategoriesResource_Conditional_9_Conditional_11_Conditional_32_For_5_Template(rf, ctx) { if (rf & 1) {
75
+ i0.ɵɵelementStart(0, "div", 39);
76
+ i0.ɵɵelement(1, "i", 40);
76
77
  i0.ɵɵelementStart(2, "span");
77
78
  i0.ɵɵtext(3);
78
79
  i0.ɵɵelementEnd()();
@@ -81,57 +82,57 @@ function ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_Fo
81
82
  i0.ɵɵadvance(3);
82
83
  i0.ɵɵtextInterpolate(list_r7.Name);
83
84
  } }
84
- function ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵelementStart(0, "div", 40)(1, "h4");
85
+ function ListsCategoriesResource_Conditional_9_Conditional_11_Conditional_32_Template(rf, ctx) { if (rf & 1) {
86
+ i0.ɵɵelementStart(0, "div", 37)(1, "h4");
86
87
  i0.ɵɵtext(2, "Lists in this category");
87
88
  i0.ɵɵelementEnd();
88
- i0.ɵɵelementStart(3, "div", 41);
89
- i0.ɵɵrepeaterCreate(4, ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_For_5_Template, 4, 1, "div", 42, i0.ɵɵrepeaterTrackByIdentity);
89
+ i0.ɵɵelementStart(3, "div", 38);
90
+ i0.ɵɵrepeaterCreate(4, ListsCategoriesResource_Conditional_9_Conditional_11_Conditional_32_For_5_Template, 4, 1, "div", 39, i0.ɵɵrepeaterTrackByIdentity);
90
91
  i0.ɵɵelementEnd()();
91
92
  } if (rf & 2) {
92
93
  const ctx_r2 = i0.ɵɵnextContext(3);
93
94
  i0.ɵɵadvance(4);
94
95
  i0.ɵɵrepeater(ctx_r2.selectedCategoryLists);
95
96
  } }
96
- function ListsCategoriesResource_Conditional_13_Conditional_11_Template(rf, ctx) { if (rf & 1) {
97
+ function ListsCategoriesResource_Conditional_9_Conditional_11_Template(rf, ctx) { if (rf & 1) {
97
98
  const _r6 = i0.ɵɵgetCurrentView();
98
- i0.ɵɵelementStart(0, "div", 25)(1, "div", 22)(2, "h3");
99
+ i0.ɵɵelementStart(0, "div", 22)(1, "div", 19)(2, "h3");
99
100
  i0.ɵɵtext(3, "Category Details");
100
101
  i0.ɵɵelementEnd();
101
- i0.ɵɵelementStart(4, "div", 28)(5, "button", 29);
102
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Conditional_11_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.editCategory()); });
103
- i0.ɵɵelement(6, "i", 30);
102
+ i0.ɵɵelementStart(4, "div", 25)(5, "button", 26);
103
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_9_Conditional_11_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.editCategory()); });
104
+ i0.ɵɵelement(6, "i", 27);
104
105
  i0.ɵɵelementEnd();
105
- i0.ɵɵelementStart(7, "button", 31);
106
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Conditional_11_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.deleteCategory()); });
107
- i0.ɵɵelement(8, "i", 32);
106
+ i0.ɵɵelementStart(7, "button", 28);
107
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_9_Conditional_11_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.deleteCategory()); });
108
+ i0.ɵɵelement(8, "i", 29);
108
109
  i0.ɵɵelementEnd()()();
109
- i0.ɵɵelementStart(9, "div", 33)(10, "div", 34)(11, "label");
110
+ i0.ɵɵelementStart(9, "div", 30)(10, "div", 31)(11, "label");
110
111
  i0.ɵɵtext(12, "Name");
111
112
  i0.ɵɵelementEnd();
112
- i0.ɵɵelementStart(13, "span", 35);
113
+ i0.ɵɵelementStart(13, "span", 32);
113
114
  i0.ɵɵtext(14);
114
115
  i0.ɵɵelementEnd()();
115
- i0.ɵɵconditionalCreate(15, ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_15_Template, 5, 1, "div", 34);
116
- i0.ɵɵelementStart(16, "div", 34)(17, "label");
116
+ i0.ɵɵconditionalCreate(15, ListsCategoriesResource_Conditional_9_Conditional_11_Conditional_15_Template, 5, 1, "div", 31);
117
+ i0.ɵɵelementStart(16, "div", 31)(17, "label");
117
118
  i0.ɵɵtext(18, "Parent Category");
118
119
  i0.ɵɵelementEnd();
119
- i0.ɵɵelementStart(19, "span", 35);
120
+ i0.ɵɵelementStart(19, "span", 32);
120
121
  i0.ɵɵtext(20);
121
122
  i0.ɵɵelementEnd()();
122
- i0.ɵɵelementStart(21, "div", 36)(22, "div", 37)(23, "span", 38);
123
+ i0.ɵɵelementStart(21, "div", 33)(22, "div", 34)(23, "span", 35);
123
124
  i0.ɵɵtext(24);
124
125
  i0.ɵɵelementEnd();
125
- i0.ɵɵelementStart(25, "span", 39);
126
+ i0.ɵɵelementStart(25, "span", 36);
126
127
  i0.ɵɵtext(26, "Lists");
127
128
  i0.ɵɵelementEnd()();
128
- i0.ɵɵelementStart(27, "div", 37)(28, "span", 38);
129
+ i0.ɵɵelementStart(27, "div", 34)(28, "span", 35);
129
130
  i0.ɵɵtext(29);
130
131
  i0.ɵɵelementEnd();
131
- i0.ɵɵelementStart(30, "span", 39);
132
+ i0.ɵɵelementStart(30, "span", 36);
132
133
  i0.ɵɵtext(31, "Subcategories");
133
134
  i0.ɵɵelementEnd()()();
134
- i0.ɵɵconditionalCreate(32, ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_Template, 6, 0, "div", 40);
135
+ i0.ɵɵconditionalCreate(32, ListsCategoriesResource_Conditional_9_Conditional_11_Conditional_32_Template, 6, 0, "div", 37);
135
136
  i0.ɵɵelementEnd()();
136
137
  } if (rf & 2) {
137
138
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -148,25 +149,25 @@ function ListsCategoriesResource_Conditional_13_Conditional_11_Template(rf, ctx)
148
149
  i0.ɵɵadvance(3);
149
150
  i0.ɵɵconditional(ctx_r2.selectedCategoryLists.length > 0 ? 32 : -1);
150
151
  } }
151
- function ListsCategoriesResource_Conditional_13_Conditional_12_Template(rf, ctx) { if (rf & 1) {
152
- i0.ɵɵelementStart(0, "div", 26)(1, "div", 44);
153
- i0.ɵɵelement(2, "i", 45);
152
+ function ListsCategoriesResource_Conditional_9_Conditional_12_Template(rf, ctx) { if (rf & 1) {
153
+ i0.ɵɵelementStart(0, "div", 23)(1, "div", 41);
154
+ i0.ɵɵelement(2, "i", 42);
154
155
  i0.ɵɵelementStart(3, "p");
155
156
  i0.ɵɵtext(4, "Select a category to view details");
156
157
  i0.ɵɵelementEnd()()();
157
158
  } }
158
- function ListsCategoriesResource_Conditional_13_Template(rf, ctx) { if (rf & 1) {
159
- i0.ɵɵelementStart(0, "div", 10)(1, "div", 20)(2, "div", 21)(3, "div", 22)(4, "h3");
159
+ function ListsCategoriesResource_Conditional_9_Template(rf, ctx) { if (rf & 1) {
160
+ i0.ɵɵelementStart(0, "div", 7)(1, "div", 17)(2, "div", 18)(3, "div", 19)(4, "h3");
160
161
  i0.ɵɵtext(5, "Categories");
161
162
  i0.ɵɵelementEnd();
162
- i0.ɵɵelementStart(6, "span", 23);
163
+ i0.ɵɵelementStart(6, "span", 20);
163
164
  i0.ɵɵtext(7);
164
165
  i0.ɵɵelementEnd()();
165
- i0.ɵɵelementStart(8, "div", 24);
166
- i0.ɵɵrepeaterCreate(9, ListsCategoriesResource_Conditional_13_For_10_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
166
+ i0.ɵɵelementStart(8, "div", 21);
167
+ i0.ɵɵrepeaterCreate(9, ListsCategoriesResource_Conditional_9_For_10_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
167
168
  i0.ɵɵelementEnd()();
168
- i0.ɵɵconditionalCreate(11, ListsCategoriesResource_Conditional_13_Conditional_11_Template, 33, 6, "div", 25);
169
- i0.ɵɵconditionalCreate(12, ListsCategoriesResource_Conditional_13_Conditional_12_Template, 5, 0, "div", 26);
169
+ i0.ɵɵconditionalCreate(11, ListsCategoriesResource_Conditional_9_Conditional_11_Template, 33, 6, "div", 22);
170
+ i0.ɵɵconditionalCreate(12, ListsCategoriesResource_Conditional_9_Conditional_12_Template, 5, 0, "div", 23);
170
171
  i0.ɵɵelementEnd()();
171
172
  } if (rf & 2) {
172
173
  const ctx_r2 = i0.ɵɵnextContext();
@@ -179,10 +180,10 @@ function ListsCategoriesResource_Conditional_13_Template(rf, ctx) { if (rf & 1)
179
180
  i0.ɵɵadvance();
180
181
  i0.ɵɵconditional(!ctx_r2.selectedCategory ? 12 : -1);
181
182
  } }
182
- function ListsCategoriesResource_ng_template_14_Conditional_2_Template(rf, ctx) { if (rf & 1) {
183
+ function ListsCategoriesResource_ng_template_10_Conditional_2_Template(rf, ctx) { if (rf & 1) {
183
184
  const _r10 = i0.ɵɵgetCurrentView();
184
- i0.ɵɵelementStart(0, "button", 54);
185
- i0.ɵɵlistener("click", function ListsCategoriesResource_ng_template_14_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r10); const vm_r9 = i0.ɵɵnextContext().vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleExpand($event, vm_r9)); });
185
+ i0.ɵɵelementStart(0, "button", 51);
186
+ i0.ɵɵlistener("click", function ListsCategoriesResource_ng_template_10_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r10); const vm_r9 = i0.ɵɵnextContext().vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleExpand($event, vm_r9)); });
186
187
  i0.ɵɵelement(1, "i");
187
188
  i0.ɵɵelementEnd();
188
189
  } if (rf & 2) {
@@ -190,23 +191,23 @@ function ListsCategoriesResource_ng_template_14_Conditional_2_Template(rf, ctx)
190
191
  i0.ɵɵadvance();
191
192
  i0.ɵɵclassMap(vm_r9.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
192
193
  } }
193
- function ListsCategoriesResource_ng_template_14_Conditional_3_Template(rf, ctx) { if (rf & 1) {
194
- i0.ɵɵelement(0, "span", 49);
194
+ function ListsCategoriesResource_ng_template_10_Conditional_3_Template(rf, ctx) { if (rf & 1) {
195
+ i0.ɵɵelement(0, "span", 46);
195
196
  } }
196
- function ListsCategoriesResource_ng_template_14_Conditional_9_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
197
+ function ListsCategoriesResource_ng_template_10_Conditional_9_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
197
198
  i0.ɵɵelementContainer(0);
198
199
  } }
199
- function ListsCategoriesResource_ng_template_14_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
200
- i0.ɵɵtemplate(0, ListsCategoriesResource_ng_template_14_Conditional_9_For_2_ng_container_0_Template, 1, 0, "ng-container", 27);
200
+ function ListsCategoriesResource_ng_template_10_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
201
+ i0.ɵɵtemplate(0, ListsCategoriesResource_ng_template_10_Conditional_9_For_2_ng_container_0_Template, 1, 0, "ng-container", 24);
201
202
  } if (rf & 2) {
202
203
  const childVm_r11 = ctx.$implicit;
203
204
  i0.ɵɵnextContext(3);
204
- const categoryNodeTemplate_r5 = i0.ɵɵreference(15);
205
+ const categoryNodeTemplate_r5 = i0.ɵɵreference(11);
205
206
  i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r5)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, childVm_r11));
206
207
  } }
207
- function ListsCategoriesResource_ng_template_14_Conditional_9_Template(rf, ctx) { if (rf & 1) {
208
- i0.ɵɵelementStart(0, "div", 53);
209
- i0.ɵɵrepeaterCreate(1, ListsCategoriesResource_ng_template_14_Conditional_9_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
208
+ function ListsCategoriesResource_ng_template_10_Conditional_9_Template(rf, ctx) { if (rf & 1) {
209
+ i0.ɵɵelementStart(0, "div", 50);
210
+ i0.ɵɵrepeaterCreate(1, ListsCategoriesResource_ng_template_10_Conditional_9_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
210
211
  i0.ɵɵelementEnd();
211
212
  } if (rf & 2) {
212
213
  const vm_r9 = i0.ɵɵnextContext().vm;
@@ -214,20 +215,20 @@ function ListsCategoriesResource_ng_template_14_Conditional_9_Template(rf, ctx)
214
215
  i0.ɵɵadvance();
215
216
  i0.ɵɵrepeater(ctx_r2.getChildCategories(vm_r9.category));
216
217
  } }
217
- function ListsCategoriesResource_ng_template_14_Template(rf, ctx) { if (rf & 1) {
218
+ function ListsCategoriesResource_ng_template_10_Template(rf, ctx) { if (rf & 1) {
218
219
  const _r8 = i0.ɵɵgetCurrentView();
219
- i0.ɵɵelementStart(0, "div", 46)(1, "div", 47);
220
- i0.ɵɵlistener("click", function ListsCategoriesResource_ng_template_14_Template_div_click_1_listener() { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectCategory(vm_r9.category)); })("keydown.enter", function ListsCategoriesResource_ng_template_14_Template_div_keydown_enter_1_listener() { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectCategory(vm_r9.category)); })("keydown.space", function ListsCategoriesResource_ng_template_14_Template_div_keydown_space_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.selectCategory(vm_r9.category); return i0.ɵɵresetView($event.preventDefault()); })("keydown.arrowRight", function ListsCategoriesResource_ng_template_14_Template_div_keydown_arrowRight_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.expandNode($event, vm_r9)); })("keydown.arrowLeft", function ListsCategoriesResource_ng_template_14_Template_div_keydown_arrowLeft_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.collapseNode($event, vm_r9)); });
221
- i0.ɵɵconditionalCreate(2, ListsCategoriesResource_ng_template_14_Conditional_2_Template, 2, 2, "button", 48);
222
- i0.ɵɵconditionalCreate(3, ListsCategoriesResource_ng_template_14_Conditional_3_Template, 1, 0, "span", 49);
223
- i0.ɵɵelement(4, "i", 50);
224
- i0.ɵɵelementStart(5, "span", 51);
220
+ i0.ɵɵelementStart(0, "div", 43)(1, "div", 44);
221
+ i0.ɵɵlistener("click", function ListsCategoriesResource_ng_template_10_Template_div_click_1_listener() { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectCategory(vm_r9.category)); })("keydown.enter", function ListsCategoriesResource_ng_template_10_Template_div_keydown_enter_1_listener() { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectCategory(vm_r9.category)); })("keydown.space", function ListsCategoriesResource_ng_template_10_Template_div_keydown_space_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.selectCategory(vm_r9.category); return i0.ɵɵresetView($event.preventDefault()); })("keydown.arrowRight", function ListsCategoriesResource_ng_template_10_Template_div_keydown_arrowRight_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.expandNode($event, vm_r9)); })("keydown.arrowLeft", function ListsCategoriesResource_ng_template_10_Template_div_keydown_arrowLeft_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.collapseNode($event, vm_r9)); });
222
+ i0.ɵɵconditionalCreate(2, ListsCategoriesResource_ng_template_10_Conditional_2_Template, 2, 2, "button", 45);
223
+ i0.ɵɵconditionalCreate(3, ListsCategoriesResource_ng_template_10_Conditional_3_Template, 1, 0, "span", 46);
224
+ i0.ɵɵelement(4, "i", 47);
225
+ i0.ɵɵelementStart(5, "span", 48);
225
226
  i0.ɵɵtext(6);
226
227
  i0.ɵɵelementEnd();
227
- i0.ɵɵelementStart(7, "span", 52);
228
+ i0.ɵɵelementStart(7, "span", 49);
228
229
  i0.ɵɵtext(8);
229
230
  i0.ɵɵelementEnd()();
230
- i0.ɵɵconditionalCreate(9, ListsCategoriesResource_ng_template_14_Conditional_9_Template, 3, 0, "div", 53);
231
+ i0.ɵɵconditionalCreate(9, ListsCategoriesResource_ng_template_10_Conditional_9_Template, 3, 0, "div", 50);
231
232
  i0.ɵɵelementEnd();
232
233
  } if (rf & 2) {
233
234
  const vm_r9 = ctx.vm;
@@ -249,8 +250,8 @@ function ListsCategoriesResource_ng_template_14_Template(rf, ctx) { if (rf & 1)
249
250
  i0.ɵɵadvance();
250
251
  i0.ɵɵconditional(vm_r9.isExpanded && ctx_r2.hasChildren(vm_r9.category) ? 9 : -1);
251
252
  } }
252
- function ListsCategoriesResource_Conditional_16_For_22_Template(rf, ctx) { if (rf & 1) {
253
- i0.ɵɵelementStart(0, "option", 66);
253
+ function ListsCategoriesResource_Conditional_12_For_22_Template(rf, ctx) { if (rf & 1) {
254
+ i0.ɵɵelementStart(0, "option", 63);
254
255
  i0.ɵɵtext(1);
255
256
  i0.ɵɵelementEnd();
256
257
  } if (rf & 2) {
@@ -259,48 +260,48 @@ function ListsCategoriesResource_Conditional_16_For_22_Template(rf, ctx) { if (r
259
260
  i0.ɵɵadvance();
260
261
  i0.ɵɵtextInterpolate(parent_r13.displayName);
261
262
  } }
262
- function ListsCategoriesResource_Conditional_16_Conditional_25_Template(rf, ctx) { if (rf & 1) {
263
- i0.ɵɵelement(0, "i", 69);
263
+ function ListsCategoriesResource_Conditional_12_Conditional_25_Template(rf, ctx) { if (rf & 1) {
264
+ i0.ɵɵelement(0, "i", 66);
264
265
  } }
265
- function ListsCategoriesResource_Conditional_16_Template(rf, ctx) { if (rf & 1) {
266
+ function ListsCategoriesResource_Conditional_12_Template(rf, ctx) { if (rf & 1) {
266
267
  const _r12 = i0.ɵɵgetCurrentView();
267
- i0.ɵɵelementStart(0, "div", 55);
268
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
269
- i0.ɵɵelementStart(1, "div", 56);
270
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r12); return i0.ɵɵresetView($event.stopPropagation()); });
271
- i0.ɵɵelementStart(2, "div", 57)(3, "h3");
268
+ i0.ɵɵelementStart(0, "div", 52);
269
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_12_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
270
+ i0.ɵɵelementStart(1, "div", 53);
271
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_12_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r12); return i0.ɵɵresetView($event.stopPropagation()); });
272
+ i0.ɵɵelementStart(2, "div", 54)(3, "h3");
272
273
  i0.ɵɵtext(4);
273
274
  i0.ɵɵelementEnd();
274
- i0.ɵɵelementStart(5, "button", 58);
275
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
276
- i0.ɵɵelement(6, "i", 59);
275
+ i0.ɵɵelementStart(5, "button", 55);
276
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_12_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
277
+ i0.ɵɵelement(6, "i", 56);
277
278
  i0.ɵɵelementEnd()();
278
- i0.ɵɵelementStart(7, "div", 60)(8, "div", 61)(9, "div", 62)(10, "label");
279
+ i0.ɵɵelementStart(7, "div", 57)(8, "div", 58)(9, "div", 59)(10, "label");
279
280
  i0.ɵɵtext(11, "Name *");
280
281
  i0.ɵɵelementEnd();
281
- i0.ɵɵelementStart(12, "input", 63);
282
- i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_16_Template_input_ngModelChange_12_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogName, $event) || (ctx_r2.dialogName = $event); return i0.ɵɵresetView($event); });
282
+ i0.ɵɵelementStart(12, "input", 60);
283
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_12_Template_input_ngModelChange_12_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogName, $event) || (ctx_r2.dialogName = $event); return i0.ɵɵresetView($event); });
283
284
  i0.ɵɵelementEnd()();
284
- i0.ɵɵelementStart(13, "div", 62)(14, "label");
285
+ i0.ɵɵelementStart(13, "div", 59)(14, "label");
285
286
  i0.ɵɵtext(15, "Description");
286
287
  i0.ɵɵelementEnd();
287
- i0.ɵɵelementStart(16, "textarea", 64);
288
- i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_16_Template_textarea_ngModelChange_16_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogDescription, $event) || (ctx_r2.dialogDescription = $event); return i0.ɵɵresetView($event); });
288
+ i0.ɵɵelementStart(16, "textarea", 61);
289
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_12_Template_textarea_ngModelChange_16_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogDescription, $event) || (ctx_r2.dialogDescription = $event); return i0.ɵɵresetView($event); });
289
290
  i0.ɵɵelementEnd()();
290
- i0.ɵɵelementStart(17, "div", 62)(18, "label");
291
+ i0.ɵɵelementStart(17, "div", 59)(18, "label");
291
292
  i0.ɵɵtext(19, "Parent Category");
292
293
  i0.ɵɵelementEnd();
293
- i0.ɵɵelementStart(20, "select", 65);
294
- i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_16_Template_select_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogParentId, $event) || (ctx_r2.dialogParentId = $event); return i0.ɵɵresetView($event); });
295
- i0.ɵɵrepeaterCreate(21, ListsCategoriesResource_Conditional_16_For_22_Template, 2, 2, "option", 66, i0.ɵɵrepeaterTrackByIdentity);
294
+ i0.ɵɵelementStart(20, "select", 62);
295
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_12_Template_select_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogParentId, $event) || (ctx_r2.dialogParentId = $event); return i0.ɵɵresetView($event); });
296
+ i0.ɵɵrepeaterCreate(21, ListsCategoriesResource_Conditional_12_For_22_Template, 2, 2, "option", 63, i0.ɵɵrepeaterTrackByIdentity);
296
297
  i0.ɵɵelementEnd()()()();
297
- i0.ɵɵelementStart(23, "div", 67)(24, "button", 68);
298
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_button_click_24_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveCategory()); });
299
- i0.ɵɵconditionalCreate(25, ListsCategoriesResource_Conditional_16_Conditional_25_Template, 1, 0, "i", 69);
298
+ i0.ɵɵelementStart(23, "div", 64)(24, "button", 65);
299
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_12_Template_button_click_24_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveCategory()); });
300
+ i0.ɵɵconditionalCreate(25, ListsCategoriesResource_Conditional_12_Conditional_25_Template, 1, 0, "i", 66);
300
301
  i0.ɵɵtext(26);
301
302
  i0.ɵɵelementEnd();
302
- i0.ɵɵelementStart(27, "button", 70);
303
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_button_click_27_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
303
+ i0.ɵɵelementStart(27, "button", 67);
304
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_12_Template_button_click_27_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
304
305
  i0.ɵɵtext(28, "Cancel");
305
306
  i0.ɵɵelementEnd()()()();
306
307
  } if (rf & 2) {
@@ -326,28 +327,28 @@ function ListsCategoriesResource_Conditional_16_Template(rf, ctx) { if (rf & 1)
326
327
  i0.ɵɵadvance();
327
328
  i0.ɵɵproperty("disabled", ctx_r2.isSaving);
328
329
  } }
329
- function ListsCategoriesResource_Conditional_17_Template(rf, ctx) { if (rf & 1) {
330
+ function ListsCategoriesResource_Conditional_13_Template(rf, ctx) { if (rf & 1) {
330
331
  const _r14 = i0.ɵɵgetCurrentView();
331
- i0.ɵɵelementStart(0, "div", 55);
332
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
333
- i0.ɵɵelementStart(1, "div", 71);
334
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r14); return i0.ɵɵresetView($event.stopPropagation()); });
335
- i0.ɵɵelementStart(2, "div", 72)(3, "h3");
332
+ i0.ɵɵelementStart(0, "div", 52);
333
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
334
+ i0.ɵɵelementStart(1, "div", 68);
335
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r14); return i0.ɵɵresetView($event.stopPropagation()); });
336
+ i0.ɵɵelementStart(2, "div", 69)(3, "h3");
336
337
  i0.ɵɵtext(4, "Delete Category");
337
338
  i0.ɵɵelementEnd();
338
- i0.ɵɵelementStart(5, "button", 73);
339
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
340
- i0.ɵɵelement(6, "i", 59);
339
+ i0.ɵɵelementStart(5, "button", 70);
340
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
341
+ i0.ɵɵelement(6, "i", 56);
341
342
  i0.ɵɵelementEnd()();
342
- i0.ɵɵelementStart(7, "div", 60)(8, "p");
343
+ i0.ɵɵelementStart(7, "div", 57)(8, "p");
343
344
  i0.ɵɵtext(9);
344
345
  i0.ɵɵelementEnd()();
345
- i0.ɵɵelementStart(10, "div", 67)(11, "button", 74);
346
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDelete()); });
346
+ i0.ɵɵelementStart(10, "div", 64)(11, "button", 71);
347
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDelete()); });
347
348
  i0.ɵɵtext(12, " Delete ");
348
349
  i0.ɵɵelementEnd();
349
- i0.ɵɵelementStart(13, "button", 75);
350
- i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
350
+ i0.ɵɵelementStart(13, "button", 72);
351
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
351
352
  i0.ɵɵtext(14, "Cancel");
352
353
  i0.ɵɵelementEnd()()()();
353
354
  } if (rf & 2) {
@@ -676,38 +677,33 @@ let ListsCategoriesResource = class ListsCategoriesResource extends BaseResource
676
677
  return 'fa-solid fa-tags';
677
678
  }
678
679
  static ɵfac = function ListsCategoriesResource_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListsCategoriesResource)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MJNotificationService)); };
679
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsCategoriesResource, selectors: [["mj-lists-categories-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 5, consts: [["categoryNodeTemplate", ""], [1, "lists-categories-container"], [1, "categories-header"], [1, "header-title"], [1, "fa-solid", "fa-tags"], [1, "header-actions"], [1, "btn-create", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "loading-container"], [1, "empty-state"], [1, "categories-content"], [1, "modal-overlay"], ["text", "Loading categories...", "size", "medium"], [1, "empty-state-icon-wrapper"], [1, "icon-bg"], [1, "fa-solid", "fa-folder-tree"], [1, "empty-state-features"], [1, "feature-item"], [1, "fa-solid", "fa-check-circle"], [1, "btn-create-large", 3, "click"], [1, "categories-layout"], [1, "category-tree-panel"], [1, "panel-header"], [1, "count-badge"], ["role", "tree", "aria-label", "Category tree", 1, "tree-content"], [1, "category-detail-panel"], [1, "category-detail-panel", "empty"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "panel-actions"], ["title", "Edit", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-pen"], ["title", "Delete", 1, "icon-btn", "danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "detail-content"], [1, "detail-field"], [1, "field-value"], [1, "detail-stats"], [1, "stat-item"], [1, "stat-value"], [1, "stat-label"], [1, "category-lists"], [1, "mini-list"], [1, "mini-list-item"], [1, "fa-solid", "fa-list"], [1, "no-selection"], [1, "fa-solid", "fa-arrow-left"], [1, "category-node"], ["tabindex", "0", "role", "treeitem", 1, "node-content", 3, "click", "keydown.enter", "keydown.space", "keydown.arrowRight", "keydown.arrowLeft"], ["tabindex", "-1", "aria-hidden", "true", 1, "expand-btn"], [1, "expand-placeholder"], ["aria-hidden", "true", 1, "fa-solid", "fa-folder"], [1, "node-name"], ["aria-hidden", "true", 1, "node-count"], ["role", "group", 1, "node-children"], ["tabindex", "-1", "aria-hidden", "true", 1, "expand-btn", 3, "click"], [1, "modal-overlay", 3, "click"], [1, "modal-dialog", 3, "click"], [1, "modal-header"], [1, "modal-close", 3, "click", "disabled"], [1, "fa-solid", "fa-times"], [1, "modal-body"], [1, "category-form"], [1, "form-group"], ["type", "text", "placeholder", "Enter category name", 1, "form-input", 3, "ngModelChange", "ngModel"], ["placeholder", "Optional description", "rows", "3", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "form-input", 3, "ngModelChange", "ngModel"], [3, "ngValue"], [1, "modal-footer"], [1, "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "btn-secondary", 3, "click", "disabled"], [1, "modal-dialog", "modal-sm", 3, "click"], [1, "modal-header", "danger"], [1, "modal-close", 3, "click"], [1, "btn-danger", 3, "click"], [1, "btn-secondary", 3, "click"]], template: function ListsCategoriesResource_Template(rf, ctx) { if (rf & 1) {
680
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsCategoriesResource, selectors: [["mj-lists-categories-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 14, vars: 5, consts: [["categoryNodeTemplate", ""], ["Title", "List Categories", "Icon", "fa-solid fa-tags"], ["actions", ""], ["mjButton", "", "variant", "primary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "loading-container"], [1, "empty-state"], [1, "categories-content"], [1, "modal-overlay"], ["text", "Loading categories...", "size", "medium"], [1, "empty-state-icon-wrapper"], [1, "icon-bg"], [1, "fa-solid", "fa-folder-tree"], [1, "empty-state-features"], [1, "feature-item"], [1, "fa-solid", "fa-check-circle"], [1, "btn-create-large", 3, "click"], [1, "categories-layout"], [1, "category-tree-panel"], [1, "panel-header"], [1, "count-badge"], ["role", "tree", "aria-label", "Category tree", 1, "tree-content"], [1, "category-detail-panel"], [1, "category-detail-panel", "empty"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "panel-actions"], ["title", "Edit", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-pen"], ["title", "Delete", 1, "icon-btn", "danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "detail-content"], [1, "detail-field"], [1, "field-value"], [1, "detail-stats"], [1, "stat-item"], [1, "stat-value"], [1, "stat-label"], [1, "category-lists"], [1, "mini-list"], [1, "mini-list-item"], [1, "fa-solid", "fa-list"], [1, "no-selection"], [1, "fa-solid", "fa-arrow-left"], [1, "category-node"], ["tabindex", "0", "role", "treeitem", 1, "node-content", 3, "click", "keydown.enter", "keydown.space", "keydown.arrowRight", "keydown.arrowLeft"], ["tabindex", "-1", "aria-hidden", "true", 1, "expand-btn"], [1, "expand-placeholder"], ["aria-hidden", "true", 1, "fa-solid", "fa-folder"], [1, "node-name"], ["aria-hidden", "true", 1, "node-count"], ["role", "group", 1, "node-children"], ["tabindex", "-1", "aria-hidden", "true", 1, "expand-btn", 3, "click"], [1, "modal-overlay", 3, "click"], [1, "modal-dialog", 3, "click"], [1, "modal-header"], [1, "modal-close", 3, "click", "disabled"], [1, "fa-solid", "fa-times"], [1, "modal-body"], [1, "category-form"], [1, "form-group"], ["type", "text", "placeholder", "Enter category name", 1, "form-input", 3, "ngModelChange", "ngModel"], ["placeholder", "Optional description", "rows", "3", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "form-input", 3, "ngModelChange", "ngModel"], [3, "ngValue"], [1, "modal-footer"], [1, "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "btn-secondary", 3, "click", "disabled"], [1, "modal-dialog", "modal-sm", 3, "click"], [1, "modal-header", "danger"], [1, "modal-close", 3, "click"], [1, "btn-danger", 3, "click"], [1, "btn-secondary", 3, "click"]], template: function ListsCategoriesResource_Template(rf, ctx) { if (rf & 1) {
680
681
  const _r1 = i0.ɵɵgetCurrentView();
681
- i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3);
682
- i0.ɵɵelement(3, "i", 4);
683
- i0.ɵɵelementStart(4, "h2");
684
- i0.ɵɵtext(5, "List Categories");
682
+ i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 1)(2, "div", 2)(3, "button", 3);
683
+ i0.ɵɵlistener("click", function ListsCategoriesResource_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.createCategory()); });
684
+ i0.ɵɵelement(4, "i", 4);
685
+ i0.ɵɵtext(5, " New Category ");
686
+ i0.ɵɵelementEnd()()();
687
+ i0.ɵɵelementStart(6, "mj-page-body");
688
+ i0.ɵɵconditionalCreate(7, ListsCategoriesResource_Conditional_7_Template, 2, 0, "div", 5);
689
+ i0.ɵɵconditionalCreate(8, ListsCategoriesResource_Conditional_8_Template, 20, 0, "div", 6);
690
+ i0.ɵɵconditionalCreate(9, ListsCategoriesResource_Conditional_9_Template, 13, 3, "div", 7);
691
+ i0.ɵɵtemplate(10, ListsCategoriesResource_ng_template_10_Template, 10, 14, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
692
+ i0.ɵɵconditionalCreate(12, ListsCategoriesResource_Conditional_12_Template, 29, 9, "div", 8);
693
+ i0.ɵɵconditionalCreate(13, ListsCategoriesResource_Conditional_13_Template, 15, 1, "div", 8);
685
694
  i0.ɵɵelementEnd()();
686
- i0.ɵɵelementStart(6, "div", 5)(7, "button", 6);
687
- i0.ɵɵlistener("click", function ListsCategoriesResource_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.createCategory()); });
688
- i0.ɵɵelement(8, "i", 7);
689
- i0.ɵɵelementStart(9, "span");
690
- i0.ɵɵtext(10, "New Category");
691
- i0.ɵɵelementEnd()()()();
692
- i0.ɵɵconditionalCreate(11, ListsCategoriesResource_Conditional_11_Template, 2, 0, "div", 8);
693
- i0.ɵɵconditionalCreate(12, ListsCategoriesResource_Conditional_12_Template, 20, 0, "div", 9);
694
- i0.ɵɵconditionalCreate(13, ListsCategoriesResource_Conditional_13_Template, 13, 3, "div", 10);
695
- i0.ɵɵtemplate(14, ListsCategoriesResource_ng_template_14_Template, 10, 14, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
696
- i0.ɵɵconditionalCreate(16, ListsCategoriesResource_Conditional_16_Template, 29, 9, "div", 11);
697
- i0.ɵɵconditionalCreate(17, ListsCategoriesResource_Conditional_17_Template, 15, 1, "div", 11);
698
- i0.ɵɵelementEnd();
699
695
  } if (rf & 2) {
700
- i0.ɵɵadvance(11);
701
- i0.ɵɵconditional(ctx.isLoading ? 11 : -1);
696
+ i0.ɵɵadvance(7);
697
+ i0.ɵɵconditional(ctx.isLoading ? 7 : -1);
702
698
  i0.ɵɵadvance();
703
- i0.ɵɵconditional(!ctx.isLoading && ctx.categoryViewModels.length === 0 ? 12 : -1);
699
+ i0.ɵɵconditional(!ctx.isLoading && ctx.categoryViewModels.length === 0 ? 8 : -1);
704
700
  i0.ɵɵadvance();
705
- i0.ɵɵconditional(!ctx.isLoading && ctx.categoryViewModels.length > 0 ? 13 : -1);
701
+ i0.ɵɵconditional(!ctx.isLoading && ctx.categoryViewModels.length > 0 ? 9 : -1);
706
702
  i0.ɵɵadvance(3);
707
- i0.ɵɵconditional(ctx.showDialog ? 16 : -1);
703
+ i0.ɵɵconditional(ctx.showDialog ? 12 : -1);
708
704
  i0.ɵɵadvance();
709
- i0.ɵɵconditional(ctx.showDeleteConfirm ? 17 : -1);
710
- } }, dependencies: [i2.NgTemplateOutlet, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.DefaultValueAccessor, i3.SelectControlValueAccessor, i3.NgControlStatus, i3.NgModel, i4.LoadingComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-categories-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n /* Header */\n .categories-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 420px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100px;\n height: 100px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 48px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 16px 0 24px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n /* Content Layout */\n .categories-content {\n flex: 1;\n padding: 16px 24px;\n overflow: hidden;\n }\n\n .categories-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n height: 100%;\n }\n\n .category-tree-panel,\n .category-detail-panel {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .count-badge {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .panel-actions {\n display: flex;\n gap: 4px;\n }\n\n .icon-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .icon-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .icon-btn.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n }\n\n /* Tree Content */\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .category-node {\n user-select: none;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .node-content:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .node-content:focus {\n outline: none;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: -2px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content.selected:focus-visible {\n outline: 2px solid var(--mj-brand-primary-hover);\n }\n\n .expand-btn {\n background: none;\n border: none;\n padding: 2px;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .expand-btn:hover {\n color: var(--mj-text-secondary);\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .node-content .fa-folder,\n .node-content .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .node-name {\n flex: 1;\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .node-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 8px;\n }\n\n /* Detail Panel */\n .detail-content {\n flex: 1;\n padding: 16px;\n overflow-y: auto;\n }\n\n .detail-field {\n margin-bottom: 16px;\n }\n\n .detail-field label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .field-value {\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .detail-stats {\n display: flex;\n gap: 24px;\n margin: 24px 0;\n padding: 16px;\n background: var(--mj-bg-surface);\n border-radius: 8px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n }\n\n .stat-label {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .category-lists h4 {\n margin: 0 0 12px;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .mini-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .mini-list-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--mj-bg-surface);\n border-radius: 4px;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .mini-list-item i {\n color: var(--mj-text-muted);\n }\n\n /* No Selection */\n .category-detail-panel.empty {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .no-selection {\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .no-selection i {\n font-size: 32px;\n margin-bottom: 12px;\n }\n\n .no-selection p {\n margin: 0;\n }\n\n /* Form */\n .category-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .form-group label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n }\n\n .form-input {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease-out;\n }\n\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .modal-dialog {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-lg);\n width: 450px;\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease-out;\n }\n\n .modal-dialog.modal-sm {\n width: 400px;\n }\n\n @keyframes slideIn {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .modal-header.danger {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border-bottom-color: color-mix(in srgb, var(--mj-status-error) 30%, transparent);\n }\n\n .modal-header.danger h3 {\n color: var(--mj-status-error);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .modal-close:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .modal-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0;\n color: var(--mj-text-secondary);\n line-height: 1.6;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-secondary {\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-secondary);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n }\n\n .btn-secondary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-primary:hover:not(:disabled) {\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-danger {\n padding: 8px 16px;\n background: var(--mj-status-error);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-danger:hover {\n background: var(--mj-status-error);\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .categories-layout {\n grid-template-columns: 1fr;\n }\n\n .category-detail-panel.empty {\n display: none;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
705
+ i0.ɵɵconditional(ctx.showDeleteConfirm ? 13 : -1);
706
+ } }, dependencies: [i2.NgTemplateOutlet, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.DefaultValueAccessor, i3.SelectControlValueAccessor, i3.NgControlStatus, i3.NgModel, i4.MJButtonDirective, i4.MJPageLayoutComponent, i4.MJPageHeaderComponent, i4.MJPageBodyComponent, i5.LoadingComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n /* Header */\n .categories-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 420px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100px;\n height: 100px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 48px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 16px 0 24px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n /* Content Layout */\n .categories-content {\n flex: 1;\n padding: 16px 24px;\n overflow: hidden;\n }\n\n .categories-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n height: 100%;\n }\n\n .category-tree-panel,\n .category-detail-panel {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .count-badge {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .panel-actions {\n display: flex;\n gap: 4px;\n }\n\n .icon-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .icon-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .icon-btn.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n }\n\n /* Tree Content */\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .category-node {\n user-select: none;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .node-content:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .node-content:focus {\n outline: none;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: -2px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content.selected:focus-visible {\n outline: 2px solid var(--mj-brand-primary-hover);\n }\n\n .expand-btn {\n background: none;\n border: none;\n padding: 2px;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .expand-btn:hover {\n color: var(--mj-text-secondary);\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .node-content .fa-folder,\n .node-content .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .node-name {\n flex: 1;\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .node-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 8px;\n }\n\n /* Detail Panel */\n .detail-content {\n flex: 1;\n padding: 16px;\n overflow-y: auto;\n }\n\n .detail-field {\n margin-bottom: 16px;\n }\n\n .detail-field label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .field-value {\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .detail-stats {\n display: flex;\n gap: 24px;\n margin: 24px 0;\n padding: 16px;\n background: var(--mj-bg-surface);\n border-radius: 8px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n }\n\n .stat-label {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .category-lists h4 {\n margin: 0 0 12px;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .mini-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .mini-list-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--mj-bg-surface);\n border-radius: 4px;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .mini-list-item i {\n color: var(--mj-text-muted);\n }\n\n /* No Selection */\n .category-detail-panel.empty {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .no-selection {\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .no-selection i {\n font-size: 32px;\n margin-bottom: 12px;\n }\n\n .no-selection p {\n margin: 0;\n }\n\n /* Form */\n .category-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .form-group label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n }\n\n .form-input {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease-out;\n }\n\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .modal-dialog {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-lg);\n width: 450px;\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease-out;\n }\n\n .modal-dialog.modal-sm {\n width: 400px;\n }\n\n @keyframes slideIn {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .modal-header.danger {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border-bottom-color: color-mix(in srgb, var(--mj-status-error) 30%, transparent);\n }\n\n .modal-header.danger h3 {\n color: var(--mj-status-error);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .modal-close:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .modal-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0;\n color: var(--mj-text-secondary);\n line-height: 1.6;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-secondary {\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-secondary);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n }\n\n .btn-secondary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-primary:hover:not(:disabled) {\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-danger {\n padding: 8px 16px;\n background: var(--mj-status-error);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-danger:hover {\n background: var(--mj-status-error);\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .categories-layout {\n grid-template-columns: 1fr;\n }\n\n .category-detail-panel.empty {\n display: none;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
711
707
  };
712
708
  ListsCategoriesResource = __decorate([
713
709
  RegisterClass(BaseResourceComponent, 'ListsCategoriesResource')
@@ -716,21 +712,16 @@ export { ListsCategoriesResource };
716
712
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListsCategoriesResource, [{
717
713
  type: Component,
718
714
  args: [{ standalone: false, selector: 'mj-lists-categories-resource', template: `
719
- <div class="lists-categories-container">
720
- <!-- Header -->
721
- <div class="categories-header">
722
- <div class="header-title">
723
- <i class="fa-solid fa-tags"></i>
724
- <h2>List Categories</h2>
725
- </div>
726
- <div class="header-actions">
727
- <button class="btn-create" (click)="createCategory()">
728
- <i class="fa-solid fa-plus"></i>
729
- <span>New Category</span>
715
+ <mj-page-layout>
716
+ <mj-page-header Title="List Categories" Icon="fa-solid fa-tags">
717
+ <div actions>
718
+ <button mjButton variant="primary" size="sm" (click)="createCategory()">
719
+ <i class="fa-solid fa-plus"></i> New Category
730
720
  </button>
731
721
  </div>
732
- </div>
733
-
722
+ </mj-page-header>
723
+
724
+ <mj-page-body>
734
725
  <!-- Loading State -->
735
726
  @if (isLoading) {
736
727
  <div class="loading-container">
@@ -971,8 +962,9 @@ export { ListsCategoriesResource };
971
962
  </div>
972
963
  </div>
973
964
  }
974
- </div>
975
- `, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-categories-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n /* Header */\n .categories-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 420px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100px;\n height: 100px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 48px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 16px 0 24px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n /* Content Layout */\n .categories-content {\n flex: 1;\n padding: 16px 24px;\n overflow: hidden;\n }\n\n .categories-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n height: 100%;\n }\n\n .category-tree-panel,\n .category-detail-panel {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .count-badge {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .panel-actions {\n display: flex;\n gap: 4px;\n }\n\n .icon-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .icon-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .icon-btn.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n }\n\n /* Tree Content */\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .category-node {\n user-select: none;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .node-content:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .node-content:focus {\n outline: none;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: -2px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content.selected:focus-visible {\n outline: 2px solid var(--mj-brand-primary-hover);\n }\n\n .expand-btn {\n background: none;\n border: none;\n padding: 2px;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .expand-btn:hover {\n color: var(--mj-text-secondary);\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .node-content .fa-folder,\n .node-content .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .node-name {\n flex: 1;\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .node-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 8px;\n }\n\n /* Detail Panel */\n .detail-content {\n flex: 1;\n padding: 16px;\n overflow-y: auto;\n }\n\n .detail-field {\n margin-bottom: 16px;\n }\n\n .detail-field label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .field-value {\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .detail-stats {\n display: flex;\n gap: 24px;\n margin: 24px 0;\n padding: 16px;\n background: var(--mj-bg-surface);\n border-radius: 8px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n }\n\n .stat-label {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .category-lists h4 {\n margin: 0 0 12px;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .mini-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .mini-list-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--mj-bg-surface);\n border-radius: 4px;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .mini-list-item i {\n color: var(--mj-text-muted);\n }\n\n /* No Selection */\n .category-detail-panel.empty {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .no-selection {\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .no-selection i {\n font-size: 32px;\n margin-bottom: 12px;\n }\n\n .no-selection p {\n margin: 0;\n }\n\n /* Form */\n .category-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .form-group label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n }\n\n .form-input {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease-out;\n }\n\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .modal-dialog {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-lg);\n width: 450px;\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease-out;\n }\n\n .modal-dialog.modal-sm {\n width: 400px;\n }\n\n @keyframes slideIn {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .modal-header.danger {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border-bottom-color: color-mix(in srgb, var(--mj-status-error) 30%, transparent);\n }\n\n .modal-header.danger h3 {\n color: var(--mj-status-error);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .modal-close:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .modal-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0;\n color: var(--mj-text-secondary);\n line-height: 1.6;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-secondary {\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-secondary);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n }\n\n .btn-secondary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-primary:hover:not(:disabled) {\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-danger {\n padding: 8px 16px;\n background: var(--mj-status-error);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-danger:hover {\n background: var(--mj-status-error);\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .categories-layout {\n grid-template-columns: 1fr;\n }\n\n .category-detail-panel.empty {\n display: none;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
965
+ </mj-page-body>
966
+ </mj-page-layout>
967
+ `, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n /* Header */\n .categories-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 420px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100px;\n height: 100px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 48px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 16px 0 24px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n /* Content Layout */\n .categories-content {\n flex: 1;\n padding: 16px 24px;\n overflow: hidden;\n }\n\n .categories-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n height: 100%;\n }\n\n .category-tree-panel,\n .category-detail-panel {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .count-badge {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .panel-actions {\n display: flex;\n gap: 4px;\n }\n\n .icon-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .icon-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .icon-btn.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n }\n\n /* Tree Content */\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .category-node {\n user-select: none;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .node-content:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .node-content:focus {\n outline: none;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: -2px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .node-content.selected:focus-visible {\n outline: 2px solid var(--mj-brand-primary-hover);\n }\n\n .expand-btn {\n background: none;\n border: none;\n padding: 2px;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .expand-btn:hover {\n color: var(--mj-text-secondary);\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .node-content .fa-folder,\n .node-content .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .node-name {\n flex: 1;\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .node-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 8px;\n }\n\n /* Detail Panel */\n .detail-content {\n flex: 1;\n padding: 16px;\n overflow-y: auto;\n }\n\n .detail-field {\n margin-bottom: 16px;\n }\n\n .detail-field label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .field-value {\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .detail-stats {\n display: flex;\n gap: 24px;\n margin: 24px 0;\n padding: 16px;\n background: var(--mj-bg-surface);\n border-radius: 8px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n }\n\n .stat-label {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .category-lists h4 {\n margin: 0 0 12px;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .mini-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .mini-list-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--mj-bg-surface);\n border-radius: 4px;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .mini-list-item i {\n color: var(--mj-text-muted);\n }\n\n /* No Selection */\n .category-detail-panel.empty {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .no-selection {\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .no-selection i {\n font-size: 32px;\n margin-bottom: 12px;\n }\n\n .no-selection p {\n margin: 0;\n }\n\n /* Form */\n .category-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .form-group label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n }\n\n .form-input {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease-out;\n }\n\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .modal-dialog {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-lg);\n width: 450px;\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease-out;\n }\n\n .modal-dialog.modal-sm {\n width: 400px;\n }\n\n @keyframes slideIn {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .modal-header.danger {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border-bottom-color: color-mix(in srgb, var(--mj-status-error) 30%, transparent);\n }\n\n .modal-header.danger h3 {\n color: var(--mj-status-error);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .modal-close:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .modal-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0;\n color: var(--mj-text-secondary);\n line-height: 1.6;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-secondary {\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-secondary);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n }\n\n .btn-secondary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-primary:hover:not(:disabled) {\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-danger {\n padding: 8px 16px;\n background: var(--mj-status-error);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-danger:hover {\n background: var(--mj-status-error);\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .categories-layout {\n grid-template-columns: 1fr;\n }\n\n .category-detail-panel.empty {\n display: none;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
976
968
  }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.MJNotificationService }], null); })();
977
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsCategoriesResource, { className: "ListsCategoriesResource", filePath: "src/Lists/components/lists-categories-resource.component.ts", lineNumber: 913 }); })();
969
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsCategoriesResource, { className: "ListsCategoriesResource", filePath: "src/Lists/components/lists-categories-resource.component.ts", lineNumber: 901 }); })();
978
970
  //# sourceMappingURL=lists-categories-resource.component.js.map