@atlaskit/smart-card 26.23.2 → 26.25.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 (134) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/constants.js +1 -0
  3. package/dist/cjs/extractors/block/index.js +1 -1
  4. package/dist/cjs/extractors/common/actions/extractActions.js +3 -31
  5. package/dist/cjs/extractors/flexible/actions/extract-follow-action.js +53 -0
  6. package/dist/cjs/extractors/flexible/index.js +3 -0
  7. package/dist/cjs/messages.js +10 -0
  8. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +7 -15
  9. package/dist/cjs/state/hooks/use-invoke-client-action/index.js +20 -14
  10. package/dist/cjs/utils/analytics/analytics.js +1 -1
  11. package/dist/cjs/view/BlockCard/views/flexible/FlexibleErroredView.js +1 -0
  12. package/dist/cjs/view/BlockCard/views/flexible/FlexibleResolvedView.js +3 -45
  13. package/dist/cjs/view/BlockCard/views/flexible/styled.js +2 -2
  14. package/dist/cjs/view/EmbedCard/components/styled.js +2 -2
  15. package/dist/cjs/view/FlexibleCard/components/actions/action/download-action/index.js +33 -1
  16. package/dist/cjs/view/FlexibleCard/components/actions/action/preview-action/index.js +41 -15
  17. package/dist/cjs/view/FlexibleCard/components/actions/action/server-action/index.js +4 -4
  18. package/dist/cjs/view/FlexibleCard/components/actions/action/view-action/index.js +33 -1
  19. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/index.js +43 -0
  20. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/unfollow-icon/index.js +40 -0
  21. package/dist/cjs/view/FlexibleCard/components/actions/index.js +10 -1
  22. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +2 -19
  23. package/dist/cjs/view/FlexibleCard/components/blocks/footer-block/index.js +8 -1
  24. package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +22 -1
  25. package/dist/cjs/view/FlexibleCard/components/utils.js +9 -20
  26. package/dist/cjs/view/FlexibleCard/index.js +14 -1
  27. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +1 -0
  28. package/dist/cjs/view/HoverCard/styled.js +2 -2
  29. package/dist/cjs/view/LinkUrl/index.js +1 -1
  30. package/dist/cjs/view/RedesignedInlineCard/Frame/styled.js +1 -1
  31. package/dist/cjs/view/RedesignedInlineCard/styled.js +1 -1
  32. package/dist/es2019/constants.js +1 -0
  33. package/dist/es2019/extractors/block/index.js +2 -2
  34. package/dist/es2019/extractors/common/actions/extractActions.js +2 -23
  35. package/dist/es2019/extractors/flexible/actions/extract-follow-action.js +45 -0
  36. package/dist/es2019/extractors/flexible/index.js +3 -0
  37. package/dist/es2019/messages.js +10 -0
  38. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +7 -15
  39. package/dist/es2019/state/hooks/use-invoke-client-action/index.js +14 -8
  40. package/dist/es2019/utils/analytics/analytics.js +1 -1
  41. package/dist/es2019/view/BlockCard/views/flexible/FlexibleErroredView.js +1 -0
  42. package/dist/es2019/view/BlockCard/views/flexible/FlexibleResolvedView.js +4 -42
  43. package/dist/es2019/view/BlockCard/views/flexible/styled.js +10 -1
  44. package/dist/es2019/view/EmbedCard/components/styled.js +2 -2
  45. package/dist/es2019/view/FlexibleCard/components/actions/action/download-action/index.js +15 -1
  46. package/dist/es2019/view/FlexibleCard/components/actions/action/preview-action/index.js +18 -7
  47. package/dist/es2019/view/FlexibleCard/components/actions/action/server-action/index.js +1 -1
  48. package/dist/es2019/view/FlexibleCard/components/actions/action/view-action/index.js +15 -1
  49. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/index.js +31 -0
  50. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/unfollow-icon/index.js +28 -0
  51. package/dist/es2019/view/FlexibleCard/components/actions/index.js +3 -0
  52. package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +2 -17
  53. package/dist/es2019/view/FlexibleCard/components/blocks/footer-block/index.js +9 -2
  54. package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +19 -1
  55. package/dist/es2019/view/FlexibleCard/components/utils.js +3 -17
  56. package/dist/es2019/view/FlexibleCard/index.js +11 -1
  57. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +1 -0
  58. package/dist/es2019/view/HoverCard/styled.js +3 -3
  59. package/dist/es2019/view/LinkUrl/index.js +1 -1
  60. package/dist/es2019/view/RedesignedInlineCard/Frame/styled.js +1 -1
  61. package/dist/es2019/view/RedesignedInlineCard/styled.js +1 -1
  62. package/dist/esm/constants.js +1 -0
  63. package/dist/esm/extractors/block/index.js +2 -2
  64. package/dist/esm/extractors/common/actions/extractActions.js +2 -30
  65. package/dist/esm/extractors/flexible/actions/extract-follow-action.js +45 -0
  66. package/dist/esm/extractors/flexible/index.js +3 -0
  67. package/dist/esm/messages.js +10 -0
  68. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +7 -15
  69. package/dist/esm/state/hooks/use-invoke-client-action/index.js +20 -14
  70. package/dist/esm/utils/analytics/analytics.js +1 -1
  71. package/dist/esm/view/BlockCard/views/flexible/FlexibleErroredView.js +1 -0
  72. package/dist/esm/view/BlockCard/views/flexible/FlexibleResolvedView.js +4 -46
  73. package/dist/esm/view/BlockCard/views/flexible/styled.js +2 -2
  74. package/dist/esm/view/EmbedCard/components/styled.js +2 -2
  75. package/dist/esm/view/FlexibleCard/components/actions/action/download-action/index.js +33 -1
  76. package/dist/esm/view/FlexibleCard/components/actions/action/preview-action/index.js +41 -15
  77. package/dist/esm/view/FlexibleCard/components/actions/action/server-action/index.js +4 -4
  78. package/dist/esm/view/FlexibleCard/components/actions/action/view-action/index.js +33 -1
  79. package/dist/esm/view/FlexibleCard/components/actions/follow-action/index.js +32 -0
  80. package/dist/esm/view/FlexibleCard/components/actions/follow-action/unfollow-icon/index.js +32 -0
  81. package/dist/esm/view/FlexibleCard/components/actions/index.js +3 -0
  82. package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +2 -19
  83. package/dist/esm/view/FlexibleCard/components/blocks/footer-block/index.js +9 -2
  84. package/dist/esm/view/FlexibleCard/components/blocks/utils.js +21 -1
  85. package/dist/esm/view/FlexibleCard/components/utils.js +9 -20
  86. package/dist/esm/view/FlexibleCard/index.js +14 -1
  87. package/dist/esm/view/HoverCard/components/HoverCardContent.js +1 -0
  88. package/dist/esm/view/HoverCard/styled.js +2 -2
  89. package/dist/esm/view/LinkUrl/index.js +1 -1
  90. package/dist/esm/view/RedesignedInlineCard/Frame/styled.js +1 -1
  91. package/dist/esm/view/RedesignedInlineCard/styled.js +1 -1
  92. package/dist/types/__fixtures__/atlas-project.d.ts +68 -0
  93. package/dist/types/constants.d.ts +1 -0
  94. package/dist/types/extractors/common/__mocks__/jsonld.d.ts +3 -1
  95. package/dist/types/extractors/common/actions/extractActions.d.ts +1 -1
  96. package/dist/types/extractors/flexible/actions/extract-follow-action.d.ts +5 -0
  97. package/dist/types/messages.d.ts +1 -1
  98. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +4 -4
  99. package/dist/types/state/flexible-ui-context/index.d.ts +3 -119
  100. package/dist/types/state/flexible-ui-context/types.d.ts +17 -0
  101. package/dist/types/state/hooks/useSmartLink.d.ts +3 -3
  102. package/dist/types/utils/analytics/types.d.ts +3 -3
  103. package/dist/types/utils/mocks.d.ts +3 -3
  104. package/dist/types/view/Card/index.d.ts +1 -1
  105. package/dist/types/view/FlexibleCard/components/actions/follow-action/index.d.ts +4 -0
  106. package/dist/types/view/FlexibleCard/components/actions/follow-action/unfollow-icon/index.d.ts +4 -0
  107. package/dist/types/view/FlexibleCard/components/actions/index.d.ts +1 -0
  108. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +1 -1
  109. package/dist/types/view/FlexibleCard/components/blocks/utils.d.ts +3 -1
  110. package/dist/types/view/FlexibleCard/components/utils.d.ts +2 -63
  111. package/dist/types/view/FlexibleCard/types.d.ts +2 -3
  112. package/dist/types-ts4.5/__fixtures__/atlas-project.d.ts +68 -0
  113. package/dist/types-ts4.5/constants.d.ts +1 -0
  114. package/dist/types-ts4.5/extractors/common/__mocks__/jsonld.d.ts +3 -1
  115. package/dist/types-ts4.5/extractors/common/actions/extractActions.d.ts +1 -1
  116. package/dist/types-ts4.5/extractors/flexible/actions/extract-follow-action.d.ts +5 -0
  117. package/dist/types-ts4.5/messages.d.ts +1 -1
  118. package/dist/types-ts4.5/state/analytics/useSmartLinkAnalytics.d.ts +4 -4
  119. package/dist/types-ts4.5/state/flexible-ui-context/index.d.ts +3 -119
  120. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +17 -0
  121. package/dist/types-ts4.5/state/hooks/useSmartLink.d.ts +3 -3
  122. package/dist/types-ts4.5/utils/analytics/types.d.ts +3 -3
  123. package/dist/types-ts4.5/utils/mocks.d.ts +3 -3
  124. package/dist/types-ts4.5/view/Card/index.d.ts +1 -1
  125. package/dist/types-ts4.5/view/FlexibleCard/components/actions/follow-action/index.d.ts +4 -0
  126. package/dist/types-ts4.5/view/FlexibleCard/components/actions/follow-action/unfollow-icon/index.d.ts +4 -0
  127. package/dist/types-ts4.5/view/FlexibleCard/components/actions/index.d.ts +1 -0
  128. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +1 -1
  129. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/utils.d.ts +3 -1
  130. package/dist/types-ts4.5/view/FlexibleCard/components/utils.d.ts +2 -63
  131. package/dist/types-ts4.5/view/FlexibleCard/types.d.ts +2 -3
  132. package/package.json +2 -2
  133. package/report.api.md +9 -6
  134. package/tmp/api-report-tmp.d.ts +9 -7
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { FlexibleUiDataContext } from './types';
2
+ import type { FlexibleAnalyticsContextType, FlexibleUiDataContext } from './types';
3
3
  import { FlexibleUiOptions } from '../../view/FlexibleCard/types';
4
4
  /**
5
5
  * This provides the data that will be used by Smart Links Flexible UI to populate it's
@@ -11,124 +11,8 @@ export declare const useFlexibleUiContext: () => FlexibleUiDataContext | undefin
11
11
  * This provides the data that will be used by Smart Links Flexible UI to populate it's
12
12
  * underlying elements.
13
13
  */
14
- export declare const FlexibleUiAnalyticsContext: import("react").Context<{
15
- ui: {
16
- authEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiAuthEventProps) => void;
17
- authAlternateAccountEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiAuthAlternateAccountEventProps) => void;
18
- buttonClickedEvent: (data: Partial<import("../..").AnalyticsPayload> & {
19
- actionSubjectId: string;
20
- }) => void;
21
- cardClickedEvent: ({ id, display, status, definitionId, extensionKey, isModifierKeyPressed, location, destinationProduct, destinationSubproduct, actionSubjectId, }: import("../../utils/analytics/types").UiCardClickedEventProps) => void;
22
- iframeDwelledEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, dwellTime, dwellPercentVisible, }: import("../../utils/analytics/types").UiIframeDwelledEventProps) => void;
23
- iframeFocusedEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, }: import("../../utils/analytics/types").UiIframeFocusedEventProps) => void;
24
- actionClickedEvent: ({ id: experienceId, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiActionClickedEventProps) => void;
25
- hoverCardOpenLinkClickedEvent: ({ previewDisplay, definitionId, extensionKey, destinationProduct, destinationSubproduct, location, previewInvokeMethod, }: import("../../utils/analytics/types").UiHoverCardOpenLinkClickedEventProps) => void;
26
- closedAuthEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiClosedAuthEventProps) => void;
27
- modalClosedEvent: (data: Partial<import("../..").AnalyticsPayload> & {
28
- actionSubjectId: string;
29
- }) => void;
30
- renderSuccessEvent: ({ display, status, id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiRenderSuccessEventProps) => void;
31
- renderFailedEvent: ({ display, id, error, errorInfo, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiRenderFailedEventProps) => void;
32
- hoverCardViewedEvent: ({ previewDisplay, previewInvokeMethod, id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, status, }: import("../../utils/analytics/types").UiHoverCardViewedEventProps) => void;
33
- hoverCardDismissedEvent: ({ id, previewDisplay, hoverTime, previewInvokeMethod, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, status, }: import("../../utils/analytics/types").UiHoverCardDismissedEventProps) => void;
34
- learnMoreClickedEvent: () => void;
35
- smartLinkLozengeActionClickedEvent: () => void;
36
- smartLinkLozengeActionListItemClickedEvent: () => void;
37
- smartLinkLozengeActionErrorOpenPreviewClickedEvent: () => void;
38
- };
39
- operational: {
40
- invokeSucceededEvent: ({ id: experienceId, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").InvokeSucceededEventProps) => void;
41
- invokeFailedEvent: ({ id: experienceId, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").InvokeFailedEventProps) => void;
42
- connectSucceededEvent: ({ id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").ConnectSucceededEventProps) => void;
43
- connectFailedEvent: ({ id, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").ConnectFailedEventProps) => void;
44
- instrument: ({ id, status, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, error, }: import("../../utils/analytics/types").InstrumentEventProps) => void;
45
- chunkloadFailedEvent: ({ display, error, errorInfo, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiRenderFailedEventProps) => void;
46
- };
47
- track: {
48
- appAccountConnected: ({ extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").CommonEventProps) => void;
49
- appAccountAuthStarted: ({ extensionKey, location, }: import("../../utils/analytics/types").CommonEventProps) => void;
50
- linkUpdated: (props: import("../../utils/analytics/types").CommonEventProps & {
51
- [key: string]: any;
52
- }) => void;
53
- smartLinkQuickActionStarted: (props: {
54
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../utils/analytics/analytics").TrackQuickActionType;
55
- }) => void;
56
- smartLinkQuickActionSuccess: (props: {
57
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../utils/analytics/analytics").TrackQuickActionType;
58
- }) => void;
59
- smartLinkQuickActionFailed: (props: {
60
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../utils/analytics/analytics").TrackQuickActionType;
61
- reason?: import("../../utils/analytics/analytics").TrackQuickActionFailureReason | undefined;
62
- step?: string | undefined;
63
- }) => void;
64
- hoverCardResolutionStarted: () => void;
65
- };
66
- screen: {
67
- authPopupEvent: ({ extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").CommonEventProps) => void;
68
- modalViewedEvent: (data: Partial<import("../..").AnalyticsPayload> & {
69
- name: "embedPreviewModal";
70
- }) => void;
71
- };
72
- } | undefined>;
73
- export declare const useFlexibleUiAnalyticsContext: () => {
74
- ui: {
75
- authEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiAuthEventProps) => void;
76
- authAlternateAccountEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiAuthAlternateAccountEventProps) => void;
77
- buttonClickedEvent: (data: Partial<import("../..").AnalyticsPayload> & {
78
- actionSubjectId: string;
79
- }) => void;
80
- cardClickedEvent: ({ id, display, status, definitionId, extensionKey, isModifierKeyPressed, location, destinationProduct, destinationSubproduct, actionSubjectId, }: import("../../utils/analytics/types").UiCardClickedEventProps) => void;
81
- iframeDwelledEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, dwellTime, dwellPercentVisible, }: import("../../utils/analytics/types").UiIframeDwelledEventProps) => void;
82
- iframeFocusedEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, }: import("../../utils/analytics/types").UiIframeFocusedEventProps) => void;
83
- actionClickedEvent: ({ id: experienceId, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiActionClickedEventProps) => void;
84
- hoverCardOpenLinkClickedEvent: ({ previewDisplay, definitionId, extensionKey, destinationProduct, destinationSubproduct, location, previewInvokeMethod, }: import("../../utils/analytics/types").UiHoverCardOpenLinkClickedEventProps) => void;
85
- closedAuthEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiClosedAuthEventProps) => void;
86
- modalClosedEvent: (data: Partial<import("../..").AnalyticsPayload> & {
87
- actionSubjectId: string;
88
- }) => void;
89
- renderSuccessEvent: ({ display, status, id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiRenderSuccessEventProps) => void;
90
- renderFailedEvent: ({ display, id, error, errorInfo, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiRenderFailedEventProps) => void;
91
- hoverCardViewedEvent: ({ previewDisplay, previewInvokeMethod, id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, status, }: import("../../utils/analytics/types").UiHoverCardViewedEventProps) => void;
92
- hoverCardDismissedEvent: ({ id, previewDisplay, hoverTime, previewInvokeMethod, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, status, }: import("../../utils/analytics/types").UiHoverCardDismissedEventProps) => void;
93
- learnMoreClickedEvent: () => void;
94
- smartLinkLozengeActionClickedEvent: () => void;
95
- smartLinkLozengeActionListItemClickedEvent: () => void;
96
- smartLinkLozengeActionErrorOpenPreviewClickedEvent: () => void;
97
- };
98
- operational: {
99
- invokeSucceededEvent: ({ id: experienceId, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").InvokeSucceededEventProps) => void;
100
- invokeFailedEvent: ({ id: experienceId, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").InvokeFailedEventProps) => void;
101
- connectSucceededEvent: ({ id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").ConnectSucceededEventProps) => void;
102
- connectFailedEvent: ({ id, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").ConnectFailedEventProps) => void;
103
- instrument: ({ id, status, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, error, }: import("../../utils/analytics/types").InstrumentEventProps) => void;
104
- chunkloadFailedEvent: ({ display, error, errorInfo, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiRenderFailedEventProps) => void;
105
- };
106
- track: {
107
- appAccountConnected: ({ extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").CommonEventProps) => void;
108
- appAccountAuthStarted: ({ extensionKey, location, }: import("../../utils/analytics/types").CommonEventProps) => void;
109
- linkUpdated: (props: import("../../utils/analytics/types").CommonEventProps & {
110
- [key: string]: any;
111
- }) => void;
112
- smartLinkQuickActionStarted: (props: {
113
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../utils/analytics/analytics").TrackQuickActionType;
114
- }) => void;
115
- smartLinkQuickActionSuccess: (props: {
116
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../utils/analytics/analytics").TrackQuickActionType;
117
- }) => void;
118
- smartLinkQuickActionFailed: (props: {
119
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../utils/analytics/analytics").TrackQuickActionType;
120
- reason?: import("../../utils/analytics/analytics").TrackQuickActionFailureReason | undefined;
121
- step?: string | undefined;
122
- }) => void;
123
- hoverCardResolutionStarted: () => void;
124
- };
125
- screen: {
126
- authPopupEvent: ({ extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").CommonEventProps) => void;
127
- modalViewedEvent: (data: Partial<import("../..").AnalyticsPayload> & {
128
- name: "embedPreviewModal";
129
- }) => void;
130
- };
131
- } | undefined;
14
+ export declare const FlexibleUiAnalyticsContext: import("react").Context<FlexibleAnalyticsContextType | undefined>;
15
+ export declare const useFlexibleUiAnalyticsContext: () => FlexibleAnalyticsContextType | undefined;
132
16
  /**
133
17
  * This provides the ui options that will be used by Smart Links Flexible UI
134
18
  * to render its underlying elements.
@@ -1,6 +1,9 @@
1
1
  import { LinkLozenge } from '../../extractors/common/lozenge/types';
2
2
  import { LinkPerson } from '@atlaskit/link-extractors';
3
3
  import { IconType, MediaType } from '../../constants';
4
+ import { InvokeRequestWithCardDetails } from '../hooks/use-invoke/types';
5
+ import type { CardInnerAppearance } from '../../view/Card/types';
6
+ import type { AnalyticsFacade } from '../analytics';
4
7
  /**
5
8
  * This provides the data that will be used by Smart Links Flexible UI to populate it's
6
9
  * underlying elements.
@@ -45,6 +48,12 @@ export type FlexibleUiDataContext = {
45
48
  * @see DueOn
46
49
  */
47
50
  dueOn?: string;
51
+ /**
52
+ * Contains data needed to perform follow action.
53
+ * @type PreviewActionData
54
+ * @see FollowAction
55
+ */
56
+ followAction?: ServerActionProp<boolean>;
48
57
  /**
49
58
  * Contains the number of views of the linked resource.
50
59
  * @type number
@@ -254,3 +263,11 @@ export type ViewActionData = {
254
263
  export type DownloadActionData = {
255
264
  downloadUrl?: string;
256
265
  };
266
+ export type FlexibleAnalyticsContextType = AnalyticsFacade & {
267
+ display?: CardInnerAppearance;
268
+ extensionKey?: string;
269
+ };
270
+ export type ServerActionProp<TValue> = {
271
+ action: InvokeRequestWithCardDetails;
272
+ value?: TValue;
273
+ };
@@ -24,7 +24,7 @@ dispatchAnalytics?: AnalyticsHandler): {
24
24
  cardClickedEvent: ({ id, display, status, definitionId, extensionKey, isModifierKeyPressed, location, destinationProduct, destinationSubproduct, actionSubjectId, }: import("../../utils/analytics/types").UiCardClickedEventProps) => void;
25
25
  iframeDwelledEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, dwellTime, dwellPercentVisible, }: import("../../utils/analytics/types").UiIframeDwelledEventProps) => void;
26
26
  iframeFocusedEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, }: import("../../utils/analytics/types").UiIframeFocusedEventProps) => void;
27
- actionClickedEvent: ({ id: experienceId, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiActionClickedEventProps) => void;
27
+ actionClickedEvent: ({ id, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiActionClickedEventProps) => void;
28
28
  hoverCardOpenLinkClickedEvent: ({ previewDisplay, definitionId, extensionKey, destinationProduct, destinationSubproduct, location, previewInvokeMethod, }: import("../../utils/analytics/types").UiHoverCardOpenLinkClickedEventProps) => void;
29
29
  closedAuthEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").UiClosedAuthEventProps) => void;
30
30
  modalClosedEvent: (data: Partial<import("../../utils/types").AnalyticsPayload> & {
@@ -40,8 +40,8 @@ dispatchAnalytics?: AnalyticsHandler): {
40
40
  smartLinkLozengeActionErrorOpenPreviewClickedEvent: () => void;
41
41
  };
42
42
  operational: {
43
- invokeSucceededEvent: ({ id: experienceId, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").InvokeSucceededEventProps) => void;
44
- invokeFailedEvent: ({ id: experienceId, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").InvokeFailedEventProps) => void;
43
+ invokeSucceededEvent: ({ id, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").InvokeSucceededEventProps) => void;
44
+ invokeFailedEvent: ({ id, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").InvokeFailedEventProps) => void;
45
45
  connectSucceededEvent: ({ id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").ConnectSucceededEventProps) => void;
46
46
  connectFailedEvent: ({ id, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../utils/analytics/types").ConnectFailedEventProps) => void;
47
47
  instrument: ({ id, status, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, error, }: import("../../utils/analytics/types").InstrumentEventProps) => void;
@@ -25,12 +25,12 @@ export type UnresolvedEventProps = CommonEventProps & {
25
25
  error?: APIError;
26
26
  };
27
27
  export type InvokeSucceededEventProps = CommonEventProps & {
28
- id: string;
28
+ id?: string;
29
29
  actionType: string;
30
30
  display?: CardInnerAppearance;
31
31
  };
32
32
  export type InvokeFailedEventProps = CommonEventProps & {
33
- id: string;
33
+ id?: string;
34
34
  actionType: string;
35
35
  display?: CardInnerAppearance;
36
36
  reason: string;
@@ -69,7 +69,7 @@ export type UiIframeFocusedEventProps = CommonEventProps & {
69
69
  status: CardType;
70
70
  };
71
71
  export type UiActionClickedEventProps = CommonEventProps & {
72
- id: string;
72
+ id?: string;
73
73
  display?: CardInnerAppearance;
74
74
  actionType: string;
75
75
  invokeType?: InvokeType;
@@ -49,7 +49,7 @@ export declare const mockAnalytics: {
49
49
  cardClickedEvent: ({ id, display, status, definitionId, extensionKey, isModifierKeyPressed, location, destinationProduct, destinationSubproduct, actionSubjectId, }: import("./analytics/types").UiCardClickedEventProps) => void;
50
50
  iframeDwelledEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, dwellTime, dwellPercentVisible, }: import("./analytics/types").UiIframeDwelledEventProps) => void;
51
51
  iframeFocusedEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, }: import("./analytics/types").UiIframeFocusedEventProps) => void;
52
- actionClickedEvent: ({ id: experienceId, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").UiActionClickedEventProps) => void;
52
+ actionClickedEvent: ({ id, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").UiActionClickedEventProps) => void;
53
53
  hoverCardOpenLinkClickedEvent: ({ previewDisplay, definitionId, extensionKey, destinationProduct, destinationSubproduct, location, previewInvokeMethod, }: import("./analytics/types").UiHoverCardOpenLinkClickedEventProps) => void;
54
54
  closedAuthEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").UiClosedAuthEventProps) => void;
55
55
  modalClosedEvent: (data: Partial<import("./types").AnalyticsPayload> & {
@@ -65,8 +65,8 @@ export declare const mockAnalytics: {
65
65
  smartLinkLozengeActionErrorOpenPreviewClickedEvent: () => void;
66
66
  };
67
67
  operational: {
68
- invokeSucceededEvent: ({ id: experienceId, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").InvokeSucceededEventProps) => void;
69
- invokeFailedEvent: ({ id: experienceId, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").InvokeFailedEventProps) => void;
68
+ invokeSucceededEvent: ({ id, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").InvokeSucceededEventProps) => void;
69
+ invokeFailedEvent: ({ id, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").InvokeFailedEventProps) => void;
70
70
  connectSucceededEvent: ({ id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").ConnectSucceededEventProps) => void;
71
71
  connectFailedEvent: ({ id, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("./analytics/types").ConnectFailedEventProps) => void;
72
72
  instrument: ({ id, status, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, error, }: import("./analytics/types").InstrumentEventProps) => void;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { CardAppearance, CardPlatform, CardProps } from './types';
3
3
  import { WrappedComponentProps } from 'react-intl-next';
4
- export declare const Card: React.ForwardRefExoticComponent<Pick<Omit<React.PropsWithChildren<import("react-intl-next").WithIntlProps<CardProps & WrappedComponentProps<"intl">>>, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any> & import("@atlaskit/analytics-next").WithContextProps, "url" | "children" | "data" | "key" | "id" | "placeholder" | "onError" | "onClick" | "appearance" | "testId" | "analyticsContext" | "isSelected" | "inheritDimensions" | "showActions" | "showHoverPreview" | "showServerActions" | "showAuthTooltip" | "onResolve" | "ui" | "platform" | "frameStyle" | "embedIframeRef" | "inlinePreloaderStyle" | "isFrameVisible" | "importer" | "container" | "fallbackComponent" | "embedIframeUrlType" | "analyticsEvents" | "forwardedRef"> & React.RefAttributes<any>>;
4
+ export declare const Card: React.ForwardRefExoticComponent<Pick<Omit<React.PropsWithChildren<import("react-intl-next").WithIntlProps<CardProps & WrappedComponentProps<"intl">>>, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any> & import("@atlaskit/analytics-next").WithContextProps, "url" | "children" | "data" | "key" | "id" | "placeholder" | "onError" | "onClick" | "appearance" | "testId" | "analyticsContext" | "isSelected" | "inheritDimensions" | "showServerActions" | "onResolve" | "ui" | "showHoverPreview" | "showAuthTooltip" | "platform" | "isFrameVisible" | "frameStyle" | "importer" | "container" | "showActions" | "fallbackComponent" | "embedIframeRef" | "embedIframeUrlType" | "inlinePreloaderStyle" | "analyticsEvents" | "forwardedRef"> & React.RefAttributes<any>>;
5
5
  export type { CardAppearance, CardProps, CardPlatform };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ActionProps } from '../action/types';
3
+ declare const FollowAction: React.FC<ActionProps>;
4
+ export default FollowAction;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { type IconProps } from '@atlaskit/icon';
3
+ declare const UnfollowIcon: (props: IconProps) => JSX.Element;
4
+ export default UnfollowIcon;
@@ -3,6 +3,7 @@ import { ActionProps } from './action/types';
3
3
  import { PreviewActionProps } from './action/preview-action/types';
4
4
  import { ViewActionProps } from './action/view-action/types';
5
5
  import { DownloadActionProps } from './action/download-action/types';
6
+ export { default as FollowAction } from './follow-action';
6
7
  /**
7
8
  * Creates a DeleteAction component. Accepts default ActionProps, but defaults
8
9
  * the icon to a cross icon.
@@ -145,7 +145,7 @@ export type BaseDataActionItem = {
145
145
  * renders a preview modal when clicked.
146
146
  */
147
147
  export type NamedDataActionItem = BaseDataActionItem & {
148
- name: ActionName.PreviewAction | ActionName.DownloadAction | ActionName.ViewAction;
148
+ name: ActionName.FollowAction | ActionName.PreviewAction | ActionName.DownloadAction | ActionName.ViewAction;
149
149
  };
150
150
  /**
151
151
  * This represents an action that does not fetch data where Icon and Content are provided implicitly.
@@ -1,12 +1,14 @@
1
1
  import React from 'react';
2
2
  import { SerializedStyles } from '@emotion/react';
3
- import { ElementItem } from './types';
3
+ import { ActionItem, ElementItem } from './types';
4
4
  import { ElementName, SmartLinkDirection, SmartLinkSize } from '../../../../constants';
5
+ import type { FlexibleUiDataContext } from '../../../../state/flexible-ui-context/types';
5
6
  export type ElementDisplaySchemaType = 'inline' | 'block';
6
7
  export declare const ElementDisplaySchema: Record<ElementName, ElementDisplaySchemaType[]>;
7
8
  export declare const getGapSize: (size: SmartLinkSize) => number;
8
9
  export declare const getBaseStyles: (direction: SmartLinkDirection, size: SmartLinkSize) => SerializedStyles;
9
10
  export declare const highlightRemoveStyles: SerializedStyles;
10
11
  export declare const isJSXElementNull: (children: JSX.Element) => boolean;
12
+ export declare const filterActionItems: (items?: ActionItem[], context?: FlexibleUiDataContext) => ActionItem[];
11
13
  export declare const renderChildren: (children: React.ReactNode, size: SmartLinkSize) => React.ReactNode;
12
14
  export declare const renderElementItems: (items?: ElementItem[], display?: ElementDisplaySchemaType) => React.ReactNode | undefined;
@@ -3,9 +3,9 @@ import { SerializedStyles } from '@emotion/react';
3
3
  import { Spacing } from '@atlaskit/button';
4
4
  import { SmartLinkSize } from '../../../constants';
5
5
  import { MessageProps } from './types';
6
- import { AnalyticsFacade } from '../../../state/analytics';
7
6
  import { PreviewActionData } from '../../../state/flexible-ui-context/types';
8
7
  import { IntlShape, MessageDescriptor } from 'react-intl-next';
8
+ import { EmbedModalProps } from '../../EmbedModal/types';
9
9
  export declare const sizeToButtonSpacing: Record<SmartLinkSize, Spacing>;
10
10
  export declare const getFormattedMessage: (message?: MessageProps) => JSX.Element | undefined;
11
11
  export declare const getFormattedMessageAsString: (intl: IntlShape, message: MessageDescriptor, context?: string) => string;
@@ -17,65 +17,4 @@ export declare const getMaxLineHeight: (size: SmartLinkSize) => 1.5 | 1.75;
17
17
  export declare const getMaxLines: (value: number, defaultValue: number, max: number, min: number) => number;
18
18
  export declare const getTruncateStyles: (maxLines: number, lineHeight?: string, wordBreak?: 'break-word' | 'break-all') => SerializedStyles;
19
19
  export declare const hasWhiteSpace: (str: string) => boolean;
20
- export declare const openEmbedModalWithFlexibleUiIcon: ({ analytics, downloadUrl, linkIcon, onClose, providerName, src, title, url, isSupportTheming, }: PreviewActionData & {
21
- analytics?: {
22
- ui: {
23
- authEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").UiAuthEventProps) => void;
24
- authAlternateAccountEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").UiAuthAlternateAccountEventProps) => void;
25
- buttonClickedEvent: (data: Partial<import("../../..").AnalyticsPayload> & {
26
- actionSubjectId: string;
27
- }) => void;
28
- cardClickedEvent: ({ id, display, status, definitionId, extensionKey, isModifierKeyPressed, location, destinationProduct, destinationSubproduct, actionSubjectId, }: import("../../../utils/analytics/types").UiCardClickedEventProps) => void;
29
- iframeDwelledEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, dwellTime, dwellPercentVisible, }: import("../../../utils/analytics/types").UiIframeDwelledEventProps) => void;
30
- iframeFocusedEvent: ({ id, display, status, definitionId, extensionKey, location, destinationProduct, destinationSubproduct, }: import("../../../utils/analytics/types").UiIframeFocusedEventProps) => void;
31
- actionClickedEvent: ({ id: experienceId, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").UiActionClickedEventProps) => void;
32
- hoverCardOpenLinkClickedEvent: ({ previewDisplay, definitionId, extensionKey, destinationProduct, destinationSubproduct, location, previewInvokeMethod, }: import("../../../utils/analytics/types").UiHoverCardOpenLinkClickedEventProps) => void;
33
- closedAuthEvent: ({ display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").UiClosedAuthEventProps) => void;
34
- modalClosedEvent: (data: Partial<import("../../..").AnalyticsPayload> & {
35
- actionSubjectId: string;
36
- }) => void;
37
- renderSuccessEvent: ({ display, status, id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").UiRenderSuccessEventProps) => void;
38
- renderFailedEvent: ({ display, id, error, errorInfo, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").UiRenderFailedEventProps) => void;
39
- hoverCardViewedEvent: ({ previewDisplay, previewInvokeMethod, id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, status, }: import("../../../utils/analytics/types").UiHoverCardViewedEventProps) => void;
40
- hoverCardDismissedEvent: ({ id, previewDisplay, hoverTime, previewInvokeMethod, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, status, }: import("../../../utils/analytics/types").UiHoverCardDismissedEventProps) => void;
41
- learnMoreClickedEvent: () => void;
42
- smartLinkLozengeActionClickedEvent: () => void;
43
- smartLinkLozengeActionListItemClickedEvent: () => void;
44
- smartLinkLozengeActionErrorOpenPreviewClickedEvent: () => void;
45
- };
46
- operational: {
47
- invokeSucceededEvent: ({ id: experienceId, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").InvokeSucceededEventProps) => void;
48
- invokeFailedEvent: ({ id: experienceId, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").InvokeFailedEventProps) => void;
49
- connectSucceededEvent: ({ id, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").ConnectSucceededEventProps) => void;
50
- connectFailedEvent: ({ id, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").ConnectFailedEventProps) => void;
51
- instrument: ({ id, status, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, error, }: import("../../../utils/analytics/types").InstrumentEventProps) => void;
52
- chunkloadFailedEvent: ({ display, error, errorInfo, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").UiRenderFailedEventProps) => void;
53
- };
54
- track: {
55
- appAccountConnected: ({ extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").CommonEventProps) => void;
56
- appAccountAuthStarted: ({ extensionKey, location, }: import("../../../utils/analytics/types").CommonEventProps) => void;
57
- linkUpdated: (props: import("../../../utils/analytics/types").CommonEventProps & {
58
- [key: string]: any;
59
- }) => void;
60
- smartLinkQuickActionStarted: (props: {
61
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../../utils/analytics/analytics").TrackQuickActionType;
62
- }) => void;
63
- smartLinkQuickActionSuccess: (props: {
64
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../../utils/analytics/analytics").TrackQuickActionType;
65
- }) => void;
66
- smartLinkQuickActionFailed: (props: {
67
- smartLinkActionType: import("@atlaskit/linking-types").SmartLinkActionType | import("../../../utils/analytics/analytics").TrackQuickActionType;
68
- reason?: import("../../../utils/analytics/analytics").TrackQuickActionFailureReason | undefined;
69
- step?: string | undefined;
70
- }) => void;
71
- hoverCardResolutionStarted: () => void;
72
- };
73
- screen: {
74
- authPopupEvent: ({ extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: import("../../../utils/analytics/types").CommonEventProps) => void;
75
- modalViewedEvent: (data: Partial<import("../../..").AnalyticsPayload> & {
76
- name: "embedPreviewModal";
77
- }) => void;
78
- };
79
- } | undefined;
80
- onClose?: (() => void) | undefined;
81
- }) => Promise<void>;
20
+ export declare const openEmbedModalWithFlexibleUiIcon: ({ linkIcon, ...props }: Partial<EmbedModalProps> & Pick<PreviewActionData, 'linkIcon'>) => Promise<void>;
@@ -4,8 +4,7 @@ import type { JsonLd } from 'json-ld-types';
4
4
  import { CardState, LinkingPlatformFeatureFlags } from '@atlaskit/linking-common';
5
5
  import { CardProviderRenderers } from '@atlaskit/link-provider';
6
6
  import { SmartLinkSize, SmartLinkStatus, SmartLinkTheme } from '../../constants';
7
- import { CardAppearance } from '../../view/Card';
8
- import { OnResolveCallback } from '../Card/types';
7
+ import { CardInnerAppearance, OnResolveCallback } from '../Card/types';
9
8
  import { OnErrorCallback } from '../types';
10
9
  import { AnalyticsFacade } from '../../state/analytics';
11
10
  export type FlexibleCardProps = {
@@ -22,7 +21,7 @@ export type FlexibleCardProps = {
22
21
  * Determines the appearance of the Smart Link.
23
22
  * @internal
24
23
  */
25
- appearance?: CardAppearance;
24
+ appearance?: CardInnerAppearance;
26
25
  /**
27
26
  * Determines the status and data of the Smart Link.
28
27
  * @internal
@@ -0,0 +1,68 @@
1
+ declare const _default: {
2
+ meta: {
3
+ auth: never[];
4
+ definitionId: string;
5
+ product: string;
6
+ visibility: string;
7
+ access: string;
8
+ key: string;
9
+ };
10
+ data: {
11
+ '@context': {
12
+ '@vocab': string;
13
+ atlassian: string;
14
+ schema: string;
15
+ };
16
+ generator: {
17
+ '@type': string;
18
+ '@id': string;
19
+ name: string;
20
+ icon: {
21
+ '@type': string;
22
+ url: string;
23
+ };
24
+ };
25
+ '@type': string[];
26
+ url: string;
27
+ icon: {
28
+ '@type': string;
29
+ url: string;
30
+ };
31
+ name: string;
32
+ summary: string;
33
+ 'atlassian:state': {
34
+ '@type': string;
35
+ name: string;
36
+ appearance: string;
37
+ };
38
+ attributedTo: {
39
+ name: string;
40
+ icon: string;
41
+ }[];
42
+ 'atlassian:updatedBy': {
43
+ name: string;
44
+ icon: string;
45
+ }[];
46
+ preview: {
47
+ '@type': string;
48
+ href: string;
49
+ };
50
+ 'schema:commentCount': number;
51
+ 'atlassian:subscriberCount': number;
52
+ endTime: string;
53
+ updated: string;
54
+ 'atlassian:serverAction': {
55
+ '@type': string;
56
+ name: string;
57
+ dataUpdateAction: {
58
+ '@type': string;
59
+ name: string;
60
+ };
61
+ resourceIdentifiers: {
62
+ ari: string;
63
+ };
64
+ refField: string;
65
+ }[];
66
+ };
67
+ };
68
+ export default _default;
@@ -125,6 +125,7 @@ export declare enum ElementName {
125
125
  export declare enum ActionName {
126
126
  DeleteAction = "DeleteAction",
127
127
  EditAction = "EditAction",
128
+ FollowAction = "FollowAction",
128
129
  PreviewAction = "PreviewAction",
129
130
  ViewAction = "ViewAction",
130
131
  DownloadAction = "DownloadAction",
@@ -27,8 +27,10 @@ export declare const TEST_CURRENT_DOCUMENT: JsonLd.Data.Document;
27
27
  export declare const TEST_DOWNLOAD_ACTION: JsonLd.Data.BaseData['schema:potentialAction'];
28
28
  export declare const TEST_UNDEFINED_LINK: JsonLd.Data.UndefinedLinkDocument;
29
29
  export declare const TEST_ASSIGN_ACTION: JsonLd.Data.BaseData['schema:potentialAction'];
30
- export declare const TEST_NO_ID_ACTION: JsonLd.Data.BaseData['schema:potentialAction'];
31
30
  export declare const TEST_VIEW_ACTION: JsonLd.Data.BaseData['schema:potentialAction'];
31
+ export declare const TEST_FOLLOW_ACTION: JsonLd.Primitives.UpdateAction;
32
+ export declare const TEST_UNFOLLOW_ACTION: JsonLd.Primitives.UpdateAction;
33
+ export declare const TEST_STATUS_UPDATE_ACTION: JsonLd.Primitives.UpdateAction;
32
34
  export declare const TEST_DOCUMENT_WITH_ACTIONS: JsonLd.Data.BaseData;
33
35
  export declare const TEST_DOCUMENT_WITH_DOWNLOAD_ACTION: JsonLd.Data.BaseData;
34
36
  export declare const TEST_DOCUMENT_WITH_VIEW_ACTION: JsonLd.Data.BaseData;
@@ -2,4 +2,4 @@ import { JsonLd } from 'json-ld-types';
2
2
  import { InvokeHandler } from '../../../model/invoke-handler';
3
3
  import { ActionProps } from '../../../view/BlockCard/components/Action';
4
4
  export declare const getActionsFromJsonLd: (jsonLd: JsonLd.Data.BaseData) => JsonLd.Primitives.Action[];
5
- export declare function extractActions(jsonLd: JsonLd.Data.BaseData, handler: InvokeHandler): ActionProps[];
5
+ export declare function extractClientActions(jsonLd: JsonLd.Data.BaseData, handler: InvokeHandler): ActionProps[];
@@ -0,0 +1,5 @@
1
+ import type { JsonLd } from 'json-ld-types';
2
+ import { ServerActionProp } from '../../../state/flexible-ui-context/types';
3
+ import { ServerActionOptions } from '../../../view/FlexibleCard/types';
4
+ declare const extractFollowAction: (response?: JsonLd.Response, showServerActions?: boolean | ServerActionOptions, id?: string) => ServerActionProp<boolean> | undefined;
5
+ export default extractFollowAction;
@@ -1,6 +1,6 @@
1
1
  import { MessageDescriptor } from 'react-intl-next';
2
2
  export type RequestAccessMessageKey = 'click_to_join' | 'click_to_join_description' | 'forbidden_description' | 'request_access' | 'request_access_description' | 'request_access_pending' | 'request_access_pending_description' | 'request_denied_description';
3
- export type MessageKey = 'assigned_to' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'could_not_load_link' | 'download' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'unassigned' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey;
3
+ export type MessageKey = 'assigned_to' | 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'connect_unauthorised_account_action' | 'connect_unauthorised_account_description' | 'connect_unauthorised_account_description_no_provider' | 'continue' | 'copy_url_to_clipboard' | 'could_not_load_link' | 'download' | 'follow' | 'go_back' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'check_this_link' | 'delete' | 'edit' | 'learn_more_about_smart_links' | 'loading' | 'link_safety_warning_message' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'not_found_title' | 'not_found_description' | 'open_issue_in_jira' | 'open_link_in_a_new_tab' | 'owned_by' | 'preview_improved' | 'preview_close' | 'preview_max_size' | 'preview_min_size' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'read_time' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'sent_on_relative' | 'sent_on_absolute' | 'status_change_load_error' | 'status_change_permission_error' | 'status_change_update_error' | 'try_again' | 'try_another_account' | 'unauthorised_account_description' | 'unauthorised_account_description_no_provider' | 'unauthorised_account_name' | 'unauthorised_account_name_no_provider' | 'unassigned' | 'unfollow' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey;
4
4
  type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -90,10 +90,10 @@ export declare const useSmartLinkAnalytics: (url: string, _dispatchAnalytics?: A
90
90
  * @param extensionKey The extensionKey of the Smart Link resovler invoked.
91
91
  * @param actionType The type of the action that was clicked, e.g. PreviewAction
92
92
  * @param display Whether the card was an Inline, Block, Embed or Flexible UI.
93
- * @param invokeType Whether the action invoked made a call to a server.
93
+ * @param invokeType @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-2681 Internal documentation for deprecation (no external access)}
94
94
  * @returns
95
95
  */
96
- actionClickedEvent: ({ id: experienceId, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: UiActionClickedEventProps) => void;
96
+ actionClickedEvent: ({ id, actionType, display, invokeType, extensionKey: overrideExtensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: UiActionClickedEventProps) => void;
97
97
  /**
98
98
  * This fires an event that represents when a user clicks on a hover preview's "navigate to link" button.
99
99
  * https://product-fabric.atlassian.net/wiki/spaces/EM/pages/3206743323/Analytics+Metrics+-+Hover+Previews
@@ -181,7 +181,7 @@ export declare const useSmartLinkAnalytics: (url: string, _dispatchAnalytics?: A
181
181
  * @param actionType The type of action invoked, e.g. PreviewAction
182
182
  * @param display Whether the card was an Inline, Block, Embed or Flexible UI.
183
183
  */
184
- invokeSucceededEvent: ({ id: experienceId, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: InvokeSucceededEventProps) => void;
184
+ invokeSucceededEvent: ({ id, actionType, display, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: InvokeSucceededEventProps) => void;
185
185
  /**
186
186
  * This fires an event that represents an action being unsuccessfully invoked.
187
187
  * @param id The unique ID for this Smart Link.
@@ -190,7 +190,7 @@ export declare const useSmartLinkAnalytics: (url: string, _dispatchAnalytics?: A
190
190
  * @param display Whether the card was an Inline, Block, Embed or Flexible UI.
191
191
  * @param reason The reason the invocation failed.
192
192
  */
193
- invokeFailedEvent: ({ id: experienceId, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: InvokeFailedEventProps) => void;
193
+ invokeFailedEvent: ({ id, actionType, display, reason, extensionKey, definitionId, resourceType, destinationProduct, destinationSubproduct, location, }: InvokeFailedEventProps) => void;
194
194
  /**
195
195
  * This fires an event that represents an account successfully being connected via a Smart Link.
196
196
  * @param id The unique ID for this Smart Link.