@atlaskit/smart-card 44.4.0 → 44.5.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/analytics.spec.yaml +5 -0
  3. package/dist/cjs/__tests__/vr-tests/__snapshots__/hover-card/hover-card-with-generic-3p-rovo-chat-action--default.png +2 -2
  4. package/dist/cjs/__tests__/vr-tests/__snapshots__/hover-card/hover-card-with-google-rovo-chat-action--default--rovogrowth-640-inline-action-nudge-exp-true.png +2 -2
  5. package/dist/cjs/common/analytics/generated/create-event-payload.js +7 -7
  6. package/dist/cjs/common/analytics/generated/use-analytics-events.js +1 -1
  7. package/dist/cjs/extractors/flexible/actions/extract-rovo-chat-action.js +3 -4
  8. package/dist/cjs/messages.js +49 -49
  9. package/dist/cjs/preloadLazyCardWithUrlContent.js +15 -0
  10. package/dist/cjs/utils/analytics/analytics.js +1 -1
  11. package/dist/cjs/view/FlexibleCard/components/actions/action/action-stack-item/action-button.compiled.css +0 -2
  12. package/dist/cjs/view/FlexibleCard/components/actions/action/action-stack-item/action-button.js +1 -1
  13. package/dist/cjs/view/FlexibleCard/components/actions/action/action-stack-item/index.js +10 -1
  14. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/ask-rovo-section-header.compiled.css +1 -1
  15. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/ask-rovo-section-header.js +1 -1
  16. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/index.compiled.css +4 -3
  17. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/index.js +1 -1
  18. package/dist/cjs/view/FlexibleCard/components/blocks/hover-card-footer-block/index.compiled.css +1 -0
  19. package/dist/cjs/view/FlexibleCard/components/blocks/hover-card-footer-block/index.js +4 -1
  20. package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +1 -1
  21. package/dist/cjs/view/LinkUrl/index.js +1 -1
  22. package/dist/es2019/__tests__/vr-tests/__snapshots__/hover-card/hover-card-with-generic-3p-rovo-chat-action--default.png +2 -2
  23. package/dist/es2019/__tests__/vr-tests/__snapshots__/hover-card/hover-card-with-google-rovo-chat-action--default--rovogrowth-640-inline-action-nudge-exp-true.png +2 -2
  24. package/dist/es2019/common/analytics/generated/create-event-payload.js +6 -6
  25. package/dist/es2019/common/analytics/generated/use-analytics-events.js +2 -2
  26. package/dist/es2019/extractors/flexible/actions/extract-rovo-chat-action.js +3 -4
  27. package/dist/es2019/messages.js +49 -49
  28. package/dist/es2019/preloadLazyCardWithUrlContent.js +2 -0
  29. package/dist/es2019/utils/analytics/analytics.js +1 -1
  30. package/dist/es2019/view/FlexibleCard/components/actions/action/action-stack-item/action-button.compiled.css +0 -2
  31. package/dist/es2019/view/FlexibleCard/components/actions/action/action-stack-item/action-button.js +1 -1
  32. package/dist/es2019/view/FlexibleCard/components/actions/action/action-stack-item/index.js +21 -10
  33. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/ask-rovo-section-header.compiled.css +1 -1
  34. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/ask-rovo-section-header.js +1 -1
  35. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/index.compiled.css +4 -3
  36. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/index.js +1 -1
  37. package/dist/es2019/view/FlexibleCard/components/blocks/hover-card-footer-block/index.compiled.css +1 -0
  38. package/dist/es2019/view/FlexibleCard/components/blocks/hover-card-footer-block/index.js +4 -1
  39. package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +1 -1
  40. package/dist/es2019/view/LinkUrl/index.js +1 -1
  41. package/dist/esm/__tests__/vr-tests/__snapshots__/hover-card/hover-card-with-generic-3p-rovo-chat-action--default.png +2 -2
  42. package/dist/esm/__tests__/vr-tests/__snapshots__/hover-card/hover-card-with-google-rovo-chat-action--default--rovogrowth-640-inline-action-nudge-exp-true.png +2 -2
  43. package/dist/esm/common/analytics/generated/create-event-payload.js +7 -7
  44. package/dist/esm/common/analytics/generated/use-analytics-events.js +1 -1
  45. package/dist/esm/extractors/flexible/actions/extract-rovo-chat-action.js +3 -4
  46. package/dist/esm/messages.js +49 -49
  47. package/dist/esm/preloadLazyCardWithUrlContent.js +4 -0
  48. package/dist/esm/utils/analytics/analytics.js +1 -1
  49. package/dist/esm/view/FlexibleCard/components/actions/action/action-stack-item/action-button.compiled.css +0 -2
  50. package/dist/esm/view/FlexibleCard/components/actions/action/action-stack-item/action-button.js +1 -1
  51. package/dist/esm/view/FlexibleCard/components/actions/action/action-stack-item/index.js +10 -1
  52. package/dist/esm/view/FlexibleCard/components/blocks/action-block/ask-rovo-section-header.compiled.css +1 -1
  53. package/dist/esm/view/FlexibleCard/components/blocks/action-block/ask-rovo-section-header.js +1 -1
  54. package/dist/esm/view/FlexibleCard/components/blocks/action-block/index.compiled.css +4 -3
  55. package/dist/esm/view/FlexibleCard/components/blocks/action-block/index.js +1 -1
  56. package/dist/esm/view/FlexibleCard/components/blocks/hover-card-footer-block/index.compiled.css +1 -0
  57. package/dist/esm/view/FlexibleCard/components/blocks/hover-card-footer-block/index.js +4 -1
  58. package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +1 -1
  59. package/dist/esm/view/LinkUrl/index.js +1 -1
  60. package/dist/types/common/analytics/generated/analytics.types.d.ts +116 -114
  61. package/dist/types/common/analytics/generated/create-event-payload.d.ts +1 -1
  62. package/dist/types/common/analytics/generated/use-analytics-events.d.ts +4 -1
  63. package/dist/types/preloadLazyCardWithUrlContent.d.ts +1 -0
  64. package/dist/types-ts4.5/common/analytics/generated/analytics.types.d.ts +116 -114
  65. package/dist/types-ts4.5/common/analytics/generated/create-event-payload.d.ts +1 -1
  66. package/dist/types-ts4.5/common/analytics/generated/use-analytics-events.d.ts +4 -5
  67. package/dist/types-ts4.5/preloadLazyCardWithUrlContent.d.ts +1 -0
  68. package/package.json +2 -2
  69. package/preload-lazy-card-with-url-content/package.json +17 -0
@@ -13,6 +13,8 @@ var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
15
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
+ var _expValEqualsNoExposure = require("@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure");
16
18
  var _constants = require("../../../../../constants");
17
19
  var _flexibleUiContext = require("../../../../../state/flexible-ui-context");
18
20
  var Actions = _interopRequireWildcard(require("../../actions"));
@@ -26,6 +28,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
26
28
  */
27
29
  var HIDDEN_HOVER_CARD_FOOTER_ACTIONS = [_constants.ActionName.RovoChatAction];
28
30
  var ignoreContainerMarginStyles = null;
31
+ var inlineActionNudgeFooterMarginStyles = null;
29
32
  var elevatedFooterStyles = null;
30
33
  var providerStyles = null;
31
34
  var actionsStyles = null;
@@ -71,7 +74,7 @@ var ResolvedHoverCardFooterBlock = function ResolvedHoverCardFooterBlock(_ref) {
71
74
  return /*#__PURE__*/React.createElement(_block.default, (0, _extends2.default)({}, props, {
72
75
  size: size,
73
76
  testId: "".concat(testId, "-resolved-view"),
74
- className: (0, _runtime.ax)(["_18zrpxbi _1rjcutpp _vchhusvi _1bsb129b _18u01ivi _2hwxc10g _otyr1ya9 _4t3ioahv", "_zulpu2gc _x3doj0fz _bfhkhfxm _mrkb1mok _1o0z1mok"])
77
+ className: (0, _runtime.ax)(["_18zrpxbi _1rjcutpp _vchhusvi _1bsb129b _18u01ivi _2hwxc10g _otyr1ya9 _4t3ioahv", "_zulpu2gc _x3doj0fz _bfhkhfxm _mrkb1mok _1o0z1mok", (0, _platformFeatureFlags.fg)('rovogrowth-640-inline-action-nudge-fg') && (0, _expValEqualsNoExposure.expValEqualsNoExposure)('rovogrowth-640-inline-action-nudge-exp', 'isEnabled', true) && "_19pkutpp"])
75
78
  }), !hideProvider && /*#__PURE__*/React.createElement("div", {
76
79
  className: (0, _runtime.ax)(["_4t3i1ejb _1e0c1txw _4cvr1h6o _1bah1y6m _vchhusvi _16jlkb7n"])
77
80
  }, /*#__PURE__*/React.createElement(_elements.Provider, {
@@ -24,7 +24,7 @@ var messages = (0, _reactIntl.defineMessages)({
24
24
  imageAltText: {
25
25
  id: 'smart-link.image-icon.altText',
26
26
  defaultMessage: 'Link Icon',
27
- description: 'Alt text for a link icon.'
27
+ description: 'Alternative text for the link icon image displayed on a flexible smart link card, used by screen readers and when the image cannot be rendered.'
28
28
  }
29
29
  });
30
30
  var ImageIcon = function ImageIcon(_ref) {
@@ -22,7 +22,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId", "isLink
22
22
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
23
23
  var PACKAGE_DATA = {
24
24
  packageName: "@atlaskit/smart-card",
25
- packageVersion: "44.3.24",
25
+ packageVersion: "44.5.0",
26
26
  componentName: 'linkUrl'
27
27
  };
28
28
  var Anchor = (0, _click.withLinkClickedEvent)('a');
@@ -1,3 +1,3 @@
1
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:64a45081f856f48de6a315f9b12747d543b2b83106d1faa7b36089de8c7f04c1
3
- size 36891
2
+ oid sha256:58befa1fbc873aa0672a8e0a3cebe1903406324b6b86d9e1e331adf2237ca1c1
3
+ size 36884
@@ -1,3 +1,3 @@
1
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f16d2f260c508d20c49ca84a31b73ef9232cf7ae4b4ac0a8b5e3abaf946888eb
3
- size 29353
2
+ oid sha256:3653660b252b46503f72959451e6cc6b9b34c5e6fb2aef765e8c59f1f7ff14e3
3
+ size 29363
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::f914fb83fac56e7154ef460866628f7d>>
6
+ * @codegen <<SignedSource::268e746266cde1271e40a794eb774cf3>>
7
7
  * @codegenCommand yarn workspace @atlassian/analytics-tooling run analytics:codegen smart-card
8
8
  */
9
9
 
@@ -11,17 +11,17 @@ const createEventPayload = (eventKey, ...[attributes]) => {
11
11
  const [eventType, actionSubject, action, actionSubjectId] = eventKey.split('.');
12
12
  if (eventType === 'screen') {
13
13
  return {
14
- eventType,
14
+ eventType: eventType,
15
15
  name: actionSubject,
16
16
  action: 'viewed',
17
17
  attributes: attributes
18
18
  };
19
19
  }
20
20
  return {
21
- eventType,
22
- actionSubject,
23
- action,
24
- actionSubjectId,
21
+ eventType: eventType,
22
+ actionSubject: actionSubject,
23
+ action: action,
24
+ actionSubjectId: actionSubjectId,
25
25
  attributes: attributes
26
26
  };
27
27
  };
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::676f76a2e45920437adc8c35a9af8b37>>
6
+ * @codegen <<SignedSource::ac0d75fa9e8d43c947e88f47ba1267aa>>
7
7
  * @codegenCommand yarn workspace @atlassian/analytics-tooling run analytics:codegen smart-card
8
8
  */
9
9
  import { useCallback } from 'react';
@@ -19,6 +19,6 @@ export const useAnalyticsEvents = () => {
19
19
  event.fire(EVENT_CHANNEL);
20
20
  }, [createAnalyticsEvent]);
21
21
  return {
22
- fireEvent
22
+ fireEvent: fireEvent
23
23
  };
24
24
  };
@@ -6,7 +6,7 @@ import { getDefinitionId, getExtensionKey, getResourceType } from '../../../stat
6
6
  import { canShowAction } from '../../../utils/actions/can-show-action';
7
7
  import { getIsRovoChatEnabled } from '../../../utils/rovo';
8
8
  import { CardAction } from '../../../view/Card/types';
9
- // For rovogrowth-640 post auth inline experiment
9
+ // For rovogrowth-640 post auth inline experiment and block card experiment (NAVX-4814)
10
10
  const 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']);
11
11
  const extractRovoChatAction = ({
12
12
  actionOptions,
@@ -16,7 +16,7 @@ const extractRovoChatAction = ({
16
16
  response,
17
17
  rovoConfig
18
18
  }) => {
19
- var _response$meta, _response$meta$suppor, _actionOptions$rovoCh;
19
+ var _actionOptions$rovoCh;
20
20
  if (!canShowAction(CardAction.RovoChatAction, actionOptions)) {
21
21
  return;
22
22
  }
@@ -24,12 +24,11 @@ const extractRovoChatAction = ({
24
24
  if (!isRovoChatEnabled) {
25
25
  return;
26
26
  }
27
- const supportsRovoActions = response === null || response === void 0 ? void 0 : (_response$meta = response.meta) === null || _response$meta === void 0 ? void 0 : (_response$meta$suppor = _response$meta.supportedFeature) === null || _response$meta$suppor === void 0 ? void 0 : _response$meta$suppor.includes('RovoActions');
28
27
  const extensionKey = getExtensionKey(response);
29
28
  const isGoogleProvider = extensionKey === 'google-object-provider';
30
29
  const is3PAuthRovoActionEnabled = isGoogleProvider && fg('platform_sl_3p_auth_rovo_action_kill_switch');
31
30
  const is3PInlinePostAuthActionsEnabled = extensionKey !== undefined && ELIGIBLE_EXTENSION_KEYS.has(extensionKey) && fg('rovogrowth-640-inline-action-nudge-fg') && expValEqualsNoExposure('rovogrowth-640-inline-action-nudge-exp', 'isEnabled', true);
32
- const is3PBlockPostAuthActionsEnabled = supportsRovoActions && fg('platform_sl_3p_auth_rovo_block_card_kill_switch');
31
+ const is3PBlockPostAuthActionsEnabled = extensionKey !== undefined && ELIGIBLE_EXTENSION_KEYS.has(extensionKey) && fg('platform_sl_3p_auth_rovo_block_card_kill_switch');
33
32
  const isSupportedFeature = is3PInlinePostAuthActionsEnabled || is3PAuthRovoActionEnabled || is3PBlockPostAuthActionsEnabled;
34
33
  const isOptIn = (actionOptions === null || actionOptions === void 0 ? void 0 : (_actionOptions$rovoCh = actionOptions.rovoChatAction) === null || _actionOptions$rovoCh === void 0 ? void 0 : _actionOptions$rovoCh.optIn) === true;
35
34
  const url = extractSmartLinkUrl(response);
@@ -103,7 +103,7 @@ export const messages = defineMessages({
103
103
  beta: {
104
104
  id: 'fabric.linking.beta',
105
105
  defaultMessage: 'Beta',
106
- description: 'Indicates a beta phase of the feature.'
106
+ description: 'Text shown in a lozenge badge on a smart link or card to indicate the feature is currently in beta.'
107
107
  },
108
108
  cannot_connect: {
109
109
  id: 'fabric.linking.cannot_connect',
@@ -128,12 +128,12 @@ export const messages = defineMessages({
128
128
  close: {
129
129
  id: 'fabric.linking.close',
130
130
  defaultMessage: 'Close',
131
- description: 'Close the current screen or modal.'
131
+ description: 'Label for a button or icon that closes the currently open modal dialog or overlay screen.'
132
132
  },
133
133
  check_this_link: {
134
134
  id: 'fabric.linking.check_this_link',
135
135
  defaultMessage: 'Check this link',
136
- description: 'Link safety warning modal header'
136
+ description: 'Heading shown at the top of the link safety warning modal, prompting the user to verify a potentially unsafe link before proceeding.'
137
137
  },
138
138
  compass_applied_components_count: {
139
139
  id: 'compass.applied_components_count.non-final',
@@ -188,7 +188,7 @@ export const messages = defineMessages({
188
188
  continue: {
189
189
  id: 'fabric.linking.continue',
190
190
  defaultMessage: 'Continue',
191
- description: 'Continue to the next step.'
191
+ description: 'Label for a button that advances the user to the next step, e.g. in the link safety warning modal flow.'
192
192
  },
193
193
  copy_url_to_clipboard: {
194
194
  id: 'fabric.linking.copy_url_to_clipboard',
@@ -198,7 +198,7 @@ export const messages = defineMessages({
198
198
  copied_url_to_clipboard: {
199
199
  id: 'fabric.linking.copied_url_to_clipboard',
200
200
  defaultMessage: 'Copied!',
201
- description: 'Url has been copied to the clipboard'
201
+ description: 'Confirmation text shown briefly after the user copies a URL to the clipboard using the copy link action.'
202
202
  },
203
203
  could_not_load_link: {
204
204
  id: 'fabric.linking.couldnt_load_link',
@@ -223,27 +223,27 @@ export const messages = defineMessages({
223
223
  delete: {
224
224
  id: 'fabric.linking.delete',
225
225
  defaultMessage: 'Delete',
226
- description: 'Allow a user to delete a link'
226
+ description: 'Label for the delete action in a smart link or card action menu, allowing the user to remove the linked item.'
227
227
  },
228
228
  download: {
229
229
  id: 'fabric.linking.download',
230
230
  defaultMessage: 'Download',
231
- description: 'Action to download the resource.'
231
+ description: 'Label for the download action in a smart link or card action menu, initiating a file download.'
232
232
  },
233
233
  download_description: {
234
234
  id: 'fabric.linking.download_description',
235
235
  defaultMessage: 'Download this file into your local storage',
236
- description: 'Description on what Download does'
236
+ description: "Tooltip or description text for the download action, explaining it saves the file to the user's local storage."
237
237
  },
238
238
  download_file: {
239
239
  id: 'fabric.linking.download_file',
240
240
  defaultMessage: 'Download file',
241
- description: 'Allow a user to download a file'
241
+ description: 'Label for the download file action in a smart link or card action menu, allowing the user to save the linked file locally.'
242
242
  },
243
243
  ai_summary_action: {
244
244
  id: 'fabric.linking.ai_summary_action',
245
245
  defaultMessage: 'Summarize with AI',
246
- description: 'Allow a user to summarize a link'
246
+ description: 'Label for the AI summarize action in a smart link or hover card action menu, allowing the user to generate an AI summary of the linked content.'
247
247
  },
248
248
  ai_summary_action_description: {
249
249
  id: 'fabric.linking.ai_summary_action_description',
@@ -268,22 +268,22 @@ export const messages = defineMessages({
268
268
  edit: {
269
269
  id: 'fabric.linking.edit',
270
270
  defaultMessage: 'Edit',
271
- description: 'Allow a user to edit a link'
271
+ description: 'Label for the edit action in a smart link or card action menu, allowing the user to modify the linked item.'
272
272
  },
273
273
  follow: {
274
274
  id: 'fabric.linking.follow',
275
275
  defaultMessage: 'Follow',
276
- description: 'Click to follow a project.'
276
+ description: 'Label for the follow button on a smart link card, allowing the user to subscribe to updates for the linked project or resource.'
277
277
  },
278
278
  follow_project_description: {
279
279
  id: 'fabric.linking.follow_project_description',
280
280
  defaultMessage: 'Follow to get notifications on this project',
281
- description: 'Description on what Follow does'
281
+ description: 'Tooltip or description text for the follow project button, explaining that clicking it enables notifications for the project.'
282
282
  },
283
283
  follow_project: {
284
284
  id: 'fabric.linking.follow_project',
285
285
  defaultMessage: 'Follow project',
286
- description: 'Click to follow a project.'
286
+ description: 'Label for the follow project button on a smart link card, allowing the user to subscribe to updates for the linked Atlassian project.'
287
287
  },
288
288
  follow_project_error: {
289
289
  id: 'fabric.linking.follow_project_error',
@@ -293,12 +293,12 @@ export const messages = defineMessages({
293
293
  follow_goal_description: {
294
294
  id: 'fabric.linking.follow_goal_description',
295
295
  defaultMessage: 'Follow this goal to get notifications on updates',
296
- description: 'Description on what Follow does'
296
+ description: 'Tooltip or description text for the follow goal button, explaining that clicking it enables notifications for updates to the goal.'
297
297
  },
298
298
  follow_goal: {
299
299
  id: 'fabric.linking.follow_goal',
300
300
  defaultMessage: 'Follow goal',
301
- description: 'Click to follow a project.'
301
+ description: 'Label for the follow goal button on a smart link card, allowing the user to subscribe to updates for the linked Atlas goal.'
302
302
  },
303
303
  follow_goal_error: {
304
304
  id: 'fabric.linking.follow_goal_error',
@@ -308,7 +308,7 @@ export const messages = defineMessages({
308
308
  go_back: {
309
309
  id: 'fabric.linking.go_back',
310
310
  defaultMessage: 'Go back',
311
- description: 'go back'
311
+ description: 'Label for a navigation button that returns the user to the previous step or screen in a modal flow.'
312
312
  },
313
313
  invalid_permissions: {
314
314
  id: 'fabric.linking.invalid_permissions',
@@ -363,12 +363,12 @@ export const messages = defineMessages({
363
363
  open_issue_in_jira: {
364
364
  id: 'fabric.linking.open_issue_in_jira',
365
365
  defaultMessage: 'Open issue in Jira',
366
- description: 'Click to open link in Jira'
366
+ description: 'Label for the action button on a smart link card that opens the linked Jira issue in Jira.'
367
367
  },
368
368
  open_link_in_a_new_tab: {
369
369
  id: 'fabric.linking.open_link_in_a_new_tab',
370
370
  defaultMessage: 'Open link in a new tab',
371
- description: 'Click to open link in a new tab'
371
+ description: 'Label for the action button on a smart link card that opens the linked resource in a new browser tab.'
372
372
  },
373
373
  owned_by: {
374
374
  id: 'fabric.linking.owned_by',
@@ -383,7 +383,7 @@ export const messages = defineMessages({
383
383
  preview_description: {
384
384
  id: 'fabric.linking.preview_description',
385
385
  defaultMessage: 'Open a full screen preview of this link',
386
- description: 'Description on what Preview does'
386
+ description: 'Tooltip or description text for the preview action on a smart link card, explaining it opens a full-screen embed preview of the linked content.'
387
387
  },
388
388
  preview_improved: {
389
389
  id: 'fabric.linking.preview_improved',
@@ -403,7 +403,7 @@ export const messages = defineMessages({
403
403
  preview_close: {
404
404
  id: 'fabric.linking.preview_close',
405
405
  defaultMessage: 'Close preview',
406
- description: 'Click to close embed preview modal.'
406
+ description: 'Label for the button that closes the embed preview modal dialog on a smart link card.'
407
407
  },
408
408
  preview_max_size: {
409
409
  id: 'fabric.linking.preview_max_size',
@@ -418,57 +418,57 @@ export const messages = defineMessages({
418
418
  priority_blocker: {
419
419
  id: 'fabric.linking.priority_blocker',
420
420
  defaultMessage: 'Blocker',
421
- description: 'Indicated priority as blocker'
421
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Blocker priority.'
422
422
  },
423
423
  priority_critical: {
424
424
  id: 'fabric.linking.priority_critical',
425
425
  defaultMessage: 'Critical',
426
- description: 'Indicated priority as critical'
426
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Critical priority.'
427
427
  },
428
428
  priority_high: {
429
429
  id: 'fabric.linking.priority_high',
430
430
  defaultMessage: 'High',
431
- description: 'Indicated priority as high'
431
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has High priority.'
432
432
  },
433
433
  priority_highest: {
434
434
  id: 'fabric.linking.priority_highest',
435
435
  defaultMessage: 'Highest',
436
- description: 'Indicated priority as highest'
436
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Highest priority.'
437
437
  },
438
438
  priority_low: {
439
439
  id: 'fabric.linking.priority_low',
440
440
  defaultMessage: 'Low',
441
- description: 'Indicated priority as low'
441
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Low priority.'
442
442
  },
443
443
  priority_lowest: {
444
444
  id: 'fabric.linking.priority_lowest',
445
445
  defaultMessage: 'Lowest',
446
- description: 'Indicated priority as lowest'
446
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Lowest priority.'
447
447
  },
448
448
  priority_major: {
449
449
  id: 'fabric.linking.priority_major',
450
450
  defaultMessage: 'Major',
451
- description: 'Indicated priority as major'
451
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Major priority.'
452
452
  },
453
453
  priority_medium: {
454
454
  id: 'fabric.linking.priority_medium',
455
455
  defaultMessage: 'Medium',
456
- description: 'Indicated priority as medium'
456
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Medium priority.'
457
457
  },
458
458
  priority_minor: {
459
459
  id: 'fabric.linking.priority_minor',
460
460
  defaultMessage: 'Minor',
461
- description: 'Indicated priority as minor'
461
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Minor priority.'
462
462
  },
463
463
  priority_trivial: {
464
464
  id: 'fabric.linking.priority_trivial',
465
465
  defaultMessage: 'Trivial',
466
- description: 'Indicated priority as trivial'
466
+ description: 'Label for a priority badge on a Jira issue smart link card indicating the issue has Trivial priority.'
467
467
  },
468
468
  priority_undefined: {
469
469
  id: 'fabric.linking.priority_undefined',
470
470
  defaultMessage: 'Undefined',
471
- description: 'Indicated priority as unknown'
471
+ description: 'Label for a priority badge on a Jira issue smart link card when the priority level is not defined or unknown.'
472
472
  },
473
473
  forbidden_access: {
474
474
  id: 'fabric.linking.forbidden_access',
@@ -483,7 +483,7 @@ export const messages = defineMessages({
483
483
  read_time: {
484
484
  id: 'fabric.linking.read_time',
485
485
  defaultMessage: '{context} min read',
486
- description: 'Estimated time to read this resource'
486
+ description: 'Text shown on a smart link card displaying the estimated reading time. The placeholder {context} is substituted with the number of minutes.'
487
487
  },
488
488
  restricted_link: {
489
489
  id: 'fabric.linking.restricted_link',
@@ -503,12 +503,12 @@ export const messages = defineMessages({
503
503
  retry: {
504
504
  id: 'fabric.linking.retry',
505
505
  defaultMessage: 'Retry',
506
- description: 'Allows user to perform an action again'
506
+ description: 'Label for a retry button shown on a smart link card after an error, allowing the user to attempt the failed action again.'
507
507
  },
508
508
  save: {
509
509
  id: 'fabric.linking.save',
510
510
  defaultMessage: 'Save',
511
- description: 'Just the "save" word'
511
+ description: "Label for a save button on a smart link card or action, confirming and persisting the user's changes."
512
512
  },
513
513
  sent_on_relative: {
514
514
  id: 'fabric.linking.sent_on_relative',
@@ -538,7 +538,7 @@ export const messages = defineMessages({
538
538
  try_again: {
539
539
  id: 'fabric.linking.try_again',
540
540
  defaultMessage: 'Try again',
541
- description: 'Allow the user to try an action again'
541
+ description: 'Label for a button shown on a smart link error state, prompting the user to retry the failed load or action.'
542
542
  },
543
543
  try_another_account: {
544
544
  id: 'fabric.linking.try_another_account',
@@ -548,7 +548,7 @@ export const messages = defineMessages({
548
548
  link_safety_warning_message: {
549
549
  id: 'fabric.linking.link_safety_warning_message',
550
550
  defaultMessage: 'The link {unsafeLinkText} is taking you to a different site, <a>actual link here</a>',
551
- description: 'Link safety check warning message'
551
+ description: 'Warning message shown in the link safety modal. The placeholder {unsafeLinkText} is substituted with the suspicious link text, and <a> wraps the actual destination URL.'
552
552
  },
553
553
  unauthorised_account_description: {
554
554
  id: 'fabric.linking.unauthorised_account_description',
@@ -583,17 +583,17 @@ export const messages = defineMessages({
583
583
  unfollow: {
584
584
  id: 'fabric.linking.unfollow',
585
585
  defaultMessage: 'Unfollow',
586
- description: 'Click to unfollow a project.'
586
+ description: 'Label for the unfollow button on a smart link card, allowing the user to stop receiving updates for the linked project or resource.'
587
587
  },
588
588
  unfollow_project_description: {
589
589
  id: 'fabric.linking.unfollow_project_description',
590
590
  defaultMessage: 'Unfollow to stop receiving project notifications',
591
- description: 'Description on what Unfollow does'
591
+ description: 'Tooltip or description for the unfollow project button, explaining that clicking it stops project update notifications.'
592
592
  },
593
593
  unfollow_project: {
594
594
  id: 'fabric.linking.unfollow_project',
595
595
  defaultMessage: 'Unfollow project',
596
- description: 'Click to unfollow a project.'
596
+ description: 'Label for the unfollow project button on a smart link card, allowing the user to stop following the linked Atlassian project.'
597
597
  },
598
598
  unfollow_project_error: {
599
599
  id: 'fabric.linking.unfollow_project_error',
@@ -603,12 +603,12 @@ export const messages = defineMessages({
603
603
  unfollow_goal_description: {
604
604
  id: 'fabric.linking.unfollow_goal_description',
605
605
  defaultMessage: 'Unfollow to stop receiving notifications for this goal',
606
- description: 'Description on what Unfollow does'
606
+ description: 'Tooltip or description for the unfollow goal button, explaining that clicking it stops notifications for the linked Atlas goal.'
607
607
  },
608
608
  unfollow_goal: {
609
609
  id: 'fabric.linking.unfollow_goal',
610
610
  defaultMessage: 'Unfollow goal',
611
- description: 'Click to unfollow a project.'
611
+ description: 'Label for the unfollow goal button on a smart link card, allowing the user to stop following the linked Atlas goal.'
612
612
  },
613
613
  unfollow_goal_error: {
614
614
  id: 'fabric.linking.unfollow_goal_error',
@@ -718,7 +718,7 @@ export const messages = defineMessages({
718
718
  generic_error_message: {
719
719
  id: 'fabric.linking.generic_error_message',
720
720
  defaultMessage: 'An error occurred',
721
- description: 'A generic error message to the user'
721
+ description: 'Generic error message shown on a smart link card when an unspecified error occurs and no more specific message is available.'
722
722
  },
723
723
  related_links_modal_title: {
724
724
  id: 'fabric.linking.related_links_modal_title',
@@ -753,12 +753,12 @@ export const messages = defineMessages({
753
753
  related_links_modal_error_title: {
754
754
  id: 'fabric.linking.related_links_modal_error_title',
755
755
  defaultMessage: `We're having trouble loading related links`,
756
- description: 'Title for related links error'
756
+ description: 'Heading shown in the related links modal when related links fail to load due to a network or server error.'
757
757
  },
758
758
  related_links_modal_unavailable_title: {
759
759
  id: 'fabric.linking.related_links_modal_unavailable_title',
760
760
  defaultMessage: `We couldn't find any related links`,
761
- description: 'Title for related links error'
761
+ description: 'Heading shown in the related links modal when no related links are available for the current resource.'
762
762
  },
763
763
  related_links_modal_error_description: {
764
764
  id: 'fabric.linking.related_links_modal_error_description',
@@ -778,7 +778,7 @@ export const messages = defineMessages({
778
778
  open_issue_in_jiraIssueTermRefresh: {
779
779
  id: 'fabric.linking.open_issue_in_jira-issue-term-refresh',
780
780
  defaultMessage: 'Open work item in Jira',
781
- description: 'Click to open link in Jira'
781
+ description: 'Label for the action button on a smart link card that opens the linked Jira work item in Jira (issue term refresh variant).'
782
782
  },
783
783
  request_access_to_viewIssueTermRefresh: {
784
784
  id: 'fabric.linking.request_access_to_view-issue-term-refresh',
@@ -793,7 +793,7 @@ export const messages = defineMessages({
793
793
  team_members_count: {
794
794
  id: 'fabric.linking.team_members_count',
795
795
  defaultMessage: '{context} members',
796
- description: 'Indicates the count of team member'
796
+ description: 'Text shown on a smart link card displaying the number of members in a team. The placeholder {context} is substituted with the member count.'
797
797
  },
798
798
  user_attributes: {
799
799
  id: 'fabric.linking.user_attributes',
@@ -804,7 +804,7 @@ export const messages = defineMessages({
804
804
  follow_project_descriptionGalaxia: {
805
805
  id: 'fabric.linking.follow_project_description-galaxia',
806
806
  defaultMessage: 'Follow to get notifications on this space',
807
- description: 'Description on what Follow does'
807
+ description: 'Tooltip or description for the follow space button (Galaxia variant), explaining that clicking it enables notifications for the Confluence space.'
808
808
  },
809
809
  follow_project_errorGalaxia: {
810
810
  id: 'fabric.linking.follow_project_error-galaxia',
@@ -814,7 +814,7 @@ export const messages = defineMessages({
814
814
  unfollow_project_descriptionGalaxia: {
815
815
  id: 'fabric.linking.unfollow_project_description-galaxia',
816
816
  defaultMessage: 'Unfollow to stop receiving space notifications',
817
- description: 'Description on what Unfollow does'
817
+ description: 'Tooltip or description for the unfollow space button (Galaxia variant), explaining that clicking it stops notifications for the Confluence space.'
818
818
  },
819
819
  unfollow_project_errorGalaxia: {
820
820
  id: 'fabric.linking.unfollow_project_error-galaxia',
@@ -0,0 +1,2 @@
1
+ // Intent-time preload for the LazyCardWithUrlContent chunk; chunk name mirrors `view/CardWithUrl/loader.tsx`.
2
+ export const preloadLazyCardWithUrlContent = () => import( /* webpackChunkName: "@atlaskit-internal_smartcard-urlcardcontent" */'./view/CardWithUrl/component-lazy/index');
@@ -2,7 +2,7 @@ export const ANALYTICS_CHANNEL = 'media';
2
2
  export const context = {
3
3
  componentName: 'smart-cards',
4
4
  packageName: "@atlaskit/smart-card" || '',
5
- packageVersion: "44.3.24" || ''
5
+ packageVersion: "44.5.0" || ''
6
6
  };
7
7
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
8
8
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -6,7 +6,6 @@
6
6
  ._19bv1b66{padding-left:var(--ds-space-050,4px)}
7
7
  ._19bvv77o{padding-left:var(--ds-space-025,2px)}
8
8
  ._1bah1h6o{justify-content:center}
9
- ._1bsb1ns9{width:-moz-fit-content;width:fit-content}
10
9
  ._1bsb1osq{width:100%}
11
10
  ._1bsb1tcg{width:24px}
12
11
  ._1e0c116y{display:inline-flex}
@@ -22,6 +21,5 @@
22
21
  ._u5f31b66{padding-right:var(--ds-space-050,4px)}
23
22
  ._u5f3u2gc{padding-right:var(--ds-space-100,8px)}
24
23
  ._1ah31i6y:focus-visible{outline-offset:var(--ds-space-negative-025,-2px)}
25
- ._4cvx1v1w:hover{border-color:var(--ds-border-focused,#4688ec)}
26
24
  ._irr31dpa:hover{background-color:var(--ds-background-neutral-subtle-hovered,#0515240f)}
27
25
  ._1di6fcek:active{background-color:var(--ds-background-neutral-subtle-pressed,#0b120e24)}
@@ -15,7 +15,7 @@ import { getPrimitivesInlineSpaceBySize } from '../../../utils';
15
15
  import ActionIcon from '../action-icon';
16
16
  const styles = {
17
17
  button: "_bfhksm61 _ca0q1b66 _u5f31b66 _n3td1b66 _19bv1b66 _1bsb1osq _1ah31i6y _irr31dpa _1di6fcek",
18
- pillButton: "_2rko1qi0 _189ee4h9 _1dqonqa1 _1h6d1l7x _kqswh2mm _bfhksm61 _u5f3u2gc _19bvv77o _1bsb1ns9 _1ah31i6y _4cvx1v1w _irr31dpa _1di6fcek",
18
+ pillButton: "_2rko1qi0 _189ee4h9 _1dqonqa1 _1h6d1l7x _kqswh2mm _bfhksm61 _u5f3u2gc _19bvv77o _1bsb1osq _1ah31i6y _irr31dpa _1di6fcek",
19
19
  content: "_11c8wadc _syazi7uo",
20
20
  pillContent: "_11c8wadc _syazi7uo _o5721q9c",
21
21
  spinner: "_1bsb1tcg _4t3i1tcg _1e0c116y _4cvr1h6o _1bah1h6o"
@@ -1,6 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
+ import { fg } from '@atlaskit/platform-feature-flags';
4
+ import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
3
5
  import Tooltip from '@atlaskit/tooltip';
6
+ import { ActionName } from '../../../../../../constants';
7
+ import { useFlexibleUiContext } from '../../../../../../state/flexible-ui-context';
4
8
  import ActionButton from './action-button';
5
9
  const ActionStackItem = ({
6
10
  content,
@@ -9,14 +13,21 @@ const ActionStackItem = ({
9
13
  hideTooltipOnMouseDown,
10
14
  hideTooltip,
11
15
  ...props
12
- }) => hideTooltip ? /*#__PURE__*/React.createElement(ActionButton, _extends({}, props, {
13
- content: content
14
- })) : /*#__PURE__*/React.createElement(Tooltip, {
15
- content: tooltipMessage || content,
16
- onHide: tooltipOnHide,
17
- hideTooltipOnMouseDown: hideTooltipOnMouseDown
18
- }, tooltipProps => /*#__PURE__*/React.createElement(ActionButton, _extends({}, props, {
19
- content: content,
20
- tooltipProps: tooltipProps
21
- })));
16
+ }) => {
17
+ var _flexibleUiContext$ac;
18
+ const flexibleUiContext = useFlexibleUiContext();
19
+ const isRovoAction = !!(flexibleUiContext !== null && flexibleUiContext !== void 0 && (_flexibleUiContext$ac = flexibleUiContext.actions) !== null && _flexibleUiContext$ac !== void 0 && _flexibleUiContext$ac[ActionName.RovoChatAction]);
20
+ const isRovoPillVariant = isRovoAction && fg('rovogrowth-640-inline-action-nudge-fg') && expValEqualsNoExposure('rovogrowth-640-inline-action-nudge-exp', 'isEnabled', true);
21
+ return hideTooltip ? /*#__PURE__*/React.createElement(ActionButton, _extends({}, props, {
22
+ content: content
23
+ })) : /*#__PURE__*/React.createElement(Tooltip, {
24
+ content: tooltipMessage || content,
25
+ onHide: tooltipOnHide,
26
+ hideTooltipOnMouseDown: hideTooltipOnMouseDown,
27
+ position: isRovoPillVariant ? 'right' : undefined
28
+ }, tooltipProps => /*#__PURE__*/React.createElement(ActionButton, _extends({}, props, {
29
+ content: content,
30
+ tooltipProps: tooltipProps
31
+ })));
32
+ };
22
33
  export default ActionStackItem;
@@ -11,5 +11,5 @@
11
11
  ._4t3it94y{height:1px}
12
12
  ._bfhk1l7x{background-color:var(--ds-border,#0b120e24)}
13
13
  ._k48p1wq8{font-weight:var(--ds-font-weight-medium,500)}
14
- ._otyru2gc{margin-bottom:var(--ds-space-100,8px)}
14
+ ._otyrutpp{margin-bottom:var(--ds-space-150,9pt)}
15
15
  ._syazazsu{color:var(--ds-text-subtle,#505258)}
@@ -22,7 +22,7 @@ const AskRovoSectionHeader = ({
22
22
  const intl = useIntl();
23
23
  return /*#__PURE__*/React.createElement("div", {
24
24
  "data-testid": testId,
25
- className: ax(["_zulputpp _1e0c1txw _2lx21bp4 _otyru2gc _18u0v77o _1bsb1osq _1wpz1fhb"])
25
+ className: ax(["_zulputpp _1e0c1txw _2lx21bp4 _otyrutpp _18u0v77o _1bsb1osq _1wpz1fhb"])
26
26
  }, /*#__PURE__*/React.createElement("div", {
27
27
  role: "separator",
28
28
  "aria-orientation": "horizontal",
@@ -1,10 +1,11 @@
1
1
 
2
- ._zulp12x7{gap:var(--ds-space-075,6px)}._16jlkb7n{flex-grow:1}
2
+ ._zulpu2gc{gap:var(--ds-space-100,8px)}._16jlkb7n{flex-grow:1}
3
3
  ._18u01ivi{margin-left:calc(var(--container-gap-left)*-1)}
4
4
  ._1bsb129b{width:calc(100% + var(--container-gap-left) + var(--container-gap-right))}
5
5
  ._1bsb1osq{width:100%}
6
+ ._1e0c11p5{display:grid}
6
7
  ._1e0c1txw{display:flex}
7
8
  ._2hwxc10g{margin-right:calc(var(--container-gap-right)*-1)}
8
9
  ._2lx21bp4{flex-direction:column}
9
- ._4cvr1y6m{align-items:flex-start}
10
- ._vchhusvi{box-sizing:border-box}
10
+ ._vchhusvi{box-sizing:border-box}
11
+ ._yv0e1ris{grid-template-columns:max-content}
@@ -114,7 +114,7 @@ const ActionBlock = ({
114
114
  }, showRovoSectionHeader && /*#__PURE__*/React.createElement(AskRovoSectionHeader, {
115
115
  testId: testId ? `${testId}-rovo-section-header` : undefined
116
116
  }), /*#__PURE__*/React.createElement("div", {
117
- className: ax(["_zulp12x7 _1e0c1txw _2lx21bp4 _4cvr1y6m"])
117
+ className: ax(["_zulpu2gc _1e0c11p5 _yv0e1ris"])
118
118
  }, actions), /*#__PURE__*/React.createElement(ActionFooter, {
119
119
  message: message,
120
120
  testId: testId