@atlaskit/smart-card 36.2.6 → 36.2.7

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 (59) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/messages.js +30 -0
  3. package/dist/cjs/utils/analytics/analytics.js +1 -1
  4. package/dist/cjs/view/FlexibleCard/components/actions/view-related-links-action/index.js +2 -1
  5. package/dist/cjs/view/FlexibleCard/components/actions/view-related-links-action/related-links-action-icon/index.js +7 -1
  6. package/dist/cjs/view/LinkUrl/index.js +1 -1
  7. package/dist/cjs/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +4 -2
  8. package/dist/cjs/view/RelatedLinksModal/components/related-link-item/index.compiled.css +13 -1
  9. package/dist/cjs/view/RelatedLinksModal/components/related-link-item/index.js +14 -4
  10. package/dist/cjs/view/RelatedLinksModal/components/related-links-list/index.compiled.css +2 -1
  11. package/dist/cjs/view/RelatedLinksModal/components/related-links-list/index.js +20 -6
  12. package/dist/cjs/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.js +18 -0
  13. package/dist/cjs/view/RelatedLinksModal/views/resolved/index.js +17 -4
  14. package/dist/cjs/view/RelatedLinksModal/views/unavailable/index.js +12 -1
  15. package/dist/cjs/view/common/render-svg.compiled.css +3 -0
  16. package/dist/cjs/view/common/render-svg.js +32 -0
  17. package/dist/es2019/messages.js +30 -0
  18. package/dist/es2019/utils/analytics/analytics.js +1 -1
  19. package/dist/es2019/view/FlexibleCard/components/actions/view-related-links-action/index.js +2 -1
  20. package/dist/es2019/view/FlexibleCard/components/actions/view-related-links-action/related-links-action-icon/index.js +7 -1
  21. package/dist/es2019/view/LinkUrl/index.js +1 -1
  22. package/dist/es2019/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +4 -2
  23. package/dist/es2019/view/RelatedLinksModal/components/related-link-item/index.compiled.css +13 -1
  24. package/dist/es2019/view/RelatedLinksModal/components/related-link-item/index.js +11 -4
  25. package/dist/es2019/view/RelatedLinksModal/components/related-links-list/index.compiled.css +2 -1
  26. package/dist/es2019/view/RelatedLinksModal/components/related-links-list/index.js +17 -6
  27. package/dist/es2019/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.js +11 -0
  28. package/dist/es2019/view/RelatedLinksModal/views/resolved/index.js +13 -4
  29. package/dist/es2019/view/RelatedLinksModal/views/unavailable/index.js +10 -1
  30. package/dist/es2019/view/common/render-svg.compiled.css +3 -0
  31. package/dist/es2019/view/common/render-svg.js +23 -0
  32. package/dist/esm/messages.js +30 -0
  33. package/dist/esm/utils/analytics/analytics.js +1 -1
  34. package/dist/esm/view/FlexibleCard/components/actions/view-related-links-action/index.js +2 -1
  35. package/dist/esm/view/FlexibleCard/components/actions/view-related-links-action/related-links-action-icon/index.js +7 -1
  36. package/dist/esm/view/LinkUrl/index.js +1 -1
  37. package/dist/esm/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +4 -2
  38. package/dist/esm/view/RelatedLinksModal/components/related-link-item/index.compiled.css +13 -1
  39. package/dist/esm/view/RelatedLinksModal/components/related-link-item/index.js +14 -4
  40. package/dist/esm/view/RelatedLinksModal/components/related-links-list/index.compiled.css +2 -1
  41. package/dist/esm/view/RelatedLinksModal/components/related-links-list/index.js +20 -6
  42. package/dist/esm/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.js +11 -0
  43. package/dist/esm/view/RelatedLinksModal/views/resolved/index.js +17 -4
  44. package/dist/esm/view/RelatedLinksModal/views/unavailable/index.js +12 -1
  45. package/dist/esm/view/common/render-svg.compiled.css +3 -0
  46. package/dist/esm/view/common/render-svg.js +22 -0
  47. package/dist/types/messages.d.ts +1 -1
  48. package/dist/types/view/RelatedLinksModal/components/related-link-item/index.d.ts +1 -1
  49. package/dist/types/view/RelatedLinksModal/components/related-links-list/index.d.ts +1 -1
  50. package/dist/types/view/RelatedLinksModal/components/types.d.ts +4 -0
  51. package/dist/types/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.d.ts +3 -0
  52. package/dist/types/view/common/render-svg.d.ts +16 -0
  53. package/dist/types-ts4.5/messages.d.ts +1 -1
  54. package/dist/types-ts4.5/view/RelatedLinksModal/components/related-link-item/index.d.ts +1 -1
  55. package/dist/types-ts4.5/view/RelatedLinksModal/components/related-links-list/index.d.ts +1 -1
  56. package/dist/types-ts4.5/view/RelatedLinksModal/components/types.d.ts +4 -0
  57. package/dist/types-ts4.5/view/RelatedLinksModal/views/errored/error-svg/search-no-result/index.d.ts +3 -0
  58. package/dist/types-ts4.5/view/common/render-svg.d.ts +16 -0
  59. package/package.json +6 -2
@@ -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
+ const hoverStyleOld = null;
7
9
  const hoverStyle = null;
10
+ const baseStyle = null;
11
+ const selectedStyle = null;
8
12
  const relatedLinkItemStyles = null;
9
13
  const RelatedLinkItem = ({
10
14
  url,
11
- testId
15
+ testId,
16
+ isSelected,
17
+ onFocus
12
18
  }) => {
13
19
  const subtitle = [{
14
20
  name: ElementName.Provider,
@@ -20,11 +26,12 @@ const RelatedLinkItem = ({
20
26
  hideBackground: true,
21
27
  theme: SmartLinkTheme.Black,
22
28
  clickableContainer: true,
23
- size: SmartLinkSize.Large
29
+ size: fg('platform-linking-visual-refresh-v2') ? SmartLinkSize.Medium : SmartLinkSize.Large
24
30
  };
25
31
  return /*#__PURE__*/React.createElement("div", {
26
32
  "data-testId": testId,
27
- className: ax(["_8vu4iti9 _1mxox0bf _10swu2gc _irr31d5g"])
33
+ onFocus: onFocus,
34
+ 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') && "_1kl7neh2 _bfhkfg4m _irr3i1yw _1q5t1r31 _1ohyglyw _1r9x1o36 _1di619ru"])
28
35
  }, /*#__PURE__*/React.createElement(Card, {
29
36
  appearance: "block",
30
37
  ui: ui,
@@ -32,7 +39,7 @@ const RelatedLinkItem = ({
32
39
  }, /*#__PURE__*/React.createElement(TitleBlock, {
33
40
  maxLines: 1,
34
41
  hideTitleTooltip: true,
35
- position: SmartLinkPosition.Center,
42
+ position: fg('platform-linking-visual-refresh-v2') ? SmartLinkPosition.Top : SmartLinkPosition.Center,
36
43
  subtitle: subtitle,
37
44
  anchorTarget: "_blank",
38
45
  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,38 @@ 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
  const styles = {
10
- sectionTitle: "_11c81vhk _1q511b66",
11
+ sectionTitleOld: "_11c81vhk _1q511b66",
12
+ sectionTitle: "_11c81vhk _syaz1gjq _1q511b66",
11
13
  boxStyle: "_11c81o8v _1rjcu2gc"
12
14
  };
13
15
  const RelatedLinksList = ({
14
16
  urls,
15
17
  title,
16
- testId
18
+ testId,
19
+ selected,
20
+ handleSelectedUpdate
17
21
  }) => {
22
+ const TitleWrapper = ({
23
+ children
24
+ }) => fg('platform-linking-visual-refresh-v2') ? /*#__PURE__*/React.createElement(Box, {
25
+ xcss: styles.sectionTitle
26
+ }, children) : /*#__PURE__*/React.createElement(Box, {
27
+ xcss: styles.sectionTitleOld
28
+ }, children);
18
29
  return /*#__PURE__*/React.createElement(Stack, {
19
30
  testId: testId
20
- }, /*#__PURE__*/React.createElement(Box, {
21
- xcss: styles.sectionTitle
22
- }, /*#__PURE__*/React.createElement(FormattedMessage, title)), urls.length > 0 && /*#__PURE__*/React.createElement(Box, null, urls.map((url, idx) => /*#__PURE__*/React.createElement(Stack, {
31
+ }, /*#__PURE__*/React.createElement(TitleWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, title)), urls.length > 0 && /*#__PURE__*/React.createElement(Box, null, urls.map((url, idx) => /*#__PURE__*/React.createElement(Stack, {
23
32
  key: `${idx}-${url}`
24
33
  }, /*#__PURE__*/React.createElement(RelatedLinkItem, {
25
34
  url: url,
26
- testId: `${testId}-item-${idx}`
35
+ testId: `${testId}-item-${idx}`,
36
+ isSelected: selected === `${idx}-${url}`,
37
+ onFocus: () => handleSelectedUpdate && handleSelectedUpdate(`${idx}-${url}`)
27
38
  })))), urls.length === 0 && /*#__PURE__*/React.createElement(Box, {
28
39
  xcss: styles.boxStyle
29
40
  }, /*#__PURE__*/React.createElement(FormattedMessage, messages.related_links_not_found)));
@@ -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 const SpotSearchNoResult = props => {
7
+ return /*#__PURE__*/React.createElement(RenderSVG, _extends({
8
+ src: Light,
9
+ srcDark: Dark
10
+ }, props));
11
+ };
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AnalyticsContext } from '@atlaskit/analytics-next';
3
+ import { fg } from "@atlaskit/platform-feature-flags";
3
4
  import { Stack } from '@atlaskit/primitives/compiled';
4
5
  import { messages } from '../../../../messages';
5
6
  import RelatedLinksList from '../../components/related-links-list';
@@ -7,6 +8,10 @@ const RelatedLinksResolvedView = ({
7
8
  incomingLinks = [],
8
9
  outgoingLinks = []
9
10
  }) => {
11
+ const [selected, setSelected] = React.useState("");
12
+ const handleSelectedUpdate = selectedKey => {
13
+ setSelected(selectedKey);
14
+ };
10
15
  return /*#__PURE__*/React.createElement(Stack, {
11
16
  space: "space.150"
12
17
  }, /*#__PURE__*/React.createElement(AnalyticsContext, {
@@ -15,16 +20,20 @@ const RelatedLinksResolvedView = ({
15
20
  }
16
21
  }, /*#__PURE__*/React.createElement(RelatedLinksList, {
17
22
  urls: incomingLinks,
18
- title: messages.related_links_found_in,
19
- testId: "incoming-related-links-list"
23
+ title: fg('platform-linking-visual-refresh-v2') ? messages.related_links_found_in_v2 : messages.related_links_found_in,
24
+ testId: "incoming-related-links-list",
25
+ selected: selected,
26
+ handleSelectedUpdate: handleSelectedUpdate
20
27
  })), /*#__PURE__*/React.createElement(AnalyticsContext, {
21
28
  data: {
22
29
  component: 'relatedLinksOutgoing'
23
30
  }
24
31
  }, /*#__PURE__*/React.createElement(RelatedLinksList, {
25
32
  urls: outgoingLinks,
26
- title: messages.related_links_includes_links_to,
27
- testId: "outgoing-related-links-list"
33
+ title: fg('platform-linking-visual-refresh-v2') ? messages.related_links_includes_links_to_v2 : messages.related_links_includes_links_to,
34
+ testId: "outgoing-related-links-list",
35
+ selected: selected,
36
+ handleSelectedUpdate: handleSelectedUpdate
28
37
  })));
29
38
  };
30
39
  export default RelatedLinksResolvedView;
@@ -1,11 +1,20 @@
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
  const RelatedLinksUnavailableView = () => {
7
9
  const intl = useIntl();
8
- return /*#__PURE__*/React.createElement(EmptyState, {
10
+ return fg('platform-linking-visual-refresh-v2') ? /*#__PURE__*/React.createElement(EmptyState, {
11
+ renderImage: () => /*#__PURE__*/React.createElement(SpotSearchNoResult, {
12
+ size: 'large',
13
+ alt: intl.formatMessage(messages.related_links_modal_unavailable_title)
14
+ }),
15
+ header: intl.formatMessage(messages.related_links_modal_unavailable_title),
16
+ description: /*#__PURE__*/React.createElement(FormattedMessage, messages.related_links_modal_unavailable_description)
17
+ }) : /*#__PURE__*/React.createElement(EmptyState, {
9
18
  renderImage: () => /*#__PURE__*/React.createElement(UnavailableSVG, null),
10
19
  header: intl.formatMessage(messages.related_links_modal_unavailable_header),
11
20
  description: /*#__PURE__*/React.createElement(FormattedMessage, messages.related_links_modal_unavailable_message)
@@ -0,0 +1,3 @@
1
+ ._1bsb1lit{width:10pc}
2
+ ._1bsb1wqb{width:60px}
3
+ ._1bsb53f4{width:75pt}
@@ -0,0 +1,23 @@
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
+ const imageSizeStyles = {
7
+ xlarge: "_1bsb1lit",
8
+ large: "_1bsb53f4",
9
+ medium: "_1bsb1wqb"
10
+ };
11
+ export const RenderSVG = ({
12
+ alt,
13
+ size,
14
+ src,
15
+ srcDark
16
+ }) => {
17
+ return /*#__PURE__*/React.createElement(Image, {
18
+ src: src,
19
+ srcDark: srcDark,
20
+ alt: alt,
21
+ className: ax([size && imageSizeStyles[size]])
22
+ });
23
+ };
@@ -700,16 +700,31 @@ export var messages = defineMessages({
700
700
  defaultMessage: 'Recent links',
701
701
  description: 'Shown as the title for the related links modal'
702
702
  },
703
+ related_links_modal_title_v2: {
704
+ id: 'fabric.linking.related_links_modal_title_v2',
705
+ defaultMessage: 'Related links',
706
+ description: 'Shown as the title for the related links modal'
707
+ },
703
708
  related_links_view_related_urls: {
704
709
  id: 'fabric.linking.related_links_view_related_urls',
705
710
  defaultMessage: 'View recent links',
706
711
  description: 'Action to view related links to the given resource'
707
712
  },
713
+ related_links_view_related_links: {
714
+ id: 'fabric.linking.related_links_view_related_links',
715
+ defaultMessage: 'View related links',
716
+ description: 'Action to view related links to the given resource'
717
+ },
708
718
  related_links_found_in: {
709
719
  id: 'fabric.linking.related_links_found_in',
710
720
  defaultMessage: 'Found In',
711
721
  description: 'Informs the user of the resources are found in the given url'
712
722
  },
723
+ related_links_found_in_v2: {
724
+ id: 'fabric.linking.related_links_found_in_v2',
725
+ defaultMessage: 'Found in',
726
+ description: 'Informs the user of the resources are found in the given url'
727
+ },
713
728
  related_links_not_found: {
714
729
  id: 'fabric.linking.related_links_not_found',
715
730
  defaultMessage: "We didn't find any links to show here.",
@@ -720,16 +735,31 @@ export var messages = defineMessages({
720
735
  defaultMessage: 'Includes Links To',
721
736
  description: 'Informs the user of the resources the url links to'
722
737
  },
738
+ related_links_includes_links_to_v2: {
739
+ id: 'fabric.linking.related_links_includes_links_to_v2',
740
+ defaultMessage: 'Includes links to',
741
+ description: 'Informs the user of the resources the url links to'
742
+ },
723
743
  related_links_modal_error_header: {
724
744
  id: 'fabric.linking.related_links_modal_error_header',
725
745
  defaultMessage: 'Something went wrong',
726
746
  description: 'Title for related links error'
727
747
  },
748
+ related_links_modal_unavailable_title: {
749
+ id: 'fabric.linking.related_links_modal_unavailable_title',
750
+ defaultMessage: "We couldn't find any related links",
751
+ description: 'Title for related links error'
752
+ },
728
753
  related_links_modal_error_message: {
729
754
  id: 'fabric.linking.related_links_modal_error_message',
730
755
  defaultMessage: 'We ran into an issue trying to load recent links. Check your connection or refresh to try again.',
731
756
  description: 'Informs the user that there was a problem loading related links'
732
757
  },
758
+ related_links_modal_unavailable_description: {
759
+ id: 'fabric.linking.related_links_modal_unavailable_description',
760
+ defaultMessage: 'We continuously review and add related links for updated pages or other content types',
761
+ description: 'Informs the user that there was a problem loading related links'
762
+ },
733
763
  related_links_modal_unavailable_header: {
734
764
  id: 'fabric.linking.related_links_modal_unavailable_header',
735
765
  defaultMessage: 'No recent links',
@@ -4,7 +4,7 @@ export var ANALYTICS_CHANNEL = 'media';
4
4
  export var context = {
5
5
  componentName: 'smart-cards',
6
6
  packageName: "@atlaskit/smart-card",
7
- packageVersion: "36.2.6"
7
+ packageVersion: "36.2.7"
8
8
  };
9
9
  export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -3,6 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  var _excluded = ["onClick"];
4
4
  import React, { lazy, useCallback } from 'react';
5
5
  import { FormattedMessage } from 'react-intl-next';
6
+ import { fg } from "@atlaskit/platform-feature-flags";
6
7
  import { useAnalyticsEvents } from '../../../../../common/analytics/generated/use-analytics-events';
7
8
  import { messages } from '../../../../../messages';
8
9
  import { useFlexibleUiContext } from '../../../../../state/flexible-ui-context';
@@ -36,7 +37,7 @@ var ViewRelatedLinksAction = function ViewRelatedLinksAction(_ref) {
36
37
  onClickCallback === null || onClickCallback === void 0 || onClickCallback();
37
38
  }, [actionData === null || actionData === void 0 ? void 0 : actionData.ari, fireEvent, modal, onClickCallback]);
38
39
  return actionData ? /*#__PURE__*/React.createElement(Action, _extends({
39
- content: /*#__PURE__*/React.createElement(FormattedMessage, messages.related_links_view_related_urls),
40
+ content: /*#__PURE__*/React.createElement(FormattedMessage, fg('platform-linking-visual-refresh-v2') ? messages.related_links_view_related_links : messages.related_links_view_related_urls),
40
41
  icon: /*#__PURE__*/React.createElement(RelatedLinksActionIcon, null),
41
42
  onClick: onClick,
42
43
  testId: "smart-action-view-related-links-action",
@@ -2,14 +2,20 @@
2
2
  import "./index.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
+ import ClockIcon from '@atlaskit/icon/core/clock';
5
6
  import ChildIssuesIcon from '@atlaskit/icon/core/migration/child-issues';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
6
8
  var rotateSvg = null;
7
9
 
8
10
  /**
9
11
  * ChildIssuesIcon but 180 degrees rotated
10
12
  */
11
13
  var RelatedLinksActionIcon = function RelatedLinksActionIcon() {
12
- return /*#__PURE__*/React.createElement("span", {
14
+ return fg('platform-linking-visual-refresh-v2') ? /*#__PURE__*/React.createElement(ClockIcon, {
15
+ color: "currentColor",
16
+ spacing: "spacious",
17
+ label: "View related links..."
18
+ }) : /*#__PURE__*/React.createElement("span", {
13
19
  className: ax(["_t9ec1sub _1e0c1o8l"])
14
20
  }, /*#__PURE__*/React.createElement(ChildIssuesIcon, {
15
21
  color: "currentColor",
@@ -13,7 +13,7 @@ import LinkWarningModal from './LinkWarningModal';
13
13
  import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
14
14
  var PACKAGE_DATA = {
15
15
  packageName: "@atlaskit/smart-card",
16
- packageVersion: "36.2.6",
16
+ packageVersion: "36.2.7",
17
17
  componentName: 'linkUrl'
18
18
  };
19
19
  var Anchor = withLinkClickedEvent('a');
@@ -6,6 +6,7 @@ import { useCallback, useRef } from 'react';
6
6
  import { FormattedMessage } from 'react-intl-next';
7
7
  import Button from '@atlaskit/button/new';
8
8
  import Modal, { ModalBody, ModalFooter, ModalHeader, ModalTitle, ModalTransition } from '@atlaskit/modal-dialog';
9
+ import { fg } from "@atlaskit/platform-feature-flags";
9
10
  import { Box } from '@atlaskit/primitives/compiled';
10
11
  import { useAnalyticsEvents } from '../../../common/analytics/generated/use-analytics-events';
11
12
  import { messages } from '../../../messages';
@@ -38,8 +39,9 @@ var RelatedLinksBaseModal = function RelatedLinksBaseModal(_ref) {
38
39
  width: fixedWidth,
39
40
  autoFocus: false,
40
41
  shouldReturnFocus: false,
41
- onOpenComplete: openCompleteHandler
42
- }, /*#__PURE__*/React.createElement(ModalHeader, null, /*#__PURE__*/React.createElement(ModalTitle, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.related_links_modal_title))), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(Box, {
42
+ onOpenComplete: openCompleteHandler,
43
+ height: fg('platform-linking-visual-refresh-v2') ? '504px' : undefined
44
+ }, /*#__PURE__*/React.createElement(ModalHeader, null, /*#__PURE__*/React.createElement(ModalTitle, null, /*#__PURE__*/React.createElement(FormattedMessage, fg('platform-linking-visual-refresh-v2') ? messages.related_links_modal_title_v2 : messages.related_links_modal_title))), /*#__PURE__*/React.createElement(ModalBody, null, fg('platform-linking-visual-refresh-v2') ? children : /*#__PURE__*/React.createElement(Box, {
43
45
  xcss: styles.box
44
46
  }, children)), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
45
47
  appearance: "primary",
@@ -1,8 +1,20 @@
1
1
 
2
2
  ._11c81o8v{font:var(--ds-font-body-small,normal 400 11px/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
3
3
  ._zulputpp{gap:var(--ds-space-150,9pt)}
4
+ ._18zrpxbi{padding-inline:var(--ds-space-200,1pc)}
5
+ ._195gmgjw{margin-inline:var(--ds-space-negative-200,-1pc)}
6
+ ._1kl71vrj{border-left:2px solid transparent}
7
+ ._1kl7nmxp{border-left:var(--_nu2mv8)}
8
+ ._bfhkfg4m{background-color:var(--ds-background-selected,#e9f2ff)}
4
9
  ._ca0qu2gc{padding-top:var(--ds-space-100,8px)}
5
10
  ._n3tdu2gc{padding-bottom:var(--ds-space-100,8px)}
6
11
  ._8vu4iti9:hover{border-radius:var(--ds-border-radius-100,4px)}._10swu2gc:hover{padding-inline:var(--ds-space-100,8px)}
7
12
  ._1mxox0bf:hover{margin-inline:var(--ds-space-negative-100,-8px)}
8
- ._irr31d5g:hover{background-color:var(--ds-background-input-hovered,#f7f8f9)}
13
+ ._irr3166n:hover{background-color:var(--ds-background-neutral-subtle-hovered,#091e420f)}
14
+ ._irr31d5g:hover{background-color:var(--ds-background-input-hovered,#f7f8f9)}
15
+ ._irr3i1yw:hover{background-color:var(--ds-background-selected-hovered,#cce0ff)}
16
+ ._1di619ru:active{background-color:var(--ds-background-selected-pressed,#85b8ff)}
17
+ ._1di61dty:active{background-color:var(--ds-background-neutral-subtle-pressed,#091e4224)}
18
+ ._1ohyglyw:active{outline-style:none}
19
+ ._1q5t1r31:active{outline-color:currentColor}
20
+ ._1r9x1o36:active{outline-width:medium}
@@ -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,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
+ };
@@ -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_message' | '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;