@atlaskit/smart-card 36.2.6 → 36.3.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 (70) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/common/ui/icons/generic-error-icon.compiled.css +3 -0
  3. package/dist/cjs/common/ui/icons/generic-error-icon.js +54 -0
  4. package/dist/cjs/messages.js +40 -0
  5. package/dist/cjs/utils/analytics/analytics.js +1 -1
  6. package/dist/cjs/view/FlexibleCard/components/actions/view-related-links-action/index.js +2 -1
  7. package/dist/cjs/view/FlexibleCard/components/actions/view-related-links-action/related-links-action-icon/index.js +7 -1
  8. package/dist/cjs/view/LinkUrl/index.js +1 -1
  9. package/dist/cjs/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +4 -2
  10. package/dist/cjs/view/RelatedLinksModal/components/related-link-item/index.compiled.css +13 -1
  11. package/dist/cjs/view/RelatedLinksModal/components/related-link-item/index.js +14 -4
  12. package/dist/cjs/view/RelatedLinksModal/components/related-links-list/index.compiled.css +2 -1
  13. package/dist/cjs/view/RelatedLinksModal/components/related-links-list/index.js +20 -6
  14. package/dist/cjs/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.js +18 -0
  15. package/dist/cjs/view/RelatedLinksModal/views/errored/index.js +9 -1
  16. package/dist/cjs/view/RelatedLinksModal/views/resolved/index.js +17 -4
  17. package/dist/cjs/view/RelatedLinksModal/views/unavailable/index.js +12 -1
  18. package/dist/cjs/view/common/render-svg.compiled.css +3 -0
  19. package/dist/cjs/view/common/render-svg.js +32 -0
  20. package/dist/es2019/common/ui/icons/generic-error-icon.compiled.css +3 -0
  21. package/dist/es2019/common/ui/icons/generic-error-icon.js +41 -0
  22. package/dist/es2019/messages.js +40 -0
  23. package/dist/es2019/utils/analytics/analytics.js +1 -1
  24. package/dist/es2019/view/FlexibleCard/components/actions/view-related-links-action/index.js +2 -1
  25. package/dist/es2019/view/FlexibleCard/components/actions/view-related-links-action/related-links-action-icon/index.js +7 -1
  26. package/dist/es2019/view/LinkUrl/index.js +1 -1
  27. package/dist/es2019/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +4 -2
  28. package/dist/es2019/view/RelatedLinksModal/components/related-link-item/index.compiled.css +13 -1
  29. package/dist/es2019/view/RelatedLinksModal/components/related-link-item/index.js +11 -4
  30. package/dist/es2019/view/RelatedLinksModal/components/related-links-list/index.compiled.css +2 -1
  31. package/dist/es2019/view/RelatedLinksModal/components/related-links-list/index.js +17 -6
  32. package/dist/es2019/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.js +11 -0
  33. package/dist/es2019/view/RelatedLinksModal/views/errored/index.js +7 -1
  34. package/dist/es2019/view/RelatedLinksModal/views/resolved/index.js +13 -4
  35. package/dist/es2019/view/RelatedLinksModal/views/unavailable/index.js +10 -1
  36. package/dist/es2019/view/common/render-svg.compiled.css +3 -0
  37. package/dist/es2019/view/common/render-svg.js +23 -0
  38. package/dist/esm/common/ui/icons/generic-error-icon.compiled.css +3 -0
  39. package/dist/esm/common/ui/icons/generic-error-icon.js +44 -0
  40. package/dist/esm/messages.js +40 -0
  41. package/dist/esm/utils/analytics/analytics.js +1 -1
  42. package/dist/esm/view/FlexibleCard/components/actions/view-related-links-action/index.js +2 -1
  43. package/dist/esm/view/FlexibleCard/components/actions/view-related-links-action/related-links-action-icon/index.js +7 -1
  44. package/dist/esm/view/LinkUrl/index.js +1 -1
  45. package/dist/esm/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +4 -2
  46. package/dist/esm/view/RelatedLinksModal/components/related-link-item/index.compiled.css +13 -1
  47. package/dist/esm/view/RelatedLinksModal/components/related-link-item/index.js +14 -4
  48. package/dist/esm/view/RelatedLinksModal/components/related-links-list/index.compiled.css +2 -1
  49. package/dist/esm/view/RelatedLinksModal/components/related-links-list/index.js +20 -6
  50. package/dist/esm/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.js +11 -0
  51. package/dist/esm/view/RelatedLinksModal/views/errored/index.js +9 -1
  52. package/dist/esm/view/RelatedLinksModal/views/resolved/index.js +17 -4
  53. package/dist/esm/view/RelatedLinksModal/views/unavailable/index.js +12 -1
  54. package/dist/esm/view/common/render-svg.compiled.css +3 -0
  55. package/dist/esm/view/common/render-svg.js +22 -0
  56. package/dist/types/common/ui/icons/generic-error-icon.d.ts +2 -0
  57. package/dist/types/messages.d.ts +1 -1
  58. package/dist/types/view/RelatedLinksModal/components/related-link-item/index.d.ts +1 -1
  59. package/dist/types/view/RelatedLinksModal/components/related-links-list/index.d.ts +1 -1
  60. package/dist/types/view/RelatedLinksModal/components/types.d.ts +4 -0
  61. package/dist/types/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.d.ts +3 -0
  62. package/dist/types/view/common/render-svg.d.ts +16 -0
  63. package/dist/types-ts4.5/common/ui/icons/generic-error-icon.d.ts +2 -0
  64. package/dist/types-ts4.5/messages.d.ts +1 -1
  65. package/dist/types-ts4.5/view/RelatedLinksModal/components/related-link-item/index.d.ts +1 -1
  66. package/dist/types-ts4.5/view/RelatedLinksModal/components/related-links-list/index.d.ts +1 -1
  67. package/dist/types-ts4.5/view/RelatedLinksModal/components/types.d.ts +4 -0
  68. package/dist/types-ts4.5/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.d.ts +3 -0
  69. package/dist/types-ts4.5/view/common/render-svg.d.ts +16 -0
  70. package/package.json +9 -5
@@ -2,13 +2,19 @@
2
2
  import "./index.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { SmartLinkStatus } from '../../../../constants';
6
7
  import { Card, ElementName, SmartLinkPosition, SmartLinkSize, SmartLinkTheme, TitleBlock } from '../../../../index';
8
+ var hoverStyleOld = null;
7
9
  var hoverStyle = null;
10
+ var baseStyle = null;
11
+ var selectedStyle = null;
8
12
  var relatedLinkItemStyles = null;
9
13
  var RelatedLinkItem = function RelatedLinkItem(_ref) {
10
14
  var url = _ref.url,
11
- testId = _ref.testId;
15
+ testId = _ref.testId,
16
+ isSelected = _ref.isSelected,
17
+ onFocus = _ref.onFocus;
12
18
  var subtitle = [{
13
19
  name: ElementName.Provider,
14
20
  hideIcon: true
@@ -19,11 +25,15 @@ var RelatedLinkItem = function RelatedLinkItem(_ref) {
19
25
  hideBackground: true,
20
26
  theme: SmartLinkTheme.Black,
21
27
  clickableContainer: true,
22
- size: SmartLinkSize.Large
28
+ size: fg('platform-linking-visual-refresh-v2') ? SmartLinkSize.Medium : SmartLinkSize.Large
23
29
  };
24
30
  return /*#__PURE__*/React.createElement("div", {
25
31
  "data-testId": testId,
26
- className: ax(["_8vu4iti9 _1mxox0bf _10swu2gc _irr31d5g"])
32
+ onFocus: onFocus,
33
+ className: ax([fg('platform-linking-visual-refresh-v2') && "_195gmgjw _18zrpxbi _1kl71vrj", fg('platform-linking-visual-refresh-v2') ? "_irr3166n _1di61dty" : "_8vu4iti9 _1mxox0bf _10swu2gc _irr31d5g", isSelected && fg('platform-linking-visual-refresh-v2') && "_1kl7nmxp _bfhkfg4m _irr3i1yw _1q5t1r31 _1ohyglyw _1r9x1o36 _1di619ru"]),
34
+ style: {
35
+ "--_nu2mv8": ix("2px solid ".concat("var(--ds-border-selected, #0C66E4)"))
36
+ }
27
37
  }, /*#__PURE__*/React.createElement(Card, {
28
38
  appearance: "block",
29
39
  ui: ui,
@@ -31,7 +41,7 @@ var RelatedLinkItem = function RelatedLinkItem(_ref) {
31
41
  }, /*#__PURE__*/React.createElement(TitleBlock, {
32
42
  maxLines: 1,
33
43
  hideTitleTooltip: true,
34
- position: SmartLinkPosition.Center,
44
+ position: fg('platform-linking-visual-refresh-v2') ? SmartLinkPosition.Top : SmartLinkPosition.Center,
35
45
  subtitle: subtitle,
36
46
  anchorTarget: "_blank",
37
47
  size: ui.size,
@@ -1,4 +1,5 @@
1
1
  ._11c81o8v{font:var(--ds-font-body-small,normal 400 11px/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
2
  ._11c81vhk{font:var(--ds-font-heading-xxsmall,normal 600 9pt/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
3
3
  ._1rjcu2gc{padding-block:var(--ds-space-100,8px)}
4
- ._1q511b66{padding-block-start:var(--ds-space-050,4px)}
4
+ ._1q511b66{padding-block-start:var(--ds-space-050,4px)}
5
+ ._syaz1gjq{color:var(--ds-text-subtle,#44546f)}
@@ -3,27 +3,41 @@ import "./index.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { FormattedMessage } from 'react-intl-next';
6
+ import { fg } from '@atlaskit/platform-feature-flags';
6
7
  import { Box, Stack } from '@atlaskit/primitives/compiled';
7
8
  import { messages } from '../../../../messages';
8
9
  import RelatedLinkItem from '../related-link-item';
9
10
  var styles = {
10
- sectionTitle: "_11c81vhk _1q511b66",
11
+ sectionTitleOld: "_11c81vhk _1q511b66",
12
+ sectionTitle: "_11c81vhk _syaz1gjq _1q511b66",
11
13
  boxStyle: "_11c81o8v _1rjcu2gc"
12
14
  };
13
15
  var RelatedLinksList = function RelatedLinksList(_ref) {
14
16
  var urls = _ref.urls,
15
17
  title = _ref.title,
16
- testId = _ref.testId;
18
+ testId = _ref.testId,
19
+ selected = _ref.selected,
20
+ handleSelectedUpdate = _ref.handleSelectedUpdate;
21
+ var TitleWrapper = function TitleWrapper(_ref2) {
22
+ var children = _ref2.children;
23
+ return fg('platform-linking-visual-refresh-v2') ? /*#__PURE__*/React.createElement(Box, {
24
+ xcss: styles.sectionTitle
25
+ }, children) : /*#__PURE__*/React.createElement(Box, {
26
+ xcss: styles.sectionTitleOld
27
+ }, children);
28
+ };
17
29
  return /*#__PURE__*/React.createElement(Stack, {
18
30
  testId: testId
19
- }, /*#__PURE__*/React.createElement(Box, {
20
- xcss: styles.sectionTitle
21
- }, /*#__PURE__*/React.createElement(FormattedMessage, title)), urls.length > 0 && /*#__PURE__*/React.createElement(Box, null, urls.map(function (url, idx) {
31
+ }, /*#__PURE__*/React.createElement(TitleWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, title)), urls.length > 0 && /*#__PURE__*/React.createElement(Box, null, urls.map(function (url, idx) {
22
32
  return /*#__PURE__*/React.createElement(Stack, {
23
33
  key: "".concat(idx, "-").concat(url)
24
34
  }, /*#__PURE__*/React.createElement(RelatedLinkItem, {
25
35
  url: url,
26
- testId: "".concat(testId, "-item-").concat(idx)
36
+ testId: "".concat(testId, "-item-").concat(idx),
37
+ isSelected: selected === "".concat(idx, "-").concat(url),
38
+ onFocus: function onFocus() {
39
+ return handleSelectedUpdate && handleSelectedUpdate("".concat(idx, "-").concat(url));
40
+ }
27
41
  }));
28
42
  })), urls.length === 0 && /*#__PURE__*/React.createElement(Box, {
29
43
  xcss: styles.boxStyle
@@ -0,0 +1,11 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import { RenderSVG } from '../../../../../common/render-svg';
4
+ import Dark from './assets/dark.svg';
5
+ import Light from './assets/light.svg';
6
+ export var SpotSearchNoResult = function SpotSearchNoResult(props) {
7
+ return /*#__PURE__*/React.createElement(RenderSVG, _extends({
8
+ src: Light,
9
+ srcDark: Dark
10
+ }, props));
11
+ };
@@ -1,11 +1,19 @@
1
1
  import React from 'react';
2
2
  import { FormattedMessage, useIntl } from 'react-intl-next';
3
+ import { fg } from "@atlaskit/platform-feature-flags";
4
+ import { GenericErrorIcon } from "../../../../common/ui/icons/generic-error-icon";
3
5
  import { messages } from '../../../../messages';
4
6
  import { EmptyState } from '../../components/EmptyState';
5
7
  import { ErrorSVG } from './error-svg';
6
8
  var RelatedLinksErroredView = function RelatedLinksErroredView() {
7
9
  var intl = useIntl();
8
- return /*#__PURE__*/React.createElement(EmptyState, {
10
+ return fg('platform-linking-visual-refresh-v2') ? /*#__PURE__*/React.createElement(EmptyState, {
11
+ renderImage: function renderImage() {
12
+ return /*#__PURE__*/React.createElement(GenericErrorIcon, null);
13
+ },
14
+ header: intl.formatMessage(messages.related_links_modal_error_title),
15
+ description: /*#__PURE__*/React.createElement(FormattedMessage, messages.related_links_modal_error_description)
16
+ }) : /*#__PURE__*/React.createElement(EmptyState, {
9
17
  renderImage: function renderImage() {
10
18
  return /*#__PURE__*/React.createElement(ErrorSVG, null);
11
19
  },
@@ -1,5 +1,7 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
2
  import React from 'react';
2
3
  import { AnalyticsContext } from '@atlaskit/analytics-next';
4
+ import { fg } from '@atlaskit/platform-feature-flags';
3
5
  import { Stack } from '@atlaskit/primitives/compiled';
4
6
  import { messages } from '../../../../messages';
5
7
  import RelatedLinksList from '../../components/related-links-list';
@@ -8,6 +10,13 @@ var RelatedLinksResolvedView = function RelatedLinksResolvedView(_ref) {
8
10
  incomingLinks = _ref$incomingLinks === void 0 ? [] : _ref$incomingLinks,
9
11
  _ref$outgoingLinks = _ref.outgoingLinks,
10
12
  outgoingLinks = _ref$outgoingLinks === void 0 ? [] : _ref$outgoingLinks;
13
+ var _React$useState = React.useState(''),
14
+ _React$useState2 = _slicedToArray(_React$useState, 2),
15
+ selected = _React$useState2[0],
16
+ setSelected = _React$useState2[1];
17
+ var handleSelectedUpdate = function handleSelectedUpdate(selectedKey) {
18
+ setSelected(selectedKey);
19
+ };
11
20
  return /*#__PURE__*/React.createElement(Stack, {
12
21
  space: "space.150"
13
22
  }, /*#__PURE__*/React.createElement(AnalyticsContext, {
@@ -16,16 +25,20 @@ var RelatedLinksResolvedView = function RelatedLinksResolvedView(_ref) {
16
25
  }
17
26
  }, /*#__PURE__*/React.createElement(RelatedLinksList, {
18
27
  urls: incomingLinks,
19
- title: messages.related_links_found_in,
20
- testId: "incoming-related-links-list"
28
+ title: fg('platform-linking-visual-refresh-v2') ? messages.related_links_found_in_v2 : messages.related_links_found_in,
29
+ testId: "incoming-related-links-list",
30
+ selected: selected,
31
+ handleSelectedUpdate: handleSelectedUpdate
21
32
  })), /*#__PURE__*/React.createElement(AnalyticsContext, {
22
33
  data: {
23
34
  component: 'relatedLinksOutgoing'
24
35
  }
25
36
  }, /*#__PURE__*/React.createElement(RelatedLinksList, {
26
37
  urls: outgoingLinks,
27
- title: messages.related_links_includes_links_to,
28
- testId: "outgoing-related-links-list"
38
+ title: fg('platform-linking-visual-refresh-v2') ? messages.related_links_includes_links_to_v2 : messages.related_links_includes_links_to,
39
+ testId: "outgoing-related-links-list",
40
+ selected: selected,
41
+ handleSelectedUpdate: handleSelectedUpdate
29
42
  })));
30
43
  };
31
44
  export default RelatedLinksResolvedView;
@@ -1,11 +1,22 @@
1
1
  import React from 'react';
2
2
  import { FormattedMessage, useIntl } from 'react-intl-next';
3
+ import { fg } from '@atlaskit/platform-feature-flags';
3
4
  import { messages } from '../../../../messages';
4
5
  import { EmptyState } from '../../components/EmptyState';
6
+ import { SpotSearchNoResult } from '../errored/error-svg/search-no-result';
5
7
  import { UnavailableSVG } from './unavailable-svg';
6
8
  var RelatedLinksUnavailableView = function RelatedLinksUnavailableView() {
7
9
  var intl = useIntl();
8
- return /*#__PURE__*/React.createElement(EmptyState, {
10
+ return fg('platform-linking-visual-refresh-v2') ? /*#__PURE__*/React.createElement(EmptyState, {
11
+ renderImage: function renderImage() {
12
+ return /*#__PURE__*/React.createElement(SpotSearchNoResult, {
13
+ size: 'large',
14
+ alt: intl.formatMessage(messages.related_links_modal_unavailable_title)
15
+ });
16
+ },
17
+ header: intl.formatMessage(messages.related_links_modal_unavailable_title),
18
+ description: /*#__PURE__*/React.createElement(FormattedMessage, messages.related_links_modal_unavailable_description)
19
+ }) : /*#__PURE__*/React.createElement(EmptyState, {
9
20
  renderImage: function renderImage() {
10
21
  return /*#__PURE__*/React.createElement(UnavailableSVG, null);
11
22
  },
@@ -0,0 +1,3 @@
1
+ ._1bsb1lit{width:10pc}
2
+ ._1bsb1wqb{width:60px}
3
+ ._1bsb53f4{width:75pt}
@@ -0,0 +1,22 @@
1
+ /* render-svg.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import "./render-svg.compiled.css";
3
+ import * as React from 'react';
4
+ import { ax, ix } from "@compiled/react/runtime";
5
+ import Image from '@atlaskit/image';
6
+ var imageSizeStyles = {
7
+ xlarge: "_1bsb1lit",
8
+ large: "_1bsb53f4",
9
+ medium: "_1bsb1wqb"
10
+ };
11
+ export var RenderSVG = function RenderSVG(_ref) {
12
+ var alt = _ref.alt,
13
+ size = _ref.size,
14
+ src = _ref.src,
15
+ srcDark = _ref.srcDark;
16
+ return /*#__PURE__*/React.createElement(Image, {
17
+ src: src,
18
+ srcDark: srcDark,
19
+ alt: alt,
20
+ className: ax([size && imageSizeStyles[size]])
21
+ });
22
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const GenericErrorIcon: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { type MessageDescriptor } from 'react-intl-next';
2
2
  export type RequestAccessMessageKey = 'click_to_join' | 'click_to_join_description' | 'forbidden_description' | 'request_access' | 'request_access_description' | 'request_access_pending' | 'request_access_pending_title' | 'request_access_pending_description' | 'request_denied_description' | 'default_no_access_title' | 'direct_access_title' | 'direct_access_description' | 'direct_access' | 'access_exists_description' | 'not_found_description' | 'not_found_title';
3
- export type MessageKey = 'assigned_to' | 'ai_summarize' | 'ai_summarized' | 'ai_summarized_abbreviation' | 'ai_summarized_info' | 'ai_summarized_info_short' | 'ai_summarizing' | 'ai_summary_error_generic' | 'ai_summary_error_acceptable_use_violation' | 'ai_summary_error_hipaa_content_detected' | 'ai_summary_error_exceeding_context_length_error' | 'ai_summary_action' | 'ai_summary_action_description' | 'automation_action_title' | 'automation_action_tooltip' | 'automation_action_icon_label' | 'automation_action_confluence_page_modal_title' | 'automation_action_confluence_page_modal_description' | 'copy_summary_action' | 'copy_summary_action_description' | 'copied_summary_action_description' | 'beta' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'copied_url_to_clipboard' | 'could_not_load_link' | 'download' | 'download_description' | 'download_file' | 'follow' | 'follow_project_description' | 'follow_project' | 'follow_goal' | 'follow_goal_description' | 'follow_project_error' | 'follow_goal_error' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'learn_more_about_connecting_account' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'more_information_about_this_work_item' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_description' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'unassigned' | 'unfollow' | 'unfollow_project_description' | 'unfollow_project' | 'unfollow_project_error' | 'unfollow_goal' | 'unfollow_goal_description' | 'unfollow_goal_error' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey | 'related' | 'generic_error_message' | 'related_links_modal_error_header' | 'related_links_modal_error_message' | 'related_links_modal_unavailable_header' | 'related_links_modal_unavailable_message' | 'related_links_modal_title' | 'related_links_view_related_urls' | 'related_links_found_in' | 'related_links_includes_links_to' | 'related_links_not_found' | 'join_to_viewIssueTermRefresh' | 'open_issue_in_jiraIssueTermRefresh' | 'request_access_to_viewIssueTermRefresh' | 'status_change_permission_errorIssueTermRefresh';
3
+ export type MessageKey = 'assigned_to' | 'ai_summarize' | 'ai_summarized' | 'ai_summarized_abbreviation' | 'ai_summarized_info' | 'ai_summarized_info_short' | 'ai_summarizing' | 'ai_summary_error_generic' | 'ai_summary_error_acceptable_use_violation' | 'ai_summary_error_hipaa_content_detected' | 'ai_summary_error_exceeding_context_length_error' | 'ai_summary_action' | 'ai_summary_action_description' | 'automation_action_title' | 'automation_action_tooltip' | 'automation_action_icon_label' | 'automation_action_confluence_page_modal_title' | 'automation_action_confluence_page_modal_description' | 'copy_summary_action' | 'copy_summary_action_description' | 'copied_summary_action_description' | 'beta' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'copied_url_to_clipboard' | 'could_not_load_link' | 'download' | 'download_description' | 'download_file' | 'follow' | 'follow_project_description' | 'follow_project' | 'follow_goal' | 'follow_goal_description' | 'follow_project_error' | 'follow_goal_error' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'learn_more_about_connecting_account' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'more_information_about_this_work_item' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_description' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'unassigned' | 'unfollow' | 'unfollow_project_description' | 'unfollow_project' | 'unfollow_project_error' | 'unfollow_goal' | 'unfollow_goal_description' | 'unfollow_goal_error' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey | 'related' | 'generic_error_message' | 'related_links_modal_error_header' | 'related_links_modal_error_title' | 'related_links_modal_error_message' | 'related_links_modal_error_description' | 'related_links_modal_unavailable_header' | 'related_links_modal_unavailable_title' | 'related_links_modal_unavailable_message' | 'related_links_modal_unavailable_description' | 'related_links_modal_title' | 'related_links_modal_title_v2' | 'related_links_view_related_urls' | 'related_links_view_related_links' | 'related_links_found_in' | 'related_links_found_in_v2' | 'related_links_includes_links_to' | 'related_links_includes_links_to_v2' | 'related_links_not_found' | 'join_to_viewIssueTermRefresh' | 'open_issue_in_jiraIssueTermRefresh' | 'request_access_to_viewIssueTermRefresh' | 'status_change_permission_errorIssueTermRefresh';
4
4
  type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { type RelatedLinkItemProp } from '../types';
3
- declare const RelatedLinkItem: ({ url, testId }: RelatedLinkItemProp) => JSX.Element;
3
+ declare const RelatedLinkItem: ({ url, testId, isSelected, onFocus }: RelatedLinkItemProp) => JSX.Element;
4
4
  export default RelatedLinkItem;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { type RelatedLinksListProp } from '../types';
3
- declare const RelatedLinksList: ({ urls, title, testId }: RelatedLinksListProp) => JSX.Element;
3
+ declare const RelatedLinksList: ({ urls, title, testId, selected, handleSelectedUpdate, }: RelatedLinksListProp) => JSX.Element;
4
4
  export default RelatedLinksList;
@@ -6,6 +6,8 @@ export type RelatedLinkItemProp = {
6
6
  */
7
7
  url: string;
8
8
  testId?: string;
9
+ isSelected?: boolean;
10
+ onFocus?: () => void;
9
11
  };
10
12
  export type RelatedLinksListProp = {
11
13
  /**
@@ -18,6 +20,8 @@ export type RelatedLinksListProp = {
18
20
  */
19
21
  urls: string[];
20
22
  testId?: string;
23
+ selected?: string;
24
+ handleSelectedUpdate?: (selectedKey: string) => void;
21
25
  };
22
26
  export type RelatedLinksBaseModalProps = {
23
27
  /**
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { RenderSVGProps } from '../../../../../common/render-svg';
3
+ export declare const SpotSearchNoResult: (props: RenderSVGProps) => React.JSX.Element;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ /// <reference types="react" />
6
+ export type RenderSVGProps = {
7
+ size?: 'xlarge' | 'large' | 'medium';
8
+ alt: string;
9
+ };
10
+ type RenderSVGInternalProps = RenderSVGProps & {
11
+ src: string;
12
+ srcDark?: string;
13
+ className?: string;
14
+ };
15
+ export declare const RenderSVG: ({ alt, size, src, srcDark }: RenderSVGInternalProps) => JSX.Element;
16
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const GenericErrorIcon: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { type MessageDescriptor } from 'react-intl-next';
2
2
  export type RequestAccessMessageKey = 'click_to_join' | 'click_to_join_description' | 'forbidden_description' | 'request_access' | 'request_access_description' | 'request_access_pending' | 'request_access_pending_title' | 'request_access_pending_description' | 'request_denied_description' | 'default_no_access_title' | 'direct_access_title' | 'direct_access_description' | 'direct_access' | 'access_exists_description' | 'not_found_description' | 'not_found_title';
3
- export type MessageKey = 'assigned_to' | 'ai_summarize' | 'ai_summarized' | 'ai_summarized_abbreviation' | 'ai_summarized_info' | 'ai_summarized_info_short' | 'ai_summarizing' | 'ai_summary_error_generic' | 'ai_summary_error_acceptable_use_violation' | 'ai_summary_error_hipaa_content_detected' | 'ai_summary_error_exceeding_context_length_error' | 'ai_summary_action' | 'ai_summary_action_description' | 'automation_action_title' | 'automation_action_tooltip' | 'automation_action_icon_label' | 'automation_action_confluence_page_modal_title' | 'automation_action_confluence_page_modal_description' | 'copy_summary_action' | 'copy_summary_action_description' | 'copied_summary_action_description' | 'beta' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'copied_url_to_clipboard' | 'could_not_load_link' | 'download' | 'download_description' | 'download_file' | 'follow' | 'follow_project_description' | 'follow_project' | 'follow_goal' | 'follow_goal_description' | 'follow_project_error' | 'follow_goal_error' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'learn_more_about_connecting_account' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'more_information_about_this_work_item' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_description' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'unassigned' | 'unfollow' | 'unfollow_project_description' | 'unfollow_project' | 'unfollow_project_error' | 'unfollow_goal' | 'unfollow_goal_description' | 'unfollow_goal_error' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey | 'related' | 'generic_error_message' | 'related_links_modal_error_header' | 'related_links_modal_error_message' | 'related_links_modal_unavailable_header' | 'related_links_modal_unavailable_message' | 'related_links_modal_title' | 'related_links_view_related_urls' | 'related_links_found_in' | 'related_links_includes_links_to' | 'related_links_not_found' | 'join_to_viewIssueTermRefresh' | 'open_issue_in_jiraIssueTermRefresh' | 'request_access_to_viewIssueTermRefresh' | 'status_change_permission_errorIssueTermRefresh';
3
+ export type MessageKey = 'assigned_to' | 'ai_summarize' | 'ai_summarized' | 'ai_summarized_abbreviation' | 'ai_summarized_info' | 'ai_summarized_info_short' | 'ai_summarizing' | 'ai_summary_error_generic' | 'ai_summary_error_acceptable_use_violation' | 'ai_summary_error_hipaa_content_detected' | 'ai_summary_error_exceeding_context_length_error' | 'ai_summary_action' | 'ai_summary_action_description' | 'automation_action_title' | 'automation_action_tooltip' | 'automation_action_icon_label' | 'automation_action_confluence_page_modal_title' | 'automation_action_confluence_page_modal_description' | 'copy_summary_action' | 'copy_summary_action_description' | 'copied_summary_action_description' | 'beta' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'copied_url_to_clipboard' | 'could_not_load_link' | 'download' | 'download_description' | 'download_file' | 'follow' | 'follow_project_description' | 'follow_project' | 'follow_goal' | 'follow_goal_description' | 'follow_project_error' | 'follow_goal_error' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'learn_more_about_connecting_account' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'more_information_about_this_work_item' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_description' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'unassigned' | 'unfollow' | 'unfollow_project_description' | 'unfollow_project' | 'unfollow_project_error' | 'unfollow_goal' | 'unfollow_goal_description' | 'unfollow_goal_error' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey | 'related' | 'generic_error_message' | 'related_links_modal_error_header' | 'related_links_modal_error_title' | 'related_links_modal_error_message' | 'related_links_modal_error_description' | 'related_links_modal_unavailable_header' | 'related_links_modal_unavailable_title' | 'related_links_modal_unavailable_message' | 'related_links_modal_unavailable_description' | 'related_links_modal_title' | 'related_links_modal_title_v2' | 'related_links_view_related_urls' | 'related_links_view_related_links' | 'related_links_found_in' | 'related_links_found_in_v2' | 'related_links_includes_links_to' | 'related_links_includes_links_to_v2' | 'related_links_not_found' | 'join_to_viewIssueTermRefresh' | 'open_issue_in_jiraIssueTermRefresh' | 'request_access_to_viewIssueTermRefresh' | 'status_change_permission_errorIssueTermRefresh';
4
4
  type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { type RelatedLinkItemProp } from '../types';
3
- declare const RelatedLinkItem: ({ url, testId }: RelatedLinkItemProp) => JSX.Element;
3
+ declare const RelatedLinkItem: ({ url, testId, isSelected, onFocus }: RelatedLinkItemProp) => JSX.Element;
4
4
  export default RelatedLinkItem;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { type RelatedLinksListProp } from '../types';
3
- declare const RelatedLinksList: ({ urls, title, testId }: RelatedLinksListProp) => JSX.Element;
3
+ declare const RelatedLinksList: ({ urls, title, testId, selected, handleSelectedUpdate, }: RelatedLinksListProp) => JSX.Element;
4
4
  export default RelatedLinksList;
@@ -6,6 +6,8 @@ export type RelatedLinkItemProp = {
6
6
  */
7
7
  url: string;
8
8
  testId?: string;
9
+ isSelected?: boolean;
10
+ onFocus?: () => void;
9
11
  };
10
12
  export type RelatedLinksListProp = {
11
13
  /**
@@ -18,6 +20,8 @@ export type RelatedLinksListProp = {
18
20
  */
19
21
  urls: string[];
20
22
  testId?: string;
23
+ selected?: string;
24
+ handleSelectedUpdate?: (selectedKey: string) => void;
21
25
  };
22
26
  export type RelatedLinksBaseModalProps = {
23
27
  /**
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { RenderSVGProps } from '../../../../../common/render-svg';
3
+ export declare const SpotSearchNoResult: (props: RenderSVGProps) => React.JSX.Element;
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * @jsxRuntime classic
4
+ * @jsx jsx
5
+ */
6
+ export type RenderSVGProps = {
7
+ size?: 'xlarge' | 'large' | 'medium';
8
+ alt: string;
9
+ };
10
+ type RenderSVGInternalProps = RenderSVGProps & {
11
+ src: string;
12
+ srcDark?: string;
13
+ className?: string;
14
+ };
15
+ export declare const RenderSVG: ({ alt, size, src, srcDark }: RenderSVGInternalProps) => JSX.Element;
16
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "36.2.6",
3
+ "version": "36.3.0",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -44,7 +44,8 @@
44
44
  "@atlaskit/icon-lab": "^4.6.0",
45
45
  "@atlaskit/icon-object": "^7.0.0",
46
46
  "@atlaskit/icon-priority": "^6.3.0",
47
- "@atlaskit/json-ld-types": "^1.0.0",
47
+ "@atlaskit/image": "^3.0.0",
48
+ "@atlaskit/json-ld-types": "^1.1.0",
48
49
  "@atlaskit/legacy-custom-icons": "^0.22.0",
49
50
  "@atlaskit/link": "^3.1.0",
50
51
  "@atlaskit/link-analytics": "^9.1.0",
@@ -58,10 +59,10 @@
58
59
  "@atlaskit/modal-dialog": "^14.1.0",
59
60
  "@atlaskit/outbound-auth-flow-client": "^3.4.0",
60
61
  "@atlaskit/platform-feature-flags": "^1.1.0",
61
- "@atlaskit/popup": "^3.0.0",
62
+ "@atlaskit/popup": "^4.0.0",
62
63
  "@atlaskit/primitives": "^14.3.0",
63
64
  "@atlaskit/section-message": "^8.2.0",
64
- "@atlaskit/select": "^20.1.0",
65
+ "@atlaskit/select": "^20.2.0",
65
66
  "@atlaskit/spinner": "^18.0.0",
66
67
  "@atlaskit/textarea": "^8.0.0",
67
68
  "@atlaskit/textfield": "^8.0.0",
@@ -93,7 +94,7 @@
93
94
  "@af/integration-testing": "^0.5.0",
94
95
  "@af/visual-regression": "^1.3.0",
95
96
  "@atlaskit/analytics-listeners": "^9.0.0",
96
- "@atlaskit/css-reset": "^7.1.0",
97
+ "@atlaskit/css-reset": "^7.2.0",
97
98
  "@atlaskit/link-test-helpers": "^8.0.0",
98
99
  "@atlaskit/media-test-helpers": "^35.0.0",
99
100
  "@atlaskit/react-ufo": "^3.4.0",
@@ -210,6 +211,9 @@
210
211
  },
211
212
  "fix_a11y_violation_in_hover_card_trigger": {
212
213
  "type": "boolean"
214
+ },
215
+ "platform-linking-visual-refresh-v2": {
216
+ "type": "boolean"
213
217
  }
214
218
  }
215
219
  }