@memberjunction/ng-dashboards 3.4.0 → 4.1.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 (458) hide show
  1. package/README.md +102 -339
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts +12 -5
  3. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  4. package/dist/AI/components/agents/agent-configuration.component.js +103 -44
  5. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  6. package/dist/AI/components/agents/agent-editor.component.d.ts +14 -5
  7. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
  8. package/dist/AI/components/agents/agent-editor.component.js +149 -211
  9. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  10. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
  11. package/dist/AI/components/agents/agent-filter-panel.component.js +4 -4
  12. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  13. package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -1
  14. package/dist/AI/components/charts/performance-heatmap.component.js +4 -6
  15. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  16. package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -1
  17. package/dist/AI/components/charts/time-series-chart.component.js +6 -7
  18. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  19. package/dist/AI/components/execution-monitoring.component.d.ts +0 -4
  20. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  21. package/dist/AI/components/execution-monitoring.component.js +33 -37
  22. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  23. package/dist/AI/components/models/model-management.component.d.ts +3 -6
  24. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  25. package/dist/AI/components/models/model-management.component.js +34 -27
  26. package/dist/AI/components/models/model-management.component.js.map +1 -1
  27. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  28. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +22 -17
  29. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  30. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +1 -1
  31. package/dist/AI/components/prompts/prompt-filter-panel.component.js +4 -4
  32. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  33. package/dist/AI/components/prompts/prompt-management.component.d.ts +3 -6
  34. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  35. package/dist/AI/components/prompts/prompt-management.component.js +34 -32
  36. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  37. package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
  38. package/dist/AI/components/prompts/prompt-version-control.component.js +33 -28
  39. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  40. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +1 -1
  41. package/dist/AI/components/system/system-config-filter-panel.component.js +4 -4
  42. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  43. package/dist/AI/components/system/system-configuration.component.d.ts +0 -4
  44. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  45. package/dist/AI/components/system/system-configuration.component.js +26 -27
  46. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  47. package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -1
  48. package/dist/AI/components/widgets/kpi-card.component.js +52 -42
  49. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  50. package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -1
  51. package/dist/AI/components/widgets/live-execution-widget.component.js +7 -7
  52. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  53. package/dist/APIKeys/api-applications-panel.component.d.ts +0 -2
  54. package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
  55. package/dist/APIKeys/api-applications-panel.component.js +193 -189
  56. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  57. package/dist/APIKeys/api-key-create-dialog.component.d.ts +0 -2
  58. package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
  59. package/dist/APIKeys/api-key-create-dialog.component.js +175 -180
  60. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  61. package/dist/APIKeys/api-key-edit-panel.component.d.ts +0 -2
  62. package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
  63. package/dist/APIKeys/api-key-edit-panel.component.js +231 -225
  64. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  65. package/dist/APIKeys/api-key-list.component.d.ts +0 -2
  66. package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
  67. package/dist/APIKeys/api-key-list.component.js +113 -114
  68. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  69. package/dist/APIKeys/api-keys-resource.component.d.ts +0 -2
  70. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  71. package/dist/APIKeys/api-keys-resource.component.js +294 -302
  72. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  73. package/dist/APIKeys/api-scopes-panel.component.d.ts +0 -2
  74. package/dist/APIKeys/api-scopes-panel.component.d.ts.map +1 -1
  75. package/dist/APIKeys/api-scopes-panel.component.js +151 -155
  76. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  77. package/dist/APIKeys/api-usage-panel.component.d.ts +0 -2
  78. package/dist/APIKeys/api-usage-panel.component.d.ts.map +1 -1
  79. package/dist/APIKeys/api-usage-panel.component.js +237 -234
  80. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  81. package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -1
  82. package/dist/Actions/components/actions-list-view.component.js +15 -14
  83. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  84. package/dist/Actions/components/actions-overview.component.d.ts +3 -6
  85. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  86. package/dist/Actions/components/actions-overview.component.js +17 -19
  87. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  88. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
  89. package/dist/Actions/components/categories-list-view.component.js +6 -6
  90. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  91. package/dist/Actions/components/code-management.component.d.ts +0 -4
  92. package/dist/Actions/components/code-management.component.d.ts.map +1 -1
  93. package/dist/Actions/components/code-management.component.js +3 -9
  94. package/dist/Actions/components/code-management.component.js.map +1 -1
  95. package/dist/Actions/components/entity-integration.component.d.ts +0 -4
  96. package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
  97. package/dist/Actions/components/entity-integration.component.js +3 -9
  98. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  99. package/dist/Actions/components/execution-monitoring.component.d.ts +3 -6
  100. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  101. package/dist/Actions/components/execution-monitoring.component.js +13 -16
  102. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  103. package/dist/Actions/components/executions-list-view.component.d.ts.map +1 -1
  104. package/dist/Actions/components/executions-list-view.component.js +3 -3
  105. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  106. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -1
  107. package/dist/Actions/components/explorer/action-breadcrumb.component.js +6 -6
  108. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -1
  109. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
  110. package/dist/Actions/components/explorer/action-card.component.js +11 -10
  111. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  112. package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -4
  113. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  114. package/dist/Actions/components/explorer/action-explorer.component.js +10 -14
  115. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  116. package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -1
  117. package/dist/Actions/components/explorer/action-list-item.component.js +8 -8
  118. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
  119. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -1
  120. package/dist/Actions/components/explorer/action-toolbar.component.js +15 -14
  121. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
  122. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -1
  123. package/dist/Actions/components/explorer/action-tree-panel.component.js +11 -10
  124. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
  125. package/dist/Actions/components/explorer/index.d.ts +0 -1
  126. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  127. package/dist/Actions/components/explorer/index.js +0 -4
  128. package/dist/Actions/components/explorer/index.js.map +1 -1
  129. package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -1
  130. package/dist/Actions/components/explorer/new-action-panel.component.js +10 -10
  131. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  132. package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -1
  133. package/dist/Actions/components/explorer/new-category-panel.component.js +8 -8
  134. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  135. package/dist/Actions/components/scheduled-actions.component.d.ts +0 -4
  136. package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
  137. package/dist/Actions/components/scheduled-actions.component.js +3 -9
  138. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  139. package/dist/Actions/components/security-permissions.component.d.ts +0 -4
  140. package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
  141. package/dist/Actions/components/security-permissions.component.js +3 -9
  142. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  143. package/dist/Actions/index.d.ts +0 -7
  144. package/dist/Actions/index.d.ts.map +1 -1
  145. package/dist/Actions/index.js +0 -8
  146. package/dist/Actions/index.js.map +1 -1
  147. package/dist/Communication/communication-dashboard.component.d.ts +0 -1
  148. package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
  149. package/dist/Communication/communication-dashboard.component.js +38 -51
  150. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  151. package/dist/Communication/communication-logs-resource.component.d.ts +0 -4
  152. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  153. package/dist/Communication/communication-logs-resource.component.js +112 -108
  154. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  155. package/dist/Communication/communication-monitor-resource.component.d.ts +0 -4
  156. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  157. package/dist/Communication/communication-monitor-resource.component.js +210 -201
  158. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  159. package/dist/Communication/communication-providers-resource.component.d.ts +0 -4
  160. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  161. package/dist/Communication/communication-providers-resource.component.js +136 -124
  162. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  163. package/dist/Communication/communication-runs-resource.component.d.ts +0 -4
  164. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  165. package/dist/Communication/communication-runs-resource.component.js +91 -88
  166. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  167. package/dist/Communication/communication-templates-resource.component.d.ts +0 -4
  168. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  169. package/dist/Communication/communication-templates-resource.component.js +139 -122
  170. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  171. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +0 -4
  172. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  173. package/dist/ComponentStudio/component-studio-dashboard.component.js +21 -20
  174. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  175. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
  176. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +11 -12
  177. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  178. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
  179. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +25 -22
  180. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  181. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  182. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +16 -16
  183. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  184. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -1
  185. package/dist/ComponentStudio/components/browser/component-browser.component.js +23 -21
  186. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
  187. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -1
  188. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +10 -10
  189. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  190. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -1
  191. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +13 -13
  192. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  193. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -1
  194. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +7 -7
  195. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  196. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -1
  197. package/dist/ComponentStudio/components/editors/spec-editor.component.js +5 -5
  198. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  199. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -1
  200. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +4 -4
  201. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
  202. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -1
  203. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +9 -9
  204. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  205. package/dist/ComponentStudio/components/text-import-dialog.component.d.ts.map +1 -1
  206. package/dist/ComponentStudio/components/text-import-dialog.component.js +4 -4
  207. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  208. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -1
  209. package/dist/ComponentStudio/components/workspace/component-preview.component.js +10 -9
  210. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
  211. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -1
  212. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +4 -4
  213. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
  214. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +0 -1
  215. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  216. package/dist/Credentials/components/credentials-audit-resource.component.js +200 -196
  217. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  218. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +0 -1
  219. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  220. package/dist/Credentials/components/credentials-categories-resource.component.js +195 -190
  221. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  222. package/dist/Credentials/components/credentials-list-resource.component.d.ts +0 -1
  223. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  224. package/dist/Credentials/components/credentials-list-resource.component.js +251 -240
  225. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  226. package/dist/Credentials/components/credentials-overview-resource.component.d.ts +0 -1
  227. package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
  228. package/dist/Credentials/components/credentials-overview-resource.component.js +228 -226
  229. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  230. package/dist/Credentials/components/credentials-types-resource.component.d.ts +0 -1
  231. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  232. package/dist/Credentials/components/credentials-types-resource.component.js +214 -210
  233. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  234. package/dist/Credentials/credentials-dashboard.component.d.ts +0 -1
  235. package/dist/Credentials/credentials-dashboard.component.d.ts.map +1 -1
  236. package/dist/Credentials/credentials-dashboard.component.js +31 -44
  237. package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
  238. package/dist/Credentials/pipes/group-by.pipe.d.ts.map +1 -1
  239. package/dist/Credentials/pipes/group-by.pipe.js +2 -1
  240. package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
  241. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +0 -1
  242. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
  243. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +73 -80
  244. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  245. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts.map +1 -1
  246. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +46 -45
  247. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  248. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +1 -1
  249. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +7 -7
  250. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
  251. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
  252. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +15 -15
  253. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
  254. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -1
  255. package/dist/DataExplorer/components/view-selector/view-selector.component.js +17 -11
  256. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
  257. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +2 -4
  258. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  259. package/dist/DataExplorer/data-explorer-dashboard.component.js +83 -64
  260. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  261. package/dist/DataExplorer/data-explorer-resource.component.d.ts +0 -1
  262. package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
  263. package/dist/DataExplorer/data-explorer-resource.component.js +3 -6
  264. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
  265. package/dist/DataExplorer/index.d.ts +2 -2
  266. package/dist/DataExplorer/index.d.ts.map +1 -1
  267. package/dist/DataExplorer/index.js +2 -2
  268. package/dist/DataExplorer/index.js.map +1 -1
  269. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +0 -1
  270. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  271. package/dist/EntityAdmin/entity-admin-dashboard.component.js +6 -7
  272. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  273. package/dist/Home/home-application.d.ts +109 -27
  274. package/dist/Home/home-application.d.ts.map +1 -1
  275. package/dist/Home/home-application.js +351 -75
  276. package/dist/Home/home-application.js.map +1 -1
  277. package/dist/Home/home-dashboard.component.d.ts +48 -12
  278. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  279. package/dist/Home/home-dashboard.component.js +267 -187
  280. package/dist/Home/home-dashboard.component.js.map +1 -1
  281. package/dist/Lists/components/lists-browse-resource.component.d.ts +0 -1
  282. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  283. package/dist/Lists/components/lists-browse-resource.component.js +761 -685
  284. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  285. package/dist/Lists/components/lists-categories-resource.component.d.ts +0 -1
  286. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  287. package/dist/Lists/components/lists-categories-resource.component.js +340 -316
  288. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  289. package/dist/Lists/components/lists-my-lists-resource.component.d.ts +0 -1
  290. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  291. package/dist/Lists/components/lists-my-lists-resource.component.js +530 -482
  292. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  293. package/dist/Lists/components/lists-operations-resource.component.d.ts +0 -1
  294. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  295. package/dist/Lists/components/lists-operations-resource.component.js +508 -455
  296. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  297. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  298. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +44 -39
  299. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  300. package/dist/Lists/index.d.ts +0 -1
  301. package/dist/Lists/index.d.ts.map +1 -1
  302. package/dist/Lists/index.js +0 -11
  303. package/dist/Lists/index.js.map +1 -1
  304. package/dist/MCP/components/mcp-connection-dialog.component.d.ts +0 -4
  305. package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -1
  306. package/dist/MCP/components/mcp-connection-dialog.component.js +33 -39
  307. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
  308. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +0 -4
  309. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -1
  310. package/dist/MCP/components/mcp-log-detail-panel.component.js +42 -44
  311. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  312. package/dist/MCP/components/mcp-server-dialog.component.d.ts +3 -4
  313. package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -1
  314. package/dist/MCP/components/mcp-server-dialog.component.js +186 -77
  315. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
  316. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +0 -4
  317. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -1
  318. package/dist/MCP/components/mcp-test-tool-dialog.component.js +187 -187
  319. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  320. package/dist/MCP/index.d.ts +5 -5
  321. package/dist/MCP/index.d.ts.map +1 -1
  322. package/dist/MCP/index.js +5 -5
  323. package/dist/MCP/index.js.map +1 -1
  324. package/dist/MCP/mcp-dashboard.component.d.ts +65 -7
  325. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  326. package/dist/MCP/mcp-dashboard.component.js +976 -697
  327. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  328. package/dist/MCP/mcp-filter-panel.component.d.ts +54 -0
  329. package/dist/MCP/mcp-filter-panel.component.d.ts.map +1 -0
  330. package/dist/MCP/mcp-filter-panel.component.js +288 -0
  331. package/dist/MCP/mcp-filter-panel.component.js.map +1 -0
  332. package/dist/MCP/mcp-resource.component.d.ts +11 -5
  333. package/dist/MCP/mcp-resource.component.d.ts.map +1 -1
  334. package/dist/MCP/mcp-resource.component.js +8 -9
  335. package/dist/MCP/mcp-resource.component.js.map +1 -1
  336. package/dist/MCP/mcp.module.d.ts +16 -19
  337. package/dist/MCP/mcp.module.d.ts.map +1 -1
  338. package/dist/MCP/mcp.module.js +17 -26
  339. package/dist/MCP/mcp.module.js.map +1 -1
  340. package/dist/MCP/services/mcp-tools.service.d.ts +10 -4
  341. package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -1
  342. package/dist/MCP/services/mcp-tools.service.js +5 -6
  343. package/dist/MCP/services/mcp-tools.service.js.map +1 -1
  344. package/dist/QueryBrowser/query-browser-resource.component.d.ts +0 -1
  345. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  346. package/dist/QueryBrowser/query-browser-resource.component.js +79 -88
  347. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  348. package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -1
  349. package/dist/Scheduling/components/job-slideout.component.js +117 -116
  350. package/dist/Scheduling/components/job-slideout.component.js.map +1 -1
  351. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +0 -4
  352. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  353. package/dist/Scheduling/components/scheduling-activity-resource.component.js +3 -9
  354. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  355. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  356. package/dist/Scheduling/components/scheduling-activity.component.js +134 -134
  357. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  358. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +0 -4
  359. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  360. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +3 -9
  361. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  362. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  363. package/dist/Scheduling/components/scheduling-jobs.component.js +102 -97
  364. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  365. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +0 -4
  366. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  367. package/dist/Scheduling/components/scheduling-overview-resource.component.js +3 -9
  368. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  369. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  370. package/dist/Scheduling/components/scheduling-overview.component.js +127 -122
  371. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  372. package/dist/Scheduling/scheduling-dashboard.component.d.ts +0 -1
  373. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  374. package/dist/Scheduling/scheduling-dashboard.component.js +35 -43
  375. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  376. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +0 -4
  377. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  378. package/dist/SystemDiagnostics/system-diagnostics.component.js +1552 -1534
  379. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  380. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  381. package/dist/Testing/components/testing-analytics-resource.component.js +3 -3
  382. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  383. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  384. package/dist/Testing/components/testing-analytics.component.js +30 -30
  385. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  386. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  387. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +3 -3
  388. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  389. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  390. package/dist/Testing/components/testing-dashboard-tab.component.js +7 -7
  391. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  392. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  393. package/dist/Testing/components/testing-explorer-resource.component.js +3 -3
  394. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  395. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  396. package/dist/Testing/components/testing-explorer.component.js +42 -35
  397. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  398. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  399. package/dist/Testing/components/testing-review-resource.component.js +3 -3
  400. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  401. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  402. package/dist/Testing/components/testing-review.component.js +16 -16
  403. package/dist/Testing/components/testing-review.component.js.map +1 -1
  404. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  405. package/dist/Testing/components/testing-runs-resource.component.js +3 -3
  406. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  407. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  408. package/dist/Testing/components/testing-runs.component.js +15 -15
  409. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  410. package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts.map +1 -1
  411. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +73 -61
  412. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  413. package/dist/Testing/components/widgets/suite-tree.component.d.ts.map +1 -1
  414. package/dist/Testing/components/widgets/suite-tree.component.js +34 -31
  415. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  416. package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -1
  417. package/dist/Testing/components/widgets/test-run-detail-panel.component.js +180 -171
  418. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  419. package/dist/Testing/testing-dashboard.component.d.ts +0 -1
  420. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  421. package/dist/Testing/testing-dashboard.component.js +9 -8
  422. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  423. package/dist/VersionHistory/components/diff-resource.component.d.ts +119 -0
  424. package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -0
  425. package/dist/VersionHistory/components/diff-resource.component.js +1162 -0
  426. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -0
  427. package/dist/VersionHistory/components/graph-resource.component.d.ts +67 -0
  428. package/dist/VersionHistory/components/graph-resource.component.d.ts.map +1 -0
  429. package/dist/VersionHistory/components/graph-resource.component.js +521 -0
  430. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -0
  431. package/dist/VersionHistory/components/index.d.ts +5 -0
  432. package/dist/VersionHistory/components/index.d.ts.map +1 -0
  433. package/dist/VersionHistory/components/index.js +5 -0
  434. package/dist/VersionHistory/components/index.js.map +1 -0
  435. package/dist/VersionHistory/components/labels-resource.component.d.ts +89 -0
  436. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -0
  437. package/dist/VersionHistory/components/labels-resource.component.js +968 -0
  438. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -0
  439. package/dist/VersionHistory/components/restore-resource.component.d.ts +40 -0
  440. package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -0
  441. package/dist/VersionHistory/components/restore-resource.component.js +472 -0
  442. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -0
  443. package/dist/VersionHistory/index.d.ts +2 -0
  444. package/dist/VersionHistory/index.d.ts.map +1 -0
  445. package/dist/VersionHistory/index.js +2 -0
  446. package/dist/VersionHistory/index.js.map +1 -0
  447. package/dist/module.d.ts +42 -36
  448. package/dist/module.d.ts.map +1 -1
  449. package/dist/module.js +41 -7
  450. package/dist/module.js.map +1 -1
  451. package/dist/public-api.d.ts +20 -19
  452. package/dist/public-api.d.ts.map +1 -1
  453. package/dist/public-api.js +22 -120
  454. package/dist/public-api.js.map +1 -1
  455. package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -1
  456. package/dist/shared/pipes/highlight-search.pipe.js +2 -1
  457. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -1
  458. package/package.json +64 -62
@@ -17,22 +17,22 @@ import * as i4 from "@angular/forms";
17
17
  import * as i5 from "@memberjunction/ng-shared-generic";
18
18
  const _c0 = a0 => ({ node: a0, depth: 0 });
19
19
  const _c1 = (a0, a1) => ({ node: a0, depth: a1 });
20
- function ListsMyListsResource_button_10_Template(rf, ctx) { if (rf & 1) {
20
+ function ListsMyListsResource_Conditional_10_Template(rf, ctx) { if (rf & 1) {
21
21
  const _r2 = i0.ɵɵgetCurrentView();
22
22
  i0.ɵɵelementStart(0, "button", 23);
23
- i0.ɵɵlistener("click", function ListsMyListsResource_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); });
23
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); });
24
24
  i0.ɵɵelement(1, "i", 24);
25
25
  i0.ɵɵelementEnd();
26
26
  } }
27
- function ListsMyListsResource_div_15_Template(rf, ctx) { if (rf & 1) {
28
- i0.ɵɵelementStart(0, "div", 25);
29
- i0.ɵɵelement(1, "mj-loading", 26);
27
+ function ListsMyListsResource_Conditional_15_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelementStart(0, "div", 13);
29
+ i0.ɵɵelement(1, "mj-loading", 25);
30
30
  i0.ɵɵelementEnd();
31
31
  } }
32
- function ListsMyListsResource_div_16_Template(rf, ctx) { if (rf & 1) {
32
+ function ListsMyListsResource_Conditional_16_Template(rf, ctx) { if (rf & 1) {
33
33
  const _r4 = i0.ɵɵgetCurrentView();
34
- i0.ɵɵelementStart(0, "div", 27)(1, "div", 28);
35
- i0.ɵɵelement(2, "div", 29)(3, "i", 5);
34
+ i0.ɵɵelementStart(0, "div", 14)(1, "div", 26);
35
+ i0.ɵɵelement(2, "div", 27)(3, "i", 5);
36
36
  i0.ɵɵelementEnd();
37
37
  i0.ɵɵelementStart(4, "h3");
38
38
  i0.ɵɵtext(5, "No Lists Yet");
@@ -40,30 +40,30 @@ function ListsMyListsResource_div_16_Template(rf, ctx) { if (rf & 1) {
40
40
  i0.ɵɵelementStart(6, "p");
41
41
  i0.ɵɵtext(7, "Lists help you organize and track groups of records across your data.");
42
42
  i0.ɵɵelementEnd();
43
- i0.ɵɵelementStart(8, "div", 30)(9, "div", 31);
44
- i0.ɵɵelement(10, "i", 32);
43
+ i0.ɵɵelementStart(8, "div", 28)(9, "div", 29);
44
+ i0.ɵɵelement(10, "i", 30);
45
45
  i0.ɵɵelementStart(11, "span");
46
46
  i0.ɵɵtext(12, "Group records from any entity");
47
47
  i0.ɵɵelementEnd()();
48
- i0.ɵɵelementStart(13, "div", 31);
49
- i0.ɵɵelement(14, "i", 32);
48
+ i0.ɵɵelementStart(13, "div", 29);
49
+ i0.ɵɵelement(14, "i", 30);
50
50
  i0.ɵɵelementStart(15, "span");
51
51
  i0.ɵɵtext(16, "Organize with categories");
52
52
  i0.ɵɵelementEnd()();
53
- i0.ɵɵelementStart(17, "div", 31);
54
- i0.ɵɵelement(18, "i", 32);
53
+ i0.ɵɵelementStart(17, "div", 29);
54
+ i0.ɵɵelement(18, "i", 30);
55
55
  i0.ɵɵelementStart(19, "span");
56
56
  i0.ɵɵtext(20, "Quick access from any view");
57
57
  i0.ɵɵelementEnd()()();
58
- i0.ɵɵelementStart(21, "button", 33);
59
- i0.ɵɵlistener("click", function ListsMyListsResource_div_16_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createNewList()); });
58
+ i0.ɵɵelementStart(21, "button", 31);
59
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_16_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createNewList()); });
60
60
  i0.ɵɵelement(22, "i", 12);
61
61
  i0.ɵɵtext(23, " Create Your First List ");
62
62
  i0.ɵɵelementEnd()();
63
63
  } }
64
- function ListsMyListsResource_div_17_Template(rf, ctx) { if (rf & 1) {
64
+ function ListsMyListsResource_Conditional_17_Template(rf, ctx) { if (rf & 1) {
65
65
  const _r5 = i0.ɵɵgetCurrentView();
66
- i0.ɵɵelementStart(0, "div", 34)(1, "div", 35);
66
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 32);
67
67
  i0.ɵɵelement(2, "i", 8);
68
68
  i0.ɵɵelementEnd();
69
69
  i0.ɵɵelementStart(3, "h3");
@@ -76,11 +76,11 @@ function ListsMyListsResource_div_17_Template(rf, ctx) { if (rf & 1) {
76
76
  i0.ɵɵelementEnd();
77
77
  i0.ɵɵtext(9, "\"");
78
78
  i0.ɵɵelementEnd();
79
- i0.ɵɵelementStart(10, "p", 36);
79
+ i0.ɵɵelementStart(10, "p", 33);
80
80
  i0.ɵɵtext(11, "Try a different search term or clear your search.");
81
81
  i0.ɵɵelementEnd();
82
- i0.ɵɵelementStart(12, "button", 37);
83
- i0.ɵɵlistener("click", function ListsMyListsResource_div_17_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); });
82
+ i0.ɵɵelementStart(12, "button", 34);
83
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_17_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); });
84
84
  i0.ɵɵtext(13, "Clear Search");
85
85
  i0.ɵɵelementEnd()();
86
86
  } if (rf & 2) {
@@ -88,31 +88,28 @@ function ListsMyListsResource_div_17_Template(rf, ctx) { if (rf & 1) {
88
88
  i0.ɵɵadvance(8);
89
89
  i0.ɵɵtextInterpolate(ctx_r2.searchTerm);
90
90
  } }
91
- function ListsMyListsResource_div_18_div_8_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
91
+ function ListsMyListsResource_Conditional_18_Conditional_8_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
92
92
  i0.ɵɵelementContainer(0);
93
93
  } }
94
- function ListsMyListsResource_div_18_div_8_ng_container_1_Template(rf, ctx) { if (rf & 1) {
95
- i0.ɵɵelementContainerStart(0);
96
- i0.ɵɵtemplate(1, ListsMyListsResource_div_18_div_8_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 49);
97
- i0.ɵɵelementContainerEnd();
94
+ function ListsMyListsResource_Conditional_18_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
95
+ i0.ɵɵtemplate(0, ListsMyListsResource_Conditional_18_Conditional_8_For_2_ng_container_0_Template, 1, 0, "ng-container", 43);
98
96
  } if (rf & 2) {
99
97
  const node_r7 = ctx.$implicit;
100
98
  i0.ɵɵnextContext(3);
101
99
  const categoryNodeTemplate_r8 = i0.ɵɵreference(20);
102
- i0.ɵɵadvance();
103
100
  i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r7));
104
101
  } }
105
- function ListsMyListsResource_div_18_div_8_Template(rf, ctx) { if (rf & 1) {
106
- i0.ɵɵelementStart(0, "div", 47);
107
- i0.ɵɵtemplate(1, ListsMyListsResource_div_18_div_8_ng_container_1_Template, 2, 4, "ng-container", 48);
102
+ function ListsMyListsResource_Conditional_18_Conditional_8_Template(rf, ctx) { if (rf & 1) {
103
+ i0.ɵɵelementStart(0, "div", 41);
104
+ i0.ɵɵrepeaterCreate(1, ListsMyListsResource_Conditional_18_Conditional_8_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
108
105
  i0.ɵɵelementEnd();
109
106
  } if (rf & 2) {
110
107
  const ctx_r2 = i0.ɵɵnextContext(2);
111
108
  i0.ɵɵadvance();
112
- i0.ɵɵproperty("ngForOf", ctx_r2.categoryTree);
109
+ i0.ɵɵrepeater(ctx_r2.categoryTree);
113
110
  } }
114
- function ListsMyListsResource_div_18_div_9_div_1_p_10_Template(rf, ctx) { if (rf & 1) {
115
- i0.ɵɵelementStart(0, "p", 68);
111
+ function ListsMyListsResource_Conditional_18_Conditional_9_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
112
+ i0.ɵɵelementStart(0, "p", 53);
116
113
  i0.ɵɵtext(1);
117
114
  i0.ɵɵelementEnd();
118
115
  } if (rf & 2) {
@@ -120,9 +117,9 @@ function ListsMyListsResource_div_18_div_9_div_1_p_10_Template(rf, ctx) { if (rf
120
117
  i0.ɵɵadvance();
121
118
  i0.ɵɵtextInterpolate(item_r10.list.Description);
122
119
  } }
123
- function ListsMyListsResource_div_18_div_9_div_1_span_19_Template(rf, ctx) { if (rf & 1) {
124
- i0.ɵɵelementStart(0, "span", 69);
125
- i0.ɵɵelement(1, "i", 70);
120
+ function ListsMyListsResource_Conditional_18_Conditional_9_For_2_Conditional_19_Template(rf, ctx) { if (rf & 1) {
121
+ i0.ɵɵelementStart(0, "span", 59);
122
+ i0.ɵɵelement(1, "i", 61);
126
123
  i0.ɵɵtext(2);
127
124
  i0.ɵɵelementEnd();
128
125
  } if (rf & 2) {
@@ -131,32 +128,32 @@ function ListsMyListsResource_div_18_div_9_div_1_span_19_Template(rf, ctx) { if
131
128
  i0.ɵɵadvance(2);
132
129
  i0.ɵɵtextInterpolate1(" ", ctx_r2.getCategoryName(item_r10.list.CategoryID), " ");
133
130
  } }
134
- function ListsMyListsResource_div_18_div_9_div_1_Template(rf, ctx) { if (rf & 1) {
131
+ function ListsMyListsResource_Conditional_18_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
135
132
  const _r9 = i0.ɵɵgetCurrentView();
136
- i0.ɵɵelementStart(0, "div", 52);
137
- i0.ɵɵlistener("click", function ListsMyListsResource_div_18_div_9_div_1_Template_div_click_0_listener() { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r10.list)); })("keydown.enter", function ListsMyListsResource_div_18_div_9_div_1_Template_div_keydown_enter_0_listener() { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r10.list)); })("keydown.space", function ListsMyListsResource_div_18_div_9_div_1_Template_div_keydown_space_0_listener($event) { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); ctx_r2.openList(item_r10.list); return i0.ɵɵresetView($event.preventDefault()); });
138
- i0.ɵɵelementStart(1, "div", 53)(2, "div", 54);
133
+ i0.ɵɵelementStart(0, "div", 45);
134
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_18_Conditional_9_For_2_Template_div_click_0_listener() { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r10.list)); })("keydown.enter", function ListsMyListsResource_Conditional_18_Conditional_9_For_2_Template_div_keydown_enter_0_listener() { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r10.list)); })("keydown.space", function ListsMyListsResource_Conditional_18_Conditional_9_For_2_Template_div_keydown_space_0_listener($event) { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); ctx_r2.openList(item_r10.list); return i0.ɵɵresetView($event.preventDefault()); });
135
+ i0.ɵɵelementStart(1, "div", 46)(2, "div", 47);
139
136
  i0.ɵɵelement(3, "i");
140
137
  i0.ɵɵelementEnd();
141
- i0.ɵɵelementStart(4, "div", 55)(5, "button", 56);
142
- i0.ɵɵlistener("click", function ListsMyListsResource_div_18_div_9_div_1_Template_button_click_5_listener($event) { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r10.list)); });
143
- i0.ɵɵelement(6, "i", 57);
138
+ i0.ɵɵelementStart(4, "div", 48)(5, "button", 49);
139
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_18_Conditional_9_For_2_Template_button_click_5_listener($event) { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r10.list)); });
140
+ i0.ɵɵelement(6, "i", 50);
144
141
  i0.ɵɵelementEnd()()();
145
- i0.ɵɵelementStart(7, "div", 58)(8, "h3", 59);
142
+ i0.ɵɵelementStart(7, "div", 51)(8, "h3", 52);
146
143
  i0.ɵɵtext(9);
147
144
  i0.ɵɵelementEnd();
148
- i0.ɵɵtemplate(10, ListsMyListsResource_div_18_div_9_div_1_p_10_Template, 2, 1, "p", 60);
149
- i0.ɵɵelementStart(11, "div", 61)(12, "span", 62);
150
- i0.ɵɵelement(13, "i", 63);
145
+ i0.ɵɵconditionalCreate(10, ListsMyListsResource_Conditional_18_Conditional_9_For_2_Conditional_10_Template, 2, 1, "p", 53);
146
+ i0.ɵɵelementStart(11, "div", 54)(12, "span", 55);
147
+ i0.ɵɵelement(13, "i", 56);
151
148
  i0.ɵɵtext(14);
152
149
  i0.ɵɵelementEnd();
153
- i0.ɵɵelementStart(15, "span", 62);
154
- i0.ɵɵelement(16, "i", 64);
150
+ i0.ɵɵelementStart(15, "span", 55);
151
+ i0.ɵɵelement(16, "i", 57);
155
152
  i0.ɵɵtext(17);
156
153
  i0.ɵɵelementEnd()()();
157
- i0.ɵɵelementStart(18, "div", 65);
158
- i0.ɵɵtemplate(19, ListsMyListsResource_div_18_div_9_div_1_span_19_Template, 3, 1, "span", 66);
159
- i0.ɵɵelementStart(20, "span", 67);
154
+ i0.ɵɵelementStart(18, "div", 58);
155
+ i0.ɵɵconditionalCreate(19, ListsMyListsResource_Conditional_18_Conditional_9_For_2_Conditional_19_Template, 3, 1, "span", 59);
156
+ i0.ɵɵelementStart(20, "span", 60);
160
157
  i0.ɵɵtext(21);
161
158
  i0.ɵɵelementEnd()()();
162
159
  } if (rf & 2) {
@@ -172,39 +169,40 @@ function ListsMyListsResource_div_18_div_9_div_1_Template(rf, ctx) { if (rf & 1)
172
169
  i0.ɵɵadvance(4);
173
170
  i0.ɵɵtextInterpolate(item_r10.list.Name);
174
171
  i0.ɵɵadvance();
175
- i0.ɵɵproperty("ngIf", item_r10.list.Description);
172
+ i0.ɵɵconditional(item_r10.list.Description ? 10 : -1);
176
173
  i0.ɵɵadvance(4);
177
174
  i0.ɵɵtextInterpolate1(" ", item_r10.entityName, " ");
178
175
  i0.ɵɵadvance(3);
179
176
  i0.ɵɵtextInterpolate2(" ", item_r10.itemCount, " item", item_r10.itemCount !== 1 ? "s" : "", " ");
180
177
  i0.ɵɵadvance(2);
181
- i0.ɵɵproperty("ngIf", item_r10.list.CategoryID);
178
+ i0.ɵɵconditional(item_r10.list.CategoryID ? 19 : -1);
182
179
  i0.ɵɵadvance(2);
183
- i0.ɵɵtextInterpolate1("Updated ", ctx_r2.formatDate(item_r10.list.__mj_UpdatedAt), "");
180
+ i0.ɵɵtextInterpolate1("Updated ", ctx_r2.formatDate(item_r10.list.__mj_UpdatedAt));
184
181
  } }
185
- function ListsMyListsResource_div_18_div_9_Template(rf, ctx) { if (rf & 1) {
186
- i0.ɵɵelementStart(0, "div", 50);
187
- i0.ɵɵtemplate(1, ListsMyListsResource_div_18_div_9_div_1_Template, 22, 13, "div", 51);
182
+ function ListsMyListsResource_Conditional_18_Conditional_9_Template(rf, ctx) { if (rf & 1) {
183
+ i0.ɵɵelementStart(0, "div", 42);
184
+ i0.ɵɵrepeaterCreate(1, ListsMyListsResource_Conditional_18_Conditional_9_For_2_Template, 22, 13, "div", 44, i0.ɵɵrepeaterTrackByIdentity);
188
185
  i0.ɵɵelementEnd();
189
186
  } if (rf & 2) {
190
187
  const ctx_r2 = i0.ɵɵnextContext(2);
191
188
  i0.ɵɵadvance();
192
- i0.ɵɵproperty("ngForOf", ctx_r2.filteredLists);
189
+ i0.ɵɵrepeater(ctx_r2.filteredLists);
193
190
  } }
194
- function ListsMyListsResource_div_18_Template(rf, ctx) { if (rf & 1) {
191
+ function ListsMyListsResource_Conditional_18_Template(rf, ctx) { if (rf & 1) {
195
192
  const _r6 = i0.ɵɵgetCurrentView();
196
- i0.ɵɵelementStart(0, "div", 38)(1, "div", 39)(2, "button", 40);
197
- i0.ɵɵlistener("click", function ListsMyListsResource_div_18_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.viewMode = "grid"); });
198
- i0.ɵɵelement(3, "i", 41);
193
+ i0.ɵɵelementStart(0, "div", 16)(1, "div", 35)(2, "button", 36);
194
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_18_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.viewMode = "grid"); });
195
+ i0.ɵɵelement(3, "i", 37);
199
196
  i0.ɵɵelementEnd();
200
- i0.ɵɵelementStart(4, "button", 42);
201
- i0.ɵɵlistener("click", function ListsMyListsResource_div_18_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.viewMode = "list"); });
202
- i0.ɵɵelement(5, "i", 43);
197
+ i0.ɵɵelementStart(4, "button", 38);
198
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_18_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.viewMode = "list"); });
199
+ i0.ɵɵelement(5, "i", 39);
203
200
  i0.ɵɵelementEnd();
204
- i0.ɵɵelementStart(6, "span", 44);
201
+ i0.ɵɵelementStart(6, "span", 40);
205
202
  i0.ɵɵtext(7);
206
203
  i0.ɵɵelementEnd()();
207
- i0.ɵɵtemplate(8, ListsMyListsResource_div_18_div_8_Template, 2, 1, "div", 45)(9, ListsMyListsResource_div_18_div_9_Template, 2, 1, "div", 46);
204
+ i0.ɵɵconditionalCreate(8, ListsMyListsResource_Conditional_18_Conditional_8_Template, 3, 0, "div", 41);
205
+ i0.ɵɵconditionalCreate(9, ListsMyListsResource_Conditional_18_Conditional_9_Template, 3, 0, "div", 42);
208
206
  i0.ɵɵelementEnd();
209
207
  } if (rf & 2) {
210
208
  const ctx_r2 = i0.ɵɵnextContext();
@@ -213,21 +211,21 @@ function ListsMyListsResource_div_18_Template(rf, ctx) { if (rf & 1) {
213
211
  i0.ɵɵadvance(2);
214
212
  i0.ɵɵclassProp("active", ctx_r2.viewMode === "list");
215
213
  i0.ɵɵadvance(3);
216
- i0.ɵɵtextInterpolate2("", ctx_r2.filteredLists.length, " list", ctx_r2.filteredLists.length !== 1 ? "s" : "", "");
214
+ i0.ɵɵtextInterpolate2("", ctx_r2.filteredLists.length, " list", ctx_r2.filteredLists.length !== 1 ? "s" : "");
217
215
  i0.ɵɵadvance();
218
- i0.ɵɵproperty("ngIf", ctx_r2.viewMode === "list");
216
+ i0.ɵɵconditional(ctx_r2.viewMode === "list" ? 8 : -1);
219
217
  i0.ɵɵadvance();
220
- i0.ɵɵproperty("ngIf", ctx_r2.viewMode === "grid");
218
+ i0.ɵɵconditional(ctx_r2.viewMode === "grid" ? 9 : -1);
221
219
  } }
222
- function ListsMyListsResource_ng_template_19_div_1_Template(rf, ctx) { if (rf & 1) {
220
+ function ListsMyListsResource_ng_template_19_Conditional_1_Template(rf, ctx) { if (rf & 1) {
223
221
  const _r11 = i0.ɵɵgetCurrentView();
224
- i0.ɵɵelementStart(0, "div", 76);
225
- i0.ɵɵlistener("click", function ListsMyListsResource_ng_template_19_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r11); const node_r12 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r12)); });
226
- i0.ɵɵelement(1, "i")(2, "i", 70);
227
- i0.ɵɵelementStart(3, "span", 77);
222
+ i0.ɵɵelementStart(0, "div", 66);
223
+ i0.ɵɵlistener("click", function ListsMyListsResource_ng_template_19_Conditional_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r11); const node_r12 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r12)); });
224
+ i0.ɵɵelement(1, "i")(2, "i", 61);
225
+ i0.ɵɵelementStart(3, "span", 67);
228
226
  i0.ɵɵtext(4);
229
227
  i0.ɵɵelementEnd();
230
- i0.ɵɵelementStart(5, "span", 78);
228
+ i0.ɵɵelementStart(5, "span", 68);
231
229
  i0.ɵɵtext(6);
232
230
  i0.ɵɵelementEnd()();
233
231
  } if (rf & 2) {
@@ -242,15 +240,15 @@ function ListsMyListsResource_ng_template_19_div_1_Template(rf, ctx) { if (rf &
242
240
  i0.ɵɵadvance(2);
243
241
  i0.ɵɵtextInterpolate(ctx_r2.getListCountInCategory(node_r12));
244
242
  } }
245
- function ListsMyListsResource_ng_template_19_div_2_Template(rf, ctx) { if (rf & 1) {
243
+ function ListsMyListsResource_ng_template_19_Conditional_2_Template(rf, ctx) { if (rf & 1) {
246
244
  const _r13 = i0.ɵɵgetCurrentView();
247
- i0.ɵɵelementStart(0, "div", 79);
248
- i0.ɵɵlistener("click", function ListsMyListsResource_ng_template_19_div_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r13); const node_r12 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r12)); });
249
- i0.ɵɵelement(1, "i")(2, "i", 80);
250
- i0.ɵɵelementStart(3, "span", 77);
245
+ i0.ɵɵelementStart(0, "div", 69);
246
+ i0.ɵɵlistener("click", function ListsMyListsResource_ng_template_19_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r13); const node_r12 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r12)); });
247
+ i0.ɵɵelement(1, "i")(2, "i", 70);
248
+ i0.ɵɵelementStart(3, "span", 67);
251
249
  i0.ɵɵtext(4, "Uncategorized");
252
250
  i0.ɵɵelementEnd();
253
- i0.ɵɵelementStart(5, "span", 78);
251
+ i0.ɵɵelementStart(5, "span", 68);
254
252
  i0.ɵɵtext(6);
255
253
  i0.ɵɵelementEnd()();
256
254
  } if (rf & 2) {
@@ -260,22 +258,22 @@ function ListsMyListsResource_ng_template_19_div_2_Template(rf, ctx) { if (rf &
260
258
  i0.ɵɵadvance(5);
261
259
  i0.ɵɵtextInterpolate(node_r12.lists.length);
262
260
  } }
263
- function ListsMyListsResource_ng_template_19_div_3_div_1_Template(rf, ctx) { if (rf & 1) {
261
+ function ListsMyListsResource_ng_template_19_Conditional_3_For_2_Template(rf, ctx) { if (rf & 1) {
264
262
  const _r14 = i0.ɵɵgetCurrentView();
265
- i0.ɵɵelementStart(0, "div", 83);
266
- i0.ɵɵlistener("click", function ListsMyListsResource_ng_template_19_div_3_div_1_Template_div_click_0_listener() { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r15.list)); })("keydown.enter", function ListsMyListsResource_ng_template_19_div_3_div_1_Template_div_keydown_enter_0_listener() { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r15.list)); })("keydown.space", function ListsMyListsResource_ng_template_19_div_3_div_1_Template_div_keydown_space_0_listener($event) { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); ctx_r2.openList(item_r15.list); return i0.ɵɵresetView($event.preventDefault()); });
267
- i0.ɵɵelementStart(1, "div", 84);
263
+ i0.ɵɵelementStart(0, "div", 72);
264
+ i0.ɵɵlistener("click", function ListsMyListsResource_ng_template_19_Conditional_3_For_2_Template_div_click_0_listener() { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r15.list)); })("keydown.enter", function ListsMyListsResource_ng_template_19_Conditional_3_For_2_Template_div_keydown_enter_0_listener() { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r15.list)); })("keydown.space", function ListsMyListsResource_ng_template_19_Conditional_3_For_2_Template_div_keydown_space_0_listener($event) { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); ctx_r2.openList(item_r15.list); return i0.ɵɵresetView($event.preventDefault()); });
265
+ i0.ɵɵelementStart(1, "div", 73);
268
266
  i0.ɵɵelement(2, "i");
269
267
  i0.ɵɵelementEnd();
270
- i0.ɵɵelementStart(3, "div", 85)(4, "span", 86);
268
+ i0.ɵɵelementStart(3, "div", 74)(4, "span", 75);
271
269
  i0.ɵɵtext(5);
272
270
  i0.ɵɵelementEnd();
273
- i0.ɵɵelementStart(6, "span", 87);
271
+ i0.ɵɵelementStart(6, "span", 76);
274
272
  i0.ɵɵtext(7);
275
273
  i0.ɵɵelementEnd()();
276
- i0.ɵɵelementStart(8, "div", 88)(9, "button", 89);
277
- i0.ɵɵlistener("click", function ListsMyListsResource_ng_template_19_div_3_div_1_Template_button_click_9_listener($event) { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r15.list)); });
278
- i0.ɵɵelement(10, "i", 57);
274
+ i0.ɵɵelementStart(8, "div", 77)(9, "button", 78);
275
+ i0.ɵɵlistener("click", function ListsMyListsResource_ng_template_19_Conditional_3_For_2_Template_button_click_9_listener($event) { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r15.list)); });
276
+ i0.ɵɵelement(10, "i", 50);
279
277
  i0.ɵɵelementEnd()()();
280
278
  } if (rf & 2) {
281
279
  const item_r15 = ctx.$implicit;
@@ -292,92 +290,89 @@ function ListsMyListsResource_ng_template_19_div_3_div_1_Template(rf, ctx) { if
292
290
  i0.ɵɵadvance(2);
293
291
  i0.ɵɵattribute("aria-label", "More options for " + item_r15.list.Name);
294
292
  } }
295
- function ListsMyListsResource_ng_template_19_div_3_Template(rf, ctx) { if (rf & 1) {
296
- i0.ɵɵelementStart(0, "div", 81);
297
- i0.ɵɵtemplate(1, ListsMyListsResource_ng_template_19_div_3_div_1_Template, 11, 9, "div", 82);
293
+ function ListsMyListsResource_ng_template_19_Conditional_3_Template(rf, ctx) { if (rf & 1) {
294
+ i0.ɵɵelementStart(0, "div", 65);
295
+ i0.ɵɵrepeaterCreate(1, ListsMyListsResource_ng_template_19_Conditional_3_For_2_Template, 11, 9, "div", 71, i0.ɵɵrepeaterTrackByIdentity);
298
296
  i0.ɵɵelementEnd();
299
297
  } if (rf & 2) {
300
298
  const node_r12 = i0.ɵɵnextContext().node;
301
299
  i0.ɵɵadvance();
302
- i0.ɵɵproperty("ngForOf", node_r12.lists);
300
+ i0.ɵɵrepeater(node_r12.lists);
303
301
  } }
304
- function ListsMyListsResource_ng_template_19_ng_container_4_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
302
+ function ListsMyListsResource_ng_template_19_Conditional_4_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
305
303
  i0.ɵɵelementContainer(0);
306
304
  } }
307
- function ListsMyListsResource_ng_template_19_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
308
- i0.ɵɵelementContainerStart(0);
309
- i0.ɵɵtemplate(1, ListsMyListsResource_ng_template_19_ng_container_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 49);
310
- i0.ɵɵelementContainerEnd();
305
+ function ListsMyListsResource_ng_template_19_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
306
+ i0.ɵɵtemplate(0, ListsMyListsResource_ng_template_19_Conditional_4_For_1_ng_container_0_Template, 1, 0, "ng-container", 43);
311
307
  } if (rf & 2) {
312
308
  const child_r16 = ctx.$implicit;
313
309
  const depth_r17 = i0.ɵɵnextContext(2).depth;
314
310
  i0.ɵɵnextContext();
315
311
  const categoryNodeTemplate_r8 = i0.ɵɵreference(20);
316
- i0.ɵɵadvance();
317
312
  i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r8)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, child_r16, depth_r17 + 1));
318
313
  } }
319
- function ListsMyListsResource_ng_template_19_ng_container_4_Template(rf, ctx) { if (rf & 1) {
320
- i0.ɵɵelementContainerStart(0);
321
- i0.ɵɵtemplate(1, ListsMyListsResource_ng_template_19_ng_container_4_ng_container_1_Template, 2, 5, "ng-container", 48);
322
- i0.ɵɵelementContainerEnd();
314
+ function ListsMyListsResource_ng_template_19_Conditional_4_Template(rf, ctx) { if (rf & 1) {
315
+ i0.ɵɵrepeaterCreate(0, ListsMyListsResource_ng_template_19_Conditional_4_For_1_Template, 1, 5, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
323
316
  } if (rf & 2) {
324
317
  const node_r12 = i0.ɵɵnextContext().node;
325
- i0.ɵɵadvance();
326
- i0.ɵɵproperty("ngForOf", node_r12.children);
318
+ i0.ɵɵrepeater(node_r12.children);
327
319
  } }
328
320
  function ListsMyListsResource_ng_template_19_Template(rf, ctx) { if (rf & 1) {
329
- i0.ɵɵelementStart(0, "div", 71);
330
- i0.ɵɵtemplate(1, ListsMyListsResource_ng_template_19_div_1_Template, 7, 6, "div", 72)(2, ListsMyListsResource_ng_template_19_div_2_Template, 7, 3, "div", 73)(3, ListsMyListsResource_ng_template_19_div_3_Template, 2, 1, "div", 74)(4, ListsMyListsResource_ng_template_19_ng_container_4_Template, 2, 1, "ng-container", 75);
321
+ i0.ɵɵelementStart(0, "div", 62);
322
+ i0.ɵɵconditionalCreate(1, ListsMyListsResource_ng_template_19_Conditional_1_Template, 7, 6, "div", 63);
323
+ i0.ɵɵconditionalCreate(2, ListsMyListsResource_ng_template_19_Conditional_2_Template, 7, 3, "div", 64);
324
+ i0.ɵɵconditionalCreate(3, ListsMyListsResource_ng_template_19_Conditional_3_Template, 3, 0, "div", 65);
325
+ i0.ɵɵconditionalCreate(4, ListsMyListsResource_ng_template_19_Conditional_4_Template, 2, 0);
331
326
  i0.ɵɵelementEnd();
332
327
  } if (rf & 2) {
333
328
  const node_r12 = ctx.node;
334
329
  const depth_r17 = ctx.depth;
335
330
  i0.ɵɵstyleProp("margin-left", depth_r17 * 20, "px");
336
331
  i0.ɵɵadvance();
337
- i0.ɵɵproperty("ngIf", node_r12.category);
332
+ i0.ɵɵconditional(node_r12.category ? 1 : -1);
338
333
  i0.ɵɵadvance();
339
- i0.ɵɵproperty("ngIf", !node_r12.category && node_r12.lists.length > 0);
334
+ i0.ɵɵconditional(!node_r12.category && node_r12.lists.length > 0 ? 2 : -1);
340
335
  i0.ɵɵadvance();
341
- i0.ɵɵproperty("ngIf", node_r12.isExpanded);
336
+ i0.ɵɵconditional(node_r12.isExpanded ? 3 : -1);
342
337
  i0.ɵɵadvance();
343
- i0.ɵɵproperty("ngIf", node_r12.isExpanded);
338
+ i0.ɵɵconditional(node_r12.isExpanded ? 4 : -1);
344
339
  } }
345
- function ListsMyListsResource_div_21_Template(rf, ctx) { if (rf & 1) {
340
+ function ListsMyListsResource_Conditional_21_Template(rf, ctx) { if (rf & 1) {
346
341
  const _r18 = i0.ɵɵgetCurrentView();
347
- i0.ɵɵelementStart(0, "div", 90);
348
- i0.ɵɵlistener("click", function ListsMyListsResource_div_21_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
342
+ i0.ɵɵelementStart(0, "div", 79);
343
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_21_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
349
344
  i0.ɵɵelementEnd();
350
345
  } }
351
- function ListsMyListsResource_div_22_Template(rf, ctx) { if (rf & 1) {
346
+ function ListsMyListsResource_Conditional_22_Template(rf, ctx) { if (rf & 1) {
352
347
  const _r19 = i0.ɵɵgetCurrentView();
353
- i0.ɵɵelementStart(0, "div", 91)(1, "button", 92);
354
- i0.ɵɵlistener("click", function ListsMyListsResource_div_22_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editList()); });
355
- i0.ɵɵelement(2, "i", 93);
348
+ i0.ɵɵelementStart(0, "div", 80)(1, "button", 81);
349
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_22_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editList()); });
350
+ i0.ɵɵelement(2, "i", 82);
356
351
  i0.ɵɵtext(3, " Edit ");
357
352
  i0.ɵɵelementEnd();
358
- i0.ɵɵelementStart(4, "button", 92);
359
- i0.ɵɵlistener("click", function ListsMyListsResource_div_22_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.duplicateList()); });
360
- i0.ɵɵelement(5, "i", 94);
353
+ i0.ɵɵelementStart(4, "button", 81);
354
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_22_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.duplicateList()); });
355
+ i0.ɵɵelement(5, "i", 83);
361
356
  i0.ɵɵtext(6, " Duplicate ");
362
357
  i0.ɵɵelementEnd();
363
- i0.ɵɵelement(7, "div", 95);
364
- i0.ɵɵelementStart(8, "button", 96);
365
- i0.ɵɵlistener("click", function ListsMyListsResource_div_22_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDeleteList()); });
366
- i0.ɵɵelement(9, "i", 97);
358
+ i0.ɵɵelement(7, "div", 84);
359
+ i0.ɵɵelementStart(8, "button", 85);
360
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_22_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDeleteList()); });
361
+ i0.ɵɵelement(9, "i", 86);
367
362
  i0.ɵɵtext(10, " Delete ");
368
363
  i0.ɵɵelementEnd()();
369
364
  } if (rf & 2) {
370
365
  const ctx_r2 = i0.ɵɵnextContext();
371
366
  i0.ɵɵstyleProp("top", ctx_r2.contextMenuY, "px")("left", ctx_r2.contextMenuX, "px");
372
367
  } }
373
- function ListsMyListsResource_div_23_Template(rf, ctx) { if (rf & 1) {
368
+ function ListsMyListsResource_Conditional_23_Template(rf, ctx) { if (rf & 1) {
374
369
  const _r20 = i0.ɵɵgetCurrentView();
375
- i0.ɵɵelementStart(0, "div", 98);
376
- i0.ɵɵlistener("click", function ListsMyListsResource_div_23_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
370
+ i0.ɵɵelementStart(0, "div", 87);
371
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_23_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
377
372
  i0.ɵɵelementEnd();
378
373
  } }
379
- function ListsMyListsResource_div_24_option_27_Template(rf, ctx) { if (rf & 1) {
380
- i0.ɵɵelementStart(0, "option", 109);
374
+ function ListsMyListsResource_Conditional_24_For_28_Template(rf, ctx) { if (rf & 1) {
375
+ i0.ɵɵelementStart(0, "option", 97);
381
376
  i0.ɵɵtext(1);
382
377
  i0.ɵɵelementEnd();
383
378
  } if (rf & 2) {
@@ -386,55 +381,55 @@ function ListsMyListsResource_div_24_option_27_Template(rf, ctx) { if (rf & 1) {
386
381
  i0.ɵɵadvance();
387
382
  i0.ɵɵtextInterpolate(cat_r23.displayName);
388
383
  } }
389
- function ListsMyListsResource_div_24_i_30_Template(rf, ctx) { if (rf & 1) {
390
- i0.ɵɵelement(0, "i", 115);
384
+ function ListsMyListsResource_Conditional_24_Conditional_31_Template(rf, ctx) { if (rf & 1) {
385
+ i0.ɵɵelement(0, "i", 100);
391
386
  } }
392
- function ListsMyListsResource_div_24_Template(rf, ctx) { if (rf & 1) {
387
+ function ListsMyListsResource_Conditional_24_Template(rf, ctx) { if (rf & 1) {
393
388
  const _r21 = i0.ɵɵgetCurrentView();
394
- i0.ɵɵelementStart(0, "div", 99)(1, "div", 100)(2, "h3");
389
+ i0.ɵɵelementStart(0, "div", 20)(1, "div", 88)(2, "h3");
395
390
  i0.ɵɵtext(3);
396
391
  i0.ɵɵelementEnd();
397
- i0.ɵɵelementStart(4, "button", 101);
398
- i0.ɵɵlistener("click", function ListsMyListsResource_div_24_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
392
+ i0.ɵɵelementStart(4, "button", 89);
393
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_24_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
399
394
  i0.ɵɵelement(5, "i", 24);
400
395
  i0.ɵɵelementEnd()();
401
- i0.ɵɵelementStart(6, "div", 102)(7, "div", 103)(8, "label");
396
+ i0.ɵɵelementStart(6, "div", 90)(7, "div", 91)(8, "label");
402
397
  i0.ɵɵtext(9, "Name *");
403
398
  i0.ɵɵelementEnd();
404
- i0.ɵɵelementStart(10, "input", 104);
405
- i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_div_24_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListName, $event) || (ctx_r2.newListName = $event); return i0.ɵɵresetView($event); });
399
+ i0.ɵɵelementStart(10, "input", 92);
400
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_Conditional_24_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListName, $event) || (ctx_r2.newListName = $event); return i0.ɵɵresetView($event); });
406
401
  i0.ɵɵelementEnd()();
407
- i0.ɵɵelementStart(11, "div", 103)(12, "label");
402
+ i0.ɵɵelementStart(11, "div", 91)(12, "label");
408
403
  i0.ɵɵtext(13, "Description");
409
404
  i0.ɵɵelementEnd();
410
- i0.ɵɵelementStart(14, "textarea", 105);
411
- i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_div_24_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListDescription, $event) || (ctx_r2.newListDescription = $event); return i0.ɵɵresetView($event); });
405
+ i0.ɵɵelementStart(14, "textarea", 93);
406
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_Conditional_24_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListDescription, $event) || (ctx_r2.newListDescription = $event); return i0.ɵɵresetView($event); });
412
407
  i0.ɵɵelementEnd()();
413
- i0.ɵɵelementStart(15, "div", 103)(16, "label");
408
+ i0.ɵɵelementStart(15, "div", 91)(16, "label");
414
409
  i0.ɵɵtext(17, "Entity *");
415
410
  i0.ɵɵelementEnd();
416
- i0.ɵɵelementStart(18, "div", 106)(19, "input", 107, 1);
417
- i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_div_24_Template_input_ngModelChange_19_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.entitySearchTerm, $event) || (ctx_r2.entitySearchTerm = $event); return i0.ɵɵresetView($event); });
418
- i0.ɵɵlistener("ngModelChange", function ListsMyListsResource_div_24_Template_input_ngModelChange_19_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.filterEntities($event)); })("focus", function ListsMyListsResource_div_24_Template_input_focus_19_listener() { i0.ɵɵrestoreView(_r21); const entityInput_r22 = i0.ɵɵreference(20); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.openEntityDropdown(entityInput_r22)); });
411
+ i0.ɵɵelementStart(18, "div", 94)(19, "input", 95, 1);
412
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_Conditional_24_Template_input_ngModelChange_19_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.entitySearchTerm, $event) || (ctx_r2.entitySearchTerm = $event); return i0.ɵɵresetView($event); });
413
+ i0.ɵɵlistener("ngModelChange", function ListsMyListsResource_Conditional_24_Template_input_ngModelChange_19_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.filterEntities($event)); })("focus", function ListsMyListsResource_Conditional_24_Template_input_focus_19_listener() { i0.ɵɵrestoreView(_r21); const entityInput_r22 = i0.ɵɵreference(20); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.openEntityDropdown(entityInput_r22)); });
419
414
  i0.ɵɵelementEnd()()();
420
- i0.ɵɵelementStart(21, "div", 103)(22, "label");
415
+ i0.ɵɵelementStart(21, "div", 91)(22, "label");
421
416
  i0.ɵɵtext(23, "Category");
422
417
  i0.ɵɵelementEnd();
423
- i0.ɵɵelementStart(24, "select", 108);
424
- i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_div_24_Template_select_ngModelChange_24_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedCategoryId, $event) || (ctx_r2.selectedCategoryId = $event); return i0.ɵɵresetView($event); });
425
- i0.ɵɵelementStart(25, "option", 109);
418
+ i0.ɵɵelementStart(24, "select", 96);
419
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_Conditional_24_Template_select_ngModelChange_24_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedCategoryId, $event) || (ctx_r2.selectedCategoryId = $event); return i0.ɵɵresetView($event); });
420
+ i0.ɵɵelementStart(25, "option", 97);
426
421
  i0.ɵɵtext(26, "No category");
427
422
  i0.ɵɵelementEnd();
428
- i0.ɵɵtemplate(27, ListsMyListsResource_div_24_option_27_Template, 2, 2, "option", 110);
423
+ i0.ɵɵrepeaterCreate(27, ListsMyListsResource_Conditional_24_For_28_Template, 2, 2, "option", 97, i0.ɵɵrepeaterTrackByIdentity);
429
424
  i0.ɵɵelementEnd()()();
430
- i0.ɵɵelementStart(28, "div", 111)(29, "button", 112);
431
- i0.ɵɵlistener("click", function ListsMyListsResource_div_24_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveList()); });
432
- i0.ɵɵtemplate(30, ListsMyListsResource_div_24_i_30_Template, 1, 0, "i", 113);
433
- i0.ɵɵtext(31);
425
+ i0.ɵɵelementStart(29, "div", 98)(30, "button", 99);
426
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_24_Template_button_click_30_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveList()); });
427
+ i0.ɵɵconditionalCreate(31, ListsMyListsResource_Conditional_24_Conditional_31_Template, 1, 0, "i", 100);
428
+ i0.ɵɵtext(32);
434
429
  i0.ɵɵelementEnd();
435
- i0.ɵɵelementStart(32, "button", 114);
436
- i0.ɵɵlistener("click", function ListsMyListsResource_div_24_Template_button_click_32_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
437
- i0.ɵɵtext(33, "Cancel");
430
+ i0.ɵɵelementStart(33, "button", 101);
431
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_24_Template_button_click_33_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
432
+ i0.ɵɵtext(34, "Cancel");
438
433
  i0.ɵɵelementEnd()()();
439
434
  } if (rf & 2) {
440
435
  const ctx_r2 = i0.ɵɵnextContext();
@@ -452,51 +447,51 @@ function ListsMyListsResource_div_24_Template(rf, ctx) { if (rf & 1) {
452
447
  i0.ɵɵadvance();
453
448
  i0.ɵɵproperty("ngValue", null);
454
449
  i0.ɵɵadvance(2);
455
- i0.ɵɵproperty("ngForOf", ctx_r2.flatCategories);
456
- i0.ɵɵadvance(2);
450
+ i0.ɵɵrepeater(ctx_r2.flatCategories);
451
+ i0.ɵɵadvance(3);
457
452
  i0.ɵɵproperty("disabled", !ctx_r2.newListName || !ctx_r2.selectedEntityId || ctx_r2.isSaving);
458
453
  i0.ɵɵadvance();
459
- i0.ɵɵproperty("ngIf", ctx_r2.isSaving);
454
+ i0.ɵɵconditional(ctx_r2.isSaving ? 31 : -1);
460
455
  i0.ɵɵadvance();
461
456
  i0.ɵɵtextInterpolate1(" ", ctx_r2.isSaving ? "Saving..." : ctx_r2.editingList ? "Save" : "Create", " ");
462
457
  i0.ɵɵadvance();
463
458
  i0.ɵɵproperty("disabled", ctx_r2.isSaving);
464
459
  } }
465
- function ListsMyListsResource_div_25_Template(rf, ctx) { if (rf & 1) {
460
+ function ListsMyListsResource_Conditional_25_Template(rf, ctx) { if (rf & 1) {
466
461
  const _r24 = i0.ɵɵgetCurrentView();
467
- i0.ɵɵelementStart(0, "div", 98);
468
- i0.ɵɵlistener("click", function ListsMyListsResource_div_25_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
462
+ i0.ɵɵelementStart(0, "div", 87);
463
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_25_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
469
464
  i0.ɵɵelementEnd();
470
465
  } }
471
- function ListsMyListsResource_div_26_i_16_Template(rf, ctx) { if (rf & 1) {
472
- i0.ɵɵelement(0, "i", 115);
466
+ function ListsMyListsResource_Conditional_26_Conditional_16_Template(rf, ctx) { if (rf & 1) {
467
+ i0.ɵɵelement(0, "i", 100);
473
468
  } }
474
- function ListsMyListsResource_div_26_Template(rf, ctx) { if (rf & 1) {
469
+ function ListsMyListsResource_Conditional_26_Template(rf, ctx) { if (rf & 1) {
475
470
  const _r25 = i0.ɵɵgetCurrentView();
476
- i0.ɵɵelementStart(0, "div", 116)(1, "div", 100)(2, "h3");
471
+ i0.ɵɵelementStart(0, "div", 21)(1, "div", 88)(2, "h3");
477
472
  i0.ɵɵtext(3, "Delete List");
478
473
  i0.ɵɵelementEnd();
479
- i0.ɵɵelementStart(4, "button", 101);
480
- i0.ɵɵlistener("click", function ListsMyListsResource_div_26_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
474
+ i0.ɵɵelementStart(4, "button", 89);
475
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_26_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
481
476
  i0.ɵɵelement(5, "i", 24);
482
477
  i0.ɵɵelementEnd()();
483
- i0.ɵɵelementStart(6, "div", 102)(7, "p");
478
+ i0.ɵɵelementStart(6, "div", 90)(7, "p");
484
479
  i0.ɵɵtext(8, "Are you sure you want to delete \"");
485
480
  i0.ɵɵelementStart(9, "strong");
486
481
  i0.ɵɵtext(10);
487
482
  i0.ɵɵelementEnd();
488
483
  i0.ɵɵtext(11, "\"?");
489
484
  i0.ɵɵelementEnd();
490
- i0.ɵɵelementStart(12, "p", 117);
485
+ i0.ɵɵelementStart(12, "p", 102);
491
486
  i0.ɵɵtext(13, "This will also remove all items in the list.");
492
487
  i0.ɵɵelementEnd()();
493
- i0.ɵɵelementStart(14, "div", 111)(15, "button", 118);
494
- i0.ɵɵlistener("click", function ListsMyListsResource_div_26_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.deleteList()); });
495
- i0.ɵɵtemplate(16, ListsMyListsResource_div_26_i_16_Template, 1, 0, "i", 113);
488
+ i0.ɵɵelementStart(14, "div", 98)(15, "button", 103);
489
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_26_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.deleteList()); });
490
+ i0.ɵɵconditionalCreate(16, ListsMyListsResource_Conditional_26_Conditional_16_Template, 1, 0, "i", 100);
496
491
  i0.ɵɵtext(17);
497
492
  i0.ɵɵelementEnd();
498
- i0.ɵɵelementStart(18, "button", 119);
499
- i0.ɵɵlistener("click", function ListsMyListsResource_div_26_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
493
+ i0.ɵɵelementStart(18, "button", 104);
494
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_26_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
500
495
  i0.ɵɵtext(19, "Cancel");
501
496
  i0.ɵɵelementEnd()()();
502
497
  } if (rf & 2) {
@@ -504,14 +499,14 @@ function ListsMyListsResource_div_26_Template(rf, ctx) { if (rf & 1) {
504
499
  i0.ɵɵadvance(10);
505
500
  i0.ɵɵtextInterpolate(ctx_r2.deleteListName);
506
501
  i0.ɵɵadvance(6);
507
- i0.ɵɵproperty("ngIf", ctx_r2.isDeleting);
502
+ i0.ɵɵconditional(ctx_r2.isDeleting ? 16 : -1);
508
503
  i0.ɵɵadvance();
509
504
  i0.ɵɵtextInterpolate1(" ", ctx_r2.isDeleting ? "Deleting..." : "Delete", " ");
510
505
  } }
511
- function ListsMyListsResource_div_27_div_3_Template(rf, ctx) { if (rf & 1) {
506
+ function ListsMyListsResource_Conditional_27_For_4_Template(rf, ctx) { if (rf & 1) {
512
507
  const _r27 = i0.ɵɵgetCurrentView();
513
- i0.ɵɵelementStart(0, "div", 125);
514
- i0.ɵɵlistener("click", function ListsMyListsResource_div_27_div_3_Template_div_click_0_listener() { const entity_r28 = i0.ɵɵrestoreView(_r27).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.selectEntity(entity_r28)); });
508
+ i0.ɵɵelementStart(0, "div", 110);
509
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_27_For_4_Template_div_click_0_listener() { const entity_r28 = i0.ɵɵrestoreView(_r27).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.selectEntity(entity_r28)); });
515
510
  i0.ɵɵtext(1);
516
511
  i0.ɵɵelementEnd();
517
512
  } if (rf & 2) {
@@ -519,18 +514,19 @@ function ListsMyListsResource_div_27_div_3_Template(rf, ctx) { if (rf & 1) {
519
514
  i0.ɵɵadvance();
520
515
  i0.ɵɵtextInterpolate1(" ", entity_r28.Name, " ");
521
516
  } }
522
- function ListsMyListsResource_div_27_div_4_Template(rf, ctx) { if (rf & 1) {
523
- i0.ɵɵelementStart(0, "div", 126);
517
+ function ListsMyListsResource_Conditional_27_Conditional_5_Template(rf, ctx) { if (rf & 1) {
518
+ i0.ɵɵelementStart(0, "div", 109);
524
519
  i0.ɵɵtext(1, " No entities found ");
525
520
  i0.ɵɵelementEnd();
526
521
  } }
527
- function ListsMyListsResource_div_27_Template(rf, ctx) { if (rf & 1) {
522
+ function ListsMyListsResource_Conditional_27_Template(rf, ctx) { if (rf & 1) {
528
523
  const _r26 = i0.ɵɵgetCurrentView();
529
- i0.ɵɵelementStart(0, "div", 120)(1, "div", 121);
530
- i0.ɵɵlistener("click", function ListsMyListsResource_div_27_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeEntityDropdown()); });
524
+ i0.ɵɵelementStart(0, "div", 105)(1, "div", 106);
525
+ i0.ɵɵlistener("click", function ListsMyListsResource_Conditional_27_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeEntityDropdown()); });
531
526
  i0.ɵɵelementEnd();
532
- i0.ɵɵelementStart(2, "div", 122);
533
- i0.ɵɵtemplate(3, ListsMyListsResource_div_27_div_3_Template, 2, 1, "div", 123)(4, ListsMyListsResource_div_27_div_4_Template, 2, 0, "div", 124);
527
+ i0.ɵɵelementStart(2, "div", 107);
528
+ i0.ɵɵrepeaterCreate(3, ListsMyListsResource_Conditional_27_For_4_Template, 2, 1, "div", 108, i0.ɵɵrepeaterTrackByIdentity);
529
+ i0.ɵɵconditionalCreate(5, ListsMyListsResource_Conditional_27_Conditional_5_Template, 2, 0, "div", 109);
534
530
  i0.ɵɵelementEnd()();
535
531
  } if (rf & 2) {
536
532
  const ctx_r2 = i0.ɵɵnextContext();
@@ -539,13 +535,10 @@ function ListsMyListsResource_div_27_Template(rf, ctx) { if (rf & 1) {
539
535
  i0.ɵɵadvance(2);
540
536
  i0.ɵɵclassProp("open-above", ctx_r2.entityDropdownPosition.openAbove);
541
537
  i0.ɵɵadvance();
542
- i0.ɵɵproperty("ngForOf", ctx_r2.filteredEntities);
543
- i0.ɵɵadvance();
544
- i0.ɵɵproperty("ngIf", ctx_r2.filteredEntities.length === 0);
538
+ i0.ɵɵrepeater(ctx_r2.filteredEntities);
539
+ i0.ɵɵadvance(2);
540
+ i0.ɵɵconditional(ctx_r2.filteredEntities.length === 0 ? 5 : -1);
545
541
  } }
546
- export function LoadListsMyListsResource() {
547
- // simple tree shaker prevention
548
- }
549
542
  let ListsMyListsResource = class ListsMyListsResource extends BaseResourceComponent {
550
543
  cdr;
551
544
  tabService;
@@ -1044,8 +1037,8 @@ let ListsMyListsResource = class ListsMyListsResource extends BaseResourceCompon
1044
1037
  }
1045
1038
  static ɵfac = function ListsMyListsResource_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListsMyListsResource)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.TabService), i0.ɵɵdirectiveInject(i2.MJNotificationService), i0.ɵɵdirectiveInject(i0.ElementRef)); };
1046
1039
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsMyListsResource, selectors: [["mj-lists-my-lists-resource"]], hostBindings: function ListsMyListsResource_HostBindings(rf, ctx) { if (rf & 1) {
1047
- i0.ɵɵlistener("click", function ListsMyListsResource_click_HostBindingHandler($event) { return ctx.onDocumentClick($event); }, false, i0.ɵɵresolveDocument)("keydown.escape", function ListsMyListsResource_keydown_escape_HostBindingHandler() { return ctx.onEscapeKey(); }, false, i0.ɵɵresolveDocument);
1048
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 28, vars: 13, consts: [["categoryNodeTemplate", ""], ["entityInput", ""], [1, "lists-my-lists-container"], [1, "lists-header"], [1, "header-title"], [1, "fa-solid", "fa-list-check"], [1, "header-actions"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search lists...", 3, "ngModelChange", "ngModel"], ["class", "clear-search", 3, "click", 4, "ngIf"], [1, "btn-create", 3, "click"], [1, "fa-solid", "fa-plus"], ["class", "loading-container", 4, "ngIf"], ["class", "empty-state", 4, "ngIf"], ["class", "empty-state search-empty", 4, "ngIf"], ["class", "lists-content", 4, "ngIf"], ["class", "context-menu-overlay", 3, "click", 4, "ngIf"], ["class", "context-menu", 3, "top", "left", 4, "ngIf"], ["class", "modal-overlay", 3, "click", 4, "ngIf"], ["class", "modal-dialog", 4, "ngIf"], ["class", "modal-dialog confirm-dialog", 4, "ngIf"], ["class", "entity-dropdown-portal", 3, "top", "left", "width", "dropdown-above", 4, "ngIf"], [1, "clear-search", 3, "click"], [1, "fa-solid", "fa-times"], [1, "loading-container"], ["text", "Loading lists...", "size", "medium"], [1, "empty-state"], [1, "empty-state-icon-wrapper"], [1, "icon-bg"], [1, "empty-state-features"], [1, "feature-item"], [1, "fa-solid", "fa-check-circle"], [1, "btn-create-large", 3, "click"], [1, "empty-state", "search-empty"], [1, "empty-state-icon-wrapper", "search"], [1, "empty-hint"], [1, "btn-clear", 3, "click"], [1, "lists-content"], [1, "view-controls"], ["title", "Grid view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-grip"], ["title", "List view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-list"], [1, "list-count"], ["class", "category-tree", 4, "ngIf"], ["class", "lists-grid", "role", "list", "aria-label", "My Lists", 4, "ngIf"], [1, "category-tree"], [4, "ngFor", "ngForOf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["role", "list", "aria-label", "My Lists", 1, "lists-grid"], ["class", "list-card", "tabindex", "0", "role", "listitem", 3, "click", "keydown.enter", "keydown.space", 4, "ngFor", "ngForOf"], ["tabindex", "0", "role", "listitem", 1, "list-card", 3, "click", "keydown.enter", "keydown.space"], [1, "card-header"], ["aria-hidden", "true", 1, "card-icon"], [1, "card-menu"], [1, "menu-btn", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-ellipsis-v"], [1, "card-body"], [1, "card-title"], ["class", "card-description", 4, "ngIf"], [1, "card-meta"], [1, "meta-item"], [1, "fa-solid", "fa-database"], [1, "fa-solid", "fa-hashtag"], [1, "card-footer"], ["class", "category-tag", 4, "ngIf"], [1, "date-info"], [1, "card-description"], [1, "category-tag"], [1, "fa-solid", "fa-folder"], [1, "category-section"], ["class", "category-header", 3, "click", 4, "ngIf"], ["class", "category-header uncategorized", 3, "click", 4, "ngIf"], ["class", "category-lists", "role", "list", 4, "ngIf"], [4, "ngIf"], [1, "category-header", 3, "click"], [1, "category-name"], [1, "category-count"], [1, "category-header", "uncategorized", 3, "click"], [1, "fa-solid", "fa-inbox"], ["role", "list", 1, "category-lists"], ["class", "list-row", "tabindex", "0", "role", "listitem", 3, "click", "keydown.enter", "keydown.space", 4, "ngFor", "ngForOf"], ["tabindex", "0", "role", "listitem", 1, "list-row", 3, "click", "keydown.enter", "keydown.space"], ["aria-hidden", "true", 1, "list-icon"], [1, "list-info"], [1, "list-name"], [1, "list-meta"], [1, "list-actions"], [1, "action-btn", 3, "click"], [1, "context-menu-overlay", 3, "click"], [1, "context-menu"], [1, "menu-item", 3, "click"], [1, "fa-solid", "fa-pen"], [1, "fa-solid", "fa-copy"], [1, "menu-divider"], [1, "menu-item", "danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "modal-overlay", 3, "click"], [1, "modal-dialog"], [1, "modal-header"], [1, "modal-close", 3, "click"], [1, "modal-body"], [1, "form-group"], ["type", "text", "placeholder", "Enter list name", 1, "form-input", 3, "ngModelChange", "ngModel"], ["placeholder", "Optional description", "rows", "3", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "custom-select-wrapper"], ["type", "text", "placeholder", "Search and select an entity", 1, "form-input", 3, "ngModelChange", "focus", "ngModel", "disabled"], [1, "form-input", 3, "ngModelChange", "ngModel"], [3, "ngValue"], [3, "ngValue", 4, "ngFor", "ngForOf"], [1, "modal-footer"], [1, "btn-primary", 3, "click", "disabled"], ["class", "fa-solid fa-spinner fa-spin", 4, "ngIf"], [1, "btn-secondary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "modal-dialog", "confirm-dialog"], [1, "warning-text"], [1, "btn-danger", 3, "click"], [1, "btn-secondary", 3, "click"], [1, "entity-dropdown-portal"], [1, "entity-dropdown-backdrop", 3, "click"], [1, "entity-dropdown-content"], ["class", "dropdown-item", 3, "click", 4, "ngFor", "ngForOf"], ["class", "dropdown-empty", 4, "ngIf"], [1, "dropdown-item", 3, "click"], [1, "dropdown-empty"]], template: function ListsMyListsResource_Template(rf, ctx) { if (rf & 1) {
1040
+ i0.ɵɵlistener("click", function ListsMyListsResource_click_HostBindingHandler($event) { return ctx.onDocumentClick($event); }, i0.ɵɵresolveDocument)("keydown.escape", function ListsMyListsResource_keydown_escape_HostBindingHandler() { return ctx.onEscapeKey(); }, i0.ɵɵresolveDocument);
1041
+ } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 28, vars: 13, consts: [["categoryNodeTemplate", ""], ["entityInput", ""], [1, "lists-my-lists-container"], [1, "lists-header"], [1, "header-title"], [1, "fa-solid", "fa-list-check"], [1, "header-actions"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search lists...", 3, "ngModelChange", "ngModel"], [1, "clear-search"], [1, "btn-create", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "loading-container"], [1, "empty-state"], [1, "empty-state", "search-empty"], [1, "lists-content"], [1, "context-menu-overlay"], [1, "context-menu", 3, "top", "left"], [1, "modal-overlay"], [1, "modal-dialog"], [1, "modal-dialog", "confirm-dialog"], [1, "entity-dropdown-portal", 3, "top", "left", "width", "dropdown-above"], [1, "clear-search", 3, "click"], [1, "fa-solid", "fa-times"], ["text", "Loading lists...", "size", "medium"], [1, "empty-state-icon-wrapper"], [1, "icon-bg"], [1, "empty-state-features"], [1, "feature-item"], [1, "fa-solid", "fa-check-circle"], [1, "btn-create-large", 3, "click"], [1, "empty-state-icon-wrapper", "search"], [1, "empty-hint"], [1, "btn-clear", 3, "click"], [1, "view-controls"], ["title", "Grid view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-grip"], ["title", "List view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-list"], [1, "list-count"], [1, "category-tree"], ["role", "list", "aria-label", "My Lists", 1, "lists-grid"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["tabindex", "0", "role", "listitem", 1, "list-card"], ["tabindex", "0", "role", "listitem", 1, "list-card", 3, "click", "keydown.enter", "keydown.space"], [1, "card-header"], ["aria-hidden", "true", 1, "card-icon"], [1, "card-menu"], [1, "menu-btn", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-ellipsis-v"], [1, "card-body"], [1, "card-title"], [1, "card-description"], [1, "card-meta"], [1, "meta-item"], [1, "fa-solid", "fa-database"], [1, "fa-solid", "fa-hashtag"], [1, "card-footer"], [1, "category-tag"], [1, "date-info"], [1, "fa-solid", "fa-folder"], [1, "category-section"], [1, "category-header"], [1, "category-header", "uncategorized"], ["role", "list", 1, "category-lists"], [1, "category-header", 3, "click"], [1, "category-name"], [1, "category-count"], [1, "category-header", "uncategorized", 3, "click"], [1, "fa-solid", "fa-inbox"], ["tabindex", "0", "role", "listitem", 1, "list-row"], ["tabindex", "0", "role", "listitem", 1, "list-row", 3, "click", "keydown.enter", "keydown.space"], ["aria-hidden", "true", 1, "list-icon"], [1, "list-info"], [1, "list-name"], [1, "list-meta"], [1, "list-actions"], [1, "action-btn", 3, "click"], [1, "context-menu-overlay", 3, "click"], [1, "context-menu"], [1, "menu-item", 3, "click"], [1, "fa-solid", "fa-pen"], [1, "fa-solid", "fa-copy"], [1, "menu-divider"], [1, "menu-item", "danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "modal-overlay", 3, "click"], [1, "modal-header"], [1, "modal-close", 3, "click"], [1, "modal-body"], [1, "form-group"], ["type", "text", "placeholder", "Enter list name", 1, "form-input", 3, "ngModelChange", "ngModel"], ["placeholder", "Optional description", "rows", "3", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "custom-select-wrapper"], ["type", "text", "placeholder", "Search and select an entity", 1, "form-input", 3, "ngModelChange", "focus", "ngModel", "disabled"], [1, "form-input", 3, "ngModelChange", "ngModel"], [3, "ngValue"], [1, "modal-footer"], [1, "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "btn-secondary", 3, "click", "disabled"], [1, "warning-text"], [1, "btn-danger", 3, "click"], [1, "btn-secondary", 3, "click"], [1, "entity-dropdown-portal"], [1, "entity-dropdown-backdrop", 3, "click"], [1, "entity-dropdown-content"], [1, "dropdown-item"], [1, "dropdown-empty"], [1, "dropdown-item", 3, "click"]], template: function ListsMyListsResource_Template(rf, ctx) { if (rf & 1) {
1049
1042
  const _r1 = i0.ɵɵgetCurrentView();
1050
1043
  i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4);
1051
1044
  i0.ɵɵelement(3, "i", 5);
@@ -1058,7 +1051,7 @@ let ListsMyListsResource = class ListsMyListsResource extends BaseResourceCompon
1058
1051
  i0.ɵɵtwoWayListener("ngModelChange", function ListsMyListsResource_Template_input_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.searchTerm, $event) || (ctx.searchTerm = $event); return i0.ɵɵresetView($event); });
1059
1052
  i0.ɵɵlistener("ngModelChange", function ListsMyListsResource_Template_input_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSearchChange($event)); });
1060
1053
  i0.ɵɵelementEnd();
1061
- i0.ɵɵtemplate(10, ListsMyListsResource_button_10_Template, 2, 0, "button", 10);
1054
+ i0.ɵɵconditionalCreate(10, ListsMyListsResource_Conditional_10_Template, 2, 0, "button", 10);
1062
1055
  i0.ɵɵelementEnd();
1063
1056
  i0.ɵɵelementStart(11, "button", 11);
1064
1057
  i0.ɵɵlistener("click", function ListsMyListsResource_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.createNewList()); });
@@ -1066,36 +1059,47 @@ let ListsMyListsResource = class ListsMyListsResource extends BaseResourceCompon
1066
1059
  i0.ɵɵelementStart(13, "span");
1067
1060
  i0.ɵɵtext(14, "New List");
1068
1061
  i0.ɵɵelementEnd()()()();
1069
- i0.ɵɵtemplate(15, ListsMyListsResource_div_15_Template, 2, 0, "div", 13)(16, ListsMyListsResource_div_16_Template, 24, 0, "div", 14)(17, ListsMyListsResource_div_17_Template, 14, 1, "div", 15)(18, ListsMyListsResource_div_18_Template, 10, 8, "div", 16)(19, ListsMyListsResource_ng_template_19_Template, 5, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(21, ListsMyListsResource_div_21_Template, 1, 0, "div", 17)(22, ListsMyListsResource_div_22_Template, 11, 4, "div", 18)(23, ListsMyListsResource_div_23_Template, 1, 0, "div", 19)(24, ListsMyListsResource_div_24_Template, 34, 12, "div", 20)(25, ListsMyListsResource_div_25_Template, 1, 0, "div", 19)(26, ListsMyListsResource_div_26_Template, 20, 3, "div", 21)(27, ListsMyListsResource_div_27_Template, 5, 12, "div", 22);
1062
+ i0.ɵɵconditionalCreate(15, ListsMyListsResource_Conditional_15_Template, 2, 0, "div", 13);
1063
+ i0.ɵɵconditionalCreate(16, ListsMyListsResource_Conditional_16_Template, 24, 0, "div", 14);
1064
+ i0.ɵɵconditionalCreate(17, ListsMyListsResource_Conditional_17_Template, 14, 1, "div", 15);
1065
+ i0.ɵɵconditionalCreate(18, ListsMyListsResource_Conditional_18_Template, 10, 8, "div", 16);
1066
+ i0.ɵɵtemplate(19, ListsMyListsResource_ng_template_19_Template, 5, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
1067
+ i0.ɵɵconditionalCreate(21, ListsMyListsResource_Conditional_21_Template, 1, 0, "div", 17);
1068
+ i0.ɵɵconditionalCreate(22, ListsMyListsResource_Conditional_22_Template, 11, 4, "div", 18);
1069
+ i0.ɵɵconditionalCreate(23, ListsMyListsResource_Conditional_23_Template, 1, 0, "div", 19);
1070
+ i0.ɵɵconditionalCreate(24, ListsMyListsResource_Conditional_24_Template, 35, 11, "div", 20);
1071
+ i0.ɵɵconditionalCreate(25, ListsMyListsResource_Conditional_25_Template, 1, 0, "div", 19);
1072
+ i0.ɵɵconditionalCreate(26, ListsMyListsResource_Conditional_26_Template, 20, 3, "div", 21);
1073
+ i0.ɵɵconditionalCreate(27, ListsMyListsResource_Conditional_27_Template, 6, 11, "div", 22);
1070
1074
  i0.ɵɵelementEnd();
1071
1075
  } if (rf & 2) {
1072
1076
  i0.ɵɵadvance(9);
1073
1077
  i0.ɵɵtwoWayProperty("ngModel", ctx.searchTerm);
1074
1078
  i0.ɵɵadvance();
1075
- i0.ɵɵproperty("ngIf", ctx.searchTerm);
1079
+ i0.ɵɵconditional(ctx.searchTerm ? 10 : -1);
1076
1080
  i0.ɵɵadvance(5);
1077
- i0.ɵɵproperty("ngIf", ctx.isLoading);
1081
+ i0.ɵɵconditional(ctx.isLoading ? 15 : -1);
1078
1082
  i0.ɵɵadvance();
1079
- i0.ɵɵproperty("ngIf", !ctx.isLoading && ctx.filteredLists.length === 0 && !ctx.searchTerm);
1083
+ i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length === 0 && !ctx.searchTerm ? 16 : -1);
1080
1084
  i0.ɵɵadvance();
1081
- i0.ɵɵproperty("ngIf", !ctx.isLoading && ctx.filteredLists.length === 0 && ctx.searchTerm);
1085
+ i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length === 0 && ctx.searchTerm ? 17 : -1);
1082
1086
  i0.ɵɵadvance();
1083
- i0.ɵɵproperty("ngIf", !ctx.isLoading && ctx.filteredLists.length > 0);
1087
+ i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length > 0 ? 18 : -1);
1084
1088
  i0.ɵɵadvance(3);
1085
- i0.ɵɵproperty("ngIf", ctx.showContextMenu);
1089
+ i0.ɵɵconditional(ctx.showContextMenu ? 21 : -1);
1086
1090
  i0.ɵɵadvance();
1087
- i0.ɵɵproperty("ngIf", ctx.showContextMenu);
1091
+ i0.ɵɵconditional(ctx.showContextMenu ? 22 : -1);
1088
1092
  i0.ɵɵadvance();
1089
- i0.ɵɵproperty("ngIf", ctx.showCreateDialog);
1093
+ i0.ɵɵconditional(ctx.showCreateDialog ? 23 : -1);
1090
1094
  i0.ɵɵadvance();
1091
- i0.ɵɵproperty("ngIf", ctx.showCreateDialog);
1095
+ i0.ɵɵconditional(ctx.showCreateDialog ? 24 : -1);
1092
1096
  i0.ɵɵadvance();
1093
- i0.ɵɵproperty("ngIf", ctx.showDeleteConfirm);
1097
+ i0.ɵɵconditional(ctx.showDeleteConfirm ? 25 : -1);
1094
1098
  i0.ɵɵadvance();
1095
- i0.ɵɵproperty("ngIf", ctx.showDeleteConfirm);
1099
+ i0.ɵɵconditional(ctx.showDeleteConfirm ? 26 : -1);
1096
1100
  i0.ɵɵadvance();
1097
- i0.ɵɵproperty("ngIf", ctx.showEntityDropdown && !ctx.editingList);
1098
- } }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgModel, i5.LoadingComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-my-lists-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .lists-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: #999;\n }\n\n .search-box input {\n padding: 8px 36px 8px 36px;\n border: 1px solid #ddd;\n border-radius: 20px;\n font-size: 14px;\n width: 250px;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px;\n }\n\n .clear-search:hover {\n color: #666;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: #1976D2;\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: #999 !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .search-empty .empty-state-icon-wrapper {\n margin-bottom: 20px;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\n }\n\n /* Content */\n .lists-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .view-controls {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .view-toggle {\n padding: 8px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 4px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:hover {\n background: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n border-color: #2196F3;\n color: white;\n }\n\n .list-count {\n margin-left: auto;\n color: #999;\n font-size: 14px;\n }\n\n /* Grid View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #999;\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid #f0f0f0;\n background: #fafafa;\n }\n\n .category-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n background: #e8f4fd;\n padding: 2px 8px;\n border-radius: 4px;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\n }\n\n /* Category Tree */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\n }\n\n .list-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e3f2fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-icon {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-name {\n display: block;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .list-row:hover .action-btn {\n opacity: 1;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Context Menu (native) */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: #333;\n }\n\n .warning-text {\n color: #d32f2f !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: #c62828;\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown - Fixed positioning to escape modal z-index */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002; /* Above modal (1001) */\n }\n\n .entity-dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: #999;\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .lists-header {\n flex-direction: column;\n gap: 16px;\n align-items: stretch;\n }\n\n .header-actions {\n flex-direction: column;\n }\n\n .search-box input {\n width: 100%;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
1101
+ i0.ɵɵconditional(ctx.showEntityDropdown && !ctx.editingList ? 27 : -1);
1102
+ } }, dependencies: [i3.NgTemplateOutlet, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgModel, i5.LoadingComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-my-lists-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .lists-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: #999;\n }\n\n .search-box input {\n padding: 8px 36px 8px 36px;\n border: 1px solid #ddd;\n border-radius: 20px;\n font-size: 14px;\n width: 250px;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px;\n }\n\n .clear-search:hover {\n color: #666;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: #1976D2;\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: #999 !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .search-empty .empty-state-icon-wrapper {\n margin-bottom: 20px;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\n }\n\n /* Content */\n .lists-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .view-controls {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .view-toggle {\n padding: 8px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 4px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:hover {\n background: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n border-color: #2196F3;\n color: white;\n }\n\n .list-count {\n margin-left: auto;\n color: #999;\n font-size: 14px;\n }\n\n /* Grid View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #999;\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid #f0f0f0;\n background: #fafafa;\n }\n\n .category-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n background: #e8f4fd;\n padding: 2px 8px;\n border-radius: 4px;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\n }\n\n /* Category Tree */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\n }\n\n .list-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e3f2fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-icon {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-name {\n display: block;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .list-row:hover .action-btn {\n opacity: 1;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Context Menu (native) */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: #333;\n }\n\n .warning-text {\n color: #d32f2f !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: #c62828;\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown - Fixed positioning to escape modal z-index */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002; /* Above modal (1001) */\n }\n\n .entity-dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: #999;\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .lists-header {\n flex-direction: column;\n gap: 16px;\n align-items: stretch;\n }\n\n .header-actions {\n flex-direction: column;\n }\n\n .search-box input {\n width: 100%;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
1099
1103
  };
1100
1104
  ListsMyListsResource = __decorate([
1101
1105
  RegisterClass(BaseResourceComponent, 'ListsMyListsResource')
@@ -1103,7 +1107,7 @@ ListsMyListsResource = __decorate([
1103
1107
  export { ListsMyListsResource };
1104
1108
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListsMyListsResource, [{
1105
1109
  type: Component,
1106
- args: [{ selector: 'mj-lists-my-lists-resource', template: `
1110
+ args: [{ standalone: false, selector: 'mj-lists-my-lists-resource', template: `
1107
1111
  <div class="lists-my-lists-container">
1108
1112
  <!-- Header -->
1109
1113
  <div class="lists-header">
@@ -1119,9 +1123,11 @@ export { ListsMyListsResource };
1119
1123
  placeholder="Search lists..."
1120
1124
  [(ngModel)]="searchTerm"
1121
1125
  (ngModelChange)="onSearchChange($event)" />
1122
- <button *ngIf="searchTerm" class="clear-search" (click)="clearSearch()">
1123
- <i class="fa-solid fa-times"></i>
1124
- </button>
1126
+ @if (searchTerm) {
1127
+ <button class="clear-search" (click)="clearSearch()">
1128
+ <i class="fa-solid fa-times"></i>
1129
+ </button>
1130
+ }
1125
1131
  </div>
1126
1132
  <button class="btn-create" (click)="createNewList()">
1127
1133
  <i class="fa-solid fa-plus"></i>
@@ -1129,308 +1135,350 @@ export { ListsMyListsResource };
1129
1135
  </button>
1130
1136
  </div>
1131
1137
  </div>
1132
-
1138
+
1133
1139
  <!-- Loading State -->
1134
- <div class="loading-container" *ngIf="isLoading">
1135
- <mj-loading text="Loading lists..." size="medium"></mj-loading>
1136
- </div>
1137
-
1138
- <!-- Empty State -->
1139
- <div class="empty-state" *ngIf="!isLoading && filteredLists.length === 0 && !searchTerm">
1140
- <div class="empty-state-icon-wrapper">
1141
- <div class="icon-bg"></div>
1142
- <i class="fa-solid fa-list-check"></i>
1140
+ @if (isLoading) {
1141
+ <div class="loading-container">
1142
+ <mj-loading text="Loading lists..." size="medium"></mj-loading>
1143
1143
  </div>
1144
- <h3>No Lists Yet</h3>
1145
- <p>Lists help you organize and track groups of records across your data.</p>
1146
- <div class="empty-state-features">
1147
- <div class="feature-item">
1148
- <i class="fa-solid fa-check-circle"></i>
1149
- <span>Group records from any entity</span>
1150
- </div>
1151
- <div class="feature-item">
1152
- <i class="fa-solid fa-check-circle"></i>
1153
- <span>Organize with categories</span>
1144
+ }
1145
+
1146
+ <!-- Empty State -->
1147
+ @if (!isLoading && filteredLists.length === 0 && !searchTerm) {
1148
+ <div class="empty-state">
1149
+ <div class="empty-state-icon-wrapper">
1150
+ <div class="icon-bg"></div>
1151
+ <i class="fa-solid fa-list-check"></i>
1154
1152
  </div>
1155
- <div class="feature-item">
1156
- <i class="fa-solid fa-check-circle"></i>
1157
- <span>Quick access from any view</span>
1153
+ <h3>No Lists Yet</h3>
1154
+ <p>Lists help you organize and track groups of records across your data.</p>
1155
+ <div class="empty-state-features">
1156
+ <div class="feature-item">
1157
+ <i class="fa-solid fa-check-circle"></i>
1158
+ <span>Group records from any entity</span>
1159
+ </div>
1160
+ <div class="feature-item">
1161
+ <i class="fa-solid fa-check-circle"></i>
1162
+ <span>Organize with categories</span>
1163
+ </div>
1164
+ <div class="feature-item">
1165
+ <i class="fa-solid fa-check-circle"></i>
1166
+ <span>Quick access from any view</span>
1167
+ </div>
1158
1168
  </div>
1169
+ <button class="btn-create-large" (click)="createNewList()">
1170
+ <i class="fa-solid fa-plus"></i>
1171
+ Create Your First List
1172
+ </button>
1159
1173
  </div>
1160
- <button class="btn-create-large" (click)="createNewList()">
1161
- <i class="fa-solid fa-plus"></i>
1162
- Create Your First List
1163
- </button>
1164
- </div>
1165
-
1174
+ }
1175
+
1166
1176
  <!-- No Results State -->
1167
- <div class="empty-state search-empty" *ngIf="!isLoading && filteredLists.length === 0 && searchTerm">
1168
- <div class="empty-state-icon-wrapper search">
1169
- <i class="fa-solid fa-search"></i>
1177
+ @if (!isLoading && filteredLists.length === 0 && searchTerm) {
1178
+ <div class="empty-state search-empty">
1179
+ <div class="empty-state-icon-wrapper search">
1180
+ <i class="fa-solid fa-search"></i>
1181
+ </div>
1182
+ <h3>No Results Found</h3>
1183
+ <p>No lists match "<strong>{{searchTerm}}</strong>"</p>
1184
+ <p class="empty-hint">Try a different search term or clear your search.</p>
1185
+ <button class="btn-clear" (click)="clearSearch()">Clear Search</button>
1170
1186
  </div>
1171
- <h3>No Results Found</h3>
1172
- <p>No lists match "<strong>{{searchTerm}}</strong>"</p>
1173
- <p class="empty-hint">Try a different search term or clear your search.</p>
1174
- <button class="btn-clear" (click)="clearSearch()">Clear Search</button>
1175
- </div>
1176
-
1187
+ }
1188
+
1177
1189
  <!-- Lists Grid -->
1178
- <div class="lists-content" *ngIf="!isLoading && filteredLists.length > 0">
1179
- <!-- View Toggle -->
1180
- <div class="view-controls">
1181
- <button
1182
- class="view-toggle"
1183
- [class.active]="viewMode === 'grid'"
1184
- (click)="viewMode = 'grid'"
1185
- title="Grid view">
1186
- <i class="fa-solid fa-grip"></i>
1187
- </button>
1188
- <button
1189
- class="view-toggle"
1190
- [class.active]="viewMode === 'list'"
1191
- (click)="viewMode = 'list'"
1192
- title="List view">
1193
- <i class="fa-solid fa-list"></i>
1194
- </button>
1195
- <span class="list-count">{{filteredLists.length}} list{{filteredLists.length !== 1 ? 's' : ''}}</span>
1196
- </div>
1197
-
1198
- <!-- Category Tree View -->
1199
- <div class="category-tree" *ngIf="viewMode === 'list'">
1200
- <ng-container *ngFor="let node of categoryTree">
1201
- <ng-container *ngTemplateOutlet="categoryNodeTemplate; context: { node: node, depth: 0 }"></ng-container>
1202
- </ng-container>
1203
- </div>
1204
-
1205
- <!-- Grid View -->
1206
- <div class="lists-grid" *ngIf="viewMode === 'grid'" role="list" aria-label="My Lists">
1207
- <div
1208
- class="list-card"
1209
- *ngFor="let item of filteredLists"
1210
- (click)="openList(item.list)"
1211
- (keydown.enter)="openList(item.list)"
1212
- (keydown.space)="openList(item.list); $event.preventDefault()"
1213
- tabindex="0"
1214
- role="listitem"
1215
- [attr.aria-label]="item.list.Name + ' - ' + item.entityName + ' - ' + item.itemCount + ' items'">
1216
- <div class="card-header">
1217
- <div class="card-icon" [style.background-color]="getEntityColor(item.list.Entity)" aria-hidden="true">
1218
- <i [class]="getEntityIcon(item.list.Entity)"></i>
1219
- </div>
1220
- <div class="card-menu">
1221
- <button class="menu-btn" (click)="openListMenu($event, item.list)" [attr.aria-label]="'More options for ' + item.list.Name">
1222
- <i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
1223
- </button>
1224
- </div>
1225
- </div>
1226
- <div class="card-body">
1227
- <h3 class="card-title">{{item.list.Name}}</h3>
1228
- <p class="card-description" *ngIf="item.list.Description">{{item.list.Description}}</p>
1229
- <div class="card-meta">
1230
- <span class="meta-item">
1231
- <i class="fa-solid fa-database"></i>
1232
- {{item.entityName}}
1233
- </span>
1234
- <span class="meta-item">
1235
- <i class="fa-solid fa-hashtag"></i>
1236
- {{item.itemCount}} item{{item.itemCount !== 1 ? 's' : ''}}
1237
- </span>
1238
- </div>
1190
+ @if (!isLoading && filteredLists.length > 0) {
1191
+ <div class="lists-content">
1192
+ <!-- View Toggle -->
1193
+ <div class="view-controls">
1194
+ <button
1195
+ class="view-toggle"
1196
+ [class.active]="viewMode === 'grid'"
1197
+ (click)="viewMode = 'grid'"
1198
+ title="Grid view">
1199
+ <i class="fa-solid fa-grip"></i>
1200
+ </button>
1201
+ <button
1202
+ class="view-toggle"
1203
+ [class.active]="viewMode === 'list'"
1204
+ (click)="viewMode = 'list'"
1205
+ title="List view">
1206
+ <i class="fa-solid fa-list"></i>
1207
+ </button>
1208
+ <span class="list-count">{{filteredLists.length}} list{{filteredLists.length !== 1 ? 's' : ''}}</span>
1209
+ </div>
1210
+ <!-- Category Tree View -->
1211
+ @if (viewMode === 'list') {
1212
+ <div class="category-tree">
1213
+ @for (node of categoryTree; track node) {
1214
+ <ng-container *ngTemplateOutlet="categoryNodeTemplate; context: { node: node, depth: 0 }"></ng-container>
1215
+ }
1239
1216
  </div>
1240
- <div class="card-footer">
1241
- <span class="category-tag" *ngIf="item.list.CategoryID">
1242
- <i class="fa-solid fa-folder"></i>
1243
- {{getCategoryName(item.list.CategoryID)}}
1244
- </span>
1245
- <span class="date-info">Updated {{formatDate(item.list.__mj_UpdatedAt)}}</span>
1217
+ }
1218
+ <!-- Grid View -->
1219
+ @if (viewMode === 'grid') {
1220
+ <div class="lists-grid" role="list" aria-label="My Lists">
1221
+ @for (item of filteredLists; track item) {
1222
+ <div
1223
+ class="list-card"
1224
+ (click)="openList(item.list)"
1225
+ (keydown.enter)="openList(item.list)"
1226
+ (keydown.space)="openList(item.list); $event.preventDefault()"
1227
+ tabindex="0"
1228
+ role="listitem"
1229
+ [attr.aria-label]="item.list.Name + ' - ' + item.entityName + ' - ' + item.itemCount + ' items'">
1230
+ <div class="card-header">
1231
+ <div class="card-icon" [style.background-color]="getEntityColor(item.list.Entity)" aria-hidden="true">
1232
+ <i [class]="getEntityIcon(item.list.Entity)"></i>
1233
+ </div>
1234
+ <div class="card-menu">
1235
+ <button class="menu-btn" (click)="openListMenu($event, item.list)" [attr.aria-label]="'More options for ' + item.list.Name">
1236
+ <i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
1237
+ </button>
1238
+ </div>
1239
+ </div>
1240
+ <div class="card-body">
1241
+ <h3 class="card-title">{{item.list.Name}}</h3>
1242
+ @if (item.list.Description) {
1243
+ <p class="card-description">{{item.list.Description}}</p>
1244
+ }
1245
+ <div class="card-meta">
1246
+ <span class="meta-item">
1247
+ <i class="fa-solid fa-database"></i>
1248
+ {{item.entityName}}
1249
+ </span>
1250
+ <span class="meta-item">
1251
+ <i class="fa-solid fa-hashtag"></i>
1252
+ {{item.itemCount}} item{{item.itemCount !== 1 ? 's' : ''}}
1253
+ </span>
1254
+ </div>
1255
+ </div>
1256
+ <div class="card-footer">
1257
+ @if (item.list.CategoryID) {
1258
+ <span class="category-tag">
1259
+ <i class="fa-solid fa-folder"></i>
1260
+ {{getCategoryName(item.list.CategoryID)}}
1261
+ </span>
1262
+ }
1263
+ <span class="date-info">Updated {{formatDate(item.list.__mj_UpdatedAt)}}</span>
1264
+ </div>
1265
+ </div>
1266
+ }
1246
1267
  </div>
1247
- </div>
1268
+ }
1248
1269
  </div>
1249
- </div>
1250
-
1270
+ }
1271
+
1251
1272
  <!-- Category Node Template -->
1252
1273
  <ng-template #categoryNodeTemplate let-node="node" let-depth="depth">
1253
1274
  <div class="category-section" [style.margin-left.px]="depth * 20">
1254
1275
  <!-- Category Header -->
1255
- <div
1256
- class="category-header"
1257
- *ngIf="node.category"
1258
- (click)="toggleCategory(node)">
1259
- <i [class]="node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'"></i>
1260
- <i class="fa-solid fa-folder" [class.fa-folder-open]="node.isExpanded"></i>
1261
- <span class="category-name">{{node.category.Name}}</span>
1262
- <span class="category-count">{{getListCountInCategory(node)}}</span>
1263
- </div>
1264
-
1276
+ @if (node.category) {
1277
+ <div
1278
+ class="category-header"
1279
+ (click)="toggleCategory(node)">
1280
+ <i [class]="node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'"></i>
1281
+ <i class="fa-solid fa-folder" [class.fa-folder-open]="node.isExpanded"></i>
1282
+ <span class="category-name">{{node.category.Name}}</span>
1283
+ <span class="category-count">{{getListCountInCategory(node)}}</span>
1284
+ </div>
1285
+ }
1286
+
1265
1287
  <!-- Uncategorized Header -->
1266
- <div
1267
- class="category-header uncategorized"
1268
- *ngIf="!node.category && node.lists.length > 0"
1269
- (click)="toggleCategory(node)">
1270
- <i [class]="node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'"></i>
1271
- <i class="fa-solid fa-inbox"></i>
1272
- <span class="category-name">Uncategorized</span>
1273
- <span class="category-count">{{node.lists.length}}</span>
1274
- </div>
1275
-
1276
- <!-- Lists in this category -->
1277
- <div class="category-lists" *ngIf="node.isExpanded" role="list">
1288
+ @if (!node.category && node.lists.length > 0) {
1278
1289
  <div
1279
- class="list-row"
1280
- *ngFor="let item of node.lists"
1281
- (click)="openList(item.list)"
1282
- (keydown.enter)="openList(item.list)"
1283
- (keydown.space)="openList(item.list); $event.preventDefault()"
1284
- tabindex="0"
1285
- role="listitem"
1286
- [attr.aria-label]="item.list.Name + ' - ' + item.entityName + ' - ' + item.itemCount + ' items'">
1287
- <div class="list-icon" [style.background-color]="getEntityColor(item.list.Entity)" aria-hidden="true">
1288
- <i [class]="getEntityIcon(item.list.Entity)"></i>
1289
- </div>
1290
- <div class="list-info">
1291
- <span class="list-name">{{item.list.Name}}</span>
1292
- <span class="list-meta">{{item.entityName}} &middot; {{item.itemCount}} items</span>
1293
- </div>
1294
- <div class="list-actions">
1295
- <button class="action-btn" (click)="openListMenu($event, item.list)" [attr.aria-label]="'More options for ' + item.list.Name">
1296
- <i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
1297
- </button>
1298
- </div>
1290
+ class="category-header uncategorized"
1291
+ (click)="toggleCategory(node)">
1292
+ <i [class]="node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'"></i>
1293
+ <i class="fa-solid fa-inbox"></i>
1294
+ <span class="category-name">Uncategorized</span>
1295
+ <span class="category-count">{{node.lists.length}}</span>
1299
1296
  </div>
1300
- </div>
1301
-
1297
+ }
1298
+
1299
+ <!-- Lists in this category -->
1300
+ @if (node.isExpanded) {
1301
+ <div class="category-lists" role="list">
1302
+ @for (item of node.lists; track item) {
1303
+ <div
1304
+ class="list-row"
1305
+ (click)="openList(item.list)"
1306
+ (keydown.enter)="openList(item.list)"
1307
+ (keydown.space)="openList(item.list); $event.preventDefault()"
1308
+ tabindex="0"
1309
+ role="listitem"
1310
+ [attr.aria-label]="item.list.Name + ' - ' + item.entityName + ' - ' + item.itemCount + ' items'">
1311
+ <div class="list-icon" [style.background-color]="getEntityColor(item.list.Entity)" aria-hidden="true">
1312
+ <i [class]="getEntityIcon(item.list.Entity)"></i>
1313
+ </div>
1314
+ <div class="list-info">
1315
+ <span class="list-name">{{item.list.Name}}</span>
1316
+ <span class="list-meta">{{item.entityName}} &middot; {{item.itemCount}} items</span>
1317
+ </div>
1318
+ <div class="list-actions">
1319
+ <button class="action-btn" (click)="openListMenu($event, item.list)" [attr.aria-label]="'More options for ' + item.list.Name">
1320
+ <i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
1321
+ </button>
1322
+ </div>
1323
+ </div>
1324
+ }
1325
+ </div>
1326
+ }
1327
+
1302
1328
  <!-- Child categories -->
1303
- <ng-container *ngIf="node.isExpanded">
1304
- <ng-container *ngFor="let child of node.children">
1329
+ @if (node.isExpanded) {
1330
+ @for (child of node.children; track child) {
1305
1331
  <ng-container *ngTemplateOutlet="categoryNodeTemplate; context: { node: child, depth: depth + 1 }"></ng-container>
1306
- </ng-container>
1307
- </ng-container>
1332
+ }
1333
+ }
1308
1334
  </div>
1309
1335
  </ng-template>
1310
-
1336
+
1311
1337
  <!-- Context Menu (native) -->
1312
- <div class="context-menu-overlay" *ngIf="showContextMenu" (click)="closeContextMenu()"></div>
1313
- <div class="context-menu" *ngIf="showContextMenu" [style.top.px]="contextMenuY" [style.left.px]="contextMenuX">
1314
- <button class="menu-item" (click)="editList()">
1315
- <i class="fa-solid fa-pen"></i>
1316
- Edit
1317
- </button>
1318
- <button class="menu-item" (click)="duplicateList()">
1319
- <i class="fa-solid fa-copy"></i>
1320
- Duplicate
1321
- </button>
1322
- <div class="menu-divider"></div>
1323
- <button class="menu-item danger" (click)="confirmDeleteList()">
1324
- <i class="fa-solid fa-trash"></i>
1325
- Delete
1326
- </button>
1327
- </div>
1328
-
1329
- <!-- Create/Edit List Dialog (native modal) -->
1330
- <div class="modal-overlay" *ngIf="showCreateDialog" (click)="closeCreateDialog()"></div>
1331
- <div class="modal-dialog" *ngIf="showCreateDialog">
1332
- <div class="modal-header">
1333
- <h3>{{editingList ? 'Edit List' : 'Create New List'}}</h3>
1334
- <button class="modal-close" (click)="closeCreateDialog()">
1335
- <i class="fa-solid fa-times"></i>
1338
+ @if (showContextMenu) {
1339
+ <div class="context-menu-overlay" (click)="closeContextMenu()"></div>
1340
+ }
1341
+ @if (showContextMenu) {
1342
+ <div class="context-menu" [style.top.px]="contextMenuY" [style.left.px]="contextMenuX">
1343
+ <button class="menu-item" (click)="editList()">
1344
+ <i class="fa-solid fa-pen"></i>
1345
+ Edit
1346
+ </button>
1347
+ <button class="menu-item" (click)="duplicateList()">
1348
+ <i class="fa-solid fa-copy"></i>
1349
+ Duplicate
1350
+ </button>
1351
+ <div class="menu-divider"></div>
1352
+ <button class="menu-item danger" (click)="confirmDeleteList()">
1353
+ <i class="fa-solid fa-trash"></i>
1354
+ Delete
1336
1355
  </button>
1337
1356
  </div>
1338
- <div class="modal-body">
1339
- <div class="form-group">
1340
- <label>Name *</label>
1341
- <input
1342
- type="text"
1343
- [(ngModel)]="newListName"
1344
- placeholder="Enter list name"
1345
- class="form-input" />
1346
- </div>
1347
- <div class="form-group">
1348
- <label>Description</label>
1349
- <textarea
1350
- [(ngModel)]="newListDescription"
1351
- placeholder="Optional description"
1352
- class="form-input"
1353
- rows="3"></textarea>
1357
+ }
1358
+
1359
+ <!-- Create/Edit List Dialog (native modal) -->
1360
+ @if (showCreateDialog) {
1361
+ <div class="modal-overlay" (click)="closeCreateDialog()"></div>
1362
+ }
1363
+ @if (showCreateDialog) {
1364
+ <div class="modal-dialog">
1365
+ <div class="modal-header">
1366
+ <h3>{{editingList ? 'Edit List' : 'Create New List'}}</h3>
1367
+ <button class="modal-close" (click)="closeCreateDialog()">
1368
+ <i class="fa-solid fa-times"></i>
1369
+ </button>
1354
1370
  </div>
1355
- <div class="form-group">
1356
- <label>Entity *</label>
1357
- <div class="custom-select-wrapper">
1371
+ <div class="modal-body">
1372
+ <div class="form-group">
1373
+ <label>Name *</label>
1358
1374
  <input
1359
- #entityInput
1360
1375
  type="text"
1361
- [(ngModel)]="entitySearchTerm"
1362
- (ngModelChange)="filterEntities($event)"
1363
- (focus)="openEntityDropdown(entityInput)"
1364
- placeholder="Search and select an entity"
1376
+ [(ngModel)]="newListName"
1377
+ placeholder="Enter list name"
1378
+ class="form-input" />
1379
+ </div>
1380
+ <div class="form-group">
1381
+ <label>Description</label>
1382
+ <textarea
1383
+ [(ngModel)]="newListDescription"
1384
+ placeholder="Optional description"
1365
1385
  class="form-input"
1366
- [disabled]="!!editingList" />
1386
+ rows="3"></textarea>
1387
+ </div>
1388
+ <div class="form-group">
1389
+ <label>Entity *</label>
1390
+ <div class="custom-select-wrapper">
1391
+ <input
1392
+ #entityInput
1393
+ type="text"
1394
+ [(ngModel)]="entitySearchTerm"
1395
+ (ngModelChange)="filterEntities($event)"
1396
+ (focus)="openEntityDropdown(entityInput)"
1397
+ placeholder="Search and select an entity"
1398
+ class="form-input"
1399
+ [disabled]="!!editingList" />
1400
+ </div>
1401
+ </div>
1402
+ <div class="form-group">
1403
+ <label>Category</label>
1404
+ <select [(ngModel)]="selectedCategoryId" class="form-input">
1405
+ <option [ngValue]="null">No category</option>
1406
+ @for (cat of flatCategories; track cat) {
1407
+ <option [ngValue]="cat.ID">{{cat.displayName}}</option>
1408
+ }
1409
+ </select>
1367
1410
  </div>
1368
1411
  </div>
1369
- <div class="form-group">
1370
- <label>Category</label>
1371
- <select [(ngModel)]="selectedCategoryId" class="form-input">
1372
- <option [ngValue]="null">No category</option>
1373
- <option *ngFor="let cat of flatCategories" [ngValue]="cat.ID">{{cat.displayName}}</option>
1374
- </select>
1412
+ <div class="modal-footer">
1413
+ <button
1414
+ class="btn-primary"
1415
+ (click)="saveList()"
1416
+ [disabled]="!newListName || !selectedEntityId || isSaving">
1417
+ @if (isSaving) {
1418
+ <i class="fa-solid fa-spinner fa-spin"></i>
1419
+ }
1420
+ {{isSaving ? 'Saving...' : (editingList ? 'Save' : 'Create')}}
1421
+ </button>
1422
+ <button class="btn-secondary" (click)="closeCreateDialog()" [disabled]="isSaving">Cancel</button>
1375
1423
  </div>
1376
1424
  </div>
1377
- <div class="modal-footer">
1378
- <button
1379
- class="btn-primary"
1380
- (click)="saveList()"
1381
- [disabled]="!newListName || !selectedEntityId || isSaving">
1382
- <i *ngIf="isSaving" class="fa-solid fa-spinner fa-spin"></i>
1383
- {{isSaving ? 'Saving...' : (editingList ? 'Save' : 'Create')}}
1384
- </button>
1385
- <button class="btn-secondary" (click)="closeCreateDialog()" [disabled]="isSaving">Cancel</button>
1386
- </div>
1387
- </div>
1388
-
1425
+ }
1426
+
1389
1427
  <!-- Delete Confirmation Dialog -->
1390
- <div class="modal-overlay" *ngIf="showDeleteConfirm" (click)="cancelDelete()"></div>
1391
- <div class="modal-dialog confirm-dialog" *ngIf="showDeleteConfirm">
1392
- <div class="modal-header">
1393
- <h3>Delete List</h3>
1394
- <button class="modal-close" (click)="cancelDelete()">
1395
- <i class="fa-solid fa-times"></i>
1396
- </button>
1397
- </div>
1398
- <div class="modal-body">
1399
- <p>Are you sure you want to delete "<strong>{{deleteListName}}</strong>"?</p>
1400
- <p class="warning-text">This will also remove all items in the list.</p>
1401
- </div>
1402
- <div class="modal-footer">
1403
- <button class="btn-danger" (click)="deleteList()">
1404
- <i *ngIf="isDeleting" class="fa-solid fa-spinner fa-spin"></i>
1405
- {{isDeleting ? 'Deleting...' : 'Delete'}}
1406
- </button>
1407
- <button class="btn-secondary" (click)="cancelDelete()">Cancel</button>
1428
+ @if (showDeleteConfirm) {
1429
+ <div class="modal-overlay" (click)="cancelDelete()"></div>
1430
+ }
1431
+ @if (showDeleteConfirm) {
1432
+ <div class="modal-dialog confirm-dialog">
1433
+ <div class="modal-header">
1434
+ <h3>Delete List</h3>
1435
+ <button class="modal-close" (click)="cancelDelete()">
1436
+ <i class="fa-solid fa-times"></i>
1437
+ </button>
1438
+ </div>
1439
+ <div class="modal-body">
1440
+ <p>Are you sure you want to delete "<strong>{{deleteListName}}</strong>"?</p>
1441
+ <p class="warning-text">This will also remove all items in the list.</p>
1442
+ </div>
1443
+ <div class="modal-footer">
1444
+ <button class="btn-danger" (click)="deleteList()">
1445
+ @if (isDeleting) {
1446
+ <i class="fa-solid fa-spinner fa-spin"></i>
1447
+ }
1448
+ {{isDeleting ? 'Deleting...' : 'Delete'}}
1449
+ </button>
1450
+ <button class="btn-secondary" (click)="cancelDelete()">Cancel</button>
1451
+ </div>
1408
1452
  </div>
1409
- </div>
1410
-
1453
+ }
1454
+
1411
1455
  <!-- Entity Dropdown Portal (fixed positioning) -->
1412
- <div
1413
- class="entity-dropdown-portal"
1414
- *ngIf="showEntityDropdown && !editingList"
1415
- [style.top.px]="entityDropdownPosition.top"
1416
- [style.left.px]="entityDropdownPosition.left"
1417
- [style.width.px]="entityDropdownPosition.width"
1418
- [class.dropdown-above]="entityDropdownPosition.openAbove">
1419
- <div class="entity-dropdown-backdrop" (click)="closeEntityDropdown()"></div>
1420
- <div class="entity-dropdown-content" [class.open-above]="entityDropdownPosition.openAbove">
1421
- <div
1422
- class="dropdown-item"
1423
- *ngFor="let entity of filteredEntities"
1424
- (click)="selectEntity(entity)">
1425
- {{entity.Name}}
1426
- </div>
1427
- <div class="dropdown-empty" *ngIf="filteredEntities.length === 0">
1428
- No entities found
1456
+ @if (showEntityDropdown && !editingList) {
1457
+ <div
1458
+ class="entity-dropdown-portal"
1459
+ [style.top.px]="entityDropdownPosition.top"
1460
+ [style.left.px]="entityDropdownPosition.left"
1461
+ [style.width.px]="entityDropdownPosition.width"
1462
+ [class.dropdown-above]="entityDropdownPosition.openAbove">
1463
+ <div class="entity-dropdown-backdrop" (click)="closeEntityDropdown()"></div>
1464
+ <div class="entity-dropdown-content" [class.open-above]="entityDropdownPosition.openAbove">
1465
+ @for (entity of filteredEntities; track entity) {
1466
+ <div
1467
+ class="dropdown-item"
1468
+ (click)="selectEntity(entity)">
1469
+ {{entity.Name}}
1470
+ </div>
1471
+ }
1472
+ @if (filteredEntities.length === 0) {
1473
+ <div class="dropdown-empty">
1474
+ No entities found
1475
+ </div>
1476
+ }
1429
1477
  </div>
1430
1478
  </div>
1431
- </div>
1479
+ }
1432
1480
  </div>
1433
- `, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-my-lists-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .lists-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: #999;\n }\n\n .search-box input {\n padding: 8px 36px 8px 36px;\n border: 1px solid #ddd;\n border-radius: 20px;\n font-size: 14px;\n width: 250px;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px;\n }\n\n .clear-search:hover {\n color: #666;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: #1976D2;\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: #999 !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .search-empty .empty-state-icon-wrapper {\n margin-bottom: 20px;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\n }\n\n /* Content */\n .lists-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .view-controls {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .view-toggle {\n padding: 8px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 4px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:hover {\n background: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n border-color: #2196F3;\n color: white;\n }\n\n .list-count {\n margin-left: auto;\n color: #999;\n font-size: 14px;\n }\n\n /* Grid View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #999;\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid #f0f0f0;\n background: #fafafa;\n }\n\n .category-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n background: #e8f4fd;\n padding: 2px 8px;\n border-radius: 4px;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\n }\n\n /* Category Tree */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\n }\n\n .list-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e3f2fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-icon {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-name {\n display: block;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .list-row:hover .action-btn {\n opacity: 1;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Context Menu (native) */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: #333;\n }\n\n .warning-text {\n color: #d32f2f !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: #c62828;\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown - Fixed positioning to escape modal z-index */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002; /* Above modal (1001) */\n }\n\n .entity-dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: #999;\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .lists-header {\n flex-direction: column;\n gap: 16px;\n align-items: stretch;\n }\n\n .header-actions {\n flex-direction: column;\n }\n\n .search-box input {\n width: 100%;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
1481
+ `, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-my-lists-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .lists-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: #999;\n }\n\n .search-box input {\n padding: 8px 36px 8px 36px;\n border: 1px solid #ddd;\n border-radius: 20px;\n font-size: 14px;\n width: 250px;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px;\n }\n\n .clear-search:hover {\n color: #666;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: #1976D2;\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: #999 !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .search-empty .empty-state-icon-wrapper {\n margin-bottom: 20px;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\n }\n\n /* Content */\n .lists-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .view-controls {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .view-toggle {\n padding: 8px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 4px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:hover {\n background: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n border-color: #2196F3;\n color: white;\n }\n\n .list-count {\n margin-left: auto;\n color: #999;\n font-size: 14px;\n }\n\n /* Grid View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #999;\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid #f0f0f0;\n background: #fafafa;\n }\n\n .category-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n background: #e8f4fd;\n padding: 2px 8px;\n border-radius: 4px;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\n }\n\n /* Category Tree */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\n }\n\n .list-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e3f2fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-icon {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-name {\n display: block;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .list-row:hover .action-btn {\n opacity: 1;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Context Menu (native) */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: #333;\n }\n\n .warning-text {\n color: #d32f2f !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: #c62828;\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown - Fixed positioning to escape modal z-index */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002; /* Above modal (1001) */\n }\n\n .entity-dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: #999;\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .lists-header {\n flex-direction: column;\n gap: 16px;\n align-items: stretch;\n }\n\n .header-actions {\n flex-direction: column;\n }\n\n .search-box input {\n width: 100%;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
1434
1482
  }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.TabService }, { type: i2.MJNotificationService }, { type: i0.ElementRef }], { onDocumentClick: [{
1435
1483
  type: HostListener,
1436
1484
  args: ['document:click', ['$event']]
@@ -1438,5 +1486,5 @@ export { ListsMyListsResource };
1438
1486
  type: HostListener,
1439
1487
  args: ['document:keydown.escape']
1440
1488
  }] }); })();
1441
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsMyListsResource, { className: "ListsMyListsResource", filePath: "src/Lists/components/lists-my-lists-resource.component.ts", lineNumber: 1240 }); })();
1489
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsMyListsResource, { className: "ListsMyListsResource", filePath: "src/Lists/components/lists-my-lists-resource.component.ts", lineNumber: 1280 }); })();
1442
1490
  //# sourceMappingURL=lists-my-lists-resource.component.js.map