@memberjunction/ng-conversations 6.2.0-edge.0 → 6.2.0-edge.1
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.
- package/README.md +35 -2
- package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts +19 -3
- package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -1
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js +39 -7
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts +74 -6
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.js +111 -21
- package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.d.ts +31 -5
- package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.js +71 -15
- package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.d.ts +65 -9
- package/dist/lib/components/artifact/artifact-share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.js +169 -57
- package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
- package/dist/lib/components/attachment/image-viewer.component.d.ts +77 -11
- package/dist/lib/components/attachment/image-viewer.component.d.ts.map +1 -1
- package/dist/lib/components/attachment/image-viewer.component.js +181 -47
- package/dist/lib/components/attachment/image-viewer.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts +129 -19
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +350 -116
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts +60 -8
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.js +130 -46
- package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts +63 -3
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.js +113 -19
- package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.d.ts +54 -8
- package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.js +130 -46
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.d.ts +70 -10
- package/dist/lib/components/collection/collection-share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.js +175 -53
- package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts +89 -9
- package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.js +220 -70
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
- package/dist/lib/components/collection/collection-view.component.d.ts +89 -11
- package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-view.component.js +154 -40
- package/dist/lib/components/collection/collection-view.component.js.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.d.ts +390 -38
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js +951 -367
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/composer/ai-composer.component.d.ts +213 -18
- package/dist/lib/components/composer/ai-composer.component.d.ts.map +1 -1
- package/dist/lib/components/composer/ai-composer.component.js +388 -44
- package/dist/lib/components/composer/ai-composer.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts +12 -1
- package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-agent-picker.component.js +26 -4
- package/dist/lib/components/conversation/conversation-agent-picker.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +1090 -123
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +2399 -706
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +139 -19
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.js +296 -59
- package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.d.ts +579 -78
- package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.js +2322 -823
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
- package/dist/lib/components/conversation/pinned-messages-panel.component.d.ts +40 -4
- package/dist/lib/components/conversation/pinned-messages-panel.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/pinned-messages-panel.component.js +72 -14
- package/dist/lib/components/conversation/pinned-messages-panel.component.js.map +1 -1
- package/dist/lib/components/dialogs/input-dialog.component.d.ts +57 -11
- package/dist/lib/components/dialogs/input-dialog.component.d.ts.map +1 -1
- package/dist/lib/components/dialogs/input-dialog.component.js +128 -16
- package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -1
- package/dist/lib/components/dialogs/rating-dialog.component.d.ts +68 -10
- package/dist/lib/components/dialogs/rating-dialog.component.d.ts.map +1 -1
- package/dist/lib/components/dialogs/rating-dialog.component.js +151 -27
- package/dist/lib/components/dialogs/rating-dialog.component.js.map +1 -1
- package/dist/lib/components/export/export-modal.component.d.ts +84 -10
- package/dist/lib/components/export/export-modal.component.d.ts.map +1 -1
- package/dist/lib/components/export/export-modal.component.js +173 -49
- package/dist/lib/components/export/export-modal.component.js.map +1 -1
- package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts +29 -3
- package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts.map +1 -1
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js +58 -12
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js.map +1 -1
- package/dist/lib/components/library/library-full-view.component.d.ts +57 -8
- package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/library/library-full-view.component.js +119 -35
- package/dist/lib/components/library/library-full-view.component.js.map +1 -1
- package/dist/lib/components/members/members-modal.component.d.ts +76 -10
- package/dist/lib/components/members/members-modal.component.d.ts.map +1 -1
- package/dist/lib/components/members/members-modal.component.js +164 -50
- package/dist/lib/components/members/members-modal.component.js.map +1 -1
- package/dist/lib/components/message/actionable-commands.component.d.ts +37 -5
- package/dist/lib/components/message/actionable-commands.component.d.ts.map +1 -1
- package/dist/lib/components/message/actionable-commands.component.js +82 -16
- package/dist/lib/components/message/actionable-commands.component.js.map +1 -1
- package/dist/lib/components/message/conversation-message-rating.component.d.ts +46 -10
- package/dist/lib/components/message/conversation-message-rating.component.d.ts.map +1 -1
- package/dist/lib/components/message/conversation-message-rating.component.js +120 -36
- package/dist/lib/components/message/conversation-message-rating.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +549 -74
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +1250 -421
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts +411 -29
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js +896 -222
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.d.ts +288 -29
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-list.component.js +561 -123
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts +64 -5
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.js +101 -11
- package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
- package/dist/lib/components/notification/activity-indicator.component.d.ts +6 -2
- package/dist/lib/components/notification/activity-indicator.component.d.ts.map +1 -1
- package/dist/lib/components/notification/activity-indicator.component.js +13 -3
- package/dist/lib/components/notification/activity-indicator.component.js.map +1 -1
- package/dist/lib/components/notification/notification-badge.component.d.ts +15 -3
- package/dist/lib/components/notification/notification-badge.component.d.ts.map +1 -1
- package/dist/lib/components/notification/notification-badge.component.js +36 -8
- package/dist/lib/components/notification/notification-badge.component.js.map +1 -1
- package/dist/lib/components/overlay/chat-overlay.component.d.ts +1 -1
- package/dist/lib/components/overlay/chat-overlay.component.js +4 -4
- package/dist/lib/components/overlay/chat-overlay.component.js.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.d.ts +93 -11
- package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.js +348 -87
- package/dist/lib/components/project/project-form-modal.component.js.map +1 -1
- package/dist/lib/components/project/project-selector.component.d.ts +78 -8
- package/dist/lib/components/project/project-selector.component.d.ts.map +1 -1
- package/dist/lib/components/project/project-selector.component.js +177 -46
- package/dist/lib/components/project/project-selector.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts +1 -1
- package/dist/lib/components/realtime/realtime-activity-rail.component.js +2 -2
- package/dist/lib/components/realtime/realtime-activity-rail.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts +1 -1
- package/dist/lib/components/realtime/realtime-delegation-card.component.js +2 -2
- package/dist/lib/components/realtime/realtime-delegation-card.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-session-overlay.component.d.ts +2 -2
- package/dist/lib/components/realtime/realtime-session-overlay.component.js +18 -18
- package/dist/lib/components/realtime/realtime-session-overlay.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-session-timeline-card.component.d.ts +47 -23
- package/dist/lib/components/realtime/realtime-session-timeline-card.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-session-timeline-card.component.js +136 -92
- package/dist/lib/components/realtime/realtime-session-timeline-card.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-surface-tabs.component.d.ts +2 -2
- package/dist/lib/components/realtime/realtime-surface-tabs.component.js +4 -4
- package/dist/lib/components/realtime/realtime-surface-tabs.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-surface-tabs.model.d.ts +1 -1
- package/dist/lib/components/realtime/realtime-surface-tabs.model.js +3 -3
- package/dist/lib/components/realtime/realtime-surface-tabs.model.js.map +1 -1
- package/dist/lib/components/realtime/realtime-ui-config.d.ts +13 -11
- package/dist/lib/components/realtime/realtime-ui-config.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-ui-config.js +29 -25
- package/dist/lib/components/realtime/realtime-ui-config.js.map +1 -1
- package/dist/lib/components/realtime/whiteboard/whiteboard-channel.d.ts +3 -1
- package/dist/lib/components/realtime/whiteboard/whiteboard-channel.d.ts.map +1 -1
- package/dist/lib/components/realtime/whiteboard/whiteboard-channel.js +6 -2
- package/dist/lib/components/realtime/whiteboard/whiteboard-channel.js.map +1 -1
- package/dist/lib/components/search/search-panel.component.d.ts +133 -22
- package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
- package/dist/lib/components/search/search-panel.component.js +312 -83
- package/dist/lib/components/search/search-panel.component.js.map +1 -1
- package/dist/lib/components/share/share-modal.component.d.ts +69 -9
- package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/share/share-modal.component.js +139 -31
- package/dist/lib/components/share/share-modal.component.js.map +1 -1
- package/dist/lib/components/shared/user-picker.component.d.ts +48 -8
- package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -1
- package/dist/lib/components/shared/user-picker.component.js +110 -30
- package/dist/lib/components/shared/user-picker.component.js.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +114 -11
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js +199 -21
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
- package/dist/lib/components/sidebar/routines-section.component.d.ts +20 -1
- package/dist/lib/components/sidebar/routines-section.component.d.ts.map +1 -1
- package/dist/lib/components/sidebar/routines-section.component.js +25 -5
- package/dist/lib/components/sidebar/routines-section.component.js.map +1 -1
- package/dist/lib/components/slots/slot-interfaces.d.ts +19 -0
- package/dist/lib/components/slots/slot-interfaces.d.ts.map +1 -1
- package/dist/lib/components/slots/slot-interfaces.js.map +1 -1
- package/dist/lib/components/task/tasks-full-view.component.d.ts +95 -13
- package/dist/lib/components/task/tasks-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/task/tasks-full-view.component.js +223 -75
- package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
- package/dist/lib/components/tasks/task-widget.component.d.ts +46 -6
- package/dist/lib/components/tasks/task-widget.component.d.ts.map +1 -1
- package/dist/lib/components/tasks/task-widget.component.js +100 -16
- package/dist/lib/components/tasks/task-widget.component.js.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +64 -7
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.js +127 -27
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.d.ts +66 -8
- package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.js +146 -36
- package/dist/lib/components/thread/thread-panel.component.js.map +1 -1
- package/dist/lib/components/toast/toast.component.d.ts +11 -1
- package/dist/lib/components/toast/toast.component.d.ts.map +1 -1
- package/dist/lib/components/toast/toast.component.js +25 -5
- package/dist/lib/components/toast/toast.component.js.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +385 -42
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js +887 -291
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/composer-plugins/base-conversation-mention.provider.d.ts +8 -0
- package/dist/lib/composer-plugins/base-conversation-mention.provider.d.ts.map +1 -1
- package/dist/lib/composer-plugins/base-conversation-mention.provider.js +8 -1
- package/dist/lib/composer-plugins/base-conversation-mention.provider.js.map +1 -1
- package/dist/lib/directives/chat-slot.directive.d.ts +5 -1
- package/dist/lib/directives/chat-slot.directive.d.ts.map +1 -1
- package/dist/lib/directives/chat-slot.directive.js.map +1 -1
- package/dist/lib/directives/search-shortcut.directive.d.ts +9 -1
- package/dist/lib/directives/search-shortcut.directive.d.ts.map +1 -1
- package/dist/lib/directives/search-shortcut.directive.js +14 -4
- package/dist/lib/directives/search-shortcut.directive.js.map +1 -1
- package/dist/lib/events/chat-events.d.ts +34 -7
- package/dist/lib/events/chat-events.d.ts.map +1 -1
- package/dist/lib/events/chat-events.js +37 -7
- package/dist/lib/events/chat-events.js.map +1 -1
- package/dist/lib/models/agent-turn.model.d.ts +103 -0
- package/dist/lib/models/agent-turn.model.d.ts.map +1 -0
- package/dist/lib/models/agent-turn.model.js +12 -0
- package/dist/lib/models/agent-turn.model.js.map +1 -0
- package/dist/lib/models/collection-view.model.js.map +1 -1
- package/dist/lib/models/conversation-state.model.d.ts +8 -0
- package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
- package/dist/lib/models/conversation-state.model.js.map +1 -1
- package/dist/lib/models/lazy-artifact-info.d.ts +44 -12
- package/dist/lib/models/lazy-artifact-info.d.ts.map +1 -1
- package/dist/lib/models/lazy-artifact-info.js +98 -34
- package/dist/lib/models/lazy-artifact-info.js.map +1 -1
- package/dist/lib/services/active-tasks.service.d.ts +30 -4
- package/dist/lib/services/active-tasks.service.d.ts.map +1 -1
- package/dist/lib/services/active-tasks.service.js +71 -19
- package/dist/lib/services/active-tasks.service.js.map +1 -1
- package/dist/lib/services/agent-state.service.d.ts +17 -1
- package/dist/lib/services/agent-state.service.d.ts.map +1 -1
- package/dist/lib/services/agent-state.service.js +48 -16
- package/dist/lib/services/agent-state.service.js.map +1 -1
- package/dist/lib/services/artifact-permission.service.d.ts +39 -0
- package/dist/lib/services/artifact-permission.service.d.ts.map +1 -1
- package/dist/lib/services/artifact-permission.service.js +152 -17
- package/dist/lib/services/artifact-permission.service.js.map +1 -1
- package/dist/lib/services/artifact-state.service.d.ts +58 -5
- package/dist/lib/services/artifact-state.service.d.ts.map +1 -1
- package/dist/lib/services/artifact-state.service.js +135 -35
- package/dist/lib/services/artifact-state.service.js.map +1 -1
- package/dist/lib/services/collection-permission.service.d.ts +28 -0
- package/dist/lib/services/collection-permission.service.d.ts.map +1 -1
- package/dist/lib/services/collection-permission.service.js +88 -32
- package/dist/lib/services/collection-permission.service.js.map +1 -1
- package/dist/lib/services/collection-state.service.d.ts +11 -1
- package/dist/lib/services/collection-state.service.d.ts.map +1 -1
- package/dist/lib/services/collection-state.service.js +25 -5
- package/dist/lib/services/collection-state.service.js.map +1 -1
- package/dist/lib/services/conversation-agent.service.d.ts +26 -4
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.js +57 -18
- package/dist/lib/services/conversation-agent.service.js.map +1 -1
- package/dist/lib/services/conversation-attachment.service.d.ts +17 -0
- package/dist/lib/services/conversation-attachment.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-attachment.service.js +38 -10
- package/dist/lib/services/conversation-attachment.service.js.map +1 -1
- package/dist/lib/services/conversation-streaming.service.d.ts +22 -0
- package/dist/lib/services/conversation-streaming.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-streaming.service.js +50 -10
- package/dist/lib/services/conversation-streaming.service.js.map +1 -1
- package/dist/lib/services/data-cache.service.d.ts +31 -0
- package/dist/lib/services/data-cache.service.d.ts.map +1 -1
- package/dist/lib/services/data-cache.service.js +71 -15
- package/dist/lib/services/data-cache.service.js.map +1 -1
- package/dist/lib/services/dialog.service.d.ts +13 -0
- package/dist/lib/services/dialog.service.d.ts.map +1 -1
- package/dist/lib/services/dialog.service.js +25 -5
- package/dist/lib/services/dialog.service.js.map +1 -1
- package/dist/lib/services/export.service.d.ts +2 -0
- package/dist/lib/services/export.service.d.ts.map +1 -1
- package/dist/lib/services/export.service.js +5 -1
- package/dist/lib/services/export.service.js.map +1 -1
- package/dist/lib/services/mention-parser.service.d.ts +10 -0
- package/dist/lib/services/mention-parser.service.d.ts.map +1 -1
- package/dist/lib/services/mention-parser.service.js +25 -5
- package/dist/lib/services/mention-parser.service.js.map +1 -1
- package/dist/lib/services/notification.service.d.ts +54 -6
- package/dist/lib/services/notification.service.d.ts.map +1 -1
- package/dist/lib/services/notification.service.js +123 -27
- package/dist/lib/services/notification.service.js.map +1 -1
- package/dist/lib/services/realtime-audio-recorder.d.ts +4 -4
- package/dist/lib/services/realtime-audio-recorder.js +12 -12
- package/dist/lib/services/realtime-audio-recorder.js.map +1 -1
- package/dist/lib/services/realtime-pcm-wav.d.ts +4 -0
- package/dist/lib/services/realtime-pcm-wav.d.ts.map +1 -1
- package/dist/lib/services/realtime-pcm-wav.js +10 -2
- package/dist/lib/services/realtime-pcm-wav.js.map +1 -1
- package/dist/lib/services/search.service.d.ts +42 -9
- package/dist/lib/services/search.service.d.ts.map +1 -1
- package/dist/lib/services/search.service.js +103 -23
- package/dist/lib/services/search.service.js.map +1 -1
- package/dist/lib/services/toast.service.d.ts +19 -1
- package/dist/lib/services/toast.service.d.ts.map +1 -1
- package/dist/lib/services/toast.service.js +45 -9
- package/dist/lib/services/toast.service.js.map +1 -1
- package/dist/lib/services/ui-command-handler.service.d.ts +16 -2
- package/dist/lib/services/ui-command-handler.service.d.ts.map +1 -1
- package/dist/lib/services/ui-command-handler.service.js +36 -8
- package/dist/lib/services/ui-command-handler.service.js.map +1 -1
- package/dist/lib/utils/agent-artifact-summary.d.ts +2 -2
- package/dist/lib/utils/agent-artifact-summary.js +3 -3
- package/dist/lib/utils/agent-artifact-summary.js.map +1 -1
- package/dist/lib/utils/agent-turn-routing.d.ts +69 -0
- package/dist/lib/utils/agent-turn-routing.d.ts.map +1 -0
- package/dist/lib/utils/agent-turn-routing.js +96 -0
- package/dist/lib/utils/agent-turn-routing.js.map +1 -0
- package/dist/lib/utils/artifact-panel-action.d.ts +15 -4
- package/dist/lib/utils/artifact-panel-action.d.ts.map +1 -1
- package/dist/lib/utils/artifact-panel-action.js +10 -2
- package/dist/lib/utils/artifact-panel-action.js.map +1 -1
- package/dist/lib/utils/distinct-artifacts.d.ts +2 -0
- package/dist/lib/utils/distinct-artifacts.d.ts.map +1 -1
- package/dist/lib/utils/distinct-artifacts.js +5 -1
- package/dist/lib/utils/distinct-artifacts.js.map +1 -1
- package/dist/lib/utils/plan-mode-preference.d.ts +2 -2
- package/dist/lib/utils/plan-mode-preference.js +6 -6
- package/dist/lib/utils/plan-mode-preference.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +32 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-panel.component.js","sourceRoot":"","sources":["../../../../src/lib/components/search/search-panel.component.ts","../../../../src/lib/components/search/search-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n OnInit,\n OnDestroy,\n Output,\n EventEmitter,\n Input,\n HostListener,\n ViewChild,\n ElementRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { UserInfo } from '@memberjunction/core';\nimport { HighlightSearchMatches } from '@memberjunction/global';\nimport {\n SearchService,\n SearchResult,\n SearchFilter,\n GroupedSearchResults,\n DateRange\n} from '../../services/search.service';\n\n/**\n * Search panel component providing global search UI\n * Can be displayed as a modal or slide-out panel\n * Supports filtering, date ranges, and result navigation\n */\n@Component({\n standalone: false,\n selector: 'mj-search-panel',\n templateUrl: './search-panel.component.html',\n styleUrls: ['./search-panel.component.css']\n})\nexport class SearchPanelComponent implements OnInit, OnDestroy {\n @Input() environmentId!: string;\n @Input() currentUser!: UserInfo;\n @Input() isOpen: boolean = false;\n\n @Output() close = new EventEmitter<void>();\n @Output() resultSelected = new EventEmitter<SearchResult>();\n\n @ViewChild('searchInput') searchInput?: ElementRef<HTMLInputElement>;\n\n public searchQuery: string = '';\n public activeFilter: SearchFilter = 'all';\n public dateRange: DateRange = { start: null, end: null };\n public isSearching: boolean = false;\n public results: GroupedSearchResults = {\n conversations: [],\n messages: [],\n artifacts: [],\n collections: [],\n tasks: [],\n total: 0\n };\n public recentSearches: string[] = [];\n public selectedIndex: number = -1;\n\n /** Message for the \"no results\" empty state, echoing the search term. */\n public get NoResultsMessage(): string {\n return `No results found for \"${this.searchQuery}\"`;\n }\n\n private destroy$ = new Subject<void>();\n\n constructor(private searchService: SearchService) {}\n\n ngOnInit(): void {\n this.subscribeToSearchState();\n this.loadRecentSearches();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Subscribe to search service state\n */\n private subscribeToSearchState(): void {\n this.searchService.isSearching$\n .pipe(takeUntil(this.destroy$))\n .subscribe(isSearching => {\n this.isSearching = isSearching;\n });\n\n this.searchService.searchResults$\n .pipe(takeUntil(this.destroy$))\n .subscribe(results => {\n this.results = results;\n this.selectedIndex = -1;\n });\n\n this.searchService.searchFilter$\n .pipe(takeUntil(this.destroy$))\n .subscribe(filter => {\n this.activeFilter = filter;\n });\n\n this.searchService.dateRange$\n .pipe(takeUntil(this.destroy$))\n .subscribe(range => {\n this.dateRange = range;\n });\n }\n\n /**\n * Load recent searches\n */\n private loadRecentSearches(): void {\n this.recentSearches = this.searchService.getRecentSearches();\n }\n\n /**\n * Handle search input\n */\n public onSearchInput(): void {\n if (this.searchQuery.trim()) {\n this.performSearch();\n } else {\n this.searchService.clearResults();\n }\n }\n\n /**\n * Perform search\n */\n private async performSearch(): Promise<void> {\n await this.searchService.search(\n this.searchQuery,\n this.environmentId,\n this.currentUser\n );\n }\n\n /**\n * Set search filter\n */\n public setFilter(filter: SearchFilter): void {\n this.searchService.setSearchFilter(filter);\n if (this.searchQuery.trim()) {\n this.performSearch();\n }\n }\n\n /**\n * Clear search\n */\n public clearSearch(): void {\n this.searchQuery = '';\n this.searchService.clearResults();\n this.focusSearchInput();\n }\n\n /**\n * Select a result\n */\n public selectResult(result: SearchResult): void {\n this.resultSelected.emit(result);\n this.closePanel();\n }\n\n /**\n * Use recent search\n */\n public useRecentSearch(query: string): void {\n this.searchQuery = query;\n this.performSearch();\n }\n\n /**\n * Clear recent searches\n */\n public clearRecentSearches(): void {\n this.searchService.clearRecentSearches();\n this.recentSearches = [];\n }\n\n /**\n * Close panel\n */\n public closePanel(): void {\n this.close.emit();\n }\n\n /**\n * Focus search input\n */\n private focusSearchInput(): void {\n setTimeout(() => {\n this.searchInput?.nativeElement.focus();\n }, 0);\n }\n\n /**\n * Handle keyboard navigation\n */\n @HostListener('keydown', ['$event'])\n public handleKeyboard(event: KeyboardEvent): void {\n if (!this.isOpen) return;\n\n const allResults = this.getAllResultsFlat();\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n this.closePanel();\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n if (allResults.length > 0) {\n this.selectedIndex = Math.min(this.selectedIndex + 1, allResults.length - 1);\n }\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n if (this.selectedIndex > 0) {\n this.selectedIndex--;\n } else {\n this.selectedIndex = -1;\n }\n break;\n\n case 'Enter':\n event.preventDefault();\n if (this.selectedIndex >= 0 && allResults[this.selectedIndex]) {\n this.selectResult(allResults[this.selectedIndex]);\n }\n break;\n }\n }\n\n /**\n * Get all results as flat array\n */\n private getAllResultsFlat(): SearchResult[] {\n return [\n ...this.results.conversations,\n ...this.results.messages,\n ...this.results.artifacts,\n ...this.results.collections,\n ...this.results.tasks\n ];\n }\n\n /**\n * Check if result is selected\n */\n public isResultSelected(result: SearchResult): boolean {\n const allResults = this.getAllResultsFlat();\n const index = allResults.findIndex(r => r.id === result.id && r.type === result.type);\n return index === this.selectedIndex;\n }\n\n /**\n * Get icon for result type\n */\n public getResultIcon(type: string): string {\n switch (type) {\n case 'conversation':\n return 'fa-comments';\n case 'message':\n return 'fa-comment';\n case 'artifact':\n return 'fa-file-alt';\n case 'collection':\n return 'fa-folder';\n case 'task':\n return 'fa-tasks';\n default:\n return 'fa-circle';\n }\n }\n\n /**\n * Get filter display text\n */\n public getFilterText(filter: SearchFilter): string {\n switch (filter) {\n case 'all':\n return 'All';\n case 'conversations':\n return 'Conversations';\n case 'messages':\n return 'Messages';\n case 'artifacts':\n return 'Artifacts';\n case 'collections':\n return 'Collections';\n case 'tasks':\n return 'Tasks';\n default:\n return 'All';\n }\n }\n\n /**\n * Format date for display\n */\n public formatDate(date: Date): string {\n const now = new Date();\n const diff = now.getTime() - new Date(date).getTime();\n const days = Math.floor(diff / (1000 * 60 * 60 * 24));\n\n if (days === 0) return 'Today';\n if (days === 1) return 'Yesterday';\n if (days < 7) return `${days} days ago`;\n if (days < 30) return `${Math.floor(days / 7)} weeks ago`;\n if (days < 365) return `${Math.floor(days / 30)} months ago`;\n return `${Math.floor(days / 365)} years ago`;\n }\n\n /** Highlight matched text in result. Output is bound to `[innerHTML]` in the template. */\n public highlightMatch(text: string, query: string): string {\n return HighlightSearchMatches(text, query);\n }\n\n /**\n * Handle date range change\n */\n public onDateRangeChange(): void {\n this.searchService.setDateRange(this.dateRange);\n if (this.searchQuery.trim()) {\n this.performSearch();\n }\n }\n\n /**\n * Clear date range\n */\n public clearDateRange(): void {\n this.dateRange = { start: null, end: null };\n this.searchService.setDateRange({ start: null, end: null });\n if (this.searchQuery.trim()) {\n this.performSearch();\n }\n }\n\n /**\n * Watch for panel open state changes\n */\n ngOnChanges(): void {\n if (this.isOpen) {\n this.focusSearchInput();\n }\n }\n}\n","@if (isOpen) {\n<div class=\"search-panel-overlay\" (click)=\"closePanel()\">\n <div class=\"search-panel\" (click)=\"$event.stopPropagation()\">\n <!-- Search Header -->\n <div class=\"search-header\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input\n #searchInput\n type=\"text\"\n class=\"search-input\"\n placeholder=\"Search conversations, messages, artifacts, collections, and tasks...\"\n [(ngModel)]=\"searchQuery\"\n (input)=\"onSearchInput()\"\n autocomplete=\"off\"\n />\n @if (searchQuery) {\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"clearSearch()\"\n title=\"Clear search\"\n >\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n\n <button\n type=\"button\"\n class=\"close-button\"\n (click)=\"closePanel()\"\n title=\"Close (Esc)\"\n >\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Filters -->\n <div class=\"search-filters\">\n <div class=\"filter-buttons\">\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'all'\"\n (click)=\"setFilter('all')\"\n >\n All\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'conversations'\"\n (click)=\"setFilter('conversations')\"\n >\n <i class=\"fa-solid fa-comments\"></i>\n Conversations\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'messages'\"\n (click)=\"setFilter('messages')\"\n >\n <i class=\"fa-solid fa-comment\"></i>\n Messages\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'artifacts'\"\n (click)=\"setFilter('artifacts')\"\n >\n <i class=\"fa-solid fa-file-alt\"></i>\n Artifacts\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'collections'\"\n (click)=\"setFilter('collections')\"\n >\n <i class=\"fa-solid fa-folder\"></i>\n Collections\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'tasks'\"\n (click)=\"setFilter('tasks')\"\n >\n <i class=\"fa-solid fa-tasks\"></i>\n Tasks\n </button>\n </div>\n\n <!-- Date Range Filter -->\n <div class=\"date-filter\">\n <mj-datepicker\n [(ngModel)]=\"dateRange.start\"\n (ngModelChange)=\"onDateRangeChange()\"\n Placeholder=\"From\"\n ></mj-datepicker>\n <mj-datepicker\n [(ngModel)]=\"dateRange.end\"\n (ngModelChange)=\"onDateRangeChange()\"\n Placeholder=\"To\"\n ></mj-datepicker>\n @if (dateRange.start || dateRange.end) {\n <button\n type=\"button\"\n class=\"clear-date-button\"\n (click)=\"clearDateRange()\"\n title=\"Clear date range\"\n >\n <i class=\"fa-solid fa-times-circle\"></i>\n </button>\n }\n </div>\n </div>\n\n <!-- Search Results -->\n <div class=\"search-results\">\n @if (isSearching) {\n <div class=\"search-loading\">\n <mj-loading text=\"Searching...\" size=\"medium\"></mj-loading>\n </div>\n } @else if (!searchQuery) {\n <!-- Recent Searches -->\n @if (recentSearches.length > 0) {\n <div class=\"recent-searches\">\n <div class=\"recent-searches-header\">\n <h3>Recent Searches</h3>\n <button\n type=\"button\"\n class=\"clear-recent-button\"\n (click)=\"clearRecentSearches()\"\n title=\"Clear recent searches\"\n >\n Clear\n </button>\n </div>\n <div class=\"recent-searches-list\">\n @for (search of recentSearches; track search) {\n <button\n type=\"button\"\n class=\"recent-search-item\"\n (click)=\"useRecentSearch(search)\"\n >\n <i class=\"fa-solid fa-history\"></i>\n <span>{{ search }}</span>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Empty State -->\n <mj-empty-state\n Icon=\"fa-solid fa-magnifying-glass\"\n Message=\"Search across all your conversations, messages, artifacts, collections, and tasks\">\n <div class=\"search-tips\">\n <h4>Tips:</h4>\n <ul>\n <li>Use filters to narrow results</li>\n <li>Set date range to find recent content</li>\n <li>Use keyboard shortcuts to navigate</li>\n </ul>\n </div>\n </mj-empty-state>\n } @else if (results.total === 0) {\n <!-- No Results -->\n <mj-empty-state\n Variant=\"no-results\"\n [Title]=\"NoResultsMessage\"\n Message=\"Try adjusting your filters or search terms\" />\n } @else {\n <!-- Results Summary -->\n <div class=\"results-summary\">\n Found {{ results.total }} result{{ results.total === 1 ? '' : 's' }}\n </div>\n\n <!-- Conversations Results -->\n @if (results.conversations.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-comments\"></i>\n Conversations ({{ results.conversations.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.conversations; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n <div class=\"result-title\" [innerHTML]=\"highlightMatch(result.title, searchQuery)\"></div>\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Messages Results -->\n @if (results.messages.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-comment\"></i>\n Messages ({{ results.messages.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.messages; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n @if (result.conversationName) {\n <div class=\"result-conversation\">\n <i class=\"fa-solid fa-comments\"></i>\n {{ result.conversationName }}\n </div>\n }\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Artifacts Results -->\n @if (results.artifacts.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-file-alt\"></i>\n Artifacts ({{ results.artifacts.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.artifacts; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n <div class=\"result-title\" [innerHTML]=\"highlightMatch(result.title, searchQuery)\"></div>\n @if (result.artifactType) {\n <div class=\"result-type\">\n <span class=\"type-badge\">{{ result.artifactType }}</span>\n </div>\n }\n @if (result.conversationName) {\n <div class=\"result-conversation\">\n <i class=\"fa-solid fa-comments\"></i>\n {{ result.conversationName }}\n </div>\n }\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Collections Results -->\n @if (results.collections.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-folder\"></i>\n Collections ({{ results.collections.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.collections; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n <div class=\"result-title\" [innerHTML]=\"highlightMatch(result.title, searchQuery)\"></div>\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Tasks Results -->\n @if (results.tasks.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-tasks\"></i>\n Tasks ({{ results.tasks.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.tasks; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n <div class=\"result-title\" [innerHTML]=\"highlightMatch(result.title, searchQuery)\"></div>\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n }\n </div>\n\n <!-- Footer with keyboard hints -->\n <div class=\"search-footer\">\n <div class=\"keyboard-hints\">\n <span class=\"hint\"><kbd>↑</kbd><kbd>↓</kbd> Navigate</span>\n <span class=\"hint\"><kbd>↵</kbd> Select</span>\n <span class=\"hint\"><kbd>Esc</kbd> Close</span>\n </div>\n </div>\n </div>\n</div>\n}\n"]}
|
|
1
|
+
{"version":3,"file":"search-panel.component.js","sourceRoot":"","sources":["../../../../src/lib/components/search/search-panel.component.ts","../../../../src/lib/components/search/search-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n OnInit,\n OnDestroy,\n Output,\n EventEmitter,\n Input,\n HostListener,\n ViewChild,\n ElementRef,\n ChangeDetectorRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { UserInfo } from '@memberjunction/core';\nimport { HighlightSearchMatches } from '@memberjunction/global';\nimport {\n SearchService,\n SearchResult,\n SearchFilter,\n GroupedSearchResults,\n DateRange\n} from '../../services/search.service';\n\n/**\n * Search panel component providing global search UI\n * Can be displayed as a modal or slide-out panel\n * Supports filtering, date ranges, and result navigation\n */\n@Component({\n standalone: false,\n selector: 'mj-search-panel',\n templateUrl: './search-panel.component.html',\n styleUrls: ['./search-panel.component.css']\n})\nexport class SearchPanelComponent implements OnInit, OnDestroy {\n @Input() EnvironmentId!: string;\n\n /** @deprecated Use {@link EnvironmentId}. */\n @Input() set environmentId(value: string) {\n this.EnvironmentId = value;\n }\n /** @deprecated Use {@link EnvironmentId}. */\n get environmentId(): string {\n return this.EnvironmentId;\n }\n @Input() CurrentUser!: UserInfo;\n\n /** @deprecated Use {@link CurrentUser}. */\n @Input() set currentUser(value: UserInfo) {\n this.CurrentUser = value;\n }\n /** @deprecated Use {@link CurrentUser}. */\n get currentUser(): UserInfo {\n return this.CurrentUser;\n }\n /** Term to open with, e.g. handed over from a narrower filter the user had already typed. */\n @Input() InitialQuery: string = '';\n\n /** @deprecated Use {@link InitialQuery}. */\n @Input() set initialQuery(value: string) {\n this.InitialQuery = value;\n }\n /** @deprecated Use {@link InitialQuery}. */\n get initialQuery(): string {\n return this.InitialQuery;\n }\n\n private _isOpen: boolean = false;\n\n /**\n * A setter rather than ngOnChanges so only an actual open transition acts — ngOnChanges\n * fires for every input, so a CurrentUser or EnvironmentId re-emit while the panel was\n * open yanked focus back out of whatever field the user was in.\n */\n @Input()\n set IsOpen(value: boolean) {\n const wasOpen = this._isOpen;\n this._isOpen = value;\n if (value && !wasOpen) {\n this.onOpened();\n }\n }\n get IsOpen(): boolean {\n return this._isOpen;\n }\n\n /** @deprecated Use {@link IsOpen}. */\n @Input() set isOpen(value: boolean) {\n this.IsOpen = value;\n }\n /** @deprecated Use {@link IsOpen}. */\n get isOpen(): boolean {\n return this.IsOpen;\n }\n\n @Output() close = new EventEmitter<void>();\n @Output() ResultSelected = new EventEmitter<SearchResult>();\n\n /**\n * @deprecated Use {@link ResultSelected}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (resultSelected) keeps working. Must stay AFTER ResultSelected: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() resultSelected = this.ResultSelected;\n\n @ViewChild('searchInput') SearchInput?: ElementRef<HTMLInputElement>;\n\n /** @deprecated Use {@link SearchInput}. */\n get searchInput(): ElementRef<HTMLInputElement> | undefined {\n return this.SearchInput;\n }\n /** @deprecated Use {@link SearchInput}. */\n set searchInput(value: ElementRef<HTMLInputElement> | undefined) {\n this.SearchInput = value;\n }\n\n public SearchQuery: string = '';\n\n /** @deprecated Use {@link SearchQuery}. */\n public get searchQuery(): string {\n return this.SearchQuery;\n }\n /** @deprecated Use {@link SearchQuery}. */\n public set searchQuery(value: string) {\n this.SearchQuery = value;\n }\n public ActiveFilter: SearchFilter = 'all';\n\n /** @deprecated Use {@link ActiveFilter}. */\n public get activeFilter(): SearchFilter {\n return this.ActiveFilter;\n }\n /** @deprecated Use {@link ActiveFilter}. */\n public set activeFilter(value: SearchFilter) {\n this.ActiveFilter = value;\n }\n public DateRange: DateRange = { start: null, end: null };\n\n /** @deprecated Use {@link DateRange}. */\n public get dateRange(): DateRange {\n return this.DateRange;\n }\n /** @deprecated Use {@link DateRange}. */\n public set dateRange(value: DateRange) {\n this.DateRange = value;\n }\n public IsSearching: boolean = false;\n\n /** @deprecated Use {@link IsSearching}. */\n public get isSearching(): boolean {\n return this.IsSearching;\n }\n /** @deprecated Use {@link IsSearching}. */\n public set isSearching(value: boolean) {\n this.IsSearching = value;\n }\n public Results: GroupedSearchResults = {\n conversations: [],\n messages: [],\n artifacts: [],\n collections: [],\n tasks: [],\n total: 0\n };\n\n /** @deprecated Use {@link Results}. */\n public get results(): GroupedSearchResults {\n return this.Results;\n }\n /** @deprecated Use {@link Results}. */\n public set results(value: GroupedSearchResults) {\n this.Results = value;\n }\n public RecentSearches: string[] = [];\n\n /** @deprecated Use {@link RecentSearches}. */\n public get recentSearches(): string[] {\n return this.RecentSearches;\n }\n /** @deprecated Use {@link RecentSearches}. */\n public set recentSearches(value: string[]) {\n this.RecentSearches = value;\n }\n public SelectedIndex: number = -1;\n\n /** @deprecated Use {@link SelectedIndex}. */\n public get selectedIndex(): number {\n return this.SelectedIndex;\n }\n /** @deprecated Use {@link SelectedIndex}. */\n public set selectedIndex(value: number) {\n this.SelectedIndex = value;\n }\n\n /**\n * Flat view of `Results`, rebuilt only on each results emission. The template binds\n * IsResultSelected() once per row, so deriving this on demand allocated a fresh array of\n * every result for every row on every change-detection pass.\n */\n private flatResults: SearchResult[] = [];\n\n /** Message for the \"no results\" empty state, echoing the search term. */\n public get NoResultsMessage(): string {\n return `No results found for \"${this.SearchQuery}\"`;\n }\n\n private destroy$ = new Subject<void>();\n\n /** True only while ngOnInit subscribes — see applyState(). */\n private initializing = false;\n\n constructor(\n private searchService: SearchService,\n private cdr: ChangeDetectorRef\n ) {}\n\n /**\n * Apply state from an async emission and render it.\n *\n * The search resolves through the data provider's transport, and that emission does not\n * reliably schedule a change-detection pass: results land on the component while the panel\n * keeps showing the previous state until some DOM event — Enter, a click on the modal,\n * even the blur from clicking into devtools — triggers the next one. detectChanges()\n * checks this view on the spot; markForCheck() would only mark it for a pass that never\n * comes.\n */\n private applyState(fn: () => void): void {\n fn();\n // The BehaviorSubjects replay synchronously while ngOnInit subscribes, which is already\n // inside a pass. takeUntil(destroy$) stops emissions at teardown, so there is no\n // destroyed-view case to guard against.\n if (!this.initializing) {\n this.cdr.detectChanges();\n }\n }\n\n ngOnInit(): void {\n // Each BehaviorSubject replays synchronously on subscribe, inside this pass.\n this.initializing = true;\n this.subscribeToSearchState();\n this.initializing = false;\n this.loadRecentSearches();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Subscribe to search service state\n */\n private subscribeToSearchState(): void {\n this.searchService.isSearching$\n .pipe(takeUntil(this.destroy$))\n .subscribe(isSearching => {\n this.applyState(() => {\n this.IsSearching = isSearching;\n });\n });\n\n this.searchService.searchResults$\n .pipe(takeUntil(this.destroy$))\n .subscribe(results => {\n this.applyState(() => {\n this.Results = results;\n this.flatResults = [\n ...results.conversations,\n ...results.messages,\n ...results.artifacts,\n ...results.collections,\n ...results.tasks\n ];\n this.SelectedIndex = -1;\n });\n });\n\n this.searchService.searchFilter$\n .pipe(takeUntil(this.destroy$))\n .subscribe(filter => {\n this.applyState(() => {\n this.ActiveFilter = filter;\n });\n });\n\n this.searchService.dateRange$\n .pipe(takeUntil(this.destroy$))\n .subscribe(range => {\n this.applyState(() => {\n this.DateRange = range;\n });\n });\n }\n\n /**\n * Load recent searches\n */\n private loadRecentSearches(): void {\n this.RecentSearches = this.searchService.getRecentSearches();\n }\n\n /**\n * Handle search input\n */\n public OnSearchInput(): void {\n if (this.SearchQuery.trim()) {\n this.performSearch();\n } else {\n this.searchService.clearResults();\n }\n }\n\n /** @deprecated Use {@link OnSearchInput}. */\n public onSearchInput(): void {\n return this.OnSearchInput();\n }\n\n /**\n * Perform search\n */\n private async performSearch(): Promise<void> {\n await this.searchService.search(\n this.SearchQuery,\n this.EnvironmentId,\n this.CurrentUser\n );\n }\n\n /**\n * Set search filter\n */\n public SetFilter(filter: SearchFilter): void {\n this.searchService.setSearchFilter(filter);\n if (this.SearchQuery.trim()) {\n this.performSearch();\n }\n }\n\n /** @deprecated Use {@link SetFilter}. */\n public setFilter(filter: SearchFilter): void {\n return this.SetFilter(filter);\n }\n\n /**\n * Clear search\n */\n public ClearSearch(): void {\n this.SearchQuery = '';\n this.searchService.clearResults();\n this.focusSearchInput();\n }\n\n /** @deprecated Use {@link ClearSearch}. */\n public clearSearch(): void {\n return this.ClearSearch();\n }\n\n /**\n * Select a result\n */\n public SelectResult(result: SearchResult): void {\n this.ResultSelected.emit(result);\n this.ClosePanel();\n }\n\n /** @deprecated Use {@link SelectResult}. */\n public selectResult(result: SearchResult): void {\n return this.SelectResult(result);\n }\n\n /**\n * Use recent search\n */\n public UseRecentSearch(query: string): void {\n this.SearchQuery = query;\n this.performSearch();\n }\n\n /** @deprecated Use {@link UseRecentSearch}. */\n public useRecentSearch(query: string): void {\n return this.UseRecentSearch(query);\n }\n\n /**\n * Clear recent searches\n */\n public ClearRecentSearches(): void {\n this.searchService.clearRecentSearches();\n this.RecentSearches = [];\n }\n\n /** @deprecated Use {@link ClearRecentSearches}. */\n public clearRecentSearches(): void {\n return this.ClearRecentSearches();\n }\n\n /**\n * Close panel\n */\n public ClosePanel(): void {\n this.close.emit();\n }\n\n /** @deprecated Use {@link ClosePanel}. */\n public closePanel(): void {\n return this.ClosePanel();\n }\n\n /**\n * Seed and focus the box once the panel is open.\n *\n * Deferred to the next task so the @if(IsOpen) view exists (there is no input to focus\n * before it renders) and so every input bound in the same pass has been set — this reads\n * InitialQuery, which the host may bind after IsOpen.\n */\n private onOpened(): void {\n setTimeout(() => {\n const seed = this.InitialQuery?.trim();\n if (seed && seed !== this.SearchQuery) {\n this.SearchQuery = seed;\n this.OnSearchInput();\n this.cdr.detectChanges();\n }\n this.SearchInput?.nativeElement.focus();\n }, 0);\n }\n\n /**\n * Focus search input\n */\n private focusSearchInput(): void {\n setTimeout(() => {\n this.SearchInput?.nativeElement.focus();\n }, 0);\n }\n\n /**\n * Handle keyboard navigation\n */\n @HostListener('keydown', ['$event'])\n public handleKeyboard(event: KeyboardEvent): void {\n if (!this.IsOpen) return;\n\n const allResults = this.flatResults;\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n this.ClosePanel();\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n if (allResults.length > 0) {\n this.SelectedIndex = Math.min(this.SelectedIndex + 1, allResults.length - 1);\n }\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n if (this.SelectedIndex > 0) {\n this.SelectedIndex--;\n } else {\n this.SelectedIndex = -1;\n }\n break;\n\n case 'Enter':\n event.preventDefault();\n if (this.SelectedIndex >= 0 && allResults[this.SelectedIndex]) {\n this.SelectResult(allResults[this.SelectedIndex]);\n }\n break;\n }\n }\n\n /**\n * Check if result is selected\n */\n public IsResultSelected(result: SearchResult): boolean {\n const selected = this.flatResults[this.SelectedIndex];\n return !!selected && selected.id === result.id && selected.type === result.type;\n }\n\n /** @deprecated Use {@link IsResultSelected}. */\n public isResultSelected(result: SearchResult): boolean {\n return this.IsResultSelected(result);\n }\n\n /**\n * Get icon for result type\n */\n public GetResultIcon(type: string): string {\n switch (type) {\n case 'conversation':\n return 'fa-comments';\n case 'message':\n return 'fa-comment';\n case 'artifact':\n return 'fa-file-alt';\n case 'collection':\n return 'fa-folder';\n case 'task':\n return 'fa-tasks';\n default:\n return 'fa-circle';\n }\n }\n\n /** @deprecated Use {@link GetResultIcon}. */\n public getResultIcon(type: string): string {\n return this.GetResultIcon(type);\n }\n\n /**\n * Get filter display text\n */\n public GetFilterText(filter: SearchFilter): string {\n switch (filter) {\n case 'all':\n return 'All';\n case 'conversations':\n return 'Conversations';\n case 'messages':\n return 'Messages';\n case 'artifacts':\n return 'Artifacts';\n case 'collections':\n return 'Collections';\n case 'tasks':\n return 'Tasks';\n default:\n return 'All';\n }\n }\n\n /** @deprecated Use {@link GetFilterText}. */\n public getFilterText(filter: SearchFilter): string {\n return this.GetFilterText(filter);\n }\n\n /**\n * Format date for display\n */\n public formatDate(date: Date): string {\n const now = new Date();\n const diff = now.getTime() - new Date(date).getTime();\n const days = Math.floor(diff / (1000 * 60 * 60 * 24));\n\n if (days === 0) return 'Today';\n if (days === 1) return 'Yesterday';\n if (days < 7) return `${days} days ago`;\n if (days < 30) return `${Math.floor(days / 7)} weeks ago`;\n if (days < 365) return `${Math.floor(days / 30)} months ago`;\n return `${Math.floor(days / 365)} years ago`;\n }\n\n /** Highlight matched text in result. Output is bound to `[innerHTML]` in the template. */\n public HighlightMatch(text: string, query: string): string {\n return HighlightSearchMatches(text, query);\n }\n\n /** @deprecated Use {@link HighlightMatch}. */\n public highlightMatch(text: string, query: string): string {\n return this.HighlightMatch(text, query);\n }\n\n /**\n * Handle date range change\n */\n public OnDateRangeChange(): void {\n this.searchService.setDateRange(this.DateRange);\n if (this.SearchQuery.trim()) {\n this.performSearch();\n }\n }\n\n /** @deprecated Use {@link OnDateRangeChange}. */\n public onDateRangeChange(): void {\n return this.OnDateRangeChange();\n }\n\n /**\n * Clear date range\n */\n public ClearDateRange(): void {\n this.DateRange = { start: null, end: null };\n this.searchService.setDateRange({ start: null, end: null });\n if (this.SearchQuery.trim()) {\n this.performSearch();\n }\n }\n\n /** @deprecated Use {@link ClearDateRange}. */\n public clearDateRange(): void {\n return this.ClearDateRange();\n }\n}\n","@if (isOpen) {\n<div class=\"search-panel-overlay\" (click)=\"closePanel()\">\n <div class=\"search-panel\" (click)=\"$event.stopPropagation()\">\n <!-- Search Header -->\n <div class=\"search-header\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input\n #searchInput\n type=\"text\"\n class=\"search-input\"\n placeholder=\"Search conversations, messages, artifacts, collections, and tasks...\"\n [(ngModel)]=\"searchQuery\"\n (input)=\"onSearchInput()\"\n autocomplete=\"off\"\n />\n @if (searchQuery) {\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"clearSearch()\"\n title=\"Clear search\"\n >\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n\n <button\n type=\"button\"\n class=\"close-button\"\n (click)=\"closePanel()\"\n title=\"Close (Esc)\"\n >\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Filters -->\n <div class=\"search-filters\">\n <div class=\"filter-buttons\">\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'all'\"\n (click)=\"setFilter('all')\"\n >\n All\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'conversations'\"\n (click)=\"setFilter('conversations')\"\n >\n <i class=\"fa-solid fa-comments\"></i>\n Conversations\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'messages'\"\n (click)=\"setFilter('messages')\"\n >\n <i class=\"fa-solid fa-comment\"></i>\n Messages\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'artifacts'\"\n (click)=\"setFilter('artifacts')\"\n >\n <i class=\"fa-solid fa-file-alt\"></i>\n Artifacts\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'collections'\"\n (click)=\"setFilter('collections')\"\n >\n <i class=\"fa-solid fa-folder\"></i>\n Collections\n </button>\n <button\n type=\"button\"\n class=\"filter-button\"\n [class.active]=\"activeFilter === 'tasks'\"\n (click)=\"setFilter('tasks')\"\n >\n <i class=\"fa-solid fa-tasks\"></i>\n Tasks\n </button>\n </div>\n\n <!-- Date Range Filter -->\n <div class=\"date-filter\">\n <mj-datepicker\n [(ngModel)]=\"dateRange.start\"\n (ngModelChange)=\"onDateRangeChange()\"\n Placeholder=\"From\"\n ></mj-datepicker>\n <mj-datepicker\n [(ngModel)]=\"dateRange.end\"\n (ngModelChange)=\"onDateRangeChange()\"\n Placeholder=\"To\"\n ></mj-datepicker>\n @if (dateRange.start || dateRange.end) {\n <button\n type=\"button\"\n class=\"clear-date-button\"\n (click)=\"clearDateRange()\"\n title=\"Clear date range\"\n >\n <i class=\"fa-solid fa-times-circle\"></i>\n </button>\n }\n </div>\n </div>\n\n <!-- Search Results -->\n <div class=\"search-results\">\n @if (isSearching) {\n <div class=\"search-loading\">\n <mj-loading text=\"Searching...\" size=\"medium\"></mj-loading>\n </div>\n } @else if (!searchQuery) {\n <!-- Recent Searches -->\n @if (recentSearches.length > 0) {\n <div class=\"recent-searches\">\n <div class=\"recent-searches-header\">\n <h3>Recent Searches</h3>\n <button\n type=\"button\"\n class=\"clear-recent-button\"\n (click)=\"clearRecentSearches()\"\n title=\"Clear recent searches\"\n >\n Clear\n </button>\n </div>\n <div class=\"recent-searches-list\">\n @for (search of recentSearches; track search) {\n <button\n type=\"button\"\n class=\"recent-search-item\"\n (click)=\"useRecentSearch(search)\"\n >\n <i class=\"fa-solid fa-history\"></i>\n <span>{{ search }}</span>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Empty State -->\n <mj-empty-state\n Icon=\"fa-solid fa-magnifying-glass\"\n Message=\"Search across all your conversations, messages, artifacts, collections, and tasks\">\n <div class=\"search-tips\">\n <h4>Tips:</h4>\n <ul>\n <li>Use filters to narrow results</li>\n <li>Set date range to find recent content</li>\n <li>Use keyboard shortcuts to navigate</li>\n </ul>\n </div>\n </mj-empty-state>\n } @else if (results.total === 0) {\n <!-- No Results -->\n <mj-empty-state\n Variant=\"no-results\"\n [Title]=\"NoResultsMessage\"\n Message=\"Try adjusting your filters or search terms\" />\n } @else {\n <!-- Results Summary -->\n <div class=\"results-summary\">\n Found {{ results.total }} result{{ results.total === 1 ? '' : 's' }}\n </div>\n\n <!-- Conversations Results -->\n @if (results.conversations.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-comments\"></i>\n Conversations ({{ results.conversations.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.conversations; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n <div class=\"result-title\" [innerHTML]=\"highlightMatch(result.title, searchQuery)\"></div>\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Messages Results -->\n @if (results.messages.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-comment\"></i>\n Messages ({{ results.messages.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.messages; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n @if (result.conversationName) {\n <div class=\"result-conversation\">\n <i class=\"fa-solid fa-comments\"></i>\n {{ result.conversationName }}\n </div>\n }\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Artifacts Results -->\n @if (results.artifacts.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-file-alt\"></i>\n Artifacts ({{ results.artifacts.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.artifacts; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n <div class=\"result-title\" [innerHTML]=\"highlightMatch(result.title, searchQuery)\"></div>\n @if (result.artifactType) {\n <div class=\"result-type\">\n <span class=\"type-badge\">{{ result.artifactType }}</span>\n </div>\n }\n @if (result.conversationName) {\n <div class=\"result-conversation\">\n <i class=\"fa-solid fa-comments\"></i>\n {{ result.conversationName }}\n </div>\n }\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Collections Results -->\n @if (results.collections.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-folder\"></i>\n Collections ({{ results.collections.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.collections; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n <div class=\"result-title\" [innerHTML]=\"highlightMatch(result.title, searchQuery)\"></div>\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Tasks Results -->\n @if (results.tasks.length > 0) {\n <div class=\"results-group\">\n <h3 class=\"results-group-title\">\n <i class=\"fa-solid fa-tasks\"></i>\n Tasks ({{ results.tasks.length }})\n </h3>\n <div class=\"results-list\">\n @for (result of results.tasks; track result.id) {\n <button\n type=\"button\"\n class=\"result-item\"\n [class.selected]=\"isResultSelected(result)\"\n (click)=\"selectResult(result)\"\n >\n <div class=\"result-icon\">\n <i class=\"fa-solid\" [class]=\"getResultIcon(result.type)\"></i>\n </div>\n <div class=\"result-content\">\n <div class=\"result-title\" [innerHTML]=\"highlightMatch(result.title, searchQuery)\"></div>\n <div class=\"result-preview\" [innerHTML]=\"highlightMatch(result.preview, searchQuery)\"></div>\n @if (result.matchedText) {\n <div class=\"result-match\" [innerHTML]=\"highlightMatch(result.matchedText, searchQuery)\"></div>\n }\n </div>\n <div class=\"result-meta\">\n <span class=\"result-date\">{{ formatDate(result.createdAt) }}</span>\n </div>\n </button>\n }\n </div>\n </div>\n }\n }\n </div>\n\n <!-- Footer with keyboard hints -->\n <div class=\"search-footer\">\n <div class=\"keyboard-hints\">\n <span class=\"hint\"><kbd>↑</kbd><kbd>↓</kbd> Navigate</span>\n <span class=\"hint\"><kbd>↵</kbd> Select</span>\n <span class=\"hint\"><kbd>Esc</kbd> Close</span>\n </div>\n </div>\n </div>\n</div>\n}\n"]}
|
|
@@ -16,33 +16,93 @@ export declare class ShareModalComponent extends BaseAngularComponent implements
|
|
|
16
16
|
private dialogService;
|
|
17
17
|
private toastService;
|
|
18
18
|
private cdr;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
Conversation: MJConversationEntity;
|
|
20
|
+
/** @deprecated Use {@link Conversation}. */
|
|
21
|
+
set conversation(value: MJConversationEntity);
|
|
22
|
+
/** @deprecated Use {@link Conversation}. */
|
|
23
|
+
get conversation(): MJConversationEntity;
|
|
24
|
+
CurrentUser: UserInfo;
|
|
25
|
+
/** @deprecated Use {@link CurrentUser}. */
|
|
26
|
+
set currentUser(value: UserInfo);
|
|
27
|
+
/** @deprecated Use {@link CurrentUser}. */
|
|
28
|
+
get currentUser(): UserInfo;
|
|
29
|
+
IsOpen: boolean;
|
|
30
|
+
/** @deprecated Use {@link IsOpen}. */
|
|
31
|
+
set isOpen(value: boolean);
|
|
32
|
+
/** @deprecated Use {@link IsOpen}. */
|
|
33
|
+
get isOpen(): boolean;
|
|
34
|
+
Closed: EventEmitter<void>;
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use {@link Closed}.
|
|
37
|
+
*
|
|
38
|
+
* The same emitter under the old binding name, so a template still binding
|
|
39
|
+
* (closed) keeps working. Must stay AFTER Closed: class fields
|
|
40
|
+
* initialise in order, and the other way round this captures undefined.
|
|
41
|
+
*/
|
|
22
42
|
closed: EventEmitter<void>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
43
|
+
Permissions: SharePermission[];
|
|
44
|
+
/** @deprecated Use {@link Permissions}. */
|
|
45
|
+
get permissions(): SharePermission[];
|
|
46
|
+
/** @deprecated Use {@link Permissions}. */
|
|
47
|
+
set permissions(value: SharePermission[]);
|
|
48
|
+
NewUserEmail: string;
|
|
49
|
+
/** @deprecated Use {@link NewUserEmail}. */
|
|
50
|
+
get newUserEmail(): string;
|
|
51
|
+
/** @deprecated Use {@link NewUserEmail}. */
|
|
52
|
+
set newUserEmail(value: string);
|
|
53
|
+
IsPublicLink: boolean;
|
|
54
|
+
/** @deprecated Use {@link IsPublicLink}. */
|
|
55
|
+
get isPublicLink(): boolean;
|
|
56
|
+
/** @deprecated Use {@link IsPublicLink}. */
|
|
57
|
+
set isPublicLink(value: boolean);
|
|
58
|
+
ShareLink: string;
|
|
59
|
+
/** @deprecated Use {@link ShareLink}. */
|
|
60
|
+
get shareLink(): string;
|
|
61
|
+
/** @deprecated Use {@link ShareLink}. */
|
|
62
|
+
set shareLink(value: string);
|
|
63
|
+
AccessLevels: {
|
|
28
64
|
label: string;
|
|
29
65
|
value: string;
|
|
30
66
|
}[];
|
|
67
|
+
/** @deprecated Use {@link AccessLevels}. */
|
|
68
|
+
get accessLevels(): {
|
|
69
|
+
label: string;
|
|
70
|
+
value: string;
|
|
71
|
+
}[];
|
|
72
|
+
/** @deprecated Use {@link AccessLevels}. */
|
|
73
|
+
set accessLevels(value: {
|
|
74
|
+
label: string;
|
|
75
|
+
value: string;
|
|
76
|
+
}[]);
|
|
31
77
|
private readonly CONVERSATIONS_RESOURCE_TYPE_ID;
|
|
32
78
|
constructor(dialogService: DialogService, toastService: ToastService, cdr: ChangeDetectorRef);
|
|
33
79
|
ngOnInit(): void;
|
|
34
80
|
private loadPermissions;
|
|
81
|
+
GetAccessLevel(permission: SharePermission): string;
|
|
82
|
+
/** @deprecated Use {@link GetAccessLevel}. */
|
|
35
83
|
getAccessLevel(permission: SharePermission): string;
|
|
84
|
+
OnAccessLevelChange(permission: SharePermission, level: 'View' | 'Edit' | 'Owner'): Promise<void>;
|
|
85
|
+
/** @deprecated Use {@link OnAccessLevelChange}. */
|
|
36
86
|
onAccessLevelChange(permission: SharePermission, level: 'View' | 'Edit' | 'Owner'): Promise<void>;
|
|
87
|
+
OnAddUser(): Promise<void>;
|
|
88
|
+
/** @deprecated Use {@link OnAddUser}. */
|
|
37
89
|
onAddUser(): Promise<void>;
|
|
90
|
+
OnRemoveUser(permission: SharePermission): Promise<void>;
|
|
91
|
+
/** @deprecated Use {@link OnRemoveUser}. */
|
|
38
92
|
onRemoveUser(permission: SharePermission): Promise<void>;
|
|
39
93
|
private savePermission;
|
|
94
|
+
OnTogglePublicLink(): Promise<void>;
|
|
95
|
+
/** @deprecated Use {@link OnTogglePublicLink}. */
|
|
40
96
|
onTogglePublicLink(): Promise<void>;
|
|
41
97
|
private updateShareLink;
|
|
98
|
+
OnCopyLink(): Promise<void>;
|
|
99
|
+
/** @deprecated Use {@link OnCopyLink}. */
|
|
42
100
|
onCopyLink(): Promise<void>;
|
|
101
|
+
OnClose(): void;
|
|
102
|
+
/** @deprecated Use {@link OnClose}. */
|
|
43
103
|
onClose(): void;
|
|
44
104
|
static ɵfac: i0.ɵɵFactoryDeclaration<ShareModalComponent, never>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ShareModalComponent, "mj-share-modal", never, { "conversation": { "alias": "conversation"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; }, { "closed": "closed"; }, never, never, false, never>;
|
|
105
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ShareModalComponent, "mj-share-modal", never, { "Conversation": { "alias": "Conversation"; "required": false; }; "conversation": { "alias": "conversation"; "required": false; }; "CurrentUser": { "alias": "CurrentUser"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "IsOpen": { "alias": "IsOpen"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; }, { "Closed": "Closed"; "closed": "closed"; }, never, never, false, never>;
|
|
46
106
|
}
|
|
47
107
|
export {};
|
|
48
108
|
//# sourceMappingURL=share-modal.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share-modal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/share/share-modal.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAA4C,MAAM,+BAA+B,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;;AAE5D,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC5C;AAED,qBA2Ha,mBAAoB,SAAQ,oBAAqB,YAAW,MAAM;
|
|
1
|
+
{"version":3,"file":"share-modal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/share/share-modal.component.ts"],"names":[],"mappings":"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"}
|