@atlaskit/smart-card 26.9.16 → 26.9.17

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 (86) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/version.json +1 -1
  3. package/dist/cjs/view/CardWithUrl/component.js +5 -2
  4. package/dist/cjs/view/InlineCard/Icon.js +0 -2
  5. package/dist/cjs/view/RedesignedInlineCard/ErroredView/index.js +90 -0
  6. package/dist/cjs/view/RedesignedInlineCard/ForbiddenView/index.js +129 -0
  7. package/dist/cjs/view/RedesignedInlineCard/Frame/index.js +63 -0
  8. package/dist/cjs/view/RedesignedInlineCard/Frame/styled.js +70 -0
  9. package/dist/cjs/view/RedesignedInlineCard/Icon.js +43 -0
  10. package/dist/cjs/view/RedesignedInlineCard/IconAndTitleLayout/index.js +151 -0
  11. package/dist/cjs/view/RedesignedInlineCard/IconAndTitleLayout/styled.js +56 -0
  12. package/dist/cjs/view/RedesignedInlineCard/ResolvedView/index.js +83 -0
  13. package/dist/cjs/view/RedesignedInlineCard/ResolvingView/index.js +69 -0
  14. package/dist/cjs/view/RedesignedInlineCard/ResolvingView/styled.js +13 -0
  15. package/dist/cjs/view/RedesignedInlineCard/UnauthorisedView/index.js +113 -0
  16. package/dist/cjs/view/RedesignedInlineCard/index.js +183 -0
  17. package/dist/cjs/view/RedesignedInlineCard/styled.js +31 -0
  18. package/dist/cjs/view/RedesignedInlineCard/types.js +5 -0
  19. package/dist/cjs/view/RedesignedInlineCard/utils/withFrameStyleControl.js +42 -0
  20. package/dist/es2019/version.json +1 -1
  21. package/dist/es2019/view/CardWithUrl/component.js +5 -2
  22. package/dist/es2019/view/InlineCard/Icon.js +0 -2
  23. package/dist/es2019/view/RedesignedInlineCard/ErroredView/index.js +66 -0
  24. package/dist/es2019/view/RedesignedInlineCard/ForbiddenView/index.js +107 -0
  25. package/dist/es2019/view/RedesignedInlineCard/Frame/index.js +55 -0
  26. package/dist/es2019/view/RedesignedInlineCard/Frame/styled.js +107 -0
  27. package/dist/es2019/view/RedesignedInlineCard/Icon.js +45 -0
  28. package/dist/es2019/view/RedesignedInlineCard/IconAndTitleLayout/index.js +124 -0
  29. package/dist/es2019/view/RedesignedInlineCard/IconAndTitleLayout/styled.js +97 -0
  30. package/dist/es2019/view/RedesignedInlineCard/ResolvedView/index.js +55 -0
  31. package/dist/es2019/view/RedesignedInlineCard/ResolvingView/index.js +44 -0
  32. package/dist/es2019/view/RedesignedInlineCard/ResolvingView/styled.js +6 -0
  33. package/dist/es2019/view/RedesignedInlineCard/UnauthorisedView/index.js +86 -0
  34. package/dist/es2019/view/RedesignedInlineCard/index.js +149 -0
  35. package/dist/es2019/view/RedesignedInlineCard/styled.js +52 -0
  36. package/dist/es2019/view/RedesignedInlineCard/types.js +1 -0
  37. package/dist/es2019/view/RedesignedInlineCard/utils/withFrameStyleControl.js +33 -0
  38. package/dist/esm/version.json +1 -1
  39. package/dist/esm/view/CardWithUrl/component.js +5 -2
  40. package/dist/esm/view/InlineCard/Icon.js +0 -2
  41. package/dist/esm/view/RedesignedInlineCard/ErroredView/index.js +82 -0
  42. package/dist/esm/view/RedesignedInlineCard/ForbiddenView/index.js +121 -0
  43. package/dist/esm/view/RedesignedInlineCard/Frame/index.js +53 -0
  44. package/dist/esm/view/RedesignedInlineCard/Frame/styled.js +61 -0
  45. package/dist/esm/view/RedesignedInlineCard/Icon.js +34 -0
  46. package/dist/esm/view/RedesignedInlineCard/IconAndTitleLayout/index.js +143 -0
  47. package/dist/esm/view/RedesignedInlineCard/IconAndTitleLayout/styled.js +38 -0
  48. package/dist/esm/view/RedesignedInlineCard/ResolvedView/index.js +75 -0
  49. package/dist/esm/view/RedesignedInlineCard/ResolvingView/index.js +61 -0
  50. package/dist/esm/view/RedesignedInlineCard/ResolvingView/styled.js +5 -0
  51. package/dist/esm/view/RedesignedInlineCard/UnauthorisedView/index.js +105 -0
  52. package/dist/esm/view/RedesignedInlineCard/index.js +146 -0
  53. package/dist/esm/view/RedesignedInlineCard/styled.js +20 -0
  54. package/dist/esm/view/RedesignedInlineCard/types.js +1 -0
  55. package/dist/esm/view/RedesignedInlineCard/utils/withFrameStyleControl.js +35 -0
  56. package/dist/types/view/RedesignedInlineCard/ErroredView/index.d.ts +22 -0
  57. package/dist/types/view/RedesignedInlineCard/ForbiddenView/index.d.ts +29 -0
  58. package/dist/types/view/RedesignedInlineCard/Frame/index.d.ts +15 -0
  59. package/dist/types/view/RedesignedInlineCard/Frame/styled.d.ts +15 -0
  60. package/dist/types/view/RedesignedInlineCard/Icon.d.ts +12 -0
  61. package/dist/types/view/RedesignedInlineCard/IconAndTitleLayout/index.d.ts +28 -0
  62. package/dist/types/view/RedesignedInlineCard/IconAndTitleLayout/styled.d.ts +36 -0
  63. package/dist/types/view/RedesignedInlineCard/ResolvedView/index.d.ts +32 -0
  64. package/dist/types/view/RedesignedInlineCard/ResolvingView/index.d.ts +17 -0
  65. package/dist/types/view/RedesignedInlineCard/ResolvingView/styled.d.ts +9 -0
  66. package/dist/types/view/RedesignedInlineCard/UnauthorisedView/index.d.ts +32 -0
  67. package/dist/types/view/RedesignedInlineCard/index.d.ts +9 -0
  68. package/dist/types/view/RedesignedInlineCard/styled.d.ts +17 -0
  69. package/dist/types/view/RedesignedInlineCard/types.d.ts +25 -0
  70. package/dist/types/view/RedesignedInlineCard/utils/withFrameStyleControl.d.ts +9 -0
  71. package/dist/types-ts4.5/view/RedesignedInlineCard/ErroredView/index.d.ts +22 -0
  72. package/dist/types-ts4.5/view/RedesignedInlineCard/ForbiddenView/index.d.ts +29 -0
  73. package/dist/types-ts4.5/view/RedesignedInlineCard/Frame/index.d.ts +15 -0
  74. package/dist/types-ts4.5/view/RedesignedInlineCard/Frame/styled.d.ts +15 -0
  75. package/dist/types-ts4.5/view/RedesignedInlineCard/Icon.d.ts +12 -0
  76. package/dist/types-ts4.5/view/RedesignedInlineCard/IconAndTitleLayout/index.d.ts +28 -0
  77. package/dist/types-ts4.5/view/RedesignedInlineCard/IconAndTitleLayout/styled.d.ts +36 -0
  78. package/dist/types-ts4.5/view/RedesignedInlineCard/ResolvedView/index.d.ts +32 -0
  79. package/dist/types-ts4.5/view/RedesignedInlineCard/ResolvingView/index.d.ts +17 -0
  80. package/dist/types-ts4.5/view/RedesignedInlineCard/ResolvingView/styled.d.ts +9 -0
  81. package/dist/types-ts4.5/view/RedesignedInlineCard/UnauthorisedView/index.d.ts +32 -0
  82. package/dist/types-ts4.5/view/RedesignedInlineCard/index.d.ts +9 -0
  83. package/dist/types-ts4.5/view/RedesignedInlineCard/styled.d.ts +17 -0
  84. package/dist/types-ts4.5/view/RedesignedInlineCard/types.d.ts +25 -0
  85. package/dist/types-ts4.5/view/RedesignedInlineCard/utils/withFrameStyleControl.d.ts +9 -0
  86. package/package.json +6 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 26.9.17
4
+
5
+ ### Patch Changes
6
+
7
+ - [`936fc621c48`](https://bitbucket.org/atlassian/atlassian-frontend/commits/936fc621c48) - [ux] Design refresh for the Inline Smart Links.
8
+
3
9
  ## 26.9.16
4
10
 
5
11
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.9.16",
3
+ "version": "26.9.17",
4
4
  "sideEffects": false
5
5
  }
@@ -15,6 +15,8 @@ var _helpers = require("../../state/helpers");
15
15
  var _state = require("../../state");
16
16
  var _BlockCard = require("../BlockCard");
17
17
  var _InlineCard = require("../InlineCard");
18
+ var _RedesignedInlineCard = require("../RedesignedInlineCard");
19
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
20
  var _EmbedCard = require("../EmbedCard");
19
21
  var _flexible = require("../../utils/flexible");
20
22
  var _FlexibleCard = _interopRequireDefault(require("../FlexibleCard"));
@@ -205,7 +207,7 @@ function Component(_ref) {
205
207
  }
206
208
  switch (appearance) {
207
209
  case 'inline':
208
- return /*#__PURE__*/_react.default.createElement(_InlineCard.InlineCard, {
210
+ var inlineProps = {
209
211
  analytics: analytics,
210
212
  id: id,
211
213
  url: url,
@@ -221,7 +223,8 @@ function Component(_ref) {
221
223
  showHoverPreview: showHoverPreview,
222
224
  showAuthTooltip: showAuthTooltip,
223
225
  showServerActions: showServerActions
224
- });
226
+ };
227
+ return (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.show-inline-card-refreshed-design') ? /*#__PURE__*/_react.default.createElement(_RedesignedInlineCard.InlineCard, inlineProps) : /*#__PURE__*/_react.default.createElement(_InlineCard.InlineCard, inlineProps);
225
228
  case 'block':
226
229
  return /*#__PURE__*/_react.default.createElement(_BlockCard.BlockCard, {
227
230
  id: id,
@@ -27,9 +27,7 @@ var Shimmer = function Shimmer(_ref) {
27
27
  var testId = _ref.testId;
28
28
  var skeletonCustomStyles = {
29
29
  position: 'absolute',
30
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
31
30
  top: '50%',
32
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
33
31
  left: '50%',
34
32
  transform: 'translate(-50%, -50%)',
35
33
  marginRight: "var(--ds-space-050, 4px)"
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.InlineCardErroredView = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _colors = require("@atlaskit/theme/colors");
17
+ var _error = _interopRequireDefault(require("@atlaskit/icon/glyph/error"));
18
+ var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
19
+ var _Frame = require("../Frame");
20
+ var _IconAndTitleLayout = require("../IconAndTitleLayout");
21
+ var _Icon = require("../Icon");
22
+ var _messages = require("../../../messages");
23
+ var _reactIntlNext = require("react-intl-next");
24
+ var _styled = require("../styled");
25
+ var _withFrameStyleControl = _interopRequireDefault(require("../utils/withFrameStyleControl"));
26
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
27
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
28
+ var InlineCardErroredView = /*#__PURE__*/function (_React$Component) {
29
+ (0, _inherits2.default)(InlineCardErroredView, _React$Component);
30
+ var _super = _createSuper(InlineCardErroredView);
31
+ function InlineCardErroredView() {
32
+ var _this;
33
+ (0, _classCallCheck2.default)(this, InlineCardErroredView);
34
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35
+ args[_key] = arguments[_key];
36
+ }
37
+ _this = _super.call.apply(_super, [this].concat(args));
38
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "frameRef", /*#__PURE__*/_react.default.createRef());
39
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleRetry", function (event) {
40
+ var onRetry = _this.props.onRetry;
41
+ if (onRetry) {
42
+ event.preventDefault();
43
+ event.stopPropagation();
44
+ onRetry();
45
+ }
46
+ });
47
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderActionButton", function () {
48
+ var onRetry = _this.props.onRetry;
49
+ var ActionButton = (0, _withFrameStyleControl.default)(_customThemeButton.default, _this.frameRef);
50
+ return onRetry && /*#__PURE__*/_react.default.createElement(ActionButton, {
51
+ spacing: "none",
52
+ component: _styled.IconStyledButton,
53
+ onClick: _this.handleRetry,
54
+ role: "button"
55
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.try_again));
56
+ });
57
+ return _this;
58
+ }
59
+ (0, _createClass2.default)(InlineCardErroredView, [{
60
+ key: "render",
61
+ value: function render() {
62
+ var _this$props = this.props,
63
+ url = _this$props.url,
64
+ onClick = _this$props.onClick,
65
+ isSelected = _this$props.isSelected,
66
+ _this$props$testId = _this$props.testId,
67
+ testId = _this$props$testId === void 0 ? 'inline-card-errored-view' : _this$props$testId,
68
+ icon = _this$props.icon,
69
+ message = _this$props.message;
70
+ return /*#__PURE__*/_react.default.createElement(_Frame.Frame, {
71
+ testId: testId,
72
+ isSelected: isSelected,
73
+ ref: this.frameRef
74
+ }, /*#__PURE__*/_react.default.createElement(_IconAndTitleLayout.IconAndTitleLayout, {
75
+ icon: icon || /*#__PURE__*/_react.default.createElement(_Icon.AKIconWrapper, null, /*#__PURE__*/_react.default.createElement(_error.default, {
76
+ label: "error",
77
+ size: "small",
78
+ primaryColor: "var(--ds-icon-danger, ".concat(_colors.R300, ")"),
79
+ testId: "errored-view-default-icon"
80
+ })),
81
+ link: url,
82
+ title: url,
83
+ onClick: onClick,
84
+ rightSide: message
85
+ }), this.renderActionButton());
86
+ }
87
+ }]);
88
+ return InlineCardErroredView;
89
+ }(_react.default.Component);
90
+ exports.InlineCardErroredView = InlineCardErroredView;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.InlineCardForbiddenView = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _colors = require("@atlaskit/theme/colors");
18
+ var _lockFilled = _interopRequireDefault(require("@atlaskit/icon/glyph/lock-filled"));
19
+ var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
20
+ var _Frame = require("../Frame");
21
+ var _IconAndTitleLayout = require("../IconAndTitleLayout");
22
+ var _Icon = require("../Icon");
23
+ var _messages = require("../../../messages");
24
+ var _reactIntlNext = require("react-intl-next");
25
+ var _styled = require("../styled");
26
+ var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
27
+ var _styled2 = require("../IconAndTitleLayout/styled");
28
+ var _withFrameStyleControl = _interopRequireDefault(require("../utils/withFrameStyleControl"));
29
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
+ var FallbackForbiddenIcon = /*#__PURE__*/_react.default.createElement(_Icon.AKIconWrapper, null, /*#__PURE__*/_react.default.createElement(_lockFilled.default, {
32
+ label: "error",
33
+ size: "small",
34
+ primaryColor: "var(--ds-icon-danger, ".concat(_colors.R400, ")"),
35
+ testId: "forbidden-view-fallback-icon"
36
+ }));
37
+ var InlineCardForbiddenView = /*#__PURE__*/function (_React$Component) {
38
+ (0, _inherits2.default)(InlineCardForbiddenView, _React$Component);
39
+ var _super = _createSuper(InlineCardForbiddenView);
40
+ function InlineCardForbiddenView() {
41
+ var _this$props, _this$props$requestAc;
42
+ var _this;
43
+ (0, _classCallCheck2.default)(this, InlineCardForbiddenView);
44
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
+ args[_key] = arguments[_key];
46
+ }
47
+ _this = _super.call.apply(_super, [this].concat(args));
48
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "frameRef", /*#__PURE__*/_react.default.createRef());
49
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
50
+ hasRequestAccessContextMessage: !!((_this$props = _this.props) !== null && _this$props !== void 0 && (_this$props$requestAc = _this$props.requestAccessContext) !== null && _this$props$requestAc !== void 0 && _this$props$requestAc.callToActionMessageKey)
51
+ });
52
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleRetry", function (event) {
53
+ var onAuthorise = _this.props.onAuthorise;
54
+ event.preventDefault();
55
+ event.stopPropagation();
56
+ if (onAuthorise) {
57
+ onAuthorise();
58
+ } else {
59
+ var _this$props2, _this$props2$requestA, _this$props2$requestA2;
60
+ (_this$props2 = _this.props) === null || _this$props2 === void 0 ? void 0 : (_this$props2$requestA = _this$props2.requestAccessContext) === null || _this$props2$requestA === void 0 ? void 0 : (_this$props2$requestA2 = _this$props2$requestA.action) === null || _this$props2$requestA2 === void 0 ? void 0 : _this$props2$requestA2.promise();
61
+ }
62
+ });
63
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderForbiddenAccessMessage", function () {
64
+ var _this$props3, _this$props3$requestA;
65
+ if ((_this$props3 = _this.props) !== null && _this$props3 !== void 0 && (_this$props3$requestA = _this$props3.requestAccessContext) !== null && _this$props3$requestA !== void 0 && _this$props3$requestA.callToActionMessageKey) {
66
+ var callToActionMessageKey = _this.props.requestAccessContext.callToActionMessageKey;
67
+ return /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages[callToActionMessageKey], {
68
+ values: {
69
+ context: _this.props.context
70
+ }
71
+ }));
72
+ }
73
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.invalid_permissions, function (formattedMessage) {
74
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, formattedMessage);
75
+ }));
76
+ });
77
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderActionButton", function () {
78
+ var onAuthorise = _this.props.onAuthorise;
79
+ var ActionButton = (0, _withFrameStyleControl.default)(_customThemeButton.default, _this.frameRef);
80
+ if (_this.state.hasRequestAccessContextMessage) {
81
+ return /*#__PURE__*/_react.default.createElement(ActionButton, {
82
+ spacing: "none",
83
+ onClick: _this.handleRetry,
84
+ component: _styled.IconStyledButton,
85
+ testId: "button-connect-other-account",
86
+ role: "button"
87
+ }, _this.renderForbiddenAccessMessage());
88
+ }
89
+ if (onAuthorise) {
90
+ return /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
91
+ spacing: "none",
92
+ onClick: _this.handleRetry,
93
+ appearance: "subtle-link",
94
+ testId: "button-connect-other-account",
95
+ role: "button"
96
+ }, /*#__PURE__*/_react.default.createElement(_styled2.LozengeWrapper, null, /*#__PURE__*/_react.default.createElement(_lozenge.default, {
97
+ appearance: 'moved'
98
+ }, _this.renderForbiddenAccessMessage())));
99
+ }
100
+ return null;
101
+ });
102
+ return _this;
103
+ }
104
+ (0, _createClass2.default)(InlineCardForbiddenView, [{
105
+ key: "render",
106
+ value: function render() {
107
+ var _this$props4 = this.props,
108
+ url = _this$props4.url,
109
+ icon = _this$props4.icon,
110
+ onClick = _this$props4.onClick,
111
+ isSelected = _this$props4.isSelected,
112
+ _this$props4$testId = _this$props4.testId,
113
+ testId = _this$props4$testId === void 0 ? 'inline-card-forbidden-view' : _this$props4$testId;
114
+ return /*#__PURE__*/_react.default.createElement(_Frame.Frame, {
115
+ testId: testId,
116
+ isSelected: isSelected,
117
+ ref: this.frameRef
118
+ }, /*#__PURE__*/_react.default.createElement(_IconAndTitleLayout.IconAndTitleLayout, {
119
+ icon: icon ? icon : FallbackForbiddenIcon,
120
+ link: url,
121
+ title: url,
122
+ onClick: onClick,
123
+ titleColor: "var(--ds-text-subtle, ".concat(_colors.N500, ")")
124
+ }), this.renderActionButton());
125
+ }
126
+ }]);
127
+ return InlineCardForbiddenView;
128
+ }(_react.default.Component);
129
+ exports.InlineCardForbiddenView = InlineCardForbiddenView;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Frame = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _components = require("@atlaskit/theme/components");
10
+ var _styled = require("./styled");
11
+ var _useLinkClicked = require("../../../state/analytics/useLinkClicked");
12
+ 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); }
13
+ 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; }
14
+ var Frame = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
15
+ var isSelected = props.isSelected,
16
+ children = props.children,
17
+ onClick = props.onClick,
18
+ link = props.link,
19
+ withoutBackground = props.withoutBackground,
20
+ testId = props.testId,
21
+ className = props.className;
22
+ var handleClick = (0, _react.useCallback)(function (event) {
23
+ if (onClick) {
24
+ event.preventDefault();
25
+ event.stopPropagation();
26
+ onClick(event);
27
+ }
28
+ }, [onClick]);
29
+ var handleKeyPress = (0, _react.useCallback)(function (event) {
30
+ if (event.key !== ' ' && event.key !== 'Enter') {
31
+ return;
32
+ }
33
+ if (onClick) {
34
+ event.preventDefault();
35
+ event.stopPropagation();
36
+ onClick(event);
37
+ }
38
+ }, [onClick]);
39
+ var handleMouseDown = (0, _useLinkClicked.useMouseDownEvent)();
40
+ var isInteractive = Boolean(onClick);
41
+
42
+ // Depending on whenever Frame was given onClick or link itself we display span or anchor elements
43
+ var Wrapper = link || onClick ? _styled.WrapperAnchor : _styled.WrapperSpan;
44
+
45
+ // TODO Theming doesn't work right now in editor. Required React context does not trickle down atm.
46
+ // It will be worked as part of https://product-fabric.atlassian.net/jira/servicedesk/projects/DTR/queues/issue/DTR-154
47
+ return /*#__PURE__*/_react.default.createElement(Wrapper, {
48
+ theme: (0, _components.useGlobalTheme)(),
49
+ href: link,
50
+ withoutBackground: withoutBackground,
51
+ isSelected: isSelected,
52
+ isInteractive: isInteractive,
53
+ tabIndex: isInteractive ? 0 : undefined,
54
+ role: isInteractive ? 'button' : undefined,
55
+ onClick: handleClick,
56
+ onMouseDown: handleMouseDown,
57
+ onKeyPress: handleKeyPress,
58
+ "data-testid": testId,
59
+ className: className,
60
+ ref: ref
61
+ }, children);
62
+ });
63
+ exports.Frame = Frame;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.WrapperSpan = exports.WrapperAnchor = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _colors = require("@atlaskit/theme/colors");
11
+ var _components = require("@atlaskit/theme/components");
12
+ var _templateObject, _templateObject2;
13
+ var BACKGROUND_COLOR_DARK = '#262B31';
14
+ var selected = "\n cursor: pointer;\n box-shadow: 0 0 0 2px ".concat("var(--ds-border-selected, ".concat(_colors.B100, ")"), ";\n outline: none;\n user-select: none;\n &, :hover, :focus, :active {\n text-decoration: none;\n }\n &:hover {\n border: 1px solid ", "var(--ds-border-input, ".concat(_colors.N40, ")"), ";\n }\n");
15
+ var isInteractive = function isInteractive(_ref) {
16
+ var isInteractive = _ref.isInteractive;
17
+ if (isInteractive) {
18
+ return "\n :hover {\n background-color: ".concat((0, _components.themed)({
19
+ light: "var(--ds-background-neutral-subtle-hovered, ".concat(_colors.N20, ")"),
20
+ dark: "var(--ds-background-neutral-subtle-hovered, ".concat(BACKGROUND_COLOR_DARK, ")")
21
+ }), ";\n }\n :active {\n background-color: ").concat((0, _components.themed)({
22
+ light: "var(--ds-background-selected, ".concat(_colors.B50, ")"),
23
+ dark: "var(--ds-background-selected, ".concat(BACKGROUND_COLOR_DARK, ")")
24
+ }), ";\n }\n :focus {\n ").concat(selected, "\n }\n ");
25
+ } else {
26
+ return '';
27
+ }
28
+ };
29
+ var isSelected = function isSelected(_ref2) {
30
+ var isSelected = _ref2.isSelected;
31
+ if (isSelected) {
32
+ return selected;
33
+ } else {
34
+ return 'user-select: text';
35
+ }
36
+ };
37
+
38
+ /*
39
+ Inline smart cards should have the following layout:
40
+ ------------------------------------
41
+ | icon | title | action OR lozenge |
42
+ ------------------------------------
43
+ The aim is to ensure (1) all children are
44
+ in line with each other, (2) are vertically
45
+ centered.
46
+ */
47
+ // NB: `padding` consistent with @mentions.
48
+ // NB: `display: inline` required for `box-decoration-break` to work.
49
+ // NB: `box-decoration-break` required for retaining properties (border-radius) on wrap.
50
+ var baseWrapperStyle = function baseWrapperStyle(props) {
51
+ return "\n line-height: 22px;\n padding: 2px 0px;\n ".concat(props.withoutBackground ? "padding-left: 0; margin-left:-2px;" : '', "\n display: inline;\n box-decoration-break: clone;\n border-radius: ", "var(--ds-border-radius-100, 3px)", ";\n color: ").concat((0, _components.themed)({
52
+ light: "var(--ds-link, ".concat(_colors.B400, ")"),
53
+ dark: "var(--ds-link, #4794FF)"
54
+ })(props), ";\n\n background-color: ").concat(props.withoutBackground ? '' : (0, _components.themed)({
55
+ light: "var(--ds-surface-raised, white)",
56
+ dark: "var(--ds-surface-raised, ".concat(BACKGROUND_COLOR_DARK, ")")
57
+ })(props), ";\n\n ").concat(isSelected(props), ";\n\n ").concat(props.withoutBackground ? '' : (0, _components.themed)({
58
+ light: "border: 1px solid ".concat("var(--ds-border-input, ".concat(_colors.N40, ")"), ";"),
59
+ dark: "border: 1px solid ".concat("var(--ds-border-input, ".concat(_colors.N500, ")"), ";")
60
+ })(props), "\n &:hover {\n ").concat((0, _components.themed)({
61
+ light: "border-color: ".concat("var(--ds-border-accent-blue, ".concat(_colors.B200, ")"), ";"),
62
+ dark: "border-color: ".concat("var(--ds-border-accent-blue, ".concat(_colors.B200, ")"), ";")
63
+ })(props), "\n }\n &, :hover, :focus, :active {\n ").concat(props.withoutBackground ? '' : 'text-decoration: none;', "\n }\n transition: 0.1s all ease-in-out;\n -moz-user-select: none;\n");
64
+ };
65
+ var WrapperAnchor = _styled.default.a(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n"])), baseWrapperStyle, isInteractive);
66
+ exports.WrapperAnchor = WrapperAnchor;
67
+ WrapperAnchor.displayName = 'WrapperAnchor';
68
+ var WrapperSpan = _styled.default.span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), baseWrapperStyle);
69
+ exports.WrapperSpan = WrapperSpan;
70
+ WrapperSpan.displayName = 'WrapperSpan';
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Shimmer = exports.Icon = exports.AKIconWrapper = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _linkingCommon = require("@atlaskit/linking-common");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _templateObject, _templateObject2;
13
+ // TODO: Figure out a more scalable/responsive solution
14
+ // for vertical alignment.
15
+ // Current rationale: vertically positioned at the top of
16
+ // the smart card container (when set to 0). Offset this
17
+ // to position it with appropriate whitespace from the top.
18
+ var Icon = _styled.default.img(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n height: 14px;\n width: 14px;\n margin-right: ", ";\n border-radius: 2px;\n user-select: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n"])), "var(--ds-space-050, 4px)");
19
+
20
+ // Used for 'untrue' icons which claim to be 16x16 but
21
+ // are less than that in height/width.
22
+ // TODO: Replace this override with proper AtlasKit solution.
23
+ exports.Icon = Icon;
24
+ var AKIconWrapper = _styled.default.span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-right: calc(-1 * ", ");\n"])), "var(--ds-space-025, 2px)");
25
+ exports.AKIconWrapper = AKIconWrapper;
26
+ var Shimmer = function Shimmer(_ref) {
27
+ var testId = _ref.testId;
28
+ var skeletonCustomStyles = {
29
+ position: 'absolute',
30
+ top: '50%',
31
+ left: '50%',
32
+ transform: 'translate(-50%, -50%)',
33
+ marginRight: "var(--ds-space-050, 4px)"
34
+ };
35
+ return /*#__PURE__*/_react.default.createElement(_linkingCommon.Skeleton, {
36
+ width: 14,
37
+ height: 14,
38
+ borderRadius: 2,
39
+ testId: testId,
40
+ style: skeletonCustomStyles
41
+ });
42
+ };
43
+ exports.Shimmer = Shimmer;
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.IconAndTitleLayout = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _reactRenderImage = _interopRequireDefault(require("react-render-image"));
17
+ var _Icon = require("../Icon");
18
+ var _styled = require("./styled");
19
+ var _link = _interopRequireDefault(require("@atlaskit/icon/glyph/link"));
20
+ var _styled2 = require("../styled");
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
22
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
23
+ var IconAndTitleLayout = /*#__PURE__*/function (_React$Component) {
24
+ (0, _inherits2.default)(IconAndTitleLayout, _React$Component);
25
+ var _super = _createSuper(IconAndTitleLayout);
26
+ function IconAndTitleLayout() {
27
+ var _this;
28
+ (0, _classCallCheck2.default)(this, IconAndTitleLayout);
29
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30
+ args[_key] = arguments[_key];
31
+ }
32
+ _this = _super.call.apply(_super, [this].concat(args));
33
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleClick", function (event) {
34
+ var onClick = _this.props.onClick;
35
+ if (onClick) {
36
+ event.preventDefault();
37
+ event.stopPropagation();
38
+ onClick(event);
39
+ }
40
+ });
41
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleKeyPress", function (event) {
42
+ var onClick = _this.props.onClick;
43
+ if (event.key !== ' ' && event.key !== 'Enter') {
44
+ return;
45
+ }
46
+ if (onClick) {
47
+ event.preventDefault();
48
+ event.stopPropagation();
49
+ onClick(event);
50
+ }
51
+ });
52
+ return _this;
53
+ }
54
+ (0, _createClass2.default)(IconAndTitleLayout, [{
55
+ key: "renderAtlaskitIcon",
56
+ value: function renderAtlaskitIcon() {
57
+ var _this$props = this.props,
58
+ icon = _this$props.icon,
59
+ emoji = _this$props.emoji;
60
+ if (emoji) {
61
+ return /*#__PURE__*/_react.default.createElement(_styled.EmojiWrapper, null, emoji);
62
+ }
63
+ if (!icon || typeof icon === 'string') {
64
+ return null;
65
+ }
66
+ return /*#__PURE__*/_react.default.createElement(_styled.IconWrapper, null, icon);
67
+ }
68
+ }, {
69
+ key: "renderImageIcon",
70
+ value: function renderImageIcon(errored, testId) {
71
+ var url = this.props.icon;
72
+ if (!url || typeof url !== 'string') {
73
+ return null;
74
+ }
75
+ return /*#__PURE__*/_react.default.createElement(_reactRenderImage.default, {
76
+ src: url,
77
+ loaded: /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
78
+ className: "smart-link-icon",
79
+ src: url,
80
+ "data-testid": "".concat(testId, "-image")
81
+ }),
82
+ errored: errored,
83
+ loading: /*#__PURE__*/_react.default.createElement(_Icon.Shimmer, {
84
+ testId: "".concat(testId, "-loading")
85
+ })
86
+ });
87
+ }
88
+ }, {
89
+ key: "renderIconPlaceholder",
90
+ value: function renderIconPlaceholder(testId) {
91
+ var defaultIcon = this.props.defaultIcon;
92
+ if (defaultIcon) {
93
+ return /*#__PURE__*/_react.default.createElement(_styled.IconWrapper, null, defaultIcon);
94
+ }
95
+ return /*#__PURE__*/_react.default.createElement(_styled.IconWrapper, null, /*#__PURE__*/_react.default.createElement(_link.default, {
96
+ label: "link",
97
+ size: "small",
98
+ testId: "".concat(testId, "-default")
99
+ }));
100
+ }
101
+ }, {
102
+ key: "renderIcon",
103
+ value: function renderIcon(testId) {
104
+ // We render two kinds of icons here:
105
+ // - Image: acquired from either DAC or Teamwork Platform Apps;
106
+ // - Atlaskit Icon: an Atlaskit SVG;
107
+ // Each of these are scaled down to 12x12.
108
+ var icon = this.renderAtlaskitIcon();
109
+ if (icon) {
110
+ return icon;
111
+ }
112
+ var placeholder = this.renderIconPlaceholder(testId);
113
+ var image = this.renderImageIcon(placeholder, testId);
114
+ return image || placeholder;
115
+ }
116
+ }, {
117
+ key: "render",
118
+ value: function render() {
119
+ var _this$props2 = this.props,
120
+ children = _this$props2.children,
121
+ title = _this$props2.title,
122
+ titleColor = _this$props2.titleColor,
123
+ titleTextColor = _this$props2.titleTextColor,
124
+ link = _this$props2.link,
125
+ rightSide = _this$props2.rightSide,
126
+ _this$props2$testId = _this$props2.testId,
127
+ testId = _this$props2$testId === void 0 ? 'inline-card-icon-and-title' : _this$props2$testId;
128
+ var titlePart = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled.IconPositionWrapper, null, children || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled.IconEmptyWrapper, null), this.renderIcon(testId))), /*#__PURE__*/_react.default.createElement(_styled.TitleWrapper, {
129
+ style: {
130
+ color: titleTextColor
131
+ },
132
+ className: _styled.TitleWrapperClassName
133
+ }, title));
134
+ return /*#__PURE__*/_react.default.createElement(_styled.IconTitleWrapper, {
135
+ style: {
136
+ color: titleColor
137
+ },
138
+ "data-testid": testId
139
+ }, link ? /*#__PURE__*/_react.default.createElement(_styled2.LinkAppearance, {
140
+ href: link,
141
+ onClick: this.handleClick,
142
+ onKeyPress: this.handleKeyPress
143
+ }, titlePart) : titlePart, rightSide ? /*#__PURE__*/_react.default.createElement(_styled2.NoLinkAppearance, null, rightSide) : null);
144
+ }
145
+ }]);
146
+ return IconAndTitleLayout;
147
+ }(_react.default.Component);
148
+ exports.IconAndTitleLayout = IconAndTitleLayout;
149
+ (0, _defineProperty2.default)(IconAndTitleLayout, "defaultProps", {
150
+ rightSideSpacer: true
151
+ });