@atlaskit/smart-card 43.4.2 → 43.4.4

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 (28) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/messages.js +30 -0
  3. package/dist/cjs/utils/analytics/analytics.js +1 -1
  4. package/dist/cjs/view/EmbedModal/components/link-info/index.js +3 -17
  5. package/dist/cjs/view/HoverCard/components/views/unauthorised/index.js +10 -3
  6. package/dist/cjs/view/LinkUrl/index.js +1 -1
  7. package/dist/cjs/view/common/UnauthorisedViewContent.js +29 -3
  8. package/dist/es2019/messages.js +30 -0
  9. package/dist/es2019/utils/analytics/analytics.js +1 -1
  10. package/dist/es2019/view/EmbedModal/components/link-info/index.js +3 -15
  11. package/dist/es2019/view/HoverCard/components/views/unauthorised/index.js +10 -3
  12. package/dist/es2019/view/LinkUrl/index.js +1 -1
  13. package/dist/es2019/view/common/UnauthorisedViewContent.js +29 -3
  14. package/dist/esm/messages.js +30 -0
  15. package/dist/esm/utils/analytics/analytics.js +1 -1
  16. package/dist/esm/view/EmbedModal/components/link-info/index.js +3 -17
  17. package/dist/esm/view/HoverCard/components/views/unauthorised/index.js +10 -3
  18. package/dist/esm/view/LinkUrl/index.js +1 -1
  19. package/dist/esm/view/common/UnauthorisedViewContent.js +29 -3
  20. package/dist/types/messages.d.ts +1 -1
  21. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +14 -36
  22. package/dist/types/view/HoverCard/components/views/unauthorised/index.d.ts +1 -1
  23. package/dist/types/view/common/UnauthorisedViewContent.d.ts +7 -1
  24. package/dist/types-ts4.5/messages.d.ts +1 -1
  25. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +14 -36
  26. package/dist/types-ts4.5/view/HoverCard/components/views/unauthorised/index.d.ts +1 -1
  27. package/dist/types-ts4.5/view/common/UnauthorisedViewContent.d.ts +7 -1
  28. package/package.json +8 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 43.4.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`6b95bfd7b3619`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6b95bfd7b3619) -
8
+ NAVX-1995 cleaning up navx-1895-a11y-close-button-in-preview-modal
9
+ - Updated dependencies
10
+
11
+ ## 43.4.3
12
+
13
+ ### Patch Changes
14
+
15
+ - [`5f187d238dd42`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5f187d238dd42) -
16
+ [ux] Add experiment variations for hovercard unauthorized state
17
+ - [`b01d4bfa70a61`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b01d4bfa70a61) -
18
+ Internal refactoring - deduplication of FlexCard related types
19
+ - Updated dependencies
20
+
3
21
  ## 43.4.2
4
22
 
5
23
  ### Patch Changes
@@ -185,6 +185,31 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
185
185
  defaultMessage: 'Connect your account to collaborate on work across Atlassian products.',
186
186
  description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view and we do not have the providers name.'
187
187
  },
188
+ experiment_connect_unauthorised_account_action: {
189
+ id: 'fabric.linking.experiment_connect_unauthorised_account_action.non-final',
190
+ defaultMessage: 'Connect {context}',
191
+ description: 'Shown on a button to connect user external account to their Atlassian account.'
192
+ },
193
+ experiment_connect_link_account_card_name_title: {
194
+ id: 'fabric.linking.experiment_connect_link_account_card_name.non-final',
195
+ defaultMessage: 'Get more out of {context}',
196
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. Displayed in title.'
197
+ },
198
+ experiment_connect_hovercard_description_1: {
199
+ id: 'fabric.linking.experiment_connect_hovercard_description_1.non-final',
200
+ defaultMessage: 'Connect your {context} account to turn simple URLs into rich, interactive previews, making it easier to collaborate and stay in context.',
201
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 1)'
202
+ },
203
+ experiment_connect_hovercard_description_2: {
204
+ id: 'fabric.linking.experiment_connect_hovercard_description_2.non-final',
205
+ defaultMessage: 'Connect your {context} account to turn simple URLs into rich, interactive previews and unlock more AI experiences, making it easier to collaborate and stay in context.',
206
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 2)'
207
+ },
208
+ experiment_connect_hovercard_description_3: {
209
+ id: 'fabric.linking.experiment_connect_hovercard_description_3.non-final',
210
+ defaultMessage: 'Transform ordinary URLs into rich, interactive previews of your {context} content, and unlock enhanced AI-powered features within your Atlassian apps.',
211
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 3)'
212
+ },
188
213
  continue: {
189
214
  id: 'fabric.linking.continue',
190
215
  defaultMessage: 'Continue',
@@ -330,6 +355,11 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
330
355
  defaultMessage: 'Learn more about Smart Links.',
331
356
  description: 'An anchor link to redirect user to a page about Smart Links.'
332
357
  },
358
+ experiment_learn_more_about_smart_links: {
359
+ id: 'fabric.linking.experiment_learn_more_about_smart_links.non-final',
360
+ defaultMessage: 'Learn more about smart link security and permissions.',
361
+ description: 'An anchor link to redirect user to a page about Smart Links.'
362
+ },
333
363
  learn_more_about_connecting_account: {
334
364
  id: 'fabric.linking.learn_more_about_connecting_account',
335
365
  defaultMessage: 'Learn more about connecting your account to Atlassian products.',
@@ -11,7 +11,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
11
11
  var context = exports.context = {
12
12
  componentName: 'smart-cards',
13
13
  packageName: "@atlaskit/smart-card",
14
- packageVersion: "0.0.0-development"
14
+ packageVersion: "43.4.3"
15
15
  };
16
16
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
17
17
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -14,13 +14,11 @@ var _reactIntlNext = require("react-intl-next");
14
14
  var _heading = _interopRequireDefault(require("@atlaskit/heading"));
15
15
  var _download = _interopRequireDefault(require("@atlaskit/icon/core/download"));
16
16
  var _fullscreenExit = _interopRequireDefault(require("@atlaskit/icon/core/fullscreen-exit"));
17
- var _cross = _interopRequireDefault(require("@atlaskit/icon/core/migration/cross"));
18
17
  var _fullscreenEnterVidFullScreenOn = _interopRequireDefault(require("@atlaskit/icon/core/migration/fullscreen-enter--vid-full-screen-on"));
19
18
  var _linkExternalShortcut = _interopRequireDefault(require("@atlaskit/icon/core/migration/link-external--shortcut"));
20
19
  var _download2 = _interopRequireDefault(require("@atlaskit/icon/glyph/download"));
21
20
  var _vidFullScreenOff = _interopRequireDefault(require("@atlaskit/icon/glyph/vid-full-screen-off"));
22
21
  var _modalDialog = require("@atlaskit/modal-dialog");
23
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
24
22
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
25
23
  var _messages = require("../../../../messages");
26
24
  var _Icon = require("../../../common/Icon");
@@ -131,7 +129,7 @@ var LinkInfo = function LinkInfo(_ref) {
131
129
  "aria-hidden": true
132
130
  })), /*#__PURE__*/_react.default.createElement("div", {
133
131
  className: (0, _runtime.ax)(["_16jlidpf _1o9zidpf _i0dl1wug _zulp1b66 _1e0c1txw _3kllglyw"])
134
- }, downloadButton, urlButton, sizeButton, (0, _platformFeatureFlags.fg)('navx-1895-a11y-close-button-in-preview-modal') ? /*#__PURE__*/_react.default.createElement(_tooltip.default, {
132
+ }, downloadButton, urlButton, sizeButton, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
135
133
  content: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.preview_close),
136
134
  hideTooltipOnClick: true,
137
135
  tag: "span",
@@ -139,19 +137,7 @@ var LinkInfo = function LinkInfo(_ref) {
139
137
  }, /*#__PURE__*/_react.default.createElement(_modalDialog.CloseButton, {
140
138
  onClick: onClose,
141
139
  label: formatMessage(_messages.messages.preview_close),
142
- testId: "".concat(testId, "-close-button")
143
- })) : /*#__PURE__*/_react.default.createElement(_linkInfoButton.default, {
144
- content: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.preview_close),
145
- icon: function icon() {
146
- return /*#__PURE__*/_react.default.createElement(_cross.default, {
147
- label: _messages.messages.preview_close.defaultMessage,
148
- color: "currentColor",
149
- spacing: "spacious"
150
- });
151
- },
152
- label: _messages.messages.preview_close,
153
- onClick: onClose,
154
- testId: "".concat(testId, "-close")
155
- })));
140
+ testId: testId
141
+ }))));
156
142
  };
157
143
  var _default = exports.default = LinkInfo;
@@ -13,6 +13,7 @@ var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
15
  var _reactIntlNext = require("react-intl-next");
16
+ var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
16
17
  var _linkExtractors = require("@atlaskit/link-extractors");
17
18
  var _useAnalyticsEvents2 = require("../../../../../common/analytics/generated/use-analytics-events");
18
19
  var _constants = require("../../../../../constants");
@@ -49,17 +50,22 @@ var HoverCardUnauthorisedView = function HoverCardUnauthorisedView(_ref) {
49
50
  authorize(_constants.CardDisplay.HoverCardPreview);
50
51
  }
51
52
  }, [authorize, fireEvent]);
53
+ var hoverCardExperimentCohort = providerName === 'Google' ? _featureGateJsClient.default.getExperimentValue('platform_editor_google_hovercard_experiment', 'cohort', 'control') : 'control';
54
+ var connectActionMessage = hoverCardExperimentCohort === 'test1' || hoverCardExperimentCohort === 'test2' || hoverCardExperimentCohort === 'test3' ? _messages.messages.experiment_connect_unauthorised_account_action : _messages.messages.connect_unauthorised_account_action;
52
55
  var actions = (0, _react.useMemo)(function () {
53
56
  return [{
54
57
  name: _constants.ActionName.CustomAction,
55
- content: /*#__PURE__*/React.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages.connect_unauthorised_account_action, {
58
+ content: /*#__PURE__*/React.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, connectActionMessage, {
56
59
  values: {
57
60
  context: providerName
58
61
  }
59
62
  })),
60
63
  onClick: handleAuthorize
61
64
  }];
62
- }, [handleAuthorize, providerName]);
65
+ }, [handleAuthorize, providerName, connectActionMessage]);
66
+ if (hoverCardExperimentCohort === 'test4') {
67
+ return null;
68
+ }
63
69
  return /*#__PURE__*/React.createElement(_FlexibleCard.default, (0, _extends2.default)({}, flexibleCardProps, {
64
70
  testId: testId
65
71
  }), /*#__PURE__*/React.createElement(_blocks.CustomBlock, {
@@ -74,7 +80,8 @@ var HoverCardUnauthorisedView = function HoverCardUnauthorisedView(_ref) {
74
80
  className: (0, _runtime.ax)(["_11c8dcr7 _19pku2gc"])
75
81
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_UnauthorisedViewContent.default, {
76
82
  providerName: providerName,
77
- isProductIntegrationSupported: isProductIntegrationSupported
83
+ isProductIntegrationSupported: isProductIntegrationSupported,
84
+ appearance: hoverCardExperimentCohort !== 'control' ? 'hoverCardPreview' : undefined
78
85
  }))), /*#__PURE__*/React.createElement(_blocks.CustomBlock, {
79
86
  testId: "".concat(testId, "-button"),
80
87
  className: (0, _runtime.ax)(["_1bahesu3 _19pku2gc"])
@@ -22,7 +22,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId", "isLink
22
22
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
23
23
  var PACKAGE_DATA = {
24
24
  packageName: "@atlaskit/smart-card",
25
- packageVersion: "0.0.0-development",
25
+ packageVersion: "43.4.3",
26
26
  componentName: 'linkUrl'
27
27
  };
28
28
  var Anchor = (0, _click.withLinkClickedEvent)('a');
@@ -9,12 +9,21 @@ exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _reactIntlNext = require("react-intl-next");
12
+ var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
12
13
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
13
14
  var _compiled = require("@atlaskit/primitives/compiled");
14
15
  var _useAnalyticsEvents2 = require("../../common/analytics/generated/use-analytics-events");
15
16
  var _constants = require("../../constants");
16
17
  var _messages = require("../../messages");
17
18
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
19
+ var cohortMessages = {
20
+ control: _messages.messages.connect_unauthorised_account_description,
21
+ test1: _messages.messages.experiment_connect_hovercard_description_1,
22
+ test2: _messages.messages.experiment_connect_hovercard_description_2,
23
+ test3: _messages.messages.experiment_connect_hovercard_description_3,
24
+ test4: _messages.messages.connect_unauthorised_account_description
25
+ };
26
+
18
27
  /**
19
28
  * This component is used in unauthorized views of a smart link.
20
29
  * It represents the main text that provides a user with information on how to connect their account
@@ -23,14 +32,31 @@ var UnauthorisedViewContent = function UnauthorisedViewContent(_ref) {
23
32
  var providerName = _ref.providerName,
24
33
  isProductIntegrationSupported = _ref.isProductIntegrationSupported,
25
34
  _ref$testId = _ref.testId,
26
- testId = _ref$testId === void 0 ? 'unauthorised-view-content' : _ref$testId;
35
+ testId = _ref$testId === void 0 ? 'unauthorised-view-content' : _ref$testId,
36
+ appearance = _ref.appearance;
27
37
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
28
38
  fireEvent = _useAnalyticsEvents.fireEvent;
29
39
  var handleLearnMoreClick = (0, _react.useCallback)(function () {
30
40
  fireEvent('ui.button.clicked.learnMore', {});
31
41
  }, [fireEvent]);
32
- var learnMoreMessage = isProductIntegrationSupported ? (0, _platformFeatureFlags.fg)('product-terminology-refresh') ? _messages.messages.learn_more_about_connecting_account_appify : _messages.messages.learn_more_about_connecting_account : _messages.messages.learn_more_about_smart_links;
33
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, providerName ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, (0, _platformFeatureFlags.fg)('product-terminology-refresh') ? _messages.messages.connect_unauthorised_account_description_appify : _messages.messages.connect_unauthorised_account_description, {
42
+ var hoverCardExperimentCohort = providerName === 'Google' && appearance === 'hoverCardPreview' ? _featureGateJsClient.default.getExperimentValue('platform_editor_google_hovercard_experiment', 'cohort', 'control') : 'control';
43
+ var learnMoreMessage;
44
+ if (isProductIntegrationSupported) {
45
+ if (hoverCardExperimentCohort === 'control') {
46
+ learnMoreMessage = (0, _platformFeatureFlags.fg)('product-terminology-refresh') ? _messages.messages.learn_more_about_connecting_account_appify : _messages.messages.learn_more_about_connecting_account;
47
+ } else {
48
+ learnMoreMessage = _messages.messages.experiment_learn_more_about_smart_links;
49
+ }
50
+ } else {
51
+ learnMoreMessage = _messages.messages.learn_more_about_smart_links;
52
+ }
53
+ var unauthorizedAccountDescriptionMessage;
54
+ if (hoverCardExperimentCohort === 'control') {
55
+ unauthorizedAccountDescriptionMessage = (0, _platformFeatureFlags.fg)('product-terminology-refresh') ? _messages.messages.connect_unauthorised_account_description_appify : _messages.messages.connect_unauthorised_account_description;
56
+ } else {
57
+ unauthorizedAccountDescriptionMessage = cohortMessages[hoverCardExperimentCohort];
58
+ }
59
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, providerName ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, unauthorizedAccountDescriptionMessage, {
34
60
  values: {
35
61
  context: providerName
36
62
  }
@@ -179,6 +179,31 @@ export const messages = defineMessages({
179
179
  defaultMessage: 'Connect your account to collaborate on work across Atlassian products.',
180
180
  description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view and we do not have the providers name.'
181
181
  },
182
+ experiment_connect_unauthorised_account_action: {
183
+ id: 'fabric.linking.experiment_connect_unauthorised_account_action.non-final',
184
+ defaultMessage: 'Connect {context}',
185
+ description: 'Shown on a button to connect user external account to their Atlassian account.'
186
+ },
187
+ experiment_connect_link_account_card_name_title: {
188
+ id: 'fabric.linking.experiment_connect_link_account_card_name.non-final',
189
+ defaultMessage: 'Get more out of {context}',
190
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. Displayed in title.'
191
+ },
192
+ experiment_connect_hovercard_description_1: {
193
+ id: 'fabric.linking.experiment_connect_hovercard_description_1.non-final',
194
+ defaultMessage: 'Connect your {context} account to turn simple URLs into rich, interactive previews, making it easier to collaborate and stay in context.',
195
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 1)'
196
+ },
197
+ experiment_connect_hovercard_description_2: {
198
+ id: 'fabric.linking.experiment_connect_hovercard_description_2.non-final',
199
+ defaultMessage: 'Connect your {context} account to turn simple URLs into rich, interactive previews and unlock more AI experiences, making it easier to collaborate and stay in context.',
200
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 2)'
201
+ },
202
+ experiment_connect_hovercard_description_3: {
203
+ id: 'fabric.linking.experiment_connect_hovercard_description_3.non-final',
204
+ defaultMessage: 'Transform ordinary URLs into rich, interactive previews of your {context} content, and unlock enhanced AI-powered features within your Atlassian apps.',
205
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 3)'
206
+ },
182
207
  continue: {
183
208
  id: 'fabric.linking.continue',
184
209
  defaultMessage: 'Continue',
@@ -324,6 +349,11 @@ export const messages = defineMessages({
324
349
  defaultMessage: 'Learn more about Smart Links.',
325
350
  description: 'An anchor link to redirect user to a page about Smart Links.'
326
351
  },
352
+ experiment_learn_more_about_smart_links: {
353
+ id: 'fabric.linking.experiment_learn_more_about_smart_links.non-final',
354
+ defaultMessage: 'Learn more about smart link security and permissions.',
355
+ description: 'An anchor link to redirect user to a page about Smart Links.'
356
+ },
327
357
  learn_more_about_connecting_account: {
328
358
  id: 'fabric.linking.learn_more_about_connecting_account',
329
359
  defaultMessage: 'Learn more about connecting your account to Atlassian products.',
@@ -2,7 +2,7 @@ export const ANALYTICS_CHANNEL = 'media';
2
2
  export const context = {
3
3
  componentName: 'smart-cards',
4
4
  packageName: "@atlaskit/smart-card",
5
- packageVersion: "0.0.0-development"
5
+ packageVersion: "43.4.3"
6
6
  };
7
7
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
8
8
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -6,13 +6,11 @@ import { FormattedMessage, useIntl } from 'react-intl-next';
6
6
  import Heading from '@atlaskit/heading';
7
7
  import DownloadIcon from '@atlaskit/icon/core/download';
8
8
  import FullscreenExitIcon from '@atlaskit/icon/core/fullscreen-exit';
9
- import CrossIcon from '@atlaskit/icon/core/migration/cross';
10
9
  import VidFullScreenOnIcon from '@atlaskit/icon/core/migration/fullscreen-enter--vid-full-screen-on';
11
10
  import ShortcutIcon from '@atlaskit/icon/core/migration/link-external--shortcut';
12
11
  import DownloadIconLegacy from '@atlaskit/icon/glyph/download';
13
12
  import VidFullScreenOffIcon from '@atlaskit/icon/glyph/vid-full-screen-off';
14
13
  import { CloseButton, useModal } from '@atlaskit/modal-dialog';
15
- import { fg } from '@atlaskit/platform-feature-flags';
16
14
  import Tooltip from '@atlaskit/tooltip';
17
15
  import { messages } from '../../../../messages';
18
16
  import { Icon } from '../../../common/Icon';
@@ -119,7 +117,7 @@ const LinkInfo = ({
119
117
  "aria-hidden": true
120
118
  })), /*#__PURE__*/React.createElement("div", {
121
119
  className: ax(["_16jlidpf _1o9zidpf _i0dl1wug _zulp1b66 _1e0c1txw _3kllglyw"])
122
- }, downloadButton, urlButton, sizeButton, fg('navx-1895-a11y-close-button-in-preview-modal') ? /*#__PURE__*/React.createElement(Tooltip, {
120
+ }, downloadButton, urlButton, sizeButton, /*#__PURE__*/React.createElement(Tooltip, {
123
121
  content: /*#__PURE__*/React.createElement(FormattedMessage, messages.preview_close),
124
122
  hideTooltipOnClick: true,
125
123
  tag: "span",
@@ -127,17 +125,7 @@ const LinkInfo = ({
127
125
  }, /*#__PURE__*/React.createElement(CloseButton, {
128
126
  onClick: onClose,
129
127
  label: formatMessage(messages.preview_close),
130
- testId: `${testId}-close-button`
131
- })) : /*#__PURE__*/React.createElement(LinkInfoButton, {
132
- content: /*#__PURE__*/React.createElement(FormattedMessage, messages.preview_close),
133
- icon: () => /*#__PURE__*/React.createElement(CrossIcon, {
134
- label: messages.preview_close.defaultMessage,
135
- color: "currentColor",
136
- spacing: "spacious"
137
- }),
138
- label: messages.preview_close,
139
- onClick: onClose,
140
- testId: `${testId}-close`
141
- })));
128
+ testId: testId
129
+ }))));
142
130
  };
143
131
  export default LinkInfo;
@@ -5,6 +5,7 @@ import * as React from 'react';
5
5
  import { ax, ix } from "@compiled/react/runtime";
6
6
  import { useCallback, useMemo } from 'react';
7
7
  import { FormattedMessage } from 'react-intl-next';
8
+ import FeatureGates from '@atlaskit/feature-gate-js-client';
8
9
  import { extractSmartLinkProvider } from '@atlaskit/link-extractors';
9
10
  import { useAnalyticsEvents } from '../../../../../common/analytics/generated/use-analytics-events';
10
11
  import { ActionName, CardDisplay } from '../../../../../constants';
@@ -43,15 +44,20 @@ const HoverCardUnauthorisedView = ({
43
44
  authorize(CardDisplay.HoverCardPreview);
44
45
  }
45
46
  }, [authorize, fireEvent]);
47
+ const hoverCardExperimentCohort = providerName === 'Google' ? FeatureGates.getExperimentValue('platform_editor_google_hovercard_experiment', 'cohort', 'control') : 'control';
48
+ const connectActionMessage = hoverCardExperimentCohort === 'test1' || hoverCardExperimentCohort === 'test2' || hoverCardExperimentCohort === 'test3' ? messages.experiment_connect_unauthorised_account_action : messages.connect_unauthorised_account_action;
46
49
  const actions = useMemo(() => [{
47
50
  name: ActionName.CustomAction,
48
- content: /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages.connect_unauthorised_account_action, {
51
+ content: /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, connectActionMessage, {
49
52
  values: {
50
53
  context: providerName
51
54
  }
52
55
  })),
53
56
  onClick: handleAuthorize
54
- }], [handleAuthorize, providerName]);
57
+ }], [handleAuthorize, providerName, connectActionMessage]);
58
+ if (hoverCardExperimentCohort === 'test4') {
59
+ return null;
60
+ }
55
61
  return /*#__PURE__*/React.createElement(FlexibleCard, _extends({}, flexibleCardProps, {
56
62
  testId: testId
57
63
  }), /*#__PURE__*/React.createElement(CustomBlock, {
@@ -66,7 +72,8 @@ const HoverCardUnauthorisedView = ({
66
72
  className: ax(["_11c8dcr7 _19pku2gc"])
67
73
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(UnauthorisedViewContent, {
68
74
  providerName: providerName,
69
- isProductIntegrationSupported: isProductIntegrationSupported
75
+ isProductIntegrationSupported: isProductIntegrationSupported,
76
+ appearance: hoverCardExperimentCohort !== 'control' ? 'hoverCardPreview' : undefined
70
77
  }))), /*#__PURE__*/React.createElement(CustomBlock, {
71
78
  testId: `${testId}-button`,
72
79
  className: ax(["_1bahesu3 _19pku2gc"])
@@ -12,7 +12,7 @@ import LinkWarningModal from './LinkWarningModal';
12
12
  import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
13
13
  const PACKAGE_DATA = {
14
14
  packageName: "@atlaskit/smart-card",
15
- packageVersion: "0.0.0-development",
15
+ packageVersion: "43.4.3",
16
16
  componentName: 'linkUrl'
17
17
  };
18
18
  const Anchor = withLinkClickedEvent('a');
@@ -1,11 +1,20 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback } from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
+ import FeatureGates from '@atlaskit/feature-gate-js-client';
4
5
  import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { Anchor } from '@atlaskit/primitives/compiled';
6
7
  import { useAnalyticsEvents } from '../../common/analytics/generated/use-analytics-events';
7
8
  import { CONTENT_URL_3P_ACCOUNT_AUTH, CONTENT_URL_SECURITY_AND_PERMISSIONS } from '../../constants';
8
9
  import { messages } from '../../messages';
10
+ const cohortMessages = {
11
+ control: messages.connect_unauthorised_account_description,
12
+ test1: messages.experiment_connect_hovercard_description_1,
13
+ test2: messages.experiment_connect_hovercard_description_2,
14
+ test3: messages.experiment_connect_hovercard_description_3,
15
+ test4: messages.connect_unauthorised_account_description
16
+ };
17
+
9
18
  /**
10
19
  * This component is used in unauthorized views of a smart link.
11
20
  * It represents the main text that provides a user with information on how to connect their account
@@ -13,7 +22,8 @@ import { messages } from '../../messages';
13
22
  const UnauthorisedViewContent = ({
14
23
  providerName,
15
24
  isProductIntegrationSupported,
16
- testId = 'unauthorised-view-content'
25
+ testId = 'unauthorised-view-content',
26
+ appearance
17
27
  }) => {
18
28
  const {
19
29
  fireEvent
@@ -21,8 +31,24 @@ const UnauthorisedViewContent = ({
21
31
  const handleLearnMoreClick = useCallback(() => {
22
32
  fireEvent('ui.button.clicked.learnMore', {});
23
33
  }, [fireEvent]);
24
- const learnMoreMessage = isProductIntegrationSupported ? fg('product-terminology-refresh') ? messages.learn_more_about_connecting_account_appify : messages.learn_more_about_connecting_account : messages.learn_more_about_smart_links;
25
- return /*#__PURE__*/React.createElement(React.Fragment, null, providerName ? /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, fg('product-terminology-refresh') ? messages.connect_unauthorised_account_description_appify : messages.connect_unauthorised_account_description, {
34
+ const hoverCardExperimentCohort = providerName === 'Google' && appearance === 'hoverCardPreview' ? FeatureGates.getExperimentValue('platform_editor_google_hovercard_experiment', 'cohort', 'control') : 'control';
35
+ let learnMoreMessage;
36
+ if (isProductIntegrationSupported) {
37
+ if (hoverCardExperimentCohort === 'control') {
38
+ learnMoreMessage = fg('product-terminology-refresh') ? messages.learn_more_about_connecting_account_appify : messages.learn_more_about_connecting_account;
39
+ } else {
40
+ learnMoreMessage = messages.experiment_learn_more_about_smart_links;
41
+ }
42
+ } else {
43
+ learnMoreMessage = messages.learn_more_about_smart_links;
44
+ }
45
+ let unauthorizedAccountDescriptionMessage;
46
+ if (hoverCardExperimentCohort === 'control') {
47
+ unauthorizedAccountDescriptionMessage = fg('product-terminology-refresh') ? messages.connect_unauthorised_account_description_appify : messages.connect_unauthorised_account_description;
48
+ } else {
49
+ unauthorizedAccountDescriptionMessage = cohortMessages[hoverCardExperimentCohort];
50
+ }
51
+ return /*#__PURE__*/React.createElement(React.Fragment, null, providerName ? /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, unauthorizedAccountDescriptionMessage, {
26
52
  values: {
27
53
  context: providerName
28
54
  }
@@ -179,6 +179,31 @@ export var messages = defineMessages({
179
179
  defaultMessage: 'Connect your account to collaborate on work across Atlassian products.',
180
180
  description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view and we do not have the providers name.'
181
181
  },
182
+ experiment_connect_unauthorised_account_action: {
183
+ id: 'fabric.linking.experiment_connect_unauthorised_account_action.non-final',
184
+ defaultMessage: 'Connect {context}',
185
+ description: 'Shown on a button to connect user external account to their Atlassian account.'
186
+ },
187
+ experiment_connect_link_account_card_name_title: {
188
+ id: 'fabric.linking.experiment_connect_link_account_card_name.non-final',
189
+ defaultMessage: 'Get more out of {context}',
190
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. Displayed in title.'
191
+ },
192
+ experiment_connect_hovercard_description_1: {
193
+ id: 'fabric.linking.experiment_connect_hovercard_description_1.non-final',
194
+ defaultMessage: 'Connect your {context} account to turn simple URLs into rich, interactive previews, making it easier to collaborate and stay in context.',
195
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 1)'
196
+ },
197
+ experiment_connect_hovercard_description_2: {
198
+ id: 'fabric.linking.experiment_connect_hovercard_description_2.non-final',
199
+ defaultMessage: 'Connect your {context} account to turn simple URLs into rich, interactive previews and unlock more AI experiences, making it easier to collaborate and stay in context.',
200
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 2)'
201
+ },
202
+ experiment_connect_hovercard_description_3: {
203
+ id: 'fabric.linking.experiment_connect_hovercard_description_3.non-final',
204
+ defaultMessage: 'Transform ordinary URLs into rich, interactive previews of your {context} content, and unlock enhanced AI-powered features within your Atlassian apps.',
205
+ description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. (experiment test 3)'
206
+ },
182
207
  continue: {
183
208
  id: 'fabric.linking.continue',
184
209
  defaultMessage: 'Continue',
@@ -324,6 +349,11 @@ export var messages = defineMessages({
324
349
  defaultMessage: 'Learn more about Smart Links.',
325
350
  description: 'An anchor link to redirect user to a page about Smart Links.'
326
351
  },
352
+ experiment_learn_more_about_smart_links: {
353
+ id: 'fabric.linking.experiment_learn_more_about_smart_links.non-final',
354
+ defaultMessage: 'Learn more about smart link security and permissions.',
355
+ description: 'An anchor link to redirect user to a page about Smart Links.'
356
+ },
327
357
  learn_more_about_connecting_account: {
328
358
  id: 'fabric.linking.learn_more_about_connecting_account',
329
359
  defaultMessage: 'Learn more about connecting your account to Atlassian products.',
@@ -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: "0.0.0-development"
7
+ packageVersion: "43.4.3"
8
8
  };
9
9
  export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -6,13 +6,11 @@ import { FormattedMessage, useIntl } from 'react-intl-next';
6
6
  import Heading from '@atlaskit/heading';
7
7
  import DownloadIcon from '@atlaskit/icon/core/download';
8
8
  import FullscreenExitIcon from '@atlaskit/icon/core/fullscreen-exit';
9
- import CrossIcon from '@atlaskit/icon/core/migration/cross';
10
9
  import VidFullScreenOnIcon from '@atlaskit/icon/core/migration/fullscreen-enter--vid-full-screen-on';
11
10
  import ShortcutIcon from '@atlaskit/icon/core/migration/link-external--shortcut';
12
11
  import DownloadIconLegacy from '@atlaskit/icon/glyph/download';
13
12
  import VidFullScreenOffIcon from '@atlaskit/icon/glyph/vid-full-screen-off';
14
13
  import { CloseButton, useModal } from '@atlaskit/modal-dialog';
15
- import { fg } from '@atlaskit/platform-feature-flags';
16
14
  import Tooltip from '@atlaskit/tooltip';
17
15
  import { messages } from '../../../../messages';
18
16
  import { Icon } from '../../../common/Icon';
@@ -122,7 +120,7 @@ var LinkInfo = function LinkInfo(_ref) {
122
120
  "aria-hidden": true
123
121
  })), /*#__PURE__*/React.createElement("div", {
124
122
  className: ax(["_16jlidpf _1o9zidpf _i0dl1wug _zulp1b66 _1e0c1txw _3kllglyw"])
125
- }, downloadButton, urlButton, sizeButton, fg('navx-1895-a11y-close-button-in-preview-modal') ? /*#__PURE__*/React.createElement(Tooltip, {
123
+ }, downloadButton, urlButton, sizeButton, /*#__PURE__*/React.createElement(Tooltip, {
126
124
  content: /*#__PURE__*/React.createElement(FormattedMessage, messages.preview_close),
127
125
  hideTooltipOnClick: true,
128
126
  tag: "span",
@@ -130,19 +128,7 @@ var LinkInfo = function LinkInfo(_ref) {
130
128
  }, /*#__PURE__*/React.createElement(CloseButton, {
131
129
  onClick: onClose,
132
130
  label: formatMessage(messages.preview_close),
133
- testId: "".concat(testId, "-close-button")
134
- })) : /*#__PURE__*/React.createElement(LinkInfoButton, {
135
- content: /*#__PURE__*/React.createElement(FormattedMessage, messages.preview_close),
136
- icon: function icon() {
137
- return /*#__PURE__*/React.createElement(CrossIcon, {
138
- label: messages.preview_close.defaultMessage,
139
- color: "currentColor",
140
- spacing: "spacious"
141
- });
142
- },
143
- label: messages.preview_close,
144
- onClick: onClose,
145
- testId: "".concat(testId, "-close")
146
- })));
131
+ testId: testId
132
+ }))));
147
133
  };
148
134
  export default LinkInfo;
@@ -5,6 +5,7 @@ import * as React from 'react';
5
5
  import { ax, ix } from "@compiled/react/runtime";
6
6
  import { useCallback, useMemo } from 'react';
7
7
  import { FormattedMessage } from 'react-intl-next';
8
+ import FeatureGates from '@atlaskit/feature-gate-js-client';
8
9
  import { extractSmartLinkProvider } from '@atlaskit/link-extractors';
9
10
  import { useAnalyticsEvents } from '../../../../../common/analytics/generated/use-analytics-events';
10
11
  import { ActionName, CardDisplay } from '../../../../../constants';
@@ -40,17 +41,22 @@ var HoverCardUnauthorisedView = function HoverCardUnauthorisedView(_ref) {
40
41
  authorize(CardDisplay.HoverCardPreview);
41
42
  }
42
43
  }, [authorize, fireEvent]);
44
+ var hoverCardExperimentCohort = providerName === 'Google' ? FeatureGates.getExperimentValue('platform_editor_google_hovercard_experiment', 'cohort', 'control') : 'control';
45
+ var connectActionMessage = hoverCardExperimentCohort === 'test1' || hoverCardExperimentCohort === 'test2' || hoverCardExperimentCohort === 'test3' ? messages.experiment_connect_unauthorised_account_action : messages.connect_unauthorised_account_action;
43
46
  var actions = useMemo(function () {
44
47
  return [{
45
48
  name: ActionName.CustomAction,
46
- content: /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages.connect_unauthorised_account_action, {
49
+ content: /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, connectActionMessage, {
47
50
  values: {
48
51
  context: providerName
49
52
  }
50
53
  })),
51
54
  onClick: handleAuthorize
52
55
  }];
53
- }, [handleAuthorize, providerName]);
56
+ }, [handleAuthorize, providerName, connectActionMessage]);
57
+ if (hoverCardExperimentCohort === 'test4') {
58
+ return null;
59
+ }
54
60
  return /*#__PURE__*/React.createElement(FlexibleCard, _extends({}, flexibleCardProps, {
55
61
  testId: testId
56
62
  }), /*#__PURE__*/React.createElement(CustomBlock, {
@@ -65,7 +71,8 @@ var HoverCardUnauthorisedView = function HoverCardUnauthorisedView(_ref) {
65
71
  className: ax(["_11c8dcr7 _19pku2gc"])
66
72
  }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(UnauthorisedViewContent, {
67
73
  providerName: providerName,
68
- isProductIntegrationSupported: isProductIntegrationSupported
74
+ isProductIntegrationSupported: isProductIntegrationSupported,
75
+ appearance: hoverCardExperimentCohort !== 'control' ? 'hoverCardPreview' : undefined
69
76
  }))), /*#__PURE__*/React.createElement(CustomBlock, {
70
77
  testId: "".concat(testId, "-button"),
71
78
  className: ax(["_1bahesu3 _19pku2gc"])
@@ -15,7 +15,7 @@ import LinkWarningModal from './LinkWarningModal';
15
15
  import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
16
16
  var PACKAGE_DATA = {
17
17
  packageName: "@atlaskit/smart-card",
18
- packageVersion: "0.0.0-development",
18
+ packageVersion: "43.4.3",
19
19
  componentName: 'linkUrl'
20
20
  };
21
21
  var Anchor = withLinkClickedEvent('a');
@@ -1,11 +1,20 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback } from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
+ import FeatureGates from '@atlaskit/feature-gate-js-client';
4
5
  import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import { Anchor } from '@atlaskit/primitives/compiled';
6
7
  import { useAnalyticsEvents } from '../../common/analytics/generated/use-analytics-events';
7
8
  import { CONTENT_URL_3P_ACCOUNT_AUTH, CONTENT_URL_SECURITY_AND_PERMISSIONS } from '../../constants';
8
9
  import { messages } from '../../messages';
10
+ var cohortMessages = {
11
+ control: messages.connect_unauthorised_account_description,
12
+ test1: messages.experiment_connect_hovercard_description_1,
13
+ test2: messages.experiment_connect_hovercard_description_2,
14
+ test3: messages.experiment_connect_hovercard_description_3,
15
+ test4: messages.connect_unauthorised_account_description
16
+ };
17
+
9
18
  /**
10
19
  * This component is used in unauthorized views of a smart link.
11
20
  * It represents the main text that provides a user with information on how to connect their account
@@ -14,14 +23,31 @@ var UnauthorisedViewContent = function UnauthorisedViewContent(_ref) {
14
23
  var providerName = _ref.providerName,
15
24
  isProductIntegrationSupported = _ref.isProductIntegrationSupported,
16
25
  _ref$testId = _ref.testId,
17
- testId = _ref$testId === void 0 ? 'unauthorised-view-content' : _ref$testId;
26
+ testId = _ref$testId === void 0 ? 'unauthorised-view-content' : _ref$testId,
27
+ appearance = _ref.appearance;
18
28
  var _useAnalyticsEvents = useAnalyticsEvents(),
19
29
  fireEvent = _useAnalyticsEvents.fireEvent;
20
30
  var handleLearnMoreClick = useCallback(function () {
21
31
  fireEvent('ui.button.clicked.learnMore', {});
22
32
  }, [fireEvent]);
23
- var learnMoreMessage = isProductIntegrationSupported ? fg('product-terminology-refresh') ? messages.learn_more_about_connecting_account_appify : messages.learn_more_about_connecting_account : messages.learn_more_about_smart_links;
24
- return /*#__PURE__*/React.createElement(React.Fragment, null, providerName ? /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, fg('product-terminology-refresh') ? messages.connect_unauthorised_account_description_appify : messages.connect_unauthorised_account_description, {
33
+ var hoverCardExperimentCohort = providerName === 'Google' && appearance === 'hoverCardPreview' ? FeatureGates.getExperimentValue('platform_editor_google_hovercard_experiment', 'cohort', 'control') : 'control';
34
+ var learnMoreMessage;
35
+ if (isProductIntegrationSupported) {
36
+ if (hoverCardExperimentCohort === 'control') {
37
+ learnMoreMessage = fg('product-terminology-refresh') ? messages.learn_more_about_connecting_account_appify : messages.learn_more_about_connecting_account;
38
+ } else {
39
+ learnMoreMessage = messages.experiment_learn_more_about_smart_links;
40
+ }
41
+ } else {
42
+ learnMoreMessage = messages.learn_more_about_smart_links;
43
+ }
44
+ var unauthorizedAccountDescriptionMessage;
45
+ if (hoverCardExperimentCohort === 'control') {
46
+ unauthorizedAccountDescriptionMessage = fg('product-terminology-refresh') ? messages.connect_unauthorised_account_description_appify : messages.connect_unauthorised_account_description;
47
+ } else {
48
+ unauthorizedAccountDescriptionMessage = cohortMessages[hoverCardExperimentCohort];
49
+ }
50
+ return /*#__PURE__*/React.createElement(React.Fragment, null, providerName ? /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, unauthorizedAccountDescriptionMessage, {
25
51
  values: {
26
52
  context: providerName
27
53
  }
@@ -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' | 'compass_applied_components_count' | '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_descriptionGalaxia' | 'follow_project' | 'follow_goal' | 'follow_goal_description' | 'follow_project_error' | 'follow_project_errorGalaxia' | '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' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'owned_by_override' | 'preview_description' | 'preview_improved' | 'preview_modal' | 'preview_panel' | '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_descriptionGalaxia' | 'unfollow_project' | 'unfollow_project_error' | 'unfollow_project_errorGalaxia' | 'unfollow_goal' | 'unfollow_goal_description' | 'unfollow_goal_error' | 'user_attributes' | '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_title' | 'related_links_modal_error_description' | 'related_links_modal_unavailable_title' | 'related_links_modal_unavailable_description' | 'related_links_modal_title' | 'related_links_view_related_urls' | 'related_links_view_related_links' | 'related_links_found_in' | 'related_links_includes_links_to' | 'related_links_not_found' | 'join_to_viewIssueTermRefresh' | 'open_issue_in_jiraIssueTermRefresh' | 'request_access_to_viewIssueTermRefresh' | 'team_members_count' | 'status_change_permission_errorIssueTermRefresh' | 'connect_unauthorised_account_description_appify' | 'connect_unauthorised_account_description_no_provider_appify' | 'learn_more_about_connecting_account_appify';
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' | 'compass_applied_components_count' | '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_descriptionGalaxia' | 'follow_project' | 'follow_goal' | 'follow_goal_description' | 'follow_project_error' | 'follow_project_errorGalaxia' | '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' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'owned_by_override' | 'preview_description' | 'preview_improved' | 'preview_modal' | 'preview_panel' | '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_descriptionGalaxia' | 'unfollow_project' | 'unfollow_project_error' | 'unfollow_project_errorGalaxia' | 'unfollow_goal' | 'unfollow_goal_description' | 'unfollow_goal_error' | 'user_attributes' | '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_title' | 'related_links_modal_error_description' | 'related_links_modal_unavailable_title' | 'related_links_modal_unavailable_description' | 'related_links_modal_title' | 'related_links_view_related_urls' | 'related_links_view_related_links' | 'related_links_found_in' | 'related_links_includes_links_to' | 'related_links_not_found' | 'join_to_viewIssueTermRefresh' | 'open_issue_in_jiraIssueTermRefresh' | 'request_access_to_viewIssueTermRefresh' | 'team_members_count' | 'status_change_permission_errorIssueTermRefresh' | 'connect_unauthorised_account_description_appify' | 'connect_unauthorised_account_description_no_provider_appify' | 'learn_more_about_connecting_account_appify' | 'experiment_connect_link_account_card_name_title' | 'experiment_connect_hovercard_description_1' | 'experiment_connect_hovercard_description_2' | 'experiment_connect_hovercard_description_3' | 'experiment_connect_unauthorised_account_action' | 'experiment_learn_more_about_smart_links';
4
4
  type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -1,6 +1,13 @@
1
1
  import { type ReactNode, type Ref } from 'react';
2
2
  import { type ActionName, type ElementName, type SmartLinkDirection, type SmartLinkSize } from '../../../../constants';
3
3
  import { type ActionProps } from '../actions/action/types';
4
+ import type { AssignedToGroupElementProps } from '../elements/assigned-to-group-element';
5
+ import type { BaseAvatarGroupElementProps } from '../elements/common/base-avatar-group-element';
6
+ import type { CreatedOnProps } from '../elements/created-on-element';
7
+ import type { ModifiedOnProps } from '../elements/modified-on-element';
8
+ import type { OwnedByElementProps } from '../elements/owned-by-element';
9
+ import type { OwnedByGroupElementProps } from '../elements/owned-by-group-element';
10
+ import type { ProviderElementProps } from '../elements/provider-element';
4
11
  export type BlockProps = {
5
12
  /**
6
13
  * Ref to block wrapper div.
@@ -208,37 +215,21 @@ export type AppliedToComponentsCount = {
208
215
  */
209
216
  export type AuthorGroup = {
210
217
  name: ElementName.AuthorGroup;
211
- /**
212
- * Shows a name prefix Created by in the Avatar tooltip.
213
- */
214
- showNamePrefix?: boolean;
215
- };
218
+ } & Pick<BaseAvatarGroupElementProps, 'showNamePrefix'>;
216
219
  /**
217
220
  * Represents the props available for an OwnedByGroup element.
218
221
  * @see AuthorGroup
219
222
  */
220
223
  export type OwnedByGroup = {
221
224
  name: ElementName.OwnedByGroup;
222
- /**
223
- * Shows a name prefix Owned by in the Avatar tooltip.
224
- */
225
- showNamePrefix?: boolean;
226
- };
225
+ } & Pick<OwnedByGroupElementProps, 'showNamePrefix'>;
227
226
  /**
228
227
  * Represents the props available for an AssignedToGroup element.
229
228
  * @see AuthorGroup
230
229
  */
231
230
  export type AssignedToGroup = {
232
231
  name: ElementName.AssignedToGroup;
233
- /**
234
- * Shows a default unassigned fallback avatar when no person is assigned.
235
- */
236
- showFallbackAvatar?: boolean;
237
- /**
238
- * Shows a name prefix Assigned To in the Avatar tooltip.
239
- */
240
- showNamePrefix?: boolean;
241
- };
232
+ } & Pick<AssignedToGroupElementProps, 'showFallbackAvatar' | 'showNamePrefix'>;
242
233
  /**
243
234
  * Represents the props available for an ChecklistProgress element.
244
235
  * @see ChecklistProgress
@@ -279,22 +270,15 @@ export type CreatedBy = {
279
270
  * @see OwnedBy
280
271
  */
281
272
  export type OwnedBy = {
282
- fontSize?: 'font.body' | 'font.body.large' | 'font.body.small' | 'font.body.UNSAFE_small';
283
- hideFormat?: boolean;
284
273
  name: ElementName.OwnedBy;
285
- textPrefix?: 'owned_by' | 'owned_by_override';
286
- };
274
+ } & Pick<OwnedByElementProps, 'fontSize' | 'hideFormat' | 'textPrefix'>;
287
275
  /**
288
276
  * Represents the props available for an CreatedOn element.
289
277
  * @see CreatedOn
290
278
  */
291
279
  export type CreatedOn = {
292
280
  name: ElementName.CreatedOn;
293
- /**
294
- * A string which will be displayed before the specified element.
295
- */
296
- text?: string;
297
- };
281
+ } & Pick<CreatedOnProps, 'text'>;
298
282
  /**
299
283
  * Represents the props available for an DueOn element.
300
284
  * @see CreatedOn
@@ -334,13 +318,8 @@ export type ModifiedBy = {
334
318
  * @see ModifiedOn
335
319
  */
336
320
  export type ModifiedOn = {
337
- fontSize?: 'font.body' | 'font.body.large' | 'font.body.small' | 'font.body.UNSAFE_small';
338
321
  name: ElementName.ModifiedOn;
339
- /**
340
- * A string which will be displayed before the specified element.
341
- */
342
- text?: string;
343
- };
322
+ } & Pick<ModifiedOnProps, 'fontSize' | 'text'>;
344
323
  /**
345
324
  * Represents the props available for an Preview element.
346
325
  * @see Preview
@@ -367,9 +346,8 @@ export type ProgrammingLanguage = {
367
346
  * @see Provider
368
347
  */
369
348
  export type Provider = {
370
- hideIcon?: boolean;
371
349
  name: ElementName.Provider;
372
- };
350
+ } & Pick<ProviderElementProps, 'hideIcon'>;
373
351
  /**
374
352
  * Represents the props available for an ReactCount element.
375
353
  * @see ReactCount
@@ -1,3 +1,3 @@
1
1
  import { type HoverCardUnauthorisedProps } from './types';
2
- declare const HoverCardUnauthorisedView: ({ id, flexibleCardProps, testId, url, }: HoverCardUnauthorisedProps) => JSX.Element;
2
+ declare const HoverCardUnauthorisedView: ({ id, flexibleCardProps, testId, url, }: HoverCardUnauthorisedProps) => JSX.Element | null;
3
3
  export default HoverCardUnauthorisedView;
@@ -1,5 +1,11 @@
1
1
  import React from 'react';
2
+ import { type CardInnerAppearance } from '../Card/types';
2
3
  type UnauthorisedViewContentProps = {
4
+ /**
5
+ * The type of card this component is being used in.
6
+ * Determines the display behavior and messaging.
7
+ */
8
+ appearance?: CardInnerAppearance;
3
9
  /**
4
10
  * If `true`, display an alternative message which prompts user to connect all
5
11
  * Atlassian products (vs. smart links only) to the 3rd party account.
@@ -21,5 +27,5 @@ type UnauthorisedViewContentProps = {
21
27
  * This component is used in unauthorized views of a smart link.
22
28
  * It represents the main text that provides a user with information on how to connect their account
23
29
  */
24
- declare const UnauthorisedViewContent: ({ providerName, isProductIntegrationSupported, testId, }: UnauthorisedViewContentProps) => React.JSX.Element;
30
+ declare const UnauthorisedViewContent: ({ providerName, isProductIntegrationSupported, testId, appearance, }: UnauthorisedViewContentProps) => React.JSX.Element;
25
31
  export default UnauthorisedViewContent;
@@ -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' | 'compass_applied_components_count' | '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_descriptionGalaxia' | 'follow_project' | 'follow_goal' | 'follow_goal_description' | 'follow_project_error' | 'follow_project_errorGalaxia' | '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' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'owned_by_override' | 'preview_description' | 'preview_improved' | 'preview_modal' | 'preview_panel' | '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_descriptionGalaxia' | 'unfollow_project' | 'unfollow_project_error' | 'unfollow_project_errorGalaxia' | 'unfollow_goal' | 'unfollow_goal_description' | 'unfollow_goal_error' | 'user_attributes' | '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_title' | 'related_links_modal_error_description' | 'related_links_modal_unavailable_title' | 'related_links_modal_unavailable_description' | 'related_links_modal_title' | 'related_links_view_related_urls' | 'related_links_view_related_links' | 'related_links_found_in' | 'related_links_includes_links_to' | 'related_links_not_found' | 'join_to_viewIssueTermRefresh' | 'open_issue_in_jiraIssueTermRefresh' | 'request_access_to_viewIssueTermRefresh' | 'team_members_count' | 'status_change_permission_errorIssueTermRefresh' | 'connect_unauthorised_account_description_appify' | 'connect_unauthorised_account_description_no_provider_appify' | 'learn_more_about_connecting_account_appify';
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' | 'compass_applied_components_count' | '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_descriptionGalaxia' | 'follow_project' | 'follow_goal' | 'follow_goal_description' | 'follow_project_error' | 'follow_project_errorGalaxia' | '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' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'owned_by_override' | 'preview_description' | 'preview_improved' | 'preview_modal' | 'preview_panel' | '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_descriptionGalaxia' | 'unfollow_project' | 'unfollow_project_error' | 'unfollow_project_errorGalaxia' | 'unfollow_goal' | 'unfollow_goal_description' | 'unfollow_goal_error' | 'user_attributes' | '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_title' | 'related_links_modal_error_description' | 'related_links_modal_unavailable_title' | 'related_links_modal_unavailable_description' | 'related_links_modal_title' | 'related_links_view_related_urls' | 'related_links_view_related_links' | 'related_links_found_in' | 'related_links_includes_links_to' | 'related_links_not_found' | 'join_to_viewIssueTermRefresh' | 'open_issue_in_jiraIssueTermRefresh' | 'request_access_to_viewIssueTermRefresh' | 'team_members_count' | 'status_change_permission_errorIssueTermRefresh' | 'connect_unauthorised_account_description_appify' | 'connect_unauthorised_account_description_no_provider_appify' | 'learn_more_about_connecting_account_appify' | 'experiment_connect_link_account_card_name_title' | 'experiment_connect_hovercard_description_1' | 'experiment_connect_hovercard_description_2' | 'experiment_connect_hovercard_description_3' | 'experiment_connect_unauthorised_account_action' | 'experiment_learn_more_about_smart_links';
4
4
  type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -1,6 +1,13 @@
1
1
  import { type ReactNode, type Ref } from 'react';
2
2
  import { type ActionName, type ElementName, type SmartLinkDirection, type SmartLinkSize } from '../../../../constants';
3
3
  import { type ActionProps } from '../actions/action/types';
4
+ import type { AssignedToGroupElementProps } from '../elements/assigned-to-group-element';
5
+ import type { BaseAvatarGroupElementProps } from '../elements/common/base-avatar-group-element';
6
+ import type { CreatedOnProps } from '../elements/created-on-element';
7
+ import type { ModifiedOnProps } from '../elements/modified-on-element';
8
+ import type { OwnedByElementProps } from '../elements/owned-by-element';
9
+ import type { OwnedByGroupElementProps } from '../elements/owned-by-group-element';
10
+ import type { ProviderElementProps } from '../elements/provider-element';
4
11
  export type BlockProps = {
5
12
  /**
6
13
  * Ref to block wrapper div.
@@ -208,37 +215,21 @@ export type AppliedToComponentsCount = {
208
215
  */
209
216
  export type AuthorGroup = {
210
217
  name: ElementName.AuthorGroup;
211
- /**
212
- * Shows a name prefix Created by in the Avatar tooltip.
213
- */
214
- showNamePrefix?: boolean;
215
- };
218
+ } & Pick<BaseAvatarGroupElementProps, 'showNamePrefix'>;
216
219
  /**
217
220
  * Represents the props available for an OwnedByGroup element.
218
221
  * @see AuthorGroup
219
222
  */
220
223
  export type OwnedByGroup = {
221
224
  name: ElementName.OwnedByGroup;
222
- /**
223
- * Shows a name prefix Owned by in the Avatar tooltip.
224
- */
225
- showNamePrefix?: boolean;
226
- };
225
+ } & Pick<OwnedByGroupElementProps, 'showNamePrefix'>;
227
226
  /**
228
227
  * Represents the props available for an AssignedToGroup element.
229
228
  * @see AuthorGroup
230
229
  */
231
230
  export type AssignedToGroup = {
232
231
  name: ElementName.AssignedToGroup;
233
- /**
234
- * Shows a default unassigned fallback avatar when no person is assigned.
235
- */
236
- showFallbackAvatar?: boolean;
237
- /**
238
- * Shows a name prefix Assigned To in the Avatar tooltip.
239
- */
240
- showNamePrefix?: boolean;
241
- };
232
+ } & Pick<AssignedToGroupElementProps, 'showFallbackAvatar' | 'showNamePrefix'>;
242
233
  /**
243
234
  * Represents the props available for an ChecklistProgress element.
244
235
  * @see ChecklistProgress
@@ -279,22 +270,15 @@ export type CreatedBy = {
279
270
  * @see OwnedBy
280
271
  */
281
272
  export type OwnedBy = {
282
- fontSize?: 'font.body' | 'font.body.large' | 'font.body.small' | 'font.body.UNSAFE_small';
283
- hideFormat?: boolean;
284
273
  name: ElementName.OwnedBy;
285
- textPrefix?: 'owned_by' | 'owned_by_override';
286
- };
274
+ } & Pick<OwnedByElementProps, 'fontSize' | 'hideFormat' | 'textPrefix'>;
287
275
  /**
288
276
  * Represents the props available for an CreatedOn element.
289
277
  * @see CreatedOn
290
278
  */
291
279
  export type CreatedOn = {
292
280
  name: ElementName.CreatedOn;
293
- /**
294
- * A string which will be displayed before the specified element.
295
- */
296
- text?: string;
297
- };
281
+ } & Pick<CreatedOnProps, 'text'>;
298
282
  /**
299
283
  * Represents the props available for an DueOn element.
300
284
  * @see CreatedOn
@@ -334,13 +318,8 @@ export type ModifiedBy = {
334
318
  * @see ModifiedOn
335
319
  */
336
320
  export type ModifiedOn = {
337
- fontSize?: 'font.body' | 'font.body.large' | 'font.body.small' | 'font.body.UNSAFE_small';
338
321
  name: ElementName.ModifiedOn;
339
- /**
340
- * A string which will be displayed before the specified element.
341
- */
342
- text?: string;
343
- };
322
+ } & Pick<ModifiedOnProps, 'fontSize' | 'text'>;
344
323
  /**
345
324
  * Represents the props available for an Preview element.
346
325
  * @see Preview
@@ -367,9 +346,8 @@ export type ProgrammingLanguage = {
367
346
  * @see Provider
368
347
  */
369
348
  export type Provider = {
370
- hideIcon?: boolean;
371
349
  name: ElementName.Provider;
372
- };
350
+ } & Pick<ProviderElementProps, 'hideIcon'>;
373
351
  /**
374
352
  * Represents the props available for an ReactCount element.
375
353
  * @see ReactCount
@@ -1,3 +1,3 @@
1
1
  import { type HoverCardUnauthorisedProps } from './types';
2
- declare const HoverCardUnauthorisedView: ({ id, flexibleCardProps, testId, url, }: HoverCardUnauthorisedProps) => JSX.Element;
2
+ declare const HoverCardUnauthorisedView: ({ id, flexibleCardProps, testId, url, }: HoverCardUnauthorisedProps) => JSX.Element | null;
3
3
  export default HoverCardUnauthorisedView;
@@ -1,5 +1,11 @@
1
1
  import React from 'react';
2
+ import { type CardInnerAppearance } from '../Card/types';
2
3
  type UnauthorisedViewContentProps = {
4
+ /**
5
+ * The type of card this component is being used in.
6
+ * Determines the display behavior and messaging.
7
+ */
8
+ appearance?: CardInnerAppearance;
3
9
  /**
4
10
  * If `true`, display an alternative message which prompts user to connect all
5
11
  * Atlassian products (vs. smart links only) to the 3rd party account.
@@ -21,5 +27,5 @@ type UnauthorisedViewContentProps = {
21
27
  * This component is used in unauthorized views of a smart link.
22
28
  * It represents the main text that provides a user with information on how to connect their account
23
29
  */
24
- declare const UnauthorisedViewContent: ({ providerName, isProductIntegrationSupported, testId, }: UnauthorisedViewContentProps) => React.JSX.Element;
30
+ declare const UnauthorisedViewContent: ({ providerName, isProductIntegrationSupported, testId, appearance, }: UnauthorisedViewContentProps) => React.JSX.Element;
25
31
  export default UnauthorisedViewContent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "43.4.2",
3
+ "version": "43.4.4",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -43,7 +43,7 @@
43
43
  "@atlaskit/heading": "^5.2.0",
44
44
  "@atlaskit/icon": "^28.5.0",
45
45
  "@atlaskit/icon-file-type": "^7.0.0",
46
- "@atlaskit/icon-lab": "^5.10.0",
46
+ "@atlaskit/icon-lab": "^5.11.0",
47
47
  "@atlaskit/icon-object": "^7.3.0",
48
48
  "@atlaskit/icon-priority": "^6.3.0",
49
49
  "@atlaskit/image": "^3.0.0",
@@ -70,9 +70,9 @@
70
70
  "@atlaskit/textarea": "^8.0.0",
71
71
  "@atlaskit/textfield": "^8.0.0",
72
72
  "@atlaskit/theme": "^21.0.0",
73
- "@atlaskit/tmp-editor-statsig": "^13.20.0",
73
+ "@atlaskit/tmp-editor-statsig": "^13.22.0",
74
74
  "@atlaskit/tokens": "^7.0.0",
75
- "@atlaskit/tooltip": "^20.6.0",
75
+ "@atlaskit/tooltip": "^20.7.0",
76
76
  "@atlaskit/ufo": "^0.4.0",
77
77
  "@babel/runtime": "^7.0.0",
78
78
  "@compiled/react": "^0.18.6",
@@ -100,7 +100,7 @@
100
100
  "@atlaskit/analytics-listeners": "^9.1.0",
101
101
  "@atlaskit/css-reset": "^7.3.0",
102
102
  "@atlaskit/media-test-helpers": "^39.0.0",
103
- "@atlaskit/react-ufo": "^4.12.0",
103
+ "@atlaskit/react-ufo": "^4.13.0",
104
104
  "@atlaskit/ssr": "workspace:^",
105
105
  "@atlassian/analytics-tooling": "^0.5.0",
106
106
  "@atlassian/feature-flags-test-utils": "^1.0.0",
@@ -214,9 +214,6 @@
214
214
  "hover-card-on-visibility-change-callback": {
215
215
  "type": "boolean"
216
216
  },
217
- "navx-1895-a11y-close-button-in-preview-modal": {
218
- "type": "boolean"
219
- },
220
217
  "navx-1895-new-logo-design": {
221
218
  "type": "boolean"
222
219
  },
@@ -231,6 +228,9 @@
231
228
  },
232
229
  "navx-1910-fix-hovercard-performance-metrics": {
233
230
  "type": "boolean"
231
+ },
232
+ "platform_editor_google_hovercard_experiment": {
233
+ "type": "string"
234
234
  }
235
235
  },
236
236
  "compassUnitTestMetricSourceId": "ari:cloud:compass:a436116f-02ce-4520-8fbb-7301462a1674:metric-source/c5751cc6-3513-4070-9deb-af31e86aed34/f74ef1bc-7240-4aac-9dc8-9dc43b502089"