@gooddata/sdk-ui-gen-ai 11.64.1 → 11.65.0-alpha.1

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.
@@ -1,5 +1,5 @@
1
1
  import { type ComponentType } from "react";
2
- import { type IGenAIAssistantAgentChooserProps, type IGenAIAssistantAgentItemProps, type IGenAIAssistantAssistantMessageProps, type IGenAIAssistantConversationDateGroupingProps, type IGenAIAssistantConversationDrawerHeaderProps, type IGenAIAssistantConversationFooterProps, type IGenAIAssistantConversationHeaderProps, type IGenAIAssistantConversationItemProps, type IGenAIAssistantConversationKdaContentProps, type IGenAIAssistantConversationVisualizationContentProps, type IGenAIAssistantFeedbackProps, type IGenAIAssistantFollowUpButtonsProps, type IGenAIAssistantFollowUpQuestionProps, type IGenAIAssistantMessageErrorContentProps, type IGenAIAssistantMessageMultipartContentProps, type IGenAIAssistantMessageReasoningContentProps, type IGenAIAssistantMessageTextContentProps, type IGenAIAssistantSlots, type IGenAIAssistantUserMessageProps } from "./customized/types.js";
2
+ import { type IGenAIAssistantAgentChooserProps, type IGenAIAssistantAgentItemProps, type IGenAIAssistantAssistantMessageProps, type IGenAIAssistantConversationDateGroupingProps, type IGenAIAssistantConversationDrawerHeaderProps, type IGenAIAssistantConversationFooterProps, type IGenAIAssistantConversationHeaderProps, type IGenAIAssistantConversationItemProps, type IGenAIAssistantConversationKdaContentProps, type IGenAIAssistantConversationVisualizationContentProps, type IGenAIAssistantFeedbackProps, type IGenAIAssistantFollowUpButtonsProps, type IGenAIAssistantFollowUpQuestionProps, type IGenAIAssistantMessageErrorContentProps, type IGenAIAssistantMessageMultipartContentProps, type IGenAIAssistantMessageReasoningContentProps, type IGenAIAssistantMessageTextContentProps, type IGenAIAssistantSlots, type IGenAIAssistantUserMessageProps, type IGenAIAssistantVisualizationMenuProps } from "./customized/types.js";
3
3
  /**
4
4
  * @internal
5
5
  */
@@ -19,6 +19,7 @@ export interface IGenAIAssistantComponents {
19
19
  MessageReasoningContentComponent: ComponentType<IGenAIAssistantMessageReasoningContentProps>;
20
20
  MessageMultipartContentComponent: ComponentType<IGenAIAssistantMessageMultipartContentProps>;
21
21
  ConversationVisualizationContentComponent: ComponentType<IGenAIAssistantConversationVisualizationContentProps>;
22
+ VisualizationMenuComponent: ComponentType<IGenAIAssistantVisualizationMenuProps>;
22
23
  ConversationKdaContentComponent: ComponentType<IGenAIAssistantConversationKdaContentProps>;
23
24
  FollowUpButtonsComponent: ComponentType<IGenAIAssistantFollowUpButtonsProps>;
24
25
  FollowUpQuestionComponent: ComponentType<IGenAIAssistantFollowUpQuestionProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"CustomizationContext.d.ts","sourceRoot":"","sources":["../../src/components/CustomizationContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAA6B,MAAM,OAAO,CAAC;AAEtE,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,oCAAoC,EACzC,KAAK,4CAA4C,EACjD,KAAK,4CAA4C,EACjD,KAAK,sCAAsC,EAC3C,KAAK,sCAAsC,EAC3C,KAAK,oCAAoC,EACzC,KAAK,0CAA0C,EAC/C,KAAK,oDAAoD,EACzD,KAAK,4BAA4B,EACjC,KAAK,mCAAmC,EACxC,KAAK,oCAAoC,EACzC,KAAK,uCAAuC,EAC5C,KAAK,2CAA2C,EAChD,KAAK,2CAA2C,EAChD,KAAK,sCAAsC,EAC3C,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACvC,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,sBAAsB,EAAE,aAAa,CAAC;IACtC,mBAAmB,EAAE,aAAa,CAAC;IACnC,kBAAkB,EAAE,aAAa,CAAC,6BAA6B,CAAC,CAAC;IACjE,yBAAyB,EAAE,aAAa,CAAC,oCAAoC,CAAC,CAAC;IAC/E,iCAAiC,EAAE,aAAa,CAAC,4CAA4C,CAAC,CAAC;IAC/F,2BAA2B,EAAE,aAAa,CAAC,sCAAsC,CAAC,CAAC;IACnF,2BAA2B,EAAE,aAAa,CAAC,sCAAsC,CAAC,CAAC;IACnF,iCAAiC,EAAE,aAAa,CAAC,4CAA4C,CAAC,CAAC;IAC/F,oBAAoB,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;IACrE,yBAAyB,EAAE,aAAa,CAAC,oCAAoC,CAAC,CAAC;IAC/E,2BAA2B,EAAE,aAAa,CAAC,sCAAsC,CAAC,CAAC;IACnF,4BAA4B,EAAE,aAAa,CAAC,uCAAuC,CAAC,CAAC;IACrF,gCAAgC,EAAE,aAAa,CAAC,2CAA2C,CAAC,CAAC;IAC7F,gCAAgC,EAAE,aAAa,CAAC,2CAA2C,CAAC,CAAC;IAC7F,yCAAyC,EAAE,aAAa,CAAC,oDAAoD,CAAC,CAAC;IAC/G,+BAA+B,EAAE,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAC3F,wBAAwB,EAAE,aAAa,CAAC,mCAAmC,CAAC,CAAC;IAC7E,yBAAyB,EAAE,aAAa,CAAC,oCAAoC,CAAC,CAAC;IAC/E,iBAAiB,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAAC;IAC/D,qBAAqB,EAAE,aAAa,CAAC,gCAAgC,CAAC,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,yBAAyB,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,+CAE/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,iCAM5B,CAAC"}
1
+ {"version":3,"file":"CustomizationContext.d.ts","sourceRoot":"","sources":["../../src/components/CustomizationContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAA6B,MAAM,OAAO,CAAC;AAEtE,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,oCAAoC,EACzC,KAAK,4CAA4C,EACjD,KAAK,4CAA4C,EACjD,KAAK,sCAAsC,EAC3C,KAAK,sCAAsC,EAC3C,KAAK,oCAAoC,EACzC,KAAK,0CAA0C,EAC/C,KAAK,oDAAoD,EACzD,KAAK,4BAA4B,EACjC,KAAK,mCAAmC,EACxC,KAAK,oCAAoC,EACzC,KAAK,uCAAuC,EAC5C,KAAK,2CAA2C,EAChD,KAAK,2CAA2C,EAChD,KAAK,sCAAsC,EAC3C,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,qCAAqC,EAC7C,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,sBAAsB,EAAE,aAAa,CAAC;IACtC,mBAAmB,EAAE,aAAa,CAAC;IACnC,kBAAkB,EAAE,aAAa,CAAC,6BAA6B,CAAC,CAAC;IACjE,yBAAyB,EAAE,aAAa,CAAC,oCAAoC,CAAC,CAAC;IAC/E,iCAAiC,EAAE,aAAa,CAAC,4CAA4C,CAAC,CAAC;IAC/F,2BAA2B,EAAE,aAAa,CAAC,sCAAsC,CAAC,CAAC;IACnF,2BAA2B,EAAE,aAAa,CAAC,sCAAsC,CAAC,CAAC;IACnF,iCAAiC,EAAE,aAAa,CAAC,4CAA4C,CAAC,CAAC;IAC/F,oBAAoB,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;IACrE,yBAAyB,EAAE,aAAa,CAAC,oCAAoC,CAAC,CAAC;IAC/E,2BAA2B,EAAE,aAAa,CAAC,sCAAsC,CAAC,CAAC;IACnF,4BAA4B,EAAE,aAAa,CAAC,uCAAuC,CAAC,CAAC;IACrF,gCAAgC,EAAE,aAAa,CAAC,2CAA2C,CAAC,CAAC;IAC7F,gCAAgC,EAAE,aAAa,CAAC,2CAA2C,CAAC,CAAC;IAC7F,yCAAyC,EAAE,aAAa,CAAC,oDAAoD,CAAC,CAAC;IAC/G,0BAA0B,EAAE,aAAa,CAAC,qCAAqC,CAAC,CAAC;IACjF,+BAA+B,EAAE,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAC3F,wBAAwB,EAAE,aAAa,CAAC,mCAAmC,CAAC,CAAC;IAC7E,yBAAyB,EAAE,aAAa,CAAC,oCAAoC,CAAC,CAAC;IAC/E,iBAAiB,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAAC;IAC/D,qBAAqB,EAAE,aAAa,CAAC,gCAAgC,CAAC,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,yBAAyB,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,+CAE/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,iCAM5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomizationProvider.d.ts","sourceRoot":"","sources":["../../src/components/CustomizationProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAsBpE,OAAO,EAkBH,KAAK,oBAAoB,EAE5B,MAAM,uBAAuB,CAAC;AAI/B,MAAM,MAAM,0BAA0B,GAAG;IACrC,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AA2NF,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,2CAoCvG"}
1
+ {"version":3,"file":"CustomizationProvider.d.ts","sourceRoot":"","sources":["../../src/components/CustomizationProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAsBpE,OAAO,EAkBH,KAAK,oBAAoB,EAG5B,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,0BAA0B,GAAG;IACrC,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAqOF,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,2CAqCvG"}
@@ -22,6 +22,7 @@ import { DefaultMessageMultipartContent } from "./customized/MessageMultipartCon
22
22
  import { DefaultMessageReasoningContent } from "./customized/MessageReasoningContent.js";
23
23
  import { DefaultMessageTextContent } from "./customized/MessageTextContent.js";
24
24
  import { DefaultUserMessage } from "./customized/UserMessage.js";
25
+ import { DefaultVisualizationMenu } from "./customized/VisualizationMenu.js";
25
26
  import { useFullscreenCheck } from "./hooks/useFullscreenCheck.js";
26
27
  function LandingScreenSlotRenderer() {
27
28
  const { slots } = useContext(customizationContext);
@@ -148,6 +149,14 @@ function ConversationVisualizationContentSlotRenderer(props) {
148
149
  }
149
150
  return _jsx(DefaultConversationVisualizationContent, { ...props });
150
151
  }
152
+ function VisualizationMenuSlotRenderer(props) {
153
+ const { slots } = useContext(customizationContext);
154
+ const VisualizationMenuSlot = slots?.VisualizationMenu;
155
+ if (VisualizationMenuSlot) {
156
+ return _jsx(VisualizationMenuSlot, { Default: DefaultVisualizationMenu, defaultProps: props });
157
+ }
158
+ return _jsx(DefaultVisualizationMenu, { ...props });
159
+ }
151
160
  function ConversationKdaContentSlotRenderer(props) {
152
161
  const { slots } = useContext(customizationContext);
153
162
  const ConversationKdaContentSlot = slots?.ConversationKdaContent;
@@ -205,6 +214,7 @@ export function CustomizationProvider({ children, slots }) {
205
214
  MessageReasoningContentComponent: MessageReasoningContentSlotRenderer,
206
215
  MessageMultipartContentComponent: MessageMultipartContentSlotRenderer,
207
216
  ConversationVisualizationContentComponent: ConversationVisualizationContentSlotRenderer,
217
+ VisualizationMenuComponent: VisualizationMenuSlotRenderer,
208
218
  ConversationKdaContentComponent: ConversationKdaContentSlotRenderer,
209
219
  FollowUpButtonsComponent: FollowUpButtonsSlotRenderer,
210
220
  FollowUpQuestionComponent: FollowUpQuestionSlotRenderer,
@@ -0,0 +1,8 @@
1
+ import { type IGenAIAssistantVisualizationMenuProps } from "./types.js";
2
+ /**
3
+ * Default implementation of the VisualizationMenu slot.
4
+ *
5
+ * @alpha
6
+ */
7
+ export declare function DefaultVisualizationMenu({ items, isDisabled, ariaDescribedBy, }: IGenAIAssistantVisualizationMenuProps): import("react/jsx-runtime").JSX.Element | null;
8
+ //# sourceMappingURL=VisualizationMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizationMenu.d.ts","sourceRoot":"","sources":["../../../src/components/customized/VisualizationMenu.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAEH,KAAK,qCAAqC,EAC7C,MAAM,YAAY,CAAC;AAOpB;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,KAAK,EACL,UAAU,EACV,eAAe,GAClB,EAAE,qCAAqC,kDAiFvC"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { useCallback, useId, useRef, useState } from "react";
4
+ import cx from "classnames";
5
+ import { useIntl } from "react-intl";
6
+ import { Overlay, UiFocusManager, UiIconButton, UiMenu, UiTooltip, } from "@gooddata/sdk-ui-kit";
7
+ const MORE_MENU_BUTTON_ID = "gd-gen-ai-chat__conversation__visualization__save__more-menu-button";
8
+ const overlayAlignPoints = [{ align: "br tr" }];
9
+ /**
10
+ * Default implementation of the VisualizationMenu slot.
11
+ *
12
+ * @alpha
13
+ */
14
+ export function DefaultVisualizationMenu({ items, isDisabled, ariaDescribedBy, }) {
15
+ const [isOpen, setIsOpen] = useState(false);
16
+ const intl = useIntl();
17
+ const id = useId();
18
+ const menuId = `menu-${id}`;
19
+ const anchorRef = useRef(null);
20
+ const moreLabel = intl.formatMessage({ id: "gd.gen-ai.visualisation.menu" });
21
+ const close = useCallback(() => setIsOpen(false), []);
22
+ if (items.length === 0) {
23
+ return null;
24
+ }
25
+ const menuItems = items.map((item) => ({
26
+ type: "interactive",
27
+ id: item.id,
28
+ stringTitle: item.title,
29
+ data: item,
30
+ iconLeft: item.icon,
31
+ isDisabled: item.isDisabled ?? false,
32
+ ariaAttributes: item.ariaAttributes,
33
+ }));
34
+ return (_jsxs("div", { ref: anchorRef, id: MORE_MENU_BUTTON_ID, className: cx("gd-gen-ai-chat__conversation__visualization__save", {
35
+ active: isOpen,
36
+ }), children: [_jsx(UiTooltip, { disabled: !moreLabel, triggerBy: ["focus", "hover"], arrowPlacement: "bottom", anchor: _jsx(UiIconButton, { dataTestId: "gen-ai-visualization-menu-button", onClick: () => setIsOpen(!isOpen), icon: "ellipsis", isDisabled: isDisabled, accessibilityConfig: {
37
+ role: "button",
38
+ ariaLabel: moreLabel,
39
+ ariaDescribedBy,
40
+ isExpanded: isOpen,
41
+ popupId: menuId,
42
+ ariaHaspopup: "menu",
43
+ }, isActive: isOpen }), content: moreLabel }), isOpen ? (_jsx(Overlay, { closeOnMouseDrag: true, closeOnOutsideClick: true, alignTo: anchorRef.current, alignPoints: overlayAlignPoints, onClose: close, className: "gd-gen-ai-chat__conversation__visualization__menu_overlay", children: _jsx(UiFocusManager, { enableAutofocus: true, enableReturnFocusOnUnmount: true, enableFocusTrap: true, children: _jsx(UiMenu, { dataTestId: "gen-ai-visualization-menu-list", items: menuItems, ariaAttributes: { id: menuId }, onSelect: (item, e) => {
44
+ item.data.onSelect(e);
45
+ close();
46
+ }, onClose: close }) }) })) : null] }));
47
+ }
@@ -1,4 +1,4 @@
1
- import { type ComponentType } from "react";
1
+ import { type AriaAttributes, type ComponentType, type KeyboardEvent, type MouseEvent, type ReactNode } from "react";
2
2
  import { type IChatConversationVisualisationContent, type IChatKdaDefinition, type IChatSuggestion } from "@gooddata/sdk-backend-spi";
3
3
  import { type GenAIChatEffort } from "@gooddata/sdk-model";
4
4
  import { type ISlotProps, type IUiMenuGroupItemProps, type IUiMenuInteractiveItemProps, type IUiMenuInteractiveItemWrapperProps, type IUiMenuItem } from "@gooddata/sdk-ui-kit";
@@ -264,6 +264,75 @@ export type IGenAIAssistantConversationVisualizationContentProps = {
264
264
  */
265
265
  enableKeyDriverAnalysis?: boolean;
266
266
  };
267
+ /**
268
+ * Item of the visualization menu.
269
+ * @alpha
270
+ */
271
+ export type IGenAIAssistantVisualizationMenuItem = {
272
+ /**
273
+ * Unique identifier of the item.
274
+ * Built-in items use the ids "button-save", "button-open" and "button-copy".
275
+ */
276
+ id: string;
277
+ /**
278
+ * Title displayed in the menu.
279
+ */
280
+ title: string;
281
+ /**
282
+ * Icon displayed before the title.
283
+ */
284
+ icon?: ReactNode;
285
+ /**
286
+ * Whether the item is disabled.
287
+ */
288
+ isDisabled?: boolean;
289
+ /**
290
+ * Additional ARIA attributes of the item.
291
+ */
292
+ ariaAttributes?: AriaAttributes;
293
+ /**
294
+ * Callback when the item is selected. The menu closes after the callback.
295
+ */
296
+ onSelect: (event: MouseEvent | KeyboardEvent) => void;
297
+ };
298
+ /**
299
+ * Properties for the VisualizationMenu slot.
300
+ * @alpha
301
+ */
302
+ export type IGenAIAssistantVisualizationMenuProps = {
303
+ /**
304
+ * The message containing the visualization content.
305
+ */
306
+ message: IChatConversationLocalItem;
307
+ /**
308
+ * The multipart part containing the visualization.
309
+ */
310
+ part: IChatConversationMultipartLocalPart;
311
+ /**
312
+ * The what-if scenario context for this visualization.
313
+ */
314
+ scenario?: IWhatIfRenderableScenario;
315
+ /**
316
+ * The visualization the menu belongs to.
317
+ */
318
+ visualization: NonNullable<IChatConversationVisualisationContent["visualization"]>;
319
+ /**
320
+ * Items of the menu. The menu button is hidden when the list is empty.
321
+ */
322
+ items: IGenAIAssistantVisualizationMenuItem[];
323
+ /**
324
+ * Whether the visualization is saved in the workspace.
325
+ */
326
+ isVisualizationSaved: boolean;
327
+ /**
328
+ * Whether the menu button is disabled.
329
+ */
330
+ isDisabled?: boolean;
331
+ /**
332
+ * Id of the element that describes the menu button.
333
+ */
334
+ ariaDescribedBy?: string;
335
+ };
267
336
  /**
268
337
  * Properties for the ConversationKdaContent slot.
269
338
  * @alpha
@@ -467,6 +536,12 @@ export interface IGenAIAssistantSlots {
467
536
  * Custom React component rendered for a visualization part in multipart content.
468
537
  */
469
538
  ConversationVisualizationContent?: ComponentType<ISlotProps<IGenAIAssistantConversationVisualizationContentProps>>;
539
+ /**
540
+ * @alpha
541
+ * Custom React component rendered for the menu of a visualization in multipart content.
542
+ * Change the `items` of `defaultProps` to add, remove or reorder the menu items.
543
+ */
544
+ VisualizationMenu?: ComponentType<ISlotProps<IGenAIAssistantVisualizationMenuProps>>;
470
545
  /**
471
546
  * @alpha
472
547
  * Custom React component rendered for a key driver analysis part in multipart content.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/customized/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/customized/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationVisualizationContent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationVisualizationContent.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AA2BvF,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AAa9G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,KAAK,oDAAoD,EAAE,MAAM,2BAA2B,CAAC;AA6BtG,KAAK,wBAAwB,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAE9E,wBAAgB,kCAAkC,CAAC,EAC/C,QAAQ,EACR,oBAAoB,EACpB,QAAQ,EACR,SAAS,GACZ,EAAE;IACC,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,SAAS,CAAC,EAAE,oDAAoD,CAAC,WAAW,CAAC,CAAC;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;CACjC,GAAG,wBAAwB,EAAE,CAyB7B;AAED,MAAM,MAAM,qCAAqC,GAAG;IAChD,OAAO,EAAE,0BAA0B,CAAC;IACpC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,aAAa,EAAE,WAAW,CAAC,qCAAqC,CAAC,eAAe,CAAC,CAAC,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,oDAAoD,CAAC,WAAW,CAAC,CAAC;IAC9E,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,EAC7C,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,SAAS,EACT,uBAAuB,GAC1B,EAAE,qCAAqC,2CAsIvC"}
1
+ {"version":3,"file":"ConversationVisualizationContent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationVisualizationContent.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AAuBvF,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AAa9G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAGlF,OAAO,EACH,KAAK,oDAAoD,EAE5D,MAAM,2BAA2B,CAAC;AAmBnC,KAAK,wBAAwB,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAE9E,wBAAgB,kCAAkC,CAAC,EAC/C,QAAQ,EACR,oBAAoB,EACpB,QAAQ,EACR,SAAS,GACZ,EAAE;IACC,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,SAAS,CAAC,EAAE,oDAAoD,CAAC,WAAW,CAAC,CAAC;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;CACjC,GAAG,wBAAwB,EAAE,CAyB7B;AAED,MAAM,MAAM,qCAAqC,GAAG;IAChD,OAAO,EAAE,0BAA0B,CAAC;IACpC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,aAAa,EAAE,WAAW,CAAC,qCAAqC,CAAC,eAAe,CAAC,CAAC,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,oDAAoD,CAAC,WAAW,CAAC,CAAC;IAC9E,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,EAC7C,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,SAAS,EACT,uBAAuB,GAC1B,EAAE,qCAAqC,2CAwIvC"}
@@ -8,12 +8,13 @@ import { useDispatch, useSelector } from "react-redux";
8
8
  import { insightVisualizationType } from "@gooddata/sdk-model";
9
9
  import { isClusteringNotReceived, isDataTooLargeToCompute, isDataTooLargeToDisplay, isForecastNotReceived, isNegativeValues, isNoDataSdkError, useWorkspaceStrict, } from "@gooddata/sdk-ui";
10
10
  import { canConvertToTable } from "@gooddata/sdk-ui-ext";
11
- import { Dropdown, IconCopy, IconExternalLink, IconSave, Overlay, UiFocusManager, UiIconButton, UiMenu, UiTooltip, } from "@gooddata/sdk-ui-kit";
11
+ import { Dropdown, IconCopy, IconExternalLink, IconSave, UiIconButton, UiTooltip, } from "@gooddata/sdk-ui-kit";
12
12
  import { catalogItemsSelector, colorPaletteSelector, settingsSelector, } from "../../../store/chatWindow/chatWindowSelectors.js";
13
13
  import { copyToClipboardAction, setKeyDriverAnalysisAction, } from "../../../store/chatWindow/chatWindowSlice.js";
14
14
  import { conversationSelector } from "../../../store/messages/messagesSelectors.js";
15
15
  import { getAbsoluteVisualizationHref, getVisualizationHref } from "../../../utils.js";
16
16
  import { useConfig } from "../../ConfigContext.js";
17
+ import { useCustomization } from "../../CustomizationContext.js";
17
18
  import { convertIntersectionToAttributeFilters, mergeFilters } from "../../utils/intersectionUtils.js";
18
19
  import { VisualizationErrorBoundary } from "../components/VisualizationErrorBoundary.js";
19
20
  import { DrillSelectDropdownMenu } from "../contents/drill/DrillSelectDropdownMenu.js";
@@ -24,8 +25,6 @@ import { createKdaDefinitionFromDrill, getDashboardAttributeFilter } from "./use
24
25
  import { useKdaEnabled } from "./useKdaEnabled.js";
25
26
  import { useInsightSaveCheck } from "./useSaveCheck.js";
26
27
  import { isFatalError } from "./utils/errors.js";
27
- const MORE_MENU_BUTTON_ID = "gd-gen-ai-chat__conversation__visualization__save__more-menu-button";
28
- const overlayAlignPoints = [{ align: "br tr" }];
29
28
  export function getVisibleVisualisationMenuItemIds({ scenario, isVisualisationSaved, hasError, menuItems, }) {
30
29
  if (scenario && !scenario.isBaseline) {
31
30
  return [];
@@ -85,7 +84,7 @@ export function ConversationVisualizationContent({ message, part, scenario, visu
85
84
  }, [isTable, visualizationId]);
86
85
  const activeVisError = visError?.visualizationId === visualizationId && visError.isTable === isTable ? visError : null;
87
86
  const classNames = cx("gd-gen-ai-chat__conversation__item__content", "gd-gen-ai-chat__conversation__item__content--visualization", className);
88
- return (_jsxs("div", { className: classNames, children: [_jsx(DrillState, { drillState: drillState, setDrillState: setDrillState, containerRef: containerRef, filters: visualization.insight.filters, children: _jsxs(Wrapper, { containerRef: containerRef, visualization: visualization, children: [_jsx(VisualisationMenu, { visualization: visualization, scenario: scenario, isVisualisationSaved: visualisationSaved || !!part.saved, isVisualisationCheckLoading: visualisationCheckLoading, isTable: isTable, onTable: setIsTable, hasError: activeVisError?.isFatal ?? false, moreButtonId: moreButtonDescId, onSave: onSave, onOpen: onOpen, onCopy: onCopy, menuItems: menuItems, isLoading: part.reporting ?? false }), _jsx(Title, { id: moreButtonDescId, visualization: visualization, scenario: scenario }), enableAiAssistantChartsV2 ? (_jsx(VisualisationWrapper2, { message: message, colorPalette: colorPalette, separators: separators, isTable: isTable, visualization: visualization, agGridToken: agGridToken, execConfig: scenario?.execConfig, settings: settings, enableChangeAnalysis: enableChangeAnalysis, enableSecondGranularities: !!enableSecondGranularities, enableAccessibleChartTooltip: enableAccessibleChartTooltip, enableDrilling: !scenario || scenario.isBaseline, onDrillFired: setDrillState, onVisualisationError: onVisualizationError, onVisualisationSuccess: onVisualizationSuccess })) : (_jsx(VisualisationWrapper, { message: message, colorPalette: colorPalette, separators: separators, isTable: isTable, visualization: visualization, agGridToken: agGridToken, execConfig: scenario?.execConfig, enableChangeAnalysis: enableChangeAnalysis, enableSecondGranularities: !!enableSecondGranularities, enableNewPivotTable: enableNewPivotTable, enableAccessibleChartTooltip: enableAccessibleChartTooltip, enableDrilling: !scenario || scenario.isBaseline, onDrillFired: setDrillState, onVisualisationError: onVisualizationError, onVisualisationSuccess: onVisualizationSuccess })), _jsx(SaveDialog, {})] }) }), _jsx(VisualizationErrorReport, { error: activeVisError?.error })] }));
87
+ return (_jsxs("div", { className: classNames, children: [_jsx(DrillState, { drillState: drillState, setDrillState: setDrillState, containerRef: containerRef, filters: visualization.insight.filters, children: _jsxs(Wrapper, { containerRef: containerRef, visualization: visualization, children: [_jsx(VisualisationMenu, { message: message, part: part, visualization: visualization, scenario: scenario, isVisualisationSaved: visualisationSaved || !!part.saved, isVisualisationCheckLoading: visualisationCheckLoading, isTable: isTable, onTable: setIsTable, hasError: activeVisError?.isFatal ?? false, moreButtonId: moreButtonDescId, onSave: onSave, onOpen: onOpen, onCopy: onCopy, menuItems: menuItems, isLoading: part.reporting ?? false }), _jsx(Title, { id: moreButtonDescId, visualization: visualization, scenario: scenario }), enableAiAssistantChartsV2 ? (_jsx(VisualisationWrapper2, { message: message, colorPalette: colorPalette, separators: separators, isTable: isTable, visualization: visualization, agGridToken: agGridToken, execConfig: scenario?.execConfig, settings: settings, enableChangeAnalysis: enableChangeAnalysis, enableSecondGranularities: !!enableSecondGranularities, enableAccessibleChartTooltip: enableAccessibleChartTooltip, enableDrilling: !scenario || scenario.isBaseline, onDrillFired: setDrillState, onVisualisationError: onVisualizationError, onVisualisationSuccess: onVisualizationSuccess })) : (_jsx(VisualisationWrapper, { message: message, colorPalette: colorPalette, separators: separators, isTable: isTable, visualization: visualization, agGridToken: agGridToken, execConfig: scenario?.execConfig, enableChangeAnalysis: enableChangeAnalysis, enableSecondGranularities: !!enableSecondGranularities, enableNewPivotTable: enableNewPivotTable, enableAccessibleChartTooltip: enableAccessibleChartTooltip, enableDrilling: !scenario || scenario.isBaseline, onDrillFired: setDrillState, onVisualisationError: onVisualizationError, onVisualisationSuccess: onVisualizationSuccess })), _jsx(SaveDialog, {})] }) }), _jsx(VisualizationErrorReport, { error: activeVisError?.error })] }));
89
88
  }
90
89
  function Wrapper({ containerRef, visualization, children }) {
91
90
  return (_jsx("div", { ref: containerRef, "data-testid": "gen-ai-conversation-visualization", "data-visualization-type": visualization?.insight.visualizationUrl.replace("local:", "").toLowerCase() ?? "unknown", className: cx("gd-gen-ai-chat__conversation__visualization", `gd-gen-ai-chat__conversation__visualization--${visualization?.insight.visualizationUrl.replace("local:", "").toLowerCase() ?? "unknown"}`), children: children }));
@@ -93,19 +92,17 @@ function Wrapper({ containerRef, visualization, children }) {
93
92
  function Title({ id, visualization, scenario }) {
94
93
  return (_jsx("div", { className: "gd-gen-ai-chat__conversation__visualization__title", id: id, children: scenario?.label ?? visualization?.insight.title ?? "" }));
95
94
  }
96
- function VisualisationMenu({ visualization, scenario, isVisualisationSaved, isVisualisationCheckLoading, hasError, isLoading, isTable, onTable, moreButtonId, onSave, onOpen, onCopy, menuItems, }) {
97
- const [isMenuButtonOpen, setMenuButtonOpen] = useState(false);
95
+ function VisualisationMenu({ message, part, visualization, scenario, isVisualisationSaved, isVisualisationCheckLoading, hasError, isLoading, isTable, onTable, moreButtonId, onSave, onOpen, onCopy, menuItems, }) {
98
96
  const type = insightVisualizationType(visualization);
99
97
  const config = useConfig();
100
98
  const intl = useIntl();
101
- // generate unique IDs for accessibility and dropdown positioning
102
- const id = useId();
103
- const menuId = `menu-${id}`;
104
- const classes = `${MORE_MENU_BUTTON_ID}-${id}`;
105
- const moreLabel = intl.formatMessage({ id: "gd.gen-ai.visualisation.menu" });
99
+ const { VisualizationMenuComponent } = useCustomization();
106
100
  const toggleTableLabel = intl.formatMessage({ id: "gd.gen-ai.visualisation.toggle.table" });
107
101
  const toggleTableOrig = intl.formatMessage({ id: "gd.gen-ai.visualisation.toggle.original" });
108
- const menuItemsList = useMemo(() => {
102
+ const items = useMemo(() => {
103
+ if (!config.canAnalyze) {
104
+ return [];
105
+ }
109
106
  const itemIds = getVisibleVisualisationMenuItemIds({
110
107
  scenario,
111
108
  isVisualisationSaved,
@@ -128,6 +125,7 @@ function VisualisationMenu({ visualization, scenario, isVisualisationSaved, isVi
128
125
  ariaAttributes: {
129
126
  "aria-haspopup": "dialog",
130
127
  },
128
+ onSelect: onSave,
131
129
  };
132
130
  case "button-open":
133
131
  return {
@@ -141,6 +139,7 @@ function VisualisationMenu({ visualization, scenario, isVisualisationSaved, isVi
141
139
  id: "gd.gen-ai.visualisation.menu.button.open_in_analyze.description",
142
140
  }),
143
141
  },
142
+ onSelect: (e) => onOpen(e, isVisualisationSaved),
144
143
  };
145
144
  case "button-copy":
146
145
  return {
@@ -149,70 +148,34 @@ function VisualisationMenu({ visualization, scenario, isVisualisationSaved, isVi
149
148
  id: "gd.gen-ai.visualisation.menu.button.copy_visualisation_link",
150
149
  }),
151
150
  icon: _jsx(IconCopy, { width: 16, height: 16, ariaHidden: true, color: "currentColor" }),
152
- };
153
- default:
154
- return {
155
- id,
156
- title: "",
157
- icon: null,
151
+ onSelect: (e) => {
152
+ if (isVisualisationSaved) {
153
+ onCopy(e);
154
+ }
155
+ },
158
156
  };
159
157
  }
160
158
  });
161
- }, [intl, isVisualisationSaved, scenario, menuItems, hasError]);
162
- const handleButtonClick = useCallback((e, item) => {
163
- switch (item.id) {
164
- case "button-save":
165
- onSave(e);
166
- setMenuButtonOpen(false);
167
- break;
168
- case "button-open":
169
- onOpen(e, isVisualisationSaved);
170
- setMenuButtonOpen(false);
171
- break;
172
- case "button-copy":
173
- if (isVisualisationSaved) {
174
- onCopy(e);
175
- }
176
- setMenuButtonOpen(false);
177
- break;
178
- default:
179
- // No action needed for other items
180
- break;
181
- }
182
- }, [onCopy, setMenuButtonOpen, onOpen, onSave, isVisualisationSaved]);
183
- const renderMenuItems = useCallback(() => {
184
- return (_jsx(Overlay, { closeOnMouseDrag: true, closeOnOutsideClick: true, alignTo: `.${classes}`, alignPoints: overlayAlignPoints, onClose: () => setMenuButtonOpen(false), className: "gd-gen-ai-chat__conversation__visualization__menu_overlay", children: _jsx(UiFocusManager, { enableAutofocus: true, enableReturnFocusOnUnmount: true, enableFocusTrap: true, children: _jsx(UiMenu, { dataTestId: "gen-ai-visualization-menu-list", items: menuItemsList.map((item) => ({
185
- type: "interactive",
186
- stringTitle: item.title,
187
- data: item,
188
- iconLeft: item.icon,
189
- id: item.id,
190
- isDisabled: false,
191
- ariaAttributes: item.ariaAttributes,
192
- })), ariaAttributes: {
193
- id: menuId,
194
- }, onSelect: (item, e) => {
195
- handleButtonClick(e, item.data);
196
- }, onClose: () => setMenuButtonOpen(false) }) }) }, "saveVisualisationMenuButton"));
197
- }, [classes, handleButtonClick, menuId, menuItemsList, setMenuButtonOpen]);
198
- if (!config.canAnalyze || hasError) {
159
+ }, [
160
+ config.canAnalyze,
161
+ intl,
162
+ isVisualisationSaved,
163
+ scenario,
164
+ menuItems,
165
+ hasError,
166
+ onSave,
167
+ onOpen,
168
+ onCopy,
169
+ ]);
170
+ if (hasError) {
199
171
  return null;
200
172
  }
201
- return (_jsxs("div", { className: cx("gd-gen-ai-chat__conversation__visualization__buttons", {
202
- active: isMenuButtonOpen,
203
- }), children: [!hasError && !canConvertToTable(type) ? null : (_jsx("div", { className: cx("gd-gen-ai-chat__conversation__visualization__table"), children: _jsx(UiTooltip, { triggerBy: ["focus", "hover"], arrowPlacement: "bottom", anchor: _jsx(UiIconButton, { dataTestId: "gen-ai-visualization-toggle-button", onClick: () => {
173
+ return (_jsxs("div", { className: "gd-gen-ai-chat__conversation__visualization__buttons", children: [config.canAnalyze && canConvertToTable(type) ? (_jsx("div", { className: cx("gd-gen-ai-chat__conversation__visualization__table"), children: _jsx(UiTooltip, { triggerBy: ["focus", "hover"], arrowPlacement: "bottom", anchor: _jsx(UiIconButton, { dataTestId: "gen-ai-visualization-toggle-button", onClick: () => {
204
174
  onTable(!isTable);
205
175
  }, icon: isTable ? "visualization" : "table", accessibilityConfig: {
206
176
  role: "button",
207
177
  ariaLabel: isTable ? toggleTableOrig : toggleTableLabel,
208
- } }), content: isTable ? toggleTableOrig : toggleTableLabel }) })), menuItemsList.length > 0 ? (_jsxs("div", { id: MORE_MENU_BUTTON_ID, className: cx("gd-gen-ai-chat__conversation__visualization__save", classes), children: [_jsx(UiTooltip, { disabled: !moreLabel, triggerBy: ["focus", "hover"], arrowPlacement: "bottom", anchor: _jsx(UiIconButton, { dataTestId: "gen-ai-visualization-menu-button", onClick: () => setMenuButtonOpen(!isMenuButtonOpen), icon: "ellipsis", isDisabled: isLoading || isVisualisationCheckLoading, accessibilityConfig: {
209
- role: "button",
210
- ariaLabel: moreLabel,
211
- ariaDescribedBy: moreButtonId,
212
- isExpanded: isMenuButtonOpen,
213
- popupId: menuId,
214
- ariaHaspopup: "menu",
215
- }, isActive: isMenuButtonOpen }), content: moreLabel }), isMenuButtonOpen ? renderMenuItems() : null] })) : null] }));
178
+ } }), content: isTable ? toggleTableOrig : toggleTableLabel }) })) : null, _jsx(VisualizationMenuComponent, { message: message, part: part, scenario: scenario, visualization: visualization, items: items, isVisualizationSaved: isVisualisationSaved, isDisabled: isLoading || isVisualisationCheckLoading, ariaDescribedBy: moreButtonId })] }));
216
179
  }
217
180
  function VisualisationWrapper(props) {
218
181
  return (_jsx("div", { className: cx("gd-gen-ai-chat__conversation__visualization__wrapper", `gd-gen-ai-chat__conversation__visualization__wrapper--${props.isTable ? "table" : (props.visualization?.insight.visualizationUrl.replace("local:", "").toLowerCase() ?? "unknown")}`), children: _jsx(VisualizationErrorBoundary, { children: _jsx(ConversationVisualisation, { ...props }) }) }));
package/esm/index.d.ts CHANGED
@@ -24,11 +24,12 @@ export { DefaultLandingQuestion, type ILandingQuestionProps, } from "./component
24
24
  export { DefaultLandingQuestions, DefaultLandingContainer, type ILandingContentProps, } from "./components/customized/LandingContainer.js";
25
25
  export { DefaultAgentItem } from "./components/customized/AgentItem.js";
26
26
  export { DefaultDisclaimer } from "./components/customized/Disclaimer.js";
27
- export { type IGenAIAssistantSlots, type IGenAIAssistantLandingScreenProps, type IGenAIAssistantDisclaimerProps, type IGenAIAssistantAgentItemProps, type IGenAIAssistantConversationItemProps, type IGenAIAssistantConversationDrawerHeaderProps, type IGenAIAssistantConversationHeaderProps, type IGenAIAssistantConversationFooterProps, type IGenAIAssistantConversationDateGroupingProps, type IGenAIAssistantUserMessageProps, type IGenAIAssistantAssistantMessageProps, type IGenAIAssistantMessageTextContentProps, type IGenAIAssistantMessageErrorContentProps, type IGenAIAssistantMessageReasoningContentProps, type IGenAIAssistantMessageMultipartContentProps, type IGenAIAssistantFollowUpButtonsProps, type IGenAIAssistantFollowUpQuestionProps, type IGenAIAssistantFeedbackProps, type IGenAIAssistantAgentChooserProps, type IGenAIAssistantConversationVisualizationContentProps, type IGenAIAssistantConversationKdaContentProps, } from "./components/customized/types.js";
27
+ export { type IGenAIAssistantSlots, type IGenAIAssistantLandingScreenProps, type IGenAIAssistantDisclaimerProps, type IGenAIAssistantAgentItemProps, type IGenAIAssistantConversationItemProps, type IGenAIAssistantConversationDrawerHeaderProps, type IGenAIAssistantConversationHeaderProps, type IGenAIAssistantConversationFooterProps, type IGenAIAssistantConversationDateGroupingProps, type IGenAIAssistantUserMessageProps, type IGenAIAssistantAssistantMessageProps, type IGenAIAssistantMessageTextContentProps, type IGenAIAssistantMessageErrorContentProps, type IGenAIAssistantMessageReasoningContentProps, type IGenAIAssistantMessageMultipartContentProps, type IGenAIAssistantFollowUpButtonsProps, type IGenAIAssistantFollowUpQuestionProps, type IGenAIAssistantFeedbackProps, type IGenAIAssistantAgentChooserProps, type IGenAIAssistantConversationVisualizationContentProps, type IGenAIAssistantConversationKdaContentProps, type IGenAIAssistantVisualizationMenuProps, type IGenAIAssistantVisualizationMenuItem, } from "./components/customized/types.js";
28
28
  export { type IWhatIfRenderableScenario } from "./whatIf/whatIfMapping.js";
29
29
  export { DefaultAssistantMessage } from "./components/customized/AssistantMessage.js";
30
30
  export { DefaultMessageErrorContent } from "./components/customized/MessageErrorContent.js";
31
31
  export { DefaultConversationVisualizationContent } from "./components/customized/ConversationVisualizationContent.js";
32
+ export { DefaultVisualizationMenu } from "./components/customized/VisualizationMenu.js";
32
33
  export { DefaultConversationKdaContent } from "./components/customized/ConversationKdaContent.js";
33
34
  export { DefaultMessageMultipartContent } from "./components/customized/MessageMultipartContent.js";
34
35
  export { DefaultMessageReasoningContent } from "./components/customized/MessageReasoningContent.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/esm/index.js CHANGED
@@ -28,6 +28,7 @@ export { DefaultDisclaimer } from "./components/customized/Disclaimer.js";
28
28
  export { DefaultAssistantMessage } from "./components/customized/AssistantMessage.js";
29
29
  export { DefaultMessageErrorContent } from "./components/customized/MessageErrorContent.js";
30
30
  export { DefaultConversationVisualizationContent } from "./components/customized/ConversationVisualizationContent.js";
31
+ export { DefaultVisualizationMenu } from "./components/customized/VisualizationMenu.js";
31
32
  export { DefaultConversationKdaContent } from "./components/customized/ConversationKdaContent.js";
32
33
  export { DefaultMessageMultipartContent } from "./components/customized/MessageMultipartContent.js";
33
34
  export { DefaultMessageReasoningContent } from "./components/customized/MessageReasoningContent.js";
@@ -7,6 +7,7 @@
7
7
  import { ActionCreatorWithoutPayload } from '@reduxjs/toolkit';
8
8
  import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
9
9
  import { AgentCustomSkill } from '@gooddata/sdk-model';
10
+ import { AriaAttributes } from 'react';
10
11
  import { CatalogItem } from '@gooddata/sdk-model';
11
12
  import { ComponentType } from 'react';
12
13
  import { DashboardSelectorEvaluator } from '@gooddata/sdk-ui-dashboard';
@@ -38,6 +39,8 @@ import { IUiMenuInteractiveItemWrapperProps } from '@gooddata/sdk-ui-kit';
38
39
  import { IUiMenuItem } from '@gooddata/sdk-ui-kit';
39
40
  import { IUserWorkspaceSettings } from '@gooddata/sdk-backend-spi';
40
41
  import { JSX } from 'react/jsx-runtime';
42
+ import { KeyboardEvent as KeyboardEvent_2 } from 'react';
43
+ import { MouseEvent as MouseEvent_2 } from 'react';
41
44
  import { ReactNode } from 'react';
42
45
  import { SdkErrorType } from '@gooddata/sdk-ui';
43
46
  import { Store } from '@reduxjs/toolkit';
@@ -608,6 +611,13 @@ export declare function DefaultMessageTextContent(props: IGenAIAssistantMessageT
608
611
  */
609
612
  export declare function DefaultUserMessage(props: IGenAIAssistantUserMessageProps): JSX.Element;
610
613
 
614
+ /**
615
+ * Default implementation of the VisualizationMenu slot.
616
+ *
617
+ * @alpha
618
+ */
619
+ export declare function DefaultVisualizationMenu({ items, isDisabled, ariaDescribedBy, }: IGenAIAssistantVisualizationMenuProps): JSX.Element | null;
620
+
611
621
  /**
612
622
  * @public
613
623
  */
@@ -1452,6 +1462,12 @@ export declare interface IGenAIAssistantSlots {
1452
1462
  * Custom React component rendered for a visualization part in multipart content.
1453
1463
  */
1454
1464
  ConversationVisualizationContent?: ComponentType<ISlotProps<IGenAIAssistantConversationVisualizationContentProps>>;
1465
+ /**
1466
+ * @alpha
1467
+ * Custom React component rendered for the menu of a visualization in multipart content.
1468
+ * Change the `items` of `defaultProps` to add, remove or reorder the menu items.
1469
+ */
1470
+ VisualizationMenu?: ComponentType<ISlotProps<IGenAIAssistantVisualizationMenuProps>>;
1455
1471
  /**
1456
1472
  * @alpha
1457
1473
  * Custom React component rendered for a key driver analysis part in multipart content.
@@ -1498,6 +1514,77 @@ export declare type IGenAIAssistantUserMessageProps = {
1498
1514
  isLast?: boolean;
1499
1515
  };
1500
1516
 
1517
+ /**
1518
+ * Item of the visualization menu.
1519
+ * @alpha
1520
+ */
1521
+ export declare type IGenAIAssistantVisualizationMenuItem = {
1522
+ /**
1523
+ * Unique identifier of the item.
1524
+ * Built-in items use the ids "button-save", "button-open" and "button-copy".
1525
+ */
1526
+ id: string;
1527
+ /**
1528
+ * Title displayed in the menu.
1529
+ */
1530
+ title: string;
1531
+ /**
1532
+ * Icon displayed before the title.
1533
+ */
1534
+ icon?: ReactNode;
1535
+ /**
1536
+ * Whether the item is disabled.
1537
+ */
1538
+ isDisabled?: boolean;
1539
+ /**
1540
+ * Additional ARIA attributes of the item.
1541
+ */
1542
+ ariaAttributes?: AriaAttributes;
1543
+ /**
1544
+ * Callback when the item is selected. The menu closes after the callback.
1545
+ */
1546
+ onSelect: (event: MouseEvent_2 | KeyboardEvent_2) => void;
1547
+ };
1548
+
1549
+ /**
1550
+ * Properties for the VisualizationMenu slot.
1551
+ * @alpha
1552
+ */
1553
+ export declare type IGenAIAssistantVisualizationMenuProps = {
1554
+ /**
1555
+ * The message containing the visualization content.
1556
+ */
1557
+ message: IChatConversationLocalItem;
1558
+ /**
1559
+ * The multipart part containing the visualization.
1560
+ */
1561
+ part: IChatConversationMultipartLocalPart;
1562
+ /**
1563
+ * The what-if scenario context for this visualization.
1564
+ */
1565
+ scenario?: IWhatIfRenderableScenario;
1566
+ /**
1567
+ * The visualization the menu belongs to.
1568
+ */
1569
+ visualization: NonNullable<IChatConversationVisualisationContent["visualization"]>;
1570
+ /**
1571
+ * Items of the menu. The menu button is hidden when the list is empty.
1572
+ */
1573
+ items: IGenAIAssistantVisualizationMenuItem[];
1574
+ /**
1575
+ * Whether the visualization is saved in the workspace.
1576
+ */
1577
+ isVisualizationSaved: boolean;
1578
+ /**
1579
+ * Whether the menu button is disabled.
1580
+ */
1581
+ isDisabled?: boolean;
1582
+ /**
1583
+ * Id of the element that describes the menu button.
1584
+ */
1585
+ ariaDescribedBy?: string;
1586
+ };
1587
+
1501
1588
  /**
1502
1589
  * Props for the {@link GenAiInteractionIntelligence} component.
1503
1590
  * @public