@gooddata/sdk-ui-gen-ai 10.12.0-alpha.15 → 10.12.0-alpha.17
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/esm/components/EmptyState.d.ts +6 -1
- package/esm/components/EmptyState.d.ts.map +1 -1
- package/esm/components/EmptyState.js +10 -12
- package/esm/components/EmptyState.js.map +1 -1
- package/esm/components/GenAIChatOverlay.d.ts +11 -2
- package/esm/components/GenAIChatOverlay.d.ts.map +1 -1
- package/esm/components/GenAIChatOverlay.js +10 -8
- package/esm/components/GenAIChatOverlay.js.map +1 -1
- package/esm/components/Input.d.ts +8 -2
- package/esm/components/Input.d.ts.map +1 -1
- package/esm/components/Input.js +11 -6
- package/esm/components/Input.js.map +1 -1
- package/esm/components/Messages.d.ts +7 -1
- package/esm/components/Messages.d.ts.map +1 -1
- package/esm/components/Messages.js +7 -4
- package/esm/components/Messages.js.map +1 -1
- package/esm/components/messages/FoundObjects.js +3 -3
- package/esm/components/messages/FoundObjects.js.map +1 -1
- package/package.json +12 -12
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import { setMessages } from "../store/index.js";
|
|
3
|
+
type EmptyStateDispatchProps = {
|
|
4
|
+
setMessages: typeof setMessages;
|
|
5
|
+
};
|
|
6
|
+
export declare const EmptyState: import("react-redux").ConnectedComponent<React.FC<EmptyStateDispatchProps>, import("react-redux").Omit<EmptyStateDispatchProps, "setMessages">>;
|
|
7
|
+
export {};
|
|
3
8
|
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqBhD,KAAK,uBAAuB,GAAG;IAC3B,WAAW,EAAE,OAAO,WAAW,CAAC;CACnC,CAAC;AA+BF,eAAO,MAAM,UAAU,iJAAyD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// (C) 2024 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { Button, Typography } from "@gooddata/sdk-ui-kit";
|
|
4
|
-
import {
|
|
4
|
+
import { connect } from "react-redux";
|
|
5
5
|
import { makeAssistantTextMessage, makeUserTextMessage } from "../model.js";
|
|
6
6
|
import { setMessages } from "../store/index.js";
|
|
7
7
|
const quickOptions = [
|
|
@@ -22,19 +22,17 @@ const quickOptions = [
|
|
|
22
22
|
answer: "Sure thing, what business question would you like to answer?",
|
|
23
23
|
},
|
|
24
24
|
];
|
|
25
|
-
|
|
26
|
-
const dispatch = useDispatch();
|
|
27
|
-
const withClickValue = (option) => ({
|
|
28
|
-
onClick: () => {
|
|
29
|
-
dispatch(setMessages([makeUserTextMessage(option.question), makeAssistantTextMessage(option.answer)]));
|
|
30
|
-
},
|
|
31
|
-
value: option.title,
|
|
32
|
-
variant: "secondary",
|
|
33
|
-
iconLeft: option.icon,
|
|
34
|
-
});
|
|
25
|
+
const EmptyStateComponent = ({ setMessages }) => {
|
|
35
26
|
return (React.createElement("div", { className: "gd-gen-ai-chat__messages__empty" },
|
|
36
27
|
React.createElement(Typography, { tagName: "h1", className: "gd-gen-ai-chat__messages__empty__h1--accent" }, "Hi there,"),
|
|
37
28
|
React.createElement(Typography, { tagName: "h1" }, "How can I help you?"),
|
|
38
|
-
quickOptions.map((option) => (React.createElement(Button, { key: option.title,
|
|
29
|
+
quickOptions.map((option) => (React.createElement(Button, { key: option.title, onClick: () => setMessages([
|
|
30
|
+
makeUserTextMessage(option.question),
|
|
31
|
+
makeAssistantTextMessage(option.answer),
|
|
32
|
+
]), value: option.title, variant: "secondary", iconLeft: option.icon })))));
|
|
39
33
|
};
|
|
34
|
+
const mapDispatchToProps = {
|
|
35
|
+
setMessages,
|
|
36
|
+
};
|
|
37
|
+
export const EmptyState = connect(null, mapDispatchToProps)(EmptyStateComponent);
|
|
40
38
|
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,YAAY,GAAG;IACjB;QACI,KAAK,EAAE,yCAAyC;QAChD,QAAQ,EAAE,yCAAyC;QACnD,MAAM,EAAE,4EAA4E;QACpF,IAAI,EAAE,mBAAmB;KAC5B;IACD;QACI,KAAK,EAAE,4BAA4B;QACnC,QAAQ,EAAE,4BAA4B;QACtC,MAAM,EAAE,kEAAkE;KAC7E;IACD;QACI,KAAK,EAAE,0BAA0B;QACjC,QAAQ,EAAE,0BAA0B;QACpC,MAAM,EAAE,8DAA8D;KACzE;CACJ,CAAC;AAMF,MAAM,mBAAmB,GAAsC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IAC/E,OAAO,CACH,6BAAK,SAAS,EAAC,iCAAiC;QAC5C,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,6CAA6C,gBAEnE;QACb,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,0BAAiC;QACxD,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC1B,oBAAC,MAAM,IACH,GAAG,EAAE,MAAM,CAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CACV,WAAW,CAAC;gBACR,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACpC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;aAC1C,CAAC,EAEN,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,MAAM,CAAC,IAAI,GACvB,CACL,CAAC,CACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAA4B;IAChD,WAAW;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import { clearMessagesAction } from "../store/index.js";
|
|
3
|
+
type GenAIChatOverlayOwnProps = {
|
|
3
4
|
onClose: () => void;
|
|
4
5
|
};
|
|
5
|
-
|
|
6
|
+
type GenAIChatOverlayStateProps = {
|
|
7
|
+
hasMessages: boolean;
|
|
8
|
+
};
|
|
9
|
+
type GenAIChatOverlayDispatchProps = {
|
|
10
|
+
clearMessages: typeof clearMessagesAction;
|
|
11
|
+
};
|
|
12
|
+
export type GenAIChatOverlayProps = GenAIChatOverlayOwnProps & GenAIChatOverlayStateProps & GenAIChatOverlayDispatchProps;
|
|
13
|
+
export declare const GenAIChatOverlay: import("react-redux").ConnectedComponent<React.FC<GenAIChatOverlayProps>, import("react-redux").Omit<GenAIChatOverlayOwnProps & GenAIChatOverlayStateProps & GenAIChatOverlayDispatchProps, "hasMessages" | "clearMessages">>;
|
|
14
|
+
export {};
|
|
6
15
|
//# sourceMappingURL=GenAIChatOverlay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenAIChatOverlay.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"GenAIChatOverlay.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAkC,MAAM,mBAAmB,CAAC;AAKxF,KAAK,wBAAwB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAC9B,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACjC,aAAa,EAAE,OAAO,mBAAmB,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,GACxD,0BAA0B,GAC1B,6BAA6B,CAAC;AAiElC,eAAO,MAAM,gBAAgB,+NAA0E,CAAC"}
|
|
@@ -5,26 +5,28 @@ import { Icon, Overlay } from "@gooddata/sdk-ui-kit";
|
|
|
5
5
|
import { clearMessagesAction, hasMessagesSelector } from "../store/index.js";
|
|
6
6
|
import cx from "classnames";
|
|
7
7
|
import { HeaderIcon } from "./HeaderIcon.js";
|
|
8
|
-
import {
|
|
9
|
-
|
|
8
|
+
import { connect } from "react-redux";
|
|
9
|
+
const GenAIChatOverlayComponent = ({ onClose, hasMessages, clearMessages, }) => {
|
|
10
10
|
const [isFullScreen, setIsFullScreen] = React.useState(false);
|
|
11
|
-
const dispatch = useDispatch();
|
|
12
|
-
const hasMessages = useSelector(hasMessagesSelector);
|
|
13
11
|
const isModal = isFullScreen;
|
|
14
|
-
const reset = () => {
|
|
15
|
-
dispatch(clearMessagesAction());
|
|
16
|
-
};
|
|
17
12
|
const classNames = cx("gd-gen-ai-chat__window", {
|
|
18
13
|
"gd-gen-ai-chat__window--fullscreen": isFullScreen,
|
|
19
14
|
});
|
|
20
15
|
return (React.createElement(Overlay, { isModal: isModal, positionType: "fixed", alignPoints: [{ align: isModal ? "cc cc" : "br br" }], closeOnEscape: true, closeOnParentScroll: false, closeOnOutsideClick: false, closeOnMouseDrag: false, zIndex: 6000, onClose: onClose },
|
|
21
16
|
React.createElement("div", { className: classNames },
|
|
22
17
|
React.createElement("div", { className: "gd-gen-ai-chat__window__header" },
|
|
23
|
-
React.createElement(HeaderIcon, { Icon: Icon.Undo, className: "gd-gen-ai-chat__window__header__icon--reset", tooltip: "Reset", onClick:
|
|
18
|
+
React.createElement(HeaderIcon, { Icon: Icon.Undo, className: "gd-gen-ai-chat__window__header__icon--reset", tooltip: "Reset", onClick: () => clearMessages(), disabled: !hasMessages }),
|
|
24
19
|
React.createElement("div", { className: "gd-gen-ai-chat__window__header__gap" }),
|
|
25
20
|
React.createElement(HeaderIcon, { Icon: isFullScreen ? Icon.Contract : Icon.Expand, className: "gd-gen-ai-chat__window__header__icon--fullscreen", tooltip: isFullScreen ? "Contract" : "Expand", onClick: () => setIsFullScreen(!isFullScreen) }),
|
|
26
21
|
React.createElement("div", { className: "gd-gen-ai-chat__window__header__divider" }),
|
|
27
22
|
React.createElement(HeaderIcon, { Icon: Icon.Close, className: "gd-gen-ai-chat__window__header__icon--close", tooltip: "Close", onClick: onClose })),
|
|
28
23
|
React.createElement(GenAIChatWrapper, null))));
|
|
29
24
|
};
|
|
25
|
+
const mapStateToProps = (state) => ({
|
|
26
|
+
hasMessages: hasMessagesSelector(state),
|
|
27
|
+
});
|
|
28
|
+
const mapDispatchToProps = {
|
|
29
|
+
clearMessages: clearMessagesAction,
|
|
30
|
+
};
|
|
31
|
+
export const GenAIChatOverlay = connect(mapStateToProps, mapDispatchToProps)(GenAIChatOverlayComponent);
|
|
30
32
|
//# sourceMappingURL=GenAIChatOverlay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenAIChatOverlay.js","sourceRoot":"","sources":["../../src/components/GenAIChatOverlay.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"GenAIChatOverlay.js","sourceRoot":"","sources":["../../src/components/GenAIChatOverlay.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAa,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkBtC,MAAM,yBAAyB,GAAoC,CAAC,EAChE,OAAO,EACP,WAAW,EACX,aAAa,GAChB,EAAE,EAAE;IACD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,YAAY,CAAC;IAE7B,MAAM,UAAU,GAAG,EAAE,CAAC,wBAAwB,EAAE;QAC5C,oCAAoC,EAAE,YAAY;KACrD,CAAC,CAAC;IAEH,OAAO,CACH,oBAAC,OAAO,IACJ,OAAO,EAAE,OAAO,EAChB,YAAY,EAAC,OAAO,EACpB,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EACrD,aAAa,EAAE,IAAI,EACnB,mBAAmB,EAAE,KAAK,EAC1B,mBAAmB,EAAE,KAAK,EAC1B,gBAAgB,EAAE,KAAK,EACvB,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,OAAO;QAEhB,6BAAK,SAAS,EAAE,UAAU;YACtB,6BAAK,SAAS,EAAC,gCAAgC;gBAC3C,oBAAC,UAAU,IACP,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAC,6CAA6C,EACvD,OAAO,EAAC,OAAO,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,EAC9B,QAAQ,EAAE,CAAC,WAAW,GACxB;gBACF,6BAAK,SAAS,EAAC,qCAAqC,GAAO;gBAC3D,oBAAC,UAAU,IACP,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAChD,SAAS,EAAC,kDAAkD,EAC5D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,GAC/C;gBACF,6BAAK,SAAS,EAAC,yCAAyC,GAAO;gBAC/D,oBAAC,UAAU,IACP,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,SAAS,EAAC,6CAA6C,EACvD,OAAO,EAAC,OAAO,EACf,OAAO,EAAE,OAAO,GAClB,CACA;YACN,oBAAC,gBAAgB,OAAG,CAClB,CACA,CACb,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAgB,EAA8B,EAAE,CAAC,CAAC;IACvE,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAkC;IACtD,aAAa,EAAE,mBAAmB;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,yBAAyB,CAAC,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { newMessageAction } from "../store/index.js";
|
|
3
|
+
type InputStateProps = {
|
|
4
|
+
isBusy: boolean;
|
|
5
|
+
};
|
|
6
|
+
type InputDispatchProps = {
|
|
7
|
+
newMessage: typeof newMessageAction;
|
|
8
|
+
};
|
|
9
|
+
export declare const Input: import("react-redux").ConnectedComponent<React.FC<InputStateProps & InputDispatchProps>, import("react-redux").Omit<InputStateProps & InputDispatchProps, "isBusy" | "newMessage">>;
|
|
4
10
|
export {};
|
|
5
11
|
//# sourceMappingURL=Input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAwB,gBAAgB,EAAa,MAAM,mBAAmB,CAAC;AAQtF,KAAK,eAAe,GAAG;IACnB,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,UAAU,EAAE,OAAO,gBAAgB,CAAC;CACvC,CAAC;AAqEF,eAAO,MAAM,KAAK,qLAA+D,CAAC"}
|
package/esm/components/Input.js
CHANGED
|
@@ -4,7 +4,7 @@ import DefaultTextArea from "react-textarea-autosize";
|
|
|
4
4
|
import { defaultImport } from "default-import";
|
|
5
5
|
import cx from "classnames";
|
|
6
6
|
import { SendIcon } from "./SendIcon.js";
|
|
7
|
-
import {
|
|
7
|
+
import { connect } from "react-redux";
|
|
8
8
|
import { makeAssistantCancelledMessage, makeUserTextMessage } from "../model.js";
|
|
9
9
|
import { agentLoadingSelector, newMessageAction } from "../store/index.js";
|
|
10
10
|
import { StopIcon } from "./StopIcon.js";
|
|
@@ -12,10 +12,8 @@ import { StopIcon } from "./StopIcon.js";
|
|
|
12
12
|
// In ESM, default exports of CJS modules are wrapped in default properties instead of being exposed directly.
|
|
13
13
|
// https://github.com/microsoft/TypeScript/issues/52086#issuecomment-1385978414
|
|
14
14
|
const TextareaAutosize = defaultImport(DefaultTextArea);
|
|
15
|
-
|
|
15
|
+
const InputComponent = ({ isBusy, newMessage }) => {
|
|
16
16
|
const [value, setValue] = React.useState("");
|
|
17
|
-
const dispatch = useDispatch();
|
|
18
|
-
const isBusy = useSelector(agentLoadingSelector);
|
|
19
17
|
const textareaRef = React.useRef(null);
|
|
20
18
|
React.useEffect(() => {
|
|
21
19
|
// Autofocus the textarea when the chat is not disabled and the user is not focusing on another element
|
|
@@ -26,11 +24,11 @@ export const Input = () => {
|
|
|
26
24
|
}
|
|
27
25
|
}, [isBusy]);
|
|
28
26
|
const handleSubmit = () => {
|
|
29
|
-
|
|
27
|
+
newMessage(makeUserTextMessage(value));
|
|
30
28
|
setValue("");
|
|
31
29
|
};
|
|
32
30
|
const handleCancel = () => {
|
|
33
|
-
|
|
31
|
+
newMessage(makeAssistantCancelledMessage());
|
|
34
32
|
};
|
|
35
33
|
const handleKeyDown = (e) => {
|
|
36
34
|
if (e.key === "Enter" && !e.shiftKey && !isBusy && value) {
|
|
@@ -48,4 +46,11 @@ export const Input = () => {
|
|
|
48
46
|
React.createElement(TextareaAutosize, { ref: textareaRef, className: "gd-gen-ai-chat__input__textarea", placeholder: "Ask here\u2026", value: value, onChange: handleChange, onKeyDown: handleKeyDown, disabled: isBusy }),
|
|
49
47
|
React.createElement("div", { onClick: isBusy ? handleCancel : handleSubmit }, !isBusy ? (React.createElement(SendIcon, { className: buttonClasses })) : (React.createElement(StopIcon, { className: "gd-gen-ai-chat__input__send_button" })))));
|
|
50
48
|
};
|
|
49
|
+
const mapStateToProps = (state) => ({
|
|
50
|
+
isBusy: agentLoadingSelector(state),
|
|
51
|
+
});
|
|
52
|
+
const mapDispatchToProps = {
|
|
53
|
+
newMessage: newMessageAction,
|
|
54
|
+
};
|
|
55
|
+
export const Input = connect(mapStateToProps, mapDispatchToProps)(InputComponent);
|
|
51
56
|
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import { agentLoadingSelector, visibleMessagesSelector } from "../store/index.js";
|
|
3
|
+
type MessagesComponentProps = {
|
|
4
|
+
messages: ReturnType<typeof visibleMessagesSelector>;
|
|
5
|
+
loading: ReturnType<typeof agentLoadingSelector>;
|
|
6
|
+
};
|
|
7
|
+
export declare const Messages: import("react-redux").ConnectedComponent<React.FC<MessagesComponentProps>, import("react-redux").Omit<MessagesComponentProps, "loading" | "messages">>;
|
|
8
|
+
export {};
|
|
3
9
|
//# sourceMappingURL=Messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Messages.d.ts","sourceRoot":"","sources":["../../src/components/Messages.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Messages.d.ts","sourceRoot":"","sources":["../../src/components/Messages.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAa,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAoB7F,KAAK,sBAAsB,GAAG;IAC1B,QAAQ,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACrD,OAAO,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;CACpD,CAAC;AA4DF,eAAO,MAAM,QAAQ,wJAA8C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// (C) 2024 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { connect } from "react-redux";
|
|
4
4
|
import { agentLoadingSelector, visibleMessagesSelector } from "../store/index.js";
|
|
5
5
|
import { AssistantTextMessageComponent, SystemMessageComponent, UserTextMessageComponent, AssistantCancelledMessageComponent, } from "./messages/index.js";
|
|
6
6
|
import { AgentState } from "./messages/AgentState.js";
|
|
@@ -8,9 +8,7 @@ import { isAssistantErrorMessage, isAssistantSearchCreateMessage, isAssistantTex
|
|
|
8
8
|
import { EmptyState } from "./EmptyState.js";
|
|
9
9
|
import { AssistantErrorMessageComponent } from "./messages/AssistantErrorMessage.js";
|
|
10
10
|
import { AssistantSearchCreateMessageComponent } from "./messages/AssistantSearchCreateMessage.js";
|
|
11
|
-
|
|
12
|
-
const messages = useSelector(visibleMessagesSelector);
|
|
13
|
-
const loading = useSelector(agentLoadingSelector);
|
|
11
|
+
const MessagesComponent = ({ messages, loading }) => {
|
|
14
12
|
const scrollRef = React.useRef(null);
|
|
15
13
|
const lastMessage = messages[messages.length - 1];
|
|
16
14
|
React.useLayoutEffect(() => {
|
|
@@ -49,4 +47,9 @@ export const Messages = () => {
|
|
|
49
47
|
const assertNever = (value) => {
|
|
50
48
|
throw new Error(`Unhandled message role: ${value}`);
|
|
51
49
|
};
|
|
50
|
+
const mapStateToProps = (state) => ({
|
|
51
|
+
messages: visibleMessagesSelector(state),
|
|
52
|
+
loading: agentLoadingSelector(state),
|
|
53
|
+
});
|
|
54
|
+
export const Messages = connect(mapStateToProps)(MessagesComponent);
|
|
52
55
|
//# sourceMappingURL=Messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../src/components/Messages.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../src/components/Messages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { Hyperlink, Typography } from "@gooddata/sdk-ui-kit";
|
|
4
4
|
export const FoundObjects = ({ foundObjects }) => {
|
|
5
|
-
const first5FoundObjects =
|
|
6
|
-
?.filter((obj) => obj.type === "visualization")
|
|
7
|
-
|
|
5
|
+
const first5FoundObjects = React.useMemo(() => {
|
|
6
|
+
return foundObjects?.objects?.filter((obj) => obj.type === "visualization").slice(0, 5);
|
|
7
|
+
}, [foundObjects?.objects]);
|
|
8
8
|
const foundObjectsReasoning = foundObjects?.reasoning;
|
|
9
9
|
if (!first5FoundObjects) {
|
|
10
10
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FoundObjects.js","sourceRoot":"","sources":["../../../src/components/messages/FoundObjects.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAO7D,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IAC1E,MAAM,kBAAkB,GAAG,YAAY,EAAE,OAAO
|
|
1
|
+
{"version":3,"file":"FoundObjects.js","sourceRoot":"","sources":["../../../src/components/messages/FoundObjects.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAO7D,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IAC1E,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1C,OAAO,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5B,MAAM,qBAAqB,GAAG,YAAY,EAAE,SAAS,CAAC;IAEtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,6BAAK,SAAS,EAAC,kDAAkD;QAC7D,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,IAAE,qBAAqB,CAAc;QAC5D,gCACK,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAC7B,4BAAI,GAAG,EAAE,GAAG,CAAC,EAAE;YACX,oBAAC,SAAS,IAAC,IAAI,EAAE,cAAc,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,GAAI,CACnF,CACR,CAAC,CACD,CACH,CACT,CAAC;AACN,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-gen-ai",
|
|
3
|
-
"version": "10.12.0-alpha.
|
|
3
|
+
"version": "10.12.0-alpha.17",
|
|
4
4
|
"description": "GoodData GenAI SDK",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,14 +43,14 @@
|
|
|
43
43
|
"classnames": "^2.3.1",
|
|
44
44
|
"react-textarea-autosize": "8.4.0",
|
|
45
45
|
"uuid": "^8.3.2",
|
|
46
|
-
"@gooddata/api-client-tiger": "10.12.0-alpha.
|
|
47
|
-
"@gooddata/sdk-backend-spi": "10.12.0-alpha.
|
|
48
|
-
"@gooddata/sdk-model": "10.12.0-alpha.
|
|
49
|
-
"@gooddata/sdk-ui": "10.12.0-alpha.
|
|
50
|
-
"@gooddata/sdk-ui
|
|
51
|
-
"@gooddata/sdk-ui-pivot": "10.12.0-alpha.
|
|
52
|
-
"@gooddata/util": "10.12.0-alpha.
|
|
53
|
-
"@gooddata/sdk-ui-kit": "10.12.0-alpha.
|
|
46
|
+
"@gooddata/api-client-tiger": "10.12.0-alpha.17",
|
|
47
|
+
"@gooddata/sdk-backend-spi": "10.12.0-alpha.17",
|
|
48
|
+
"@gooddata/sdk-model": "10.12.0-alpha.17",
|
|
49
|
+
"@gooddata/sdk-ui-charts": "10.12.0-alpha.17",
|
|
50
|
+
"@gooddata/sdk-ui": "10.12.0-alpha.17",
|
|
51
|
+
"@gooddata/sdk-ui-pivot": "10.12.0-alpha.17",
|
|
52
|
+
"@gooddata/util": "10.12.0-alpha.17",
|
|
53
|
+
"@gooddata/sdk-ui-kit": "10.12.0-alpha.17"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"react": "^16.10.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -98,9 +98,9 @@
|
|
|
98
98
|
"vitest-dom": "0.1.1",
|
|
99
99
|
"@types/react-native-listener": "~1.1.3",
|
|
100
100
|
"@types/uuid": "^8.3.4",
|
|
101
|
-
"@gooddata/i18n-toolkit": "10.12.0-alpha.
|
|
102
|
-
"@gooddata/
|
|
103
|
-
"@gooddata/
|
|
101
|
+
"@gooddata/i18n-toolkit": "10.12.0-alpha.17",
|
|
102
|
+
"@gooddata/sdk-backend-mockingbird": "10.12.0-alpha.17",
|
|
103
|
+
"@gooddata/reference-workspace": "10.12.0-alpha.17"
|
|
104
104
|
},
|
|
105
105
|
"scripts": {
|
|
106
106
|
"clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",
|