@atlaskit/smart-card 44.3.23 → 44.4.0

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 (76) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/__tests__/vr-tests/__snapshots__/block-card/vrblock-card-resolved-rovo-actions--default.png +3 -0
  3. package/dist/cjs/messages.js +10 -0
  4. package/dist/cjs/state/hooks/use-rovo-chat/index.js +1 -1
  5. package/dist/cjs/utils/analytics/analytics.js +1 -1
  6. package/dist/cjs/view/BlockCard/views/ResolvedView.js +17 -11
  7. package/dist/cjs/view/FlexibleCard/components/actions/action/action-button/index.compiled.css +4 -0
  8. package/dist/cjs/view/FlexibleCard/components/actions/action/action-button/index.js +10 -1
  9. package/dist/cjs/view/FlexibleCard/components/actions/ai-summary-action/ai-summarise-action.js +1 -1
  10. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/index.js +1 -1
  11. package/dist/cjs/view/FlexibleCard/components/actions/copy-link-action/index.js +1 -1
  12. package/dist/cjs/view/FlexibleCard/components/actions/preview-action/index.js +2 -2
  13. package/dist/cjs/view/FlexibleCard/components/actions/rovo-chat-action/index.js +41 -26
  14. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +29 -11
  15. package/dist/cjs/view/FlexibleCard/components/blocks/footer-block/resolved/index.compiled.css +3 -1
  16. package/dist/cjs/view/FlexibleCard/components/blocks/footer-block/resolved/index.js +25 -7
  17. package/dist/cjs/view/FlexibleCard/components/container/hover-card-control/index.js +3 -7
  18. package/dist/cjs/view/FlexibleCard/components/elements/common/base-badge-element/index.js +6 -2
  19. package/dist/cjs/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-item/index.js +3 -7
  20. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +4 -7
  21. package/dist/cjs/view/LinkUrl/index.js +1 -1
  22. package/dist/es2019/__tests__/vr-tests/__snapshots__/block-card/vrblock-card-resolved-rovo-actions--default.png +3 -0
  23. package/dist/es2019/messages.js +10 -0
  24. package/dist/es2019/state/hooks/use-rovo-chat/index.js +1 -1
  25. package/dist/es2019/utils/analytics/analytics.js +1 -1
  26. package/dist/es2019/view/BlockCard/views/ResolvedView.js +29 -21
  27. package/dist/es2019/view/FlexibleCard/components/actions/action/action-button/index.compiled.css +4 -0
  28. package/dist/es2019/view/FlexibleCard/components/actions/action/action-button/index.js +12 -3
  29. package/dist/es2019/view/FlexibleCard/components/actions/ai-summary-action/ai-summarise-action.js +1 -1
  30. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/index.js +1 -1
  31. package/dist/es2019/view/FlexibleCard/components/actions/copy-link-action/index.js +1 -1
  32. package/dist/es2019/view/FlexibleCard/components/actions/preview-action/index.js +2 -2
  33. package/dist/es2019/view/FlexibleCard/components/actions/rovo-chat-action/index.js +41 -28
  34. package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +29 -12
  35. package/dist/es2019/view/FlexibleCard/components/blocks/footer-block/resolved/index.compiled.css +3 -1
  36. package/dist/es2019/view/FlexibleCard/components/blocks/footer-block/resolved/index.js +22 -8
  37. package/dist/es2019/view/FlexibleCard/components/container/hover-card-control/index.js +3 -7
  38. package/dist/es2019/view/FlexibleCard/components/elements/common/base-badge-element/index.js +5 -2
  39. package/dist/es2019/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-item/index.js +3 -7
  40. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +4 -7
  41. package/dist/es2019/view/LinkUrl/index.js +1 -1
  42. package/dist/esm/__tests__/vr-tests/__snapshots__/block-card/vrblock-card-resolved-rovo-actions--default.png +3 -0
  43. package/dist/esm/messages.js +10 -0
  44. package/dist/esm/state/hooks/use-rovo-chat/index.js +1 -1
  45. package/dist/esm/utils/analytics/analytics.js +1 -1
  46. package/dist/esm/view/BlockCard/views/ResolvedView.js +18 -12
  47. package/dist/esm/view/FlexibleCard/components/actions/action/action-button/index.compiled.css +4 -0
  48. package/dist/esm/view/FlexibleCard/components/actions/action/action-button/index.js +12 -3
  49. package/dist/esm/view/FlexibleCard/components/actions/ai-summary-action/ai-summarise-action.js +1 -1
  50. package/dist/esm/view/FlexibleCard/components/actions/automation-action/index.js +1 -1
  51. package/dist/esm/view/FlexibleCard/components/actions/copy-link-action/index.js +1 -1
  52. package/dist/esm/view/FlexibleCard/components/actions/preview-action/index.js +2 -2
  53. package/dist/esm/view/FlexibleCard/components/actions/rovo-chat-action/index.js +42 -27
  54. package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +30 -12
  55. package/dist/esm/view/FlexibleCard/components/blocks/footer-block/resolved/index.compiled.css +3 -1
  56. package/dist/esm/view/FlexibleCard/components/blocks/footer-block/resolved/index.js +26 -8
  57. package/dist/esm/view/FlexibleCard/components/container/hover-card-control/index.js +3 -7
  58. package/dist/esm/view/FlexibleCard/components/elements/common/base-badge-element/index.js +6 -2
  59. package/dist/esm/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-item/index.js +3 -7
  60. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +4 -7
  61. package/dist/esm/view/LinkUrl/index.js +1 -1
  62. package/dist/types/messages.d.ts +1 -1
  63. package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +6 -1
  64. package/dist/types/view/FlexibleCard/components/blocks/action-group/index.d.ts +1 -1
  65. package/dist/types/view/FlexibleCard/components/blocks/action-group/types.d.ts +4 -0
  66. package/dist/types/view/FlexibleCard/components/blocks/footer-block/types.d.ts +4 -0
  67. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +7 -2
  68. package/dist/types/view/FlexibleCard/components/elements/common/base-badge-element/index.d.ts +5 -0
  69. package/dist/types-ts4.5/messages.d.ts +1 -1
  70. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/types.d.ts +6 -1
  71. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-group/index.d.ts +1 -1
  72. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-group/types.d.ts +4 -0
  73. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/footer-block/types.d.ts +4 -0
  74. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +7 -2
  75. package/dist/types-ts4.5/view/FlexibleCard/components/elements/common/base-badge-element/index.d.ts +5 -0
  76. package/package.json +5 -7
@@ -3,9 +3,10 @@ import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./index.compiled.css";
4
4
  import * as React from 'react';
5
5
  import { ax, ix } from "@compiled/react/runtime";
6
- import { useCallback, useMemo } from 'react';
6
+ import { useCallback, useMemo, useState } from 'react';
7
7
  import { browser } from '@atlaskit/linking-common/user-agent';
8
8
  import { fg } from '@atlaskit/platform-feature-flags';
9
+ import { WidthObserver } from '@atlaskit/width-detector';
9
10
  import { ActionName, SmartLinkAlignment, SmartLinkDirection, SmartLinkSize, SmartLinkWidth } from '../../../../../../constants';
10
11
  import { useFlexibleUiContext } from '../../../../../../state/flexible-ui-context';
11
12
  import { Provider } from '../../../elements';
@@ -15,6 +16,8 @@ import ElementGroup from '../../element-group';
15
16
  import { filterActionItems } from '../../utils';
16
17
  const actionGroupStyles = null;
17
18
  const safariStyles = null;
19
+ const providerStyles = null;
20
+ const rovoActionStyles = null;
18
21
  const FooterBlockResolvedView = props => {
19
22
  var _context$actions;
20
23
  const {
@@ -22,10 +25,12 @@ const FooterBlockResolvedView = props => {
22
25
  testId,
23
26
  onActionMenuOpenChange,
24
27
  size = SmartLinkSize.Medium,
25
- hideProvider
28
+ hideProvider,
29
+ isPreviewBlockErrored
26
30
  } = props;
27
31
  const context = useFlexibleUiContext();
28
- const isRovoSupportedFeature = !!(context !== null && context !== void 0 && (_context$actions = context.actions) !== null && _context$actions !== void 0 && _context$actions[ActionName.RovoChatAction]);
32
+ const isRovoSupportedFeature = !!(context !== null && context !== void 0 && (_context$actions = context.actions) !== null && _context$actions !== void 0 && _context$actions[ActionName.RovoChatAction]) && fg('platform_sl_3p_auth_rovo_block_card_kill_switch');
33
+ const hasPreview = isRovoSupportedFeature && !!(context !== null && context !== void 0 && context.preview) && !isPreviewBlockErrored;
29
34
  const hasActions = useMemo(() => {
30
35
  var _filterActionItems;
31
36
  return ((_filterActionItems = filterActionItems(actions, context)) === null || _filterActionItems === void 0 ? void 0 : _filterActionItems.length) > 0;
@@ -42,22 +47,31 @@ const FooterBlockResolvedView = props => {
42
47
  });
43
48
  }
44
49
  }, [onActionMenuOpenChange]);
50
+
51
+ // WidthObserver fires whenever the footer's available width changes.
52
+ const [containerWidth, setContainerWidth] = useState(undefined);
45
53
  return /*#__PURE__*/React.createElement(Block, _extends({}, props, {
46
54
  testId: `${testId}-resolved-view`
47
55
  }), !hideProvider && /*#__PURE__*/React.createElement(Provider, {
48
56
  appearance: "subtle",
49
- testId: `${testId}-provider`
57
+ testId: `${testId}-provider`,
58
+ hideLabel: hasPreview,
59
+ className: ax([isRovoSupportedFeature && "_1wpz1h6o"])
50
60
  }), actions && hasActions ? /*#__PURE__*/React.createElement(ElementGroup, {
51
61
  testId: "smart-element-group-actions",
52
62
  align: SmartLinkAlignment.Right,
53
63
  direction: SmartLinkDirection.Horizontal,
54
64
  width: SmartLinkWidth.Flexible,
55
- className: ax([size === SmartLinkSize.XLarge && "_c71lxy5q", safari && "_4t3i1osq"])
56
- }, /*#__PURE__*/React.createElement(ActionGroup, {
65
+ className: ax([size === SmartLinkSize.XLarge && "_c71lxy5q", safari && "_4t3i1osq", isRovoSupportedFeature && "_kqswh2mm"])
66
+ }, isRovoSupportedFeature && /*#__PURE__*/React.createElement(WidthObserver, {
67
+ setWidth: setContainerWidth,
68
+ offscreen: true
69
+ }), /*#__PURE__*/React.createElement(ActionGroup, {
57
70
  onDropdownOpenChange: onDropdownOpenChange,
58
71
  items: actions,
59
- appearance: isRovoSupportedFeature && fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? 'subtle' : 'default',
60
- size: size
72
+ appearance: isRovoSupportedFeature ? 'subtle' : 'default',
73
+ size: isRovoSupportedFeature ? SmartLinkSize.Small : size,
74
+ containerWidth: isRovoSupportedFeature ? containerWidth : undefined
61
75
  })) : null);
62
76
  };
63
77
  export default FooterBlockResolvedView;
@@ -1,6 +1,4 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import React, { useCallback, useEffect, useRef, useState } from 'react';
3
- import { fg } from '@atlaskit/platform-feature-flags';
4
2
  import { ElementName } from '../../../../../constants';
5
3
  import { noop } from '../../../../../utils';
6
4
  import { HoverCard } from '../../../../HoverCard';
@@ -59,14 +57,12 @@ const HoverCardControl = ({
59
57
  actionOptions: actionOptions,
60
58
  url: url,
61
59
  hoverPreviewOptions: hoverPreviewOptions
62
- }, /*#__PURE__*/React.createElement("span", _extends({}, fg('platform_sl_a11y_enghealth_46829') ? {
63
- onBlur: noop
64
- } : undefined, {
65
- // eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
60
+ }, /*#__PURE__*/React.createElement("span", {
61
+ onBlur: noop,
66
62
  onMouseLeave: onMouseLeave,
67
63
  onMouseMove: onMouseMove,
68
64
  "data-testid": `${testId}-hover-card-wrapper`,
69
65
  role: 'presentation'
70
- }), children));
66
+ }, children));
71
67
  };
72
68
  export default HoverCardControl;
@@ -3,6 +3,7 @@
3
3
  import "./index.compiled.css";
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import React, { forwardRef } from 'react';
6
+ import { fg } from '@atlaskit/platform-feature-flags';
6
7
  import { Box } from '@atlaskit/primitives/compiled';
7
8
  import { IconType } from '../../../../../../constants';
8
9
  import { messages } from '../../../../../../messages';
@@ -82,7 +83,8 @@ const BaseBadgeRefreshNew = /*#__PURE__*/forwardRef(({
82
83
  name,
83
84
  testId = 'smart-element-badge',
84
85
  url,
85
- color
86
+ color,
87
+ hideLabel = false
86
88
  }, ref) => {
87
89
  const ui = useFlexibleUiOptionContext();
88
90
  const formattedMessageOrLabel = getFormattedMessageFromIcon(icon) || label;
@@ -90,6 +92,7 @@ const BaseBadgeRefreshNew = /*#__PURE__*/forwardRef(({
90
92
  if (!formattedMessageOrLabel || !badgeIcon) {
91
93
  return null;
92
94
  }
95
+ const shouldHideLabel = hideLabel && fg('platform_sl_3p_auth_rovo_block_card_kill_switch');
93
96
  return /*#__PURE__*/React.createElement("span", {
94
97
  "data-smart-element": name,
95
98
  "data-smart-element-badge": true,
@@ -102,7 +105,7 @@ const BaseBadgeRefreshNew = /*#__PURE__*/forwardRef(({
102
105
  }, !hideIcon && /*#__PURE__*/React.createElement(Box, {
103
106
  as: "span",
104
107
  xcss: styles.icon
105
- }, badgeIcon), /*#__PURE__*/React.createElement(Box, {
108
+ }, badgeIcon), !shouldHideLabel && /*#__PURE__*/React.createElement(Box, {
106
109
  as: "span",
107
110
  testId: `${testId}-label`,
108
111
  xcss: styles.text
@@ -1,8 +1,6 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import React, { useCallback } from 'react';
3
2
  import { DropdownItem } from '@atlaskit/dropdown-menu';
4
3
  import Lozenge from '@atlaskit/lozenge';
5
- import { fg } from '@atlaskit/platform-feature-flags';
6
4
  const LozengeActionItem = ({
7
5
  appearance,
8
6
  id,
@@ -22,13 +20,11 @@ const LozengeActionItem = ({
22
20
  var _e$currentTarget, _e$currentTarget$firs;
23
21
  (_e$currentTarget = e.currentTarget) === null || _e$currentTarget === void 0 ? void 0 : (_e$currentTarget$firs = _e$currentTarget.firstElementChild) === null || _e$currentTarget$firs === void 0 ? void 0 : _e$currentTarget$firs.focus();
24
22
  }, []);
25
- return /*#__PURE__*/React.createElement("span", _extends({}, fg('platform_sl_a11y_enghealth_46829') ? {
26
- onFocus: handleMouseEnter
27
- } : undefined, {
28
- // eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
23
+ return /*#__PURE__*/React.createElement("span", {
24
+ onFocus: handleMouseEnter,
29
25
  onMouseEnter: handleMouseEnter,
30
26
  role: "presentation"
31
- }), /*#__PURE__*/React.createElement(DropdownItem, {
27
+ }, /*#__PURE__*/React.createElement(DropdownItem, {
32
28
  onClick: handleClick,
33
29
  testId: testId
34
30
  }, /*#__PURE__*/React.createElement(Lozenge, {
@@ -222,10 +222,7 @@ export const HoverCardComponent = ({
222
222
  }) => /*#__PURE__*/React.createElement("span", {
223
223
  ref: parentSpan
224
224
  }, /*#__PURE__*/React.createElement("span", _extends({}, triggerProps, {
225
- // eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
226
- onMouseOver: initShowCard
227
- // eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
228
- ,
225
+ onMouseOver: initShowCard,
229
226
  onMouseLeave: initHideCard,
230
227
  onMouseMove: setMousePosition,
231
228
  onKeyDown: fg('fix_hover_card_on_focus_a11y') ? handleKeyDown : undefined,
@@ -234,11 +231,11 @@ export const HoverCardComponent = ({
234
231
  "data-testid": HOVER_CARD_TRIGGER_WRAPPER
235
232
  }, editorExperiment('platform_editor_preview_panel_linking_exp', true) ? {
236
233
  className: HOVER_CARD_TRIGGER_WRAPPER
237
- } : {}, fg('platform_sl_a11y_enghealth_46829') ? {
234
+ } : {}, {
238
235
  onFocus: noop,
239
236
  onBlur: noop,
240
- role: 'none'
241
- } : undefined), children)), [children, initHideCard, initShowCard, onChildClick, onContextMenuClick, setMousePosition, handleKeyDown]);
237
+ role: "none"
238
+ }), children)), [children, initHideCard, initShowCard, onChildClick, onContextMenuClick, setMousePosition, handleKeyDown]);
242
239
  const popupComponent = useMemo(
243
240
  // Within the Popup component, if shouldRenderToParent, the zIndex prop is ignored
244
241
  // as it is assumed that the custom popup container has the desired styles
@@ -12,7 +12,7 @@ import LinkWarningModal from './LinkWarningModal';
12
12
  import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
13
13
  const PACKAGE_DATA = {
14
14
  packageName: "@atlaskit/smart-card",
15
- packageVersion: "44.3.22",
15
+ packageVersion: "44.3.24",
16
16
  componentName: 'linkUrl'
17
17
  };
18
18
  const Anchor = withLinkClickedEvent('a');
@@ -0,0 +1,3 @@
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f54ddd4636708cd0a4059a713a6a6bf3d0402d68a5aa2a69b7c430aa659fe8ef
3
+ size 25593
@@ -1001,6 +1001,16 @@ export var messages = defineMessages({
1001
1001
  defaultMessage: '<p>Look at this <a>{url}</a> and list any open questions, unresolved decisions, or asks that still need follow‑up. Group them by owner if possible and keep it concise.</p>',
1002
1002
  description: 'The prompt message to send to Rovo Chat. {url} refers to Smart Link that the user triggers this action from. (Please make sure all html tags remain the same.)'
1003
1003
  },
1004
+ rovo_prompt_button_key_highlights: {
1005
+ id: 'fabric.linking.rovo_prompt_button_find_open_questions.non-final',
1006
+ defaultMessage: "Key highlights",
1007
+ description: 'The name of the action to send prompt message to Rovo Chat in relation to current Smart Link'
1008
+ },
1009
+ rovo_prompt_message_key_highlights: {
1010
+ id: 'fabric.linking.rovo_prompt_message_find_open_questions.non-final',
1011
+ defaultMessage: '<p>Based on this <a>{url}</a> and the page or ticket I’m currently viewing, highlight the parts of the linked content that are most relevant to this work. Explain briefly why each part is relevant.</p>',
1012
+ description: 'The prompt message to send to Rovo Chat. {url} refers to Smart Link that the user triggers this action from. (Please make sure all html tags remain the same.)'
1013
+ },
1004
1014
  rovo_chat_action_section_header: {
1005
1015
  id: 'fabric.linking.rovo_chat_action_section_header.non-final',
1006
1016
  defaultMessage: 'Ask Rovo',
@@ -28,7 +28,7 @@ var useRovoChat = function useRovoChat() {
28
28
  agentId: undefined
29
29
  }),
30
30
  openChat: true,
31
- openChatMode: product && jiraProducts.includes(product) && fg('platform_sl_3p_auth_rovo_block_jira_kill_switch') || fg('rovogrowth-640-inline-action-nudge-fg') ? 'mini-modal' : 'sidebar'
31
+ openChatMode: product && jiraProducts.includes(product) && (fg('platform_sl_3p_auth_rovo_block_jira_kill_switch') || fg('rovogrowth-640-inline-action-nudge-fg')) ? 'mini-modal' : 'sidebar'
32
32
  },
33
33
  onAcknowledgeTimeout: function onAcknowledgeTimeout() {
34
34
  // NAVX-3599: Add analytics event
@@ -4,7 +4,7 @@ export var ANALYTICS_CHANNEL = 'media';
4
4
  export var context = {
5
5
  componentName: 'smart-cards',
6
6
  packageName: "@atlaskit/smart-card" || '',
7
- packageVersion: "44.3.22" || ''
7
+ packageVersion: "44.3.24" || ''
8
8
  };
9
9
  export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -7,7 +7,7 @@ import { ax, ix } from "@compiled/react/runtime";
7
7
  import { useEffect, useMemo, useState } from 'react';
8
8
  import { browser } from '@atlaskit/linking-common/user-agent';
9
9
  import { fg } from '@atlaskit/platform-feature-flags';
10
- import { ActionName, ElementName, SmartLinkPosition } from '../../../constants';
10
+ import { ActionName, CardDisplay, ElementName, SmartLinkPosition } from '../../../constants';
11
11
  import extractRovoChatAction from '../../../extractors/flexible/actions/extract-rovo-chat-action';
12
12
  import { getExtensionKey } from '../../../state/helpers';
13
13
  import useRovoConfig from '../../../state/hooks/use-rovo-config';
@@ -71,7 +71,7 @@ var ResolvedView = function ResolvedView(_ref) {
71
71
  var prompts = useMemo(function () {
72
72
  if (fg('platform_sl_3p_auth_rovo_block_card_kill_switch')) {
73
73
  var _cardState$details;
74
- var defaultPrompts = [RovoChatPromptKey.HIGHLIGHT_RELEVANT_CONTENT, RovoChatPromptKey.ASK_ROVO_ANYTHING];
74
+ var defaultPrompts = [RovoChatPromptKey.KEY_HIGHLIGHTS];
75
75
  var linkType = (_cardState$details = cardState.details) === null || _cardState$details === void 0 || (_cardState$details = _cardState$details.data) === null || _cardState$details === void 0 ? void 0 : _cardState$details['@type'];
76
76
  if (extensionKey === 'slack-object-provider') {
77
77
  return [RovoChatPromptKey.FIND_OPEN_QUESTIONS].concat(defaultPrompts);
@@ -87,16 +87,21 @@ var ResolvedView = function ResolvedView(_ref) {
87
87
  return [];
88
88
  }, [cardState === null || cardState === void 0 || (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.data, extensionKey]);
89
89
  var footerActions = useMemo(function () {
90
- return showRovoResolvedView && fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? [{
91
- name: ActionName.RovoChatAction,
92
- prompts: prompts
93
- }, {
94
- name: ActionName.FollowAction,
95
- hideIcon: true
96
- }, {
97
- name: ActionName.DownloadAction,
98
- hideIcon: true
99
- }] : [{
90
+ if (showRovoResolvedView && fg('platform_sl_3p_auth_rovo_block_card_kill_switch')) {
91
+ return [{
92
+ name: ActionName.RovoChatAction,
93
+ prompts: prompts,
94
+ iconSize: 'small',
95
+ cardAppearance: CardDisplay.Block
96
+ }, {
97
+ name: ActionName.FollowAction,
98
+ iconSize: 'small'
99
+ }, {
100
+ name: ActionName.DownloadAction,
101
+ iconSize: 'small'
102
+ }];
103
+ }
104
+ return [{
100
105
  name: ActionName.FollowAction,
101
106
  hideIcon: true
102
107
  }, {
@@ -143,6 +148,7 @@ var ResolvedView = function ResolvedView(_ref) {
143
148
  }
144
149
  })) : null, /*#__PURE__*/React.createElement(FooterBlock, {
145
150
  actions: footerActions,
151
+ isPreviewBlockErrored: isPreviewBlockErrored,
146
152
  className: ax(["_4t3i1k8s _1e0c1txw _1bah1yb4 _4cvresu3 _1wpz1fhb", safari && "_4t3i1osq"])
147
153
  }));
148
154
  };
@@ -1,4 +1,5 @@
1
1
  ._11c8wadc{font:var(--ds-font-body-small,normal 400 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
+ ._13bowadc button{font:var(--ds-font-body-small,normal 400 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
3
  ._11lv1b66 button{padding-left:var(--ds-space-050,4px)}
3
4
  ._11lvidpf button{padding-left:0}
4
5
  ._11lvv77o button{padding-left:var(--ds-space-025,2px)}
@@ -12,10 +13,13 @@
12
13
  ._1gqnv77o button{padding-bottom:var(--ds-space-025,2px)}
13
14
  ._1i3bidpf button:active>span{margin-top:0}
14
15
  ._1l0qidpf button:hover>span{margin-right:0}
16
+ ._1q9t1wq8 button{font-weight:var(--ds-font-weight-medium,500)}
17
+ ._1rlg1g80 button{flex-wrap:wrap}
15
18
  ._1vtwidpf button:active>span{margin-left:0}
16
19
  ._3kh9idpf button:active>span{margin-bottom:0}
17
20
  ._4wlcidpf button:hover>span{margin-top:0}
18
21
  ._8pvjidpf button:hover>span{margin-bottom:0}
22
+ ._bdn61h6o button{align-content:center}
19
23
  ._i2vxidpf button:focus>span{margin-bottom:0}
20
24
  ._ijvwidpf button:focus>span{margin-left:0}
21
25
  ._k48p1wq8{font-weight:var(--ds-font-weight-medium,500)}
@@ -2,16 +2,21 @@
2
2
  import "./index.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { forwardRef, useCallback, useMemo } from 'react';
5
+ import { cx } from '@compiled/react';
5
6
  import { LoadingButton } from '@atlaskit/button';
6
7
  import Button, { IconButton, LinkButton, LinkIconButton } from '@atlaskit/button/new';
8
+ import { fg } from '@atlaskit/platform-feature-flags';
7
9
  import { Box } from '@atlaskit/primitives/compiled';
8
10
  import Tooltip from '@atlaskit/tooltip';
9
- import { SmartLinkSize } from '../../../../../../constants';
10
- import { useFlexibleUiOptionContext } from '../../../../../../state/flexible-ui-context';
11
+ import { ActionName, SmartLinkSize } from '../../../../../../constants';
12
+ import { useFlexibleUiContext, useFlexibleUiOptionContext } from '../../../../../../state/flexible-ui-context';
11
13
  import { withOverrideCss } from '../../../common/with-override-css';
12
14
  import { sizeToButtonSpacing } from '../../../utils';
13
15
  var IconOnlyLarge = null;
14
16
  var SizeSmall = null;
17
+ var styles = {
18
+ textSmall: "_13bowadc _1q9t1wq8 _1rlg1g80 _bdn61h6o"
19
+ };
15
20
  var SizeSmallIconOnly = null;
16
21
  var SizeSmallNotIconOnly = null;
17
22
  var IconButtonAppearanceMap = {
@@ -36,6 +41,7 @@ var tooltipOptions = {
36
41
  hideTooltipOnClick: true
37
42
  };
38
43
  var ActionButtonRefresh = /*#__PURE__*/forwardRef(function (_ref, ref) {
44
+ var _context$actions;
39
45
  var _ref$appearance = _ref.appearance,
40
46
  appearance = _ref$appearance === void 0 ? 'default' : _ref$appearance,
41
47
  content = _ref.content,
@@ -50,6 +56,8 @@ var ActionButtonRefresh = /*#__PURE__*/forwardRef(function (_ref, ref) {
50
56
  href = _ref.href,
51
57
  ariaLabel = _ref.ariaLabel;
52
58
  var iconOnly = !content;
59
+ var context = useFlexibleUiContext();
60
+ var isRovoSupported = !!(context !== null && context !== void 0 && (_context$actions = context.actions) !== null && _context$actions !== void 0 && _context$actions[ActionName.RovoChatAction]) && fg('platform_sl_3p_auth_rovo_block_card_kill_switch');
53
61
  var onButtonClick = useCallback(function (handler) {
54
62
  return function (e) {
55
63
  e.preventDefault();
@@ -132,7 +140,8 @@ var ActionButtonRefresh = /*#__PURE__*/forwardRef(function (_ref, ref) {
132
140
  }, [appearance, ariaLabel, content, href, iconAfter, iconBefore, iconOnly, isDisabled, isLoading, onButtonClick, onClick, size, testId, tooltipMessage]);
133
141
  return /*#__PURE__*/React.createElement(Box, {
134
142
  testId: "".concat(testId, "-button-wrapper"),
135
- ref: ref
143
+ ref: ref,
144
+ xcss: cx(isRovoSupported && size === SmartLinkSize.Small && styles.textSmall)
136
145
  }, button);
137
146
  });
138
147
  var ActionButtonRefreshWithOverrideCss = withOverrideCss(ActionButtonRefresh);
@@ -40,7 +40,7 @@ export function AISummariseAction(_ref) {
40
40
  spacing: "spacious",
41
41
  color: "currentColor",
42
42
  label: "Summarise with AI"
43
- }, fg('platform_sl_3p_auth_rovo_action_kill_switch') ? {
43
+ }, fg('platform_sl_3p_auth_rovo_action_kill_switch') || fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? {
44
44
  size: props.iconSize
45
45
  } : {})),
46
46
  onClick: handleActionClick,
@@ -75,7 +75,7 @@ var AutomationAction = function AutomationAction(props) {
75
75
  spacing: "spacious",
76
76
  color: "currentColor",
77
77
  label: automationActionIconLabel
78
- }, fg('platform_sl_3p_auth_rovo_action_kill_switch') ? {
78
+ }, fg('platform_sl_3p_auth_rovo_action_kill_switch') || fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? {
79
79
  size: props.iconSize
80
80
  } : {})),
81
81
  testId: "smart-action-automation-action",
@@ -61,7 +61,7 @@ var CopyLinkAction = function CopyLinkAction(_ref) {
61
61
  color: "currentColor",
62
62
  label: fg('navx-3698-flexible-card-a11y-fix') ? '' : 'copy url',
63
63
  spacing: "spacious"
64
- }, fg('platform_sl_3p_auth_rovo_action_kill_switch') ? {
64
+ }, fg('platform_sl_3p_auth_rovo_action_kill_switch') || fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? {
65
65
  size: props.iconSize
66
66
  } : {})),
67
67
  onClick: onClick,
@@ -35,7 +35,7 @@ var PreviewAction = function PreviewAction(_ref) {
35
35
  color: "currentColor",
36
36
  spacing: "spacious",
37
37
  label: fg('navx-3698-flexible-card-a11y-fix') ? '' : 'Open preview panel'
38
- }, fg('platform_sl_3p_auth_rovo_action_kill_switch') ? {
38
+ }, fg('platform_sl_3p_auth_rovo_action_kill_switch') || fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? {
39
39
  size: props.iconSize
40
40
  } : {}));
41
41
  }
@@ -43,7 +43,7 @@ var PreviewAction = function PreviewAction(_ref) {
43
43
  color: "currentColor",
44
44
  spacing: "spacious",
45
45
  label: fg('navx-3698-flexible-card-a11y-fix') ? '' : 'Open preview'
46
- }, fg('platform_sl_3p_auth_rovo_action_kill_switch') ? {
46
+ }, fg('platform_sl_3p_auth_rovo_action_kill_switch') || fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? {
47
47
  size: props.iconSize
48
48
  } : {}));
49
49
  }, [hasPreviewPanel, props.iconSize]);
@@ -8,12 +8,14 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
8
8
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
9
  import React, { useCallback, useMemo } from 'react';
10
10
  import { useIntl } from 'react-intl';
11
- import AiGenerativeTextIcon from '@atlaskit/icon-lab/core/ai-generative-text';
12
11
  import AiSearchIcon from '@atlaskit/icon-lab/core/ai-search';
12
+ import AiChatIcon from '@atlaskit/icon/core/ai-chat';
13
13
  import AiGenerativeTextSummaryIcon from '@atlaskit/icon/core/ai-generative-text-summary';
14
14
  import RovoChatIcon from '@atlaskit/icon/core/rovo-chat';
15
+ import { RovoIcon } from '@atlaskit/logo';
16
+ import { fg } from '@atlaskit/platform-feature-flags';
15
17
  import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
16
- import { ActionName } from '../../../../../constants';
18
+ import { ActionName, CardDisplay } from '../../../../../constants';
17
19
  import { messages } from '../../../../../messages';
18
20
  import { useFlexibleUiContext } from '../../../../../state/flexible-ui-context';
19
21
  import useInvokeClientAction from '../../../../../state/hooks/use-invoke-client-action';
@@ -65,6 +67,8 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
65
67
  var _getContext;
66
68
  var url = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
67
69
  var product = arguments.length > 3 ? arguments[3] : undefined;
70
+ var iconSize = arguments.length > 4 ? arguments[4] : undefined;
71
+ var cardAppearance = arguments.length > 5 ? arguments[5] : undefined;
68
72
  var _ref = (_getContext = getContext(intl, product)) !== null && _getContext !== void 0 ? _getContext : {
69
73
  contextLong: intl.formatMessage(messages.rovo_prompt_context_generic),
70
74
  contextShort: intl.formatMessage(messages.rovo_prompt_context_generic)
@@ -136,7 +140,10 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
136
140
  ignoreTag: true
137
141
  });
138
142
  return {
139
- icon: /*#__PURE__*/React.createElement(AIEditIcon, null),
143
+ icon: cardAppearance === CardDisplay.Block && fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? /*#__PURE__*/React.createElement(AiChatIcon, {
144
+ label: label_summarize,
145
+ size: iconSize
146
+ }) : /*#__PURE__*/React.createElement(AIEditIcon, null),
140
147
  content: label_summarize,
141
148
  tooltipMessage: label_summarize,
142
149
  data: {
@@ -170,9 +177,9 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
170
177
  }
171
178
  }
172
179
  };
173
- case RovoChatPromptKey.KEY_HIGHLIGHTS:
174
- var label_key_highlights = intl.formatMessage(messages.rovo_prompt_button_highlight_relevant_content);
175
- var html_key_highlights = intl.formatMessage(messages.rovo_prompt_message_highlight_relevant_content, {
180
+ case RovoChatPromptKey.HIGHLIGHT_RELEVANT_CONTENT:
181
+ var label_highlight_relevant_content = intl.formatMessage(messages.rovo_prompt_button_highlight_relevant_content);
182
+ var html_highlight_relevant_content = intl.formatMessage(messages.rovo_prompt_message_highlight_relevant_content, {
176
183
  context: contextLong,
177
184
  url: url
178
185
  }, {
@@ -180,12 +187,12 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
180
187
  });
181
188
  return {
182
189
  icon: /*#__PURE__*/React.createElement(AiChapterIcon, null),
183
- content: label_key_highlights,
184
- tooltipMessage: label_key_highlights,
190
+ content: label_highlight_relevant_content,
191
+ tooltipMessage: label_highlight_relevant_content,
185
192
  data: {
186
- name: label_key_highlights,
193
+ name: label_highlight_relevant_content,
187
194
  dialogues: [],
188
- prompt: htmlToAdf(html_key_highlights),
195
+ prompt: htmlToAdf(html_highlight_relevant_content),
189
196
  mode: {
190
197
  fastModeEnabled: true
191
198
  }
@@ -197,7 +204,11 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
197
204
  url: url
198
205
  });
199
206
  return {
200
- icon: /*#__PURE__*/React.createElement(AISearchIcon, null),
207
+ icon: cardAppearance === CardDisplay.Block && fg('platform_sl_3p_auth_rovo_block_card_kill_switch') ? /*#__PURE__*/React.createElement(RovoIcon, {
208
+ label: label_ask_rovo_anything,
209
+ size: 'xxsmall',
210
+ shouldUseHexLogo: true
211
+ }) : /*#__PURE__*/React.createElement(AISearchIcon, null),
201
212
  content: label_ask_rovo_anything,
202
213
  tooltipMessage: label_ask_rovo_anything,
203
214
  data: {
@@ -227,24 +238,25 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
227
238
  placeholderType: 'generic'
228
239
  }
229
240
  };
230
- case RovoChatPromptKey.HIGHLIGHT_RELEVANT_CONTENT:
231
- var label_highlight_relevant_content = intl.formatMessage(messages.rovo_prompt_button_highlight_relevant_content);
232
- var html_highlight_relevant_content = intl.formatMessage(messages.rovo_prompt_message_highlight_relevant_content, {
241
+ case RovoChatPromptKey.KEY_HIGHLIGHTS:
242
+ var label_key_highlights = intl.formatMessage(messages.rovo_prompt_button_key_highlights);
243
+ var html_key_highlights = intl.formatMessage(messages.rovo_prompt_message_key_highlights, {
233
244
  context: contextLong,
234
245
  url: url
235
246
  }, {
236
247
  ignoreTag: true
237
248
  });
238
249
  return {
239
- icon: /*#__PURE__*/React.createElement(AiGenerativeTextIcon, {
240
- label: label_highlight_relevant_content
250
+ icon: /*#__PURE__*/React.createElement(AiChatIcon, {
251
+ label: label_key_highlights,
252
+ size: iconSize
241
253
  }),
242
- content: label_highlight_relevant_content,
243
- tooltipMessage: label_highlight_relevant_content,
254
+ content: label_key_highlights,
255
+ tooltipMessage: label_key_highlights,
244
256
  data: {
245
- name: label_highlight_relevant_content,
257
+ name: label_key_highlights,
246
258
  dialogues: [],
247
- prompt: htmlToAdf(html_highlight_relevant_content)
259
+ prompt: htmlToAdf(html_key_highlights)
248
260
  }
249
261
  };
250
262
  case RovoChatPromptKey.SHOW_ME_WHATS_RELEVANT:
@@ -275,8 +287,9 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
275
287
  ignoreTag: true
276
288
  });
277
289
  return {
278
- icon: /*#__PURE__*/React.createElement(AiGenerativeTextIcon, {
279
- label: label_identify_key_trends
290
+ icon: /*#__PURE__*/React.createElement(AiChatIcon, {
291
+ label: label_identify_key_trends,
292
+ size: iconSize
280
293
  }),
281
294
  content: label_identify_key_trends,
282
295
  tooltipMessage: label_identify_key_trends,
@@ -294,8 +307,9 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
294
307
  ignoreTag: true
295
308
  });
296
309
  return {
297
- icon: /*#__PURE__*/React.createElement(AiGenerativeTextIcon, {
298
- label: label_identify_key_points
310
+ icon: /*#__PURE__*/React.createElement(AiChatIcon, {
311
+ label: label_identify_key_points,
312
+ size: iconSize
299
313
  }),
300
314
  content: label_identify_key_points,
301
315
  tooltipMessage: label_identify_key_points,
@@ -313,8 +327,9 @@ var getPromptAction = function getPromptAction(promptKey, intl) {
313
327
  ignoreTag: true
314
328
  });
315
329
  return {
316
- icon: /*#__PURE__*/React.createElement(AiGenerativeTextIcon, {
317
- label: label_find_open_questions
330
+ icon: /*#__PURE__*/React.createElement(AiChatIcon, {
331
+ label: label_find_open_questions,
332
+ size: iconSize
318
333
  }),
319
334
  content: label_find_open_questions,
320
335
  tooltipMessage: label_find_open_questions,
@@ -376,7 +391,7 @@ var RovoChatAction = function RovoChatAction(_ref2) {
376
391
  }, [data === null || data === void 0 ? void 0 : data.invokeAction, invoke, onClickCallback, sendPromptMessage]);
377
392
  var promptActions = useMemo(function () {
378
393
  return resolvedPrompts.map(function (promptKey, idx) {
379
- var _ref3 = getPromptAction(promptKey, intl, data === null || data === void 0 ? void 0 : data.url, data === null || data === void 0 ? void 0 : data.product) || {},
394
+ var _ref3 = getPromptAction(promptKey, intl, data === null || data === void 0 ? void 0 : data.url, data === null || data === void 0 ? void 0 : data.product, props.iconSize, props.cardAppearance) || {},
380
395
  icon = _ref3.icon,
381
396
  content = _ref3.content,
382
397
  tooltipMessage = _ref3.tooltipMessage,