@gooddata/sdk-ui-gen-ai 10.13.0-alpha.19 → 10.13.0-alpha.20

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.
Files changed (49) hide show
  1. package/esm/components/messages/AssistantMessage.d.ts.map +1 -1
  2. package/esm/components/messages/AssistantMessage.js +1 -1
  3. package/esm/components/messages/AssistantMessage.js.map +1 -1
  4. package/esm/components/messages/MessageContents.d.ts +1 -0
  5. package/esm/components/messages/MessageContents.d.ts.map +1 -1
  6. package/esm/components/messages/MessageContents.js +6 -6
  7. package/esm/components/messages/MessageContents.js.map +1 -1
  8. package/esm/components/messages/contents/ErrorContents.d.ts +1 -0
  9. package/esm/components/messages/contents/ErrorContents.d.ts.map +1 -1
  10. package/esm/components/messages/contents/ErrorContents.js +4 -3
  11. package/esm/components/messages/contents/ErrorContents.js.map +1 -1
  12. package/esm/components/messages/contents/Markdown.d.ts +8 -0
  13. package/esm/components/messages/contents/Markdown.d.ts.map +1 -0
  14. package/esm/components/messages/contents/Markdown.js +18 -0
  15. package/esm/components/messages/contents/Markdown.js.map +1 -0
  16. package/esm/components/messages/contents/RoutingContents.d.ts +1 -0
  17. package/esm/components/messages/contents/RoutingContents.d.ts.map +1 -1
  18. package/esm/components/messages/contents/RoutingContents.js +4 -3
  19. package/esm/components/messages/contents/RoutingContents.js.map +1 -1
  20. package/esm/components/messages/contents/SearchContents.d.ts +1 -0
  21. package/esm/components/messages/contents/SearchContents.d.ts.map +1 -1
  22. package/esm/components/messages/contents/SearchContents.js +6 -11
  23. package/esm/components/messages/contents/SearchContents.js.map +1 -1
  24. package/esm/components/messages/contents/TextContents.d.ts +1 -0
  25. package/esm/components/messages/contents/TextContents.d.ts.map +1 -1
  26. package/esm/components/messages/contents/TextContents.js +4 -3
  27. package/esm/components/messages/contents/TextContents.js.map +1 -1
  28. package/esm/components/messages/contents/VisualizationContents.d.ts +1 -0
  29. package/esm/components/messages/contents/VisualizationContents.d.ts.map +1 -1
  30. package/esm/components/messages/contents/VisualizationContents.js +6 -7
  31. package/esm/components/messages/contents/VisualizationContents.js.map +1 -1
  32. package/esm/components/messages/contents/VisualizationErrorBoundary.d.ts +4 -10
  33. package/esm/components/messages/contents/VisualizationErrorBoundary.d.ts.map +1 -1
  34. package/esm/components/messages/contents/VisualizationErrorBoundary.js +5 -3
  35. package/esm/components/messages/contents/VisualizationErrorBoundary.js.map +1 -1
  36. package/esm/components/messages/contents/replaceLinks.d.ts +3 -0
  37. package/esm/components/messages/contents/replaceLinks.d.ts.map +1 -0
  38. package/esm/components/messages/contents/replaceLinks.js +30 -0
  39. package/esm/components/messages/contents/replaceLinks.js.map +1 -0
  40. package/package.json +13 -12
  41. package/styles/css/main.css +3 -1
  42. package/styles/css/main.css.map +1 -1
  43. package/styles/css/messages.css +3 -1
  44. package/styles/css/messages.css.map +1 -1
  45. package/styles/scss/messages.scss +4 -1
  46. package/esm/components/messages/contents/parseText.d.ts +0 -16
  47. package/esm/components/messages/contents/parseText.d.ts.map +0 -1
  48. package/esm/components/messages/contents/parseText.js +0 -54
  49. package/esm/components/messages/contents/parseText.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,KAAK,qBAAqB,GAAG;IACzB,OAAO,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkBrE,CAAC"}
1
+ {"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,KAAK,qBAAqB,GAAG;IACzB,OAAO,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAmBrE,CAAC"}
@@ -9,6 +9,6 @@ export const AssistantMessageComponent = ({ message }) => {
9
9
  const hasError = message.content.some(isErrorContents);
10
10
  return (React.createElement("div", { className: classNames },
11
11
  React.createElement(AgentIcon, { loading: !message.complete, error: hasError, cancelled: message.cancelled }),
12
- React.createElement(MessageContents, { content: message.content, isComplete: Boolean(message.complete || message.cancelled), isCancelled: message.cancelled })));
12
+ React.createElement(MessageContents, { useMarkdown: true, content: message.content, isComplete: Boolean(message.complete || message.cancelled), isCancelled: message.cancelled })));
13
13
  };
14
14
  //# sourceMappingURL=AssistantMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessage.js","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessage.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAoB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,MAAM,CAAC,MAAM,yBAAyB,GAAoC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACtF,MAAM,UAAU,GAAG,EAAE,CACjB,mCAAmC,EACnC,8CAA8C,EAC9C,OAAO,CAAC,SAAS,IAAI,8CAA8C,CACtE,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEvD,OAAO,CACH,6BAAK,SAAS,EAAE,UAAU;QACtB,oBAAC,SAAS,IAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,GAAI;QACxF,oBAAC,eAAe,IACZ,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,EAC1D,WAAW,EAAE,OAAO,CAAC,SAAS,GAChC,CACA,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"AssistantMessage.js","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessage.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAoB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,MAAM,CAAC,MAAM,yBAAyB,GAAoC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACtF,MAAM,UAAU,GAAG,EAAE,CACjB,mCAAmC,EACnC,8CAA8C,EAC9C,OAAO,CAAC,SAAS,IAAI,8CAA8C,CACtE,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEvD,OAAO,CACH,6BAAK,SAAS,EAAE,UAAU;QACtB,oBAAC,SAAS,IAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,GAAI;QACxF,oBAAC,eAAe,IACZ,WAAW,QACX,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,EAC1D,WAAW,EAAE,OAAO,CAAC,SAAS,GAChC,CACA,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -4,6 +4,7 @@ type MessageContentsProps = {
4
4
  content: Contents[];
5
5
  isComplete?: boolean;
6
6
  isCancelled?: boolean;
7
+ useMarkdown?: boolean;
7
8
  };
8
9
  export declare const MessageContents: React.FC<MessageContentsProps>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContents.d.ts","sourceRoot":"","sources":["../../../src/components/messages/MessageContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS1C,KAAK,oBAAoB,GAAG;IACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgC1D,CAAC"}
1
+ {"version":3,"file":"MessageContents.d.ts","sourceRoot":"","sources":["../../../src/components/messages/MessageContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS1C,KAAK,oBAAoB,GAAG;IACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA6C1D,CAAC"}
@@ -8,21 +8,21 @@ import { SearchContentsComponent } from "./contents/SearchContents.js";
8
8
  import { VisualizationContentsComponent } from "./contents/VisualizationContents.js";
9
9
  import { Typography } from "@gooddata/sdk-ui-kit";
10
10
  import { FormattedMessage } from "react-intl";
11
- export const MessageContents = ({ content, isComplete = true, isCancelled = false, }) => {
11
+ export const MessageContents = ({ content, isComplete = true, isCancelled = false, useMarkdown = false, }) => {
12
12
  return (React.createElement("div", { className: "gd-gen-ai-chat__messages__contents" },
13
13
  content.map((item, index) => {
14
14
  const type = item.type;
15
15
  switch (type) {
16
16
  case "text":
17
- return React.createElement(TextContentsComponent, { content: item, key: index });
17
+ return React.createElement(TextContentsComponent, { useMarkdown: useMarkdown, content: item, key: index });
18
18
  case "error":
19
- return React.createElement(ErrorContentsComponent, { content: item, key: index });
19
+ return (React.createElement(ErrorContentsComponent, { useMarkdown: useMarkdown, content: item, key: index }));
20
20
  case "routing":
21
- return React.createElement(RoutingContentsComponent, { content: item, key: index });
21
+ return (React.createElement(RoutingContentsComponent, { useMarkdown: useMarkdown, content: item, key: index }));
22
22
  case "search":
23
- return React.createElement(SearchContentsComponent, { content: item, key: index });
23
+ return (React.createElement(SearchContentsComponent, { useMarkdown: useMarkdown, content: item, key: index }));
24
24
  case "visualization":
25
- return React.createElement(VisualizationContentsComponent, { content: item, key: index });
25
+ return (React.createElement(VisualizationContentsComponent, { useMarkdown: useMarkdown, content: item, key: index }));
26
26
  default:
27
27
  return assertNever(type);
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContents.js","sourceRoot":"","sources":["../../../src/components/messages/MessageContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQ9C,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC5D,OAAO,EACP,UAAU,GAAG,IAAI,EACjB,WAAW,GAAG,KAAK,GACtB,EAAE,EAAE;IACD,OAAO,CACH,6BAAK,SAAS,EAAC,oCAAoC;QAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,MAAM;oBACP,OAAO,oBAAC,qBAAqB,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBAChE,KAAK,OAAO;oBACR,OAAO,oBAAC,sBAAsB,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBACjE,KAAK,SAAS;oBACV,OAAO,oBAAC,wBAAwB,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBACnE,KAAK,QAAQ;oBACT,OAAO,oBAAC,uBAAuB,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBAClE,KAAK,eAAe;oBAChB,OAAO,oBAAC,8BAA8B,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBACzE;oBACI,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACL,CAAC,CAAC;QACD,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAC,QAAQ,OAAG,CAAC,CAAC,CAAC,IAAI;QACjC,WAAW,CAAC,CAAC,CAAC,CACX,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG;YACnB,oBAAC,gBAAgB,IAAC,EAAE,EAAC,2BAA2B,GAAG,CAC1C,CAChB,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAY,EAAS,EAAE;IACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC"}
1
+ {"version":3,"file":"MessageContents.js","sourceRoot":"","sources":["../../../src/components/messages/MessageContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAS9C,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC5D,OAAO,EACP,UAAU,GAAG,IAAI,EACjB,WAAW,GAAG,KAAK,EACnB,WAAW,GAAG,KAAK,GACtB,EAAE,EAAE;IACD,OAAO,CACH,6BAAK,SAAS,EAAC,oCAAoC;QAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,MAAM;oBACP,OAAO,oBAAC,qBAAqB,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBAC1F,KAAK,OAAO;oBACR,OAAO,CACH,oBAAC,sBAAsB,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAClF,CAAC;gBACN,KAAK,SAAS;oBACV,OAAO,CACH,oBAAC,wBAAwB,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CACpF,CAAC;gBACN,KAAK,QAAQ;oBACT,OAAO,CACH,oBAAC,uBAAuB,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CACnF,CAAC;gBACN,KAAK,eAAe;oBAChB,OAAO,CACH,oBAAC,8BAA8B,IAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,IAAI,EACb,GAAG,EAAE,KAAK,GACZ,CACL,CAAC;gBACN;oBACI,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACL,CAAC,CAAC;QACD,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAC,QAAQ,OAAG,CAAC,CAAC,CAAC,IAAI;QACjC,WAAW,CAAC,CAAC,CAAC,CACX,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG;YACnB,oBAAC,gBAAgB,IAAC,EAAE,EAAC,2BAA2B,GAAG,CAC1C,CAChB,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAY,EAAS,EAAE;IACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { ErrorContents } from "../../../model.js";
3
3
  export type ErrorContentsProps = {
4
4
  content: ErrorContents;
5
+ useMarkdown?: boolean;
5
6
  };
6
7
  export declare const ErrorContentsComponent: React.FC<ErrorContentsProps>;
7
8
  //# sourceMappingURL=ErrorContents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/ErrorContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAQ/D,CAAC"}
1
+ {"version":3,"file":"ErrorContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/ErrorContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAQ/D,CAAC"}
@@ -1,9 +1,10 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import React from "react";
3
- import { Typography } from "@gooddata/sdk-ui-kit";
4
3
  import cx from "classnames";
5
- export const ErrorContentsComponent = ({ content }) => {
4
+ import { MarkdownComponent } from "./Markdown.js";
5
+ export const ErrorContentsComponent = ({ content, useMarkdown }) => {
6
6
  const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--error");
7
- return (React.createElement(Typography, { tagName: "p", className: className }, content.text));
7
+ return (React.createElement("div", { className: className },
8
+ React.createElement(MarkdownComponent, { allowMarkdown: useMarkdown }, content.text)));
8
9
  };
9
10
  //# sourceMappingURL=ErrorContents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/ErrorContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,MAAM,CAAC,MAAM,sBAAsB,GAAiC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAChF,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,0CAA0C,CAAC,CAAC;IAEtG,OAAO,CACH,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAE,SAAS,IACvC,OAAO,CAAC,IAAI,CACJ,CAChB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"ErrorContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/ErrorContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD,MAAM,CAAC,MAAM,sBAAsB,GAAiC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;IAC7F,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,0CAA0C,CAAC,CAAC;IAEtG,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS;QACrB,oBAAC,iBAAiB,IAAC,aAAa,EAAE,WAAW,IAAG,OAAO,CAAC,IAAI,CAAqB,CAC/E,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ type MarkdownComponentProps = {
3
+ children: string;
4
+ allowMarkdown?: boolean;
5
+ };
6
+ export declare const MarkdownComponent: React.FC<MarkdownComponentProps>;
7
+ export {};
8
+ //# sourceMappingURL=Markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/Markdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,KAAK,sBAAsB,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAM9D,CAAC"}
@@ -0,0 +1,18 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import React from "react";
3
+ import Markdown from "react-markdown";
4
+ import { Hyperlink, Typography } from "@gooddata/sdk-ui-kit";
5
+ const componentMap = {
6
+ p: ({ children }) => React.createElement(Typography, { tagName: "p" }, children),
7
+ a: ({ children, href }) => React.createElement(Hyperlink, { href: href ?? "", text: children }),
8
+ h1: ({ children }) => React.createElement(Typography, { tagName: "h1" }, children),
9
+ h2: ({ children }) => React.createElement(Typography, { tagName: "h2" }, children),
10
+ h3: ({ children }) => React.createElement(Typography, { tagName: "h3" }, children),
11
+ };
12
+ export const MarkdownComponent = ({ children, allowMarkdown = false }) => {
13
+ if (allowMarkdown) {
14
+ return React.createElement(Markdown, { components: componentMap }, children);
15
+ }
16
+ return React.createElement(Typography, { tagName: "p" }, children);
17
+ };
18
+ //# sourceMappingURL=Markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/Markdown.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAwB,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,YAAY,GAAe;IAC7B,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,IAAE,QAAQ,CAAc;IACpE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,oBAAC,SAAS,IAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,QAAkB,GAAI;IACpF,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,IAAE,QAAQ,CAAc;IACtE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,IAAE,QAAQ,CAAc;IACtE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,IAAE,QAAQ,CAAc;CACzE,CAAC;AAOF,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE,EAAE;IACvG,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,oBAAC,QAAQ,IAAC,UAAU,EAAE,YAAY,IAAG,QAAQ,CAAY,CAAC;IACrE,CAAC;IAED,OAAO,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,IAAE,QAAQ,CAAc,CAAC;AAC3D,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { RoutingContents } from "../../../model.js";
3
3
  export type RoutingContentsProps = {
4
4
  content: RoutingContents;
5
+ useMarkdown?: boolean;
5
6
  };
6
7
  export declare const RoutingContentsComponent: React.FC<RoutingContentsProps>;
7
8
  //# sourceMappingURL=RoutingContents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/RoutingContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAQnE,CAAC"}
1
+ {"version":3,"file":"RoutingContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/RoutingContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAQnE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import React from "react";
3
- import { Typography } from "@gooddata/sdk-ui-kit";
4
3
  import cx from "classnames";
5
- export const RoutingContentsComponent = ({ content }) => {
4
+ import { MarkdownComponent } from "./Markdown.js";
5
+ export const RoutingContentsComponent = ({ content, useMarkdown }) => {
6
6
  const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--routing");
7
- return (React.createElement(Typography, { tagName: "p", className: className }, content.text));
7
+ return (React.createElement("div", { className: className },
8
+ React.createElement(MarkdownComponent, { allowMarkdown: useMarkdown }, content.text)));
8
9
  };
9
10
  //# sourceMappingURL=RoutingContents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/RoutingContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,MAAM,CAAC,MAAM,wBAAwB,GAAmC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACpF,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;IAExG,OAAO,CACH,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAE,SAAS,IACvC,OAAO,CAAC,IAAI,CACJ,CAChB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"RoutingContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/RoutingContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD,MAAM,CAAC,MAAM,wBAAwB,GAAmC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;IACjG,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;IAExG,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS;QACrB,oBAAC,iBAAiB,IAAC,aAAa,EAAE,WAAW,IAAG,OAAO,CAAC,IAAI,CAAqB,CAC/E,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { SearchContents } from "../../../model.js";
3
3
  export type SearchContentsProps = {
4
4
  content: SearchContents;
5
+ useMarkdown?: boolean;
5
6
  };
6
7
  export declare const SearchContentsComponent: React.FC<SearchContentsProps>;
7
8
  //# sourceMappingURL=SearchContents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/SearchContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmBjE,CAAC"}
1
+ {"version":3,"file":"SearchContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/SearchContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAWjE,CAAC"}
@@ -1,19 +1,14 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import React from "react";
3
- import { Hyperlink, Typography } from "@gooddata/sdk-ui-kit";
4
3
  import cx from "classnames";
5
- import { isTextNode, parseText } from "./parseText.js";
6
- export const SearchContentsComponent = ({ content }) => {
4
+ import { replaceLinks } from "./replaceLinks.js";
5
+ import { MarkdownComponent } from "./Markdown.js";
6
+ export const SearchContentsComponent = ({ content, useMarkdown }) => {
7
7
  const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--search");
8
- const nodes = React.useMemo(() => {
9
- return parseText(content.text, content.searchResults);
8
+ const text = React.useMemo(() => {
9
+ return replaceLinks(content.text, content.searchResults);
10
10
  }, [content.text, content.searchResults]);
11
11
  return (React.createElement("div", { className: className },
12
- React.createElement(Typography, { tagName: "p" }, nodes.map((node, i) => {
13
- if (isTextNode(node)) {
14
- return React.createElement("span", { key: i }, node.value);
15
- }
16
- return React.createElement(Hyperlink, { key: i, href: node.href, text: node.value });
17
- }))));
12
+ React.createElement(MarkdownComponent, { allowMarkdown: useMarkdown }, text)));
18
13
  };
19
14
  //# sourceMappingURL=SearchContents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/SearchContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMvD,MAAM,CAAC,MAAM,uBAAuB,GAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAClF,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,2CAA2C,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAE1C,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS;QACrB,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,IAClB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,8BAAM,GAAG,EAAE,CAAC,IAAG,IAAI,CAAC,KAAK,CAAQ,CAAC;YAC7C,CAAC;YAED,OAAO,oBAAC,SAAS,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,CAAC;QACpE,CAAC,CAAC,CACO,CACX,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"SearchContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/SearchContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD,MAAM,CAAC,MAAM,uBAAuB,GAAkC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;IAC/F,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,2CAA2C,CAAC,CAAC;IACvG,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAE1C,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS;QACrB,oBAAC,iBAAiB,IAAC,aAAa,EAAE,WAAW,IAAG,IAAI,CAAqB,CACvE,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { TextContents } from "../../../model.js";
3
3
  export type TextContentsProps = {
4
4
  content: TextContents;
5
+ useMarkdown?: boolean;
5
6
  };
6
7
  export declare const TextContentsComponent: React.FC<TextContentsProps>;
7
8
  //# sourceMappingURL=TextContents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/TextContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAQ7D,CAAC"}
1
+ {"version":3,"file":"TextContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/TextContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAQ7D,CAAC"}
@@ -1,9 +1,10 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import React from "react";
3
- import { Typography } from "@gooddata/sdk-ui-kit";
4
3
  import cx from "classnames";
5
- export const TextContentsComponent = ({ content }) => {
4
+ import { MarkdownComponent } from "./Markdown.js";
5
+ export const TextContentsComponent = ({ content, useMarkdown = false }) => {
6
6
  const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--text");
7
- return (React.createElement(Typography, { tagName: "p", className: className }, content.text));
7
+ return (React.createElement("div", { className: className },
8
+ React.createElement(MarkdownComponent, { allowMarkdown: useMarkdown }, content.text)));
8
9
  };
9
10
  //# sourceMappingURL=TextContents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/TextContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,MAAM,CAAC,MAAM,qBAAqB,GAAgC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9E,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,yCAAyC,CAAC,CAAC;IAErG,OAAO,CACH,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAE,SAAS,IACvC,OAAO,CAAC,IAAI,CACJ,CAChB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"TextContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/TextContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD,MAAM,CAAC,MAAM,qBAAqB,GAAgC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,KAAK,EAAE,EAAE,EAAE;IACnG,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,yCAAyC,CAAC,CAAC;IAErG,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS;QACrB,oBAAC,iBAAiB,IAAC,aAAa,EAAE,WAAW,IAAG,OAAO,CAAC,IAAI,CAAqB,CAC/E,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { VisualizationContents } from "../../../model.js";
3
3
  export type VisualizationContentsProps = {
4
4
  content: VisualizationContents;
5
+ useMarkdown?: boolean;
5
6
  };
6
7
  export declare const VisualizationContentsComponent: React.FC<VisualizationContentsProps>;
7
8
  //# sourceMappingURL=VisualizationContents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisualizationContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,qBAAqB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA2C/E,CAAC"}
1
+ {"version":3,"file":"VisualizationContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA+C/E,CAAC"}
@@ -1,20 +1,18 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import React from "react";
3
3
  import cx from "classnames";
4
- import { Typography } from "@gooddata/sdk-ui-kit";
5
4
  import { PivotTable } from "@gooddata/sdk-ui-pivot";
6
5
  import { BarChart, ColumnChart, Headline, LineChart, PieChart } from "@gooddata/sdk-ui-charts";
7
6
  import { useExecution } from "./useExecution.js";
8
7
  import { VisualizationErrorBoundary } from "./VisualizationErrorBoundary.js";
9
- export const VisualizationContentsComponent = ({ content }) => {
8
+ import { MarkdownComponent } from "./Markdown.js";
9
+ export const VisualizationContentsComponent = ({ content, useMarkdown, }) => {
10
10
  const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--visualization");
11
11
  const visualization = content.createdVisualizations?.[0];
12
12
  const { metrics, dimensions } = useExecution(visualization);
13
13
  return (React.createElement("div", { className: className },
14
- React.createElement(Typography, { tagName: "p" }, content.text),
15
- visualization ? (
16
- // TODO - wrap this into error boundary, as the chart components can throw
17
- React.createElement("div", { className: "gd-gen-ai-chat__visualization" },
14
+ React.createElement(MarkdownComponent, { allowMarkdown: useMarkdown }, content.text),
15
+ visualization ? (React.createElement("div", { className: "gd-gen-ai-chat__visualization" },
18
16
  React.createElement("div", { className: "gd-gen-ai-chat__visualization__wrapper" },
19
17
  React.createElement(VisualizationErrorBoundary, null, (() => {
20
18
  switch (visualization.visualizationType) {
@@ -34,7 +32,8 @@ export const VisualizationContentsComponent = ({ content }) => {
34
32
  return assertNever(visualization.visualizationType);
35
33
  }
36
34
  })())),
37
- React.createElement(Typography, { tagName: "p", className: "gd-gen-ai-chat__messages__visualization__title" }, visualization.title))) : null));
35
+ React.createElement("div", { className: "gd-gen-ai-chat__messages__visualization__title" },
36
+ React.createElement(MarkdownComponent, { allowMarkdown: useMarkdown }, visualization.title)))) : null));
38
37
  };
39
38
  const assertNever = (value) => {
40
39
  throw new Error("Unknown visualization type: " + value);
@@ -1 +1 @@
1
- {"version":3,"file":"VisualizationContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationContents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VisualizationContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationContents.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +1,10 @@
1
1
  import React from "react";
2
- type ErrorBoundaryProps = {
2
+ import { WrappedComponentProps } from "react-intl";
3
+ type ErrorBoundaryProps = WrappedComponentProps & {
3
4
  children: React.ReactNode;
4
5
  };
5
- type ErrorBoundaryState = {
6
- error?: string;
6
+ export declare const VisualizationErrorBoundary: React.FC<import("react-intl").WithIntlProps<ErrorBoundaryProps>> & {
7
+ WrappedComponent: React.ComponentType<ErrorBoundaryProps>;
7
8
  };
8
- export declare class VisualizationErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
9
- constructor(props: ErrorBoundaryProps);
10
- static getDerivedStateFromError(error: unknown): {
11
- error: string;
12
- };
13
- render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
14
- }
15
9
  export {};
16
10
  //# sourceMappingURL=VisualizationErrorBoundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisualizationErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationErrorBoundary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,kBAAkB,GAAG;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,0BAA2B,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBACvF,KAAK,EAAE,kBAAkB;IAKrC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO;;;IAI9C,MAAM;CAQT"}
1
+ {"version":3,"file":"VisualizationErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationErrorBoundary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAc,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE/D,KAAK,kBAAkB,GAAG,qBAAqB,GAAG;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AA2BF,eAAO,MAAM,0BAA0B;;CAAkD,CAAC"}
@@ -1,7 +1,9 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import React from "react";
3
3
  import { extractError } from "../../../store/sideEffects/utils.js";
4
- export class VisualizationErrorBoundary extends React.Component {
4
+ import { ErrorComponent } from "@gooddata/sdk-ui";
5
+ import { injectIntl } from "react-intl";
6
+ class VisualizationErrorBoundaryComponent extends React.Component {
5
7
  constructor(props) {
6
8
  super(props);
7
9
  this.state = { error: "" };
@@ -11,10 +13,10 @@ export class VisualizationErrorBoundary extends React.Component {
11
13
  }
12
14
  render() {
13
15
  if (this.state.error) {
14
- // TODO - proper error
15
- return React.createElement("div", null, "Error! Failed to render the visualization");
16
+ return (React.createElement(ErrorComponent, { message: this.props.intl.formatMessage({ id: "gd.gen-ai.global-error" }) }));
16
17
  }
17
18
  return this.props.children;
18
19
  }
19
20
  }
21
+ export const VisualizationErrorBoundary = injectIntl(VisualizationErrorBoundaryComponent);
20
22
  //# sourceMappingURL=VisualizationErrorBoundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisualizationErrorBoundary.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationErrorBoundary.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAUnE,MAAM,OAAO,0BAA2B,SAAQ,KAAK,CAAC,SAAiD;IACnG,YAAY,KAAyB;QACjC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAc;QAC1C,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,sBAAsB;YACtB,OAAO,6EAAoD,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACJ"}
1
+ {"version":3,"file":"VisualizationErrorBoundary.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationErrorBoundary.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAyB,MAAM,YAAY,CAAC;AAU/D,MAAM,mCAAoC,SAAQ,KAAK,CAAC,SAAiD;IACrG,YAAY,KAAyB;QACjC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAc;QAC1C,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CACH,oBAAC,cAAc,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC,GAAI,CAC/F,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC,mCAAmC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ISemanticSearchResultItem } from "@gooddata/sdk-model";
2
+ export declare const replaceLinks: (text: string, foundObjects: ISemanticSearchResultItem[]) => string;
3
+ //# sourceMappingURL=replaceLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replaceLinks.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/replaceLinks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAgBhE,eAAO,MAAM,YAAY,SAAU,MAAM,gBAAgB,yBAAyB,EAAE,KAAG,MAmBtF,CAAC"}
@@ -0,0 +1,30 @@
1
+ // (C) 2024 GoodData Corporation
2
+ const getFoundObjectLink = (obj) => {
3
+ switch (obj.type) {
4
+ case "visualization":
5
+ return `/analyze/#/${obj.workspaceId}/${obj.id}/edit`;
6
+ case "dashboard":
7
+ return `/dashboards/#/workspace/${obj.workspaceId}/dashboard/${obj.id}`;
8
+ case "metric":
9
+ return `/metrics/#/${obj.workspaceId}/metric/${obj.id}`;
10
+ default:
11
+ return null;
12
+ }
13
+ };
14
+ const rx = /\{[^}][^.}]*\.[^}]+\}/g;
15
+ export const replaceLinks = (text, foundObjects) => {
16
+ return text.replace(rx, (chunk) => {
17
+ const [objectType, ...objectIdChunks] = chunk.replace("{", "").replace("}", "").split(".");
18
+ const objectId = objectIdChunks.join(".");
19
+ const obj = foundObjects.find((foundObj) => foundObj.type === objectType && foundObj.id === objectId);
20
+ if (!obj) {
21
+ return chunk;
22
+ }
23
+ const href = getFoundObjectLink(obj);
24
+ if (!href) {
25
+ return chunk;
26
+ }
27
+ return `[${obj.title}](${href})`;
28
+ });
29
+ };
30
+ //# sourceMappingURL=replaceLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replaceLinks.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/replaceLinks.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,MAAM,kBAAkB,GAAG,CAAC,GAA8B,EAAE,EAAE;IAC1D,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,eAAe;YAChB,OAAO,cAAc,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC;QAC1D,KAAK,WAAW;YACZ,OAAO,2BAA2B,GAAG,CAAC,WAAW,cAAc,GAAG,CAAC,EAAE,EAAE,CAAC;QAC5E,KAAK,QAAQ;YACT,OAAO,cAAc,GAAG,CAAC,WAAW,WAAW,GAAG,CAAC,EAAE,EAAE,CAAC;QAC5D;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,EAAE,GAAG,wBAAwB,CAAC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,YAAyC,EAAU,EAAE;IAC5F,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,CAAC,UAAU,EAAE,GAAG,cAAc,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAEtG,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-gen-ai",
3
- "version": "10.13.0-alpha.19",
3
+ "version": "10.13.0-alpha.20",
4
4
  "description": "GoodData GenAI SDK",
5
5
  "repository": {
6
6
  "type": "git",
@@ -44,14 +44,15 @@
44
44
  "react-textarea-autosize": "8.4.0",
45
45
  "uuid": "^8.3.2",
46
46
  "react-loading-skeleton": "^3.4.0",
47
- "@gooddata/api-client-tiger": "10.13.0-alpha.19",
48
- "@gooddata/sdk-backend-spi": "10.13.0-alpha.19",
49
- "@gooddata/sdk-model": "10.13.0-alpha.19",
50
- "@gooddata/sdk-ui": "10.13.0-alpha.19",
51
- "@gooddata/sdk-ui-pivot": "10.13.0-alpha.19",
52
- "@gooddata/sdk-ui-charts": "10.13.0-alpha.19",
53
- "@gooddata/util": "10.13.0-alpha.19",
54
- "@gooddata/sdk-ui-kit": "10.13.0-alpha.19"
47
+ "react-markdown": "^9.0.1",
48
+ "@gooddata/api-client-tiger": "10.13.0-alpha.20",
49
+ "@gooddata/sdk-backend-spi": "10.13.0-alpha.20",
50
+ "@gooddata/sdk-model": "10.13.0-alpha.20",
51
+ "@gooddata/sdk-ui": "10.13.0-alpha.20",
52
+ "@gooddata/sdk-ui-pivot": "10.13.0-alpha.20",
53
+ "@gooddata/util": "10.13.0-alpha.20",
54
+ "@gooddata/sdk-ui-charts": "10.13.0-alpha.20",
55
+ "@gooddata/sdk-ui-kit": "10.13.0-alpha.20"
55
56
  },
56
57
  "peerDependencies": {
57
58
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -100,9 +101,9 @@
100
101
  "vitest-dom": "0.1.1",
101
102
  "@types/react-native-listener": "~1.1.3",
102
103
  "@types/uuid": "^8.3.4",
103
- "@gooddata/i18n-toolkit": "10.13.0-alpha.19",
104
- "@gooddata/reference-workspace": "10.13.0-alpha.19",
105
- "@gooddata/sdk-backend-mockingbird": "10.13.0-alpha.19"
104
+ "@gooddata/i18n-toolkit": "10.13.0-alpha.20",
105
+ "@gooddata/reference-workspace": "10.13.0-alpha.20",
106
+ "@gooddata/sdk-backend-mockingbird": "10.13.0-alpha.20"
106
107
  },
107
108
  "scripts": {
108
109
  "clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",
@@ -180,7 +180,6 @@
180
180
  align-self: flex-end;
181
181
  margin-bottom: 15px;
182
182
  animation: gd-gen-ai-message-in 0.3s ease-out;
183
- color: var(--gd-palette-complementary-0, #fff);
184
183
  }
185
184
  .gd-gen-ai-chat__messages__message--user .gd-gen-ai-chat__messages__content--text::after {
186
185
  content: "";
@@ -193,6 +192,9 @@
193
192
  width: 0;
194
193
  height: 0;
195
194
  }
195
+ .gd-gen-ai-chat__messages__message--user .gd-gen-ai-chat__messages__content--text p {
196
+ color: var(--gd-palette-complementary-0, #fff);
197
+ }
196
198
  .gd-gen-ai-chat__messages__message--user.gd-gen-ai-chat__messages__message--cancelled .gd-gen-ai-chat__messages__content--text {
197
199
  color: var(--gd-palette-complementary-0, #fff);
198
200
  background-color: var(--gd-palette-primary-base-t80, rgba(20, 178, 226, 0.2));
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Form/_mixins.scss","../scss/input.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/messages.scss","../scss/variables.scss","../scss/agentIcon.scss","../scss/window.scss","../scss/main.scss"],"names":[],"mappings":"AA0HA;AA4DA;AClLA;AAAA;AAAA;ACIA;EACI;EACA;;AAEA;EDWA;EACA;EACA;EACA;EACA;EACA;EACA,OECY;EFAZ,YEba;EFcb;EACA,aE8Dc;EF7Dd;EDkCA,0BChC2B;EDiC3B,6BCjC2B;EDkC3B,qBClC2B;EDsC3B,0BCtCgC;EDuChC,6BCvCgC;EDwChC,qBCxCgC;ED4ChC,iCC5CuC;ED6CvC,oCC7CuC;ED8CvC,4BC9CuC;EDrBvC;EAQI;EEMA;EACA;EACA;EACA;EACA;EACA;;AFmHJ;EEhIQ;EF+CR,0BE1CuC;EF2CvC,6BE3CuC;EF4CvC,qBE5CuC;EFgDvC,0BEhD8C;EFiD9C,6BEjD8C;EFkD9C,qBElD8C;EFsD9C,iCEtDqD;EFuDrD,oCEvDqD;EFwDrD,4BExDqD;;AF+HrD;EEpIQ;EF+CR,0BE1CuC;EF2CvC,6BE3CuC;EF4CvC,qBE5CuC;EFgDvC,0BEhD8C;EFiD9C,6BEjD8C;EFkD9C,qBElD8C;EFsD9C,iCEtDqD;EFuDrD,oCEvDqD;EFwDrD,4BExDqD;;AFmIrD;EExIQ;EF+CR,0BE1CuC;EF2CvC,6BE3CuC;EF4CvC,qBE5CuC;EFgDvC,0BEhD8C;EFiD9C,6BEjD8C;EFkD9C,qBElD8C;EFsD9C,iCEtDqD;EFuDrD,oCEvDqD;EFwDrD,4BExDqD;;AFuIrD;EE5IQ;EF+CR,0BE1CuC;EF2CvC,6BE3CuC;EF4CvC,qBE5CuC;EFgDvC,0BEhD8C;EFiD9C,6BEjD8C;EFkD9C,qBElD8C;EFsD9C,iCEtDqD;EFuDrD,oCEvDqD;EFwDrD,4BExDqD;;AAUjD;EAKI,cCmGiB;;AHSzB;EE/GY,OCXA;;AH8HZ;EEnHY,OCXA;;AHkIZ;EEvHY,OCXA;;AHsIZ;EE3HY,OCXA;;ADiBR;EFrBA;EE0BI;EACA,cCRc;;ADad;EFhCJ;EEoCQ,OCrCI;EDsCJ,cC+EO;ED9EP,kBCzCC;;AD8Cb;EFEA,0BEDmC;EFEnC,6BEFmC;EFGnC,qBEHmC;EFOnC,0BEPwC;EFQxC,6BERwC;EFSxC,qBETwC;EFaxC,iCEb+C;EFc/C,oCEd+C;EFe/C,4BEf+C;EAE3C;EACA;EACA;EACA;EACA;;AAEA;EAEI,MClDI;;ADqDR;EAEI,MCxCc;;AD2ClB;EAEI;;AAEA;AAAA;AAAA;EAEI,MCrEI;;AD2EZ;AAAA;EAEI,MCzDc;;AD4DlB;EAEI;;AAEA;AAAA;AAAA;EAEI,MCtFI;;;ACbpB;EACI;EACA;EAGA;EACA,eCZQ;;;ADeZ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAIA;EAII;EACA,kBDQkB;ECPlB;EACA;EACA;EACA;EACA;EACA;EACA,ODvBS;;ACyBT;EACI;EACA;EACA;EACA;EACA;EACA;EACA,mBAnBS;EAoBT;EACA;;AAIR;EACI,ODvCS;ECwCT,kBDTsB;;ACY1B;EACI,kBDbsB;;;ACiB9B;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA,YDzBsB;EC0BtB,OD5BoB;;;ACgCpB;EAMI,OD3EY;;;AC+EpB;EACI;;;AAGJ;EACI;EACA;EACA;EACA,YD3Fa;EC4Fb;;AAEA;EACI;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;;AAEA;EACI,ODrFkB;;ACwFtB;EACI;;AAEA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAIR;EACI;IACI;;EAEJ;IACI;;EAEJ;IACI;;;AE1JR;EACI;EACA;EACA;;AAEA;EACI,MHuBoB;;AGpBxB;EACI;EACA;EACA;;AAGJ;EACI,MHUkB;;AGNlB;EACI;;AAGJ;EAGI;;AAEA;EACI;;AAMR;EACI;;AAKJ;EACI;EACA;EACA;EACA;;AAKJ;EACI,MHhDK;;AGmDT;EACI,MHlDQ;;AGuDZ;EACI,YHpCc;;AGsClB;EACI,YAvEuB;;AAyE3B;EACI,YHnCkB;;;AGwC9B;EACI;IACI;;EAEJ;IACI;;;AAIR;EACI;IACI;;EAEJ;IACI;;EAEJ;IACI;;;AAIR;EACI;IACI,MHnEoB;;EGqExB;IACI,MHzEkB;;EG2EtB;IACI,MHzEoB;;;AG6E5B;EACI;IACI;;EAEJ;IACI,MHlEkB;;EGoEtB;IACI;;;ACzHR;EACI;EACA;EACA,kBJQa;EIPb;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA,kBJRU;;AIWd;EACI;EACA;;AAEA;EACI;EACA,MJ9BI;;AIiCR;EACI;;AAEA;EACI,MJ1CI;;AI8CZ;EACI;EACA;;AAIA;EACI,MJhBQ;;AIsBZ;EACI,MJxCU;;AI4ClB;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA,YJ/EI;EIgFJ;EACA,OJ9FK;EI+FL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EAEI;;;ACnHZ;EACI;EACA;EACA;EACA,KHVQ;EGWR;EACA;EACA;EACA,kBLEa;;AKAb;EACI;EACA,OLEe;EKDf;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA,YLxBK;;AK2BT;EACI;EACA,OLtBI;EKuBJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"main.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Form/_mixins.scss","../scss/input.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/messages.scss","../scss/variables.scss","../scss/agentIcon.scss","../scss/window.scss","../scss/main.scss"],"names":[],"mappings":"AA0HA;AA4DA;AClLA;AAAA;AAAA;ACIA;EACI;EACA;;AAEA;EDWA;EACA;EACA;EACA;EACA;EACA;EACA,OECY;EFAZ,YEba;EFcb;EACA,aE8Dc;EF7Dd;EDkCA,0BChC2B;EDiC3B,6BCjC2B;EDkC3B,qBClC2B;EDsC3B,0BCtCgC;EDuChC,6BCvCgC;EDwChC,qBCxCgC;ED4ChC,iCC5CuC;ED6CvC,oCC7CuC;ED8CvC,4BC9CuC;EDrBvC;EAQI;EEMA;EACA;EACA;EACA;EACA;EACA;;AFmHJ;EEhIQ;EF+CR,0BE1CuC;EF2CvC,6BE3CuC;EF4CvC,qBE5CuC;EFgDvC,0BEhD8C;EFiD9C,6BEjD8C;EFkD9C,qBElD8C;EFsD9C,iCEtDqD;EFuDrD,oCEvDqD;EFwDrD,4BExDqD;;AF+HrD;EEpIQ;EF+CR,0BE1CuC;EF2CvC,6BE3CuC;EF4CvC,qBE5CuC;EFgDvC,0BEhD8C;EFiD9C,6BEjD8C;EFkD9C,qBElD8C;EFsD9C,iCEtDqD;EFuDrD,oCEvDqD;EFwDrD,4BExDqD;;AFmIrD;EExIQ;EF+CR,0BE1CuC;EF2CvC,6BE3CuC;EF4CvC,qBE5CuC;EFgDvC,0BEhD8C;EFiD9C,6BEjD8C;EFkD9C,qBElD8C;EFsD9C,iCEtDqD;EFuDrD,oCEvDqD;EFwDrD,4BExDqD;;AFuIrD;EE5IQ;EF+CR,0BE1CuC;EF2CvC,6BE3CuC;EF4CvC,qBE5CuC;EFgDvC,0BEhD8C;EFiD9C,6BEjD8C;EFkD9C,qBElD8C;EFsD9C,iCEtDqD;EFuDrD,oCEvDqD;EFwDrD,4BExDqD;;AAUjD;EAKI,cCmGiB;;AHSzB;EE/GY,OCXA;;AH8HZ;EEnHY,OCXA;;AHkIZ;EEvHY,OCXA;;AHsIZ;EE3HY,OCXA;;ADiBR;EFrBA;EE0BI;EACA,cCRc;;ADad;EFhCJ;EEoCQ,OCrCI;EDsCJ,cC+EO;ED9EP,kBCzCC;;AD8Cb;EFEA,0BEDmC;EFEnC,6BEFmC;EFGnC,qBEHmC;EFOnC,0BEPwC;EFQxC,6BERwC;EFSxC,qBETwC;EFaxC,iCEb+C;EFc/C,oCEd+C;EFe/C,4BEf+C;EAE3C;EACA;EACA;EACA;EACA;;AAEA;EAEI,MClDI;;ADqDR;EAEI,MCxCc;;AD2ClB;EAEI;;AAEA;AAAA;AAAA;EAEI,MCrEI;;AD2EZ;AAAA;EAEI,MCzDc;;AD4DlB;EAEI;;AAEA;AAAA;AAAA;EAEI,MCtFI;;;ACbpB;EACI;EACA;EAGA;EACA,eCZQ;;;ADeZ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAIA;EAII;EACA,kBDQkB;ECPlB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA,mBAlBS;EAmBT;EACA;;AAGJ;EACI,ODrCK;;ACyCb;EACI,OD1CS;EC2CT,kBDZsB;;ACe1B;EACI,kBDhBsB;;;ACoB9B;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA,YD5BsB;EC6BtB,OD/BoB;;;ACmCpB;EAMI,OD9EY;;;ACkFpB;EACI;;;AAGJ;EACI;EACA;EACA;EACA,YD9Fa;EC+Fb;;AAEA;EACI;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;;AAEA;EACI,ODxFkB;;AC2FtB;EACI;;AAEA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAIR;EACI;IACI;;EAEJ;IACI;;EAEJ;IACI;;;AE7JR;EACI;EACA;EACA;;AAEA;EACI,MHuBoB;;AGpBxB;EACI;EACA;EACA;;AAGJ;EACI,MHUkB;;AGNlB;EACI;;AAGJ;EAGI;;AAEA;EACI;;AAMR;EACI;;AAKJ;EACI;EACA;EACA;EACA;;AAKJ;EACI,MHhDK;;AGmDT;EACI,MHlDQ;;AGuDZ;EACI,YHpCc;;AGsClB;EACI,YAvEuB;;AAyE3B;EACI,YHnCkB;;;AGwC9B;EACI;IACI;;EAEJ;IACI;;;AAIR;EACI;IACI;;EAEJ;IACI;;EAEJ;IACI;;;AAIR;EACI;IACI,MHnEoB;;EGqExB;IACI,MHzEkB;;EG2EtB;IACI,MHzEoB;;;AG6E5B;EACI;IACI;;EAEJ;IACI,MHlEkB;;EGoEtB;IACI;;;ACzHR;EACI;EACA;EACA,kBJQa;EIPb;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA,kBJRU;;AIWd;EACI;EACA;;AAEA;EACI;EACA,MJ9BI;;AIiCR;EACI;;AAEA;EACI,MJ1CI;;AI8CZ;EACI;EACA;;AAIA;EACI,MJhBQ;;AIsBZ;EACI,MJxCU;;AI4ClB;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA,YJ/EI;EIgFJ;EACA,OJ9FK;EI+FL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EAEI;;;ACnHZ;EACI;EACA;EACA;EACA,KHVQ;EGWR;EACA;EACA;EACA,kBLEa;;AKAb;EACI;EACA,OLEe;EKDf;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA,YLxBK;;AK2BT;EACI;EACA,OLtBI;EKuBJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"main.css"}
@@ -29,7 +29,6 @@
29
29
  align-self: flex-end;
30
30
  margin-bottom: 15px;
31
31
  animation: gd-gen-ai-message-in 0.3s ease-out;
32
- color: var(--gd-palette-complementary-0, #fff);
33
32
  }
34
33
  .gd-gen-ai-chat__messages__message--user .gd-gen-ai-chat__messages__content--text::after {
35
34
  content: "";
@@ -42,6 +41,9 @@
42
41
  width: 0;
43
42
  height: 0;
44
43
  }
44
+ .gd-gen-ai-chat__messages__message--user .gd-gen-ai-chat__messages__content--text p {
45
+ color: var(--gd-palette-complementary-0, #fff);
46
+ }
45
47
  .gd-gen-ai-chat__messages__message--user.gd-gen-ai-chat__messages__message--cancelled .gd-gen-ai-chat__messages__content--text {
46
48
  color: var(--gd-palette-complementary-0, #fff);
47
49
  background-color: var(--gd-palette-primary-base-t80, rgba(20, 178, 226, 0.2));
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Form/_mixins.scss","../scss/messages.scss","../scss/variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AA0HA;AA4DA;AClLA;AAAA;AAAA;ACIA;EACI;EACA;EAGA;EACA,eCZQ;;;ADeZ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAIA;EAII;EACA,kBEQkB;EFPlB;EACA;EACA;EACA;EACA;EACA;EACA,OEvBS;;AFyBT;EACI;EACA;EACA;EACA;EACA;EACA;EACA,mBAnBS;EAoBT;EACA;;AAIR;EACI,OEvCS;EFwCT,kBETsB;;AFY1B;EACI,kBEbsB;;;AFiB9B;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA,YEzBsB;EF0BtB,OE5BoB;;;AFgCpB;EAMI,OE3EY;;;AF+EpB;EACI;;;AAGJ;EACI;EACA;EACA;EACA,YE3Fa;EF4Fb;;AAEA;EACI;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;;AAEA;EACI,OErFkB;;AFwFtB;EACI;;AAEA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAIR;EACI;IACI;;EAEJ;IACI;;EAEJ;IACI","file":"messages.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Form/_mixins.scss","../scss/messages.scss","../scss/variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AA0HA;AA4DA;AClLA;AAAA;AAAA;ACIA;EACI;EACA;EAGA;EACA,eCZQ;;;ADeZ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAIA;EAII;EACA,kBEQkB;EFPlB;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA,mBAlBS;EAmBT;EACA;;AAGJ;EACI,OErCK;;AFyCb;EACI,OE1CS;EF2CT,kBEZsB;;AFe1B;EACI,kBEhBsB;;;AFoB9B;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA,YE5BsB;EF6BtB,OE/BoB;;;AFmCpB;EAMI,OE9EY;;;AFkFpB;EACI;;;AAGJ;EACI;EACA;EACA;EACA,YE9Fa;EF+Fb;;AAEA;EACI;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;;AAEA;EACI,OExFkB;;AF2FtB;EACI;;AAEA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;;AAIR;EACI;;;AAGJ;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAIR;EACI;IACI;;EAEJ;IACI;;EAEJ;IACI","file":"messages.css"}
@@ -38,7 +38,6 @@
38
38
  align-self: flex-end;
39
39
  margin-bottom: 15px;
40
40
  animation: gd-gen-ai-message-in 0.3s ease-out;
41
- color: kit-variables.$gd-color-white;
42
41
 
43
42
  &::after {
44
43
  content: "";
@@ -51,6 +50,10 @@
51
50
  width: 0;
52
51
  height: 0;
53
52
  }
53
+
54
+ & p {
55
+ color: kit-variables.$gd-color-white;
56
+ }
54
57
  }
55
58
 
56
59
  &.gd-gen-ai-chat__messages__message--cancelled .gd-gen-ai-chat__messages__content--text {
@@ -1,16 +0,0 @@
1
- import { ISemanticSearchResultItem } from "@gooddata/sdk-model";
2
- export type TextNode = {
3
- type: "text";
4
- value: string;
5
- };
6
- export declare const makeTextNode: (value: string) => TextNode;
7
- export declare const isTextNode: (node: Node) => node is TextNode;
8
- export type LinkNode = {
9
- type: "link";
10
- value: string;
11
- href: string;
12
- };
13
- export declare const makeLinkNode: (value: string, href: string) => LinkNode;
14
- export type Node = TextNode | LinkNode;
15
- export declare const parseText: (text: string, foundObjects: ISemanticSearchResultItem[]) => Node[];
16
- //# sourceMappingURL=parseText.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseText.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/parseText.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAehE,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,QAG3C,CAAC;AAEH,eAAO,MAAM,UAAU,SAAU,IAAI,qBAA2C,CAAC;AAEjF,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,QAAQ,MAAM,KAAG,QAIzD,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAGvC,eAAO,MAAM,SAAS,SAAU,MAAM,gBAAgB,yBAAyB,EAAE,KAAG,IAAI,EAmCvF,CAAC"}
@@ -1,54 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- const getFoundObjectLink = (obj) => {
3
- switch (obj.type) {
4
- case "visualization":
5
- return `/analyze/#/${obj.workspaceId}/${obj.id}/edit`;
6
- case "dashboard":
7
- return `/dashboards/#/workspace/${obj.workspaceId}/dashboard/${obj.id}`;
8
- case "metric":
9
- return `/metrics/#/${obj.workspaceId}/metric/${obj.id}`;
10
- default:
11
- return null;
12
- }
13
- };
14
- export const makeTextNode = (value) => ({
15
- type: "text",
16
- value,
17
- });
18
- export const isTextNode = (node) => node.type === "text";
19
- export const makeLinkNode = (value, href) => ({
20
- type: "link",
21
- value,
22
- href,
23
- });
24
- const rx = /(\{[^}][^.}]*\.[^}]+\})/;
25
- export const parseText = (text, foundObjects) => {
26
- return text
27
- .split(rx)
28
- .map((chunk) => {
29
- if (chunk.startsWith("{") && chunk.endsWith("}")) {
30
- const [objectType, ...objectIdChunks] = chunk.replace("{", "").replace("}", "").split(".");
31
- const objectId = objectIdChunks.join(".");
32
- const obj = foundObjects.find((foundObj) => foundObj.type === objectType && foundObj.id === objectId);
33
- if (!obj) {
34
- return makeTextNode(chunk);
35
- }
36
- const href = getFoundObjectLink(obj);
37
- if (!href) {
38
- return makeTextNode(chunk);
39
- }
40
- return makeLinkNode(obj.title, href);
41
- }
42
- return makeTextNode(chunk);
43
- })
44
- .reduce((chunks, chunk) => {
45
- if (chunk.type === "text" && chunks[chunks.length - 1]?.type === "text") {
46
- chunks[chunks.length - 1].value += chunk.value;
47
- }
48
- else if (chunk.value !== "") {
49
- chunks.push(chunk);
50
- }
51
- return chunks;
52
- }, []);
53
- };
54
- //# sourceMappingURL=parseText.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseText.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/parseText.ts"],"names":[],"mappings":"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"}