@atlaskit/smart-card 26.41.3 → 26.42.1

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 (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/extractors/common/context/extractAccessContext.js +24 -4
  3. package/dist/cjs/utils/analytics/analytics.js +1 -1
  4. package/dist/cjs/view/BlockCard/views/flexible/FlexibleForbiddenView.js +6 -2
  5. package/dist/cjs/view/EmbedCard/index.js +7 -2
  6. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +30 -0
  7. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/index.js +19 -8
  8. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +11 -16
  9. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +9 -1
  10. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +51 -0
  11. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +54 -0
  12. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +5 -0
  13. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/types.js +5 -0
  14. package/dist/cjs/view/HoverCard/components/views/forbidden/index.js +7 -3
  15. package/dist/cjs/view/LinkUrl/index.js +1 -1
  16. package/dist/cjs/view/RedesignedInlineCard/index.js +5 -1
  17. package/dist/es2019/extractors/common/context/extractAccessContext.js +30 -4
  18. package/dist/es2019/utils/analytics/analytics.js +1 -1
  19. package/dist/es2019/view/BlockCard/views/flexible/FlexibleForbiddenView.js +7 -2
  20. package/dist/es2019/view/EmbedCard/index.js +8 -2
  21. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +19 -0
  22. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/index.js +14 -1
  23. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +12 -15
  24. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +11 -2
  25. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +42 -0
  26. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +44 -0
  27. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +1 -0
  28. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/types.js +1 -0
  29. package/dist/es2019/view/HoverCard/components/views/forbidden/index.js +8 -3
  30. package/dist/es2019/view/LinkUrl/index.js +1 -1
  31. package/dist/es2019/view/RedesignedInlineCard/index.js +6 -1
  32. package/dist/esm/extractors/common/context/extractAccessContext.js +24 -4
  33. package/dist/esm/utils/analytics/analytics.js +1 -1
  34. package/dist/esm/view/BlockCard/views/flexible/FlexibleForbiddenView.js +6 -2
  35. package/dist/esm/view/EmbedCard/index.js +7 -2
  36. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +23 -0
  37. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/index.js +19 -8
  38. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +12 -17
  39. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +10 -2
  40. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +44 -0
  41. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +44 -0
  42. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +1 -0
  43. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/types.js +1 -0
  44. package/dist/esm/view/HoverCard/components/views/forbidden/index.js +7 -3
  45. package/dist/esm/view/LinkUrl/index.js +1 -1
  46. package/dist/esm/view/RedesignedInlineCard/index.js +5 -1
  47. package/dist/types/extractors/common/context/extractAccessContext.d.ts +3 -1
  48. package/dist/types/utils/types.d.ts +2 -2
  49. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/analytics.d.ts +3 -0
  50. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.d.ts +11 -0
  51. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.d.ts +4 -0
  52. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.d.ts +10 -0
  53. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/types.d.ts +3 -0
  54. package/dist/types-ts4.5/extractors/common/context/extractAccessContext.d.ts +3 -1
  55. package/dist/types-ts4.5/utils/types.d.ts +2 -2
  56. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/analytics.d.ts +3 -0
  57. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.d.ts +11 -0
  58. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.d.ts +4 -0
  59. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.d.ts +10 -0
  60. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/types.d.ts +3 -0
  61. package/package.json +2 -2
  62. package/report.api.md +2 -0
  63. package/tmp/api-report-tmp.d.ts +2 -2
@@ -1,7 +1,7 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  var _templateObject;
4
- import React, { useCallback, useMemo, useState } from 'react';
4
+ import React, { useCallback, useState } from 'react';
5
5
  import { useIntl } from 'react-intl-next';
6
6
  import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
7
7
  import ChevronUpIcon from '@atlaskit/icon/glyph/chevron-up';
@@ -10,7 +10,7 @@ import { css } from '@emotion/react';
10
10
  import { messages } from '../../../../../../../messages';
11
11
  import { getFormattedMessageAsString } from '../../../../../components/utils';
12
12
  import Text from '../../../../elements/text';
13
- import RelatedUrlItem from './related-url-item';
13
+ import ResolvedResultsStack from './resolved-result-stack';
14
14
  var RelatedUrlList = function RelatedUrlList(_ref) {
15
15
  var resolvedResults = _ref.resolvedResults,
16
16
  title = _ref.title,
@@ -26,19 +26,6 @@ var RelatedUrlList = function RelatedUrlList(_ref) {
26
26
  }, [isOpen]);
27
27
  var ChevronComponent = isOpen ? ChevronUpIcon : ChevronDownIcon;
28
28
  var intl = useIntl();
29
- var resolvedResultsStack = useMemo(function () {
30
- return /*#__PURE__*/React.createElement(Stack, {
31
- space: "space.050",
32
- testId: "".concat(testId, "-items-wrapper")
33
- }, resolvedResults.map(function (resolvedResults, idx) {
34
- return /*#__PURE__*/React.createElement(RelatedUrlItem, {
35
- testId: "".concat(testId, "-item"),
36
- key: idx,
37
- results: resolvedResults,
38
- renderers: renderers
39
- });
40
- }));
41
- }, [renderers, resolvedResults, testId]);
42
29
  return resolvedResults.length > 0 ? /*#__PURE__*/React.createElement(Stack, {
43
30
  testId: testId,
44
31
  xcss: xcss({
@@ -46,7 +33,11 @@ var RelatedUrlList = function RelatedUrlList(_ref) {
46
33
  })
47
34
  }, /*#__PURE__*/React.createElement(Box, {
48
35
  onClick: chevronClickHandler,
49
- testId: "".concat(testId, "-expand-title")
36
+ testId: "".concat(testId, "-expand-title"),
37
+ as: "button",
38
+ backgroundColor: "color.background.neutral.subtle",
39
+ "aria-expanded": !!isOpen,
40
+ padding: "space.0"
50
41
  }, /*#__PURE__*/React.createElement(Inline, {
51
42
  alignBlock: "center",
52
43
  spread: "space-between"
@@ -58,7 +49,11 @@ var RelatedUrlList = function RelatedUrlList(_ref) {
58
49
  }), /*#__PURE__*/React.createElement(ChevronComponent, {
59
50
  label: getFormattedMessageAsString(intl, title),
60
51
  size: 'medium'
61
- }))), isOpen && resolvedResultsStack) : /*#__PURE__*/React.createElement(Text, {
52
+ }))), isOpen && /*#__PURE__*/React.createElement(ResolvedResultsStack, {
53
+ resolvedResults: resolvedResults,
54
+ testId: testId,
55
+ renderers: renderers
56
+ })) : /*#__PURE__*/React.createElement(Text, {
62
57
  testId: testId,
63
58
  message: {
64
59
  descriptor: messages.related_work_items_not_found
@@ -1,20 +1,27 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useMemo } from 'react';
2
+ import React, { useCallback, useMemo } from 'react';
3
3
  import { Inline } from '@atlaskit/primitives';
4
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
4
5
  import { SmartLinkSize } from '../../../../../../../../constants';
5
6
  import extractFlexibleUiContext from '../../../../../../../../extractors/flexible';
6
7
  import Icon from '../../../../../elements/icon';
7
8
  import Link from '../../../../../elements/link';
9
+ import { fireLinkClickedEvent } from '../../../../../../../../utils/analytics/click';
8
10
  var RelatedUrlItem = function RelatedUrlItem(_ref) {
9
11
  var results = _ref.results,
10
12
  renderers = _ref.renderers,
11
13
  testId = _ref.testId;
14
+ var _useAnalyticsEvents = useAnalyticsEvents(),
15
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
12
16
  var flexibleDataContext = useMemo(function () {
13
17
  return extractFlexibleUiContext({
14
18
  response: results,
15
19
  renderers: renderers
16
20
  });
17
21
  }, [renderers, results]);
22
+ var onClick = useCallback(function (event) {
23
+ fireLinkClickedEvent(createAnalyticsEvent)(event);
24
+ }, [createAnalyticsEvent]);
18
25
  return /*#__PURE__*/React.createElement(Inline, {
19
26
  alignBlock: "center",
20
27
  space: "space.050",
@@ -27,7 +34,8 @@ var RelatedUrlItem = function RelatedUrlItem(_ref) {
27
34
  text: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.title,
28
35
  url: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.url,
29
36
  size: SmartLinkSize.Small,
30
- maxLines: 1
37
+ maxLines: 1,
38
+ onClick: onClick
31
39
  }));
32
40
  };
33
41
  export default RelatedUrlItem;
@@ -0,0 +1,44 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import React from 'react';
5
+ import { AnalyticsContext } from '@atlaskit/analytics-next';
6
+ import { getResolvedAttributes } from '@atlaskit/link-analytics/resolved-attributes';
7
+ import { ANALYTICS_CHANNEL } from '../../../../../../../../utils/analytics';
8
+ var createUiRelatedLinksViewedEventPayload = function createUiRelatedLinksViewedEventPayload(_ref) {
9
+ var relatedLinksCount = _ref.relatedLinksCount;
10
+ return {
11
+ action: 'viewed',
12
+ actionSubject: 'relatedLinks',
13
+ eventType: 'ui',
14
+ attributes: {
15
+ relatedLinksCount: relatedLinksCount
16
+ }
17
+ };
18
+ };
19
+ export var fireRelatedLinksViewedEvent = function fireRelatedLinksViewedEvent(createAnalyticsEvent) {
20
+ return function (attributes) {
21
+ var payload = createUiRelatedLinksViewedEventPayload(attributes);
22
+ if (payload) {
23
+ createAnalyticsEvent(_objectSpread({}, payload)).fire(ANALYTICS_CHANNEL);
24
+ }
25
+ };
26
+ };
27
+ export var RelatedUrlItemAnalyticsContext = function RelatedUrlItemAnalyticsContext(props) {
28
+ var children = props.children,
29
+ details = props.details;
30
+
31
+ /**
32
+ * We don't really need the `url` to get the attributes here so set
33
+ * it to an empty string to just make typescript happy
34
+ */
35
+ var attributes = getResolvedAttributes({
36
+ url: ''
37
+ }, details);
38
+ return /*#__PURE__*/React.createElement(AnalyticsContext, {
39
+ data: {
40
+ attributes: attributes,
41
+ component: 'relatedLink'
42
+ }
43
+ }, children);
44
+ };
@@ -0,0 +1,44 @@
1
+ import React, { useEffect } from 'react';
2
+ import { Stack, xcss } from '@atlaskit/primitives';
3
+ import { AnalyticsContext, useAnalyticsEvents } from '@atlaskit/analytics-next';
4
+ import RelatedUrlItem from '../related-url-item';
5
+ import { RelatedUrlItemAnalyticsContext, fireRelatedLinksViewedEvent } from './analytics';
6
+ var ResolvedResultsStack = function ResolvedResultsStack(_ref) {
7
+ var resolvedResults = _ref.resolvedResults,
8
+ testId = _ref.testId,
9
+ renderers = _ref.renderers;
10
+ var _useAnalyticsEvents = useAnalyticsEvents(),
11
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
12
+ useEffect(function () {
13
+ // This event will fire each time the component is loaded
14
+ fireRelatedLinksViewedEvent(createAnalyticsEvent)({
15
+ relatedLinksCount: resolvedResults.length
16
+ });
17
+ }, [resolvedResults.length, createAnalyticsEvent]);
18
+ return /*#__PURE__*/React.createElement(Stack, {
19
+ space: "space.050",
20
+ testId: "".concat(testId, "-items-wrapper"),
21
+ as: "ul",
22
+ xcss: xcss({
23
+ paddingLeft: '0px',
24
+ marginTop: '0px'
25
+ })
26
+ }, resolvedResults.map(function (resolvedResults, idx) {
27
+ return /*#__PURE__*/React.createElement(RelatedUrlItemAnalyticsContext, {
28
+ details: resolvedResults,
29
+ key: idx
30
+ }, /*#__PURE__*/React.createElement(RelatedUrlItem, {
31
+ testId: "".concat(testId, "-item"),
32
+ results: resolvedResults,
33
+ renderers: renderers
34
+ }));
35
+ }));
36
+ };
37
+ var ResolvedResultsStackWithAnalytics = function ResolvedResultsStackWithAnalytics(props) {
38
+ return /*#__PURE__*/React.createElement(AnalyticsContext, {
39
+ data: {
40
+ component: 'relatedLinksSection'
41
+ }
42
+ }, /*#__PURE__*/React.createElement(ResolvedResultsStack, props));
43
+ };
44
+ export default ResolvedResultsStackWithAnalytics;
@@ -10,11 +10,14 @@ import { connectButtonStyles, mainTextStyles, titleBlockStyles } from './styled'
10
10
  import { getPreviewBlockStyles } from '../../../styled';
11
11
  import { extractRequestAccessContextImproved } from '../../../../../extractors/common/context/extractAccessContext';
12
12
  import extractHostname from '../../../../../extractors/common/hostname/extractHostname';
13
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
13
14
  var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
14
15
  var _cardState$details, _cardState$details2, _extractProvider$text, _extractProvider, _extractRequestAccess;
15
16
  var flexibleCardProps = _ref.flexibleCardProps,
16
17
  _ref$testId = _ref.testId,
17
18
  testId = _ref$testId === void 0 ? 'hover-card-forbidden-view' : _ref$testId;
19
+ var _useAnalyticsEvents = useAnalyticsEvents(),
20
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
18
21
  var cardState = flexibleCardProps.cardState,
19
22
  url = flexibleCardProps.url;
20
23
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
@@ -24,7 +27,8 @@ var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
24
27
  var _ref2 = (_extractRequestAccess = extractRequestAccessContextImproved({
25
28
  jsonLd: meta,
26
29
  url: url,
27
- product: product
30
+ product: product,
31
+ createAnalyticsEvent: createAnalyticsEvent
28
32
  })) !== null && _extractRequestAccess !== void 0 ? _extractRequestAccess : {},
29
33
  action = _ref2.action,
30
34
  descriptiveMessageKey = _ref2.descriptiveMessageKey,
@@ -55,9 +59,9 @@ var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
55
59
  hostname: hostname
56
60
  }
57
61
  }))), action && /*#__PURE__*/React.createElement(CustomBlock, {
58
- overrideCss: connectButtonStyles,
59
- testId: "".concat(testId, "-button")
62
+ overrideCss: connectButtonStyles
60
63
  }, /*#__PURE__*/React.createElement(Button, {
64
+ testId: "".concat(testId, "-button"),
61
65
  onClick: action === null || action === void 0 ? void 0 : action.promise,
62
66
  appearance: "primary",
63
67
  isDisabled: buttonDisabled
@@ -11,7 +11,7 @@ import LinkWarningModal from './LinkWarningModal';
11
11
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
12
12
  var PACKAGE_DATA = {
13
13
  packageName: "@atlaskit/smart-card",
14
- packageVersion: "26.41.3",
14
+ packageVersion: "26.42.1",
15
15
  componentName: 'linkUrl'
16
16
  };
17
17
  var Link = withLinkClickedEvent('a');
@@ -14,6 +14,7 @@ import { extractProvider } from '@atlaskit/link-extractors';
14
14
  import { useFeatureFlag } from '@atlaskit/link-provider';
15
15
  import { getExtensionKey } from '../../state/helpers';
16
16
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
17
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
17
18
  export { InlineCardResolvedView, InlineCardResolvingView, InlineCardErroredView, InlineCardForbiddenView, InlineCardUnauthorizedView };
18
19
  export var InlineCard = function InlineCard(_ref) {
19
20
  var _details$meta, _providerForbidden$te;
@@ -32,6 +33,8 @@ export var InlineCard = function InlineCard(_ref) {
32
33
  showHoverPreview = _ref.showHoverPreview,
33
34
  showAuthTooltip = _ref.showAuthTooltip,
34
35
  showServerActions = _ref.showServerActions;
36
+ var _useAnalyticsEvents = useAnalyticsEvents(),
37
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
35
38
  var status = cardState.status,
36
39
  details = cardState.details;
37
40
  var cardDetails = details && details.data || getEmptyJsonLd();
@@ -101,7 +104,8 @@ export var InlineCard = function InlineCard(_ref) {
101
104
  var requestAccessContext = getBooleanFF('platform.linking-platform.smart-card.cross-join') ? extractRequestAccessContextImproved({
102
105
  jsonLd: cardMetadata,
103
106
  url: url,
104
- product: (_providerForbidden$te = providerForbidden === null || providerForbidden === void 0 ? void 0 : providerForbidden.text) !== null && _providerForbidden$te !== void 0 ? _providerForbidden$te : ''
107
+ product: (_providerForbidden$te = providerForbidden === null || providerForbidden === void 0 ? void 0 : providerForbidden.text) !== null && _providerForbidden$te !== void 0 ? _providerForbidden$te : '',
108
+ createAnalyticsEvent: createAnalyticsEvent
105
109
  }) : extractRequestAccessContext({
106
110
  jsonLd: cardMetadata,
107
111
  url: url,
@@ -1,12 +1,14 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
2
  import { RequestAccessContextProps } from '../../../view/types';
3
+ import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
3
4
  export declare const extractRequestAccessContext: ({ jsonLd, url, context, }: {
4
5
  jsonLd: JsonLd.Meta.BaseMeta;
5
6
  url: string;
6
7
  context?: string | undefined;
7
8
  }) => RequestAccessContextProps;
8
- export declare const extractRequestAccessContextImproved: ({ jsonLd, url, product, }: {
9
+ export declare const extractRequestAccessContextImproved: ({ jsonLd, url, product, createAnalyticsEvent, }: {
9
10
  jsonLd: JsonLd.Meta.BaseMeta;
10
11
  url: string;
11
12
  product: string;
13
+ createAnalyticsEvent: CreateUIAnalyticsEvent;
12
14
  }) => RequestAccessContextProps;
@@ -1,7 +1,7 @@
1
1
  import { GasPayload } from '@atlaskit/analytics-gas-types';
2
2
  import { CardInnerAppearance } from '../view/Card/types';
3
- export type AnalyticsAction = 'authStarted' | 'clicked' | 'closed' | 'connected' | 'connectFailed' | 'connectSucceeded' | 'created' | 'dismissed' | 'inserted' | 'renderFailed' | 'renderSuccess' | 'renderWithStatus' | 'resolved' | 'viewed' | 'unresolved' | 'updated' | 'chunkLoadFailed' | 'dwelled' | 'focused' | 'started' | 'success' | 'failed';
4
- export type AnalyticsActionSubject = 'smartLink' | 'smartLinkAction' | 'applicationAccount' | 'button' | 'consentModal' | 'hoverCard' | 'modal' | 'embedPreviewModal' | 'smartLinkIframe' | 'link' | 'smartLinkQuickAction';
3
+ export type AnalyticsAction = 'authStarted' | 'clicked' | 'closed' | 'connected' | 'connectFailed' | 'connectSucceeded' | 'created' | 'dismissed' | 'inserted' | 'renderFailed' | 'renderSuccess' | 'renderWithStatus' | 'resolved' | 'viewed' | 'unresolved' | 'updated' | 'chunkLoadFailed' | 'dwelled' | 'focused' | 'started' | 'success' | 'failed' | 'loaded';
4
+ export type AnalyticsActionSubject = 'smartLink' | 'smartLinkAction' | 'applicationAccount' | 'button' | 'consentModal' | 'hoverCard' | 'modal' | 'embedPreviewModal' | 'smartLinkIframe' | 'link' | 'smartLinkQuickAction' | 'relatedLinks';
5
5
  export type AnalyticsName = 'embedPreviewModal';
6
6
  export type AnalyticsOrigin = 'smartLinkCard' | 'smartLinkEmbed' | 'smartLinkInline' | 'smartLinkPreviewHoverCard';
7
7
  export type AnalyticsPayload = GasPayload & {
@@ -0,0 +1,3 @@
1
+ import { AnalyticsEventPayload, UIAnalyticsEvent } from '@atlaskit/analytics-next';
2
+ import { TrackRelatedLinksLoadedEventProps } from './types';
3
+ export declare const fireRelatedLinksLoadedEvent: (createAnalyticsEvent: (payload: AnalyticsEventPayload) => UIAnalyticsEvent) => (attributes: TrackRelatedLinksLoadedEventProps) => void;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { AnalyticsEventPayload, UIAnalyticsEvent } from '@atlaskit/analytics-next';
3
+ import { JsonLd } from 'json-ld-types';
4
+ import { UiRelatedLinksViewedEventProps } from './types';
5
+ export declare const fireRelatedLinksViewedEvent: (createAnalyticsEvent: (payload: AnalyticsEventPayload) => UIAnalyticsEvent) => (attributes: UiRelatedLinksViewedEventProps) => void;
6
+ type RelatedUrlItemAnalyticsContextProps = {
7
+ details: JsonLd.Response;
8
+ children?: React.ReactNode;
9
+ };
10
+ export declare const RelatedUrlItemAnalyticsContext: (props: RelatedUrlItemAnalyticsContextProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ResolvedResultsStackProps } from './types';
3
+ declare const ResolvedResultsStackWithAnalytics: (props: ResolvedResultsStackProps) => JSX.Element;
4
+ export default ResolvedResultsStackWithAnalytics;
@@ -0,0 +1,10 @@
1
+ import { JsonLd } from 'json-ld-types';
2
+ import { CardProviderRenderers } from '@atlaskit/link-provider';
3
+ export interface ResolvedResultsStackProps {
4
+ testId: string;
5
+ resolvedResults: JsonLd.Response[];
6
+ renderers?: CardProviderRenderers;
7
+ }
8
+ export type UiRelatedLinksViewedEventProps = {
9
+ relatedLinksCount: number;
10
+ };
@@ -0,0 +1,3 @@
1
+ export type TrackRelatedLinksLoadedEventProps = {
2
+ relatedLinksCount: number;
3
+ };
@@ -1,12 +1,14 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
2
  import { RequestAccessContextProps } from '../../../view/types';
3
+ import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
3
4
  export declare const extractRequestAccessContext: ({ jsonLd, url, context, }: {
4
5
  jsonLd: JsonLd.Meta.BaseMeta;
5
6
  url: string;
6
7
  context?: string | undefined;
7
8
  }) => RequestAccessContextProps;
8
- export declare const extractRequestAccessContextImproved: ({ jsonLd, url, product, }: {
9
+ export declare const extractRequestAccessContextImproved: ({ jsonLd, url, product, createAnalyticsEvent, }: {
9
10
  jsonLd: JsonLd.Meta.BaseMeta;
10
11
  url: string;
11
12
  product: string;
13
+ createAnalyticsEvent: CreateUIAnalyticsEvent;
12
14
  }) => RequestAccessContextProps;
@@ -1,7 +1,7 @@
1
1
  import { GasPayload } from '@atlaskit/analytics-gas-types';
2
2
  import { CardInnerAppearance } from '../view/Card/types';
3
- export type AnalyticsAction = 'authStarted' | 'clicked' | 'closed' | 'connected' | 'connectFailed' | 'connectSucceeded' | 'created' | 'dismissed' | 'inserted' | 'renderFailed' | 'renderSuccess' | 'renderWithStatus' | 'resolved' | 'viewed' | 'unresolved' | 'updated' | 'chunkLoadFailed' | 'dwelled' | 'focused' | 'started' | 'success' | 'failed';
4
- export type AnalyticsActionSubject = 'smartLink' | 'smartLinkAction' | 'applicationAccount' | 'button' | 'consentModal' | 'hoverCard' | 'modal' | 'embedPreviewModal' | 'smartLinkIframe' | 'link' | 'smartLinkQuickAction';
3
+ export type AnalyticsAction = 'authStarted' | 'clicked' | 'closed' | 'connected' | 'connectFailed' | 'connectSucceeded' | 'created' | 'dismissed' | 'inserted' | 'renderFailed' | 'renderSuccess' | 'renderWithStatus' | 'resolved' | 'viewed' | 'unresolved' | 'updated' | 'chunkLoadFailed' | 'dwelled' | 'focused' | 'started' | 'success' | 'failed' | 'loaded';
4
+ export type AnalyticsActionSubject = 'smartLink' | 'smartLinkAction' | 'applicationAccount' | 'button' | 'consentModal' | 'hoverCard' | 'modal' | 'embedPreviewModal' | 'smartLinkIframe' | 'link' | 'smartLinkQuickAction' | 'relatedLinks';
5
5
  export type AnalyticsName = 'embedPreviewModal';
6
6
  export type AnalyticsOrigin = 'smartLinkCard' | 'smartLinkEmbed' | 'smartLinkInline' | 'smartLinkPreviewHoverCard';
7
7
  export type AnalyticsPayload = GasPayload & {
@@ -0,0 +1,3 @@
1
+ import { AnalyticsEventPayload, UIAnalyticsEvent } from '@atlaskit/analytics-next';
2
+ import { TrackRelatedLinksLoadedEventProps } from './types';
3
+ export declare const fireRelatedLinksLoadedEvent: (createAnalyticsEvent: (payload: AnalyticsEventPayload) => UIAnalyticsEvent) => (attributes: TrackRelatedLinksLoadedEventProps) => void;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { AnalyticsEventPayload, UIAnalyticsEvent } from '@atlaskit/analytics-next';
3
+ import { JsonLd } from 'json-ld-types';
4
+ import { UiRelatedLinksViewedEventProps } from './types';
5
+ export declare const fireRelatedLinksViewedEvent: (createAnalyticsEvent: (payload: AnalyticsEventPayload) => UIAnalyticsEvent) => (attributes: UiRelatedLinksViewedEventProps) => void;
6
+ type RelatedUrlItemAnalyticsContextProps = {
7
+ details: JsonLd.Response;
8
+ children?: React.ReactNode;
9
+ };
10
+ export declare const RelatedUrlItemAnalyticsContext: (props: RelatedUrlItemAnalyticsContextProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ResolvedResultsStackProps } from './types';
3
+ declare const ResolvedResultsStackWithAnalytics: (props: ResolvedResultsStackProps) => JSX.Element;
4
+ export default ResolvedResultsStackWithAnalytics;
@@ -0,0 +1,10 @@
1
+ import { JsonLd } from 'json-ld-types';
2
+ import { CardProviderRenderers } from '@atlaskit/link-provider';
3
+ export interface ResolvedResultsStackProps {
4
+ testId: string;
5
+ resolvedResults: JsonLd.Response[];
6
+ renderers?: CardProviderRenderers;
7
+ }
8
+ export type UiRelatedLinksViewedEventProps = {
9
+ relatedLinksCount: number;
10
+ };
@@ -0,0 +1,3 @@
1
+ export type TrackRelatedLinksLoadedEventProps = {
2
+ relatedLinksCount: number;
3
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.41.3",
3
+ "version": "26.42.1",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -38,7 +38,7 @@
38
38
  "@atlaskit/link-analytics": "^8.3.0",
39
39
  "@atlaskit/link-client-extension": "^1.8.0",
40
40
  "@atlaskit/link-extractors": "^1.2.0",
41
- "@atlaskit/linking-common": "^4.15.0",
41
+ "@atlaskit/linking-common": "^4.17.0",
42
42
  "@atlaskit/linking-types": "^8.4.0",
43
43
  "@atlaskit/logo": "^13.14.0",
44
44
  "@atlaskit/lozenge": "^11.4.0",
package/report.api.md CHANGED
@@ -104,6 +104,7 @@ export type AnalyticsAction =
104
104
  | 'failed'
105
105
  | 'focused'
106
106
  | 'inserted'
107
+ | 'loaded'
107
108
  | 'renderFailed'
108
109
  | 'renderSuccess'
109
110
  | 'renderWithStatus'
@@ -123,6 +124,7 @@ export type AnalyticsActionSubject =
123
124
  | 'hoverCard'
124
125
  | 'link'
125
126
  | 'modal'
127
+ | 'relatedLinks'
126
128
  | 'smartLink'
127
129
  | 'smartLinkAction'
128
130
  | 'smartLinkIframe'
@@ -76,10 +76,10 @@ type ActionProps = {
76
76
  };
77
77
 
78
78
  // @public (undocumented)
79
- export type AnalyticsAction = 'authStarted' | 'chunkLoadFailed' | 'clicked' | 'closed' | 'connectFailed' | 'connectSucceeded' | 'connected' | 'created' | 'dismissed' | 'dwelled' | 'failed' | 'focused' | 'inserted' | 'renderFailed' | 'renderSuccess' | 'renderWithStatus' | 'resolved' | 'started' | 'success' | 'unresolved' | 'updated' | 'viewed';
79
+ export type AnalyticsAction = 'authStarted' | 'chunkLoadFailed' | 'clicked' | 'closed' | 'connectFailed' | 'connectSucceeded' | 'connected' | 'created' | 'dismissed' | 'dwelled' | 'failed' | 'focused' | 'inserted' | 'loaded' | 'renderFailed' | 'renderSuccess' | 'renderWithStatus' | 'resolved' | 'started' | 'success' | 'unresolved' | 'updated' | 'viewed';
80
80
 
81
81
  // @public (undocumented)
82
- export type AnalyticsActionSubject = 'applicationAccount' | 'button' | 'consentModal' | 'embedPreviewModal' | 'hoverCard' | 'link' | 'modal' | 'smartLink' | 'smartLinkAction' | 'smartLinkIframe' | 'smartLinkQuickAction';
82
+ export type AnalyticsActionSubject = 'applicationAccount' | 'button' | 'consentModal' | 'embedPreviewModal' | 'hoverCard' | 'link' | 'modal' | 'relatedLinks' | 'smartLink' | 'smartLinkAction' | 'smartLinkIframe' | 'smartLinkQuickAction';
83
83
 
84
84
  // @public (undocumented)
85
85
  type AnalyticsFacade = ReturnType<typeof useSmartLinkAnalytics>;