@atlaskit/smart-card 26.55.2 → 26.56.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 (223) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/constants.js +1 -0
  3. package/dist/cjs/extractors/flexible/actions/extract-copy-link-action.js +21 -0
  4. package/dist/cjs/extractors/flexible/actions/index.js +2 -1
  5. package/dist/cjs/messages.js +10 -0
  6. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/types.js +1 -1
  7. package/dist/cjs/utils/analytics/analytics.js +1 -1
  8. package/dist/cjs/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +5 -3
  9. package/dist/cjs/view/BlockCard/views/styled.js +5 -3
  10. package/dist/cjs/view/Card/types.js +1 -0
  11. package/dist/cjs/view/EmbedCard/views/unresolved-view/styled.js +29 -8
  12. package/dist/cjs/view/EmbedModal/components/embed-content/index.js +5 -4
  13. package/dist/cjs/view/FlexibleCard/components/actions/action/action-button/index.js +24 -7
  14. package/dist/cjs/view/FlexibleCard/components/actions/action/action-stack-item/index.js +6 -4
  15. package/dist/cjs/view/FlexibleCard/components/actions/action/index.js +12 -4
  16. package/dist/cjs/view/FlexibleCard/components/actions/copy-link-action/index.js +88 -0
  17. package/dist/cjs/view/FlexibleCard/components/actions/copy-link-action/types.js +5 -0
  18. package/dist/cjs/view/FlexibleCard/components/actions/index.js +8 -1
  19. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.js +5 -1
  20. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +6 -2
  21. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.js +54 -0
  22. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.js +21 -0
  23. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +15 -1
  24. package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +3 -1
  25. package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +34 -7
  26. package/dist/cjs/view/FlexibleCard/components/blocks/metadata-block/index.js +3 -3
  27. package/dist/cjs/view/FlexibleCard/components/blocks/preview-block/resolved/index.js +13 -3
  28. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/index.js +3 -3
  29. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +3 -3
  30. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/errored/index.js +16 -4
  31. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -3
  32. package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +2 -0
  33. package/dist/cjs/view/FlexibleCard/components/common/loading-skeleton/index.js +27 -4
  34. package/dist/cjs/view/FlexibleCard/components/container/index.js +2 -0
  35. package/dist/cjs/view/FlexibleCard/components/container/layered-link/index.js +33 -3
  36. package/dist/cjs/view/FlexibleCard/components/elements/atlaskit-badge/index.js +5 -3
  37. package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +10 -3
  38. package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +16 -4
  39. package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +6 -3
  40. package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +23 -7
  41. package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +38 -8
  42. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +5 -3
  43. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/lozenge-action/styled.js +46 -6
  44. package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +31 -3
  45. package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +7 -3
  46. package/dist/cjs/view/FlexibleCard/components/utils.js +1 -0
  47. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +1 -1
  48. package/dist/cjs/view/HoverCard/components/views/forbidden/styled.js +16 -6
  49. package/dist/cjs/view/HoverCard/components/views/resolved/index.js +2 -1
  50. package/dist/cjs/view/HoverCard/components/views/resolved/styled.js +10 -3
  51. package/dist/cjs/view/HoverCard/components/views/resolving/styled.js +23 -7
  52. package/dist/cjs/view/HoverCard/components/views/unauthorised/styled.js +14 -6
  53. package/dist/cjs/view/HoverCard/styled.js +4 -0
  54. package/dist/cjs/view/InlineCard/IconAndTitleLayout/styled.js +36 -10
  55. package/dist/cjs/view/InlineCard/ResolvingView/styled.js +4 -3
  56. package/dist/cjs/view/InlineCard/styled.js +37 -6
  57. package/dist/cjs/view/LinkUrl/LinkWarningModal/styled.js +4 -4
  58. package/dist/cjs/view/LinkUrl/index.js +1 -1
  59. package/dist/cjs/view/common/Icon.js +12 -4
  60. package/dist/cjs/view/common/ai-icon-loading/index.js +12 -3
  61. package/dist/es2019/constants.js +1 -0
  62. package/dist/es2019/extractors/flexible/actions/extract-copy-link-action.js +15 -0
  63. package/dist/es2019/extractors/flexible/actions/index.js +2 -0
  64. package/dist/es2019/messages.js +10 -0
  65. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/types.js +1 -1
  66. package/dist/es2019/utils/analytics/analytics.js +1 -1
  67. package/dist/es2019/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +5 -5
  68. package/dist/es2019/view/BlockCard/views/styled.js +4 -4
  69. package/dist/es2019/view/Card/types.js +1 -0
  70. package/dist/es2019/view/EmbedCard/views/unresolved-view/styled.js +29 -29
  71. package/dist/es2019/view/EmbedModal/components/embed-content/index.js +4 -4
  72. package/dist/es2019/view/FlexibleCard/components/actions/action/action-button/index.js +23 -26
  73. package/dist/es2019/view/FlexibleCard/components/actions/action/action-stack-item/index.js +6 -4
  74. package/dist/es2019/view/FlexibleCard/components/actions/action/index.js +12 -4
  75. package/dist/es2019/view/FlexibleCard/components/actions/copy-link-action/index.js +53 -0
  76. package/dist/es2019/view/FlexibleCard/components/actions/copy-link-action/types.js +1 -0
  77. package/dist/es2019/view/FlexibleCard/components/actions/index.js +2 -1
  78. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.js +1 -0
  79. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +6 -2
  80. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.js +44 -0
  81. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.js +15 -0
  82. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +15 -1
  83. package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +3 -1
  84. package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +29 -34
  85. package/dist/es2019/view/FlexibleCard/components/blocks/metadata-block/index.js +3 -4
  86. package/dist/es2019/view/FlexibleCard/components/blocks/preview-block/resolved/index.js +11 -13
  87. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/index.js +3 -3
  88. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +3 -3
  89. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/errored/index.js +14 -16
  90. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -3
  91. package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +2 -0
  92. package/dist/es2019/view/FlexibleCard/components/common/loading-skeleton/index.js +25 -26
  93. package/dist/es2019/view/FlexibleCard/components/container/index.js +2 -0
  94. package/dist/es2019/view/FlexibleCard/components/container/layered-link/index.js +16 -18
  95. package/dist/es2019/view/FlexibleCard/components/elements/atlaskit-badge/index.js +4 -4
  96. package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +8 -7
  97. package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +14 -12
  98. package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +5 -6
  99. package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +20 -23
  100. package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +33 -40
  101. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +4 -4
  102. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/lozenge-action/styled.js +42 -53
  103. package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +28 -32
  104. package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +6 -7
  105. package/dist/es2019/view/FlexibleCard/components/utils.js +1 -0
  106. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +2 -2
  107. package/dist/es2019/view/HoverCard/components/views/forbidden/styled.js +16 -16
  108. package/dist/es2019/view/HoverCard/components/views/resolved/index.js +2 -1
  109. package/dist/es2019/view/HoverCard/components/views/resolved/styled.js +9 -7
  110. package/dist/es2019/view/HoverCard/components/views/resolving/styled.js +22 -22
  111. package/dist/es2019/view/HoverCard/components/views/unauthorised/styled.js +13 -13
  112. package/dist/es2019/view/HoverCard/styled.js +4 -0
  113. package/dist/es2019/view/InlineCard/IconAndTitleLayout/styled.js +36 -40
  114. package/dist/es2019/view/InlineCard/ResolvingView/styled.js +4 -4
  115. package/dist/es2019/view/InlineCard/styled.js +34 -35
  116. package/dist/es2019/view/LinkUrl/LinkWarningModal/styled.js +4 -4
  117. package/dist/es2019/view/LinkUrl/index.js +1 -1
  118. package/dist/es2019/view/common/Icon.js +11 -11
  119. package/dist/es2019/view/common/ai-icon-loading/index.js +10 -14
  120. package/dist/esm/constants.js +1 -0
  121. package/dist/esm/extractors/flexible/actions/extract-copy-link-action.js +15 -0
  122. package/dist/esm/extractors/flexible/actions/index.js +2 -1
  123. package/dist/esm/messages.js +10 -0
  124. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/types.js +1 -1
  125. package/dist/esm/utils/analytics/analytics.js +1 -1
  126. package/dist/esm/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +5 -3
  127. package/dist/esm/view/BlockCard/views/styled.js +5 -3
  128. package/dist/esm/view/Card/types.js +1 -0
  129. package/dist/esm/view/EmbedCard/views/unresolved-view/styled.js +29 -7
  130. package/dist/esm/view/EmbedModal/components/embed-content/index.js +4 -3
  131. package/dist/esm/view/FlexibleCard/components/actions/action/action-button/index.js +22 -6
  132. package/dist/esm/view/FlexibleCard/components/actions/action/action-stack-item/index.js +6 -4
  133. package/dist/esm/view/FlexibleCard/components/actions/action/index.js +12 -4
  134. package/dist/esm/view/FlexibleCard/components/actions/copy-link-action/index.js +78 -0
  135. package/dist/esm/view/FlexibleCard/components/actions/copy-link-action/types.js +1 -0
  136. package/dist/esm/view/FlexibleCard/components/actions/index.js +2 -1
  137. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.js +1 -0
  138. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +6 -2
  139. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.js +47 -0
  140. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.js +15 -0
  141. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +15 -1
  142. package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +3 -1
  143. package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +34 -7
  144. package/dist/esm/view/FlexibleCard/components/blocks/metadata-block/index.js +3 -3
  145. package/dist/esm/view/FlexibleCard/components/blocks/preview-block/resolved/index.js +13 -3
  146. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/index.js +3 -3
  147. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +3 -3
  148. package/dist/esm/view/FlexibleCard/components/blocks/title-block/errored/index.js +16 -4
  149. package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -3
  150. package/dist/esm/view/FlexibleCard/components/blocks/utils.js +2 -0
  151. package/dist/esm/view/FlexibleCard/components/common/loading-skeleton/index.js +26 -4
  152. package/dist/esm/view/FlexibleCard/components/container/index.js +2 -0
  153. package/dist/esm/view/FlexibleCard/components/container/layered-link/index.js +32 -3
  154. package/dist/esm/view/FlexibleCard/components/elements/atlaskit-badge/index.js +4 -3
  155. package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +11 -3
  156. package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +16 -4
  157. package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +5 -3
  158. package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +21 -6
  159. package/dist/esm/view/FlexibleCard/components/elements/link/index.js +36 -7
  160. package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +4 -3
  161. package/dist/esm/view/FlexibleCard/components/elements/lozenge/lozenge-action/styled.js +46 -5
  162. package/dist/esm/view/FlexibleCard/components/elements/media/index.js +30 -3
  163. package/dist/esm/view/FlexibleCard/components/elements/text/index.js +6 -3
  164. package/dist/esm/view/FlexibleCard/components/utils.js +1 -0
  165. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +2 -2
  166. package/dist/esm/view/HoverCard/components/views/forbidden/styled.js +16 -5
  167. package/dist/esm/view/HoverCard/components/views/resolved/index.js +2 -1
  168. package/dist/esm/view/HoverCard/components/views/resolved/styled.js +10 -3
  169. package/dist/esm/view/HoverCard/components/views/resolving/styled.js +23 -6
  170. package/dist/esm/view/HoverCard/components/views/unauthorised/styled.js +14 -5
  171. package/dist/esm/view/HoverCard/styled.js +4 -0
  172. package/dist/esm/view/InlineCard/IconAndTitleLayout/styled.js +36 -10
  173. package/dist/esm/view/InlineCard/ResolvingView/styled.js +4 -3
  174. package/dist/esm/view/InlineCard/styled.js +37 -6
  175. package/dist/esm/view/LinkUrl/LinkWarningModal/styled.js +4 -3
  176. package/dist/esm/view/LinkUrl/index.js +1 -1
  177. package/dist/esm/view/common/Icon.js +11 -4
  178. package/dist/esm/view/common/ai-icon-loading/index.js +11 -3
  179. package/dist/types/constants.d.ts +1 -0
  180. package/dist/types/extractors/flexible/actions/extract-copy-link-action.d.ts +4 -0
  181. package/dist/types/messages.d.ts +1 -1
  182. package/dist/types/state/flexible-ui-context/types.d.ts +4 -0
  183. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +1 -1
  184. package/dist/types/view/Card/types.d.ts +2 -1
  185. package/dist/types/view/FlexibleCard/components/actions/action/action-button/types.d.ts +2 -0
  186. package/dist/types/view/FlexibleCard/components/actions/action/action-stack-item/types.d.ts +2 -0
  187. package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +19 -0
  188. package/dist/types/view/FlexibleCard/components/actions/copy-link-action/index.d.ts +4 -0
  189. package/dist/types/view/FlexibleCard/components/actions/copy-link-action/types.d.ts +2 -0
  190. package/dist/types/view/FlexibleCard/components/actions/index.d.ts +1 -0
  191. package/dist/types/view/FlexibleCard/components/blocks/action-block/types.d.ts +1 -1
  192. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/index.d.ts +2 -2
  193. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.d.ts +3 -2
  194. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.d.ts +12 -0
  195. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.d.ts +1 -0
  196. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.d.ts +1 -1
  197. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +3 -1
  198. package/dist/types/view/FlexibleCard/components/elements/avatar-group/index.d.ts +0 -1
  199. package/dist/types/view/HoverCard/components/views/resolved/types.d.ts +2 -1
  200. package/dist/types/view/HoverCard/types.d.ts +2 -1
  201. package/dist/types-ts4.5/constants.d.ts +1 -0
  202. package/dist/types-ts4.5/extractors/flexible/actions/extract-copy-link-action.d.ts +4 -0
  203. package/dist/types-ts4.5/messages.d.ts +1 -1
  204. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +4 -0
  205. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +2 -1
  206. package/dist/types-ts4.5/view/Card/types.d.ts +2 -1
  207. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-button/types.d.ts +2 -0
  208. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-stack-item/types.d.ts +2 -0
  209. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/types.d.ts +19 -0
  210. package/dist/types-ts4.5/view/FlexibleCard/components/actions/copy-link-action/index.d.ts +4 -0
  211. package/dist/types-ts4.5/view/FlexibleCard/components/actions/copy-link-action/types.d.ts +2 -0
  212. package/dist/types-ts4.5/view/FlexibleCard/components/actions/index.d.ts +1 -0
  213. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-block/types.d.ts +1 -1
  214. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/index.d.ts +2 -2
  215. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.d.ts +3 -2
  216. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.d.ts +12 -0
  217. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.d.ts +1 -0
  218. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.d.ts +1 -1
  219. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +3 -1
  220. package/dist/types-ts4.5/view/FlexibleCard/components/elements/avatar-group/index.d.ts +0 -1
  221. package/dist/types-ts4.5/view/HoverCard/components/views/resolved/types.d.ts +2 -1
  222. package/dist/types-ts4.5/view/HoverCard/types.d.ts +2 -1
  223. package/package.json +3 -2
@@ -0,0 +1,2 @@
1
+ import { LinkActionProps } from '../types';
2
+ export type CopyLinkActionProps = LinkActionProps;
@@ -4,3 +4,4 @@ export { default as EditAction } from './edit-action';
4
4
  export { default as DownloadAction } from './download-action';
5
5
  export { default as FollowAction } from './follow-action';
6
6
  export { default as PreviewAction } from './preview-action';
7
+ export { default as CopyLinkAction } from './copy-link-action';
@@ -5,7 +5,7 @@ export type ActionBlockProps = {
5
5
  /**
6
6
  * Callback once action is executed.
7
7
  */
8
- onClick?: (name: ActionName) => {};
8
+ onClick?: (name: ActionName) => void;
9
9
  /**
10
10
  * Array.Sort function to order the actions
11
11
  */
@@ -1,4 +1,4 @@
1
- import { type FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { AIMotionWrapperProps } from './types';
3
- export declare const AIMotionWrapper: FC<AIMotionWrapperProps>;
3
+ export declare const AIMotionWrapper: ({ children, isFadeIn, minHeight, show, showTransition, }: AIMotionWrapperProps) => JSX.Element | null;
4
4
  export default AIMotionWrapper;
@@ -1,6 +1,7 @@
1
- export type AIMotionWrapperProps = {
1
+ import type { PropsWithChildren } from 'react';
2
+ export type AIMotionWrapperProps = PropsWithChildren<{
2
3
  isFadeIn?: boolean;
3
4
  minHeight?: number;
4
5
  show: boolean;
5
6
  showTransition?: boolean;
6
- };
7
+ }>;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ export type FeatureDiscoveryProps = {
3
+ children: React.ReactElement;
4
+ testId?: string;
5
+ };
6
+ /**
7
+ * This is a hacky solution to help with the feature discovery.
8
+ * This implementation must be removed once the experiment is completed.
9
+ * Cleanup on https://product-fabric.atlassian.net/browse/EDM-9649
10
+ */
11
+ declare const FeatureDiscovery: ({ children, testId, }: FeatureDiscoveryProps) => JSX.Element;
12
+ export default FeatureDiscovery;
@@ -0,0 +1 @@
1
+ export declare const getPulseStyles: () => import("@emotion/react").SerializedStyles;
@@ -3,7 +3,7 @@ import type { AISummaryBlockProps } from '../types';
3
3
  import type { AISummaryStatus, ErrorMessage } from '../../../../../../state/hooks/use-ai-summary/ai-summary-service/types';
4
4
  export declare const AISummaryBlockErrorIndicator: ({ showErrorIndicator, error, showTransition, testId, }: {
5
5
  showErrorIndicator: boolean;
6
- error?: "NETWORK_ERROR" | "NO_ANSWER" | "RATE_LIMIT" | "NO_AGENT" | "PLUGIN_ERRORED" | "OPENAI_RATE_LIMIT_USER_ABUSE" | "ACCEPTABLE_USE_VIOLATIONS" | "AI_DISABLED" | "UNEXPECTED" | undefined;
6
+ error?: "NETWORK_ERROR" | "NO_ANSWER" | "RATE_LIMIT" | "NO_AGENT" | "PLUGIN_ERRORED" | "OPENAI_RATE_LIMIT_USER_ABUSE" | "ACCEPTABLE_USE_VIOLATIONS" | "AI_DISABLED" | "UNEXPECTED" | "HIPAA_CONTENT_DETECTED" | undefined;
7
7
  showTransition: boolean;
8
8
  } & Pick<AISummaryBlockProps, "testId">) => JSX.Element;
9
9
  export declare const AISummaryBlockStatusIndicator: ({ showStatusIndicator, metadata, status, testId, }: {
@@ -167,7 +167,7 @@ export type NamedDataActionItem = BaseDataActionItem & {
167
167
  * Currently left in to maintain backwards compatibility with public API
168
168
  * https://product-fabric.atlassian.net/browse/EDM-9665
169
169
  */
170
- | ActionName.ViewAction;
170
+ | ActionName.ViewAction | ActionName.CopyLinkAction;
171
171
  };
172
172
  /**
173
173
  * This represents an action that does not fetch data where Icon and Content are provided implicitly.
@@ -182,6 +182,8 @@ export type NamedActionItem = BaseActionItem & {
182
182
  */
183
183
  export type CustomActionItem = BaseActionItem & {
184
184
  name: ActionName.CustomAction;
185
+ href?: string;
186
+ ariaLabel?: string;
185
187
  } & ((Required<Pick<ActionProps, 'icon' | 'iconPosition'>> & Pick<ActionProps, 'content'>) | ((Required<Pick<ActionProps, 'content'>> & Pick<ActionProps, 'icon' | 'iconPosition'>) & Pick<ActionProps, 'tooltipMessage'>));
186
188
  export type ActionItem = NamedActionItem | NamedDataActionItem | CustomActionItem;
187
189
  export type OnActionMenuOpenChangeOptions = {
@@ -1,4 +1,3 @@
1
- /** @jsx jsx */
2
1
  import React from 'react';
3
2
  import { AvatarGroupProps } from './types';
4
3
  /**
@@ -2,6 +2,7 @@ import { AnalyticsFacade } from '../../../../../state/analytics';
2
2
  import { LinkAction } from '../../../../../state/hooks-external/useSmartLinkActions';
3
3
  import { CardState } from '@atlaskit/linking-common';
4
4
  import { HoverCardLoadingViewProps } from '../resolving/types';
5
+ import type { ActionName } from '../../../../../constants';
5
6
  export type HoverCardResolvedProps = {
6
7
  extensionKey?: string;
7
8
  id?: string;
@@ -10,5 +11,5 @@ export type HoverCardResolvedProps = {
10
11
  cardActions?: LinkAction[];
11
12
  cardState: CardState;
12
13
  isAISummaryEnabled?: boolean;
13
- onActionClick: (actionId: string) => void;
14
+ onActionClick: (actionId: string | ActionName) => void;
14
15
  } & HoverCardLoadingViewProps;
@@ -8,6 +8,7 @@ import { CardProviderRenderers } from '@atlaskit/link-provider';
8
8
  import { MouseEventHandler, ReactElement } from 'react';
9
9
  import { JsonLd } from 'json-ld-types';
10
10
  import type { CardActionOptions } from '../Card/types';
11
+ import type { ActionName } from '../../constants';
11
12
  export interface HoverCardProps extends WithAnalyticsEventsProps {
12
13
  /**
13
14
  * Unique ID for a hover card. Used for analytics.
@@ -92,7 +93,7 @@ export type HoverCardContentProps = {
92
93
  cardActions?: LinkAction[];
93
94
  cardState: CardState;
94
95
  renderers?: CardProviderRenderers;
95
- onActionClick: (actionId: string) => void;
96
+ onActionClick: (actionId: string | ActionName) => void;
96
97
  onResolve: () => void;
97
98
  url: string;
98
99
  onMouseEnter?: MouseEventHandler;
@@ -127,6 +127,7 @@ export declare enum ElementName {
127
127
  * Flexible UI action (button)
128
128
  */
129
129
  export declare enum ActionName {
130
+ CopyLinkAction = "CopyLinkAction",
130
131
  DeleteAction = "DeleteAction",
131
132
  EditAction = "EditAction",
132
133
  FollowAction = "FollowAction",
@@ -0,0 +1,4 @@
1
+ import { JsonLd } from 'json-ld-types';
2
+ import { CopyLinkActionData } from '../../../state/flexible-ui-context/types';
3
+ import { type CardActionOptions } from '../../../view/Card/types';
4
+ export declare const extractCopyLinkAction: (data: JsonLd.Data.BaseData, actionOptions?: CardActionOptions) => CopyLinkActionData | undefined;
@@ -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_title' | 'request_access_pending_description' | 'request_denied_description' | 'default_no_access_title' | 'direct_access_title' | 'direct_access_description' | 'direct_access' | 'access_exists_description' | 'not_found_description' | 'not_found_title';
3
- export type MessageKey = 'assigned_to' | 'ai_summarize' | 'ai_summarized' | 'ai_summarized_abbreviation' | 'ai_summarized_info' | 'ai_summarizing' | 'ai_summary_error_generic' | 'ai_summary_error_acceptable_use_violation' | 'beta' | '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' | 'download_description' | 'download_file' | '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' | 'learn_more_about_connecting_account' | '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_description' | '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 | 'related_work_items_not_found' | 'last_mentioned_in' | 'related' | 'generic_error_message';
3
+ export type MessageKey = 'assigned_to' | 'ai_summarize' | 'ai_summarized' | 'ai_summarized_abbreviation' | 'ai_summarized_info' | 'ai_summarizing' | 'ai_summary_error_generic' | 'ai_summary_error_acceptable_use_violation' | 'ai_summary_error_hipaa_content_detected' | 'beta' | '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' | 'copied_url_to_clipboard' | 'could_not_load_link' | 'download' | 'download_description' | 'download_file' | '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' | 'learn_more_about_connecting_account' | '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_description' | '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 | 'related_work_items_not_found' | 'last_mentioned_in' | 'related' | 'generic_error_message';
4
4
  type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -244,6 +244,7 @@ export type FlexibleUiActions = {
244
244
  [ActionName.PreviewAction]?: PreviewActionData;
245
245
  [ActionName.DownloadAction]?: DownloadActionData;
246
246
  [ActionName.FollowAction]?: ServerActionProp<boolean>;
247
+ [ActionName.CopyLinkAction]?: CopyLinkActionData;
247
248
  };
248
249
  export type PreviewActionData = {
249
250
  downloadUrl?: string;
@@ -260,6 +261,9 @@ export type ViewActionData = {
260
261
  export type DownloadActionData = {
261
262
  downloadUrl?: string;
262
263
  };
264
+ export type CopyLinkActionData = {
265
+ url: string;
266
+ };
263
267
  export type FlexibleAnalyticsContextType = AnalyticsFacade & {
264
268
  display?: CardInnerAppearance;
265
269
  extensionKey?: string;
@@ -45,7 +45,8 @@ export declare const errorMessages: readonly [
45
45
  "OPENAI_RATE_LIMIT_USER_ABUSE",
46
46
  "ACCEPTABLE_USE_VIOLATIONS",
47
47
  "AI_DISABLED",
48
- "UNEXPECTED"
48
+ "UNEXPECTED",
49
+ "HIPAA_CONTENT_DETECTED"
49
50
  ];
50
51
  export type ErrorMessage = (typeof errorMessages)[number];
51
52
  export type AISummaryState = {
@@ -19,7 +19,8 @@ export declare enum CardAction {
19
19
  PreviewAction = "PreviewAction",
20
20
  ViewAction = "ViewAction",
21
21
  ChangeStatusAction = "ChangeStatusAction",
22
- FollowAction = "FollowAction"
22
+ FollowAction = "FollowAction",
23
+ CopyLinkAction = "CopyLinkAction"
23
24
  }
24
25
  export type CardActionOptions = {
25
26
  hide: true;
@@ -7,4 +7,6 @@ export type ActionButtonProps = ActionProps & {
7
7
  isLoading?: boolean;
8
8
  size: SmartLinkSize;
9
9
  isDisabled?: boolean;
10
+ href?: string;
11
+ ariaLabel?: string;
10
12
  };
@@ -1,10 +1,12 @@
1
1
  import type { Space, XCSS } from '@atlaskit/primitives';
2
2
  import type { SmartLinkSize } from '../../../../../../constants';
3
3
  import type { ActionProps } from '../types';
4
+ import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
4
5
  export type ActionStackItemProps = ActionProps & {
5
6
  isLoading?: boolean;
6
7
  size: SmartLinkSize;
7
8
  isDisabled?: boolean;
8
9
  space?: Space;
9
10
  xcss?: XCSS;
11
+ tooltipOnHide?: (analyticsEvent: UIAnalyticsEvent) => any;
10
12
  };
@@ -3,6 +3,7 @@ import type { Space, XCSS } from '@atlaskit/primitives';
3
3
  import type { SerializedStyles } from '@emotion/react';
4
4
  import type { ReactChild, ReactNode } from 'react';
5
5
  import type { SmartLinkSize } from '../../../../../constants';
6
+ import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
6
7
  export type ActionProps = {
7
8
  /**
8
9
  * Determines the appearance of the action.
@@ -41,6 +42,10 @@ export type ActionProps = {
41
42
  * Determines the tooltip message when hovering over the Action.
42
43
  */
43
44
  tooltipMessage?: ReactNode;
45
+ /**
46
+ * Determines the onHide behaviour of the Tooltip
47
+ */
48
+ tooltipOnHide?: (analyticsEvent: UIAnalyticsEvent) => any;
44
49
  /**
45
50
  * @deprecated Use 'as' instead
46
51
  * Used to determine whether the Action is in a Dropdown.
@@ -69,4 +74,18 @@ export type ActionProps = {
69
74
  * Additional styling properties for Primitives based component
70
75
  */
71
76
  xcss?: XCSS;
77
+ /**
78
+ * Allows the use of hyperlinks as buttons via the atlaskit component
79
+ */
80
+ href?: string;
81
+ /**
82
+ * Additional text properties for accessibility of actions
83
+ */
84
+ ariaLabel?: string;
85
+ /**
86
+ * Optional wrapper component to wrap the action
87
+ * E.g., Feature discovery pulse
88
+ * Cleanup on https://product-fabric.atlassian.net/browse/EDM-9649
89
+ */
90
+ wrapper?: React.ElementType;
72
91
  };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { CopyLinkActionProps } from './types';
3
+ declare const CopyLinkAction: React.FC<CopyLinkActionProps>;
4
+ export default CopyLinkAction;
@@ -0,0 +1,2 @@
1
+ import { LinkActionProps } from '../types';
2
+ export type CopyLinkActionProps = LinkActionProps;
@@ -4,3 +4,4 @@ export { default as EditAction } from './edit-action';
4
4
  export { default as DownloadAction } from './download-action';
5
5
  export { default as FollowAction } from './follow-action';
6
6
  export { default as PreviewAction } from './preview-action';
7
+ export { default as CopyLinkAction } from './copy-link-action';
@@ -5,7 +5,7 @@ export type ActionBlockProps = {
5
5
  /**
6
6
  * Callback once action is executed.
7
7
  */
8
- onClick?: (name: ActionName) => {};
8
+ onClick?: (name: ActionName) => void;
9
9
  /**
10
10
  * Array.Sort function to order the actions
11
11
  */
@@ -1,4 +1,4 @@
1
- import { type FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { AIMotionWrapperProps } from './types';
3
- export declare const AIMotionWrapper: FC<AIMotionWrapperProps>;
3
+ export declare const AIMotionWrapper: ({ children, isFadeIn, minHeight, show, showTransition, }: AIMotionWrapperProps) => JSX.Element | null;
4
4
  export default AIMotionWrapper;
@@ -1,6 +1,7 @@
1
- export type AIMotionWrapperProps = {
1
+ import type { PropsWithChildren } from 'react';
2
+ export type AIMotionWrapperProps = PropsWithChildren<{
2
3
  isFadeIn?: boolean;
3
4
  minHeight?: number;
4
5
  show: boolean;
5
6
  showTransition?: boolean;
6
- };
7
+ }>;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ export type FeatureDiscoveryProps = {
3
+ children: React.ReactElement;
4
+ testId?: string;
5
+ };
6
+ /**
7
+ * This is a hacky solution to help with the feature discovery.
8
+ * This implementation must be removed once the experiment is completed.
9
+ * Cleanup on https://product-fabric.atlassian.net/browse/EDM-9649
10
+ */
11
+ declare const FeatureDiscovery: ({ children, testId, }: FeatureDiscoveryProps) => JSX.Element;
12
+ export default FeatureDiscovery;
@@ -0,0 +1 @@
1
+ export declare const getPulseStyles: () => import("@emotion/react").SerializedStyles;
@@ -3,7 +3,7 @@ import type { AISummaryBlockProps } from '../types';
3
3
  import type { AISummaryStatus, ErrorMessage } from '../../../../../../state/hooks/use-ai-summary/ai-summary-service/types';
4
4
  export declare const AISummaryBlockErrorIndicator: ({ showErrorIndicator, error, showTransition, testId, }: {
5
5
  showErrorIndicator: boolean;
6
- error?: "NETWORK_ERROR" | "NO_ANSWER" | "RATE_LIMIT" | "NO_AGENT" | "PLUGIN_ERRORED" | "OPENAI_RATE_LIMIT_USER_ABUSE" | "ACCEPTABLE_USE_VIOLATIONS" | "AI_DISABLED" | "UNEXPECTED" | undefined;
6
+ error?: "NETWORK_ERROR" | "NO_ANSWER" | "RATE_LIMIT" | "NO_AGENT" | "PLUGIN_ERRORED" | "OPENAI_RATE_LIMIT_USER_ABUSE" | "ACCEPTABLE_USE_VIOLATIONS" | "AI_DISABLED" | "UNEXPECTED" | "HIPAA_CONTENT_DETECTED" | undefined;
7
7
  showTransition: boolean;
8
8
  } & Pick<AISummaryBlockProps, "testId">) => JSX.Element;
9
9
  export declare const AISummaryBlockStatusIndicator: ({ showStatusIndicator, metadata, status, testId, }: {
@@ -167,7 +167,7 @@ export type NamedDataActionItem = BaseDataActionItem & {
167
167
  * Currently left in to maintain backwards compatibility with public API
168
168
  * https://product-fabric.atlassian.net/browse/EDM-9665
169
169
  */
170
- | ActionName.ViewAction;
170
+ | ActionName.ViewAction | ActionName.CopyLinkAction;
171
171
  };
172
172
  /**
173
173
  * This represents an action that does not fetch data where Icon and Content are provided implicitly.
@@ -182,6 +182,8 @@ export type NamedActionItem = BaseActionItem & {
182
182
  */
183
183
  export type CustomActionItem = BaseActionItem & {
184
184
  name: ActionName.CustomAction;
185
+ href?: string;
186
+ ariaLabel?: string;
185
187
  } & ((Required<Pick<ActionProps, 'icon' | 'iconPosition'>> & Pick<ActionProps, 'content'>) | ((Required<Pick<ActionProps, 'content'>> & Pick<ActionProps, 'icon' | 'iconPosition'>) & Pick<ActionProps, 'tooltipMessage'>));
186
188
  export type ActionItem = NamedActionItem | NamedDataActionItem | CustomActionItem;
187
189
  export type OnActionMenuOpenChangeOptions = {
@@ -1,4 +1,3 @@
1
- /** @jsx jsx */
2
1
  import React from 'react';
3
2
  import { AvatarGroupProps } from './types';
4
3
  /**
@@ -2,6 +2,7 @@ import { AnalyticsFacade } from '../../../../../state/analytics';
2
2
  import { LinkAction } from '../../../../../state/hooks-external/useSmartLinkActions';
3
3
  import { CardState } from '@atlaskit/linking-common';
4
4
  import { HoverCardLoadingViewProps } from '../resolving/types';
5
+ import type { ActionName } from '../../../../../constants';
5
6
  export type HoverCardResolvedProps = {
6
7
  extensionKey?: string;
7
8
  id?: string;
@@ -10,5 +11,5 @@ export type HoverCardResolvedProps = {
10
11
  cardActions?: LinkAction[];
11
12
  cardState: CardState;
12
13
  isAISummaryEnabled?: boolean;
13
- onActionClick: (actionId: string) => void;
14
+ onActionClick: (actionId: string | ActionName) => void;
14
15
  } & HoverCardLoadingViewProps;
@@ -8,6 +8,7 @@ import { CardProviderRenderers } from '@atlaskit/link-provider';
8
8
  import { MouseEventHandler, ReactElement } from 'react';
9
9
  import { JsonLd } from 'json-ld-types';
10
10
  import type { CardActionOptions } from '../Card/types';
11
+ import type { ActionName } from '../../constants';
11
12
  export interface HoverCardProps extends WithAnalyticsEventsProps {
12
13
  /**
13
14
  * Unique ID for a hover card. Used for analytics.
@@ -92,7 +93,7 @@ export type HoverCardContentProps = {
92
93
  cardActions?: LinkAction[];
93
94
  cardState: CardState;
94
95
  renderers?: CardProviderRenderers;
95
- onActionClick: (actionId: string) => void;
96
+ onActionClick: (actionId: string | ActionName) => void;
96
97
  onResolve: () => void;
97
98
  url: string;
98
99
  onMouseEnter?: MouseEventHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.55.2",
3
+ "version": "26.56.1",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -34,7 +34,8 @@
34
34
  "@atlaskit/avatar-group": "^9.5.0",
35
35
  "@atlaskit/badge": "^16.0.0",
36
36
  "@atlaskit/button": "^17.12.0",
37
- "@atlaskit/dropdown-menu": "^12.8.0",
37
+ "@atlaskit/dropdown-menu": "^12.9.0",
38
+ "@atlaskit/frontend-utilities": "^2.7.0",
38
39
  "@atlaskit/icon": "^22.1.0",
39
40
  "@atlaskit/icon-file-type": "^6.4.0",
40
41
  "@atlaskit/icon-object": "^6.3.0",