@memberjunction/ng-conversations 5.42.0 → 5.44.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 (351) hide show
  1. package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts +0 -1
  2. package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -1
  3. package/dist/lib/components/active-tasks/active-tasks-panel.component.js +56 -52
  4. package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -1
  5. package/dist/lib/components/artifact/artifact-share-modal.component.js +37 -41
  6. package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
  7. package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
  8. package/dist/lib/components/collection/collection-form-modal.component.js +10 -14
  9. package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
  10. package/dist/lib/components/collection/collection-share-modal.component.js +41 -45
  11. package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
  12. package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
  13. package/dist/lib/components/collection/collection-view.component.js +22 -36
  14. package/dist/lib/components/collection/collection-view.component.js.map +1 -1
  15. package/dist/lib/components/collection/collections-full-view.component.d.ts +4 -0
  16. package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
  17. package/dist/lib/components/collection/collections-full-view.component.js +134 -166
  18. package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
  19. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +73 -8
  20. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  21. package/dist/lib/components/conversation/conversation-chat-area.component.js +487 -123
  22. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  23. package/dist/lib/components/conversation/pinned-messages-panel.component.js +6 -9
  24. package/dist/lib/components/conversation/pinned-messages-panel.component.js.map +1 -1
  25. package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -1
  26. package/dist/lib/components/library/library-full-view.component.js +20 -24
  27. package/dist/lib/components/library/library-full-view.component.js.map +1 -1
  28. package/dist/lib/components/members/members-modal.component.d.ts.map +1 -1
  29. package/dist/lib/components/members/members-modal.component.js +10 -11
  30. package/dist/lib/components/members/members-modal.component.js.map +1 -1
  31. package/dist/lib/components/mention/mention-dropdown.component.js +65 -26
  32. package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -1
  33. package/dist/lib/components/mention/mention-editor.component.d.ts.map +1 -1
  34. package/dist/lib/components/mention/mention-editor.component.js +31 -10
  35. package/dist/lib/components/mention/mention-editor.component.js.map +1 -1
  36. package/dist/lib/components/message/message-input-box.component.d.ts +11 -16
  37. package/dist/lib/components/message/message-input-box.component.d.ts.map +1 -1
  38. package/dist/lib/components/message/message-input-box.component.js +52 -46
  39. package/dist/lib/components/message/message-input-box.component.js.map +1 -1
  40. package/dist/lib/components/message/message-input.component.d.ts +83 -18
  41. package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
  42. package/dist/lib/components/message/message-input.component.js +238 -151
  43. package/dist/lib/components/message/message-input.component.js.map +1 -1
  44. package/dist/lib/components/message/message-item.component.d.ts +15 -1
  45. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  46. package/dist/lib/components/message/message-item.component.js +90 -15
  47. package/dist/lib/components/message/message-item.component.js.map +1 -1
  48. package/dist/lib/components/message/message-list.component.js +6 -9
  49. package/dist/lib/components/message/message-list.component.js.map +1 -1
  50. package/dist/lib/components/overlay/chat-overlay.component.d.ts +3 -0
  51. package/dist/lib/components/overlay/chat-overlay.component.d.ts.map +1 -1
  52. package/dist/lib/components/overlay/chat-overlay.component.js +9 -4
  53. package/dist/lib/components/overlay/chat-overlay.component.js.map +1 -1
  54. package/dist/lib/components/realtime/channels/base-realtime-channel-client.d.ts +45 -0
  55. package/dist/lib/components/realtime/channels/base-realtime-channel-client.d.ts.map +1 -1
  56. package/dist/lib/components/realtime/channels/base-realtime-channel-client.js +10 -0
  57. package/dist/lib/components/realtime/channels/base-realtime-channel-client.js.map +1 -1
  58. package/dist/lib/components/realtime/channels/client-context-channel.d.ts +46 -0
  59. package/dist/lib/components/realtime/channels/client-context-channel.d.ts.map +1 -0
  60. package/dist/lib/components/realtime/channels/client-context-channel.js +174 -0
  61. package/dist/lib/components/realtime/channels/client-context-channel.js.map +1 -0
  62. package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.d.ts +123 -0
  63. package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.d.ts.map +1 -0
  64. package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.js +397 -0
  65. package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.js.map +1 -0
  66. package/dist/lib/components/realtime/media/media-channel-state.d.ts +103 -0
  67. package/dist/lib/components/realtime/media/media-channel-state.d.ts.map +1 -0
  68. package/dist/lib/components/realtime/media/media-channel-state.js +143 -0
  69. package/dist/lib/components/realtime/media/media-channel-state.js.map +1 -0
  70. package/dist/lib/components/realtime/media/media-channel-tools.d.ts +24 -0
  71. package/dist/lib/components/realtime/media/media-channel-tools.d.ts.map +1 -0
  72. package/dist/lib/components/realtime/media/media-channel-tools.js +107 -0
  73. package/dist/lib/components/realtime/media/media-channel-tools.js.map +1 -0
  74. package/dist/lib/components/realtime/media/media-channel.d.ts +89 -0
  75. package/dist/lib/components/realtime/media/media-channel.d.ts.map +1 -0
  76. package/dist/lib/components/realtime/media/media-channel.js +253 -0
  77. package/dist/lib/components/realtime/media/media-channel.js.map +1 -0
  78. package/dist/lib/components/realtime/media/realtime-media-surface.component.d.ts +141 -0
  79. package/dist/lib/components/realtime/media/realtime-media-surface.component.d.ts.map +1 -0
  80. package/dist/lib/components/realtime/media/realtime-media-surface.component.js +574 -0
  81. package/dist/lib/components/realtime/media/realtime-media-surface.component.js.map +1 -0
  82. package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts +59 -14
  83. package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts.map +1 -1
  84. package/dist/lib/components/realtime/realtime-activity-rail.component.js +277 -74
  85. package/dist/lib/components/realtime/realtime-activity-rail.component.js.map +1 -1
  86. package/dist/lib/components/realtime/realtime-agent-banner.component.d.ts +28 -27
  87. package/dist/lib/components/realtime/realtime-agent-banner.component.d.ts.map +1 -1
  88. package/dist/lib/components/realtime/realtime-agent-banner.component.js +144 -143
  89. package/dist/lib/components/realtime/realtime-agent-banner.component.js.map +1 -1
  90. package/dist/lib/components/realtime/realtime-agent-picker.component.d.ts +12 -0
  91. package/dist/lib/components/realtime/realtime-agent-picker.component.d.ts.map +1 -1
  92. package/dist/lib/components/realtime/realtime-agent-picker.component.js +105 -43
  93. package/dist/lib/components/realtime/realtime-agent-picker.component.js.map +1 -1
  94. package/dist/lib/components/realtime/realtime-audio-visuals.d.ts +2 -2
  95. package/dist/lib/components/realtime/realtime-audio-visuals.d.ts.map +1 -1
  96. package/dist/lib/components/realtime/realtime-audio-visuals.js.map +1 -1
  97. package/dist/lib/components/realtime/realtime-composer.component.d.ts +41 -7
  98. package/dist/lib/components/realtime/realtime-composer.component.d.ts.map +1 -1
  99. package/dist/lib/components/realtime/realtime-composer.component.js +216 -102
  100. package/dist/lib/components/realtime/realtime-composer.component.js.map +1 -1
  101. package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts +0 -2
  102. package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts.map +1 -1
  103. package/dist/lib/components/realtime/realtime-delegation-card.component.js +67 -71
  104. package/dist/lib/components/realtime/realtime-delegation-card.component.js.map +1 -1
  105. package/dist/lib/components/realtime/realtime-session-overlay.component.d.ts +364 -44
  106. package/dist/lib/components/realtime/realtime-session-overlay.component.d.ts.map +1 -1
  107. package/dist/lib/components/realtime/realtime-session-overlay.component.js +839 -153
  108. package/dist/lib/components/realtime/realtime-session-overlay.component.js.map +1 -1
  109. package/dist/lib/components/realtime/realtime-session-state.d.ts +5 -5
  110. package/dist/lib/components/realtime/realtime-session-state.d.ts.map +1 -1
  111. package/dist/lib/components/realtime/realtime-session-state.js.map +1 -1
  112. package/dist/lib/components/realtime/realtime-surface-tab-style.d.ts +70 -0
  113. package/dist/lib/components/realtime/realtime-surface-tab-style.d.ts.map +1 -0
  114. package/dist/lib/components/realtime/realtime-surface-tab-style.js +115 -0
  115. package/dist/lib/components/realtime/realtime-surface-tab-style.js.map +1 -0
  116. package/dist/lib/components/realtime/realtime-surface-tabs.component.d.ts +55 -57
  117. package/dist/lib/components/realtime/realtime-surface-tabs.component.d.ts.map +1 -1
  118. package/dist/lib/components/realtime/realtime-surface-tabs.component.js +165 -143
  119. package/dist/lib/components/realtime/realtime-surface-tabs.component.js.map +1 -1
  120. package/dist/lib/components/realtime/realtime-surface-tabs.model.d.ts +80 -71
  121. package/dist/lib/components/realtime/realtime-surface-tabs.model.d.ts.map +1 -1
  122. package/dist/lib/components/realtime/realtime-surface-tabs.model.js +83 -113
  123. package/dist/lib/components/realtime/realtime-surface-tabs.model.js.map +1 -1
  124. package/dist/lib/components/realtime/realtime-ui-config.d.ts +270 -0
  125. package/dist/lib/components/realtime/realtime-ui-config.d.ts.map +1 -0
  126. package/dist/lib/components/realtime/realtime-ui-config.js +212 -0
  127. package/dist/lib/components/realtime/realtime-ui-config.js.map +1 -0
  128. package/dist/lib/components/search/search-panel.component.d.ts +2 -0
  129. package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
  130. package/dist/lib/components/search/search-panel.component.js +92 -101
  131. package/dist/lib/components/search/search-panel.component.js.map +1 -1
  132. package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
  133. package/dist/lib/components/share/share-modal.component.js +10 -11
  134. package/dist/lib/components/share/share-modal.component.js.map +1 -1
  135. package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -1
  136. package/dist/lib/components/shared/user-picker.component.js +12 -15
  137. package/dist/lib/components/shared/user-picker.component.js.map +1 -1
  138. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +5 -0
  139. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
  140. package/dist/lib/components/workspace/conversation-workspace.component.js +18 -7
  141. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
  142. package/dist/lib/conversations.module.d.ts +29 -26
  143. package/dist/lib/conversations.module.d.ts.map +1 -1
  144. package/dist/lib/conversations.module.js +37 -6
  145. package/dist/lib/conversations.module.js.map +1 -1
  146. package/dist/lib/models/conversation-state.model.d.ts +6 -3
  147. package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
  148. package/dist/lib/models/conversation-state.model.js.map +1 -1
  149. package/dist/lib/services/conversation-agent.service.d.ts +2 -2
  150. package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
  151. package/dist/lib/services/conversation-agent.service.js +6 -2
  152. package/dist/lib/services/conversation-agent.service.js.map +1 -1
  153. package/dist/lib/services/mention-autocomplete.service.d.ts +41 -5
  154. package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
  155. package/dist/lib/services/mention-autocomplete.service.js +143 -19
  156. package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
  157. package/dist/lib/services/realtime-audio-recorder.d.ts +143 -0
  158. package/dist/lib/services/realtime-audio-recorder.d.ts.map +1 -0
  159. package/dist/lib/services/realtime-audio-recorder.js +379 -0
  160. package/dist/lib/services/realtime-audio-recorder.js.map +1 -0
  161. package/dist/lib/services/realtime-pcm-wav.d.ts +75 -0
  162. package/dist/lib/services/realtime-pcm-wav.d.ts.map +1 -0
  163. package/dist/lib/services/realtime-pcm-wav.js +205 -0
  164. package/dist/lib/services/realtime-pcm-wav.js.map +1 -0
  165. package/dist/lib/services/realtime-session-review.service.d.ts +28 -1
  166. package/dist/lib/services/realtime-session-review.service.d.ts.map +1 -1
  167. package/dist/lib/services/realtime-session-review.service.js +12 -3
  168. package/dist/lib/services/realtime-session-review.service.js.map +1 -1
  169. package/dist/lib/services/realtime-session.service.d.ts +210 -20
  170. package/dist/lib/services/realtime-session.service.d.ts.map +1 -1
  171. package/dist/lib/services/realtime-session.service.js +452 -21
  172. package/dist/lib/services/realtime-session.service.js.map +1 -1
  173. package/dist/lib/services/realtime-sessions-adapter.js +1 -1
  174. package/dist/lib/services/realtime-sessions-adapter.js.map +1 -1
  175. package/dist/lib/services/ui-command-handler.service.d.ts +7 -2
  176. package/dist/lib/services/ui-command-handler.service.d.ts.map +1 -1
  177. package/dist/lib/services/ui-command-handler.service.js +6 -2
  178. package/dist/lib/services/ui-command-handler.service.js.map +1 -1
  179. package/dist/lib/utils/plan-mode-preference.d.ts +62 -0
  180. package/dist/lib/utils/plan-mode-preference.d.ts.map +1 -0
  181. package/dist/lib/utils/plan-mode-preference.js +130 -0
  182. package/dist/lib/utils/plan-mode-preference.js.map +1 -0
  183. package/dist/public-api.d.ts +6 -0
  184. package/dist/public-api.d.ts.map +1 -1
  185. package/dist/public-api.js +8 -0
  186. package/dist/public-api.js.map +1 -1
  187. package/package.json +28 -26
  188. package/dist/__tests__/attachment-badge.test.d.ts +0 -2
  189. package/dist/__tests__/attachment-badge.test.d.ts.map +0 -1
  190. package/dist/__tests__/attachment-badge.test.js +0 -66
  191. package/dist/__tests__/attachment-badge.test.js.map +0 -1
  192. package/dist/__tests__/channel-optional-surface.test.d.ts +0 -2
  193. package/dist/__tests__/channel-optional-surface.test.d.ts.map +0 -1
  194. package/dist/__tests__/channel-optional-surface.test.js +0 -53
  195. package/dist/__tests__/channel-optional-surface.test.js.map +0 -1
  196. package/dist/__tests__/chat-events.test.d.ts +0 -14
  197. package/dist/__tests__/chat-events.test.d.ts.map +0 -1
  198. package/dist/__tests__/chat-events.test.js +0 -109
  199. package/dist/__tests__/chat-events.test.js.map +0 -1
  200. package/dist/__tests__/collections-full-view.test.d.ts +0 -2
  201. package/dist/__tests__/collections-full-view.test.d.ts.map +0 -1
  202. package/dist/__tests__/collections-full-view.test.js +0 -225
  203. package/dist/__tests__/collections-full-view.test.js.map +0 -1
  204. package/dist/__tests__/conversation-cache.test.d.ts +0 -2
  205. package/dist/__tests__/conversation-cache.test.d.ts.map +0 -1
  206. package/dist/__tests__/conversation-cache.test.js +0 -233
  207. package/dist/__tests__/conversation-cache.test.js.map +0 -1
  208. package/dist/__tests__/conversation-naming.test.d.ts +0 -2
  209. package/dist/__tests__/conversation-naming.test.d.ts.map +0 -1
  210. package/dist/__tests__/conversation-naming.test.js +0 -110
  211. package/dist/__tests__/conversation-naming.test.js.map +0 -1
  212. package/dist/__tests__/delegation-result-parser.test.d.ts +0 -2
  213. package/dist/__tests__/delegation-result-parser.test.d.ts.map +0 -1
  214. package/dist/__tests__/delegation-result-parser.test.js +0 -107
  215. package/dist/__tests__/delegation-result-parser.test.js.map +0 -1
  216. package/dist/__tests__/distinct-artifacts.test.d.ts +0 -2
  217. package/dist/__tests__/distinct-artifacts.test.d.ts.map +0 -1
  218. package/dist/__tests__/distinct-artifacts.test.js +0 -56
  219. package/dist/__tests__/distinct-artifacts.test.js.map +0 -1
  220. package/dist/__tests__/event-wiring.test.d.ts +0 -15
  221. package/dist/__tests__/event-wiring.test.d.ts.map +0 -1
  222. package/dist/__tests__/event-wiring.test.js +0 -100
  223. package/dist/__tests__/event-wiring.test.js.map +0 -1
  224. package/dist/__tests__/index.test.d.ts +0 -2
  225. package/dist/__tests__/index.test.d.ts.map +0 -1
  226. package/dist/__tests__/index.test.js +0 -7
  227. package/dist/__tests__/index.test.js.map +0 -1
  228. package/dist/__tests__/narration-template.test.d.ts +0 -2
  229. package/dist/__tests__/narration-template.test.d.ts.map +0 -1
  230. package/dist/__tests__/narration-template.test.js +0 -76
  231. package/dist/__tests__/narration-template.test.js.map +0 -1
  232. package/dist/__tests__/notification-model.test.d.ts +0 -2
  233. package/dist/__tests__/notification-model.test.d.ts.map +0 -1
  234. package/dist/__tests__/notification-model.test.js +0 -68
  235. package/dist/__tests__/notification-model.test.js.map +0 -1
  236. package/dist/__tests__/realtime-agent-picker-models.test.d.ts +0 -2
  237. package/dist/__tests__/realtime-agent-picker-models.test.d.ts.map +0 -1
  238. package/dist/__tests__/realtime-agent-picker-models.test.js +0 -49
  239. package/dist/__tests__/realtime-agent-picker-models.test.js.map +0 -1
  240. package/dist/__tests__/realtime-audio-visuals.test.d.ts +0 -2
  241. package/dist/__tests__/realtime-audio-visuals.test.d.ts.map +0 -1
  242. package/dist/__tests__/realtime-audio-visuals.test.js +0 -123
  243. package/dist/__tests__/realtime-audio-visuals.test.js.map +0 -1
  244. package/dist/__tests__/realtime-delegation-card-cancel.test.d.ts +0 -2
  245. package/dist/__tests__/realtime-delegation-card-cancel.test.d.ts.map +0 -1
  246. package/dist/__tests__/realtime-delegation-card-cancel.test.js +0 -48
  247. package/dist/__tests__/realtime-delegation-card-cancel.test.js.map +0 -1
  248. package/dist/__tests__/realtime-disclosure.test.d.ts +0 -2
  249. package/dist/__tests__/realtime-disclosure.test.d.ts.map +0 -1
  250. package/dist/__tests__/realtime-disclosure.test.js +0 -164
  251. package/dist/__tests__/realtime-disclosure.test.js.map +0 -1
  252. package/dist/__tests__/realtime-pairing.test.d.ts +0 -2
  253. package/dist/__tests__/realtime-pairing.test.d.ts.map +0 -1
  254. package/dist/__tests__/realtime-pairing.test.js +0 -207
  255. package/dist/__tests__/realtime-pairing.test.js.map +0 -1
  256. package/dist/__tests__/realtime-review-lifecycle.test.d.ts +0 -2
  257. package/dist/__tests__/realtime-review-lifecycle.test.d.ts.map +0 -1
  258. package/dist/__tests__/realtime-review-lifecycle.test.js +0 -154
  259. package/dist/__tests__/realtime-review-lifecycle.test.js.map +0 -1
  260. package/dist/__tests__/realtime-session-cancel-usage.test.d.ts +0 -2
  261. package/dist/__tests__/realtime-session-cancel-usage.test.d.ts.map +0 -1
  262. package/dist/__tests__/realtime-session-cancel-usage.test.js +0 -230
  263. package/dist/__tests__/realtime-session-cancel-usage.test.js.map +0 -1
  264. package/dist/__tests__/realtime-session-channels.test.d.ts +0 -2
  265. package/dist/__tests__/realtime-session-channels.test.d.ts.map +0 -1
  266. package/dist/__tests__/realtime-session-channels.test.js +0 -252
  267. package/dist/__tests__/realtime-session-channels.test.js.map +0 -1
  268. package/dist/__tests__/realtime-session-client-tools.test.d.ts +0 -2
  269. package/dist/__tests__/realtime-session-client-tools.test.d.ts.map +0 -1
  270. package/dist/__tests__/realtime-session-client-tools.test.js +0 -103
  271. package/dist/__tests__/realtime-session-client-tools.test.js.map +0 -1
  272. package/dist/__tests__/realtime-session-minimized.test.d.ts +0 -2
  273. package/dist/__tests__/realtime-session-minimized.test.d.ts.map +0 -1
  274. package/dist/__tests__/realtime-session-minimized.test.js +0 -32
  275. package/dist/__tests__/realtime-session-minimized.test.js.map +0 -1
  276. package/dist/__tests__/realtime-session-mint.test.d.ts +0 -2
  277. package/dist/__tests__/realtime-session-mint.test.d.ts.map +0 -1
  278. package/dist/__tests__/realtime-session-mint.test.js +0 -69
  279. package/dist/__tests__/realtime-session-mint.test.js.map +0 -1
  280. package/dist/__tests__/realtime-session-policy.test.d.ts +0 -2
  281. package/dist/__tests__/realtime-session-policy.test.d.ts.map +0 -1
  282. package/dist/__tests__/realtime-session-policy.test.js +0 -303
  283. package/dist/__tests__/realtime-session-policy.test.js.map +0 -1
  284. package/dist/__tests__/realtime-session-review.service.test.d.ts +0 -2
  285. package/dist/__tests__/realtime-session-review.service.test.d.ts.map +0 -1
  286. package/dist/__tests__/realtime-session-review.service.test.js +0 -743
  287. package/dist/__tests__/realtime-session-review.service.test.js.map +0 -1
  288. package/dist/__tests__/realtime-session-state.test.d.ts +0 -2
  289. package/dist/__tests__/realtime-session-state.test.d.ts.map +0 -1
  290. package/dist/__tests__/realtime-session-state.test.js +0 -83
  291. package/dist/__tests__/realtime-session-state.test.js.map +0 -1
  292. package/dist/__tests__/realtime-session-timeline-card.test.d.ts +0 -2
  293. package/dist/__tests__/realtime-session-timeline-card.test.d.ts.map +0 -1
  294. package/dist/__tests__/realtime-session-timeline-card.test.js +0 -106
  295. package/dist/__tests__/realtime-session-timeline-card.test.js.map +0 -1
  296. package/dist/__tests__/realtime-session-timeline.test.d.ts +0 -2
  297. package/dist/__tests__/realtime-session-timeline.test.d.ts.map +0 -1
  298. package/dist/__tests__/realtime-session-timeline.test.js +0 -142
  299. package/dist/__tests__/realtime-session-timeline.test.js.map +0 -1
  300. package/dist/__tests__/realtime-sessions-adapter.test.d.ts +0 -19
  301. package/dist/__tests__/realtime-sessions-adapter.test.d.ts.map +0 -1
  302. package/dist/__tests__/realtime-sessions-adapter.test.js +0 -188
  303. package/dist/__tests__/realtime-sessions-adapter.test.js.map +0 -1
  304. package/dist/__tests__/realtime-surface-panel-prefs.test.d.ts +0 -2
  305. package/dist/__tests__/realtime-surface-panel-prefs.test.d.ts.map +0 -1
  306. package/dist/__tests__/realtime-surface-panel-prefs.test.js +0 -100
  307. package/dist/__tests__/realtime-surface-panel-prefs.test.js.map +0 -1
  308. package/dist/__tests__/realtime-surface-tabs-model.test.d.ts +0 -2
  309. package/dist/__tests__/realtime-surface-tabs-model.test.d.ts.map +0 -1
  310. package/dist/__tests__/realtime-surface-tabs-model.test.js +0 -193
  311. package/dist/__tests__/realtime-surface-tabs-model.test.js.map +0 -1
  312. package/dist/__tests__/remote-browser-audio-player.test.d.ts +0 -2
  313. package/dist/__tests__/remote-browser-audio-player.test.d.ts.map +0 -1
  314. package/dist/__tests__/remote-browser-audio-player.test.js +0 -137
  315. package/dist/__tests__/remote-browser-audio-player.test.js.map +0 -1
  316. package/dist/__tests__/remote-browser-channel.test.d.ts +0 -2
  317. package/dist/__tests__/remote-browser-channel.test.d.ts.map +0 -1
  318. package/dist/__tests__/remote-browser-channel.test.js +0 -585
  319. package/dist/__tests__/remote-browser-channel.test.js.map +0 -1
  320. package/dist/__tests__/search-service.test.d.ts +0 -2
  321. package/dist/__tests__/search-service.test.d.ts.map +0 -1
  322. package/dist/__tests__/search-service.test.js +0 -114
  323. package/dist/__tests__/search-service.test.js.map +0 -1
  324. package/dist/__tests__/slot-defaults.test.d.ts +0 -24
  325. package/dist/__tests__/slot-defaults.test.d.ts.map +0 -1
  326. package/dist/__tests__/slot-defaults.test.js +0 -63
  327. package/dist/__tests__/slot-defaults.test.js.map +0 -1
  328. package/dist/__tests__/toast-service.test.d.ts +0 -2
  329. package/dist/__tests__/toast-service.test.d.ts.map +0 -1
  330. package/dist/__tests__/toast-service.test.js +0 -143
  331. package/dist/__tests__/toast-service.test.js.map +0 -1
  332. package/dist/__tests__/user-authorization.test.d.ts +0 -2
  333. package/dist/__tests__/user-authorization.test.d.ts.map +0 -1
  334. package/dist/__tests__/user-authorization.test.js +0 -97
  335. package/dist/__tests__/user-authorization.test.js.map +0 -1
  336. package/dist/__tests__/voice-session-narration.test.d.ts +0 -2
  337. package/dist/__tests__/voice-session-narration.test.d.ts.map +0 -1
  338. package/dist/__tests__/voice-session-narration.test.js +0 -609
  339. package/dist/__tests__/voice-session-narration.test.js.map +0 -1
  340. package/dist/__tests__/whiteboard-artifact-viewer.test.d.ts +0 -2
  341. package/dist/__tests__/whiteboard-artifact-viewer.test.d.ts.map +0 -1
  342. package/dist/__tests__/whiteboard-artifact-viewer.test.js +0 -101
  343. package/dist/__tests__/whiteboard-artifact-viewer.test.js.map +0 -1
  344. package/dist/__tests__/whiteboard-channel.test.d.ts +0 -2
  345. package/dist/__tests__/whiteboard-channel.test.d.ts.map +0 -1
  346. package/dist/__tests__/whiteboard-channel.test.js +0 -260
  347. package/dist/__tests__/whiteboard-channel.test.js.map +0 -1
  348. package/dist/__tests__/whiteboard-restore-state.test.d.ts +0 -2
  349. package/dist/__tests__/whiteboard-restore-state.test.d.ts.map +0 -1
  350. package/dist/__tests__/whiteboard-restore-state.test.js +0 -108
  351. package/dist/__tests__/whiteboard-restore-state.test.js.map +0 -1
@@ -11,10 +11,11 @@ import * as i4 from "../../services/collection-permission.service";
11
11
  import * as i5 from "@memberjunction/ng-artifacts";
12
12
  import * as i6 from "@angular/common";
13
13
  import * as i7 from "@angular/forms";
14
- import * as i8 from "@memberjunction/ng-shared-generic";
15
- import * as i9 from "./collection-share-modal.component";
16
- import * as i10 from "./collection-form-modal.component";
17
- import * as i11 from "./artifact-create-modal.component";
14
+ import * as i8 from "@memberjunction/ng-ui-components";
15
+ import * as i9 from "@memberjunction/ng-shared-generic";
16
+ import * as i10 from "./collection-share-modal.component";
17
+ import * as i11 from "./collection-form-modal.component";
18
+ import * as i12 from "./artifact-create-modal.component";
18
19
  const _forTrack0 = ($index, $item) => $item.collection.ID;
19
20
  const _forTrack1 = ($index, $item) => $item.item.id;
20
21
  function CollectionsFullViewComponent_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
@@ -292,70 +293,34 @@ function CollectionsFullViewComponent_Conditional_28_Template(rf, ctx) { if (rf
292
293
  i0.ɵɵelement(1, "mj-loading", 75);
293
294
  i0.ɵɵelementEnd();
294
295
  } }
295
- function CollectionsFullViewComponent_Conditional_29_Conditional_2_Template(rf, ctx) { if (rf & 1) {
296
- i0.ɵɵelementStart(0, "h3");
297
- i0.ɵɵtext(1, "No items found");
296
+ function CollectionsFullViewComponent_Conditional_29_Conditional_1_Template(rf, ctx) { if (rf & 1) {
297
+ i0.ɵɵelementStart(0, "p", 77);
298
+ i0.ɵɵtext(1, "Use the ");
299
+ i0.ɵɵelementStart(2, "strong");
300
+ i0.ɵɵtext(3, "New");
298
301
  i0.ɵɵelementEnd();
299
- i0.ɵɵelementStart(2, "p");
300
- i0.ɵɵtext(3, "Try adjusting your search");
301
- i0.ɵɵelementEnd();
302
- } }
303
- function CollectionsFullViewComponent_Conditional_29_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
304
- const _r21 = i0.ɵɵgetCurrentView();
305
- i0.ɵɵelementStart(0, "button", 78);
306
- i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_29_Conditional_3_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.createCollection()); });
307
- i0.ɵɵelement(1, "i", 50);
308
- i0.ɵɵtext(2, " Create Collection ");
309
- i0.ɵɵelementEnd();
310
- } }
311
- function CollectionsFullViewComponent_Conditional_29_Conditional_3_Template(rf, ctx) { if (rf & 1) {
312
- i0.ɵɵelementStart(0, "h3");
313
- i0.ɵɵtext(1, "No collections yet");
314
- i0.ɵɵelementEnd();
315
- i0.ɵɵelementStart(2, "p");
316
- i0.ɵɵtext(3, "Create your first collection to get started");
317
- i0.ɵɵelementEnd();
318
- i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_29_Conditional_3_Conditional_4_Template, 3, 0, "button", 77);
319
- } if (rf & 2) {
320
- const ctx_r2 = i0.ɵɵnextContext(2);
321
- i0.ɵɵadvance(4);
322
- i0.ɵɵconditional(ctx_r2.canEditCurrent() ? 4 : -1);
323
- } }
324
- function CollectionsFullViewComponent_Conditional_29_Conditional_4_Template(rf, ctx) { if (rf & 1) {
325
- i0.ɵɵelementStart(0, "h3");
326
- i0.ɵɵtext(1, "This collection is empty");
327
- i0.ɵɵelementEnd();
328
- i0.ɵɵelementStart(2, "p");
329
- i0.ɵɵtext(3, "Use the ");
330
- i0.ɵɵelementStart(4, "strong");
331
- i0.ɵɵtext(5, "New");
332
- i0.ɵɵelementEnd();
333
- i0.ɵɵtext(6, " button above to add collections or artifacts");
302
+ i0.ɵɵtext(4, " button above to add collections or artifacts");
334
303
  i0.ɵɵelementEnd();
335
304
  } }
336
305
  function CollectionsFullViewComponent_Conditional_29_Template(rf, ctx) { if (rf & 1) {
337
- i0.ɵɵelementStart(0, "div", 25);
338
- i0.ɵɵelement(1, "i", 76);
339
- i0.ɵɵconditionalCreate(2, CollectionsFullViewComponent_Conditional_29_Conditional_2_Template, 4, 0);
340
- i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_29_Conditional_3_Template, 5, 1);
341
- i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_29_Conditional_4_Template, 7, 0);
306
+ const _r21 = i0.ɵɵgetCurrentView();
307
+ i0.ɵɵelementStart(0, "mj-empty-state", 76);
308
+ i0.ɵɵlistener("Action", function CollectionsFullViewComponent_Conditional_29_Template_mj_empty_state_Action_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createCollection()); });
309
+ i0.ɵɵconditionalCreate(1, CollectionsFullViewComponent_Conditional_29_Conditional_1_Template, 5, 0, "p", 77);
342
310
  i0.ɵɵelementEnd();
343
311
  } if (rf & 2) {
344
312
  const ctx_r2 = i0.ɵɵnextContext();
345
- i0.ɵɵadvance(2);
346
- i0.ɵɵconditional(ctx_r2.searchQuery ? 2 : -1);
313
+ i0.ɵɵproperty("Variant", ctx_r2.searchQuery ? "no-results" : "empty")("Title", ctx_r2.EmptyStateTitle)("Message", ctx_r2.EmptyStateMessage)("ActionText", !ctx_r2.searchQuery && !ctx_r2.currentCollectionId && ctx_r2.canEditCurrent() ? "Create Collection" : "");
347
314
  i0.ɵɵadvance();
348
- i0.ɵɵconditional(!ctx_r2.searchQuery && !ctx_r2.currentCollectionId ? 3 : -1);
349
- i0.ɵɵadvance();
350
- i0.ɵɵconditional(!ctx_r2.searchQuery && ctx_r2.currentCollectionId ? 4 : -1);
315
+ i0.ɵɵconditional(!ctx_r2.searchQuery && ctx_r2.currentCollectionId ? 1 : -1);
351
316
  } }
352
317
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
353
- i0.ɵɵelementStart(0, "div", 86);
354
- i0.ɵɵelement(1, "i", 92);
318
+ i0.ɵɵelementStart(0, "div", 85);
319
+ i0.ɵɵelement(1, "i", 91);
355
320
  i0.ɵɵelementEnd();
356
321
  } }
357
322
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
358
- i0.ɵɵelementStart(0, "div", 89);
323
+ i0.ɵɵelementStart(0, "div", 88);
359
324
  i0.ɵɵtext(1);
360
325
  i0.ɵɵelementEnd();
361
326
  } if (rf & 2) {
@@ -364,7 +329,7 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditi
364
329
  i0.ɵɵtextInterpolate1(" ", item_r23.description, " ");
365
330
  } }
366
331
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_8_Template(rf, ctx) { if (rf & 1) {
367
- i0.ɵɵelementStart(0, "div", 90);
332
+ i0.ɵɵelementStart(0, "div", 89);
368
333
  i0.ɵɵtext(1);
369
334
  i0.ɵɵelementEnd();
370
335
  } if (rf & 2) {
@@ -374,8 +339,8 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditi
374
339
  i0.ɵɵtextInterpolate1(" ", ctx_r2.getItemCountText(item_r23.itemCount), " ");
375
340
  } }
376
341
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_9_Template(rf, ctx) { if (rf & 1) {
377
- i0.ɵɵelementStart(0, "div", 91);
378
- i0.ɵɵelement(1, "i", 93);
342
+ i0.ɵɵelementStart(0, "div", 90);
343
+ i0.ɵɵelement(1, "i", 92);
379
344
  i0.ɵɵtext(2);
380
345
  i0.ɵɵelementEnd();
381
346
  } if (rf & 2) {
@@ -384,16 +349,16 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditi
384
349
  i0.ɵɵtextInterpolate1(" ", item_r23.owner, " ");
385
350
  } }
386
351
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
387
- i0.ɵɵelementStart(0, "div", 84)(1, "div", 85);
352
+ i0.ɵɵelementStart(0, "div", 83)(1, "div", 84);
388
353
  i0.ɵɵelement(2, "i", 68);
389
- i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_3_Template, 2, 0, "div", 86);
354
+ i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_3_Template, 2, 0, "div", 85);
390
355
  i0.ɵɵelementEnd();
391
- i0.ɵɵelementStart(4, "div", 87)(5, "div", 88);
356
+ i0.ɵɵelementStart(4, "div", 86)(5, "div", 87);
392
357
  i0.ɵɵtext(6);
393
358
  i0.ɵɵelementEnd();
394
- i0.ɵɵconditionalCreate(7, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_7_Template, 2, 1, "div", 89);
395
- i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_8_Template, 2, 1, "div", 90);
396
- i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_9_Template, 3, 1, "div", 91);
359
+ i0.ɵɵconditionalCreate(7, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_7_Template, 2, 1, "div", 88);
360
+ i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_8_Template, 2, 1, "div", 89);
361
+ i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Conditional_9_Template, 3, 1, "div", 90);
397
362
  i0.ɵɵelementEnd()();
398
363
  } if (rf & 2) {
399
364
  const item_r23 = i0.ɵɵnextContext().$implicit;
@@ -410,7 +375,7 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Templat
410
375
  i0.ɵɵconditional(item_r23.isShared && item_r23.owner ? 9 : -1);
411
376
  } }
412
377
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
413
- i0.ɵɵelementStart(0, "div", 89);
378
+ i0.ɵɵelementStart(0, "div", 88);
414
379
  i0.ɵɵtext(1);
415
380
  i0.ɵɵelementEnd();
416
381
  } if (rf & 2) {
@@ -419,7 +384,7 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditi
419
384
  i0.ɵɵtextInterpolate1(" ", item_r23.description, " ");
420
385
  } }
421
386
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_8_Template(rf, ctx) { if (rf & 1) {
422
- i0.ɵɵelementStart(0, "span", 95);
387
+ i0.ɵɵelementStart(0, "span", 94);
423
388
  i0.ɵɵtext(1);
424
389
  i0.ɵɵelementEnd();
425
390
  } if (rf & 2) {
@@ -428,7 +393,7 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditi
428
393
  i0.ɵɵtextInterpolate1(" v", item_r23.versionNumber, " ");
429
394
  } }
430
395
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_9_Template(rf, ctx) { if (rf & 1) {
431
- i0.ɵɵelementStart(0, "span", 96);
396
+ i0.ɵɵelementStart(0, "span", 95);
432
397
  i0.ɵɵtext(1);
433
398
  i0.ɵɵelementEnd();
434
399
  } if (rf & 2) {
@@ -437,16 +402,16 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditi
437
402
  i0.ɵɵtextInterpolate1(" ", item_r23.artifactType, " ");
438
403
  } }
439
404
  function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
440
- i0.ɵɵelementStart(0, "div", 84)(1, "div", 94);
405
+ i0.ɵɵelementStart(0, "div", 83)(1, "div", 93);
441
406
  i0.ɵɵelement(2, "i", 11);
442
407
  i0.ɵɵelementEnd();
443
- i0.ɵɵelementStart(3, "div", 87)(4, "div", 88);
408
+ i0.ɵɵelementStart(3, "div", 86)(4, "div", 87);
444
409
  i0.ɵɵtext(5);
445
410
  i0.ɵɵelementEnd();
446
- i0.ɵɵconditionalCreate(6, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_6_Template, 2, 1, "div", 89);
447
- i0.ɵɵelementStart(7, "div", 90);
448
- i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_8_Template, 2, 1, "span", 95);
449
- i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_9_Template, 2, 1, "span", 96);
411
+ i0.ɵɵconditionalCreate(6, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_6_Template, 2, 1, "div", 88);
412
+ i0.ɵɵelementStart(7, "div", 89);
413
+ i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_8_Template, 2, 1, "span", 94);
414
+ i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Conditional_9_Template, 2, 1, "span", 95);
450
415
  i0.ɵɵelementEnd()()();
451
416
  } if (rf & 2) {
452
417
  const item_r23 = i0.ɵɵnextContext().$implicit;
@@ -464,14 +429,14 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Templat
464
429
  } }
465
430
  function CollectionsFullViewComponent_Conditional_30_For_2_Template(rf, ctx) { if (rf & 1) {
466
431
  const _r22 = i0.ɵɵgetCurrentView();
467
- i0.ɵɵelementStart(0, "div", 82);
432
+ i0.ɵɵelementStart(0, "div", 81);
468
433
  i0.ɵɵlistener("dragstart", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_dragstart_0_listener($event) { const item_r23 = i0.ɵɵrestoreView(_r22).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemDragStart(item_r23, $event)); })("dragend", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemDragEnd()); })("dragover", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_dragover_0_listener($event) { const item_r23 = i0.ɵɵrestoreView(_r22).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(item_r23.type === "folder" ? ctx_r2.onFolderItemDragOver(item_r23, $event) : null); })("dragleave", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_dragleave_0_listener() { const item_r23 = i0.ɵɵrestoreView(_r22).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(item_r23.type === "folder" ? ctx_r2.onDragLeave(item_r23.id) : null); })("drop", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_drop_0_listener($event) { const item_r23 = i0.ɵɵrestoreView(_r22).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(item_r23.type === "folder" ? ctx_r2.onFolderItemDrop(item_r23, $event) : null); })("click", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_click_0_listener($event) { const item_r23 = i0.ɵɵrestoreView(_r22).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemClick(item_r23, $event)); })("dblclick", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_dblclick_0_listener($event) { const item_r23 = i0.ɵɵrestoreView(_r22).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemDoubleClick(item_r23, $event)); })("contextmenu", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_contextmenu_0_listener($event) { const item_r23 = i0.ɵɵrestoreView(_r22).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemContextMenu(item_r23, $event)); });
469
- i0.ɵɵelementStart(1, "div", 83);
434
+ i0.ɵɵelementStart(1, "div", 82);
470
435
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_30_For_2_Template_div_click_1_listener($event) { const item_r23 = i0.ɵɵrestoreView(_r22).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCheckboxClick(item_r23, $event)); });
471
436
  i0.ɵɵelement(2, "i", 11);
472
437
  i0.ɵɵelementEnd();
473
- i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Template, 10, 6, "div", 84);
474
- i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Template, 10, 6, "div", 84);
438
+ i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_3_Template, 10, 6, "div", 83);
439
+ i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_30_For_2_Conditional_4_Template, 10, 6, "div", 83);
475
440
  i0.ɵɵelementEnd();
476
441
  } if (rf & 2) {
477
442
  const item_r23 = ctx.$implicit;
@@ -487,27 +452,27 @@ function CollectionsFullViewComponent_Conditional_30_For_2_Template(rf, ctx) { i
487
452
  } }
488
453
  function CollectionsFullViewComponent_Conditional_30_Conditional_3_Template(rf, ctx) { if (rf & 1) {
489
454
  const _r24 = i0.ɵɵgetCurrentView();
490
- i0.ɵɵelementStart(0, "div", 81)(1, "span", 97);
455
+ i0.ɵɵelementStart(0, "div", 80)(1, "span", 96);
491
456
  i0.ɵɵtext(2);
492
457
  i0.ɵɵelementEnd();
493
- i0.ɵɵelementStart(3, "div", 98)(4, "button", 99);
458
+ i0.ɵɵelementStart(3, "div", 97)(4, "button", 98);
494
459
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_30_Conditional_3_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.GoToPage(1)); });
495
- i0.ɵɵelement(5, "i", 100);
460
+ i0.ɵɵelement(5, "i", 99);
496
461
  i0.ɵɵelementEnd();
497
- i0.ɵɵelementStart(6, "button", 101);
462
+ i0.ɵɵelementStart(6, "button", 100);
498
463
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_30_Conditional_3_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.GoToPage(ctx_r2.CurrentPage - 1)); });
499
- i0.ɵɵelement(7, "i", 102);
464
+ i0.ɵɵelement(7, "i", 101);
500
465
  i0.ɵɵelementEnd();
501
- i0.ɵɵelementStart(8, "span", 103);
466
+ i0.ɵɵelementStart(8, "span", 102);
502
467
  i0.ɵɵtext(9);
503
468
  i0.ɵɵelementEnd();
504
- i0.ɵɵelementStart(10, "button", 104);
469
+ i0.ɵɵelementStart(10, "button", 103);
505
470
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_30_Conditional_3_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.GoToPage(ctx_r2.CurrentPage + 1)); });
506
- i0.ɵɵelement(11, "i", 105);
471
+ i0.ɵɵelement(11, "i", 104);
507
472
  i0.ɵɵelementEnd();
508
- i0.ɵɵelementStart(12, "button", 106);
473
+ i0.ɵɵelementStart(12, "button", 105);
509
474
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_30_Conditional_3_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.GoToPage(ctx_r2.TotalPages)); });
510
- i0.ɵɵelement(13, "i", 107);
475
+ i0.ɵɵelement(13, "i", 106);
511
476
  i0.ɵɵelementEnd()()();
512
477
  } if (rf & 2) {
513
478
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -525,10 +490,10 @@ function CollectionsFullViewComponent_Conditional_30_Conditional_3_Template(rf,
525
490
  i0.ɵɵproperty("disabled", ctx_r2.CurrentPage === ctx_r2.TotalPages);
526
491
  } }
527
492
  function CollectionsFullViewComponent_Conditional_30_Template(rf, ctx) { if (rf & 1) {
528
- i0.ɵɵelementStart(0, "div", 79);
529
- i0.ɵɵrepeaterCreate(1, CollectionsFullViewComponent_Conditional_30_For_2_Template, 5, 12, "div", 80, i0.ɵɵrepeaterTrackByIdentity);
493
+ i0.ɵɵelementStart(0, "div", 78);
494
+ i0.ɵɵrepeaterCreate(1, CollectionsFullViewComponent_Conditional_30_For_2_Template, 5, 12, "div", 79, i0.ɵɵrepeaterTrackByIdentity);
530
495
  i0.ɵɵelementEnd();
531
- i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_30_Conditional_3_Template, 14, 9, "div", 81);
496
+ i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_30_Conditional_3_Template, 14, 9, "div", 80);
532
497
  } if (rf & 2) {
533
498
  const ctx_r2 = i0.ɵɵnextContext();
534
499
  i0.ɵɵclassProp("select-mode", ctx_r2.isSelectMode);
@@ -565,7 +530,7 @@ function CollectionsFullViewComponent_Conditional_31_Conditional_20_Template(rf,
565
530
  i0.ɵɵproperty("ngClass", ctx_r2.sortOrder === "asc" ? "fa-sort-up" : "fa-sort-down");
566
531
  } }
567
532
  function CollectionsFullViewComponent_Conditional_31_For_25_Conditional_8_Template(rf, ctx) { if (rf & 1) {
568
- i0.ɵɵelement(0, "i", 120);
533
+ i0.ɵɵelement(0, "i", 119);
569
534
  } }
570
535
  function CollectionsFullViewComponent_Conditional_31_For_25_Conditional_10_Template(rf, ctx) { if (rf & 1) {
571
536
  i0.ɵɵelementStart(0, "span");
@@ -573,7 +538,7 @@ function CollectionsFullViewComponent_Conditional_31_For_25_Conditional_10_Templ
573
538
  i0.ɵɵelementEnd();
574
539
  } }
575
540
  function CollectionsFullViewComponent_Conditional_31_For_25_Conditional_11_Template(rf, ctx) { if (rf & 1) {
576
- i0.ɵɵelementStart(0, "span", 96);
541
+ i0.ɵɵelementStart(0, "span", 95);
577
542
  i0.ɵɵtext(1);
578
543
  i0.ɵɵelementEnd();
579
544
  } if (rf & 2) {
@@ -602,26 +567,26 @@ function CollectionsFullViewComponent_Conditional_31_For_25_Conditional_15_Templ
602
567
  } }
603
568
  function CollectionsFullViewComponent_Conditional_31_For_25_Template(rf, ctx) { if (rf & 1) {
604
569
  const _r26 = i0.ɵɵgetCurrentView();
605
- i0.ɵɵelementStart(0, "tr", 117);
570
+ i0.ɵɵelementStart(0, "tr", 116);
606
571
  i0.ɵɵlistener("dragstart", function CollectionsFullViewComponent_Conditional_31_For_25_Template_tr_dragstart_0_listener($event) { const item_r27 = i0.ɵɵrestoreView(_r26).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemDragStart(item_r27, $event)); })("dragend", function CollectionsFullViewComponent_Conditional_31_For_25_Template_tr_dragend_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemDragEnd()); })("dragover", function CollectionsFullViewComponent_Conditional_31_For_25_Template_tr_dragover_0_listener($event) { const item_r27 = i0.ɵɵrestoreView(_r26).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(item_r27.type === "folder" ? ctx_r2.onFolderItemDragOver(item_r27, $event) : null); })("dragleave", function CollectionsFullViewComponent_Conditional_31_For_25_Template_tr_dragleave_0_listener() { const item_r27 = i0.ɵɵrestoreView(_r26).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(item_r27.type === "folder" ? ctx_r2.onDragLeave(item_r27.id) : null); })("drop", function CollectionsFullViewComponent_Conditional_31_For_25_Template_tr_drop_0_listener($event) { const item_r27 = i0.ɵɵrestoreView(_r26).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(item_r27.type === "folder" ? ctx_r2.onFolderItemDrop(item_r27, $event) : null); })("click", function CollectionsFullViewComponent_Conditional_31_For_25_Template_tr_click_0_listener($event) { const item_r27 = i0.ɵɵrestoreView(_r26).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemClick(item_r27, $event)); })("dblclick", function CollectionsFullViewComponent_Conditional_31_For_25_Template_tr_dblclick_0_listener($event) { const item_r27 = i0.ɵɵrestoreView(_r26).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemDoubleClick(item_r27, $event)); })("contextmenu", function CollectionsFullViewComponent_Conditional_31_For_25_Template_tr_contextmenu_0_listener($event) { const item_r27 = i0.ɵɵrestoreView(_r26).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemContextMenu(item_r27, $event)); });
607
- i0.ɵɵelementStart(1, "td", 110)(2, "i", 111);
572
+ i0.ɵɵelementStart(1, "td", 109)(2, "i", 110);
608
573
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_For_25_Template_i_click_2_listener($event) { const item_r27 = i0.ɵɵrestoreView(_r26).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCheckboxClick(item_r27, $event)); });
609
574
  i0.ɵɵelementEnd()();
610
- i0.ɵɵelementStart(3, "td", 118)(4, "div", 119);
575
+ i0.ɵɵelementStart(3, "td", 117)(4, "div", 118);
611
576
  i0.ɵɵelement(5, "i", 11);
612
577
  i0.ɵɵelementStart(6, "span");
613
578
  i0.ɵɵtext(7);
614
579
  i0.ɵɵelementEnd();
615
- i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_31_For_25_Conditional_8_Template, 1, 0, "i", 120);
580
+ i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_31_For_25_Conditional_8_Template, 1, 0, "i", 119);
616
581
  i0.ɵɵelementEnd()();
617
- i0.ɵɵelementStart(9, "td", 121);
582
+ i0.ɵɵelementStart(9, "td", 120);
618
583
  i0.ɵɵconditionalCreate(10, CollectionsFullViewComponent_Conditional_31_For_25_Conditional_10_Template, 2, 0, "span");
619
- i0.ɵɵconditionalCreate(11, CollectionsFullViewComponent_Conditional_31_For_25_Conditional_11_Template, 2, 1, "span", 96);
584
+ i0.ɵɵconditionalCreate(11, CollectionsFullViewComponent_Conditional_31_For_25_Conditional_11_Template, 2, 1, "span", 95);
620
585
  i0.ɵɵelementEnd();
621
- i0.ɵɵelementStart(12, "td", 122);
586
+ i0.ɵɵelementStart(12, "td", 121);
622
587
  i0.ɵɵconditionalCreate(13, CollectionsFullViewComponent_Conditional_31_For_25_Conditional_13_Template, 3, 4, "span");
623
588
  i0.ɵɵelementEnd();
624
- i0.ɵɵelementStart(14, "td", 115);
589
+ i0.ɵɵelementStart(14, "td", 114);
625
590
  i0.ɵɵconditionalCreate(15, CollectionsFullViewComponent_Conditional_31_For_25_Conditional_15_Template, 2, 1, "span");
626
591
  i0.ɵɵelementEnd()();
627
592
  } if (rf & 2) {
@@ -648,27 +613,27 @@ function CollectionsFullViewComponent_Conditional_31_For_25_Template(rf, ctx) {
648
613
  } }
649
614
  function CollectionsFullViewComponent_Conditional_31_Conditional_26_Template(rf, ctx) { if (rf & 1) {
650
615
  const _r28 = i0.ɵɵgetCurrentView();
651
- i0.ɵɵelementStart(0, "div", 81)(1, "span", 97);
616
+ i0.ɵɵelementStart(0, "div", 80)(1, "span", 96);
652
617
  i0.ɵɵtext(2);
653
618
  i0.ɵɵelementEnd();
654
- i0.ɵɵelementStart(3, "div", 98)(4, "button", 99);
619
+ i0.ɵɵelementStart(3, "div", 97)(4, "button", 98);
655
620
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_Conditional_26_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.GoToPage(1)); });
656
- i0.ɵɵelement(5, "i", 100);
621
+ i0.ɵɵelement(5, "i", 99);
657
622
  i0.ɵɵelementEnd();
658
- i0.ɵɵelementStart(6, "button", 101);
623
+ i0.ɵɵelementStart(6, "button", 100);
659
624
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_Conditional_26_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.GoToPage(ctx_r2.CurrentPage - 1)); });
660
- i0.ɵɵelement(7, "i", 102);
625
+ i0.ɵɵelement(7, "i", 101);
661
626
  i0.ɵɵelementEnd();
662
- i0.ɵɵelementStart(8, "span", 103);
627
+ i0.ɵɵelementStart(8, "span", 102);
663
628
  i0.ɵɵtext(9);
664
629
  i0.ɵɵelementEnd();
665
- i0.ɵɵelementStart(10, "button", 104);
630
+ i0.ɵɵelementStart(10, "button", 103);
666
631
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_Conditional_26_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.GoToPage(ctx_r2.CurrentPage + 1)); });
667
- i0.ɵɵelement(11, "i", 105);
632
+ i0.ɵɵelement(11, "i", 104);
668
633
  i0.ɵɵelementEnd();
669
- i0.ɵɵelementStart(12, "button", 106);
634
+ i0.ɵɵelementStart(12, "button", 105);
670
635
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_Conditional_26_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.GoToPage(ctx_r2.TotalPages)); });
671
- i0.ɵɵelement(13, "i", 107);
636
+ i0.ɵɵelement(13, "i", 106);
672
637
  i0.ɵɵelementEnd()()();
673
638
  } if (rf & 2) {
674
639
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -687,10 +652,10 @@ function CollectionsFullViewComponent_Conditional_31_Conditional_26_Template(rf,
687
652
  } }
688
653
  function CollectionsFullViewComponent_Conditional_31_Template(rf, ctx) { if (rf & 1) {
689
654
  const _r25 = i0.ɵɵgetCurrentView();
690
- i0.ɵɵelementStart(0, "div", 108)(1, "table", 109)(2, "thead")(3, "tr")(4, "th", 110)(5, "i", 111);
655
+ i0.ɵɵelementStart(0, "div", 107)(1, "table", 108)(2, "thead")(3, "tr")(4, "th", 109)(5, "i", 110);
691
656
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_Template_i_click_5_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectedItems.size === ctx_r2.unifiedItems.length ? ctx_r2.clearSelection() : ctx_r2.selectAll()); });
692
657
  i0.ɵɵelementEnd()();
693
- i0.ɵɵelementStart(6, "th", 112);
658
+ i0.ɵɵelementStart(6, "th", 111);
694
659
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_Template_th_click_6_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setSortBy("name")); });
695
660
  i0.ɵɵelementStart(7, "span");
696
661
  i0.ɵɵtext(8, "Name");
@@ -698,7 +663,7 @@ function CollectionsFullViewComponent_Conditional_31_Template(rf, ctx) { if (rf
698
663
  i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_31_Conditional_9_Template, 1, 0, "i", 33);
699
664
  i0.ɵɵconditionalCreate(10, CollectionsFullViewComponent_Conditional_31_Conditional_10_Template, 1, 1, "i", 11);
700
665
  i0.ɵɵelementEnd();
701
- i0.ɵɵelementStart(11, "th", 113);
666
+ i0.ɵɵelementStart(11, "th", 112);
702
667
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_Template_th_click_11_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setSortBy("type")); });
703
668
  i0.ɵɵelementStart(12, "span");
704
669
  i0.ɵɵtext(13, "Type");
@@ -706,7 +671,7 @@ function CollectionsFullViewComponent_Conditional_31_Template(rf, ctx) { if (rf
706
671
  i0.ɵɵconditionalCreate(14, CollectionsFullViewComponent_Conditional_31_Conditional_14_Template, 1, 0, "i", 33);
707
672
  i0.ɵɵconditionalCreate(15, CollectionsFullViewComponent_Conditional_31_Conditional_15_Template, 1, 1, "i", 11);
708
673
  i0.ɵɵelementEnd();
709
- i0.ɵɵelementStart(16, "th", 114);
674
+ i0.ɵɵelementStart(16, "th", 113);
710
675
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_31_Template_th_click_16_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setSortBy("date")); });
711
676
  i0.ɵɵelementStart(17, "span");
712
677
  i0.ɵɵtext(18, "Modified");
@@ -714,13 +679,13 @@ function CollectionsFullViewComponent_Conditional_31_Template(rf, ctx) { if (rf
714
679
  i0.ɵɵconditionalCreate(19, CollectionsFullViewComponent_Conditional_31_Conditional_19_Template, 1, 0, "i", 33);
715
680
  i0.ɵɵconditionalCreate(20, CollectionsFullViewComponent_Conditional_31_Conditional_20_Template, 1, 1, "i", 11);
716
681
  i0.ɵɵelementEnd();
717
- i0.ɵɵelementStart(21, "th", 115);
682
+ i0.ɵɵelementStart(21, "th", 114);
718
683
  i0.ɵɵtext(22, "Owner");
719
684
  i0.ɵɵelementEnd()()();
720
685
  i0.ɵɵelementStart(23, "tbody");
721
- i0.ɵɵrepeaterCreate(24, CollectionsFullViewComponent_Conditional_31_For_25_Template, 16, 17, "tr", 116, i0.ɵɵrepeaterTrackByIdentity);
686
+ i0.ɵɵrepeaterCreate(24, CollectionsFullViewComponent_Conditional_31_For_25_Template, 16, 17, "tr", 115, i0.ɵɵrepeaterTrackByIdentity);
722
687
  i0.ɵɵelementEnd()()();
723
- i0.ɵɵconditionalCreate(26, CollectionsFullViewComponent_Conditional_31_Conditional_26_Template, 14, 9, "div", 81);
688
+ i0.ɵɵconditionalCreate(26, CollectionsFullViewComponent_Conditional_31_Conditional_26_Template, 14, 9, "div", 80);
724
689
  } if (rf & 2) {
725
690
  const ctx_r2 = i0.ɵɵnextContext();
726
691
  i0.ɵɵclassProp("select-mode", ctx_r2.isSelectMode);
@@ -745,12 +710,12 @@ function CollectionsFullViewComponent_Conditional_31_Template(rf, ctx) { if (rf
745
710
  } }
746
711
  function CollectionsFullViewComponent_Conditional_32_For_7_Template(rf, ctx) { if (rf & 1) {
747
712
  const _r30 = i0.ɵɵgetCurrentView();
748
- i0.ɵɵelementStart(0, "span", 125);
713
+ i0.ɵɵelementStart(0, "span", 124);
749
714
  i0.ɵɵelement(1, "i", 11);
750
- i0.ɵɵelementStart(2, "span", 129);
715
+ i0.ɵɵelementStart(2, "span", 128);
751
716
  i0.ɵɵtext(3);
752
717
  i0.ɵɵelementEnd();
753
- i0.ɵɵelementStart(4, "button", 130);
718
+ i0.ɵɵelementStart(4, "button", 129);
754
719
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_32_For_7_Template_button_click_4_listener() { const entry_r31 = i0.ɵɵrestoreView(_r30).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.removeFromShelf(entry_r31.item.id)); });
755
720
  i0.ɵɵelement(5, "i", 40);
756
721
  i0.ɵɵelementEnd()();
@@ -764,17 +729,17 @@ function CollectionsFullViewComponent_Conditional_32_For_7_Template(rf, ctx) { i
764
729
  } }
765
730
  function CollectionsFullViewComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
766
731
  const _r29 = i0.ɵɵgetCurrentView();
767
- i0.ɵɵelementStart(0, "div", 26)(1, "div", 123);
732
+ i0.ɵɵelementStart(0, "div", 26)(1, "div", 122);
768
733
  i0.ɵɵelement(2, "i", 62);
769
734
  i0.ɵɵelementStart(3, "span");
770
735
  i0.ɵɵtext(4);
771
736
  i0.ɵɵelementEnd()();
772
- i0.ɵɵelementStart(5, "div", 124);
773
- i0.ɵɵrepeaterCreate(6, CollectionsFullViewComponent_Conditional_32_For_7_Template, 6, 3, "span", 125, _forTrack1);
737
+ i0.ɵɵelementStart(5, "div", 123);
738
+ i0.ɵɵrepeaterCreate(6, CollectionsFullViewComponent_Conditional_32_For_7_Template, 6, 3, "span", 124, _forTrack1);
774
739
  i0.ɵɵelementEnd();
775
- i0.ɵɵelementStart(8, "div", 126)(9, "button", 127);
740
+ i0.ɵɵelementStart(8, "div", 125)(9, "button", 126);
776
741
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_32_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.dropShelfHere()); });
777
- i0.ɵɵelement(10, "i", 128);
742
+ i0.ɵɵelement(10, "i", 127);
778
743
  i0.ɵɵtext(11, " Move here ");
779
744
  i0.ɵɵelementEnd();
780
745
  i0.ɵɵelementStart(12, "button", 59);
@@ -792,7 +757,7 @@ function CollectionsFullViewComponent_Conditional_32_Template(rf, ctx) { if (rf
792
757
  } }
793
758
  function CollectionsFullViewComponent_Conditional_33_Conditional_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
794
759
  const _r34 = i0.ɵɵgetCurrentView();
795
- i0.ɵɵelementStart(0, "button", 133);
760
+ i0.ɵɵelementStart(0, "button", 132);
796
761
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Conditional_2_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("share")); });
797
762
  i0.ɵɵelement(1, "i", 45);
798
763
  i0.ɵɵelementStart(2, "span");
@@ -801,7 +766,7 @@ function CollectionsFullViewComponent_Conditional_33_Conditional_2_Conditional_5
801
766
  } }
802
767
  function CollectionsFullViewComponent_Conditional_33_Conditional_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
803
768
  const _r35 = i0.ɵɵgetCurrentView();
804
- i0.ɵɵelementStart(0, "button", 133);
769
+ i0.ɵɵelementStart(0, "button", 132);
805
770
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Conditional_2_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("edit")); });
806
771
  i0.ɵɵelement(1, "i", 46);
807
772
  i0.ɵɵelementStart(2, "span");
@@ -820,9 +785,9 @@ function CollectionsFullViewComponent_Conditional_33_Conditional_2_Conditional_7
820
785
  } }
821
786
  function CollectionsFullViewComponent_Conditional_33_Conditional_2_Template(rf, ctx) { if (rf & 1) {
822
787
  const _r33 = i0.ɵɵgetCurrentView();
823
- i0.ɵɵelementStart(0, "button", 133);
788
+ i0.ɵɵelementStart(0, "button", 132);
824
789
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("open")); });
825
- i0.ɵɵelement(1, "i", 76);
790
+ i0.ɵɵelement(1, "i", 133);
826
791
  i0.ɵɵelementStart(2, "span");
827
792
  i0.ɵɵtext(3, "Open");
828
793
  i0.ɵɵelementEnd()();
@@ -852,7 +817,7 @@ function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_0
852
817
  } }
853
818
  function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_0_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
854
819
  const _r38 = i0.ɵɵgetCurrentView();
855
- i0.ɵɵelementStart(0, "button", 133);
820
+ i0.ɵɵelementStart(0, "button", 132);
856
821
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_0_Conditional_7_For_2_Template_button_click_0_listener() { const t_r39 = i0.ɵɵrestoreView(_r38).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.moveArtifactToCollection(t_r39.collection)); });
857
822
  i0.ɵɵelement(1, "i", 68);
858
823
  i0.ɵɵelementStart(2, "span");
@@ -877,9 +842,9 @@ function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_0
877
842
  } }
878
843
  function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
879
844
  const _r37 = i0.ɵɵgetCurrentView();
880
- i0.ɵɵelementStart(0, "button", 133);
845
+ i0.ɵɵelementStart(0, "button", 132);
881
846
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_0_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.closeMoveSubmenu($event)); });
882
- i0.ɵɵelement(1, "i", 102);
847
+ i0.ɵɵelement(1, "i", 101);
883
848
  i0.ɵɵelementStart(2, "span");
884
849
  i0.ɵɵtext(3, "Move to Collection");
885
850
  i0.ɵɵelementEnd()();
@@ -892,7 +857,7 @@ function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_0
892
857
  } }
893
858
  function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_1_Conditional_8_Template(rf, ctx) { if (rf & 1) {
894
859
  const _r41 = i0.ɵɵgetCurrentView();
895
- i0.ɵɵelementStart(0, "button", 133);
860
+ i0.ɵɵelementStart(0, "button", 132);
896
861
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_1_Conditional_8_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.openMoveSubmenu($event)); });
897
862
  i0.ɵɵelement(1, "i", 60);
898
863
  i0.ɵɵelementStart(2, "span");
@@ -910,13 +875,13 @@ function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_1
910
875
  } }
911
876
  function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
912
877
  const _r40 = i0.ɵɵgetCurrentView();
913
- i0.ɵɵelementStart(0, "button", 133);
878
+ i0.ɵɵelementStart(0, "button", 132);
914
879
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("view")); });
915
880
  i0.ɵɵelement(1, "i", 141);
916
881
  i0.ɵɵelementStart(2, "span");
917
882
  i0.ɵɵtext(3, "View");
918
883
  i0.ɵɵelementEnd()();
919
- i0.ɵɵelementStart(4, "button", 133);
884
+ i0.ɵɵelementStart(4, "button", 132);
920
885
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Conditional_3_Conditional_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r40); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("openConversation")); });
921
886
  i0.ɵɵelement(5, "i", 142);
922
887
  i0.ɵɵelementStart(6, "span");
@@ -936,10 +901,10 @@ function CollectionsFullViewComponent_Conditional_33_Conditional_3_Template(rf,
936
901
  } }
937
902
  function CollectionsFullViewComponent_Conditional_33_Template(rf, ctx) { if (rf & 1) {
938
903
  const _r32 = i0.ɵɵgetCurrentView();
939
- i0.ɵɵelementStart(0, "div", 131);
904
+ i0.ɵɵelementStart(0, "div", 130);
940
905
  i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_33_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
941
906
  i0.ɵɵelementEnd();
942
- i0.ɵɵelementStart(1, "div", 132);
907
+ i0.ɵɵelementStart(1, "div", 131);
943
908
  i0.ɵɵconditionalCreate(2, CollectionsFullViewComponent_Conditional_33_Conditional_2_Template, 8, 3);
944
909
  i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_33_Conditional_3_Template, 2, 1);
945
910
  i0.ɵɵelementEnd();
@@ -987,6 +952,22 @@ export class CollectionsFullViewComponent extends BaseAngularComponent {
987
952
  sortBy = 'name';
988
953
  sortOrder = 'asc';
989
954
  searchQuery = '';
955
+ /** Empty-state heading — varies by search / root / inside-collection context. */
956
+ get EmptyStateTitle() {
957
+ if (this.searchQuery)
958
+ return 'No items found';
959
+ if (!this.currentCollectionId)
960
+ return 'No collections yet';
961
+ return 'This collection is empty';
962
+ }
963
+ /** Empty-state supporting message (the rich inside-collection hint is projected, not bound here). */
964
+ get EmptyStateMessage() {
965
+ if (this.searchQuery)
966
+ return 'Try adjusting your search';
967
+ if (!this.currentCollectionId)
968
+ return 'Create your first collection to get started';
969
+ return '';
970
+ }
990
971
  unifiedItems = [];
991
972
  selectedItems = new Set();
992
973
  showNewDropdown = false;
@@ -2597,7 +2578,7 @@ export class CollectionsFullViewComponent extends BaseAngularComponent {
2597
2578
  static ɵfac = function CollectionsFullViewComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollectionsFullViewComponent)(i0.ɵɵdirectiveInject(i1.DialogService), i0.ɵɵdirectiveInject(i2.ArtifactStateService), i0.ɵɵdirectiveInject(i3.CollectionStateService), i0.ɵɵdirectiveInject(i4.CollectionPermissionService), i0.ɵɵdirectiveInject(i5.ArtifactIconService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
2598
2579
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionsFullViewComponent, selectors: [["mj-collections-full-view"]], hostBindings: function CollectionsFullViewComponent_HostBindings(rf, ctx) { if (rf & 1) {
2599
2580
  i0.ɵɵlistener("keydown.escape", function CollectionsFullViewComponent_keydown_escape_HostBindingHandler() { return ctx.onEscapeKey(); }, i0.ɵɵresolveDocument);
2600
- } }, inputs: { environmentId: "environmentId", currentUser: "currentUser" }, outputs: { collectionNavigated: "collectionNavigated", openConversationRequested: "openConversationRequested" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 37, vars: 36, consts: [[1, "collections-view", 3, "keydown"], [1, "collections-header"], [1, "collections-breadcrumb"], ["title", "Toggle collections panel", 1, "btn-icon", "nav-toggle", 3, "click"], [1, "fas", "fa-bars"], [1, "breadcrumb-item", 3, "dragover", "dragleave", "drop"], [1, "fas", "fa-home"], [1, "breadcrumb-link", 3, "click"], [1, "breadcrumb-path"], [1, "collections-actions"], [1, "btn-icon", 3, "click", "title"], [1, "fas", 3, "ngClass"], [1, "fas", "fa-check-square"], [1, "dropdown-container"], [1, "search-container"], [1, "fas", "fa-search"], ["type", "text", "placeholder", "Search...", 1, "search-input", 3, "ngModelChange", "ngModel"], ["title", "Clear search", 1, "search-clear"], ["title", "Refresh", 1, "btn-icon", 3, "click"], [1, "fas", "fa-sync"], [1, "selection-toolbar"], [1, "collections-body"], [1, "collections-navigator"], [1, "collections-content"], [1, "loading-state"], [1, "empty-state"], [1, "staging-shelf"], [3, "saved", "cancelled", "isOpen", "collection", "parentCollection", "environmentId", "currentUser"], [3, "saved", "cancelled", "isOpen", "collectionId", "environmentId", "currentUser"], [3, "saved", "cancelled", "isOpen", "collection", "currentUser", "currentUserPermissions"], [1, "fas", "fa-chevron-right", "breadcrumb-separator"], [1, "breadcrumb-link", 3, "dragover", "dragleave", "drop", "click"], ["title", "Sort options", 1, "btn-icon", 3, "click"], [1, "fas", "fa-sort"], [1, "dropdown-menu"], [1, "dropdown-item", 3, "click"], [1, "fas", "fa-sort-alpha-down"], [1, "fas", "fa-calendar"], [1, "fas", "fa-tag"], ["title", "Clear search", 1, "search-clear", 3, "click"], [1, "fas", "fa-times"], [1, "toolbar-separator"], [1, "toolbar-actions-group"], [1, "btn-icon", 3, "title"], [1, "btn-icon", "btn-icon-danger", 3, "title"], [1, "fas", "fa-share-nodes"], [1, "fas", "fa-pen-to-square"], [1, "btn-icon", "btn-icon-danger", 3, "click", "title"], [1, "fas", "fa-trash"], [1, "btn-primary", 3, "click"], [1, "fas", "fa-plus"], [1, "fas", "fa-chevron-down"], [1, "dropdown-menu", "dropdown-menu-right"], [1, "fas", "fa-folder-plus"], [1, "dropdown-item", 3, "click", "disabled"], [1, "fas", "fa-file-plus"], [1, "selection-info"], [1, "selection-count"], [1, "selection-actions"], [1, "btn-toolbar", 3, "click"], [1, "fas", "fa-folder-tree"], ["title", "Add to the staging shelf to move later", 1, "btn-toolbar", 3, "click"], [1, "fas", "fa-layer-group"], [1, "btn-toolbar", "btn-danger", 3, "click"], [1, "bulk-move-backdrop", 3, "click"], [1, "dropdown-menu", "bulk-move-menu"], [1, "dropdown-note"], [1, "dropdown-item", 3, "paddingLeft"], [1, "fas", "fa-folder"], [1, "nav-header"], [1, "nav-list"], [1, "nav-row", 3, "click", "dragover", "dragleave", "drop"], [1, "nav-row", 3, "active", "drag-over", "paddingLeft", "title"], [1, "nav-row", 3, "click", "dragover", "dragleave", "drop", "title"], [1, "nav-row-name"], ["text", "Loading collections...", "size", "large"], [1, "fas", "fa-folder-open"], [1, "btn-primary", "empty-state-cta"], [1, "btn-primary", "empty-state-cta", 3, "click"], [1, "unified-grid"], [1, "grid-item", 3, "selected", "active", "dragging", "drag-over", "draggable"], [1, "pagination-bar"], [1, "grid-item", 3, "dragstart", "dragend", "dragover", "dragleave", "drop", "click", "dblclick", "contextmenu", "draggable"], [1, "item-checkbox", 3, "click"], [1, "grid-item-content", 3, "title"], [1, "grid-icon", "folder-icon"], ["title", "Shared", 1, "shared-badge"], [1, "grid-info"], [1, "grid-name"], [1, "grid-description"], [1, "grid-meta"], [1, "grid-owner"], [1, "fas", "fa-users"], [1, "fas", "fa-user"], [1, "grid-icon", "artifact-icon"], [1, "version-badge"], [1, "artifact-type-badge"], [1, "pagination-info"], [1, "pagination-controls"], ["title", "First page", 1, "pagination-btn", 3, "click", "disabled"], [1, "fas", "fa-angles-left"], ["title", "Previous page", 1, "pagination-btn", 3, "click", "disabled"], [1, "fas", "fa-chevron-left"], [1, "pagination-page-info"], ["title", "Next page", 1, "pagination-btn", 3, "click", "disabled"], [1, "fas", "fa-chevron-right"], ["title", "Last page", 1, "pagination-btn", 3, "click", "disabled"], [1, "fas", "fa-angles-right"], [1, "unified-list"], [1, "list-table"], [1, "col-checkbox"], [1, "fas", 3, "click", "ngClass"], [1, "col-name", "sortable", 3, "click"], [1, "col-type", "sortable", 3, "click"], [1, "col-modified", "sortable", 3, "click"], [1, "col-owner"], [1, "list-item", 3, "selected", "active", "dragging", "drag-over", "draggable"], [1, "list-item", 3, "dragstart", "dragend", "dragover", "dragleave", "drop", "click", "dblclick", "contextmenu", "draggable"], [1, "col-name"], [1, "list-name-cell"], ["title", "Shared", 1, "fas", "fa-users", "shared-indicator"], [1, "col-type"], [1, "col-modified"], [1, "shelf-info"], [1, "shelf-chips"], [1, "shelf-chip", 3, "title"], [1, "shelf-actions"], [1, "btn-toolbar", "btn-primary-toolbar", 3, "click", "disabled", "title"], [1, "fas", "fa-arrow-down"], [1, "shelf-chip-name"], ["title", "Remove", 1, "shelf-chip-x", 3, "click"], [1, "context-menu-backdrop", 3, "click"], [1, "context-menu"], [1, "context-menu-item", 3, "click"], [1, "context-menu-divider"], [1, "context-menu-item"], [1, "context-menu-item", "context-menu-danger", 3, "click"], [1, "context-menu-note"], [1, "move-target-list"], [1, "fas", "fa-spinner", "fa-spin"], [1, "context-menu-item", 3, "paddingLeft"], [1, "fas", "fa-eye"], [1, "fas", "fa-comments"], [1, "fas", "fa-chevron-right", "submenu-arrow"], [1, "fas", "fa-times-circle"]], template: function CollectionsFullViewComponent_Template(rf, ctx) { if (rf & 1) {
2581
+ } }, inputs: { environmentId: "environmentId", currentUser: "currentUser" }, outputs: { collectionNavigated: "collectionNavigated", openConversationRequested: "openConversationRequested" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 37, vars: 36, consts: [[1, "collections-view", 3, "keydown"], [1, "collections-header"], [1, "collections-breadcrumb"], ["title", "Toggle collections panel", 1, "btn-icon", "nav-toggle", 3, "click"], [1, "fas", "fa-bars"], [1, "breadcrumb-item", 3, "dragover", "dragleave", "drop"], [1, "fas", "fa-home"], [1, "breadcrumb-link", 3, "click"], [1, "breadcrumb-path"], [1, "collections-actions"], [1, "btn-icon", 3, "click", "title"], [1, "fas", 3, "ngClass"], [1, "fas", "fa-check-square"], [1, "dropdown-container"], [1, "search-container"], [1, "fas", "fa-search"], ["type", "text", "placeholder", "Search...", 1, "search-input", 3, "ngModelChange", "ngModel"], ["title", "Clear search", 1, "search-clear"], ["title", "Refresh", 1, "btn-icon", 3, "click"], [1, "fas", "fa-sync"], [1, "selection-toolbar"], [1, "collections-body"], [1, "collections-navigator"], [1, "collections-content"], [1, "loading-state"], ["Icon", "fa-solid fa-folder-open", "ActionIcon", "fa-solid fa-plus", 3, "Variant", "Title", "Message", "ActionText"], [1, "staging-shelf"], [3, "saved", "cancelled", "isOpen", "collection", "parentCollection", "environmentId", "currentUser"], [3, "saved", "cancelled", "isOpen", "collectionId", "environmentId", "currentUser"], [3, "saved", "cancelled", "isOpen", "collection", "currentUser", "currentUserPermissions"], [1, "fas", "fa-chevron-right", "breadcrumb-separator"], [1, "breadcrumb-link", 3, "dragover", "dragleave", "drop", "click"], ["title", "Sort options", 1, "btn-icon", 3, "click"], [1, "fas", "fa-sort"], [1, "dropdown-menu"], [1, "dropdown-item", 3, "click"], [1, "fas", "fa-sort-alpha-down"], [1, "fas", "fa-calendar"], [1, "fas", "fa-tag"], ["title", "Clear search", 1, "search-clear", 3, "click"], [1, "fas", "fa-times"], [1, "toolbar-separator"], [1, "toolbar-actions-group"], [1, "btn-icon", 3, "title"], [1, "btn-icon", "btn-icon-danger", 3, "title"], [1, "fas", "fa-share-nodes"], [1, "fas", "fa-pen-to-square"], [1, "btn-icon", "btn-icon-danger", 3, "click", "title"], [1, "fas", "fa-trash"], [1, "btn-primary", 3, "click"], [1, "fas", "fa-plus"], [1, "fas", "fa-chevron-down"], [1, "dropdown-menu", "dropdown-menu-right"], [1, "fas", "fa-folder-plus"], [1, "dropdown-item", 3, "click", "disabled"], [1, "fas", "fa-file-plus"], [1, "selection-info"], [1, "selection-count"], [1, "selection-actions"], [1, "btn-toolbar", 3, "click"], [1, "fas", "fa-folder-tree"], ["title", "Add to the staging shelf to move later", 1, "btn-toolbar", 3, "click"], [1, "fas", "fa-layer-group"], [1, "btn-toolbar", "btn-danger", 3, "click"], [1, "bulk-move-backdrop", 3, "click"], [1, "dropdown-menu", "bulk-move-menu"], [1, "dropdown-note"], [1, "dropdown-item", 3, "paddingLeft"], [1, "fas", "fa-folder"], [1, "nav-header"], [1, "nav-list"], [1, "nav-row", 3, "click", "dragover", "dragleave", "drop"], [1, "nav-row", 3, "active", "drag-over", "paddingLeft", "title"], [1, "nav-row", 3, "click", "dragover", "dragleave", "drop", "title"], [1, "nav-row-name"], ["text", "Loading collections...", "size", "large"], ["Icon", "fa-solid fa-folder-open", "ActionIcon", "fa-solid fa-plus", 3, "Action", "Variant", "Title", "Message", "ActionText"], [1, "empty-collection-hint"], [1, "unified-grid"], [1, "grid-item", 3, "selected", "active", "dragging", "drag-over", "draggable"], [1, "pagination-bar"], [1, "grid-item", 3, "dragstart", "dragend", "dragover", "dragleave", "drop", "click", "dblclick", "contextmenu", "draggable"], [1, "item-checkbox", 3, "click"], [1, "grid-item-content", 3, "title"], [1, "grid-icon", "folder-icon"], ["title", "Shared", 1, "shared-badge"], [1, "grid-info"], [1, "grid-name"], [1, "grid-description"], [1, "grid-meta"], [1, "grid-owner"], [1, "fas", "fa-users"], [1, "fas", "fa-user"], [1, "grid-icon", "artifact-icon"], [1, "version-badge"], [1, "artifact-type-badge"], [1, "pagination-info"], [1, "pagination-controls"], ["title", "First page", 1, "pagination-btn", 3, "click", "disabled"], [1, "fas", "fa-angles-left"], ["title", "Previous page", 1, "pagination-btn", 3, "click", "disabled"], [1, "fas", "fa-chevron-left"], [1, "pagination-page-info"], ["title", "Next page", 1, "pagination-btn", 3, "click", "disabled"], [1, "fas", "fa-chevron-right"], ["title", "Last page", 1, "pagination-btn", 3, "click", "disabled"], [1, "fas", "fa-angles-right"], [1, "unified-list"], [1, "list-table"], [1, "col-checkbox"], [1, "fas", 3, "click", "ngClass"], [1, "col-name", "sortable", 3, "click"], [1, "col-type", "sortable", 3, "click"], [1, "col-modified", "sortable", 3, "click"], [1, "col-owner"], [1, "list-item", 3, "selected", "active", "dragging", "drag-over", "draggable"], [1, "list-item", 3, "dragstart", "dragend", "dragover", "dragleave", "drop", "click", "dblclick", "contextmenu", "draggable"], [1, "col-name"], [1, "list-name-cell"], ["title", "Shared", 1, "fas", "fa-users", "shared-indicator"], [1, "col-type"], [1, "col-modified"], [1, "shelf-info"], [1, "shelf-chips"], [1, "shelf-chip", 3, "title"], [1, "shelf-actions"], [1, "btn-toolbar", "btn-primary-toolbar", 3, "click", "disabled", "title"], [1, "fas", "fa-arrow-down"], [1, "shelf-chip-name"], ["title", "Remove", 1, "shelf-chip-x", 3, "click"], [1, "context-menu-backdrop", 3, "click"], [1, "context-menu"], [1, "context-menu-item", 3, "click"], [1, "fas", "fa-folder-open"], [1, "context-menu-divider"], [1, "context-menu-item"], [1, "context-menu-item", "context-menu-danger", 3, "click"], [1, "context-menu-note"], [1, "move-target-list"], [1, "fas", "fa-spinner", "fa-spin"], [1, "context-menu-item", 3, "paddingLeft"], [1, "fas", "fa-eye"], [1, "fas", "fa-comments"], [1, "fas", "fa-chevron-right", "submenu-arrow"], [1, "fas", "fa-times-circle"]], template: function CollectionsFullViewComponent_Template(rf, ctx) { if (rf & 1) {
2601
2582
  i0.ɵɵelementStart(0, "div", 0);
2602
2583
  i0.ɵɵlistener("keydown", function CollectionsFullViewComponent_Template_div_keydown_0_listener($event) { return ctx.handleKeyboardShortcut($event); });
2603
2584
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "button", 3);
@@ -2641,7 +2622,7 @@ export class CollectionsFullViewComponent extends BaseAngularComponent {
2641
2622
  i0.ɵɵconditionalCreate(26, CollectionsFullViewComponent_Conditional_26_Template, 10, 4, "div", 22);
2642
2623
  i0.ɵɵelementStart(27, "div", 23);
2643
2624
  i0.ɵɵconditionalCreate(28, CollectionsFullViewComponent_Conditional_28_Template, 2, 0, "div", 24);
2644
- i0.ɵɵconditionalCreate(29, CollectionsFullViewComponent_Conditional_29_Template, 5, 3, "div", 25);
2625
+ i0.ɵɵconditionalCreate(29, CollectionsFullViewComponent_Conditional_29_Template, 2, 5, "mj-empty-state", 25);
2645
2626
  i0.ɵɵconditionalCreate(30, CollectionsFullViewComponent_Conditional_30_Template, 4, 3);
2646
2627
  i0.ɵɵconditionalCreate(31, CollectionsFullViewComponent_Conditional_31_Template, 27, 10);
2647
2628
  i0.ɵɵelementEnd()();
@@ -2703,7 +2684,7 @@ export class CollectionsFullViewComponent extends BaseAngularComponent {
2703
2684
  i0.ɵɵproperty("isOpen", ctx.isArtifactModalOpen)("collectionId", ctx.currentCollectionId || "")("environmentId", ctx.environmentId)("currentUser", ctx.currentUser);
2704
2685
  i0.ɵɵadvance();
2705
2686
  i0.ɵɵproperty("isOpen", ctx.isShareModalOpen)("collection", ctx.sharingCollection)("currentUser", ctx.currentUser)("currentUserPermissions", ctx.sharingCollection ? ctx.userPermissions.get(ctx.sharingCollection.ID) || null : null);
2706
- } }, dependencies: [i6.NgClass, i7.DefaultValueAccessor, i7.NgControlStatus, i7.NgModel, i8.LoadingComponent, i9.CollectionShareModalComponent, i10.CollectionFormModalComponent, i11.ArtifactCreateModalComponent, i6.DatePipe], styles: ["[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n }\n\n \n\n .collections-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n position: relative;\n }\n\n \n\n .collections-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n gap: 16px;\n background: var(--mj-bg-surface);\n }\n\n .collections-breadcrumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n font-weight: 500;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n transition: color 150ms ease;\n font-size: 14px;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n }\n\n .breadcrumb-link.active[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n cursor: default;\n }\n\n .breadcrumb-path[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator[_ngcontent-%COMP%] {\n color: var(--mj-border-strong);\n font-size: 10px;\n }\n\n .collections-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n \n\n .btn-primary[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n .btn-primary[_ngcontent-%COMP%] i.fa-chevron-down[_ngcontent-%COMP%] {\n font-size: 10px;\n margin-left: 2px;\n }\n\n .btn-icon[_ngcontent-%COMP%] {\n padding: 6px 10px;\n background: transparent;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n cursor: pointer;\n color: var(--mj-text-muted);\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .btn-icon[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-text-disabled);\n }\n\n .btn-icon.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n }\n\n .btn-icon.active[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n \n\n .dropdown-container[_ngcontent-%COMP%] {\n position: relative;\n }\n\n .dropdown-menu[_ngcontent-%COMP%] {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 200px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 4px;\n z-index: 1000;\n }\n\n .dropdown-menu-right[_ngcontent-%COMP%] {\n left: auto;\n right: 0;\n }\n\n .dropdown-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--mj-text-primary);\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .dropdown-item[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .dropdown-item[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .dropdown-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n }\n\n .dropdown-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .dropdown-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .dropdown-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n\n \n\n .search-container[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: center;\n min-width: 200px;\n }\n\n .search-container[_ngcontent-%COMP%] i.fa-search[_ngcontent-%COMP%] {\n position: absolute;\n left: 10px;\n color: var(--mj-text-disabled);\n font-size: 13px;\n pointer-events: none;\n }\n\n .search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 32px 6px 32px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n font-size: 13px;\n outline: none;\n transition: all 150ms ease;\n }\n\n .search-input[_ngcontent-%COMP%]:focus {\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 .search-clear[_ngcontent-%COMP%] {\n position: absolute;\n right: 6px;\n padding: 4px;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-clear[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n \n\n .selection-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 20px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-bottom: 1px solid color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n }\n\n .selection-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .selection-count[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n }\n\n .selection-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n }\n\n .btn-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n color: var(--mj-text-secondary);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .btn-toolbar[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-text-disabled);\n }\n\n .btn-toolbar.btn-danger[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n }\n\n .btn-toolbar.btn-danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border-color: var(--mj-status-error);\n }\n\n \n\n .collections-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n }\n\n \n\n .loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n min-height: 0;\n color: var(--mj-text-disabled);\n text-align: center;\n padding: 24px;\n }\n\n .empty-state[_ngcontent-%COMP%] > i[_ngcontent-%COMP%] {\n font-size: 64px;\n margin-bottom: 24px;\n opacity: 0.3;\n color: var(--mj-border-strong);\n }\n\n .empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n color: var(--mj-text-secondary);\n font-size: 18px;\n font-weight: 600;\n }\n\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: var(--mj-text-muted);\n }\n\n .empty-state[_ngcontent-%COMP%] .empty-state-cta[_ngcontent-%COMP%] {\n padding: 10px 20px;\n font-size: 14px;\n border-radius: 8px;\n }\n\n .empty-state-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n \n\n .unified-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 16px;\n padding: 4px;\n flex-shrink: 0;\n }\n\n .grid-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n padding: 12px;\n background: var(--mj-bg-surface);\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n user-select: none;\n }\n\n .grid-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n }\n\n .grid-item.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n }\n\n .grid-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-color: var(--mj-status-warning);\n box-shadow: 0 0 0 1px var(--mj-status-warning);\n }\n\n .grid-item.active[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 25%, var(--mj-bg-surface));\n }\n\n \n\n .unified-grid.select-mode[_ngcontent-%COMP%] .grid-item[_ngcontent-%COMP%] {\n cursor: pointer;\n }\n\n .unified-grid.select-mode[_ngcontent-%COMP%] .grid-item[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n }\n\n .item-checkbox[_ngcontent-%COMP%] {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .item-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-disabled);\n transition: color 150ms ease;\n }\n\n .grid-item.selected[_ngcontent-%COMP%] .item-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n .item-checkbox[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .grid-item-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n }\n\n .grid-icon[_ngcontent-%COMP%] {\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n position: relative;\n }\n\n .grid-icon.folder-icon[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n }\n\n .grid-icon.folder-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: var(--mj-text-inverse);\n }\n\n .grid-icon.artifact-icon[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n }\n\n .grid-icon.artifact-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: var(--mj-text-muted);\n }\n\n .shared-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: -4px;\n right: -4px;\n width: 20px;\n height: 20px;\n background: var(--mj-status-success);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid var(--mj-bg-surface);\n }\n\n .shared-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-inverse);\n }\n\n .grid-info[_ngcontent-%COMP%] {\n width: 100%;\n text-align: center;\n }\n\n .grid-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-primary);\n line-height: 1.3;\n margin-bottom: 4px;\n \n\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-description[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.3;\n margin-bottom: 4px;\n \n\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 4px;\n }\n\n .grid-owner[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n }\n\n .grid-owner[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n margin-right: 3px;\n }\n\n .version-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n font-family: monospace;\n margin-right: 4px;\n }\n\n .artifact-type-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n text-transform: uppercase;\n }\n\n \n\n .unified-list[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .list-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n }\n\n .list-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .list-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 10px 16px;\n text-align: left;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n transition: color 150ms ease;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: inline-block;\n margin-right: 6px;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n opacity: 1;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n transition: background 150ms ease;\n cursor: pointer;\n user-select: none;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-left: 3px solid var(--mj-status-warning);\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.active[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 25%, var(--mj-bg-surface));\n }\n\n .list-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .col-checkbox[_ngcontent-%COMP%] {\n width: 40px;\n text-align: center;\n }\n\n .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-disabled);\n cursor: pointer;\n transition: color 150ms ease;\n }\n\n .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:hover, \n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .col-name[_ngcontent-%COMP%] {\n min-width: 300px;\n }\n\n .list-name-cell[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .list-name-cell[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-muted);\n width: 20px;\n text-align: center;\n }\n\n .list-name-cell[_ngcontent-%COMP%] .fa-folder[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .shared-indicator[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-status-success);\n margin-left: auto;\n }\n\n .col-type[_ngcontent-%COMP%] {\n width: 150px;\n }\n\n .col-modified[_ngcontent-%COMP%] {\n width: 180px;\n }\n\n .col-owner[_ngcontent-%COMP%] {\n width: 150px;\n }\n\n \n\n .pagination-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n margin-top: 8px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n flex-shrink: 0;\n }\n\n .pagination-info[_ngcontent-%COMP%] {\n white-space: nowrap;\n }\n\n .pagination-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .pagination-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 150ms ease;\n font-size: 12px;\n }\n\n .pagination-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-primary);\n }\n\n .pagination-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.35;\n cursor: default;\n }\n\n .pagination-page-info[_ngcontent-%COMP%] {\n padding: 0 8px;\n white-space: nowrap;\n font-weight: 500;\n }\n\n \n\n .toolbar-separator[_ngcontent-%COMP%] {\n width: 1px;\n height: 24px;\n background: var(--mj-border-strong);\n margin: 0 4px;\n }\n\n .toolbar-actions-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .btn-icon-danger[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n }\n\n .btn-icon-danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n border-color: var(--mj-status-error);\n }\n\n \n\n .context-menu-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1999;\n }\n\n .context-menu[_ngcontent-%COMP%] {\n position: fixed;\n min-width: 180px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);\n padding: 4px;\n z-index: 2000;\n }\n\n .context-menu-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--mj-text-primary);\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .context-menu-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .context-menu-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .context-menu-danger[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .context-menu-danger[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .context-menu-danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .context-menu-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n .submenu-arrow[_ngcontent-%COMP%] {\n margin-left: auto;\n font-size: 10px;\n opacity: 0.6;\n }\n .move-target-list[_ngcontent-%COMP%] {\n max-height: 240px;\n overflow-y: auto;\n }\n .context-menu-note[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n \n\n .collections-body[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: row;\n min-height: 0;\n overflow: hidden;\n }\n .collections-navigator[_ngcontent-%COMP%] {\n width: 240px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n }\n .nav-header[_ngcontent-%COMP%] {\n padding: 12px 14px 8px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--mj-text-muted);\n }\n .nav-list[_ngcontent-%COMP%] { display: flex; flex-direction: column; padding: 0 6px 12px; gap: 1px; }\n .nav-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 7px 10px;\n border: 1px solid transparent;\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 13px;\n text-align: left;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n .nav-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .nav-row.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n .nav-row.drag-over[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 22%, transparent);\n border-color: var(--mj-brand-primary);\n }\n .nav-row[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 13px; width: 16px; flex-shrink: 0; }\n .nav-row-name[_ngcontent-%COMP%] { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .nav-toggle.active[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n\n \n\n .grid-item.dragging[_ngcontent-%COMP%], .list-item.dragging[_ngcontent-%COMP%] { opacity: 0.4; }\n .grid-item.drag-over[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary) !important;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface)) !important;\n }\n .list-item.drag-over[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, var(--mj-bg-surface));\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary);\n }\n .breadcrumb-item.drag-over[_ngcontent-%COMP%], .breadcrumb-link.drag-over[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, transparent);\n border-radius: 6px;\n outline: 1px solid var(--mj-brand-primary);\n }\n\n \n\n .item-checkbox[_ngcontent-%COMP%] { opacity: 0; transition: opacity 150ms ease; }\n .grid-item[_ngcontent-%COMP%]:hover .item-checkbox[_ngcontent-%COMP%], \n .grid-item.selected[_ngcontent-%COMP%] .item-checkbox[_ngcontent-%COMP%], \n .unified-grid.select-mode[_ngcontent-%COMP%] .item-checkbox[_ngcontent-%COMP%] { opacity: 1; }\n .list-item[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { opacity: 0; transition: opacity 150ms ease; }\n .list-item[_ngcontent-%COMP%]:hover .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n .list-item.selected[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n .unified-list.select-mode[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { opacity: 1; }\n .list-item.selected[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n\n \n\n .bulk-move-backdrop[_ngcontent-%COMP%] {\n position: fixed; inset: 0; z-index: 1000;\n }\n .bulk-move-menu[_ngcontent-%COMP%] {\n max-height: 320px;\n overflow-y: auto;\n z-index: 1001;\n }\n .dropdown-note[_ngcontent-%COMP%] { padding: 10px 14px; font-size: 12px; color: var(--mj-text-muted); }\n\n \n\n .staging-shelf[_ngcontent-%COMP%] {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-border-default);\n box-shadow: 0 -2px 8px color-mix(in srgb, var(--mj-text-primary) 6%, transparent);\n }\n .shelf-info[_ngcontent-%COMP%] {\n display: flex; align-items: center; gap: 8px;\n font-weight: 600; font-size: 13px; color: var(--mj-text-primary);\n flex-shrink: 0;\n }\n .shelf-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .shelf-chips[_ngcontent-%COMP%] {\n flex: 1; min-width: 0;\n display: flex; gap: 6px; overflow-x: auto; padding: 2px 0;\n }\n .shelf-chip[_ngcontent-%COMP%] {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 4px 6px 4px 10px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 999px;\n font-size: 12px; color: var(--mj-text-secondary);\n flex-shrink: 0;\n }\n .shelf-chip-name[_ngcontent-%COMP%] { max-width: 120px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .shelf-chip-x[_ngcontent-%COMP%] {\n width: 18px; height: 18px; border: 0; background: transparent;\n color: var(--mj-text-muted); cursor: pointer; border-radius: 50%;\n display: flex; align-items: center; justify-content: center; font-size: 10px;\n }\n .shelf-chip-x[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .shelf-actions[_ngcontent-%COMP%] { display: flex; gap: 8px; flex-shrink: 0; }\n .btn-toolbar.btn-primary-toolbar[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n }\n .btn-toolbar.btn-primary-toolbar[_ngcontent-%COMP%]:hover:not(:disabled) { background: var(--mj-brand-primary-hover); }\n .btn-toolbar[_ngcontent-%COMP%]:disabled { opacity: 0.5; cursor: not-allowed; }"] });
2687
+ } }, dependencies: [i6.NgClass, i7.DefaultValueAccessor, i7.NgControlStatus, i7.NgModel, i8.MJEmptyStateComponent, i9.LoadingComponent, i10.CollectionShareModalComponent, i11.CollectionFormModalComponent, i12.ArtifactCreateModalComponent, i6.DatePipe], styles: ["[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n }\n\n \n\n .collections-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n position: relative;\n }\n\n \n\n .collections-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n gap: 16px;\n background: var(--mj-bg-surface);\n }\n\n .collections-breadcrumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 14px;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n font-weight: 500;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n transition: color 150ms ease;\n font-size: 14px;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n }\n\n .breadcrumb-link.active[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n cursor: default;\n }\n\n .breadcrumb-path[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator[_ngcontent-%COMP%] {\n color: var(--mj-border-strong);\n font-size: 10px;\n }\n\n .collections-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n \n\n .btn-primary[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n .btn-primary[_ngcontent-%COMP%] i.fa-chevron-down[_ngcontent-%COMP%] {\n font-size: 10px;\n margin-left: 2px;\n }\n\n .btn-icon[_ngcontent-%COMP%] {\n padding: 6px 10px;\n background: transparent;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n cursor: pointer;\n color: var(--mj-text-muted);\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .btn-icon[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-text-disabled);\n }\n\n .btn-icon.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n }\n\n .btn-icon.active[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n \n\n .dropdown-container[_ngcontent-%COMP%] {\n position: relative;\n }\n\n .dropdown-menu[_ngcontent-%COMP%] {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 200px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 4px;\n z-index: 1000;\n }\n\n .dropdown-menu-right[_ngcontent-%COMP%] {\n left: auto;\n right: 0;\n }\n\n .dropdown-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--mj-text-primary);\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .dropdown-item[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .dropdown-item[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .dropdown-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n }\n\n .dropdown-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .dropdown-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .dropdown-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n\n \n\n .search-container[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: center;\n min-width: 200px;\n }\n\n .search-container[_ngcontent-%COMP%] i.fa-search[_ngcontent-%COMP%] {\n position: absolute;\n left: 10px;\n color: var(--mj-text-disabled);\n font-size: 13px;\n pointer-events: none;\n }\n\n .search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 32px 6px 32px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n font-size: 13px;\n outline: none;\n transition: all 150ms ease;\n }\n\n .search-input[_ngcontent-%COMP%]:focus {\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 .search-clear[_ngcontent-%COMP%] {\n position: absolute;\n right: 6px;\n padding: 4px;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-clear[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n \n\n .selection-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 20px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-bottom: 1px solid color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n }\n\n .selection-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .selection-count[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n }\n\n .selection-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n }\n\n .btn-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n color: var(--mj-text-secondary);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .btn-toolbar[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-text-disabled);\n }\n\n .btn-toolbar.btn-danger[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n }\n\n .btn-toolbar.btn-danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border-color: var(--mj-status-error);\n }\n\n \n\n .collections-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n }\n\n \n\n .loading-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n min-height: 0;\n color: var(--mj-text-disabled);\n text-align: center;\n padding: 24px;\n }\n\n .collections-content[_ngcontent-%COMP%] mj-empty-state[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n }\n\n .empty-collection-hint[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-muted);\n }\n\n \n\n .unified-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 16px;\n padding: 4px;\n flex-shrink: 0;\n }\n\n .grid-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n padding: 12px;\n background: var(--mj-bg-surface);\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n user-select: none;\n }\n\n .grid-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n }\n\n .grid-item.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n }\n\n .grid-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-color: var(--mj-status-warning);\n box-shadow: 0 0 0 1px var(--mj-status-warning);\n }\n\n .grid-item.active[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 25%, var(--mj-bg-surface));\n }\n\n \n\n .unified-grid.select-mode[_ngcontent-%COMP%] .grid-item[_ngcontent-%COMP%] {\n cursor: pointer;\n }\n\n .unified-grid.select-mode[_ngcontent-%COMP%] .grid-item[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n }\n\n .item-checkbox[_ngcontent-%COMP%] {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .item-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-disabled);\n transition: color 150ms ease;\n }\n\n .grid-item.selected[_ngcontent-%COMP%] .item-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n .item-checkbox[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .grid-item-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n }\n\n .grid-icon[_ngcontent-%COMP%] {\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n position: relative;\n }\n\n .grid-icon.folder-icon[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n }\n\n .grid-icon.folder-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: var(--mj-text-inverse);\n }\n\n .grid-icon.artifact-icon[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n }\n\n .grid-icon.artifact-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: var(--mj-text-muted);\n }\n\n .shared-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: -4px;\n right: -4px;\n width: 20px;\n height: 20px;\n background: var(--mj-status-success);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid var(--mj-bg-surface);\n }\n\n .shared-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-inverse);\n }\n\n .grid-info[_ngcontent-%COMP%] {\n width: 100%;\n text-align: center;\n }\n\n .grid-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-primary);\n line-height: 1.3;\n margin-bottom: 4px;\n \n\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-description[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.3;\n margin-bottom: 4px;\n \n\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 4px;\n }\n\n .grid-owner[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n }\n\n .grid-owner[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n margin-right: 3px;\n }\n\n .version-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n font-family: monospace;\n margin-right: 4px;\n }\n\n .artifact-type-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n text-transform: uppercase;\n }\n\n \n\n .unified-list[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .list-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n }\n\n .list-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .list-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 10px 16px;\n text-align: left;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n transition: color 150ms ease;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary);\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: inline-block;\n margin-right: 6px;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n opacity: 1;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n transition: background 150ms ease;\n cursor: pointer;\n user-select: none;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-left: 3px solid var(--mj-status-warning);\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.active[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 25%, var(--mj-bg-surface));\n }\n\n .list-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .col-checkbox[_ngcontent-%COMP%] {\n width: 40px;\n text-align: center;\n }\n\n .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-disabled);\n cursor: pointer;\n transition: color 150ms ease;\n }\n\n .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:hover, \n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .col-name[_ngcontent-%COMP%] {\n min-width: 300px;\n }\n\n .list-name-cell[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .list-name-cell[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-muted);\n width: 20px;\n text-align: center;\n }\n\n .list-name-cell[_ngcontent-%COMP%] .fa-folder[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .shared-indicator[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-status-success);\n margin-left: auto;\n }\n\n .col-type[_ngcontent-%COMP%] {\n width: 150px;\n }\n\n .col-modified[_ngcontent-%COMP%] {\n width: 180px;\n }\n\n .col-owner[_ngcontent-%COMP%] {\n width: 150px;\n }\n\n \n\n .pagination-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n margin-top: 8px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n flex-shrink: 0;\n }\n\n .pagination-info[_ngcontent-%COMP%] {\n white-space: nowrap;\n }\n\n .pagination-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .pagination-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 150ms ease;\n font-size: 12px;\n }\n\n .pagination-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-primary);\n }\n\n .pagination-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.35;\n cursor: default;\n }\n\n .pagination-page-info[_ngcontent-%COMP%] {\n padding: 0 8px;\n white-space: nowrap;\n font-weight: 500;\n }\n\n \n\n .toolbar-separator[_ngcontent-%COMP%] {\n width: 1px;\n height: 24px;\n background: var(--mj-border-strong);\n margin: 0 4px;\n }\n\n .toolbar-actions-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .btn-icon-danger[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n }\n\n .btn-icon-danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n border-color: var(--mj-status-error);\n }\n\n \n\n .context-menu-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1999;\n }\n\n .context-menu[_ngcontent-%COMP%] {\n position: fixed;\n min-width: 180px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);\n padding: 4px;\n z-index: 2000;\n }\n\n .context-menu-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--mj-text-primary);\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .context-menu-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .context-menu-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .context-menu-danger[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .context-menu-danger[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .context-menu-danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .context-menu-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n .submenu-arrow[_ngcontent-%COMP%] {\n margin-left: auto;\n font-size: 10px;\n opacity: 0.6;\n }\n .move-target-list[_ngcontent-%COMP%] {\n max-height: 240px;\n overflow-y: auto;\n }\n .context-menu-note[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n \n\n .collections-body[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: row;\n min-height: 0;\n overflow: hidden;\n }\n .collections-navigator[_ngcontent-%COMP%] {\n width: 240px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n }\n .nav-header[_ngcontent-%COMP%] {\n padding: 12px 14px 8px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--mj-text-muted);\n }\n .nav-list[_ngcontent-%COMP%] { display: flex; flex-direction: column; padding: 0 6px 12px; gap: 1px; }\n .nav-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 7px 10px;\n border: 1px solid transparent;\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 13px;\n text-align: left;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n .nav-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .nav-row.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n .nav-row.drag-over[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 22%, transparent);\n border-color: var(--mj-brand-primary);\n }\n .nav-row[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 13px; width: 16px; flex-shrink: 0; }\n .nav-row-name[_ngcontent-%COMP%] { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .nav-toggle.active[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n\n \n\n .grid-item.dragging[_ngcontent-%COMP%], .list-item.dragging[_ngcontent-%COMP%] { opacity: 0.4; }\n .grid-item.drag-over[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary) !important;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface)) !important;\n }\n .list-item.drag-over[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, var(--mj-bg-surface));\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary);\n }\n .breadcrumb-item.drag-over[_ngcontent-%COMP%], .breadcrumb-link.drag-over[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, transparent);\n border-radius: 6px;\n outline: 1px solid var(--mj-brand-primary);\n }\n\n \n\n .item-checkbox[_ngcontent-%COMP%] { opacity: 0; transition: opacity 150ms ease; }\n .grid-item[_ngcontent-%COMP%]:hover .item-checkbox[_ngcontent-%COMP%], \n .grid-item.selected[_ngcontent-%COMP%] .item-checkbox[_ngcontent-%COMP%], \n .unified-grid.select-mode[_ngcontent-%COMP%] .item-checkbox[_ngcontent-%COMP%] { opacity: 1; }\n .list-item[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { opacity: 0; transition: opacity 150ms ease; }\n .list-item[_ngcontent-%COMP%]:hover .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n .list-item.selected[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n .unified-list.select-mode[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { opacity: 1; }\n .list-item.selected[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n\n \n\n .bulk-move-backdrop[_ngcontent-%COMP%] {\n position: fixed; inset: 0; z-index: 1000;\n }\n .bulk-move-menu[_ngcontent-%COMP%] {\n max-height: 320px;\n overflow-y: auto;\n z-index: 1001;\n }\n .dropdown-note[_ngcontent-%COMP%] { padding: 10px 14px; font-size: 12px; color: var(--mj-text-muted); }\n\n \n\n .staging-shelf[_ngcontent-%COMP%] {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-border-default);\n box-shadow: 0 -2px 8px color-mix(in srgb, var(--mj-text-primary) 6%, transparent);\n }\n .shelf-info[_ngcontent-%COMP%] {\n display: flex; align-items: center; gap: 8px;\n font-weight: 600; font-size: 13px; color: var(--mj-text-primary);\n flex-shrink: 0;\n }\n .shelf-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .shelf-chips[_ngcontent-%COMP%] {\n flex: 1; min-width: 0;\n display: flex; gap: 6px; overflow-x: auto; padding: 2px 0;\n }\n .shelf-chip[_ngcontent-%COMP%] {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 4px 6px 4px 10px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 999px;\n font-size: 12px; color: var(--mj-text-secondary);\n flex-shrink: 0;\n }\n .shelf-chip-name[_ngcontent-%COMP%] { max-width: 120px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .shelf-chip-x[_ngcontent-%COMP%] {\n width: 18px; height: 18px; border: 0; background: transparent;\n color: var(--mj-text-muted); cursor: pointer; border-radius: 50%;\n display: flex; align-items: center; justify-content: center; font-size: 10px;\n }\n .shelf-chip-x[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .shelf-actions[_ngcontent-%COMP%] { display: flex; gap: 8px; flex-shrink: 0; }\n .btn-toolbar.btn-primary-toolbar[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n }\n .btn-toolbar.btn-primary-toolbar[_ngcontent-%COMP%]:hover:not(:disabled) { background: var(--mj-brand-primary-hover); }\n .btn-toolbar[_ngcontent-%COMP%]:disabled { opacity: 0.5; cursor: not-allowed; }"] });
2707
2688
  }
2708
2689
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionsFullViewComponent, [{
2709
2690
  type: Component,
@@ -2960,32 +2941,19 @@ export class CollectionsFullViewComponent extends BaseAngularComponent {
2960
2941
 
2961
2942
  <!-- Empty state -->
2962
2943
  @if (!isLoading && unifiedItems.length === 0) {
2963
- <div class="empty-state">
2964
- <i class="fas fa-folder-open"></i>
2965
- <!-- Search returned no results -->
2966
- @if (searchQuery) {
2967
- <h3>No items found</h3>
2968
- <p>Try adjusting your search</p>
2969
- }
2970
- <!-- Empty root level -->
2971
- @if (!searchQuery && !currentCollectionId) {
2972
- <h3>No collections yet</h3>
2973
- <p>Create your first collection to get started</p>
2974
- @if (canEditCurrent()) {
2975
- <button class="btn-primary empty-state-cta"
2976
- (click)="createCollection()"
2977
- >
2978
- <i class="fas fa-plus"></i>
2979
- Create Collection
2980
- </button>
2981
- }
2982
- }
2983
- <!-- Empty collection (has parent) -->
2944
+ <mj-empty-state
2945
+ [Variant]="searchQuery ? 'no-results' : 'empty'"
2946
+ Icon="fa-solid fa-folder-open"
2947
+ [Title]="EmptyStateTitle"
2948
+ [Message]="EmptyStateMessage"
2949
+ [ActionText]="(!searchQuery && !currentCollectionId && canEditCurrent()) ? 'Create Collection' : ''"
2950
+ ActionIcon="fa-solid fa-plus"
2951
+ (Action)="createCollection()">
2952
+ <!-- Empty collection (has parent): rich hint with emphasis -->
2984
2953
  @if (!searchQuery && currentCollectionId) {
2985
- <h3>This collection is empty</h3>
2986
- <p>Use the <strong>New</strong> button above to add collections or artifacts</p>
2954
+ <p class="empty-collection-hint">Use the <strong>New</strong> button above to add collections or artifacts</p>
2987
2955
  }
2988
- </div>
2956
+ </mj-empty-state>
2989
2957
  }
2990
2958
 
2991
2959
  <!-- Grid view -->
@@ -3412,7 +3380,7 @@ export class CollectionsFullViewComponent extends BaseAngularComponent {
3412
3380
  (saved)="onPermissionsChanged()"
3413
3381
  (cancelled)="onShareModalCancelled()">
3414
3382
  </mj-collection-share-modal>
3415
- `, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n }\n\n /* Main container */\n .collections-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n position: relative;\n }\n\n /* Header */\n .collections-header {\n display: flex;\n align-items: center;\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n gap: 16px;\n background: var(--mj-bg-surface);\n }\n\n .collections-breadcrumb {\n display: flex;\n align-items: center;\n gap: 6px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .breadcrumb-item i {\n color: var(--mj-text-muted);\n font-size: 14px;\n }\n\n .breadcrumb-link {\n color: var(--mj-text-primary);\n font-weight: 500;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n transition: color 150ms ease;\n font-size: 14px;\n }\n\n .breadcrumb-link:hover {\n color: var(--mj-brand-primary);\n }\n\n .breadcrumb-link.active {\n color: var(--mj-text-muted);\n cursor: default;\n }\n\n .breadcrumb-path {\n display: flex;\n align-items: center;\n gap: 6px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator {\n color: var(--mj-border-strong);\n font-size: 10px;\n }\n\n .collections-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n /* Button styles */\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n .btn-primary i.fa-chevron-down {\n font-size: 10px;\n margin-left: 2px;\n }\n\n .btn-icon {\n padding: 6px 10px;\n background: transparent;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n cursor: pointer;\n color: var(--mj-text-muted);\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .btn-icon:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-text-disabled);\n }\n\n .btn-icon.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n }\n\n .btn-icon.active:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n /* Dropdown menus */\n .dropdown-container {\n position: relative;\n }\n\n .dropdown-menu {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 200px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 4px;\n z-index: 1000;\n }\n\n .dropdown-menu-right {\n left: auto;\n right: 0;\n }\n\n .dropdown-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--mj-text-primary);\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .dropdown-item:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .dropdown-item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .dropdown-item.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n }\n\n .dropdown-item i {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .dropdown-item.active i {\n color: var(--mj-brand-primary);\n }\n\n .dropdown-divider {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n\n /* Search */\n .search-container {\n position: relative;\n display: flex;\n align-items: center;\n min-width: 200px;\n }\n\n .search-container i.fa-search {\n position: absolute;\n left: 10px;\n color: var(--mj-text-disabled);\n font-size: 13px;\n pointer-events: none;\n }\n\n .search-input {\n width: 100%;\n padding: 6px 32px 6px 32px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n font-size: 13px;\n outline: none;\n transition: all 150ms ease;\n }\n\n .search-input:focus {\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 .search-clear {\n position: absolute;\n right: 6px;\n padding: 4px;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-clear:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n /* Selection toolbar */\n .selection-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 20px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-bottom: 1px solid color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n }\n\n .selection-info {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .selection-count {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n }\n\n .selection-actions {\n display: flex;\n gap: 8px;\n }\n\n .btn-toolbar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n color: var(--mj-text-secondary);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .btn-toolbar:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-text-disabled);\n }\n\n .btn-toolbar.btn-danger {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n }\n\n .btn-toolbar.btn-danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border-color: var(--mj-status-error);\n }\n\n /* Content area */\n .collections-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n }\n\n /* Loading and empty states */\n .loading-state, .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n min-height: 0;\n color: var(--mj-text-disabled);\n text-align: center;\n padding: 24px;\n }\n\n .empty-state > i {\n font-size: 64px;\n margin-bottom: 24px;\n opacity: 0.3;\n color: var(--mj-border-strong);\n }\n\n .empty-state h3 {\n margin: 0 0 8px 0;\n color: var(--mj-text-secondary);\n font-size: 18px;\n font-weight: 600;\n }\n\n .empty-state p {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: var(--mj-text-muted);\n }\n\n .empty-state .empty-state-cta {\n padding: 10px 20px;\n font-size: 14px;\n border-radius: 8px;\n }\n\n .empty-state-actions {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n /* Grid view */\n .unified-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 16px;\n padding: 4px;\n flex-shrink: 0;\n }\n\n .grid-item {\n display: flex;\n flex-direction: column;\n padding: 12px;\n background: var(--mj-bg-surface);\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n user-select: none;\n }\n\n .grid-item:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n }\n\n .grid-item.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n }\n\n .grid-item.active {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-color: var(--mj-status-warning);\n box-shadow: 0 0 0 1px var(--mj-status-warning);\n }\n\n .grid-item.active:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 25%, var(--mj-bg-surface));\n }\n\n /* Select mode styling for grid */\n .unified-grid.select-mode .grid-item {\n cursor: pointer;\n }\n\n .unified-grid.select-mode .grid-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n }\n\n .item-checkbox {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .item-checkbox i {\n font-size: 16px;\n color: var(--mj-text-disabled);\n transition: color 150ms ease;\n }\n\n .grid-item.selected .item-checkbox i,\n .item-checkbox:hover i {\n color: var(--mj-brand-primary);\n }\n\n .grid-item-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n }\n\n .grid-icon {\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n position: relative;\n }\n\n .grid-icon.folder-icon {\n background: var(--mj-brand-primary);\n }\n\n .grid-icon.folder-icon i {\n font-size: 36px;\n color: var(--mj-text-inverse);\n }\n\n .grid-icon.artifact-icon {\n background: var(--mj-bg-surface-sunken);\n }\n\n .grid-icon.artifact-icon i {\n font-size: 32px;\n color: var(--mj-text-muted);\n }\n\n .shared-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n width: 20px;\n height: 20px;\n background: var(--mj-status-success);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid var(--mj-bg-surface);\n }\n\n .shared-badge i {\n font-size: 10px;\n color: var(--mj-text-inverse);\n }\n\n .grid-info {\n width: 100%;\n text-align: center;\n }\n\n .grid-name {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-primary);\n line-height: 1.3;\n margin-bottom: 4px;\n /* Allow wrapping to 2 lines max */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-description {\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.3;\n margin-bottom: 4px;\n /* Allow wrapping to 2 lines max */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-meta {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 4px;\n }\n\n .grid-owner {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n }\n\n .grid-owner i {\n font-size: 10px;\n margin-right: 3px;\n }\n\n .version-badge {\n display: inline-block;\n padding: 2px 6px;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n font-family: monospace;\n margin-right: 4px;\n }\n\n .artifact-type-badge {\n display: inline-block;\n padding: 2px 6px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n text-transform: uppercase;\n }\n\n /* List view */\n .unified-list {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .list-table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .list-table thead {\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .list-table th {\n padding: 10px 16px;\n text-align: left;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .list-table th.sortable {\n cursor: pointer;\n user-select: none;\n transition: color 150ms ease;\n }\n\n .list-table th.sortable:hover {\n color: var(--mj-brand-primary);\n }\n\n .list-table th.sortable span {\n display: inline-block;\n margin-right: 6px;\n }\n\n .list-table th.sortable i {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .list-table th.sortable:hover i {\n opacity: 1;\n }\n\n .list-table tbody tr {\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n transition: background 150ms ease;\n cursor: pointer;\n user-select: none;\n }\n\n .list-table tbody tr:last-child {\n border-bottom: none;\n }\n\n .list-table tbody tr:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-table tbody tr.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .list-table tbody tr.active {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-left: 3px solid var(--mj-status-warning);\n }\n\n .list-table tbody tr.active:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 25%, var(--mj-bg-surface));\n }\n\n .list-table td {\n padding: 12px 16px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .col-checkbox {\n width: 40px;\n text-align: center;\n }\n\n .col-checkbox i {\n font-size: 16px;\n color: var(--mj-text-disabled);\n cursor: pointer;\n transition: color 150ms ease;\n }\n\n .col-checkbox i:hover,\n .list-table tbody tr.selected .col-checkbox i {\n color: var(--mj-brand-primary);\n }\n\n .col-name {\n min-width: 300px;\n }\n\n .list-name-cell {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .list-name-cell i {\n font-size: 16px;\n color: var(--mj-text-muted);\n width: 20px;\n text-align: center;\n }\n\n .list-name-cell .fa-folder {\n color: var(--mj-brand-primary);\n }\n\n .shared-indicator {\n font-size: 12px;\n color: var(--mj-status-success);\n margin-left: auto;\n }\n\n .col-type {\n width: 150px;\n }\n\n .col-modified {\n width: 180px;\n }\n\n .col-owner {\n width: 150px;\n }\n\n /* Pagination */\n .pagination-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n margin-top: 8px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n flex-shrink: 0;\n }\n\n .pagination-info {\n white-space: nowrap;\n }\n\n .pagination-controls {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .pagination-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 150ms ease;\n font-size: 12px;\n }\n\n .pagination-btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-primary);\n }\n\n .pagination-btn:disabled {\n opacity: 0.35;\n cursor: default;\n }\n\n .pagination-page-info {\n padding: 0 8px;\n white-space: nowrap;\n font-weight: 500;\n }\n\n /* Toolbar separator and action group */\n .toolbar-separator {\n width: 1px;\n height: 24px;\n background: var(--mj-border-strong);\n margin: 0 4px;\n }\n\n .toolbar-actions-group {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .btn-icon-danger {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n }\n\n .btn-icon-danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n border-color: var(--mj-status-error);\n }\n\n /* Context menu */\n .context-menu-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1999;\n }\n\n .context-menu {\n position: fixed;\n min-width: 180px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);\n padding: 4px;\n z-index: 2000;\n }\n\n .context-menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--mj-text-primary);\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .context-menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .context-menu-item i {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .context-menu-danger {\n color: var(--mj-status-error);\n }\n\n .context-menu-danger i {\n color: var(--mj-status-error);\n }\n\n .context-menu-danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .context-menu-divider {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n .submenu-arrow {\n margin-left: auto;\n font-size: 10px;\n opacity: 0.6;\n }\n .move-target-list {\n max-height: 240px;\n overflow-y: auto;\n }\n .context-menu-note {\n padding: 8px 14px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n /* ===== Body: navigator pane + content (#6) ===== */\n .collections-body {\n flex: 1;\n display: flex;\n flex-direction: row;\n min-height: 0;\n overflow: hidden;\n }\n .collections-navigator {\n width: 240px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n }\n .nav-header {\n padding: 12px 14px 8px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--mj-text-muted);\n }\n .nav-list { display: flex; flex-direction: column; padding: 0 6px 12px; gap: 1px; }\n .nav-row {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 7px 10px;\n border: 1px solid transparent;\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 13px;\n text-align: left;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n .nav-row:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .nav-row.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n .nav-row.drag-over {\n background: color-mix(in srgb, var(--mj-brand-primary) 22%, transparent);\n border-color: var(--mj-brand-primary);\n }\n .nav-row i { font-size: 13px; width: 16px; flex-shrink: 0; }\n .nav-row-name { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .nav-toggle.active { color: var(--mj-brand-primary); }\n\n /* ===== Drag-and-drop visuals (#1/#2) ===== */\n .grid-item.dragging, .list-item.dragging { opacity: 0.4; }\n .grid-item.drag-over {\n border-color: var(--mj-brand-primary) !important;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface)) !important;\n }\n .list-item.drag-over td {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, var(--mj-bg-surface));\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary);\n }\n .breadcrumb-item.drag-over, .breadcrumb-link.drag-over {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, transparent);\n border-radius: 6px;\n outline: 1px solid var(--mj-brand-primary);\n }\n\n /* Hover-reveal checkboxes (frictionless selection #4) */\n .item-checkbox { opacity: 0; transition: opacity 150ms ease; }\n .grid-item:hover .item-checkbox,\n .grid-item.selected .item-checkbox,\n .unified-grid.select-mode .item-checkbox { opacity: 1; }\n .list-item .col-checkbox i { opacity: 0; transition: opacity 150ms ease; }\n .list-item:hover .col-checkbox i,\n .list-item.selected .col-checkbox i,\n .unified-list.select-mode .col-checkbox i { opacity: 1; }\n .list-item.selected .col-checkbox i { color: var(--mj-brand-primary); }\n\n /* ===== Bulk \"Move to\u2026\" popover (#3) ===== */\n .bulk-move-backdrop {\n position: fixed; inset: 0; z-index: 1000;\n }\n .bulk-move-menu {\n max-height: 320px;\n overflow-y: auto;\n z-index: 1001;\n }\n .dropdown-note { padding: 10px 14px; font-size: 12px; color: var(--mj-text-muted); }\n\n /* ===== Staging shelf (#5) ===== */\n .staging-shelf {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-border-default);\n box-shadow: 0 -2px 8px color-mix(in srgb, var(--mj-text-primary) 6%, transparent);\n }\n .shelf-info {\n display: flex; align-items: center; gap: 8px;\n font-weight: 600; font-size: 13px; color: var(--mj-text-primary);\n flex-shrink: 0;\n }\n .shelf-info i { color: var(--mj-brand-primary); }\n .shelf-chips {\n flex: 1; min-width: 0;\n display: flex; gap: 6px; overflow-x: auto; padding: 2px 0;\n }\n .shelf-chip {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 4px 6px 4px 10px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 999px;\n font-size: 12px; color: var(--mj-text-secondary);\n flex-shrink: 0;\n }\n .shelf-chip-name { max-width: 120px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .shelf-chip-x {\n width: 18px; height: 18px; border: 0; background: transparent;\n color: var(--mj-text-muted); cursor: pointer; border-radius: 50%;\n display: flex; align-items: center; justify-content: center; font-size: 10px;\n }\n .shelf-chip-x:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .shelf-actions { display: flex; gap: 8px; flex-shrink: 0; }\n .btn-toolbar.btn-primary-toolbar {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n }\n .btn-toolbar.btn-primary-toolbar:hover:not(:disabled) { background: var(--mj-brand-primary-hover); }\n .btn-toolbar:disabled { opacity: 0.5; cursor: not-allowed; }\n "] }]
3383
+ `, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n }\n\n /* Main container */\n .collections-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n position: relative;\n }\n\n /* Header */\n .collections-header {\n display: flex;\n align-items: center;\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n gap: 16px;\n background: var(--mj-bg-surface);\n }\n\n .collections-breadcrumb {\n display: flex;\n align-items: center;\n gap: 6px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .breadcrumb-item i {\n color: var(--mj-text-muted);\n font-size: 14px;\n }\n\n .breadcrumb-link {\n color: var(--mj-text-primary);\n font-weight: 500;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n transition: color 150ms ease;\n font-size: 14px;\n }\n\n .breadcrumb-link:hover {\n color: var(--mj-brand-primary);\n }\n\n .breadcrumb-link.active {\n color: var(--mj-text-muted);\n cursor: default;\n }\n\n .breadcrumb-path {\n display: flex;\n align-items: center;\n gap: 6px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator {\n color: var(--mj-border-strong);\n font-size: 10px;\n }\n\n .collections-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n /* Button styles */\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-inverse);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n .btn-primary i.fa-chevron-down {\n font-size: 10px;\n margin-left: 2px;\n }\n\n .btn-icon {\n padding: 6px 10px;\n background: transparent;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n cursor: pointer;\n color: var(--mj-text-muted);\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .btn-icon:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-text-disabled);\n }\n\n .btn-icon.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n }\n\n .btn-icon.active:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n /* Dropdown menus */\n .dropdown-container {\n position: relative;\n }\n\n .dropdown-menu {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 200px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 4px;\n z-index: 1000;\n }\n\n .dropdown-menu-right {\n left: auto;\n right: 0;\n }\n\n .dropdown-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--mj-text-primary);\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .dropdown-item:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .dropdown-item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .dropdown-item.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n }\n\n .dropdown-item i {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .dropdown-item.active i {\n color: var(--mj-brand-primary);\n }\n\n .dropdown-divider {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n\n /* Search */\n .search-container {\n position: relative;\n display: flex;\n align-items: center;\n min-width: 200px;\n }\n\n .search-container i.fa-search {\n position: absolute;\n left: 10px;\n color: var(--mj-text-disabled);\n font-size: 13px;\n pointer-events: none;\n }\n\n .search-input {\n width: 100%;\n padding: 6px 32px 6px 32px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n font-size: 13px;\n outline: none;\n transition: all 150ms ease;\n }\n\n .search-input:focus {\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 .search-clear {\n position: absolute;\n right: 6px;\n padding: 4px;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-clear:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n /* Selection toolbar */\n .selection-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 20px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-bottom: 1px solid color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n }\n\n .selection-info {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .selection-count {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n }\n\n .selection-actions {\n display: flex;\n gap: 8px;\n }\n\n .btn-toolbar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n color: var(--mj-text-secondary);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .btn-toolbar:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-text-disabled);\n }\n\n .btn-toolbar.btn-danger {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n }\n\n .btn-toolbar.btn-danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border-color: var(--mj-status-error);\n }\n\n /* Content area */\n .collections-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n }\n\n /* Loading and empty states */\n .loading-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n min-height: 0;\n color: var(--mj-text-disabled);\n text-align: center;\n padding: 24px;\n }\n\n .collections-content mj-empty-state {\n flex: 1;\n min-height: 0;\n }\n\n .empty-collection-hint {\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-muted);\n }\n\n /* Grid view */\n .unified-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 16px;\n padding: 4px;\n flex-shrink: 0;\n }\n\n .grid-item {\n display: flex;\n flex-direction: column;\n padding: 12px;\n background: var(--mj-bg-surface);\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n user-select: none;\n }\n\n .grid-item:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n }\n\n .grid-item.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n }\n\n .grid-item.active {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-color: var(--mj-status-warning);\n box-shadow: 0 0 0 1px var(--mj-status-warning);\n }\n\n .grid-item.active:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 25%, var(--mj-bg-surface));\n }\n\n /* Select mode styling for grid */\n .unified-grid.select-mode .grid-item {\n cursor: pointer;\n }\n\n .unified-grid.select-mode .grid-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n }\n\n .item-checkbox {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .item-checkbox i {\n font-size: 16px;\n color: var(--mj-text-disabled);\n transition: color 150ms ease;\n }\n\n .grid-item.selected .item-checkbox i,\n .item-checkbox:hover i {\n color: var(--mj-brand-primary);\n }\n\n .grid-item-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n }\n\n .grid-icon {\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n position: relative;\n }\n\n .grid-icon.folder-icon {\n background: var(--mj-brand-primary);\n }\n\n .grid-icon.folder-icon i {\n font-size: 36px;\n color: var(--mj-text-inverse);\n }\n\n .grid-icon.artifact-icon {\n background: var(--mj-bg-surface-sunken);\n }\n\n .grid-icon.artifact-icon i {\n font-size: 32px;\n color: var(--mj-text-muted);\n }\n\n .shared-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n width: 20px;\n height: 20px;\n background: var(--mj-status-success);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid var(--mj-bg-surface);\n }\n\n .shared-badge i {\n font-size: 10px;\n color: var(--mj-text-inverse);\n }\n\n .grid-info {\n width: 100%;\n text-align: center;\n }\n\n .grid-name {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-primary);\n line-height: 1.3;\n margin-bottom: 4px;\n /* Allow wrapping to 2 lines max */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-description {\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.3;\n margin-bottom: 4px;\n /* Allow wrapping to 2 lines max */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-meta {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 4px;\n }\n\n .grid-owner {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n }\n\n .grid-owner i {\n font-size: 10px;\n margin-right: 3px;\n }\n\n .version-badge {\n display: inline-block;\n padding: 2px 6px;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n font-family: monospace;\n margin-right: 4px;\n }\n\n .artifact-type-badge {\n display: inline-block;\n padding: 2px 6px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n text-transform: uppercase;\n }\n\n /* List view */\n .unified-list {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .list-table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .list-table thead {\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .list-table th {\n padding: 10px 16px;\n text-align: left;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .list-table th.sortable {\n cursor: pointer;\n user-select: none;\n transition: color 150ms ease;\n }\n\n .list-table th.sortable:hover {\n color: var(--mj-brand-primary);\n }\n\n .list-table th.sortable span {\n display: inline-block;\n margin-right: 6px;\n }\n\n .list-table th.sortable i {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .list-table th.sortable:hover i {\n opacity: 1;\n }\n\n .list-table tbody tr {\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n transition: background 150ms ease;\n cursor: pointer;\n user-select: none;\n }\n\n .list-table tbody tr:last-child {\n border-bottom: none;\n }\n\n .list-table tbody tr:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-table tbody tr.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .list-table tbody tr.active {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-left: 3px solid var(--mj-status-warning);\n }\n\n .list-table tbody tr.active:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 25%, var(--mj-bg-surface));\n }\n\n .list-table td {\n padding: 12px 16px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .col-checkbox {\n width: 40px;\n text-align: center;\n }\n\n .col-checkbox i {\n font-size: 16px;\n color: var(--mj-text-disabled);\n cursor: pointer;\n transition: color 150ms ease;\n }\n\n .col-checkbox i:hover,\n .list-table tbody tr.selected .col-checkbox i {\n color: var(--mj-brand-primary);\n }\n\n .col-name {\n min-width: 300px;\n }\n\n .list-name-cell {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .list-name-cell i {\n font-size: 16px;\n color: var(--mj-text-muted);\n width: 20px;\n text-align: center;\n }\n\n .list-name-cell .fa-folder {\n color: var(--mj-brand-primary);\n }\n\n .shared-indicator {\n font-size: 12px;\n color: var(--mj-status-success);\n margin-left: auto;\n }\n\n .col-type {\n width: 150px;\n }\n\n .col-modified {\n width: 180px;\n }\n\n .col-owner {\n width: 150px;\n }\n\n /* Pagination */\n .pagination-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n margin-top: 8px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n flex-shrink: 0;\n }\n\n .pagination-info {\n white-space: nowrap;\n }\n\n .pagination-controls {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .pagination-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 150ms ease;\n font-size: 12px;\n }\n\n .pagination-btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-primary);\n }\n\n .pagination-btn:disabled {\n opacity: 0.35;\n cursor: default;\n }\n\n .pagination-page-info {\n padding: 0 8px;\n white-space: nowrap;\n font-weight: 500;\n }\n\n /* Toolbar separator and action group */\n .toolbar-separator {\n width: 1px;\n height: 24px;\n background: var(--mj-border-strong);\n margin: 0 4px;\n }\n\n .toolbar-actions-group {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .btn-icon-danger {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n }\n\n .btn-icon-danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n border-color: var(--mj-status-error);\n }\n\n /* Context menu */\n .context-menu-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1999;\n }\n\n .context-menu {\n position: fixed;\n min-width: 180px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);\n padding: 4px;\n z-index: 2000;\n }\n\n .context-menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: var(--mj-text-primary);\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .context-menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .context-menu-item i {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .context-menu-danger {\n color: var(--mj-status-error);\n }\n\n .context-menu-danger i {\n color: var(--mj-status-error);\n }\n\n .context-menu-danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .context-menu-divider {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n .submenu-arrow {\n margin-left: auto;\n font-size: 10px;\n opacity: 0.6;\n }\n .move-target-list {\n max-height: 240px;\n overflow-y: auto;\n }\n .context-menu-note {\n padding: 8px 14px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n /* ===== Body: navigator pane + content (#6) ===== */\n .collections-body {\n flex: 1;\n display: flex;\n flex-direction: row;\n min-height: 0;\n overflow: hidden;\n }\n .collections-navigator {\n width: 240px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n }\n .nav-header {\n padding: 12px 14px 8px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--mj-text-muted);\n }\n .nav-list { display: flex; flex-direction: column; padding: 0 6px 12px; gap: 1px; }\n .nav-row {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 7px 10px;\n border: 1px solid transparent;\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 13px;\n text-align: left;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n .nav-row:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .nav-row.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n .nav-row.drag-over {\n background: color-mix(in srgb, var(--mj-brand-primary) 22%, transparent);\n border-color: var(--mj-brand-primary);\n }\n .nav-row i { font-size: 13px; width: 16px; flex-shrink: 0; }\n .nav-row-name { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .nav-toggle.active { color: var(--mj-brand-primary); }\n\n /* ===== Drag-and-drop visuals (#1/#2) ===== */\n .grid-item.dragging, .list-item.dragging { opacity: 0.4; }\n .grid-item.drag-over {\n border-color: var(--mj-brand-primary) !important;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface)) !important;\n }\n .list-item.drag-over td {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, var(--mj-bg-surface));\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary);\n }\n .breadcrumb-item.drag-over, .breadcrumb-link.drag-over {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, transparent);\n border-radius: 6px;\n outline: 1px solid var(--mj-brand-primary);\n }\n\n /* Hover-reveal checkboxes (frictionless selection #4) */\n .item-checkbox { opacity: 0; transition: opacity 150ms ease; }\n .grid-item:hover .item-checkbox,\n .grid-item.selected .item-checkbox,\n .unified-grid.select-mode .item-checkbox { opacity: 1; }\n .list-item .col-checkbox i { opacity: 0; transition: opacity 150ms ease; }\n .list-item:hover .col-checkbox i,\n .list-item.selected .col-checkbox i,\n .unified-list.select-mode .col-checkbox i { opacity: 1; }\n .list-item.selected .col-checkbox i { color: var(--mj-brand-primary); }\n\n /* ===== Bulk \"Move to\u2026\" popover (#3) ===== */\n .bulk-move-backdrop {\n position: fixed; inset: 0; z-index: 1000;\n }\n .bulk-move-menu {\n max-height: 320px;\n overflow-y: auto;\n z-index: 1001;\n }\n .dropdown-note { padding: 10px 14px; font-size: 12px; color: var(--mj-text-muted); }\n\n /* ===== Staging shelf (#5) ===== */\n .staging-shelf {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-border-default);\n box-shadow: 0 -2px 8px color-mix(in srgb, var(--mj-text-primary) 6%, transparent);\n }\n .shelf-info {\n display: flex; align-items: center; gap: 8px;\n font-weight: 600; font-size: 13px; color: var(--mj-text-primary);\n flex-shrink: 0;\n }\n .shelf-info i { color: var(--mj-brand-primary); }\n .shelf-chips {\n flex: 1; min-width: 0;\n display: flex; gap: 6px; overflow-x: auto; padding: 2px 0;\n }\n .shelf-chip {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 4px 6px 4px 10px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 999px;\n font-size: 12px; color: var(--mj-text-secondary);\n flex-shrink: 0;\n }\n .shelf-chip-name { max-width: 120px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .shelf-chip-x {\n width: 18px; height: 18px; border: 0; background: transparent;\n color: var(--mj-text-muted); cursor: pointer; border-radius: 50%;\n display: flex; align-items: center; justify-content: center; font-size: 10px;\n }\n .shelf-chip-x:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .shelf-actions { display: flex; gap: 8px; flex-shrink: 0; }\n .btn-toolbar.btn-primary-toolbar {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n }\n .btn-toolbar.btn-primary-toolbar:hover:not(:disabled) { background: var(--mj-brand-primary-hover); }\n .btn-toolbar:disabled { opacity: 0.5; cursor: not-allowed; }\n "] }]
3416
3384
  }], () => [{ type: i1.DialogService }, { type: i2.ArtifactStateService }, { type: i3.CollectionStateService }, { type: i4.CollectionPermissionService }, { type: i5.ArtifactIconService }, { type: i0.ChangeDetectorRef }], { environmentId: [{
3417
3385
  type: Input
3418
3386
  }], currentUser: [{
@@ -3425,5 +3393,5 @@ export class CollectionsFullViewComponent extends BaseAngularComponent {
3425
3393
  type: HostListener,
3426
3394
  args: ['document:keydown.escape']
3427
3395
  }] }); })();
3428
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionsFullViewComponent, { className: "CollectionsFullViewComponent", filePath: "src/lib/components/collection/collections-full-view.component.ts", lineNumber: 1746 }); })();
3396
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionsFullViewComponent, { className: "CollectionsFullViewComponent", filePath: "src/lib/components/collection/collections-full-view.component.ts", lineNumber: 1711 }); })();
3429
3397
  //# sourceMappingURL=collections-full-view.component.js.map