@atlaskit/smart-card 15.5.0 → 16.2.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 (117) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/dist/cjs/client/index.js +30 -30
  3. package/dist/cjs/client/utils/environments.js +1 -1
  4. package/dist/cjs/extractors/block/index.js +4 -4
  5. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +4 -3
  6. package/dist/cjs/in-product.js +43 -0
  7. package/dist/cjs/index.js +66 -4
  8. package/dist/cjs/providers/editor/index.js +113 -78
  9. package/dist/cjs/providers/editor/transformer.js +1 -1
  10. package/dist/cjs/state/actions/constants.js +1 -5
  11. package/dist/cjs/state/actions/helpers.js +1 -3
  12. package/dist/cjs/state/actions/index.js +16 -13
  13. package/dist/cjs/state/analytics/index.js +32 -84
  14. package/dist/cjs/state/analytics/ufoExperiences.js +60 -0
  15. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +106 -0
  16. package/dist/cjs/state/context/provider.js +3 -16
  17. package/dist/cjs/state/helpers.js +1 -2
  18. package/dist/cjs/state/hooks/useSmartLink.js +6 -6
  19. package/dist/cjs/state/reducers/index.js +3 -8
  20. package/dist/cjs/utils/analytics/analytics.js +31 -1
  21. package/dist/cjs/version.json +1 -1
  22. package/dist/cjs/view/BlockCard/index.js +3 -2
  23. package/dist/cjs/view/CardWithUrl/component-lazy/LazyFallback.js +6 -2
  24. package/dist/cjs/view/CardWithUrl/component-lazy/index.js +1 -1
  25. package/dist/cjs/view/CardWithUrl/component.js +10 -4
  26. package/dist/cjs/view/CardWithUrl/loader.js +110 -133
  27. package/dist/cjs/view/EmbedCard/{IframelyResizeMessageListener.js → EmbedResizeMessageListener.js} +11 -19
  28. package/dist/cjs/view/SmartLinkEvents/useSmartLinkEvents.js +21 -0
  29. package/dist/es2019/client/index.js +47 -43
  30. package/dist/es2019/client/utils/environments.js +1 -1
  31. package/dist/es2019/extractors/block/index.js +4 -4
  32. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +4 -4
  33. package/dist/es2019/in-product.js +1 -0
  34. package/dist/es2019/index.js +7 -2
  35. package/dist/es2019/providers/editor/index.js +18 -6
  36. package/dist/es2019/providers/editor/transformer.js +1 -1
  37. package/dist/es2019/state/actions/constants.js +0 -2
  38. package/dist/es2019/state/actions/helpers.js +1 -3
  39. package/dist/es2019/state/actions/index.js +12 -11
  40. package/dist/es2019/state/analytics/index.js +2 -40
  41. package/dist/es2019/state/analytics/ufoExperiences.js +40 -0
  42. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +62 -0
  43. package/dist/es2019/state/context/provider.js +2 -8
  44. package/dist/es2019/state/helpers.js +1 -2
  45. package/dist/es2019/state/hooks/useSmartLink.js +4 -5
  46. package/dist/es2019/state/reducers/index.js +3 -8
  47. package/dist/es2019/utils/analytics/analytics.js +16 -0
  48. package/dist/es2019/version.json +1 -1
  49. package/dist/es2019/view/BlockCard/index.js +3 -2
  50. package/dist/es2019/view/CardWithUrl/component-lazy/LazyFallback.js +3 -1
  51. package/dist/es2019/view/CardWithUrl/component-lazy/index.js +1 -1
  52. package/dist/es2019/view/CardWithUrl/component.js +10 -4
  53. package/dist/es2019/view/CardWithUrl/loader.js +87 -89
  54. package/dist/es2019/view/EmbedCard/{IframelyResizeMessageListener.js → EmbedResizeMessageListener.js} +3 -10
  55. package/dist/es2019/view/SmartLinkEvents/useSmartLinkEvents.js +10 -0
  56. package/dist/esm/client/index.js +30 -31
  57. package/dist/esm/client/utils/environments.js +1 -1
  58. package/dist/esm/extractors/block/index.js +4 -4
  59. package/dist/esm/extractors/common/actions/extractPreviewAction.js +4 -3
  60. package/dist/esm/in-product.js +1 -0
  61. package/dist/esm/index.js +7 -2
  62. package/dist/esm/providers/editor/index.js +110 -78
  63. package/dist/esm/providers/editor/transformer.js +1 -1
  64. package/dist/esm/state/actions/constants.js +0 -2
  65. package/dist/esm/state/actions/helpers.js +1 -3
  66. package/dist/esm/state/actions/index.js +15 -13
  67. package/dist/esm/state/analytics/index.js +2 -80
  68. package/dist/esm/state/analytics/ufoExperiences.js +40 -0
  69. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +94 -0
  70. package/dist/esm/state/context/provider.js +3 -15
  71. package/dist/esm/state/helpers.js +1 -2
  72. package/dist/esm/state/hooks/useSmartLink.js +6 -6
  73. package/dist/esm/state/reducers/index.js +3 -8
  74. package/dist/esm/utils/analytics/analytics.js +26 -0
  75. package/dist/esm/version.json +1 -1
  76. package/dist/esm/view/BlockCard/index.js +3 -2
  77. package/dist/esm/view/CardWithUrl/component-lazy/LazyFallback.js +3 -1
  78. package/dist/esm/view/CardWithUrl/component-lazy/index.js +1 -1
  79. package/dist/esm/view/CardWithUrl/component.js +10 -4
  80. package/dist/esm/view/CardWithUrl/loader.js +103 -127
  81. package/dist/esm/view/EmbedCard/{IframelyResizeMessageListener.js → EmbedResizeMessageListener.js} +9 -16
  82. package/dist/esm/view/SmartLinkEvents/useSmartLinkEvents.js +12 -0
  83. package/dist/types/__tests_external__/index.d.ts +6 -0
  84. package/dist/types/__tests_external__/page-objects/BaseCard.d.ts +18 -0
  85. package/dist/types/__tests_external__/page-objects/BlockCard.d.ts +6 -0
  86. package/dist/types/__tests_external__/page-objects/EmbedCard.d.ts +6 -0
  87. package/dist/types/__tests_external__/page-objects/InlineCard.d.ts +6 -0
  88. package/dist/types/__tests_external__/test-cases/card.d.ts +3 -0
  89. package/dist/types/__tests_external__/test-cases/embed.d.ts +3 -0
  90. package/dist/types/__tests_external__/test-cases/inline.d.ts +3 -0
  91. package/dist/types/__tests_external__/test-cases/types.d.ts +5 -0
  92. package/dist/types/client/index.d.ts +1 -0
  93. package/dist/types/extractors/block/index.d.ts +2 -2
  94. package/dist/types/extractors/common/__mocks__/jsonld.d.ts +61 -0
  95. package/dist/types/extractors/common/actions/extractPreviewAction.d.ts +1 -1
  96. package/dist/types/in-product.d.ts +1 -0
  97. package/dist/types/index.d.ts +5 -1
  98. package/dist/types/providers/editor/index.d.ts +3 -0
  99. package/dist/types/state/actions/constants.d.ts +0 -2
  100. package/dist/types/state/actions/types.d.ts +0 -2
  101. package/dist/types/state/analytics/index.d.ts +3 -32
  102. package/dist/types/state/analytics/ufoExperiences.d.ts +7 -0
  103. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +30 -0
  104. package/dist/types/state/context/provider.d.ts +1 -1
  105. package/dist/types/state/context/types.d.ts +4 -2
  106. package/dist/types/state/hooks/useSmartLink.d.ts +4 -5
  107. package/dist/types/state/store/types.d.ts +2 -1
  108. package/dist/types/utils/analytics/analytics.d.ts +3 -0
  109. package/dist/types/utils/types.d.ts +1 -1
  110. package/dist/types/view/BlockCard/types.d.ts +2 -1
  111. package/dist/types/view/CardWithUrl/component-lazy/LazyFallback.d.ts +1 -0
  112. package/dist/types/view/CardWithUrl/component-lazy/index.d.ts +1 -1
  113. package/dist/types/view/CardWithUrl/loader.d.ts +1 -15
  114. package/dist/types/view/EmbedCard/{IframelyResizeMessageListener.d.ts → EmbedResizeMessageListener.d.ts} +1 -1
  115. package/dist/types/view/SmartLinkEvents/useSmartLinkEvents.d.ts +2 -0
  116. package/in-product/package.json +7 -0
  117. package/package.json +25 -20
@@ -17,9 +17,10 @@ export interface CardContext {
17
17
  };
18
18
  renderers?: CardProviderRenderers;
19
19
  }
20
+ /** @deprecated Feature removed (EDM-2205) */
20
21
  export interface CardProviderCacheOpts {
21
- maxAge: number;
22
- maxLoadingDelay: number;
22
+ maxAge?: number;
23
+ maxLoadingDelay?: number;
23
24
  }
24
25
  export interface CardProviderStoreOpts {
25
26
  initialState: CardStore;
@@ -30,6 +31,7 @@ export interface CardProviderRenderers {
30
31
  }
31
32
  export declare type CardProviderProps = {
32
33
  client?: CardClient;
34
+ /** @deprecated Feature removed (EDM-2205) */
33
35
  cacheOptions?: CardProviderCacheOpts;
34
36
  storeOptions?: CardProviderStoreOpts;
35
37
  children: React.ReactNode;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { AnalyticsHandler } from '../../utils/types';
3
2
  export declare function useSmartLink(id: string, url: string, dispatchAnalytics: AnalyticsHandler): {
4
3
  state: import("../types").CardState;
@@ -16,16 +15,15 @@ export declare function useSmartLink(id: string, url: string, dispatchAnalytics:
16
15
  cardClickedEvent: (display: import("../../view/Card/types").CardInnerAppearance, definitionId?: string | undefined, extensionKey?: string | undefined) => void;
17
16
  actionClickedEvent: (providerKey: string, actionType: string, display?: "inline" | "block" | "embed" | "preview" | undefined) => void;
18
17
  closedAuthEvent: (display: import("../../view/Card/types").CardInnerAppearance, definitionId?: string | undefined, extensionKey?: string | undefined) => void;
19
- renderSuccessEvent: (display: import("../../view/Card/types").CardInnerAppearance, definitionId?: string | undefined, extensionKey?: string | undefined) => void;
20
- renderFailedEvent: (display: import("../../view/Card/types").CardInnerAppearance, error: Error, errorInfo: import("react").ErrorInfo) => void;
18
+ renderSuccessEvent: (display: import("../../view/Card/types").CardInnerAppearance, id: string, definitionId?: string | undefined, extensionKey?: string | undefined) => void;
21
19
  };
22
20
  operational: {
23
21
  resolvedEvent: (id: string, definitionId?: string | undefined, extensionKey?: string | undefined, resourceType?: string | undefined) => void;
24
22
  unresolvedEvent: (id: string, status: string, definitionId?: string | undefined, extensionKey?: string | undefined, resourceType?: string | undefined) => void;
25
23
  invokeSucceededEvent: (id: string, providerKey: string, actionType: string, display: import("../../view/Card/types").CardInnerAppearance) => void;
26
24
  invokeFailedEvent: (id: string, providerKey: string, actionType: string, display: import("../../view/Card/types").CardInnerAppearance, reason: string) => void;
27
- connectSucceededEvent: (definitionId?: string | undefined, extensionKey?: string | undefined) => void;
28
- connectFailedEvent: (definitionId?: string | undefined, extensionKey?: string | undefined, reason?: string | undefined) => void;
25
+ connectSucceededEvent: (id: string, definitionId?: string | undefined, extensionKey?: string | undefined) => void;
26
+ connectFailedEvent: (id: string, definitionId?: string | undefined, extensionKey?: string | undefined, status?: string | undefined) => void;
29
27
  instrument: (id: string, status: import("../store").CardType, definitionId?: string | undefined, extensionKey?: string | undefined, resourceType?: string | undefined, error?: import("../..").APIError | undefined) => void;
30
28
  };
31
29
  track: {
@@ -36,4 +34,5 @@ export declare function useSmartLink(id: string, url: string, dispatchAnalytics:
36
34
  };
37
35
  };
38
36
  renderers: import("../context/types").CardProviderRenderers | undefined;
37
+ error: null;
39
38
  };
@@ -9,7 +9,8 @@ export interface CardStore {
9
9
  export interface CardState {
10
10
  status: CardType;
11
11
  details?: JsonLd.Response;
12
- lastUpdatedAt: number;
12
+ /** @deprecated Feature removed (EDM-2205) */
13
+ lastUpdatedAt?: number;
13
14
  error?: APIError;
14
15
  }
15
16
  export interface CardConnections {
@@ -9,6 +9,9 @@ export declare const context: {
9
9
  packageName: any;
10
10
  packageVersion: any;
11
11
  };
12
+ export declare class SmartLinkEvents {
13
+ insertSmartLink(url: string, type: CardInnerAppearance, createAnalyticsEvent?: CreateUIAnalyticsEvent): void;
14
+ }
12
15
  export declare const fireSmartLinkEvent: (payload: AnalyticsPayload, createAnalyticsEvent?: CreateUIAnalyticsEvent | undefined) => void;
13
16
  export declare const resolvedEvent: (id: string, definitionId?: string | undefined, extensionKey?: string | undefined, resourceType?: string | undefined) => AnalyticsPayload;
14
17
  export declare const unresolvedEvent: (id: string, status: string, definitionId?: string | undefined, extensionKey?: string | undefined, resourceType?: string | undefined, error?: APIError | undefined) => AnalyticsPayload;
@@ -1,6 +1,6 @@
1
1
  import { GasPayload } from '@atlaskit/analytics-gas-types';
2
2
  import { CardInnerAppearance } from '../view/Card/types';
3
- export declare type AnalyticsAction = 'resolved' | 'unresolved' | 'connectSucceeded' | 'connectFailed' | 'connected' | 'clicked' | 'closed' | 'renderFailed' | 'renderWithStatus' | 'renderSuccess';
3
+ export declare type AnalyticsAction = 'resolved' | 'unresolved' | 'connectSucceeded' | 'connectFailed' | 'connected' | 'clicked' | 'closed' | 'renderFailed' | 'renderWithStatus' | 'renderSuccess' | 'inserted';
4
4
  export declare type AnalyticsActionSubject = 'smartLink' | 'smartLinkAction' | 'applicationAccount' | 'button' | 'consentModal';
5
5
  export declare type AnalyticsPayload = GasPayload & {
6
6
  action?: AnalyticsAction;
@@ -3,7 +3,7 @@ import { CardState } from '../../state/types';
3
3
  import { InvokeHandler } from '../../model/invoke-handler';
4
4
  import { CardAuthFlowOpts, CardProviderRenderers } from '../../state/context/types';
5
5
  import { AnalyticsHandler } from '../../utils/types';
6
- import { OnResolveCallback } from '../Card/types';
6
+ import { OnResolveCallback, CardPlatform } from '../Card/types';
7
7
  export declare type BlockCardProps = {
8
8
  url: string;
9
9
  cardState: CardState;
@@ -18,4 +18,5 @@ export declare type BlockCardProps = {
18
18
  testId?: string;
19
19
  showActions?: boolean;
20
20
  renderers?: CardProviderRenderers;
21
+ platform?: CardPlatform;
21
22
  };
@@ -1,3 +1,4 @@
1
1
  import { FC } from 'react';
2
2
  import { CardWithUrlContentProps } from '../types';
3
+ export declare const loadingPlaceholderClassName = "smart-link-loading-placeholder";
3
4
  export declare const LoadingCardLink: FC<CardWithUrlContentProps>;
@@ -1,2 +1,2 @@
1
1
  import { CardWithUrlContentProps } from '../types';
2
- export declare function LazyCardWithUrlContent(props: CardWithUrlContentProps): JSX.Element;
2
+ export default function LazyCardWithUrlContent(props: CardWithUrlContentProps): JSX.Element;
@@ -1,16 +1,2 @@
1
- import React, { ErrorInfo } from 'react';
2
1
  import { CardProps } from '../Card/types';
3
- import { LazyCardWithUrlContent as CardWithUrlContentType } from './component-lazy';
4
- import { AnalyticsPayload } from '../../utils/types';
5
- export declare class CardWithURLRenderer extends React.PureComponent<CardProps, {
6
- id: string;
7
- }> {
8
- constructor(props: CardProps);
9
- static CardContent: typeof CardWithUrlContentType | null;
10
- static moduleImporter(target: CardWithURLRenderer): void;
11
- componentDidMount(): void;
12
- componentWillUnmount(): void;
13
- componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
14
- dispatchAnalytics: (analyticsPayload: AnalyticsPayload) => void;
15
- render(): JSX.Element;
16
- }
2
+ export declare function CardWithURLRenderer(props: CardProps): JSX.Element;
@@ -5,7 +5,7 @@ interface Props {
5
5
  }
6
6
  interface State {
7
7
  }
8
- export declare class IframelyResizeMessageListener extends React.Component<Props, State> {
8
+ export declare class EmbedResizeMessageListener extends React.Component<Props, State> {
9
9
  componentDidMount(): void;
10
10
  componentWillUnmount(): void;
11
11
  private messageCallback;
@@ -0,0 +1,2 @@
1
+ import { SmartLinkEvents } from '../../utils/analytics/analytics';
2
+ export declare function useSmartLinkEvents(): SmartLinkEvents;
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@atlaskit/smart-card/in-product",
3
+ "main": "../dist/cjs/in-product.js",
4
+ "module": "../dist/esm/in-product.js",
5
+ "module:es2019": "../dist/es2019/in-product.js",
6
+ "types": "../dist/types/in-product.d.ts"
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "15.5.0",
3
+ "version": "16.2.0",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -15,12 +15,13 @@
15
15
  "types": "dist/types/index.d.ts",
16
16
  "atlaskit:src": "src/index.ts",
17
17
  "af:exports": {
18
+ "./in-product": "./src/in-product.ts",
18
19
  "./client": "./src/client/index.ts",
19
20
  "./types": "./src/types.ts",
20
21
  ".": "./src/index.ts"
21
22
  },
22
23
  "atlassian": {
23
- "team": "Editor Media",
24
+ "team": "Linking Platform",
24
25
  "releaseModel": "scheduled",
25
26
  "website": {
26
27
  "name": "Smart Card"
@@ -29,23 +30,25 @@
29
30
  "dependencies": {
30
31
  "@atlaskit/analytics-gas-types": "^5.0.0",
31
32
  "@atlaskit/analytics-next": "^8.2.0",
32
- "@atlaskit/button": "^16.0.0",
33
- "@atlaskit/icon": "^21.7.0",
33
+ "@atlaskit/icon": "^21.9.0",
34
34
  "@atlaskit/icon-file-type": "^6.3.0",
35
35
  "@atlaskit/icon-object": "^6.2.0",
36
+ "@atlaskit/in-product-testing": "^0.1.0",
36
37
  "@atlaskit/logo": "^13.5.0",
37
- "@atlaskit/media-ui": "^16.4.0",
38
+ "@atlaskit/media-ui": "^17.1.0",
38
39
  "@atlaskit/outbound-auth-flow-client": "^3.1.0",
39
- "@atlaskit/theme": "^11.4.0",
40
+ "@atlaskit/theme": "^12.0.0",
41
+ "@atlaskit/ufo": "^0.0.6",
40
42
  "@babel/runtime": "^7.0.0",
41
- "@testing-library/react-hooks": "^1.0.4",
42
43
  "async-retry": "^1.2.3",
43
- "bottleneck": "^2.19.5",
44
- "dataloader": "^1.4.0",
44
+ "dataloader": "^2.0.0",
45
45
  "json-ld-types": "2.3.0",
46
+ "p-throttle": "^4.1.1",
47
+ "react-error-boundary": "^3.1.3",
46
48
  "react-lazily-render": "^1.2.0",
47
49
  "react-loadable": "^5.1.0",
48
50
  "redux": "^3.7.2",
51
+ "setimmediate": "^1.0.5",
49
52
  "uuid": "^3.1.0"
50
53
  },
51
54
  "peerDependencies": {
@@ -54,23 +57,24 @@
54
57
  "styled-components": "^3.2.6"
55
58
  },
56
59
  "devDependencies": {
57
- "@atlaskit/avatar": "^20.3.0",
58
- "@atlaskit/button": "^16.0.0",
59
- "@atlaskit/checkbox": "^12.2.0",
60
+ "@atlaskit/avatar": "^20.5.0",
61
+ "@atlaskit/button": "^16.1.0",
62
+ "@atlaskit/checkbox": "^12.3.0",
60
63
  "@atlaskit/docs": "*",
61
- "@atlaskit/form": "^8.2.0",
64
+ "@atlaskit/form": "^8.4.0",
62
65
  "@atlaskit/inline-message": "^11.1.0",
63
- "@atlaskit/lozenge": "^11.0.0",
64
- "@atlaskit/media-test-helpers": "^28.7.0",
66
+ "@atlaskit/lozenge": "^11.1.0",
67
+ "@atlaskit/media-test-helpers": "^28.8.0",
65
68
  "@atlaskit/page": "^12.0.0",
66
- "@atlaskit/radio": "^5.2.0",
67
- "@atlaskit/select": "^15.0.0",
68
- "@atlaskit/spinner": "^15.0.6",
69
+ "@atlaskit/radio": "^5.3.0",
70
+ "@atlaskit/select": "^15.2.0",
71
+ "@atlaskit/spinner": "^15.1.0",
69
72
  "@atlaskit/table-tree": "^9.0.0",
70
- "@atlaskit/textarea": "^4.1.0",
71
- "@atlaskit/textfield": "^5.0.0",
73
+ "@atlaskit/textarea": "^4.2.0",
74
+ "@atlaskit/textfield": "^5.1.0",
72
75
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
73
76
  "@testing-library/react": "^8.0.1",
77
+ "@testing-library/react-hooks": "^1.0.4",
74
78
  "@types/async-retry": "^1.4.1",
75
79
  "@types/enzyme": "^3.1.15",
76
80
  "@types/lodash": "^4.14.157",
@@ -81,6 +85,7 @@
81
85
  "abortcontroller-polyfill": "^1.1.9",
82
86
  "brace": "^0.11.1",
83
87
  "enzyme": "^3.10.0",
88
+ "jest-extended": "^0.11.2",
84
89
  "lorem-ipsum": "^1.0.6",
85
90
  "mockdate": "^3.0.2",
86
91
  "react": "^16.8.0",