@atlaskit/smart-card 43.17.4 → 43.17.6

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 (32) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/__tests__/vr-tests/__snapshots__/block-card/block-card-unauthorised-view-with-experiment--default--platform-sl-3p-unauth-paste-as-block-card-card-by-default-and-new-design.png +0 -0
  3. package/dist/cjs/extractors/flexible/icon/extract-document-type-icon.js +41 -16
  4. package/dist/cjs/extractors/flexible/icon/extract-file-formatIcon.js +89 -46
  5. package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +31 -12
  6. package/dist/cjs/utils/index.js +1 -10
  7. package/dist/cjs/view/EmbedModal/components/link-info/index.compiled.css +15 -1
  8. package/dist/cjs/view/EmbedModal/components/link-info/index.js +108 -1
  9. package/dist/cjs/view/EmbedModal/index.js +13 -4
  10. package/dist/es2019/__tests__/vr-tests/__snapshots__/block-card/block-card-unauthorised-view-with-experiment--default--platform-sl-3p-unauth-paste-as-block-card-card-by-default-and-new-design.png +0 -0
  11. package/dist/es2019/extractors/flexible/icon/extract-document-type-icon.js +41 -16
  12. package/dist/es2019/extractors/flexible/icon/extract-file-formatIcon.js +89 -45
  13. package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +31 -12
  14. package/dist/es2019/utils/index.js +0 -8
  15. package/dist/es2019/view/EmbedModal/components/link-info/index.compiled.css +15 -1
  16. package/dist/es2019/view/EmbedModal/components/link-info/index.js +103 -1
  17. package/dist/es2019/view/EmbedModal/index.js +13 -4
  18. package/dist/esm/__tests__/vr-tests/__snapshots__/block-card/block-card-unauthorised-view-with-experiment--default--platform-sl-3p-unauth-paste-as-block-card-card-by-default-and-new-design.png +0 -0
  19. package/dist/esm/extractors/flexible/icon/extract-document-type-icon.js +41 -16
  20. package/dist/esm/extractors/flexible/icon/extract-file-formatIcon.js +89 -45
  21. package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +31 -12
  22. package/dist/esm/utils/index.js +0 -9
  23. package/dist/esm/view/EmbedModal/components/link-info/index.compiled.css +15 -1
  24. package/dist/esm/view/EmbedModal/components/link-info/index.js +108 -1
  25. package/dist/esm/view/EmbedModal/index.js +13 -4
  26. package/dist/types/utils/index.d.ts +0 -1
  27. package/dist/types/view/EmbedModal/components/link-info/index.d.ts +7 -2
  28. package/dist/types/view/EmbedModal/components/link-info/types.d.ts +2 -0
  29. package/dist/types-ts4.5/utils/index.d.ts +0 -1
  30. package/dist/types-ts4.5/view/EmbedModal/components/link-info/index.d.ts +7 -2
  31. package/dist/types-ts4.5/view/EmbedModal/components/link-info/types.d.ts +2 -0
  32. package/package.json +12 -6
@@ -1,4 +1,5 @@
1
1
  import { extractTitle } from '@atlaskit/link-extractors';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
2
3
  import { IconType } from '../../../constants';
3
4
  import { prioritiseIcon } from '../../common/icon';
4
5
  import { extractorPriorityMap as priorityMap } from '../../common/icon/priority';
@@ -62,39 +63,57 @@ function typeToIconDescriptor(_ref3) {
62
63
  data = _ref3.data;
63
64
  switch (type) {
64
65
  case 'atlassian:Goal':
65
- // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
66
- return {
66
+ return fg('navx-2827-eslint-object-translation-smart-links') ? {
67
67
  icon: IconType.Task,
68
+ label: label
69
+ } : {
70
+ icon: IconType.Task,
71
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
68
72
  label: label || 'Goal'
69
73
  };
70
74
  case 'atlassian:Project':
71
- // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
72
- return {
75
+ return fg('navx-2827-eslint-object-translation-smart-links') ? {
76
+ icon: IconType.Project,
77
+ label: label
78
+ } : {
73
79
  icon: IconType.Project,
80
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
74
81
  label: label || 'Project'
75
82
  };
76
83
  case 'atlassian:SourceCodeCommit':
77
- // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
78
- return {
84
+ return fg('navx-2827-eslint-object-translation-smart-links') ? {
85
+ icon: IconType.Commit,
86
+ label: label
87
+ } : {
79
88
  icon: IconType.Commit,
89
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
80
90
  label: label || 'Commit'
81
91
  };
82
92
  case 'atlassian:SourceCodePullRequest':
83
- // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
84
- return {
93
+ return fg('navx-2827-eslint-object-translation-smart-links') ? {
85
94
  icon: IconType.PullRequest,
95
+ label: label
96
+ } : {
97
+ icon: IconType.PullRequest,
98
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
86
99
  label: label || 'Pull request'
87
100
  };
88
101
  case 'atlassian:SourceCodeReference':
89
- // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
90
- return {
102
+ return fg('navx-2827-eslint-object-translation-smart-links') ? {
103
+ icon: IconType.Branch,
104
+ label: label
105
+ } : {
91
106
  icon: IconType.Branch,
107
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
92
108
  label: label || 'Reference'
93
109
  };
94
110
  case 'atlassian:SourceCodeRepository':
95
- // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
96
- return {
111
+ return fg('navx-2827-eslint-object-translation-smart-links') ? {
112
+ icon: IconType.Repo,
113
+ label: label
114
+ } : {
97
115
  icon: IconType.Repo,
116
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-object
98
117
  label: label || 'Repository'
99
118
  };
100
119
  case 'atlassian:Task':
@@ -62,15 +62,6 @@ export var getIconForFileType = function getIconForFileType(fileMimeType) {
62
62
  testId: "document-file-format-icon"
63
63
  });
64
64
  };
65
- export var getLabelForFileType = function getLabelForFileType(fileMimeType) {
66
- var icon = getTypeToIconMap(fileMimeType.toLowerCase());
67
- if (!icon) {
68
- return;
69
- }
70
- var _icon2 = _slicedToArray(icon, 1),
71
- label = _icon2[0];
72
- return label;
73
- };
74
65
  // prettier-ignore
75
66
  export var getLazyIcons = function getLazyIcons() {
76
67
  var _ref3;
@@ -1,12 +1,17 @@
1
1
 
2
+ ._qtt8glyw{list-style:none}
2
3
  ._zulp1b66{gap:var(--ds-space-050,4px)}
3
4
  ._zulpu2gc{gap:var(--ds-space-100,8px)}._11hh1tcg [data-smart-element-icon] svg{min-width:24px}
4
5
  ._15iz1tcg span{min-height:24px}
5
6
  ._16jlidpf{flex-grow:0}
6
7
  ._16jlkb7n{flex-grow:1}
7
8
  ._17521tcg svg{height:24px}
9
+ ._18u0ze3t{margin-left:var(--ds-space-0,0)}
8
10
  ._19bv1ejb{padding-left:var(--ds-space-300,24px)}
11
+ ._19bvze3t{padding-left:var(--ds-space-0,0)}
9
12
  ._19l31tcg img{max-height:24px}
13
+ ._19pkidpf{margin-top:0}
14
+ ._19pkze3t{margin-top:var(--ds-space-0,0)}
10
15
  ._1bah1h6o{justify-content:center}
11
16
  ._1bnm1tcg [data-smart-element-icon] svg{height:24px}
12
17
  ._1bsb1tcg{width:24px}
@@ -15,6 +20,7 @@
15
20
  ._1h1b1tcg [data-smart-element-icon] span{width:24px}
16
21
  ._1mj01tcg [data-smart-element-icon] img{max-width:24px}
17
22
  ._1o9zidpf{flex-shrink:0}
23
+ ._1pfhze3t{margin-block-start:var(--ds-space-0,0)}
18
24
  ._1pr21tcg span{max-height:24px}
19
25
  ._1q121tcg [data-smart-element-icon] img{max-height:24px}
20
26
  ._1r9c1tcg [data-smart-element-icon] span{max-width:24px}
@@ -27,14 +33,19 @@
27
33
  ._1xch1tcg [data-smart-element-icon] svg{max-width:24px}
28
34
  ._1xjx1tcg span{height:24px}
29
35
  ._1xyl1tcg [data-smart-element-icon] img{width:24px}
36
+ ._2hwxze3t{margin-right:var(--ds-space-0,0)}
30
37
  ._2lx21bp4{flex-direction:column}
31
38
  ._2s1x1tcg [data-smart-element-icon] span{max-height:24px}
39
+ ._4cvr1h6o{align-items:center}
32
40
  ._4t3i1tcg{height:24px}
33
41
  ._4x201tcg svg{max-width:24px}
42
+ ._6rthze3t{margin-block-end:var(--ds-space-0,0)}
34
43
  ._b8nk1tcg span{max-width:24px}
35
44
  ._bna71tcg img{height:24px}
45
+ ._bozgze3t{padding-inline-start:var(--ds-space-0,0)}
36
46
  ._c71l1tcg{max-height:24px}
37
47
  ._ca0q1ejb{padding-top:var(--ds-space-300,24px)}
48
+ ._ca0qze3t{padding-top:var(--ds-space-0,0)}
38
49
  ._e2oo1tcg span{width:24px}
39
50
  ._erub1tcg svg{min-height:24px}
40
51
  ._gire1tcg [data-smart-element-icon] img{height:24px}
@@ -43,16 +54,19 @@
43
54
  ._jbhf1tcg [data-smart-element-icon] span{min-width:24px}
44
55
  ._mezj1tcg img{width:24px}
45
56
  ._n3tdpxbi{padding-bottom:var(--ds-space-200,1pc)}
57
+ ._n3tdze3t{padding-bottom:var(--ds-space-0,0)}
58
+ ._otyrze3t{margin-bottom:var(--ds-space-0,0)}
46
59
  ._p12f1tcg{max-width:24px}
47
60
  ._prfw1tcg [data-smart-element-icon] svg{width:24px}
48
61
  ._q7cv1tcg span{min-width:24px}
49
62
  ._qci81tcg img{min-height:24px}
50
63
  ._rtys1tcg img{max-width:24px}
51
64
  ._u5f31ejb{padding-right:var(--ds-space-300,24px)}
65
+ ._u5f3ze3t{padding-right:var(--ds-space-0,0)}
52
66
  ._v5981tcg [data-smart-element-icon] span{min-height:24px}
53
67
  ._w8l51tcg svg{width:24px}
54
68
  ._x9xj1tcg [data-smart-element-icon] img{min-height:24px}
55
69
  ._xwbj1tcg svg{min-width:24px}
56
70
  ._yrry1tcg [data-smart-element-icon] span{height:24px}
57
71
  ._z15s1tcg [data-smart-element-icon] svg{min-height:24px}
58
- @media only screen and (max-width:980px){._3kllglyw .smart-link-resize-button{display:none}}
72
+ @media only screen and (max-width:980px){._1dt6glyw{display:none}._3kllglyw .smart-link-resize-button{display:none}}
@@ -10,6 +10,7 @@ import FullscreenExitIcon from '@atlaskit/icon/core/fullscreen-exit';
10
10
  import ShortcutIcon from '@atlaskit/icon/core/link-external';
11
11
  import { CloseButton, useModal } from '@atlaskit/modal-dialog';
12
12
  import { fg } from '@atlaskit/platform-feature-flags';
13
+ import { componentWithFG } from '@atlaskit/platform-feature-flags-react';
13
14
  import Tooltip from '@atlaskit/tooltip';
14
15
  import { messages } from '../../../../messages';
15
16
  import { Icon } from '../../../common/Icon';
@@ -24,6 +25,9 @@ var iconSize = '24px';
24
25
  var iconCss = null;
25
26
  var titleCss = null;
26
27
  var actionCss = null;
28
+ var buttonGroupCss = null;
29
+ var listItemCSS = null;
30
+ var resizeButtonCss = null;
27
31
  var LinkInfo = function LinkInfo(_ref) {
28
32
  var icon = _ref.icon,
29
33
  providerName = _ref.providerName,
@@ -128,4 +132,107 @@ var LinkInfo = function LinkInfo(_ref) {
128
132
  testId: testId
129
133
  }))));
130
134
  };
131
- export default LinkInfo;
135
+ var LinkInfoNew = function LinkInfoNew(_ref2) {
136
+ var focusRef = _ref2.focusRef,
137
+ icon = _ref2.icon,
138
+ providerName = _ref2.providerName,
139
+ onDownloadButtonClick = _ref2.onDownloadButtonClick,
140
+ onResizeButtonClick = _ref2.onResizeButtonClick,
141
+ onViewButtonClick = _ref2.onViewButtonClick,
142
+ size = _ref2.size,
143
+ testId = _ref2.testId,
144
+ title = _ref2.title;
145
+ var _useModal2 = useModal(),
146
+ onClose = _useModal2.onClose;
147
+ var _useIntl2 = useIntl(),
148
+ formatMessage = _useIntl2.formatMessage;
149
+ var downloadButton = useMemo(function () {
150
+ return /*#__PURE__*/React.createElement(LinkInfoButton, {
151
+ content: /*#__PURE__*/React.createElement(FormattedMessage, messages.download),
152
+ icon: function icon() {
153
+ return /*#__PURE__*/React.createElement(DownloadIcon, {
154
+ label: "",
155
+ spacing: "spacious",
156
+ color: "currentColor"
157
+ });
158
+ },
159
+ label: messages.download,
160
+ onClick: onDownloadButtonClick,
161
+ testId: "".concat(testId, "-download")
162
+ });
163
+ }, [onDownloadButtonClick, testId]);
164
+ var urlButton = useMemo(function () {
165
+ if (onViewButtonClick) {
166
+ var content = providerName ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.viewIn), " ", providerName) : /*#__PURE__*/React.createElement(FormattedMessage, messages.viewOriginal);
167
+ return /*#__PURE__*/React.createElement(LinkInfoButton, {
168
+ content: content,
169
+ icon: function icon() {
170
+ return /*#__PURE__*/React.createElement(ShortcutIcon, {
171
+ label: "",
172
+ spacing: "spacious",
173
+ color: "currentColor"
174
+ });
175
+ },
176
+ label: messages.viewOriginal,
177
+ onClick: onViewButtonClick,
178
+ testId: "".concat(testId, "-url")
179
+ });
180
+ }
181
+ }, [onViewButtonClick, providerName, testId]);
182
+ var sizeButton = useMemo(function () {
183
+ var isFullScreen = size === MAX_MODAL_SIZE;
184
+ var message = isFullScreen ? messages.preview_min_size : messages.preview_max_size;
185
+ var _icon2 = isFullScreen ? /*#__PURE__*/React.createElement(FullscreenExitIcon, {
186
+ label: "",
187
+ spacing: "spacious",
188
+ color: "currentColor"
189
+ }) : /*#__PURE__*/React.createElement(VidFullScreenOnIcon, {
190
+ label: "",
191
+ spacing: "spacious",
192
+ color: "currentColor"
193
+ });
194
+ return /*#__PURE__*/React.createElement(LinkInfoButton, {
195
+ content: /*#__PURE__*/React.createElement(FormattedMessage, message),
196
+ icon: function icon() {
197
+ return _icon2;
198
+ },
199
+ label: message,
200
+ onClick: onResizeButtonClick,
201
+ testId: "".concat(testId, "-resize")
202
+ });
203
+ }, [onResizeButtonClick, size, testId]);
204
+ return /*#__PURE__*/React.createElement("div", {
205
+ className: ax(["_zulpu2gc _1e0c1txw _19bv1ejb _u5f31ejb _ca0q1ejb _n3tdpxbi _1wpz1fhb _4t3i1tcg"])
206
+ }, icon && /*#__PURE__*/React.createElement("div", {
207
+ "data-testid": "".concat(testId, "-icon"),
208
+ className: ax(["_4t3i1tcg _gire1tcg _yrry1tcg _1bnm1tcg _bna71tcg _1xjx1tcg _17521tcg _1tke1tcg _x9xj1tcg _v5981tcg _z15s1tcg _qci81tcg _15iz1tcg _erub1tcg _c71l1tcg _1q121tcg _2s1x1tcg _1rh41tcg _19l31tcg _1pr21tcg _1u5t1tcg _1bsb1tcg _1xyl1tcg _1h1b1tcg _prfw1tcg _mezj1tcg _e2oo1tcg _w8l51tcg _1ul91tcg _1ekg1tcg _jbhf1tcg _11hh1tcg _1rg21tcg _q7cv1tcg _xwbj1tcg _p12f1tcg _1mj01tcg _1r9c1tcg _1xch1tcg _rtys1tcg _b8nk1tcg _4x201tcg"])
209
+ }, /*#__PURE__*/React.createElement(Icon, icon)), /*#__PURE__*/React.createElement("div", {
210
+ className: ax(["_16jlkb7n _1o9zidpf _i0dlf1ug _1e0c1txw _2lx21bp4 _1bah1h6o _1wpz1fhb"])
211
+ }, /*#__PURE__*/React.createElement(Heading, {
212
+ size: "small",
213
+ color: "color.text",
214
+ ref: focusRef,
215
+ testId: "".concat(testId, "-title")
216
+ }, title)), /*#__PURE__*/React.createElement("ul", {
217
+ role: "list",
218
+ className: ax(["_16jlidpf _1o9zidpf _i0dl1wug _zulp1b66 _qtt8glyw _1e0c1txw _19pkze3t _2hwxze3t _otyrze3t _18u0ze3t _1pfhze3t _6rthze3t _ca0qze3t _u5f3ze3t _n3tdze3t _19bvze3t _bozgze3t"])
219
+ }, onDownloadButtonClick && /*#__PURE__*/React.createElement("li", {
220
+ className: ax(["_4cvr1h6o _19pkidpf"])
221
+ }, downloadButton), /*#__PURE__*/React.createElement("li", {
222
+ className: ax(["_4cvr1h6o _19pkidpf"])
223
+ }, urlButton), /*#__PURE__*/React.createElement("li", {
224
+ className: ax(["_4cvr1h6o _19pkidpf", "_1dt6glyw"])
225
+ }, sizeButton), /*#__PURE__*/React.createElement("li", {
226
+ className: ax(["_4cvr1h6o _19pkidpf"])
227
+ }, /*#__PURE__*/React.createElement(Tooltip, {
228
+ content: /*#__PURE__*/React.createElement(FormattedMessage, messages.preview_close),
229
+ hideTooltipOnClick: true,
230
+ tag: "span",
231
+ testId: "".concat(testId, "-close-tooltip")
232
+ }, /*#__PURE__*/React.createElement(CloseButton, {
233
+ onClick: onClose,
234
+ label: formatMessage(messages.preview_close),
235
+ testId: testId
236
+ })))));
237
+ };
238
+ export default componentWithFG('platform_navx_sl_a11y_embed_modal', LinkInfoNew, LinkInfo);
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import React, { useCallback, useRef, useState } from 'react';
4
4
  import ModalDialog, { ModalBody, ModalTransition } from '@atlaskit/modal-dialog';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { useThemeObserver } from '@atlaskit/tokens';
6
7
  import { SmartLinkSize } from '../../constants';
7
8
  import useInvokeClientAction from '../../state/hooks/use-invoke-client-action';
@@ -51,6 +52,9 @@ var EmbedModal = function EmbedModal(_ref) {
51
52
  width = _useState4[0],
52
53
  setWidth = _useState4[1];
53
54
  var openAt = useRef();
55
+ var focusRef = fg('platform_navx_sl_a11y_embed_modal') ?
56
+ // eslint-disable-next-line react-hooks/rules-of-hooks
57
+ useRef(null) : undefined;
54
58
  var invoke = useInvokeClientAction({
55
59
  fireEvent: fireEvent
56
60
  });
@@ -94,7 +98,9 @@ var EmbedModal = function EmbedModal(_ref) {
94
98
  if (previewUrl && isSupportTheming) {
95
99
  previewUrl = getPreviewUrlWithTheme(previewUrl, themeState);
96
100
  }
97
- return /*#__PURE__*/React.createElement(ModalTransition, null, isOpen && /*#__PURE__*/React.createElement(ModalDialog, {
101
+ return /*#__PURE__*/React.createElement(ModalTransition, null, isOpen && /*#__PURE__*/React.createElement(ModalDialog, _extends({}, fg('platform_navx_sl_a11y_embed_modal') ? {
102
+ autoFocus: focusRef
103
+ } : undefined, {
98
104
  height: "100%",
99
105
  onClose: handleOnClose,
100
106
  onCloseComplete: handleOnCloseComplete,
@@ -103,13 +109,16 @@ var EmbedModal = function EmbedModal(_ref) {
103
109
  width: width,
104
110
  label: title,
105
111
  isBlanketHidden: isBlanketHidden
106
- }, /*#__PURE__*/React.createElement(LinkInfo, {
112
+ }), /*#__PURE__*/React.createElement(LinkInfo, _extends({
107
113
  icon: linkIcon && {
108
114
  icon: /*#__PURE__*/React.createElement(BaseIconElement, _extends({}, linkIcon, {
109
115
  size: SmartLinkSize.Large
110
116
  })),
111
117
  isFlexibleUi: true
112
- },
118
+ }
119
+ }, fg('platform_navx_sl_a11y_embed_modal') ? {
120
+ focusRef: focusRef
121
+ } : undefined, {
113
122
  providerName: providerName,
114
123
  onViewButtonClick: invokeViewAction ? handleOnViewActionClick : undefined,
115
124
  onDownloadButtonClick: invokeDownloadAction ? handleOnDownloadActionClick : undefined,
@@ -117,7 +126,7 @@ var EmbedModal = function EmbedModal(_ref) {
117
126
  size: width,
118
127
  title: title,
119
128
  testId: testId
120
- }), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(EmbedContent, {
129
+ })), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(EmbedContent, {
121
130
  isTrusted: isTrusted,
122
131
  name: iframeName,
123
132
  src: previewUrl,
@@ -17,7 +17,6 @@ export declare const isIframe: () => boolean;
17
17
  export declare const isSpecialKey: (event: React.MouseEvent | React.KeyboardEvent) => boolean;
18
18
  export declare const isSpecialClick: (event: React.MouseEvent) => boolean;
19
19
  export declare const getIconForFileType: (fileMimeType: string) => React.ReactNode | undefined;
20
- export declare const getLabelForFileType: (fileMimeType: string) => React.ReactNode | undefined;
21
20
  export declare const getLazyIcons: () => Partial<Record<IconType, {
22
21
  default: () => Promise<unknown>;
23
22
  large?: () => Promise<unknown>;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import React from 'react';
1
6
  import { type LinkInfoProps } from './types';
2
- declare const LinkInfo: ({ icon, providerName, onDownloadButtonClick, onResizeButtonClick, onViewButtonClick, size, testId, title, }: LinkInfoProps) => JSX.Element;
3
- export default LinkInfo;
7
+ declare const _default: React.FC<LinkInfoProps>;
8
+ export default _default;
@@ -1,5 +1,7 @@
1
+ import type { RefObject } from 'react';
1
2
  import { type IconProps } from '../../../common/Icon';
2
3
  export type LinkInfoProps = {
4
+ focusRef?: RefObject<HTMLHeadingElement>;
3
5
  icon?: IconProps;
4
6
  onDownloadButtonClick?: () => void;
5
7
  onResizeButtonClick?: () => void;
@@ -17,7 +17,6 @@ export declare const isIframe: () => boolean;
17
17
  export declare const isSpecialKey: (event: React.MouseEvent | React.KeyboardEvent) => boolean;
18
18
  export declare const isSpecialClick: (event: React.MouseEvent) => boolean;
19
19
  export declare const getIconForFileType: (fileMimeType: string) => React.ReactNode | undefined;
20
- export declare const getLabelForFileType: (fileMimeType: string) => React.ReactNode | undefined;
21
20
  export declare const getLazyIcons: () => Partial<Record<IconType, {
22
21
  default: () => Promise<unknown>;
23
22
  large?: () => Promise<unknown>;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import React from 'react';
1
6
  import { type LinkInfoProps } from './types';
2
- declare const LinkInfo: ({ icon, providerName, onDownloadButtonClick, onResizeButtonClick, onViewButtonClick, size, testId, title, }: LinkInfoProps) => JSX.Element;
3
- export default LinkInfo;
7
+ declare const _default: React.FC<LinkInfoProps>;
8
+ export default _default;
@@ -1,5 +1,7 @@
1
+ import type { RefObject } from 'react';
1
2
  import { type IconProps } from '../../../common/Icon';
2
3
  export type LinkInfoProps = {
4
+ focusRef?: RefObject<HTMLHeadingElement>;
3
5
  icon?: IconProps;
4
6
  onDownloadButtonClick?: () => void;
5
7
  onResizeButtonClick?: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "43.17.4",
3
+ "version": "43.17.6",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -39,7 +39,7 @@
39
39
  "@atlaskit/dropdown-menu": "^16.3.0",
40
40
  "@atlaskit/embedded-confluence": "^4.3.0",
41
41
  "@atlaskit/feature-gate-js-client": "^5.5.0",
42
- "@atlaskit/form": "^15.1.0",
42
+ "@atlaskit/form": "^15.2.0",
43
43
  "@atlaskit/frontend-utilities": "^3.2.0",
44
44
  "@atlaskit/heading": "^5.2.0",
45
45
  "@atlaskit/icon": "^29.3.0",
@@ -56,13 +56,13 @@
56
56
  "@atlaskit/linking-common": "^9.9.0",
57
57
  "@atlaskit/linking-types": "^14.2.0",
58
58
  "@atlaskit/logo": "^19.9.0",
59
- "@atlaskit/lozenge": "^13.2.0",
59
+ "@atlaskit/lozenge": "^13.3.0",
60
60
  "@atlaskit/menu": "^8.4.0",
61
61
  "@atlaskit/modal-dialog": "^14.9.0",
62
62
  "@atlaskit/outbound-auth-flow-client": "^3.4.0",
63
63
  "@atlaskit/platform-feature-flags": "^1.1.0",
64
64
  "@atlaskit/platform-feature-flags-react": "^0.4.0",
65
- "@atlaskit/popup": "^4.8.0",
65
+ "@atlaskit/popup": "^4.9.0",
66
66
  "@atlaskit/primitives": "^17.0.0",
67
67
  "@atlaskit/section-message": "^8.11.0",
68
68
  "@atlaskit/select": "^21.6.0",
@@ -71,7 +71,7 @@
71
71
  "@atlaskit/textfield": "^8.2.0",
72
72
  "@atlaskit/theme": "^21.0.0",
73
73
  "@atlaskit/tile": "^1.0.0",
74
- "@atlaskit/tmp-editor-statsig": "^16.0.0",
74
+ "@atlaskit/tmp-editor-statsig": "^16.3.0",
75
75
  "@atlaskit/tokens": "^9.0.0",
76
76
  "@atlaskit/tooltip": "^20.11.0",
77
77
  "@atlaskit/ufo": "^0.4.0",
@@ -105,7 +105,7 @@
105
105
  "@atlaskit/ssr": "workspace:^",
106
106
  "@atlassian/analytics-tooling": "workspace:^",
107
107
  "@atlassian/feature-flags-test-utils": "^1.0.0",
108
- "@atlassian/gemini": "^1.25.0",
108
+ "@atlassian/gemini": "^1.27.0",
109
109
  "@atlassian/testing-library": "^0.4.0",
110
110
  "@testing-library/dom": "^10.1.0",
111
111
  "@testing-library/jest-dom": "^6.4.5",
@@ -231,11 +231,17 @@
231
231
  "platform_navx_flex_card_status_dropdown_a11y_fix": {
232
232
  "type": "boolean"
233
233
  },
234
+ "platform_navx_sl_a11y_embed_modal": {
235
+ "type": "boolean"
236
+ },
234
237
  "navx-2825-eslint-translation-fix-linking-platform": {
235
238
  "type": "boolean"
236
239
  },
237
240
  "platform_navx_send_context_to_ugs_for_rel_links": {
238
241
  "type": "boolean"
242
+ },
243
+ "navx-2827-eslint-object-translation-smart-links": {
244
+ "type": "boolean"
239
245
  }
240
246
  },
241
247
  "compassUnitTestMetricSourceId": "ari:cloud:compass:a436116f-02ce-4520-8fbb-7301462a1674:metric-source/c5751cc6-3513-4070-9deb-af31e86aed34/f74ef1bc-7240-4aac-9dc8-9dc43b502089"