@atlaskit/smart-card 31.0.0 → 31.0.2

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 (122) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/messages.js +0 -10
  3. package/dist/cjs/utils/analytics/analytics.js +1 -1
  4. package/dist/cjs/view/BlockCard/components/Provider.js +3 -1
  5. package/dist/cjs/view/EmbedCard/components/IFrame.js +1 -0
  6. package/dist/cjs/view/EmbedCard/views/unresolved-view/index.js +1 -0
  7. package/dist/cjs/view/FlexibleCard/components/blocks/index.js +0 -7
  8. package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +3 -1
  9. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-item/index.js +12 -8
  10. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +1 -0
  11. package/dist/cjs/view/LinkUrl/index.js +1 -1
  12. package/dist/cjs/view/common/Metadata.js +1 -0
  13. package/dist/cjs/view/common/stop-propagation/index.js +7 -4
  14. package/dist/es2019/messages.js +0 -10
  15. package/dist/es2019/utils/analytics/analytics.js +1 -1
  16. package/dist/es2019/view/BlockCard/components/Provider.js +3 -1
  17. package/dist/es2019/view/EmbedCard/components/IFrame.js +1 -0
  18. package/dist/es2019/view/EmbedCard/views/unresolved-view/index.js +1 -0
  19. package/dist/es2019/view/FlexibleCard/components/blocks/index.js +0 -1
  20. package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +3 -1
  21. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-item/index.js +12 -8
  22. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +1 -0
  23. package/dist/es2019/view/LinkUrl/index.js +1 -1
  24. package/dist/es2019/view/common/Metadata.js +1 -0
  25. package/dist/es2019/view/common/stop-propagation/index.js +7 -4
  26. package/dist/esm/messages.js +0 -10
  27. package/dist/esm/utils/analytics/analytics.js +1 -1
  28. package/dist/esm/view/BlockCard/components/Provider.js +3 -1
  29. package/dist/esm/view/EmbedCard/components/IFrame.js +1 -0
  30. package/dist/esm/view/EmbedCard/views/unresolved-view/index.js +1 -0
  31. package/dist/esm/view/FlexibleCard/components/blocks/index.js +0 -1
  32. package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +3 -1
  33. package/dist/esm/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-item/index.js +12 -8
  34. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +1 -0
  35. package/dist/esm/view/LinkUrl/index.js +1 -1
  36. package/dist/esm/view/common/Metadata.js +1 -0
  37. package/dist/esm/view/common/stop-propagation/index.js +7 -4
  38. package/dist/types/messages.d.ts +1 -1
  39. package/dist/types/view/FlexibleCard/components/blocks/index.d.ts +0 -1
  40. package/dist/types-ts4.5/messages.d.ts +1 -1
  41. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/index.d.ts +0 -1
  42. package/package.json +4 -4
  43. package/dist/cjs/state/hooks/use-related-urls/index.js +0 -37
  44. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +0 -30
  45. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/errored/index.js +0 -25
  46. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/errored/types.js +0 -5
  47. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/index.js +0 -110
  48. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.js +0 -30
  49. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +0 -80
  50. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +0 -51
  51. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.js +0 -5
  52. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +0 -51
  53. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +0 -56
  54. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +0 -5
  55. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.js +0 -5
  56. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.js +0 -5
  57. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.js +0 -23
  58. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/types.js +0 -1
  59. package/dist/es2019/state/hooks/use-related-urls/index.js +0 -13
  60. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +0 -19
  61. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/errored/index.js +0 -15
  62. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/errored/types.js +0 -1
  63. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/index.js +0 -69
  64. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.js +0 -24
  65. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +0 -65
  66. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +0 -41
  67. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.js +0 -1
  68. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +0 -42
  69. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +0 -46
  70. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +0 -1
  71. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.js +0 -1
  72. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.js +0 -1
  73. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.js +0 -13
  74. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/types.js +0 -0
  75. package/dist/esm/state/hooks/use-related-urls/index.js +0 -30
  76. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +0 -23
  77. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/errored/index.js +0 -18
  78. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/errored/types.js +0 -1
  79. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/index.js +0 -102
  80. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.js +0 -23
  81. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +0 -70
  82. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +0 -41
  83. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.js +0 -1
  84. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +0 -44
  85. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +0 -46
  86. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +0 -1
  87. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.js +0 -1
  88. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.js +0 -1
  89. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.js +0 -16
  90. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/types.js +0 -0
  91. package/dist/types/state/hooks/use-related-urls/index.d.ts +0 -6
  92. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/analytics.d.ts +0 -3
  93. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/errored/index.d.ts +0 -3
  94. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/errored/types.d.ts +0 -4
  95. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/index.d.ts +0 -13
  96. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.d.ts +0 -3
  97. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.d.ts +0 -4
  98. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.d.ts +0 -4
  99. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.d.ts +0 -7
  100. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.d.ts +0 -11
  101. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.d.ts +0 -4
  102. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.d.ts +0 -10
  103. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.d.ts +0 -10
  104. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.d.ts +0 -8
  105. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.d.ts +0 -5
  106. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/types.d.ts +0 -3
  107. package/dist/types-ts4.5/state/hooks/use-related-urls/index.d.ts +0 -6
  108. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/analytics.d.ts +0 -3
  109. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/errored/index.d.ts +0 -3
  110. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/errored/types.d.ts +0 -4
  111. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/index.d.ts +0 -13
  112. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/index.d.ts +0 -3
  113. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.d.ts +0 -4
  114. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.d.ts +0 -4
  115. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/types.d.ts +0 -7
  116. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.d.ts +0 -11
  117. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.d.ts +0 -4
  118. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.d.ts +0 -10
  119. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/types.d.ts +0 -10
  120. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/types.d.ts +0 -8
  121. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolving/index.d.ts +0 -5
  122. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/types.d.ts +0 -3
@@ -1,69 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useEffect, useState } from 'react';
3
-
4
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
5
- import { css } from '@emotion/react';
6
- import { di } from 'react-magnetic-di';
7
- import { useAnalyticsEvents } from '@atlaskit/analytics-next';
8
- import useRelatedUrls from '../../../../../state/hooks/use-related-urls';
9
- import { fireRelatedLinksLoadedEvent } from './analytics';
10
- import { RelatedUrlsBlockErroredView } from './errored';
11
- import { RelatedUrlsResolvedView } from './resolved';
12
- import { RelatedUrlsBlockResolvingView } from './resolving';
13
- /**
14
- * Represents a block to display related resources of a url
15
- */
16
- const RelatedUrlsBlock = ({
17
- testId = 'smart-block-related-urls',
18
- url,
19
- renderers,
20
- ...blockProps
21
- }) => {
22
- const {
23
- createAnalyticsEvent
24
- } = useAnalyticsEvents();
25
- const [loadingRelatedUrls, setLoadingRelatedUrls] = useState(true);
26
- const [err, setErr] = useState();
27
- const [relatedUrls, setRelatedUrls] = useState();
28
- const getRelatedUrls = useRelatedUrls();
29
- useEffect(() => {
30
- const fetchRelatedUrls = async () => {
31
- try {
32
- var _relUrls$resolvedResu, _relUrls$resolvedResu2;
33
- const relUrls = await getRelatedUrls(url);
34
- setRelatedUrls(relUrls);
35
-
36
- /**
37
- * Fire TrackRelatedLinksLoadedEvent
38
- */
39
- fireRelatedLinksLoadedEvent(createAnalyticsEvent)({
40
- relatedLinksCount: (_relUrls$resolvedResu = (_relUrls$resolvedResu2 = relUrls.resolvedResults) === null || _relUrls$resolvedResu2 === void 0 ? void 0 : _relUrls$resolvedResu2.length) !== null && _relUrls$resolvedResu !== void 0 ? _relUrls$resolvedResu : 0
41
- });
42
- } catch (error) {
43
- setErr(error);
44
- }
45
- setLoadingRelatedUrls(false);
46
- };
47
- fetchRelatedUrls();
48
- }, [createAnalyticsEvent, getRelatedUrls, url]);
49
- if (loadingRelatedUrls) {
50
- return /*#__PURE__*/React.createElement(RelatedUrlsBlockResolvingView, _extends({
51
- testId: `${testId}-resolving-view`
52
- }, blockProps));
53
- }
54
- if (relatedUrls) {
55
- return /*#__PURE__*/React.createElement(RelatedUrlsResolvedView, _extends({
56
- renderers: renderers,
57
- overrideCss: css({
58
- minHeight: '1.55rem'
59
- }),
60
- testId: `${testId}-resolved-view`,
61
- relatedUrlsResponse: relatedUrls
62
- }, blockProps));
63
- }
64
- return /*#__PURE__*/React.createElement(RelatedUrlsBlockErroredView, _extends({
65
- err: err,
66
- testId: `${testId}-errored-view`
67
- }, blockProps));
68
- };
69
- export default RelatedUrlsBlock;
@@ -1,24 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React from 'react';
3
- import { messages } from '../../../../../../messages';
4
- import Block from '../../block';
5
- import RelatedUrlsList from './related-url-list';
6
- export const RelatedUrlsResolvedView = ({
7
- relatedUrlsResponse: {
8
- resolvedResults
9
- },
10
- renderers,
11
- testId,
12
- initializeOpened,
13
- ...blockProps
14
- }) => {
15
- return /*#__PURE__*/React.createElement(Block, _extends({}, blockProps, {
16
- testId: testId
17
- }), resolvedResults && /*#__PURE__*/React.createElement(RelatedUrlsList, {
18
- testId: `${testId}-list`,
19
- renderers: renderers,
20
- initializeOpened: initializeOpened,
21
- title: messages.last_mentioned_in,
22
- resolvedResults: resolvedResults
23
- }));
24
- };
@@ -1,65 +0,0 @@
1
- import React, { useCallback, useState } from 'react';
2
-
3
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
4
- import { css } from '@emotion/react';
5
- import { useIntl } from 'react-intl-next';
6
- import ChevronDownIcon from '@atlaskit/icon/utility/migration/chevron-down';
7
- import ChevronUpIcon from '@atlaskit/icon/utility/migration/chevron-up';
8
- import { Inline, Pressable, Stack, xcss } from '@atlaskit/primitives';
9
- import { messages } from '../../../../../../../messages';
10
- import { getFormattedMessageAsString } from '../../../../../components/utils';
11
- import Text from '../../../../elements/text';
12
- import ResolvedResultsStack from './resolved-result-stack';
13
- const RelatedUrlList = ({
14
- resolvedResults,
15
- title,
16
- renderers,
17
- testId,
18
- initializeOpened
19
- }) => {
20
- const [isOpen, setIsOpen] = useState(initializeOpened);
21
- const chevronClickHandler = useCallback(() => setIsOpen(!isOpen), [isOpen]);
22
- const ChevronComponent = isOpen ? ChevronUpIcon : ChevronDownIcon;
23
- const intl = useIntl();
24
- return resolvedResults.length > 0 ?
25
- /*#__PURE__*/
26
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
27
- React.createElement(Stack, {
28
- testId: testId,
29
- xcss: xcss({
30
- width: '100%'
31
- })
32
- }, /*#__PURE__*/React.createElement(Pressable, {
33
- onClick: chevronClickHandler,
34
- testId: `${testId}-expand-title`,
35
- backgroundColor: "color.background.neutral.subtle",
36
- "aria-expanded": !!isOpen,
37
- padding: "space.0",
38
- paddingInlineEnd: "space.050"
39
- }, /*#__PURE__*/React.createElement(Inline, {
40
- alignBlock: "center",
41
- space: "space.050",
42
- spread: "space-between"
43
- }, /*#__PURE__*/React.createElement(Text, {
44
- overrideCss: css({
45
- fontWeight: "var(--ds-font-weight-medium, 500)"
46
- }),
47
- message: {
48
- descriptor: title
49
- }
50
- }), /*#__PURE__*/React.createElement(ChevronComponent, {
51
- LEGACY_margin: "0 -4px",
52
- label: getFormattedMessageAsString(intl, title),
53
- color: "currentColor"
54
- }))), isOpen && /*#__PURE__*/React.createElement(ResolvedResultsStack, {
55
- resolvedResults: resolvedResults,
56
- testId: testId,
57
- renderers: renderers
58
- })) : /*#__PURE__*/React.createElement(Text, {
59
- testId: testId,
60
- message: {
61
- descriptor: messages.related_work_items_not_found
62
- }
63
- });
64
- };
65
- export default RelatedUrlList;
@@ -1,41 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useCallback, useMemo } from 'react';
3
- import { useAnalyticsEvents } from '@atlaskit/analytics-next';
4
- import { Inline } from '@atlaskit/primitives';
5
- import { SmartLinkSize } from '../../../../../../../../constants';
6
- import extractFlexibleUiContext from '../../../../../../../../extractors/flexible';
7
- import { fireLinkClickedEvent } from '../../../../../../../../utils/analytics/click';
8
- import Icon from '../../../../../elements/icon';
9
- import Link from '../../../../../elements/link';
10
- const RelatedUrlItem = ({
11
- results,
12
- renderers,
13
- testId
14
- }) => {
15
- const {
16
- createAnalyticsEvent
17
- } = useAnalyticsEvents();
18
- const flexibleDataContext = useMemo(() => extractFlexibleUiContext({
19
- response: results,
20
- renderers
21
- }), [renderers, results]);
22
- const onClick = useCallback(event => {
23
- fireLinkClickedEvent(createAnalyticsEvent)(event);
24
- }, [createAnalyticsEvent]);
25
- return /*#__PURE__*/React.createElement(Inline, {
26
- alignBlock: "center",
27
- space: "space.050",
28
- testId: testId
29
- }, /*#__PURE__*/React.createElement(Icon, _extends({}, flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.linkIcon, {
30
- testId: `${testId}-icon`,
31
- size: SmartLinkSize.Small
32
- })), /*#__PURE__*/React.createElement(Link, {
33
- testId: `${testId}-link`,
34
- text: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.title,
35
- url: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.url,
36
- size: SmartLinkSize.Small,
37
- maxLines: 1,
38
- onClick: onClick
39
- }));
40
- };
41
- export default RelatedUrlItem;
@@ -1,42 +0,0 @@
1
- import React from 'react';
2
- import { AnalyticsContext } from '@atlaskit/analytics-next';
3
- import { getResolvedAttributes } from '@atlaskit/link-analytics/resolved-attributes';
4
- import { ANALYTICS_CHANNEL } from '../../../../../../../../utils/analytics';
5
- const createUiRelatedLinksViewedEventPayload = ({
6
- relatedLinksCount
7
- }) => ({
8
- action: 'viewed',
9
- actionSubject: 'relatedLinks',
10
- eventType: 'ui',
11
- attributes: {
12
- relatedLinksCount
13
- }
14
- });
15
- export const fireRelatedLinksViewedEvent = createAnalyticsEvent => attributes => {
16
- const payload = createUiRelatedLinksViewedEventPayload(attributes);
17
- if (payload) {
18
- createAnalyticsEvent({
19
- ...payload
20
- }).fire(ANALYTICS_CHANNEL);
21
- }
22
- };
23
- export const RelatedUrlItemAnalyticsContext = props => {
24
- const {
25
- children,
26
- details
27
- } = props;
28
-
29
- /**
30
- * We don't really need the `url` to get the attributes here so set
31
- * it to an empty string to just make typescript happy
32
- */
33
- const attributes = getResolvedAttributes({
34
- url: ''
35
- }, details);
36
- return /*#__PURE__*/React.createElement(AnalyticsContext, {
37
- data: {
38
- attributes,
39
- component: 'relatedLink'
40
- }
41
- }, children);
42
- };
@@ -1,46 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- import { AnalyticsContext, useAnalyticsEvents } from '@atlaskit/analytics-next';
3
- import { Stack, xcss } from '@atlaskit/primitives';
4
- import RelatedUrlItem from '../related-url-item';
5
- import { fireRelatedLinksViewedEvent, RelatedUrlItemAnalyticsContext } from './analytics';
6
- const ResolvedResultsStack = ({
7
- resolvedResults,
8
- testId,
9
- renderers
10
- }) => {
11
- const {
12
- createAnalyticsEvent
13
- } = useAnalyticsEvents();
14
- useEffect(() => {
15
- // This event will fire each time the component is loaded
16
- fireRelatedLinksViewedEvent(createAnalyticsEvent)({
17
- relatedLinksCount: resolvedResults.length
18
- });
19
- }, [resolvedResults.length, createAnalyticsEvent]);
20
- return /*#__PURE__*/React.createElement(Stack, {
21
- space: "space.050",
22
- testId: `${testId}-items-wrapper`,
23
- as: "ul"
24
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
25
- ,
26
- xcss: xcss({
27
- paddingLeft: 'space.0',
28
- marginTop: 'space.0'
29
- })
30
- }, resolvedResults.map((resolvedResults, idx) => /*#__PURE__*/React.createElement(RelatedUrlItemAnalyticsContext, {
31
- details: resolvedResults,
32
- key: idx
33
- }, /*#__PURE__*/React.createElement(RelatedUrlItem, {
34
- testId: `${testId}-item`,
35
- results: resolvedResults,
36
- renderers: renderers
37
- }))));
38
- };
39
- const ResolvedResultsStackWithAnalytics = props => {
40
- return /*#__PURE__*/React.createElement(AnalyticsContext, {
41
- data: {
42
- component: 'relatedLinksSection'
43
- }
44
- }, /*#__PURE__*/React.createElement(ResolvedResultsStack, props));
45
- };
46
- export default ResolvedResultsStackWithAnalytics;
@@ -1,13 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React from 'react';
3
- import LoadingSkeleton from '../../../common/loading-skeleton';
4
- import Block from '../../block';
5
- export const RelatedUrlsBlockResolvingView = ({
6
- testId,
7
- ...blockProps
8
- }) => /*#__PURE__*/React.createElement(Block, _extends({}, blockProps, {
9
- testId: testId
10
- }), /*#__PURE__*/React.createElement(LoadingSkeleton, {
11
- height: 1.55,
12
- width: 22
13
- }));
@@ -1,30 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { useCallback } from 'react';
4
- import { useSmartLinkClientExtension } from '@atlaskit/link-client-extension';
5
- import { useSmartLinkContext } from '@atlaskit/link-provider';
6
- var useRelatedUrls = function useRelatedUrls() {
7
- var _useSmartLinkContext = useSmartLinkContext(),
8
- connections = _useSmartLinkContext.connections;
9
- var clientExt = useSmartLinkClientExtension(connections.client);
10
- return useCallback( /*#__PURE__*/function () {
11
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(url) {
12
- return _regeneratorRuntime.wrap(function _callee$(_context) {
13
- while (1) switch (_context.prev = _context.next) {
14
- case 0:
15
- _context.next = 2;
16
- return clientExt.relatedUrls(url);
17
- case 2:
18
- return _context.abrupt("return", _context.sent);
19
- case 3:
20
- case "end":
21
- return _context.stop();
22
- }
23
- }, _callee);
24
- }));
25
- return function (_x) {
26
- return _ref.apply(this, arguments);
27
- };
28
- }(), [clientExt]);
29
- };
30
- export default useRelatedUrls;
@@ -1,23 +0,0 @@
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 { ANALYTICS_CHANNEL } from '../../../../../utils/analytics';
5
- var createTrackRelatedLinksLoadedEventPayload = function createTrackRelatedLinksLoadedEventPayload(_ref) {
6
- var relatedLinksCount = _ref.relatedLinksCount;
7
- return {
8
- action: 'loaded',
9
- actionSubject: 'relatedLinks',
10
- eventType: 'track',
11
- attributes: {
12
- relatedLinksCount: relatedLinksCount
13
- }
14
- };
15
- };
16
- export var fireRelatedLinksLoadedEvent = function fireRelatedLinksLoadedEvent(createAnalyticsEvent) {
17
- return function (attributes) {
18
- var payload = createTrackRelatedLinksLoadedEventPayload(attributes);
19
- if (payload) {
20
- createAnalyticsEvent(_objectSpread({}, payload)).fire(ANALYTICS_CHANNEL);
21
- }
22
- };
23
- };
@@ -1,18 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["testId"];
4
- import React from 'react';
5
- import { messages } from '../../../../../../messages';
6
- import Text from '../../../elements/text';
7
- import Block from '../../block';
8
- export var RelatedUrlsBlockErroredView = function RelatedUrlsBlockErroredView(_ref) {
9
- var testId = _ref.testId,
10
- blockProps = _objectWithoutProperties(_ref, _excluded);
11
- return /*#__PURE__*/React.createElement(Block, _extends({}, blockProps, {
12
- testId: testId
13
- }), /*#__PURE__*/React.createElement(Text, {
14
- message: {
15
- descriptor: messages.generic_error_message
16
- }
17
- }));
18
- };
@@ -1,102 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["testId", "url", "renderers"];
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
- import React, { useEffect, useState } from 'react';
8
-
9
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
10
- import { css } from '@emotion/react';
11
- import { di } from 'react-magnetic-di';
12
- import { useAnalyticsEvents } from '@atlaskit/analytics-next';
13
- import useRelatedUrls from '../../../../../state/hooks/use-related-urls';
14
- import { fireRelatedLinksLoadedEvent } from './analytics';
15
- import { RelatedUrlsBlockErroredView } from './errored';
16
- import { RelatedUrlsResolvedView } from './resolved';
17
- import { RelatedUrlsBlockResolvingView } from './resolving';
18
- /**
19
- * Represents a block to display related resources of a url
20
- */
21
- var RelatedUrlsBlock = function RelatedUrlsBlock(_ref) {
22
- var _ref$testId = _ref.testId,
23
- testId = _ref$testId === void 0 ? 'smart-block-related-urls' : _ref$testId,
24
- url = _ref.url,
25
- renderers = _ref.renderers,
26
- blockProps = _objectWithoutProperties(_ref, _excluded);
27
- var _useAnalyticsEvents = useAnalyticsEvents(),
28
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
29
- var _useState = useState(true),
30
- _useState2 = _slicedToArray(_useState, 2),
31
- loadingRelatedUrls = _useState2[0],
32
- setLoadingRelatedUrls = _useState2[1];
33
- var _useState3 = useState(),
34
- _useState4 = _slicedToArray(_useState3, 2),
35
- err = _useState4[0],
36
- setErr = _useState4[1];
37
- var _useState5 = useState(),
38
- _useState6 = _slicedToArray(_useState5, 2),
39
- relatedUrls = _useState6[0],
40
- setRelatedUrls = _useState6[1];
41
- var getRelatedUrls = useRelatedUrls();
42
- useEffect(function () {
43
- var fetchRelatedUrls = /*#__PURE__*/function () {
44
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
45
- var _relUrls$resolvedResu, _relUrls$resolvedResu2, relUrls;
46
- return _regeneratorRuntime.wrap(function _callee$(_context) {
47
- while (1) switch (_context.prev = _context.next) {
48
- case 0:
49
- _context.prev = 0;
50
- _context.next = 3;
51
- return getRelatedUrls(url);
52
- case 3:
53
- relUrls = _context.sent;
54
- setRelatedUrls(relUrls);
55
-
56
- /**
57
- * Fire TrackRelatedLinksLoadedEvent
58
- */
59
- fireRelatedLinksLoadedEvent(createAnalyticsEvent)({
60
- relatedLinksCount: (_relUrls$resolvedResu = (_relUrls$resolvedResu2 = relUrls.resolvedResults) === null || _relUrls$resolvedResu2 === void 0 ? void 0 : _relUrls$resolvedResu2.length) !== null && _relUrls$resolvedResu !== void 0 ? _relUrls$resolvedResu : 0
61
- });
62
- _context.next = 11;
63
- break;
64
- case 8:
65
- _context.prev = 8;
66
- _context.t0 = _context["catch"](0);
67
- setErr(_context.t0);
68
- case 11:
69
- setLoadingRelatedUrls(false);
70
- case 12:
71
- case "end":
72
- return _context.stop();
73
- }
74
- }, _callee, null, [[0, 8]]);
75
- }));
76
- return function fetchRelatedUrls() {
77
- return _ref2.apply(this, arguments);
78
- };
79
- }();
80
- fetchRelatedUrls();
81
- }, [createAnalyticsEvent, getRelatedUrls, url]);
82
- if (loadingRelatedUrls) {
83
- return /*#__PURE__*/React.createElement(RelatedUrlsBlockResolvingView, _extends({
84
- testId: "".concat(testId, "-resolving-view")
85
- }, blockProps));
86
- }
87
- if (relatedUrls) {
88
- return /*#__PURE__*/React.createElement(RelatedUrlsResolvedView, _extends({
89
- renderers: renderers,
90
- overrideCss: css({
91
- minHeight: '1.55rem'
92
- }),
93
- testId: "".concat(testId, "-resolved-view"),
94
- relatedUrlsResponse: relatedUrls
95
- }, blockProps));
96
- }
97
- return /*#__PURE__*/React.createElement(RelatedUrlsBlockErroredView, _extends({
98
- err: err,
99
- testId: "".concat(testId, "-errored-view")
100
- }, blockProps));
101
- };
102
- export default RelatedUrlsBlock;
@@ -1,23 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["relatedUrlsResponse", "renderers", "testId", "initializeOpened"];
4
- import React from 'react';
5
- import { messages } from '../../../../../../messages';
6
- import Block from '../../block';
7
- import RelatedUrlsList from './related-url-list';
8
- export var RelatedUrlsResolvedView = function RelatedUrlsResolvedView(_ref) {
9
- var resolvedResults = _ref.relatedUrlsResponse.resolvedResults,
10
- renderers = _ref.renderers,
11
- testId = _ref.testId,
12
- initializeOpened = _ref.initializeOpened,
13
- blockProps = _objectWithoutProperties(_ref, _excluded);
14
- return /*#__PURE__*/React.createElement(Block, _extends({}, blockProps, {
15
- testId: testId
16
- }), resolvedResults && /*#__PURE__*/React.createElement(RelatedUrlsList, {
17
- testId: "".concat(testId, "-list"),
18
- renderers: renderers,
19
- initializeOpened: initializeOpened,
20
- title: messages.last_mentioned_in,
21
- resolvedResults: resolvedResults
22
- }));
23
- };
@@ -1,70 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import React, { useCallback, useState } from 'react';
3
-
4
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
5
- import { css } from '@emotion/react';
6
- import { useIntl } from 'react-intl-next';
7
- import ChevronDownIcon from '@atlaskit/icon/utility/migration/chevron-down';
8
- import ChevronUpIcon from '@atlaskit/icon/utility/migration/chevron-up';
9
- import { Inline, Pressable, Stack, xcss } from '@atlaskit/primitives';
10
- import { messages } from '../../../../../../../messages';
11
- import { getFormattedMessageAsString } from '../../../../../components/utils';
12
- import Text from '../../../../elements/text';
13
- import ResolvedResultsStack from './resolved-result-stack';
14
- var RelatedUrlList = function RelatedUrlList(_ref) {
15
- var resolvedResults = _ref.resolvedResults,
16
- title = _ref.title,
17
- renderers = _ref.renderers,
18
- testId = _ref.testId,
19
- initializeOpened = _ref.initializeOpened;
20
- var _useState = useState(initializeOpened),
21
- _useState2 = _slicedToArray(_useState, 2),
22
- isOpen = _useState2[0],
23
- setIsOpen = _useState2[1];
24
- var chevronClickHandler = useCallback(function () {
25
- return setIsOpen(!isOpen);
26
- }, [isOpen]);
27
- var ChevronComponent = isOpen ? ChevronUpIcon : ChevronDownIcon;
28
- var intl = useIntl();
29
- return resolvedResults.length > 0 ?
30
- /*#__PURE__*/
31
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
32
- React.createElement(Stack, {
33
- testId: testId,
34
- xcss: xcss({
35
- width: '100%'
36
- })
37
- }, /*#__PURE__*/React.createElement(Pressable, {
38
- onClick: chevronClickHandler,
39
- testId: "".concat(testId, "-expand-title"),
40
- backgroundColor: "color.background.neutral.subtle",
41
- "aria-expanded": !!isOpen,
42
- padding: "space.0",
43
- paddingInlineEnd: "space.050"
44
- }, /*#__PURE__*/React.createElement(Inline, {
45
- alignBlock: "center",
46
- space: "space.050",
47
- spread: "space-between"
48
- }, /*#__PURE__*/React.createElement(Text, {
49
- overrideCss: css({
50
- fontWeight: "var(--ds-font-weight-medium, 500)"
51
- }),
52
- message: {
53
- descriptor: title
54
- }
55
- }), /*#__PURE__*/React.createElement(ChevronComponent, {
56
- LEGACY_margin: "0 -4px",
57
- label: getFormattedMessageAsString(intl, title),
58
- color: "currentColor"
59
- }))), isOpen && /*#__PURE__*/React.createElement(ResolvedResultsStack, {
60
- resolvedResults: resolvedResults,
61
- testId: testId,
62
- renderers: renderers
63
- })) : /*#__PURE__*/React.createElement(Text, {
64
- testId: testId,
65
- message: {
66
- descriptor: messages.related_work_items_not_found
67
- }
68
- });
69
- };
70
- export default RelatedUrlList;
@@ -1,41 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useCallback, useMemo } from 'react';
3
- import { useAnalyticsEvents } from '@atlaskit/analytics-next';
4
- import { Inline } from '@atlaskit/primitives';
5
- import { SmartLinkSize } from '../../../../../../../../constants';
6
- import extractFlexibleUiContext from '../../../../../../../../extractors/flexible';
7
- import { fireLinkClickedEvent } from '../../../../../../../../utils/analytics/click';
8
- import Icon from '../../../../../elements/icon';
9
- import Link from '../../../../../elements/link';
10
- var RelatedUrlItem = function RelatedUrlItem(_ref) {
11
- var results = _ref.results,
12
- renderers = _ref.renderers,
13
- testId = _ref.testId;
14
- var _useAnalyticsEvents = useAnalyticsEvents(),
15
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
16
- var flexibleDataContext = useMemo(function () {
17
- return extractFlexibleUiContext({
18
- response: results,
19
- renderers: renderers
20
- });
21
- }, [renderers, results]);
22
- var onClick = useCallback(function (event) {
23
- fireLinkClickedEvent(createAnalyticsEvent)(event);
24
- }, [createAnalyticsEvent]);
25
- return /*#__PURE__*/React.createElement(Inline, {
26
- alignBlock: "center",
27
- space: "space.050",
28
- testId: testId
29
- }, /*#__PURE__*/React.createElement(Icon, _extends({}, flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.linkIcon, {
30
- testId: "".concat(testId, "-icon"),
31
- size: SmartLinkSize.Small
32
- })), /*#__PURE__*/React.createElement(Link, {
33
- testId: "".concat(testId, "-link"),
34
- text: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.title,
35
- url: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.url,
36
- size: SmartLinkSize.Small,
37
- maxLines: 1,
38
- onClick: onClick
39
- }));
40
- };
41
- export default RelatedUrlItem;