@atlaskit/smart-card 23.4.0 → 23.4.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 (55) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/version.json +1 -1
  3. package/dist/cjs/view/BlockCard/actions/flexible/AuthorizeAction.js +32 -0
  4. package/dist/cjs/view/BlockCard/actions/flexible/ForbiddenAction.js +32 -0
  5. package/dist/cjs/view/BlockCard/actions/flexible/RetryAction.js +32 -0
  6. package/dist/cjs/view/BlockCard/components/flexible/footer/index.js +69 -0
  7. package/dist/cjs/view/BlockCard/views/flexible/FlexibleErroredView.js +83 -0
  8. package/dist/cjs/view/BlockCard/views/flexible/FlexibleForbiddenView.js +85 -0
  9. package/dist/cjs/view/BlockCard/views/flexible/FlexibleNotFoundView.js +73 -0
  10. package/dist/cjs/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +79 -0
  11. package/dist/cjs/view/BlockCard/views/flexible/types.js +5 -0
  12. package/dist/cjs/view/FlexibleCard/components/blocks/index.js +9 -1
  13. package/dist/cjs/view/FlexibleCard/utils.js +5 -1
  14. package/dist/cjs/view/InlineCard/UnauthorisedView/index.js +8 -1
  15. package/dist/cjs/view/InlineCard/index.js +1 -0
  16. package/dist/es2019/version.json +1 -1
  17. package/dist/es2019/view/BlockCard/actions/flexible/AuthorizeAction.js +16 -0
  18. package/dist/es2019/view/BlockCard/actions/flexible/ForbiddenAction.js +16 -0
  19. package/dist/es2019/view/BlockCard/actions/flexible/RetryAction.js +16 -0
  20. package/dist/es2019/view/BlockCard/components/flexible/footer/index.js +56 -0
  21. package/dist/es2019/view/BlockCard/views/flexible/FlexibleErroredView.js +55 -0
  22. package/dist/es2019/view/BlockCard/views/flexible/FlexibleForbiddenView.js +57 -0
  23. package/dist/es2019/view/BlockCard/views/flexible/FlexibleNotFoundView.js +54 -0
  24. package/dist/es2019/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +53 -0
  25. package/dist/es2019/view/BlockCard/views/flexible/types.js +1 -0
  26. package/dist/es2019/view/FlexibleCard/components/blocks/index.js +2 -1
  27. package/dist/es2019/view/FlexibleCard/utils.js +4 -1
  28. package/dist/es2019/view/InlineCard/UnauthorisedView/index.js +7 -1
  29. package/dist/es2019/view/InlineCard/index.js +1 -0
  30. package/dist/esm/version.json +1 -1
  31. package/dist/esm/view/BlockCard/actions/flexible/AuthorizeAction.js +18 -0
  32. package/dist/esm/view/BlockCard/actions/flexible/ForbiddenAction.js +18 -0
  33. package/dist/esm/view/BlockCard/actions/flexible/RetryAction.js +18 -0
  34. package/dist/esm/view/BlockCard/components/flexible/footer/index.js +54 -0
  35. package/dist/esm/view/BlockCard/views/flexible/FlexibleErroredView.js +57 -0
  36. package/dist/esm/view/BlockCard/views/flexible/FlexibleForbiddenView.js +59 -0
  37. package/dist/esm/view/BlockCard/views/flexible/FlexibleNotFoundView.js +54 -0
  38. package/dist/esm/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +56 -0
  39. package/dist/esm/view/BlockCard/views/flexible/types.js +1 -0
  40. package/dist/esm/view/FlexibleCard/components/blocks/index.js +2 -1
  41. package/dist/esm/view/FlexibleCard/utils.js +4 -1
  42. package/dist/esm/view/InlineCard/UnauthorisedView/index.js +7 -1
  43. package/dist/esm/view/InlineCard/index.js +1 -0
  44. package/dist/types/view/BlockCard/actions/flexible/AuthorizeAction.d.ts +8 -0
  45. package/dist/types/view/BlockCard/actions/flexible/ForbiddenAction.d.ts +8 -0
  46. package/dist/types/view/BlockCard/actions/flexible/RetryAction.d.ts +8 -0
  47. package/dist/types/view/BlockCard/components/flexible/footer/index.d.ts +12 -0
  48. package/dist/types/view/BlockCard/views/flexible/FlexibleErroredView.d.ts +10 -0
  49. package/dist/types/view/BlockCard/views/flexible/FlexibleForbiddenView.d.ts +11 -0
  50. package/dist/types/view/BlockCard/views/flexible/FlexibleNotFoundView.d.ts +10 -0
  51. package/dist/types/view/BlockCard/views/flexible/FlexibleUnauthorisedView.d.ts +11 -0
  52. package/dist/types/view/BlockCard/views/flexible/types.d.ts +56 -0
  53. package/dist/types/view/FlexibleCard/components/blocks/index.d.ts +1 -0
  54. package/dist/types/view/InlineCard/UnauthorisedView/index.d.ts +2 -0
  55. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 23.4.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`306c81c6551`](https://bitbucket.org/atlassian/atlassian-frontend/commits/306c81c6551) - [ux] Added unresolved views for a Flexible Block card. At the moment these views are not exposed, but they will be used when a Block Card is replaced with Flexible UI.
8
+
9
+ ## 23.4.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [`9dd78d9e76e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9dd78d9e76e) - [ux] Update button text on inline card unauthorised view to include provider name
14
+
3
15
  ## 23.4.0
4
16
 
5
17
  ### Minor Changes
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "23.4.0",
3
+ "version": "23.4.2",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AuthorizeAction = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactIntlNext = require("react-intl-next");
13
+
14
+ var _constants = require("../../../../constants");
15
+
16
+ var _messages = require("../../../../messages");
17
+
18
+ /**
19
+ * Returns a CustomActionItem with a "Connect" default message
20
+ *
21
+ * @see CustomActionItem
22
+ * @param onAuthorize a function that will be called on the click of the button
23
+ */
24
+ var AuthorizeAction = function AuthorizeAction(onAuthorize) {
25
+ return {
26
+ name: _constants.ActionName.CustomAction,
27
+ content: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.connect_link_account_card),
28
+ onClick: onAuthorize
29
+ };
30
+ };
31
+
32
+ exports.AuthorizeAction = AuthorizeAction;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ForbiddenAction = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactIntlNext = require("react-intl-next");
13
+
14
+ var _constants = require("../../../../constants");
15
+
16
+ var _messages = require("../../../../messages");
17
+
18
+ /**
19
+ * Returns a CustomActionItem with a "Try Another Account" default message
20
+ *
21
+ * @see CustomActionItem
22
+ * @param onAuthorize a function that will be called on the click of the button
23
+ */
24
+ var ForbiddenAction = function ForbiddenAction(onAuthorize) {
25
+ return {
26
+ name: _constants.ActionName.CustomAction,
27
+ content: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.try_another_account),
28
+ onClick: onAuthorize
29
+ };
30
+ };
31
+
32
+ exports.ForbiddenAction = ForbiddenAction;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.RetryAction = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactIntlNext = require("react-intl-next");
13
+
14
+ var _constants = require("../../../../constants");
15
+
16
+ var _messages = require("../../../../messages");
17
+
18
+ /**
19
+ * Returns a CustomActionItem with a "Retry" default message
20
+ *
21
+ * @see CustomActionItem
22
+ * @param onRetry a function that will be called on the click of the "Retry" button
23
+ */
24
+ var RetryAction = function RetryAction(onRetry) {
25
+ return {
26
+ name: _constants.ActionName.CustomAction,
27
+ onClick: onRetry,
28
+ content: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.try_again)
29
+ };
30
+ };
31
+
32
+ exports.RetryAction = RetryAction;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _react2 = require("@emotion/react");
15
+
16
+ var _elements = require("../../../../FlexibleCard/components/elements");
17
+
18
+ var _elementGroup = _interopRequireDefault(require("../../../../FlexibleCard/components/blocks/element-group"));
19
+
20
+ var _constants = require("../../../../../constants");
21
+
22
+ var _actionGroup = _interopRequireDefault(require("../../../../FlexibleCard/components/blocks/action-group"));
23
+
24
+ var _templateObject, _templateObject2;
25
+
26
+ var getActionGroupStyles = function getActionGroupStyles(size) {
27
+ if (size === _constants.SmartLinkSize.XLarge) {
28
+ // The biggest height of the action button exceeds the max line-height
29
+ // of the elements causing the action on the block with x-large size to
30
+ // get cut at the bottom.
31
+ return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n max-height: 2rem;\n "])));
32
+ }
33
+ };
34
+
35
+ var providerStyles = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n span:first-child {\n margin-right: 0.375rem;\n }\n"])));
36
+ /**
37
+ * This Components is a footer that is used in a Block Card with Flexible UI.
38
+ * It contains a provider icon if provider is present and an actions list if one is passed.
39
+ * To be shown as a part of Flexible UI, needs to be wrapped inside of a CustomBlock
40
+ *
41
+ * @see CustomBlock
42
+ * @param props are the data required for the block, such as actions to be displayed.
43
+ */
44
+
45
+ var Footer = function Footer(props) {
46
+ var actions = props.actions,
47
+ _props$size = props.size,
48
+ size = _props$size === void 0 ? _constants.SmartLinkSize.Medium : _props$size,
49
+ _props$testId = props.testId,
50
+ testId = _props$testId === void 0 ? 'smart-block-card-footer' : _props$testId;
51
+ return /*#__PURE__*/_react.default.createElement("div", {
52
+ "data-testid": testId
53
+ }, /*#__PURE__*/_react.default.createElement(_elements.Provider, {
54
+ testId: "".concat(testId, "-provider"),
55
+ overrideCss: providerStyles
56
+ }), actions && actions.length > 0 ? /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
57
+ testId: "smart-element-group-actions",
58
+ align: _constants.SmartLinkAlignment.Right,
59
+ direction: _constants.SmartLinkDirection.Horizontal,
60
+ overrideCss: getActionGroupStyles(size),
61
+ width: _constants.SmartLinkWidth.Flexible
62
+ }, /*#__PURE__*/_react.default.createElement(_actionGroup.default, {
63
+ items: actions,
64
+ appearance: "default"
65
+ })) : null);
66
+ };
67
+
68
+ var _default = Footer;
69
+ exports.default = _default;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _FlexibleCard = _interopRequireDefault(require("../../../FlexibleCard"));
15
+
16
+ var _titleBlock = _interopRequireDefault(require("../../../FlexibleCard/components/blocks/title-block"));
17
+
18
+ var _messages = require("../../../../messages");
19
+
20
+ var _tokens = require("@atlaskit/tokens");
21
+
22
+ var _colors = require("@atlaskit/theme/colors");
23
+
24
+ var _warning = _interopRequireDefault(require("@atlaskit/icon/glyph/warning"));
25
+
26
+ var _footer = _interopRequireDefault(require("../../components/flexible/footer"));
27
+
28
+ var _RetryAction = require("../../actions/flexible/RetryAction");
29
+
30
+ var _blocks = require("../../../FlexibleCard/components/blocks");
31
+
32
+ var _text = _interopRequireDefault(require("../../../FlexibleCard/components/elements/text"));
33
+
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ /**
39
+ * This view represents a Block Card with an 'Errored' status.
40
+ *
41
+ * @see SmartLinkStatus
42
+ * @see FlexibleCardProps
43
+ */
44
+ var FlexibleErroredView = function FlexibleErroredView(_ref) {
45
+ var cardState = _ref.cardState,
46
+ onAuthorize = _ref.onAuthorize,
47
+ onError = _ref.onError,
48
+ ui = _ref.ui,
49
+ url = _ref.url,
50
+ onClick = _ref.onClick,
51
+ _ref$testId = _ref.testId,
52
+ testId = _ref$testId === void 0 ? 'smart-block-errored-view' : _ref$testId;
53
+ var status = cardState.status;
54
+ var actions = (0, _react.useMemo)(function () {
55
+ return onAuthorize ? [(0, _RetryAction.RetryAction)(onAuthorize)] : [];
56
+ }, [onAuthorize]);
57
+ return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
58
+ cardState: cardState,
59
+ onAuthorize: onAuthorize,
60
+ onClick: onClick,
61
+ onError: onError,
62
+ testId: testId,
63
+ ui: ui,
64
+ url: url
65
+ }, /*#__PURE__*/_react.default.createElement(_titleBlock.default, {
66
+ hideRetry: true
67
+ }), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_warning.default, {
68
+ label: "errored-warning-icon",
69
+ size: "small",
70
+ primaryColor: (0, _tokens.token)('color.icon.warning', _colors.R300),
71
+ testId: "".concat(testId, "-warning-icon")
72
+ }), /*#__PURE__*/_react.default.createElement(_text.default, {
73
+ message: {
74
+ descriptor: _messages.messages.could_not_load_link
75
+ }
76
+ })), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_footer.default, {
77
+ actions: actions,
78
+ status: status
79
+ })));
80
+ };
81
+
82
+ var _default = FlexibleErroredView;
83
+ exports.default = _default;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _FlexibleCard = _interopRequireDefault(require("../../../FlexibleCard"));
15
+
16
+ var _titleBlock = _interopRequireDefault(require("../../../FlexibleCard/components/blocks/title-block"));
17
+
18
+ var _blocks = require("../../../FlexibleCard/components/blocks");
19
+
20
+ var _tokens = require("@atlaskit/tokens");
21
+
22
+ var _colors = require("@atlaskit/theme/colors");
23
+
24
+ var _messages = require("../../../../messages");
25
+
26
+ var _lockFilled = _interopRequireDefault(require("@atlaskit/icon/glyph/lock-filled"));
27
+
28
+ var _footer = _interopRequireDefault(require("../../components/flexible/footer"));
29
+
30
+ var _ForbiddenAction = require("../../actions/flexible/ForbiddenAction");
31
+
32
+ var _text = _interopRequireDefault(require("../../../FlexibleCard/components/elements/text"));
33
+
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ /**
39
+ * This view represent a Block Card with the 'Forbidden' status.
40
+ * It should have a "Try another account" button that will allow a user to connect another account and view the block card.
41
+ *
42
+ * @see SmartLinkStatus
43
+ * @see FlexibleCardProps
44
+ */
45
+ var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
46
+ var cardState = _ref.cardState,
47
+ onAuthorize = _ref.onAuthorize,
48
+ onClick = _ref.onClick,
49
+ onError = _ref.onError,
50
+ _ref$testId = _ref.testId,
51
+ testId = _ref$testId === void 0 ? 'smart-block-forbidden-view' : _ref$testId,
52
+ ui = _ref.ui,
53
+ url = _ref.url;
54
+ var status = cardState.status;
55
+ var actions = (0, _react.useMemo)(function () {
56
+ return onAuthorize ? [(0, _ForbiddenAction.ForbiddenAction)(onAuthorize)] : [];
57
+ }, [onAuthorize]);
58
+ return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
59
+ appearance: "block",
60
+ cardState: cardState,
61
+ onAuthorize: onAuthorize,
62
+ onClick: onClick,
63
+ onError: onError,
64
+ testId: testId,
65
+ ui: ui,
66
+ url: url
67
+ }, /*#__PURE__*/_react.default.createElement(_titleBlock.default, {
68
+ hideRetry: true
69
+ }), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_lockFilled.default, {
70
+ label: "forbidden-lock-icon",
71
+ size: "small",
72
+ primaryColor: (0, _tokens.token)('color.icon.danger', _colors.R300),
73
+ testId: "".concat(testId, "-lock-icon")
74
+ }), /*#__PURE__*/_react.default.createElement(_text.default, {
75
+ message: {
76
+ descriptor: _messages.messages.invalid_permissions_description
77
+ }
78
+ })), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_footer.default, {
79
+ actions: actions,
80
+ status: status
81
+ })));
82
+ };
83
+
84
+ var _default = FlexibleForbiddenView;
85
+ exports.default = _default;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _FlexibleCard = _interopRequireDefault(require("../../../FlexibleCard"));
13
+
14
+ var _titleBlock = _interopRequireDefault(require("../../../FlexibleCard/components/blocks/title-block"));
15
+
16
+ var _messages = require("../../../../messages");
17
+
18
+ var _warning = _interopRequireDefault(require("@atlaskit/icon/glyph/warning"));
19
+
20
+ var _tokens = require("@atlaskit/tokens");
21
+
22
+ var _colors = require("@atlaskit/theme/colors");
23
+
24
+ var _footer = _interopRequireDefault(require("../../components/flexible/footer"));
25
+
26
+ var _text = _interopRequireDefault(require("../../../FlexibleCard/components/elements/text"));
27
+
28
+ var _blocks = require("../../../FlexibleCard/components/blocks");
29
+
30
+ /**
31
+ * This view represents a Block Card with a 'Not_Found' status.
32
+ *
33
+ * @see SmartLinkStatus
34
+ * @see FlexibleCardProps
35
+ */
36
+ var FlexibleNotFoundView = function FlexibleNotFoundView(_ref) {
37
+ var cardState = _ref.cardState,
38
+ onAuthorize = _ref.onAuthorize,
39
+ onError = _ref.onError,
40
+ ui = _ref.ui,
41
+ url = _ref.url,
42
+ onClick = _ref.onClick,
43
+ _ref$testId = _ref.testId,
44
+ testId = _ref$testId === void 0 ? 'smart-block-not-found-view' : _ref$testId;
45
+ var status = cardState.status;
46
+ return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
47
+ appearance: "block",
48
+ cardState: cardState,
49
+ onAuthorize: onAuthorize,
50
+ onClick: onClick,
51
+ onError: onError,
52
+ testId: testId,
53
+ ui: ui,
54
+ url: url
55
+ }, /*#__PURE__*/_react.default.createElement(_titleBlock.default, {
56
+ hideRetry: true
57
+ }), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_warning.default, {
58
+ label: "not-found-warning-icon",
59
+ size: "small",
60
+ primaryColor: (0, _tokens.token)('color.icon.warning', _colors.R300),
61
+ testId: "".concat(testId, "-warning-icon")
62
+ }), /*#__PURE__*/_react.default.createElement(_text.default, {
63
+ message: {
64
+ descriptor: _messages.messages.not_found_description
65
+ },
66
+ testId: testId
67
+ })), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_footer.default, {
68
+ status: status
69
+ })));
70
+ };
71
+
72
+ var _default = FlexibleNotFoundView;
73
+ exports.default = _default;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _FlexibleCard = _interopRequireDefault(require("../../../FlexibleCard"));
15
+
16
+ var _titleBlock = _interopRequireDefault(require("../../../FlexibleCard/components/blocks/title-block"));
17
+
18
+ var _messages = require("../../../../messages");
19
+
20
+ var _text = _interopRequireDefault(require("../../../FlexibleCard/components/elements/text"));
21
+
22
+ var _AuthorizeAction = require("../../actions/flexible/AuthorizeAction");
23
+
24
+ var _footer = _interopRequireDefault(require("../../components/flexible/footer"));
25
+
26
+ var _blocks = require("../../../FlexibleCard/components/blocks");
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ /**
33
+ * This view represents a Block card that has an 'Unauthorized' status .
34
+ * It should have a "Connect" button that will allow a user to connect their account and view the block card.
35
+ *
36
+ * @see SmartLinkStatus
37
+ * @see UnauthorisedViewProps
38
+ */
39
+ var FlexibleUnauthorisedView = function FlexibleUnauthorisedView(_ref) {
40
+ var cardState = _ref.cardState,
41
+ _ref$providerName = _ref.providerName,
42
+ providerName = _ref$providerName === void 0 ? '' : _ref$providerName,
43
+ onAuthorize = _ref.onAuthorize,
44
+ onClick = _ref.onClick,
45
+ onError = _ref.onError,
46
+ _ref$testId = _ref.testId,
47
+ testId = _ref$testId === void 0 ? 'smart-block-unauthorized-view' : _ref$testId,
48
+ ui = _ref.ui,
49
+ url = _ref.url;
50
+ var status = cardState.status;
51
+ var actions = (0, _react.useMemo)(function () {
52
+ return onAuthorize ? [(0, _AuthorizeAction.AuthorizeAction)(onAuthorize)] : [];
53
+ }, [onAuthorize]);
54
+ return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
55
+ appearance: "block",
56
+ cardState: cardState,
57
+ onAuthorize: onAuthorize,
58
+ onClick: onClick,
59
+ onError: onError,
60
+ testId: testId,
61
+ ui: ui,
62
+ url: url
63
+ }, /*#__PURE__*/_react.default.createElement(_titleBlock.default, {
64
+ hideRetry: true
65
+ }), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_text.default, {
66
+ message: {
67
+ descriptor: _messages.messages.connect_link_account_card_description,
68
+ values: {
69
+ context: providerName
70
+ }
71
+ }
72
+ })), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_footer.default, {
73
+ actions: actions,
74
+ status: status
75
+ })));
76
+ };
77
+
78
+ var _default = FlexibleUnauthorisedView;
79
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ Object.defineProperty(exports, "CustomBlock", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _block.default;
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "FooterBlock", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -44,4 +50,6 @@ var _previewBlock = _interopRequireDefault(require("./preview-block"));
44
50
 
45
51
  var _snippetBlock = _interopRequireDefault(require("./snippet-block"));
46
52
 
47
- var _titleBlock = _interopRequireDefault(require("./title-block"));
53
+ var _titleBlock = _interopRequireDefault(require("./title-block"));
54
+
55
+ var _block = _interopRequireDefault(require("./block"));
@@ -23,6 +23,8 @@ var _utils = require("../../utils");
23
23
 
24
24
  var _extractors = require("@atlaskit/linking-common/extractors");
25
25
 
26
+ var _extractProviderIcon = _interopRequireDefault(require("../../extractors/flexible/icon/extract-provider-icon"));
27
+
26
28
  var getContextByStatus = function getContextByStatus(url, status, details, renderers) {
27
29
  switch (status) {
28
30
  case _constants.SmartLinkStatus.Pending:
@@ -42,10 +44,12 @@ var getContextByStatus = function getContextByStatus(url, status, details, rende
42
44
  case _constants.SmartLinkStatus.Fallback:
43
45
  default:
44
46
  var linkIcon = (0, _icon.extractErrorIcon)(details, status);
47
+ var provider = (0, _extractProviderIcon.default)(details === null || details === void 0 ? void 0 : details.data);
45
48
  return {
46
49
  linkIcon: linkIcon,
47
50
  title: url,
48
- url: url
51
+ url: url,
52
+ provider: provider
49
53
  };
50
54
  }
51
55
  };
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.InlineCardUnauthorizedView = void 0;
9
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -76,6 +78,7 @@ var InlineCardUnauthorizedView = /*#__PURE__*/function (_React$Component) {
76
78
  });
77
79
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderMessage", function () {
78
80
  var _this$props = _this.props,
81
+ context = _this$props.context,
79
82
  onAuthorise = _this$props.onAuthorise,
80
83
  url = _this$props.url;
81
84
 
@@ -87,7 +90,11 @@ var InlineCardUnauthorizedView = /*#__PURE__*/function (_React$Component) {
87
90
  component: _styled.IconStyledButton,
88
91
  onClick: _this.handleConnectAccount,
89
92
  testId: "button-connect-account"
90
- }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.connect_link_account)));
93
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages.connect_link_account_card_name, {
94
+ values: {
95
+ context: context
96
+ }
97
+ }))));
91
98
  });
92
99
  return _this;
93
100
  }
@@ -122,6 +122,7 @@ var InlineCard = function InlineCard(_ref) {
122
122
  var provider = (0, _extractors.extractProvider)(cardDetails);
123
123
  return /*#__PURE__*/_react.default.createElement(_UnauthorisedView.InlineCardUnauthorizedView, {
124
124
  icon: provider && provider.icon,
125
+ context: provider && provider.text,
125
126
  url: url,
126
127
  isSelected: isSelected,
127
128
  onClick: handleFrameClick,
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "23.4.0",
3
+ "version": "23.4.2",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { FormattedMessage } from 'react-intl-next';
3
+ import { ActionName } from '../../../../constants';
4
+ import { messages } from '../../../../messages';
5
+ /**
6
+ * Returns a CustomActionItem with a "Connect" default message
7
+ *
8
+ * @see CustomActionItem
9
+ * @param onAuthorize a function that will be called on the click of the button
10
+ */
11
+
12
+ export const AuthorizeAction = onAuthorize => ({
13
+ name: ActionName.CustomAction,
14
+ content: /*#__PURE__*/React.createElement(FormattedMessage, messages.connect_link_account_card),
15
+ onClick: onAuthorize
16
+ });
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { FormattedMessage } from 'react-intl-next';
3
+ import { ActionName } from '../../../../constants';
4
+ import { messages } from '../../../../messages';
5
+ /**
6
+ * Returns a CustomActionItem with a "Try Another Account" default message
7
+ *
8
+ * @see CustomActionItem
9
+ * @param onAuthorize a function that will be called on the click of the button
10
+ */
11
+
12
+ export const ForbiddenAction = onAuthorize => ({
13
+ name: ActionName.CustomAction,
14
+ content: /*#__PURE__*/React.createElement(FormattedMessage, messages.try_another_account),
15
+ onClick: onAuthorize
16
+ });