@atlaskit/smart-card 44.20.3 → 44.22.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 (40) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/state/actions/index.js +36 -16
  3. package/dist/cjs/state/hooks/use-inline-tailored-action-experiment/index.js +55 -0
  4. package/dist/cjs/utils/analytics/analytics.js +1 -1
  5. package/dist/cjs/view/BlockCard/views/ResolvedView.js +6 -6
  6. package/dist/cjs/view/FlexibleCard/components/actions/rovo-chat-action/index.js +15 -337
  7. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +3 -3
  8. package/dist/cjs/view/InlineCard/ResolvedView/InlineCardResolvedViewFunctional.js +10 -1
  9. package/dist/cjs/view/InlineCard/common/rovo-actions-cta/index.js +43 -5
  10. package/dist/cjs/view/LinkUrl/index.js +1 -1
  11. package/dist/cjs/view/common/rovo-chat-utils/index.js +332 -0
  12. package/dist/es2019/state/actions/index.js +34 -16
  13. package/dist/es2019/state/hooks/use-inline-tailored-action-experiment/index.js +49 -0
  14. package/dist/es2019/utils/analytics/analytics.js +1 -1
  15. package/dist/es2019/view/BlockCard/views/ResolvedView.js +1 -1
  16. package/dist/es2019/view/FlexibleCard/components/actions/rovo-chat-action/index.js +2 -321
  17. package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +1 -1
  18. package/dist/es2019/view/InlineCard/ResolvedView/InlineCardResolvedViewFunctional.js +12 -2
  19. package/dist/es2019/view/InlineCard/common/rovo-actions-cta/index.js +44 -3
  20. package/dist/es2019/view/LinkUrl/index.js +1 -1
  21. package/dist/es2019/view/common/rovo-chat-utils/index.js +322 -0
  22. package/dist/esm/state/actions/index.js +36 -16
  23. package/dist/esm/state/hooks/use-inline-tailored-action-experiment/index.js +48 -0
  24. package/dist/esm/utils/analytics/analytics.js +1 -1
  25. package/dist/esm/view/BlockCard/views/ResolvedView.js +1 -1
  26. package/dist/esm/view/FlexibleCard/components/actions/rovo-chat-action/index.js +13 -335
  27. package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +1 -1
  28. package/dist/esm/view/InlineCard/ResolvedView/InlineCardResolvedViewFunctional.js +11 -2
  29. package/dist/esm/view/InlineCard/common/rovo-actions-cta/index.js +41 -3
  30. package/dist/esm/view/LinkUrl/index.js +1 -1
  31. package/dist/esm/view/common/rovo-chat-utils/index.js +325 -0
  32. package/dist/types/state/hooks/use-inline-tailored-action-experiment/index.d.ts +24 -0
  33. package/dist/types/view/FlexibleCard/components/actions/rovo-chat-action/index.d.ts +1 -15
  34. package/dist/types/view/InlineCard/common/rovo-actions-cta/index.d.ts +4 -4
  35. package/dist/types/view/common/rovo-chat-utils/index.d.ts +25 -0
  36. package/dist/types-ts4.5/state/hooks/use-inline-tailored-action-experiment/index.d.ts +24 -0
  37. package/dist/types-ts4.5/view/FlexibleCard/components/actions/rovo-chat-action/index.d.ts +1 -15
  38. package/dist/types-ts4.5/view/InlineCard/common/rovo-actions-cta/index.d.ts +4 -4
  39. package/dist/types-ts4.5/view/common/rovo-chat-utils/index.d.ts +25 -0
  40. package/package.json +5 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 44.22.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`be7cb592d8951`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/be7cb592d8951) -
8
+ NAVX-5108 Implementing UI for new inline tailored rovo cta
9
+
10
+ ### Patch Changes
11
+
12
+ - Updated dependencies
13
+
14
+ ## 44.21.0
15
+
16
+ ### Minor Changes
17
+
18
+ - [`b7eed2769e9dc`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b7eed2769e9dc) -
19
+ [ux] Suppress the existing post-auth connect flag when the GDrive Smart Link post-auth Rovo Chat
20
+ experiment treatment opens Rovo Chat.
21
+
3
22
  ## 44.20.3
4
23
 
5
24
  ### Patch Changes
@@ -27,7 +27,26 @@ var _useInvokeClientAction = _interopRequireDefault(require("../hooks/use-invoke
27
27
  var _useResolve = _interopRequireDefault(require("../hooks/use-resolve"));
28
28
  var POST_AUTH_CHAT_EXTENSION_KEY = 'google-object-provider';
29
29
  var SMART_LINK_TO_ROVO_SOURCE = 'smart-link';
30
+ var getPostAuthChatPayloadId = function getPostAuthChatPayloadId() {
31
+ if (typeof crypto !== 'undefined') {
32
+ if (typeof crypto.randomUUID === 'function') {
33
+ return crypto.randomUUID();
34
+ }
35
+ if (typeof crypto.getRandomValues === 'function') {
36
+ var values = new Uint32Array(4);
37
+ crypto.getRandomValues(values);
38
+ return "smart-link-post-auth-chat-".concat(Array.from(values, function (value) {
39
+ return value.toString(16);
40
+ }).join('-'));
41
+ }
42
+ }
43
+ return "smart-link-post-auth-chat-".concat(Date.now());
44
+ };
30
45
  var sendPostAuthChatOpenMessage = function sendPostAuthChatOpenMessage(url) {
46
+ var _window$parent;
47
+ if (typeof window === 'undefined' || typeof ((_window$parent = window.parent) === null || _window$parent === void 0 ? void 0 : _window$parent.postMessage) !== 'function') {
48
+ return;
49
+ }
31
50
  var payload = {
32
51
  type: 'chat-new',
33
52
  source: SMART_LINK_TO_ROVO_SOURCE,
@@ -52,7 +71,7 @@ var sendPostAuthChatOpenMessage = function sendPostAuthChatOpenMessage(url) {
52
71
  window.parent.postMessage({
53
72
  eventType: _postMessageToPubsub.ROVO_POST_MESSAGE_EVENT_TYPE,
54
73
  payload: payload,
55
- payloadId: crypto.randomUUID()
74
+ payloadId: getPostAuthChatPayloadId()
56
75
  }, '*');
57
76
  };
58
77
  var useSmartCardActions = exports.useSmartCardActions = function useSmartCardActions(id, url) {
@@ -174,28 +193,29 @@ var useSmartCardActions = exports.useSmartCardActions = function useSmartCardAct
174
193
  fireEvent('operational.smartLink.connectSucceeded', {
175
194
  definitionId: definitionId !== null && definitionId !== void 0 ? definitionId : null
176
195
  });
177
- if (status === 'unauthorized' && (0, _platformFeatureFlags.fg)('platform_sl_connect_account_flag')) {
178
- var provider = (0, _linkExtractors.extractSmartLinkProvider)(details);
179
- flags === null || flags === void 0 || flags.showConnectFlag({
180
- id: "smart-link-connect-success-".concat(extensionKey),
181
- provider: provider
182
- });
183
- }
184
- reload();
185
196
 
186
197
  // Post-auth Chat onboarding: auto-open Rovo Chat mini-modal with the
187
198
  // authed 3P link as context, for supported providers (e.g. Google Drive).
188
199
  // Provider eligibility is derived from the pre-auth SmartLink state.
189
200
  var isEligibleForPostAuthChat = status === 'unauthorized' && isSupportedPostAuthChatExtensionKey && (0, _platformFeatureFlags.fg)('platform_sl_3p_post_auth_chat_open_fg') && (0, _rovo.getIsRovoChatEnabled)(rovoOptionsRef.current);
190
- if (isEligibleForPostAuthChat) {
191
- // Experiment check: fires exposure for both control and treatment.
192
- // Only reached after eligibility preconditions + kill switch pass, so
193
- // exposure is counted for the triggered eligible pool.
194
- var isEnabled = (0, _expValEquals.expValEquals)('platform_sl_3p_post_auth_chat_open_exp', 'isEnabled', true);
195
- if (isEnabled) {
196
- sendPostAuthChatOpenMessage(url);
201
+
202
+ // Experiment check: fires exposure for both control and treatment.
203
+ // Only reached after eligibility preconditions + kill switch pass, so
204
+ // exposure is counted for the triggered eligible pool.
205
+ var isPostAuthChatTreatment = isEligibleForPostAuthChat && (0, _expValEquals.expValEquals)('platform_sl_3p_post_auth_chat_open_exp', 'isEnabled', true);
206
+ if (status === 'unauthorized' && !isPostAuthChatTreatment) {
207
+ if ((0, _platformFeatureFlags.fg)('platform_sl_connect_account_flag')) {
208
+ var provider = (0, _linkExtractors.extractSmartLinkProvider)(details);
209
+ flags === null || flags === void 0 || flags.showConnectFlag({
210
+ id: "smart-link-connect-success-".concat(extensionKey),
211
+ provider: provider
212
+ });
197
213
  }
198
214
  }
215
+ reload();
216
+ if (isPostAuthChatTreatment) {
217
+ sendPostAuthChatOpenMessage(url);
218
+ }
199
219
  }, function (err) {
200
220
  var _err$type;
201
221
  (0, _analytics.startUfoExperience)('smart-link-authenticated', id, {
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = require("react");
9
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
+ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
11
+ var _rovo = require("../../../utils/rovo");
12
+ var _helpers = require("../../helpers");
13
+ var _store = require("../../store");
14
+ var _useRovoConfig2 = _interopRequireDefault(require("../use-rovo-config"));
15
+ var ELIGIBLE_EXTENSION_KEYS = new Set(['slack-object-provider', 'google-object-provider', 'onedrive-object-provider', 'github-object-provider', 'ms-teams-object-provider', 'gitlab-object-provider', 'salesforce-object-provider']);
16
+ var NOT_ENABLED_RESULT = {
17
+ isEnabled: false
18
+ };
19
+
20
+ /**
21
+ * Returns whether the platform_sl_3p_auth_inline_tailored_cta experiment
22
+ * is enabled for the current user and link context.
23
+ *
24
+ * All eligibility criteria are consolidated here:
25
+ * 1. Rovo chat must be enabled for the tenant.
26
+ * 2. The consumer must have opted in via actionOptions.rovoChatAction.optIn.
27
+ * 3. The link must support the RovoActions feature.
28
+ * 4. The extension key must be one of the supported options.
29
+ * 5. The experiment value must be true (via tmp-editor-statsig).
30
+ *
31
+ * The extension key is derived from the card store via the resolved URL,
32
+ * so callers don't need to thread it as a prop.
33
+ */
34
+ var useInlineTailoredActionExperiment = function useInlineTailoredActionExperiment(url, showHoverPreview, actionOptions) {
35
+ var _actionOptions$rovoCh, _actionOptions$rovoCh2;
36
+ var _useRovoConfig = (0, _useRovoConfig2.default)(),
37
+ rovoConfig = _useRovoConfig.rovoOptions;
38
+ var isRovoChatEnabled = (0, _rovo.getIsRovoChatEnabled)(rovoConfig);
39
+ var cardState = (0, _store.useSmartCardState)(url !== null && url !== void 0 ? url : '');
40
+ var extensionKey = (0, _helpers.getExtensionKey)(cardState.details);
41
+ var isRovoChatActionOptedIn = (_actionOptions$rovoCh = actionOptions === null || actionOptions === void 0 || (_actionOptions$rovoCh2 = actionOptions.rovoChatAction) === null || _actionOptions$rovoCh2 === void 0 ? void 0 : _actionOptions$rovoCh2.optIn) !== null && _actionOptions$rovoCh !== void 0 ? _actionOptions$rovoCh : false;
42
+ return (0, _react.useMemo)(function () {
43
+ if (!isRovoChatEnabled || !showHoverPreview || !url || !isRovoChatActionOptedIn) {
44
+ return NOT_ENABLED_RESULT;
45
+ }
46
+ if (!extensionKey || !ELIGIBLE_EXTENSION_KEYS.has(extensionKey)) {
47
+ return NOT_ENABLED_RESULT;
48
+ }
49
+ var isEnabled = (0, _platformFeatureFlags.fg)('platform_sl_3p_auth_inline_tailored_cta_killswitch') && (0, _expValEquals.expValEquals)('platform_sl_3p_auth_inline_tailored_cta', 'isEnabled', true);
50
+ return {
51
+ isEnabled: isEnabled
52
+ };
53
+ }, [isRovoChatEnabled, extensionKey, showHoverPreview, url, isRovoChatActionOptedIn]);
54
+ };
55
+ var _default = exports.default = useInlineTailoredActionExperiment;
@@ -11,7 +11,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
11
11
  var context = exports.context = {
12
12
  componentName: 'smart-cards',
13
13
  packageName: "@atlaskit/smart-card" || '',
14
- packageVersion: "44.20.2" || ''
14
+ packageVersion: "44.21.0" || ''
15
15
  };
16
16
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
17
17
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -20,8 +20,8 @@ var _extractRovoChatAction = _interopRequireDefault(require("../../../extractors
20
20
  var _helpers = require("../../../state/helpers");
21
21
  var _useBlockCardRovoActionExperiment = _interopRequireDefault(require("../../../state/hooks/use-block-card-rovo-action-experiment"));
22
22
  var _useRovoConfig = _interopRequireDefault(require("../../../state/hooks/use-rovo-config"));
23
+ var _rovoChatUtils = require("../../common/rovo-chat-utils");
23
24
  var _FlexibleCard = _interopRequireDefault(require("../../FlexibleCard"));
24
- var _rovoChatAction = require("../../FlexibleCard/components/actions/rovo-chat-action");
25
25
  var _blocks = require("../../FlexibleCard/components/blocks");
26
26
  var _utils = require("./utils");
27
27
  var _withFlexibleUIBlockCardStyle = require("./utils/withFlexibleUIBlockCardStyle");
@@ -86,18 +86,18 @@ var ResolvedView = function ResolvedView(_ref) {
86
86
  var prompts = (0, _react.useMemo)(function () {
87
87
  if (is3PRovoBlockExperimentEnabled) {
88
88
  var _cardState$details;
89
- var defaultPrompts = [_rovoChatAction.RovoChatPromptKey.KEY_HIGHLIGHTS];
89
+ var defaultPrompts = [_rovoChatUtils.RovoChatPromptKey.KEY_HIGHLIGHTS];
90
90
  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'];
91
91
  if (extensionKey === 'slack-object-provider') {
92
- return [_rovoChatAction.RovoChatPromptKey.FIND_OPEN_QUESTIONS].concat(defaultPrompts);
92
+ return [_rovoChatUtils.RovoChatPromptKey.FIND_OPEN_QUESTIONS].concat(defaultPrompts);
93
93
  }
94
94
  if (extensionKey === 'google-object-provider' && linkType !== null && linkType !== void 0 && linkType.includes('schema:PresentationDigitalDocument')) {
95
- return [_rovoChatAction.RovoChatPromptKey.IDENTIFY_KEY_POINTS].concat(defaultPrompts);
95
+ return [_rovoChatUtils.RovoChatPromptKey.IDENTIFY_KEY_POINTS].concat(defaultPrompts);
96
96
  }
97
97
  if (extensionKey === 'google-object-provider' && linkType !== null && linkType !== void 0 && linkType.includes('schema:SpreadsheetDigitalDocument')) {
98
- return [_rovoChatAction.RovoChatPromptKey.IDENTIFY_KEY_TRENDS].concat(defaultPrompts);
98
+ return [_rovoChatUtils.RovoChatPromptKey.IDENTIFY_KEY_TRENDS].concat(defaultPrompts);
99
99
  }
100
- return [_rovoChatAction.RovoChatPromptKey.SUMMARIZE_LINK].concat(defaultPrompts);
100
+ return [_rovoChatUtils.RovoChatPromptKey.SUMMARIZE_LINK].concat(defaultPrompts);
101
101
  }
102
102
  return [];
103
103
  }, [cardState === null || cardState === void 0 || (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.data, extensionKey, is3PRovoBlockExperimentEnabled]);
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.RovoChatPromptKey = void 0;
8
+ exports.default = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -13,351 +13,29 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
13
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _reactIntl = require("react-intl");
16
- var _aiSearch = _interopRequireDefault(require("@atlaskit/icon-lab/core/ai-search"));
17
- var _aiChat = _interopRequireDefault(require("@atlaskit/icon/core/ai-chat"));
18
- var _aiGenerativeTextSummary = _interopRequireDefault(require("@atlaskit/icon/core/ai-generative-text-summary"));
19
- var _rovoChat = _interopRequireDefault(require("@atlaskit/icon/core/rovo-chat"));
20
- var _logo = require("@atlaskit/logo");
21
16
  var _expValEqualsNoExposure = require("@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure");
22
17
  var _constants = require("../../../../../constants");
23
- var _messages = require("../../../../../messages");
24
18
  var _flexibleUiContext = require("../../../../../state/flexible-ui-context");
25
- var _useBlockCardRovoActionExperiment = require("../../../../../state/hooks/use-block-card-rovo-action-experiment");
26
19
  var _useInvokeClientAction = _interopRequireDefault(require("../../../../../state/hooks/use-invoke-client-action"));
27
20
  var _useRovoChat2 = _interopRequireDefault(require("../../../../../state/hooks/use-rovo-chat"));
28
- var _aiChapterIcon = _interopRequireDefault(require("../../../assets/ai-chapter-icon"));
29
- var _aiEditIcon = _interopRequireDefault(require("../../../assets/ai-edit-icon"));
30
- var _aiSearchIcon = _interopRequireDefault(require("../../../assets/ai-search-icon"));
21
+ var _rovoChatUtils = require("../../../../common/rovo-chat-utils");
31
22
  var _action = _interopRequireDefault(require("../action"));
32
- var _htmlToAdf = _interopRequireDefault(require("./html-to-adf"));
33
23
  var _excluded = ["onClick", "prompts", "testId"];
34
24
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
35
25
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
36
26
  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) { (0, _defineProperty2.default)(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; }
37
- var RovoChatPromptKey = exports.RovoChatPromptKey = /*#__PURE__*/function (RovoChatPromptKey) {
38
- RovoChatPromptKey["RECOMMEND_OTHER_SOURCES"] = "recommend-other-sources";
39
- RovoChatPromptKey["SHOW_OTHER_MENTIONS"] = "show-other-mentions";
40
- RovoChatPromptKey["SUGGEST_IMPROVEMENT"] = "suggest-improvement";
41
- RovoChatPromptKey["SUMMARIZE_LINK"] = "summarize-link";
42
- RovoChatPromptKey["KEY_HIGHLIGHTS"] = "key-highlights";
43
- RovoChatPromptKey["ASK_ROVO_ANYTHING"] = "ask-rovo-anything";
44
- RovoChatPromptKey["IDENTIFY_KEY_POINTS"] = "identify-key-points";
45
- RovoChatPromptKey["IDENTIFY_KEY_TRENDS"] = "identify-key-trends";
46
- RovoChatPromptKey["FIND_OPEN_QUESTIONS"] = "find-open-questions";
47
- RovoChatPromptKey["HIGHLIGHT_RELEVANT_CONTENT"] = "highlight-relevant-content";
48
- RovoChatPromptKey["SUMMARIZE_THIS_FOR_ME"] = "summarize-this-for-me";
49
- RovoChatPromptKey["ASK_A_SPECIFIC_QUESTION"] = "ask-a-specific-question";
50
- RovoChatPromptKey["SHOW_ME_WHATS_RELEVANT"] = "show-me-whats-relevant";
51
- return RovoChatPromptKey;
52
- }({});
53
- var GOOGLE_PROMPTS = [RovoChatPromptKey.RECOMMEND_OTHER_SOURCES, RovoChatPromptKey.SHOW_OTHER_MENTIONS, RovoChatPromptKey.SUGGEST_IMPROVEMENT];
27
+ var GOOGLE_PROMPTS = [_rovoChatUtils.RovoChatPromptKey.RECOMMEND_OTHER_SOURCES, _rovoChatUtils.RovoChatPromptKey.SHOW_OTHER_MENTIONS, _rovoChatUtils.RovoChatPromptKey.SUGGEST_IMPROVEMENT];
54
28
  var GENERIC_3P_PROMPTS = [
55
29
  // For rovogrowth-640-inline-action-nudge-exp only
56
- RovoChatPromptKey.SHOW_ME_WHATS_RELEVANT, RovoChatPromptKey.SUMMARIZE_THIS_FOR_ME, RovoChatPromptKey.ASK_A_SPECIFIC_QUESTION];
30
+ _rovoChatUtils.RovoChatPromptKey.SHOW_ME_WHATS_RELEVANT, _rovoChatUtils.RovoChatPromptKey.SUMMARIZE_THIS_FOR_ME, _rovoChatUtils.RovoChatPromptKey.ASK_A_SPECIFIC_QUESTION];
57
31
  var DEFAULT_PROMPTS = GOOGLE_PROMPTS;
58
- var getContext = function getContext(intl, product) {
59
- switch (product) {
60
- case 'CONFLUENCE':
61
- return {
62
- contextLong: intl.formatMessage(_messages.messages.rovo_prompt_context_confluence_page),
63
- contextShort: intl.formatMessage(_messages.messages.rovo_prompt_context_confluence_page_short)
64
- };
65
- case 'JSW':
66
- case 'JWM':
67
- case 'JSM':
68
- case 'JPD':
69
- return {
70
- contextLong: intl.formatMessage(_messages.messages.rovo_prompt_context_jira_work_item),
71
- contextShort: intl.formatMessage(_messages.messages.rovo_prompt_context_jira_work_item_short)
72
- };
73
- }
74
- };
75
- var getPromptAction = function getPromptAction(promptKey, intl) {
76
- var _getContext;
77
- var url = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
78
- var product = arguments.length > 3 ? arguments[3] : undefined;
79
- var iconSize = arguments.length > 4 ? arguments[4] : undefined;
80
- var cardAppearance = arguments.length > 5 ? arguments[5] : undefined;
81
- var _ref = (_getContext = getContext(intl, product)) !== null && _getContext !== void 0 ? _getContext : {
82
- contextLong: intl.formatMessage(_messages.messages.rovo_prompt_context_generic),
83
- contextShort: intl.formatMessage(_messages.messages.rovo_prompt_context_generic)
84
- },
85
- contextLong = _ref.contextLong,
86
- contextShort = _ref.contextShort;
87
- var isBlockCard3PExperimentEnabled = (0, _useBlockCardRovoActionExperiment.isBlockCardRovoActionExperimentEnabled)(product);
88
- switch (promptKey) {
89
- case RovoChatPromptKey.RECOMMEND_OTHER_SOURCES:
90
- var label_recommend = intl.formatMessage(_messages.messages.rovo_prompt_button_recommend_other_sources);
91
- var html_recommend = intl.formatMessage(_messages.messages.rovo_prompt_message_recommend_other_sources, {
92
- context: contextLong,
93
- url: url
94
- }, {
95
- ignoreTag: true
96
- });
97
- return {
98
- icon: /*#__PURE__*/_react.default.createElement(_aiEditIcon.default, null),
99
- content: label_recommend,
100
- tooltipMessage: label_recommend,
101
- data: {
102
- name: label_recommend,
103
- dialogues: [],
104
- prompt: (0, _htmlToAdf.default)(html_recommend)
105
- }
106
- };
107
- case RovoChatPromptKey.SHOW_OTHER_MENTIONS:
108
- var label_other_mentions = intl.formatMessage(_messages.messages.rovo_prompt_button_show_other_mentions);
109
- var html_other_mentions = intl.formatMessage(_messages.messages.rovo_prompt_message_show_other_mentions, {
110
- context: contextLong,
111
- url: url
112
- }, {
113
- ignoreTag: true
114
- });
115
- return {
116
- icon: /*#__PURE__*/_react.default.createElement(_aiChapterIcon.default, null),
117
- content: label_other_mentions,
118
- tooltipMessage: label_other_mentions,
119
- data: {
120
- name: label_other_mentions,
121
- dialogues: [],
122
- prompt: (0, _htmlToAdf.default)(html_other_mentions)
123
- }
124
- };
125
- case RovoChatPromptKey.SUGGEST_IMPROVEMENT:
126
- var label_improvement = intl.formatMessage(_messages.messages.rovo_prompt_button_suggest_improvement, {
127
- context: contextShort
128
- });
129
- var html_improvement = intl.formatMessage(_messages.messages.rovo_prompt_message_suggest_improvement, {
130
- context: contextLong,
131
- url: url
132
- }, {
133
- ignoreTag: true
134
- });
135
- return {
136
- icon: /*#__PURE__*/_react.default.createElement(_aiSearchIcon.default, null),
137
- content: label_improvement,
138
- tooltipMessage: label_improvement,
139
- data: {
140
- name: label_improvement,
141
- dialogues: [],
142
- prompt: (0, _htmlToAdf.default)(html_improvement)
143
- }
144
- };
145
- case RovoChatPromptKey.SUMMARIZE_LINK:
146
- var label_summarize = intl.formatMessage(_messages.messages.ai_summarize);
147
- var html_summarize = intl.formatMessage(_messages.messages.rovo_prompt_message_summarize, {
148
- url: url
149
- }, {
150
- ignoreTag: true
151
- });
152
- return {
153
- icon: cardAppearance === _constants.CardDisplay.Block && isBlockCard3PExperimentEnabled ? /*#__PURE__*/_react.default.createElement(_aiChat.default, {
154
- label: label_summarize,
155
- size: iconSize
156
- }) : /*#__PURE__*/_react.default.createElement(_aiEditIcon.default, null),
157
- content: label_summarize,
158
- tooltipMessage: label_summarize,
159
- data: {
160
- name: label_summarize,
161
- dialogues: [],
162
- prompt: (0, _htmlToAdf.default)(html_summarize),
163
- mode: {
164
- fastModeEnabled: true
165
- }
166
- }
167
- };
168
- case RovoChatPromptKey.SUMMARIZE_THIS_FOR_ME:
169
- var label_summarize_this_for_me = intl.formatMessage(_messages.messages.rovo_prompt_button_summarize_this);
170
- var html_summarize_this_for_me = intl.formatMessage(_messages.messages.rovo_prompt_message_summarize, {
171
- url: url
172
- }, {
173
- ignoreTag: true
174
- });
175
- return {
176
- icon: /*#__PURE__*/_react.default.createElement(_aiGenerativeTextSummary.default, {
177
- label: label_summarize_this_for_me
178
- }),
179
- content: label_summarize_this_for_me,
180
- tooltipMessage: label_summarize_this_for_me,
181
- data: {
182
- name: label_summarize_this_for_me,
183
- dialogues: [],
184
- prompt: (0, _htmlToAdf.default)(html_summarize_this_for_me),
185
- mode: {
186
- fastModeEnabled: true
187
- }
188
- }
189
- };
190
- case RovoChatPromptKey.HIGHLIGHT_RELEVANT_CONTENT:
191
- var label_highlight_relevant_content = intl.formatMessage(_messages.messages.rovo_prompt_button_highlight_relevant_content);
192
- var html_highlight_relevant_content = intl.formatMessage(_messages.messages.rovo_prompt_message_highlight_relevant_content, {
193
- context: contextLong,
194
- url: url
195
- }, {
196
- ignoreTag: true
197
- });
198
- return {
199
- icon: /*#__PURE__*/_react.default.createElement(_aiChapterIcon.default, null),
200
- content: label_highlight_relevant_content,
201
- tooltipMessage: label_highlight_relevant_content,
202
- data: {
203
- name: label_highlight_relevant_content,
204
- dialogues: [],
205
- prompt: (0, _htmlToAdf.default)(html_highlight_relevant_content),
206
- mode: {
207
- fastModeEnabled: true
208
- }
209
- }
210
- };
211
- case RovoChatPromptKey.ASK_ROVO_ANYTHING:
212
- var label_ask_rovo_anything = intl.formatMessage(_messages.messages.rovo_prompt_button_ask_rovo_anything);
213
- var prompt_ask_rovo_anything = intl.formatMessage(_messages.messages.rovo_prompt_message_ask_rovo_anything, {
214
- url: url
215
- });
216
- return {
217
- icon: cardAppearance === _constants.CardDisplay.Block && isBlockCard3PExperimentEnabled ? /*#__PURE__*/_react.default.createElement(_logo.RovoIcon, {
218
- label: label_ask_rovo_anything,
219
- size: 'xxsmall',
220
- shouldUseHexLogo: true
221
- }) : /*#__PURE__*/_react.default.createElement(_aiSearchIcon.default, null),
222
- content: label_ask_rovo_anything,
223
- tooltipMessage: label_ask_rovo_anything,
224
- data: {
225
- name: label_ask_rovo_anything,
226
- dialogues: [],
227
- prompt: prompt_ask_rovo_anything,
228
- isPromptPlaceholder: true,
229
- placeholderType: 'generic'
230
- }
231
- };
232
- case RovoChatPromptKey.ASK_A_SPECIFIC_QUESTION:
233
- var label_ask_a_specific_question = intl.formatMessage(_messages.messages.rovo_prompt_button_ask_a_specific_question);
234
- var prompt_ask_a_specific_question = intl.formatMessage(_messages.messages.rovo_prompt_message_ask_rovo_anything, {
235
- url: url
236
- });
237
- return {
238
- icon: /*#__PURE__*/_react.default.createElement(_rovoChat.default, {
239
- label: label_ask_a_specific_question
240
- }),
241
- content: label_ask_a_specific_question,
242
- tooltipMessage: label_ask_a_specific_question,
243
- data: {
244
- name: label_ask_a_specific_question,
245
- dialogues: [],
246
- prompt: prompt_ask_a_specific_question,
247
- isPromptPlaceholder: true,
248
- placeholderType: 'generic'
249
- }
250
- };
251
- case RovoChatPromptKey.KEY_HIGHLIGHTS:
252
- var label_key_highlights = intl.formatMessage(_messages.messages.rovo_prompt_button_key_highlights);
253
- var html_key_highlights = intl.formatMessage(_messages.messages.rovo_prompt_message_key_highlights, {
254
- context: contextLong,
255
- url: url
256
- }, {
257
- ignoreTag: true
258
- });
259
- return {
260
- icon: /*#__PURE__*/_react.default.createElement(_aiChat.default, {
261
- label: label_key_highlights,
262
- size: iconSize
263
- }),
264
- content: label_key_highlights,
265
- tooltipMessage: label_key_highlights,
266
- data: {
267
- name: label_key_highlights,
268
- dialogues: [],
269
- prompt: (0, _htmlToAdf.default)(html_key_highlights)
270
- }
271
- };
272
- case RovoChatPromptKey.SHOW_ME_WHATS_RELEVANT:
273
- var label_show_me_whats_relevant = intl.formatMessage(_messages.messages.rovo_prompt_button_show_me_whats_relevant);
274
- var html_show_me_whats_relevant = intl.formatMessage(_messages.messages.rovo_prompt_message_highlight_relevant_content, {
275
- context: contextLong,
276
- url: url
277
- }, {
278
- ignoreTag: true
279
- });
280
- return {
281
- icon: /*#__PURE__*/_react.default.createElement(_aiSearch.default, {
282
- label: label_show_me_whats_relevant
283
- }),
284
- content: label_show_me_whats_relevant,
285
- tooltipMessage: label_show_me_whats_relevant,
286
- data: {
287
- name: label_show_me_whats_relevant,
288
- dialogues: [],
289
- prompt: (0, _htmlToAdf.default)(html_show_me_whats_relevant)
290
- }
291
- };
292
- case RovoChatPromptKey.IDENTIFY_KEY_TRENDS:
293
- var label_identify_key_trends = intl.formatMessage(_messages.messages.rovo_prompt_button_identify_key_trends);
294
- var html_identify_key_trends = intl.formatMessage(_messages.messages.rovo_prompt_message_identify_key_trends, {
295
- url: url
296
- }, {
297
- ignoreTag: true
298
- });
299
- return {
300
- icon: /*#__PURE__*/_react.default.createElement(_aiChat.default, {
301
- label: label_identify_key_trends,
302
- size: iconSize
303
- }),
304
- content: label_identify_key_trends,
305
- tooltipMessage: label_identify_key_trends,
306
- data: {
307
- name: label_identify_key_trends,
308
- dialogues: [],
309
- prompt: (0, _htmlToAdf.default)(html_identify_key_trends)
310
- }
311
- };
312
- case RovoChatPromptKey.IDENTIFY_KEY_POINTS:
313
- var label_identify_key_points = intl.formatMessage(_messages.messages.rovo_prompt_button_identify_key_points);
314
- var html_identify_key_points = intl.formatMessage(_messages.messages.rovo_prompt_message_identify_key_points, {
315
- url: url
316
- }, {
317
- ignoreTag: true
318
- });
319
- return {
320
- icon: /*#__PURE__*/_react.default.createElement(_aiChat.default, {
321
- label: label_identify_key_points,
322
- size: iconSize
323
- }),
324
- content: label_identify_key_points,
325
- tooltipMessage: label_identify_key_points,
326
- data: {
327
- name: label_identify_key_points,
328
- dialogues: [],
329
- prompt: (0, _htmlToAdf.default)(html_identify_key_points)
330
- }
331
- };
332
- case RovoChatPromptKey.FIND_OPEN_QUESTIONS:
333
- var label_find_open_questions = intl.formatMessage(_messages.messages.rovo_prompt_button_find_open_questions);
334
- var html_find_open_questions = intl.formatMessage(_messages.messages.rovo_prompt_message_find_open_questions, {
335
- url: url
336
- }, {
337
- ignoreTag: true
338
- });
339
- return {
340
- icon: /*#__PURE__*/_react.default.createElement(_aiChat.default, {
341
- label: label_find_open_questions,
342
- size: iconSize
343
- }),
344
- content: label_find_open_questions,
345
- tooltipMessage: label_find_open_questions,
346
- data: {
347
- name: label_find_open_questions,
348
- dialogues: [],
349
- prompt: (0, _htmlToAdf.default)(html_find_open_questions)
350
- }
351
- };
352
- }
353
- };
354
- var RovoChatAction = function RovoChatAction(_ref2) {
32
+ var RovoChatAction = function RovoChatAction(_ref) {
355
33
  var _context$actions;
356
- var onClickCallback = _ref2.onClick,
357
- prompts = _ref2.prompts,
358
- _ref2$testId = _ref2.testId,
359
- testId = _ref2$testId === void 0 ? 'smart-action-rovo-chat-action' : _ref2$testId,
360
- props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
34
+ var onClickCallback = _ref.onClick,
35
+ prompts = _ref.prompts,
36
+ _ref$testId = _ref.testId,
37
+ testId = _ref$testId === void 0 ? 'smart-action-rovo-chat-action' : _ref$testId,
38
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
361
39
  var intl = (0, _reactIntl.useIntl)();
362
40
  var _useRovoChat = (0, _useRovoChat2.default)(),
363
41
  isRovoChatEnabled = _useRovoChat.isRovoChatEnabled,
@@ -401,11 +79,11 @@ var RovoChatAction = function RovoChatAction(_ref2) {
401
79
  }, [data === null || data === void 0 ? void 0 : data.invokeAction, invoke, onClickCallback, sendPromptMessage]);
402
80
  var promptActions = (0, _react.useMemo)(function () {
403
81
  return resolvedPrompts.map(function (promptKey, idx) {
404
- 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) || {},
405
- icon = _ref3.icon,
406
- content = _ref3.content,
407
- tooltipMessage = _ref3.tooltipMessage,
408
- promptData = _ref3.data;
82
+ var _ref2 = (0, _rovoChatUtils.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) || {},
83
+ icon = _ref2.icon,
84
+ content = _ref2.content,
85
+ tooltipMessage = _ref2.tooltipMessage,
86
+ promptData = _ref2.data;
409
87
  return promptData ? /*#__PURE__*/_react.default.createElement(_action.default, (0, _extends2.default)({
410
88
  content: content,
411
89
  icon: icon,
@@ -27,7 +27,7 @@ var _messages = require("../../../../../messages");
27
27
  var _flexibleUiContext = require("../../../../../state/flexible-ui-context");
28
28
  var _useBlockCardRovoActionExperiment = require("../../../../../state/hooks/use-block-card-rovo-action-experiment");
29
29
  var _useRovoConfig2 = _interopRequireDefault(require("../../../../../state/hooks/use-rovo-config"));
30
- var _rovoChatAction = require("../../actions/rovo-chat-action");
30
+ var _rovoChatUtils = require("../../../../common/rovo-chat-utils");
31
31
  var _utils = require("../../utils");
32
32
  var _utils2 = require("../utils");
33
33
  var _actionGroupItem = _interopRequireDefault(require("./action-group-item"));
@@ -107,7 +107,7 @@ var ActionGroup = function ActionGroup(_ref) {
107
107
  if (!!rovoChatAction && is3PBlockExperimentEnabled) {
108
108
  var rovoActions = [].concat((0, _toConsumableArray2.default)(containerWidth >= REDUCED_ACTIONS_SIZE ? renderableActionItems.slice(0, visibleButtonsNum - 1) : []), (0, _toConsumableArray2.default)(containerWidth >= OVERFLOW_ONLY_ACTIONS_SIZE ? [{
109
109
  name: _constants.ActionName.RovoChatAction,
110
- prompts: [_rovoChatAction.RovoChatPromptKey.ASK_ROVO_ANYTHING],
110
+ prompts: [_rovoChatUtils.RovoChatPromptKey.ASK_ROVO_ANYTHING],
111
111
  iconSize: 'small',
112
112
  cardAppearance: _constants.CardDisplay.Block,
113
113
  hideContent: containerWidth < FULL_ACTIONS_SIZE && containerWidth >= REDUCED_ACTIONS_SIZE || containerWidth < ICON_ONLY_ACTIONS_SIZE && containerWidth >= OVERFLOW_ONLY_ACTIONS_SIZE
@@ -130,7 +130,7 @@ var ActionGroup = function ActionGroup(_ref) {
130
130
  if (!!rovoChatAction && is3PBlockExperimentEnabled && containerWidth < OVERFLOW_ONLY_ACTIONS_SIZE) {
131
131
  actionItems = [].concat((0, _toConsumableArray2.default)(renderableActionItems), [{
132
132
  name: _constants.ActionName.RovoChatAction,
133
- prompts: [_rovoChatAction.RovoChatPromptKey.ASK_ROVO_ANYTHING],
133
+ prompts: [_rovoChatUtils.RovoChatPromptKey.ASK_ROVO_ANYTHING],
134
134
  iconSize: 'small',
135
135
  cardAppearance: _constants.CardDisplay.Block
136
136
  }, {