@atlaskit/smart-card 21.0.4 → 21.1.2

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 (70) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/messages.js +15 -0
  3. package/dist/cjs/utils/token.js +1 -1
  4. package/dist/cjs/version.json +1 -1
  5. package/dist/cjs/view/BlockCard/components/Frame.js +1 -1
  6. package/dist/cjs/view/EmbedCard/components/styled.js +1 -1
  7. package/dist/cjs/view/EmbedModal/components/embed-content/index.js +42 -0
  8. package/dist/cjs/view/EmbedModal/components/embed-content/types.js +5 -0
  9. package/dist/cjs/view/EmbedModal/components/error-boundary/index.js +38 -0
  10. package/dist/cjs/view/EmbedModal/components/link-info/index.js +127 -0
  11. package/dist/cjs/view/EmbedModal/components/link-info/link-info-button/index.js +40 -0
  12. package/dist/cjs/view/EmbedModal/components/link-info/link-info-button/types.js +5 -0
  13. package/dist/cjs/view/EmbedModal/components/link-info/styled.js +32 -0
  14. package/dist/cjs/view/EmbedModal/components/link-info/types.js +5 -0
  15. package/dist/cjs/view/EmbedModal/constants.js +10 -0
  16. package/dist/cjs/view/EmbedModal/index.js +93 -0
  17. package/dist/cjs/view/EmbedModal/types.js +5 -0
  18. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/index.js +13 -4
  19. package/dist/es2019/messages.js +15 -0
  20. package/dist/es2019/utils/token.js +1 -1
  21. package/dist/es2019/version.json +1 -1
  22. package/dist/es2019/view/BlockCard/components/Frame.js +1 -1
  23. package/dist/es2019/view/EmbedCard/components/styled.js +1 -1
  24. package/dist/es2019/view/EmbedModal/components/embed-content/index.js +31 -0
  25. package/dist/es2019/view/EmbedModal/components/embed-content/types.js +1 -0
  26. package/dist/es2019/view/EmbedModal/components/error-boundary/index.js +21 -0
  27. package/dist/es2019/view/EmbedModal/components/link-info/index.js +98 -0
  28. package/dist/es2019/view/EmbedModal/components/link-info/link-info-button/index.js +29 -0
  29. package/dist/es2019/view/EmbedModal/components/link-info/link-info-button/types.js +1 -0
  30. package/dist/es2019/view/EmbedModal/components/link-info/styled.js +58 -0
  31. package/dist/es2019/view/EmbedModal/components/link-info/types.js +1 -0
  32. package/dist/es2019/view/EmbedModal/constants.js +2 -0
  33. package/dist/es2019/view/EmbedModal/index.js +57 -0
  34. package/dist/es2019/view/EmbedModal/types.js +1 -0
  35. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/index.js +12 -2
  36. package/dist/esm/messages.js +15 -0
  37. package/dist/esm/utils/token.js +1 -1
  38. package/dist/esm/version.json +1 -1
  39. package/dist/esm/view/BlockCard/components/Frame.js +1 -1
  40. package/dist/esm/view/EmbedCard/components/styled.js +1 -1
  41. package/dist/esm/view/EmbedModal/components/embed-content/index.js +30 -0
  42. package/dist/esm/view/EmbedModal/components/embed-content/types.js +1 -0
  43. package/dist/esm/view/EmbedModal/components/error-boundary/index.js +23 -0
  44. package/dist/esm/view/EmbedModal/components/link-info/index.js +98 -0
  45. package/dist/esm/view/EmbedModal/components/link-info/link-info-button/index.js +28 -0
  46. package/dist/esm/view/EmbedModal/components/link-info/link-info-button/types.js +1 -0
  47. package/dist/esm/view/EmbedModal/components/link-info/styled.js +14 -0
  48. package/dist/esm/view/EmbedModal/components/link-info/types.js +1 -0
  49. package/dist/esm/view/EmbedModal/constants.js +2 -0
  50. package/dist/esm/view/EmbedModal/index.js +70 -0
  51. package/dist/esm/view/EmbedModal/types.js +1 -0
  52. package/dist/esm/view/FlexibleCard/components/blocks/title-block/index.js +13 -5
  53. package/dist/types/index.d.ts +1 -1
  54. package/dist/types/messages.d.ts +1 -1
  55. package/dist/types/utils/token.d.ts +1 -1
  56. package/dist/types/view/EmbedModal/components/embed-content/index.d.ts +5 -0
  57. package/dist/types/view/EmbedModal/components/embed-content/types.d.ts +6 -0
  58. package/dist/types/view/EmbedModal/components/error-boundary/index.d.ts +4 -0
  59. package/dist/types/view/EmbedModal/components/link-info/index.d.ts +4 -0
  60. package/dist/types/view/EmbedModal/components/link-info/link-info-button/index.d.ts +4 -0
  61. package/dist/types/view/EmbedModal/components/link-info/link-info-button/types.d.ts +9 -0
  62. package/dist/types/view/EmbedModal/components/link-info/styled.d.ts +5 -0
  63. package/dist/types/view/EmbedModal/components/link-info/types.d.ts +13 -0
  64. package/dist/types/view/EmbedModal/constants.d.ts +2 -0
  65. package/dist/types/view/EmbedModal/index.d.ts +4 -0
  66. package/dist/types/view/EmbedModal/types.d.ts +20 -0
  67. package/dist/types/view/FlexibleCard/components/blocks/title-block/types.d.ts +6 -1
  68. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +3 -0
  69. package/package.json +2 -2
  70. package/report.api.md +9 -0
@@ -2,11 +2,11 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
5
- var _excluded = ["actions", "anchorTarget", "hideTitleTooltip", "maxLines", "onClick", "overrideCss", "status", "showActionOnHover", "testId", "text", "theme"];
5
+ var _excluded = ["actions", "anchorTarget", "hideTitleTooltip", "maxLines", "onActionMenuOpenChange", "onClick", "overrideCss", "status", "showActionOnHover", "testId", "text", "theme"];
6
6
 
7
7
  var _templateObject, _templateObject2;
8
8
 
9
- import React, { useState } from 'react';
9
+ import React, { useCallback, useState } from 'react';
10
10
  import { css } from '@emotion/core';
11
11
  import { SmartLinkStatus } from '../../../../../constants';
12
12
  import TitleBlockResolvedView from './resolved';
@@ -59,6 +59,7 @@ var TitleBlock = function TitleBlock(_ref) {
59
59
  anchorTarget = _ref.anchorTarget,
60
60
  hideTitleTooltip = _ref.hideTitleTooltip,
61
61
  maxLines = _ref.maxLines,
62
+ onActionMenuOpenChange = _ref.onActionMenuOpenChange,
62
63
  onClick = _ref.onClick,
63
64
  overrideCss = _ref.overrideCss,
64
65
  _ref$status = _ref.status,
@@ -75,12 +76,19 @@ var TitleBlock = function TitleBlock(_ref) {
75
76
  actionDropdownOpen = _useState2[0],
76
77
  setActionDropdownOpen = _useState2[1];
77
78
 
79
+ var onDropdownOpenChange = useCallback(function (isOpen) {
80
+ setActionDropdownOpen(isOpen);
81
+
82
+ if (onActionMenuOpenChange) {
83
+ onActionMenuOpenChange({
84
+ isOpen: isOpen
85
+ });
86
+ }
87
+ }, [onActionMenuOpenChange]);
78
88
  var actionGroup = actions.length > 0 && /*#__PURE__*/React.createElement(ActionGroup, {
79
89
  items: actions,
80
90
  visibleButtonsNum: showActionOnHover ? 1 : 2,
81
- onDropdownOpenChange: function onDropdownOpenChange(isOpen) {
82
- return setActionDropdownOpen(isOpen);
83
- }
91
+ onDropdownOpenChange: onDropdownOpenChange
84
92
  });
85
93
  var actionStyles = getActionStyles(showActionOnHover, actionDropdownOpen);
86
94
  var combinedCss = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", " ", "\n "])), actionStyles, overrideCss);
@@ -18,5 +18,5 @@ export { contentFooterClassName, metadataListClassName, blockCardResolvingViewCl
18
18
  export { loadingPlaceholderClassName } from './view/CardWithUrl/component-lazy/LazyFallback';
19
19
  export { ActionName, ElementName, SmartLinkDirection, SmartLinkPosition, SmartLinkSize, SmartLinkTheme, } from './constants';
20
20
  export { MetadataBlock, PreviewBlock, SnippetBlock, TitleBlock, FooterBlock, } from './view/FlexibleCard/components/blocks';
21
- export type { ActionItem, ElementItem, } from './view/FlexibleCard/components/blocks/types';
21
+ export type { ActionItem, ElementItem, OnActionMenuOpenChangeOptions, } from './view/FlexibleCard/components/blocks/types';
22
22
  export type { AnalyticsAction, AnalyticsActionSubject, AnalyticsPayload, AnalyticsHandler, } from './utils/types';
@@ -1,6 +1,6 @@
1
1
  import { MessageDescriptor } from 'react-intl-next';
2
2
  export declare type RequestAccessMessageKey = 'click_to_join' | 'click_to_join_description' | 'forbidden_description' | 'request_access' | 'request_access_description' | 'request_access_pending' | 'request_access_pending_description' | 'request_denied_description';
3
- export declare type MessageKey = 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'could_not_load_link' | 'download' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'delete' | 'edit' | 'loading' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'not_found_title' | 'not_found_description' | 'preview' | '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' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'try_again' | 'try_another_account' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey;
3
+ export declare type MessageKey = 'cannot_find_link' | 'connect_link_account_card' | 'connect_link_account_card_name' | 'connect_link_account_card_description' | 'could_not_load_link' | 'download' | 'invalid_permissions' | 'invalid_permissions_description' | 'join_to_view' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'delete' | 'edit' | 'loading' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'more_actions' | 'not_found_title' | 'not_found_description' | 'preview' | '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' | 'restricted_link' | 'request_access_to_view' | 'request_denied' | 'try_again' | 'try_another_account' | 'view' | 'viewIn' | 'viewOriginal' | 'actions' | 'add_account' | 'cancel' | 'close' | 'connect_to' | 'connect_account_description' | 'retry' | 'save' | 'unlink_account' | RequestAccessMessageKey;
4
4
  declare type Messages = {
5
5
  [K in MessageKey]: MessageDescriptor;
6
6
  };
@@ -1,6 +1,6 @@
1
1
  export declare const tokens: {
2
2
  actionIcon: "var(--ds-icon)";
3
- background: "var(--ds-surface)";
3
+ background: "var(--ds-surface-raised)";
4
4
  badgeIcon: "var(--ds-icon-subtle)";
5
5
  badgeText: "var(--ds-text-subtlest)";
6
6
  blackLink: "var(--ds-text-subtle)";
@@ -0,0 +1,5 @@
1
+ /** @jsx jsx */
2
+ import { FC } from 'react';
3
+ import { EmbedProps } from './types';
4
+ declare const EmbedContent: FC<EmbedProps>;
5
+ export default EmbedContent;
@@ -0,0 +1,6 @@
1
+ export declare type EmbedProps = {
2
+ isTrusted: boolean;
3
+ name: string;
4
+ src?: string;
5
+ testId?: string;
6
+ };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { EmbedModalProps } from '../../types';
3
+ declare const withErrorBoundary: (Component: React.ComponentType<EmbedModalProps>) => React.FC<EmbedModalProps>;
4
+ export default withErrorBoundary;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { LinkInfoProps } from './types';
3
+ declare const LinkInfo: React.FC<LinkInfoProps>;
4
+ export default LinkInfo;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { LinkInfoButtonProps } from './types';
3
+ declare const LinkInfoButton: React.FC<LinkInfoButtonProps>;
4
+ export default LinkInfoButton;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export declare type LinkInfoButtonProps = {
3
+ content: React.ReactNode;
4
+ icon: React.ReactChild;
5
+ onClick?: () => void;
6
+ href?: string;
7
+ target?: string;
8
+ testId?: string;
9
+ };
@@ -0,0 +1,5 @@
1
+ export declare const containerStyles: import("@emotion/utils").SerializedStyles;
2
+ export declare const iconCss: import("@emotion/utils").SerializedStyles;
3
+ export declare const titleCss: import("@emotion/utils").SerializedStyles;
4
+ export declare const subtitleCss: import("@emotion/utils").SerializedStyles;
5
+ export declare const actionCss: import("@emotion/utils").SerializedStyles;
@@ -0,0 +1,13 @@
1
+ import { IconProps } from '../../../common/Icon';
2
+ export declare type LinkInfoProps = {
3
+ downloadUrl?: string;
4
+ icon?: IconProps;
5
+ providerName?: string;
6
+ onDownloadButtonClick?: () => void;
7
+ onResizeButtonClick?: () => void;
8
+ onViewButtonClick?: () => void;
9
+ size?: string;
10
+ testId?: string;
11
+ title?: string;
12
+ url?: string;
13
+ };
@@ -0,0 +1,2 @@
1
+ export declare const MAX_MODAL_SIZE = "100%";
2
+ export declare const MIN_MODAL_SIZE = "large";
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { EmbedModalProps } from './types';
3
+ declare const _default: React.FC<EmbedModalProps>;
4
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { ErrorInfo } from 'react';
2
+ import { IconProps } from '../common/Icon';
3
+ export declare type EmbedModalProps = {
4
+ closeLabel?: string;
5
+ download?: string;
6
+ icon?: IconProps;
7
+ iframeName: string;
8
+ isTrusted?: boolean;
9
+ onClose: () => any;
10
+ onDownloadActionClick?: () => void;
11
+ onOpen?: () => void;
12
+ onOpenFailed?: (error: Error, errorInfo: ErrorInfo) => void;
13
+ onViewActionClick?: () => void;
14
+ providerName?: string;
15
+ showModal?: boolean;
16
+ src?: string;
17
+ testId?: string;
18
+ title?: string;
19
+ url?: string;
20
+ };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ActionItem, BlockProps, ElementItem } from '../types';
2
+ import { ActionItem, BlockProps, ElementItem, OnActionMenuOpenChangeOptions } from '../types';
3
3
  import { SmartLinkPosition, SmartLinkTheme } from '../../../../../constants';
4
4
  import { RetryOptions } from '../../../types';
5
5
  import { AnchorTarget } from '../../types';
@@ -34,6 +34,11 @@ export declare type TitleBlockProps = {
34
34
  * @see ElementItem
35
35
  */
36
36
  metadata?: ElementItem[];
37
+ /**
38
+ * Called when the action dropdown menu (if present) is open/closed.
39
+ * Receives an object with `isOpen` state.
40
+ */
41
+ onActionMenuOpenChange?: (options: OnActionMenuOpenChangeOptions) => void;
37
42
  /**
38
43
  * Determines the position of the link icon in relative to the vertical
39
44
  * height of the TitleBlock. It can either be centred or placed on “top”.
@@ -100,6 +100,9 @@ export declare type CustomActionItem = BaseActionItem & {
100
100
  name: ActionName.CustomAction;
101
101
  } & ((Required<Pick<ActionProps, 'icon' | 'iconPosition'>> & Pick<ActionProps, 'content'>) | ((Required<Pick<ActionProps, 'content'>> & Pick<ActionProps, 'icon' | 'iconPosition'>) & Pick<ActionProps, 'tooltipMessage'>));
102
102
  export declare type ActionItem = NamedActionItem | CustomActionItem;
103
+ export declare type OnActionMenuOpenChangeOptions = {
104
+ isOpen: boolean;
105
+ };
103
106
  /**
104
107
  * A type that contains all the possible combinations of elements with their corresponding props.
105
108
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "21.0.4",
3
+ "version": "21.1.2",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -79,7 +79,7 @@
79
79
  "@atlaskit/radio": "^5.3.0",
80
80
  "@atlaskit/range": "^6.0.0",
81
81
  "@atlaskit/section-message": "^6.1.5",
82
- "@atlaskit/select": "^15.5.0",
82
+ "@atlaskit/select": "^15.6.0",
83
83
  "@atlaskit/table-tree": "^9.1.0",
84
84
  "@atlaskit/tabs": "^13.2.10",
85
85
  "@atlaskit/textarea": "^4.3.0",
package/report.api.md CHANGED
@@ -641,6 +641,10 @@ declare type NamedActionItem = BaseActionItem & {
641
641
  name: Exclude<ActionName, ActionName.CustomAction>;
642
642
  };
643
643
 
644
+ export declare type OnActionMenuOpenChangeOptions = {
645
+ isOpen: boolean;
646
+ };
647
+
644
648
  declare type OnErrorCallback = (data: {
645
649
  status: Extract<CardType, ErrorCardType>;
646
650
  url: string;
@@ -911,6 +915,11 @@ declare type TitleBlockProps = {
911
915
  * @see ElementItem
912
916
  */
913
917
  metadata?: ElementItem[];
918
+ /**
919
+ * Called when the action dropdown menu (if present) is open/closed.
920
+ * Receives an object with `isOpen` state.
921
+ */
922
+ onActionMenuOpenChange?: (options: OnActionMenuOpenChangeOptions) => void;
914
923
  /**
915
924
  * Determines the position of the link icon in relative to the vertical
916
925
  * height of the TitleBlock. It can either be centred or placed on “top”.