@atlaskit/smart-card 23.6.4 → 23.6.6

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 23.6.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [`b86cebed4a3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b86cebed4a3) - Hover Preview: Update actionable element hover state
8
+
9
+ ## 23.6.5
10
+
11
+ ### Patch Changes
12
+
13
+ - [`0540b6c16a4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0540b6c16a4) - Hover Preview: Update action experiment analytics
14
+
3
15
  ## 23.6.4
4
16
 
5
17
  ### Patch Changes
@@ -55,6 +55,7 @@ function useSmartLinkActions(_ref) {
55
55
  if (enableActionableElement && opts.type === 'client' && opts.isReloadRequired && ((_opts$action = opts.action) === null || _opts$action === void 0 ? void 0 : _opts$action.type) === 'PreviewAction') {
56
56
  // Reload when embed preview modal close
57
57
  var promise = opts.action.promise;
58
+ opts.action.type = 'StatusAction';
58
59
 
59
60
  opts.action.promise = function () {
60
61
  return promise({
@@ -32,7 +32,8 @@ exports.context = context;
32
32
  var uiActionSubjectIds = {
33
33
  DownloadAction: 'downloadDocument',
34
34
  PreviewAction: 'invokePreviewScreen',
35
- ViewAction: 'shortcutGoToLink'
35
+ ViewAction: 'shortcutGoToLink',
36
+ StatusAction: 'issueStatusUpdate'
36
37
  };
37
38
 
38
39
  var SmartLinkEvents = /*#__PURE__*/function () {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "23.6.4",
3
+ "version": "23.6.6",
4
4
  "sideEffects": false
5
5
  }
@@ -2,14 +2,18 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.default = void 0;
9
11
 
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
10
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
15
 
12
- var _react = _interopRequireDefault(require("react"));
16
+ var _react = _interopRequireWildcard(require("react"));
13
17
 
14
18
  var _react2 = require("@emotion/react");
15
19
 
@@ -19,8 +23,12 @@ var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-
19
23
 
20
24
  var _templateObject, _templateObject2;
21
25
 
26
+ 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); }
27
+
28
+ 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; }
29
+
22
30
  var styles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n line-height: inherit;\n"])));
23
- var actionStyles = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n > span > span {\n display: inline-flex;\n align-items: center;\n margin-right: -2px;\n }\n\n svg {\n width: unset;\n height: unset;\n margin: -4px 0;\n }\n"])));
31
+ var actionStyles = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n > span > span {\n display: inline-flex;\n align-items: center;\n margin-right: -2px;\n }\n\n svg {\n width: unset;\n height: unset;\n margin: -4px 0;\n }\n\n :hover {\n cursor: pointer;\n }\n"])));
24
32
  /**
25
33
  * A base element that displays a Lozenge.
26
34
  * @internal
@@ -38,6 +46,23 @@ var Lozenge = function Lozenge(_ref) {
38
46
  _ref$testId = _ref.testId,
39
47
  testId = _ref$testId === void 0 ? 'smart-element-lozenge' : _ref$testId;
40
48
 
49
+ var _useState = (0, _react.useState)(false),
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ isBold = _useState2[0],
52
+ setIsBold = _useState2[1];
53
+
54
+ var onHover = (0, _react.useCallback)(function (isHover) {
55
+ if (onClick) {
56
+ setIsBold(isHover);
57
+ }
58
+ }, [onClick]);
59
+ var onMouseEnter = (0, _react.useCallback)(function () {
60
+ return onHover(true);
61
+ }, [onHover]);
62
+ var onMouseLeave = (0, _react.useCallback)(function () {
63
+ return onHover(false);
64
+ }, [onHover]);
65
+
41
66
  if (!text) {
42
67
  return null;
43
68
  }
@@ -48,9 +73,13 @@ var Lozenge = function Lozenge(_ref) {
48
73
  "data-smart-element": name,
49
74
  "data-smart-element-lozenge": true,
50
75
  "data-testid": testId,
51
- onClick: onClick
76
+ onClick: onClick,
77
+ onMouseEnter: onMouseEnter,
78
+ onMouseLeave: onMouseLeave,
79
+ tabIndex: onClick ? 0 : -1
52
80
  }, (0, _react2.jsx)(_lozenge.default, {
53
81
  appearance: appearance,
82
+ isBold: isBold,
54
83
  testId: "".concat(testId, "-lozenge")
55
84
  }, text, onClick && (0, _react2.jsx)(_chevronDown.default, {
56
85
  label: "action",
@@ -29,6 +29,7 @@ export function useSmartLinkActions({
29
29
  const {
30
30
  promise
31
31
  } = opts.action;
32
+ opts.action.type = 'StatusAction';
32
33
 
33
34
  opts.action.promise = () => promise({
34
35
  onClose: reload
@@ -9,7 +9,8 @@ export const context = {
9
9
  const uiActionSubjectIds = {
10
10
  DownloadAction: 'downloadDocument',
11
11
  PreviewAction: 'invokePreviewScreen',
12
- ViewAction: 'shortcutGoToLink'
12
+ ViewAction: 'shortcutGoToLink',
13
+ StatusAction: 'issueStatusUpdate'
13
14
  };
14
15
  export class SmartLinkEvents {
15
16
  insertSmartLink(url, type, createAnalyticsEvent) {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "23.6.4",
3
+ "version": "23.6.6",
4
4
  "sideEffects": false
5
5
  }
@@ -1,5 +1,5 @@
1
1
  /** @jsx jsx */
2
- import React from 'react';
2
+ import React, { useCallback, useState } from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import AtlaskitLozenge from '@atlaskit/lozenge';
5
5
  import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
@@ -19,6 +19,10 @@ const actionStyles = css`
19
19
  height: unset;
20
20
  margin: -4px 0;
21
21
  }
22
+
23
+ :hover {
24
+ cursor: pointer;
25
+ }
22
26
  `;
23
27
  /**
24
28
  * A base element that displays a Lozenge.
@@ -35,6 +39,15 @@ const Lozenge = ({
35
39
  text,
36
40
  testId = 'smart-element-lozenge'
37
41
  }) => {
42
+ const [isBold, setIsBold] = useState(false);
43
+ const onHover = useCallback(isHover => {
44
+ if (onClick) {
45
+ setIsBold(isHover);
46
+ }
47
+ }, [onClick]);
48
+ const onMouseEnter = useCallback(() => onHover(true), [onHover]);
49
+ const onMouseLeave = useCallback(() => onHover(false), [onHover]);
50
+
38
51
  if (!text) {
39
52
  return null;
40
53
  }
@@ -45,9 +58,13 @@ const Lozenge = ({
45
58
  "data-smart-element": name,
46
59
  "data-smart-element-lozenge": true,
47
60
  "data-testid": testId,
48
- onClick: onClick
61
+ onClick: onClick,
62
+ onMouseEnter: onMouseEnter,
63
+ onMouseLeave: onMouseLeave,
64
+ tabIndex: onClick ? 0 : -1
49
65
  }, jsx(AtlaskitLozenge, {
50
66
  appearance: appearance,
67
+ isBold: isBold,
51
68
  testId: `${testId}-lozenge`
52
69
  }, text, onClick && jsx(ChevronDownIcon, {
53
70
  label: "action",
@@ -37,6 +37,7 @@ export function useSmartLinkActions(_ref) {
37
37
  if (enableActionableElement && opts.type === 'client' && opts.isReloadRequired && ((_opts$action = opts.action) === null || _opts$action === void 0 ? void 0 : _opts$action.type) === 'PreviewAction') {
38
38
  // Reload when embed preview modal close
39
39
  var promise = opts.action.promise;
40
+ opts.action.type = 'StatusAction';
40
41
 
41
42
  opts.action.promise = function () {
42
43
  return promise({
@@ -17,7 +17,8 @@ export var context = {
17
17
  var uiActionSubjectIds = {
18
18
  DownloadAction: 'downloadDocument',
19
19
  PreviewAction: 'invokePreviewScreen',
20
- ViewAction: 'shortcutGoToLink'
20
+ ViewAction: 'shortcutGoToLink',
21
+ StatusAction: 'issueStatusUpdate'
21
22
  };
22
23
  export var SmartLinkEvents = /*#__PURE__*/function () {
23
24
  function SmartLinkEvents() {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "23.6.4",
3
+ "version": "23.6.6",
4
4
  "sideEffects": false
5
5
  }
@@ -1,14 +1,15 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
3
 
3
4
  var _templateObject, _templateObject2;
4
5
 
5
6
  /** @jsx jsx */
6
- import React from 'react';
7
+ import React, { useCallback, useState } from 'react';
7
8
  import { css, jsx } from '@emotion/react';
8
9
  import AtlaskitLozenge from '@atlaskit/lozenge';
9
10
  import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
10
11
  var styles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: inline-flex;\n line-height: inherit;\n"])));
11
- var actionStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n > span > span {\n display: inline-flex;\n align-items: center;\n margin-right: -2px;\n }\n\n svg {\n width: unset;\n height: unset;\n margin: -4px 0;\n }\n"])));
12
+ var actionStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n > span > span {\n display: inline-flex;\n align-items: center;\n margin-right: -2px;\n }\n\n svg {\n width: unset;\n height: unset;\n margin: -4px 0;\n }\n\n :hover {\n cursor: pointer;\n }\n"])));
12
13
  /**
13
14
  * A base element that displays a Lozenge.
14
15
  * @internal
@@ -26,6 +27,23 @@ var Lozenge = function Lozenge(_ref) {
26
27
  _ref$testId = _ref.testId,
27
28
  testId = _ref$testId === void 0 ? 'smart-element-lozenge' : _ref$testId;
28
29
 
30
+ var _useState = useState(false),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ isBold = _useState2[0],
33
+ setIsBold = _useState2[1];
34
+
35
+ var onHover = useCallback(function (isHover) {
36
+ if (onClick) {
37
+ setIsBold(isHover);
38
+ }
39
+ }, [onClick]);
40
+ var onMouseEnter = useCallback(function () {
41
+ return onHover(true);
42
+ }, [onHover]);
43
+ var onMouseLeave = useCallback(function () {
44
+ return onHover(false);
45
+ }, [onHover]);
46
+
29
47
  if (!text) {
30
48
  return null;
31
49
  }
@@ -36,9 +54,13 @@ var Lozenge = function Lozenge(_ref) {
36
54
  "data-smart-element": name,
37
55
  "data-smart-element-lozenge": true,
38
56
  "data-testid": testId,
39
- onClick: onClick
57
+ onClick: onClick,
58
+ onMouseEnter: onMouseEnter,
59
+ onMouseLeave: onMouseLeave,
60
+ tabIndex: onClick ? 0 : -1
40
61
  }, jsx(AtlaskitLozenge, {
41
62
  appearance: appearance,
63
+ isBold: isBold,
42
64
  testId: "".concat(testId, "-lozenge")
43
65
  }, text, onClick && jsx(ChevronDownIcon, {
44
66
  label: "action",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "23.6.4",
3
+ "version": "23.6.6",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -33,7 +33,7 @@
33
33
  "@atlaskit/icon-object": "^6.2.0",
34
34
  "@atlaskit/icon-priority": "^6.3.0",
35
35
  "@atlaskit/in-product-testing": "^0.1.0",
36
- "@atlaskit/linking-common": "^1.15.0",
36
+ "@atlaskit/linking-common": "^1.16.0",
37
37
  "@atlaskit/logo": "^13.10.0",
38
38
  "@atlaskit/lozenge": "^11.3.0",
39
39
  "@atlaskit/media-common": "^2.17.0",