@atlaskit/dropdown-menu 11.9.3 → 11.9.4

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,11 @@
1
1
  # @atlaskit/dropdown-menu
2
2
 
3
+ ## 11.9.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`296683f5adc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/296683f5adc) - Update DropdownItemCheckbox and DropdownItemRadio icon color and add a border to these icons to be consistent within our design system.
8
+
3
9
  ## 11.9.3
4
10
 
5
11
  ### Patch Changes
@@ -11,11 +11,10 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
14
- var _checkbox = _interopRequireDefault(require("@atlaskit/icon/glyph/checkbox"));
15
14
  var _buttonItem = _interopRequireDefault(require("@atlaskit/menu/button-item"));
15
+ var _checkboxIcon = _interopRequireDefault(require("../internal/components/checkbox-icon"));
16
16
  var _useCheckboxState3 = _interopRequireDefault(require("../internal/hooks/use-checkbox-state"));
17
17
  var _useRegisterItemWithFocusManager = _interopRequireDefault(require("../internal/hooks/use-register-item-with-focus-manager"));
18
- var _getIconColors = _interopRequireDefault(require("../internal/utils/get-icon-colors"));
19
18
  var _excluded = ["id", "isSelected", "defaultSelected", "onClick", "shouldTitleWrap", "shouldDescriptionWrap"];
20
19
  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); }
21
20
  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; }
@@ -51,19 +50,12 @@ var DropdownItemCheckbox = function DropdownItemCheckbox(props) {
51
50
  _useCheckboxState2 = (0, _slicedToArray2.default)(_useCheckboxState, 2),
52
51
  selected = _useCheckboxState2[0],
53
52
  setSelected = _useCheckboxState2[1];
54
- var _useState = (0, _react.useState)((0, _getIconColors.default)(defaultSelected)),
55
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
56
- iconColors = _useState2[0],
57
- setIconColors = _useState2[1];
58
53
  var onClickHandler = (0, _react.useCallback)(function (event) {
59
54
  setSelected(function (selected) {
60
55
  return !selected;
61
56
  });
62
57
  providedOnClick(event);
63
58
  }, [providedOnClick, setSelected]);
64
- (0, _react.useEffect)(function () {
65
- setIconColors((0, _getIconColors.default)(selected));
66
- }, [selected]);
67
59
  var itemRef = (0, _useRegisterItemWithFocusManager.default)();
68
60
  return /*#__PURE__*/_react.default.createElement(_buttonItem.default, (0, _extends2.default)({
69
61
  id: id,
@@ -72,11 +64,8 @@ var DropdownItemCheckbox = function DropdownItemCheckbox(props) {
72
64
  "aria-checked": selected,
73
65
  shouldTitleWrap: shouldTitleWrap,
74
66
  shouldDescriptionWrap: shouldDescriptionWrap,
75
- iconBefore: /*#__PURE__*/_react.default.createElement(_checkbox.default, {
76
- label: "",
77
- size: "medium",
78
- primaryColor: iconColors.primary,
79
- secondaryColor: iconColors.secondary
67
+ iconBefore: /*#__PURE__*/_react.default.createElement(_checkboxIcon.default, {
68
+ checked: selected
80
69
  }),
81
70
  ref: itemRef
82
71
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _svg = _interopRequireDefault(require("@atlaskit/icon/svg"));
10
+ var _colors = require("@atlaskit/theme/colors");
11
+ /**
12
+ * __Checkbox icon__
13
+ *
14
+ * Used to visually represent the selected state in DropdownItemCheckbox
15
+ *
16
+ * @internal
17
+ */
18
+ var CheckboxIcon = function CheckboxIcon(_ref) {
19
+ var checked = _ref.checked;
20
+ return /*#__PURE__*/_react.default.createElement(_svg.default, {
21
+ label: "",
22
+ size: "medium",
23
+ primaryColor: checked ? "var(--ds-background-selected-bold, ".concat(_colors.B400, ")") : "var(--ds-background-input, ".concat(_colors.N10, ")"),
24
+ secondaryColor: checked ? "var(--ds-icon-inverse, ".concat(_colors.N10, ")") : 'transparent'
25
+ }, /*#__PURE__*/_react.default.createElement("g", {
26
+ fillRule: "evenodd"
27
+ }, /*#__PURE__*/_react.default.createElement("rect", {
28
+ fill: "currentColor",
29
+ x: "6",
30
+ y: "6",
31
+ width: "12",
32
+ height: "12",
33
+ rx: "2",
34
+ stroke: checked ? "var(--ds-border-selected, ".concat(_colors.B400, ")") : "var(--ds-border-input, ".concat(_colors.N40, ")"),
35
+ strokeWidth: 2
36
+ }), /*#__PURE__*/_react.default.createElement("path", {
37
+ d: "M9.707 11.293a1 1 0 10-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 10-1.414-1.414L11 12.586l-1.293-1.293z",
38
+ fill: "inherit"
39
+ })));
40
+ };
41
+ var _default = CheckboxIcon;
42
+ exports.default = _default;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _svg = _interopRequireDefault(require("@atlaskit/icon/svg"));
10
+ var _colors = require("@atlaskit/theme/colors");
11
+ /**
12
+ * __Radio icon__
13
+ *
14
+ * Used to visually represent the selected state in DropdownItemRadio
15
+ *
16
+ * @internal
17
+ */
18
+ var RadioIcon = function RadioIcon(_ref) {
19
+ var checked = _ref.checked;
20
+ return /*#__PURE__*/_react.default.createElement(_svg.default, {
21
+ label: "",
22
+ size: "medium",
23
+ primaryColor: checked ? "var(--ds-background-selected-bold, ".concat(_colors.B400, ")") : "var(--ds-background-input, ".concat(_colors.N10, ")"),
24
+ secondaryColor: checked ? "var(--ds-icon-inverse, ".concat(_colors.N10, ")") : 'transparent'
25
+ }, /*#__PURE__*/_react.default.createElement("g", {
26
+ fillRule: "evenodd"
27
+ }, /*#__PURE__*/_react.default.createElement("circle", {
28
+ fill: "currentColor",
29
+ cx: "12",
30
+ cy: "12",
31
+ r: "6",
32
+ stroke: checked ? "var(--ds-border-selected, ".concat(_colors.B400, ")") : "var(--ds-border-input, ".concat(_colors.N40, ")"),
33
+ strokeWidth: 2
34
+ }), /*#__PURE__*/_react.default.createElement("circle", {
35
+ fill: "inherit",
36
+ cx: "12",
37
+ cy: "12",
38
+ r: "2"
39
+ })));
40
+ };
41
+ var _default = RadioIcon;
42
+ exports.default = _default;
@@ -11,11 +11,10 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
14
- var _radio = _interopRequireDefault(require("@atlaskit/icon/glyph/radio"));
15
14
  var _buttonItem = _interopRequireDefault(require("@atlaskit/menu/button-item"));
15
+ var _radioIcon = _interopRequireDefault(require("../internal/components/radio-icon"));
16
16
  var _useRadioState3 = _interopRequireDefault(require("../internal/hooks/use-radio-state"));
17
17
  var _useRegisterItemWithFocusManager = _interopRequireDefault(require("../internal/hooks/use-register-item-with-focus-manager"));
18
- var _getIconColors = _interopRequireDefault(require("../internal/utils/get-icon-colors"));
19
18
  var _isVoiceOverSupported = _interopRequireDefault(require("../internal/utils/is-voice-over-supported"));
20
19
  var _excluded = ["id", "isSelected", "defaultSelected", "onClick", "shouldTitleWrap", "shouldDescriptionWrap"];
21
20
  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); }
@@ -52,19 +51,12 @@ var DropdownItemRadio = function DropdownItemRadio(props) {
52
51
  _useRadioState2 = (0, _slicedToArray2.default)(_useRadioState, 2),
53
52
  selected = _useRadioState2[0],
54
53
  setSelected = _useRadioState2[1];
55
- var _useState = (0, _react.useState)((0, _getIconColors.default)(defaultSelected)),
56
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
- iconColors = _useState2[0],
58
- setIconColors = _useState2[1];
59
54
  var onClickHandler = (0, _react.useCallback)(function (event) {
60
55
  setSelected(function (selected) {
61
56
  return !selected;
62
57
  });
63
58
  providedOnClick(event);
64
59
  }, [providedOnClick, setSelected]);
65
- (0, _react.useEffect)(function () {
66
- setIconColors((0, _getIconColors.default)(selected));
67
- }, [selected]);
68
60
  var itemRef = (0, _useRegisterItemWithFocusManager.default)();
69
61
  return /*#__PURE__*/_react.default.createElement(_buttonItem.default, (0, _extends2.default)({
70
62
  id: id,
@@ -73,11 +65,8 @@ var DropdownItemRadio = function DropdownItemRadio(props) {
73
65
  "aria-checked": selected,
74
66
  shouldTitleWrap: shouldTitleWrap,
75
67
  shouldDescriptionWrap: shouldDescriptionWrap,
76
- iconBefore: /*#__PURE__*/_react.default.createElement(_radio.default, {
77
- label: "",
78
- size: "medium",
79
- primaryColor: iconColors.primary,
80
- secondaryColor: iconColors.secondary
68
+ iconBefore: /*#__PURE__*/_react.default.createElement(_radioIcon.default, {
69
+ checked: selected
81
70
  }),
82
71
  ref: itemRef
83
72
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/dropdown-menu",
3
- "version": "11.9.3",
3
+ "version": "11.9.4",
4
4
  "sideEffects": false
5
5
  }
@@ -1,11 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useCallback, useEffect, useState } from 'react';
2
+ import React, { useCallback } from 'react';
3
3
  import noop from '@atlaskit/ds-lib/noop';
4
- import CheckboxIcon from '@atlaskit/icon/glyph/checkbox';
5
4
  import ButtonItem from '@atlaskit/menu/button-item';
5
+ import CheckboxIcon from '../internal/components/checkbox-icon';
6
6
  import useCheckboxState from '../internal/hooks/use-checkbox-state';
7
7
  import useRegisterItemWithFocusManager from '../internal/hooks/use-register-item-with-focus-manager';
8
- import getIconColors from '../internal/utils/get-icon-colors';
9
8
  /**
10
9
  * __Dropdown item checkbox__
11
10
  *
@@ -34,14 +33,10 @@ const DropdownItemCheckbox = props => {
34
33
  isSelected,
35
34
  defaultSelected
36
35
  });
37
- const [iconColors, setIconColors] = useState(getIconColors(defaultSelected));
38
36
  const onClickHandler = useCallback(event => {
39
37
  setSelected(selected => !selected);
40
38
  providedOnClick(event);
41
39
  }, [providedOnClick, setSelected]);
42
- useEffect(() => {
43
- setIconColors(getIconColors(selected));
44
- }, [selected]);
45
40
  const itemRef = useRegisterItemWithFocusManager();
46
41
  return /*#__PURE__*/React.createElement(ButtonItem, _extends({
47
42
  id: id,
@@ -51,10 +46,7 @@ const DropdownItemCheckbox = props => {
51
46
  shouldTitleWrap: shouldTitleWrap,
52
47
  shouldDescriptionWrap: shouldDescriptionWrap,
53
48
  iconBefore: /*#__PURE__*/React.createElement(CheckboxIcon, {
54
- label: "",
55
- size: "medium",
56
- primaryColor: iconColors.primary,
57
- secondaryColor: iconColors.secondary
49
+ checked: selected
58
50
  }),
59
51
  ref: itemRef
60
52
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import SVGIcon from '@atlaskit/icon/svg';
3
+ import { B400, N10, N40 } from '@atlaskit/theme/colors';
4
+ /**
5
+ * __Checkbox icon__
6
+ *
7
+ * Used to visually represent the selected state in DropdownItemCheckbox
8
+ *
9
+ * @internal
10
+ */
11
+ const CheckboxIcon = ({
12
+ checked
13
+ }) => {
14
+ return /*#__PURE__*/React.createElement(SVGIcon, {
15
+ label: "",
16
+ size: "medium",
17
+ primaryColor: checked ? `var(--ds-background-selected-bold, ${B400})` : `var(--ds-background-input, ${N10})`,
18
+ secondaryColor: checked ? `var(--ds-icon-inverse, ${N10})` : 'transparent'
19
+ }, /*#__PURE__*/React.createElement("g", {
20
+ fillRule: "evenodd"
21
+ }, /*#__PURE__*/React.createElement("rect", {
22
+ fill: "currentColor",
23
+ x: "6",
24
+ y: "6",
25
+ width: "12",
26
+ height: "12",
27
+ rx: "2",
28
+ stroke: checked ? `var(--ds-border-selected, ${B400})` : `var(--ds-border-input, ${N40})`,
29
+ strokeWidth: 2
30
+ }), /*#__PURE__*/React.createElement("path", {
31
+ d: "M9.707 11.293a1 1 0 10-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 10-1.414-1.414L11 12.586l-1.293-1.293z",
32
+ fill: "inherit"
33
+ })));
34
+ };
35
+ export default CheckboxIcon;
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import SVGIcon from '@atlaskit/icon/svg';
3
+ import { B400, N10, N40 } from '@atlaskit/theme/colors';
4
+ /**
5
+ * __Radio icon__
6
+ *
7
+ * Used to visually represent the selected state in DropdownItemRadio
8
+ *
9
+ * @internal
10
+ */
11
+ const RadioIcon = ({
12
+ checked
13
+ }) => {
14
+ return /*#__PURE__*/React.createElement(SVGIcon, {
15
+ label: "",
16
+ size: "medium",
17
+ primaryColor: checked ? `var(--ds-background-selected-bold, ${B400})` : `var(--ds-background-input, ${N10})`,
18
+ secondaryColor: checked ? `var(--ds-icon-inverse, ${N10})` : 'transparent'
19
+ }, /*#__PURE__*/React.createElement("g", {
20
+ fillRule: "evenodd"
21
+ }, /*#__PURE__*/React.createElement("circle", {
22
+ fill: "currentColor",
23
+ cx: "12",
24
+ cy: "12",
25
+ r: "6",
26
+ stroke: checked ? `var(--ds-border-selected, ${B400})` : `var(--ds-border-input, ${N40})`,
27
+ strokeWidth: 2
28
+ }), /*#__PURE__*/React.createElement("circle", {
29
+ fill: "inherit",
30
+ cx: "12",
31
+ cy: "12",
32
+ r: "2"
33
+ })));
34
+ };
35
+ export default RadioIcon;
@@ -1,11 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useCallback, useEffect, useState } from 'react';
2
+ import React, { useCallback } from 'react';
3
3
  import noop from '@atlaskit/ds-lib/noop';
4
- import RadioIcon from '@atlaskit/icon/glyph/radio';
5
4
  import ButtonItem from '@atlaskit/menu/button-item';
5
+ import RadioIcon from '../internal/components/radio-icon';
6
6
  import useRadioState from '../internal/hooks/use-radio-state';
7
7
  import useRegisterItemWithFocusManager from '../internal/hooks/use-register-item-with-focus-manager';
8
- import getIconColors from '../internal/utils/get-icon-colors';
9
8
  import isVoiceOverSupported from '../internal/utils/is-voice-over-supported';
10
9
  /**
11
10
  * __Dropdown item radio__
@@ -35,14 +34,10 @@ const DropdownItemRadio = props => {
35
34
  isSelected,
36
35
  defaultSelected
37
36
  });
38
- const [iconColors, setIconColors] = useState(getIconColors(defaultSelected));
39
37
  const onClickHandler = useCallback(event => {
40
38
  setSelected(selected => !selected);
41
39
  providedOnClick(event);
42
40
  }, [providedOnClick, setSelected]);
43
- useEffect(() => {
44
- setIconColors(getIconColors(selected));
45
- }, [selected]);
46
41
  const itemRef = useRegisterItemWithFocusManager();
47
42
  return /*#__PURE__*/React.createElement(ButtonItem, _extends({
48
43
  id: id,
@@ -52,10 +47,7 @@ const DropdownItemRadio = props => {
52
47
  shouldTitleWrap: shouldTitleWrap,
53
48
  shouldDescriptionWrap: shouldDescriptionWrap,
54
49
  iconBefore: /*#__PURE__*/React.createElement(RadioIcon, {
55
- label: "",
56
- size: "medium",
57
- primaryColor: iconColors.primary,
58
- secondaryColor: iconColors.secondary
50
+ checked: selected
59
51
  }),
60
52
  ref: itemRef
61
53
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/dropdown-menu",
3
- "version": "11.9.3",
3
+ "version": "11.9.4",
4
4
  "sideEffects": false
5
5
  }
@@ -2,13 +2,12 @@ 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
  var _excluded = ["id", "isSelected", "defaultSelected", "onClick", "shouldTitleWrap", "shouldDescriptionWrap"];
5
- import React, { useCallback, useEffect, useState } from 'react';
5
+ import React, { useCallback } from 'react';
6
6
  import noop from '@atlaskit/ds-lib/noop';
7
- import CheckboxIcon from '@atlaskit/icon/glyph/checkbox';
8
7
  import ButtonItem from '@atlaskit/menu/button-item';
8
+ import CheckboxIcon from '../internal/components/checkbox-icon';
9
9
  import useCheckboxState from '../internal/hooks/use-checkbox-state';
10
10
  import useRegisterItemWithFocusManager from '../internal/hooks/use-register-item-with-focus-manager';
11
- import getIconColors from '../internal/utils/get-icon-colors';
12
11
  /**
13
12
  * __Dropdown item checkbox__
14
13
  *
@@ -41,19 +40,12 @@ var DropdownItemCheckbox = function DropdownItemCheckbox(props) {
41
40
  _useCheckboxState2 = _slicedToArray(_useCheckboxState, 2),
42
41
  selected = _useCheckboxState2[0],
43
42
  setSelected = _useCheckboxState2[1];
44
- var _useState = useState(getIconColors(defaultSelected)),
45
- _useState2 = _slicedToArray(_useState, 2),
46
- iconColors = _useState2[0],
47
- setIconColors = _useState2[1];
48
43
  var onClickHandler = useCallback(function (event) {
49
44
  setSelected(function (selected) {
50
45
  return !selected;
51
46
  });
52
47
  providedOnClick(event);
53
48
  }, [providedOnClick, setSelected]);
54
- useEffect(function () {
55
- setIconColors(getIconColors(selected));
56
- }, [selected]);
57
49
  var itemRef = useRegisterItemWithFocusManager();
58
50
  return /*#__PURE__*/React.createElement(ButtonItem, _extends({
59
51
  id: id,
@@ -63,10 +55,7 @@ var DropdownItemCheckbox = function DropdownItemCheckbox(props) {
63
55
  shouldTitleWrap: shouldTitleWrap,
64
56
  shouldDescriptionWrap: shouldDescriptionWrap,
65
57
  iconBefore: /*#__PURE__*/React.createElement(CheckboxIcon, {
66
- label: "",
67
- size: "medium",
68
- primaryColor: iconColors.primary,
69
- secondaryColor: iconColors.secondary
58
+ checked: selected
70
59
  }),
71
60
  ref: itemRef
72
61
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import SVGIcon from '@atlaskit/icon/svg';
3
+ import { B400, N10, N40 } from '@atlaskit/theme/colors';
4
+ /**
5
+ * __Checkbox icon__
6
+ *
7
+ * Used to visually represent the selected state in DropdownItemCheckbox
8
+ *
9
+ * @internal
10
+ */
11
+ var CheckboxIcon = function CheckboxIcon(_ref) {
12
+ var checked = _ref.checked;
13
+ return /*#__PURE__*/React.createElement(SVGIcon, {
14
+ label: "",
15
+ size: "medium",
16
+ primaryColor: checked ? "var(--ds-background-selected-bold, ".concat(B400, ")") : "var(--ds-background-input, ".concat(N10, ")"),
17
+ secondaryColor: checked ? "var(--ds-icon-inverse, ".concat(N10, ")") : 'transparent'
18
+ }, /*#__PURE__*/React.createElement("g", {
19
+ fillRule: "evenodd"
20
+ }, /*#__PURE__*/React.createElement("rect", {
21
+ fill: "currentColor",
22
+ x: "6",
23
+ y: "6",
24
+ width: "12",
25
+ height: "12",
26
+ rx: "2",
27
+ stroke: checked ? "var(--ds-border-selected, ".concat(B400, ")") : "var(--ds-border-input, ".concat(N40, ")"),
28
+ strokeWidth: 2
29
+ }), /*#__PURE__*/React.createElement("path", {
30
+ d: "M9.707 11.293a1 1 0 10-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 10-1.414-1.414L11 12.586l-1.293-1.293z",
31
+ fill: "inherit"
32
+ })));
33
+ };
34
+ export default CheckboxIcon;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import SVGIcon from '@atlaskit/icon/svg';
3
+ import { B400, N10, N40 } from '@atlaskit/theme/colors';
4
+ /**
5
+ * __Radio icon__
6
+ *
7
+ * Used to visually represent the selected state in DropdownItemRadio
8
+ *
9
+ * @internal
10
+ */
11
+ var RadioIcon = function RadioIcon(_ref) {
12
+ var checked = _ref.checked;
13
+ return /*#__PURE__*/React.createElement(SVGIcon, {
14
+ label: "",
15
+ size: "medium",
16
+ primaryColor: checked ? "var(--ds-background-selected-bold, ".concat(B400, ")") : "var(--ds-background-input, ".concat(N10, ")"),
17
+ secondaryColor: checked ? "var(--ds-icon-inverse, ".concat(N10, ")") : 'transparent'
18
+ }, /*#__PURE__*/React.createElement("g", {
19
+ fillRule: "evenodd"
20
+ }, /*#__PURE__*/React.createElement("circle", {
21
+ fill: "currentColor",
22
+ cx: "12",
23
+ cy: "12",
24
+ r: "6",
25
+ stroke: checked ? "var(--ds-border-selected, ".concat(B400, ")") : "var(--ds-border-input, ".concat(N40, ")"),
26
+ strokeWidth: 2
27
+ }), /*#__PURE__*/React.createElement("circle", {
28
+ fill: "inherit",
29
+ cx: "12",
30
+ cy: "12",
31
+ r: "2"
32
+ })));
33
+ };
34
+ export default RadioIcon;
@@ -2,13 +2,12 @@ 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
  var _excluded = ["id", "isSelected", "defaultSelected", "onClick", "shouldTitleWrap", "shouldDescriptionWrap"];
5
- import React, { useCallback, useEffect, useState } from 'react';
5
+ import React, { useCallback } from 'react';
6
6
  import noop from '@atlaskit/ds-lib/noop';
7
- import RadioIcon from '@atlaskit/icon/glyph/radio';
8
7
  import ButtonItem from '@atlaskit/menu/button-item';
8
+ import RadioIcon from '../internal/components/radio-icon';
9
9
  import useRadioState from '../internal/hooks/use-radio-state';
10
10
  import useRegisterItemWithFocusManager from '../internal/hooks/use-register-item-with-focus-manager';
11
- import getIconColors from '../internal/utils/get-icon-colors';
12
11
  import isVoiceOverSupported from '../internal/utils/is-voice-over-supported';
13
12
  /**
14
13
  * __Dropdown item radio__
@@ -42,19 +41,12 @@ var DropdownItemRadio = function DropdownItemRadio(props) {
42
41
  _useRadioState2 = _slicedToArray(_useRadioState, 2),
43
42
  selected = _useRadioState2[0],
44
43
  setSelected = _useRadioState2[1];
45
- var _useState = useState(getIconColors(defaultSelected)),
46
- _useState2 = _slicedToArray(_useState, 2),
47
- iconColors = _useState2[0],
48
- setIconColors = _useState2[1];
49
44
  var onClickHandler = useCallback(function (event) {
50
45
  setSelected(function (selected) {
51
46
  return !selected;
52
47
  });
53
48
  providedOnClick(event);
54
49
  }, [providedOnClick, setSelected]);
55
- useEffect(function () {
56
- setIconColors(getIconColors(selected));
57
- }, [selected]);
58
50
  var itemRef = useRegisterItemWithFocusManager();
59
51
  return /*#__PURE__*/React.createElement(ButtonItem, _extends({
60
52
  id: id,
@@ -64,10 +56,7 @@ var DropdownItemRadio = function DropdownItemRadio(props) {
64
56
  shouldTitleWrap: shouldTitleWrap,
65
57
  shouldDescriptionWrap: shouldDescriptionWrap,
66
58
  iconBefore: /*#__PURE__*/React.createElement(RadioIcon, {
67
- label: "",
68
- size: "medium",
69
- primaryColor: iconColors.primary,
70
- secondaryColor: iconColors.secondary
59
+ checked: selected
71
60
  }),
72
61
  ref: itemRef
73
62
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/dropdown-menu",
3
- "version": "11.9.3",
3
+ "version": "11.9.4",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * __Checkbox icon__
4
+ *
5
+ * Used to visually represent the selected state in DropdownItemCheckbox
6
+ *
7
+ * @internal
8
+ */
9
+ declare const CheckboxIcon: ({ checked }: {
10
+ checked: boolean;
11
+ }) => JSX.Element;
12
+ export default CheckboxIcon;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * __Radio icon__
4
+ *
5
+ * Used to visually represent the selected state in DropdownItemRadio
6
+ *
7
+ * @internal
8
+ */
9
+ declare const RadioIcon: ({ checked }: {
10
+ checked: boolean;
11
+ }) => JSX.Element;
12
+ export default RadioIcon;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * __Checkbox icon__
4
+ *
5
+ * Used to visually represent the selected state in DropdownItemCheckbox
6
+ *
7
+ * @internal
8
+ */
9
+ declare const CheckboxIcon: ({ checked }: {
10
+ checked: boolean;
11
+ }) => JSX.Element;
12
+ export default CheckboxIcon;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * __Radio icon__
4
+ *
5
+ * Used to visually represent the selected state in DropdownItemRadio
6
+ *
7
+ * @internal
8
+ */
9
+ declare const RadioIcon: ({ checked }: {
10
+ checked: boolean;
11
+ }) => JSX.Element;
12
+ export default RadioIcon;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/dropdown-menu",
3
- "version": "11.9.3",
3
+ "version": "11.9.4",
4
4
  "description": "A dropdown menu displays a list of actions or options to a user.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -55,7 +55,7 @@
55
55
  "@atlaskit/ds-explorations": "^2.2.0",
56
56
  "@atlaskit/heading": "^1.3.0",
57
57
  "@atlaskit/lozenge": "11.4.2",
58
- "@atlaskit/modal-dialog": "^12.5.0",
58
+ "@atlaskit/modal-dialog": "^12.6.0",
59
59
  "@atlaskit/primitives": "^0.9.0",
60
60
  "@atlaskit/section-message": "^6.4.0",
61
61
  "@atlaskit/ssr": "*",
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _colors = require("@atlaskit/theme/colors");
8
- var getIconColors = function getIconColors(isSelected) {
9
- if (isSelected) {
10
- return {
11
- primary: "var(--ds-background-brand-bold, ".concat(_colors.B400, ")"),
12
- secondary: "var(--ds-icon-inverse, ".concat(_colors.N40, ")")
13
- };
14
- }
15
- return {
16
- primary: "var(--ds-background-neutral, ".concat(_colors.N40, ")"),
17
- secondary: "var(--ds-UNSAFE-transparent, ".concat(_colors.N40, ")")
18
- };
19
- };
20
- var _default = getIconColors;
21
- exports.default = _default;
@@ -1,14 +0,0 @@
1
- import { B400, N40 } from '@atlaskit/theme/colors';
2
- const getIconColors = isSelected => {
3
- if (isSelected) {
4
- return {
5
- primary: `var(--ds-background-brand-bold, ${B400})`,
6
- secondary: `var(--ds-icon-inverse, ${N40})`
7
- };
8
- }
9
- return {
10
- primary: `var(--ds-background-neutral, ${N40})`,
11
- secondary: `var(--ds-UNSAFE-transparent, ${N40})`
12
- };
13
- };
14
- export default getIconColors;
@@ -1,14 +0,0 @@
1
- import { B400, N40 } from '@atlaskit/theme/colors';
2
- var getIconColors = function getIconColors(isSelected) {
3
- if (isSelected) {
4
- return {
5
- primary: "var(--ds-background-brand-bold, ".concat(B400, ")"),
6
- secondary: "var(--ds-icon-inverse, ".concat(N40, ")")
7
- };
8
- }
9
- return {
10
- primary: "var(--ds-background-neutral, ".concat(N40, ")"),
11
- secondary: "var(--ds-UNSAFE-transparent, ".concat(N40, ")")
12
- };
13
- };
14
- export default getIconColors;
@@ -1,8 +0,0 @@
1
- declare const getIconColors: (isSelected: boolean | undefined) => {
2
- primary: "var(--ds-background-brand-bold)";
3
- secondary: "var(--ds-icon-inverse)";
4
- } | {
5
- primary: "var(--ds-background-neutral)";
6
- secondary: "var(--ds-UNSAFE-transparent)";
7
- };
8
- export default getIconColors;
@@ -1,8 +0,0 @@
1
- declare const getIconColors: (isSelected: boolean | undefined) => {
2
- primary: "var(--ds-background-brand-bold)";
3
- secondary: "var(--ds-icon-inverse)";
4
- } | {
5
- primary: "var(--ds-background-neutral)";
6
- secondary: "var(--ds-UNSAFE-transparent)";
7
- };
8
- export default getIconColors;