@atlaskit/button 17.22.2 → 17.23.0

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,21 @@
1
1
  # @atlaskit/button
2
2
 
3
+ ## 17.23.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#112945](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/112945)
8
+ [`d7af9e23536c0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/d7af9e23536c0) -
9
+ New button prevents unintended spread props being passed to children. The following props will now
10
+ be ignored:
11
+
12
+ - css
13
+ - style
14
+ - as
15
+ - className
16
+
17
+ Note: These props were already excluded via types. The API has not changed.
18
+
3
19
  ## 17.22.2
4
20
 
5
21
  ### Patch Changes
@@ -8,9 +8,11 @@ exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _pressable = _interopRequireDefault(require("@atlaskit/primitives/pressable"));
12
13
  var _useDefaultButton = _interopRequireDefault(require("./use-default-button"));
13
- var _excluded = ["analyticsContext", "appearance", "aria-label", "aria-labelledby", "autoFocus", "children", "iconAfter", "iconBefore", "interactionName", "isDisabled", "isLoading", "isSelected", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shouldFitContainer", "spacing", "testId", "type", "UNSAFE_iconAfter_size", "UNSAFE_iconBefore_size"];
14
+ var _excluded = ["analyticsContext", "appearance", "aria-label", "aria-labelledby", "autoFocus", "children", "iconAfter", "iconBefore", "interactionName", "isDisabled", "isLoading", "isSelected", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shouldFitContainer", "spacing", "testId", "type", "UNSAFE_iconAfter_size", "UNSAFE_iconBefore_size"],
15
+ _excluded2 = ["className", "css", "as", "style"];
14
16
  /**
15
17
  * __Button__
16
18
  *
@@ -51,7 +53,14 @@ var Button = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
51
53
  type = _ref$type === void 0 ? 'button' : _ref$type,
52
54
  UNSAFE_iconAfter_size = _ref.UNSAFE_iconAfter_size,
53
55
  UNSAFE_iconBefore_size = _ref.UNSAFE_iconBefore_size,
54
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
56
+ unsafeRest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
57
+ // @ts-expect-error
58
+ var _className = unsafeRest.className,
59
+ _css = unsafeRest.css,
60
+ _as = unsafeRest.as,
61
+ _style = unsafeRest.style,
62
+ saferRest = (0, _objectWithoutProperties2.default)(unsafeRest, _excluded2);
63
+ var rest = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
55
64
  var baseProps = (0, _useDefaultButton.default)({
56
65
  ariaLabel: ariaLabel,
57
66
  ariaLabelledBy: ariaLabelledBy,
@@ -9,9 +9,11 @@ exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  var _anchor = _interopRequireDefault(require("@atlaskit/primitives/anchor"));
13
14
  var _useDefaultButton = _interopRequireDefault(require("./use-default-button"));
14
- var _excluded = ["analyticsContext", "appearance", "aria-label", "aria-labelledby", "autoFocus", "children", "href", "iconAfter", "iconBefore", "interactionName", "isDisabled", "isSelected", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shouldFitContainer", "spacing", "testId", "UNSAFE_iconAfter_size", "UNSAFE_iconBefore_size"];
15
+ var _excluded = ["analyticsContext", "appearance", "aria-label", "aria-labelledby", "autoFocus", "children", "href", "iconAfter", "iconBefore", "interactionName", "isDisabled", "isSelected", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shouldFitContainer", "spacing", "testId", "UNSAFE_iconAfter_size", "UNSAFE_iconBefore_size"],
16
+ _excluded2 = ["className", "css", "as", "style"];
15
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
19
  var LinkButtonBase = function LinkButtonBase(_ref, ref) {
@@ -43,12 +45,19 @@ var LinkButtonBase = function LinkButtonBase(_ref, ref) {
43
45
  testId = _ref.testId,
44
46
  UNSAFE_iconAfter_size = _ref.UNSAFE_iconAfter_size,
45
47
  UNSAFE_iconBefore_size = _ref.UNSAFE_iconBefore_size,
46
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
48
+ unsafeRest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
49
+ // @ts-expect-error
50
+ var _className = unsafeRest.className,
51
+ _css = unsafeRest.css,
52
+ _as = unsafeRest.as,
53
+ _style = unsafeRest.style,
54
+ saferRest = (0, _objectWithoutProperties2.default)(unsafeRest, _excluded2);
55
+ var rest = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
47
56
  var baseProps = (0, _useDefaultButton.default)({
48
- ariaLabel: ariaLabel,
49
- ariaLabelledBy: ariaLabelledBy,
50
57
  analyticsContext: analyticsContext,
51
58
  appearance: appearance,
59
+ ariaLabel: ariaLabel,
60
+ ariaLabelledBy: ariaLabelledBy,
52
61
  autoFocus: autoFocus,
53
62
  buttonType: 'link',
54
63
  children: children,
@@ -8,10 +8,12 @@ exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _pressable = _interopRequireDefault(require("@atlaskit/primitives/pressable"));
12
13
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
13
14
  var _useIconButton = _interopRequireDefault(require("./use-icon-button"));
14
- var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "icon", "interactionName", "isDisabled", "isLoading", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shape", "spacing", "testId", "tooltip", "type", "UNSAFE_size"];
15
+ var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "icon", "interactionName", "isDisabled", "isLoading", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shape", "spacing", "testId", "tooltip", "type", "UNSAFE_size"],
16
+ _excluded2 = ["className", "css", "as", "style"];
15
17
  /**
16
18
  * __Icon Button__
17
19
  *
@@ -53,7 +55,15 @@ var IconButton = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
53
55
  _ref$type = _ref.type,
54
56
  type = _ref$type === void 0 ? 'button' : _ref$type,
55
57
  UNSAFE_size = _ref.UNSAFE_size,
56
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
58
+ unsafeRest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
59
+ // @ts-expect-error
60
+ var _className = unsafeRest.className,
61
+ _css = unsafeRest.css,
62
+ _as = unsafeRest.as,
63
+ _style = unsafeRest.style,
64
+ saferRest = (0, _objectWithoutProperties2.default)(unsafeRest, _excluded2);
65
+ var rest = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
66
+
57
67
  /**
58
68
  * TODO: At some stage I'll look into re-using more logic across 'default' and 'icon'
59
69
  * buttons. It's currently duplicated and mostly the same.
@@ -105,9 +115,8 @@ var IconButton = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
105
115
  hideTooltipOnClick: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnClick,
106
116
  hideTooltipOnMouseDown: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnMouseDown
107
117
  }, function (triggerProps) {
108
- return /*#__PURE__*/_react.default.createElement(_pressable.default
109
- // Top level props
110
- , (0, _extends2.default)({}, rest, {
118
+ return /*#__PURE__*/_react.default.createElement(_pressable.default, (0, _extends2.default)({}, rest, {
119
+ // Top level props
111
120
  "aria-labelledby": baseProps['aria-labelledby'],
112
121
  type: type,
113
122
  testId: testId,
@@ -9,10 +9,12 @@ exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  var _anchor = _interopRequireDefault(require("@atlaskit/primitives/anchor"));
13
14
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
14
15
  var _useIconButton = _interopRequireDefault(require("./use-icon-button"));
15
- var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "href", "icon", "interactionName", "isDisabled", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shape", "spacing", "testId", "tooltip", "UNSAFE_size"];
16
+ var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "href", "icon", "interactionName", "isDisabled", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shape", "spacing", "testId", "tooltip", "UNSAFE_size"],
17
+ _excluded2 = ["className", "css", "as", "style"];
16
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
20
  var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
@@ -45,7 +47,14 @@ var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
45
47
  testId = _ref.testId,
46
48
  tooltip = _ref.tooltip,
47
49
  UNSAFE_size = _ref.UNSAFE_size,
48
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
50
+ unsafeRest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
51
+ // @ts-expect-error
52
+ var _className = unsafeRest.className,
53
+ _css = unsafeRest.css,
54
+ _as = unsafeRest.as,
55
+ _style = unsafeRest.style,
56
+ saferRest = (0, _objectWithoutProperties2.default)(unsafeRest, _excluded2);
57
+ var rest = (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
49
58
  var baseProps = (0, _useIconButton.default)({
50
59
  analyticsContext: analyticsContext,
51
60
  appearance: appearance,
@@ -133,7 +133,7 @@ var _default = exports.default = /*#__PURE__*/_react.default.forwardRef(function
133
133
  action: 'clicked',
134
134
  componentName: 'button',
135
135
  packageName: "@atlaskit/button",
136
- packageVersion: "17.22.2",
136
+ packageVersion: "17.23.0",
137
137
  analyticsData: analyticsContext
138
138
  });
139
139
 
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  import Pressable from '@atlaskit/primitives/pressable';
4
5
  import useDefaultButton from './use-default-button';
5
6
  /**
@@ -41,8 +42,17 @@ const Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function B
41
42
  type = 'button',
42
43
  UNSAFE_iconAfter_size,
43
44
  UNSAFE_iconBefore_size,
44
- ...rest
45
+ ...unsafeRest
45
46
  }, ref) {
47
+ // @ts-expect-error
48
+ const {
49
+ className: _className,
50
+ css: _css,
51
+ as: _as,
52
+ style: _style,
53
+ ...saferRest
54
+ } = unsafeRest;
55
+ const rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
46
56
  const baseProps = useDefaultButton({
47
57
  ariaLabel,
48
58
  ariaLabelledBy,
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { forwardRef, memo } from 'react';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  import Anchor from '@atlaskit/primitives/anchor';
4
5
  import useDefaultButton from './use-default-button';
5
6
  const LinkButtonBase = ({
@@ -31,13 +32,22 @@ const LinkButtonBase = ({
31
32
  testId,
32
33
  UNSAFE_iconAfter_size,
33
34
  UNSAFE_iconBefore_size,
34
- ...rest
35
+ ...unsafeRest
35
36
  }, ref) => {
37
+ // @ts-expect-error
38
+ const {
39
+ className: _className,
40
+ css: _css,
41
+ as: _as,
42
+ style: _style,
43
+ ...saferRest
44
+ } = unsafeRest;
45
+ const rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
36
46
  const baseProps = useDefaultButton({
37
- ariaLabel,
38
- ariaLabelledBy,
39
47
  analyticsContext,
40
48
  appearance,
49
+ ariaLabel,
50
+ ariaLabelledBy,
41
51
  autoFocus,
42
52
  buttonType: 'link',
43
53
  children,
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  import Pressable from '@atlaskit/primitives/pressable';
4
5
  import Tooltip from '@atlaskit/tooltip';
5
6
  import useIconButton from './use-icon-button';
@@ -43,8 +44,18 @@ const IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
43
44
  tooltip,
44
45
  type = 'button',
45
46
  UNSAFE_size,
46
- ...rest
47
+ ...unsafeRest
47
48
  }, ref) {
49
+ // @ts-expect-error
50
+ const {
51
+ className: _className,
52
+ css: _css,
53
+ as: _as,
54
+ style: _style,
55
+ ...saferRest
56
+ } = unsafeRest;
57
+ const rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
58
+
48
59
  /**
49
60
  * TODO: At some stage I'll look into re-using more logic across 'default' and 'icon'
50
61
  * buttons. It's currently duplicated and mostly the same.
@@ -95,9 +106,8 @@ const IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
95
106
  component: tooltip === null || tooltip === void 0 ? void 0 : tooltip.component,
96
107
  hideTooltipOnClick: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnClick,
97
108
  hideTooltipOnMouseDown: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnMouseDown
98
- }, triggerProps => /*#__PURE__*/React.createElement(Pressable
99
- // Top level props
100
- , _extends({}, rest, {
109
+ }, triggerProps => /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
110
+ // Top level props
101
111
  "aria-labelledby": baseProps['aria-labelledby'],
102
112
  type: type,
103
113
  testId: testId,
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { forwardRef, memo } from 'react';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  import Anchor from '@atlaskit/primitives/anchor';
4
5
  import Tooltip from '@atlaskit/tooltip';
5
6
  import useIconButton from './use-icon-button';
@@ -33,8 +34,17 @@ const LinkIconButtonBase = ({
33
34
  testId,
34
35
  tooltip,
35
36
  UNSAFE_size,
36
- ...rest
37
+ ...unsafeRest
37
38
  }, ref) => {
39
+ // @ts-expect-error
40
+ const {
41
+ className: _className,
42
+ css: _css,
43
+ as: _as,
44
+ style: _style,
45
+ ...saferRest
46
+ } = unsafeRest;
47
+ const rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
38
48
  const baseProps = useIconButton({
39
49
  analyticsContext,
40
50
  appearance,
@@ -119,7 +119,7 @@ export default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {
119
119
  action: 'clicked',
120
120
  componentName: 'button',
121
121
  packageName: "@atlaskit/button",
122
- packageVersion: "17.22.2",
122
+ packageVersion: "17.23.0",
123
123
  analyticsData: analyticsContext
124
124
  });
125
125
 
@@ -1,7 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["analyticsContext", "appearance", "aria-label", "aria-labelledby", "autoFocus", "children", "iconAfter", "iconBefore", "interactionName", "isDisabled", "isLoading", "isSelected", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shouldFitContainer", "spacing", "testId", "type", "UNSAFE_iconAfter_size", "UNSAFE_iconBefore_size"];
3
+ var _excluded = ["analyticsContext", "appearance", "aria-label", "aria-labelledby", "autoFocus", "children", "iconAfter", "iconBefore", "interactionName", "isDisabled", "isLoading", "isSelected", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shouldFitContainer", "spacing", "testId", "type", "UNSAFE_iconAfter_size", "UNSAFE_iconBefore_size"],
4
+ _excluded2 = ["className", "css", "as", "style"];
4
5
  import React from 'react';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
7
  import Pressable from '@atlaskit/primitives/pressable';
6
8
  import useDefaultButton from './use-default-button';
7
9
  /**
@@ -44,7 +46,14 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function But
44
46
  type = _ref$type === void 0 ? 'button' : _ref$type,
45
47
  UNSAFE_iconAfter_size = _ref.UNSAFE_iconAfter_size,
46
48
  UNSAFE_iconBefore_size = _ref.UNSAFE_iconBefore_size,
47
- rest = _objectWithoutProperties(_ref, _excluded);
49
+ unsafeRest = _objectWithoutProperties(_ref, _excluded);
50
+ // @ts-expect-error
51
+ var _className = unsafeRest.className,
52
+ _css = unsafeRest.css,
53
+ _as = unsafeRest.as,
54
+ _style = unsafeRest.style,
55
+ saferRest = _objectWithoutProperties(unsafeRest, _excluded2);
56
+ var rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
48
57
  var baseProps = useDefaultButton({
49
58
  ariaLabel: ariaLabel,
50
59
  ariaLabelledBy: ariaLabelledBy,
@@ -1,7 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["analyticsContext", "appearance", "aria-label", "aria-labelledby", "autoFocus", "children", "href", "iconAfter", "iconBefore", "interactionName", "isDisabled", "isSelected", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shouldFitContainer", "spacing", "testId", "UNSAFE_iconAfter_size", "UNSAFE_iconBefore_size"];
3
+ var _excluded = ["analyticsContext", "appearance", "aria-label", "aria-labelledby", "autoFocus", "children", "href", "iconAfter", "iconBefore", "interactionName", "isDisabled", "isSelected", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shouldFitContainer", "spacing", "testId", "UNSAFE_iconAfter_size", "UNSAFE_iconBefore_size"],
4
+ _excluded2 = ["className", "css", "as", "style"];
4
5
  import React, { forwardRef, memo } from 'react';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
7
  import Anchor from '@atlaskit/primitives/anchor';
6
8
  import useDefaultButton from './use-default-button';
7
9
  var LinkButtonBase = function LinkButtonBase(_ref, ref) {
@@ -33,12 +35,19 @@ var LinkButtonBase = function LinkButtonBase(_ref, ref) {
33
35
  testId = _ref.testId,
34
36
  UNSAFE_iconAfter_size = _ref.UNSAFE_iconAfter_size,
35
37
  UNSAFE_iconBefore_size = _ref.UNSAFE_iconBefore_size,
36
- rest = _objectWithoutProperties(_ref, _excluded);
38
+ unsafeRest = _objectWithoutProperties(_ref, _excluded);
39
+ // @ts-expect-error
40
+ var _className = unsafeRest.className,
41
+ _css = unsafeRest.css,
42
+ _as = unsafeRest.as,
43
+ _style = unsafeRest.style,
44
+ saferRest = _objectWithoutProperties(unsafeRest, _excluded2);
45
+ var rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
37
46
  var baseProps = useDefaultButton({
38
- ariaLabel: ariaLabel,
39
- ariaLabelledBy: ariaLabelledBy,
40
47
  analyticsContext: analyticsContext,
41
48
  appearance: appearance,
49
+ ariaLabel: ariaLabel,
50
+ ariaLabelledBy: ariaLabelledBy,
42
51
  autoFocus: autoFocus,
43
52
  buttonType: 'link',
44
53
  children: children,
@@ -1,7 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "icon", "interactionName", "isDisabled", "isLoading", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shape", "spacing", "testId", "tooltip", "type", "UNSAFE_size"];
3
+ var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "icon", "interactionName", "isDisabled", "isLoading", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shape", "spacing", "testId", "tooltip", "type", "UNSAFE_size"],
4
+ _excluded2 = ["className", "css", "as", "style"];
4
5
  import React from 'react';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
7
  import Pressable from '@atlaskit/primitives/pressable';
6
8
  import Tooltip from '@atlaskit/tooltip';
7
9
  import useIconButton from './use-icon-button';
@@ -46,7 +48,15 @@ var IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
46
48
  _ref$type = _ref.type,
47
49
  type = _ref$type === void 0 ? 'button' : _ref$type,
48
50
  UNSAFE_size = _ref.UNSAFE_size,
49
- rest = _objectWithoutProperties(_ref, _excluded);
51
+ unsafeRest = _objectWithoutProperties(_ref, _excluded);
52
+ // @ts-expect-error
53
+ var _className = unsafeRest.className,
54
+ _css = unsafeRest.css,
55
+ _as = unsafeRest.as,
56
+ _style = unsafeRest.style,
57
+ saferRest = _objectWithoutProperties(unsafeRest, _excluded2);
58
+ var rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
59
+
50
60
  /**
51
61
  * TODO: At some stage I'll look into re-using more logic across 'default' and 'icon'
52
62
  * buttons. It's currently duplicated and mostly the same.
@@ -98,9 +108,8 @@ var IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
98
108
  hideTooltipOnClick: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnClick,
99
109
  hideTooltipOnMouseDown: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnMouseDown
100
110
  }, function (triggerProps) {
101
- return /*#__PURE__*/React.createElement(Pressable
102
- // Top level props
103
- , _extends({}, rest, {
111
+ return /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
112
+ // Top level props
104
113
  "aria-labelledby": baseProps['aria-labelledby'],
105
114
  type: type,
106
115
  testId: testId,
@@ -1,7 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "href", "icon", "interactionName", "isDisabled", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shape", "spacing", "testId", "tooltip", "UNSAFE_size"];
3
+ var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "href", "icon", "interactionName", "isDisabled", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "overlay", "shape", "spacing", "testId", "tooltip", "UNSAFE_size"],
4
+ _excluded2 = ["className", "css", "as", "style"];
4
5
  import React, { forwardRef, memo } from 'react';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
7
  import Anchor from '@atlaskit/primitives/anchor';
6
8
  import Tooltip from '@atlaskit/tooltip';
7
9
  import useIconButton from './use-icon-button';
@@ -35,7 +37,14 @@ var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
35
37
  testId = _ref.testId,
36
38
  tooltip = _ref.tooltip,
37
39
  UNSAFE_size = _ref.UNSAFE_size,
38
- rest = _objectWithoutProperties(_ref, _excluded);
40
+ unsafeRest = _objectWithoutProperties(_ref, _excluded);
41
+ // @ts-expect-error
42
+ var _className = unsafeRest.className,
43
+ _css = unsafeRest.css,
44
+ _as = unsafeRest.as,
45
+ _style = unsafeRest.style,
46
+ saferRest = _objectWithoutProperties(unsafeRest, _excluded2);
47
+ var rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
39
48
  var baseProps = useIconButton({
40
49
  analyticsContext: analyticsContext,
41
50
  appearance: appearance,
@@ -125,7 +125,7 @@ export default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {
125
125
  action: 'clicked',
126
126
  componentName: 'button',
127
127
  packageName: "@atlaskit/button",
128
- packageVersion: "17.22.2",
128
+ packageVersion: "17.23.0",
129
129
  analyticsData: analyticsContext
130
130
  });
131
131
 
@@ -2,7 +2,7 @@ import { type Ref } from 'react';
2
2
  import { type AdditionalDefaultLinkVariantProps, type CommonLinkVariantProps } from '../types';
3
3
  import { type CommonDefaultButtonProps } from './types';
4
4
  export type LinkButtonProps<RouterLinkConfig extends Record<string, any> = never> = CommonDefaultButtonProps & CommonLinkVariantProps<RouterLinkConfig> & AdditionalDefaultLinkVariantProps;
5
- declare const LinkButtonBase: <RouterLinkConfig extends Record<string, any> = never>({ analyticsContext, appearance, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, autoFocus, children, href, iconAfter, iconBefore, interactionName, isDisabled, isSelected, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, overlay, shouldFitContainer, spacing, testId, UNSAFE_iconAfter_size, UNSAFE_iconBefore_size, ...rest }: LinkButtonProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
5
+ declare const LinkButtonBase: <RouterLinkConfig extends Record<string, any> = never>({ analyticsContext, appearance, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, autoFocus, children, href, iconAfter, iconBefore, interactionName, isDisabled, isSelected, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, overlay, shouldFitContainer, spacing, testId, UNSAFE_iconAfter_size, UNSAFE_iconBefore_size, ...unsafeRest }: LinkButtonProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
6
6
  /**
7
7
  * __Link Button__
8
8
  *
@@ -2,7 +2,7 @@ import { type Ref } from 'react';
2
2
  import { type CommonLinkVariantProps } from '../types';
3
3
  import { type CommonIconButtonProps } from './types';
4
4
  export type LinkIconButtonProps<RouterLinkConfig extends Record<string, any> = never> = CommonIconButtonProps & CommonLinkVariantProps<RouterLinkConfig>;
5
- declare const LinkIconButtonBase: <RouterLinkConfig extends Record<string, any> = never>({ "aria-label": preventedAriaLabel, "aria-labelledby": ariaLabelledBy, analyticsContext, appearance, autoFocus, href, icon, interactionName, isDisabled, isSelected, isTooltipDisabled, label, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, overlay, shape, spacing, testId, tooltip, UNSAFE_size, ...rest }: LinkIconButtonProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
5
+ declare const LinkIconButtonBase: <RouterLinkConfig extends Record<string, any> = never>({ "aria-label": preventedAriaLabel, "aria-labelledby": ariaLabelledBy, analyticsContext, appearance, autoFocus, href, icon, interactionName, isDisabled, isSelected, isTooltipDisabled, label, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, overlay, shape, spacing, testId, tooltip, UNSAFE_size, ...unsafeRest }: LinkIconButtonProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
6
6
  /**
7
7
  * __Link Icon Button__
8
8
  *
@@ -2,7 +2,7 @@ import { type Ref } from 'react';
2
2
  import { type AdditionalDefaultLinkVariantProps, type CommonLinkVariantProps } from '../types';
3
3
  import { type CommonDefaultButtonProps } from './types';
4
4
  export type LinkButtonProps<RouterLinkConfig extends Record<string, any> = never> = CommonDefaultButtonProps & CommonLinkVariantProps<RouterLinkConfig> & AdditionalDefaultLinkVariantProps;
5
- declare const LinkButtonBase: <RouterLinkConfig extends Record<string, any> = never>({ analyticsContext, appearance, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, autoFocus, children, href, iconAfter, iconBefore, interactionName, isDisabled, isSelected, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, overlay, shouldFitContainer, spacing, testId, UNSAFE_iconAfter_size, UNSAFE_iconBefore_size, ...rest }: LinkButtonProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
5
+ declare const LinkButtonBase: <RouterLinkConfig extends Record<string, any> = never>({ analyticsContext, appearance, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, autoFocus, children, href, iconAfter, iconBefore, interactionName, isDisabled, isSelected, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, overlay, shouldFitContainer, spacing, testId, UNSAFE_iconAfter_size, UNSAFE_iconBefore_size, ...unsafeRest }: LinkButtonProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
6
6
  /**
7
7
  * __Link Button__
8
8
  *
@@ -2,7 +2,7 @@ import { type Ref } from 'react';
2
2
  import { type CommonLinkVariantProps } from '../types';
3
3
  import { type CommonIconButtonProps } from './types';
4
4
  export type LinkIconButtonProps<RouterLinkConfig extends Record<string, any> = never> = CommonIconButtonProps & CommonLinkVariantProps<RouterLinkConfig>;
5
- declare const LinkIconButtonBase: <RouterLinkConfig extends Record<string, any> = never>({ "aria-label": preventedAriaLabel, "aria-labelledby": ariaLabelledBy, analyticsContext, appearance, autoFocus, href, icon, interactionName, isDisabled, isSelected, isTooltipDisabled, label, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, overlay, shape, spacing, testId, tooltip, UNSAFE_size, ...rest }: LinkIconButtonProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
5
+ declare const LinkIconButtonBase: <RouterLinkConfig extends Record<string, any> = never>({ "aria-label": preventedAriaLabel, "aria-labelledby": ariaLabelledBy, analyticsContext, appearance, autoFocus, href, icon, interactionName, isDisabled, isSelected, isTooltipDisabled, label, onClick, onClickCapture, onKeyDownCapture, onKeyUpCapture, onMouseDownCapture, onMouseUpCapture, onPointerDownCapture, onPointerUpCapture, onTouchEndCapture, onTouchStartCapture, overlay, shape, spacing, testId, tooltip, UNSAFE_size, ...unsafeRest }: LinkIconButtonProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
6
6
  /**
7
7
  * __Link Icon Button__
8
8
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/button",
3
- "version": "17.22.2",
3
+ "version": "17.23.0",
4
4
  "description": "A button triggers an event or action. They let users know what will happen next.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -204,6 +204,9 @@
204
204
  "platform.design-system-team.component-visual-refresh_t8zbo": {
205
205
  "type": "boolean"
206
206
  },
207
+ "platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw": {
208
+ "type": "boolean"
209
+ },
207
210
  "platform.design-system-team.button-render-prop-fix_lyo55": {
208
211
  "type": "boolean"
209
212
  }