@atlaskit/smart-card 27.16.3 → 27.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/extractors/inline/index.js +2 -2
  3. package/dist/cjs/utils/analytics/analytics.js +1 -1
  4. package/dist/cjs/view/BlockCard/views/flexible/utils/index.js +1 -2
  5. package/dist/cjs/view/CardWithUrl/component.js +4 -2
  6. package/dist/cjs/view/CardWithUrl/loader.js +4 -2
  7. package/dist/cjs/view/EmbedCard/components/ExpandedFrame.js +1 -2
  8. package/dist/cjs/view/HoverCard/utils.js +3 -3
  9. package/dist/cjs/view/InlineCard/index.js +3 -2
  10. package/dist/cjs/view/LinkUrl/index.js +1 -1
  11. package/dist/es2019/extractors/inline/index.js +2 -2
  12. package/dist/es2019/utils/analytics/analytics.js +1 -1
  13. package/dist/es2019/view/BlockCard/views/flexible/utils/index.js +1 -2
  14. package/dist/es2019/view/CardWithUrl/component.js +4 -2
  15. package/dist/es2019/view/CardWithUrl/loader.js +4 -2
  16. package/dist/es2019/view/EmbedCard/components/ExpandedFrame.js +1 -2
  17. package/dist/es2019/view/HoverCard/utils.js +4 -4
  18. package/dist/es2019/view/InlineCard/index.js +3 -2
  19. package/dist/es2019/view/LinkUrl/index.js +1 -1
  20. package/dist/esm/extractors/inline/index.js +2 -2
  21. package/dist/esm/utils/analytics/analytics.js +1 -1
  22. package/dist/esm/view/BlockCard/views/flexible/utils/index.js +1 -2
  23. package/dist/esm/view/CardWithUrl/component.js +4 -2
  24. package/dist/esm/view/CardWithUrl/loader.js +4 -2
  25. package/dist/esm/view/EmbedCard/components/ExpandedFrame.js +1 -2
  26. package/dist/esm/view/HoverCard/utils.js +4 -4
  27. package/dist/esm/view/InlineCard/index.js +3 -2
  28. package/dist/esm/view/LinkUrl/index.js +1 -1
  29. package/dist/types/extractors/inline/index.d.ts +1 -1
  30. package/dist/types/view/Card/index.d.ts +1 -1
  31. package/dist/types/view/Card/types.d.ts +7 -0
  32. package/dist/types/view/CardWithUrl/types.d.ts +1 -0
  33. package/dist/types/view/InlineCard/index.d.ts +1 -1
  34. package/dist/types/view/InlineCard/types.d.ts +1 -0
  35. package/dist/types-ts4.5/extractors/inline/index.d.ts +1 -1
  36. package/dist/types-ts4.5/view/Card/index.d.ts +1 -1
  37. package/dist/types-ts4.5/view/Card/types.d.ts +7 -0
  38. package/dist/types-ts4.5/view/CardWithUrl/types.d.ts +1 -0
  39. package/dist/types-ts4.5/view/InlineCard/index.d.ts +1 -1
  40. package/dist/types-ts4.5/view/InlineCard/types.d.ts +1 -0
  41. package/package.json +3 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 27.18.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#133311](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/133311)
8
+ [`d0dfe717c6cc3`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/d0dfe717c6cc3) -
9
+ Added removeTextHighlightingFromTitle prop to allow for removal of text fragment from the title
10
+ ofan inline smart card
11
+
12
+ ### Patch Changes
13
+
14
+ - [#133829](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/133829)
15
+ [`25a2501a70195`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/25a2501a70195) -
16
+ Cleaning up platform.linking-platform.smart-card.fix-embed-card-blurring FF
17
+ - Updated dependencies
18
+
19
+ ## 27.17.0
20
+
21
+ ### Minor Changes
22
+
23
+ - [`25c7d3c7d5354`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/25c7d3c7d5354) -
24
+ Remove the platform.linking-platform.extractor.improve-bitbucket-file-links feature flag
25
+
26
+ ### Patch Changes
27
+
28
+ - Updated dependencies
29
+
3
30
  ## 27.16.3
4
31
 
5
32
  ### Patch Changes
@@ -19,10 +19,10 @@ var extractInlineIcon = exports.extractInlineIcon = function extractInlineIcon(j
19
19
  }
20
20
  return (0, _icon.extractIcon)(jsonLd, 'provider');
21
21
  };
22
- var extractInlineProps = exports.extractInlineProps = function extractInlineProps(jsonLd, renderers) {
22
+ var extractInlineProps = exports.extractInlineProps = function extractInlineProps(jsonLd, renderers, removeTextHighlightingFromTitle) {
23
23
  return {
24
24
  link: (0, _linkExtractors.extractLink)(jsonLd),
25
- title: (0, _linkExtractors.extractTitle)(jsonLd),
25
+ title: (0, _linkExtractors.extractTitle)(jsonLd, removeTextHighlightingFromTitle),
26
26
  lozenge: (0, _lozenge.extractLozenge)(jsonLd),
27
27
  icon: extractInlineIcon(jsonLd),
28
28
  titleTextColor: (0, _primitives.extractTitleTextColor)(jsonLd),
@@ -22,7 +22,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
22
22
  var context = exports.context = {
23
23
  componentName: 'smart-cards',
24
24
  packageName: "@atlaskit/smart-card",
25
- packageVersion: "27.16.3"
25
+ packageVersion: "27.18.0"
26
26
  };
27
27
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
28
28
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -8,7 +8,6 @@ var _constants = require("../../../../../constants");
8
8
  var _utils = require("../../../../../extractors/flexible/utils");
9
9
  var _helpers = require("../../../../../state/helpers");
10
10
  var _styled = require("../styled");
11
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
11
  var baseTopMetadata = [{
13
12
  name: _constants.ElementName.ModifiedOn
14
13
  }, {
@@ -54,7 +53,7 @@ var getSimulatedBetterMetadata = exports.getSimulatedBetterMetadata = function g
54
53
  var isFile = data['@type'].includes('schema:DigitalDocument');
55
54
  return {
56
55
  titleMetadata: defaultTitleMetadata,
57
- topMetadata: (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.extractor.improve-bitbucket-file-links') && isFile ? [{
56
+ topMetadata: isFile ? [{
58
57
  name: _constants.ElementName.LatestCommit
59
58
  }, {
60
59
  name: _constants.ElementName.CollaboratorGroup
@@ -52,7 +52,8 @@ function Component(_ref) {
52
52
  hoverPreviewOptions = _ref.hoverPreviewOptions,
53
53
  showAuthTooltip = _ref.showAuthTooltip,
54
54
  analyticsEvents = _ref.analyticsEvents,
55
- useLegacyBlockCard = _ref.useLegacyBlockCard;
55
+ useLegacyBlockCard = _ref.useLegacyBlockCard,
56
+ removeTextHighlightingFromTitle = _ref.removeTextHighlightingFromTitle;
56
57
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
57
58
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
58
59
 
@@ -233,7 +234,8 @@ function Component(_ref) {
233
234
  showHoverPreview: showHoverPreview,
234
235
  hoverPreviewOptions: hoverPreviewOptions,
235
236
  showAuthTooltip: showAuthTooltip,
236
- actionOptions: actionOptions
237
+ actionOptions: actionOptions,
238
+ removeTextHighlightingFromTitle: removeTextHighlightingFromTitle
237
239
  });
238
240
  case 'block':
239
241
  return /*#__PURE__*/_react.default.createElement(_BlockCard.BlockCard, {
@@ -66,7 +66,8 @@ function CardWithURLRenderer(props) {
66
66
  analyticsEvents = props.analyticsEvents,
67
67
  placeholder = props.placeholder,
68
68
  fallbackComponent = props.fallbackComponent,
69
- useLegacyBlockCard = props.useLegacyBlockCard;
69
+ useLegacyBlockCard = props.useLegacyBlockCard,
70
+ removeTextHighlightingFromTitle = props.removeTextHighlightingFromTitle;
70
71
  var analytics = (0, _analytics.useSmartLinkAnalytics)(url !== null && url !== void 0 ? url : '', undefined, id);
71
72
  var isFlexibleUi = (0, _flexible.isFlexibleUiCard)(children);
72
73
  var errorHandler = (0, _react.useCallback)(function (error, info) {
@@ -136,7 +137,8 @@ function CardWithURLRenderer(props) {
136
137
  showAuthTooltip: showAuthTooltip,
137
138
  analyticsEvents: analyticsEvents,
138
139
  placeholder: placeholder,
139
- useLegacyBlockCard: useLegacyBlockCard
140
+ useLegacyBlockCard: useLegacyBlockCard,
141
+ removeTextHighlightingFromTitle: removeTextHighlightingFromTitle
140
142
  };
141
143
  return /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
142
144
  FallbackComponent: ErrorFallback,
@@ -10,7 +10,6 @@ var _styled = require("./styled");
10
10
  var _handlers = require("../../BlockCard/utils/handlers");
11
11
  var _useLinkClicked = require("../../../state/analytics/useLinkClicked");
12
12
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
13
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
13
  var ExpandedFrame = exports.ExpandedFrame = function ExpandedFrame(_ref) {
15
14
  var _ref$isPlaceholder = _ref.isPlaceholder,
16
15
  isPlaceholder = _ref$isPlaceholder === void 0 ? false : _ref$isPlaceholder,
@@ -63,7 +62,7 @@ var ExpandedFrame = exports.ExpandedFrame = function ExpandedFrame(_ref) {
63
62
  return /*#__PURE__*/_react.default.createElement(_styled.Content, {
64
63
  "data-testid": "embed-content-wrapper",
65
64
  allowScrollBar: allowScrollBar,
66
- removeOverflow: (0, _platformFeatureFlags.fg)('platform.linking-platform.smart-card.fix-embed-card-blurring') && !setOverflow,
65
+ removeOverflow: !setOverflow,
67
66
  isInteractive: isInteractive(),
68
67
  frameStyle: frameStyle
69
68
  // This fixes an issue with input fields in cross domain iframes (ie. databases and jira fields from different domains)
@@ -27,7 +27,7 @@ var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(extensionKe
27
27
  subtitle: [_constants.ElementName.SourceBranch, _constants.ElementName.TargetBranch]
28
28
  };
29
29
  }
30
- if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.extractor.improve-bitbucket-file-links') && types !== null && types !== void 0 && types.includes('schema:DigitalDocument')) {
30
+ if (types !== null && types !== void 0 && types.includes('schema:DigitalDocument')) {
31
31
  return {
32
32
  primary: [_constants.ElementName.LatestCommit, _constants.ElementName.CollaboratorGroup, _constants.ElementName.ModifiedOn]
33
33
  };
@@ -95,11 +95,11 @@ var toElementItems = function toElementItems(elementNames) {
95
95
  };
96
96
  var getMetadata = exports.getMetadata = function getMetadata(extensionKey, data) {
97
97
  var metadata = getSimulatedBetterMetadata(extensionKey, data);
98
- var primary = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.hover-card-action-redesign') ? [].concat(metadata.primary, metadata.tertiary) : metadata.primary;
98
+ var primary = (0, _platformFeatureFlags.fg)('platform.linking-platform.smart-card.hover-card-action-redesign') ? [].concat(metadata.primary, metadata.tertiary) : metadata.primary;
99
99
 
100
100
  // `tertiary` should be removed completely during cleanup:
101
101
  // https://product-fabric.atlassian.net/browse/EDM-9556
102
- var tertiary = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.hover-card-action-redesign') ? undefined : metadata.tertiary;
102
+ var tertiary = (0, _platformFeatureFlags.fg)('platform.linking-platform.smart-card.hover-card-action-redesign') ? undefined : metadata.tertiary;
103
103
  return {
104
104
  subtitle: toElementItems(metadata.subtitle),
105
105
  primary: toElementItems(primary),
@@ -72,7 +72,8 @@ var InlineCard = exports.InlineCard = function InlineCard(_ref) {
72
72
  showHoverPreview = _ref.showHoverPreview,
73
73
  hoverPreviewOptions = _ref.hoverPreviewOptions,
74
74
  showAuthTooltip = _ref.showAuthTooltip,
75
- actionOptions = _ref.actionOptions;
75
+ actionOptions = _ref.actionOptions,
76
+ removeTextHighlightingFromTitle = _ref.removeTextHighlightingFromTitle;
76
77
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
77
78
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
78
79
  var status = cardState.status,
@@ -84,7 +85,7 @@ var InlineCard = exports.InlineCard = function InlineCard(_ref) {
84
85
  if (showHoverPreview === undefined && showHoverPreviewFlag !== undefined) {
85
86
  showHoverPreview = Boolean(showHoverPreviewFlag);
86
87
  }
87
- var resolvedProps = status === _constants.SmartLinkStatus.Resolved ? (0, _inline.extractInlineProps)(cardDetails, renderers) : {};
88
+ var resolvedProps = status === _constants.SmartLinkStatus.Resolved ? (0, _inline.extractInlineProps)(cardDetails, renderers, removeTextHighlightingFromTitle) : {};
88
89
  (0, _react.useEffect)(function () {
89
90
  switch (status) {
90
91
  case _constants.SmartLinkStatus.Resolved:
@@ -17,7 +17,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId"],
17
17
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
18
18
  var PACKAGE_DATA = {
19
19
  packageName: "@atlaskit/smart-card",
20
- packageVersion: "27.16.3",
20
+ packageVersion: "27.18.0",
21
21
  componentName: 'linkUrl'
22
22
  };
23
23
  var Link = (0, _click.withLinkClickedEvent)('a');
@@ -13,9 +13,9 @@ export const extractInlineIcon = jsonLd => {
13
13
  }
14
14
  return extractIcon(jsonLd, 'provider');
15
15
  };
16
- export const extractInlineProps = (jsonLd, renderers) => ({
16
+ export const extractInlineProps = (jsonLd, renderers, removeTextHighlightingFromTitle) => ({
17
17
  link: extractLink(jsonLd),
18
- title: extractTitle(jsonLd),
18
+ title: extractTitle(jsonLd, removeTextHighlightingFromTitle),
19
19
  lozenge: extractLozenge(jsonLd),
20
20
  icon: extractInlineIcon(jsonLd),
21
21
  titleTextColor: extractTitleTextColor(jsonLd),
@@ -4,7 +4,7 @@ export const ANALYTICS_CHANNEL = 'media';
4
4
  export const context = {
5
5
  componentName: 'smart-cards',
6
6
  packageName: "@atlaskit/smart-card",
7
- packageVersion: "27.16.3"
7
+ packageVersion: "27.18.0"
8
8
  };
9
9
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -2,7 +2,6 @@ import { ElementName, MediaPlacement, SmartLinkPosition, SmartLinkSize } from '.
2
2
  import { extractOwnedBy } from '../../../../../extractors/flexible/utils';
3
3
  import { getExtensionKey } from '../../../../../state/helpers';
4
4
  import { footerBlockCss, titleBlockCss } from '../styled';
5
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
5
  const baseTopMetadata = [{
7
6
  name: ElementName.ModifiedOn
8
7
  }, {
@@ -48,7 +47,7 @@ export const getSimulatedBetterMetadata = cardDetails => {
48
47
  const isFile = data['@type'].includes('schema:DigitalDocument');
49
48
  return {
50
49
  titleMetadata: defaultTitleMetadata,
51
- topMetadata: getBooleanFF('platform.linking-platform.extractor.improve-bitbucket-file-links') && isFile ? [{
50
+ topMetadata: isFile ? [{
52
51
  name: ElementName.LatestCommit
53
52
  }, {
54
53
  name: ElementName.CollaboratorGroup
@@ -42,7 +42,8 @@ function Component({
42
42
  hoverPreviewOptions,
43
43
  showAuthTooltip,
44
44
  analyticsEvents,
45
- useLegacyBlockCard
45
+ useLegacyBlockCard,
46
+ removeTextHighlightingFromTitle
46
47
  }) {
47
48
  const {
48
49
  createAnalyticsEvent
@@ -220,7 +221,8 @@ function Component({
220
221
  showHoverPreview: showHoverPreview,
221
222
  hoverPreviewOptions: hoverPreviewOptions,
222
223
  showAuthTooltip: showAuthTooltip,
223
- actionOptions: actionOptions
224
+ actionOptions: actionOptions,
225
+ removeTextHighlightingFromTitle: removeTextHighlightingFromTitle
224
226
  });
225
227
  case 'block':
226
228
  return /*#__PURE__*/React.createElement(BlockCard, {
@@ -45,7 +45,8 @@ export function CardWithURLRenderer(props) {
45
45
  analyticsEvents,
46
46
  placeholder,
47
47
  fallbackComponent,
48
- useLegacyBlockCard
48
+ useLegacyBlockCard,
49
+ removeTextHighlightingFromTitle
49
50
  } = props;
50
51
  const analytics = useSmartLinkAnalytics(url !== null && url !== void 0 ? url : '', undefined, id);
51
52
  const isFlexibleUi = isFlexibleUiCard(children);
@@ -114,7 +115,8 @@ export function CardWithURLRenderer(props) {
114
115
  showAuthTooltip,
115
116
  analyticsEvents,
116
117
  placeholder,
117
- useLegacyBlockCard
118
+ useLegacyBlockCard,
119
+ removeTextHighlightingFromTitle
118
120
  };
119
121
  return /*#__PURE__*/React.createElement(ErrorBoundary, {
120
122
  FallbackComponent: ErrorFallback,
@@ -3,7 +3,6 @@ import { className, LinkWrapper, Wrapper, Header, IconWrapper, TextWrapper, Tool
3
3
  import { handleClickCommon } from '../../BlockCard/utils/handlers';
4
4
  import { useMouseDownEvent } from '../../../state/analytics/useLinkClicked';
5
5
  import Tooltip from '@atlaskit/tooltip';
6
- import { fg } from '@atlaskit/platform-feature-flags';
7
6
  export const ExpandedFrame = ({
8
7
  isPlaceholder = false,
9
8
  children,
@@ -44,7 +43,7 @@ export const ExpandedFrame = ({
44
43
  const renderContent = () => /*#__PURE__*/React.createElement(Content, {
45
44
  "data-testid": "embed-content-wrapper",
46
45
  allowScrollBar: allowScrollBar,
47
- removeOverflow: fg('platform.linking-platform.smart-card.fix-embed-card-blurring') && !setOverflow,
46
+ removeOverflow: !setOverflow,
48
47
  isInteractive: isInteractive(),
49
48
  frameStyle: frameStyle
50
49
  // This fixes an issue with input fields in cross domain iframes (ie. databases and jira fields from different domains)
@@ -1,7 +1,7 @@
1
1
  import { ElementName } from '../../constants';
2
2
  import { extractType } from '@atlaskit/link-extractors';
3
3
  import { extractOwnedBy } from '../../extractors/flexible/utils';
4
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
4
+ import { fg } from '@atlaskit/platform-feature-flags';
5
5
  const getSimulatedBetterMetadata = (extensionKey, data) => {
6
6
  var _data$Type$includes, _data$Type;
7
7
  const types = data ? extractType(data) : undefined;
@@ -17,7 +17,7 @@ const getSimulatedBetterMetadata = (extensionKey, data) => {
17
17
  subtitle: [ElementName.SourceBranch, ElementName.TargetBranch]
18
18
  };
19
19
  }
20
- if (getBooleanFF('platform.linking-platform.extractor.improve-bitbucket-file-links') && types !== null && types !== void 0 && types.includes('schema:DigitalDocument')) {
20
+ if (types !== null && types !== void 0 && types.includes('schema:DigitalDocument')) {
21
21
  return {
22
22
  primary: [ElementName.LatestCommit, ElementName.CollaboratorGroup, ElementName.ModifiedOn]
23
23
  };
@@ -86,11 +86,11 @@ const toElementItems = elementNames => {
86
86
  };
87
87
  export const getMetadata = (extensionKey, data) => {
88
88
  const metadata = getSimulatedBetterMetadata(extensionKey, data);
89
- const primary = getBooleanFF('platform.linking-platform.smart-card.hover-card-action-redesign') ? [].concat(metadata.primary, metadata.tertiary) : metadata.primary;
89
+ const primary = fg('platform.linking-platform.smart-card.hover-card-action-redesign') ? [].concat(metadata.primary, metadata.tertiary) : metadata.primary;
90
90
 
91
91
  // `tertiary` should be removed completely during cleanup:
92
92
  // https://product-fabric.atlassian.net/browse/EDM-9556
93
- const tertiary = getBooleanFF('platform.linking-platform.smart-card.hover-card-action-redesign') ? undefined : metadata.tertiary;
93
+ const tertiary = fg('platform.linking-platform.smart-card.hover-card-action-redesign') ? undefined : metadata.tertiary;
94
94
  return {
95
95
  subtitle: toElementItems(metadata.subtitle),
96
96
  primary: toElementItems(primary),
@@ -32,7 +32,8 @@ export const InlineCard = ({
32
32
  showHoverPreview,
33
33
  hoverPreviewOptions,
34
34
  showAuthTooltip,
35
- actionOptions
35
+ actionOptions,
36
+ removeTextHighlightingFromTitle
36
37
  }) => {
37
38
  var _details$meta, _providerForbidden$te;
38
39
  const {
@@ -49,7 +50,7 @@ export const InlineCard = ({
49
50
  if (showHoverPreview === undefined && showHoverPreviewFlag !== undefined) {
50
51
  showHoverPreview = Boolean(showHoverPreviewFlag);
51
52
  }
52
- const resolvedProps = status === SmartLinkStatus.Resolved ? extractInlineProps(cardDetails, renderers) : {};
53
+ const resolvedProps = status === SmartLinkStatus.Resolved ? extractInlineProps(cardDetails, renderers, removeTextHighlightingFromTitle) : {};
53
54
  useEffect(() => {
54
55
  switch (status) {
55
56
  case SmartLinkStatus.Resolved:
@@ -7,7 +7,7 @@ import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-m
7
7
  import LinkWarningModal from './LinkWarningModal';
8
8
  const PACKAGE_DATA = {
9
9
  packageName: "@atlaskit/smart-card",
10
- packageVersion: "27.16.3",
10
+ packageVersion: "27.18.0",
11
11
  componentName: 'linkUrl'
12
12
  };
13
13
  const Link = withLinkClickedEvent('a');
@@ -13,10 +13,10 @@ export var extractInlineIcon = function extractInlineIcon(jsonLd) {
13
13
  }
14
14
  return extractIcon(jsonLd, 'provider');
15
15
  };
16
- export var extractInlineProps = function extractInlineProps(jsonLd, renderers) {
16
+ export var extractInlineProps = function extractInlineProps(jsonLd, renderers, removeTextHighlightingFromTitle) {
17
17
  return {
18
18
  link: extractLink(jsonLd),
19
- title: extractTitle(jsonLd),
19
+ title: extractTitle(jsonLd, removeTextHighlightingFromTitle),
20
20
  lozenge: extractLozenge(jsonLd),
21
21
  icon: extractInlineIcon(jsonLd),
22
22
  titleTextColor: extractTitleTextColor(jsonLd),
@@ -15,7 +15,7 @@ export var ANALYTICS_CHANNEL = 'media';
15
15
  export var context = {
16
16
  componentName: 'smart-cards',
17
17
  packageName: "@atlaskit/smart-card",
18
- packageVersion: "27.16.3"
18
+ packageVersion: "27.18.0"
19
19
  };
20
20
  export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
21
21
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -2,7 +2,6 @@ import { ElementName, MediaPlacement, SmartLinkPosition, SmartLinkSize } from '.
2
2
  import { extractOwnedBy } from '../../../../../extractors/flexible/utils';
3
3
  import { getExtensionKey } from '../../../../../state/helpers';
4
4
  import { footerBlockCss, titleBlockCss } from '../styled';
5
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
5
  var baseTopMetadata = [{
7
6
  name: ElementName.ModifiedOn
8
7
  }, {
@@ -48,7 +47,7 @@ export var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(card
48
47
  var isFile = data['@type'].includes('schema:DigitalDocument');
49
48
  return {
50
49
  titleMetadata: defaultTitleMetadata,
51
- topMetadata: getBooleanFF('platform.linking-platform.extractor.improve-bitbucket-file-links') && isFile ? [{
50
+ topMetadata: isFile ? [{
52
51
  name: ElementName.LatestCommit
53
52
  }, {
54
53
  name: ElementName.CollaboratorGroup
@@ -42,7 +42,8 @@ function Component(_ref) {
42
42
  hoverPreviewOptions = _ref.hoverPreviewOptions,
43
43
  showAuthTooltip = _ref.showAuthTooltip,
44
44
  analyticsEvents = _ref.analyticsEvents,
45
- useLegacyBlockCard = _ref.useLegacyBlockCard;
45
+ useLegacyBlockCard = _ref.useLegacyBlockCard,
46
+ removeTextHighlightingFromTitle = _ref.removeTextHighlightingFromTitle;
46
47
  var _useAnalyticsEvents = useAnalyticsEvents(),
47
48
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
48
49
 
@@ -223,7 +224,8 @@ function Component(_ref) {
223
224
  showHoverPreview: showHoverPreview,
224
225
  hoverPreviewOptions: hoverPreviewOptions,
225
226
  showAuthTooltip: showAuthTooltip,
226
- actionOptions: actionOptions
227
+ actionOptions: actionOptions,
228
+ removeTextHighlightingFromTitle: removeTextHighlightingFromTitle
227
229
  });
228
230
  case 'block':
229
231
  return /*#__PURE__*/React.createElement(BlockCard, {
@@ -53,7 +53,8 @@ export function CardWithURLRenderer(props) {
53
53
  analyticsEvents = props.analyticsEvents,
54
54
  placeholder = props.placeholder,
55
55
  fallbackComponent = props.fallbackComponent,
56
- useLegacyBlockCard = props.useLegacyBlockCard;
56
+ useLegacyBlockCard = props.useLegacyBlockCard,
57
+ removeTextHighlightingFromTitle = props.removeTextHighlightingFromTitle;
57
58
  var analytics = useSmartLinkAnalytics(url !== null && url !== void 0 ? url : '', undefined, id);
58
59
  var isFlexibleUi = isFlexibleUiCard(children);
59
60
  var errorHandler = useCallback(function (error, info) {
@@ -123,7 +124,8 @@ export function CardWithURLRenderer(props) {
123
124
  showAuthTooltip: showAuthTooltip,
124
125
  analyticsEvents: analyticsEvents,
125
126
  placeholder: placeholder,
126
- useLegacyBlockCard: useLegacyBlockCard
127
+ useLegacyBlockCard: useLegacyBlockCard,
128
+ removeTextHighlightingFromTitle: removeTextHighlightingFromTitle
127
129
  };
128
130
  return /*#__PURE__*/React.createElement(ErrorBoundary, {
129
131
  FallbackComponent: ErrorFallback,
@@ -3,7 +3,6 @@ import { className, LinkWrapper, Wrapper, Header, IconWrapper, TextWrapper, Tool
3
3
  import { handleClickCommon } from '../../BlockCard/utils/handlers';
4
4
  import { useMouseDownEvent } from '../../../state/analytics/useLinkClicked';
5
5
  import Tooltip from '@atlaskit/tooltip';
6
- import { fg } from '@atlaskit/platform-feature-flags';
7
6
  export var ExpandedFrame = function ExpandedFrame(_ref) {
8
7
  var _ref$isPlaceholder = _ref.isPlaceholder,
9
8
  isPlaceholder = _ref$isPlaceholder === void 0 ? false : _ref$isPlaceholder,
@@ -56,7 +55,7 @@ export var ExpandedFrame = function ExpandedFrame(_ref) {
56
55
  return /*#__PURE__*/React.createElement(Content, {
57
56
  "data-testid": "embed-content-wrapper",
58
57
  allowScrollBar: allowScrollBar,
59
- removeOverflow: fg('platform.linking-platform.smart-card.fix-embed-card-blurring') && !setOverflow,
58
+ removeOverflow: !setOverflow,
60
59
  isInteractive: isInteractive(),
61
60
  frameStyle: frameStyle
62
61
  // This fixes an issue with input fields in cross domain iframes (ie. databases and jira fields from different domains)
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import { ElementName } from '../../constants';
5
5
  import { extractType } from '@atlaskit/link-extractors';
6
6
  import { extractOwnedBy } from '../../extractors/flexible/utils';
7
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
8
8
  var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(extensionKey, data) {
9
9
  var _data$Type$includes, _data$Type;
10
10
  var types = data ? extractType(data) : undefined;
@@ -20,7 +20,7 @@ var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(extensionKe
20
20
  subtitle: [ElementName.SourceBranch, ElementName.TargetBranch]
21
21
  };
22
22
  }
23
- if (getBooleanFF('platform.linking-platform.extractor.improve-bitbucket-file-links') && types !== null && types !== void 0 && types.includes('schema:DigitalDocument')) {
23
+ if (types !== null && types !== void 0 && types.includes('schema:DigitalDocument')) {
24
24
  return {
25
25
  primary: [ElementName.LatestCommit, ElementName.CollaboratorGroup, ElementName.ModifiedOn]
26
26
  };
@@ -88,11 +88,11 @@ var toElementItems = function toElementItems(elementNames) {
88
88
  };
89
89
  export var getMetadata = function getMetadata(extensionKey, data) {
90
90
  var metadata = getSimulatedBetterMetadata(extensionKey, data);
91
- var primary = getBooleanFF('platform.linking-platform.smart-card.hover-card-action-redesign') ? [].concat(metadata.primary, metadata.tertiary) : metadata.primary;
91
+ var primary = fg('platform.linking-platform.smart-card.hover-card-action-redesign') ? [].concat(metadata.primary, metadata.tertiary) : metadata.primary;
92
92
 
93
93
  // `tertiary` should be removed completely during cleanup:
94
94
  // https://product-fabric.atlassian.net/browse/EDM-9556
95
- var tertiary = getBooleanFF('platform.linking-platform.smart-card.hover-card-action-redesign') ? undefined : metadata.tertiary;
95
+ var tertiary = fg('platform.linking-platform.smart-card.hover-card-action-redesign') ? undefined : metadata.tertiary;
96
96
  return {
97
97
  subtitle: toElementItems(metadata.subtitle),
98
98
  primary: toElementItems(primary),
@@ -33,7 +33,8 @@ export var InlineCard = function InlineCard(_ref) {
33
33
  showHoverPreview = _ref.showHoverPreview,
34
34
  hoverPreviewOptions = _ref.hoverPreviewOptions,
35
35
  showAuthTooltip = _ref.showAuthTooltip,
36
- actionOptions = _ref.actionOptions;
36
+ actionOptions = _ref.actionOptions,
37
+ removeTextHighlightingFromTitle = _ref.removeTextHighlightingFromTitle;
37
38
  var _useAnalyticsEvents = useAnalyticsEvents(),
38
39
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
39
40
  var status = cardState.status,
@@ -45,7 +46,7 @@ export var InlineCard = function InlineCard(_ref) {
45
46
  if (showHoverPreview === undefined && showHoverPreviewFlag !== undefined) {
46
47
  showHoverPreview = Boolean(showHoverPreviewFlag);
47
48
  }
48
- var resolvedProps = status === SmartLinkStatus.Resolved ? extractInlineProps(cardDetails, renderers) : {};
49
+ var resolvedProps = status === SmartLinkStatus.Resolved ? extractInlineProps(cardDetails, renderers, removeTextHighlightingFromTitle) : {};
49
50
  useEffect(function () {
50
51
  switch (status) {
51
52
  case SmartLinkStatus.Resolved:
@@ -10,7 +10,7 @@ import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-m
10
10
  import LinkWarningModal from './LinkWarningModal';
11
11
  var PACKAGE_DATA = {
12
12
  packageName: "@atlaskit/smart-card",
13
- packageVersion: "27.16.3",
13
+ packageVersion: "27.18.0",
14
14
  componentName: 'linkUrl'
15
15
  };
16
16
  var Link = withLinkClickedEvent('a');
@@ -3,4 +3,4 @@ import { type JsonLd } from 'json-ld-types';
3
3
  import { type CardProviderRenderers } from '@atlaskit/link-provider';
4
4
  import { type InlineCardResolvedViewProps } from '../../view/InlineCard/ResolvedView';
5
5
  export declare const extractInlineIcon: (jsonLd: JsonLd.Data.BaseData) => import("react").ReactNode;
6
- export declare const extractInlineProps: (jsonLd: JsonLd.Data.BaseData, renderers?: CardProviderRenderers) => InlineCardResolvedViewProps;
6
+ export declare const extractInlineProps: (jsonLd: JsonLd.Data.BaseData, renderers?: CardProviderRenderers, removeTextHighlightingFromTitle?: boolean) => InlineCardResolvedViewProps;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { type CardAppearance, type CardPlatform, type CardProps } from './types';
3
3
  import { type WrappedComponentProps } from 'react-intl-next';
4
- export declare const Card: React.ForwardRefExoticComponent<Pick<Omit<import("react-intl-next").WithIntlProps<CardProps & WrappedComponentProps>, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any> & import("@atlaskit/analytics-next").WithContextProps, "url" | "appearance" | "container" | "children" | "data" | "key" | "id" | "placeholder" | "onError" | "onClick" | "testId" | "analyticsContext" | "isSelected" | "inheritDimensions" | "actionOptions" | "onResolve" | "ui" | "showHoverPreview" | "hoverPreviewOptions" | "showAuthTooltip" | "platform" | "isHovered" | "isFrameVisible" | "frameStyle" | "importer" | "showActions" | "showServerActions" | "fallbackComponent" | "embedIframeRef" | "embedIframeUrlType" | "inlinePreloaderStyle" | "analyticsEvents" | "useLegacyBlockCard" | "forwardedRef"> & React.RefAttributes<any>>;
4
+ export declare const Card: React.ForwardRefExoticComponent<Pick<Omit<import("react-intl-next").WithIntlProps<CardProps & WrappedComponentProps>, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any> & import("@atlaskit/analytics-next").WithContextProps, "url" | "appearance" | "container" | "children" | "data" | "key" | "id" | "placeholder" | "onError" | "onClick" | "testId" | "analyticsContext" | "isSelected" | "inheritDimensions" | "actionOptions" | "onResolve" | "ui" | "showHoverPreview" | "hoverPreviewOptions" | "showAuthTooltip" | "platform" | "isHovered" | "isFrameVisible" | "frameStyle" | "importer" | "showActions" | "showServerActions" | "fallbackComponent" | "embedIframeRef" | "embedIframeUrlType" | "inlinePreloaderStyle" | "analyticsEvents" | "useLegacyBlockCard" | "removeTextHighlightingFromTitle" | "forwardedRef"> & React.RefAttributes<any>>;
5
5
  export type { CardAppearance, CardProps, CardPlatform };
@@ -112,4 +112,11 @@ export interface CardProps extends WithAnalyticsEventsProps {
112
112
  * unable to use the new flexible block cards.
113
113
  */
114
114
  useLegacyBlockCard?: boolean;
115
+ /**
116
+ * When set to true, the text fragment will be removed from the title.
117
+ * This will have no impact on the url and text highlighting will still persist in the url,
118
+ * however the the text fragment will be stripped from the title of the smart card.
119
+ * For example, when set to true: "my name | :~:text=highlight this" will be displayed as "my name"
120
+ */
121
+ removeTextHighlightingFromTitle?: boolean;
115
122
  }
@@ -50,4 +50,5 @@ export type CardWithUrlContentProps = {
50
50
  analyticsEvents?: AnalyticsFacade;
51
51
  placeholder?: string;
52
52
  useLegacyBlockCard?: boolean;
53
+ removeTextHighlightingFromTitle?: boolean;
53
54
  };
@@ -6,4 +6,4 @@ import { InlineCardResolvedView } from './ResolvedView';
6
6
  import { InlineCardResolvingView } from './ResolvingView';
7
7
  import { InlineCardUnauthorizedView } from './UnauthorisedView';
8
8
  export { InlineCardResolvedView, InlineCardResolvingView, InlineCardErroredView, InlineCardForbiddenView, InlineCardUnauthorizedView, };
9
- export declare const InlineCard: ({ analytics, id, url, cardState, handleAuthorize, handleFrameClick, isSelected, isHovered, renderers, onResolve, onError, testId, inlinePreloaderStyle, showHoverPreview, hoverPreviewOptions, showAuthTooltip, actionOptions, }: InlineCardProps) => JSX.Element;
9
+ export declare const InlineCard: ({ analytics, id, url, cardState, handleAuthorize, handleFrameClick, isSelected, isHovered, renderers, onResolve, onError, testId, inlinePreloaderStyle, showHoverPreview, hoverPreviewOptions, showAuthTooltip, actionOptions, removeTextHighlightingFromTitle, }: InlineCardProps) => JSX.Element;
@@ -26,4 +26,5 @@ export type InlineCardProps = {
26
26
  showAuthTooltip?: boolean;
27
27
  actionOptions?: CardActionOptions;
28
28
  analytics: AnalyticsFacade;
29
+ removeTextHighlightingFromTitle?: boolean;
29
30
  };
@@ -3,4 +3,4 @@ import { type JsonLd } from 'json-ld-types';
3
3
  import { type CardProviderRenderers } from '@atlaskit/link-provider';
4
4
  import { type InlineCardResolvedViewProps } from '../../view/InlineCard/ResolvedView';
5
5
  export declare const extractInlineIcon: (jsonLd: JsonLd.Data.BaseData) => import("react").ReactNode;
6
- export declare const extractInlineProps: (jsonLd: JsonLd.Data.BaseData, renderers?: CardProviderRenderers) => InlineCardResolvedViewProps;
6
+ export declare const extractInlineProps: (jsonLd: JsonLd.Data.BaseData, renderers?: CardProviderRenderers, removeTextHighlightingFromTitle?: boolean) => InlineCardResolvedViewProps;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { type CardAppearance, type CardPlatform, type CardProps } from './types';
3
3
  import { type WrappedComponentProps } from 'react-intl-next';
4
- export declare const Card: React.ForwardRefExoticComponent<Pick<Omit<import("react-intl-next").WithIntlProps<CardProps & WrappedComponentProps>, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any> & import("@atlaskit/analytics-next").WithContextProps, "url" | "appearance" | "container" | "children" | "data" | "key" | "id" | "placeholder" | "onError" | "onClick" | "testId" | "analyticsContext" | "isSelected" | "inheritDimensions" | "actionOptions" | "onResolve" | "ui" | "showHoverPreview" | "hoverPreviewOptions" | "showAuthTooltip" | "platform" | "isHovered" | "isFrameVisible" | "frameStyle" | "importer" | "showActions" | "showServerActions" | "fallbackComponent" | "embedIframeRef" | "embedIframeUrlType" | "inlinePreloaderStyle" | "analyticsEvents" | "useLegacyBlockCard" | "forwardedRef"> & React.RefAttributes<any>>;
4
+ export declare const Card: React.ForwardRefExoticComponent<Pick<Omit<import("react-intl-next").WithIntlProps<CardProps & WrappedComponentProps>, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any> & import("@atlaskit/analytics-next").WithContextProps, "url" | "appearance" | "container" | "children" | "data" | "key" | "id" | "placeholder" | "onError" | "onClick" | "testId" | "analyticsContext" | "isSelected" | "inheritDimensions" | "actionOptions" | "onResolve" | "ui" | "showHoverPreview" | "hoverPreviewOptions" | "showAuthTooltip" | "platform" | "isHovered" | "isFrameVisible" | "frameStyle" | "importer" | "showActions" | "showServerActions" | "fallbackComponent" | "embedIframeRef" | "embedIframeUrlType" | "inlinePreloaderStyle" | "analyticsEvents" | "useLegacyBlockCard" | "removeTextHighlightingFromTitle" | "forwardedRef"> & React.RefAttributes<any>>;
5
5
  export type { CardAppearance, CardProps, CardPlatform };
@@ -112,4 +112,11 @@ export interface CardProps extends WithAnalyticsEventsProps {
112
112
  * unable to use the new flexible block cards.
113
113
  */
114
114
  useLegacyBlockCard?: boolean;
115
+ /**
116
+ * When set to true, the text fragment will be removed from the title.
117
+ * This will have no impact on the url and text highlighting will still persist in the url,
118
+ * however the the text fragment will be stripped from the title of the smart card.
119
+ * For example, when set to true: "my name | :~:text=highlight this" will be displayed as "my name"
120
+ */
121
+ removeTextHighlightingFromTitle?: boolean;
115
122
  }
@@ -50,4 +50,5 @@ export type CardWithUrlContentProps = {
50
50
  analyticsEvents?: AnalyticsFacade;
51
51
  placeholder?: string;
52
52
  useLegacyBlockCard?: boolean;
53
+ removeTextHighlightingFromTitle?: boolean;
53
54
  };
@@ -6,4 +6,4 @@ import { InlineCardResolvedView } from './ResolvedView';
6
6
  import { InlineCardResolvingView } from './ResolvingView';
7
7
  import { InlineCardUnauthorizedView } from './UnauthorisedView';
8
8
  export { InlineCardResolvedView, InlineCardResolvingView, InlineCardErroredView, InlineCardForbiddenView, InlineCardUnauthorizedView, };
9
- export declare const InlineCard: ({ analytics, id, url, cardState, handleAuthorize, handleFrameClick, isSelected, isHovered, renderers, onResolve, onError, testId, inlinePreloaderStyle, showHoverPreview, hoverPreviewOptions, showAuthTooltip, actionOptions, }: InlineCardProps) => JSX.Element;
9
+ export declare const InlineCard: ({ analytics, id, url, cardState, handleAuthorize, handleFrameClick, isSelected, isHovered, renderers, onResolve, onError, testId, inlinePreloaderStyle, showHoverPreview, hoverPreviewOptions, showAuthTooltip, actionOptions, removeTextHighlightingFromTitle, }: InlineCardProps) => JSX.Element;
@@ -26,4 +26,5 @@ export type InlineCardProps = {
26
26
  showAuthTooltip?: boolean;
27
27
  actionOptions?: CardActionOptions;
28
28
  analytics: AnalyticsFacade;
29
+ removeTextHighlightingFromTitle?: boolean;
29
30
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "27.16.3",
3
+ "version": "27.18.0",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -40,13 +40,13 @@
40
40
  "@atlaskit/form": "^10.5.0",
41
41
  "@atlaskit/frontend-utilities": "^2.7.0",
42
42
  "@atlaskit/heading": "^2.4.0",
43
- "@atlaskit/icon": "^22.14.0",
43
+ "@atlaskit/icon": "^22.15.0",
44
44
  "@atlaskit/icon-file-type": "^6.5.0",
45
45
  "@atlaskit/icon-object": "^6.5.0",
46
46
  "@atlaskit/icon-priority": "^6.3.0",
47
47
  "@atlaskit/link-analytics": "^8.5.0",
48
48
  "@atlaskit/link-client-extension": "^2.1.0",
49
- "@atlaskit/link-extractors": "^1.7.0",
49
+ "@atlaskit/link-extractors": "^1.9.0",
50
50
  "@atlaskit/linking-common": "^5.11.0",
51
51
  "@atlaskit/linking-types": "^9.0.0",
52
52
  "@atlaskit/logo": "^14.2.0",
@@ -157,9 +157,6 @@
157
157
  "platform.linking-platform.smart-card.enable-hover-card-related-urls": {
158
158
  "type": "boolean"
159
159
  },
160
- "platform.linking-platform.extractor.improve-bitbucket-file-links": {
161
- "type": "boolean"
162
- },
163
160
  "platform.linking-platform.smart-card.hover-card-ai-summaries": {
164
161
  "type": "boolean"
165
162
  },
@@ -169,9 +166,6 @@
169
166
  "platform.linking-platform.smart-card.hover-card-action-redesign": {
170
167
  "type": "boolean"
171
168
  },
172
- "platform.linking-platform.smart-card.fix-embed-card-blurring": {
173
- "type": "boolean"
174
- },
175
169
  "platform.linking-platform.smart-card.action-icon-redesign": {
176
170
  "type": "boolean"
177
171
  },