@memberjunction/ng-dashboards 5.34.0 → 5.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +399 -292
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
  6. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
  7. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
  8. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
  9. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
  10. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  11. package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
  12. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  13. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
  14. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
  15. package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
  16. package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
  17. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
  18. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
  19. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
  20. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
  21. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
  22. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
  23. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
  24. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
  25. package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
  26. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
  27. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
  28. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
  29. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
  30. package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
  31. package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
  32. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
  33. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
  34. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
  35. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
  36. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
  37. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
  38. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
  39. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  40. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
  41. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  42. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
  43. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  44. package/dist/AI/components/models/model-management.component.d.ts +17 -0
  45. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  46. package/dist/AI/components/models/model-management.component.js +370 -425
  47. package/dist/AI/components/models/model-management.component.js.map +1 -1
  48. package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
  49. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  50. package/dist/AI/components/prompts/prompt-management.component.js +317 -357
  51. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  52. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
  53. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
  54. package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
  55. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  56. package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
  57. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  58. package/dist/AI/components/system/system-configuration.component.js +403 -362
  59. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  60. package/dist/AI/components/tags/tags-resource.component.js +781 -783
  61. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  62. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
  63. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  64. package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
  65. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  66. package/dist/Actions/components/actions-overview.component.d.ts +6 -0
  67. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  68. package/dist/Actions/components/actions-overview.component.js +79 -30
  69. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  70. package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
  71. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  72. package/dist/Actions/components/execution-monitoring.component.js +196 -142
  73. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  74. package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
  75. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  76. package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
  77. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  78. package/dist/Actions/components/explorer/index.d.ts +0 -1
  79. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  80. package/dist/Actions/components/explorer/index.js +0 -1
  81. package/dist/Actions/components/explorer/index.js.map +1 -1
  82. package/dist/Admin/admin-data-schema.component.js +32 -40
  83. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  84. package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
  85. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  86. package/dist/Admin/admin-identity-access.component.js +32 -40
  87. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  88. package/dist/Admin/admin-monitoring.component.js +32 -40
  89. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  90. package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
  91. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  92. package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
  93. package/dist/Archiving/components/archive-config-resource.component.js +24 -5
  94. package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
  95. package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
  96. package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
  97. package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
  98. package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
  99. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  100. package/dist/Communication/communication-logs-resource.component.js +80 -99
  101. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  102. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  103. package/dist/Communication/communication-monitor-resource.component.js +127 -106
  104. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  105. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  106. package/dist/Communication/communication-providers-resource.component.js +44 -45
  107. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  108. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  109. package/dist/Communication/communication-runs-resource.component.js +60 -58
  110. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  111. package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
  112. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  113. package/dist/Communication/communication-templates-resource.component.js +139 -162
  114. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  115. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
  116. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  117. package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
  118. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  119. package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
  120. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  121. package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
  122. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  123. package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
  124. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  125. package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
  126. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  127. package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
  128. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  129. package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
  130. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  131. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
  132. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
  133. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
  134. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  135. package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
  136. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  137. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  138. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  139. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
  140. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  141. package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
  142. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  143. package/dist/Home/home-dashboard.component.d.ts +6 -0
  144. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  145. package/dist/Home/home-dashboard.component.js +521 -485
  146. package/dist/Home/home-dashboard.component.js.map +1 -1
  147. package/dist/Integration/components/activity/activity.component.d.ts +8 -0
  148. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  149. package/dist/Integration/components/activity/activity.component.js +309 -318
  150. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  151. package/dist/Integration/components/connections/connections.component.js +866 -847
  152. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  153. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
  154. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  155. package/dist/Integration/components/overview/overview.component.js +182 -163
  156. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  157. package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
  158. package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
  159. package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
  160. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  161. package/dist/Integration/components/schedules/schedules.component.js +241 -241
  162. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  163. package/dist/Integration/integration.module.d.ts +1 -1
  164. package/dist/Integration/integration.module.d.ts.map +1 -1
  165. package/dist/Integration/integration.module.js +28 -1
  166. package/dist/Integration/integration.module.js.map +1 -1
  167. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
  168. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  169. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
  170. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  171. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
  172. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  173. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
  174. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
  175. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
  176. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  177. package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
  178. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  179. package/dist/Lists/components/lists-browse-resource.component.js +486 -532
  180. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  181. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  182. package/dist/Lists/components/lists-categories-resource.component.js +152 -160
  183. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  184. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  185. package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
  186. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  187. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  188. package/dist/Lists/components/lists-operations-resource.component.js +234 -246
  189. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  190. package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
  191. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  192. package/dist/MCP/mcp-dashboard.component.js +1248 -1338
  193. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  194. package/dist/MCP/mcp.module.d.ts +1 -1
  195. package/dist/MCP/mcp.module.d.ts.map +1 -1
  196. package/dist/MCP/mcp.module.js +34 -1
  197. package/dist/MCP/mcp.module.js.map +1 -1
  198. package/dist/Permissions/audit-log-resource.component.js +76 -85
  199. package/dist/Permissions/audit-log-resource.component.js.map +1 -1
  200. package/dist/Permissions/resource-access-resource.component.js +64 -69
  201. package/dist/Permissions/resource-access-resource.component.js.map +1 -1
  202. package/dist/Permissions/user-access-resource.component.js +63 -74
  203. package/dist/Permissions/user-access-resource.component.js.map +1 -1
  204. package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
  205. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  206. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
  207. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  208. package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
  209. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  210. package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
  211. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  212. package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
  213. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  214. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
  215. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  216. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
  217. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  218. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
  219. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  220. package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
  221. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  222. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
  223. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  224. package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
  225. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  226. package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
  227. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  228. package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
  229. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  230. package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
  231. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  232. package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
  233. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  234. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +4 -0
  235. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  236. package/dist/SystemDiagnostics/system-diagnostics.component.js +812 -784
  237. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  238. package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
  239. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  240. package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
  241. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  242. package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
  243. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  244. package/dist/Testing/components/testing-analytics.component.js +420 -393
  245. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  246. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
  247. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  248. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
  249. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  250. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
  251. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  252. package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
  253. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  254. package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
  255. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  256. package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
  257. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  258. package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
  259. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  260. package/dist/Testing/components/testing-explorer.component.js +587 -608
  261. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  262. package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
  263. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  264. package/dist/Testing/components/testing-review-resource.component.js +9 -12
  265. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  266. package/dist/Testing/components/testing-review.component.d.ts +3 -1
  267. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  268. package/dist/Testing/components/testing-review.component.js +310 -274
  269. package/dist/Testing/components/testing-review.component.js.map +1 -1
  270. package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
  271. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  272. package/dist/Testing/components/testing-runs-resource.component.js +16 -19
  273. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  274. package/dist/Testing/components/testing-runs.component.d.ts +3 -1
  275. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  276. package/dist/Testing/components/testing-runs.component.js +307 -273
  277. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  278. package/dist/Testing/testing-dashboard.component.d.ts +2 -0
  279. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  280. package/dist/Testing/testing-dashboard.component.js +107 -93
  281. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  282. package/dist/VersionHistory/components/diff-resource.component.js +185 -188
  283. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  284. package/dist/VersionHistory/components/graph-resource.component.js +154 -184
  285. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  286. package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
  287. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
  288. package/dist/VersionHistory/components/labels-resource.component.js +350 -354
  289. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  290. package/dist/VersionHistory/components/restore-resource.component.js +163 -169
  291. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  292. package/dist/actions-dashboards.module.d.ts +15 -16
  293. package/dist/actions-dashboards.module.d.ts.map +1 -1
  294. package/dist/actions-dashboards.module.js +34 -11
  295. package/dist/actions-dashboards.module.js.map +1 -1
  296. package/dist/ai-dashboards.module.d.ts +45 -48
  297. package/dist/ai-dashboards.module.d.ts.map +1 -1
  298. package/dist/ai-dashboards.module.js +36 -10
  299. package/dist/ai-dashboards.module.js.map +1 -1
  300. package/dist/archiving-dashboards.module.d.ts +2 -1
  301. package/dist/archiving-dashboards.module.d.ts.map +1 -1
  302. package/dist/archiving-dashboards.module.js +12 -2
  303. package/dist/archiving-dashboards.module.js.map +1 -1
  304. package/dist/communication-dashboards.module.d.ts +2 -1
  305. package/dist/communication-dashboards.module.d.ts.map +1 -1
  306. package/dist/communication-dashboards.module.js +24 -3
  307. package/dist/communication-dashboards.module.js.map +1 -1
  308. package/dist/core-dashboards.module.d.ts +1 -1
  309. package/dist/core-dashboards.module.d.ts.map +1 -1
  310. package/dist/core-dashboards.module.js +31 -1
  311. package/dist/core-dashboards.module.js.map +1 -1
  312. package/dist/credentials-dashboards.module.d.ts +1 -1
  313. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  314. package/dist/credentials-dashboards.module.js +28 -1
  315. package/dist/credentials-dashboards.module.js.map +1 -1
  316. package/dist/lists-dashboards.module.d.ts +1 -1
  317. package/dist/lists-dashboards.module.d.ts.map +1 -1
  318. package/dist/lists-dashboards.module.js +28 -1
  319. package/dist/lists-dashboards.module.js.map +1 -1
  320. package/dist/public-api.d.ts +2 -2
  321. package/dist/public-api.d.ts.map +1 -1
  322. package/dist/public-api.js +3 -3
  323. package/dist/public-api.js.map +1 -1
  324. package/dist/scheduling-dashboards.module.d.ts +1 -1
  325. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  326. package/dist/scheduling-dashboards.module.js +31 -1
  327. package/dist/scheduling-dashboards.module.js.map +1 -1
  328. package/dist/testing-dashboards.module.d.ts +8 -7
  329. package/dist/testing-dashboards.module.d.ts.map +1 -1
  330. package/dist/testing-dashboards.module.js +30 -0
  331. package/dist/testing-dashboards.module.js.map +1 -1
  332. package/package.json +52 -52
  333. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
  334. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
  335. package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
  336. package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
  337. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
  338. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
  339. package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
  340. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
  341. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
  342. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
  343. package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
  344. package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
  345. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
  346. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
  347. package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
  348. package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
@@ -19,42 +19,15 @@ import * as i6 from "@memberjunction/ng-ui-components";
19
19
  import * as i7 from "@memberjunction/ng-shared-generic";
20
20
  const _c0 = a0 => ({ node: a0, depth: 0 });
21
21
  const _c1 = (a0, a1) => ({ node: a0, depth: a1 });
22
- function ListsBrowseResource_Conditional_15_Template(rf, ctx) { if (rf & 1) {
23
- const _r2 = i0.ɵɵgetCurrentView();
24
- i0.ɵɵelementStart(0, "button", 36);
25
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); });
26
- i0.ɵɵelement(1, "i", 37);
27
- i0.ɵɵelementEnd();
28
- } }
29
- function ListsBrowseResource_For_19_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelementStart(0, "option", 16);
31
- i0.ɵɵtext(1);
32
- i0.ɵɵelementEnd();
33
- } if (rf & 2) {
34
- const opt_r4 = ctx.$implicit;
35
- i0.ɵɵproperty("value", opt_r4.value);
36
- i0.ɵɵadvance();
37
- i0.ɵɵtextInterpolate(opt_r4.name);
38
- } }
39
- function ListsBrowseResource_For_23_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "option", 16);
41
- i0.ɵɵtext(1);
42
- i0.ɵɵelementEnd();
43
- } if (rf & 2) {
44
- const opt_r5 = ctx.$implicit;
45
- i0.ɵɵproperty("value", opt_r5.value);
46
- i0.ɵɵadvance();
47
- i0.ɵɵtextInterpolate(opt_r5.name);
48
- } }
49
- function ListsBrowseResource_Conditional_31_Template(rf, ctx) { if (rf & 1) {
50
- i0.ɵɵelementStart(0, "div", 25);
51
- i0.ɵɵelement(1, "mj-loading", 38);
22
+ function ListsBrowseResource_Conditional_14_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "div", 13);
24
+ i0.ɵɵelement(1, "mj-loading", 24);
52
25
  i0.ɵɵelementEnd();
53
26
  } }
54
- function ListsBrowseResource_Conditional_32_Template(rf, ctx) { if (rf & 1) {
55
- const _r6 = i0.ɵɵgetCurrentView();
56
- i0.ɵɵelementStart(0, "div", 26)(1, "div", 39);
57
- i0.ɵɵelement(2, "div", 40)(3, "i", 6);
27
+ function ListsBrowseResource_Conditional_15_Template(rf, ctx) { if (rf & 1) {
28
+ const _r2 = i0.ɵɵgetCurrentView();
29
+ i0.ɵɵelementStart(0, "div", 14)(1, "div", 25);
30
+ i0.ɵɵelement(2, "div", 26)(3, "i", 27);
58
31
  i0.ɵɵelementEnd();
59
32
  i0.ɵɵelementStart(4, "h3");
60
33
  i0.ɵɵtext(5, "No Lists Yet");
@@ -62,31 +35,31 @@ function ListsBrowseResource_Conditional_32_Template(rf, ctx) { if (rf & 1) {
62
35
  i0.ɵɵelementStart(6, "p");
63
36
  i0.ɵɵtext(7, "Lists help you organize and track groups of records across your data.");
64
37
  i0.ɵɵelementEnd();
65
- i0.ɵɵelementStart(8, "div", 41)(9, "div", 42);
66
- i0.ɵɵelement(10, "i", 43);
38
+ i0.ɵɵelementStart(8, "div", 28)(9, "div", 29);
39
+ i0.ɵɵelement(10, "i", 30);
67
40
  i0.ɵɵelementStart(11, "span");
68
41
  i0.ɵɵtext(12, "Group records from any entity");
69
42
  i0.ɵɵelementEnd()();
70
- i0.ɵɵelementStart(13, "div", 42);
71
- i0.ɵɵelement(14, "i", 43);
43
+ i0.ɵɵelementStart(13, "div", 29);
44
+ i0.ɵɵelement(14, "i", 30);
72
45
  i0.ɵɵelementStart(15, "span");
73
46
  i0.ɵɵtext(16, "Organize with categories");
74
47
  i0.ɵɵelementEnd()();
75
- i0.ɵɵelementStart(17, "div", 42);
76
- i0.ɵɵelement(18, "i", 43);
48
+ i0.ɵɵelementStart(17, "div", 29);
49
+ i0.ɵɵelement(18, "i", 30);
77
50
  i0.ɵɵelementStart(19, "span");
78
51
  i0.ɵɵtext(20, "Quick access from any view");
79
52
  i0.ɵɵelementEnd()()();
80
- i0.ɵɵelementStart(21, "button", 44);
81
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_32_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createNewList()); });
82
- i0.ɵɵelement(22, "i", 8);
53
+ i0.ɵɵelementStart(21, "button", 31);
54
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_15_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createNewList()); });
55
+ i0.ɵɵelement(22, "i", 10);
83
56
  i0.ɵɵtext(23, " Create Your First List ");
84
57
  i0.ɵɵelementEnd()();
85
58
  } }
86
- function ListsBrowseResource_Conditional_33_Template(rf, ctx) { if (rf & 1) {
87
- const _r7 = i0.ɵɵgetCurrentView();
88
- i0.ɵɵelementStart(0, "div", 27)(1, "div", 45);
89
- i0.ɵɵelement(2, "i", 46);
59
+ function ListsBrowseResource_Conditional_16_Template(rf, ctx) { if (rf & 1) {
60
+ const _r4 = i0.ɵɵgetCurrentView();
61
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 32);
62
+ i0.ɵɵelement(2, "i", 33);
90
63
  i0.ɵɵelementEnd();
91
64
  i0.ɵɵelementStart(3, "h3");
92
65
  i0.ɵɵtext(4, "No Results Found");
@@ -94,560 +67,555 @@ function ListsBrowseResource_Conditional_33_Template(rf, ctx) { if (rf & 1) {
94
67
  i0.ɵɵelementStart(5, "p");
95
68
  i0.ɵɵtext(6, "No lists match your current filters.");
96
69
  i0.ɵɵelementEnd();
97
- i0.ɵɵelementStart(7, "p", 47);
70
+ i0.ɵɵelementStart(7, "p", 34);
98
71
  i0.ɵɵtext(8, "Try adjusting your search or filters.");
99
72
  i0.ɵɵelementEnd();
100
- i0.ɵɵelementStart(9, "button", 48);
101
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_33_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearFilters()); });
73
+ i0.ɵɵelementStart(9, "button", 35);
74
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_16_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearFilters()); });
102
75
  i0.ɵɵtext(10, "Clear All Filters");
103
76
  i0.ɵɵelementEnd()();
104
77
  } }
105
- function ListsBrowseResource_Conditional_34_For_9_Template(rf, ctx) { if (rf & 1) {
106
- i0.ɵɵelementStart(0, "option", 16);
78
+ function ListsBrowseResource_Conditional_17_For_7_Template(rf, ctx) { if (rf & 1) {
79
+ i0.ɵɵelementStart(0, "option", 39);
107
80
  i0.ɵɵtext(1);
108
81
  i0.ɵɵelementEnd();
109
82
  } if (rf & 2) {
110
- const opt_r9 = ctx.$implicit;
111
- i0.ɵɵproperty("value", opt_r9.value);
83
+ const opt_r6 = ctx.$implicit;
84
+ i0.ɵɵproperty("value", opt_r6.value);
112
85
  i0.ɵɵadvance();
113
- i0.ɵɵtextInterpolate(opt_r9.name);
86
+ i0.ɵɵtextInterpolate(opt_r6.name);
114
87
  } }
115
- function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_8_Template(rf, ctx) { if (rf & 1) {
116
- i0.ɵɵelementStart(0, "span", 72);
88
+ function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_8_Template(rf, ctx) { if (rf & 1) {
89
+ i0.ɵɵelementStart(0, "span", 59);
117
90
  i0.ɵɵtext(1);
118
91
  i0.ɵɵelementEnd();
119
92
  } if (rf & 2) {
120
- const item_r11 = i0.ɵɵnextContext().$implicit;
93
+ const item_r8 = i0.ɵɵnextContext().$implicit;
121
94
  i0.ɵɵadvance();
122
- i0.ɵɵtextInterpolate(item_r11.list.Description);
95
+ i0.ɵɵtextInterpolate(item_r8.list.Description);
123
96
  } }
124
- function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
125
- i0.ɵɵelementStart(0, "span", 83);
126
- i0.ɵɵelement(1, "i", 84);
127
- i0.ɵɵelementStart(2, "span", 85);
97
+ function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
98
+ i0.ɵɵelementStart(0, "span", 70);
99
+ i0.ɵɵelement(1, "i", 71);
100
+ i0.ɵɵelementStart(2, "span", 72);
128
101
  i0.ɵɵtext(3);
129
102
  i0.ɵɵelementEnd()();
130
103
  } if (rf & 2) {
131
- const sharing_r12 = i0.ɵɵnextContext();
104
+ const sharing_r9 = i0.ɵɵnextContext();
132
105
  i0.ɵɵadvance(3);
133
- i0.ɵɵtextInterpolate(sharing_r12.totalShares);
106
+ i0.ɵɵtextInterpolate(sharing_r9.totalShares);
134
107
  } }
135
- function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵelementStart(0, "span", 77);
137
- i0.ɵɵelement(1, "i", 86);
108
+ function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
109
+ i0.ɵɵelementStart(0, "span", 64);
110
+ i0.ɵɵelement(1, "i", 73);
138
111
  i0.ɵɵelementEnd();
139
112
  } }
140
- function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Template(rf, ctx) { if (rf & 1) {
141
- i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Conditional_0_Template, 4, 1, "span", 83);
142
- i0.ɵɵconditionalCreate(1, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Conditional_1_Template, 2, 0, "span", 77);
113
+ function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Template(rf, ctx) { if (rf & 1) {
114
+ i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Conditional_0_Template, 4, 1, "span", 70);
115
+ i0.ɵɵconditionalCreate(1, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Conditional_1_Template, 2, 0, "span", 64);
143
116
  } if (rf & 2) {
144
- const sharing_r12 = ctx;
145
- i0.ɵɵconditional(sharing_r12.totalShares > 0 ? 0 : -1);
117
+ const sharing_r9 = ctx;
118
+ i0.ɵɵconditional(sharing_r9.totalShares > 0 ? 0 : -1);
146
119
  i0.ɵɵadvance();
147
- i0.ɵɵconditional(sharing_r12.totalShares === 0 ? 1 : -1);
120
+ i0.ɵɵconditional(sharing_r9.totalShares === 0 ? 1 : -1);
148
121
  } }
149
- function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_16_Template(rf, ctx) { if (rf & 1) {
150
- i0.ɵɵelementStart(0, "span", 77);
151
- i0.ɵɵelement(1, "i", 86);
122
+ function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_16_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵelementStart(0, "span", 64);
124
+ i0.ɵɵelement(1, "i", 73);
152
125
  i0.ɵɵelementEnd();
153
126
  } }
154
- function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_23_Template(rf, ctx) { if (rf & 1) {
155
- const _r13 = i0.ɵɵgetCurrentView();
156
- i0.ɵɵelementStart(0, "button", 87);
157
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_23_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r13); const item_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r11)); });
158
- i0.ɵɵelement(1, "i", 88);
127
+ function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_23_Template(rf, ctx) { if (rf & 1) {
128
+ const _r10 = i0.ɵɵgetCurrentView();
129
+ i0.ɵɵelementStart(0, "button", 74);
130
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_23_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r10); const item_r8 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r8)); });
131
+ i0.ɵɵelement(1, "i", 75);
159
132
  i0.ɵɵelementEnd();
160
133
  } }
161
- function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Template(rf, ctx) { if (rf & 1) {
162
- const _r10 = i0.ɵɵgetCurrentView();
163
- i0.ɵɵelementStart(0, "tr", 66);
164
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Template_tr_click_0_listener() { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r11)); })("keydown.enter", function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Template_tr_keydown_enter_0_listener() { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r11)); });
165
- i0.ɵɵelementStart(1, "td", 67)(2, "div", 68)(3, "div", 69);
134
+ function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Template(rf, ctx) { if (rf & 1) {
135
+ const _r7 = i0.ɵɵgetCurrentView();
136
+ i0.ɵɵelementStart(0, "tr", 53);
137
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Template_tr_click_0_listener() { const item_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r8)); })("keydown.enter", function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Template_tr_keydown_enter_0_listener() { const item_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r8)); });
138
+ i0.ɵɵelementStart(1, "td", 54)(2, "div", 55)(3, "div", 56);
166
139
  i0.ɵɵelement(4, "i");
167
140
  i0.ɵɵelementEnd();
168
- i0.ɵɵelementStart(5, "div", 70)(6, "span", 71);
141
+ i0.ɵɵelementStart(5, "div", 57)(6, "span", 58);
169
142
  i0.ɵɵtext(7);
170
143
  i0.ɵɵelementEnd();
171
- i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_8_Template, 2, 1, "span", 72);
144
+ i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_8_Template, 2, 1, "span", 59);
172
145
  i0.ɵɵelementEnd()()();
173
- i0.ɵɵelementStart(9, "td", 73)(10, "span", 74);
146
+ i0.ɵɵelementStart(9, "td", 60)(10, "span", 61);
174
147
  i0.ɵɵtext(11);
175
148
  i0.ɵɵelementEnd()();
176
- i0.ɵɵelementStart(12, "td", 75);
149
+ i0.ɵɵelementStart(12, "td", 62);
177
150
  i0.ɵɵtext(13);
178
151
  i0.ɵɵelementEnd();
179
- i0.ɵɵelementStart(14, "td", 76);
180
- i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Template, 2, 2);
181
- i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_16_Template, 2, 0, "span", 77);
152
+ i0.ɵɵelementStart(14, "td", 63);
153
+ i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Template, 2, 2);
154
+ i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_16_Template, 2, 0, "span", 64);
182
155
  i0.ɵɵelementEnd();
183
- i0.ɵɵelementStart(17, "td", 78)(18, "span", 79);
156
+ i0.ɵɵelementStart(17, "td", 65)(18, "span", 66);
184
157
  i0.ɵɵtext(19);
185
158
  i0.ɵɵelementEnd()();
186
- i0.ɵɵelementStart(20, "td", 80);
159
+ i0.ɵɵelementStart(20, "td", 67);
187
160
  i0.ɵɵtext(21);
188
161
  i0.ɵɵelementEnd();
189
- i0.ɵɵelementStart(22, "td", 81);
190
- i0.ɵɵconditionalCreate(23, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_23_Template, 2, 0, "button", 82);
162
+ i0.ɵɵelementStart(22, "td", 68);
163
+ i0.ɵɵconditionalCreate(23, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_23_Template, 2, 0, "button", 69);
191
164
  i0.ɵɵelementEnd()();
192
165
  } if (rf & 2) {
193
166
  let tmp_19_0;
194
- const item_r11 = ctx.$implicit;
167
+ const item_r8 = ctx.$implicit;
195
168
  const ctx_r2 = i0.ɵɵnextContext(3);
196
169
  i0.ɵɵadvance(3);
197
- i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r11.entityName));
170
+ i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r8.entityName));
198
171
  i0.ɵɵadvance();
199
- i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r11.entityName));
172
+ i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r8.entityName));
200
173
  i0.ɵɵadvance(3);
201
- i0.ɵɵtextInterpolate(item_r11.list.Name);
174
+ i0.ɵɵtextInterpolate(item_r8.list.Name);
202
175
  i0.ɵɵadvance();
203
- i0.ɵɵconditional(item_r11.list.Description ? 8 : -1);
176
+ i0.ɵɵconditional(item_r8.list.Description ? 8 : -1);
204
177
  i0.ɵɵadvance(3);
205
- i0.ɵɵtextInterpolate(item_r11.entityName);
178
+ i0.ɵɵtextInterpolate(item_r8.entityName);
206
179
  i0.ɵɵadvance(2);
207
- i0.ɵɵtextInterpolate(item_r11.itemCount);
180
+ i0.ɵɵtextInterpolate(item_r8.itemCount);
208
181
  i0.ɵɵadvance(2);
209
- i0.ɵɵconditional((tmp_19_0 = item_r11.sharingInfo) ? 15 : -1, tmp_19_0);
182
+ i0.ɵɵconditional((tmp_19_0 = item_r8.sharingInfo) ? 15 : -1, tmp_19_0);
210
183
  i0.ɵɵadvance();
211
- i0.ɵɵconditional(!item_r11.sharingInfo ? 16 : -1);
184
+ i0.ɵɵconditional(!item_r8.sharingInfo ? 16 : -1);
212
185
  i0.ɵɵadvance(2);
213
- i0.ɵɵclassProp("is-me", item_r11.isOwner);
186
+ i0.ɵɵclassProp("is-me", item_r8.isOwner);
214
187
  i0.ɵɵadvance();
215
- i0.ɵɵtextInterpolate1(" ", item_r11.isOwner ? "You" : item_r11.ownerName, " ");
188
+ i0.ɵɵtextInterpolate1(" ", item_r8.isOwner ? "You" : item_r8.ownerName, " ");
216
189
  i0.ɵɵadvance(2);
217
- i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r11.list.__mj_UpdatedAt));
190
+ i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r8.list.__mj_UpdatedAt));
218
191
  i0.ɵɵadvance(2);
219
- i0.ɵɵconditional(item_r11.isOwner ? 23 : -1);
192
+ i0.ɵɵconditional(item_r8.isOwner ? 23 : -1);
220
193
  } }
221
- function ListsBrowseResource_Conditional_34_Conditional_10_Template(rf, ctx) { if (rf & 1) {
222
- i0.ɵɵelementStart(0, "div", 53)(1, "table", 56)(2, "thead")(3, "tr")(4, "th", 57);
194
+ function ListsBrowseResource_Conditional_17_Conditional_8_Template(rf, ctx) { if (rf & 1) {
195
+ i0.ɵɵelementStart(0, "div", 40)(1, "table", 43)(2, "thead")(3, "tr")(4, "th", 44);
223
196
  i0.ɵɵtext(5, "Name");
224
197
  i0.ɵɵelementEnd();
225
- i0.ɵɵelementStart(6, "th", 58);
198
+ i0.ɵɵelementStart(6, "th", 45);
226
199
  i0.ɵɵtext(7, "Entity");
227
200
  i0.ɵɵelementEnd();
228
- i0.ɵɵelementStart(8, "th", 59);
201
+ i0.ɵɵelementStart(8, "th", 46);
229
202
  i0.ɵɵtext(9, "Items");
230
203
  i0.ɵɵelementEnd();
231
- i0.ɵɵelementStart(10, "th", 60);
204
+ i0.ɵɵelementStart(10, "th", 47);
232
205
  i0.ɵɵtext(11, "Shared");
233
206
  i0.ɵɵelementEnd();
234
- i0.ɵɵelementStart(12, "th", 61);
207
+ i0.ɵɵelementStart(12, "th", 48);
235
208
  i0.ɵɵtext(13, "Owner");
236
209
  i0.ɵɵelementEnd();
237
- i0.ɵɵelementStart(14, "th", 62);
210
+ i0.ɵɵelementStart(14, "th", 49);
238
211
  i0.ɵɵtext(15, "Updated");
239
212
  i0.ɵɵelementEnd();
240
- i0.ɵɵelementStart(16, "th", 63)(17, "span", 64);
213
+ i0.ɵɵelementStart(16, "th", 50)(17, "span", 51);
241
214
  i0.ɵɵtext(18, "Actions");
242
215
  i0.ɵɵelementEnd()()()();
243
216
  i0.ɵɵelementStart(19, "tbody");
244
- i0.ɵɵrepeaterCreate(20, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Template, 24, 15, "tr", 65, i0.ɵɵrepeaterTrackByIdentity);
217
+ i0.ɵɵrepeaterCreate(20, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Template, 24, 15, "tr", 52, i0.ɵɵrepeaterTrackByIdentity);
245
218
  i0.ɵɵelementEnd()()();
246
219
  } if (rf & 2) {
247
220
  const ctx_r2 = i0.ɵɵnextContext(2);
248
221
  i0.ɵɵadvance(20);
249
222
  i0.ɵɵrepeater(ctx_r2.filteredLists);
250
223
  } }
251
- function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
252
- const _r16 = i0.ɵɵgetCurrentView();
253
- i0.ɵɵelementStart(0, "div", 93)(1, "button", 106);
254
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_4_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r16); const item_r15 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r15)); });
255
- i0.ɵɵelement(2, "i", 88);
224
+ function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
225
+ const _r13 = i0.ɵɵgetCurrentView();
226
+ i0.ɵɵelementStart(0, "div", 80)(1, "button", 93);
227
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_4_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r13); const item_r12 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r12)); });
228
+ i0.ɵɵelement(2, "i", 75);
256
229
  i0.ɵɵelementEnd()();
257
230
  } }
258
- function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
259
- i0.ɵɵelementStart(0, "p", 96);
231
+ function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
232
+ i0.ɵɵelementStart(0, "p", 83);
260
233
  i0.ɵɵtext(1);
261
234
  i0.ɵɵelementEnd();
262
235
  } if (rf & 2) {
263
- const item_r15 = i0.ɵɵnextContext().$implicit;
236
+ const item_r12 = i0.ɵɵnextContext().$implicit;
264
237
  i0.ɵɵadvance();
265
- i0.ɵɵtextInterpolate(item_r15.list.Description);
238
+ i0.ɵɵtextInterpolate(item_r12.list.Description);
266
239
  } }
267
- function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_21_Conditional_0_Template(rf, ctx) { if (rf & 1) {
268
- i0.ɵɵelementStart(0, "span", 107);
269
- i0.ɵɵelement(1, "i", 84);
240
+ function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_21_Conditional_0_Template(rf, ctx) { if (rf & 1) {
241
+ i0.ɵɵelementStart(0, "span", 94);
242
+ i0.ɵɵelement(1, "i", 71);
270
243
  i0.ɵɵelementEnd();
271
244
  } if (rf & 2) {
272
- const sharing_r17 = i0.ɵɵnextContext();
273
- i0.ɵɵproperty("title", "Shared with " + sharing_r17.totalShares + " user(s)/role(s)");
245
+ const sharing_r14 = i0.ɵɵnextContext();
246
+ i0.ɵɵproperty("title", "Shared with " + sharing_r14.totalShares + " user(s)/role(s)");
274
247
  } }
275
- function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_21_Template(rf, ctx) { if (rf & 1) {
276
- i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_21_Conditional_0_Template, 2, 1, "span", 107);
248
+ function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_21_Template(rf, ctx) { if (rf & 1) {
249
+ i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_21_Conditional_0_Template, 2, 1, "span", 94);
277
250
  } if (rf & 2) {
278
251
  i0.ɵɵconditional(ctx.totalShares > 0 ? 0 : -1);
279
252
  } }
280
- function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
281
- const _r14 = i0.ɵɵgetCurrentView();
282
- i0.ɵɵelementStart(0, "div", 90);
283
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_34_Conditional_11_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)); })("keydown.enter", function ListsBrowseResource_Conditional_34_Conditional_11_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)); });
284
- i0.ɵɵelementStart(1, "div", 91)(2, "div", 92);
253
+ function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
254
+ const _r11 = i0.ɵɵgetCurrentView();
255
+ i0.ɵɵelementStart(0, "div", 77);
256
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Template_div_click_0_listener() { const item_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r12)); })("keydown.enter", function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Template_div_keydown_enter_0_listener() { const item_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r12)); });
257
+ i0.ɵɵelementStart(1, "div", 78)(2, "div", 79);
285
258
  i0.ɵɵelement(3, "i");
286
259
  i0.ɵɵelementEnd();
287
- i0.ɵɵconditionalCreate(4, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_4_Template, 3, 0, "div", 93);
260
+ i0.ɵɵconditionalCreate(4, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_4_Template, 3, 0, "div", 80);
288
261
  i0.ɵɵelementEnd();
289
- i0.ɵɵelementStart(5, "div", 94)(6, "h3", 95);
262
+ i0.ɵɵelementStart(5, "div", 81)(6, "h3", 82);
290
263
  i0.ɵɵtext(7);
291
264
  i0.ɵɵelementEnd();
292
- i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_8_Template, 2, 1, "p", 96);
293
- i0.ɵɵelementStart(9, "div", 97)(10, "span", 98);
294
- i0.ɵɵelement(11, "i", 99);
265
+ i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_8_Template, 2, 1, "p", 83);
266
+ i0.ɵɵelementStart(9, "div", 84)(10, "span", 85);
267
+ i0.ɵɵelement(11, "i", 86);
295
268
  i0.ɵɵtext(12);
296
269
  i0.ɵɵelementEnd();
297
- i0.ɵɵelementStart(13, "span", 98);
298
- i0.ɵɵelement(14, "i", 100);
270
+ i0.ɵɵelementStart(13, "span", 85);
271
+ i0.ɵɵelement(14, "i", 87);
299
272
  i0.ɵɵtext(15);
300
273
  i0.ɵɵelementEnd()()();
301
- i0.ɵɵelementStart(16, "div", 101)(17, "span", 102);
302
- i0.ɵɵelement(18, "i", 103);
274
+ i0.ɵɵelementStart(16, "div", 88)(17, "span", 89);
275
+ i0.ɵɵelement(18, "i", 90);
303
276
  i0.ɵɵtext(19);
304
277
  i0.ɵɵelementEnd();
305
- i0.ɵɵelementStart(20, "div", 104);
306
- i0.ɵɵconditionalCreate(21, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_21_Template, 1, 1);
307
- i0.ɵɵelementStart(22, "span", 105);
278
+ i0.ɵɵelementStart(20, "div", 91);
279
+ i0.ɵɵconditionalCreate(21, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_21_Template, 1, 1);
280
+ i0.ɵɵelementStart(22, "span", 92);
308
281
  i0.ɵɵtext(23);
309
282
  i0.ɵɵelementEnd()()()();
310
283
  } if (rf & 2) {
311
284
  let tmp_22_0;
312
- const item_r15 = ctx.$implicit;
285
+ const item_r12 = ctx.$implicit;
313
286
  const ctx_r2 = i0.ɵɵnextContext(3);
314
287
  i0.ɵɵadvance(2);
315
- i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r15.entityName));
288
+ i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r12.entityName));
316
289
  i0.ɵɵadvance();
317
- i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r15.entityName));
290
+ i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r12.entityName));
318
291
  i0.ɵɵadvance();
319
- i0.ɵɵconditional(item_r15.isOwner ? 4 : -1);
292
+ i0.ɵɵconditional(item_r12.isOwner ? 4 : -1);
320
293
  i0.ɵɵadvance(3);
321
- i0.ɵɵtextInterpolate(item_r15.list.Name);
294
+ i0.ɵɵtextInterpolate(item_r12.list.Name);
322
295
  i0.ɵɵadvance();
323
- i0.ɵɵconditional(item_r15.list.Description ? 8 : -1);
296
+ i0.ɵɵconditional(item_r12.list.Description ? 8 : -1);
324
297
  i0.ɵɵadvance(4);
325
- i0.ɵɵtextInterpolate1(" ", item_r15.entityName, " ");
298
+ i0.ɵɵtextInterpolate1(" ", item_r12.entityName, " ");
326
299
  i0.ɵɵadvance(3);
327
- i0.ɵɵtextInterpolate2(" ", item_r15.itemCount, " item", item_r15.itemCount !== 1 ? "s" : "", " ");
300
+ i0.ɵɵtextInterpolate2(" ", item_r12.itemCount, " item", item_r12.itemCount !== 1 ? "s" : "", " ");
328
301
  i0.ɵɵadvance(2);
329
- i0.ɵɵclassProp("is-me", item_r15.isOwner);
302
+ i0.ɵɵclassProp("is-me", item_r12.isOwner);
330
303
  i0.ɵɵadvance(2);
331
- i0.ɵɵtextInterpolate1(" ", item_r15.isOwner ? "You" : item_r15.ownerName, " ");
304
+ i0.ɵɵtextInterpolate1(" ", item_r12.isOwner ? "You" : item_r12.ownerName, " ");
332
305
  i0.ɵɵadvance(2);
333
- i0.ɵɵconditional((tmp_22_0 = item_r15.sharingInfo) ? 21 : -1, tmp_22_0);
306
+ i0.ɵɵconditional((tmp_22_0 = item_r12.sharingInfo) ? 21 : -1, tmp_22_0);
334
307
  i0.ɵɵadvance(2);
335
- i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r15.list.__mj_UpdatedAt));
308
+ i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r12.list.__mj_UpdatedAt));
336
309
  } }
337
- function ListsBrowseResource_Conditional_34_Conditional_11_Template(rf, ctx) { if (rf & 1) {
338
- i0.ɵɵelementStart(0, "div", 54);
339
- i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Template, 24, 15, "div", 89, i0.ɵɵrepeaterTrackByIdentity);
310
+ function ListsBrowseResource_Conditional_17_Conditional_9_Template(rf, ctx) { if (rf & 1) {
311
+ i0.ɵɵelementStart(0, "div", 41);
312
+ i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Template, 24, 15, "div", 76, i0.ɵɵrepeaterTrackByIdentity);
340
313
  i0.ɵɵelementEnd();
341
314
  } if (rf & 2) {
342
315
  const ctx_r2 = i0.ɵɵnextContext(2);
343
316
  i0.ɵɵadvance();
344
317
  i0.ɵɵrepeater(ctx_r2.filteredLists);
345
318
  } }
346
- function ListsBrowseResource_Conditional_34_Conditional_12_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
319
+ function ListsBrowseResource_Conditional_17_Conditional_10_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
347
320
  i0.ɵɵelementContainer(0);
348
321
  } }
349
- function ListsBrowseResource_Conditional_34_Conditional_12_For_2_Template(rf, ctx) { if (rf & 1) {
350
- i0.ɵɵtemplate(0, ListsBrowseResource_Conditional_34_Conditional_12_For_2_ng_container_0_Template, 1, 0, "ng-container", 108);
322
+ function ListsBrowseResource_Conditional_17_Conditional_10_For_2_Template(rf, ctx) { if (rf & 1) {
323
+ i0.ɵɵtemplate(0, ListsBrowseResource_Conditional_17_Conditional_10_For_2_ng_container_0_Template, 1, 0, "ng-container", 95);
351
324
  } if (rf & 2) {
352
- const node_r18 = ctx.$implicit;
325
+ const node_r15 = ctx.$implicit;
353
326
  i0.ɵɵnextContext(3);
354
- const categoryNodeTemplate_r19 = i0.ɵɵreference(36);
355
- i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r19)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r18));
327
+ const categoryNodeTemplate_r16 = i0.ɵɵreference(19);
328
+ i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r16)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r15));
356
329
  } }
357
- function ListsBrowseResource_Conditional_34_Conditional_12_Template(rf, ctx) { if (rf & 1) {
358
- i0.ɵɵelementStart(0, "div", 55);
359
- i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_34_Conditional_12_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
330
+ function ListsBrowseResource_Conditional_17_Conditional_10_Template(rf, ctx) { if (rf & 1) {
331
+ i0.ɵɵelementStart(0, "div", 42);
332
+ i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_17_Conditional_10_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
360
333
  i0.ɵɵelementEnd();
361
334
  } if (rf & 2) {
362
335
  const ctx_r2 = i0.ɵɵnextContext(2);
363
336
  i0.ɵɵadvance();
364
337
  i0.ɵɵrepeater(ctx_r2.categoryTree);
365
338
  } }
366
- function ListsBrowseResource_Conditional_34_Template(rf, ctx) { if (rf & 1) {
367
- const _r8 = i0.ɵɵgetCurrentView();
368
- i0.ɵɵelementStart(0, "div", 28)(1, "div", 49)(2, "span", 50);
369
- i0.ɵɵtext(3);
370
- i0.ɵɵelementEnd();
371
- i0.ɵɵelementStart(4, "div", 51)(5, "label");
372
- i0.ɵɵtext(6, "Sort:");
373
- i0.ɵɵelementEnd();
374
- i0.ɵɵelementStart(7, "select", 52);
375
- i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_34_Template_select_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedSort, $event) || (ctx_r2.selectedSort = $event); return i0.ɵɵresetView($event); });
376
- i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_34_Template_select_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSortChange($event)); });
377
- i0.ɵɵrepeaterCreate(8, ListsBrowseResource_Conditional_34_For_9_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
339
+ function ListsBrowseResource_Conditional_17_Template(rf, ctx) { if (rf & 1) {
340
+ const _r5 = i0.ɵɵgetCurrentView();
341
+ i0.ɵɵelementStart(0, "div", 16)(1, "div", 36)(2, "div", 37)(3, "label");
342
+ i0.ɵɵtext(4, "Sort:");
343
+ i0.ɵɵelementEnd();
344
+ i0.ɵɵelementStart(5, "select", 38);
345
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_17_Template_select_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedSort, $event) || (ctx_r2.selectedSort = $event); return i0.ɵɵresetView($event); });
346
+ i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_17_Template_select_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSortChange($event)); });
347
+ i0.ɵɵrepeaterCreate(6, ListsBrowseResource_Conditional_17_For_7_Template, 2, 2, "option", 39, i0.ɵɵrepeaterTrackByIdentity);
378
348
  i0.ɵɵelementEnd()()();
379
- i0.ɵɵconditionalCreate(10, ListsBrowseResource_Conditional_34_Conditional_10_Template, 22, 0, "div", 53);
380
- i0.ɵɵconditionalCreate(11, ListsBrowseResource_Conditional_34_Conditional_11_Template, 3, 0, "div", 54);
381
- i0.ɵɵconditionalCreate(12, ListsBrowseResource_Conditional_34_Conditional_12_Template, 3, 0, "div", 55);
349
+ i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_17_Conditional_8_Template, 22, 0, "div", 40);
350
+ i0.ɵɵconditionalCreate(9, ListsBrowseResource_Conditional_17_Conditional_9_Template, 3, 0, "div", 41);
351
+ i0.ɵɵconditionalCreate(10, ListsBrowseResource_Conditional_17_Conditional_10_Template, 3, 0, "div", 42);
382
352
  i0.ɵɵelementEnd();
383
353
  } if (rf & 2) {
384
354
  const ctx_r2 = i0.ɵɵnextContext();
385
- i0.ɵɵadvance(3);
386
- i0.ɵɵtextInterpolate2("", ctx_r2.filteredLists.length, " list", ctx_r2.filteredLists.length !== 1 ? "s" : "");
387
- i0.ɵɵadvance(4);
355
+ i0.ɵɵadvance(5);
388
356
  i0.ɵɵtwoWayProperty("ngModel", ctx_r2.selectedSort);
389
357
  i0.ɵɵadvance();
390
358
  i0.ɵɵrepeater(ctx_r2.sortOptions);
391
359
  i0.ɵɵadvance(2);
392
- i0.ɵɵconditional(ctx_r2.viewMode === "table" ? 10 : -1);
360
+ i0.ɵɵconditional(ctx_r2.viewMode === "table" ? 8 : -1);
393
361
  i0.ɵɵadvance();
394
- i0.ɵɵconditional(ctx_r2.viewMode === "card" ? 11 : -1);
362
+ i0.ɵɵconditional(ctx_r2.viewMode === "card" ? 9 : -1);
395
363
  i0.ɵɵadvance();
396
- i0.ɵɵconditional(ctx_r2.viewMode === "hierarchy" ? 12 : -1);
364
+ i0.ɵɵconditional(ctx_r2.viewMode === "hierarchy" ? 10 : -1);
397
365
  } }
398
- function ListsBrowseResource_ng_template_35_Conditional_1_Template(rf, ctx) { if (rf & 1) {
399
- const _r20 = i0.ɵɵgetCurrentView();
400
- i0.ɵɵelementStart(0, "div", 113);
401
- i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_35_Conditional_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r20); const node_r21 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r21)); });
402
- i0.ɵɵelement(1, "i")(2, "i", 114);
403
- i0.ɵɵelementStart(3, "span", 115);
366
+ function ListsBrowseResource_ng_template_18_Conditional_1_Template(rf, ctx) { if (rf & 1) {
367
+ const _r17 = i0.ɵɵgetCurrentView();
368
+ i0.ɵɵelementStart(0, "div", 100);
369
+ i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_18_Conditional_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r17); const node_r18 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r18)); });
370
+ i0.ɵɵelement(1, "i")(2, "i", 101);
371
+ i0.ɵɵelementStart(3, "span", 102);
404
372
  i0.ɵɵtext(4);
405
373
  i0.ɵɵelementEnd();
406
- i0.ɵɵelementStart(5, "span", 116);
374
+ i0.ɵɵelementStart(5, "span", 103);
407
375
  i0.ɵɵtext(6);
408
376
  i0.ɵɵelementEnd()();
409
377
  } if (rf & 2) {
410
- const node_r21 = i0.ɵɵnextContext().node;
378
+ const node_r18 = i0.ɵɵnextContext().node;
411
379
  const ctx_r2 = i0.ɵɵnextContext();
412
380
  i0.ɵɵadvance();
413
- i0.ɵɵclassMap(node_r21.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
381
+ i0.ɵɵclassMap(node_r18.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
414
382
  i0.ɵɵadvance();
415
- i0.ɵɵclassProp("fa-folder-open", node_r21.isExpanded);
383
+ i0.ɵɵclassProp("fa-folder-open", node_r18.isExpanded);
416
384
  i0.ɵɵadvance(2);
417
- i0.ɵɵtextInterpolate(node_r21.category.Name);
385
+ i0.ɵɵtextInterpolate(node_r18.category.Name);
418
386
  i0.ɵɵadvance(2);
419
- i0.ɵɵtextInterpolate(ctx_r2.getListCountInCategory(node_r21));
387
+ i0.ɵɵtextInterpolate(ctx_r2.getListCountInCategory(node_r18));
420
388
  } }
421
- function ListsBrowseResource_ng_template_35_Conditional_2_Template(rf, ctx) { if (rf & 1) {
422
- const _r22 = i0.ɵɵgetCurrentView();
423
- i0.ɵɵelementStart(0, "div", 117);
424
- i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_35_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r22); const node_r21 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r21)); });
425
- i0.ɵɵelement(1, "i")(2, "i", 118);
426
- i0.ɵɵelementStart(3, "span", 115);
389
+ function ListsBrowseResource_ng_template_18_Conditional_2_Template(rf, ctx) { if (rf & 1) {
390
+ const _r19 = i0.ɵɵgetCurrentView();
391
+ i0.ɵɵelementStart(0, "div", 104);
392
+ i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_18_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r19); const node_r18 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r18)); });
393
+ i0.ɵɵelement(1, "i")(2, "i", 105);
394
+ i0.ɵɵelementStart(3, "span", 102);
427
395
  i0.ɵɵtext(4, "Uncategorized");
428
396
  i0.ɵɵelementEnd();
429
- i0.ɵɵelementStart(5, "span", 116);
397
+ i0.ɵɵelementStart(5, "span", 103);
430
398
  i0.ɵɵtext(6);
431
399
  i0.ɵɵelementEnd()();
432
400
  } if (rf & 2) {
433
- const node_r21 = i0.ɵɵnextContext().node;
401
+ const node_r18 = i0.ɵɵnextContext().node;
434
402
  i0.ɵɵadvance();
435
- i0.ɵɵclassMap(node_r21.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
403
+ i0.ɵɵclassMap(node_r18.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
436
404
  i0.ɵɵadvance(5);
437
- i0.ɵɵtextInterpolate(node_r21.lists.length);
405
+ i0.ɵɵtextInterpolate(node_r18.lists.length);
438
406
  } }
439
- function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
407
+ function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
440
408
  i0.ɵɵelementStart(0, "span");
441
409
  i0.ɵɵtext(1);
442
410
  i0.ɵɵelementEnd();
443
411
  } if (rf & 2) {
444
- const item_r24 = i0.ɵɵnextContext().$implicit;
412
+ const item_r21 = i0.ɵɵnextContext().$implicit;
445
413
  i0.ɵɵadvance();
446
- i0.ɵɵtextInterpolate1(" \u00B7 ", item_r24.ownerName);
414
+ i0.ɵɵtextInterpolate1(" \u00B7 ", item_r21.ownerName);
447
415
  } }
448
- function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
449
- const _r25 = i0.ɵɵgetCurrentView();
450
- i0.ɵɵelementStart(0, "div", 123)(1, "button", 124);
451
- i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_9_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r25); const item_r24 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r24)); });
452
- i0.ɵɵelement(2, "i", 88);
416
+ function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
417
+ const _r22 = i0.ɵɵgetCurrentView();
418
+ i0.ɵɵelementStart(0, "div", 110)(1, "button", 111);
419
+ i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_9_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r22); const item_r21 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r21)); });
420
+ i0.ɵɵelement(2, "i", 75);
453
421
  i0.ɵɵelementEnd()();
454
422
  } }
455
- function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Template(rf, ctx) { if (rf & 1) {
456
- const _r23 = i0.ɵɵgetCurrentView();
457
- i0.ɵɵelementStart(0, "div", 120);
458
- i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Template_div_click_0_listener() { const item_r24 = i0.ɵɵrestoreView(_r23).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r24)); })("keydown.enter", function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Template_div_keydown_enter_0_listener() { const item_r24 = i0.ɵɵrestoreView(_r23).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r24)); });
459
- i0.ɵɵelementStart(1, "div", 69);
423
+ function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Template(rf, ctx) { if (rf & 1) {
424
+ const _r20 = i0.ɵɵgetCurrentView();
425
+ i0.ɵɵelementStart(0, "div", 107);
426
+ i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Template_div_click_0_listener() { const item_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r21)); })("keydown.enter", function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Template_div_keydown_enter_0_listener() { const item_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r21)); });
427
+ i0.ɵɵelementStart(1, "div", 56);
460
428
  i0.ɵɵelement(2, "i");
461
429
  i0.ɵɵelementEnd();
462
- i0.ɵɵelementStart(3, "div", 121)(4, "span", 71);
430
+ i0.ɵɵelementStart(3, "div", 108)(4, "span", 58);
463
431
  i0.ɵɵtext(5);
464
432
  i0.ɵɵelementEnd();
465
- i0.ɵɵelementStart(6, "span", 122);
433
+ i0.ɵɵelementStart(6, "span", 109);
466
434
  i0.ɵɵtext(7);
467
- i0.ɵɵconditionalCreate(8, ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_8_Template, 2, 1, "span");
435
+ i0.ɵɵconditionalCreate(8, ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_8_Template, 2, 1, "span");
468
436
  i0.ɵɵelementEnd()();
469
- i0.ɵɵconditionalCreate(9, ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_9_Template, 3, 0, "div", 123);
437
+ i0.ɵɵconditionalCreate(9, ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_9_Template, 3, 0, "div", 110);
470
438
  i0.ɵɵelementEnd();
471
439
  } if (rf & 2) {
472
- const item_r24 = ctx.$implicit;
440
+ const item_r21 = ctx.$implicit;
473
441
  const ctx_r2 = i0.ɵɵnextContext(3);
474
442
  i0.ɵɵadvance();
475
- i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r24.entityName));
443
+ i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r21.entityName));
476
444
  i0.ɵɵadvance();
477
- i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r24.entityName));
445
+ i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r21.entityName));
478
446
  i0.ɵɵadvance(3);
479
- i0.ɵɵtextInterpolate(item_r24.list.Name);
447
+ i0.ɵɵtextInterpolate(item_r21.list.Name);
480
448
  i0.ɵɵadvance(2);
481
- i0.ɵɵtextInterpolate2(" ", item_r24.entityName, " \u00B7 ", item_r24.itemCount, " items ");
449
+ i0.ɵɵtextInterpolate2(" ", item_r21.entityName, " \u00B7 ", item_r21.itemCount, " items ");
482
450
  i0.ɵɵadvance();
483
- i0.ɵɵconditional(!item_r24.isOwner ? 8 : -1);
451
+ i0.ɵɵconditional(!item_r21.isOwner ? 8 : -1);
484
452
  i0.ɵɵadvance();
485
- i0.ɵɵconditional(item_r24.isOwner ? 9 : -1);
453
+ i0.ɵɵconditional(item_r21.isOwner ? 9 : -1);
486
454
  } }
487
- function ListsBrowseResource_ng_template_35_Conditional_3_Template(rf, ctx) { if (rf & 1) {
488
- i0.ɵɵelementStart(0, "div", 112);
489
- i0.ɵɵrepeaterCreate(1, ListsBrowseResource_ng_template_35_Conditional_3_For_2_Template, 10, 9, "div", 119, i0.ɵɵrepeaterTrackByIdentity);
455
+ function ListsBrowseResource_ng_template_18_Conditional_3_Template(rf, ctx) { if (rf & 1) {
456
+ i0.ɵɵelementStart(0, "div", 99);
457
+ i0.ɵɵrepeaterCreate(1, ListsBrowseResource_ng_template_18_Conditional_3_For_2_Template, 10, 9, "div", 106, i0.ɵɵrepeaterTrackByIdentity);
490
458
  i0.ɵɵelementEnd();
491
459
  } if (rf & 2) {
492
- const node_r21 = i0.ɵɵnextContext().node;
460
+ const node_r18 = i0.ɵɵnextContext().node;
493
461
  i0.ɵɵadvance();
494
- i0.ɵɵrepeater(node_r21.lists);
462
+ i0.ɵɵrepeater(node_r18.lists);
495
463
  } }
496
- function ListsBrowseResource_ng_template_35_Conditional_4_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
464
+ function ListsBrowseResource_ng_template_18_Conditional_4_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
497
465
  i0.ɵɵelementContainer(0);
498
466
  } }
499
- function ListsBrowseResource_ng_template_35_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
500
- i0.ɵɵtemplate(0, ListsBrowseResource_ng_template_35_Conditional_4_For_1_ng_container_0_Template, 1, 0, "ng-container", 108);
467
+ function ListsBrowseResource_ng_template_18_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
468
+ i0.ɵɵtemplate(0, ListsBrowseResource_ng_template_18_Conditional_4_For_1_ng_container_0_Template, 1, 0, "ng-container", 95);
501
469
  } if (rf & 2) {
502
- const child_r26 = ctx.$implicit;
503
- const depth_r27 = i0.ɵɵnextContext(2).depth;
470
+ const child_r23 = ctx.$implicit;
471
+ const depth_r24 = i0.ɵɵnextContext(2).depth;
504
472
  i0.ɵɵnextContext();
505
- const categoryNodeTemplate_r19 = i0.ɵɵreference(36);
506
- i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r19)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, child_r26, depth_r27 + 1));
473
+ const categoryNodeTemplate_r16 = i0.ɵɵreference(19);
474
+ i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r16)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, child_r23, depth_r24 + 1));
507
475
  } }
508
- function ListsBrowseResource_ng_template_35_Conditional_4_Template(rf, ctx) { if (rf & 1) {
509
- i0.ɵɵrepeaterCreate(0, ListsBrowseResource_ng_template_35_Conditional_4_For_1_Template, 1, 5, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
476
+ function ListsBrowseResource_ng_template_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
477
+ i0.ɵɵrepeaterCreate(0, ListsBrowseResource_ng_template_18_Conditional_4_For_1_Template, 1, 5, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
510
478
  } if (rf & 2) {
511
- const node_r21 = i0.ɵɵnextContext().node;
512
- i0.ɵɵrepeater(node_r21.children);
479
+ const node_r18 = i0.ɵɵnextContext().node;
480
+ i0.ɵɵrepeater(node_r18.children);
513
481
  } }
514
- function ListsBrowseResource_ng_template_35_Template(rf, ctx) { if (rf & 1) {
515
- i0.ɵɵelementStart(0, "div", 109);
516
- i0.ɵɵconditionalCreate(1, ListsBrowseResource_ng_template_35_Conditional_1_Template, 7, 6, "div", 110);
517
- i0.ɵɵconditionalCreate(2, ListsBrowseResource_ng_template_35_Conditional_2_Template, 7, 3, "div", 111);
518
- i0.ɵɵconditionalCreate(3, ListsBrowseResource_ng_template_35_Conditional_3_Template, 3, 0, "div", 112);
519
- i0.ɵɵconditionalCreate(4, ListsBrowseResource_ng_template_35_Conditional_4_Template, 2, 0);
482
+ function ListsBrowseResource_ng_template_18_Template(rf, ctx) { if (rf & 1) {
483
+ i0.ɵɵelementStart(0, "div", 96);
484
+ i0.ɵɵconditionalCreate(1, ListsBrowseResource_ng_template_18_Conditional_1_Template, 7, 6, "div", 97);
485
+ i0.ɵɵconditionalCreate(2, ListsBrowseResource_ng_template_18_Conditional_2_Template, 7, 3, "div", 98);
486
+ i0.ɵɵconditionalCreate(3, ListsBrowseResource_ng_template_18_Conditional_3_Template, 3, 0, "div", 99);
487
+ i0.ɵɵconditionalCreate(4, ListsBrowseResource_ng_template_18_Conditional_4_Template, 2, 0);
520
488
  i0.ɵɵelementEnd();
521
489
  } if (rf & 2) {
522
- const node_r21 = ctx.node;
523
- const depth_r27 = ctx.depth;
524
- i0.ɵɵstyleProp("margin-left", depth_r27 * 20, "px");
490
+ const node_r18 = ctx.node;
491
+ const depth_r24 = ctx.depth;
492
+ i0.ɵɵstyleProp("margin-left", depth_r24 * 20, "px");
525
493
  i0.ɵɵadvance();
526
- i0.ɵɵconditional(node_r21.category ? 1 : -1);
494
+ i0.ɵɵconditional(node_r18.category ? 1 : -1);
527
495
  i0.ɵɵadvance();
528
- i0.ɵɵconditional(!node_r21.category && node_r21.lists.length > 0 ? 2 : -1);
496
+ i0.ɵɵconditional(!node_r18.category && node_r18.lists.length > 0 ? 2 : -1);
529
497
  i0.ɵɵadvance();
530
- i0.ɵɵconditional(node_r21.isExpanded ? 3 : -1);
498
+ i0.ɵɵconditional(node_r18.isExpanded ? 3 : -1);
531
499
  i0.ɵɵadvance();
532
- i0.ɵɵconditional(node_r21.isExpanded ? 4 : -1);
500
+ i0.ɵɵconditional(node_r18.isExpanded ? 4 : -1);
533
501
  } }
534
- function ListsBrowseResource_Conditional_37_Template(rf, ctx) { if (rf & 1) {
535
- const _r28 = i0.ɵɵgetCurrentView();
536
- i0.ɵɵelementStart(0, "div", 125);
537
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_37_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
502
+ function ListsBrowseResource_Conditional_20_Template(rf, ctx) { if (rf & 1) {
503
+ const _r25 = i0.ɵɵgetCurrentView();
504
+ i0.ɵɵelementStart(0, "div", 112);
505
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_20_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
538
506
  i0.ɵɵelementEnd();
539
507
  } }
540
- function ListsBrowseResource_Conditional_38_Template(rf, ctx) { if (rf & 1) {
541
- const _r29 = i0.ɵɵgetCurrentView();
542
- i0.ɵɵelementStart(0, "div", 126)(1, "button", 127);
543
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_38_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editList()); });
544
- i0.ɵɵelement(2, "i", 128);
508
+ function ListsBrowseResource_Conditional_21_Template(rf, ctx) { if (rf & 1) {
509
+ const _r26 = i0.ɵɵgetCurrentView();
510
+ i0.ɵɵelementStart(0, "div", 113)(1, "button", 114);
511
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editList()); });
512
+ i0.ɵɵelement(2, "i", 115);
545
513
  i0.ɵɵtext(3, " Edit ");
546
514
  i0.ɵɵelementEnd();
547
- i0.ɵɵelementStart(4, "button", 127);
548
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_38_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.openShareDialog()); });
549
- i0.ɵɵelement(5, "i", 84);
515
+ i0.ɵɵelementStart(4, "button", 114);
516
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.openShareDialog()); });
517
+ i0.ɵɵelement(5, "i", 71);
550
518
  i0.ɵɵtext(6, " Share ");
551
519
  i0.ɵɵelementEnd();
552
- i0.ɵɵelementStart(7, "button", 127);
553
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_38_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.duplicateList()); });
554
- i0.ɵɵelement(8, "i", 129);
520
+ i0.ɵɵelementStart(7, "button", 114);
521
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.duplicateList()); });
522
+ i0.ɵɵelement(8, "i", 116);
555
523
  i0.ɵɵtext(9, " Duplicate ");
556
524
  i0.ɵɵelementEnd();
557
- i0.ɵɵelement(10, "div", 130);
558
- i0.ɵɵelementStart(11, "button", 131);
559
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_38_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDeleteList()); });
560
- i0.ɵɵelement(12, "i", 132);
525
+ i0.ɵɵelement(10, "div", 117);
526
+ i0.ɵɵelementStart(11, "button", 118);
527
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDeleteList()); });
528
+ i0.ɵɵelement(12, "i", 119);
561
529
  i0.ɵɵtext(13, " Delete ");
562
530
  i0.ɵɵelementEnd()();
563
531
  } if (rf & 2) {
564
532
  const ctx_r2 = i0.ɵɵnextContext();
565
533
  i0.ɵɵstyleProp("top", ctx_r2.contextMenuY, "px")("left", ctx_r2.contextMenuX, "px");
566
534
  } }
567
- function ListsBrowseResource_Conditional_39_Template(rf, ctx) { if (rf & 1) {
568
- const _r30 = i0.ɵɵgetCurrentView();
569
- i0.ɵɵelementStart(0, "div", 133);
570
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_39_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
535
+ function ListsBrowseResource_Conditional_22_Template(rf, ctx) { if (rf & 1) {
536
+ const _r27 = i0.ɵɵgetCurrentView();
537
+ i0.ɵɵelementStart(0, "div", 120);
538
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_22_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
571
539
  i0.ɵɵelementEnd();
572
540
  } }
573
- function ListsBrowseResource_Conditional_40_Conditional_15_Template(rf, ctx) { if (rf & 1) {
574
- const _r32 = i0.ɵɵgetCurrentView();
575
- i0.ɵɵelementStart(0, "div", 137)(1, "label");
541
+ function ListsBrowseResource_Conditional_23_Conditional_15_Template(rf, ctx) { if (rf & 1) {
542
+ const _r29 = i0.ɵɵgetCurrentView();
543
+ i0.ɵɵelementStart(0, "div", 125)(1, "label");
576
544
  i0.ɵɵtext(2, "Entity *");
577
545
  i0.ɵɵelementEnd();
578
- i0.ɵɵelementStart(3, "div", 146)(4, "input", 147, 1);
579
- i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_40_Conditional_15_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.entitySearchTerm, $event) || (ctx_r2.entitySearchTerm = $event); return i0.ɵɵresetView($event); });
580
- i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_40_Conditional_15_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.filterEntities($event)); })("focus", function ListsBrowseResource_Conditional_40_Conditional_15_Template_input_focus_4_listener() { i0.ɵɵrestoreView(_r32); const entityInput_r33 = i0.ɵɵreference(5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openEntityDropdown(entityInput_r33)); });
546
+ i0.ɵɵelementStart(3, "div", 134)(4, "input", 135, 1);
547
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_23_Conditional_15_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.entitySearchTerm, $event) || (ctx_r2.entitySearchTerm = $event); return i0.ɵɵresetView($event); });
548
+ i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_23_Conditional_15_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.filterEntities($event)); })("focus", function ListsBrowseResource_Conditional_23_Conditional_15_Template_input_focus_4_listener() { i0.ɵɵrestoreView(_r29); const entityInput_r30 = i0.ɵɵreference(5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openEntityDropdown(entityInput_r30)); });
581
549
  i0.ɵɵelementEnd()()();
582
550
  } if (rf & 2) {
583
551
  const ctx_r2 = i0.ɵɵnextContext(2);
584
552
  i0.ɵɵadvance(4);
585
553
  i0.ɵɵtwoWayProperty("ngModel", ctx_r2.entitySearchTerm);
586
554
  } }
587
- function ListsBrowseResource_Conditional_40_Conditional_16_Template(rf, ctx) { if (rf & 1) {
588
- i0.ɵɵelementStart(0, "div", 137)(1, "label");
555
+ function ListsBrowseResource_Conditional_23_Conditional_16_Template(rf, ctx) { if (rf & 1) {
556
+ i0.ɵɵelementStart(0, "div", 125)(1, "label");
589
557
  i0.ɵɵtext(2, "Entity");
590
558
  i0.ɵɵelementEnd();
591
- i0.ɵɵelement(3, "input", 148);
559
+ i0.ɵɵelement(3, "input", 136);
592
560
  i0.ɵɵelementEnd();
593
561
  } if (rf & 2) {
594
562
  const ctx_r2 = i0.ɵɵnextContext(2);
595
563
  i0.ɵɵadvance(3);
596
564
  i0.ɵɵproperty("value", ctx_r2.entitySearchTerm);
597
565
  } }
598
- function ListsBrowseResource_Conditional_40_For_24_Template(rf, ctx) { if (rf & 1) {
599
- i0.ɵɵelementStart(0, "option", 141);
566
+ function ListsBrowseResource_Conditional_23_For_24_Template(rf, ctx) { if (rf & 1) {
567
+ i0.ɵɵelementStart(0, "option", 129);
600
568
  i0.ɵɵtext(1);
601
569
  i0.ɵɵelementEnd();
602
570
  } if (rf & 2) {
603
- const cat_r34 = ctx.$implicit;
604
- i0.ɵɵproperty("ngValue", cat_r34.ID);
571
+ const cat_r31 = ctx.$implicit;
572
+ i0.ɵɵproperty("ngValue", cat_r31.ID);
605
573
  i0.ɵɵadvance();
606
- i0.ɵɵtextInterpolate(cat_r34.displayName);
574
+ i0.ɵɵtextInterpolate(cat_r31.displayName);
607
575
  } }
608
- function ListsBrowseResource_Conditional_40_Conditional_27_Template(rf, ctx) { if (rf & 1) {
609
- i0.ɵɵelement(0, "i", 144);
576
+ function ListsBrowseResource_Conditional_23_Conditional_27_Template(rf, ctx) { if (rf & 1) {
577
+ i0.ɵɵelement(0, "i", 132);
610
578
  } }
611
- function ListsBrowseResource_Conditional_40_Template(rf, ctx) { if (rf & 1) {
612
- const _r31 = i0.ɵɵgetCurrentView();
613
- i0.ɵɵelementStart(0, "div", 32)(1, "div", 134)(2, "h3");
579
+ function ListsBrowseResource_Conditional_23_Template(rf, ctx) { if (rf & 1) {
580
+ const _r28 = i0.ɵɵgetCurrentView();
581
+ i0.ɵɵelementStart(0, "div", 20)(1, "div", 121)(2, "h3");
614
582
  i0.ɵɵtext(3);
615
583
  i0.ɵɵelementEnd();
616
- i0.ɵɵelementStart(4, "button", 135);
617
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_40_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
618
- i0.ɵɵelement(5, "i", 37);
584
+ i0.ɵɵelementStart(4, "button", 122);
585
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_23_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
586
+ i0.ɵɵelement(5, "i", 123);
619
587
  i0.ɵɵelementEnd()();
620
- i0.ɵɵelementStart(6, "div", 136)(7, "div", 137)(8, "label");
588
+ i0.ɵɵelementStart(6, "div", 124)(7, "div", 125)(8, "label");
621
589
  i0.ɵɵtext(9, "Name *");
622
590
  i0.ɵɵelementEnd();
623
- i0.ɵɵelementStart(10, "input", 138);
624
- i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_40_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListName, $event) || (ctx_r2.newListName = $event); return i0.ɵɵresetView($event); });
591
+ i0.ɵɵelementStart(10, "input", 126);
592
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_23_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListName, $event) || (ctx_r2.newListName = $event); return i0.ɵɵresetView($event); });
625
593
  i0.ɵɵelementEnd()();
626
- i0.ɵɵelementStart(11, "div", 137)(12, "label");
594
+ i0.ɵɵelementStart(11, "div", 125)(12, "label");
627
595
  i0.ɵɵtext(13, "Description");
628
596
  i0.ɵɵelementEnd();
629
- i0.ɵɵelementStart(14, "textarea", 139);
630
- i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_40_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListDescription, $event) || (ctx_r2.newListDescription = $event); return i0.ɵɵresetView($event); });
597
+ i0.ɵɵelementStart(14, "textarea", 127);
598
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_23_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListDescription, $event) || (ctx_r2.newListDescription = $event); return i0.ɵɵresetView($event); });
631
599
  i0.ɵɵelementEnd()();
632
- i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_40_Conditional_15_Template, 6, 1, "div", 137);
633
- i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_40_Conditional_16_Template, 4, 1, "div", 137);
634
- i0.ɵɵelementStart(17, "div", 137)(18, "label");
600
+ i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_23_Conditional_15_Template, 6, 1, "div", 125);
601
+ i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_23_Conditional_16_Template, 4, 1, "div", 125);
602
+ i0.ɵɵelementStart(17, "div", 125)(18, "label");
635
603
  i0.ɵɵtext(19, "Category");
636
604
  i0.ɵɵelementEnd();
637
- i0.ɵɵelementStart(20, "select", 140);
638
- i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_40_Template_select_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedCategoryId, $event) || (ctx_r2.selectedCategoryId = $event); return i0.ɵɵresetView($event); });
639
- i0.ɵɵelementStart(21, "option", 141);
605
+ i0.ɵɵelementStart(20, "select", 128);
606
+ i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_23_Template_select_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedCategoryId, $event) || (ctx_r2.selectedCategoryId = $event); return i0.ɵɵresetView($event); });
607
+ i0.ɵɵelementStart(21, "option", 129);
640
608
  i0.ɵɵtext(22, "No category");
641
609
  i0.ɵɵelementEnd();
642
- i0.ɵɵrepeaterCreate(23, ListsBrowseResource_Conditional_40_For_24_Template, 2, 2, "option", 141, i0.ɵɵrepeaterTrackByIdentity);
610
+ i0.ɵɵrepeaterCreate(23, ListsBrowseResource_Conditional_23_For_24_Template, 2, 2, "option", 129, i0.ɵɵrepeaterTrackByIdentity);
643
611
  i0.ɵɵelementEnd()()();
644
- i0.ɵɵelementStart(25, "div", 142)(26, "button", 143);
645
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_40_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveList()); });
646
- i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_40_Conditional_27_Template, 1, 0, "i", 144);
612
+ i0.ɵɵelementStart(25, "div", 130)(26, "button", 131);
613
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_23_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveList()); });
614
+ i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_23_Conditional_27_Template, 1, 0, "i", 132);
647
615
  i0.ɵɵtext(28);
648
616
  i0.ɵɵelementEnd();
649
- i0.ɵɵelementStart(29, "button", 145);
650
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_40_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
617
+ i0.ɵɵelementStart(29, "button", 133);
618
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_23_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
651
619
  i0.ɵɵtext(30, "Cancel");
652
620
  i0.ɵɵelementEnd()()();
653
621
  } if (rf & 2) {
@@ -677,41 +645,41 @@ function ListsBrowseResource_Conditional_40_Template(rf, ctx) { if (rf & 1) {
677
645
  i0.ɵɵadvance();
678
646
  i0.ɵɵproperty("disabled", ctx_r2.isSaving);
679
647
  } }
680
- function ListsBrowseResource_Conditional_41_Template(rf, ctx) { if (rf & 1) {
681
- const _r35 = i0.ɵɵgetCurrentView();
682
- i0.ɵɵelementStart(0, "div", 133);
683
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_41_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
648
+ function ListsBrowseResource_Conditional_24_Template(rf, ctx) { if (rf & 1) {
649
+ const _r32 = i0.ɵɵgetCurrentView();
650
+ i0.ɵɵelementStart(0, "div", 120);
651
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_24_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
684
652
  i0.ɵɵelementEnd();
685
653
  } }
686
- function ListsBrowseResource_Conditional_42_Conditional_16_Template(rf, ctx) { if (rf & 1) {
687
- i0.ɵɵelement(0, "i", 144);
654
+ function ListsBrowseResource_Conditional_25_Conditional_16_Template(rf, ctx) { if (rf & 1) {
655
+ i0.ɵɵelement(0, "i", 132);
688
656
  } }
689
- function ListsBrowseResource_Conditional_42_Template(rf, ctx) { if (rf & 1) {
690
- const _r36 = i0.ɵɵgetCurrentView();
691
- i0.ɵɵelementStart(0, "div", 33)(1, "div", 134)(2, "h3");
657
+ function ListsBrowseResource_Conditional_25_Template(rf, ctx) { if (rf & 1) {
658
+ const _r33 = i0.ɵɵgetCurrentView();
659
+ i0.ɵɵelementStart(0, "div", 21)(1, "div", 121)(2, "h3");
692
660
  i0.ɵɵtext(3, "Delete List");
693
661
  i0.ɵɵelementEnd();
694
- i0.ɵɵelementStart(4, "button", 135);
695
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_42_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
696
- i0.ɵɵelement(5, "i", 37);
662
+ i0.ɵɵelementStart(4, "button", 122);
663
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_25_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
664
+ i0.ɵɵelement(5, "i", 123);
697
665
  i0.ɵɵelementEnd()();
698
- i0.ɵɵelementStart(6, "div", 136)(7, "p");
666
+ i0.ɵɵelementStart(6, "div", 124)(7, "p");
699
667
  i0.ɵɵtext(8, "Are you sure you want to delete \"");
700
668
  i0.ɵɵelementStart(9, "strong");
701
669
  i0.ɵɵtext(10);
702
670
  i0.ɵɵelementEnd();
703
671
  i0.ɵɵtext(11, "\"?");
704
672
  i0.ɵɵelementEnd();
705
- i0.ɵɵelementStart(12, "p", 149);
673
+ i0.ɵɵelementStart(12, "p", 137);
706
674
  i0.ɵɵtext(13, "This will also remove all items in the list.");
707
675
  i0.ɵɵelementEnd()();
708
- i0.ɵɵelementStart(14, "div", 142)(15, "button", 150);
709
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_42_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.deleteList()); });
710
- i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_42_Conditional_16_Template, 1, 0, "i", 144);
676
+ i0.ɵɵelementStart(14, "div", 130)(15, "button", 138);
677
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_25_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.deleteList()); });
678
+ i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_25_Conditional_16_Template, 1, 0, "i", 132);
711
679
  i0.ɵɵtext(17);
712
680
  i0.ɵɵelementEnd();
713
- i0.ɵɵelementStart(18, "button", 145);
714
- i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_42_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
681
+ i0.ɵɵelementStart(18, "button", 133);
682
+ i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_25_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
715
683
  i0.ɵɵtext(19, "Cancel");
716
684
  i0.ɵɵelementEnd()()();
717
685
  } if (rf & 2) {
@@ -727,35 +695,35 @@ function ListsBrowseResource_Conditional_42_Template(rf, ctx) { if (rf & 1) {
727
695
  i0.ɵɵadvance();
728
696
  i0.ɵɵproperty("disabled", ctx_r2.isDeleting);
729
697
  } }
730
- function ListsBrowseResource_Conditional_43_Template(rf, ctx) { if (rf & 1) {
731
- const _r37 = i0.ɵɵgetCurrentView();
732
- i0.ɵɵelementStart(0, "mj-list-share-dialog", 151);
733
- i0.ɵɵlistener("complete", function ListsBrowseResource_Conditional_43_Template_mj_list_share_dialog_complete_0_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareComplete($event)); })("cancel", function ListsBrowseResource_Conditional_43_Template_mj_list_share_dialog_cancel_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareCancel()); });
698
+ function ListsBrowseResource_Conditional_26_Template(rf, ctx) { if (rf & 1) {
699
+ const _r34 = i0.ɵɵgetCurrentView();
700
+ i0.ɵɵelementStart(0, "mj-list-share-dialog", 139);
701
+ i0.ɵɵlistener("complete", function ListsBrowseResource_Conditional_26_Template_mj_list_share_dialog_complete_0_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareComplete($event)); })("cancel", function ListsBrowseResource_Conditional_26_Template_mj_list_share_dialog_cancel_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareCancel()); });
734
702
  i0.ɵɵelementEnd();
735
703
  } if (rf & 2) {
736
704
  const ctx_r2 = i0.ɵɵnextContext();
737
705
  i0.ɵɵproperty("config", ctx_r2.shareDialogConfig)("visible", ctx_r2.showShareDialog);
738
706
  } }
739
- function ListsBrowseResource_Conditional_44_For_3_Template(rf, ctx) { if (rf & 1) {
740
- const _r38 = i0.ɵɵgetCurrentView();
741
- i0.ɵɵelementStart(0, "div", 156);
742
- i0.ɵɵlistener("mousedown", function ListsBrowseResource_Conditional_44_For_3_Template_div_mousedown_0_listener($event) { const entity_r39 = i0.ɵɵrestoreView(_r38).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); ctx_r2.selectEntity(entity_r39); return i0.ɵɵresetView($event.preventDefault()); });
707
+ function ListsBrowseResource_Conditional_27_For_3_Template(rf, ctx) { if (rf & 1) {
708
+ const _r35 = i0.ɵɵgetCurrentView();
709
+ i0.ɵɵelementStart(0, "div", 144);
710
+ i0.ɵɵlistener("mousedown", function ListsBrowseResource_Conditional_27_For_3_Template_div_mousedown_0_listener($event) { const entity_r36 = i0.ɵɵrestoreView(_r35).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); ctx_r2.selectEntity(entity_r36); return i0.ɵɵresetView($event.preventDefault()); });
743
711
  i0.ɵɵtext(1);
744
712
  i0.ɵɵelementEnd();
745
713
  } if (rf & 2) {
746
- const entity_r39 = ctx.$implicit;
714
+ const entity_r36 = ctx.$implicit;
747
715
  i0.ɵɵadvance();
748
- i0.ɵɵtextInterpolate1(" ", entity_r39.Name, " ");
716
+ i0.ɵɵtextInterpolate1(" ", entity_r36.Name, " ");
749
717
  } }
750
- function ListsBrowseResource_Conditional_44_Conditional_4_Template(rf, ctx) { if (rf & 1) {
751
- i0.ɵɵelementStart(0, "div", 155);
718
+ function ListsBrowseResource_Conditional_27_Conditional_4_Template(rf, ctx) { if (rf & 1) {
719
+ i0.ɵɵelementStart(0, "div", 143);
752
720
  i0.ɵɵtext(1, " No entities found ");
753
721
  i0.ɵɵelementEnd();
754
722
  } }
755
- function ListsBrowseResource_Conditional_44_Template(rf, ctx) { if (rf & 1) {
756
- i0.ɵɵelementStart(0, "div", 152)(1, "div", 153);
757
- i0.ɵɵrepeaterCreate(2, ListsBrowseResource_Conditional_44_For_3_Template, 2, 1, "div", 154, i0.ɵɵrepeaterTrackByIdentity);
758
- i0.ɵɵconditionalCreate(4, ListsBrowseResource_Conditional_44_Conditional_4_Template, 2, 0, "div", 155);
723
+ function ListsBrowseResource_Conditional_27_Template(rf, ctx) { if (rf & 1) {
724
+ i0.ɵɵelementStart(0, "div", 140)(1, "div", 141);
725
+ i0.ɵɵrepeaterCreate(2, ListsBrowseResource_Conditional_27_For_3_Template, 2, 1, "div", 142, i0.ɵɵrepeaterTrackByIdentity);
726
+ i0.ɵɵconditionalCreate(4, ListsBrowseResource_Conditional_27_Conditional_4_Template, 2, 0, "div", 143);
759
727
  i0.ɵɵelementEnd()();
760
728
  } if (rf & 2) {
761
729
  const ctx_r2 = i0.ɵɵnextContext();
@@ -1029,7 +997,61 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
1029
997
  setViewMode(mode) {
1030
998
  this.viewMode = mode;
1031
999
  }
1032
- onSearchChange(_term) {
1000
+ /** View-mode options for the shared <mj-view-toggle>. */
1001
+ listViewOptions = [
1002
+ { key: 'table', icon: 'fa-solid fa-table-list', title: 'Table view' },
1003
+ { key: 'card', icon: 'fa-solid fa-grip', title: 'Card view' },
1004
+ { key: 'hierarchy', icon: 'fa-solid fa-folder-tree', title: 'Category view' },
1005
+ ];
1006
+ /** Values record consumed by the centralized <mj-filter-panel>. */
1007
+ get listFilterValues() {
1008
+ return { selectedOwner: this.selectedOwner, selectedEntity: this.selectedEntity };
1009
+ }
1010
+ /** Field config consumed by the centralized <mj-filter-panel>. */
1011
+ get listFilterFields() {
1012
+ return [
1013
+ {
1014
+ key: 'selectedOwner',
1015
+ type: 'dropdown',
1016
+ label: 'Owner',
1017
+ icon: 'fa-solid fa-user',
1018
+ options: this.ownerOptions.map(o => ({ text: o.name, value: o.value })),
1019
+ },
1020
+ {
1021
+ key: 'selectedEntity',
1022
+ type: 'dropdown',
1023
+ label: 'Entity',
1024
+ icon: 'fa-solid fa-table',
1025
+ filterable: this.entityOptions.length > 10,
1026
+ options: this.entityOptions.map(o => ({ text: o.name, value: o.value })),
1027
+ },
1028
+ ];
1029
+ }
1030
+ /** Receive popover updates and apply them. */
1031
+ onFilterValuesChange(values) {
1032
+ this.selectedOwner = values['selectedOwner'] ?? 'mine';
1033
+ this.selectedEntity = values['selectedEntity'] ?? 'all';
1034
+ this.applyFilters();
1035
+ this.buildCategoryTree();
1036
+ }
1037
+ /** Reset popover filters to defaults; leaves searchTerm alone. */
1038
+ resetPopoverFilters() {
1039
+ this.selectedOwner = 'mine';
1040
+ this.selectedEntity = 'all';
1041
+ this.applyFilters();
1042
+ this.buildCategoryTree();
1043
+ }
1044
+ /** Active filter count for the popover badge (excludes searchTerm). */
1045
+ get ActiveFilterCount() {
1046
+ let n = 0;
1047
+ if (this.selectedOwner && this.selectedOwner !== 'mine')
1048
+ n++;
1049
+ if (this.selectedEntity && this.selectedEntity !== 'all')
1050
+ n++;
1051
+ return n;
1052
+ }
1053
+ onSearchChange(term) {
1054
+ this.searchTerm = term;
1033
1055
  this.applyFilters();
1034
1056
  this.buildCategoryTree();
1035
1057
  }
@@ -1404,107 +1426,78 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
1404
1426
  static ɵfac = function ListsBrowseResource_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListsBrowseResource)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.TabService), i0.ɵɵdirectiveInject(i2.MJNotificationService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i3.ListSharingService)); };
1405
1427
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsBrowseResource, selectors: [["mj-lists-browse-resource"]], hostBindings: function ListsBrowseResource_HostBindings(rf, ctx) { if (rf & 1) {
1406
1428
  i0.ɵɵlistener("click", function ListsBrowseResource_click_HostBindingHandler($event) { return ctx.onDocumentClick($event); }, i0.ɵɵresolveDocument)("keydown.escape", function ListsBrowseResource_keydown_escape_HostBindingHandler() { return ctx.onEscapeKey(); }, i0.ɵɵresolveDocument);
1407
- } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 45, vars: 22, consts: [["categoryNodeTemplate", ""], ["entityInput", ""], [1, "lists-browse-container"], [1, "browse-header"], [1, "header-row"], [1, "header-title"], [1, "fa-solid", "fa-list-check"], [1, "btn-create", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "header-actions"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search lists...", 3, "ngModelChange", "ngModel"], [1, "clear-search"], [1, "filter-group"], ["title", "Filter by owner", 1, "filter-select", 3, "ngModelChange", "ngModel"], [3, "value"], ["title", "Filter by entity", 1, "filter-select", 3, "ngModelChange", "ngModel"], [1, "view-toggle-group"], ["title", "Table view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-table-list"], ["title", "Card view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-grip"], ["title", "Category view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-folder-tree"], [1, "loading-container"], [1, "empty-state"], [1, "empty-state", "search-empty"], [1, "browse-content"], [1, "context-menu-overlay"], [1, "context-menu", 3, "top", "left"], [1, "modal-overlay"], [1, "modal-dialog"], [1, "modal-dialog", "confirm-dialog"], [3, "config", "visible"], [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, "fa-solid", "fa-filter-circle-xmark"], [1, "empty-hint"], [1, "btn-clear", 3, "click"], [1, "results-header"], [1, "result-count"], [1, "sort-options"], [1, "filter-select", "sort-select", 3, "ngModelChange", "ngModel"], [1, "lists-table"], ["role", "list", "aria-label", "Lists", 1, "lists-grid"], [1, "category-tree"], ["role", "grid", "aria-label", "Lists table"], ["scope", "col", 1, "col-name"], ["scope", "col", 1, "col-entity"], ["scope", "col", 1, "col-items"], ["scope", "col", 1, "col-sharing"], ["scope", "col", 1, "col-owner"], ["scope", "col", 1, "col-updated"], ["scope", "col", 1, "col-actions"], [1, "sr-only"], ["tabindex", "0", "role", "row", 1, "list-row"], ["tabindex", "0", "role", "row", 1, "list-row", 3, "click", "keydown.enter"], ["role", "gridcell", 1, "col-name"], [1, "name-cell"], ["aria-hidden", "true", 1, "list-icon"], [1, "name-content"], [1, "list-name"], [1, "list-desc"], ["role", "gridcell", 1, "col-entity"], [1, "entity-badge"], ["role", "gridcell", 1, "col-items"], ["role", "gridcell", 1, "col-sharing"], [1, "sharing-private"], ["role", "gridcell", 1, "col-owner"], [1, "owner-name"], ["role", "gridcell", 1, "col-updated"], ["role", "gridcell", 1, "col-actions"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "More options"], [1, "sharing-indicator"], [1, "fa-solid", "fa-share-nodes"], [1, "share-count"], [1, "fa-solid", "fa-lock"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "More options", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-ellipsis-v"], ["tabindex", "0", "role", "listitem", 1, "list-card"], ["tabindex", "0", "role", "listitem", 1, "list-card", 3, "click", "keydown.enter"], [1, "card-header"], ["aria-hidden", "true", 1, "card-icon"], [1, "card-menu"], [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, "owner-tag"], [1, "fa-solid", "fa-user"], [1, "card-footer-right"], [1, "date-info"], [1, "menu-btn", 3, "click"], [1, "sharing-badge", 3, "title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "category-section"], [1, "category-header"], [1, "category-header", "uncategorized"], ["role", "list", 1, "category-lists"], [1, "category-header", 3, "click"], [1, "fa-solid", "fa-folder"], [1, "category-name"], [1, "category-count"], [1, "category-header", "uncategorized", 3, "click"], [1, "fa-solid", "fa-inbox"], ["tabindex", "0", "role", "listitem", 1, "list-row", "hierarchy-row"], ["tabindex", "0", "role", "listitem", 1, "list-row", "hierarchy-row", 3, "click", "keydown.enter"], [1, "list-info"], [1, "list-meta"], [1, "list-actions"], ["mjButton", "", "variant", "flat", "size", "sm", 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, "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, "custom-select-wrapper"], ["type", "text", "placeholder", "Search and select an entity", 1, "form-input", 3, "ngModelChange", "focus", "ngModel"], ["type", "text", "disabled", "", 1, "form-input", 3, "value"], [1, "warning-text"], [1, "btn-danger", 3, "click", "disabled"], [3, "complete", "cancel", "config", "visible"], [1, "entity-dropdown-portal"], [1, "entity-dropdown-content"], [1, "dropdown-item"], [1, "dropdown-empty"], [1, "dropdown-item", 3, "mousedown"]], template: function ListsBrowseResource_Template(rf, ctx) { if (rf & 1) {
1429
+ } }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 28, vars: 20, consts: [["categoryNodeTemplate", ""], ["entityInput", ""], ["Title", "Lists", "Icon", "fa-solid fa-list-check"], ["meta", ""], ["Label", "lists", 3, "Count"], ["actions", ""], [3, "ClearAllRequested", "ActiveCount", "ShowClearAll"], [3, "ValuesChange", "Reset", "Fields", "Values"], [3, "KeyChange", "Options", "ActiveKey"], ["mjButton", "", "variant", "primary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-plus"], ["toolbar", ""], ["Placeholder", "Search lists...", 3, "ValueChange", "Value"], [1, "loading-container"], [1, "empty-state"], [1, "empty-state", "search-empty"], [1, "browse-content"], [1, "context-menu-overlay"], [1, "context-menu", 3, "top", "left"], [1, "modal-overlay"], [1, "modal-dialog"], [1, "modal-dialog", "confirm-dialog"], [3, "config", "visible"], [1, "entity-dropdown-portal", 3, "top", "left", "width", "dropdown-above"], ["text", "Loading lists...", "size", "medium"], [1, "empty-state-icon-wrapper"], [1, "icon-bg"], [1, "fa-solid", "fa-list-check"], [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, "fa-solid", "fa-filter-circle-xmark"], [1, "empty-hint"], [1, "btn-clear", 3, "click"], [1, "results-header"], [1, "sort-options"], [1, "filter-select", "sort-select", 3, "ngModelChange", "ngModel"], [3, "value"], [1, "lists-table"], ["role", "list", "aria-label", "Lists", 1, "lists-grid"], [1, "category-tree"], ["role", "grid", "aria-label", "Lists table"], ["scope", "col", 1, "col-name"], ["scope", "col", 1, "col-entity"], ["scope", "col", 1, "col-items"], ["scope", "col", 1, "col-sharing"], ["scope", "col", 1, "col-owner"], ["scope", "col", 1, "col-updated"], ["scope", "col", 1, "col-actions"], [1, "sr-only"], ["tabindex", "0", "role", "row", 1, "list-row"], ["tabindex", "0", "role", "row", 1, "list-row", 3, "click", "keydown.enter"], ["role", "gridcell", 1, "col-name"], [1, "name-cell"], ["aria-hidden", "true", 1, "list-icon"], [1, "name-content"], [1, "list-name"], [1, "list-desc"], ["role", "gridcell", 1, "col-entity"], [1, "entity-badge"], ["role", "gridcell", 1, "col-items"], ["role", "gridcell", 1, "col-sharing"], [1, "sharing-private"], ["role", "gridcell", 1, "col-owner"], [1, "owner-name"], ["role", "gridcell", 1, "col-updated"], ["role", "gridcell", 1, "col-actions"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "More options"], [1, "sharing-indicator"], [1, "fa-solid", "fa-share-nodes"], [1, "share-count"], [1, "fa-solid", "fa-lock"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "More options", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-ellipsis-v"], ["tabindex", "0", "role", "listitem", 1, "list-card"], ["tabindex", "0", "role", "listitem", 1, "list-card", 3, "click", "keydown.enter"], [1, "card-header"], ["aria-hidden", "true", 1, "card-icon"], [1, "card-menu"], [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, "owner-tag"], [1, "fa-solid", "fa-user"], [1, "card-footer-right"], [1, "date-info"], [1, "menu-btn", 3, "click"], [1, "sharing-badge", 3, "title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "category-section"], [1, "category-header"], [1, "category-header", "uncategorized"], ["role", "list", 1, "category-lists"], [1, "category-header", 3, "click"], [1, "fa-solid", "fa-folder"], [1, "category-name"], [1, "category-count"], [1, "category-header", "uncategorized", 3, "click"], [1, "fa-solid", "fa-inbox"], ["tabindex", "0", "role", "listitem", 1, "list-row", "hierarchy-row"], ["tabindex", "0", "role", "listitem", 1, "list-row", "hierarchy-row", 3, "click", "keydown.enter"], [1, "list-info"], [1, "list-meta"], [1, "list-actions"], ["mjButton", "", "variant", "flat", "size", "sm", 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, "fa-solid", "fa-times"], [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, "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, "custom-select-wrapper"], ["type", "text", "placeholder", "Search and select an entity", 1, "form-input", 3, "ngModelChange", "focus", "ngModel"], ["type", "text", "disabled", "", 1, "form-input", 3, "value"], [1, "warning-text"], [1, "btn-danger", 3, "click", "disabled"], [3, "complete", "cancel", "config", "visible"], [1, "entity-dropdown-portal"], [1, "entity-dropdown-content"], [1, "dropdown-item"], [1, "dropdown-empty"], [1, "dropdown-item", 3, "mousedown"]], template: function ListsBrowseResource_Template(rf, ctx) { if (rf & 1) {
1408
1430
  const _r1 = i0.ɵɵgetCurrentView();
1409
- i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5);
1410
- i0.ɵɵelement(4, "i", 6);
1411
- i0.ɵɵelementStart(5, "h2");
1412
- i0.ɵɵtext(6, "Lists");
1413
- i0.ɵɵelementEnd()();
1414
- i0.ɵɵelementStart(7, "button", 7);
1415
- i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.createNewList()); });
1416
- i0.ɵɵelement(8, "i", 8);
1417
- i0.ɵɵelementStart(9, "span");
1418
- i0.ɵɵtext(10, "New List");
1419
- i0.ɵɵelementEnd()()();
1420
- i0.ɵɵelementStart(11, "div", 9)(12, "div", 10);
1421
- i0.ɵɵelement(13, "i", 11);
1422
- i0.ɵɵelementStart(14, "input", 12);
1423
- i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Template_input_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.searchTerm, $event) || (ctx.searchTerm = $event); return i0.ɵɵresetView($event); });
1424
- i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Template_input_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSearchChange($event)); });
1431
+ i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 2)(2, "div", 3);
1432
+ i0.ɵɵelement(3, "mj-stat-badge", 4);
1425
1433
  i0.ɵɵelementEnd();
1426
- i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_15_Template, 2, 0, "button", 13);
1434
+ i0.ɵɵelementStart(4, "div", 5)(5, "mj-filter-popover", 6);
1435
+ i0.ɵɵlistener("ClearAllRequested", function ListsBrowseResource_Template_mj_filter_popover_ClearAllRequested_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.resetPopoverFilters()); });
1436
+ i0.ɵɵelementStart(6, "mj-filter-panel", 7);
1437
+ i0.ɵɵlistener("ValuesChange", function ListsBrowseResource_Template_mj_filter_panel_ValuesChange_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onFilterValuesChange($event)); })("Reset", function ListsBrowseResource_Template_mj_filter_panel_Reset_6_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.resetPopoverFilters()); });
1438
+ i0.ɵɵelementEnd()();
1439
+ i0.ɵɵelementStart(7, "mj-view-toggle", 8);
1440
+ i0.ɵɵlistener("KeyChange", function ListsBrowseResource_Template_mj_view_toggle_KeyChange_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode($event)); });
1427
1441
  i0.ɵɵelementEnd();
1428
- i0.ɵɵelementStart(16, "div", 14)(17, "select", 15);
1429
- i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Template_select_ngModelChange_17_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.selectedOwner, $event) || (ctx.selectedOwner = $event); return i0.ɵɵresetView($event); });
1430
- i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Template_select_ngModelChange_17_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onOwnerFilterChange($event)); });
1431
- i0.ɵɵrepeaterCreate(18, ListsBrowseResource_For_19_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
1442
+ i0.ɵɵelementStart(8, "button", 9);
1443
+ i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.createNewList()); });
1444
+ i0.ɵɵelement(9, "i", 10);
1445
+ i0.ɵɵtext(10, " New List ");
1432
1446
  i0.ɵɵelementEnd()();
1433
- i0.ɵɵelementStart(20, "div", 14)(21, "select", 17);
1434
- i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Template_select_ngModelChange_21_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.selectedEntity, $event) || (ctx.selectedEntity = $event); return i0.ɵɵresetView($event); });
1435
- i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Template_select_ngModelChange_21_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEntityFilterChange($event)); });
1436
- i0.ɵɵrepeaterCreate(22, ListsBrowseResource_For_23_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
1447
+ i0.ɵɵelementStart(11, "div", 11)(12, "mj-page-search", 12);
1448
+ i0.ɵɵlistener("ValueChange", function ListsBrowseResource_Template_mj_page_search_ValueChange_12_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSearchChange($event)); });
1449
+ i0.ɵɵelementEnd()()();
1450
+ i0.ɵɵelementStart(13, "mj-page-body");
1451
+ i0.ɵɵconditionalCreate(14, ListsBrowseResource_Conditional_14_Template, 2, 0, "div", 13);
1452
+ i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_15_Template, 24, 0, "div", 14);
1453
+ i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_16_Template, 11, 0, "div", 15);
1454
+ i0.ɵɵconditionalCreate(17, ListsBrowseResource_Conditional_17_Template, 11, 4, "div", 16);
1455
+ i0.ɵɵtemplate(18, ListsBrowseResource_ng_template_18_Template, 5, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
1456
+ i0.ɵɵconditionalCreate(20, ListsBrowseResource_Conditional_20_Template, 1, 0, "div", 17);
1457
+ i0.ɵɵconditionalCreate(21, ListsBrowseResource_Conditional_21_Template, 14, 4, "div", 18);
1458
+ i0.ɵɵconditionalCreate(22, ListsBrowseResource_Conditional_22_Template, 1, 0, "div", 19);
1459
+ i0.ɵɵconditionalCreate(23, ListsBrowseResource_Conditional_23_Template, 31, 11, "div", 20);
1460
+ i0.ɵɵconditionalCreate(24, ListsBrowseResource_Conditional_24_Template, 1, 0, "div", 19);
1461
+ i0.ɵɵconditionalCreate(25, ListsBrowseResource_Conditional_25_Template, 20, 5, "div", 21);
1462
+ i0.ɵɵconditionalCreate(26, ListsBrowseResource_Conditional_26_Template, 1, 2, "mj-list-share-dialog", 22);
1463
+ i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_27_Template, 5, 11, "div", 23);
1437
1464
  i0.ɵɵelementEnd()();
1438
- i0.ɵɵelementStart(24, "div", 18)(25, "button", 19);
1439
- i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_25_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("table")); });
1440
- i0.ɵɵelement(26, "i", 20);
1441
- i0.ɵɵelementEnd();
1442
- i0.ɵɵelementStart(27, "button", 21);
1443
- i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_27_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("card")); });
1444
- i0.ɵɵelement(28, "i", 22);
1445
- i0.ɵɵelementEnd();
1446
- i0.ɵɵelementStart(29, "button", 23);
1447
- i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("hierarchy")); });
1448
- i0.ɵɵelement(30, "i", 24);
1449
- i0.ɵɵelementEnd()()()();
1450
- i0.ɵɵconditionalCreate(31, ListsBrowseResource_Conditional_31_Template, 2, 0, "div", 25);
1451
- i0.ɵɵconditionalCreate(32, ListsBrowseResource_Conditional_32_Template, 24, 0, "div", 26);
1452
- i0.ɵɵconditionalCreate(33, ListsBrowseResource_Conditional_33_Template, 11, 0, "div", 27);
1453
- i0.ɵɵconditionalCreate(34, ListsBrowseResource_Conditional_34_Template, 13, 6, "div", 28);
1454
- i0.ɵɵtemplate(35, ListsBrowseResource_ng_template_35_Template, 5, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
1455
- i0.ɵɵconditionalCreate(37, ListsBrowseResource_Conditional_37_Template, 1, 0, "div", 29);
1456
- i0.ɵɵconditionalCreate(38, ListsBrowseResource_Conditional_38_Template, 14, 4, "div", 30);
1457
- i0.ɵɵconditionalCreate(39, ListsBrowseResource_Conditional_39_Template, 1, 0, "div", 31);
1458
- i0.ɵɵconditionalCreate(40, ListsBrowseResource_Conditional_40_Template, 31, 11, "div", 32);
1459
- i0.ɵɵconditionalCreate(41, ListsBrowseResource_Conditional_41_Template, 1, 0, "div", 31);
1460
- i0.ɵɵconditionalCreate(42, ListsBrowseResource_Conditional_42_Template, 20, 5, "div", 33);
1461
- i0.ɵɵconditionalCreate(43, ListsBrowseResource_Conditional_43_Template, 1, 2, "mj-list-share-dialog", 34);
1462
- i0.ɵɵconditionalCreate(44, ListsBrowseResource_Conditional_44_Template, 5, 11, "div", 35);
1463
- i0.ɵɵelementEnd();
1464
1465
  } if (rf & 2) {
1465
- i0.ɵɵadvance(14);
1466
- i0.ɵɵtwoWayProperty("ngModel", ctx.searchTerm);
1467
- i0.ɵɵadvance();
1468
- i0.ɵɵconditional(ctx.searchTerm ? 15 : -1);
1466
+ i0.ɵɵadvance(3);
1467
+ i0.ɵɵproperty("Count", ctx.filteredLists.length);
1469
1468
  i0.ɵɵadvance(2);
1470
- i0.ɵɵtwoWayProperty("ngModel", ctx.selectedOwner);
1469
+ i0.ɵɵproperty("ActiveCount", ctx.ActiveFilterCount)("ShowClearAll", ctx.ActiveFilterCount > 0);
1471
1470
  i0.ɵɵadvance();
1472
- i0.ɵɵrepeater(ctx.ownerOptions);
1473
- i0.ɵɵadvance(3);
1474
- i0.ɵɵtwoWayProperty("ngModel", ctx.selectedEntity);
1471
+ i0.ɵɵproperty("Fields", ctx.listFilterFields)("Values", ctx.listFilterValues);
1475
1472
  i0.ɵɵadvance();
1476
- i0.ɵɵrepeater(ctx.entityOptions);
1477
- i0.ɵɵadvance(3);
1478
- i0.ɵɵclassProp("active", ctx.viewMode === "table");
1479
- i0.ɵɵadvance(2);
1480
- i0.ɵɵclassProp("active", ctx.viewMode === "card");
1473
+ i0.ɵɵproperty("Options", ctx.listViewOptions)("ActiveKey", ctx.viewMode);
1474
+ i0.ɵɵadvance(5);
1475
+ i0.ɵɵproperty("Value", ctx.searchTerm);
1481
1476
  i0.ɵɵadvance(2);
1482
- i0.ɵɵclassProp("active", ctx.viewMode === "hierarchy");
1483
- i0.ɵɵadvance(2);
1484
- i0.ɵɵconditional(ctx.isLoading ? 31 : -1);
1477
+ i0.ɵɵconditional(ctx.isLoading ? 14 : -1);
1485
1478
  i0.ɵɵadvance();
1486
- i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length === 0 ? 32 : -1);
1479
+ i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length === 0 ? 15 : -1);
1487
1480
  i0.ɵɵadvance();
1488
- i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length > 0 && ctx.filteredLists.length === 0 ? 33 : -1);
1481
+ i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length > 0 && ctx.filteredLists.length === 0 ? 16 : -1);
1489
1482
  i0.ɵɵadvance();
1490
- i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length > 0 ? 34 : -1);
1483
+ i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length > 0 ? 17 : -1);
1491
1484
  i0.ɵɵadvance(3);
1492
- i0.ɵɵconditional(ctx.showContextMenu ? 37 : -1);
1485
+ i0.ɵɵconditional(ctx.showContextMenu ? 20 : -1);
1493
1486
  i0.ɵɵadvance();
1494
- i0.ɵɵconditional(ctx.showContextMenu ? 38 : -1);
1487
+ i0.ɵɵconditional(ctx.showContextMenu ? 21 : -1);
1495
1488
  i0.ɵɵadvance();
1496
- i0.ɵɵconditional(ctx.showCreateDialog ? 39 : -1);
1489
+ i0.ɵɵconditional(ctx.showCreateDialog ? 22 : -1);
1497
1490
  i0.ɵɵadvance();
1498
- i0.ɵɵconditional(ctx.showCreateDialog ? 40 : -1);
1491
+ i0.ɵɵconditional(ctx.showCreateDialog ? 23 : -1);
1499
1492
  i0.ɵɵadvance();
1500
- i0.ɵɵconditional(ctx.showDeleteConfirm ? 41 : -1);
1493
+ i0.ɵɵconditional(ctx.showDeleteConfirm ? 24 : -1);
1501
1494
  i0.ɵɵadvance();
1502
- i0.ɵɵconditional(ctx.showDeleteConfirm ? 42 : -1);
1495
+ i0.ɵɵconditional(ctx.showDeleteConfirm ? 25 : -1);
1503
1496
  i0.ɵɵadvance();
1504
- i0.ɵɵconditional(ctx.shareDialogConfig ? 43 : -1);
1497
+ i0.ɵɵconditional(ctx.shareDialogConfig ? 26 : -1);
1505
1498
  i0.ɵɵadvance();
1506
- i0.ɵɵconditional(ctx.showEntityDropdown && !ctx.editingList ? 44 : -1);
1507
- } }, dependencies: [i4.NgTemplateOutlet, i5.NgSelectOption, i5.ɵNgSelectMultipleOption, i5.DefaultValueAccessor, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.MJButtonDirective, i7.LoadingComponent, i3.ListShareDialogComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-browse-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: none;\n border-right: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .view-toggle.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 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: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: var(--mj-text-muted) !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: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: var(--mj-bg-surface-sunken);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: var(--mj-border-default);\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .result-count {\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n /* Table View */\n .lists-table {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-sm);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .list-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--mj-brand-primary);\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: var(--mj-text-muted);\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 50%;\n color: var(--mj-brand-primary);\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 4px;\n font-size: 12px;\n color: var(--mj-brand-primary-hover);\n }\n\n .owner-name {\n color: var(--mj-text-secondary);\n }\n\n .owner-name.is-me {\n color: var(--mj-brand-primary);\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n }\n\n /* Card 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: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\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: var(--mj-shadow-md);\n }\n\n .list-card:focus {\n outline: 2px solid var(--mj-brand-primary);\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 var(--mj-brand-primary);\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: var(--mj-text-inverse);\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\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: var(--mj-text-primary);\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\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: var(--mj-text-muted);\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 var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n }\n\n .owner-tag.is-me {\n color: var(--mj-brand-primary);\n }\n\n .date-info {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: var(--mj-bg-surface-card);\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: var(--mj-bg-surface-sunken);\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .category-header.uncategorized .fa-inbox {\n color: var(--mj-text-muted);\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .category-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid var(--mj-border-default);\n }\n\n .hierarchy-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 .hierarchy-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .hierarchy-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .hierarchy-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\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: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-md);\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: var(--mj-text-primary);\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .menu-item.danger {\n color: var(--mj-status-error);\n }\n\n .menu-item.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .menu-divider {\n height: 1px;\n background: var(--mj-border-default);\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: var(--mj-bg-overlay);\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: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\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 var(--mj-border-default);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\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: var(--mj-text-primary);\n }\n\n .warning-text {\n color: var(--mj-status-error) !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\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: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\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: var(--mj-bg-surface-sunken);\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-status-error);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-status-error) 85%, black);\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: var(--mj-text-secondary);\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\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: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input:disabled {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\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 */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n box-shadow: var(--mj-shadow-md);\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: var(--mj-text-primary);\n }\n\n .dropdown-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\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: var(--mj-text-muted);\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
1499
+ i0.ɵɵconditional(ctx.showEntityDropdown && !ctx.editingList ? 27 : -1);
1500
+ } }, dependencies: [i4.NgTemplateOutlet, i5.NgSelectOption, i5.ɵNgSelectMultipleOption, i5.DefaultValueAccessor, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.MJButtonDirective, i6.MJPageLayoutComponent, i6.MJPageHeaderComponent, i6.MJPageBodyComponent, i6.MJPageSearchComponent, i6.MJFilterPopoverComponent, i6.MJFilterPanelComponent, i6.MJViewToggleComponent, i6.MJStatBadgeComponent, i7.LoadingComponent, i3.ListShareDialogComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: none;\n border-right: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .view-toggle.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 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: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: var(--mj-text-muted) !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: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: var(--mj-bg-surface-sunken);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: var(--mj-border-default);\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n /* Table View */\n .lists-table {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-sm);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .list-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--mj-brand-primary);\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: var(--mj-text-muted);\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 50%;\n color: var(--mj-brand-primary);\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 4px;\n font-size: 12px;\n color: var(--mj-brand-primary-hover);\n }\n\n .owner-name {\n color: var(--mj-text-secondary);\n }\n\n .owner-name.is-me {\n color: var(--mj-brand-primary);\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n }\n\n /* Card 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: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\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: var(--mj-shadow-md);\n }\n\n .list-card:focus {\n outline: 2px solid var(--mj-brand-primary);\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 var(--mj-brand-primary);\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: var(--mj-text-inverse);\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\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: var(--mj-text-primary);\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\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: var(--mj-text-muted);\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 var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n }\n\n .owner-tag.is-me {\n color: var(--mj-brand-primary);\n }\n\n .date-info {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: var(--mj-bg-surface-card);\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: var(--mj-bg-surface-sunken);\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .category-header.uncategorized .fa-inbox {\n color: var(--mj-text-muted);\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .category-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid var(--mj-border-default);\n }\n\n .hierarchy-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 .hierarchy-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .hierarchy-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .hierarchy-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\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: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-md);\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: var(--mj-text-primary);\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .menu-item.danger {\n color: var(--mj-status-error);\n }\n\n .menu-item.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .menu-divider {\n height: 1px;\n background: var(--mj-border-default);\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: var(--mj-bg-overlay);\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: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\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 var(--mj-border-default);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\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: var(--mj-text-primary);\n }\n\n .warning-text {\n color: var(--mj-status-error) !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\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: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\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: var(--mj-bg-surface-sunken);\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-status-error);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-status-error) 85%, black);\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: var(--mj-text-secondary);\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\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: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input:disabled {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\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 */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n box-shadow: var(--mj-shadow-md);\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: var(--mj-text-primary);\n }\n\n .dropdown-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\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: var(--mj-text-muted);\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
1508
1501
  };
1509
1502
  ListsBrowseResource = __decorate([
1510
1503
  RegisterClass(BaseResourceComponent, 'ListsBrowseResource')
@@ -1513,85 +1506,44 @@ export { ListsBrowseResource };
1513
1506
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListsBrowseResource, [{
1514
1507
  type: Component,
1515
1508
  args: [{ standalone: false, selector: 'mj-lists-browse-resource', template: `
1516
- <div class="lists-browse-container">
1517
- <!-- Header -->
1518
- <div class="browse-header">
1519
- <div class="header-row">
1520
- <div class="header-title">
1521
- <i class="fa-solid fa-list-check"></i>
1522
- <h2>Lists</h2>
1523
- </div>
1524
- <button class="btn-create" (click)="createNewList()">
1525
- <i class="fa-solid fa-plus"></i>
1526
- <span>New List</span>
1509
+ <mj-page-layout>
1510
+ <mj-page-header Title="Lists" Icon="fa-solid fa-list-check">
1511
+ <div meta>
1512
+ <mj-stat-badge [Count]="filteredLists.length" Label="lists"></mj-stat-badge>
1513
+ </div>
1514
+ <div actions>
1515
+ <mj-filter-popover
1516
+ [ActiveCount]="ActiveFilterCount"
1517
+ [ShowClearAll]="ActiveFilterCount > 0"
1518
+ (ClearAllRequested)="resetPopoverFilters()">
1519
+ <mj-filter-panel
1520
+ [Fields]="listFilterFields"
1521
+ [Values]="listFilterValues"
1522
+ (ValuesChange)="onFilterValuesChange($event)"
1523
+ (Reset)="resetPopoverFilters()">
1524
+ </mj-filter-panel>
1525
+ </mj-filter-popover>
1526
+
1527
+ <mj-view-toggle
1528
+ [Options]="listViewOptions"
1529
+ [ActiveKey]="viewMode"
1530
+ (KeyChange)="setViewMode($any($event))">
1531
+ </mj-view-toggle>
1532
+
1533
+ <button mjButton variant="primary" size="sm" (click)="createNewList()">
1534
+ <i class="fa-solid fa-plus"></i> New List
1527
1535
  </button>
1528
1536
  </div>
1529
-
1530
- <div class="header-actions">
1531
- <div class="search-box">
1532
- <i class="fa-solid fa-search"></i>
1533
- <input
1534
- type="text"
1535
- placeholder="Search lists..."
1536
- [(ngModel)]="searchTerm"
1537
- (ngModelChange)="onSearchChange($event)" />
1538
- @if (searchTerm) {
1539
- <button class="clear-search" (click)="clearSearch()">
1540
- <i class="fa-solid fa-times"></i>
1541
- </button>
1542
- }
1543
- </div>
1544
-
1545
- <div class="filter-group">
1546
- <select
1547
- [(ngModel)]="selectedOwner"
1548
- (ngModelChange)="onOwnerFilterChange($event)"
1549
- class="filter-select"
1550
- title="Filter by owner">
1551
- @for (opt of ownerOptions; track opt) {
1552
- <option [value]="opt.value">{{opt.name}}</option>
1553
- }
1554
- </select>
1555
- </div>
1556
-
1557
- <div class="filter-group">
1558
- <select
1559
- [(ngModel)]="selectedEntity"
1560
- (ngModelChange)="onEntityFilterChange($event)"
1561
- class="filter-select"
1562
- title="Filter by entity">
1563
- @for (opt of entityOptions; track opt) {
1564
- <option [value]="opt.value">{{opt.name}}</option>
1565
- }
1566
- </select>
1567
- </div>
1568
-
1569
- <div class="view-toggle-group">
1570
- <button
1571
- class="view-toggle"
1572
- [class.active]="viewMode === 'table'"
1573
- (click)="setViewMode('table')"
1574
- title="Table view">
1575
- <i class="fa-solid fa-table-list"></i>
1576
- </button>
1577
- <button
1578
- class="view-toggle"
1579
- [class.active]="viewMode === 'card'"
1580
- (click)="setViewMode('card')"
1581
- title="Card view">
1582
- <i class="fa-solid fa-grip"></i>
1583
- </button>
1584
- <button
1585
- class="view-toggle"
1586
- [class.active]="viewMode === 'hierarchy'"
1587
- (click)="setViewMode('hierarchy')"
1588
- title="Category view">
1589
- <i class="fa-solid fa-folder-tree"></i>
1590
- </button>
1591
- </div>
1537
+ <div toolbar>
1538
+ <mj-page-search
1539
+ Placeholder="Search lists..."
1540
+ [Value]="searchTerm"
1541
+ (ValueChange)="onSearchChange($event)">
1542
+ </mj-page-search>
1592
1543
  </div>
1593
- </div>
1594
-
1544
+ </mj-page-header>
1545
+
1546
+ <mj-page-body>
1595
1547
  <!-- Loading State -->
1596
1548
  @if (isLoading) {
1597
1549
  <div class="loading-container">
@@ -1645,8 +1597,9 @@ export { ListsBrowseResource };
1645
1597
  <!-- Results Content -->
1646
1598
  @if (!isLoading && filteredLists.length > 0) {
1647
1599
  <div class="browse-content">
1600
+ <!-- Sort options — sort UI is undecided in the chrome conventions doc;
1601
+ keeping it here in the body as a sub-view control until the doc takes a position. -->
1648
1602
  <div class="results-header">
1649
- <span class="result-count">{{filteredLists.length}} list{{filteredLists.length !== 1 ? 's' : ''}}</span>
1650
1603
  <div class="sort-options">
1651
1604
  <label>Sort:</label>
1652
1605
  <select
@@ -2044,8 +1997,9 @@ export { ListsBrowseResource };
2044
1997
  </div>
2045
1998
  </div>
2046
1999
  }
2047
- </div>
2048
- `, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-browse-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: none;\n border-right: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .view-toggle.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 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: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: var(--mj-text-muted) !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: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: var(--mj-bg-surface-sunken);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: var(--mj-border-default);\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .result-count {\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n /* Table View */\n .lists-table {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-sm);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .list-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--mj-brand-primary);\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: var(--mj-text-muted);\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 50%;\n color: var(--mj-brand-primary);\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 4px;\n font-size: 12px;\n color: var(--mj-brand-primary-hover);\n }\n\n .owner-name {\n color: var(--mj-text-secondary);\n }\n\n .owner-name.is-me {\n color: var(--mj-brand-primary);\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n }\n\n /* Card 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: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\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: var(--mj-shadow-md);\n }\n\n .list-card:focus {\n outline: 2px solid var(--mj-brand-primary);\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 var(--mj-brand-primary);\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: var(--mj-text-inverse);\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\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: var(--mj-text-primary);\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\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: var(--mj-text-muted);\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 var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n }\n\n .owner-tag.is-me {\n color: var(--mj-brand-primary);\n }\n\n .date-info {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: var(--mj-bg-surface-card);\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: var(--mj-bg-surface-sunken);\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .category-header.uncategorized .fa-inbox {\n color: var(--mj-text-muted);\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .category-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid var(--mj-border-default);\n }\n\n .hierarchy-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 .hierarchy-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .hierarchy-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .hierarchy-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\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: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-md);\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: var(--mj-text-primary);\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .menu-item.danger {\n color: var(--mj-status-error);\n }\n\n .menu-item.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .menu-divider {\n height: 1px;\n background: var(--mj-border-default);\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: var(--mj-bg-overlay);\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: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\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 var(--mj-border-default);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\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: var(--mj-text-primary);\n }\n\n .warning-text {\n color: var(--mj-status-error) !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\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: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\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: var(--mj-bg-surface-sunken);\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-status-error);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-status-error) 85%, black);\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: var(--mj-text-secondary);\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\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: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input:disabled {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\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 */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n box-shadow: var(--mj-shadow-md);\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: var(--mj-text-primary);\n }\n\n .dropdown-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\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: var(--mj-text-muted);\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
2000
+ </mj-page-body>
2001
+ </mj-page-layout>
2002
+ `, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: none;\n border-right: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .view-toggle.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 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: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: var(--mj-text-muted) !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: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: var(--mj-bg-surface-sunken);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: var(--mj-border-default);\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n /* Table View */\n .lists-table {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-sm);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .list-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--mj-brand-primary);\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: var(--mj-text-muted);\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 50%;\n color: var(--mj-brand-primary);\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 4px;\n font-size: 12px;\n color: var(--mj-brand-primary-hover);\n }\n\n .owner-name {\n color: var(--mj-text-secondary);\n }\n\n .owner-name.is-me {\n color: var(--mj-brand-primary);\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n }\n\n /* Card 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: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\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: var(--mj-shadow-md);\n }\n\n .list-card:focus {\n outline: 2px solid var(--mj-brand-primary);\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 var(--mj-brand-primary);\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: var(--mj-text-inverse);\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\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: var(--mj-text-primary);\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\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: var(--mj-text-muted);\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 var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n }\n\n .owner-tag.is-me {\n color: var(--mj-brand-primary);\n }\n\n .date-info {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: var(--mj-bg-surface-card);\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: var(--mj-bg-surface-sunken);\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .category-header.uncategorized .fa-inbox {\n color: var(--mj-text-muted);\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .category-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid var(--mj-border-default);\n }\n\n .hierarchy-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 .hierarchy-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .hierarchy-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .hierarchy-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\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: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-md);\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: var(--mj-text-primary);\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .menu-item.danger {\n color: var(--mj-status-error);\n }\n\n .menu-item.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .menu-divider {\n height: 1px;\n background: var(--mj-border-default);\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: var(--mj-bg-overlay);\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: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\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 var(--mj-border-default);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\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: var(--mj-text-primary);\n }\n\n .warning-text {\n color: var(--mj-status-error) !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\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: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\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: var(--mj-bg-surface-sunken);\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-status-error);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-status-error) 85%, black);\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: var(--mj-text-secondary);\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\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: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input:disabled {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\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 */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n box-shadow: var(--mj-shadow-md);\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: var(--mj-text-primary);\n }\n\n .dropdown-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\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: var(--mj-text-muted);\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
2049
2003
  }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.TabService }, { type: i2.MJNotificationService }, { type: i0.ElementRef }, { type: i3.ListSharingService }], { onDocumentClick: [{
2050
2004
  type: HostListener,
2051
2005
  args: ['document:click', ['$event']]
@@ -2053,5 +2007,5 @@ export { ListsBrowseResource };
2053
2007
  type: HostListener,
2054
2008
  args: ['document:keydown.escape']
2055
2009
  }] }); })();
2056
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsBrowseResource, { className: "ListsBrowseResource", filePath: "src/Lists/components/lists-browse-resource.component.ts", lineNumber: 1666 }); })();
2010
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsBrowseResource, { className: "ListsBrowseResource", filePath: "src/Lists/components/lists-browse-resource.component.ts", lineNumber: 1615 }); })();
2057
2011
  //# sourceMappingURL=lists-browse-resource.component.js.map