@atlaskit/smart-card 32.6.0 → 32.7.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 (160) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/analytics.spec.yaml +63 -9
  3. package/dist/cjs/common/analytics/types.js +5 -0
  4. package/dist/cjs/extractors/action/extract-invoke-copy-link-action.js +53 -0
  5. package/dist/cjs/extractors/action/extract-invoke-download-action.js +57 -0
  6. package/dist/cjs/extractors/action/extract-invoke-preview-action.js +78 -0
  7. package/dist/cjs/extractors/action/extract-invoke-view-action.js +60 -0
  8. package/dist/cjs/extractors/action/extractDownloadActionProps.js +4 -0
  9. package/dist/cjs/extractors/action/extractPreviewActionProps.js +4 -0
  10. package/dist/cjs/extractors/action/extractViewActionProps.js +4 -0
  11. package/dist/cjs/extractors/action/types.js +5 -0
  12. package/dist/cjs/extractors/flexible/actions/extract-copy-link-action.js +12 -1
  13. package/dist/cjs/extractors/flexible/actions/extract-download-action.js +12 -1
  14. package/dist/cjs/extractors/flexible/actions/extract-preview-action.js +12 -1
  15. package/dist/cjs/extractors/flexible/actions/extract-view-action.js +3 -0
  16. package/dist/cjs/extractors/flexible/actions/index.js +40 -3
  17. package/dist/cjs/extractors/flexible/extract-state.js +19 -5
  18. package/dist/cjs/extractors/flexible/index.js +22 -8
  19. package/dist/cjs/state/hooks/use-invoke-client-action/index.js +56 -17
  20. package/dist/cjs/state/hooks-external/useSmartLinkActions.js +22 -3
  21. package/dist/cjs/utils/analytics/LinkAnalyticsContext.js +7 -2
  22. package/dist/cjs/utils/analytics/analytics.js +1 -1
  23. package/dist/cjs/utils/mocks.js +4 -1
  24. package/dist/cjs/view/BlockCard/views/flexible/FlexibleResolvedView.js +1 -0
  25. package/dist/cjs/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  26. package/dist/cjs/view/CardWithUrl/component.js +1 -0
  27. package/dist/cjs/view/EmbedModal/index.js +72 -51
  28. package/dist/cjs/view/FlexibleCard/components/actions/copy-link-action/index.js +65 -32
  29. package/dist/cjs/view/FlexibleCard/components/actions/download-action/index.js +36 -28
  30. package/dist/cjs/view/FlexibleCard/components/actions/preview-action/index.js +40 -32
  31. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.js +13 -6
  32. package/dist/cjs/view/FlexibleCard/components/utils.js +4 -0
  33. package/dist/cjs/view/FlexibleCard/index.js +11 -1
  34. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +1 -0
  35. package/dist/cjs/view/LinkUrl/index.js +1 -1
  36. package/dist/es2019/common/analytics/types.js +1 -0
  37. package/dist/es2019/extractors/action/extract-invoke-copy-link-action.js +29 -0
  38. package/dist/es2019/extractors/action/extract-invoke-download-action.js +31 -0
  39. package/dist/es2019/extractors/action/extract-invoke-preview-action.js +57 -0
  40. package/dist/es2019/extractors/action/extract-invoke-view-action.js +34 -0
  41. package/dist/es2019/extractors/action/extractDownloadActionProps.js +5 -0
  42. package/dist/es2019/extractors/action/extractPreviewActionProps.js +5 -0
  43. package/dist/es2019/extractors/action/extractViewActionProps.js +5 -0
  44. package/dist/es2019/extractors/action/types.js +1 -0
  45. package/dist/es2019/extractors/flexible/actions/extract-copy-link-action.js +11 -0
  46. package/dist/es2019/extractors/flexible/actions/extract-download-action.js +12 -0
  47. package/dist/es2019/extractors/flexible/actions/extract-preview-action.js +12 -0
  48. package/dist/es2019/extractors/flexible/actions/extract-view-action.js +4 -0
  49. package/dist/es2019/extractors/flexible/actions/index.js +48 -3
  50. package/dist/es2019/extractors/flexible/extract-state.js +17 -5
  51. package/dist/es2019/extractors/flexible/index.js +17 -6
  52. package/dist/es2019/state/hooks/use-invoke-client-action/index.js +91 -43
  53. package/dist/es2019/state/hooks-external/useSmartLinkActions.js +21 -3
  54. package/dist/es2019/utils/analytics/LinkAnalyticsContext.js +3 -0
  55. package/dist/es2019/utils/analytics/analytics.js +1 -1
  56. package/dist/es2019/utils/mocks.js +4 -1
  57. package/dist/es2019/view/BlockCard/views/flexible/FlexibleResolvedView.js +1 -0
  58. package/dist/es2019/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  59. package/dist/es2019/view/CardWithUrl/component.js +1 -0
  60. package/dist/es2019/view/EmbedModal/index.js +41 -20
  61. package/dist/es2019/view/FlexibleCard/components/actions/copy-link-action/index.js +31 -16
  62. package/dist/es2019/view/FlexibleCard/components/actions/download-action/index.js +20 -12
  63. package/dist/es2019/view/FlexibleCard/components/actions/preview-action/index.js +25 -17
  64. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.js +14 -7
  65. package/dist/es2019/view/FlexibleCard/components/utils.js +4 -0
  66. package/dist/es2019/view/FlexibleCard/index.js +12 -1
  67. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +1 -0
  68. package/dist/es2019/view/LinkUrl/index.js +1 -1
  69. package/dist/esm/common/analytics/types.js +1 -0
  70. package/dist/esm/extractors/action/extract-invoke-copy-link-action.js +46 -0
  71. package/dist/esm/extractors/action/extract-invoke-download-action.js +50 -0
  72. package/dist/esm/extractors/action/extract-invoke-preview-action.js +71 -0
  73. package/dist/esm/extractors/action/extract-invoke-view-action.js +53 -0
  74. package/dist/esm/extractors/action/extractDownloadActionProps.js +5 -0
  75. package/dist/esm/extractors/action/extractPreviewActionProps.js +5 -0
  76. package/dist/esm/extractors/action/extractViewActionProps.js +5 -0
  77. package/dist/esm/extractors/action/types.js +1 -0
  78. package/dist/esm/extractors/flexible/actions/extract-copy-link-action.js +11 -0
  79. package/dist/esm/extractors/flexible/actions/extract-download-action.js +12 -0
  80. package/dist/esm/extractors/flexible/actions/extract-preview-action.js +12 -0
  81. package/dist/esm/extractors/flexible/actions/extract-view-action.js +4 -0
  82. package/dist/esm/extractors/flexible/actions/index.js +42 -5
  83. package/dist/esm/extractors/flexible/extract-state.js +19 -5
  84. package/dist/esm/extractors/flexible/index.js +19 -8
  85. package/dist/esm/state/hooks/use-invoke-client-action/index.js +56 -17
  86. package/dist/esm/state/hooks-external/useSmartLinkActions.js +22 -3
  87. package/dist/esm/utils/analytics/LinkAnalyticsContext.js +7 -2
  88. package/dist/esm/utils/analytics/analytics.js +1 -1
  89. package/dist/esm/utils/mocks.js +4 -1
  90. package/dist/esm/view/BlockCard/views/flexible/FlexibleResolvedView.js +1 -0
  91. package/dist/esm/view/BlockCard/views/flexible/unresolved-view/index.js +1 -0
  92. package/dist/esm/view/CardWithUrl/component.js +1 -0
  93. package/dist/esm/view/EmbedModal/index.js +73 -52
  94. package/dist/esm/view/FlexibleCard/components/actions/copy-link-action/index.js +65 -32
  95. package/dist/esm/view/FlexibleCard/components/actions/download-action/index.js +36 -28
  96. package/dist/esm/view/FlexibleCard/components/actions/preview-action/index.js +40 -32
  97. package/dist/esm/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.js +13 -6
  98. package/dist/esm/view/FlexibleCard/components/utils.js +4 -0
  99. package/dist/esm/view/FlexibleCard/index.js +11 -1
  100. package/dist/esm/view/HoverCard/components/HoverCardContent.js +1 -0
  101. package/dist/esm/view/LinkUrl/index.js +1 -1
  102. package/dist/types/common/analytics/generated/analytics.types.d.ts +63 -2
  103. package/dist/types/common/analytics/types.d.ts +2 -0
  104. package/dist/types/extractors/action/extract-invoke-copy-link-action.d.ts +3 -0
  105. package/dist/types/extractors/action/extract-invoke-download-action.d.ts +3 -0
  106. package/dist/types/extractors/action/extract-invoke-preview-action.d.ts +11 -0
  107. package/dist/types/extractors/action/extract-invoke-view-action.d.ts +3 -0
  108. package/dist/types/extractors/action/extractDownloadActionProps.d.ts +4 -0
  109. package/dist/types/extractors/action/extractPreviewActionProps.d.ts +5 -1
  110. package/dist/types/extractors/action/extractViewActionProps.d.ts +4 -0
  111. package/dist/types/extractors/action/types.d.ts +9 -0
  112. package/dist/types/extractors/flexible/actions/extract-copy-link-action.d.ts +6 -0
  113. package/dist/types/extractors/flexible/actions/extract-download-action.d.ts +6 -0
  114. package/dist/types/extractors/flexible/actions/extract-preview-action.d.ts +6 -0
  115. package/dist/types/extractors/flexible/actions/extract-view-action.d.ts +3 -0
  116. package/dist/types/extractors/flexible/actions/index.d.ts +21 -4
  117. package/dist/types/extractors/flexible/extract-state.d.ts +5 -2
  118. package/dist/types/extractors/flexible/index.d.ts +1 -1
  119. package/dist/types/state/flexible-ui-context/types.d.ts +9 -3
  120. package/dist/types/state/hooks/use-invoke/types.d.ts +7 -1
  121. package/dist/types/state/hooks/use-invoke-client-action/index.d.ts +2 -2
  122. package/dist/types/state/hooks/use-invoke-client-action/types.d.ts +24 -2
  123. package/dist/types/state/hooks/use-resolve/index.d.ts +1 -0
  124. package/dist/types/view/EmbedModal/index.d.ts +4 -0
  125. package/dist/types/view/EmbedModal/types.d.ts +7 -0
  126. package/dist/types/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.d.ts +1 -1
  127. package/dist/types/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/types.d.ts +6 -0
  128. package/dist/types/view/FlexibleCard/components/utils.d.ts +3 -0
  129. package/dist/types/view/FlexibleCard/index.d.ts +1 -1
  130. package/dist/types/view/FlexibleCard/types.d.ts +12 -3
  131. package/dist/types-ts4.5/common/analytics/generated/analytics.types.d.ts +63 -2
  132. package/dist/types-ts4.5/common/analytics/types.d.ts +2 -0
  133. package/dist/types-ts4.5/extractors/action/extract-invoke-copy-link-action.d.ts +3 -0
  134. package/dist/types-ts4.5/extractors/action/extract-invoke-download-action.d.ts +3 -0
  135. package/dist/types-ts4.5/extractors/action/extract-invoke-preview-action.d.ts +11 -0
  136. package/dist/types-ts4.5/extractors/action/extract-invoke-view-action.d.ts +3 -0
  137. package/dist/types-ts4.5/extractors/action/extractDownloadActionProps.d.ts +4 -0
  138. package/dist/types-ts4.5/extractors/action/extractPreviewActionProps.d.ts +5 -1
  139. package/dist/types-ts4.5/extractors/action/extractViewActionProps.d.ts +4 -0
  140. package/dist/types-ts4.5/extractors/action/types.d.ts +9 -0
  141. package/dist/types-ts4.5/extractors/flexible/actions/extract-copy-link-action.d.ts +6 -0
  142. package/dist/types-ts4.5/extractors/flexible/actions/extract-download-action.d.ts +6 -0
  143. package/dist/types-ts4.5/extractors/flexible/actions/extract-preview-action.d.ts +6 -0
  144. package/dist/types-ts4.5/extractors/flexible/actions/extract-view-action.d.ts +3 -0
  145. package/dist/types-ts4.5/extractors/flexible/actions/index.d.ts +21 -4
  146. package/dist/types-ts4.5/extractors/flexible/extract-state.d.ts +5 -2
  147. package/dist/types-ts4.5/extractors/flexible/index.d.ts +1 -1
  148. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +9 -3
  149. package/dist/types-ts4.5/state/hooks/use-invoke/types.d.ts +7 -1
  150. package/dist/types-ts4.5/state/hooks/use-invoke-client-action/index.d.ts +2 -2
  151. package/dist/types-ts4.5/state/hooks/use-invoke-client-action/types.d.ts +24 -2
  152. package/dist/types-ts4.5/state/hooks/use-resolve/index.d.ts +1 -0
  153. package/dist/types-ts4.5/view/EmbedModal/index.d.ts +8 -0
  154. package/dist/types-ts4.5/view/EmbedModal/types.d.ts +7 -0
  155. package/dist/types-ts4.5/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/index.d.ts +1 -1
  156. package/dist/types-ts4.5/view/FlexibleCard/components/elements/lozenge/lozenge-action/lozenge-action-error/types.d.ts +6 -0
  157. package/dist/types-ts4.5/view/FlexibleCard/components/utils.d.ts +3 -0
  158. package/dist/types-ts4.5/view/FlexibleCard/index.d.ts +1 -1
  159. package/dist/types-ts4.5/view/FlexibleCard/types.d.ts +12 -3
  160. package/package.json +6 -3
@@ -1,8 +1,10 @@
1
1
  import { type LinkPerson } from '@atlaskit/link-extractors';
2
2
  import { type ActionName, type IconType, type InternalActionName, type MediaType } from '../../constants';
3
3
  import { type LinkLozenge } from '../../extractors/common/lozenge/types';
4
- import type { CardInnerAppearance } from '../../view/Card/types';
5
- import type { AnalyticsFacade } from '../analytics';
4
+ import { type AnalyticsOrigin } from '../../utils/types';
5
+ import { type CardInnerAppearance } from '../../view/Card/types';
6
+ import { type AnalyticsFacade } from '../analytics';
7
+ import { type InvokeClientActionProps } from '../hooks/use-invoke-client-action/types';
6
8
  import { type InvokeRequestWithCardDetails } from '../hooks/use-invoke/types';
7
9
  /**
8
10
  * This provides the data that will be used by Smart Links Flexible UI to populate it's
@@ -250,9 +252,11 @@ export type FlexibleUiActions = {
250
252
  [InternalActionName.ViewRelatedLinksAction]?: ViewRelatedLinksActionData;
251
253
  };
252
254
  export type PreviewActionData = {
255
+ invokeAction?: InvokeClientActionProps;
253
256
  downloadUrl?: string;
254
257
  linkIcon?: Icon;
255
258
  providerName?: string;
259
+ origin?: AnalyticsOrigin;
256
260
  src?: string;
257
261
  title?: string;
258
262
  url?: string;
@@ -263,10 +267,12 @@ export type ViewActionData = {
263
267
  viewUrl?: string;
264
268
  };
265
269
  export type DownloadActionData = {
270
+ invokeAction?: InvokeClientActionProps;
266
271
  downloadUrl?: string;
267
272
  };
268
273
  export type CopyLinkActionData = {
269
- url: string;
274
+ invokeAction?: InvokeClientActionProps;
275
+ url?: string;
270
276
  };
271
277
  export type AISummaryActionData = {
272
278
  url: string;
@@ -1,5 +1,6 @@
1
- import type { InvokeRequest } from '@atlaskit/linking-types/smart-link-actions';
1
+ import { type InvokeRequest } from '@atlaskit/linking-types/smart-link-actions';
2
2
  import { type PreviewActionData } from '../../flexible-ui-context/types';
3
+ import type { InvokeClientActionProps } from '../use-invoke-client-action/types';
3
4
  /**
4
5
  * Additional details for invoke function that may be required for component
5
6
  */
@@ -8,12 +9,17 @@ export type CardDetails = {
8
9
  * An identifier for Smart Link analytics
9
10
  */
10
11
  id?: string;
12
+ /**
13
+ * A open embed modal action to invoke with useInvokeClientAction
14
+ */
15
+ invokePreviewAction?: InvokeClientActionProps;
11
16
  /**
12
17
  * The URL of the Smart Link
13
18
  */
14
19
  url?: string;
15
20
  /**
16
21
  * Preview Modal information. If present, will be used to render an embed modal on an error link click
22
+ * TODO: Remove on cleanup of platform-smart-card-migrate-embed-modal-analytics
17
23
  */
18
24
  previewData?: PreviewActionData | null;
19
25
  };
@@ -1,6 +1,6 @@
1
- import type { InvokeClientActionHandler, UseInvokeClientActionProps } from './types';
1
+ import { type InvokeClientActionHandler, type UseInvokeClientActionProps } from './types';
2
2
  /**
3
3
  * Invoke client action such as preview, download and open link
4
4
  */
5
- declare const useInvokeClientAction: ({ analytics, }: UseInvokeClientActionProps) => InvokeClientActionHandler;
5
+ declare const useInvokeClientAction: ({ analytics, fireEvent: fireEventProp, }: UseInvokeClientActionProps) => InvokeClientActionHandler;
6
6
  export default useInvokeClientAction;
@@ -1,20 +1,34 @@
1
- import type { CardInnerAppearance } from '../../../view/Card/types';
2
- import type { AnalyticsFacade } from '../../analytics';
1
+ import { type FireEventFunction } from '../../../common/analytics/types';
2
+ import { type CardInnerAppearance } from '../../../view/Card/types';
3
+ import { type AnalyticsFacade } from '../../analytics';
3
4
  export type UseInvokeClientActionProps = {
4
5
  /**
5
6
  * Analytics object
6
7
  */
7
8
  analytics?: AnalyticsFacade;
9
+ /**
10
+ * A function to dispatch analytics events.
11
+ */
12
+ fireEvent?: FireEventFunction;
8
13
  };
14
+ export type InvokeClientActionSubjectId = 'copyLink' | 'downloadDocument' | 'invokePreviewScreen' | 'shortcutGoToLink';
9
15
  export type InvokeClientActionProps = {
10
16
  /**
11
17
  * Invoke action to execute.
12
18
  */
13
19
  actionFn: () => Promise<void>;
20
+ /**
21
+ * Invoke action subject id for analytics purposes.
22
+ */
23
+ actionSubjectId?: InvokeClientActionSubjectId;
14
24
  /**
15
25
  * Invoke action type for analytics purposes.
16
26
  */
17
27
  actionType: string;
28
+ /**
29
+ * Definition id for analytics purposes.
30
+ */
31
+ definitionId?: string;
18
32
  /**
19
33
  * Smart card display type
20
34
  * This value should already be set in analytics context.
@@ -27,5 +41,13 @@ export type InvokeClientActionProps = {
27
41
  * useSmartLinkAnalytics() and/or into the analytic context.
28
42
  */
29
43
  extensionKey?: string;
44
+ /**
45
+ * ID for analytics purposes.
46
+ */
47
+ id?: string;
48
+ /**
49
+ * Resource type for analytics purposes.
50
+ */
51
+ resourceType?: string;
30
52
  };
31
53
  export type InvokeClientActionHandler = (opts: InvokeClientActionProps) => Promise<void>;
@@ -1,2 +1,3 @@
1
1
  declare const useResolve: () => (url: string, isReloading?: any, isMetadataRequest?: any, id?: any) => Promise<void>;
2
2
  export default useResolve;
3
+ export type ResolveFunction = ReturnType<typeof useResolve>;
@@ -2,10 +2,18 @@ import React from 'react';
2
2
  import { EmbedModalSize } from './types';
3
3
  declare const _default: (props: {
4
4
  download?: string | undefined;
5
+ fireEvent?: (<K extends keyof import("../../common/analytics/generated/analytics.types").AnalyticsEventAttributes>(eventKey: K, ...params_1: undefined extends import("../../common/analytics/generated/analytics.types").AnalyticsEventAttributes[K] ? [
6
+ param?: import("../../common/analytics/generated/analytics.types").AnalyticsEventAttributes[K] | undefined
7
+ ] : [
8
+ param: import("../../common/analytics/generated/analytics.types").AnalyticsEventAttributes[K]
9
+ ]) => void) | undefined;
5
10
  icon?: import("../common/Icon").IconProps | undefined;
11
+ invokeDownloadAction?: import("../../state/hooks/use-invoke-client-action/types").InvokeClientActionProps | undefined;
12
+ invokeViewAction?: import("../../state/hooks/use-invoke-client-action/types").InvokeClientActionProps | undefined;
6
13
  iframeName: string;
7
14
  isTrusted?: boolean | undefined;
8
15
  isSupportTheming?: boolean | undefined;
16
+ linkIcon?: import("../../state/flexible-ui-context/types").Icon | undefined;
9
17
  onClose: (context: import("./types").EmbedModalContext) => void;
10
18
  onOpen?: ((context: import("./types").EmbedModalContext) => void) | undefined;
11
19
  onOpenFailed?: ((error: Error, errorInfo: React.ErrorInfo) => void) | undefined;
@@ -1,4 +1,7 @@
1
1
  import { type ErrorInfo } from 'react';
2
+ import { type FireEventFunction } from '../../common/analytics/types';
3
+ import { type Icon } from '../../state/flexible-ui-context/types';
4
+ import { type InvokeClientActionProps } from '../../state/hooks/use-invoke-client-action/types';
2
5
  import { type IconProps } from '../common/Icon';
3
6
  import { type WithAnalytics } from './components/analytics/types';
4
7
  export declare enum EmbedModalSize {
@@ -11,10 +14,14 @@ export type EmbedModalContext = {
11
14
  };
12
15
  export type EmbedModalProps = {
13
16
  download?: string;
17
+ fireEvent?: FireEventFunction;
14
18
  icon?: IconProps;
19
+ invokeDownloadAction?: InvokeClientActionProps;
20
+ invokeViewAction?: InvokeClientActionProps;
15
21
  iframeName: string;
16
22
  isTrusted?: boolean;
17
23
  isSupportTheming?: boolean;
24
+ linkIcon?: Icon;
18
25
  onClose: (context: EmbedModalContext) => void;
19
26
  onOpen?: (context: EmbedModalContext) => void;
20
27
  onOpenFailed?: (error: Error, errorInfo: ErrorInfo) => void;
@@ -1,4 +1,4 @@
1
1
  import { jsx } from '@emotion/react';
2
2
  import type { LozengeActionErrorProps } from './types';
3
- declare const LozengeActionError: ({ errorMessage, testId, maxLineNumber, url, previewData, }: LozengeActionErrorProps) => jsx.JSX.Element;
3
+ declare const LozengeActionError: ({ errorMessage, testId, maxLineNumber, invokePreviewAction, url, previewData, }: LozengeActionErrorProps) => jsx.JSX.Element;
4
4
  export default LozengeActionError;
@@ -1,10 +1,15 @@
1
1
  import { type PreviewActionData } from '../../../../../../../state/flexible-ui-context/types';
2
+ import { type InvokeClientActionProps } from '../../../../../../../state/hooks/use-invoke-client-action/types';
2
3
  import { type MessageProps } from '../../../../types';
3
4
  export type LozengeActionErrorProps = {
4
5
  /**
5
6
  * Error message to be displayed inside the dropdown
6
7
  */
7
8
  errorMessage: string | MessageProps;
9
+ /**
10
+ * A preview link action to invoke with useInvokeClientAction
11
+ */
12
+ invokePreviewAction?: InvokeClientActionProps;
8
13
  /**
9
14
  * Data test id used for testing purposes
10
15
  */
@@ -19,6 +24,7 @@ export type LozengeActionErrorProps = {
19
24
  url?: string;
20
25
  /**
21
26
  * Preview Modal information. If present, will be used to render an embed modal on an error link click
27
+ * TODO: Remove on cleanup of platform-smart-card-migrate-embed-modal-analytics
22
28
  */
23
29
  previewData?: PreviewActionData | null;
24
30
  };
@@ -29,4 +29,7 @@ export declare const getPrimitivesInlineSpaceBySize: (size: SmartLinkSize) => Sp
29
29
  export declare const getPrimitivesPaddingSpaceBySize: (size: SmartLinkSize) => Space;
30
30
  export declare const getTruncateStyles: (maxLines: number, lineHeight?: string, wordBreak?: 'break-word' | 'break-all') => SerializedStyles;
31
31
  export declare const hasWhiteSpace: (str: string) => boolean;
32
+ /**
33
+ * TODO: Remove on cleanup of platform-smart-card-migrate-embed-modal-analytics
34
+ */
32
35
  export declare const openEmbedModalWithFlexibleUiIcon: ({ linkIcon, ...props }: Partial<EmbedModalProps> & Pick<PreviewActionData, 'linkIcon'>) => Promise<void>;
@@ -6,5 +6,5 @@ import { type FlexibleCardProps } from './types';
6
6
  * Note: TitleBlock is mandatory for a Flexible Card to render.
7
7
  * @see Container
8
8
  */
9
- declare const FlexibleCard: ({ analytics, appearance, cardState, children, id, onAuthorize, onClick, onError, onResolve, renderers, showAuthTooltip, showHoverPreview, hoverPreviewOptions, actionOptions, testId, ui, url, }: FlexibleCardProps) => JSX.Element;
9
+ declare const FlexibleCard: ({ analytics, appearance, cardState, children, id, onAuthorize, onClick, onError, onResolve, origin, renderers, showAuthTooltip, showHoverPreview, hoverPreviewOptions, actionOptions, testId, ui, url, }: FlexibleCardProps) => JSX.Element;
10
10
  export default FlexibleCard;
@@ -1,12 +1,15 @@
1
1
  /// <reference types="react" />
2
- import type { JsonLd } from 'json-ld-types';
2
+ import { type JsonLd } from 'json-ld-types';
3
3
  import { type MessageDescriptor } from 'react-intl-next';
4
4
  import { type CardProviderRenderers } from '@atlaskit/link-provider';
5
5
  import { type CardState, type LinkingPlatformFeatureFlags } from '@atlaskit/linking-common';
6
+ import { type FireEventFunction } from '../../common/analytics/types';
6
7
  import { type SmartLinkSize, type SmartLinkStatus, type SmartLinkTheme } from '../../constants';
7
8
  import { type AnalyticsFacade } from '../../state/analytics';
8
9
  import { type AISummaryConfig } from '../../state/hooks/use-ai-summary-config/types';
9
- import type { CardActionOptions, CardInnerAppearance, OnResolveCallback } from '../Card/types';
10
+ import { type ResolveFunction } from '../../state/hooks/use-resolve';
11
+ import { type AnalyticsOrigin } from '../../utils/types';
12
+ import { type CardActionOptions, type CardInnerAppearance, type OnResolveCallback } from '../Card/types';
10
13
  import { type HoverPreviewOptions } from '../HoverCard/types';
11
14
  import { type OnErrorCallback } from '../types';
12
15
  export type FlexibleCardProps = {
@@ -53,6 +56,10 @@ export type FlexibleCardProps = {
53
56
  * function to be called after a flexible card has rendered its resolved state
54
57
  */
55
58
  onResolve?: OnResolveCallback;
59
+ /**
60
+ * Smart links origin for analytics purposes
61
+ */
62
+ origin?: AnalyticsOrigin;
56
63
  /**
57
64
  * Any additional renderers required by Flexible UI. Currently used by icon
58
65
  * to render Emoji.
@@ -142,9 +149,11 @@ export type RetryOptions = {
142
149
  */
143
150
  values?: Record<string, string>;
144
151
  };
145
- export type ExtractFlexibleUiDataContextParams = Pick<FlexibleCardProps, 'id' | 'actionOptions' | 'renderers' | 'url'> & {
152
+ export type ExtractFlexibleUiDataContextParams = Pick<FlexibleCardProps, 'appearance' | 'id' | 'actionOptions' | 'origin' | 'renderers' | 'url'> & {
153
+ fireEvent?: FireEventFunction;
146
154
  status?: SmartLinkStatus;
147
155
  response?: JsonLd.Response;
156
+ resolve?: ResolveFunction;
148
157
  featureFlags?: Partial<LinkingPlatformFeatureFlags>;
149
158
  aiSummaryConfig?: AISummaryConfig;
150
159
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "32.6.0",
3
+ "version": "32.7.1",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@atlaskit/analytics-gas-types": "^5.1.0",
29
- "@atlaskit/analytics-next": "^10.1.0",
29
+ "@atlaskit/analytics-next": "^10.2.0",
30
30
  "@atlaskit/avatar": "^21.17.0",
31
31
  "@atlaskit/avatar-group": "^10.1.0",
32
32
  "@atlaskit/badge": "^16.4.0",
@@ -81,7 +81,7 @@
81
81
  "uuid": "^3.1.0"
82
82
  },
83
83
  "peerDependencies": {
84
- "@atlaskit/link-provider": "^1.17.0",
84
+ "@atlaskit/link-provider": "^1.18.0",
85
85
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
86
86
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
87
87
  "react-intl-next": "npm:react-intl@^5.18.1"
@@ -177,6 +177,9 @@
177
177
  "smart_links_for_plans_platform": {
178
178
  "type": "boolean"
179
179
  },
180
+ "platform-smart-card-migrate-embed-modal-analytics": {
181
+ "type": "boolean"
182
+ },
180
183
  "platform_editor_hyperlink_underline": {
181
184
  "type": "boolean"
182
185
  }