@memberjunction/ng-conversations 6.1.0-edge.2 → 6.1.0-edge.3
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/LICENSE +180 -4
- package/README.md +32 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +159 -9
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +497 -106
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/pinned-messages-panel.component.d.ts +14 -2
- package/dist/lib/components/conversation/pinned-messages-panel.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/pinned-messages-panel.component.js +37 -19
- package/dist/lib/components/conversation/pinned-messages-panel.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +7 -3
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +78 -159
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.d.ts +287 -7
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-list.component.js +850 -56
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/services/conversation-agent.service.d.ts +98 -16
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.js +218 -69
- package/dist/lib/services/conversation-agent.service.js.map +1 -1
- package/dist/lib/services/conversation-detail-window.store.d.ts +206 -0
- package/dist/lib/services/conversation-detail-window.store.d.ts.map +1 -0
- package/dist/lib/services/conversation-detail-window.store.js +503 -0
- package/dist/lib/services/conversation-detail-window.store.js.map +1 -0
- package/dist/lib/utils/agent-artifact-summary.d.ts +54 -0
- package/dist/lib/utils/agent-artifact-summary.d.ts.map +1 -0
- package/dist/lib/utils/agent-artifact-summary.js +49 -0
- package/dist/lib/utils/agent-artifact-summary.js.map +1 -0
- package/dist/lib/utils/conversation-detail-window.d.ts +49 -0
- package/dist/lib/utils/conversation-detail-window.d.ts.map +1 -0
- package/dist/lib/utils/conversation-detail-window.js +86 -0
- package/dist/lib/utils/conversation-detail-window.js.map +1 -0
- package/dist/lib/utils/date-jump.d.ts +65 -0
- package/dist/lib/utils/date-jump.d.ts.map +1 -0
- package/dist/lib/utils/date-jump.js +106 -0
- package/dist/lib/utils/date-jump.js.map +1 -0
- package/package.json +32 -32
|
@@ -2,7 +2,19 @@ import { EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { MJConversationDetailEntity } from '@memberjunction/core-entities';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class PinnedMessagesPanelComponent {
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Readonly because the chat area hands over the window store's own pin array by reference —
|
|
7
|
+
* a stable reference between real changes is what keeps this input from re-firing every
|
|
8
|
+
* change detection cycle. The panel renders it; it never mutates it.
|
|
9
|
+
*/
|
|
10
|
+
pinnedMessages: readonly MJConversationDetailEntity[];
|
|
11
|
+
/**
|
|
12
|
+
* True during the panel's first open, while its rows are being fetched.
|
|
13
|
+
*
|
|
14
|
+
* Pins are no longer loaded during conversation open — the open path reads only a count —
|
|
15
|
+
* so the panel can now render before its contents exist.
|
|
16
|
+
*/
|
|
17
|
+
isLoading: boolean;
|
|
6
18
|
closed: EventEmitter<void>;
|
|
7
19
|
jumpRequested: EventEmitter<string>;
|
|
8
20
|
unpinRequested: EventEmitter<MJConversationDetailEntity>;
|
|
@@ -19,6 +31,6 @@ export declare class PinnedMessagesPanelComponent {
|
|
|
19
31
|
/** Display name for the message sender */
|
|
20
32
|
GetSenderName(message: MJConversationDetailEntity): string;
|
|
21
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<PinnedMessagesPanelComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PinnedMessagesPanelComponent, "mj-pinned-messages-panel", never, { "pinnedMessages": { "alias": "pinnedMessages"; "required": false; }; }, { "closed": "closed"; "jumpRequested": "jumpRequested"; "unpinRequested": "unpinRequested"; }, never, never, false, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PinnedMessagesPanelComponent, "mj-pinned-messages-panel", never, { "pinnedMessages": { "alias": "pinnedMessages"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, { "closed": "closed"; "jumpRequested": "jumpRequested"; "unpinRequested": "unpinRequested"; }, never, never, false, never>;
|
|
23
35
|
}
|
|
24
36
|
//# sourceMappingURL=pinned-messages-panel.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinned-messages-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/conversation/pinned-messages-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;;AAE3E,qBAMa,4BAA4B;
|
|
1
|
+
{"version":3,"file":"pinned-messages-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/conversation/pinned-messages-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;;AAE3E,qBAMa,4BAA4B;IACvC;;;;OAIG;IACa,cAAc,EAAE,SAAS,0BAA0B,EAAE,CAAM;IAE3E;;;;;OAKG;IACa,SAAS,UAAS;IAEjB,MAAM,qBAA4B;IAClC,aAAa,uBAA8B;IAC3C,cAAc,2CAAkD;IAEjF,2DAA2D;IACpD,YAAY,cAAqB;IAEjC,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAIjD,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IASlD,WAAW,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO;IAIhE,qDAAqD;IAC9C,cAAc,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM;IAgBlE,wCAAwC;IACjC,eAAe,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM;IAenE,0CAA0C;IACnC,aAAa,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM;yCA9EtD,4BAA4B;2CAA5B,4BAA4B;CAkFxC"}
|
|
@@ -1,31 +1,35 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@memberjunction/ng-ui-components";
|
|
4
|
+
import * as i2 from "@memberjunction/ng-shared-generic";
|
|
4
5
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
5
6
|
function PinnedMessagesPanelComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
-
i0.ɵɵelement(0, "mj-
|
|
7
|
+
i0.ɵɵelement(0, "mj-loading", 8);
|
|
7
8
|
} }
|
|
8
|
-
function
|
|
9
|
+
function PinnedMessagesPanelComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
+
i0.ɵɵelement(0, "mj-empty-state", 9);
|
|
11
|
+
} }
|
|
12
|
+
function PinnedMessagesPanelComponent_For_14_Template(rf, ctx) { if (rf & 1) {
|
|
9
13
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
10
|
-
i0.ɵɵelementStart(0, "div",
|
|
11
|
-
i0.ɵɵelement(4, "i",
|
|
14
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "div", 12)(2, "div", 13)(3, "div", 14);
|
|
15
|
+
i0.ɵɵelement(4, "i", 15);
|
|
12
16
|
i0.ɵɵelementEnd();
|
|
13
|
-
i0.ɵɵelementStart(5, "span",
|
|
17
|
+
i0.ɵɵelementStart(5, "span", 16);
|
|
14
18
|
i0.ɵɵtext(6);
|
|
15
19
|
i0.ɵɵelementEnd()();
|
|
16
|
-
i0.ɵɵelementStart(7, "span",
|
|
20
|
+
i0.ɵɵelementStart(7, "span", 17);
|
|
17
21
|
i0.ɵɵtext(8);
|
|
18
22
|
i0.ɵɵelementEnd()();
|
|
19
|
-
i0.ɵɵelementStart(9, "p",
|
|
23
|
+
i0.ɵɵelementStart(9, "p", 18);
|
|
20
24
|
i0.ɵɵtext(10);
|
|
21
25
|
i0.ɵɵelementEnd();
|
|
22
|
-
i0.ɵɵelementStart(11, "div",
|
|
23
|
-
i0.ɵɵlistener("click", function
|
|
24
|
-
i0.ɵɵelement(13, "i",
|
|
26
|
+
i0.ɵɵelementStart(11, "div", 19)(12, "button", 20);
|
|
27
|
+
i0.ɵɵlistener("click", function PinnedMessagesPanelComponent_For_14_Template_button_click_12_listener() { const message_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnJump(message_r2)); });
|
|
28
|
+
i0.ɵɵelement(13, "i", 21);
|
|
25
29
|
i0.ɵɵtext(14, " Jump to message ");
|
|
26
30
|
i0.ɵɵelementEnd();
|
|
27
|
-
i0.ɵɵelementStart(15, "button",
|
|
28
|
-
i0.ɵɵlistener("click", function
|
|
31
|
+
i0.ɵɵelementStart(15, "button", 22);
|
|
32
|
+
i0.ɵɵlistener("click", function PinnedMessagesPanelComponent_For_14_Template_button_click_15_listener() { const message_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnUnpin(message_r2)); });
|
|
29
33
|
i0.ɵɵelement(16, "i", 3);
|
|
30
34
|
i0.ɵɵtext(17, " Unpin ");
|
|
31
35
|
i0.ɵɵelementEnd()()();
|
|
@@ -41,7 +45,19 @@ function PinnedMessagesPanelComponent_For_13_Template(rf, ctx) { if (rf & 1) {
|
|
|
41
45
|
i0.ɵɵtextInterpolate(ctx_r2.GetPreviewText(message_r2));
|
|
42
46
|
} }
|
|
43
47
|
export class PinnedMessagesPanelComponent {
|
|
48
|
+
/**
|
|
49
|
+
* Readonly because the chat area hands over the window store's own pin array by reference —
|
|
50
|
+
* a stable reference between real changes is what keeps this input from re-firing every
|
|
51
|
+
* change detection cycle. The panel renders it; it never mutates it.
|
|
52
|
+
*/
|
|
44
53
|
pinnedMessages = [];
|
|
54
|
+
/**
|
|
55
|
+
* True during the panel's first open, while its rows are being fetched.
|
|
56
|
+
*
|
|
57
|
+
* Pins are no longer loaded during conversation open — the open path reads only a count —
|
|
58
|
+
* so the panel can now render before its contents exist.
|
|
59
|
+
*/
|
|
60
|
+
isLoading = false;
|
|
45
61
|
closed = new EventEmitter();
|
|
46
62
|
jumpRequested = new EventEmitter(); // emits messageId
|
|
47
63
|
unpinRequested = new EventEmitter();
|
|
@@ -108,7 +124,7 @@ export class PinnedMessagesPanelComponent {
|
|
|
108
124
|
return 'AI Response';
|
|
109
125
|
}
|
|
110
126
|
static ɵfac = function PinnedMessagesPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PinnedMessagesPanelComponent)(); };
|
|
111
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PinnedMessagesPanelComponent, selectors: [["mj-pinned-messages-panel"]], inputs: { pinnedMessages: "pinnedMessages" }, outputs: { closed: "closed", jumpRequested: "jumpRequested", unpinRequested: "unpinRequested" }, standalone: false, decls:
|
|
127
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PinnedMessagesPanelComponent, selectors: [["mj-pinned-messages-panel"]], inputs: { pinnedMessages: "pinnedMessages", isLoading: "isLoading" }, outputs: { closed: "closed", jumpRequested: "jumpRequested", unpinRequested: "unpinRequested" }, standalone: false, decls: 15, vars: 2, consts: [[1, "pins-panel"], [1, "pins-header"], [1, "pins-title"], [1, "fas", "fa-thumbtack"], [1, "pins-count"], ["title", "Close", 1, "pins-close-btn", 3, "click"], [1, "fas", "fa-times"], [1, "pins-body"], ["text", "Loading pinned messages\u2026", "size", "small"], ["Size", "compact", "Icon", "fa-solid fa-thumbtack", "Title", "No pinned messages", 1, "pins-empty"], [1, "pin-card", 3, "unpinning"], [1, "pin-card"], [1, "pin-card-meta"], [1, "pin-sender"], [1, "pin-avatar"], [1, "fas", "fa-robot"], [1, "pin-sender-name"], [1, "pin-time"], [1, "pin-preview"], [1, "pin-actions"], ["title", "Jump to message", 1, "pin-action-btn", "jump-btn", 3, "click"], [1, "fas", "fa-arrow-up-right-from-square"], ["title", "Unpin this message", 1, "pin-action-btn", "unpin-btn", 3, "click"]], template: function PinnedMessagesPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
112
128
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
|
|
113
129
|
i0.ɵɵelement(3, "i", 3);
|
|
114
130
|
i0.ɵɵelementStart(4, "span");
|
|
@@ -122,23 +138,25 @@ export class PinnedMessagesPanelComponent {
|
|
|
122
138
|
i0.ɵɵelement(9, "i", 6);
|
|
123
139
|
i0.ɵɵelementEnd()();
|
|
124
140
|
i0.ɵɵelementStart(10, "div", 7);
|
|
125
|
-
i0.ɵɵconditionalCreate(11, PinnedMessagesPanelComponent_Conditional_11_Template, 1, 0, "mj-empty-state",
|
|
126
|
-
i0.ɵɵrepeaterCreate(
|
|
141
|
+
i0.ɵɵconditionalCreate(11, PinnedMessagesPanelComponent_Conditional_11_Template, 1, 0, "mj-loading", 8)(12, PinnedMessagesPanelComponent_Conditional_12_Template, 1, 0, "mj-empty-state", 9);
|
|
142
|
+
i0.ɵɵrepeaterCreate(13, PinnedMessagesPanelComponent_For_14_Template, 18, 5, "div", 10, _forTrack0);
|
|
127
143
|
i0.ɵɵelementEnd()();
|
|
128
144
|
} if (rf & 2) {
|
|
129
145
|
i0.ɵɵadvance(7);
|
|
130
146
|
i0.ɵɵtextInterpolate(ctx.pinnedMessages.length);
|
|
131
147
|
i0.ɵɵadvance(4);
|
|
132
|
-
i0.ɵɵconditional(ctx.pinnedMessages.length === 0 ?
|
|
133
|
-
i0.ɵɵadvance();
|
|
148
|
+
i0.ɵɵconditional(ctx.isLoading ? 11 : ctx.pinnedMessages.length === 0 ? 12 : -1);
|
|
149
|
+
i0.ɵɵadvance(2);
|
|
134
150
|
i0.ɵɵrepeater(ctx.pinnedMessages);
|
|
135
|
-
} }, dependencies: [i1.MJEmptyStateComponent], styles: ["\n\n\n\n\n[_nghost-%COMP%] {\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 340px;\n z-index: 50;\n pointer-events: auto;\n animation: _ngcontent-%COMP%_slideInPanel 0.22s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes _ngcontent-%COMP%_slideInPanel {\n from {\n opacity: 0;\n transform: translateX(24px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n.pins-panel[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n border-left: 1px solid var(--mj-border-default);\n box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);\n}\n\n\n\n.pins-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-card);\n}\n\n.pins-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.pins-title[_ngcontent-%COMP%] > i.fa-thumbtack[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n font-size: 13px;\n}\n\n.pins-count[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n border-radius: 10px;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-warning) 40%, transparent);\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n font-size: 11px;\n font-weight: 700;\n}\n\n.pins-close-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--mj-text-muted);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.pins-close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n\n\n.pins-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n\n\n.pins-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 12px;\n color: var(--mj-text-muted);\n}\n\n.pins-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n opacity: 0.4;\n}\n\n.pins-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n margin: 0;\n}\n\n\n\n.pin-card[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-left: 3px solid var(--mj-status-warning);\n transition: opacity 0.2s, transform 0.2s;\n}\n\n.pin-card.unpinning[_ngcontent-%COMP%] {\n opacity: 0;\n transform: translateX(12px);\n}\n\n.pin-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-strong);\n border-left-color: var(--mj-status-warning);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n}\n\n\n\n.pin-card-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.pin-sender[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.pin-avatar[_ngcontent-%COMP%] {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.pin-avatar[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-brand-primary);\n}\n\n.pin-sender-name[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.pin-time[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n\n\n\n.pin-preview[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n line-height: 1.5;\n color: var(--mj-text-primary);\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n\n\n.pin-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n}\n\n.pin-action-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 10px;\n border-radius: 5px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n border: 1px solid var(--mj-border-default);\n}\n\n.pin-action-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n.jump-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n}\n\n.jump-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n border-color: var(--mj-brand-primary-hover);\n}\n\n.unpin-btn[_ngcontent-%COMP%] {\n background: transparent;\n color: var(--mj-text-secondary);\n}\n\n.unpin-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n\n\n.pins-body[_ngcontent-%COMP%]::-webkit-scrollbar { width: 4px; }\n.pins-body[_ngcontent-%COMP%]::-webkit-scrollbar-track { background: transparent; }\n.pins-body[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 2px;\n}"] });
|
|
151
|
+
} }, dependencies: [i1.MJEmptyStateComponent, i2.LoadingComponent], styles: ["\n\n\n\n\n[_nghost-%COMP%] {\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 340px;\n z-index: 50;\n pointer-events: auto;\n animation: _ngcontent-%COMP%_slideInPanel 0.22s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes _ngcontent-%COMP%_slideInPanel {\n from {\n opacity: 0;\n transform: translateX(24px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n.pins-panel[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n border-left: 1px solid var(--mj-border-default);\n box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);\n}\n\n\n\n.pins-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-card);\n}\n\n.pins-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.pins-title[_ngcontent-%COMP%] > i.fa-thumbtack[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n font-size: 13px;\n}\n\n.pins-count[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n border-radius: 10px;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-warning) 40%, transparent);\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n font-size: 11px;\n font-weight: 700;\n}\n\n.pins-close-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--mj-text-muted);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.pins-close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n\n\n.pins-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n\n\n.pins-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 12px;\n color: var(--mj-text-muted);\n}\n\n.pins-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n opacity: 0.4;\n}\n\n.pins-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n margin: 0;\n}\n\n\n\n.pin-card[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-left: 3px solid var(--mj-status-warning);\n transition: opacity 0.2s, transform 0.2s;\n}\n\n.pin-card.unpinning[_ngcontent-%COMP%] {\n opacity: 0;\n transform: translateX(12px);\n}\n\n.pin-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-strong);\n border-left-color: var(--mj-status-warning);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n}\n\n\n\n.pin-card-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.pin-sender[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.pin-avatar[_ngcontent-%COMP%] {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.pin-avatar[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-brand-primary);\n}\n\n.pin-sender-name[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.pin-time[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n\n\n\n.pin-preview[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n line-height: 1.5;\n color: var(--mj-text-primary);\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n\n\n.pin-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n}\n\n.pin-action-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 10px;\n border-radius: 5px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n border: 1px solid var(--mj-border-default);\n}\n\n.pin-action-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n.jump-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n}\n\n.jump-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n border-color: var(--mj-brand-primary-hover);\n}\n\n.unpin-btn[_ngcontent-%COMP%] {\n background: transparent;\n color: var(--mj-text-secondary);\n}\n\n.unpin-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n\n\n.pins-body[_ngcontent-%COMP%]::-webkit-scrollbar { width: 4px; }\n.pins-body[_ngcontent-%COMP%]::-webkit-scrollbar-track { background: transparent; }\n.pins-body[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 2px;\n}"] });
|
|
136
152
|
}
|
|
137
153
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PinnedMessagesPanelComponent, [{
|
|
138
154
|
type: Component,
|
|
139
|
-
args: [{ standalone: false, selector: 'mj-pinned-messages-panel', template: "<div class=\"pins-panel\">\n <div class=\"pins-header\">\n <div class=\"pins-title\">\n <i class=\"fas fa-thumbtack\"></i>\n <span>Pinned Messages</span>\n <span class=\"pins-count\">{{ pinnedMessages.length }}</span>\n </div>\n <button class=\"pins-close-btn\" (click)=\"Close()\" title=\"Close\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n\n <div class=\"pins-body\">\n @if (pinnedMessages.length === 0) {\n <mj-empty-state class=\"pins-empty\" Size=\"compact\"\n Icon=\"fa-solid fa-thumbtack\"\n Title=\"No pinned messages\" />\n }\n\n @for (message of pinnedMessages; track message.ID) {\n <div class=\"pin-card\" [class.unpinning]=\"IsUnpinning(message)\">\n <div class=\"pin-card-meta\">\n <div class=\"pin-sender\">\n <div class=\"pin-avatar\">\n <i class=\"fas fa-robot\"></i>\n </div>\n <span class=\"pin-sender-name\">{{ GetSenderName(message) }}</span>\n </div>\n <span class=\"pin-time\">{{ GetRelativeTime(message) }}</span>\n </div>\n\n <p class=\"pin-preview\">{{ GetPreviewText(message) }}</p>\n\n <div class=\"pin-actions\">\n <button class=\"pin-action-btn jump-btn\" (click)=\"OnJump(message)\" title=\"Jump to message\">\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n Jump to message\n </button>\n <button class=\"pin-action-btn unpin-btn\" (click)=\"OnUnpin(message)\" title=\"Unpin this message\">\n <i class=\"fas fa-thumbtack\"></i>\n Unpin\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["/* ============================================================\n Pinned Messages Panel \u2014 overlays the right edge of the chat\n ============================================================ */\n\n:host {\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 340px;\n z-index: 50;\n pointer-events: auto;\n animation: slideInPanel 0.22s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes slideInPanel {\n from {\n opacity: 0;\n transform: translateX(24px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n.pins-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n border-left: 1px solid var(--mj-border-default);\n box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);\n}\n\n/* \u2500\u2500 Header \u2500\u2500 */\n.pins-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-card);\n}\n\n.pins-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.pins-title > i.fa-thumbtack {\n color: var(--mj-status-warning);\n font-size: 13px;\n}\n\n.pins-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n border-radius: 10px;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-warning) 40%, transparent);\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n font-size: 11px;\n font-weight: 700;\n}\n\n.pins-close-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--mj-text-muted);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.pins-close-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n/* \u2500\u2500 Body / Scrollable list \u2500\u2500 */\n.pins-body {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n/* \u2500\u2500 Empty state \u2500\u2500 */\n.pins-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 12px;\n color: var(--mj-text-muted);\n}\n\n.pins-empty i {\n font-size: 32px;\n opacity: 0.4;\n}\n\n.pins-empty p {\n font-size: 14px;\n margin: 0;\n}\n\n/* \u2500\u2500 Pin Card \u2500\u2500 */\n.pin-card {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-left: 3px solid var(--mj-status-warning);\n transition: opacity 0.2s, transform 0.2s;\n}\n\n.pin-card.unpinning {\n opacity: 0;\n transform: translateX(12px);\n}\n\n.pin-card:hover {\n border-color: var(--mj-border-strong);\n border-left-color: var(--mj-status-warning);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n}\n\n/* Card meta row: avatar+name on left, time on right */\n.pin-card-meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.pin-sender {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.pin-avatar {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.pin-avatar i {\n font-size: 10px;\n color: var(--mj-brand-primary);\n}\n\n.pin-sender-name {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.pin-time {\n font-size: 11px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n\n/* Preview text */\n.pin-preview {\n margin: 0;\n font-size: 13px;\n line-height: 1.5;\n color: var(--mj-text-primary);\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n/* Card action buttons */\n.pin-actions {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n}\n\n.pin-action-btn {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 10px;\n border-radius: 5px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n border: 1px solid var(--mj-border-default);\n}\n\n.pin-action-btn i {\n font-size: 11px;\n}\n\n.jump-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n}\n\n.jump-btn:hover {\n background: var(--mj-brand-primary-hover);\n border-color: var(--mj-brand-primary-hover);\n}\n\n.unpin-btn {\n background: transparent;\n color: var(--mj-text-secondary);\n}\n\n.unpin-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n/* \u2500\u2500 Scrollbar styling \u2500\u2500 */\n.pins-body::-webkit-scrollbar { width: 4px; }\n.pins-body::-webkit-scrollbar-track { background: transparent; }\n.pins-body::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 2px;\n}\n"] }]
|
|
155
|
+
args: [{ standalone: false, selector: 'mj-pinned-messages-panel', template: "<div class=\"pins-panel\">\n <div class=\"pins-header\">\n <div class=\"pins-title\">\n <i class=\"fas fa-thumbtack\"></i>\n <span>Pinned Messages</span>\n <span class=\"pins-count\">{{ pinnedMessages.length }}</span>\n </div>\n <button class=\"pins-close-btn\" (click)=\"Close()\" title=\"Close\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n\n <div class=\"pins-body\">\n <!-- Rows are fetched on first open now, so \"empty\" and \"not loaded yet\" are different\n states \u2014 showing the empty state during the fetch would claim there are no pins. -->\n @if (isLoading) {\n <mj-loading text=\"Loading pinned messages\u2026\" size=\"small\"></mj-loading>\n } @else if (pinnedMessages.length === 0) {\n <mj-empty-state class=\"pins-empty\" Size=\"compact\"\n Icon=\"fa-solid fa-thumbtack\"\n Title=\"No pinned messages\" />\n }\n\n @for (message of pinnedMessages; track message.ID) {\n <div class=\"pin-card\" [class.unpinning]=\"IsUnpinning(message)\">\n <div class=\"pin-card-meta\">\n <div class=\"pin-sender\">\n <div class=\"pin-avatar\">\n <i class=\"fas fa-robot\"></i>\n </div>\n <span class=\"pin-sender-name\">{{ GetSenderName(message) }}</span>\n </div>\n <span class=\"pin-time\">{{ GetRelativeTime(message) }}</span>\n </div>\n\n <p class=\"pin-preview\">{{ GetPreviewText(message) }}</p>\n\n <div class=\"pin-actions\">\n <button class=\"pin-action-btn jump-btn\" (click)=\"OnJump(message)\" title=\"Jump to message\">\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n Jump to message\n </button>\n <button class=\"pin-action-btn unpin-btn\" (click)=\"OnUnpin(message)\" title=\"Unpin this message\">\n <i class=\"fas fa-thumbtack\"></i>\n Unpin\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["/* ============================================================\n Pinned Messages Panel \u2014 overlays the right edge of the chat\n ============================================================ */\n\n:host {\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 340px;\n z-index: 50;\n pointer-events: auto;\n animation: slideInPanel 0.22s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes slideInPanel {\n from {\n opacity: 0;\n transform: translateX(24px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n.pins-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n border-left: 1px solid var(--mj-border-default);\n box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);\n}\n\n/* \u2500\u2500 Header \u2500\u2500 */\n.pins-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-card);\n}\n\n.pins-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.pins-title > i.fa-thumbtack {\n color: var(--mj-status-warning);\n font-size: 13px;\n}\n\n.pins-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n border-radius: 10px;\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-warning) 40%, transparent);\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n font-size: 11px;\n font-weight: 700;\n}\n\n.pins-close-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--mj-text-muted);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.pins-close-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n/* \u2500\u2500 Body / Scrollable list \u2500\u2500 */\n.pins-body {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n/* \u2500\u2500 Empty state \u2500\u2500 */\n.pins-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 12px;\n color: var(--mj-text-muted);\n}\n\n.pins-empty i {\n font-size: 32px;\n opacity: 0.4;\n}\n\n.pins-empty p {\n font-size: 14px;\n margin: 0;\n}\n\n/* \u2500\u2500 Pin Card \u2500\u2500 */\n.pin-card {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-left: 3px solid var(--mj-status-warning);\n transition: opacity 0.2s, transform 0.2s;\n}\n\n.pin-card.unpinning {\n opacity: 0;\n transform: translateX(12px);\n}\n\n.pin-card:hover {\n border-color: var(--mj-border-strong);\n border-left-color: var(--mj-status-warning);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n}\n\n/* Card meta row: avatar+name on left, time on right */\n.pin-card-meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.pin-sender {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.pin-avatar {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.pin-avatar i {\n font-size: 10px;\n color: var(--mj-brand-primary);\n}\n\n.pin-sender-name {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.pin-time {\n font-size: 11px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n\n/* Preview text */\n.pin-preview {\n margin: 0;\n font-size: 13px;\n line-height: 1.5;\n color: var(--mj-text-primary);\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n/* Card action buttons */\n.pin-actions {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n}\n\n.pin-action-btn {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 10px;\n border-radius: 5px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n border: 1px solid var(--mj-border-default);\n}\n\n.pin-action-btn i {\n font-size: 11px;\n}\n\n.jump-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n}\n\n.jump-btn:hover {\n background: var(--mj-brand-primary-hover);\n border-color: var(--mj-brand-primary-hover);\n}\n\n.unpin-btn {\n background: transparent;\n color: var(--mj-text-secondary);\n}\n\n.unpin-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n/* \u2500\u2500 Scrollbar styling \u2500\u2500 */\n.pins-body::-webkit-scrollbar { width: 4px; }\n.pins-body::-webkit-scrollbar-track { background: transparent; }\n.pins-body::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 2px;\n}\n"] }]
|
|
140
156
|
}], null, { pinnedMessages: [{
|
|
141
157
|
type: Input
|
|
158
|
+
}], isLoading: [{
|
|
159
|
+
type: Input
|
|
142
160
|
}], closed: [{
|
|
143
161
|
type: Output
|
|
144
162
|
}], jumpRequested: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinned-messages-panel.component.js","sourceRoot":"","sources":["../../../../src/lib/components/conversation/pinned-messages-panel.component.ts","../../../../src/lib/components/conversation/pinned-messages-panel.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC
|
|
1
|
+
{"version":3,"file":"pinned-messages-panel.component.js","sourceRoot":"","sources":["../../../../src/lib/components/conversation/pinned-messages-panel.component.ts","../../../../src/lib/components/conversation/pinned-messages-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { MJConversationDetailEntity } from '@memberjunction/core-entities';\n\n@Component({\n standalone: false,\n selector: 'mj-pinned-messages-panel',\n templateUrl: './pinned-messages-panel.component.html',\n styleUrls: ['./pinned-messages-panel.component.css']\n})\nexport class PinnedMessagesPanelComponent {\n /**\n * Readonly because the chat area hands over the window store's own pin array by reference —\n * a stable reference between real changes is what keeps this input from re-firing every\n * change detection cycle. The panel renders it; it never mutates it.\n */\n @Input() public pinnedMessages: readonly MJConversationDetailEntity[] = [];\n\n /**\n * True during the panel's first open, while its rows are being fetched.\n *\n * Pins are no longer loaded during conversation open — the open path reads only a count —\n * so the panel can now render before its contents exist.\n */\n @Input() public isLoading = false;\n\n @Output() public closed = new EventEmitter<void>();\n @Output() public jumpRequested = new EventEmitter<string>(); // emits messageId\n @Output() public unpinRequested = new EventEmitter<MJConversationDetailEntity>();\n\n /** IDs currently being removed (for fade-out animation) */\n public unpinningIds = new Set<string>();\n\n public Close(): void {\n this.closed.emit();\n }\n\n public OnJump(message: MJConversationDetailEntity): void {\n this.jumpRequested.emit(message.ID);\n }\n\n public OnUnpin(message: MJConversationDetailEntity): void {\n this.unpinningIds.add(message.ID);\n // Let the card animate out before the parent removes it from the list\n setTimeout(() => {\n this.unpinningIds.delete(message.ID);\n this.unpinRequested.emit(message);\n }, 200);\n }\n\n public IsUnpinning(message: MJConversationDetailEntity): boolean {\n return this.unpinningIds.has(message.ID);\n }\n\n /** Strip markdown to plain prose for card preview */\n public GetPreviewText(message: MJConversationDetailEntity): string {\n const raw = message.Message || '';\n const stripped = raw\n .replace(/```[\\s\\S]*?```/g, '[code]') // fenced code blocks\n .replace(/`[^`]*`/g, '[code]') // inline code\n .replace(/#{1,6}\\s+/g, '') // headings\n .replace(/\\*\\*(.+?)\\*\\*/g, '$1') // bold\n .replace(/\\*(.+?)\\*/g, '$1') // italic\n .replace(/\\[([^\\]]+)\\]\\([^)]+\\)/g, '$1') // links\n .replace(/!\\[([^\\]]*)\\]\\([^)]+\\)/g, '') // images\n .replace(/>\\s+/g, '') // blockquotes\n .replace(/\\n+/g, ' ') // newlines → spaces\n .trim();\n return stripped.length > 200 ? stripped.substring(0, 197) + '…' : stripped;\n }\n\n /** Human-readable relative timestamp */\n public GetRelativeTime(message: MJConversationDetailEntity): string {\n const created = message.__mj_CreatedAt;\n if (!created) return '';\n const diffMs = Date.now() - new Date(created).getTime();\n const mins = Math.floor(diffMs / 60_000);\n const hours = Math.floor(diffMs / 3_600_000);\n const days = Math.floor(diffMs / 86_400_000);\n if (mins < 1) return 'just now';\n if (mins < 60) return `${mins}m ago`;\n if (hours < 24) return `${hours}h ago`;\n if (days === 1) return 'Yesterday';\n if (days < 7) return `${days} days ago`;\n return new Date(created).toLocaleDateString(undefined, { month: 'short', day: 'numeric' });\n }\n\n /** Display name for the message sender */\n public GetSenderName(message: MJConversationDetailEntity): string {\n if (message.Role === 'User') return 'You';\n return 'AI Response';\n }\n}\n","<div class=\"pins-panel\">\n <div class=\"pins-header\">\n <div class=\"pins-title\">\n <i class=\"fas fa-thumbtack\"></i>\n <span>Pinned Messages</span>\n <span class=\"pins-count\">{{ pinnedMessages.length }}</span>\n </div>\n <button class=\"pins-close-btn\" (click)=\"Close()\" title=\"Close\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n\n <div class=\"pins-body\">\n <!-- Rows are fetched on first open now, so \"empty\" and \"not loaded yet\" are different\n states — showing the empty state during the fetch would claim there are no pins. -->\n @if (isLoading) {\n <mj-loading text=\"Loading pinned messages…\" size=\"small\"></mj-loading>\n } @else if (pinnedMessages.length === 0) {\n <mj-empty-state class=\"pins-empty\" Size=\"compact\"\n Icon=\"fa-solid fa-thumbtack\"\n Title=\"No pinned messages\" />\n }\n\n @for (message of pinnedMessages; track message.ID) {\n <div class=\"pin-card\" [class.unpinning]=\"IsUnpinning(message)\">\n <div class=\"pin-card-meta\">\n <div class=\"pin-sender\">\n <div class=\"pin-avatar\">\n <i class=\"fas fa-robot\"></i>\n </div>\n <span class=\"pin-sender-name\">{{ GetSenderName(message) }}</span>\n </div>\n <span class=\"pin-time\">{{ GetRelativeTime(message) }}</span>\n </div>\n\n <p class=\"pin-preview\">{{ GetPreviewText(message) }}</p>\n\n <div class=\"pin-actions\">\n <button class=\"pin-action-btn jump-btn\" (click)=\"OnJump(message)\" title=\"Jump to message\">\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n Jump to message\n </button>\n <button class=\"pin-action-btn unpin-btn\" (click)=\"OnUnpin(message)\" title=\"Unpin this message\">\n <i class=\"fas fa-thumbtack\"></i>\n Unpin\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n"]}
|
|
@@ -575,9 +575,13 @@ export declare class MessageInputComponent extends BaseAngularComponent implemen
|
|
|
575
575
|
protected updateConversationDetail(convoDetail: MJConversationDetailEntity, message: string, status: 'In-Progress' | 'Complete' | 'Error', result?: ExecuteAgentResult): Promise<void>;
|
|
576
576
|
/**
|
|
577
577
|
* Load previous payload for an agent from its most recent OUTPUT artifact.
|
|
578
|
-
*
|
|
579
|
-
*
|
|
580
|
-
*
|
|
578
|
+
*
|
|
579
|
+
* Resolved by QUERY rather than by scanning `conversationHistory`. That array is now the
|
|
580
|
+
* loaded transcript WINDOW, not the full conversation, so a scan silently misses any
|
|
581
|
+
* artifact below the window's oldest row — and a null payload is a legal agent input, so
|
|
582
|
+
* the miss surfaces as the agent regenerating from scratch instead of modifying. Covers
|
|
583
|
+
* system-visibility artifacts (Agent Manager and friends) for free: the query filters on
|
|
584
|
+
* Direction, not on Visibility.
|
|
581
585
|
*/
|
|
582
586
|
private loadPreviousPayloadForAgent;
|
|
583
587
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-input.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input.component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"message-input.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input.component.ts"],"names":[],"mappings":"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"}
|