@atlaskit/smart-card 23.7.1 → 23.7.3

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 (141) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/i18n/cs.js +6 -1
  3. package/dist/cjs/i18n/da.js +7 -1
  4. package/dist/cjs/i18n/de.js +6 -1
  5. package/dist/cjs/i18n/en.js +8 -1
  6. package/dist/cjs/i18n/en_GB.js +8 -1
  7. package/dist/cjs/i18n/es.js +5 -1
  8. package/dist/cjs/i18n/fi.js +7 -1
  9. package/dist/cjs/i18n/fr.js +7 -1
  10. package/dist/cjs/i18n/hu.js +6 -1
  11. package/dist/cjs/i18n/it.js +7 -1
  12. package/dist/cjs/i18n/ja.js +11 -5
  13. package/dist/cjs/i18n/ko.js +7 -1
  14. package/dist/cjs/i18n/nb.js +6 -1
  15. package/dist/cjs/i18n/nl.js +7 -1
  16. package/dist/cjs/i18n/pl.js +6 -1
  17. package/dist/cjs/i18n/pt_BR.js +7 -1
  18. package/dist/cjs/i18n/ru.js +7 -1
  19. package/dist/cjs/i18n/sv.js +7 -1
  20. package/dist/cjs/i18n/th.js +7 -1
  21. package/dist/cjs/i18n/tr.js +6 -1
  22. package/dist/cjs/i18n/uk.js +6 -1
  23. package/dist/cjs/i18n/vi.js +7 -1
  24. package/dist/cjs/i18n/zh.js +6 -1
  25. package/dist/cjs/i18n/zh_TW.js +6 -1
  26. package/dist/cjs/messages.js +4 -4
  27. package/dist/cjs/version.json +1 -1
  28. package/dist/cjs/view/InlineCard/ErroredView/index.js +6 -11
  29. package/dist/cjs/view/InlineCard/ForbiddenView/index.js +17 -21
  30. package/dist/cjs/view/InlineCard/Frame/index.js +4 -4
  31. package/dist/cjs/view/InlineCard/Frame/styled.js +22 -34
  32. package/dist/cjs/view/InlineCard/IconAndTitleLayout/index.js +52 -7
  33. package/dist/cjs/view/InlineCard/ResolvingView/index.js +3 -5
  34. package/dist/cjs/view/InlineCard/UnauthorisedView/index.js +8 -11
  35. package/dist/cjs/view/InlineCard/styled.js +2 -2
  36. package/dist/cjs/view/common/UnauthorisedViewContent.js +1 -1
  37. package/dist/es2019/i18n/cs.js +6 -1
  38. package/dist/es2019/i18n/da.js +7 -1
  39. package/dist/es2019/i18n/de.js +6 -1
  40. package/dist/es2019/i18n/en.js +8 -1
  41. package/dist/es2019/i18n/en_GB.js +8 -1
  42. package/dist/es2019/i18n/es.js +5 -1
  43. package/dist/es2019/i18n/fi.js +7 -1
  44. package/dist/es2019/i18n/fr.js +7 -1
  45. package/dist/es2019/i18n/hu.js +6 -1
  46. package/dist/es2019/i18n/it.js +7 -1
  47. package/dist/es2019/i18n/ja.js +11 -5
  48. package/dist/es2019/i18n/ko.js +7 -1
  49. package/dist/es2019/i18n/nb.js +6 -1
  50. package/dist/es2019/i18n/nl.js +7 -1
  51. package/dist/es2019/i18n/pl.js +6 -1
  52. package/dist/es2019/i18n/pt_BR.js +7 -1
  53. package/dist/es2019/i18n/ru.js +7 -1
  54. package/dist/es2019/i18n/sv.js +7 -1
  55. package/dist/es2019/i18n/th.js +7 -1
  56. package/dist/es2019/i18n/tr.js +6 -1
  57. package/dist/es2019/i18n/uk.js +6 -1
  58. package/dist/es2019/i18n/vi.js +7 -1
  59. package/dist/es2019/i18n/zh.js +6 -1
  60. package/dist/es2019/i18n/zh_TW.js +6 -1
  61. package/dist/es2019/messages.js +4 -4
  62. package/dist/es2019/version.json +1 -1
  63. package/dist/es2019/view/InlineCard/ErroredView/index.js +7 -9
  64. package/dist/es2019/view/InlineCard/ForbiddenView/index.js +8 -9
  65. package/dist/es2019/view/InlineCard/Frame/index.js +4 -4
  66. package/dist/es2019/view/InlineCard/Frame/styled.js +18 -31
  67. package/dist/es2019/view/InlineCard/IconAndTitleLayout/index.js +47 -6
  68. package/dist/es2019/view/InlineCard/ResolvingView/index.js +3 -5
  69. package/dist/es2019/view/InlineCard/UnauthorisedView/index.js +9 -10
  70. package/dist/es2019/view/InlineCard/styled.js +1 -6
  71. package/dist/es2019/view/common/UnauthorisedViewContent.js +1 -1
  72. package/dist/esm/i18n/cs.js +6 -1
  73. package/dist/esm/i18n/da.js +7 -1
  74. package/dist/esm/i18n/de.js +6 -1
  75. package/dist/esm/i18n/en.js +8 -1
  76. package/dist/esm/i18n/en_GB.js +8 -1
  77. package/dist/esm/i18n/es.js +5 -1
  78. package/dist/esm/i18n/fi.js +7 -1
  79. package/dist/esm/i18n/fr.js +7 -1
  80. package/dist/esm/i18n/hu.js +6 -1
  81. package/dist/esm/i18n/it.js +7 -1
  82. package/dist/esm/i18n/ja.js +11 -5
  83. package/dist/esm/i18n/ko.js +7 -1
  84. package/dist/esm/i18n/nb.js +6 -1
  85. package/dist/esm/i18n/nl.js +7 -1
  86. package/dist/esm/i18n/pl.js +6 -1
  87. package/dist/esm/i18n/pt_BR.js +7 -1
  88. package/dist/esm/i18n/ru.js +7 -1
  89. package/dist/esm/i18n/sv.js +7 -1
  90. package/dist/esm/i18n/th.js +7 -1
  91. package/dist/esm/i18n/tr.js +6 -1
  92. package/dist/esm/i18n/uk.js +6 -1
  93. package/dist/esm/i18n/vi.js +7 -1
  94. package/dist/esm/i18n/zh.js +6 -1
  95. package/dist/esm/i18n/zh_TW.js +6 -1
  96. package/dist/esm/messages.js +4 -4
  97. package/dist/esm/version.json +1 -1
  98. package/dist/esm/view/InlineCard/ErroredView/index.js +7 -9
  99. package/dist/esm/view/InlineCard/ForbiddenView/index.js +18 -20
  100. package/dist/esm/view/InlineCard/Frame/index.js +4 -4
  101. package/dist/esm/view/InlineCard/Frame/styled.js +17 -31
  102. package/dist/esm/view/InlineCard/IconAndTitleLayout/index.js +49 -7
  103. package/dist/esm/view/InlineCard/ResolvingView/index.js +3 -5
  104. package/dist/esm/view/InlineCard/UnauthorisedView/index.js +9 -10
  105. package/dist/esm/view/InlineCard/styled.js +2 -2
  106. package/dist/esm/view/common/UnauthorisedViewContent.js +1 -1
  107. package/dist/types/i18n/cs.d.ts +5 -0
  108. package/dist/types/i18n/da.d.ts +6 -0
  109. package/dist/types/i18n/de.d.ts +5 -0
  110. package/dist/types/i18n/en.d.ts +7 -0
  111. package/dist/types/i18n/en_GB.d.ts +7 -0
  112. package/dist/types/i18n/es.d.ts +4 -0
  113. package/dist/types/i18n/fi.d.ts +6 -0
  114. package/dist/types/i18n/fr.d.ts +6 -0
  115. package/dist/types/i18n/hu.d.ts +5 -0
  116. package/dist/types/i18n/it.d.ts +6 -0
  117. package/dist/types/i18n/ja.d.ts +6 -0
  118. package/dist/types/i18n/ko.d.ts +6 -0
  119. package/dist/types/i18n/nb.d.ts +5 -0
  120. package/dist/types/i18n/nl.d.ts +6 -0
  121. package/dist/types/i18n/pl.d.ts +5 -0
  122. package/dist/types/i18n/pt_BR.d.ts +6 -0
  123. package/dist/types/i18n/ru.d.ts +6 -0
  124. package/dist/types/i18n/sv.d.ts +6 -0
  125. package/dist/types/i18n/th.d.ts +6 -0
  126. package/dist/types/i18n/tr.d.ts +5 -0
  127. package/dist/types/i18n/uk.d.ts +5 -0
  128. package/dist/types/i18n/vi.d.ts +6 -0
  129. package/dist/types/i18n/zh.d.ts +5 -0
  130. package/dist/types/i18n/zh_TW.d.ts +5 -0
  131. package/dist/types/messages.d.ts +1 -1
  132. package/dist/types/view/InlineCard/ErroredView/index.d.ts +1 -1
  133. package/dist/types/view/InlineCard/ForbiddenView/index.d.ts +1 -1
  134. package/dist/types/view/InlineCard/Frame/index.d.ts +0 -1
  135. package/dist/types/view/InlineCard/Frame/styled.d.ts +3 -2
  136. package/dist/types/view/InlineCard/IconAndTitleLayout/index.d.ts +5 -0
  137. package/dist/types/view/InlineCard/ResolvingView/index.d.ts +0 -1
  138. package/dist/types/view/InlineCard/UnauthorisedView/index.d.ts +1 -1
  139. package/dist/types/view/InlineCard/styled.d.ts +1 -1
  140. package/package.json +1 -1
  141. package/report.api.md +16 -0
@@ -20,6 +20,7 @@ export default {
20
20
  'fabric.linking.connect_link_account_card_view_description': '若要顯示此連結的預覽,請連接您的 {context} 帳戶。',
21
21
  'fabric.linking.connect_link_account_card_view_name': '連結 {context} 帳戶',
22
22
  'fabric.linking.connect_to': '連結至 {name}',
23
+ 'fabric.linking.connect_unauthorised_account_action': '連結至 {context}',
23
24
  'fabric.linking.couldnt_load_link': '基於不明原因,我們無法載入此連結。',
24
25
  'fabric.linking.create_on_absolute': '於 {context} 建立',
25
26
  'fabric.linking.create_on_relative': '建立時間:{context}',
@@ -38,8 +39,12 @@ export default {
38
39
  'fabric.linking.more_actions': '更多動作',
39
40
  'fabric.linking.not_found_description': '我們找不到此連結。請檢查 URL,然後試著編輯或再次貼上。',
40
41
  'fabric.linking.not_found_title': '糟糕,我們找不到此連結!',
42
+ 'fabric.linking.open_link_in_a_new_tab': '在新分頁中開啟連結',
41
43
  'fabric.linking.pending_request': '您的存取要求擱置中',
42
- 'fabric.linking.preview': '預覽',
44
+ 'fabric.linking.preview': '全螢幕檢視',
45
+ 'fabric.linking.preview_close': '關閉預覽',
46
+ 'fabric.linking.preview_max_size': '全螢幕檢視',
47
+ 'fabric.linking.preview_min_size': '關閉全螢幕',
43
48
  'fabric.linking.priority_blocker': '受阻',
44
49
  'fabric.linking.priority_critical': '嚴重',
45
50
  'fabric.linking.priority_high': '高',
@@ -140,10 +140,10 @@ export const messages = defineMessages({
140
140
  defaultMessage: 'Join {context} to view this issue',
141
141
  description: 'Allows the user join the product or service immediately'
142
142
  },
143
- learn_more_about_smart_links_security: {
144
- id: 'fabric.linking.learn_more_about_smart_links_security',
145
- defaultMessage: 'Learn more about smart link security and permissions.',
146
- description: 'An anchor link to redirect user to a page about smart link security and permissions.'
143
+ learn_more_about_smart_links: {
144
+ id: 'fabric.linking.learn_more_about_smart_links',
145
+ defaultMessage: 'Learn more about Smart Links.',
146
+ description: 'An anchor link to redirect user to a page about Smart Links.'
147
147
  },
148
148
  loading: {
149
149
  id: 'fabric.linking.loading',
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "23.7.1",
3
+ "version": "23.7.3",
4
4
  "sideEffects": false
5
5
  }
@@ -9,7 +9,7 @@ import { IconAndTitleLayout } from '../IconAndTitleLayout';
9
9
  import { AKIconWrapper } from '../Icon';
10
10
  import { messages } from '../../../messages';
11
11
  import { FormattedMessage } from 'react-intl-next';
12
- import { LinkAppearance, IconStyledButton, LowercaseAppearance, NoLinkAppearance } from '../styled';
12
+ import { IconStyledButton, LowercaseAppearance } from '../styled';
13
13
  export class InlineCardErroredView extends React.Component {
14
14
  constructor(...args) {
15
15
  super(...args);
@@ -26,15 +26,12 @@ export class InlineCardErroredView extends React.Component {
26
26
  }
27
27
  });
28
28
 
29
- _defineProperty(this, "renderMessage", () => {
29
+ _defineProperty(this, "renderRightSide", () => {
30
30
  const {
31
31
  onRetry,
32
- url,
33
32
  message
34
33
  } = this.props;
35
- const link = /*#__PURE__*/React.createElement(LinkAppearance, null, url);
36
- const errorMessage = /*#__PURE__*/React.createElement(NoLinkAppearance, null, message);
37
- return !onRetry ? /*#__PURE__*/React.createElement(React.Fragment, null, link, " - ", errorMessage) : /*#__PURE__*/React.createElement(React.Fragment, null, link, " - ", errorMessage, ",\xA0", /*#__PURE__*/React.createElement(Button, {
34
+ return !onRetry ? message : /*#__PURE__*/React.createElement(React.Fragment, null, message, ', ', /*#__PURE__*/React.createElement(Button, {
38
35
  spacing: "none",
39
36
  appearance: "subtle-link",
40
37
  component: IconStyledButton,
@@ -55,8 +52,6 @@ export class InlineCardErroredView extends React.Component {
55
52
  } = this.props;
56
53
  return /*#__PURE__*/React.createElement(Frame, {
57
54
  testId: testId,
58
- link: url,
59
- onClick: onClick,
60
55
  isSelected: isSelected
61
56
  }, /*#__PURE__*/React.createElement(IconAndTitleLayout, {
62
57
  icon: icon || /*#__PURE__*/React.createElement(AKIconWrapper, null, /*#__PURE__*/React.createElement(ErrorIcon, {
@@ -64,7 +59,10 @@ export class InlineCardErroredView extends React.Component {
64
59
  size: "small",
65
60
  primaryColor: token('color.icon.danger', R300)
66
61
  })),
67
- title: this.renderMessage()
62
+ link: url,
63
+ title: url,
64
+ onClick: onClick,
65
+ rightSide: this.renderRightSide()
68
66
  }));
69
67
  }
70
68
 
@@ -10,7 +10,7 @@ import { IconAndTitleLayout } from '../IconAndTitleLayout';
10
10
  import { AKIconWrapper } from '../Icon';
11
11
  import { messages } from '../../../messages';
12
12
  import { FormattedMessage } from 'react-intl-next';
13
- import { IconStyledButton, LowercaseAppearance, LinkAppearance } from '../styled';
13
+ import { IconStyledButton, LowercaseAppearance } from '../styled';
14
14
  const FallbackForbiddenIcon = /*#__PURE__*/React.createElement(AKIconWrapper, null, /*#__PURE__*/React.createElement(LockIcon, {
15
15
  label: "error",
16
16
  size: "small",
@@ -57,22 +57,20 @@ export class InlineCardForbiddenView extends React.Component {
57
57
  }));
58
58
  });
59
59
 
60
- _defineProperty(this, "renderMessage", () => {
60
+ _defineProperty(this, "renderRightSide", () => {
61
61
  var _this$props3, _this$props3$requestA;
62
62
 
63
63
  const {
64
- url,
65
64
  onAuthorise
66
65
  } = this.props;
67
- const link = /*#__PURE__*/React.createElement(LinkAppearance, null, url);
68
66
  const hasRequestAccessContextMessage = (_this$props3 = this.props) === null || _this$props3 === void 0 ? void 0 : (_this$props3$requestA = _this$props3.requestAccessContext) === null || _this$props3$requestA === void 0 ? void 0 : _this$props3$requestA.callToActionMessageKey;
69
- return !onAuthorise && !hasRequestAccessContextMessage ? link : /*#__PURE__*/React.createElement(React.Fragment, null, link, ' - ', /*#__PURE__*/React.createElement(Button, {
67
+ return onAuthorise || hasRequestAccessContextMessage ? /*#__PURE__*/React.createElement(Button, {
70
68
  spacing: "none",
71
69
  appearance: "subtle-link",
72
70
  onClick: this.handleRetry,
73
71
  component: IconStyledButton,
74
72
  testId: "button-connect-other-account"
75
- }, this.renderForbiddenAccessMessage()));
73
+ }, this.renderForbiddenAccessMessage()) : null;
76
74
  });
77
75
  }
78
76
 
@@ -86,12 +84,13 @@ export class InlineCardForbiddenView extends React.Component {
86
84
  } = this.props;
87
85
  return /*#__PURE__*/React.createElement(Frame, {
88
86
  testId: testId,
89
- link: url,
90
- onClick: onClick,
91
87
  isSelected: isSelected
92
88
  }, /*#__PURE__*/React.createElement(IconAndTitleLayout, {
93
89
  icon: icon ? icon : FallbackForbiddenIcon,
94
- title: this.renderMessage(),
90
+ link: url,
91
+ title: url,
92
+ onClick: onClick,
93
+ rightSide: this.renderRightSide(),
95
94
  titleColor: token('color.text.subtle', N500)
96
95
  }));
97
96
  }
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback } from 'react';
2
2
  import { useGlobalTheme } from '@atlaskit/theme/components';
3
- import { Wrapper } from './styled';
3
+ import { WrapperAnchor, WrapperSpan } from './styled';
4
4
  export const Frame = props => {
5
5
  const {
6
6
  isSelected,
@@ -8,7 +8,6 @@ export const Frame = props => {
8
8
  onClick,
9
9
  link,
10
10
  withoutBackground,
11
- withoutHover,
12
11
  testId,
13
12
  className
14
13
  } = props;
@@ -30,14 +29,15 @@ export const Frame = props => {
30
29
  onClick(event);
31
30
  }
32
31
  }, [onClick]);
33
- const isInteractive = Boolean(onClick); // TODO Theming doesn't work right now in editor. Required React context does not trickle down atm.
32
+ const isInteractive = Boolean(onClick); // Depending on whenever Frame was given onClick or link itself we display span or anchor elements
33
+
34
+ const Wrapper = link || onClick ? WrapperAnchor : WrapperSpan; // TODO Theming doesn't work right now in editor. Required React context does not trickle down atm.
34
35
  // It will be worked as part of https://product-fabric.atlassian.net/jira/servicedesk/projects/DTR/queues/issue/DTR-154
35
36
 
36
37
  return /*#__PURE__*/React.createElement(Wrapper, {
37
38
  theme: useGlobalTheme(),
38
39
  href: link,
39
40
  withoutBackground: withoutBackground,
40
- withoutHover: withoutHover,
41
41
  isSelected: isSelected,
42
42
  isInteractive: isInteractive,
43
43
  tabIndex: isInteractive ? 0 : undefined,
@@ -3,7 +3,6 @@ import { B100, B400, B50, DN40A, DN50A, N20, N40A, N50A } from '@atlaskit/theme/
3
3
  import { borderRadius as akBorderRadius } from '@atlaskit/theme/constants';
4
4
  import { themed } from '@atlaskit/theme/components';
5
5
  import { token } from '@atlaskit/tokens';
6
- import { TitleWrapperClassName } from '../IconAndTitleLayout/styled';
7
6
  const BACKGROUND_COLOR_DARK = '#262B31';
8
7
  const selected = `
9
8
  cursor: pointer;
@@ -20,24 +19,20 @@ const isInteractive = ({
20
19
  }) => {
21
20
  if (isInteractive) {
22
21
  return `
23
- cursor: pointer;
24
22
  :hover {
25
23
  background-color: ${themed({
26
24
  light: token('color.background.neutral.subtle.hovered', N20),
27
25
  dark: token('color.background.neutral.subtle.hovered', BACKGROUND_COLOR_DARK)
28
26
  })};
29
- text-decoration: none;
30
27
  }
31
28
  :active {
32
29
  background-color: ${themed({
33
30
  light: token('color.background.selected', B50),
34
31
  dark: token('color.background.selected', BACKGROUND_COLOR_DARK)
35
32
  })};
36
- text-decoration: none;
37
33
  }
38
34
  :focus {
39
35
  ${selected}
40
- text-decoration: none;
41
36
  }
42
37
  `;
43
38
  } else {
@@ -54,16 +49,6 @@ const isSelected = ({
54
49
  return 'user-select: text';
55
50
  }
56
51
  };
57
-
58
- const withoutHover = ({
59
- withoutHover
60
- }) => {
61
- return withoutHover ? `
62
- &:hover {
63
- text-decoration: none;
64
- }
65
- ` : '';
66
- };
67
52
  /*
68
53
  Inline smart cards should have the following layout:
69
54
  ------------------------------------
@@ -78,34 +63,36 @@ const withoutHover = ({
78
63
  // NB: `box-decoration-break` required for retaining properties (border-radius) on wrap.
79
64
 
80
65
 
81
- export const Wrapper = styled.a`
66
+ const baseWrapperStyle = props => `
82
67
  line-height: 16px;
83
68
  padding: 1px 0.24em 2px 0.24em;
84
- ${props => props.withoutBackground ? `padding-left: 0; margin-left:-2px;` : ''}
69
+ ${props.withoutBackground ? `padding-left: 0; margin-left:-2px;` : ''}
85
70
  display: inline;
86
71
  box-decoration-break: clone;
87
72
  border-radius: ${akBorderRadius()}px;
88
73
  color: ${themed({
89
74
  light: token('color.link', B400),
90
75
  dark: token('color.link', '#4794FF')
91
- })};
92
- background-color: ${props => props.withoutBackground ? '' : themed({
76
+ })(props)};
77
+ background-color: ${props.withoutBackground ? '' : themed({
93
78
  light: token('elevation.surface.raised', 'white'),
94
79
  dark: token('elevation.surface.raised', BACKGROUND_COLOR_DARK)
95
- })};
96
- ${props => props.withoutBackground ? '' : themed({
80
+ })(props)};
81
+ ${props.withoutBackground ? '' : themed({
97
82
  light: `box-shadow: ${token('elevation.shadow.raised', `0 1px 1px ${N50A}, 0 0 1px 1px ${N40A}`)};`,
98
83
  dark: `box-shadow: ${token('elevation.shadow.raised', `0 1px 1px ${DN50A}, 0 0 1px 1px ${DN40A}`)};`
99
- })}
100
- ${props => isInteractive(props)}
101
- ${props => isSelected(props)};
102
- ${props => withoutHover(props)}
84
+ })(props)}
85
+ ${isSelected(props)};
103
86
  transition: 0.1s all ease-in-out;
104
87
  -moz-user-select: none;
88
+ `;
105
89
 
106
- &:hover span.${TitleWrapperClassName} {
107
- text-decoration: ${({
108
- withoutHover
109
- }) => withoutHover ? 'none' : 'underline'};
110
- }
111
- `;
90
+ export const WrapperAnchor = styled.a`
91
+ ${baseWrapperStyle}
92
+ ${isInteractive}
93
+ `;
94
+ WrapperAnchor.displayName = 'WrapperAnchor';
95
+ export const WrapperSpan = styled.span`
96
+ ${baseWrapperStyle}
97
+ `;
98
+ WrapperSpan.displayName = 'WrapperSpan';
@@ -1,9 +1,43 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import React from 'react';
2
3
  import ImageLoader from 'react-render-image';
3
4
  import { Icon, Shimmer } from '../Icon';
4
5
  import { IconEmptyWrapper, IconPositionWrapper, IconTitleWrapper, IconWrapper, TitleWrapper, EmojiWrapper, TitleWrapperClassName } from './styled';
5
6
  import LinkIcon from '@atlaskit/icon/glyph/link';
7
+ import { LinkAppearance, NoLinkAppearance } from '../styled';
6
8
  export class IconAndTitleLayout extends React.Component {
9
+ constructor(...args) {
10
+ super(...args);
11
+
12
+ _defineProperty(this, "handleClick", event => {
13
+ const {
14
+ onClick
15
+ } = this.props;
16
+
17
+ if (onClick) {
18
+ event.preventDefault();
19
+ event.stopPropagation();
20
+ onClick(event);
21
+ }
22
+ });
23
+
24
+ _defineProperty(this, "handleKeyPress", event => {
25
+ const {
26
+ onClick
27
+ } = this.props;
28
+
29
+ if (event.key !== ' ' && event.key !== 'Enter') {
30
+ return;
31
+ }
32
+
33
+ if (onClick) {
34
+ event.preventDefault();
35
+ event.stopPropagation();
36
+ onClick(event);
37
+ }
38
+ });
39
+ }
40
+
7
41
  renderAtlaskitIcon() {
8
42
  const {
9
43
  icon,
@@ -82,18 +116,25 @@ export class IconAndTitleLayout extends React.Component {
82
116
  title,
83
117
  titleColor,
84
118
  titleTextColor,
119
+ link,
120
+ rightSide,
85
121
  testId = 'inline-card-icon-and-title'
86
122
  } = this.props;
87
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IconTitleWrapper, {
88
- style: {
89
- color: titleColor
90
- }
91
- }, /*#__PURE__*/React.createElement(IconPositionWrapper, null, children || /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IconEmptyWrapper, null), this.renderIcon(testId))), /*#__PURE__*/React.createElement(TitleWrapper, {
123
+ const titlePart = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IconPositionWrapper, null, children || /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IconEmptyWrapper, null), this.renderIcon(testId))), /*#__PURE__*/React.createElement(TitleWrapper, {
92
124
  style: {
93
125
  color: titleTextColor
94
126
  },
95
127
  className: TitleWrapperClassName
96
- }, title)));
128
+ }, title));
129
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IconTitleWrapper, {
130
+ style: {
131
+ color: titleColor
132
+ }
133
+ }, link ? /*#__PURE__*/React.createElement(LinkAppearance, {
134
+ href: link,
135
+ onClick: this.handleClick,
136
+ onKeyPress: this.handleKeyPress
137
+ }, titlePart) : titlePart, rightSide ? /*#__PURE__*/React.createElement(NoLinkAppearance, null, ' - ', rightSide) : null));
97
138
  }
98
139
 
99
140
  }
@@ -12,14 +12,12 @@ export class InlineCardResolvingView extends React.Component {
12
12
  isSelected,
13
13
  inlinePreloaderStyle,
14
14
  testId = 'inline-card-resolving-view',
15
- titleTextColor,
16
- withoutHover
15
+ titleTextColor
17
16
  } = this.props;
18
17
 
19
18
  if (inlinePreloaderStyle === 'on-right-without-skeleton') {
20
19
  return /*#__PURE__*/React.createElement(Frame, {
21
20
  withoutBackground: true,
22
- withoutHover: withoutHover,
23
21
  testId: testId,
24
22
  onClick: onClick,
25
23
  isSelected: isSelected
@@ -32,9 +30,9 @@ export class InlineCardResolvingView extends React.Component {
32
30
  return /*#__PURE__*/React.createElement(Frame, {
33
31
  testId: testId,
34
32
  onClick: onClick,
35
- isSelected: isSelected,
36
- withoutHover: withoutHover
33
+ isSelected: isSelected
37
34
  }, /*#__PURE__*/React.createElement(IconAndTitleLayout, {
35
+ link: url,
38
36
  title: url,
39
37
  titleTextColor: titleTextColor
40
38
  }, /*#__PURE__*/React.createElement(SpinnerWrapper, {
@@ -10,7 +10,7 @@ import { messages } from '../../../messages';
10
10
  import { Frame } from '../Frame';
11
11
  import { AKIconWrapper } from '../Icon';
12
12
  import { IconAndTitleLayout } from '../IconAndTitleLayout';
13
- import { IconStyledButton, LinkAppearance } from '../styled';
13
+ import { IconStyledButton } from '../styled';
14
14
  import { HoverCard } from '../../HoverCard';
15
15
  const FallbackUnauthorizedIcon = /*#__PURE__*/React.createElement(AKIconWrapper, null, /*#__PURE__*/React.createElement(LockIcon, {
16
16
  label: "error",
@@ -30,14 +30,12 @@ export class InlineCardUnauthorizedView extends React.Component {
30
30
  return onAuthorise();
31
31
  });
32
32
 
33
- _defineProperty(this, "renderMessage", () => {
33
+ _defineProperty(this, "renderRightSide", () => {
34
34
  const {
35
- context,
36
35
  onAuthorise,
37
- url
36
+ context
38
37
  } = this.props;
39
- const link = /*#__PURE__*/React.createElement(LinkAppearance, null, url);
40
- return !onAuthorise ? link : /*#__PURE__*/React.createElement(React.Fragment, null, link, ' - ', /*#__PURE__*/React.createElement(Button, {
38
+ return onAuthorise ? /*#__PURE__*/React.createElement(Button, {
41
39
  spacing: "none",
42
40
  appearance: "subtle-link",
43
41
  component: IconStyledButton,
@@ -47,7 +45,7 @@ export class InlineCardUnauthorizedView extends React.Component {
47
45
  values: {
48
46
  context
49
47
  }
50
- }))));
48
+ }))) : undefined;
51
49
  });
52
50
  }
53
51
 
@@ -62,12 +60,13 @@ export class InlineCardUnauthorizedView extends React.Component {
62
60
  } = this.props;
63
61
  const inlineCardUnauthenticatedView = /*#__PURE__*/React.createElement(Frame, {
64
62
  testId: testId,
65
- link: url,
66
- onClick: onClick,
67
63
  isSelected: isSelected
68
64
  }, /*#__PURE__*/React.createElement(IconAndTitleLayout, {
69
65
  icon: icon ? icon : FallbackUnauthorizedIcon,
70
- title: this.renderMessage(),
66
+ title: url,
67
+ link: url,
68
+ rightSide: this.renderRightSide(),
69
+ onClick: onClick,
71
70
  titleColor: token('color.text.subtle', N500)
72
71
  }));
73
72
 
@@ -9,11 +9,6 @@ export const IconStyledButton = styled.span`
9
9
  text-align: initial !important;
10
10
  display: inline !important;
11
11
 
12
- &:hover {
13
- /* Remove the text-decoration to match other inline card hover states */
14
- text-decoration: none !important;
15
- }
16
-
17
12
  > span {
18
13
  display: inline;
19
14
  > span {
@@ -32,7 +27,7 @@ export const NoLinkAppearance = styled.span`
32
27
  export const LowercaseAppearance = styled.span`
33
28
  text-transform: lowercase;
34
29
  `;
35
- export const LinkAppearance = styled.span`
30
+ export const LinkAppearance = styled.a`
36
31
  color: ${themed({
37
32
  light: token('color.link', B400),
38
33
  dark: token('color.link', LINK_COLOR_DARK)
@@ -19,6 +19,6 @@ const UnauthorisedViewContent = ({
19
19
  href: CONTENT_URL_SECURITY_AND_PERMISSIONS,
20
20
  target: "_blank",
21
21
  "data-testid": `${testId}-learn-more`
22
- }, /*#__PURE__*/React.createElement(FormattedMessage, messages.learn_more_about_smart_links_security)));
22
+ }, /*#__PURE__*/React.createElement(FormattedMessage, messages.learn_more_about_smart_links)));
23
23
 
24
24
  export default UnauthorisedViewContent;
@@ -20,6 +20,7 @@ export default {
20
20
  'fabric.linking.connect_link_account_card_view_description': 'Pokud chcete zobrazit náhled tohoto odkazu, připojte svůj účet {context}.',
21
21
  'fabric.linking.connect_link_account_card_view_name': 'Připojte svůj účet {context}',
22
22
  'fabric.linking.connect_to': 'Připojit k {name}',
23
+ 'fabric.linking.connect_unauthorised_account_action': 'Připojit k: {context}',
23
24
  'fabric.linking.couldnt_load_link': 'Tento odkaz se z neznámého důvodu nepodařilo načíst.',
24
25
  'fabric.linking.create_on_absolute': 'Vytvořeno: {context}',
25
26
  'fabric.linking.create_on_relative': 'Vytvořeno: {context}',
@@ -38,8 +39,12 @@ export default {
38
39
  'fabric.linking.more_actions': 'Další akce',
39
40
  'fabric.linking.not_found_description': 'Odkaz se nepodařilo najít. Zkontrolujte adresu URL a zkuste ji upravit nebo vložit znovu.',
40
41
  'fabric.linking.not_found_title': 'Jejda. Tento odkaz se nepodařilo najít.',
42
+ 'fabric.linking.open_link_in_a_new_tab': 'Otevřít odkaz na nové kartě',
41
43
  'fabric.linking.pending_request': 'Vaše žádost o přístup čeká na vyřízení.',
42
- 'fabric.linking.preview': 'Náhled',
44
+ 'fabric.linking.preview': 'Zobrazení na celou obrazovku',
45
+ 'fabric.linking.preview_close': 'Zavřít náhled',
46
+ 'fabric.linking.preview_max_size': 'Zobrazit na celé obrazovce',
47
+ 'fabric.linking.preview_min_size': 'Zavřít zobrazení na celé obrazovce',
43
48
  'fabric.linking.priority_blocker': 'Blokující',
44
49
  'fabric.linking.priority_critical': 'Kritická',
45
50
  'fabric.linking.priority_high': 'Vysoká',
@@ -20,6 +20,7 @@ export default {
20
20
  'fabric.linking.connect_link_account_card_view_description': 'Tilknyt din {context}-konto, hvis du vil se en forhåndsvisning af dette link',
21
21
  'fabric.linking.connect_link_account_card_view_name': 'Forbind din {context}-konto',
22
22
  'fabric.linking.connect_to': 'Forbind til {name}',
23
+ 'fabric.linking.connect_unauthorised_account_action': 'Forbind til {context}',
23
24
  'fabric.linking.couldnt_load_link': 'Af en ukendt årsag kunne vi ikke indlæse dette link.',
24
25
  'fabric.linking.create_on_absolute': 'Oprettet {context}',
25
26
  'fabric.linking.create_on_relative': 'Oprettet: {context}',
@@ -32,14 +33,19 @@ export default {
32
33
  'fabric.linking.invalid_permissions': 'Begrænset link',
33
34
  'fabric.linking.invalid_permissions_description': 'Anmod om adgang, eller prøv med en anden konto for at se denne forhåndsvisning.',
34
35
  'fabric.linking.join_to_view': 'Deltag i {context} for at se denne sag',
36
+ 'fabric.linking.learn_more_about_smart_links_security': 'Få mere at vide om Smart Link-sikkerhed og -tilladelser.',
35
37
  'fabric.linking.loading': 'Indlæser ...',
36
38
  'fabric.linking.modified_on_absolute': 'Opdateret {context}',
37
39
  'fabric.linking.modified_on_relative': 'Opdateret: {context}',
38
40
  'fabric.linking.more_actions': 'Flere handlinger',
39
41
  'fabric.linking.not_found_description': 'Vi kunne ikke finde linket. Kontrollér og rediger URL-adressen, eller indsæt den igen.',
40
42
  'fabric.linking.not_found_title': 'Ups. Vi kan ikke finde dette link!',
43
+ 'fabric.linking.open_link_in_a_new_tab': 'Åbn link i en ny fane',
41
44
  'fabric.linking.pending_request': 'Din anmodning om adgang afventer behandling',
42
- 'fabric.linking.preview': 'Vis',
45
+ 'fabric.linking.preview': 'Fuldskærmsvisning',
46
+ 'fabric.linking.preview_close': 'Luk forhåndsvisning',
47
+ 'fabric.linking.preview_max_size': 'Vis fuld skærm',
48
+ 'fabric.linking.preview_min_size': 'Luk fuld skærm',
43
49
  'fabric.linking.priority_blocker': 'Blokering',
44
50
  'fabric.linking.priority_critical': 'Kritisk',
45
51
  'fabric.linking.priority_high': 'Høj',
@@ -20,6 +20,7 @@ export default {
20
20
  'fabric.linking.connect_link_account_card_view_description': 'Verbinden Sie Ihr {context}-Konto, um eine Vorschau dieses Links anzuzeigen.',
21
21
  'fabric.linking.connect_link_account_card_view_name': 'Verbinden Sie Ihr {context}-Konto',
22
22
  'fabric.linking.connect_to': 'Mit {name} verbinden',
23
+ 'fabric.linking.connect_unauthorised_account_action': 'Mit {context} verbinden',
23
24
  'fabric.linking.couldnt_load_link': 'Dieser Link konnte aus unbekannten Gründen nicht geladen werden.',
24
25
  'fabric.linking.create_on_absolute': 'Erstellt am: {context}',
25
26
  'fabric.linking.create_on_relative': 'Erstellt: {context}',
@@ -38,8 +39,12 @@ export default {
38
39
  'fabric.linking.more_actions': 'Weitere Aktionen',
39
40
  'fabric.linking.not_found_description': 'Der Link konnte nicht gefunden werden. Überprüfen Sie die URL und versuchen Sie die Bearbeitung oder das Einfügen erneut.',
40
41
  'fabric.linking.not_found_title': 'Oh! Diese Verknüpfung konnte nicht gefunden werden!',
42
+ 'fabric.linking.open_link_in_a_new_tab': 'Link in neuer Registerkarte öffnen',
41
43
  'fabric.linking.pending_request': 'Ihre Zugriffsanfrage ist ausstehend.',
42
- 'fabric.linking.preview': 'Vorschau',
44
+ 'fabric.linking.preview': 'Vollbildansicht',
45
+ 'fabric.linking.preview_close': 'Vorschau beenden',
46
+ 'fabric.linking.preview_max_size': 'Vollbildansicht anzeigen',
47
+ 'fabric.linking.preview_min_size': 'Vollbildansicht beenden',
43
48
  'fabric.linking.priority_blocker': 'Blocker',
44
49
  'fabric.linking.priority_critical': 'Kritisch',
45
50
  'fabric.linking.priority_high': 'Hoch',
@@ -20,6 +20,8 @@ export default {
20
20
  'fabric.linking.connect_link_account_card_view_description': 'To show a preview of this link, connect your {context} account.',
21
21
  'fabric.linking.connect_link_account_card_view_name': 'Connect your {context} account',
22
22
  'fabric.linking.connect_to': 'Connect to {name}',
23
+ 'fabric.linking.connect_unauthorized_account_action': 'Connect to {context}',
24
+ 'fabric.linking.connect_unauthorized_account_description': 'Connect to Atlassian to view more details from your work and collaboration from one place.',
23
25
  'fabric.linking.couldnt_load_link': "We couldn't load this link for an unknown reason.",
24
26
  'fabric.linking.create_on_absolute': 'Created on {context}',
25
27
  'fabric.linking.create_on_relative': 'Created {context}',
@@ -32,14 +34,19 @@ export default {
32
34
  'fabric.linking.invalid_permissions': 'Restricted link',
33
35
  'fabric.linking.invalid_permissions_description': "You'll need to request access or try a different account to view this preview.",
34
36
  'fabric.linking.join_to_view': 'Join {context} to view this issue',
37
+ 'fabric.linking.learn_more_about_smart_links_security': 'Learn more about smart link security and permissions.',
35
38
  'fabric.linking.loading': 'Loading...',
36
39
  'fabric.linking.modified_on_absolute': 'Updated on {context}',
37
40
  'fabric.linking.modified_on_relative': 'Updated {context}',
38
41
  'fabric.linking.more_actions': 'More actions',
39
42
  'fabric.linking.not_found_description': "We couldn't find the link. Check the url and try editing or paste again.",
40
43
  'fabric.linking.not_found_title': "Uh oh. We can't find this link!",
44
+ 'fabric.linking.open_link_in_a_new_tab': 'Open link in a new tab',
41
45
  'fabric.linking.pending_request': 'Your access request is pending',
42
- 'fabric.linking.preview': 'Preview',
46
+ 'fabric.linking.preview': 'Full screen view',
47
+ 'fabric.linking.preview_close': 'Close preview',
48
+ 'fabric.linking.preview_max_size': 'View full screen',
49
+ 'fabric.linking.preview_min_size': 'Close full screen',
43
50
  'fabric.linking.priority_blocker': 'Blocker',
44
51
  'fabric.linking.priority_critical': 'Critical',
45
52
  'fabric.linking.priority_high': 'High',
@@ -20,6 +20,8 @@ export default {
20
20
  'fabric.linking.connect_link_account_card_view_description': 'To show a preview of this link, connect your {context} account.',
21
21
  'fabric.linking.connect_link_account_card_view_name': 'Connect your {context} account',
22
22
  'fabric.linking.connect_to': 'Connect to {name}',
23
+ 'fabric.linking.connect_unauthorised_account_action': 'Connect to {context}',
24
+ 'fabric.linking.connect_unauthorised_account_description': 'Connect to Atlassian to view more details from your work and collaboration from one place.',
23
25
  'fabric.linking.couldnt_load_link': "We couldn't load this link for an unknown reason.",
24
26
  'fabric.linking.create_on_absolute': 'Created on {context}',
25
27
  'fabric.linking.create_on_relative': 'Created {context}',
@@ -32,14 +34,19 @@ export default {
32
34
  'fabric.linking.invalid_permissions': 'Restricted link',
33
35
  'fabric.linking.invalid_permissions_description': "You'll need to request access or try a different account to view this preview.",
34
36
  'fabric.linking.join_to_view': 'Join {context} to view this issue',
37
+ 'fabric.linking.learn_more_about_smart_links_security': 'Learn more about smart link security and permissions.',
35
38
  'fabric.linking.loading': 'Loading...',
36
39
  'fabric.linking.modified_on_absolute': 'Updated on {context}',
37
40
  'fabric.linking.modified_on_relative': 'Updated {context}',
38
41
  'fabric.linking.more_actions': 'More actions',
39
42
  'fabric.linking.not_found_description': "We couldn't find the link. Check the url and try editing or paste again.",
40
43
  'fabric.linking.not_found_title': "Uh oh. We can't find this link!",
44
+ 'fabric.linking.open_link_in_a_new_tab': 'Open link in a new tab',
41
45
  'fabric.linking.pending_request': 'Your access request is pending',
42
- 'fabric.linking.preview': 'Preview',
46
+ 'fabric.linking.preview': 'Full screen view',
47
+ 'fabric.linking.preview_close': 'Close preview',
48
+ 'fabric.linking.preview_max_size': 'View full screen',
49
+ 'fabric.linking.preview_min_size': 'Close full screen',
43
50
  'fabric.linking.priority_blocker': 'Blocker',
44
51
  'fabric.linking.priority_critical': 'Critical',
45
52
  'fabric.linking.priority_high': 'High',
@@ -20,6 +20,7 @@ export default {
20
20
  'fabric.linking.connect_link_account_card_view_description': 'Para mostrar una vista previa de este enlace, conecta tu cuenta de {context}.',
21
21
  'fabric.linking.connect_link_account_card_view_name': 'Conecta tu cuenta de {context}',
22
22
  'fabric.linking.connect_to': 'Conectarse a {name}',
23
+ 'fabric.linking.connect_unauthorised_account_action': 'Conectarse a {context}',
23
24
  'fabric.linking.couldnt_load_link': 'Por algún motivo que desconocemos, no hemos podido cargar este enlace.',
24
25
  'fabric.linking.create_on_absolute': 'Creación: {context}',
25
26
  'fabric.linking.create_on_relative': 'Fecha de creación: {context}',
@@ -39,7 +40,10 @@ export default {
39
40
  'fabric.linking.not_found_description': 'No hemos encontrado el enlace. Comprueba la URL y prueba a editarla, o pégala de nuevo.',
40
41
  'fabric.linking.not_found_title': '¡Vaya! No encontramos este enlace',
41
42
  'fabric.linking.pending_request': 'Tu solicitud de acceso está pendiente',
42
- 'fabric.linking.preview': 'Vista previa',
43
+ 'fabric.linking.preview': 'Vista de pantalla completa',
44
+ 'fabric.linking.preview_close': 'Cerrar vista previa',
45
+ 'fabric.linking.preview_max_size': 'Ver a pantalla completa',
46
+ 'fabric.linking.preview_min_size': 'Cerrar pantalla completa',
43
47
  'fabric.linking.priority_blocker': 'Impedimento',
44
48
  'fabric.linking.priority_critical': 'Crítica',
45
49
  'fabric.linking.priority_high': 'Alta',