@messenger-box/tailwind-ui-inbox 10.0.3-alpha.207 → 10.0.3-alpha.211
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/CHANGELOG.md +8 -0
- package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.d.ts +13 -0
- package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.d.ts.map +1 -1
- package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.js +182 -52
- package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.js.map +1 -1
- package/lib/components/InboxMessage/message-widgets/index.d.ts +1 -1
- package/lib/components/InboxMessage/message-widgets/index.d.ts.map +1 -1
- package/lib/components/messages-container-ui/MessagesContainerUI.d.ts +3 -1
- package/lib/components/messages-container-ui/MessagesContainerUI.d.ts.map +1 -1
- package/lib/components/messages-container-ui/MessagesContainerUI.js +4 -2
- package/lib/components/messages-container-ui/MessagesContainerUI.js.map +1 -1
- package/lib/components/messages-container-ui/PlanModeView.d.ts +3 -1
- package/lib/components/messages-container-ui/PlanModeView.d.ts.map +1 -1
- package/lib/components/messages-container-ui/PlanModeView.js +11 -5
- package/lib/components/messages-container-ui/PlanModeView.js.map +1 -1
- package/package.json +4 -4
- package/src/components/InboxMessage/message-widgets/ModernMessageGroup.tsx +192 -48
- package/src/components/InboxMessage/message-widgets/index.ts +6 -1
- package/src/components/messages-container-ui/MessagesContainerUI.tsx +4 -0
- package/src/components/messages-container-ui/PlanModeView.tsx +17 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.0.3-alpha.211](https://github.com/cdmbase/messenger-box/compare/v10.0.3-alpha.210...v10.0.3-alpha.211) (2026-04-17)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
9
|
+
|
|
10
|
+
## [10.0.3-alpha.208](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.207...v10.0.3-alpha.208) (2026-04-10)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
13
|
+
|
|
6
14
|
## [10.0.3-alpha.207](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.206...v10.0.3-alpha.207) (2026-04-10)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
@@ -18,11 +18,24 @@ interface ModernMessageGroupProps {
|
|
|
18
18
|
showCopyDownloadOnCodeBlock?: boolean;
|
|
19
19
|
}
|
|
20
20
|
export declare const groupMessagesByUserAndTime: (messages: IPost[], timeThresholdMinutes?: number) => IPost[][];
|
|
21
|
+
export declare const detectContentType: (value: string) => "html" | "markdown" | "code" | "text";
|
|
22
|
+
export declare const CodeFormatter: React.FC<{
|
|
23
|
+
content: string;
|
|
24
|
+
showCopyDownload?: boolean;
|
|
25
|
+
variant?: 'default' | 'user';
|
|
26
|
+
/** When variant is `user`, use primary-foreground only on plan-mode bubbles (bg-primary). */
|
|
27
|
+
planMode?: boolean;
|
|
28
|
+
}>;
|
|
21
29
|
export declare const FormattedMessageContent: React.FC<{
|
|
22
30
|
content: string;
|
|
23
31
|
variant?: 'default' | 'user';
|
|
24
32
|
/** When variant is `user`, use primary-foreground only on plan-mode bubbles (bg-primary). */
|
|
25
33
|
planMode?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* When true, fenced code blocks use the same copy/download UI as elsewhere.
|
|
36
|
+
* Implemented via react-markdown (safe) instead of raw HTML from marked.
|
|
37
|
+
*/
|
|
38
|
+
showCopyDownloadOnCodeBlock?: boolean;
|
|
26
39
|
}>;
|
|
27
40
|
export declare const ModernMessageGroupComponent: React.FC<ModernMessageGroupProps>;
|
|
28
41
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModernMessageGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/InboxMessage/message-widgets/ModernMessageGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EAAsB,SAAS,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ModernMessageGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/InboxMessage/message-widgets/ModernMessageGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EAAsB,SAAS,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AA8b9D,UAAU,uBAAuB;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,cAAc,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,iGAAiG;IACjG,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACzC;AAiBD,eAAO,MAAM,0BAA0B,GAAI,UAAU,KAAK,EAAE,EAAE,6BAAwB,KAAG,KAAK,EAAE,EAgC/F,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAyDhF,CAAC;AAwVF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAkEA,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACzC,CAqLA,CAAC;AA2eF,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA0DzE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useEffect,useMemo}from'react';import {format,differenceInMinutes}from'date-fns';import {AiAgentMessageRole}from'common';import {Slot}from'@common-stack/components-pro';import {MessengerSlotFillNameEnum}from'../../../enums/messenger-slot-fill-name-enum.js';import {FilesList}from'../../inbox/FilesList.js';import'../../inbox/MessageItem.js';import'../../inbox/ThreadItem.js';import {ErrorFixCard}from'./ErrorFixCard.js';import {marked}from'marked';// Configure marked for better markdown rendering
|
|
1
|
+
import React__default,{useEffect,useMemo}from'react';import {format,differenceInMinutes}from'date-fns';import {AiAgentMessageRole}from'common';import {Slot}from'@common-stack/components-pro';import {MessengerSlotFillNameEnum}from'../../../enums/messenger-slot-fill-name-enum.js';import {FilesList}from'../../inbox/FilesList.js';import'../../inbox/MessageItem.js';import'../../inbox/ThreadItem.js';import {ErrorFixCard}from'./ErrorFixCard.js';import {marked}from'marked';import ReactMarkdown from'react-markdown';import remarkGfm from'remark-gfm';// Configure marked for better markdown rendering
|
|
2
2
|
marked.setOptions({
|
|
3
3
|
breaks: true,
|
|
4
4
|
// Convert line breaks to <br>
|
|
@@ -677,65 +677,114 @@ const CodeBlockWithActions = ({
|
|
|
677
677
|
URL.revokeObjectURL(url);
|
|
678
678
|
}, [content, language]);
|
|
679
679
|
const langLabel = (language || 'code').toUpperCase();
|
|
680
|
+
/**
|
|
681
|
+
* Duplicate / copy: back square offset top-left (only its top-left shows behind),
|
|
682
|
+
* front square on top toward bottom-right — matches typical “two sheets” reference art.
|
|
683
|
+
*/
|
|
684
|
+
const IconCopy = ({
|
|
685
|
+
className
|
|
686
|
+
}) => React__default.createElement("svg", {
|
|
687
|
+
className: className,
|
|
688
|
+
viewBox: "0 0 24 24",
|
|
689
|
+
fill: "none",
|
|
690
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
691
|
+
"aria-hidden": true
|
|
692
|
+
}, React__default.createElement("rect", {
|
|
693
|
+
x: "3.25",
|
|
694
|
+
y: "3.25",
|
|
695
|
+
width: "10.5",
|
|
696
|
+
height: "10.5",
|
|
697
|
+
rx: "2.25",
|
|
698
|
+
ry: "2.25",
|
|
699
|
+
stroke: "currentColor",
|
|
700
|
+
strokeWidth: "1.5",
|
|
701
|
+
strokeLinecap: "round",
|
|
702
|
+
strokeLinejoin: "round"
|
|
703
|
+
}), React__default.createElement("rect", {
|
|
704
|
+
x: "8.75",
|
|
705
|
+
y: "8.75",
|
|
706
|
+
width: "10.5",
|
|
707
|
+
height: "10.5",
|
|
708
|
+
rx: "2.25",
|
|
709
|
+
ry: "2.25",
|
|
710
|
+
stroke: "currentColor",
|
|
711
|
+
strokeWidth: "1.5",
|
|
712
|
+
strokeLinecap: "round",
|
|
713
|
+
strokeLinejoin: "round"
|
|
714
|
+
}));
|
|
715
|
+
/** Arrow into tray (download) */
|
|
716
|
+
const IconDownload = ({
|
|
717
|
+
className
|
|
718
|
+
}) => React__default.createElement("svg", {
|
|
719
|
+
className: className,
|
|
720
|
+
viewBox: "0 0 24 24",
|
|
721
|
+
fill: "none",
|
|
722
|
+
stroke: "currentColor",
|
|
723
|
+
strokeWidth: 1.5,
|
|
724
|
+
strokeLinecap: "round",
|
|
725
|
+
strokeLinejoin: "round",
|
|
726
|
+
"aria-hidden": true
|
|
727
|
+
}, React__default.createElement("path", {
|
|
728
|
+
d: "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"
|
|
729
|
+
}));
|
|
730
|
+
const IconCheck = ({
|
|
731
|
+
className
|
|
732
|
+
}) => React__default.createElement("svg", {
|
|
733
|
+
className: className,
|
|
734
|
+
viewBox: "0 0 24 24",
|
|
735
|
+
fill: "none",
|
|
736
|
+
stroke: "currentColor",
|
|
737
|
+
strokeWidth: 1.75,
|
|
738
|
+
strokeLinecap: "round",
|
|
739
|
+
strokeLinejoin: "round",
|
|
740
|
+
"aria-hidden": true
|
|
741
|
+
}, React__default.createElement("path", {
|
|
742
|
+
d: "M5 13l4 4L19 7"
|
|
743
|
+
}));
|
|
744
|
+
const iconMuted = 'text-slate-500 hover:text-slate-600';
|
|
680
745
|
return React__default.createElement("div", {
|
|
681
|
-
className: "rounded-
|
|
746
|
+
className: "rounded-xl bg-white overflow-hidden my-3 shadow-sm ring-1 ring-slate-200/60"
|
|
682
747
|
}, React__default.createElement("div", {
|
|
683
|
-
className: "flex items-center justify-between px-
|
|
748
|
+
className: "flex items-center justify-between px-4 pt-4 pb-3 bg-white"
|
|
684
749
|
}, React__default.createElement("span", {
|
|
685
|
-
className: "text-
|
|
750
|
+
className: "text-[11px] font-semibold uppercase tracking-wide text-slate-500"
|
|
686
751
|
}, langLabel), React__default.createElement("button", {
|
|
687
752
|
type: "button",
|
|
688
753
|
onClick: handleCopy,
|
|
689
|
-
className:
|
|
754
|
+
className: `p-1 rounded-md hover:bg-slate-100/80 transition-colors ${iconMuted}`,
|
|
690
755
|
title: "Copy",
|
|
691
756
|
"aria-label": "Copy to clipboard"
|
|
692
|
-
}, React__default.createElement(
|
|
693
|
-
className: "w-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
strokeLinecap: "round",
|
|
699
|
-
strokeLinejoin: "round",
|
|
700
|
-
strokeWidth: 2,
|
|
701
|
-
d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h2m8 0h2a2 2 0 012 2v2m0 8V6a2 2 0 012-2h-2m-4 0h-2m-4 0H8"
|
|
702
|
-
})))), React__default.createElement("div", {
|
|
703
|
-
className: "p-4 overflow-x-auto"
|
|
757
|
+
}, React__default.createElement(IconCopy, {
|
|
758
|
+
className: "w-[15px] h-[15px] shrink-0"
|
|
759
|
+
}))), React__default.createElement("div", {
|
|
760
|
+
className: "px-4 pb-4"
|
|
761
|
+
}, React__default.createElement("div", {
|
|
762
|
+
className: "overflow-x-auto bg-white py-4"
|
|
704
763
|
}, React__default.createElement("pre", {
|
|
705
|
-
className: "text-sm text-
|
|
706
|
-
}, React__default.createElement("code",
|
|
707
|
-
className: "
|
|
764
|
+
className: "text-sm text-slate-900 font-mono leading-relaxed whitespace-pre-wrap break-words m-0 p-0 border-0 bg-transparent"
|
|
765
|
+
}, React__default.createElement("code", {
|
|
766
|
+
className: "bg-transparent"
|
|
767
|
+
}, content)))), showCopyDownload && React__default.createElement("div", {
|
|
768
|
+
className: "flex items-center justify-start gap-0.5 px-4 pb-3 pt-0 mt-2 bg-white"
|
|
708
769
|
}, React__default.createElement("button", {
|
|
709
770
|
type: "button",
|
|
710
771
|
onClick: handleCopy,
|
|
711
|
-
className:
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
strokeLinejoin: "round",
|
|
720
|
-
strokeWidth: 2,
|
|
721
|
-
d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h2m8 0h2a2 2 0 012 2v2m0 8V6a2 2 0 012-2h-2m-4 0h-2m-4 0H8"
|
|
722
|
-
})), copied ? 'Copied!' : 'Copy'), React__default.createElement("button", {
|
|
772
|
+
className: `p-1 rounded-md hover:bg-slate-100/80 transition-colors ${iconMuted}`,
|
|
773
|
+
title: copied ? 'Copied' : 'Copy',
|
|
774
|
+
"aria-label": copied ? 'Copied' : 'Copy to clipboard'
|
|
775
|
+
}, copied ? React__default.createElement(IconCheck, {
|
|
776
|
+
className: "w-[15px] h-[15px] text-emerald-600"
|
|
777
|
+
}) : React__default.createElement(IconCopy, {
|
|
778
|
+
className: "w-[15px] h-[15px] shrink-0"
|
|
779
|
+
})), React__default.createElement("button", {
|
|
723
780
|
type: "button",
|
|
724
781
|
onClick: handleDownload,
|
|
725
|
-
className:
|
|
782
|
+
className: `p-1 rounded-md hover:bg-slate-100/80 transition-colors ${iconMuted}`,
|
|
726
783
|
title: "Download",
|
|
727
784
|
"aria-label": "Download"
|
|
728
|
-
}, React__default.createElement(
|
|
729
|
-
className: "w-
|
|
730
|
-
|
|
731
|
-
stroke: "currentColor",
|
|
732
|
-
viewBox: "0 0 24 24"
|
|
733
|
-
}, React__default.createElement("path", {
|
|
734
|
-
strokeLinecap: "round",
|
|
735
|
-
strokeLinejoin: "round",
|
|
736
|
-
strokeWidth: 2,
|
|
737
|
-
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
738
|
-
})), "Download")));
|
|
785
|
+
}, React__default.createElement(IconDownload, {
|
|
786
|
+
className: "w-[15px] h-[15px] shrink-0"
|
|
787
|
+
}))));
|
|
739
788
|
};
|
|
740
789
|
// Infer language from file extension or content
|
|
741
790
|
const inferCodeLanguage = (section, filename) => {
|
|
@@ -792,11 +841,15 @@ const CodeFormatter = ({
|
|
|
792
841
|
const FormattedMessageContent = ({
|
|
793
842
|
content,
|
|
794
843
|
variant = 'default',
|
|
795
|
-
planMode = false
|
|
844
|
+
planMode = false,
|
|
845
|
+
showCopyDownloadOnCodeBlock = false
|
|
796
846
|
}) => {
|
|
797
847
|
if (!content) return null;
|
|
798
848
|
// Parse markdown using marked - be more aggressive in detection
|
|
799
|
-
const
|
|
849
|
+
const {
|
|
850
|
+
htmlContent,
|
|
851
|
+
markdownSource
|
|
852
|
+
} = useMemo(() => {
|
|
800
853
|
try {
|
|
801
854
|
const trimmed = content.trim();
|
|
802
855
|
// Comprehensive markdown detection patterns
|
|
@@ -836,15 +889,90 @@ const FormattedMessageContent = ({
|
|
|
836
889
|
});
|
|
837
890
|
// Only return if parsing actually produced HTML (not just the same text)
|
|
838
891
|
if (parsed && parsed.trim() !== trimmed && parsed.includes('<')) {
|
|
839
|
-
return
|
|
892
|
+
return {
|
|
893
|
+
htmlContent: parsed,
|
|
894
|
+
markdownSource: trimmed
|
|
895
|
+
};
|
|
840
896
|
}
|
|
841
897
|
}
|
|
842
|
-
return
|
|
898
|
+
return {
|
|
899
|
+
htmlContent: null,
|
|
900
|
+
markdownSource: null
|
|
901
|
+
};
|
|
843
902
|
} catch (error) {
|
|
844
903
|
console.error('Error parsing markdown:', error);
|
|
845
|
-
return
|
|
904
|
+
return {
|
|
905
|
+
htmlContent: null,
|
|
906
|
+
markdownSource: null
|
|
907
|
+
};
|
|
846
908
|
}
|
|
847
909
|
}, [content]);
|
|
910
|
+
const proseMarkdownClasses = `text-sm prose prose-sm max-w-none leading-relaxed break-words
|
|
911
|
+
prose-p:my-2 prose-p:text-gray-700
|
|
912
|
+
prose-pre:my-2 prose-pre:bg-transparent prose-pre:border-0 prose-pre:p-0
|
|
913
|
+
prose-ul:my-2 prose-ol:my-2
|
|
914
|
+
prose-code:break-words prose-code:bg-gray-50 prose-code:px-1.5 prose-code:py-0.5 prose-code:rounded prose-code:text-sm prose-code:font-mono
|
|
915
|
+
prose-headings:font-semibold prose-headings:text-gray-900 prose-headings:mt-4 prose-headings:mb-2
|
|
916
|
+
prose-h1:text-2xl prose-h1:border-b prose-h1:border-gray-200 prose-h1:pb-2
|
|
917
|
+
prose-h2:text-xl prose-h2:border-b prose-h2:border-gray-200 prose-h2:pb-1
|
|
918
|
+
prose-h3:text-lg
|
|
919
|
+
prose-h4:text-base
|
|
920
|
+
prose-a:text-blue-600 prose-a:no-underline hover:prose-a:underline
|
|
921
|
+
prose-strong:font-semibold prose-strong:text-gray-900
|
|
922
|
+
prose-em:text-gray-600
|
|
923
|
+
prose-blockquote:border-l-4 prose-blockquote:border-blue-400 prose-blockquote:pl-4 prose-blockquote:py-2 prose-blockquote:bg-blue-50 prose-blockquote:rounded-r-md prose-blockquote:my-3 prose-blockquote:italic
|
|
924
|
+
prose-table:w-full prose-table:border prose-table:border-gray-200 prose-table:rounded-md prose-table:my-4
|
|
925
|
+
prose-th:px-3 prose-th:py-2 prose-th:text-left prose-th:font-semibold prose-th:bg-gray-50 prose-th:border prose-th:border-gray-200
|
|
926
|
+
prose-td:px-3 prose-td:py-2 prose-td:border prose-td:border-gray-200 prose-td:text-gray-700
|
|
927
|
+
prose-li:my-1 prose-li:text-gray-700
|
|
928
|
+
prose-hr:my-4 prose-hr:border-gray-200
|
|
929
|
+
${variant === 'user' ? planMode ? '!prose-p:text-primary-foreground !prose-li:text-primary-foreground !prose-strong:text-primary-foreground !prose-em:text-primary-foreground !prose-a:text-primary-foreground' : '!prose-p:text-gray-900 !prose-li:text-gray-900 !prose-strong:text-gray-900 !prose-em:text-gray-700 !prose-a:text-blue-600' : ''}`;
|
|
930
|
+
const markdownComponents = useMemo(() => ({
|
|
931
|
+
pre: ({
|
|
932
|
+
children
|
|
933
|
+
}) => React__default.createElement(React__default.Fragment, null, children),
|
|
934
|
+
code: ({
|
|
935
|
+
className,
|
|
936
|
+
children,
|
|
937
|
+
...rest
|
|
938
|
+
}) => {
|
|
939
|
+
const match = /language-(\w+)/.exec(className || '');
|
|
940
|
+
const text = String(children).replace(/\n$/, '');
|
|
941
|
+
if (match) {
|
|
942
|
+
return React__default.createElement("div", {
|
|
943
|
+
className: "not-prose max-w-none"
|
|
944
|
+
}, React__default.createElement(CodeBlockWithActions, {
|
|
945
|
+
content: text,
|
|
946
|
+
language: match[1],
|
|
947
|
+
showCopyDownload: showCopyDownloadOnCodeBlock
|
|
948
|
+
}));
|
|
949
|
+
}
|
|
950
|
+
if (text.includes('\n')) {
|
|
951
|
+
return React__default.createElement("div", {
|
|
952
|
+
className: "not-prose max-w-none"
|
|
953
|
+
}, React__default.createElement(CodeBlockWithActions, {
|
|
954
|
+
content: text,
|
|
955
|
+
language: "code",
|
|
956
|
+
showCopyDownload: showCopyDownloadOnCodeBlock
|
|
957
|
+
}));
|
|
958
|
+
}
|
|
959
|
+
return React__default.createElement("code", {
|
|
960
|
+
className: `rounded px-1.5 py-0.5 text-sm font-mono bg-gray-50 break-words ${className || ''}`,
|
|
961
|
+
...rest
|
|
962
|
+
}, children);
|
|
963
|
+
}
|
|
964
|
+
}), [showCopyDownloadOnCodeBlock]);
|
|
965
|
+
// Fenced code copy/download needs React tree (not marked HTML)
|
|
966
|
+
if (showCopyDownloadOnCodeBlock && markdownSource) {
|
|
967
|
+
return React__default.createElement("div", {
|
|
968
|
+
className: variant === 'user' ? '' : 'message-container'
|
|
969
|
+
}, React__default.createElement("div", {
|
|
970
|
+
className: `${proseMarkdownClasses}`
|
|
971
|
+
}, React__default.createElement(ReactMarkdown, {
|
|
972
|
+
remarkPlugins: [remarkGfm],
|
|
973
|
+
components: markdownComponents
|
|
974
|
+
}, markdownSource)));
|
|
975
|
+
}
|
|
848
976
|
// If markdown was parsed, render as HTML with prose styling
|
|
849
977
|
if (htmlContent) {
|
|
850
978
|
return React__default.createElement("div", {
|
|
@@ -1060,7 +1188,8 @@ const ModernMessageBubble = ({
|
|
|
1060
1188
|
return React__default.createElement(FormattedMessageContent, {
|
|
1061
1189
|
content: message.message,
|
|
1062
1190
|
variant: isAssistantRole ? 'default' : 'user',
|
|
1063
|
-
planMode: !isAssistantRole && isPlanMode
|
|
1191
|
+
planMode: !isAssistantRole && isPlanMode,
|
|
1192
|
+
showCopyDownloadOnCodeBlock: showCopyDownloadOnCodeBlock
|
|
1064
1193
|
});
|
|
1065
1194
|
}
|
|
1066
1195
|
})()), tryExtractBuilderBlocks(message?.message)?.length ? React__default.createElement("div", {
|
|
@@ -1138,7 +1267,8 @@ const ModernMessageBubble = ({
|
|
|
1138
1267
|
// Handle both 'markdown' and 'text' - FormattedMessageContent
|
|
1139
1268
|
// will detect markdown patterns and render accordingly
|
|
1140
1269
|
return React__default.createElement(FormattedMessageContent, {
|
|
1141
|
-
content: message.message
|
|
1270
|
+
content: message.message,
|
|
1271
|
+
showCopyDownloadOnCodeBlock: showCopyDownloadOnCodeBlock
|
|
1142
1272
|
});
|
|
1143
1273
|
}
|
|
1144
1274
|
})()), !hasStreamingSlot && tryExtractBuilderBlocks(message?.message)?.length ? React__default.createElement("div", {
|
|
@@ -1206,4 +1336,4 @@ const ModernMessageGroupComponent = ({
|
|
|
1206
1336
|
currentFiles: currentFiles,
|
|
1207
1337
|
isFixing: false
|
|
1208
1338
|
}))));
|
|
1209
|
-
};export{FormattedMessageContent,ModernMessageGroupComponent,groupMessagesByUserAndTime};//# sourceMappingURL=ModernMessageGroup.js.map
|
|
1339
|
+
};export{CodeFormatter,FormattedMessageContent,ModernMessageGroupComponent,detectContentType,groupMessagesByUserAndTime};//# sourceMappingURL=ModernMessageGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModernMessageGroup.js","sources":["../../../../src/components/InboxMessage/message-widgets/ModernMessageGroup.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModernMessageGroup.js","sources":["../../../../src/components/InboxMessage/message-widgets/ModernMessageGroup.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { MessageSliceRenderer } from './MessageSliceRenderer';
|
|
2
2
|
export { SlackLikeMessageGroup } from './SlackLikeMessageGroup';
|
|
3
|
-
export { FormattedMessageContent, ModernMessageGroupComponent } from './ModernMessageGroup';
|
|
3
|
+
export { CodeFormatter, detectContentType, FormattedMessageContent, ModernMessageGroupComponent, } from './ModernMessageGroup';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/InboxMessage/message-widgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/InboxMessage/message-widgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACH,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,GAC9B,MAAM,sBAAsB,CAAC"}
|
|
@@ -68,12 +68,14 @@ export interface MessagesContainerUIProps {
|
|
|
68
68
|
contentClassName?: string;
|
|
69
69
|
/** Optional: className applied to the post container inside PlanModeView. */
|
|
70
70
|
postContainerClassName?: string;
|
|
71
|
+
/** When true, code blocks show copy and download actions (default: true). */
|
|
72
|
+
showCopyDownloadOnCodeBlock?: boolean;
|
|
71
73
|
}
|
|
72
74
|
/**
|
|
73
75
|
* Messages container UI for plan mode (chat / search / research).
|
|
74
76
|
* Uses ModernMessageGroupComponent for message display (same as AIAgent).
|
|
75
77
|
* Renders message list + streaming + loading state and delegates input to renderInputToolbar.
|
|
76
78
|
*/
|
|
77
|
-
export declare function MessagesContainerUI({ messages, streamingContent, currentUser, onSend, className, scrollContainerRef, planModeViewClassName, planModeScrollContainerClassName, hideScrollbar, disabled, isLoading, onStop, showDate, showAvatar, showMessageBubbleBorder, useInternalScroll, hideInputToolbar, inputPlacement, renderInputToolbar, onOpen, onMessageClick, isDesktopView, isSmallScreen, sandboxErrors, currentFiles, onFixError, error, onRetry, renderEmptyState, scrollToBottomDeps, contentClassName, postContainerClassName, }: MessagesContainerUIProps): React.JSX.Element;
|
|
79
|
+
export declare function MessagesContainerUI({ messages, streamingContent, currentUser, onSend, className, scrollContainerRef, planModeViewClassName, planModeScrollContainerClassName, hideScrollbar, disabled, isLoading, onStop, showDate, showAvatar, showMessageBubbleBorder, useInternalScroll, hideInputToolbar, inputPlacement, renderInputToolbar, onOpen, onMessageClick, isDesktopView, isSmallScreen, sandboxErrors, currentFiles, onFixError, error, onRetry, renderEmptyState, scrollToBottomDeps, contentClassName, postContainerClassName, showCopyDownloadOnCodeBlock, }: MessagesContainerUIProps): React.JSX.Element;
|
|
78
80
|
export default MessagesContainerUI;
|
|
79
81
|
//# sourceMappingURL=MessagesContainerUI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagesContainerUI.d.ts","sourceRoot":"","sources":["../../../src/components/messages-container-ui/MessagesContainerUI.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAChF,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/C,+DAA+D;IAC/D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2EAA2E;IAC3E,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IAC9C,kEAAkE;IAClE,kBAAkB,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E,wEAAwE;IACxE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,iBAAiB,EAAE,6BAA6B,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAClG;;;OAGG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAC1C,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MessagesContainerUI.d.ts","sourceRoot":"","sources":["../../../src/components/messages-container-ui/MessagesContainerUI.tsx"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,8 @@ function MessagesContainerUI({
|
|
|
35
35
|
renderEmptyState,
|
|
36
36
|
scrollToBottomDeps,
|
|
37
37
|
contentClassName,
|
|
38
|
-
postContainerClassName
|
|
38
|
+
postContainerClassName,
|
|
39
|
+
showCopyDownloadOnCodeBlock = true
|
|
39
40
|
}) {
|
|
40
41
|
return React__default.createElement("div", {
|
|
41
42
|
className: clsx('flex flex-col flex-1 min-h-0', className)
|
|
@@ -70,6 +71,7 @@ function MessagesContainerUI({
|
|
|
70
71
|
renderEmptyState: renderEmptyState,
|
|
71
72
|
scrollToBottomDeps: scrollToBottomDeps,
|
|
72
73
|
contentClassName: contentClassName,
|
|
73
|
-
postContainerClassName: postContainerClassName
|
|
74
|
+
postContainerClassName: postContainerClassName,
|
|
75
|
+
showCopyDownloadOnCodeBlock: showCopyDownloadOnCodeBlock
|
|
74
76
|
}));
|
|
75
77
|
}export{MessagesContainerUI};//# sourceMappingURL=MessagesContainerUI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagesContainerUI.js","sources":["../../../src/components/messages-container-ui/MessagesContainerUI.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessagesContainerUI.js","sources":["../../../src/components/messages-container-ui/MessagesContainerUI.tsx"],"sourcesContent":[null],"names":[],"mappings":"sGAsEA;;;;AAIG;AACG,SAAU,mBAAmB,CAAC;UAmChC;AAEQ,EAAA,gBAAA;AAoCZ,EAAC,WAAA;AAED,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -75,6 +75,8 @@ export interface PlanModeViewProps {
|
|
|
75
75
|
* Lets the parent force scroll on each stream chunk when the internal ResizeObserver/layout effect miss.
|
|
76
76
|
*/
|
|
77
77
|
scrollToBottomDeps?: React.DependencyList;
|
|
78
|
+
/** When true, fenced / raw code blocks show copy and download actions (default: true). */
|
|
79
|
+
showCopyDownloadOnCodeBlock?: boolean;
|
|
78
80
|
}
|
|
79
|
-
export declare function PlanModeView({ messages, streamingContent, currentUser, onSend, disabled, isLoading, onStop, showDate, showAvatar, showMessageBubbleBorder, useInternalScroll, scrollContainerRef, scrollContainerClassName, hideScrollbar, contentClassName, postContainerClassName, className, hideInputToolbar, inputPlacement, renderInputToolbar, onOpen, onMessageClick, isDesktopView, isSmallScreen, sandboxErrors, currentFiles, onFixError, error, onRetry, renderEmptyState, scrollToBottomDeps, }: PlanModeViewProps): React.JSX.Element;
|
|
81
|
+
export declare function PlanModeView({ messages, streamingContent, currentUser, onSend, disabled, isLoading, onStop, showDate, showAvatar, showMessageBubbleBorder, useInternalScroll, scrollContainerRef, scrollContainerClassName, hideScrollbar, contentClassName, postContainerClassName, className, hideInputToolbar, inputPlacement, renderInputToolbar, onOpen, onMessageClick, isDesktopView, isSmallScreen, sandboxErrors, currentFiles, onFixError, error, onRetry, renderEmptyState, scrollToBottomDeps, showCopyDownloadOnCodeBlock, }: PlanModeViewProps): React.JSX.Element;
|
|
80
82
|
//# sourceMappingURL=PlanModeView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanModeView.d.ts","sourceRoot":"","sources":["../../../src/components/messages-container-ui/PlanModeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PlanModeView.d.ts","sourceRoot":"","sources":["../../../src/components/messages-container-ui/PlanModeView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useRef,useCallback,useMemo,useLayoutEffect,useEffect}from'react';import clsx from'clsx';import {ModernMessageGroupComponent,FormattedMessageContent}from'../InboxMessage/message-widgets/ModernMessageGroup.js';import {AiAgentMessageRole,PostTypeEnum}from'common';const ASSISTANT_BUBBLE_BG = 'bg-white';
|
|
1
|
+
import React__default,{useState,useRef,useCallback,useMemo,useLayoutEffect,useEffect}from'react';import clsx from'clsx';import {ModernMessageGroupComponent,detectContentType,CodeFormatter,FormattedMessageContent}from'../InboxMessage/message-widgets/ModernMessageGroup.js';import {AiAgentMessageRole,PostTypeEnum}from'common';const ASSISTANT_BUBBLE_BG = 'bg-white';
|
|
2
2
|
const BORDER_COLOR = 'border-gray-200';
|
|
3
3
|
const HIDE_SCROLLBAR_CSS = `
|
|
4
4
|
/* Hide scrollbar while keeping scrollability */
|
|
@@ -99,7 +99,8 @@ function PlanModeView({
|
|
|
99
99
|
error = null,
|
|
100
100
|
onRetry,
|
|
101
101
|
renderEmptyState,
|
|
102
|
-
scrollToBottomDeps
|
|
102
|
+
scrollToBottomDeps,
|
|
103
|
+
showCopyDownloadOnCodeBlock = true
|
|
103
104
|
}) {
|
|
104
105
|
const [inputValue, setInputValue] = useState('');
|
|
105
106
|
const internalListRef = useRef(null);
|
|
@@ -238,15 +239,20 @@ function PlanModeView({
|
|
|
238
239
|
showTimestamp: showDate,
|
|
239
240
|
sandboxErrors: sandboxErrors,
|
|
240
241
|
currentFiles: currentFiles,
|
|
241
|
-
onFixError: onFixError
|
|
242
|
+
onFixError: onFixError,
|
|
243
|
+
showCopyDownloadOnCodeBlock: showCopyDownloadOnCodeBlock
|
|
242
244
|
}))), streamingContent?.trim() && React__default.createElement("div", {
|
|
243
245
|
className: "flex justify-start"
|
|
244
246
|
}, React__default.createElement("div", {
|
|
245
247
|
className: `max-w-[85%] rounded-2xl px-4 py-3 ${ASSISTANT_BUBBLE_BG} text-gray-900 ${showMessageBubbleBorder ? `border ${BORDER_COLOR}` : ''}`
|
|
246
248
|
}, React__default.createElement("div", {
|
|
247
249
|
className: "text-[15px] leading-relaxed break-words min-w-0"
|
|
248
|
-
}, React__default.createElement(
|
|
249
|
-
content: streamingContent
|
|
250
|
+
}, detectContentType(streamingContent) === 'code' ? React__default.createElement(CodeFormatter, {
|
|
251
|
+
content: streamingContent,
|
|
252
|
+
showCopyDownload: showCopyDownloadOnCodeBlock
|
|
253
|
+
}) : React__default.createElement(FormattedMessageContent, {
|
|
254
|
+
content: streamingContent,
|
|
255
|
+
showCopyDownloadOnCodeBlock: showCopyDownloadOnCodeBlock
|
|
250
256
|
})))), isLoading && React__default.createElement("div", {
|
|
251
257
|
className: "flex justify-start"
|
|
252
258
|
}, React__default.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanModeView.js","sources":["../../../src/components/messages-container-ui/PlanModeView.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlanModeView.js","sources":["../../../src/components/messages-container-ui/PlanModeView.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@messenger-box/tailwind-ui-inbox",
|
|
3
|
-
"version": "10.0.3-alpha.
|
|
3
|
+
"version": "10.0.3-alpha.211",
|
|
4
4
|
"description": "Inbox UI components built with TailwindCSS",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"watch": "npm run build:lib:watch"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@messenger-box/core": "10.0.3-alpha.
|
|
25
|
-
"@messenger-box/platform-client": "10.0.3-alpha.
|
|
24
|
+
"@messenger-box/core": "10.0.3-alpha.211",
|
|
25
|
+
"@messenger-box/platform-client": "10.0.3-alpha.211",
|
|
26
26
|
"@monaco-editor/react": "^4.7.0",
|
|
27
27
|
"date-fns": "^4.1.0",
|
|
28
28
|
"date-fns-tz": "^3.2.0",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"typescript": {
|
|
64
64
|
"definition": "lib/index.d.ts"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "ce4867062199153ff485acd98e57e38de13f0aa2"
|
|
67
67
|
}
|
|
@@ -6,6 +6,8 @@ import { MessengerSlotFillNameEnum } from '../../../enums';
|
|
|
6
6
|
import { FilesList } from '../../inbox';
|
|
7
7
|
import { ErrorFixCard } from './ErrorFixCard';
|
|
8
8
|
import { marked } from 'marked';
|
|
9
|
+
import ReactMarkdown from 'react-markdown';
|
|
10
|
+
import remarkGfm from 'remark-gfm';
|
|
9
11
|
|
|
10
12
|
// Configure marked for better markdown rendering
|
|
11
13
|
marked.setOptions({
|
|
@@ -512,7 +514,7 @@ export const groupMessagesByUserAndTime = (messages: IPost[], timeThresholdMinut
|
|
|
512
514
|
};
|
|
513
515
|
|
|
514
516
|
// Enhanced content detection that properly identifies different content types
|
|
515
|
-
const detectContentType = (value: string): 'html' | 'markdown' | 'code' | 'text' => {
|
|
517
|
+
export const detectContentType = (value: string): 'html' | 'markdown' | 'code' | 'text' => {
|
|
516
518
|
if (!value) return 'text';
|
|
517
519
|
|
|
518
520
|
const trimmed = value.trim();
|
|
@@ -773,68 +775,118 @@ const CodeBlockWithActions: React.FC<{
|
|
|
773
775
|
|
|
774
776
|
const langLabel = (language || 'code').toUpperCase();
|
|
775
777
|
|
|
778
|
+
/**
|
|
779
|
+
* Duplicate / copy: back square offset top-left (only its top-left shows behind),
|
|
780
|
+
* front square on top toward bottom-right — matches typical “two sheets” reference art.
|
|
781
|
+
*/
|
|
782
|
+
const IconCopy = ({ className }: { className?: string }) => (
|
|
783
|
+
<svg className={className} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden>
|
|
784
|
+
<rect
|
|
785
|
+
x="3.25"
|
|
786
|
+
y="3.25"
|
|
787
|
+
width="10.5"
|
|
788
|
+
height="10.5"
|
|
789
|
+
rx="2.25"
|
|
790
|
+
ry="2.25"
|
|
791
|
+
stroke="currentColor"
|
|
792
|
+
strokeWidth="1.5"
|
|
793
|
+
strokeLinecap="round"
|
|
794
|
+
strokeLinejoin="round"
|
|
795
|
+
/>
|
|
796
|
+
<rect
|
|
797
|
+
x="8.75"
|
|
798
|
+
y="8.75"
|
|
799
|
+
width="10.5"
|
|
800
|
+
height="10.5"
|
|
801
|
+
rx="2.25"
|
|
802
|
+
ry="2.25"
|
|
803
|
+
stroke="currentColor"
|
|
804
|
+
strokeWidth="1.5"
|
|
805
|
+
strokeLinecap="round"
|
|
806
|
+
strokeLinejoin="round"
|
|
807
|
+
/>
|
|
808
|
+
</svg>
|
|
809
|
+
);
|
|
810
|
+
|
|
811
|
+
/** Arrow into tray (download) */
|
|
812
|
+
const IconDownload = ({ className }: { className?: string }) => (
|
|
813
|
+
<svg
|
|
814
|
+
className={className}
|
|
815
|
+
viewBox="0 0 24 24"
|
|
816
|
+
fill="none"
|
|
817
|
+
stroke="currentColor"
|
|
818
|
+
strokeWidth={1.5}
|
|
819
|
+
strokeLinecap="round"
|
|
820
|
+
strokeLinejoin="round"
|
|
821
|
+
aria-hidden
|
|
822
|
+
>
|
|
823
|
+
<path d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3" />
|
|
824
|
+
</svg>
|
|
825
|
+
);
|
|
826
|
+
|
|
827
|
+
const IconCheck = ({ className }: { className?: string }) => (
|
|
828
|
+
<svg
|
|
829
|
+
className={className}
|
|
830
|
+
viewBox="0 0 24 24"
|
|
831
|
+
fill="none"
|
|
832
|
+
stroke="currentColor"
|
|
833
|
+
strokeWidth={1.75}
|
|
834
|
+
strokeLinecap="round"
|
|
835
|
+
strokeLinejoin="round"
|
|
836
|
+
aria-hidden
|
|
837
|
+
>
|
|
838
|
+
<path d="M5 13l4 4L19 7" />
|
|
839
|
+
</svg>
|
|
840
|
+
);
|
|
841
|
+
|
|
842
|
+
const iconMuted = 'text-slate-500 hover:text-slate-600';
|
|
843
|
+
|
|
776
844
|
return (
|
|
777
|
-
<div className="rounded-
|
|
778
|
-
{/* Header:
|
|
779
|
-
<div className="flex items-center justify-between px-
|
|
780
|
-
<span className="text-
|
|
845
|
+
<div className="rounded-xl bg-white overflow-hidden my-3 shadow-sm ring-1 ring-slate-200/60">
|
|
846
|
+
{/* Header: label + copy — padding aligned with inner code gutter (image 3) */}
|
|
847
|
+
<div className="flex items-center justify-between px-4 pt-4 pb-3 bg-white">
|
|
848
|
+
<span className="text-[11px] font-semibold uppercase tracking-wide text-slate-500">{langLabel}</span>
|
|
781
849
|
<button
|
|
782
850
|
type="button"
|
|
783
851
|
onClick={handleCopy}
|
|
784
|
-
className=
|
|
852
|
+
className={`p-1 rounded-md hover:bg-slate-100/80 transition-colors ${iconMuted}`}
|
|
785
853
|
title="Copy"
|
|
786
854
|
aria-label="Copy to clipboard"
|
|
787
855
|
>
|
|
788
|
-
<
|
|
789
|
-
<path
|
|
790
|
-
strokeLinecap="round"
|
|
791
|
-
strokeLinejoin="round"
|
|
792
|
-
strokeWidth={2}
|
|
793
|
-
d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h2m8 0h2a2 2 0 012 2v2m0 8V6a2 2 0 012-2h-2m-4 0h-2m-4 0H8"
|
|
794
|
-
/>
|
|
795
|
-
</svg>
|
|
856
|
+
<IconCopy className="w-[15px] h-[15px] shrink-0" />
|
|
796
857
|
</button>
|
|
797
858
|
</div>
|
|
798
|
-
{/* Code
|
|
799
|
-
<div className="
|
|
800
|
-
<
|
|
801
|
-
<
|
|
802
|
-
|
|
859
|
+
{/* Code body: white, no inner border (single flat surface inside the card) */}
|
|
860
|
+
<div className="px-4 pb-4">
|
|
861
|
+
<div className="overflow-x-auto bg-white py-4">
|
|
862
|
+
<pre className="text-sm text-slate-900 font-mono leading-relaxed whitespace-pre-wrap break-words m-0 p-0 border-0 bg-transparent">
|
|
863
|
+
<code className="bg-transparent">{content}</code>
|
|
864
|
+
</pre>
|
|
865
|
+
</div>
|
|
803
866
|
</div>
|
|
804
|
-
{/* Footer: copy + download when showCopyDownload */}
|
|
805
867
|
{showCopyDownload && (
|
|
806
|
-
<div className="flex items-center gap-
|
|
868
|
+
<div className="flex items-center justify-start gap-0.5 px-4 pb-3 pt-0 mt-2 bg-white">
|
|
807
869
|
<button
|
|
808
870
|
type="button"
|
|
809
871
|
onClick={handleCopy}
|
|
810
|
-
className=
|
|
872
|
+
className={`p-1 rounded-md hover:bg-slate-100/80 transition-colors ${iconMuted}`}
|
|
873
|
+
title={copied ? 'Copied' : 'Copy'}
|
|
874
|
+
aria-label={copied ? 'Copied' : 'Copy to clipboard'}
|
|
811
875
|
>
|
|
812
|
-
|
|
813
|
-
<
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h2m8 0h2a2 2 0 012 2v2m0 8V6a2 2 0 012-2h-2m-4 0h-2m-4 0H8"
|
|
818
|
-
/>
|
|
819
|
-
</svg>
|
|
820
|
-
{copied ? 'Copied!' : 'Copy'}
|
|
876
|
+
{copied ? (
|
|
877
|
+
<IconCheck className="w-[15px] h-[15px] text-emerald-600" />
|
|
878
|
+
) : (
|
|
879
|
+
<IconCopy className="w-[15px] h-[15px] shrink-0" />
|
|
880
|
+
)}
|
|
821
881
|
</button>
|
|
822
882
|
<button
|
|
823
883
|
type="button"
|
|
824
884
|
onClick={handleDownload}
|
|
825
|
-
className=
|
|
885
|
+
className={`p-1 rounded-md hover:bg-slate-100/80 transition-colors ${iconMuted}`}
|
|
826
886
|
title="Download"
|
|
827
887
|
aria-label="Download"
|
|
828
888
|
>
|
|
829
|
-
<
|
|
830
|
-
<path
|
|
831
|
-
strokeLinecap="round"
|
|
832
|
-
strokeLinejoin="round"
|
|
833
|
-
strokeWidth={2}
|
|
834
|
-
d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
835
|
-
/>
|
|
836
|
-
</svg>
|
|
837
|
-
Download
|
|
889
|
+
<IconDownload className="w-[15px] h-[15px] shrink-0" />
|
|
838
890
|
</button>
|
|
839
891
|
</div>
|
|
840
892
|
)}
|
|
@@ -863,7 +915,7 @@ const inferCodeLanguage = (section: string, filename?: string): string => {
|
|
|
863
915
|
};
|
|
864
916
|
|
|
865
917
|
// Enhanced code formatter for raw code content
|
|
866
|
-
const CodeFormatter: React.FC<{
|
|
918
|
+
export const CodeFormatter: React.FC<{
|
|
867
919
|
content: string;
|
|
868
920
|
showCopyDownload?: boolean;
|
|
869
921
|
variant?: 'default' | 'user';
|
|
@@ -943,11 +995,16 @@ export const FormattedMessageContent: React.FC<{
|
|
|
943
995
|
variant?: 'default' | 'user';
|
|
944
996
|
/** When variant is `user`, use primary-foreground only on plan-mode bubbles (bg-primary). */
|
|
945
997
|
planMode?: boolean;
|
|
946
|
-
|
|
998
|
+
/**
|
|
999
|
+
* When true, fenced code blocks use the same copy/download UI as elsewhere.
|
|
1000
|
+
* Implemented via react-markdown (safe) instead of raw HTML from marked.
|
|
1001
|
+
*/
|
|
1002
|
+
showCopyDownloadOnCodeBlock?: boolean;
|
|
1003
|
+
}> = ({ content, variant = 'default', planMode = false, showCopyDownloadOnCodeBlock = false }) => {
|
|
947
1004
|
if (!content) return null;
|
|
948
1005
|
|
|
949
1006
|
// Parse markdown using marked - be more aggressive in detection
|
|
950
|
-
const htmlContent = useMemo(() => {
|
|
1007
|
+
const { htmlContent, markdownSource } = useMemo(() => {
|
|
951
1008
|
try {
|
|
952
1009
|
const trimmed = content.trim();
|
|
953
1010
|
|
|
@@ -980,17 +1037,98 @@ export const FormattedMessageContent: React.FC<{
|
|
|
980
1037
|
const parsed = marked.parse(trimmed, { async: false }) as string;
|
|
981
1038
|
// Only return if parsing actually produced HTML (not just the same text)
|
|
982
1039
|
if (parsed && parsed.trim() !== trimmed && parsed.includes('<')) {
|
|
983
|
-
return parsed;
|
|
1040
|
+
return { htmlContent: parsed, markdownSource: trimmed as string };
|
|
984
1041
|
}
|
|
985
1042
|
}
|
|
986
1043
|
|
|
987
|
-
return null;
|
|
1044
|
+
return { htmlContent: null as string | null, markdownSource: null as string | null };
|
|
988
1045
|
} catch (error) {
|
|
989
1046
|
console.error('Error parsing markdown:', error);
|
|
990
|
-
return null;
|
|
1047
|
+
return { htmlContent: null as string | null, markdownSource: null as string | null };
|
|
991
1048
|
}
|
|
992
1049
|
}, [content]);
|
|
993
1050
|
|
|
1051
|
+
const proseMarkdownClasses = `text-sm prose prose-sm max-w-none leading-relaxed break-words
|
|
1052
|
+
prose-p:my-2 prose-p:text-gray-700
|
|
1053
|
+
prose-pre:my-2 prose-pre:bg-transparent prose-pre:border-0 prose-pre:p-0
|
|
1054
|
+
prose-ul:my-2 prose-ol:my-2
|
|
1055
|
+
prose-code:break-words prose-code:bg-gray-50 prose-code:px-1.5 prose-code:py-0.5 prose-code:rounded prose-code:text-sm prose-code:font-mono
|
|
1056
|
+
prose-headings:font-semibold prose-headings:text-gray-900 prose-headings:mt-4 prose-headings:mb-2
|
|
1057
|
+
prose-h1:text-2xl prose-h1:border-b prose-h1:border-gray-200 prose-h1:pb-2
|
|
1058
|
+
prose-h2:text-xl prose-h2:border-b prose-h2:border-gray-200 prose-h2:pb-1
|
|
1059
|
+
prose-h3:text-lg
|
|
1060
|
+
prose-h4:text-base
|
|
1061
|
+
prose-a:text-blue-600 prose-a:no-underline hover:prose-a:underline
|
|
1062
|
+
prose-strong:font-semibold prose-strong:text-gray-900
|
|
1063
|
+
prose-em:text-gray-600
|
|
1064
|
+
prose-blockquote:border-l-4 prose-blockquote:border-blue-400 prose-blockquote:pl-4 prose-blockquote:py-2 prose-blockquote:bg-blue-50 prose-blockquote:rounded-r-md prose-blockquote:my-3 prose-blockquote:italic
|
|
1065
|
+
prose-table:w-full prose-table:border prose-table:border-gray-200 prose-table:rounded-md prose-table:my-4
|
|
1066
|
+
prose-th:px-3 prose-th:py-2 prose-th:text-left prose-th:font-semibold prose-th:bg-gray-50 prose-th:border prose-th:border-gray-200
|
|
1067
|
+
prose-td:px-3 prose-td:py-2 prose-td:border prose-td:border-gray-200 prose-td:text-gray-700
|
|
1068
|
+
prose-li:my-1 prose-li:text-gray-700
|
|
1069
|
+
prose-hr:my-4 prose-hr:border-gray-200
|
|
1070
|
+
${
|
|
1071
|
+
variant === 'user'
|
|
1072
|
+
? planMode
|
|
1073
|
+
? '!prose-p:text-primary-foreground !prose-li:text-primary-foreground !prose-strong:text-primary-foreground !prose-em:text-primary-foreground !prose-a:text-primary-foreground'
|
|
1074
|
+
: '!prose-p:text-gray-900 !prose-li:text-gray-900 !prose-strong:text-gray-900 !prose-em:text-gray-700 !prose-a:text-blue-600'
|
|
1075
|
+
: ''
|
|
1076
|
+
}`;
|
|
1077
|
+
|
|
1078
|
+
const markdownComponents = useMemo(
|
|
1079
|
+
() => ({
|
|
1080
|
+
pre: ({ children }: { children?: React.ReactNode }) => <>{children}</>,
|
|
1081
|
+
code: ({ className, children, ...rest }: { className?: string; children?: React.ReactNode }) => {
|
|
1082
|
+
const match = /language-(\w+)/.exec(className || '');
|
|
1083
|
+
const text = String(children).replace(/\n$/, '');
|
|
1084
|
+
if (match) {
|
|
1085
|
+
return (
|
|
1086
|
+
<div className="not-prose max-w-none">
|
|
1087
|
+
<CodeBlockWithActions
|
|
1088
|
+
content={text}
|
|
1089
|
+
language={match[1]}
|
|
1090
|
+
showCopyDownload={showCopyDownloadOnCodeBlock}
|
|
1091
|
+
/>
|
|
1092
|
+
</div>
|
|
1093
|
+
);
|
|
1094
|
+
}
|
|
1095
|
+
if (text.includes('\n')) {
|
|
1096
|
+
return (
|
|
1097
|
+
<div className="not-prose max-w-none">
|
|
1098
|
+
<CodeBlockWithActions
|
|
1099
|
+
content={text}
|
|
1100
|
+
language="code"
|
|
1101
|
+
showCopyDownload={showCopyDownloadOnCodeBlock}
|
|
1102
|
+
/>
|
|
1103
|
+
</div>
|
|
1104
|
+
);
|
|
1105
|
+
}
|
|
1106
|
+
return (
|
|
1107
|
+
<code
|
|
1108
|
+
className={`rounded px-1.5 py-0.5 text-sm font-mono bg-gray-50 break-words ${className || ''}`}
|
|
1109
|
+
{...rest}
|
|
1110
|
+
>
|
|
1111
|
+
{children}
|
|
1112
|
+
</code>
|
|
1113
|
+
);
|
|
1114
|
+
},
|
|
1115
|
+
}),
|
|
1116
|
+
[showCopyDownloadOnCodeBlock],
|
|
1117
|
+
);
|
|
1118
|
+
|
|
1119
|
+
// Fenced code copy/download needs React tree (not marked HTML)
|
|
1120
|
+
if (showCopyDownloadOnCodeBlock && markdownSource) {
|
|
1121
|
+
return (
|
|
1122
|
+
<div className={variant === 'user' ? '' : 'message-container'}>
|
|
1123
|
+
<div className={`${proseMarkdownClasses}`}>
|
|
1124
|
+
<ReactMarkdown remarkPlugins={[remarkGfm]} components={markdownComponents}>
|
|
1125
|
+
{markdownSource}
|
|
1126
|
+
</ReactMarkdown>
|
|
1127
|
+
</div>
|
|
1128
|
+
</div>
|
|
1129
|
+
);
|
|
1130
|
+
}
|
|
1131
|
+
|
|
994
1132
|
// If markdown was parsed, render as HTML with prose styling
|
|
995
1133
|
if (htmlContent) {
|
|
996
1134
|
return (
|
|
@@ -1332,6 +1470,7 @@ const ModernMessageBubble: React.FC<ModernMessageBubbleProps> = ({
|
|
|
1332
1470
|
content={message.message}
|
|
1333
1471
|
variant={isAssistantRole ? 'default' : 'user'}
|
|
1334
1472
|
planMode={!isAssistantRole && isPlanMode}
|
|
1473
|
+
showCopyDownloadOnCodeBlock={showCopyDownloadOnCodeBlock}
|
|
1335
1474
|
/>
|
|
1336
1475
|
);
|
|
1337
1476
|
}
|
|
@@ -1458,7 +1597,12 @@ const ModernMessageBubble: React.FC<ModernMessageBubbleProps> = ({
|
|
|
1458
1597
|
} else {
|
|
1459
1598
|
// Handle both 'markdown' and 'text' - FormattedMessageContent
|
|
1460
1599
|
// will detect markdown patterns and render accordingly
|
|
1461
|
-
return
|
|
1600
|
+
return (
|
|
1601
|
+
<FormattedMessageContent
|
|
1602
|
+
content={message.message}
|
|
1603
|
+
showCopyDownloadOnCodeBlock={showCopyDownloadOnCodeBlock}
|
|
1604
|
+
/>
|
|
1605
|
+
);
|
|
1462
1606
|
}
|
|
1463
1607
|
})()}
|
|
1464
1608
|
</div>
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
export { MessageSliceRenderer } from './MessageSliceRenderer';
|
|
2
2
|
export { SlackLikeMessageGroup } from './SlackLikeMessageGroup';
|
|
3
|
-
export {
|
|
3
|
+
export {
|
|
4
|
+
CodeFormatter,
|
|
5
|
+
detectContentType,
|
|
6
|
+
FormattedMessageContent,
|
|
7
|
+
ModernMessageGroupComponent,
|
|
8
|
+
} from './ModernMessageGroup';
|
|
@@ -64,6 +64,8 @@ export interface MessagesContainerUIProps {
|
|
|
64
64
|
contentClassName?: string;
|
|
65
65
|
/** Optional: className applied to the post container inside PlanModeView. */
|
|
66
66
|
postContainerClassName?: string;
|
|
67
|
+
/** When true, code blocks show copy and download actions (default: true). */
|
|
68
|
+
showCopyDownloadOnCodeBlock?: boolean;
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
/**
|
|
@@ -104,6 +106,7 @@ export function MessagesContainerUI({
|
|
|
104
106
|
scrollToBottomDeps,
|
|
105
107
|
contentClassName,
|
|
106
108
|
postContainerClassName,
|
|
109
|
+
showCopyDownloadOnCodeBlock = true,
|
|
107
110
|
}: MessagesContainerUIProps) {
|
|
108
111
|
return (
|
|
109
112
|
<div className={clsx('flex flex-col flex-1 min-h-0', className)}>
|
|
@@ -139,6 +142,7 @@ export function MessagesContainerUI({
|
|
|
139
142
|
scrollToBottomDeps={scrollToBottomDeps}
|
|
140
143
|
contentClassName={contentClassName}
|
|
141
144
|
postContainerClassName={postContainerClassName}
|
|
145
|
+
showCopyDownloadOnCodeBlock={showCopyDownloadOnCodeBlock}
|
|
142
146
|
/>
|
|
143
147
|
</div>
|
|
144
148
|
);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import {
|
|
4
|
+
CodeFormatter,
|
|
5
|
+
detectContentType,
|
|
4
6
|
FormattedMessageContent,
|
|
5
7
|
ModernMessageGroupComponent,
|
|
6
8
|
} from '../InboxMessage/message-widgets/ModernMessageGroup';
|
|
@@ -104,6 +106,8 @@ export interface PlanModeViewProps {
|
|
|
104
106
|
* Lets the parent force scroll on each stream chunk when the internal ResizeObserver/layout effect miss.
|
|
105
107
|
*/
|
|
106
108
|
scrollToBottomDeps?: React.DependencyList;
|
|
109
|
+
/** When true, fenced / raw code blocks show copy and download actions (default: true). */
|
|
110
|
+
showCopyDownloadOnCodeBlock?: boolean;
|
|
107
111
|
}
|
|
108
112
|
|
|
109
113
|
/** Map PlanMessage to the post-like shape expected by ModernMessageGroupComponent */
|
|
@@ -189,6 +193,7 @@ export function PlanModeView({
|
|
|
189
193
|
onRetry,
|
|
190
194
|
renderEmptyState,
|
|
191
195
|
scrollToBottomDeps,
|
|
196
|
+
showCopyDownloadOnCodeBlock = true,
|
|
192
197
|
}: PlanModeViewProps) {
|
|
193
198
|
const [inputValue, setInputValue] = useState('');
|
|
194
199
|
const internalListRef = useRef<HTMLDivElement>(null);
|
|
@@ -374,6 +379,7 @@ export function PlanModeView({
|
|
|
374
379
|
sandboxErrors={sandboxErrors}
|
|
375
380
|
currentFiles={currentFiles}
|
|
376
381
|
onFixError={onFixError}
|
|
382
|
+
showCopyDownloadOnCodeBlock={showCopyDownloadOnCodeBlock}
|
|
377
383
|
/>
|
|
378
384
|
</div>
|
|
379
385
|
))}
|
|
@@ -386,7 +392,17 @@ export function PlanModeView({
|
|
|
386
392
|
}`}
|
|
387
393
|
>
|
|
388
394
|
<div className="text-[15px] leading-relaxed break-words min-w-0">
|
|
389
|
-
|
|
395
|
+
{detectContentType(streamingContent) === 'code' ? (
|
|
396
|
+
<CodeFormatter
|
|
397
|
+
content={streamingContent}
|
|
398
|
+
showCopyDownload={showCopyDownloadOnCodeBlock}
|
|
399
|
+
/>
|
|
400
|
+
) : (
|
|
401
|
+
<FormattedMessageContent
|
|
402
|
+
content={streamingContent}
|
|
403
|
+
showCopyDownloadOnCodeBlock={showCopyDownloadOnCodeBlock}
|
|
404
|
+
/>
|
|
405
|
+
)}
|
|
390
406
|
</div>
|
|
391
407
|
</div>
|
|
392
408
|
</div>
|