@memberjunction/ng-dashboards 5.22.0 → 5.24.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 (245) hide show
  1. package/README.md +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 +364 -362
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/agents/agent-editor.component.js +2 -2
  6. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +947 -64
  7. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  8. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +7645 -430
  9. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  10. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +285 -6
  11. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  12. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +2454 -277
  13. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  14. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  15. package/dist/AI/components/execution-monitoring.component.js +191 -197
  16. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  17. package/dist/AI/components/models/model-management.component.js +9 -8
  18. package/dist/AI/components/models/model-management.component.js.map +1 -1
  19. package/dist/AI/components/prompts/prompt-management.component.js +305 -299
  20. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  21. package/dist/AI/components/system/system-configuration.component.js +319 -313
  22. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  23. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +20 -2
  24. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  25. package/dist/AI/components/vectors/vector-management-resource.component.js +419 -232
  26. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  27. package/dist/APIKeys/api-applications-panel.component.js +10 -12
  28. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  29. package/dist/APIKeys/api-key-create-dialog.component.js +13 -19
  30. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  31. package/dist/APIKeys/api-key-edit-panel.component.js +12 -14
  32. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  33. package/dist/APIKeys/api-scopes-panel.component.js +61 -68
  34. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  35. package/dist/APIKeys/api-usage-panel.component.js +10 -11
  36. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  37. package/dist/Actions/components/actions-list-view.component.js +82 -96
  38. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  39. package/dist/Actions/components/actions-overview.component.js +130 -134
  40. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  41. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
  42. package/dist/Actions/components/categories-list-view.component.js +40 -46
  43. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  44. package/dist/Actions/components/code-management.component.js +2 -2
  45. package/dist/Actions/components/code-management.component.js.map +1 -1
  46. package/dist/Actions/components/entity-integration.component.js +2 -2
  47. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  48. package/dist/Actions/components/execution-monitoring.component.js +127 -132
  49. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  50. package/dist/Actions/components/executions-list-view.component.js +2 -2
  51. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  52. package/dist/Actions/components/explorer/action-card.component.js +11 -17
  53. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  54. package/dist/Actions/components/explorer/action-explorer.component.js +5 -11
  55. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  56. package/dist/Actions/components/explorer/action-list-item.component.js +8 -10
  57. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
  58. package/dist/Actions/components/explorer/action-toolbar.component.js +112 -133
  59. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
  60. package/dist/Actions/components/explorer/action-tree-panel.component.js +63 -83
  61. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
  62. package/dist/Actions/components/explorer/new-action-panel.component.js +17 -21
  63. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  64. package/dist/Actions/components/explorer/new-category-panel.component.js +17 -21
  65. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  66. package/dist/Actions/components/scheduled-actions.component.js +2 -2
  67. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  68. package/dist/Actions/components/security-permissions.component.js +2 -2
  69. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  70. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +13 -5
  71. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  72. package/dist/ComponentStudio/component-studio-dashboard.component.js +168 -145
  73. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  74. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts +4 -5
  75. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
  76. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +197 -200
  77. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  78. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts +5 -7
  79. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  80. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +142 -148
  81. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  82. package/dist/ComponentStudio/components/browser/component-browser.component.js +153 -166
  83. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
  84. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +15 -20
  85. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  86. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +16 -21
  87. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  88. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +18 -23
  89. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  90. package/dist/ComponentStudio/components/editors/spec-editor.component.js +25 -30
  91. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  92. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +10 -11
  93. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
  94. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -1
  95. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +24 -35
  96. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  97. package/dist/ComponentStudio/components/text-import-dialog.component.js +15 -17
  98. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  99. package/dist/Credentials/components/credentials-categories-resource.component.js +7 -6
  100. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  101. package/dist/Credentials/components/credentials-list-resource.component.js +6 -5
  102. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  103. package/dist/Credentials/components/credentials-types-resource.component.js +7 -6
  104. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  105. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +9 -9
  106. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  107. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  108. package/dist/DataExplorer/data-explorer-dashboard.component.js +17 -17
  109. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  110. package/dist/Home/home-dashboard.component.js +4 -4
  111. package/dist/Home/home-dashboard.component.js.map +1 -1
  112. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  113. package/dist/Integration/components/activity/activity.component.js +1 -0
  114. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  115. package/dist/Integration/components/connections/connections.component.d.ts.map +1 -1
  116. package/dist/Integration/components/connections/connections.component.js +5 -4
  117. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  118. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.d.ts.map +1 -1
  119. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +247 -259
  120. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  121. package/dist/Integration/components/overview/overview.component.d.ts.map +1 -1
  122. package/dist/Integration/components/overview/overview.component.js +1 -0
  123. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  124. package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
  125. package/dist/Integration/components/pipelines/pipelines.component.js +1 -0
  126. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  127. package/dist/Integration/components/schedules/schedules.component.d.ts.map +1 -1
  128. package/dist/Integration/components/schedules/schedules.component.js +1 -0
  129. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  130. package/dist/Integration/components/widgets/integration-card.component.js +7 -9
  131. package/dist/Integration/components/widgets/integration-card.component.js.map +1 -1
  132. package/dist/Integration/integration.module.d.ts +6 -10
  133. package/dist/Integration/integration.module.d.ts.map +1 -1
  134. package/dist/Integration/integration.module.js +12 -20
  135. package/dist/Integration/integration.module.js.map +1 -1
  136. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +411 -0
  137. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -0
  138. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +4266 -0
  139. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -0
  140. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +140 -0
  141. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -0
  142. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +780 -0
  143. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -0
  144. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +8 -2
  145. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
  146. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +246 -195
  147. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  148. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +75 -0
  149. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -0
  150. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +601 -0
  151. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -0
  152. package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.d.ts +93 -12
  153. package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.d.ts.map +1 -1
  154. package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.js +637 -107
  155. package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.js.map +1 -1
  156. package/dist/KnowledgeHub/index.d.ts +3 -0
  157. package/dist/KnowledgeHub/index.d.ts.map +1 -1
  158. package/dist/KnowledgeHub/index.js +3 -0
  159. package/dist/KnowledgeHub/index.js.map +1 -1
  160. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  161. package/dist/Lists/components/lists-browse-resource.component.js +9 -7
  162. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  163. package/dist/Lists/components/lists-my-lists-resource.component.js +5 -4
  164. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  165. package/dist/Lists/components/lists-operations-resource.component.js +10 -9
  166. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  167. package/dist/MCP/components/mcp-connection-dialog.component.js +141 -132
  168. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
  169. package/dist/MCP/components/mcp-log-detail-panel.component.js +4 -4
  170. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  171. package/dist/MCP/components/mcp-server-dialog.component.js +141 -128
  172. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
  173. package/dist/MCP/components/mcp-test-tool-dialog.component.js +210 -218
  174. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  175. package/dist/MCP/mcp-dashboard.component.js +2 -2
  176. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  177. package/dist/MCP/mcp.module.d.ts +6 -9
  178. package/dist/MCP/mcp.module.d.ts.map +1 -1
  179. package/dist/MCP/mcp.module.js +20 -22
  180. package/dist/MCP/mcp.module.js.map +1 -1
  181. package/dist/Scheduling/components/scheduling-activity.component.js +5 -4
  182. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  183. package/dist/Scheduling/components/scheduling-jobs.component.js +6 -5
  184. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  185. package/dist/Scheduling/components/scheduling-overview.component.js +93 -92
  186. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  187. package/dist/Testing/testing-dashboard.component.js +9 -10
  188. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  189. package/dist/__tests__/analytics-resource.test.d.ts +2 -0
  190. package/dist/__tests__/analytics-resource.test.d.ts.map +1 -0
  191. package/dist/__tests__/analytics-resource.test.js +181 -0
  192. package/dist/__tests__/analytics-resource.test.js.map +1 -0
  193. package/dist/__tests__/scheduling.test.d.ts +2 -0
  194. package/dist/__tests__/scheduling.test.d.ts.map +1 -0
  195. package/dist/__tests__/scheduling.test.js +205 -0
  196. package/dist/__tests__/scheduling.test.js.map +1 -0
  197. package/dist/actions-dashboards.module.d.ts +8 -13
  198. package/dist/actions-dashboards.module.d.ts.map +1 -1
  199. package/dist/actions-dashboards.module.js +6 -27
  200. package/dist/actions-dashboards.module.js.map +1 -1
  201. package/dist/ai-dashboards.module.d.ts +20 -20
  202. package/dist/ai-dashboards.module.d.ts.map +1 -1
  203. package/dist/ai-dashboards.module.js +43 -44
  204. package/dist/ai-dashboards.module.js.map +1 -1
  205. package/dist/communication-dashboards.module.d.ts +4 -8
  206. package/dist/communication-dashboards.module.d.ts.map +1 -1
  207. package/dist/communication-dashboards.module.js +0 -19
  208. package/dist/communication-dashboards.module.js.map +1 -1
  209. package/dist/component-studio-dashboards.module.d.ts +7 -11
  210. package/dist/component-studio-dashboards.module.d.ts.map +1 -1
  211. package/dist/component-studio-dashboards.module.js +22 -34
  212. package/dist/component-studio-dashboards.module.js.map +1 -1
  213. package/dist/core-dashboards.module.d.ts +12 -18
  214. package/dist/core-dashboards.module.d.ts.map +1 -1
  215. package/dist/core-dashboards.module.js +15 -31
  216. package/dist/core-dashboards.module.js.map +1 -1
  217. package/dist/credentials-dashboards.module.d.ts +5 -8
  218. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  219. package/dist/credentials-dashboards.module.js +3 -19
  220. package/dist/credentials-dashboards.module.js.map +1 -1
  221. package/dist/data-explorer-dashboards.module.d.ts +7 -13
  222. package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
  223. package/dist/data-explorer-dashboards.module.js +0 -27
  224. package/dist/data-explorer-dashboards.module.js.map +1 -1
  225. package/dist/lists-dashboards.module.d.ts +5 -8
  226. package/dist/lists-dashboards.module.d.ts.map +1 -1
  227. package/dist/lists-dashboards.module.js +3 -19
  228. package/dist/lists-dashboards.module.js.map +1 -1
  229. package/dist/public-api.d.ts +2 -0
  230. package/dist/public-api.d.ts.map +1 -1
  231. package/dist/public-api.js +2 -0
  232. package/dist/public-api.js.map +1 -1
  233. package/dist/scheduling-dashboards.module.d.ts +6 -10
  234. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  235. package/dist/scheduling-dashboards.module.js +3 -23
  236. package/dist/scheduling-dashboards.module.js.map +1 -1
  237. package/dist/shared/entity-field-display.d.ts +44 -0
  238. package/dist/shared/entity-field-display.d.ts.map +1 -0
  239. package/dist/shared/entity-field-display.js +118 -0
  240. package/dist/shared/entity-field-display.js.map +1 -0
  241. package/dist/testing-dashboards.module.d.ts +7 -13
  242. package/dist/testing-dashboards.module.d.ts.map +1 -1
  243. package/dist/testing-dashboards.module.js +0 -27
  244. package/dist/testing-dashboards.module.js.map +1 -1
  245. package/package.json +48 -55
@@ -4,72 +4,67 @@ import { Subject, BehaviorSubject, combineLatest } from 'rxjs';
4
4
  import { debounceTime, takeUntil, distinctUntilChanged } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
- import * as i2 from "@progress/kendo-angular-buttons";
8
- import * as i3 from "@progress/kendo-angular-dropdowns";
9
- import * as i4 from "@progress/kendo-angular-inputs";
10
- import * as i5 from "@memberjunction/ng-shared-generic";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "@memberjunction/ng-ui-components";
9
+ import * as i4 from "@memberjunction/ng-shared-generic";
11
10
  const _c0 = a0 => ({ nodes: a0 });
12
11
  const _forTrack0 = ($index, $item) => $item.category.ID;
13
12
  const _forTrack1 = ($index, $item) => $item.ID;
14
- function ActionsListViewComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelement(0, "i", 19);
16
- } }
17
- function ActionsListViewComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
13
+ function ActionsListViewComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
18
14
  i0.ɵɵtext(0, " All Categories ");
19
15
  } }
20
- function ActionsListViewComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
16
+ function ActionsListViewComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
21
17
  i0.ɵɵtext(0);
22
18
  } if (rf & 2) {
23
19
  const ctx_r0 = i0.ɵɵnextContext();
24
20
  i0.ɵɵtextInterpolate1(" ", ctx_r0.getCategoryName(ctx_r0.selectedCategory$.value), " ");
25
21
  } }
26
- function ActionsListViewComponent_Conditional_21_ng_container_13_Template(rf, ctx) { if (rf & 1) {
22
+ function ActionsListViewComponent_Conditional_22_ng_container_13_Template(rf, ctx) { if (rf & 1) {
27
23
  i0.ɵɵelementContainer(0);
28
24
  } }
29
- function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
25
+ function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30
26
  i0.ɵɵelement(0, "i", 34);
31
27
  } }
32
- function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
28
+ function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
33
29
  i0.ɵɵelement(0, "i", 35);
34
30
  } }
35
- function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
31
+ function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
36
32
  const _r5 = i0.ɵɵgetCurrentView();
37
33
  i0.ɵɵelementStart(0, "button", 33);
38
- i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const node_r4 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); ctx_r0.toggleCategoryExpanded(node_r4.category.ID); return i0.ɵɵresetView($event.stopPropagation()); });
39
- i0.ɵɵconditionalCreate(1, ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_2_Conditional_1_Template, 1, 0, "i", 34)(2, ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_2_Conditional_2_Template, 1, 0, "i", 35);
34
+ i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const node_r4 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); ctx_r0.toggleCategoryExpanded(node_r4.category.ID); return i0.ɵɵresetView($event.stopPropagation()); });
35
+ i0.ɵɵconditionalCreate(1, ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_2_Conditional_1_Template, 1, 0, "i", 34)(2, ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_2_Conditional_2_Template, 1, 0, "i", 35);
40
36
  i0.ɵɵelementEnd();
41
37
  } if (rf & 2) {
42
38
  const node_r4 = i0.ɵɵnextContext().$implicit;
43
39
  const ctx_r0 = i0.ɵɵnextContext(3);
44
- i0.ɵɵproperty("fillMode", "flat")("size", "small");
45
40
  i0.ɵɵadvance();
46
41
  i0.ɵɵconditional(ctx_r0.isCategoryExpanded(node_r4.category.ID) ? 1 : 2);
47
42
  } }
48
- function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
43
+ function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
49
44
  i0.ɵɵelement(0, "span", 31);
50
45
  } }
51
- function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_8_ng_container_0_Template(rf, ctx) { if (rf & 1) {
46
+ function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_8_ng_container_0_Template(rf, ctx) { if (rf & 1) {
52
47
  i0.ɵɵelementContainer(0);
53
48
  } }
54
- function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_8_Template(rf, ctx) { if (rf & 1) {
55
- i0.ɵɵtemplate(0, ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_8_ng_container_0_Template, 1, 0, "ng-container", 26);
49
+ function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_8_Template(rf, ctx) { if (rf & 1) {
50
+ i0.ɵɵtemplate(0, ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_8_ng_container_0_Template, 1, 0, "ng-container", 26);
56
51
  } if (rf & 2) {
57
52
  const node_r4 = i0.ɵɵnextContext().$implicit;
58
53
  i0.ɵɵnextContext(2);
59
54
  const categoryTreeTemplate_r6 = i0.ɵɵreference(15);
60
55
  i0.ɵɵproperty("ngTemplateOutlet", categoryTreeTemplate_r6)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r4.children));
61
56
  } }
62
- function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Template(rf, ctx) { if (rf & 1) {
57
+ function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Template(rf, ctx) { if (rf & 1) {
63
58
  const _r3 = i0.ɵɵgetCurrentView();
64
59
  i0.ɵɵelementStart(0, "div", 28)(1, "button", 29);
65
- i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Template_button_click_1_listener() { const node_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectCategory(node_r4.category.ID)); });
66
- i0.ɵɵconditionalCreate(2, ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_2_Template, 3, 3, "button", 30)(3, ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_3_Template, 1, 0, "span", 31);
60
+ i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Template_button_click_1_listener() { const node_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectCategory(node_r4.category.ID)); });
61
+ i0.ɵɵconditionalCreate(2, ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_2_Template, 3, 1, "button", 30)(3, ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_3_Template, 1, 0, "span", 31);
67
62
  i0.ɵɵelement(4, "i", 32);
68
63
  i0.ɵɵtext(5);
69
- i0.ɵɵelementStart(6, "span", 14);
64
+ i0.ɵɵelementStart(6, "span", 15);
70
65
  i0.ɵɵtext(7);
71
66
  i0.ɵɵelementEnd()();
72
- i0.ɵɵconditionalCreate(8, ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Conditional_8_Template, 1, 4, "ng-container");
67
+ i0.ɵɵconditionalCreate(8, ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Conditional_8_Template, 1, 4, "ng-container");
73
68
  i0.ɵɵelementEnd();
74
69
  } if (rf & 2) {
75
70
  const node_r4 = ctx.$implicit;
@@ -77,7 +72,6 @@ function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Template(r
77
72
  i0.ɵɵstyleProp("padding-left", node_r4.level * 20, "px");
78
73
  i0.ɵɵadvance();
79
74
  i0.ɵɵclassProp("selected", ctx_r0.selectedCategory$.value === node_r4.category.ID);
80
- i0.ɵɵproperty("fillMode", "flat")("size", "small");
81
75
  i0.ɵɵadvance();
82
76
  i0.ɵɵconditional(node_r4.children.length > 0 ? 2 : 3);
83
77
  i0.ɵɵadvance(3);
@@ -87,55 +81,50 @@ function ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Template(r
87
81
  i0.ɵɵadvance();
88
82
  i0.ɵɵconditional(node_r4.children.length > 0 && ctx_r0.isCategoryExpanded(node_r4.category.ID) ? 8 : -1);
89
83
  } }
90
- function ActionsListViewComponent_Conditional_21_ng_template_14_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵrepeaterCreate(0, ActionsListViewComponent_Conditional_21_ng_template_14_For_1_Template, 9, 10, "div", 27, _forTrack0);
84
+ function ActionsListViewComponent_Conditional_22_ng_template_14_Template(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵrepeaterCreate(0, ActionsListViewComponent_Conditional_22_ng_template_14_For_1_Template, 9, 8, "div", 27, _forTrack0);
92
86
  } if (rf & 2) {
93
87
  const nodes_r7 = ctx.nodes;
94
88
  i0.ɵɵrepeater(nodes_r7);
95
89
  } }
96
- function ActionsListViewComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
90
+ function ActionsListViewComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
97
91
  const _r2 = i0.ɵɵgetCurrentView();
98
- i0.ɵɵelementStart(0, "div", 15)(1, "div", 20)(2, "h3");
92
+ i0.ɵɵelementStart(0, "div", 16)(1, "div", 20)(2, "h3");
99
93
  i0.ɵɵtext(3, "Select Category");
100
94
  i0.ɵɵelementEnd();
101
95
  i0.ɵɵelementStart(4, "button", 21);
102
- i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_21_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.toggleCategoryTree()); });
96
+ i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_22_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.toggleCategoryTree()); });
103
97
  i0.ɵɵelement(5, "i", 22);
104
98
  i0.ɵɵelementEnd()();
105
99
  i0.ɵɵelementStart(6, "div", 23)(7, "button", 21);
106
- i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_21_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.selectCategory("all")); });
100
+ i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_22_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.selectCategory("all")); });
107
101
  i0.ɵɵelement(8, "i", 24);
108
102
  i0.ɵɵtext(9, " All Categories ");
109
- i0.ɵɵelementStart(10, "span", 14);
103
+ i0.ɵɵelementStart(10, "span", 15);
110
104
  i0.ɵɵtext(11);
111
105
  i0.ɵɵelementEnd()()();
112
106
  i0.ɵɵelementStart(12, "div", 25);
113
- i0.ɵɵtemplate(13, ActionsListViewComponent_Conditional_21_ng_container_13_Template, 1, 0, "ng-container", 26);
107
+ i0.ɵɵtemplate(13, ActionsListViewComponent_Conditional_22_ng_container_13_Template, 1, 0, "ng-container", 26);
114
108
  i0.ɵɵelementEnd();
115
- i0.ɵɵtemplate(14, ActionsListViewComponent_Conditional_21_ng_template_14_Template, 2, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
109
+ i0.ɵɵtemplate(14, ActionsListViewComponent_Conditional_22_ng_template_14_Template, 2, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
116
110
  i0.ɵɵelementEnd();
117
111
  } if (rf & 2) {
118
112
  const categoryTreeTemplate_r6 = i0.ɵɵreference(15);
119
113
  const ctx_r0 = i0.ɵɵnextContext();
120
- i0.ɵɵadvance(4);
121
- i0.ɵɵproperty("fillMode", "flat")("size", "small");
122
- i0.ɵɵadvance(3);
114
+ i0.ɵɵadvance(7);
123
115
  i0.ɵɵclassProp("selected", ctx_r0.selectedCategory$.value === "all");
124
- i0.ɵɵproperty("fillMode", "flat")("size", "small");
125
116
  i0.ɵɵadvance(4);
126
117
  i0.ɵɵtextInterpolate(ctx_r0.actions.length);
127
118
  i0.ɵɵadvance(2);
128
- i0.ɵɵproperty("ngTemplateOutlet", categoryTreeTemplate_r6)("ngTemplateOutletContext", i0.ɵɵpureFunction1(9, _c0, ctx_r0.categoryTree));
119
+ i0.ɵɵproperty("ngTemplateOutlet", categoryTreeTemplate_r6)("ngTemplateOutletContext", i0.ɵɵpureFunction1(5, _c0, ctx_r0.categoryTree));
129
120
  } }
130
- function ActionsListViewComponent_Conditional_23_For_1_Conditional_10_Template(rf, ctx) { if (rf & 1) {
131
- i0.ɵɵelementStart(0, "kendo-chip", 44);
121
+ function ActionsListViewComponent_Conditional_24_For_1_Conditional_10_Template(rf, ctx) { if (rf & 1) {
122
+ i0.ɵɵelementStart(0, "span", 44);
132
123
  i0.ɵɵelement(1, "i", 51);
133
124
  i0.ɵɵtext(2, " AI Generated ");
134
125
  i0.ɵɵelementEnd();
135
- } if (rf & 2) {
136
- i0.ɵɵproperty("size", "small");
137
126
  } }
138
- function ActionsListViewComponent_Conditional_23_For_1_Conditional_18_Template(rf, ctx) { if (rf & 1) {
127
+ function ActionsListViewComponent_Conditional_24_For_1_Conditional_18_Template(rf, ctx) { if (rf & 1) {
139
128
  i0.ɵɵelementStart(0, "div", 47);
140
129
  i0.ɵɵelement(1, "i", 52);
141
130
  i0.ɵɵelementStart(2, "span");
@@ -147,7 +136,7 @@ function ActionsListViewComponent_Conditional_23_For_1_Conditional_18_Template(r
147
136
  i0.ɵɵadvance(3);
148
137
  i0.ɵɵtextInterpolate1("Updated ", i0.ɵɵpipeBind2(4, 1, action_r9.__mj_UpdatedAt, "MMM d, yyyy"));
149
138
  } }
150
- function ActionsListViewComponent_Conditional_23_For_1_Conditional_19_Template(rf, ctx) { if (rf & 1) {
139
+ function ActionsListViewComponent_Conditional_24_For_1_Conditional_19_Template(rf, ctx) { if (rf & 1) {
151
140
  i0.ɵɵelementStart(0, "div", 47);
152
141
  i0.ɵɵelement(1, "i", 53);
153
142
  i0.ɵɵelementStart(2, "span");
@@ -158,20 +147,20 @@ function ActionsListViewComponent_Conditional_23_For_1_Conditional_19_Template(r
158
147
  i0.ɵɵadvance(3);
159
148
  i0.ɵɵtextInterpolate(action_r9.CodeApprovalStatus);
160
149
  } }
161
- function ActionsListViewComponent_Conditional_23_For_1_Template(rf, ctx) { if (rf & 1) {
150
+ function ActionsListViewComponent_Conditional_24_For_1_Template(rf, ctx) { if (rf & 1) {
162
151
  const _r8 = i0.ɵɵgetCurrentView();
163
152
  i0.ɵɵelementStart(0, "div", 37);
164
- i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_23_For_1_Template_div_click_0_listener() { const action_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.openAction(action_r9)); });
153
+ i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_24_For_1_Template_div_click_0_listener() { const action_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.openAction(action_r9)); });
165
154
  i0.ɵɵelementStart(1, "div", 38);
166
155
  i0.ɵɵelement(2, "i");
167
156
  i0.ɵɵelementEnd();
168
157
  i0.ɵɵelementStart(3, "div", 39)(4, "div", 40)(5, "h3", 41);
169
158
  i0.ɵɵtext(6);
170
159
  i0.ɵɵelementEnd();
171
- i0.ɵɵelementStart(7, "div", 42)(8, "kendo-chip", 43);
160
+ i0.ɵɵelementStart(7, "div", 42)(8, "span", 43);
172
161
  i0.ɵɵtext(9);
173
162
  i0.ɵɵelementEnd();
174
- i0.ɵɵconditionalCreate(10, ActionsListViewComponent_Conditional_23_For_1_Conditional_10_Template, 3, 1, "kendo-chip", 44);
163
+ i0.ɵɵconditionalCreate(10, ActionsListViewComponent_Conditional_24_For_1_Conditional_10_Template, 3, 0, "span", 44);
175
164
  i0.ɵɵelementEnd()();
176
165
  i0.ɵɵelementStart(11, "div", 45);
177
166
  i0.ɵɵtext(12);
@@ -181,11 +170,11 @@ function ActionsListViewComponent_Conditional_23_For_1_Template(rf, ctx) { if (r
181
170
  i0.ɵɵelementStart(16, "span");
182
171
  i0.ɵɵtext(17);
183
172
  i0.ɵɵelementEnd()();
184
- i0.ɵɵconditionalCreate(18, ActionsListViewComponent_Conditional_23_For_1_Conditional_18_Template, 5, 4, "div", 47);
185
- i0.ɵɵconditionalCreate(19, ActionsListViewComponent_Conditional_23_For_1_Conditional_19_Template, 4, 1, "div", 47);
173
+ i0.ɵɵconditionalCreate(18, ActionsListViewComponent_Conditional_24_For_1_Conditional_18_Template, 5, 4, "div", 47);
174
+ i0.ɵɵconditionalCreate(19, ActionsListViewComponent_Conditional_24_For_1_Conditional_19_Template, 4, 1, "div", 47);
186
175
  i0.ɵɵelementEnd()();
187
176
  i0.ɵɵelementStart(20, "div", 48)(21, "button", 49);
188
- i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_23_For_1_Template_button_click_21_listener($event) { i0.ɵɵrestoreView(_r8); return i0.ɵɵresetView($event.stopPropagation()); });
177
+ i0.ɵɵlistener("click", function ActionsListViewComponent_Conditional_24_For_1_Template_button_click_21_listener($event) { i0.ɵɵrestoreView(_r8); return i0.ɵɵresetView($event.stopPropagation()); });
189
178
  i0.ɵɵelement(22, "i", 50);
190
179
  i0.ɵɵelementEnd()()();
191
180
  } if (rf & 2) {
@@ -196,7 +185,7 @@ function ActionsListViewComponent_Conditional_23_For_1_Template(rf, ctx) { if (r
196
185
  i0.ɵɵadvance(4);
197
186
  i0.ɵɵtextInterpolate(action_r9.Name);
198
187
  i0.ɵɵadvance(2);
199
- i0.ɵɵproperty("themeColor", ctx_r0.getStatusColor(action_r9.Status))("size", "small");
188
+ i0.ɵɵattribute("data-color", ctx_r0.getStatusColor(action_r9.Status));
200
189
  i0.ɵɵadvance();
201
190
  i0.ɵɵtextInterpolate1(" ", action_r9.Status, " ");
202
191
  i0.ɵɵadvance();
@@ -209,18 +198,16 @@ function ActionsListViewComponent_Conditional_23_For_1_Template(rf, ctx) { if (r
209
198
  i0.ɵɵconditional(action_r9.__mj_UpdatedAt ? 18 : -1);
210
199
  i0.ɵɵadvance();
211
200
  i0.ɵɵconditional(action_r9.CodeApprovalStatus && action_r9.Type === "Generated" ? 19 : -1);
212
- i0.ɵɵadvance(2);
213
- i0.ɵɵproperty("fillMode", "flat");
214
201
  } }
215
- function ActionsListViewComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
216
- i0.ɵɵrepeaterCreate(0, ActionsListViewComponent_Conditional_23_For_1_Template, 23, 12, "div", 36, _forTrack1);
202
+ function ActionsListViewComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
203
+ i0.ɵɵrepeaterCreate(0, ActionsListViewComponent_Conditional_24_For_1_Template, 23, 10, "div", 36, _forTrack1);
217
204
  } if (rf & 2) {
218
205
  const ctx_r0 = i0.ɵɵnextContext();
219
206
  i0.ɵɵrepeater(ctx_r0.filteredActions);
220
207
  } }
221
- function ActionsListViewComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
222
- i0.ɵɵelementStart(0, "div", 17);
223
- i0.ɵɵelement(1, "i", 19);
208
+ function ActionsListViewComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
209
+ i0.ɵɵelementStart(0, "div", 18);
210
+ i0.ɵɵelement(1, "i", 54);
224
211
  i0.ɵɵelementStart(2, "h3");
225
212
  i0.ɵɵtext(3, "No actions found");
226
213
  i0.ɵɵelementEnd();
@@ -228,9 +215,9 @@ function ActionsListViewComponent_Conditional_24_Template(rf, ctx) { if (rf & 1)
228
215
  i0.ɵɵtext(5, "Try adjusting your search or filter criteria");
229
216
  i0.ɵɵelementEnd()();
230
217
  } }
231
- function ActionsListViewComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
232
- i0.ɵɵelementStart(0, "div", 18);
233
- i0.ɵɵelement(1, "mj-loading", 54);
218
+ function ActionsListViewComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
219
+ i0.ɵɵelementStart(0, "div", 19);
220
+ i0.ɵɵelement(1, "mj-loading", 55);
234
221
  i0.ɵɵelementEnd();
235
222
  } if (rf & 2) {
236
223
  i0.ɵɵadvance();
@@ -499,7 +486,7 @@ export class ActionsListViewComponent {
499
486
  this.showCategoryTree = !this.showCategoryTree;
500
487
  }
501
488
  static ɵfac = function ActionsListViewComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionsListViewComponent)(); };
502
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsListViewComponent, selectors: [["mj-actions-list-view"]], outputs: { openEntityRecord: "openEntityRecord" }, standalone: false, decls: 26, vars: 15, consts: [["categoryTreeTemplate", ""], [1, "actions-list-view"], [1, "list-header"], [1, "header-title"], [1, "fa-solid", "fa-cogs"], [1, "results-count"], [1, "filters-row"], [1, "search-container"], ["placeholder", "Search actions...", 3, "valueChange", "value"], ["kendoTextBoxPrefixTemplate", ""], [1, "filter-group"], ["textField", "text", "valueField", "value", 3, "valueChange", "data", "valuePrimitive", "value"], ["kendoButton", "", 1, "category-filter-button", 3, "click", "fillMode"], [1, "fa-solid", "fa-folder-tree"], [1, "badge"], [1, "category-tree-panel"], [1, "actions-list"], [1, "empty-state"], [1, "loading-overlay"], [1, "fa-solid", "fa-search"], [1, "tree-header"], ["kendoButton", "", 3, "click", "fillMode", "size"], [1, "fa-solid", "fa-times"], [1, "tree-actions"], [1, "fa-solid", "fa-folder-open"], [1, "tree-content"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "tree-node", 3, "padding-left"], [1, "tree-node"], ["kendoButton", "", 1, "tree-node-button", 3, "click", "fillMode", "size"], ["kendoButton", "", 1, "expand-button", 3, "fillMode", "size"], [1, "no-expand"], [1, "fa-solid", "fa-folder"], ["kendoButton", "", 1, "expand-button", 3, "click", "fillMode", "size"], [1, "fa-solid", "fa-chevron-down"], [1, "fa-solid", "fa-chevron-right"], [1, "action-card"], [1, "action-card", 3, "click"], [1, "action-icon"], [1, "action-main"], [1, "action-header"], [1, "action-name"], [1, "action-badges"], [3, "themeColor", "size"], ["themeColor", "info", 3, "size"], [1, "action-description"], [1, "action-details"], [1, "detail-item"], [1, "action-actions"], ["kendoButton", "", 3, "click", "fillMode"], [1, "fa-solid", "fa-ellipsis-vertical"], [1, "fa-solid", "fa-robot"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-check-circle"], ["size", "medium", 3, "showText"]], template: function ActionsListViewComponent_Template(rf, ctx) { if (rf & 1) {
489
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsListViewComponent, selectors: [["mj-actions-list-view"]], outputs: { openEntityRecord: "openEntityRecord" }, standalone: false, decls: 27, vars: 14, consts: [["categoryTreeTemplate", ""], [1, "actions-list-view"], [1, "list-header"], [1, "header-title"], [1, "fa-solid", "fa-cogs"], [1, "results-count"], [1, "filters-row"], [1, "search-container"], [1, "search-input-wrapper"], [1, "fa-solid", "fa-search", "search-icon"], ["type", "text", "placeholder", "Search actions...", 1, "mj-input", 3, "input", "value"], [1, "filter-group"], ["TextField", "text", "ValueField", "value", 3, "ValueChange", "Data", "ValuePrimitive", "ngModel"], ["mjButton", "", "variant", "outline", 1, "category-filter-button", 3, "click"], [1, "fa-solid", "fa-folder-tree"], [1, "badge"], [1, "category-tree-panel"], [1, "actions-list"], [1, "empty-state"], [1, "loading-overlay"], [1, "tree-header"], ["mjButton", "", "variant", "flat", "size", "sm", 3, "click"], [1, "fa-solid", "fa-times"], [1, "tree-actions"], [1, "fa-solid", "fa-folder-open"], [1, "tree-content"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "tree-node", 3, "padding-left"], [1, "tree-node"], ["mjButton", "", "variant", "flat", "size", "sm", 1, "tree-node-button", 3, "click"], ["mjButton", "", "variant", "flat", "size", "sm", 1, "expand-button"], [1, "no-expand"], [1, "fa-solid", "fa-folder"], ["mjButton", "", "variant", "flat", "size", "sm", 1, "expand-button", 3, "click"], [1, "fa-solid", "fa-chevron-down"], [1, "fa-solid", "fa-chevron-right"], [1, "action-card"], [1, "action-card", 3, "click"], [1, "action-icon"], [1, "action-main"], [1, "action-header"], [1, "action-name"], [1, "action-badges"], [1, "status-chip"], ["data-color", "info", 1, "status-chip"], [1, "action-description"], [1, "action-details"], [1, "detail-item"], [1, "action-actions"], ["mjButton", "", "variant", "flat", 3, "click"], [1, "fa-solid", "fa-ellipsis-vertical"], [1, "fa-solid", "fa-robot"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-check-circle"], [1, "fa-solid", "fa-search"], ["size", "medium", 3, "showText"]], template: function ActionsListViewComponent_Template(rf, ctx) { if (rf & 1) {
503
490
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3)(3, "h2");
504
491
  i0.ɵɵelement(4, "i", 4);
505
492
  i0.ɵɵtext(5, " Actions");
@@ -507,55 +494,54 @@ export class ActionsListViewComponent {
507
494
  i0.ɵɵelementStart(6, "div", 5);
508
495
  i0.ɵɵtext(7);
509
496
  i0.ɵɵelementEnd()();
510
- i0.ɵɵelementStart(8, "div", 6)(9, "div", 7)(10, "kendo-textbox", 8);
511
- i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_textbox_valueChange_10_listener($event) { return ctx.onSearchChange($event); });
512
- i0.ɵɵtemplate(11, ActionsListViewComponent_ng_template_11_Template, 1, 0, "ng-template", 9);
513
- i0.ɵɵelementEnd()();
514
- i0.ɵɵelementStart(12, "div", 10)(13, "kendo-dropdownlist", 11);
515
- i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_dropdownlist_valueChange_13_listener($event) { return ctx.onStatusFilterChange($event); });
497
+ i0.ɵɵelementStart(8, "div", 6)(9, "div", 7)(10, "div", 8);
498
+ i0.ɵɵelement(11, "i", 9);
499
+ i0.ɵɵelementStart(12, "input", 10);
500
+ i0.ɵɵlistener("input", function ActionsListViewComponent_Template_input_input_12_listener($event) { return ctx.onSearchChange($event.target.value); });
501
+ i0.ɵɵelementEnd()()();
502
+ i0.ɵɵelementStart(13, "div", 11)(14, "mj-dropdown", 12);
503
+ i0.ɵɵlistener("ValueChange", function ActionsListViewComponent_Template_mj_dropdown_ValueChange_14_listener($event) { return ctx.onStatusFilterChange($event); });
516
504
  i0.ɵɵelementEnd();
517
- i0.ɵɵelementStart(14, "kendo-dropdownlist", 11);
518
- i0.ɵɵlistener("valueChange", function ActionsListViewComponent_Template_kendo_dropdownlist_valueChange_14_listener($event) { return ctx.onTypeFilterChange($event); });
505
+ i0.ɵɵelementStart(15, "mj-dropdown", 12);
506
+ i0.ɵɵlistener("ValueChange", function ActionsListViewComponent_Template_mj_dropdown_ValueChange_15_listener($event) { return ctx.onTypeFilterChange($event); });
519
507
  i0.ɵɵelementEnd();
520
- i0.ɵɵelementStart(15, "button", 12);
521
- i0.ɵɵlistener("click", function ActionsListViewComponent_Template_button_click_15_listener() { return ctx.toggleCategoryTree(); });
522
- i0.ɵɵelement(16, "i", 13);
523
- i0.ɵɵconditionalCreate(17, ActionsListViewComponent_Conditional_17_Template, 1, 0)(18, ActionsListViewComponent_Conditional_18_Template, 1, 1);
524
- i0.ɵɵelementStart(19, "span", 14);
525
- i0.ɵɵtext(20);
508
+ i0.ɵɵelementStart(16, "button", 13);
509
+ i0.ɵɵlistener("click", function ActionsListViewComponent_Template_button_click_16_listener() { return ctx.toggleCategoryTree(); });
510
+ i0.ɵɵelement(17, "i", 14);
511
+ i0.ɵɵconditionalCreate(18, ActionsListViewComponent_Conditional_18_Template, 1, 0)(19, ActionsListViewComponent_Conditional_19_Template, 1, 1);
512
+ i0.ɵɵelementStart(20, "span", 15);
513
+ i0.ɵɵtext(21);
526
514
  i0.ɵɵelementEnd()()()()();
527
- i0.ɵɵconditionalCreate(21, ActionsListViewComponent_Conditional_21_Template, 16, 11, "div", 15);
528
- i0.ɵɵelementStart(22, "div", 16);
529
- i0.ɵɵconditionalCreate(23, ActionsListViewComponent_Conditional_23_Template, 2, 0)(24, ActionsListViewComponent_Conditional_24_Template, 6, 0, "div", 17);
515
+ i0.ɵɵconditionalCreate(22, ActionsListViewComponent_Conditional_22_Template, 16, 7, "div", 16);
516
+ i0.ɵɵelementStart(23, "div", 17);
517
+ i0.ɵɵconditionalCreate(24, ActionsListViewComponent_Conditional_24_Template, 2, 0)(25, ActionsListViewComponent_Conditional_25_Template, 6, 0, "div", 18);
530
518
  i0.ɵɵelementEnd();
531
- i0.ɵɵconditionalCreate(25, ActionsListViewComponent_Conditional_25_Template, 2, 1, "div", 18);
519
+ i0.ɵɵconditionalCreate(26, ActionsListViewComponent_Conditional_26_Template, 2, 1, "div", 19);
532
520
  i0.ɵɵelementEnd();
533
521
  } if (rf & 2) {
534
522
  i0.ɵɵadvance(7);
535
523
  i0.ɵɵtextInterpolate2("", ctx.filteredActions.length, " of ", ctx.actions.length, " actions");
536
- i0.ɵɵadvance(3);
524
+ i0.ɵɵadvance(5);
537
525
  i0.ɵɵproperty("value", ctx.searchTerm$.value);
538
- i0.ɵɵadvance(3);
539
- i0.ɵɵproperty("data", ctx.statusOptions)("valuePrimitive", true)("value", ctx.selectedStatus$.value);
540
- i0.ɵɵadvance();
541
- i0.ɵɵproperty("data", ctx.typeOptions)("valuePrimitive", true)("value", ctx.selectedType$.value);
542
- i0.ɵɵadvance();
543
- i0.ɵɵproperty("fillMode", "outline");
544
526
  i0.ɵɵadvance(2);
545
- i0.ɵɵconditional(ctx.selectedCategory$.value === "all" ? 17 : 18);
527
+ i0.ɵɵproperty("Data", ctx.statusOptions)("ValuePrimitive", true)("ngModel", ctx.selectedStatus$.value);
528
+ i0.ɵɵadvance();
529
+ i0.ɵɵproperty("Data", ctx.typeOptions)("ValuePrimitive", true)("ngModel", ctx.selectedType$.value);
530
+ i0.ɵɵadvance(3);
531
+ i0.ɵɵconditional(ctx.selectedCategory$.value === "all" ? 18 : 19);
546
532
  i0.ɵɵadvance(3);
547
533
  i0.ɵɵtextInterpolate(ctx.getCategoryActionCount(ctx.selectedCategory$.value));
548
534
  i0.ɵɵadvance();
549
- i0.ɵɵconditional(ctx.showCategoryTree ? 21 : -1);
535
+ i0.ɵɵconditional(ctx.showCategoryTree ? 22 : -1);
550
536
  i0.ɵɵadvance(2);
551
- i0.ɵɵconditional(ctx.filteredActions.length > 0 ? 23 : !ctx.isLoading ? 24 : -1);
537
+ i0.ɵɵconditional(ctx.filteredActions.length > 0 ? 24 : !ctx.isLoading ? 25 : -1);
552
538
  i0.ɵɵadvance(2);
553
- i0.ɵɵconditional(ctx.isLoading ? 25 : -1);
554
- } }, dependencies: [i1.NgTemplateOutlet, i2.ButtonComponent, i2.ChipComponent, i3.DropDownListComponent, i4.TextBoxComponent, i4.TextBoxPrefixTemplateDirective, i5.LoadingComponent, i1.DatePipe], styles: [".actions-list-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--kendo-color-app-surface);\n position: relative; \n\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] {\n padding: 1.5rem;\n border-bottom: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-surface);\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--kendo-color-primary);\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] .results-count[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--kendo-color-subtle);\n font-weight: 600;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 200px;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] kendo-textbox[_ngcontent-%COMP%] {\n width: 100%;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.75rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] kendo-dropdownlist[_ngcontent-%COMP%] {\n min-width: 140px;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .category-filter-button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .category-filter-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .category-filter-button[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%] {\n background: var(--kendo-color-primary-subtle);\n color: var(--kendo-color-primary);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n margin-left: 8px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] {\n position: absolute;\n top: 120px;\n right: 20px;\n width: 350px;\n max-height: 70vh;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n z-index: 100;\n display: flex;\n flex-direction: column;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--kendo-color-border);\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-actions[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--kendo-color-border);\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: flex-start;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-actions[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%] {\n background: var(--kendo-color-primary-subtle);\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%] {\n margin-left: auto;\n background: var(--kendo-color-base-subtle);\n color: var(--kendo-color-on-app-surface);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: flex-start;\n padding-left: 8px;\n margin-bottom: 2px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button.selected[_ngcontent-%COMP%] {\n background: var(--kendo-color-primary-subtle);\n color: var(--kendo-color-primary);\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] .expand-button[_ngcontent-%COMP%] {\n padding: 0;\n min-width: 20px;\n width: 20px;\n height: 20px;\n margin-right: 4px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] .expand-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] .no-expand[_ngcontent-%COMP%] {\n display: inline-block;\n width: 24px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] i.fa-folder[_ngcontent-%COMP%] {\n margin-right: 6px;\n color: var(--kendo-color-warning);\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%] {\n margin-left: auto;\n background: var(--kendo-color-base-subtle);\n color: var(--kendo-color-on-app-surface);\n padding: 2px 6px;\n border-radius: 12px;\n font-size: 11px;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 1.5rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 1rem;\n padding: 1.5rem;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 0.75rem;\n margin-bottom: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%]:hover {\n background: var(--kendo-color-base-hover);\n border-color: var(--kendo-color-primary);\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background: var(--kendo-color-primary-subtle);\n flex-shrink: 0;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--kendo-color-primary);\n font-size: 1.25rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] {\n flex: 1;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 0.75rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] .action-name[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] .action-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n flex-shrink: 0;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] .action-badges[_ngcontent-%COMP%] kendo-chip[_ngcontent-%COMP%]:has(i) {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-description[_ngcontent-%COMP%] {\n color: var(--kendo-color-subtle);\n line-height: 1.5;\n margin-bottom: 1rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-details[_ngcontent-%COMP%] {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n font-size: 0.75rem;\n color: var(--kendo-color-subtle);\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--kendo-color-primary);\n width: 0.75rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-actions[_ngcontent-%COMP%] {\n flex-shrink: 0;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n opacity: 0;\n transition: opacity 0.2s ease;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%]:hover .action-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n opacity: 1;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n color: var(--kendo-color-subtle);\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 0.5rem 0;\n font-size: 1.125rem;\n font-weight: 600;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.875rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .loading-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n@media (max-width: 768px) {\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%], \n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] {\n min-width: unset;\n }\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 0.5rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] .action-badges[_ngcontent-%COMP%] {\n align-self: flex-start;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-details[_ngcontent-%COMP%] {\n gap: 1rem;\n }\n}"] });
539
+ i0.ɵɵconditional(ctx.isLoading ? 26 : -1);
540
+ } }, dependencies: [i1.NgTemplateOutlet, i2.NgControlStatus, i2.NgModel, i3.MJButtonDirective, i3.MJDropdownComponent, i4.LoadingComponent, i1.DatePipe], styles: [".actions-list-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-page);\n position: relative; \n\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] {\n padding: 1.5rem;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] .results-count[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n font-weight: 600;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 200px;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.75rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .category-filter-button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .category-filter-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n.actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .category-filter-button[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n margin-left: 8px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] {\n position: absolute;\n top: 120px;\n right: 20px;\n width: 350px;\n max-height: 70vh;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n z-index: 100;\n display: flex;\n flex-direction: column;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-header[_ngcontent-%COMP%] {\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}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-actions[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: flex-start;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-actions[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%] {\n margin-left: auto;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: flex-start;\n padding-left: 8px;\n margin-bottom: 2px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] .expand-button[_ngcontent-%COMP%] {\n padding: 0;\n min-width: 20px;\n width: 20px;\n height: 20px;\n margin-right: 4px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] .expand-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] .no-expand[_ngcontent-%COMP%] {\n display: inline-block;\n width: 24px;\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] i.fa-folder[_ngcontent-%COMP%] {\n margin-right: 6px;\n color: var(--mj-status-warning);\n}\n.actions-list-view[_ngcontent-%COMP%] .category-tree-panel[_ngcontent-%COMP%] .tree-content[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%] .tree-node-button[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%] {\n margin-left: auto;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n padding: 2px 6px;\n border-radius: 12px;\n font-size: 11px;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 1.5rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 1rem;\n padding: 1.5rem;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 0.75rem;\n margin-bottom: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n flex-shrink: 0;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] {\n flex: 1;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 0.75rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] .action-name[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] .action-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n flex-shrink: 0;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-description[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n line-height: 1.5;\n margin-bottom: 1rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-details[_ngcontent-%COMP%] {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n width: 0.75rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-actions[_ngcontent-%COMP%] {\n flex-shrink: 0;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n opacity: 0;\n transition: opacity 0.2s ease;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%]:hover .action-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n opacity: 1;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n color: var(--mj-text-muted);\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 0.5rem 0;\n font-size: 1.125rem;\n font-weight: 600;\n}\n.actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.875rem;\n}\n.actions-list-view[_ngcontent-%COMP%] .loading-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n@media (max-width: 768px) {\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%], \n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] {\n min-width: unset;\n }\n .actions-list-view[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 0.5rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] {\n padding: 1rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-header[_ngcontent-%COMP%] .action-badges[_ngcontent-%COMP%] {\n align-self: flex-start;\n }\n .actions-list-view[_ngcontent-%COMP%] .actions-list[_ngcontent-%COMP%] .action-card[_ngcontent-%COMP%] .action-main[_ngcontent-%COMP%] .action-details[_ngcontent-%COMP%] {\n gap: 1rem;\n }\n}"] });
555
541
  }
556
542
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionsListViewComponent, [{
557
543
  type: Component,
558
- args: [{ standalone: false, selector: 'mj-actions-list-view', template: "<div class=\"actions-list-view\" >\n <!-- Header with filters -->\n <div class=\"list-header\">\n <div class=\"header-title\">\n <h2><i class=\"fa-solid fa-cogs\"></i> Actions</h2>\n <div class=\"results-count\">{{ filteredActions.length }} of {{ actions.length }} actions</div>\n </div>\n \n <div class=\"filters-row\">\n <div class=\"search-container\">\n <kendo-textbox \n placeholder=\"Search actions...\" \n [value]=\"searchTerm$.value\"\n (valueChange)=\"onSearchChange($event)\">\n <ng-template kendoTextBoxPrefixTemplate>\n <i class=\"fa-solid fa-search\"></i>\n </ng-template>\n </kendo-textbox>\n </div>\n \n <div class=\"filter-group\">\n <kendo-dropdownlist \n [data]=\"statusOptions\"\n textField=\"text\"\n valueField=\"value\"\n [valuePrimitive]=\"true\"\n [value]=\"selectedStatus$.value\"\n (valueChange)=\"onStatusFilterChange($event)\">\n </kendo-dropdownlist>\n \n <kendo-dropdownlist \n [data]=\"typeOptions\"\n textField=\"text\"\n valueField=\"value\"\n [valuePrimitive]=\"true\"\n [value]=\"selectedType$.value\"\n (valueChange)=\"onTypeFilterChange($event)\">\n </kendo-dropdownlist>\n \n <button kendoButton\n [fillMode]=\"'outline'\"\n (click)=\"toggleCategoryTree()\"\n class=\"category-filter-button\">\n <i class=\"fa-solid fa-folder-tree\"></i>\n @if (selectedCategory$.value === 'all') {\n All Categories\n } @else {\n {{ getCategoryName(selectedCategory$.value) }}\n }\n <span class=\"badge\">{{ getCategoryActionCount(selectedCategory$.value) }}</span>\n </button>\n </div>\n </div>\n </div>\n \n <!-- Category Tree View Panel -->\n @if (showCategoryTree) {\n <div class=\"category-tree-panel\">\n <div class=\"tree-header\">\n <h3>Select Category</h3>\n <button kendoButton\n [fillMode]=\"'flat'\"\n [size]=\"'small'\"\n (click)=\"toggleCategoryTree()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n \n <div class=\"tree-actions\">\n <button kendoButton\n [fillMode]=\"'flat'\"\n [size]=\"'small'\"\n (click)=\"selectCategory('all')\"\n [class.selected]=\"selectedCategory$.value === 'all'\">\n <i class=\"fa-solid fa-folder-open\"></i>\n All Categories\n <span class=\"badge\">{{ actions.length }}</span>\n </button>\n </div>\n \n <div class=\"tree-content\">\n <ng-container *ngTemplateOutlet=\"categoryTreeTemplate; context: { nodes: categoryTree }\"></ng-container>\n </div>\n \n <ng-template #categoryTreeTemplate let-nodes=\"nodes\">\n @for (node of nodes; track node.category.ID) {\n <div class=\"tree-node\" [style.padding-left.px]=\"node.level * 20\">\n <button kendoButton\n [fillMode]=\"'flat'\"\n [size]=\"'small'\"\n class=\"tree-node-button\"\n [class.selected]=\"selectedCategory$.value === node.category.ID\"\n (click)=\"selectCategory(node.category.ID)\">\n \n @if (node.children.length > 0) {\n <button kendoButton\n [fillMode]=\"'flat'\"\n [size]=\"'small'\"\n class=\"expand-button\"\n (click)=\"toggleCategoryExpanded(node.category.ID); $event.stopPropagation()\">\n @if (isCategoryExpanded(node.category.ID)) {\n <i class=\"fa-solid fa-chevron-down\"></i>\n } @else {\n <i class=\"fa-solid fa-chevron-right\"></i>\n }\n </button>\n } @else {\n <span class=\"no-expand\"></span>\n }\n \n <i class=\"fa-solid fa-folder\"></i>\n {{ node.category.Name }}\n <span class=\"badge\">{{ getCategoryActionCount(node.category.ID) }}</span>\n </button>\n \n @if (node.children.length > 0 && isCategoryExpanded(node.category.ID)) {\n <ng-container *ngTemplateOutlet=\"categoryTreeTemplate; context: { nodes: node.children }\"></ng-container>\n }\n </div>\n }\n </ng-template>\n </div>\n }\n\n <!-- Actions List -->\n <div class=\"actions-list\">\n @if (filteredActions.length > 0) {\n @for (action of filteredActions; track action.ID) {\n <div class=\"action-card\" (click)=\"openAction(action)\">\n <div class=\"action-icon\">\n <i [class]=\"getActionIcon(action)\"></i>\n </div>\n \n <div class=\"action-main\">\n <div class=\"action-header\">\n <h3 class=\"action-name\">{{ action.Name }}</h3>\n <div class=\"action-badges\">\n <kendo-chip \n [themeColor]=\"getStatusColor(action.Status)\"\n [size]=\"'small'\">\n {{ action.Status }}\n </kendo-chip>\n @if (action.Type === 'Generated') {\n <kendo-chip \n themeColor=\"info\"\n [size]=\"'small'\">\n <i class=\"fa-solid fa-robot\"></i> AI Generated\n </kendo-chip>\n }\n </div>\n </div>\n \n <div class=\"action-description\">\n {{ action.Description || 'No description available' }}\n </div>\n \n <div class=\"action-details\">\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-folder\"></i>\n <span>{{ getCategoryName(action.CategoryID) }}</span>\n </div>\n @if (action.__mj_UpdatedAt) {\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-clock\"></i>\n <span>Updated {{ action.__mj_UpdatedAt | date:'MMM d, yyyy' }}</span>\n </div>\n }\n @if (action.CodeApprovalStatus && action.Type === 'Generated') {\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>{{ action.CodeApprovalStatus }}</span>\n </div>\n }\n </div>\n </div>\n \n <div class=\"action-actions\">\n <button kendoButton \n [fillMode]=\"'flat'\"\n (click)=\"$event.stopPropagation()\">\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </button>\n </div>\n </div>\n }\n } @else if (!isLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-search\"></i>\n <h3>No actions found</h3>\n <p>Try adjusting your search or filter criteria</p>\n </div>\n }\n </div>\n\n @if (isLoading) {\n <div class=\"loading-overlay\">\n <mj-loading [showText]=\"false\" size=\"medium\"></mj-loading>\n </div>\n }\n</div>", styles: [".actions-list-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--kendo-color-app-surface);\n position: relative; /* Required for scoped loading overlay */\n}\n.actions-list-view .list-header {\n padding: 1.5rem;\n border-bottom: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-surface);\n}\n.actions-list-view .list-header .header-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n}\n.actions-list-view .list-header .header-title h2 {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.actions-list-view .list-header .header-title h2 i {\n color: var(--kendo-color-primary);\n}\n.actions-list-view .list-header .header-title .results-count {\n font-size: 0.875rem;\n color: var(--kendo-color-subtle);\n font-weight: 600;\n}\n.actions-list-view .list-header .filters-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.actions-list-view .list-header .filters-row .search-container {\n flex: 1;\n min-width: 200px;\n}\n.actions-list-view .list-header .filters-row .search-container kendo-textbox {\n width: 100%;\n}\n.actions-list-view .list-header .filters-row .filter-group {\n display: flex;\n gap: 0.75rem;\n}\n.actions-list-view .list-header .filters-row .filter-group kendo-dropdownlist {\n min-width: 140px;\n}\n.actions-list-view .list-header .filters-row .filter-group .category-filter-button {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.actions-list-view .list-header .filters-row .filter-group .category-filter-button i {\n font-size: 14px;\n}\n.actions-list-view .list-header .filters-row .filter-group .category-filter-button .badge {\n background: var(--kendo-color-primary-subtle);\n color: var(--kendo-color-primary);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n margin-left: 8px;\n}\n.actions-list-view .category-tree-panel {\n position: absolute;\n top: 120px;\n right: 20px;\n width: 350px;\n max-height: 70vh;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n z-index: 100;\n display: flex;\n flex-direction: column;\n}\n.actions-list-view .category-tree-panel .tree-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid var(--kendo-color-border);\n}\n.actions-list-view .category-tree-panel .tree-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n}\n.actions-list-view .category-tree-panel .tree-actions {\n padding: 8px;\n border-bottom: 1px solid var(--kendo-color-border);\n}\n.actions-list-view .category-tree-panel .tree-actions button {\n width: 100%;\n justify-content: flex-start;\n}\n.actions-list-view .category-tree-panel .tree-actions button.selected {\n background: var(--kendo-color-primary-subtle);\n}\n.actions-list-view .category-tree-panel .tree-actions button .badge {\n margin-left: auto;\n background: var(--kendo-color-base-subtle);\n color: var(--kendo-color-on-app-surface);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n}\n.actions-list-view .category-tree-panel .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button {\n width: 100%;\n justify-content: flex-start;\n padding-left: 8px;\n margin-bottom: 2px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button.selected {\n background: var(--kendo-color-primary-subtle);\n color: var(--kendo-color-primary);\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button .expand-button {\n padding: 0;\n min-width: 20px;\n width: 20px;\n height: 20px;\n margin-right: 4px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button .expand-button i {\n font-size: 10px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button .no-expand {\n display: inline-block;\n width: 24px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button i.fa-folder {\n margin-right: 6px;\n color: var(--kendo-color-warning);\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button .badge {\n margin-left: auto;\n background: var(--kendo-color-base-subtle);\n color: var(--kendo-color-on-app-surface);\n padding: 2px 6px;\n border-radius: 12px;\n font-size: 11px;\n}\n.actions-list-view .actions-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 1.5rem;\n}\n.actions-list-view .actions-list .action-card {\n display: flex;\n align-items: flex-start;\n gap: 1rem;\n padding: 1.5rem;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 0.75rem;\n margin-bottom: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n.actions-list-view .actions-list .action-card:hover {\n background: var(--kendo-color-base-hover);\n border-color: var(--kendo-color-primary);\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n}\n.actions-list-view .actions-list .action-card .action-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background: var(--kendo-color-primary-subtle);\n flex-shrink: 0;\n}\n.actions-list-view .actions-list .action-card .action-icon i {\n color: var(--kendo-color-primary);\n font-size: 1.25rem;\n}\n.actions-list-view .actions-list .action-card .action-main {\n flex: 1;\n}\n.actions-list-view .actions-list .action-card .action-main .action-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 0.75rem;\n}\n.actions-list-view .actions-list .action-card .action-main .action-header .action-name {\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n}\n.actions-list-view .actions-list .action-card .action-main .action-header .action-badges {\n display: flex;\n gap: 0.5rem;\n flex-shrink: 0;\n}\n.actions-list-view .actions-list .action-card .action-main .action-header .action-badges kendo-chip:has(i) {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n.actions-list-view .actions-list .action-card .action-main .action-description {\n color: var(--kendo-color-subtle);\n line-height: 1.5;\n margin-bottom: 1rem;\n}\n.actions-list-view .actions-list .action-card .action-main .action-details {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n}\n.actions-list-view .actions-list .action-card .action-main .action-details .detail-item {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n font-size: 0.75rem;\n color: var(--kendo-color-subtle);\n}\n.actions-list-view .actions-list .action-card .action-main .action-details .detail-item i {\n color: var(--kendo-color-primary);\n width: 0.75rem;\n}\n.actions-list-view .actions-list .action-card .action-actions {\n flex-shrink: 0;\n}\n.actions-list-view .actions-list .action-card .action-actions button {\n opacity: 0;\n transition: opacity 0.2s ease;\n}\n.actions-list-view .actions-list .action-card:hover .action-actions button {\n opacity: 1;\n}\n.actions-list-view .actions-list .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n color: var(--kendo-color-subtle);\n}\n.actions-list-view .actions-list .empty-state i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n}\n.actions-list-view .actions-list .empty-state h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.125rem;\n font-weight: 600;\n}\n.actions-list-view .actions-list .empty-state p {\n margin: 0;\n font-size: 0.875rem;\n}\n.actions-list-view .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n@media (max-width: 768px) {\n .actions-list-view .list-header {\n padding: 1rem;\n }\n .actions-list-view .list-header .header-title {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n .actions-list-view .list-header .filters-row {\n flex-direction: column;\n align-items: stretch;\n }\n .actions-list-view .list-header .filters-row .search-container,\n .actions-list-view .list-header .filters-row .filter-group {\n min-width: unset;\n }\n .actions-list-view .list-header .filters-row .filter-group {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 0.5rem;\n }\n .actions-list-view .actions-list {\n padding: 1rem;\n }\n .actions-list-view .actions-list .action-card {\n padding: 1rem;\n }\n .actions-list-view .actions-list .action-card .action-main .action-header {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n .actions-list-view .actions-list .action-card .action-main .action-header .action-badges {\n align-self: flex-start;\n }\n .actions-list-view .actions-list .action-card .action-main .action-details {\n gap: 1rem;\n }\n}\n"] }]
544
+ args: [{ standalone: false, selector: 'mj-actions-list-view', template: "<div class=\"actions-list-view\" >\n <!-- Header with filters -->\n <div class=\"list-header\">\n <div class=\"header-title\">\n <h2><i class=\"fa-solid fa-cogs\"></i> Actions</h2>\n <div class=\"results-count\">{{ filteredActions.length }} of {{ actions.length }} actions</div>\n </div>\n \n <div class=\"filters-row\">\n <div class=\"search-container\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input type=\"text\" class=\"mj-input\"\n placeholder=\"Search actions...\"\n [value]=\"searchTerm$.value\"\n (input)=\"onSearchChange($any($event.target).value)\" />\n </div>\n </div>\n \n <div class=\"filter-group\">\n <mj-dropdown\n [Data]=\"statusOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n [ngModel]=\"selectedStatus$.value\"\n (ValueChange)=\"onStatusFilterChange($any($event))\">\n </mj-dropdown>\n\n <mj-dropdown\n [Data]=\"typeOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n [ngModel]=\"selectedType$.value\"\n (ValueChange)=\"onTypeFilterChange($any($event))\">\n </mj-dropdown>\n \n <button mjButton\n variant=\"outline\"\n (click)=\"toggleCategoryTree()\"\n class=\"category-filter-button\">\n <i class=\"fa-solid fa-folder-tree\"></i>\n @if (selectedCategory$.value === 'all') {\n All Categories\n } @else {\n {{ getCategoryName(selectedCategory$.value) }}\n }\n <span class=\"badge\">{{ getCategoryActionCount(selectedCategory$.value) }}</span>\n </button>\n </div>\n </div>\n </div>\n \n <!-- Category Tree View Panel -->\n @if (showCategoryTree) {\n <div class=\"category-tree-panel\">\n <div class=\"tree-header\">\n <h3>Select Category</h3>\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"toggleCategoryTree()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n \n <div class=\"tree-actions\">\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n (click)=\"selectCategory('all')\"\n [class.selected]=\"selectedCategory$.value === 'all'\">\n <i class=\"fa-solid fa-folder-open\"></i>\n All Categories\n <span class=\"badge\">{{ actions.length }}</span>\n </button>\n </div>\n \n <div class=\"tree-content\">\n <ng-container *ngTemplateOutlet=\"categoryTreeTemplate; context: { nodes: categoryTree }\"></ng-container>\n </div>\n \n <ng-template #categoryTreeTemplate let-nodes=\"nodes\">\n @for (node of nodes; track node.category.ID) {\n <div class=\"tree-node\" [style.padding-left.px]=\"node.level * 20\">\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n class=\"tree-node-button\"\n [class.selected]=\"selectedCategory$.value === node.category.ID\"\n (click)=\"selectCategory(node.category.ID)\">\n \n @if (node.children.length > 0) {\n <button mjButton\n variant=\"flat\"\n size=\"sm\"\n class=\"expand-button\"\n (click)=\"toggleCategoryExpanded(node.category.ID); $event.stopPropagation()\">\n @if (isCategoryExpanded(node.category.ID)) {\n <i class=\"fa-solid fa-chevron-down\"></i>\n } @else {\n <i class=\"fa-solid fa-chevron-right\"></i>\n }\n </button>\n } @else {\n <span class=\"no-expand\"></span>\n }\n \n <i class=\"fa-solid fa-folder\"></i>\n {{ node.category.Name }}\n <span class=\"badge\">{{ getCategoryActionCount(node.category.ID) }}</span>\n </button>\n \n @if (node.children.length > 0 && isCategoryExpanded(node.category.ID)) {\n <ng-container *ngTemplateOutlet=\"categoryTreeTemplate; context: { nodes: node.children }\"></ng-container>\n }\n </div>\n }\n </ng-template>\n </div>\n }\n\n <!-- Actions List -->\n <div class=\"actions-list\">\n @if (filteredActions.length > 0) {\n @for (action of filteredActions; track action.ID) {\n <div class=\"action-card\" (click)=\"openAction(action)\">\n <div class=\"action-icon\">\n <i [class]=\"getActionIcon(action)\"></i>\n </div>\n \n <div class=\"action-main\">\n <div class=\"action-header\">\n <h3 class=\"action-name\">{{ action.Name }}</h3>\n <div class=\"action-badges\">\n <span class=\"status-chip\" [attr.data-color]=\"getStatusColor(action.Status)\">\n {{ action.Status }}\n </span>\n @if (action.Type === 'Generated') {\n <span class=\"status-chip\" data-color=\"info\">\n <i class=\"fa-solid fa-robot\"></i> AI Generated\n </span>\n }\n </div>\n </div>\n \n <div class=\"action-description\">\n {{ action.Description || 'No description available' }}\n </div>\n \n <div class=\"action-details\">\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-folder\"></i>\n <span>{{ getCategoryName(action.CategoryID) }}</span>\n </div>\n @if (action.__mj_UpdatedAt) {\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-clock\"></i>\n <span>Updated {{ action.__mj_UpdatedAt | date:'MMM d, yyyy' }}</span>\n </div>\n }\n @if (action.CodeApprovalStatus && action.Type === 'Generated') {\n <div class=\"detail-item\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>{{ action.CodeApprovalStatus }}</span>\n </div>\n }\n </div>\n </div>\n \n <div class=\"action-actions\">\n <button mjButton\n variant=\"flat\"\n (click)=\"$event.stopPropagation()\">\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </button>\n </div>\n </div>\n }\n } @else if (!isLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-search\"></i>\n <h3>No actions found</h3>\n <p>Try adjusting your search or filter criteria</p>\n </div>\n }\n </div>\n\n @if (isLoading) {\n <div class=\"loading-overlay\">\n <mj-loading [showText]=\"false\" size=\"medium\"></mj-loading>\n </div>\n }\n</div>", styles: [".actions-list-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-page);\n position: relative; /* Required for scoped loading overlay */\n}\n.actions-list-view .list-header {\n padding: 1.5rem;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n}\n.actions-list-view .list-header .header-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n}\n.actions-list-view .list-header .header-title h2 {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.actions-list-view .list-header .header-title h2 i {\n color: var(--mj-brand-primary);\n}\n.actions-list-view .list-header .header-title .results-count {\n font-size: 0.875rem;\n color: var(--mj-text-muted);\n font-weight: 600;\n}\n.actions-list-view .list-header .filters-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.actions-list-view .list-header .filters-row .search-container {\n flex: 1;\n min-width: 200px;\n}\n.actions-list-view .list-header .filters-row .filter-group {\n display: flex;\n gap: 0.75rem;\n}\n.actions-list-view .list-header .filters-row .filter-group .category-filter-button {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.actions-list-view .list-header .filters-row .filter-group .category-filter-button i {\n font-size: 14px;\n}\n.actions-list-view .list-header .filters-row .filter-group .category-filter-button .badge {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n margin-left: 8px;\n}\n.actions-list-view .category-tree-panel {\n position: absolute;\n top: 120px;\n right: 20px;\n width: 350px;\n max-height: 70vh;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n z-index: 100;\n display: flex;\n flex-direction: column;\n}\n.actions-list-view .category-tree-panel .tree-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}\n.actions-list-view .category-tree-panel .tree-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n}\n.actions-list-view .category-tree-panel .tree-actions {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n.actions-list-view .category-tree-panel .tree-actions button {\n width: 100%;\n justify-content: flex-start;\n}\n.actions-list-view .category-tree-panel .tree-actions button.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n.actions-list-view .category-tree-panel .tree-actions button .badge {\n margin-left: auto;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n}\n.actions-list-view .category-tree-panel .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button {\n width: 100%;\n justify-content: flex-start;\n padding-left: 8px;\n margin-bottom: 2px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button .expand-button {\n padding: 0;\n min-width: 20px;\n width: 20px;\n height: 20px;\n margin-right: 4px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button .expand-button i {\n font-size: 10px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button .no-expand {\n display: inline-block;\n width: 24px;\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button i.fa-folder {\n margin-right: 6px;\n color: var(--mj-status-warning);\n}\n.actions-list-view .category-tree-panel .tree-content .tree-node .tree-node-button .badge {\n margin-left: auto;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n padding: 2px 6px;\n border-radius: 12px;\n font-size: 11px;\n}\n.actions-list-view .actions-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 1.5rem;\n}\n.actions-list-view .actions-list .action-card {\n display: flex;\n align-items: flex-start;\n gap: 1rem;\n padding: 1.5rem;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 0.75rem;\n margin-bottom: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n.actions-list-view .actions-list .action-card:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n}\n.actions-list-view .actions-list .action-card .action-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n flex-shrink: 0;\n}\n.actions-list-view .actions-list .action-card .action-icon i {\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n.actions-list-view .actions-list .action-card .action-main {\n flex: 1;\n}\n.actions-list-view .actions-list .action-card .action-main .action-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 0.75rem;\n}\n.actions-list-view .actions-list .action-card .action-main .action-header .action-name {\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.actions-list-view .actions-list .action-card .action-main .action-header .action-badges {\n display: flex;\n gap: 0.5rem;\n flex-shrink: 0;\n}\n.actions-list-view .actions-list .action-card .action-main .action-description {\n color: var(--mj-text-muted);\n line-height: 1.5;\n margin-bottom: 1rem;\n}\n.actions-list-view .actions-list .action-card .action-main .action-details {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n}\n.actions-list-view .actions-list .action-card .action-main .action-details .detail-item {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n.actions-list-view .actions-list .action-card .action-main .action-details .detail-item i {\n color: var(--mj-brand-primary);\n width: 0.75rem;\n}\n.actions-list-view .actions-list .action-card .action-actions {\n flex-shrink: 0;\n}\n.actions-list-view .actions-list .action-card .action-actions button {\n opacity: 0;\n transition: opacity 0.2s ease;\n}\n.actions-list-view .actions-list .action-card:hover .action-actions button {\n opacity: 1;\n}\n.actions-list-view .actions-list .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n color: var(--mj-text-muted);\n}\n.actions-list-view .actions-list .empty-state i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n}\n.actions-list-view .actions-list .empty-state h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.125rem;\n font-weight: 600;\n}\n.actions-list-view .actions-list .empty-state p {\n margin: 0;\n font-size: 0.875rem;\n}\n.actions-list-view .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n@media (max-width: 768px) {\n .actions-list-view .list-header {\n padding: 1rem;\n }\n .actions-list-view .list-header .header-title {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n .actions-list-view .list-header .filters-row {\n flex-direction: column;\n align-items: stretch;\n }\n .actions-list-view .list-header .filters-row .search-container,\n .actions-list-view .list-header .filters-row .filter-group {\n min-width: unset;\n }\n .actions-list-view .list-header .filters-row .filter-group {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 0.5rem;\n }\n .actions-list-view .actions-list {\n padding: 1rem;\n }\n .actions-list-view .actions-list .action-card {\n padding: 1rem;\n }\n .actions-list-view .actions-list .action-card .action-main .action-header {\n flex-direction: column;\n align-items: stretch;\n gap: 0.5rem;\n }\n .actions-list-view .actions-list .action-card .action-main .action-header .action-badges {\n align-self: flex-start;\n }\n .actions-list-view .actions-list .action-card .action-main .action-details {\n gap: 1rem;\n }\n}\n"] }]
559
545
  }], () => [], { openEntityRecord: [{
560
546
  type: Output
561
547
  }] }); })();