@flamingo-stack/openframe-frontend-core 0.0.341 → 0.0.342-snapshot.20260630065631
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/dist/{chunk-D2ETTYT2.cjs → chunk-27SVN4Z2.cjs} +26 -26
- package/dist/{chunk-D2ETTYT2.cjs.map → chunk-27SVN4Z2.cjs.map} +1 -1
- package/dist/{chunk-KT4KY6OF.js → chunk-3Y3LZ5IR.js} +4 -4
- package/dist/{chunk-4I46HAN5.js → chunk-4GVJ7WW6.js} +4 -4
- package/dist/{chunk-KE2QKKCN.js → chunk-5U6457XI.js} +2 -2
- package/dist/{chunk-QCREN5A5.cjs → chunk-6GNQY3PG.cjs} +56 -56
- package/dist/{chunk-QCREN5A5.cjs.map → chunk-6GNQY3PG.cjs.map} +1 -1
- package/dist/{chunk-Y2WHQSF6.js → chunk-74C4EFJE.js} +2 -2
- package/dist/{chunk-N3GFEIWF.js → chunk-7EUFJBIA.js} +2 -2
- package/dist/{chunk-R3MVYKEL.cjs → chunk-7HE7VIZP.cjs} +62 -62
- package/dist/{chunk-R3MVYKEL.cjs.map → chunk-7HE7VIZP.cjs.map} +1 -1
- package/dist/{chunk-CUQGK4AD.js → chunk-DBE7RART.js} +2 -2
- package/dist/{chunk-GCYEJLOQ.js → chunk-DGJT6GWA.js} +2 -2
- package/dist/{chunk-NIIN3UH4.cjs → chunk-DJ24O2BR.cjs} +37 -37
- package/dist/{chunk-NIIN3UH4.cjs.map → chunk-DJ24O2BR.cjs.map} +1 -1
- package/dist/{chunk-AZ3DTQU5.js → chunk-DOSYUPZS.js} +67 -40
- package/dist/chunk-DOSYUPZS.js.map +1 -0
- package/dist/{chunk-CJB4NUD6.cjs → chunk-DQU4MFQI.cjs} +7 -7
- package/dist/{chunk-CJB4NUD6.cjs.map → chunk-DQU4MFQI.cjs.map} +1 -1
- package/dist/{chunk-I4BWBQXX.cjs → chunk-FNJKJV5T.cjs} +31 -31
- package/dist/{chunk-I4BWBQXX.cjs.map → chunk-FNJKJV5T.cjs.map} +1 -1
- package/dist/{chunk-QYF6LEDF.js → chunk-IANIU6SO.js} +2 -2
- package/dist/{chunk-BYAXSMET.cjs → chunk-JYIFLOAQ.cjs} +15 -15
- package/dist/{chunk-BYAXSMET.cjs.map → chunk-JYIFLOAQ.cjs.map} +1 -1
- package/dist/{chunk-I3CNFZOY.cjs → chunk-OWMOMMEC.cjs} +67 -40
- package/dist/chunk-OWMOMMEC.cjs.map +1 -0
- package/dist/{chunk-A37AW6CD.cjs → chunk-Q6Y6FETD.cjs} +5 -5
- package/dist/{chunk-A37AW6CD.cjs.map → chunk-Q6Y6FETD.cjs.map} +1 -1
- package/dist/{chunk-2GROEWOK.js → chunk-TTRL5L5B.js} +4 -4
- package/dist/{chunk-OLR534KB.js → chunk-VYWPGALC.js} +2 -2
- package/dist/{chunk-OGTHMZIL.cjs → chunk-XLNSQ5ER.cjs} +9 -9
- package/dist/{chunk-OGTHMZIL.cjs.map → chunk-XLNSQ5ER.cjs.map} +1 -1
- package/dist/{chunk-LANAE7MY.cjs → chunk-XTR3DBCO.cjs} +12 -12
- package/dist/{chunk-LANAE7MY.cjs.map → chunk-XTR3DBCO.cjs.map} +1 -1
- package/dist/{chunk-EPVDWAVJ.js → chunk-YECKAUHG.js} +4 -4
- package/dist/{chunk-EYPZ2XLX.cjs → chunk-ZJNSS6KV.cjs} +25 -25
- package/dist/{chunk-EYPZ2XLX.cjs.map → chunk-ZJNSS6KV.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/chat-composer.d.ts +4 -1
- package/dist/components/chat/chat-composer.d.ts.map +1 -1
- package/dist/components/chat/chat-input.d.ts.map +1 -1
- package/dist/components/chat/chat-quick-action-row.d.ts +6 -1
- package/dist/components/chat/chat-quick-action-row.d.ts.map +1 -1
- package/dist/components/chat/guide-welcome.d.ts +5 -5
- package/dist/components/chat/guide-welcome.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/chat/types/component.types.d.ts +6 -0
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +121 -121
- package/dist/components/index.js +9 -9
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/dashboard-info-card.d.ts +10 -6
- package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/components/chat/chat-composer.tsx +5 -0
- package/src/components/chat/chat-input.tsx +39 -1
- package/src/components/chat/chat-quick-action-row.tsx +20 -0
- package/src/components/chat/embeddable-chat.tsx +21 -23
- package/src/components/chat/guide-welcome.tsx +21 -11
- package/src/components/chat/types/component.types.ts +6 -0
- package/src/components/ui/dashboard-info-card.tsx +41 -19
- package/src/stories/DashboardInfoCard.stories.tsx +7 -7
- package/dist/chunk-AZ3DTQU5.js.map +0 -1
- package/dist/chunk-I3CNFZOY.cjs.map +0 -1
- /package/dist/{chunk-KT4KY6OF.js.map → chunk-3Y3LZ5IR.js.map} +0 -0
- /package/dist/{chunk-4I46HAN5.js.map → chunk-4GVJ7WW6.js.map} +0 -0
- /package/dist/{chunk-KE2QKKCN.js.map → chunk-5U6457XI.js.map} +0 -0
- /package/dist/{chunk-Y2WHQSF6.js.map → chunk-74C4EFJE.js.map} +0 -0
- /package/dist/{chunk-N3GFEIWF.js.map → chunk-7EUFJBIA.js.map} +0 -0
- /package/dist/{chunk-CUQGK4AD.js.map → chunk-DBE7RART.js.map} +0 -0
- /package/dist/{chunk-GCYEJLOQ.js.map → chunk-DGJT6GWA.js.map} +0 -0
- /package/dist/{chunk-QYF6LEDF.js.map → chunk-IANIU6SO.js.map} +0 -0
- /package/dist/{chunk-2GROEWOK.js.map → chunk-TTRL5L5B.js.map} +0 -0
- /package/dist/{chunk-OLR534KB.js.map → chunk-VYWPGALC.js.map} +0 -0
- /package/dist/{chunk-EPVDWAVJ.js.map → chunk-YECKAUHG.js.map} +0 -0
|
@@ -3730,13 +3730,15 @@ var ChatInput = forwardRef9((allProps, ref) => {
|
|
|
3730
3730
|
onMentionQueryChange,
|
|
3731
3731
|
onValueChange,
|
|
3732
3732
|
startIcon,
|
|
3733
|
-
hideBorder
|
|
3733
|
+
hideBorder,
|
|
3734
|
+
previewText
|
|
3734
3735
|
// Remaining textarea-only attrs are intentionally dropped — the editor is a
|
|
3735
3736
|
// contenteditable div, not a <textarea>, so spreading them would warn.
|
|
3736
3737
|
} = rest;
|
|
3737
3738
|
const [value, setValue] = useState8("");
|
|
3738
3739
|
const [focused, setFocused] = useState8(false);
|
|
3739
3740
|
const [isStopping, setIsStopping] = useState8(false);
|
|
3741
|
+
const [previewDismissed, setPreviewDismissed] = useState8(false);
|
|
3740
3742
|
const editorRef = useRef4(null);
|
|
3741
3743
|
const shouldRefocusRef = useRef4(false);
|
|
3742
3744
|
const prevSendingRef = useRef4(sending);
|
|
@@ -3755,6 +3757,12 @@ var ChatInput = forwardRef9((allProps, ref) => {
|
|
|
3755
3757
|
useEffect4(() => {
|
|
3756
3758
|
onValueChange?.(value);
|
|
3757
3759
|
}, [value, onValueChange]);
|
|
3760
|
+
useEffect4(() => {
|
|
3761
|
+
setPreviewDismissed(false);
|
|
3762
|
+
}, [previewText]);
|
|
3763
|
+
useEffect4(() => {
|
|
3764
|
+
if (previewText) setPreviewDismissed(true);
|
|
3765
|
+
}, [value]);
|
|
3758
3766
|
const applyValue = useCallback4((next, caret = "end") => {
|
|
3759
3767
|
const el = editorRef.current;
|
|
3760
3768
|
if (el) {
|
|
@@ -3977,6 +3985,7 @@ var ChatInput = forwardRef9((allProps, ref) => {
|
|
|
3977
3985
|
const sendDisabled = sending || disabled || !hasContent;
|
|
3978
3986
|
const isEmpty = value.length === 0;
|
|
3979
3987
|
const isDisabled = sending || disabled;
|
|
3988
|
+
const showPreview = !isDisabled && !!previewText && !previewDismissed;
|
|
3980
3989
|
return /* @__PURE__ */ jsx20(
|
|
3981
3990
|
"div",
|
|
3982
3991
|
{
|
|
@@ -4025,7 +4034,8 @@ var ChatInput = forwardRef9((allProps, ref) => {
|
|
|
4025
4034
|
children: [
|
|
4026
4035
|
startIcon && /* @__PURE__ */ jsx20("span", { className: "flex h-6 shrink-0 items-center", children: startIcon }),
|
|
4027
4036
|
/* @__PURE__ */ jsxs16("div", { className: "relative flex-1 min-w-0", children: [
|
|
4028
|
-
isEmpty && /* @__PURE__ */ jsx20("span", { className: "pointer-events-none absolute left-0 top-0 select-none text-h4 !leading-9 text-ods-text-secondary", children: disabled ? "Connection lost. Waiting to reconnect..." : placeholder }),
|
|
4037
|
+
isEmpty && !showPreview && /* @__PURE__ */ jsx20("span", { className: "pointer-events-none absolute left-0 top-0 select-none text-h4 !leading-9 text-ods-text-secondary", children: disabled ? "Connection lost. Waiting to reconnect..." : placeholder }),
|
|
4038
|
+
showPreview && /* @__PURE__ */ jsx20("p", { className: "pointer-events-none m-0 select-none whitespace-pre-wrap break-words text-h4 !leading-9 text-ods-text-secondary", children: previewText }),
|
|
4029
4039
|
/* @__PURE__ */ jsx20(
|
|
4030
4040
|
"div",
|
|
4031
4041
|
{
|
|
@@ -4052,6 +4062,9 @@ var ChatInput = forwardRef9((allProps, ref) => {
|
|
|
4052
4062
|
onBlur: () => setFocused(false),
|
|
4053
4063
|
className: cn(
|
|
4054
4064
|
"max-h-[160px] overflow-y-auto whitespace-pre-wrap break-words outline-none",
|
|
4065
|
+
// While a ghost preview shows, the editor is empty — collapse it
|
|
4066
|
+
// out of flow + transparent so the in-flow preview drives height.
|
|
4067
|
+
showPreview && "absolute inset-0 opacity-0",
|
|
4055
4068
|
// `leading-9` (36px) sits just above the 32px chip's line-box need
|
|
4056
4069
|
// (~35.5px incl. vertical-align overhead): the LINE drives row
|
|
4057
4070
|
// height (deterministic 48px, no overflow) AND the near-zero slack
|
|
@@ -5684,6 +5697,7 @@ function ChipButton({ chip }) {
|
|
|
5684
5697
|
function ChatQuickActionRow({
|
|
5685
5698
|
leading,
|
|
5686
5699
|
chips,
|
|
5700
|
+
wrap = false,
|
|
5687
5701
|
className
|
|
5688
5702
|
}) {
|
|
5689
5703
|
const auto = useAutoLimitTags({
|
|
@@ -5693,6 +5707,12 @@ function ChatQuickActionRow({
|
|
|
5693
5707
|
const visibleChips = chips.slice(0, auto.visibleCount);
|
|
5694
5708
|
const hiddenChips = chips.slice(auto.visibleCount);
|
|
5695
5709
|
if (!leading && chips.length === 0) return null;
|
|
5710
|
+
if (wrap) {
|
|
5711
|
+
return /* @__PURE__ */ jsxs26("div", { className: cn("flex shrink-0 flex-wrap items-center gap-1", className), children: [
|
|
5712
|
+
leading,
|
|
5713
|
+
chips.map((chip) => /* @__PURE__ */ jsx30(ChipButton, { chip }, chip.id))
|
|
5714
|
+
] });
|
|
5715
|
+
}
|
|
5696
5716
|
return /* @__PURE__ */ jsxs26(
|
|
5697
5717
|
"div",
|
|
5698
5718
|
{
|
|
@@ -6677,7 +6697,14 @@ function GuideWelcome({
|
|
|
6677
6697
|
}
|
|
6678
6698
|
)
|
|
6679
6699
|
] }),
|
|
6680
|
-
quickActions.length > 0 && /* @__PURE__ */ jsx36(
|
|
6700
|
+
quickActions.length > 0 && /* @__PURE__ */ jsx36(
|
|
6701
|
+
ChatQuickActionRow,
|
|
6702
|
+
{
|
|
6703
|
+
wrap: true,
|
|
6704
|
+
chips: chipItems,
|
|
6705
|
+
className: "max-h-28 overflow-y-auto scrollbar-thin scrollbar-track-transparent scrollbar-thumb-ods-border/30"
|
|
6706
|
+
}
|
|
6707
|
+
)
|
|
6681
6708
|
]
|
|
6682
6709
|
}
|
|
6683
6710
|
);
|
|
@@ -7678,7 +7705,8 @@ function ChatComposer({
|
|
|
7678
7705
|
onCloseContextPicker,
|
|
7679
7706
|
mentionQuery = null,
|
|
7680
7707
|
onMentionQueryChange,
|
|
7681
|
-
onValueChange
|
|
7708
|
+
onValueChange,
|
|
7709
|
+
previewText
|
|
7682
7710
|
}) {
|
|
7683
7711
|
const contextEnabled = !!contextPicker && !archived;
|
|
7684
7712
|
const selected = selectedContextItems ?? [];
|
|
@@ -7700,6 +7728,7 @@ function ChatComposer({
|
|
|
7700
7728
|
onStop,
|
|
7701
7729
|
sending,
|
|
7702
7730
|
placeholder,
|
|
7731
|
+
previewText,
|
|
7703
7732
|
fullWidth: true,
|
|
7704
7733
|
className: "px-0",
|
|
7705
7734
|
reserveAvatarOffset: false,
|
|
@@ -22749,26 +22778,31 @@ function DashboardInfoCard({
|
|
|
22749
22778
|
if (typeof progressSize === "number") {
|
|
22750
22779
|
return /* @__PURE__ */ jsx159(CircularProgress, { ...common, size: progressSize, strokeWidth: strokeFor(progressSize) });
|
|
22751
22780
|
}
|
|
22752
|
-
|
|
22753
|
-
|
|
22754
|
-
|
|
22755
|
-
|
|
22756
|
-
|
|
22757
|
-
|
|
22758
|
-
|
|
22759
|
-
|
|
22760
|
-
|
|
22761
|
-
|
|
22762
|
-
|
|
22763
|
-
|
|
22764
|
-
|
|
22765
|
-
|
|
22766
|
-
|
|
22767
|
-
|
|
22768
|
-
|
|
22769
|
-
|
|
22770
|
-
|
|
22771
|
-
|
|
22781
|
+
const { base, md, lg } = progressSize;
|
|
22782
|
+
const rings = [];
|
|
22783
|
+
if (md !== void 0 && lg !== void 0) {
|
|
22784
|
+
rings.push({ key: "base", size: base, className: "md:hidden" });
|
|
22785
|
+
rings.push({ key: "md", size: md, className: "hidden md:block lg:hidden" });
|
|
22786
|
+
rings.push({ key: "lg", size: lg, className: "hidden lg:block" });
|
|
22787
|
+
} else if (md !== void 0) {
|
|
22788
|
+
rings.push({ key: "base", size: base, className: "md:hidden" });
|
|
22789
|
+
rings.push({ key: "md", size: md, className: "hidden md:block" });
|
|
22790
|
+
} else if (lg !== void 0) {
|
|
22791
|
+
rings.push({ key: "base", size: base, className: "lg:hidden" });
|
|
22792
|
+
rings.push({ key: "lg", size: lg, className: "hidden lg:block" });
|
|
22793
|
+
} else {
|
|
22794
|
+
rings.push({ key: "base", size: base, className: "" });
|
|
22795
|
+
}
|
|
22796
|
+
return /* @__PURE__ */ jsx159(Fragment31, { children: rings.map((ring) => /* @__PURE__ */ jsx159(
|
|
22797
|
+
CircularProgress,
|
|
22798
|
+
{
|
|
22799
|
+
...common,
|
|
22800
|
+
size: ring.size,
|
|
22801
|
+
strokeWidth: strokeFor(ring.size),
|
|
22802
|
+
className: ring.className
|
|
22803
|
+
},
|
|
22804
|
+
ring.key
|
|
22805
|
+
)) });
|
|
22772
22806
|
};
|
|
22773
22807
|
const cardContent = /* @__PURE__ */ jsxs127(Fragment31, { children: [
|
|
22774
22808
|
/* @__PURE__ */ jsxs127("div", { className: "flex-1 flex flex-col", children: [
|
|
@@ -48544,7 +48578,7 @@ function EmbeddableChatInner({
|
|
|
48544
48578
|
};
|
|
48545
48579
|
}, [isOpen, shellLess]);
|
|
48546
48580
|
const chatInputRef = useRef71(null);
|
|
48547
|
-
const
|
|
48581
|
+
const [quickActionPreview, setQuickActionPreview] = useState111(null);
|
|
48548
48582
|
const slashCommandsProp = useMemo43(
|
|
48549
48583
|
() => ({
|
|
48550
48584
|
fetchCommands: (prefix, signal) => fetchSlashCommands(prefix, signal, commandsUrl),
|
|
@@ -48879,6 +48913,9 @@ function EmbeddableChatInner({
|
|
|
48879
48913
|
const messagesInitialLoading = isMessagesLoading && !hasMessages;
|
|
48880
48914
|
const contentViewKey = hasConversation ? "conversation" : activeMode;
|
|
48881
48915
|
const isGuideEmpty = !hasConversation && activeMode === "guide";
|
|
48916
|
+
useEffect85(() => {
|
|
48917
|
+
if (!isGuideEmpty) setQuickActionPreview(null);
|
|
48918
|
+
}, [isGuideEmpty]);
|
|
48882
48919
|
const guideCanReturnToMingo = isGuideEmpty && hasMingoMode;
|
|
48883
48920
|
const sourceLabel = source === "flamingo" ? "Knowledge Base" : "Data Room";
|
|
48884
48921
|
const enabledSet = useMemo43(
|
|
@@ -49073,22 +49110,11 @@ function EmbeddableChatInner({
|
|
|
49073
49110
|
...guideWelcome,
|
|
49074
49111
|
quickActions: guideWelcome?.quickActions ?? guideSuggestedActions,
|
|
49075
49112
|
onQuickAction: (action) => {
|
|
49076
|
-
|
|
49077
|
-
chatInputRef.current?.setValue("");
|
|
49113
|
+
setQuickActionPreview(null);
|
|
49078
49114
|
handleSend(action.prompt ?? action.label);
|
|
49079
49115
|
},
|
|
49080
|
-
onQuickActionHover: (action) =>
|
|
49081
|
-
|
|
49082
|
-
quickActionDraftRef.current = chatInputRef.current?.getValue() ?? "";
|
|
49083
|
-
}
|
|
49084
|
-
chatInputRef.current?.setValue(action.prompt ?? action.label);
|
|
49085
|
-
},
|
|
49086
|
-
onQuickActionHoverEnd: () => {
|
|
49087
|
-
if (quickActionDraftRef.current !== null) {
|
|
49088
|
-
chatInputRef.current?.setValue(quickActionDraftRef.current);
|
|
49089
|
-
quickActionDraftRef.current = null;
|
|
49090
|
-
}
|
|
49091
|
-
},
|
|
49116
|
+
onQuickActionHover: (action) => setQuickActionPreview(action.prompt ?? action.label),
|
|
49117
|
+
onQuickActionHoverEnd: () => setQuickActionPreview(null),
|
|
49092
49118
|
children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ jsxs265("div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
|
|
49093
49119
|
!commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ jsx329(
|
|
49094
49120
|
MingoOnboardingCardSkeleton,
|
|
@@ -49152,6 +49178,7 @@ function EmbeddableChatInner({
|
|
|
49152
49178
|
placeholder: hasInflightUploads ? "Waiting for uploads to finish\u2026" : "Ask a question...",
|
|
49153
49179
|
autoFocus: autoFocusInput,
|
|
49154
49180
|
slashCommands: slashCommandsProp,
|
|
49181
|
+
previewText: quickActionPreview ?? void 0,
|
|
49155
49182
|
showAttachmentButton: attachmentsEnabled && activeMode === "guide",
|
|
49156
49183
|
attachmentsCount: stagedAttachments.length,
|
|
49157
49184
|
onAddFiles: addAttachmentFiles,
|
|
@@ -50162,4 +50189,4 @@ export {
|
|
|
50162
50189
|
FAE_AVATAR_DATA_URI,
|
|
50163
50190
|
assets
|
|
50164
50191
|
};
|
|
50165
|
-
//# sourceMappingURL=chunk-
|
|
50192
|
+
//# sourceMappingURL=chunk-DOSYUPZS.js.map
|