@memberjunction/ng-dashboards 3.3.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/dist/AI/ai-dashboard.component.d.ts +62 -0
  2. package/dist/AI/ai-dashboard.component.d.ts.map +1 -0
  3. package/dist/AI/ai-dashboard.component.js +338 -0
  4. package/dist/AI/ai-dashboard.component.js.map +1 -0
  5. package/dist/AI/components/agents/agent-configuration.component.d.ts +36 -5
  6. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  7. package/dist/AI/components/agents/agent-configuration.component.js +287 -141
  8. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  9. package/dist/AI/components/agents/agent-editor.component.d.ts +14 -5
  10. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
  11. package/dist/AI/components/agents/agent-editor.component.js +149 -211
  12. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  13. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
  14. package/dist/AI/components/agents/agent-filter-panel.component.js +4 -4
  15. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  16. package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -1
  17. package/dist/AI/components/charts/performance-heatmap.component.js +4 -6
  18. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  19. package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -1
  20. package/dist/AI/components/charts/time-series-chart.component.js +6 -7
  21. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  22. package/dist/AI/components/execution-monitoring.component.d.ts +0 -4
  23. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  24. package/dist/AI/components/execution-monitoring.component.js +33 -37
  25. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  26. package/dist/AI/components/models/model-management-v2.component.d.ts +96 -0
  27. package/dist/AI/components/models/model-management-v2.component.d.ts.map +1 -0
  28. package/dist/AI/components/models/model-management-v2.component.js +981 -0
  29. package/dist/AI/components/models/model-management-v2.component.js.map +1 -0
  30. package/dist/AI/components/models/model-management.component.d.ts +26 -6
  31. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  32. package/dist/AI/components/models/model-management.component.js +216 -103
  33. package/dist/AI/components/models/model-management.component.js.map +1 -1
  34. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  35. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +22 -17
  36. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  37. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +1 -1
  38. package/dist/AI/components/prompts/prompt-filter-panel.component.js +4 -4
  39. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  40. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts +97 -0
  41. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -0
  42. package/dist/AI/components/prompts/prompt-management-v2.component.js +811 -0
  43. package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -0
  44. package/dist/AI/components/prompts/prompt-management.component.d.ts +26 -6
  45. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  46. package/dist/AI/components/prompts/prompt-management.component.js +164 -57
  47. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  48. package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
  49. package/dist/AI/components/prompts/prompt-version-control.component.js +33 -28
  50. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  51. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +1 -1
  52. package/dist/AI/components/system/system-config-filter-panel.component.js +4 -4
  53. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  54. package/dist/AI/components/system/system-configuration.component.d.ts +0 -4
  55. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  56. package/dist/AI/components/system/system-configuration.component.js +26 -27
  57. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  58. package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -1
  59. package/dist/AI/components/widgets/kpi-card.component.js +52 -42
  60. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  61. package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -1
  62. package/dist/AI/components/widgets/live-execution-widget.component.js +7 -7
  63. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  64. package/dist/APIKeys/api-applications-panel.component.d.ts +5 -5
  65. package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
  66. package/dist/APIKeys/api-applications-panel.component.js +242 -239
  67. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  68. package/dist/APIKeys/api-key-create-dialog.component.d.ts +4 -5
  69. package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
  70. package/dist/APIKeys/api-key-create-dialog.component.js +237 -217
  71. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  72. package/dist/APIKeys/api-key-edit-panel.component.d.ts +1 -3
  73. package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
  74. package/dist/APIKeys/api-key-edit-panel.component.js +268 -249
  75. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  76. package/dist/APIKeys/api-key-list.component.d.ts +2 -3
  77. package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
  78. package/dist/APIKeys/api-key-list.component.js +136 -133
  79. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  80. package/dist/APIKeys/api-keys-resource.component.d.ts +6 -6
  81. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  82. package/dist/APIKeys/api-keys-resource.component.js +335 -358
  83. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  84. package/dist/APIKeys/api-scopes-panel.component.d.ts +0 -2
  85. package/dist/APIKeys/api-scopes-panel.component.d.ts.map +1 -1
  86. package/dist/APIKeys/api-scopes-panel.component.js +151 -155
  87. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  88. package/dist/APIKeys/api-usage-panel.component.d.ts +0 -2
  89. package/dist/APIKeys/api-usage-panel.component.d.ts.map +1 -1
  90. package/dist/APIKeys/api-usage-panel.component.js +237 -234
  91. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  92. package/dist/Actions/actions-management-dashboard.component.d.ts +52 -0
  93. package/dist/Actions/actions-management-dashboard.component.d.ts.map +1 -0
  94. package/dist/Actions/actions-management-dashboard.component.js +308 -0
  95. package/dist/Actions/actions-management-dashboard.component.js.map +1 -0
  96. package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -1
  97. package/dist/Actions/components/actions-list-view.component.js +15 -14
  98. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  99. package/dist/Actions/components/actions-overview.component.d.ts +3 -6
  100. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  101. package/dist/Actions/components/actions-overview.component.js +17 -19
  102. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  103. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
  104. package/dist/Actions/components/categories-list-view.component.js +6 -6
  105. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  106. package/dist/Actions/components/code-management.component.d.ts +0 -4
  107. package/dist/Actions/components/code-management.component.d.ts.map +1 -1
  108. package/dist/Actions/components/code-management.component.js +3 -9
  109. package/dist/Actions/components/code-management.component.js.map +1 -1
  110. package/dist/Actions/components/entity-integration.component.d.ts +0 -4
  111. package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
  112. package/dist/Actions/components/entity-integration.component.js +3 -9
  113. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  114. package/dist/Actions/components/execution-monitoring.component.d.ts +3 -6
  115. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  116. package/dist/Actions/components/execution-monitoring.component.js +13 -16
  117. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  118. package/dist/Actions/components/executions-list-view.component.d.ts.map +1 -1
  119. package/dist/Actions/components/executions-list-view.component.js +3 -3
  120. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  121. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts +22 -0
  122. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -0
  123. package/dist/Actions/components/explorer/action-breadcrumb.component.js +139 -0
  124. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -0
  125. package/dist/Actions/components/explorer/action-card.component.d.ts +39 -0
  126. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -0
  127. package/dist/Actions/components/explorer/action-card.component.js +411 -0
  128. package/dist/Actions/components/explorer/action-card.component.js.map +1 -0
  129. package/dist/Actions/components/explorer/action-explorer.component.d.ts +58 -0
  130. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -0
  131. package/dist/Actions/components/explorer/action-explorer.component.js +523 -0
  132. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -0
  133. package/dist/Actions/components/explorer/action-list-item.component.d.ts +24 -0
  134. package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -0
  135. package/dist/Actions/components/explorer/action-list-item.component.js +210 -0
  136. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -0
  137. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +63 -0
  138. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -0
  139. package/dist/Actions/components/explorer/action-toolbar.component.js +484 -0
  140. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -0
  141. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +57 -0
  142. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -0
  143. package/dist/Actions/components/explorer/action-tree-panel.component.js +455 -0
  144. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -0
  145. package/dist/Actions/components/explorer/index.d.ts +9 -0
  146. package/dist/Actions/components/explorer/index.d.ts.map +1 -0
  147. package/dist/Actions/components/explorer/index.js +10 -0
  148. package/dist/Actions/components/explorer/index.js.map +1 -0
  149. package/dist/Actions/components/explorer/new-action-panel.component.d.ts +49 -0
  150. package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -0
  151. package/dist/Actions/components/explorer/new-action-panel.component.js +359 -0
  152. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -0
  153. package/dist/Actions/components/explorer/new-category-panel.component.d.ts +37 -0
  154. package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -0
  155. package/dist/Actions/components/explorer/new-category-panel.component.js +282 -0
  156. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -0
  157. package/dist/Actions/components/scheduled-actions.component.d.ts +0 -4
  158. package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
  159. package/dist/Actions/components/scheduled-actions.component.js +3 -9
  160. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  161. package/dist/Actions/components/security-permissions.component.d.ts +0 -4
  162. package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
  163. package/dist/Actions/components/security-permissions.component.js +3 -9
  164. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  165. package/dist/Actions/index.d.ts +2 -6
  166. package/dist/Actions/index.d.ts.map +1 -1
  167. package/dist/Actions/index.js +4 -7
  168. package/dist/Actions/index.js.map +1 -1
  169. package/dist/Actions/services/action-explorer-state.service.d.ts +104 -0
  170. package/dist/Actions/services/action-explorer-state.service.d.ts.map +1 -0
  171. package/dist/Actions/services/action-explorer-state.service.js +352 -0
  172. package/dist/Actions/services/action-explorer-state.service.js.map +1 -0
  173. package/dist/Communication/communication-dashboard.component.d.ts +2 -7
  174. package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
  175. package/dist/Communication/communication-dashboard.component.js +143 -107
  176. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  177. package/dist/Communication/communication-logs-resource.component.d.ts +10 -8
  178. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  179. package/dist/Communication/communication-logs-resource.component.js +270 -134
  180. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  181. package/dist/Communication/communication-monitor-resource.component.d.ts +38 -7
  182. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  183. package/dist/Communication/communication-monitor-resource.component.js +469 -186
  184. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  185. package/dist/Communication/communication-providers-resource.component.d.ts +16 -9
  186. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  187. package/dist/Communication/communication-providers-resource.component.js +262 -139
  188. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  189. package/dist/Communication/communication-runs-resource.component.d.ts +4 -6
  190. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  191. package/dist/Communication/communication-runs-resource.component.js +168 -159
  192. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  193. package/dist/Communication/communication-templates-resource.component.d.ts +39 -0
  194. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -0
  195. package/dist/Communication/communication-templates-resource.component.js +388 -0
  196. package/dist/Communication/communication-templates-resource.component.js.map +1 -0
  197. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +69 -271
  198. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  199. package/dist/ComponentStudio/component-studio-dashboard.component.js +705 -1808
  200. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  201. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +68 -0
  202. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -0
  203. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +400 -0
  204. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -0
  205. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
  206. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +25 -22
  207. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  208. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  209. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +16 -16
  210. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  211. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts +44 -0
  212. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -0
  213. package/dist/ComponentStudio/components/browser/component-browser.component.js +638 -0
  214. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -0
  215. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts +35 -0
  216. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -0
  217. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +380 -0
  218. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -0
  219. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts +24 -0
  220. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -0
  221. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +221 -0
  222. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -0
  223. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts +28 -0
  224. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -0
  225. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +263 -0
  226. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -0
  227. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts +34 -0
  228. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -0
  229. package/dist/ComponentStudio/components/editors/spec-editor.component.js +307 -0
  230. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -0
  231. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts +29 -0
  232. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -0
  233. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +159 -0
  234. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -0
  235. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts +20 -0
  236. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -0
  237. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +192 -0
  238. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -0
  239. package/dist/ComponentStudio/components/text-import-dialog.component.d.ts.map +1 -1
  240. package/dist/ComponentStudio/components/text-import-dialog.component.js +4 -4
  241. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  242. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +57 -0
  243. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -0
  244. package/dist/ComponentStudio/components/workspace/component-preview.component.js +343 -0
  245. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -0
  246. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +15 -0
  247. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -0
  248. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +144 -0
  249. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -0
  250. package/dist/ComponentStudio/services/component-studio-state.service.d.ts +203 -0
  251. package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -0
  252. package/dist/ComponentStudio/services/component-studio-state.service.js +651 -0
  253. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -0
  254. package/dist/ComponentStudio/services/component-version.service.d.ts +120 -0
  255. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -0
  256. package/dist/ComponentStudio/services/component-version.service.js +394 -0
  257. package/dist/ComponentStudio/services/component-version.service.js.map +1 -0
  258. package/dist/Credentials/components/credential-category-edit-panel.component.js +1 -1
  259. package/dist/Credentials/components/credential-edit-panel.component.js +1 -1
  260. package/dist/Credentials/components/credential-type-edit-panel.component.js +1 -1
  261. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +0 -1
  262. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  263. package/dist/Credentials/components/credentials-audit-resource.component.js +200 -196
  264. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  265. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +1 -2
  266. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  267. package/dist/Credentials/components/credentials-categories-resource.component.js +195 -190
  268. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  269. package/dist/Credentials/components/credentials-list-resource.component.d.ts +1 -2
  270. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  271. package/dist/Credentials/components/credentials-list-resource.component.js +252 -241
  272. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  273. package/dist/Credentials/components/credentials-overview-resource.component.d.ts +0 -1
  274. package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
  275. package/dist/Credentials/components/credentials-overview-resource.component.js +228 -226
  276. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  277. package/dist/Credentials/components/credentials-types-resource.component.d.ts +1 -2
  278. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  279. package/dist/Credentials/components/credentials-types-resource.component.js +214 -210
  280. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  281. package/dist/Credentials/credentials-dashboard.component.d.ts +0 -1
  282. package/dist/Credentials/credentials-dashboard.component.d.ts.map +1 -1
  283. package/dist/Credentials/credentials-dashboard.component.js +31 -44
  284. package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
  285. package/dist/Credentials/pipes/group-by.pipe.d.ts.map +1 -1
  286. package/dist/Credentials/pipes/group-by.pipe.js +2 -1
  287. package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
  288. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +0 -1
  289. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
  290. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +73 -80
  291. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  292. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts.map +1 -1
  293. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +46 -45
  294. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  295. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +1 -1
  296. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +7 -7
  297. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
  298. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +2 -2
  299. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
  300. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +15 -15
  301. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
  302. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts +245 -0
  303. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts.map +1 -0
  304. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js +1143 -0
  305. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js.map +1 -0
  306. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -1
  307. package/dist/DataExplorer/components/view-selector/view-selector.component.js +17 -11
  308. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
  309. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +0 -4
  310. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  311. package/dist/DataExplorer/data-explorer-dashboard.component.js +49 -54
  312. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  313. package/dist/DataExplorer/data-explorer-resource.component.d.ts +0 -1
  314. package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
  315. package/dist/DataExplorer/data-explorer-resource.component.js +3 -6
  316. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
  317. package/dist/DataExplorer/index.d.ts +2 -2
  318. package/dist/DataExplorer/index.d.ts.map +1 -1
  319. package/dist/DataExplorer/index.js +2 -2
  320. package/dist/DataExplorer/index.js.map +1 -1
  321. package/dist/EntityAdmin/components/entity-details.component.d.ts +50 -0
  322. package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -0
  323. package/dist/EntityAdmin/components/entity-details.component.js +680 -0
  324. package/dist/EntityAdmin/components/entity-details.component.js.map +1 -0
  325. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts +31 -0
  326. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts.map +1 -0
  327. package/dist/EntityAdmin/components/entity-filter-panel.component.js +160 -0
  328. package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -0
  329. package/dist/EntityAdmin/components/erd-composite.component.d.ts +73 -0
  330. package/dist/EntityAdmin/components/erd-composite.component.d.ts.map +1 -0
  331. package/dist/EntityAdmin/components/erd-composite.component.js +271 -0
  332. package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -0
  333. package/dist/EntityAdmin/components/erd-diagram.component.d.ts +47 -0
  334. package/dist/EntityAdmin/components/erd-diagram.component.d.ts.map +1 -0
  335. package/dist/EntityAdmin/components/erd-diagram.component.js +618 -0
  336. package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -0
  337. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +0 -1
  338. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  339. package/dist/EntityAdmin/entity-admin-dashboard.component.js +6 -7
  340. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  341. package/dist/Home/home-application.d.ts +0 -5
  342. package/dist/Home/home-application.d.ts.map +1 -1
  343. package/dist/Home/home-application.js +0 -9
  344. package/dist/Home/home-application.js.map +1 -1
  345. package/dist/Home/home-dashboard.component.d.ts +0 -4
  346. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  347. package/dist/Home/home-dashboard.component.js +141 -139
  348. package/dist/Home/home-dashboard.component.js.map +1 -1
  349. package/dist/Lists/components/lists-browse-resource.component.d.ts +0 -1
  350. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  351. package/dist/Lists/components/lists-browse-resource.component.js +761 -685
  352. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  353. package/dist/Lists/components/lists-categories-resource.component.d.ts +0 -1
  354. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  355. package/dist/Lists/components/lists-categories-resource.component.js +340 -316
  356. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  357. package/dist/Lists/components/lists-my-lists-resource.component.d.ts +0 -1
  358. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  359. package/dist/Lists/components/lists-my-lists-resource.component.js +530 -482
  360. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  361. package/dist/Lists/components/lists-operations-resource.component.d.ts +0 -1
  362. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  363. package/dist/Lists/components/lists-operations-resource.component.js +508 -455
  364. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  365. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  366. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +44 -39
  367. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  368. package/dist/Lists/index.d.ts +0 -1
  369. package/dist/Lists/index.d.ts.map +1 -1
  370. package/dist/Lists/index.js +0 -11
  371. package/dist/Lists/index.js.map +1 -1
  372. package/dist/MCP/components/mcp-connection-dialog.component.d.ts +68 -0
  373. package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -0
  374. package/dist/MCP/components/mcp-connection-dialog.component.js +523 -0
  375. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -0
  376. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +73 -0
  377. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -0
  378. package/dist/MCP/components/mcp-log-detail-panel.component.js +533 -0
  379. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -0
  380. package/dist/MCP/components/mcp-server-dialog.component.d.ts +76 -0
  381. package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -0
  382. package/dist/MCP/components/mcp-server-dialog.component.js +546 -0
  383. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -0
  384. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +267 -0
  385. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -0
  386. package/dist/MCP/components/mcp-test-tool-dialog.component.js +1300 -0
  387. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -0
  388. package/dist/MCP/index.d.ts +11 -0
  389. package/dist/MCP/index.d.ts.map +1 -0
  390. package/dist/MCP/index.js +15 -0
  391. package/dist/MCP/index.js.map +1 -0
  392. package/dist/MCP/mcp-dashboard.component.d.ts +467 -0
  393. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -0
  394. package/dist/MCP/mcp-dashboard.component.js +2765 -0
  395. package/dist/MCP/mcp-dashboard.component.js.map +1 -0
  396. package/dist/MCP/mcp-filter-panel.component.d.ts +54 -0
  397. package/dist/MCP/mcp-filter-panel.component.d.ts.map +1 -0
  398. package/dist/MCP/mcp-filter-panel.component.js +288 -0
  399. package/dist/MCP/mcp-filter-panel.component.js.map +1 -0
  400. package/dist/MCP/mcp-resource.component.d.ts +26 -0
  401. package/dist/MCP/mcp-resource.component.d.ts.map +1 -0
  402. package/dist/MCP/mcp-resource.component.js +54 -0
  403. package/dist/MCP/mcp-resource.component.js.map +1 -0
  404. package/dist/MCP/mcp.module.d.ts +24 -0
  405. package/dist/MCP/mcp.module.d.ts.map +1 -0
  406. package/dist/MCP/mcp.module.js +113 -0
  407. package/dist/MCP/mcp.module.js.map +1 -0
  408. package/dist/MCP/services/mcp-tools.service.d.ts +115 -0
  409. package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -0
  410. package/dist/MCP/services/mcp-tools.service.js +221 -0
  411. package/dist/MCP/services/mcp-tools.service.js.map +1 -0
  412. package/dist/QueryBrowser/query-browser-resource.component.d.ts +0 -1
  413. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  414. package/dist/QueryBrowser/query-browser-resource.component.js +79 -88
  415. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  416. package/dist/Scheduling/components/index.d.ts +5 -8
  417. package/dist/Scheduling/components/index.d.ts.map +1 -1
  418. package/dist/Scheduling/components/index.js +6 -9
  419. package/dist/Scheduling/components/index.js.map +1 -1
  420. package/dist/Scheduling/components/job-slideout.component.d.ts +45 -0
  421. package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -0
  422. package/dist/Scheduling/components/job-slideout.component.js +459 -0
  423. package/dist/Scheduling/components/job-slideout.component.js.map +1 -0
  424. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +15 -0
  425. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -0
  426. package/dist/Scheduling/components/scheduling-activity-resource.component.js +45 -0
  427. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -0
  428. package/dist/Scheduling/components/scheduling-activity.component.d.ts +71 -0
  429. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -0
  430. package/dist/Scheduling/components/scheduling-activity.component.js +714 -0
  431. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -0
  432. package/dist/Scheduling/components/scheduling-health-resource.component.js +1 -1
  433. package/dist/Scheduling/components/scheduling-health.component.js +1 -1
  434. package/dist/Scheduling/components/scheduling-history-resource.component.js +1 -1
  435. package/dist/Scheduling/components/scheduling-history.component.js +1 -1
  436. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +3 -8
  437. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  438. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +5 -15
  439. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  440. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +52 -34
  441. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  442. package/dist/Scheduling/components/scheduling-jobs.component.js +452 -262
  443. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  444. package/dist/Scheduling/components/scheduling-monitor-resource.component.js +1 -1
  445. package/dist/Scheduling/components/scheduling-monitoring.component.js +1 -1
  446. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +15 -0
  447. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -0
  448. package/dist/Scheduling/components/scheduling-overview-resource.component.js +45 -0
  449. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -0
  450. package/dist/Scheduling/components/scheduling-overview.component.d.ts +43 -0
  451. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -0
  452. package/dist/Scheduling/components/scheduling-overview.component.js +600 -0
  453. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -0
  454. package/dist/Scheduling/components/scheduling-types-resource.component.js +1 -1
  455. package/dist/Scheduling/components/scheduling-types.component.js +1 -1
  456. package/dist/Scheduling/scheduling-dashboard.component.d.ts +22 -33
  457. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  458. package/dist/Scheduling/scheduling-dashboard.component.js +173 -175
  459. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  460. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +49 -6
  461. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
  462. package/dist/Scheduling/services/scheduling-instrumentation.service.js +218 -149
  463. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  464. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +0 -4
  465. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  466. package/dist/SystemDiagnostics/system-diagnostics.component.js +1552 -1534
  467. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  468. package/dist/Testing/components/index.d.ts +7 -8
  469. package/dist/Testing/components/index.d.ts.map +1 -1
  470. package/dist/Testing/components/index.js +8 -9
  471. package/dist/Testing/components/index.js.map +1 -1
  472. package/dist/Testing/components/testing-analytics-resource.component.d.ts +0 -4
  473. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  474. package/dist/Testing/components/testing-analytics-resource.component.js +3 -9
  475. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  476. package/dist/Testing/components/testing-analytics.component.d.ts +52 -37
  477. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  478. package/dist/Testing/components/testing-analytics.component.js +1024 -570
  479. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  480. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +16 -0
  481. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -0
  482. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +47 -0
  483. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -0
  484. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +57 -0
  485. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -0
  486. package/dist/Testing/components/testing-dashboard-tab.component.js +649 -0
  487. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -0
  488. package/dist/Testing/components/testing-execution-resource.component.js +1 -1
  489. package/dist/Testing/components/testing-execution.component.js +1 -1
  490. package/dist/Testing/components/testing-explorer-resource.component.d.ts +16 -0
  491. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -0
  492. package/dist/Testing/components/testing-explorer-resource.component.js +47 -0
  493. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -0
  494. package/dist/Testing/components/testing-explorer.component.d.ts +193 -0
  495. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -0
  496. package/dist/Testing/components/testing-explorer.component.js +2219 -0
  497. package/dist/Testing/components/testing-explorer.component.js.map +1 -0
  498. package/dist/Testing/components/testing-feedback-resource.component.js +1 -1
  499. package/dist/Testing/components/testing-feedback.component.js +1 -1
  500. package/dist/Testing/components/testing-overview-resource.component.js +1 -1
  501. package/dist/Testing/components/testing-overview.component.js +1 -1
  502. package/dist/Testing/components/testing-review-resource.component.d.ts +16 -0
  503. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -0
  504. package/dist/Testing/components/testing-review-resource.component.js +47 -0
  505. package/dist/Testing/components/testing-review-resource.component.js.map +1 -0
  506. package/dist/Testing/components/testing-review.component.d.ts +60 -0
  507. package/dist/Testing/components/testing-review.component.d.ts.map +1 -0
  508. package/dist/Testing/components/testing-review.component.js +985 -0
  509. package/dist/Testing/components/testing-review.component.js.map +1 -0
  510. package/dist/Testing/components/testing-runs-resource.component.d.ts +16 -0
  511. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -0
  512. package/dist/Testing/components/testing-runs-resource.component.js +47 -0
  513. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -0
  514. package/dist/Testing/components/testing-runs.component.d.ts +82 -0
  515. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -0
  516. package/dist/Testing/components/testing-runs.component.js +1067 -0
  517. package/dist/Testing/components/testing-runs.component.js.map +1 -0
  518. package/dist/Testing/components/testing-version-comparison.component.js +1 -1
  519. package/dist/Testing/components/testing-version-resource.component.js +1 -1
  520. package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts.map +1 -1
  521. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +73 -61
  522. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  523. package/dist/Testing/components/widgets/suite-tree.component.d.ts.map +1 -1
  524. package/dist/Testing/components/widgets/suite-tree.component.js +34 -31
  525. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  526. package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -1
  527. package/dist/Testing/components/widgets/test-run-detail-panel.component.js +180 -171
  528. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  529. package/dist/Testing/testing-dashboard.component.d.ts +12 -16
  530. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  531. package/dist/Testing/testing-dashboard.component.js +51 -72
  532. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  533. package/dist/VersionHistory/components/diff-resource.component.d.ts +119 -0
  534. package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -0
  535. package/dist/VersionHistory/components/diff-resource.component.js +1162 -0
  536. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -0
  537. package/dist/VersionHistory/components/graph-resource.component.d.ts +67 -0
  538. package/dist/VersionHistory/components/graph-resource.component.d.ts.map +1 -0
  539. package/dist/VersionHistory/components/graph-resource.component.js +521 -0
  540. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -0
  541. package/dist/VersionHistory/components/index.d.ts +5 -0
  542. package/dist/VersionHistory/components/index.d.ts.map +1 -0
  543. package/dist/VersionHistory/components/index.js +5 -0
  544. package/dist/VersionHistory/components/index.js.map +1 -0
  545. package/dist/VersionHistory/components/labels-resource.component.d.ts +89 -0
  546. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -0
  547. package/dist/VersionHistory/components/labels-resource.component.js +968 -0
  548. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -0
  549. package/dist/VersionHistory/components/restore-resource.component.d.ts +40 -0
  550. package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -0
  551. package/dist/VersionHistory/components/restore-resource.component.js +472 -0
  552. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -0
  553. package/dist/VersionHistory/index.d.ts +2 -0
  554. package/dist/VersionHistory/index.d.ts.map +1 -0
  555. package/dist/VersionHistory/index.js +2 -0
  556. package/dist/VersionHistory/index.js.map +1 -0
  557. package/dist/generic/base-dashboard.d.ts +65 -0
  558. package/dist/generic/base-dashboard.d.ts.map +1 -0
  559. package/dist/generic/base-dashboard.js +74 -0
  560. package/dist/generic/base-dashboard.js.map +1 -0
  561. package/dist/module.d.ts +127 -104
  562. package/dist/module.d.ts.map +1 -1
  563. package/dist/module.js +221 -95
  564. package/dist/module.js.map +1 -1
  565. package/dist/public-api.d.ts +22 -19
  566. package/dist/public-api.d.ts.map +1 -1
  567. package/dist/public-api.js +28 -119
  568. package/dist/public-api.js.map +1 -1
  569. package/dist/shared/pipes/highlight-search.pipe.d.ts +17 -0
  570. package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -0
  571. package/dist/shared/pipes/highlight-search.pipe.js +41 -0
  572. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -0
  573. package/dist/shared/pipes/index.d.ts +2 -0
  574. package/dist/shared/pipes/index.d.ts.map +1 -0
  575. package/dist/shared/pipes/index.js +2 -0
  576. package/dist/shared/pipes/index.js.map +1 -0
  577. package/dist/shared/shared-pipes.module.d.ts +11 -0
  578. package/dist/shared/shared-pipes.module.d.ts.map +1 -0
  579. package/dist/shared/shared-pipes.module.js +24 -0
  580. package/dist/shared/shared-pipes.module.js.map +1 -0
  581. package/package.json +65 -56
@@ -15,18 +15,18 @@ import { MJNotificationService } from '@memberjunction/ng-notifications';
15
15
  import * as i0 from "@angular/core";
16
16
  import * as i1 from "@memberjunction/ng-base-application";
17
17
  import * as i2 from "@memberjunction/ng-shared";
18
- import * as i3 from "@angular/common";
19
- import * as i4 from "@progress/kendo-angular-buttons";
20
- import * as i5 from "@memberjunction/ng-explorer-settings";
21
- import * as i6 from "@memberjunction/ng-shared-generic";
18
+ import * as i3 from "@progress/kendo-angular-buttons";
19
+ import * as i4 from "@memberjunction/ng-explorer-settings";
20
+ import * as i5 from "@memberjunction/ng-shared-generic";
21
+ import * as i6 from "@angular/common";
22
22
  const _c0 = ["appConfigDialog"];
23
- function HomeDashboardComponent_div_8_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵelementStart(0, "div", 11);
25
- i0.ɵɵelement(1, "mj-loading", 12);
23
+ function HomeDashboardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementStart(0, "div", 6);
25
+ i0.ɵɵelement(1, "mj-loading", 11);
26
26
  i0.ɵɵelementEnd();
27
27
  } }
28
- function HomeDashboardComponent_div_9_div_5_p_7_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelementStart(0, "p", 28);
28
+ function HomeDashboardComponent_Conditional_9_For_6_Conditional_7_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵelementStart(0, "p", 22);
30
30
  i0.ɵɵtext(1);
31
31
  i0.ɵɵelementEnd();
32
32
  } if (rf & 2) {
@@ -34,8 +34,8 @@ function HomeDashboardComponent_div_9_div_5_p_7_Template(rf, ctx) { if (rf & 1)
34
34
  i0.ɵɵadvance();
35
35
  i0.ɵɵtextInterpolate(app_r3.Description);
36
36
  } }
37
- function HomeDashboardComponent_div_9_div_5_div_8_div_1_Template(rf, ctx) { if (rf & 1) {
38
- i0.ɵɵelementStart(0, "div", 32);
37
+ function HomeDashboardComponent_Conditional_9_For_6_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelementStart(0, "div", 26);
39
39
  i0.ɵɵelement(1, "i");
40
40
  i0.ɵɵelementStart(2, "span");
41
41
  i0.ɵɵtext(3);
@@ -47,8 +47,8 @@ function HomeDashboardComponent_div_9_div_5_div_8_div_1_Template(rf, ctx) { if (
47
47
  i0.ɵɵadvance(2);
48
48
  i0.ɵɵtextInterpolate(item_r5.Label);
49
49
  } }
50
- function HomeDashboardComponent_div_9_div_5_div_8_span_2_Template(rf, ctx) { if (rf & 1) {
51
- i0.ɵɵelementStart(0, "span", 33);
50
+ function HomeDashboardComponent_Conditional_9_For_6_Conditional_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
51
+ i0.ɵɵelementStart(0, "span", 27);
52
52
  i0.ɵɵtext(1);
53
53
  i0.ɵɵelementEnd();
54
54
  } if (rf & 2) {
@@ -57,32 +57,34 @@ function HomeDashboardComponent_div_9_div_5_div_8_span_2_Template(rf, ctx) { if
57
57
  i0.ɵɵadvance();
58
58
  i0.ɵɵtextInterpolate1(" +", ctx_r3.getNavItemsCount(app_r3) - 3, " more ");
59
59
  } }
60
- function HomeDashboardComponent_div_9_div_5_div_8_Template(rf, ctx) { if (rf & 1) {
61
- i0.ɵɵelementStart(0, "div", 29);
62
- i0.ɵɵtemplate(1, HomeDashboardComponent_div_9_div_5_div_8_div_1_Template, 4, 3, "div", 30)(2, HomeDashboardComponent_div_9_div_5_div_8_span_2_Template, 2, 1, "span", 31);
60
+ function HomeDashboardComponent_Conditional_9_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
61
+ i0.ɵɵelementStart(0, "div", 23);
62
+ i0.ɵɵrepeaterCreate(1, HomeDashboardComponent_Conditional_9_For_6_Conditional_8_For_2_Template, 4, 3, "div", 26, i0.ɵɵrepeaterTrackByIdentity);
63
+ i0.ɵɵconditionalCreate(3, HomeDashboardComponent_Conditional_9_For_6_Conditional_8_Conditional_3_Template, 2, 1, "span", 27);
63
64
  i0.ɵɵelementEnd();
64
65
  } if (rf & 2) {
65
66
  const app_r3 = i0.ɵɵnextContext().$implicit;
66
67
  const ctx_r3 = i0.ɵɵnextContext(2);
67
68
  i0.ɵɵadvance();
68
- i0.ɵɵproperty("ngForOf", ctx_r3.getNavItemsPreview(app_r3));
69
- i0.ɵɵadvance();
70
- i0.ɵɵproperty("ngIf", ctx_r3.getNavItemsCount(app_r3) > 3);
69
+ i0.ɵɵrepeater(ctx_r3.getNavItemsPreview(app_r3));
70
+ i0.ɵɵadvance(2);
71
+ i0.ɵɵconditional(ctx_r3.getNavItemsCount(app_r3) > 3 ? 3 : -1);
71
72
  } }
72
- function HomeDashboardComponent_div_9_div_5_Template(rf, ctx) { if (rf & 1) {
73
+ function HomeDashboardComponent_Conditional_9_For_6_Template(rf, ctx) { if (rf & 1) {
73
74
  const _r2 = i0.ɵɵgetCurrentView();
74
- i0.ɵɵelementStart(0, "div", 19);
75
- i0.ɵɵlistener("click", function HomeDashboardComponent_div_9_div_5_Template_div_click_0_listener() { const app_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.onAppClick(app_r3)); });
76
- i0.ɵɵelementStart(1, "div", 20)(2, "div", 21);
75
+ i0.ɵɵelementStart(0, "div", 17);
76
+ i0.ɵɵlistener("click", function HomeDashboardComponent_Conditional_9_For_6_Template_div_click_0_listener() { const app_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.onAppClick(app_r3)); });
77
+ i0.ɵɵelementStart(1, "div", 18)(2, "div", 19);
77
78
  i0.ɵɵelement(3, "i");
78
79
  i0.ɵɵelementEnd()();
79
- i0.ɵɵelementStart(4, "div", 22)(5, "h3", 23);
80
+ i0.ɵɵelementStart(4, "div", 20)(5, "h3", 21);
80
81
  i0.ɵɵtext(6);
81
82
  i0.ɵɵelementEnd();
82
- i0.ɵɵtemplate(7, HomeDashboardComponent_div_9_div_5_p_7_Template, 2, 1, "p", 24)(8, HomeDashboardComponent_div_9_div_5_div_8_Template, 3, 2, "div", 25);
83
+ i0.ɵɵconditionalCreate(7, HomeDashboardComponent_Conditional_9_For_6_Conditional_7_Template, 2, 1, "p", 22);
84
+ i0.ɵɵconditionalCreate(8, HomeDashboardComponent_Conditional_9_For_6_Conditional_8_Template, 4, 1, "div", 23);
83
85
  i0.ɵɵelementEnd();
84
- i0.ɵɵelementStart(9, "div", 26);
85
- i0.ɵɵelement(10, "i", 27);
86
+ i0.ɵɵelementStart(9, "div", 24);
87
+ i0.ɵɵelement(10, "i", 25);
86
88
  i0.ɵɵelementEnd()();
87
89
  } if (rf & 2) {
88
90
  const app_r3 = ctx.$implicit;
@@ -93,14 +95,14 @@ function HomeDashboardComponent_div_9_div_5_Template(rf, ctx) { if (rf & 1) {
93
95
  i0.ɵɵadvance(3);
94
96
  i0.ɵɵtextInterpolate(app_r3.Name);
95
97
  i0.ɵɵadvance();
96
- i0.ɵɵproperty("ngIf", app_r3.Description);
98
+ i0.ɵɵconditional(app_r3.Description ? 7 : -1);
97
99
  i0.ɵɵadvance();
98
- i0.ɵɵproperty("ngIf", ctx_r3.getNavItemsCount(app_r3) > 0);
100
+ i0.ɵɵconditional(ctx_r3.getNavItemsCount(app_r3) > 0 ? 8 : -1);
99
101
  } }
100
- function HomeDashboardComponent_div_9_div_6_Template(rf, ctx) { if (rf & 1) {
102
+ function HomeDashboardComponent_Conditional_9_Conditional_7_Template(rf, ctx) { if (rf & 1) {
101
103
  const _r6 = i0.ɵɵgetCurrentView();
102
- i0.ɵɵelementStart(0, "div", 34)(1, "div", 35);
103
- i0.ɵɵelement(2, "i", 36);
104
+ i0.ɵɵelementStart(0, "div", 16)(1, "div", 28);
105
+ i0.ɵɵelement(2, "i", 29);
104
106
  i0.ɵɵelementEnd();
105
107
  i0.ɵɵelementStart(3, "h3");
106
108
  i0.ɵɵtext(4, "No Applications Available");
@@ -108,40 +110,40 @@ function HomeDashboardComponent_div_9_div_6_Template(rf, ctx) { if (rf & 1) {
108
110
  i0.ɵɵelementStart(5, "p");
109
111
  i0.ɵɵtext(6, "You don't have any applications configured yet.");
110
112
  i0.ɵɵelementEnd();
111
- i0.ɵɵelementStart(7, "button", 37);
112
- i0.ɵɵlistener("click", function HomeDashboardComponent_div_9_div_6_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r6); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.openConfigDialog()); });
113
- i0.ɵɵelement(8, "i", 38);
113
+ i0.ɵɵelementStart(7, "button", 30);
114
+ i0.ɵɵlistener("click", function HomeDashboardComponent_Conditional_9_Conditional_7_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r6); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.openConfigDialog()); });
115
+ i0.ɵɵelement(8, "i", 31);
114
116
  i0.ɵɵtext(9, " Configure Applications ");
115
117
  i0.ɵɵelementEnd()();
116
118
  } }
117
- function HomeDashboardComponent_div_9_Template(rf, ctx) { if (rf & 1) {
118
- i0.ɵɵelementStart(0, "div", 13)(1, "h2", 14);
119
- i0.ɵɵelement(2, "i", 15);
119
+ function HomeDashboardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
120
+ i0.ɵɵelementStart(0, "div", 7)(1, "h2", 12);
121
+ i0.ɵɵelement(2, "i", 13);
120
122
  i0.ɵɵtext(3, " Your Applications ");
121
123
  i0.ɵɵelementEnd();
122
- i0.ɵɵelementStart(4, "div", 16);
123
- i0.ɵɵtemplate(5, HomeDashboardComponent_div_9_div_5_Template, 11, 7, "div", 17);
124
+ i0.ɵɵelementStart(4, "div", 14);
125
+ i0.ɵɵrepeaterCreate(5, HomeDashboardComponent_Conditional_9_For_6_Template, 11, 7, "div", 15, i0.ɵɵrepeaterTrackByIdentity);
124
126
  i0.ɵɵelementEnd();
125
- i0.ɵɵtemplate(6, HomeDashboardComponent_div_9_div_6_Template, 10, 0, "div", 18);
127
+ i0.ɵɵconditionalCreate(7, HomeDashboardComponent_Conditional_9_Conditional_7_Template, 10, 0, "div", 16);
126
128
  i0.ɵɵelementEnd();
127
129
  } if (rf & 2) {
128
130
  const ctx_r3 = i0.ɵɵnextContext();
129
131
  i0.ɵɵadvance(5);
130
- i0.ɵɵproperty("ngForOf", ctx_r3.apps);
131
- i0.ɵɵadvance();
132
- i0.ɵɵproperty("ngIf", ctx_r3.apps.length === 0);
132
+ i0.ɵɵrepeater(ctx_r3.apps);
133
+ i0.ɵɵadvance(2);
134
+ i0.ɵɵconditional(ctx_r3.apps.length === 0 ? 7 : -1);
133
135
  } }
134
- function HomeDashboardComponent_div_10_div_8_div_7_Template(rf, ctx) { if (rf & 1) {
136
+ function HomeDashboardComponent_Conditional_10_Conditional_8_For_8_Template(rf, ctx) { if (rf & 1) {
135
137
  const _r8 = i0.ɵɵgetCurrentView();
136
- i0.ɵɵelementStart(0, "div", 55);
137
- i0.ɵɵlistener("click", function HomeDashboardComponent_div_10_div_8_div_7_Template_div_click_0_listener() { const notification_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r3 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r3.onNotificationClick(notification_r9)); });
138
- i0.ɵɵelementStart(1, "div", 56);
139
- i0.ɵɵelement(2, "i", 51);
138
+ i0.ɵɵelementStart(0, "div", 46);
139
+ i0.ɵɵlistener("click", function HomeDashboardComponent_Conditional_10_Conditional_8_For_8_Template_div_click_0_listener() { const notification_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r3 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r3.onNotificationClick(notification_r9)); });
140
+ i0.ɵɵelementStart(1, "div", 47);
141
+ i0.ɵɵelement(2, "i", 42);
140
142
  i0.ɵɵelementEnd();
141
- i0.ɵɵelementStart(3, "div", 57)(4, "span", 58);
143
+ i0.ɵɵelementStart(3, "div", 48)(4, "span", 49);
142
144
  i0.ɵɵtext(5);
143
145
  i0.ɵɵelementEnd();
144
- i0.ɵɵelementStart(6, "span", 59);
146
+ i0.ɵɵelementStart(6, "span", 50);
145
147
  i0.ɵɵtext(7);
146
148
  i0.ɵɵpipe(8, "slice");
147
149
  i0.ɵɵelementEnd()()();
@@ -150,36 +152,36 @@ function HomeDashboardComponent_div_10_div_8_div_7_Template(rf, ctx) { if (rf &
150
152
  i0.ɵɵadvance(5);
151
153
  i0.ɵɵtextInterpolate(notification_r9.Title);
152
154
  i0.ɵɵadvance(2);
153
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind3(8, 3, notification_r9.Message, 0, 40), "", ((notification_r9.Message == null ? null : notification_r9.Message.length) || 0) > 40 ? "..." : "", "");
155
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind3(8, 3, notification_r9.Message, 0, 40), "", ((notification_r9.Message == null ? null : notification_r9.Message.length) || 0) > 40 ? "..." : "");
154
156
  } }
155
- function HomeDashboardComponent_div_10_div_8_Template(rf, ctx) { if (rf & 1) {
156
- i0.ɵɵelementStart(0, "div", 49)(1, "h4", 50);
157
- i0.ɵɵelement(2, "i", 51);
157
+ function HomeDashboardComponent_Conditional_10_Conditional_8_Template(rf, ctx) { if (rf & 1) {
158
+ i0.ɵɵelementStart(0, "div", 37)(1, "h4", 41);
159
+ i0.ɵɵelement(2, "i", 42);
158
160
  i0.ɵɵtext(3, " Notifications ");
159
- i0.ɵɵelementStart(4, "span", 52);
161
+ i0.ɵɵelementStart(4, "span", 43);
160
162
  i0.ɵɵtext(5);
161
163
  i0.ɵɵelementEnd()();
162
- i0.ɵɵelementStart(6, "div", 53);
163
- i0.ɵɵtemplate(7, HomeDashboardComponent_div_10_div_8_div_7_Template, 9, 7, "div", 54);
164
+ i0.ɵɵelementStart(6, "div", 44);
165
+ i0.ɵɵrepeaterCreate(7, HomeDashboardComponent_Conditional_10_Conditional_8_For_8_Template, 9, 7, "div", 45, i0.ɵɵrepeaterTrackByIdentity);
164
166
  i0.ɵɵelementEnd()();
165
167
  } if (rf & 2) {
166
168
  const ctx_r3 = i0.ɵɵnextContext(2);
167
169
  i0.ɵɵadvance(5);
168
170
  i0.ɵɵtextInterpolate(ctx_r3.unreadNotifications.length);
169
171
  i0.ɵɵadvance(2);
170
- i0.ɵɵproperty("ngForOf", ctx_r3.unreadNotifications);
172
+ i0.ɵɵrepeater(ctx_r3.unreadNotifications);
171
173
  } }
172
- function HomeDashboardComponent_div_10_div_9_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
174
+ function HomeDashboardComponent_Conditional_10_Conditional_9_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
173
175
  const _r10 = i0.ɵɵgetCurrentView();
174
- i0.ɵɵelementStart(0, "div", 65);
175
- i0.ɵɵlistener("click", function HomeDashboardComponent_div_10_div_9_div_4_div_1_Template_div_click_0_listener() { const favorite_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r3 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r3.onFavoriteClick(favorite_r11)); });
176
- i0.ɵɵelementStart(1, "div", 56);
176
+ i0.ɵɵelementStart(0, "div", 54);
177
+ i0.ɵɵlistener("click", function HomeDashboardComponent_Conditional_10_Conditional_9_Conditional_4_For_2_Template_div_click_0_listener() { const favorite_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r3 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r3.onFavoriteClick(favorite_r11)); });
178
+ i0.ɵɵelementStart(1, "div", 47);
177
179
  i0.ɵɵelement(2, "i");
178
180
  i0.ɵɵelementEnd();
179
- i0.ɵɵelementStart(3, "div", 57)(4, "span", 58);
181
+ i0.ɵɵelementStart(3, "div", 48)(4, "span", 49);
180
182
  i0.ɵɵtext(5);
181
183
  i0.ɵɵelementEnd();
182
- i0.ɵɵelementStart(6, "span", 59);
184
+ i0.ɵɵelementStart(6, "span", 50);
183
185
  i0.ɵɵtext(7);
184
186
  i0.ɵɵelementEnd()()();
185
187
  } if (rf & 2) {
@@ -192,47 +194,48 @@ function HomeDashboardComponent_div_10_div_9_div_4_div_1_Template(rf, ctx) { if
192
194
  i0.ɵɵadvance(2);
193
195
  i0.ɵɵtextInterpolate(favorite_r11.Entity);
194
196
  } }
195
- function HomeDashboardComponent_div_10_div_9_div_4_Template(rf, ctx) { if (rf & 1) {
196
- i0.ɵɵelementStart(0, "div", 53);
197
- i0.ɵɵtemplate(1, HomeDashboardComponent_div_10_div_9_div_4_div_1_Template, 8, 4, "div", 64);
197
+ function HomeDashboardComponent_Conditional_10_Conditional_9_Conditional_4_Template(rf, ctx) { if (rf & 1) {
198
+ i0.ɵɵelementStart(0, "div", 44);
199
+ i0.ɵɵrepeaterCreate(1, HomeDashboardComponent_Conditional_10_Conditional_9_Conditional_4_For_2_Template, 8, 4, "div", 53, i0.ɵɵrepeaterTrackByIdentity);
198
200
  i0.ɵɵelementEnd();
199
201
  } if (rf & 2) {
200
202
  const ctx_r3 = i0.ɵɵnextContext(3);
201
203
  i0.ɵɵadvance();
202
- i0.ɵɵproperty("ngForOf", ctx_r3.favorites);
204
+ i0.ɵɵrepeater(ctx_r3.favorites);
203
205
  } }
204
- function HomeDashboardComponent_div_10_div_9_div_5_Template(rf, ctx) { if (rf & 1) {
205
- i0.ɵɵelementStart(0, "div", 66);
206
- i0.ɵɵelement(1, "i", 67);
206
+ function HomeDashboardComponent_Conditional_10_Conditional_9_Conditional_5_Template(rf, ctx) { if (rf & 1) {
207
+ i0.ɵɵelementStart(0, "div", 52);
208
+ i0.ɵɵelement(1, "i", 55);
207
209
  i0.ɵɵelementStart(2, "span");
208
210
  i0.ɵɵtext(3, "Loading...");
209
211
  i0.ɵɵelementEnd()();
210
212
  } }
211
- function HomeDashboardComponent_div_10_div_9_Template(rf, ctx) { if (rf & 1) {
212
- i0.ɵɵelementStart(0, "div", 60)(1, "h4", 50);
213
- i0.ɵɵelement(2, "i", 61);
213
+ function HomeDashboardComponent_Conditional_10_Conditional_9_Template(rf, ctx) { if (rf & 1) {
214
+ i0.ɵɵelementStart(0, "div", 38)(1, "h4", 41);
215
+ i0.ɵɵelement(2, "i", 51);
214
216
  i0.ɵɵtext(3, " Favorites ");
215
217
  i0.ɵɵelementEnd();
216
- i0.ɵɵtemplate(4, HomeDashboardComponent_div_10_div_9_div_4_Template, 2, 1, "div", 62)(5, HomeDashboardComponent_div_10_div_9_div_5_Template, 4, 0, "div", 63);
218
+ i0.ɵɵconditionalCreate(4, HomeDashboardComponent_Conditional_10_Conditional_9_Conditional_4_Template, 3, 0, "div", 44);
219
+ i0.ɵɵconditionalCreate(5, HomeDashboardComponent_Conditional_10_Conditional_9_Conditional_5_Template, 4, 0, "div", 52);
217
220
  i0.ɵɵelementEnd();
218
221
  } if (rf & 2) {
219
222
  const ctx_r3 = i0.ɵɵnextContext(2);
220
223
  i0.ɵɵadvance(4);
221
- i0.ɵɵproperty("ngIf", !ctx_r3.favoritesLoading);
224
+ i0.ɵɵconditional(!ctx_r3.favoritesLoading ? 4 : -1);
222
225
  i0.ɵɵadvance();
223
- i0.ɵɵproperty("ngIf", ctx_r3.favoritesLoading);
226
+ i0.ɵɵconditional(ctx_r3.favoritesLoading ? 5 : -1);
224
227
  } }
225
- function HomeDashboardComponent_div_10_div_10_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
228
+ function HomeDashboardComponent_Conditional_10_Conditional_10_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
226
229
  const _r12 = i0.ɵɵgetCurrentView();
227
- i0.ɵɵelementStart(0, "div", 71);
228
- i0.ɵɵlistener("click", function HomeDashboardComponent_div_10_div_10_div_4_div_1_Template_div_click_0_listener() { const item_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r3 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r3.onRecentClick(item_r13)); });
229
- i0.ɵɵelementStart(1, "div", 56);
230
+ i0.ɵɵelementStart(0, "div", 58);
231
+ i0.ɵɵlistener("click", function HomeDashboardComponent_Conditional_10_Conditional_10_Conditional_4_For_2_Template_div_click_0_listener() { const item_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r3 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r3.onRecentClick(item_r13)); });
232
+ i0.ɵɵelementStart(1, "div", 47);
230
233
  i0.ɵɵelement(2, "i");
231
234
  i0.ɵɵelementEnd();
232
- i0.ɵɵelementStart(3, "div", 57)(4, "span", 58);
235
+ i0.ɵɵelementStart(3, "div", 48)(4, "span", 49);
233
236
  i0.ɵɵtext(5);
234
237
  i0.ɵɵelementEnd();
235
- i0.ɵɵelementStart(6, "span", 59);
238
+ i0.ɵɵelementStart(6, "span", 50);
236
239
  i0.ɵɵtext(7);
237
240
  i0.ɵɵelementEnd()()();
238
241
  } if (rf & 2) {
@@ -243,71 +246,75 @@ function HomeDashboardComponent_div_10_div_10_div_4_div_1_Template(rf, ctx) { if
243
246
  i0.ɵɵadvance(3);
244
247
  i0.ɵɵtextInterpolate(item_r13.recordName || item_r13.recordId);
245
248
  i0.ɵɵadvance(2);
246
- i0.ɵɵtextInterpolate2("", item_r13.entityName, " \u00B7 ", ctx_r3.formatDate(item_r13.latestAt), "");
249
+ i0.ɵɵtextInterpolate2("", item_r13.entityName, " \u00B7 ", ctx_r3.formatDate(item_r13.latestAt));
247
250
  } }
248
- function HomeDashboardComponent_div_10_div_10_div_4_Template(rf, ctx) { if (rf & 1) {
249
- i0.ɵɵelementStart(0, "div", 53);
250
- i0.ɵɵtemplate(1, HomeDashboardComponent_div_10_div_10_div_4_div_1_Template, 8, 5, "div", 70);
251
+ function HomeDashboardComponent_Conditional_10_Conditional_10_Conditional_4_Template(rf, ctx) { if (rf & 1) {
252
+ i0.ɵɵelementStart(0, "div", 44);
253
+ i0.ɵɵrepeaterCreate(1, HomeDashboardComponent_Conditional_10_Conditional_10_Conditional_4_For_2_Template, 8, 5, "div", 57, i0.ɵɵrepeaterTrackByIdentity);
251
254
  i0.ɵɵelementEnd();
252
255
  } if (rf & 2) {
253
256
  const ctx_r3 = i0.ɵɵnextContext(3);
254
257
  i0.ɵɵadvance();
255
- i0.ɵɵproperty("ngForOf", ctx_r3.recentItems);
258
+ i0.ɵɵrepeater(ctx_r3.recentItems);
256
259
  } }
257
- function HomeDashboardComponent_div_10_div_10_div_5_Template(rf, ctx) { if (rf & 1) {
258
- i0.ɵɵelementStart(0, "div", 66);
259
- i0.ɵɵelement(1, "i", 67);
260
+ function HomeDashboardComponent_Conditional_10_Conditional_10_Conditional_5_Template(rf, ctx) { if (rf & 1) {
261
+ i0.ɵɵelementStart(0, "div", 52);
262
+ i0.ɵɵelement(1, "i", 55);
260
263
  i0.ɵɵelementStart(2, "span");
261
264
  i0.ɵɵtext(3, "Loading...");
262
265
  i0.ɵɵelementEnd()();
263
266
  } }
264
- function HomeDashboardComponent_div_10_div_10_Template(rf, ctx) { if (rf & 1) {
265
- i0.ɵɵelementStart(0, "div", 68)(1, "h4", 50);
266
- i0.ɵɵelement(2, "i", 69);
267
+ function HomeDashboardComponent_Conditional_10_Conditional_10_Template(rf, ctx) { if (rf & 1) {
268
+ i0.ɵɵelementStart(0, "div", 39)(1, "h4", 41);
269
+ i0.ɵɵelement(2, "i", 56);
267
270
  i0.ɵɵtext(3, " Recent ");
268
271
  i0.ɵɵelementEnd();
269
- i0.ɵɵtemplate(4, HomeDashboardComponent_div_10_div_10_div_4_Template, 2, 1, "div", 62)(5, HomeDashboardComponent_div_10_div_10_div_5_Template, 4, 0, "div", 63);
272
+ i0.ɵɵconditionalCreate(4, HomeDashboardComponent_Conditional_10_Conditional_10_Conditional_4_Template, 3, 0, "div", 44);
273
+ i0.ɵɵconditionalCreate(5, HomeDashboardComponent_Conditional_10_Conditional_10_Conditional_5_Template, 4, 0, "div", 52);
270
274
  i0.ɵɵelementEnd();
271
275
  } if (rf & 2) {
272
276
  const ctx_r3 = i0.ɵɵnextContext(2);
273
277
  i0.ɵɵadvance(4);
274
- i0.ɵɵproperty("ngIf", !ctx_r3.recentsLoading);
278
+ i0.ɵɵconditional(!ctx_r3.recentsLoading ? 4 : -1);
275
279
  i0.ɵɵadvance();
276
- i0.ɵɵproperty("ngIf", ctx_r3.recentsLoading);
280
+ i0.ɵɵconditional(ctx_r3.recentsLoading ? 5 : -1);
277
281
  } }
278
- function HomeDashboardComponent_div_10_div_11_Template(rf, ctx) { if (rf & 1) {
279
- i0.ɵɵelementStart(0, "div", 72);
280
- i0.ɵɵelement(1, "i", 73);
282
+ function HomeDashboardComponent_Conditional_10_Conditional_11_Template(rf, ctx) { if (rf & 1) {
283
+ i0.ɵɵelementStart(0, "div", 40);
284
+ i0.ɵɵelement(1, "i", 59);
281
285
  i0.ɵɵelementStart(2, "p");
282
286
  i0.ɵɵtext(3, "No quick access items");
283
287
  i0.ɵɵelementEnd()();
284
288
  } }
285
- function HomeDashboardComponent_div_10_Template(rf, ctx) { if (rf & 1) {
289
+ function HomeDashboardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
286
290
  const _r7 = i0.ɵɵgetCurrentView();
287
- i0.ɵɵelementStart(0, "div", 39)(1, "div", 40)(2, "h3");
288
- i0.ɵɵelement(3, "i", 41);
291
+ i0.ɵɵelementStart(0, "div", 8)(1, "div", 32)(2, "h3");
292
+ i0.ɵɵelement(3, "i", 33);
289
293
  i0.ɵɵtext(4, " Quick Access ");
290
294
  i0.ɵɵelementEnd();
291
- i0.ɵɵelementStart(5, "button", 42);
292
- i0.ɵɵlistener("click", function HomeDashboardComponent_div_10_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r7); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.toggleSidebar()); });
293
- i0.ɵɵelement(6, "i", 43);
295
+ i0.ɵɵelementStart(5, "button", 34);
296
+ i0.ɵɵlistener("click", function HomeDashboardComponent_Conditional_10_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r7); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.toggleSidebar()); });
297
+ i0.ɵɵelement(6, "i", 35);
294
298
  i0.ɵɵelementEnd()();
295
- i0.ɵɵelementStart(7, "div", 44);
296
- i0.ɵɵtemplate(8, HomeDashboardComponent_div_10_div_8_Template, 8, 2, "div", 45)(9, HomeDashboardComponent_div_10_div_9_Template, 6, 2, "div", 46)(10, HomeDashboardComponent_div_10_div_10_Template, 6, 2, "div", 47)(11, HomeDashboardComponent_div_10_div_11_Template, 4, 0, "div", 48);
299
+ i0.ɵɵelementStart(7, "div", 36);
300
+ i0.ɵɵconditionalCreate(8, HomeDashboardComponent_Conditional_10_Conditional_8_Template, 9, 1, "div", 37);
301
+ i0.ɵɵconditionalCreate(9, HomeDashboardComponent_Conditional_10_Conditional_9_Template, 6, 2, "div", 38);
302
+ i0.ɵɵconditionalCreate(10, HomeDashboardComponent_Conditional_10_Conditional_10_Template, 6, 2, "div", 39);
303
+ i0.ɵɵconditionalCreate(11, HomeDashboardComponent_Conditional_10_Conditional_11_Template, 4, 0, "div", 40);
297
304
  i0.ɵɵelementEnd()();
298
305
  } if (rf & 2) {
299
306
  const ctx_r3 = i0.ɵɵnextContext();
300
307
  i0.ɵɵadvance(8);
301
- i0.ɵɵproperty("ngIf", ctx_r3.unreadNotifications.length > 0);
308
+ i0.ɵɵconditional(ctx_r3.unreadNotifications.length > 0 ? 8 : -1);
302
309
  i0.ɵɵadvance();
303
- i0.ɵɵproperty("ngIf", ctx_r3.favorites.length > 0 || ctx_r3.favoritesLoading);
310
+ i0.ɵɵconditional(ctx_r3.favorites.length > 0 || ctx_r3.favoritesLoading ? 9 : -1);
304
311
  i0.ɵɵadvance();
305
- i0.ɵɵproperty("ngIf", ctx_r3.recentItems.length > 0 || ctx_r3.recentsLoading);
312
+ i0.ɵɵconditional(ctx_r3.recentItems.length > 0 || ctx_r3.recentsLoading ? 10 : -1);
306
313
  i0.ɵɵadvance();
307
- i0.ɵɵproperty("ngIf", !ctx_r3.favoritesLoading && !ctx_r3.recentsLoading && ctx_r3.unreadNotifications.length === 0 && ctx_r3.favorites.length === 0 && ctx_r3.recentItems.length === 0);
314
+ i0.ɵɵconditional(!ctx_r3.favoritesLoading && !ctx_r3.recentsLoading && ctx_r3.unreadNotifications.length === 0 && ctx_r3.favorites.length === 0 && ctx_r3.recentItems.length === 0 ? 11 : -1);
308
315
  } }
309
- function HomeDashboardComponent_button_11_span_2_Template(rf, ctx) { if (rf & 1) {
310
- i0.ɵɵelementStart(0, "span", 76);
316
+ function HomeDashboardComponent_Conditional_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
317
+ i0.ɵɵelementStart(0, "span", 61);
311
318
  i0.ɵɵtext(1);
312
319
  i0.ɵɵelementEnd();
313
320
  } if (rf & 2) {
@@ -315,17 +322,17 @@ function HomeDashboardComponent_button_11_span_2_Template(rf, ctx) { if (rf & 1)
315
322
  i0.ɵɵadvance();
316
323
  i0.ɵɵtextInterpolate(ctx_r3.unreadNotifications.length);
317
324
  } }
318
- function HomeDashboardComponent_button_11_Template(rf, ctx) { if (rf & 1) {
325
+ function HomeDashboardComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
319
326
  const _r14 = i0.ɵɵgetCurrentView();
320
- i0.ɵɵelementStart(0, "button", 74);
321
- i0.ɵɵlistener("click", function HomeDashboardComponent_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.toggleSidebar()); });
322
- i0.ɵɵelement(1, "i", 41);
323
- i0.ɵɵtemplate(2, HomeDashboardComponent_button_11_span_2_Template, 2, 1, "span", 75);
327
+ i0.ɵɵelementStart(0, "button", 60);
328
+ i0.ɵɵlistener("click", function HomeDashboardComponent_Conditional_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.toggleSidebar()); });
329
+ i0.ɵɵelement(1, "i", 33);
330
+ i0.ɵɵconditionalCreate(2, HomeDashboardComponent_Conditional_11_Conditional_2_Template, 2, 1, "span", 61);
324
331
  i0.ɵɵelementEnd();
325
332
  } if (rf & 2) {
326
333
  const ctx_r3 = i0.ɵɵnextContext();
327
334
  i0.ɵɵadvance(2);
328
- i0.ɵɵproperty("ngIf", ctx_r3.unreadNotifications.length > 0);
335
+ i0.ɵɵconditional(ctx_r3.unreadNotifications.length > 0 ? 2 : -1);
329
336
  } }
330
337
  /**
331
338
  * Home Dashboard - Personalized home screen showing all available applications
@@ -654,7 +661,7 @@ let HomeDashboardComponent = class HomeDashboardComponent extends BaseResourceCo
654
661
  } if (rf & 2) {
655
662
  let _t;
656
663
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.appConfigDialog = _t.first);
657
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 14, vars: 10, consts: [["appConfigDialog", ""], [1, "home-dashboard"], [1, "main-content"], [1, "home-header"], [1, "greeting-section"], [1, "date"], ["class", "loading-container", 4, "ngIf"], ["class", "apps-section", 4, "ngIf"], ["class", "quick-access-sidebar", 4, "ngIf"], ["class", "sidebar-fab-toggle", "title", "Quick Access", 3, "click", 4, "ngIf"], [3, "showDialogChange", "configSaved", "showDialog"], [1, "loading-container"], ["text", "Loading your applications...", "size", "large"], [1, "apps-section"], [1, "section-title"], [1, "fa-solid", "fa-grid-2"], [1, "apps-grid"], ["class", "app-card", 3, "--app-color", "click", 4, "ngFor", "ngForOf"], ["class", "empty-state", 4, "ngIf"], [1, "app-card", 3, "click"], [1, "app-icon-wrapper"], [1, "app-icon"], [1, "app-info"], [1, "app-name"], ["class", "app-description", 4, "ngIf"], ["class", "nav-preview", 4, "ngIf"], [1, "app-arrow"], [1, "fa-solid", "fa-arrow-right"], [1, "app-description"], [1, "nav-preview"], ["class", "nav-item-chip", 4, "ngFor", "ngForOf"], ["class", "more-items", 4, "ngIf"], [1, "nav-item-chip"], [1, "more-items"], [1, "empty-state"], [1, "empty-icon"], [1, "fa-solid", "fa-folder-open"], ["kendoButton", "", "themeColor", "primary", 3, "click"], [1, "fa-solid", "fa-gear"], [1, "quick-access-sidebar"], [1, "sidebar-header"], [1, "fa-solid", "fa-bolt"], ["title", "Close panel", 1, "sidebar-close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "sidebar-content"], ["class", "sidebar-section notifications-section", 4, "ngIf"], ["class", "sidebar-section favorites-section", 4, "ngIf"], ["class", "sidebar-section recents-section", 4, "ngIf"], ["class", "sidebar-empty", 4, "ngIf"], [1, "sidebar-section", "notifications-section"], [1, "sidebar-section-title"], [1, "fa-solid", "fa-bell"], [1, "section-badge"], [1, "sidebar-items"], ["class", "sidebar-item notification-item", 3, "click", 4, "ngFor", "ngForOf"], [1, "sidebar-item", "notification-item", 3, "click"], [1, "sidebar-item-icon"], [1, "sidebar-item-info"], [1, "sidebar-item-title"], [1, "sidebar-item-subtitle"], [1, "sidebar-section", "favorites-section"], [1, "fa-solid", "fa-star"], ["class", "sidebar-items", 4, "ngIf"], ["class", "sidebar-loading", 4, "ngIf"], ["class", "sidebar-item favorite-item", 3, "click", 4, "ngFor", "ngForOf"], [1, "sidebar-item", "favorite-item", 3, "click"], [1, "sidebar-loading"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "sidebar-section", "recents-section"], [1, "fa-solid", "fa-clock-rotate-left"], ["class", "sidebar-item recent-item", 3, "click", 4, "ngFor", "ngForOf"], [1, "sidebar-item", "recent-item", 3, "click"], [1, "sidebar-empty"], [1, "fa-solid", "fa-inbox"], ["title", "Quick Access", 1, "sidebar-fab-toggle", 3, "click"], ["class", "fab-badge", 4, "ngIf"], [1, "fab-badge"]], template: function HomeDashboardComponent_Template(rf, ctx) { if (rf & 1) {
664
+ } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 14, vars: 10, consts: [["appConfigDialog", ""], [1, "home-dashboard"], [1, "main-content"], [1, "home-header"], [1, "greeting-section"], [1, "date"], [1, "loading-container"], [1, "apps-section"], [1, "quick-access-sidebar"], ["title", "Quick Access", 1, "sidebar-fab-toggle"], [3, "showDialogChange", "configSaved", "showDialog"], ["text", "Loading your applications...", "size", "large"], [1, "section-title"], [1, "fa-solid", "fa-grid-2"], [1, "apps-grid"], [1, "app-card", 3, "--app-color"], [1, "empty-state"], [1, "app-card", 3, "click"], [1, "app-icon-wrapper"], [1, "app-icon"], [1, "app-info"], [1, "app-name"], [1, "app-description"], [1, "nav-preview"], [1, "app-arrow"], [1, "fa-solid", "fa-arrow-right"], [1, "nav-item-chip"], [1, "more-items"], [1, "empty-icon"], [1, "fa-solid", "fa-folder-open"], ["kendoButton", "", "themeColor", "primary", 3, "click"], [1, "fa-solid", "fa-gear"], [1, "sidebar-header"], [1, "fa-solid", "fa-bolt"], ["title", "Close panel", 1, "sidebar-close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "sidebar-content"], [1, "sidebar-section", "notifications-section"], [1, "sidebar-section", "favorites-section"], [1, "sidebar-section", "recents-section"], [1, "sidebar-empty"], [1, "sidebar-section-title"], [1, "fa-solid", "fa-bell"], [1, "section-badge"], [1, "sidebar-items"], [1, "sidebar-item", "notification-item"], [1, "sidebar-item", "notification-item", 3, "click"], [1, "sidebar-item-icon"], [1, "sidebar-item-info"], [1, "sidebar-item-title"], [1, "sidebar-item-subtitle"], [1, "fa-solid", "fa-star"], [1, "sidebar-loading"], [1, "sidebar-item", "favorite-item"], [1, "sidebar-item", "favorite-item", 3, "click"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "sidebar-item", "recent-item"], [1, "sidebar-item", "recent-item", 3, "click"], [1, "fa-solid", "fa-inbox"], ["title", "Quick Access", 1, "sidebar-fab-toggle", 3, "click"], [1, "fab-badge"]], template: function HomeDashboardComponent_Template(rf, ctx) { if (rf & 1) {
658
665
  const _r1 = i0.ɵɵgetCurrentView();
659
666
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3)(3, "div", 4)(4, "h1");
660
667
  i0.ɵɵtext(5);
@@ -662,9 +669,11 @@ let HomeDashboardComponent = class HomeDashboardComponent extends BaseResourceCo
662
669
  i0.ɵɵelementStart(6, "p", 5);
663
670
  i0.ɵɵtext(7);
664
671
  i0.ɵɵelementEnd()()();
665
- i0.ɵɵtemplate(8, HomeDashboardComponent_div_8_Template, 2, 0, "div", 6)(9, HomeDashboardComponent_div_9_Template, 7, 2, "div", 7);
672
+ i0.ɵɵconditionalCreate(8, HomeDashboardComponent_Conditional_8_Template, 2, 0, "div", 6);
673
+ i0.ɵɵconditionalCreate(9, HomeDashboardComponent_Conditional_9_Template, 8, 1, "div", 7);
666
674
  i0.ɵɵelementEnd();
667
- i0.ɵɵtemplate(10, HomeDashboardComponent_div_10_Template, 12, 4, "div", 8)(11, HomeDashboardComponent_button_11_Template, 3, 1, "button", 9);
675
+ i0.ɵɵconditionalCreate(10, HomeDashboardComponent_Conditional_10_Template, 12, 4, "div", 8);
676
+ i0.ɵɵconditionalCreate(11, HomeDashboardComponent_Conditional_11_Template, 3, 1, "button", 9);
668
677
  i0.ɵɵelementStart(12, "mj-user-app-config", 10, 0);
669
678
  i0.ɵɵtwoWayListener("showDialogChange", function HomeDashboardComponent_Template_mj_user_app_config_showDialogChange_12_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.showConfigDialog, $event) || (ctx.showConfigDialog = $event); return i0.ɵɵresetView($event); });
670
679
  i0.ɵɵlistener("configSaved", function HomeDashboardComponent_Template_mj_user_app_config_configSaved_12_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onConfigSaved()); });
@@ -672,20 +681,20 @@ let HomeDashboardComponent = class HomeDashboardComponent extends BaseResourceCo
672
681
  } if (rf & 2) {
673
682
  i0.ɵɵclassProp("sidebar-open", ctx.sidebarOpen && ctx.hasSidebarContent);
674
683
  i0.ɵɵadvance(5);
675
- i0.ɵɵtextInterpolate2("", ctx.greeting, ", ", ctx.currentUser == null ? null : ctx.currentUser.Name, "");
684
+ i0.ɵɵtextInterpolate2("", ctx.greeting, ", ", ctx.currentUser == null ? null : ctx.currentUser.Name);
676
685
  i0.ɵɵadvance(2);
677
686
  i0.ɵɵtextInterpolate(ctx.formattedDate);
678
687
  i0.ɵɵadvance();
679
- i0.ɵɵproperty("ngIf", ctx.isLoading);
688
+ i0.ɵɵconditional(ctx.isLoading ? 8 : -1);
680
689
  i0.ɵɵadvance();
681
- i0.ɵɵproperty("ngIf", !ctx.isLoading);
690
+ i0.ɵɵconditional(!ctx.isLoading ? 9 : -1);
682
691
  i0.ɵɵadvance();
683
- i0.ɵɵproperty("ngIf", ctx.hasSidebarContent);
692
+ i0.ɵɵconditional(ctx.hasSidebarContent ? 10 : -1);
684
693
  i0.ɵɵadvance();
685
- i0.ɵɵproperty("ngIf", ctx.hasSidebarContent && !ctx.sidebarOpen);
694
+ i0.ɵɵconditional(ctx.hasSidebarContent && !ctx.sidebarOpen ? 11 : -1);
686
695
  i0.ɵɵadvance();
687
696
  i0.ɵɵtwoWayProperty("showDialog", ctx.showConfigDialog);
688
- } }, dependencies: [i3.NgForOf, i3.NgIf, i4.ButtonComponent, i5.UserAppConfigComponent, i6.LoadingComponent, i3.SlicePipe], styles: [".home-dashboard[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n overflow: hidden;\n position: relative;\n}\n\n\n\n.main-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 32px;\n overflow-y: auto;\n transition: margin-right 0.3s ease;\n}\n\n\n\n.home-dashboard.sidebar-open[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] {\n margin-right: 320px;\n}\n\n\n\n.home-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 32px;\n}\n\n.greeting-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 32px;\n font-weight: 600;\n color: #212529;\n}\n\n.greeting-section[_ngcontent-%COMP%] .date[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n color: #6c757d;\n}\n\n\n\n.sidebar-fab-toggle[_ngcontent-%COMP%] {\n position: fixed;\n top: 80px; \n\n right: 24px;\n width: 56px;\n height: 56px;\n border: none;\n border-radius: 50%;\n background: #1976d2;\n color: white;\n font-size: 20px;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(25, 118, 210, 0.4);\n transition: all 0.2s ease;\n z-index: 100;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sidebar-fab-toggle[_ngcontent-%COMP%]:hover {\n background: #1565c0;\n transform: scale(1.05);\n box-shadow: 0 6px 16px rgba(25, 118, 210, 0.5);\n}\n\n.fab-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: -4px;\n right: -4px;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: #e53935;\n color: white;\n font-size: 11px;\n font-weight: 600;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n\n\n.loading-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n gap: 16px;\n color: #6c757d;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n font-size: 32px;\n color: #1976d2;\n}\n\n\n\n.apps-section[_ngcontent-%COMP%] {\n flex: 0 0 auto;\n}\n\n.section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0 0 24px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n}\n\n.section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #6c757d;\n}\n\n\n\n.apps-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 20px;\n}\n\n\n\n.app-card[_ngcontent-%COMP%] {\n --app-color: #757575;\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 20px;\n background: white;\n border-radius: 14px;\n border: 1px solid #e9ecef;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n cursor: pointer;\n transition: all 0.25s ease;\n position: relative;\n overflow: hidden;\n}\n\n.app-card[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 4px;\n height: 100%;\n background: var(--app-color);\n opacity: 0;\n transition: opacity 0.25s ease;\n}\n\n.app-card[_ngcontent-%COMP%]:hover {\n border-color: var(--app-color);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);\n transform: translateY(-3px);\n}\n\n.app-card[_ngcontent-%COMP%]:hover::before {\n opacity: 1;\n}\n\n\n\n.app-icon-wrapper[_ngcontent-%COMP%] {\n flex-shrink: 0;\n}\n\n.app-icon[_ngcontent-%COMP%] {\n width: 52px;\n height: 52px;\n border-radius: 12px;\n background: color-mix(in srgb, var(--app-color) 12%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.25s ease;\n}\n\n.app-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 22px;\n color: var(--app-color);\n transition: transform 0.25s ease;\n}\n\n.app-card[_ngcontent-%COMP%]:hover .app-icon[_ngcontent-%COMP%] {\n background: var(--app-color);\n}\n\n.app-card[_ngcontent-%COMP%]:hover .app-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n transform: scale(1.1);\n}\n\n\n\n.app-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.app-name[_ngcontent-%COMP%] {\n margin: 0 0 4px 0;\n font-size: 17px;\n font-weight: 600;\n color: #212529;\n}\n\n.app-description[_ngcontent-%COMP%] {\n margin: 0 0 10px 0;\n font-size: 13px;\n color: #6c757d;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n\n\n.nav-preview[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n align-items: center;\n}\n\n.nav-item-chip[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 5px;\n padding: 3px 8px;\n background: #f8f9fa;\n border-radius: 5px;\n font-size: 11px;\n color: #495057;\n}\n\n.nav-item-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n color: #6c757d;\n}\n\n.more-items[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6c757d;\n font-style: italic;\n}\n\n\n\n.app-arrow[_ngcontent-%COMP%] {\n position: absolute;\n right: 14px;\n top: 50%;\n transform: translateY(-50%) translateX(10px);\n opacity: 0;\n transition: all 0.25s ease;\n color: var(--app-color);\n font-size: 16px;\n}\n\n.app-card[_ngcontent-%COMP%]:hover .app-arrow[_ngcontent-%COMP%] {\n opacity: 1;\n transform: translateY(-50%) translateX(0);\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 64px 24px;\n background: white;\n border-radius: 16px;\n border: 2px dashed #dee2e6;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background: #f8f9fa;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 24px;\n}\n\n.empty-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: #adb5bd;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 20px 0;\n font-size: 14px;\n color: #6c757d;\n max-width: 400px;\n}\n\n.empty-state[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 8px;\n}\n\n\n\n\n\n.quick-access-sidebar[_ngcontent-%COMP%] {\n position: fixed;\n top: 60px; \n\n right: 0;\n bottom: 0;\n width: 320px;\n background: white;\n border-left: 1px solid #e9ecef;\n display: flex;\n flex-direction: column;\n transform: translateX(100%);\n transition: transform 0.3s ease;\n overflow: hidden;\n z-index: 100;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.08);\n}\n\n.home-dashboard.sidebar-open[_ngcontent-%COMP%] .quick-access-sidebar[_ngcontent-%COMP%] {\n transform: translateX(0);\n}\n\n.sidebar-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #e9ecef;\n background: #fafbfc;\n}\n\n.sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #212529;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #1976d2;\n font-size: 14px;\n}\n\n.sidebar-close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n border-radius: 8px;\n background: transparent;\n color: #6c757d;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n}\n\n.sidebar-close-btn[_ngcontent-%COMP%]:hover {\n background: #f1f3f4;\n color: #212529;\n}\n\n.sidebar-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n}\n\n\n\n.sidebar-section[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.sidebar-section[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n\n.sidebar-section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 12px 0;\n font-size: 13px;\n font-weight: 600;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.sidebar-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.notifications-section[_ngcontent-%COMP%] .sidebar-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #f57c00;\n}\n\n.favorites-section[_ngcontent-%COMP%] .sidebar-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #ffc107;\n}\n\n.recents-section[_ngcontent-%COMP%] .sidebar-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #1976d2;\n}\n\n.section-badge[_ngcontent-%COMP%] {\n background: #e53935;\n color: white;\n font-size: 10px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 8px;\n margin-left: auto;\n}\n\n\n\n.sidebar-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.sidebar-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 12px;\n background: #f8f9fa;\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.sidebar-item[_ngcontent-%COMP%]:hover {\n background: #e9ecef;\n transform: translateX(4px);\n}\n\n.sidebar-item-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n border-radius: 8px;\n background: white;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.sidebar-item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #6c757d;\n}\n\n.notification-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] {\n background: #fff3e0;\n}\n\n.notification-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #f57c00;\n}\n\n.favorite-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] {\n background: #fff8e1;\n}\n\n.favorite-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #f9a825;\n}\n\n.recent-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] {\n background: #e3f2fd;\n}\n\n.recent-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #1976d2;\n}\n\n.sidebar-item-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n flex: 1;\n}\n\n.sidebar-item-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: #212529;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sidebar-item-subtitle[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6c757d;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sidebar-loading[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #6c757d;\n font-size: 13px;\n padding: 8px 0;\n}\n\n.sidebar-loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #1976d2;\n}\n\n.sidebar-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n color: #adb5bd;\n}\n\n.sidebar-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n margin-bottom: 12px;\n}\n\n.sidebar-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n}\n\n\n\n\n\n\n\n\n\n@media (max-width: 1200px) {\n .quick-access-sidebar[_ngcontent-%COMP%] {\n width: 280px;\n }\n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] {\n margin-right: 280px;\n }\n\n .apps-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n }\n}\n\n\n\n@media (max-width: 992px) {\n .main-content[_ngcontent-%COMP%] {\n padding: 24px;\n }\n\n .greeting-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 28px;\n }\n\n \n\n .quick-access-sidebar[_ngcontent-%COMP%] {\n position: fixed;\n top: 60px; \n\n right: 0;\n bottom: 0;\n width: 320px;\n z-index: 1000;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n }\n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] {\n margin-right: 0;\n }\n\n \n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%]::after {\n content: '';\n position: fixed;\n top: 60px;\n left: 0;\n right: 320px;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n z-index: 999;\n }\n}\n\n\n\n@media (max-width: 768px) {\n .home-dashboard[_ngcontent-%COMP%] {\n height: auto;\n min-height: 100%;\n overflow: visible;\n }\n\n .main-content[_ngcontent-%COMP%] {\n padding: 20px;\n padding-bottom: 100px; \n\n overflow: visible;\n }\n\n .home-header[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .greeting-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 24px;\n }\n\n \n\n .quick-access-sidebar[_ngcontent-%COMP%] {\n position: fixed;\n top: 60px; \n\n right: 0;\n bottom: 0;\n width: 100%;\n max-width: 100%;\n z-index: 100; \n\n border-left: none;\n border-top: 1px solid #e9ecef;\n }\n\n \n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%]::before {\n content: '';\n position: fixed;\n top: 60px;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 99;\n }\n\n \n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%]::after {\n display: none;\n }\n\n .apps-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n .app-card[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .app-icon[_ngcontent-%COMP%] {\n width: 44px;\n height: 44px;\n }\n\n .app-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .app-name[_ngcontent-%COMP%] {\n font-size: 15px;\n }\n\n .nav-preview[_ngcontent-%COMP%] {\n display: none;\n }\n\n \n\n .sidebar-fab-toggle[_ngcontent-%COMP%] {\n top: auto;\n bottom: 20px;\n right: 20px;\n width: 48px;\n height: 48px;\n font-size: 18px;\n }\n}\n\n@media (max-width: 480px) {\n .main-content[_ngcontent-%COMP%] {\n padding: 16px;\n padding-bottom: 80px;\n }\n\n .greeting-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n\n .greeting-section[_ngcontent-%COMP%] .date[_ngcontent-%COMP%] {\n font-size: 14px;\n }\n\n .section-title[_ngcontent-%COMP%] {\n font-size: 16px;\n margin-bottom: 16px;\n }\n\n .sidebar-fab-toggle[_ngcontent-%COMP%] {\n bottom: 16px;\n right: 16px;\n width: 44px;\n height: 44px;\n font-size: 16px;\n }\n}"] });
697
+ } }, dependencies: [i3.ButtonComponent, i4.UserAppConfigComponent, i5.LoadingComponent, i6.SlicePipe], styles: [".home-dashboard[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n overflow: hidden;\n position: relative;\n}\n\n\n\n.main-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 32px;\n overflow-y: auto;\n transition: margin-right 0.3s ease;\n}\n\n\n\n.home-dashboard.sidebar-open[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] {\n margin-right: 320px;\n}\n\n\n\n.home-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 32px;\n}\n\n.greeting-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 32px;\n font-weight: 600;\n color: #212529;\n}\n\n.greeting-section[_ngcontent-%COMP%] .date[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n color: #6c757d;\n}\n\n\n\n.sidebar-fab-toggle[_ngcontent-%COMP%] {\n position: fixed;\n top: 80px; \n\n right: 24px;\n width: 56px;\n height: 56px;\n border: none;\n border-radius: 50%;\n background: #1976d2;\n color: white;\n font-size: 20px;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(25, 118, 210, 0.4);\n transition: all 0.2s ease;\n z-index: 100;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sidebar-fab-toggle[_ngcontent-%COMP%]:hover {\n background: #1565c0;\n transform: scale(1.05);\n box-shadow: 0 6px 16px rgba(25, 118, 210, 0.5);\n}\n\n.fab-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: -4px;\n right: -4px;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: #e53935;\n color: white;\n font-size: 11px;\n font-weight: 600;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n\n\n.loading-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n gap: 16px;\n color: #6c757d;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n font-size: 32px;\n color: #1976d2;\n}\n\n\n\n.apps-section[_ngcontent-%COMP%] {\n flex: 0 0 auto;\n}\n\n.section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0 0 24px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n}\n\n.section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #6c757d;\n}\n\n\n\n.apps-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 20px;\n}\n\n\n\n.app-card[_ngcontent-%COMP%] {\n --app-color: #757575;\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 20px;\n background: white;\n border-radius: 14px;\n border: 1px solid #e9ecef;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n cursor: pointer;\n transition: all 0.25s ease;\n position: relative;\n overflow: hidden;\n}\n\n.app-card[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 4px;\n height: 100%;\n background: var(--app-color);\n opacity: 0;\n transition: opacity 0.25s ease;\n}\n\n.app-card[_ngcontent-%COMP%]:hover {\n border-color: var(--app-color);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);\n transform: translateY(-3px);\n}\n\n.app-card[_ngcontent-%COMP%]:hover::before {\n opacity: 1;\n}\n\n\n\n.app-icon-wrapper[_ngcontent-%COMP%] {\n flex-shrink: 0;\n}\n\n.app-icon[_ngcontent-%COMP%] {\n width: 52px;\n height: 52px;\n border-radius: 12px;\n background: color-mix(in srgb, var(--app-color) 12%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.25s ease;\n}\n\n.app-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 22px;\n color: var(--app-color);\n transition: transform 0.25s ease;\n}\n\n.app-card[_ngcontent-%COMP%]:hover .app-icon[_ngcontent-%COMP%] {\n background: var(--app-color);\n}\n\n.app-card[_ngcontent-%COMP%]:hover .app-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n transform: scale(1.1);\n}\n\n\n\n.app-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.app-name[_ngcontent-%COMP%] {\n margin: 0 0 4px 0;\n font-size: 17px;\n font-weight: 600;\n color: #212529;\n}\n\n.app-description[_ngcontent-%COMP%] {\n margin: 0 0 10px 0;\n font-size: 13px;\n color: #6c757d;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n\n\n.nav-preview[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n align-items: center;\n}\n\n.nav-item-chip[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 5px;\n padding: 3px 8px;\n background: #f8f9fa;\n border-radius: 5px;\n font-size: 11px;\n color: #495057;\n}\n\n.nav-item-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n color: #6c757d;\n}\n\n.more-items[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6c757d;\n font-style: italic;\n}\n\n\n\n.app-arrow[_ngcontent-%COMP%] {\n position: absolute;\n right: 14px;\n top: 50%;\n transform: translateY(-50%) translateX(10px);\n opacity: 0;\n transition: all 0.25s ease;\n color: var(--app-color);\n font-size: 16px;\n}\n\n.app-card[_ngcontent-%COMP%]:hover .app-arrow[_ngcontent-%COMP%] {\n opacity: 1;\n transform: translateY(-50%) translateX(0);\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 64px 24px;\n background: white;\n border-radius: 16px;\n border: 2px dashed #dee2e6;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background: #f8f9fa;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 24px;\n}\n\n.empty-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: #adb5bd;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 20px 0;\n font-size: 14px;\n color: #6c757d;\n max-width: 400px;\n}\n\n.empty-state[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 8px;\n}\n\n\n\n\n\n.quick-access-sidebar[_ngcontent-%COMP%] {\n position: fixed;\n top: 60px; \n\n right: 0;\n bottom: 0;\n width: 320px;\n background: white;\n border-left: 1px solid #e9ecef;\n display: flex;\n flex-direction: column;\n transform: translateX(100%);\n transition: transform 0.3s ease;\n overflow: hidden;\n z-index: 100;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.08);\n}\n\n.home-dashboard.sidebar-open[_ngcontent-%COMP%] .quick-access-sidebar[_ngcontent-%COMP%] {\n transform: translateX(0);\n}\n\n.sidebar-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #e9ecef;\n background: #fafbfc;\n}\n\n.sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #212529;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #1976d2;\n font-size: 14px;\n}\n\n.sidebar-close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n border-radius: 8px;\n background: transparent;\n color: #6c757d;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n}\n\n.sidebar-close-btn[_ngcontent-%COMP%]:hover {\n background: #f1f3f4;\n color: #212529;\n}\n\n.sidebar-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n}\n\n\n\n.sidebar-section[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.sidebar-section[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n\n.sidebar-section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 12px 0;\n font-size: 13px;\n font-weight: 600;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.sidebar-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.notifications-section[_ngcontent-%COMP%] .sidebar-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #f57c00;\n}\n\n.favorites-section[_ngcontent-%COMP%] .sidebar-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #ffc107;\n}\n\n.recents-section[_ngcontent-%COMP%] .sidebar-section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #1976d2;\n}\n\n.section-badge[_ngcontent-%COMP%] {\n background: #e53935;\n color: white;\n font-size: 10px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 8px;\n margin-left: auto;\n}\n\n\n\n.sidebar-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.sidebar-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 12px;\n background: #f8f9fa;\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.sidebar-item[_ngcontent-%COMP%]:hover {\n background: #e9ecef;\n transform: translateX(4px);\n}\n\n.sidebar-item-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n border-radius: 8px;\n background: white;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.sidebar-item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #6c757d;\n}\n\n.notification-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] {\n background: #fff3e0;\n}\n\n.notification-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #f57c00;\n}\n\n.favorite-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] {\n background: #fff8e1;\n}\n\n.favorite-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #f9a825;\n}\n\n.recent-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] {\n background: #e3f2fd;\n}\n\n.recent-item[_ngcontent-%COMP%] .sidebar-item-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #1976d2;\n}\n\n.sidebar-item-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n flex: 1;\n}\n\n.sidebar-item-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: #212529;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sidebar-item-subtitle[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6c757d;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sidebar-loading[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #6c757d;\n font-size: 13px;\n padding: 8px 0;\n}\n\n.sidebar-loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #1976d2;\n}\n\n.sidebar-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n color: #adb5bd;\n}\n\n.sidebar-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n margin-bottom: 12px;\n}\n\n.sidebar-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n}\n\n\n\n\n\n\n\n\n\n@media (max-width: 1200px) {\n .quick-access-sidebar[_ngcontent-%COMP%] {\n width: 280px;\n }\n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] {\n margin-right: 280px;\n }\n\n .apps-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n }\n}\n\n\n\n@media (max-width: 992px) {\n .main-content[_ngcontent-%COMP%] {\n padding: 24px;\n }\n\n .greeting-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 28px;\n }\n\n \n\n .quick-access-sidebar[_ngcontent-%COMP%] {\n position: fixed;\n top: 60px; \n\n right: 0;\n bottom: 0;\n width: 320px;\n z-index: 1000;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n }\n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] {\n margin-right: 0;\n }\n\n \n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%]::after {\n content: '';\n position: fixed;\n top: 60px;\n left: 0;\n right: 320px;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n z-index: 999;\n }\n}\n\n\n\n@media (max-width: 768px) {\n .home-dashboard[_ngcontent-%COMP%] {\n height: auto;\n min-height: 100%;\n overflow: visible;\n }\n\n .main-content[_ngcontent-%COMP%] {\n padding: 20px;\n padding-bottom: 100px; \n\n overflow: visible;\n }\n\n .home-header[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .greeting-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 24px;\n }\n\n \n\n .quick-access-sidebar[_ngcontent-%COMP%] {\n position: fixed;\n top: 60px; \n\n right: 0;\n bottom: 0;\n width: 100%;\n max-width: 100%;\n z-index: 100; \n\n border-left: none;\n border-top: 1px solid #e9ecef;\n }\n\n \n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%]::before {\n content: '';\n position: fixed;\n top: 60px;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 99;\n }\n\n \n\n .home-dashboard.sidebar-open[_ngcontent-%COMP%]::after {\n display: none;\n }\n\n .apps-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n .app-card[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .app-icon[_ngcontent-%COMP%] {\n width: 44px;\n height: 44px;\n }\n\n .app-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n\n .app-name[_ngcontent-%COMP%] {\n font-size: 15px;\n }\n\n .nav-preview[_ngcontent-%COMP%] {\n display: none;\n }\n\n \n\n .sidebar-fab-toggle[_ngcontent-%COMP%] {\n top: auto;\n bottom: 20px;\n right: 20px;\n width: 48px;\n height: 48px;\n font-size: 18px;\n }\n}\n\n@media (max-width: 480px) {\n .main-content[_ngcontent-%COMP%] {\n padding: 16px;\n padding-bottom: 80px;\n }\n\n .greeting-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n font-size: 20px;\n }\n\n .greeting-section[_ngcontent-%COMP%] .date[_ngcontent-%COMP%] {\n font-size: 14px;\n }\n\n .section-title[_ngcontent-%COMP%] {\n font-size: 16px;\n margin-bottom: 16px;\n }\n\n .sidebar-fab-toggle[_ngcontent-%COMP%] {\n bottom: 16px;\n right: 16px;\n width: 44px;\n height: 44px;\n font-size: 16px;\n }\n}"] });
689
698
  };
690
699
  HomeDashboardComponent = __decorate([
691
700
  RegisterClass(BaseResourceComponent, 'HomeDashboard')
@@ -693,17 +702,10 @@ HomeDashboardComponent = __decorate([
693
702
  export { HomeDashboardComponent };
694
703
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HomeDashboardComponent, [{
695
704
  type: Component,
696
- args: [{ selector: 'mj-home-dashboard', template: "<div class=\"home-dashboard\" [class.sidebar-open]=\"sidebarOpen && hasSidebarContent\">\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Header Section -->\n <div class=\"home-header\">\n <div class=\"greeting-section\">\n <h1>{{ greeting }}, {{ currentUser?.Name }}</h1>\n <p class=\"date\">{{ formattedDate }}</p>\n </div>\n </div>\n\n <!-- Loading State -->\n <div class=\"loading-container\" *ngIf=\"isLoading\">\n <mj-loading text=\"Loading your applications...\" size=\"large\"></mj-loading>\n </div>\n\n <!-- Apps Grid -->\n <div class=\"apps-section\" *ngIf=\"!isLoading\">\n <h2 class=\"section-title\">\n <i class=\"fa-solid fa-grid-2\"></i>\n Your Applications\n </h2>\n\n <div class=\"apps-grid\">\n <div *ngFor=\"let app of apps\"\n class=\"app-card\"\n [style.--app-color]=\"app.GetColor()\"\n (click)=\"onAppClick(app)\">\n <!-- App Icon -->\n <div class=\"app-icon-wrapper\">\n <div class=\"app-icon\">\n <i [class]=\"app.Icon || 'fa-solid fa-cube'\"></i>\n </div>\n </div>\n\n <!-- App Info -->\n <div class=\"app-info\">\n <h3 class=\"app-name\">{{ app.Name }}</h3>\n <p class=\"app-description\" *ngIf=\"app.Description\">{{ app.Description }}</p>\n\n <!-- Nav Items Preview -->\n <div class=\"nav-preview\" *ngIf=\"getNavItemsCount(app) > 0\">\n <div class=\"nav-item-chip\" *ngFor=\"let item of getNavItemsPreview(app)\">\n <i [class]=\"item.Icon\"></i>\n <span>{{ item.Label }}</span>\n </div>\n <span class=\"more-items\" *ngIf=\"getNavItemsCount(app) > 3\">\n +{{ getNavItemsCount(app) - 3 }} more\n </span>\n </div>\n </div>\n\n <!-- Hover Arrow -->\n <div class=\"app-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n </div>\n\n <!-- Empty State -->\n <div class=\"empty-state\" *ngIf=\"apps.length === 0\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </div>\n <h3>No Applications Available</h3>\n <p>You don't have any applications configured yet.</p>\n <button kendoButton\n themeColor=\"primary\"\n (click)=\"openConfigDialog()\">\n <i class=\"fa-solid fa-gear\"></i>\n Configure Applications\n </button>\n </div>\n </div>\n </div>\n\n <!-- Collapsible Right Sidebar -->\n <div class=\"quick-access-sidebar\" *ngIf=\"hasSidebarContent\">\n <div class=\"sidebar-header\">\n <h3>\n <i class=\"fa-solid fa-bolt\"></i>\n Quick Access\n </h3>\n <button class=\"sidebar-close-btn\" (click)=\"toggleSidebar()\" title=\"Close panel\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <div class=\"sidebar-content\">\n <!-- Unread Notifications Section -->\n <div class=\"sidebar-section notifications-section\" *ngIf=\"unreadNotifications.length > 0\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-bell\"></i>\n Notifications\n <span class=\"section-badge\">{{ unreadNotifications.length }}</span>\n </h4>\n <div class=\"sidebar-items\">\n <div *ngFor=\"let notification of unreadNotifications\"\n class=\"sidebar-item notification-item\"\n (click)=\"onNotificationClick(notification)\">\n <div class=\"sidebar-item-icon\">\n <i class=\"fa-solid fa-bell\"></i>\n </div>\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ notification.Title }}</span>\n <span class=\"sidebar-item-subtitle\">{{ notification.Message | slice:0:40 }}{{ (notification.Message?.length || 0) > 40 ? '...' : '' }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Favorites Section -->\n <div class=\"sidebar-section favorites-section\" *ngIf=\"favorites.length > 0 || favoritesLoading\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-star\"></i>\n Favorites\n </h4>\n <div class=\"sidebar-items\" *ngIf=\"!favoritesLoading\">\n <div *ngFor=\"let favorite of favorites\"\n class=\"sidebar-item favorite-item\"\n (click)=\"onFavoriteClick(favorite)\">\n <div class=\"sidebar-item-icon\">\n <i [class]=\"getFavoriteIcon(favorite)\"></i>\n </div>\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ favorite.RecordID }}</span>\n <span class=\"sidebar-item-subtitle\">{{ favorite.Entity }}</span>\n </div>\n </div>\n </div>\n <div class=\"sidebar-loading\" *ngIf=\"favoritesLoading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading...</span>\n </div>\n </div>\n\n <!-- Recents Section -->\n <div class=\"sidebar-section recents-section\" *ngIf=\"recentItems.length > 0 || recentsLoading\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Recent\n </h4>\n <div class=\"sidebar-items\" *ngIf=\"!recentsLoading\">\n <div *ngFor=\"let item of recentItems\"\n class=\"sidebar-item recent-item\"\n (click)=\"onRecentClick(item)\">\n <div class=\"sidebar-item-icon\">\n <i [class]=\"getResourceIcon(item.resourceType)\"></i>\n </div>\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ item.recordName || item.recordId }}</span>\n <span class=\"sidebar-item-subtitle\">{{ item.entityName }} \u00B7 {{ formatDate(item.latestAt) }}</span>\n </div>\n </div>\n </div>\n <div class=\"sidebar-loading\" *ngIf=\"recentsLoading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading...</span>\n </div>\n </div>\n\n <!-- Empty sidebar state -->\n <div class=\"sidebar-empty\" *ngIf=\"!favoritesLoading && !recentsLoading && unreadNotifications.length === 0 && favorites.length === 0 && recentItems.length === 0\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No quick access items</p>\n </div>\n </div>\n </div>\n\n <!-- Quick Access FAB Toggle (Fixed Button) -->\n <button class=\"sidebar-fab-toggle\"\n *ngIf=\"hasSidebarContent && !sidebarOpen\"\n (click)=\"toggleSidebar()\"\n title=\"Quick Access\">\n <i class=\"fa-solid fa-bolt\"></i>\n <span class=\"fab-badge\" *ngIf=\"unreadNotifications.length > 0\">{{ unreadNotifications.length }}</span>\n </button>\n\n <!-- App Configuration Dialog -->\n <mj-user-app-config\n #appConfigDialog\n [(showDialog)]=\"showConfigDialog\"\n (configSaved)=\"onConfigSaved()\">\n </mj-user-app-config>\n</div>\n", styles: [".home-dashboard {\n display: flex;\n height: 100%;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n overflow: hidden;\n position: relative;\n}\n\n/* Main Content Area */\n.main-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 32px;\n overflow-y: auto;\n transition: margin-right 0.3s ease;\n}\n\n/* Sidebar open state adjusts main content on desktop */\n.home-dashboard.sidebar-open .main-content {\n margin-right: 320px;\n}\n\n/* Header */\n.home-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 32px;\n}\n\n.greeting-section h1 {\n margin: 0 0 8px 0;\n font-size: 32px;\n font-weight: 600;\n color: #212529;\n}\n\n.greeting-section .date {\n margin: 0;\n font-size: 16px;\n color: #6c757d;\n}\n\n/* FAB Toggle Button for Quick Access - top-right on desktop */\n.sidebar-fab-toggle {\n position: fixed;\n top: 80px; /* Below shell header with some spacing */\n right: 24px;\n width: 56px;\n height: 56px;\n border: none;\n border-radius: 50%;\n background: #1976d2;\n color: white;\n font-size: 20px;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(25, 118, 210, 0.4);\n transition: all 0.2s ease;\n z-index: 100;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sidebar-fab-toggle:hover {\n background: #1565c0;\n transform: scale(1.05);\n box-shadow: 0 6px 16px rgba(25, 118, 210, 0.5);\n}\n\n.fab-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: #e53935;\n color: white;\n font-size: 11px;\n font-weight: 600;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Loading State */\n.loading-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n gap: 16px;\n color: #6c757d;\n}\n\n.loading-spinner {\n font-size: 32px;\n color: #1976d2;\n}\n\n/* Apps Section */\n.apps-section {\n flex: 0 0 auto;\n}\n\n.section-title {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0 0 24px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n}\n\n.section-title i {\n color: #6c757d;\n}\n\n/* Apps Grid */\n.apps-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 20px;\n}\n\n/* App Card */\n.app-card {\n --app-color: #757575;\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 20px;\n background: white;\n border-radius: 14px;\n border: 1px solid #e9ecef;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n cursor: pointer;\n transition: all 0.25s ease;\n position: relative;\n overflow: hidden;\n}\n\n.app-card::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 4px;\n height: 100%;\n background: var(--app-color);\n opacity: 0;\n transition: opacity 0.25s ease;\n}\n\n.app-card:hover {\n border-color: var(--app-color);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);\n transform: translateY(-3px);\n}\n\n.app-card:hover::before {\n opacity: 1;\n}\n\n/* App Icon */\n.app-icon-wrapper {\n flex-shrink: 0;\n}\n\n.app-icon {\n width: 52px;\n height: 52px;\n border-radius: 12px;\n background: color-mix(in srgb, var(--app-color) 12%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.25s ease;\n}\n\n.app-icon i {\n font-size: 22px;\n color: var(--app-color);\n transition: transform 0.25s ease;\n}\n\n.app-card:hover .app-icon {\n background: var(--app-color);\n}\n\n.app-card:hover .app-icon i {\n color: white;\n transform: scale(1.1);\n}\n\n/* App Info */\n.app-info {\n flex: 1;\n min-width: 0;\n}\n\n.app-name {\n margin: 0 0 4px 0;\n font-size: 17px;\n font-weight: 600;\n color: #212529;\n}\n\n.app-description {\n margin: 0 0 10px 0;\n font-size: 13px;\n color: #6c757d;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n/* Nav Items Preview */\n.nav-preview {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n align-items: center;\n}\n\n.nav-item-chip {\n display: flex;\n align-items: center;\n gap: 5px;\n padding: 3px 8px;\n background: #f8f9fa;\n border-radius: 5px;\n font-size: 11px;\n color: #495057;\n}\n\n.nav-item-chip i {\n font-size: 9px;\n color: #6c757d;\n}\n\n.more-items {\n font-size: 11px;\n color: #6c757d;\n font-style: italic;\n}\n\n/* App Arrow */\n.app-arrow {\n position: absolute;\n right: 14px;\n top: 50%;\n transform: translateY(-50%) translateX(10px);\n opacity: 0;\n transition: all 0.25s ease;\n color: var(--app-color);\n font-size: 16px;\n}\n\n.app-card:hover .app-arrow {\n opacity: 1;\n transform: translateY(-50%) translateX(0);\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 64px 24px;\n background: white;\n border-radius: 16px;\n border: 2px dashed #dee2e6;\n text-align: center;\n}\n\n.empty-icon {\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background: #f8f9fa;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 24px;\n}\n\n.empty-icon i {\n font-size: 32px;\n color: #adb5bd;\n}\n\n.empty-state h3 {\n margin: 0 0 8px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n}\n\n.empty-state p {\n margin: 0 0 20px 0;\n font-size: 14px;\n color: #6c757d;\n max-width: 400px;\n}\n\n.empty-state button i {\n margin-right: 8px;\n}\n\n/* ========================================\n RIGHT SIDEBAR\n ======================================== */\n.quick-access-sidebar {\n position: fixed;\n top: 60px; /* Below shell header */\n right: 0;\n bottom: 0;\n width: 320px;\n background: white;\n border-left: 1px solid #e9ecef;\n display: flex;\n flex-direction: column;\n transform: translateX(100%);\n transition: transform 0.3s ease;\n overflow: hidden;\n z-index: 100;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.08);\n}\n\n.home-dashboard.sidebar-open .quick-access-sidebar {\n transform: translateX(0);\n}\n\n.sidebar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #e9ecef;\n background: #fafbfc;\n}\n\n.sidebar-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #212529;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.sidebar-header h3 i {\n color: #1976d2;\n font-size: 14px;\n}\n\n.sidebar-close-btn {\n width: 32px;\n height: 32px;\n border: none;\n border-radius: 8px;\n background: transparent;\n color: #6c757d;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n}\n\n.sidebar-close-btn:hover {\n background: #f1f3f4;\n color: #212529;\n}\n\n.sidebar-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n}\n\n/* Sidebar Sections */\n.sidebar-section {\n margin-bottom: 20px;\n}\n\n.sidebar-section:last-child {\n margin-bottom: 0;\n}\n\n.sidebar-section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 12px 0;\n font-size: 13px;\n font-weight: 600;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.sidebar-section-title i {\n font-size: 12px;\n}\n\n.notifications-section .sidebar-section-title i {\n color: #f57c00;\n}\n\n.favorites-section .sidebar-section-title i {\n color: #ffc107;\n}\n\n.recents-section .sidebar-section-title i {\n color: #1976d2;\n}\n\n.section-badge {\n background: #e53935;\n color: white;\n font-size: 10px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 8px;\n margin-left: auto;\n}\n\n/* Sidebar Items */\n.sidebar-items {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.sidebar-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 12px;\n background: #f8f9fa;\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.sidebar-item:hover {\n background: #e9ecef;\n transform: translateX(4px);\n}\n\n.sidebar-item-icon {\n width: 36px;\n height: 36px;\n border-radius: 8px;\n background: white;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.sidebar-item-icon i {\n font-size: 14px;\n color: #6c757d;\n}\n\n.notification-item .sidebar-item-icon {\n background: #fff3e0;\n}\n\n.notification-item .sidebar-item-icon i {\n color: #f57c00;\n}\n\n.favorite-item .sidebar-item-icon {\n background: #fff8e1;\n}\n\n.favorite-item .sidebar-item-icon i {\n color: #f9a825;\n}\n\n.recent-item .sidebar-item-icon {\n background: #e3f2fd;\n}\n\n.recent-item .sidebar-item-icon i {\n color: #1976d2;\n}\n\n.sidebar-item-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n flex: 1;\n}\n\n.sidebar-item-title {\n font-size: 13px;\n font-weight: 500;\n color: #212529;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sidebar-item-subtitle {\n font-size: 11px;\n color: #6c757d;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sidebar-loading {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #6c757d;\n font-size: 13px;\n padding: 8px 0;\n}\n\n.sidebar-loading i {\n color: #1976d2;\n}\n\n.sidebar-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n color: #adb5bd;\n}\n\n.sidebar-empty i {\n font-size: 32px;\n margin-bottom: 12px;\n}\n\n.sidebar-empty p {\n margin: 0;\n font-size: 13px;\n}\n\n\n/* ========================================\n RESPONSIVE DESIGN\n ======================================== */\n\n/* Tablet and smaller desktop */\n@media (max-width: 1200px) {\n .quick-access-sidebar {\n width: 280px;\n }\n\n .home-dashboard.sidebar-open .main-content {\n margin-right: 280px;\n }\n\n .apps-grid {\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n }\n}\n\n/* Tablet */\n@media (max-width: 992px) {\n .main-content {\n padding: 24px;\n }\n\n .greeting-section h1 {\n font-size: 28px;\n }\n\n /* Make sidebar an overlay on tablet */\n .quick-access-sidebar {\n position: fixed;\n top: 60px; /* Below shell header */\n right: 0;\n bottom: 0;\n width: 320px;\n z-index: 1000;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n }\n\n .home-dashboard.sidebar-open .main-content {\n margin-right: 0;\n }\n\n /* Show backdrop when sidebar is open on tablet */\n .home-dashboard.sidebar-open::after {\n content: '';\n position: fixed;\n top: 60px;\n left: 0;\n right: 320px;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n z-index: 999;\n }\n}\n\n/* Mobile */\n@media (max-width: 768px) {\n .home-dashboard {\n height: auto;\n min-height: 100%;\n overflow: visible;\n }\n\n .main-content {\n padding: 20px;\n padding-bottom: 100px; /* Space for FAB button */\n overflow: visible;\n }\n\n .home-header {\n flex-direction: column;\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .greeting-section h1 {\n font-size: 24px;\n }\n\n /* Full-width sidebar on mobile - positioned below top nav */\n .quick-access-sidebar {\n position: fixed;\n top: 60px; /* Below the shell header */\n right: 0;\n bottom: 0;\n width: 100%;\n max-width: 100%;\n z-index: 100; /* Below shell header */\n border-left: none;\n border-top: 1px solid #e9ecef;\n }\n\n /* Add backdrop on mobile when sidebar is open */\n .home-dashboard.sidebar-open::before {\n content: '';\n position: fixed;\n top: 60px;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 99;\n }\n\n /* No ::after backdrop needed on mobile */\n .home-dashboard.sidebar-open::after {\n display: none;\n }\n\n .apps-grid {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n .app-card {\n padding: 16px;\n }\n\n .app-icon {\n width: 44px;\n height: 44px;\n }\n\n .app-icon i {\n font-size: 18px;\n }\n\n .app-name {\n font-size: 15px;\n }\n\n .nav-preview {\n display: none;\n }\n\n /* Move FAB to bottom-right on mobile */\n .sidebar-fab-toggle {\n top: auto;\n bottom: 20px;\n right: 20px;\n width: 48px;\n height: 48px;\n font-size: 18px;\n }\n}\n\n@media (max-width: 480px) {\n .main-content {\n padding: 16px;\n padding-bottom: 80px;\n }\n\n .greeting-section h1 {\n font-size: 20px;\n }\n\n .greeting-section .date {\n font-size: 14px;\n }\n\n .section-title {\n font-size: 16px;\n margin-bottom: 16px;\n }\n\n .sidebar-fab-toggle {\n bottom: 16px;\n right: 16px;\n width: 44px;\n height: 44px;\n font-size: 16px;\n }\n}\n"] }]
705
+ args: [{ standalone: false, selector: 'mj-home-dashboard', template: "<div class=\"home-dashboard\" [class.sidebar-open]=\"sidebarOpen && hasSidebarContent\">\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Header Section -->\n <div class=\"home-header\">\n <div class=\"greeting-section\">\n <h1>{{ greeting }}, {{ currentUser?.Name }}</h1>\n <p class=\"date\">{{ formattedDate }}</p>\n </div>\n </div>\n\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading your applications...\" size=\"large\"></mj-loading>\n </div>\n }\n\n <!-- Apps Grid -->\n @if (!isLoading) {\n <div class=\"apps-section\">\n <h2 class=\"section-title\">\n <i class=\"fa-solid fa-grid-2\"></i>\n Your Applications\n </h2>\n <div class=\"apps-grid\">\n @for (app of apps; track app) {\n <div\n class=\"app-card\"\n [style.--app-color]=\"app.GetColor()\"\n (click)=\"onAppClick(app)\">\n <!-- App Icon -->\n <div class=\"app-icon-wrapper\">\n <div class=\"app-icon\">\n <i [class]=\"app.Icon || 'fa-solid fa-cube'\"></i>\n </div>\n </div>\n <!-- App Info -->\n <div class=\"app-info\">\n <h3 class=\"app-name\">{{ app.Name }}</h3>\n @if (app.Description) {\n <p class=\"app-description\">{{ app.Description }}</p>\n }\n <!-- Nav Items Preview -->\n @if (getNavItemsCount(app) > 0) {\n <div class=\"nav-preview\">\n @for (item of getNavItemsPreview(app); track item) {\n <div class=\"nav-item-chip\">\n <i [class]=\"item.Icon\"></i>\n <span>{{ item.Label }}</span>\n </div>\n }\n @if (getNavItemsCount(app) > 3) {\n <span class=\"more-items\">\n +{{ getNavItemsCount(app) - 3 }} more\n </span>\n }\n </div>\n }\n </div>\n <!-- Hover Arrow -->\n <div class=\"app-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n }\n </div>\n <!-- Empty State -->\n @if (apps.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </div>\n <h3>No Applications Available</h3>\n <p>You don't have any applications configured yet.</p>\n <button kendoButton\n themeColor=\"primary\"\n (click)=\"openConfigDialog()\">\n <i class=\"fa-solid fa-gear\"></i>\n Configure Applications\n </button>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Collapsible Right Sidebar -->\n @if (hasSidebarContent) {\n <div class=\"quick-access-sidebar\">\n <div class=\"sidebar-header\">\n <h3>\n <i class=\"fa-solid fa-bolt\"></i>\n Quick Access\n </h3>\n <button class=\"sidebar-close-btn\" (click)=\"toggleSidebar()\" title=\"Close panel\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"sidebar-content\">\n <!-- Unread Notifications Section -->\n @if (unreadNotifications.length > 0) {\n <div class=\"sidebar-section notifications-section\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-bell\"></i>\n Notifications\n <span class=\"section-badge\">{{ unreadNotifications.length }}</span>\n </h4>\n <div class=\"sidebar-items\">\n @for (notification of unreadNotifications; track notification) {\n <div\n class=\"sidebar-item notification-item\"\n (click)=\"onNotificationClick(notification)\">\n <div class=\"sidebar-item-icon\">\n <i class=\"fa-solid fa-bell\"></i>\n </div>\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ notification.Title }}</span>\n <span class=\"sidebar-item-subtitle\">{{ notification.Message | slice:0:40 }}{{ (notification.Message?.length || 0) > 40 ? '...' : '' }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <!-- Favorites Section -->\n @if (favorites.length > 0 || favoritesLoading) {\n <div class=\"sidebar-section favorites-section\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-star\"></i>\n Favorites\n </h4>\n @if (!favoritesLoading) {\n <div class=\"sidebar-items\">\n @for (favorite of favorites; track favorite) {\n <div\n class=\"sidebar-item favorite-item\"\n (click)=\"onFavoriteClick(favorite)\">\n <div class=\"sidebar-item-icon\">\n <i [class]=\"getFavoriteIcon(favorite)\"></i>\n </div>\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ favorite.RecordID }}</span>\n <span class=\"sidebar-item-subtitle\">{{ favorite.Entity }}</span>\n </div>\n </div>\n }\n </div>\n }\n @if (favoritesLoading) {\n <div class=\"sidebar-loading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading...</span>\n </div>\n }\n </div>\n }\n <!-- Recents Section -->\n @if (recentItems.length > 0 || recentsLoading) {\n <div class=\"sidebar-section recents-section\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Recent\n </h4>\n @if (!recentsLoading) {\n <div class=\"sidebar-items\">\n @for (item of recentItems; track item) {\n <div\n class=\"sidebar-item recent-item\"\n (click)=\"onRecentClick(item)\">\n <div class=\"sidebar-item-icon\">\n <i [class]=\"getResourceIcon(item.resourceType)\"></i>\n </div>\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ item.recordName || item.recordId }}</span>\n <span class=\"sidebar-item-subtitle\">{{ item.entityName }} \u00B7 {{ formatDate(item.latestAt) }}</span>\n </div>\n </div>\n }\n </div>\n }\n @if (recentsLoading) {\n <div class=\"sidebar-loading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading...</span>\n </div>\n }\n </div>\n }\n <!-- Empty sidebar state -->\n @if (!favoritesLoading && !recentsLoading && unreadNotifications.length === 0 && favorites.length === 0 && recentItems.length === 0) {\n <div class=\"sidebar-empty\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No quick access items</p>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Quick Access FAB Toggle (Fixed Button) -->\n @if (hasSidebarContent && !sidebarOpen) {\n <button class=\"sidebar-fab-toggle\"\n (click)=\"toggleSidebar()\"\n title=\"Quick Access\">\n <i class=\"fa-solid fa-bolt\"></i>\n @if (unreadNotifications.length > 0) {\n <span class=\"fab-badge\">{{ unreadNotifications.length }}</span>\n }\n </button>\n }\n\n <!-- App Configuration Dialog -->\n <mj-user-app-config\n #appConfigDialog\n [(showDialog)]=\"showConfigDialog\"\n (configSaved)=\"onConfigSaved()\">\n </mj-user-app-config>\n</div>\n", styles: [".home-dashboard {\n display: flex;\n height: 100%;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n overflow: hidden;\n position: relative;\n}\n\n/* Main Content Area */\n.main-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 32px;\n overflow-y: auto;\n transition: margin-right 0.3s ease;\n}\n\n/* Sidebar open state adjusts main content on desktop */\n.home-dashboard.sidebar-open .main-content {\n margin-right: 320px;\n}\n\n/* Header */\n.home-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 32px;\n}\n\n.greeting-section h1 {\n margin: 0 0 8px 0;\n font-size: 32px;\n font-weight: 600;\n color: #212529;\n}\n\n.greeting-section .date {\n margin: 0;\n font-size: 16px;\n color: #6c757d;\n}\n\n/* FAB Toggle Button for Quick Access - top-right on desktop */\n.sidebar-fab-toggle {\n position: fixed;\n top: 80px; /* Below shell header with some spacing */\n right: 24px;\n width: 56px;\n height: 56px;\n border: none;\n border-radius: 50%;\n background: #1976d2;\n color: white;\n font-size: 20px;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(25, 118, 210, 0.4);\n transition: all 0.2s ease;\n z-index: 100;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.sidebar-fab-toggle:hover {\n background: #1565c0;\n transform: scale(1.05);\n box-shadow: 0 6px 16px rgba(25, 118, 210, 0.5);\n}\n\n.fab-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: #e53935;\n color: white;\n font-size: 11px;\n font-weight: 600;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Loading State */\n.loading-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n gap: 16px;\n color: #6c757d;\n}\n\n.loading-spinner {\n font-size: 32px;\n color: #1976d2;\n}\n\n/* Apps Section */\n.apps-section {\n flex: 0 0 auto;\n}\n\n.section-title {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 0 0 24px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n}\n\n.section-title i {\n color: #6c757d;\n}\n\n/* Apps Grid */\n.apps-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 20px;\n}\n\n/* App Card */\n.app-card {\n --app-color: #757575;\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 20px;\n background: white;\n border-radius: 14px;\n border: 1px solid #e9ecef;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n cursor: pointer;\n transition: all 0.25s ease;\n position: relative;\n overflow: hidden;\n}\n\n.app-card::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 4px;\n height: 100%;\n background: var(--app-color);\n opacity: 0;\n transition: opacity 0.25s ease;\n}\n\n.app-card:hover {\n border-color: var(--app-color);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);\n transform: translateY(-3px);\n}\n\n.app-card:hover::before {\n opacity: 1;\n}\n\n/* App Icon */\n.app-icon-wrapper {\n flex-shrink: 0;\n}\n\n.app-icon {\n width: 52px;\n height: 52px;\n border-radius: 12px;\n background: color-mix(in srgb, var(--app-color) 12%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.25s ease;\n}\n\n.app-icon i {\n font-size: 22px;\n color: var(--app-color);\n transition: transform 0.25s ease;\n}\n\n.app-card:hover .app-icon {\n background: var(--app-color);\n}\n\n.app-card:hover .app-icon i {\n color: white;\n transform: scale(1.1);\n}\n\n/* App Info */\n.app-info {\n flex: 1;\n min-width: 0;\n}\n\n.app-name {\n margin: 0 0 4px 0;\n font-size: 17px;\n font-weight: 600;\n color: #212529;\n}\n\n.app-description {\n margin: 0 0 10px 0;\n font-size: 13px;\n color: #6c757d;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n/* Nav Items Preview */\n.nav-preview {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n align-items: center;\n}\n\n.nav-item-chip {\n display: flex;\n align-items: center;\n gap: 5px;\n padding: 3px 8px;\n background: #f8f9fa;\n border-radius: 5px;\n font-size: 11px;\n color: #495057;\n}\n\n.nav-item-chip i {\n font-size: 9px;\n color: #6c757d;\n}\n\n.more-items {\n font-size: 11px;\n color: #6c757d;\n font-style: italic;\n}\n\n/* App Arrow */\n.app-arrow {\n position: absolute;\n right: 14px;\n top: 50%;\n transform: translateY(-50%) translateX(10px);\n opacity: 0;\n transition: all 0.25s ease;\n color: var(--app-color);\n font-size: 16px;\n}\n\n.app-card:hover .app-arrow {\n opacity: 1;\n transform: translateY(-50%) translateX(0);\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 64px 24px;\n background: white;\n border-radius: 16px;\n border: 2px dashed #dee2e6;\n text-align: center;\n}\n\n.empty-icon {\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background: #f8f9fa;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 24px;\n}\n\n.empty-icon i {\n font-size: 32px;\n color: #adb5bd;\n}\n\n.empty-state h3 {\n margin: 0 0 8px 0;\n font-size: 20px;\n font-weight: 600;\n color: #495057;\n}\n\n.empty-state p {\n margin: 0 0 20px 0;\n font-size: 14px;\n color: #6c757d;\n max-width: 400px;\n}\n\n.empty-state button i {\n margin-right: 8px;\n}\n\n/* ========================================\n RIGHT SIDEBAR\n ======================================== */\n.quick-access-sidebar {\n position: fixed;\n top: 60px; /* Below shell header */\n right: 0;\n bottom: 0;\n width: 320px;\n background: white;\n border-left: 1px solid #e9ecef;\n display: flex;\n flex-direction: column;\n transform: translateX(100%);\n transition: transform 0.3s ease;\n overflow: hidden;\n z-index: 100;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.08);\n}\n\n.home-dashboard.sidebar-open .quick-access-sidebar {\n transform: translateX(0);\n}\n\n.sidebar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #e9ecef;\n background: #fafbfc;\n}\n\n.sidebar-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #212529;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.sidebar-header h3 i {\n color: #1976d2;\n font-size: 14px;\n}\n\n.sidebar-close-btn {\n width: 32px;\n height: 32px;\n border: none;\n border-radius: 8px;\n background: transparent;\n color: #6c757d;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n}\n\n.sidebar-close-btn:hover {\n background: #f1f3f4;\n color: #212529;\n}\n\n.sidebar-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n}\n\n/* Sidebar Sections */\n.sidebar-section {\n margin-bottom: 20px;\n}\n\n.sidebar-section:last-child {\n margin-bottom: 0;\n}\n\n.sidebar-section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 12px 0;\n font-size: 13px;\n font-weight: 600;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.sidebar-section-title i {\n font-size: 12px;\n}\n\n.notifications-section .sidebar-section-title i {\n color: #f57c00;\n}\n\n.favorites-section .sidebar-section-title i {\n color: #ffc107;\n}\n\n.recents-section .sidebar-section-title i {\n color: #1976d2;\n}\n\n.section-badge {\n background: #e53935;\n color: white;\n font-size: 10px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 8px;\n margin-left: auto;\n}\n\n/* Sidebar Items */\n.sidebar-items {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.sidebar-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 12px;\n background: #f8f9fa;\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.sidebar-item:hover {\n background: #e9ecef;\n transform: translateX(4px);\n}\n\n.sidebar-item-icon {\n width: 36px;\n height: 36px;\n border-radius: 8px;\n background: white;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.sidebar-item-icon i {\n font-size: 14px;\n color: #6c757d;\n}\n\n.notification-item .sidebar-item-icon {\n background: #fff3e0;\n}\n\n.notification-item .sidebar-item-icon i {\n color: #f57c00;\n}\n\n.favorite-item .sidebar-item-icon {\n background: #fff8e1;\n}\n\n.favorite-item .sidebar-item-icon i {\n color: #f9a825;\n}\n\n.recent-item .sidebar-item-icon {\n background: #e3f2fd;\n}\n\n.recent-item .sidebar-item-icon i {\n color: #1976d2;\n}\n\n.sidebar-item-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n flex: 1;\n}\n\n.sidebar-item-title {\n font-size: 13px;\n font-weight: 500;\n color: #212529;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sidebar-item-subtitle {\n font-size: 11px;\n color: #6c757d;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sidebar-loading {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #6c757d;\n font-size: 13px;\n padding: 8px 0;\n}\n\n.sidebar-loading i {\n color: #1976d2;\n}\n\n.sidebar-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n color: #adb5bd;\n}\n\n.sidebar-empty i {\n font-size: 32px;\n margin-bottom: 12px;\n}\n\n.sidebar-empty p {\n margin: 0;\n font-size: 13px;\n}\n\n\n/* ========================================\n RESPONSIVE DESIGN\n ======================================== */\n\n/* Tablet and smaller desktop */\n@media (max-width: 1200px) {\n .quick-access-sidebar {\n width: 280px;\n }\n\n .home-dashboard.sidebar-open .main-content {\n margin-right: 280px;\n }\n\n .apps-grid {\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n }\n}\n\n/* Tablet */\n@media (max-width: 992px) {\n .main-content {\n padding: 24px;\n }\n\n .greeting-section h1 {\n font-size: 28px;\n }\n\n /* Make sidebar an overlay on tablet */\n .quick-access-sidebar {\n position: fixed;\n top: 60px; /* Below shell header */\n right: 0;\n bottom: 0;\n width: 320px;\n z-index: 1000;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n }\n\n .home-dashboard.sidebar-open .main-content {\n margin-right: 0;\n }\n\n /* Show backdrop when sidebar is open on tablet */\n .home-dashboard.sidebar-open::after {\n content: '';\n position: fixed;\n top: 60px;\n left: 0;\n right: 320px;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n z-index: 999;\n }\n}\n\n/* Mobile */\n@media (max-width: 768px) {\n .home-dashboard {\n height: auto;\n min-height: 100%;\n overflow: visible;\n }\n\n .main-content {\n padding: 20px;\n padding-bottom: 100px; /* Space for FAB button */\n overflow: visible;\n }\n\n .home-header {\n flex-direction: column;\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .greeting-section h1 {\n font-size: 24px;\n }\n\n /* Full-width sidebar on mobile - positioned below top nav */\n .quick-access-sidebar {\n position: fixed;\n top: 60px; /* Below the shell header */\n right: 0;\n bottom: 0;\n width: 100%;\n max-width: 100%;\n z-index: 100; /* Below shell header */\n border-left: none;\n border-top: 1px solid #e9ecef;\n }\n\n /* Add backdrop on mobile when sidebar is open */\n .home-dashboard.sidebar-open::before {\n content: '';\n position: fixed;\n top: 60px;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 99;\n }\n\n /* No ::after backdrop needed on mobile */\n .home-dashboard.sidebar-open::after {\n display: none;\n }\n\n .apps-grid {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n .app-card {\n padding: 16px;\n }\n\n .app-icon {\n width: 44px;\n height: 44px;\n }\n\n .app-icon i {\n font-size: 18px;\n }\n\n .app-name {\n font-size: 15px;\n }\n\n .nav-preview {\n display: none;\n }\n\n /* Move FAB to bottom-right on mobile */\n .sidebar-fab-toggle {\n top: auto;\n bottom: 20px;\n right: 20px;\n width: 48px;\n height: 48px;\n font-size: 18px;\n }\n}\n\n@media (max-width: 480px) {\n .main-content {\n padding: 16px;\n padding-bottom: 80px;\n }\n\n .greeting-section h1 {\n font-size: 20px;\n }\n\n .greeting-section .date {\n font-size: 14px;\n }\n\n .section-title {\n font-size: 16px;\n margin-bottom: 16px;\n }\n\n .sidebar-fab-toggle {\n bottom: 16px;\n right: 16px;\n width: 44px;\n height: 44px;\n font-size: 16px;\n }\n}\n"] }]
697
706
  }], () => [{ type: i1.ApplicationManager }, { type: i2.NavigationService }, { type: i2.RecentAccessService }, { type: i0.ChangeDetectorRef }], { appConfigDialog: [{
698
707
  type: ViewChild,
699
708
  args: ['appConfigDialog']
700
709
  }] }); })();
701
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HomeDashboardComponent, { className: "HomeDashboardComponent", filePath: "src/Home/home-dashboard.component.ts", lineNumber: 25 }); })();
702
- /**
703
- * Tree-shaking prevention
704
- */
705
- export function LoadHomeDashboard() {
706
- // Reference the component to prevent tree-shaking
707
- console.log('HomeDashboardComponent registered:', HomeDashboardComponent.name);
708
- }
710
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HomeDashboardComponent, { className: "HomeDashboardComponent", filePath: "src/home/home-dashboard.component.ts", lineNumber: 26 }); })();
709
711
  //# sourceMappingURL=home-dashboard.component.js.map