@atlaskit/smart-card 26.55.2 → 26.56.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 (211) hide show
  1. package/CHANGELOG.md +13 -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 +3 -1
  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/views/forbidden/styled.js +16 -6
  48. package/dist/cjs/view/HoverCard/components/views/resolved/styled.js +10 -3
  49. package/dist/cjs/view/HoverCard/components/views/resolving/styled.js +23 -7
  50. package/dist/cjs/view/HoverCard/components/views/unauthorised/styled.js +14 -6
  51. package/dist/cjs/view/HoverCard/styled.js +4 -0
  52. package/dist/cjs/view/InlineCard/IconAndTitleLayout/styled.js +36 -10
  53. package/dist/cjs/view/InlineCard/ResolvingView/styled.js +4 -3
  54. package/dist/cjs/view/InlineCard/styled.js +37 -6
  55. package/dist/cjs/view/LinkUrl/LinkWarningModal/styled.js +4 -4
  56. package/dist/cjs/view/LinkUrl/index.js +1 -1
  57. package/dist/cjs/view/common/Icon.js +12 -4
  58. package/dist/cjs/view/common/ai-icon-loading/index.js +12 -3
  59. package/dist/es2019/constants.js +1 -0
  60. package/dist/es2019/extractors/flexible/actions/extract-copy-link-action.js +15 -0
  61. package/dist/es2019/extractors/flexible/actions/index.js +2 -0
  62. package/dist/es2019/messages.js +10 -0
  63. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/types.js +1 -1
  64. package/dist/es2019/utils/analytics/analytics.js +1 -1
  65. package/dist/es2019/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +5 -5
  66. package/dist/es2019/view/BlockCard/views/styled.js +4 -4
  67. package/dist/es2019/view/Card/types.js +1 -0
  68. package/dist/es2019/view/EmbedCard/views/unresolved-view/styled.js +29 -29
  69. package/dist/es2019/view/EmbedModal/components/embed-content/index.js +4 -4
  70. package/dist/es2019/view/FlexibleCard/components/actions/action/action-button/index.js +23 -26
  71. package/dist/es2019/view/FlexibleCard/components/actions/action/action-stack-item/index.js +3 -1
  72. package/dist/es2019/view/FlexibleCard/components/actions/action/index.js +12 -4
  73. package/dist/es2019/view/FlexibleCard/components/actions/copy-link-action/index.js +53 -0
  74. package/dist/es2019/view/FlexibleCard/components/actions/copy-link-action/types.js +1 -0
  75. package/dist/es2019/view/FlexibleCard/components/actions/index.js +2 -1
  76. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.js +1 -0
  77. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +6 -2
  78. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.js +44 -0
  79. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.js +15 -0
  80. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +15 -1
  81. package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +3 -1
  82. package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +29 -34
  83. package/dist/es2019/view/FlexibleCard/components/blocks/metadata-block/index.js +3 -4
  84. package/dist/es2019/view/FlexibleCard/components/blocks/preview-block/resolved/index.js +11 -13
  85. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/index.js +3 -3
  86. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +3 -3
  87. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/errored/index.js +14 -16
  88. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -3
  89. package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +2 -0
  90. package/dist/es2019/view/FlexibleCard/components/common/loading-skeleton/index.js +25 -26
  91. package/dist/es2019/view/FlexibleCard/components/container/index.js +2 -0
  92. package/dist/es2019/view/FlexibleCard/components/container/layered-link/index.js +16 -18
  93. package/dist/es2019/view/FlexibleCard/components/elements/atlaskit-badge/index.js +4 -4
  94. package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +8 -7
  95. package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +14 -12
  96. package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +5 -6
  97. package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +20 -23
  98. package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +33 -40
  99. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +4 -4
  100. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/lozenge-action/styled.js +42 -53
  101. package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +28 -32
  102. package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +6 -7
  103. package/dist/es2019/view/FlexibleCard/components/utils.js +1 -0
  104. package/dist/es2019/view/HoverCard/components/views/forbidden/styled.js +16 -16
  105. package/dist/es2019/view/HoverCard/components/views/resolved/styled.js +9 -7
  106. package/dist/es2019/view/HoverCard/components/views/resolving/styled.js +22 -22
  107. package/dist/es2019/view/HoverCard/components/views/unauthorised/styled.js +13 -13
  108. package/dist/es2019/view/HoverCard/styled.js +4 -0
  109. package/dist/es2019/view/InlineCard/IconAndTitleLayout/styled.js +36 -40
  110. package/dist/es2019/view/InlineCard/ResolvingView/styled.js +4 -4
  111. package/dist/es2019/view/InlineCard/styled.js +34 -35
  112. package/dist/es2019/view/LinkUrl/LinkWarningModal/styled.js +4 -4
  113. package/dist/es2019/view/LinkUrl/index.js +1 -1
  114. package/dist/es2019/view/common/Icon.js +11 -11
  115. package/dist/es2019/view/common/ai-icon-loading/index.js +10 -14
  116. package/dist/esm/constants.js +1 -0
  117. package/dist/esm/extractors/flexible/actions/extract-copy-link-action.js +15 -0
  118. package/dist/esm/extractors/flexible/actions/index.js +2 -1
  119. package/dist/esm/messages.js +10 -0
  120. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/types.js +1 -1
  121. package/dist/esm/utils/analytics/analytics.js +1 -1
  122. package/dist/esm/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +5 -3
  123. package/dist/esm/view/BlockCard/views/styled.js +5 -3
  124. package/dist/esm/view/Card/types.js +1 -0
  125. package/dist/esm/view/EmbedCard/views/unresolved-view/styled.js +29 -7
  126. package/dist/esm/view/EmbedModal/components/embed-content/index.js +4 -3
  127. package/dist/esm/view/FlexibleCard/components/actions/action/action-button/index.js +22 -6
  128. package/dist/esm/view/FlexibleCard/components/actions/action/action-stack-item/index.js +3 -1
  129. package/dist/esm/view/FlexibleCard/components/actions/action/index.js +12 -4
  130. package/dist/esm/view/FlexibleCard/components/actions/copy-link-action/index.js +78 -0
  131. package/dist/esm/view/FlexibleCard/components/actions/copy-link-action/types.js +1 -0
  132. package/dist/esm/view/FlexibleCard/components/actions/index.js +2 -1
  133. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.js +1 -0
  134. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +6 -2
  135. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.js +47 -0
  136. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.js +15 -0
  137. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +15 -1
  138. package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +3 -1
  139. package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +34 -7
  140. package/dist/esm/view/FlexibleCard/components/blocks/metadata-block/index.js +3 -3
  141. package/dist/esm/view/FlexibleCard/components/blocks/preview-block/resolved/index.js +13 -3
  142. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/index.js +3 -3
  143. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +3 -3
  144. package/dist/esm/view/FlexibleCard/components/blocks/title-block/errored/index.js +16 -4
  145. package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -3
  146. package/dist/esm/view/FlexibleCard/components/blocks/utils.js +2 -0
  147. package/dist/esm/view/FlexibleCard/components/common/loading-skeleton/index.js +26 -4
  148. package/dist/esm/view/FlexibleCard/components/container/index.js +2 -0
  149. package/dist/esm/view/FlexibleCard/components/container/layered-link/index.js +32 -3
  150. package/dist/esm/view/FlexibleCard/components/elements/atlaskit-badge/index.js +4 -3
  151. package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +11 -3
  152. package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +16 -4
  153. package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +5 -3
  154. package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +21 -6
  155. package/dist/esm/view/FlexibleCard/components/elements/link/index.js +36 -7
  156. package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +4 -3
  157. package/dist/esm/view/FlexibleCard/components/elements/lozenge/lozenge-action/styled.js +46 -5
  158. package/dist/esm/view/FlexibleCard/components/elements/media/index.js +30 -3
  159. package/dist/esm/view/FlexibleCard/components/elements/text/index.js +6 -3
  160. package/dist/esm/view/FlexibleCard/components/utils.js +1 -0
  161. package/dist/esm/view/HoverCard/components/views/forbidden/styled.js +16 -5
  162. package/dist/esm/view/HoverCard/components/views/resolved/styled.js +10 -3
  163. package/dist/esm/view/HoverCard/components/views/resolving/styled.js +23 -6
  164. package/dist/esm/view/HoverCard/components/views/unauthorised/styled.js +14 -5
  165. package/dist/esm/view/HoverCard/styled.js +4 -0
  166. package/dist/esm/view/InlineCard/IconAndTitleLayout/styled.js +36 -10
  167. package/dist/esm/view/InlineCard/ResolvingView/styled.js +4 -3
  168. package/dist/esm/view/InlineCard/styled.js +37 -6
  169. package/dist/esm/view/LinkUrl/LinkWarningModal/styled.js +4 -3
  170. package/dist/esm/view/LinkUrl/index.js +1 -1
  171. package/dist/esm/view/common/Icon.js +11 -4
  172. package/dist/esm/view/common/ai-icon-loading/index.js +11 -3
  173. package/dist/types/constants.d.ts +1 -0
  174. package/dist/types/extractors/flexible/actions/extract-copy-link-action.d.ts +4 -0
  175. package/dist/types/messages.d.ts +1 -1
  176. package/dist/types/state/flexible-ui-context/types.d.ts +4 -0
  177. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +1 -1
  178. package/dist/types/view/Card/types.d.ts +2 -1
  179. package/dist/types/view/FlexibleCard/components/actions/action/action-button/types.d.ts +2 -0
  180. package/dist/types/view/FlexibleCard/components/actions/action/action-stack-item/types.d.ts +2 -0
  181. package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +19 -0
  182. package/dist/types/view/FlexibleCard/components/actions/copy-link-action/index.d.ts +4 -0
  183. package/dist/types/view/FlexibleCard/components/actions/copy-link-action/types.d.ts +2 -0
  184. package/dist/types/view/FlexibleCard/components/actions/index.d.ts +1 -0
  185. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/index.d.ts +2 -2
  186. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.d.ts +3 -2
  187. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.d.ts +12 -0
  188. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.d.ts +1 -0
  189. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.d.ts +1 -1
  190. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +3 -1
  191. package/dist/types/view/FlexibleCard/components/elements/avatar-group/index.d.ts +0 -1
  192. package/dist/types-ts4.5/constants.d.ts +1 -0
  193. package/dist/types-ts4.5/extractors/flexible/actions/extract-copy-link-action.d.ts +4 -0
  194. package/dist/types-ts4.5/messages.d.ts +1 -1
  195. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +4 -0
  196. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +2 -1
  197. package/dist/types-ts4.5/view/Card/types.d.ts +2 -1
  198. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-button/types.d.ts +2 -0
  199. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-stack-item/types.d.ts +2 -0
  200. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/types.d.ts +19 -0
  201. package/dist/types-ts4.5/view/FlexibleCard/components/actions/copy-link-action/index.d.ts +4 -0
  202. package/dist/types-ts4.5/view/FlexibleCard/components/actions/copy-link-action/types.d.ts +2 -0
  203. package/dist/types-ts4.5/view/FlexibleCard/components/actions/index.d.ts +1 -0
  204. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/index.d.ts +2 -2
  205. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/types.d.ts +3 -2
  206. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.d.ts +12 -0
  207. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/styled.d.ts +1 -0
  208. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.d.ts +1 -1
  209. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +3 -1
  210. package/dist/types-ts4.5/view/FlexibleCard/components/elements/avatar-group/index.d.ts +0 -1
  211. package/package.json +2 -1
@@ -1,5 +1,3 @@
1
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
3
1
  import styled from '@emotion/styled';
4
2
  // TODO: remove this override behaviour for @atlaskit/icon-object
5
3
  export var IconObjectOverrides = "\n & > span {\n height: 16px;\n width: 14px;\n position: absolute;\n top: 3px;\n left: 0;\n line-height: 14px;\n & > svg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n";
@@ -12,27 +10,55 @@ export var IconOverrides = "\n\n & > * > span {\n height: 16px;\n width:
12
10
  // - @atlaskit/icon-object: for object icons, e.g. repository, branch, etc.
13
11
  // NB: the first set of overrides style icons imported from @atlaskit/icon-object correctly.
14
12
  // NB: the second set of overrides style icons imported from @atlaskit/icon correctly.
15
- export var IconWrapper = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n user-select: none;\n ", "\n ", "\n"])), IconOverrides, IconObjectOverrides);
13
+ export var IconWrapper = styled.span({
14
+ userSelect: 'none'
15
+ }, IconOverrides, IconObjectOverrides);
16
16
 
17
17
  // Wraps all emoji in Inline Links similar to icon
18
- export var EmojiWrapper = styled.span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: inline-block;\n margin-right: ", ";\n user-select: none;\n ", "\n ", "\n"])), "var(--ds-space-025, 2px)", IconOverrides, IconObjectOverrides);
18
+ export var EmojiWrapper = styled.span({
19
+ display: 'inline-block',
20
+ marginRight: "var(--ds-space-025, 2px)",
21
+ userSelect: 'none'
22
+ }, IconOverrides, IconObjectOverrides);
19
23
 
20
24
  // The main 'wrapping' element, title of the content.
21
25
  // NB: `white-space` adds little whitespace before wrapping.
22
26
  // NB: `word-break` line breaks as soon as an overflow takes place.
23
- export var IconTitleWrapper = styled.span(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n white-space: pre-wrap;\n word-break: break-all;\n box-decoration-break: clone;\n padding: ", " ", ";\n"])), "var(--ds-space-025, 2px)", "var(--ds-space-050, 4px)");
27
+ export var IconTitleWrapper = styled.span({
28
+ whiteSpace: 'pre-wrap',
29
+ wordBreak: 'break-all',
30
+ boxDecorationBreak: 'clone',
31
+ padding: "var(--ds-space-025, 2px)".concat(" ", "var(--ds-space-050, 4px)")
32
+ });
24
33
 
25
34
  // TODO: Replace overrides with proper AtlasKit solution.
26
- export var LozengeWrapper = styled.span(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: inline-block;\n vertical-align: 1px;\n margin: 0 ", " 0 ", ";\n"])), "var(--ds-space-050, 4px)", "var(--ds-space-025, 2px)");
27
- export var RightIconPositionWrapper = styled.span(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin-left: ", ";\n position: relative;\n display: inline-block;\n"])), "var(--ds-space-025, 2px)");
35
+ export var LozengeWrapper = styled.span({
36
+ display: 'inline-block',
37
+ verticalAlign: '1px',
38
+ margin: "0 ".concat("var(--ds-space-050, 4px)", " 0 ", "var(--ds-space-025, 2px)")
39
+ });
40
+ export var RightIconPositionWrapper = styled.span({
41
+ marginLeft: "var(--ds-space-025, 2px)",
42
+ position: 'relative',
43
+ display: 'inline-block'
44
+ });
28
45
 
29
46
  // The following components are used to absolutely position icons in the vertical center.
30
47
  // - IconPositionWrapper: the `relative` parent which has no height in itself.
31
48
  // - IconEmptyWrapper: the child which forces `IconPositionWrapper` to have a height.
32
- export var IconPositionWrapper = styled.span(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n margin-right: ", ";\n position: relative;\n display: inline-block;\n"])), "var(--ds-space-050, 4px)");
33
- export var IconEmptyWrapper = styled.span(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 14px;\n height: 100%;\n display: inline-block;\n opacity: 0;\n"])));
49
+ export var IconPositionWrapper = styled.span({
50
+ marginRight: "var(--ds-space-050, 4px)",
51
+ position: 'relative',
52
+ display: 'inline-block'
53
+ });
54
+ export var IconEmptyWrapper = styled.span({
55
+ width: '14px',
56
+ height: '100%',
57
+ display: 'inline-block',
58
+ opacity: 0
59
+ });
34
60
 
35
61
  // With emotion it's not possible to use reference to `TitleWrapper` as part of a selector,
36
62
  // To achieve same result we use classname instead.
37
63
  export var TitleWrapperClassName = 'smart-link-title-wrapper';
38
- export var TitleWrapper = styled.span(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([""])));
64
+ export var TitleWrapper = styled.span({});
@@ -1,5 +1,6 @@
1
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject;
3
1
  import styled from '@emotion/styled';
4
2
  import { IconTitleWrapper } from '../IconAndTitleLayout/styled';
5
- export var SpinnerWrapper = styled(IconTitleWrapper)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n vertical-align: text-bottom;\n padding: 0px;\n"])));
3
+ export var SpinnerWrapper = styled(IconTitleWrapper)({
4
+ verticalAlign: 'text-bottom',
5
+ padding: '0px'
6
+ });
@@ -1,10 +1,41 @@
1
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
3
1
  import styled from '@emotion/styled';
4
2
  import { B400, N200 } from '@atlaskit/theme/colors';
5
3
  // By default buttons will hide overflow and ellipsis content instead of wrapping.
6
4
  // This basically turns the button back into inline content
7
- export var IconStyledButton = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n &&& {\n text-align: initial;\n display: inline;\n vertical-align: baseline;\n border-radius: ", ";\n border-top-left-radius: 0px;\n border-bottom-left-radius: 0px;\n padding: ", " ", ";\n background-clip: padding-box;\n box-decoration-break: clone;\n }\n > span {\n display: inline;\n overflow: initial;\n text-overflow: initial;\n white-space: initial;\n > span {\n overflow: initial;\n text-overflow: initial;\n white-space: initial;\n }\n }\n"])), "var(--ds-border-radius-100, 4px)", "var(--ds-space-025, 2px)", "var(--ds-space-075, 6px)");
8
- export var NoLinkAppearance = styled.span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n margin-left: ", ";\n"])), "var(--ds-text-subtlest, ".concat(N200, ")"), "var(--ds-space-050, 4px)");
9
- export var LowercaseAppearance = styled.span(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n text-transform: lowercase;\n"])));
10
- export var LinkAppearance = styled.a(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: ", ";\n\n &:hover {\n text-decoration: none;\n }\n"])), "var(--ds-link, ".concat(B400, ")"));
5
+ export var IconStyledButton = styled.span({
6
+ '&&&': {
7
+ textAlign: 'initial',
8
+ display: 'inline',
9
+ verticalAlign: 'baseline',
10
+ borderRadius: "var(--ds-border-radius-100, 4px)",
11
+ borderTopLeftRadius: '0px',
12
+ borderBottomLeftRadius: '0px',
13
+ padding: "var(--ds-space-025, 2px)".concat(" ", "var(--ds-space-075, 6px)"),
14
+ backgroundClip: 'padding-box',
15
+ boxDecorationBreak: 'clone'
16
+ },
17
+ '> span': {
18
+ display: 'inline',
19
+ overflow: 'initial',
20
+ textOverflow: 'initial',
21
+ whiteSpace: 'initial',
22
+ '> span': {
23
+ overflow: 'initial',
24
+ textOverflow: 'initial',
25
+ whiteSpace: 'initial'
26
+ }
27
+ }
28
+ });
29
+ export var NoLinkAppearance = styled.span({
30
+ color: "var(--ds-text-subtlest, ".concat(N200, ")"),
31
+ marginLeft: "var(--ds-space-050, 4px)"
32
+ });
33
+ export var LowercaseAppearance = styled.span({
34
+ textTransform: 'lowercase'
35
+ });
36
+ export var LinkAppearance = styled.a({
37
+ color: "var(--ds-link, ".concat(B400, ")"),
38
+ '&:hover': {
39
+ textDecoration: 'none'
40
+ }
41
+ });
@@ -1,4 +1,5 @@
1
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject;
3
1
  import { css } from '@emotion/react';
4
- export var breakWordsCss = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n white-space: pre-line;\n word-break: break-all;\n"])));
2
+ export var breakWordsCss = css({
3
+ whiteSpace: 'pre-line',
4
+ wordBreak: 'break-all'
5
+ });
@@ -10,7 +10,7 @@ import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-m
10
10
  import LinkWarningModal from './LinkWarningModal';
11
11
  var PACKAGE_DATA = {
12
12
  packageName: "@atlaskit/smart-card",
13
- packageVersion: "26.55.2",
13
+ packageVersion: "26.56.0",
14
14
  componentName: 'linkUrl'
15
15
  };
16
16
  var Link = withLinkClickedEvent('a');
@@ -1,5 +1,3 @@
1
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2;
3
1
  /** @jsx jsx */
4
2
  import { css, jsx } from '@emotion/react';
5
3
  import React from 'react';
@@ -17,13 +15,22 @@ var getImageStyles = function getImageStyles(isFlexibleUi) {
17
15
  if (isFlexibleUi) {
18
16
  return;
19
17
  }
20
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: ", ";\n width: ", ";\n "])), gs(2), gs(2));
18
+ return css({
19
+ height: gs(2),
20
+ width: gs(2)
21
+ });
21
22
  };
22
23
  var getSpanStyles = function getSpanStyles(isFlexibleUi) {
23
24
  if (isFlexibleUi) {
24
25
  return;
25
26
  }
26
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: ", ";\n width: ", ";\n display: flex;\n align-items: center;\n justify-content: center;\n "])), gs(2.5), gs(2));
27
+ return css({
28
+ height: gs(2.5),
29
+ width: gs(2),
30
+ display: 'flex',
31
+ alignItems: 'center',
32
+ justifyContent: 'center'
33
+ });
27
34
  };
28
35
  export var Icon = function Icon(_ref) {
29
36
  var url = _ref.url,
@@ -1,5 +1,3 @@
1
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject;
3
1
  /** @jsx jsx */
4
2
  import { css, jsx, keyframes } from '@emotion/react';
5
3
  import SVG from '@atlaskit/icon/svg';
@@ -11,7 +9,17 @@ import { aiThemeTokens } from '../ai-prism/constants';
11
9
  * with modifications
12
10
  */
13
11
 
14
- var bounce = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n transform: translateY(0);\n }\n\n // 200ms of 1200ms = 16.67%\n 16.67% {\n transform: translateY(-2px);\n }\n\n // 400ms of 1200ms = 33.33%\n 33.33% {\n transform: translateY(0px);\n }\n"])));
12
+ var bounce = keyframes({
13
+ from: {
14
+ transform: 'translateY(0)'
15
+ },
16
+ '16.67%': {
17
+ transform: 'translateY(-2px)'
18
+ },
19
+ '33.33%': {
20
+ transform: 'translateY(0px)'
21
+ }
22
+ });
15
23
  var BASE_DELAY = 400;
16
24
  var QUEUE_DELAY = 200;
17
25
  var animationStyles = css({
@@ -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;
@@ -36,7 +36,7 @@ export type AgentInputContext = {
36
36
  };
37
37
  export type PromptId = 'smart_links';
38
38
  export type SummaryOutputMimeType = 'text/adf' | 'text/markdown' | 'text/json';
39
- export declare const errorMessages: readonly ["NETWORK_ERROR", "NO_ANSWER", "RATE_LIMIT", "NO_AGENT", "PLUGIN_ERRORED", "OPENAI_RATE_LIMIT_USER_ABUSE", "ACCEPTABLE_USE_VIOLATIONS", "AI_DISABLED", "UNEXPECTED"];
39
+ export declare const errorMessages: readonly ["NETWORK_ERROR", "NO_ANSWER", "RATE_LIMIT", "NO_AGENT", "PLUGIN_ERRORED", "OPENAI_RATE_LIMIT_USER_ABUSE", "ACCEPTABLE_USE_VIOLATIONS", "AI_DISABLED", "UNEXPECTED", "HIPAA_CONTENT_DETECTED"];
40
40
  export type ErrorMessage = (typeof errorMessages)[number];
41
41
  export type AISummaryState = {
42
42
  content: string;
@@ -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';
@@ -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
  /**
@@ -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';
@@ -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;