@atlaskit/button 18.4.1 → 19.1.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.
Files changed (73) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/cjs/containers/button-group.js +3 -9
  3. package/dist/cjs/new-button/containers/split-button/split-button.js +3 -3
  4. package/dist/cjs/new-button/variants/default/button.js +3 -9
  5. package/dist/cjs/new-button/variants/default/link.js +3 -9
  6. package/dist/cjs/new-button/variants/default/use-default-button.js +3 -7
  7. package/dist/cjs/new-button/variants/icon/button.js +16 -20
  8. package/dist/cjs/new-button/variants/icon/link.js +16 -20
  9. package/dist/cjs/new-button/variants/icon/use-icon-button.js +2 -4
  10. package/dist/cjs/new-button/variants/shared/icon-renderer.js +1 -4
  11. package/dist/cjs/new-button/variants/shared/use-button-base.js +2 -2
  12. package/dist/cjs/old-button/button.js +3 -1
  13. package/dist/cjs/old-button/custom-theme-button/custom-theme-button.js +4 -0
  14. package/dist/cjs/old-button/loading-button.js +3 -1
  15. package/dist/cjs/old-button/shared/button-base.js +2 -2
  16. package/dist/cjs/old-button/shared/css.js +3 -3
  17. package/dist/es2019/containers/button-group.js +2 -8
  18. package/dist/es2019/new-button/containers/split-button/split-button.js +3 -3
  19. package/dist/es2019/new-button/variants/default/button.js +2 -8
  20. package/dist/es2019/new-button/variants/default/link.js +2 -8
  21. package/dist/es2019/new-button/variants/default/use-default-button.js +3 -7
  22. package/dist/es2019/new-button/variants/icon/button.js +15 -19
  23. package/dist/es2019/new-button/variants/icon/link.js +15 -19
  24. package/dist/es2019/new-button/variants/icon/use-icon-button.js +2 -4
  25. package/dist/es2019/new-button/variants/shared/icon-renderer.js +1 -4
  26. package/dist/es2019/new-button/variants/shared/use-button-base.js +2 -2
  27. package/dist/es2019/old-button/button.js +3 -1
  28. package/dist/es2019/old-button/custom-theme-button/custom-theme-button.js +4 -0
  29. package/dist/es2019/old-button/loading-button.js +3 -1
  30. package/dist/es2019/old-button/shared/button-base.js +2 -2
  31. package/dist/es2019/old-button/shared/css.js +3 -3
  32. package/dist/esm/containers/button-group.js +3 -9
  33. package/dist/esm/new-button/containers/split-button/split-button.js +3 -3
  34. package/dist/esm/new-button/variants/default/button.js +3 -9
  35. package/dist/esm/new-button/variants/default/link.js +3 -9
  36. package/dist/esm/new-button/variants/default/use-default-button.js +3 -7
  37. package/dist/esm/new-button/variants/icon/button.js +16 -20
  38. package/dist/esm/new-button/variants/icon/link.js +16 -20
  39. package/dist/esm/new-button/variants/icon/use-icon-button.js +2 -4
  40. package/dist/esm/new-button/variants/shared/icon-renderer.js +1 -4
  41. package/dist/esm/new-button/variants/shared/use-button-base.js +2 -2
  42. package/dist/esm/old-button/button.js +3 -1
  43. package/dist/esm/old-button/custom-theme-button/custom-theme-button.js +4 -0
  44. package/dist/esm/old-button/loading-button.js +3 -1
  45. package/dist/esm/old-button/shared/button-base.js +2 -2
  46. package/dist/esm/old-button/shared/css.js +3 -3
  47. package/dist/types/containers/button-group.d.ts +2 -9
  48. package/dist/types/new-button/containers/split-button/split-button.d.ts +1 -1
  49. package/dist/types/new-button/variants/default/link.d.ts +1 -1
  50. package/dist/types/new-button/variants/default/types.d.ts +1 -15
  51. package/dist/types/new-button/variants/default/use-default-button.d.ts +1 -1
  52. package/dist/types/new-button/variants/icon/link.d.ts +1 -1
  53. package/dist/types/new-button/variants/icon/types.d.ts +1 -8
  54. package/dist/types/new-button/variants/icon/use-icon-button.d.ts +1 -1
  55. package/dist/types/new-button/variants/shared/icon-renderer.d.ts +1 -3
  56. package/dist/types/old-button/button.d.ts +3 -1
  57. package/dist/types/old-button/custom-theme-button/custom-theme-button.d.ts +4 -0
  58. package/dist/types/old-button/loading-button.d.ts +3 -1
  59. package/dist/types/old-button/shared/button-base.d.ts +1 -1
  60. package/dist/types-ts4.5/containers/button-group.d.ts +2 -9
  61. package/dist/types-ts4.5/new-button/containers/split-button/split-button.d.ts +1 -1
  62. package/dist/types-ts4.5/new-button/variants/default/link.d.ts +1 -1
  63. package/dist/types-ts4.5/new-button/variants/default/types.d.ts +1 -15
  64. package/dist/types-ts4.5/new-button/variants/default/use-default-button.d.ts +1 -1
  65. package/dist/types-ts4.5/new-button/variants/icon/link.d.ts +1 -1
  66. package/dist/types-ts4.5/new-button/variants/icon/types.d.ts +1 -8
  67. package/dist/types-ts4.5/new-button/variants/icon/use-icon-button.d.ts +1 -1
  68. package/dist/types-ts4.5/new-button/variants/shared/icon-renderer.d.ts +1 -3
  69. package/dist/types-ts4.5/old-button/button.d.ts +3 -1
  70. package/dist/types-ts4.5/old-button/custom-theme-button/custom-theme-button.d.ts +4 -0
  71. package/dist/types-ts4.5/old-button/loading-button.d.ts +3 -1
  72. package/dist/types-ts4.5/old-button/shared/button-base.d.ts +1 -1
  73. package/package.json +4 -27
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @jsxRuntime classic
3
+ * @jsx jsx
3
4
  */
4
- /** @jsx jsx */
5
5
  import React, { Fragment } from 'react';
6
6
 
7
7
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
@@ -15,7 +15,6 @@ const buttonGroupStyles = css({
15
15
  }
16
16
  });
17
17
  export default function ButtonGroup({
18
- appearance,
19
18
  children,
20
19
  testId,
21
20
  label,
@@ -33,11 +32,6 @@ export default function ButtonGroup({
33
32
  }
34
33
  return jsx(Fragment, {
35
34
  key: idx
36
- }, appearance ?
37
- /*#__PURE__*/
38
- // eslint-disable-next-line @repo/internal/react/no-clone-element
39
- React.cloneElement(child, {
40
- appearance
41
- }) : child);
35
+ }, child);
42
36
  }));
43
37
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @jsxRuntime classic
3
+ * @jsx jsx
3
4
  */
4
- /** @jsx jsx */
5
5
 
6
6
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
7
  import { css, jsx } from '@emotion/react';
@@ -72,7 +72,7 @@ export const Divider = ({
72
72
  return (
73
73
  // I find it funny to provide a div for Divider
74
74
  jsx("div", {
75
- css: [baseDividerStyles, dividerHeight[spacing], isDisabled && (fg('platform.design-system-team.component-visual-refresh_t8zbo') ? dividerDisabledRefreshedStyles : dividerDisabledStyles), !isDisabled && dividerAppearance[appearance], fg('platform.design-system-team.component-visual-refresh_t8zbo') && dividerRefreshedOffsetStyles]
75
+ css: [baseDividerStyles, dividerHeight[spacing], isDisabled && (fg('platform-component-visual-refresh') ? dividerDisabledRefreshedStyles : dividerDisabledStyles), !isDisabled && dividerAppearance[appearance], fg('platform-component-visual-refresh') && dividerRefreshedOffsetStyles]
76
76
  })
77
77
  );
78
78
  };
@@ -113,7 +113,7 @@ export const SplitButtonContainer = ({
113
113
  isDisabled = false
114
114
  }) => {
115
115
  return jsx("div", {
116
- css: [appearance === 'default' && !isDisabled && fg('platform.design-system-team.component-visual-refresh_t8zbo') && defaultAppearanceContainerStyles, splitButtonStyles]
116
+ css: [appearance === 'default' && !isDisabled && fg('platform-component-visual-refresh') && defaultAppearanceContainerStyles, splitButtonStyles]
117
117
  }, children);
118
118
  };
119
119
 
@@ -1,6 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
4
3
  import Pressable from '@atlaskit/primitives/pressable';
5
4
  import useDefaultButton from './use-default-button';
6
5
  /**
@@ -39,8 +38,6 @@ const Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function B
39
38
  spacing,
40
39
  testId,
41
40
  type = 'button',
42
- UNSAFE_iconAfter_size,
43
- UNSAFE_iconBefore_size,
44
41
  ...unsafeRest
45
42
  }, ref) {
46
43
  // @ts-expect-error
@@ -51,7 +48,6 @@ const Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function B
51
48
  style: _style,
52
49
  ...saferRest
53
50
  } = unsafeRest;
54
- const rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
55
51
  const baseProps = useDefaultButton({
56
52
  ariaLabel,
57
53
  ariaLabelledBy,
@@ -79,13 +75,11 @@ const Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function B
79
75
  ref,
80
76
  shouldFitContainer,
81
77
  spacing,
82
- testId,
83
- UNSAFE_iconAfter_size,
84
- UNSAFE_iconBefore_size
78
+ testId
85
79
  });
86
80
  return /*#__PURE__*/React.createElement(Pressable
87
81
  // TODO: Remove spread props
88
- , _extends({}, rest, {
82
+ , _extends({}, saferRest, {
89
83
  "aria-label": baseProps['aria-label'],
90
84
  "aria-labelledby": baseProps['aria-labelledby'],
91
85
  ref: baseProps.ref,
@@ -1,6 +1,5 @@
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';
4
3
  import Anchor from '@atlaskit/primitives/anchor';
5
4
  import useDefaultButton from './use-default-button';
6
5
  const LinkButtonBase = ({
@@ -29,8 +28,6 @@ const LinkButtonBase = ({
29
28
  shouldFitContainer,
30
29
  spacing,
31
30
  testId,
32
- UNSAFE_iconAfter_size,
33
- UNSAFE_iconBefore_size,
34
31
  ...unsafeRest
35
32
  }, ref) => {
36
33
  // @ts-expect-error
@@ -41,7 +38,6 @@ const LinkButtonBase = ({
41
38
  style: _style,
42
39
  ...saferRest
43
40
  } = unsafeRest;
44
- const rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
45
41
  const baseProps = useDefaultButton({
46
42
  analyticsContext,
47
43
  appearance,
@@ -68,13 +64,11 @@ const LinkButtonBase = ({
68
64
  ref,
69
65
  shouldFitContainer,
70
66
  spacing,
71
- testId,
72
- UNSAFE_iconAfter_size,
73
- UNSAFE_iconBefore_size
67
+ testId
74
68
  });
75
69
  return /*#__PURE__*/React.createElement(Anchor
76
70
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
77
- , _extends({}, rest, {
71
+ , _extends({}, saferRest, {
78
72
  "aria-label": baseProps['aria-label'],
79
73
  "aria-labelledby": baseProps['aria-labelledby'],
80
74
  ref: baseProps.ref,
@@ -38,9 +38,7 @@ const useDefaultButton = ({
38
38
  ref,
39
39
  shouldFitContainer,
40
40
  spacing,
41
- testId,
42
- UNSAFE_iconAfter_size,
43
- UNSAFE_iconBefore_size
41
+ testId
44
42
  }) => {
45
43
  const baseProps = useButtonBase({
46
44
  analyticsContext,
@@ -54,8 +52,7 @@ const useDefaultButton = ({
54
52
  position: "before",
55
53
  isLoading: isLoading
56
54
  }, /*#__PURE__*/React.createElement(IconRenderer, {
57
- icon: iconBefore,
58
- size: UNSAFE_iconBefore_size
55
+ icon: iconBefore
59
56
  })), children && /*#__PURE__*/React.createElement(Content, {
60
57
  isLoading: isLoading
61
58
  }, children), iconAfter && /*#__PURE__*/React.createElement(Content, {
@@ -63,8 +60,7 @@ const useDefaultButton = ({
63
60
  position: "after",
64
61
  isLoading: isLoading
65
62
  }, /*#__PURE__*/React.createElement(IconRenderer, {
66
- icon: iconAfter,
67
- size: UNSAFE_iconAfter_size
63
+ icon: iconAfter
68
64
  }))),
69
65
  interactionName,
70
66
  isDisabled,
@@ -1,6 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
4
3
  import Pressable from '@atlaskit/primitives/pressable';
5
4
  import Tooltip from '@atlaskit/tooltip';
6
5
  import useIconButton from './use-icon-button';
@@ -42,7 +41,6 @@ const IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
42
41
  testId,
43
42
  tooltip,
44
43
  type = 'button',
45
- UNSAFE_size,
46
44
  ...unsafeRest
47
45
  }, ref) {
48
46
  // @ts-expect-error
@@ -53,7 +51,6 @@ const IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
53
51
  style: _style,
54
52
  ...saferRest
55
53
  } = unsafeRest;
56
- const rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
57
54
 
58
55
  /**
59
56
  * TODO: At some stage I'll look into re-using more logic across 'default' and 'icon'
@@ -84,8 +81,7 @@ const IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
84
81
  ref,
85
82
  shape,
86
83
  spacing,
87
- testId,
88
- UNSAFE_size
84
+ testId
89
85
  });
90
86
  if (!isTooltipDisabled) {
91
87
  var _tooltip$content;
@@ -104,7 +100,7 @@ const IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
104
100
  component: tooltip === null || tooltip === void 0 ? void 0 : tooltip.component,
105
101
  hideTooltipOnClick: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnClick,
106
102
  hideTooltipOnMouseDown: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnMouseDown
107
- }, triggerProps => /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
103
+ }, triggerProps => /*#__PURE__*/React.createElement(Pressable, _extends({}, saferRest, {
108
104
  // Top level props
109
105
  "aria-labelledby": baseProps['aria-labelledby'],
110
106
  type: type,
@@ -115,34 +111,34 @@ const IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
115
111
  // Shared between tooltip and native props
116
112
  ,
117
113
  onMouseOver: e => {
118
- var _triggerProps$onMouse, _rest$onMouseOver;
114
+ var _triggerProps$onMouse, _saferRest$onMouseOve;
119
115
  (_triggerProps$onMouse = triggerProps.onMouseOver) === null || _triggerProps$onMouse === void 0 ? void 0 : _triggerProps$onMouse.call(triggerProps, e);
120
- (_rest$onMouseOver = rest.onMouseOver) === null || _rest$onMouseOver === void 0 ? void 0 : _rest$onMouseOver.call(rest, e);
116
+ (_saferRest$onMouseOve = saferRest.onMouseOver) === null || _saferRest$onMouseOve === void 0 ? void 0 : _saferRest$onMouseOve.call(saferRest, e);
121
117
  },
122
118
  onMouseOut: e => {
123
- var _triggerProps$onMouse2, _rest$onMouseOut;
119
+ var _triggerProps$onMouse2, _saferRest$onMouseOut;
124
120
  (_triggerProps$onMouse2 = triggerProps.onMouseOut) === null || _triggerProps$onMouse2 === void 0 ? void 0 : _triggerProps$onMouse2.call(triggerProps, e);
125
- (_rest$onMouseOut = rest.onMouseOut) === null || _rest$onMouseOut === void 0 ? void 0 : _rest$onMouseOut.call(rest, e);
121
+ (_saferRest$onMouseOut = saferRest.onMouseOut) === null || _saferRest$onMouseOut === void 0 ? void 0 : _saferRest$onMouseOut.call(saferRest, e);
126
122
  },
127
123
  onMouseMove: e => {
128
- var _triggerProps$onMouse3, _rest$onMouseMove;
124
+ var _triggerProps$onMouse3, _saferRest$onMouseMov;
129
125
  (_triggerProps$onMouse3 = triggerProps.onMouseMove) === null || _triggerProps$onMouse3 === void 0 ? void 0 : _triggerProps$onMouse3.call(triggerProps, e);
130
- (_rest$onMouseMove = rest.onMouseMove) === null || _rest$onMouseMove === void 0 ? void 0 : _rest$onMouseMove.call(rest, e);
126
+ (_saferRest$onMouseMov = saferRest.onMouseMove) === null || _saferRest$onMouseMov === void 0 ? void 0 : _saferRest$onMouseMov.call(saferRest, e);
131
127
  },
132
128
  onMouseDown: e => {
133
- var _triggerProps$onMouse4, _rest$onMouseDown;
129
+ var _triggerProps$onMouse4, _saferRest$onMouseDow;
134
130
  (_triggerProps$onMouse4 = triggerProps.onMouseDown) === null || _triggerProps$onMouse4 === void 0 ? void 0 : _triggerProps$onMouse4.call(triggerProps, e);
135
- (_rest$onMouseDown = rest.onMouseDown) === null || _rest$onMouseDown === void 0 ? void 0 : _rest$onMouseDown.call(rest, e);
131
+ (_saferRest$onMouseDow = saferRest.onMouseDown) === null || _saferRest$onMouseDow === void 0 ? void 0 : _saferRest$onMouseDow.call(saferRest, e);
136
132
  },
137
133
  onFocus: e => {
138
- var _triggerProps$onFocus, _rest$onFocus;
134
+ var _triggerProps$onFocus, _saferRest$onFocus;
139
135
  (_triggerProps$onFocus = triggerProps.onFocus) === null || _triggerProps$onFocus === void 0 ? void 0 : _triggerProps$onFocus.call(triggerProps, e);
140
- (_rest$onFocus = rest.onFocus) === null || _rest$onFocus === void 0 ? void 0 : _rest$onFocus.call(rest, e);
136
+ (_saferRest$onFocus = saferRest.onFocus) === null || _saferRest$onFocus === void 0 ? void 0 : _saferRest$onFocus.call(saferRest, e);
141
137
  },
142
138
  onBlur: e => {
143
- var _triggerProps$onBlur, _rest$onBlur;
139
+ var _triggerProps$onBlur, _saferRest$onBlur;
144
140
  (_triggerProps$onBlur = triggerProps.onBlur) === null || _triggerProps$onBlur === void 0 ? void 0 : _triggerProps$onBlur.call(triggerProps, e);
145
- (_rest$onBlur = rest.onBlur) === null || _rest$onBlur === void 0 ? void 0 : _rest$onBlur.call(rest, e);
141
+ (_saferRest$onBlur = saferRest.onBlur) === null || _saferRest$onBlur === void 0 ? void 0 : _saferRest$onBlur.call(saferRest, e);
146
142
  }
147
143
  // Shared between tooltip and base props
148
144
  ,
@@ -171,7 +167,7 @@ const IconButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
171
167
  onClickCapture: baseProps.onClickCapture
172
168
  }), baseProps.children));
173
169
  }
174
- return /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
170
+ return /*#__PURE__*/React.createElement(Pressable, _extends({}, saferRest, {
175
171
  "aria-labelledby": baseProps['aria-labelledby'],
176
172
  ref: baseProps.ref,
177
173
  xcss: baseProps.xcss,
@@ -1,6 +1,5 @@
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';
4
3
  import Anchor from '@atlaskit/primitives/anchor';
5
4
  import Tooltip from '@atlaskit/tooltip';
6
5
  import useIconButton from './use-icon-button';
@@ -32,7 +31,6 @@ const LinkIconButtonBase = ({
32
31
  spacing,
33
32
  testId,
34
33
  tooltip,
35
- UNSAFE_size,
36
34
  ...unsafeRest
37
35
  }, ref) => {
38
36
  // @ts-expect-error
@@ -43,7 +41,6 @@ const LinkIconButtonBase = ({
43
41
  style: _style,
44
42
  ...saferRest
45
43
  } = unsafeRest;
46
- const rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
47
44
  const baseProps = useIconButton({
48
45
  analyticsContext,
49
46
  appearance,
@@ -68,8 +65,7 @@ const LinkIconButtonBase = ({
68
65
  ref,
69
66
  shape,
70
67
  spacing,
71
- testId,
72
- UNSAFE_size
68
+ testId
73
69
  });
74
70
  if (!isTooltipDisabled) {
75
71
  var _tooltip$content;
@@ -90,7 +86,7 @@ const LinkIconButtonBase = ({
90
86
  hideTooltipOnMouseDown: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnMouseDown
91
87
  }, triggerProps => /*#__PURE__*/React.createElement(Anchor
92
88
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
93
- , _extends({}, rest, {
89
+ , _extends({}, saferRest, {
94
90
  "aria-labelledby": baseProps['aria-labelledby'],
95
91
  testId: testId,
96
92
  componentName: "LinkIconButton",
@@ -99,34 +95,34 @@ const LinkIconButtonBase = ({
99
95
  // Shared between tooltip and native props
100
96
  ,
101
97
  onMouseOver: e => {
102
- var _triggerProps$onMouse, _rest$onMouseOver;
98
+ var _triggerProps$onMouse, _saferRest$onMouseOve;
103
99
  (_triggerProps$onMouse = triggerProps.onMouseOver) === null || _triggerProps$onMouse === void 0 ? void 0 : _triggerProps$onMouse.call(triggerProps, e);
104
- (_rest$onMouseOver = rest.onMouseOver) === null || _rest$onMouseOver === void 0 ? void 0 : _rest$onMouseOver.call(rest, e);
100
+ (_saferRest$onMouseOve = saferRest.onMouseOver) === null || _saferRest$onMouseOve === void 0 ? void 0 : _saferRest$onMouseOve.call(saferRest, e);
105
101
  },
106
102
  onMouseOut: e => {
107
- var _triggerProps$onMouse2, _rest$onMouseOut;
103
+ var _triggerProps$onMouse2, _saferRest$onMouseOut;
108
104
  (_triggerProps$onMouse2 = triggerProps.onMouseOut) === null || _triggerProps$onMouse2 === void 0 ? void 0 : _triggerProps$onMouse2.call(triggerProps, e);
109
- (_rest$onMouseOut = rest.onMouseOut) === null || _rest$onMouseOut === void 0 ? void 0 : _rest$onMouseOut.call(rest, e);
105
+ (_saferRest$onMouseOut = saferRest.onMouseOut) === null || _saferRest$onMouseOut === void 0 ? void 0 : _saferRest$onMouseOut.call(saferRest, e);
110
106
  },
111
107
  onMouseMove: e => {
112
- var _triggerProps$onMouse3, _rest$onMouseMove;
108
+ var _triggerProps$onMouse3, _saferRest$onMouseMov;
113
109
  (_triggerProps$onMouse3 = triggerProps.onMouseMove) === null || _triggerProps$onMouse3 === void 0 ? void 0 : _triggerProps$onMouse3.call(triggerProps, e);
114
- (_rest$onMouseMove = rest.onMouseMove) === null || _rest$onMouseMove === void 0 ? void 0 : _rest$onMouseMove.call(rest, e);
110
+ (_saferRest$onMouseMov = saferRest.onMouseMove) === null || _saferRest$onMouseMov === void 0 ? void 0 : _saferRest$onMouseMov.call(saferRest, e);
115
111
  },
116
112
  onMouseDown: e => {
117
- var _triggerProps$onMouse4, _rest$onMouseDown;
113
+ var _triggerProps$onMouse4, _saferRest$onMouseDow;
118
114
  (_triggerProps$onMouse4 = triggerProps.onMouseDown) === null || _triggerProps$onMouse4 === void 0 ? void 0 : _triggerProps$onMouse4.call(triggerProps, e);
119
- (_rest$onMouseDown = rest.onMouseDown) === null || _rest$onMouseDown === void 0 ? void 0 : _rest$onMouseDown.call(rest, e);
115
+ (_saferRest$onMouseDow = saferRest.onMouseDown) === null || _saferRest$onMouseDow === void 0 ? void 0 : _saferRest$onMouseDow.call(saferRest, e);
120
116
  },
121
117
  onFocus: e => {
122
- var _triggerProps$onFocus, _rest$onFocus;
118
+ var _triggerProps$onFocus, _saferRest$onFocus;
123
119
  (_triggerProps$onFocus = triggerProps.onFocus) === null || _triggerProps$onFocus === void 0 ? void 0 : _triggerProps$onFocus.call(triggerProps, e);
124
- (_rest$onFocus = rest.onFocus) === null || _rest$onFocus === void 0 ? void 0 : _rest$onFocus.call(rest, e);
120
+ (_saferRest$onFocus = saferRest.onFocus) === null || _saferRest$onFocus === void 0 ? void 0 : _saferRest$onFocus.call(saferRest, e);
125
121
  },
126
122
  onBlur: e => {
127
- var _triggerProps$onBlur, _rest$onBlur;
123
+ var _triggerProps$onBlur, _saferRest$onBlur;
128
124
  (_triggerProps$onBlur = triggerProps.onBlur) === null || _triggerProps$onBlur === void 0 ? void 0 : _triggerProps$onBlur.call(triggerProps, e);
129
- (_rest$onBlur = rest.onBlur) === null || _rest$onBlur === void 0 ? void 0 : _rest$onBlur.call(rest, e);
125
+ (_saferRest$onBlur = saferRest.onBlur) === null || _saferRest$onBlur === void 0 ? void 0 : _saferRest$onBlur.call(saferRest, e);
130
126
  }
131
127
  // Shared between tooltip and base props
132
128
  ,
@@ -165,7 +161,7 @@ const LinkIconButtonBase = ({
165
161
  }
166
162
  return /*#__PURE__*/React.createElement(Anchor
167
163
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
168
- , _extends({}, rest, {
164
+ , _extends({}, saferRest, {
169
165
  "aria-labelledby": baseProps['aria-labelledby'],
170
166
  ref: baseProps.ref,
171
167
  xcss: baseProps.xcss,
@@ -39,8 +39,7 @@ const useIconButton = ({
39
39
  shape,
40
40
  shouldFitContainer,
41
41
  spacing,
42
- testId,
43
- UNSAFE_size
42
+ testId
44
43
  }) => {
45
44
  const isCircle = shape === 'circle';
46
45
  const baseProps = useButtonBase({
@@ -54,8 +53,7 @@ const useIconButton = ({
54
53
  type: "icon",
55
54
  isLoading: isLoading
56
55
  }, /*#__PURE__*/React.createElement(IconRenderer, {
57
- icon: icon,
58
- size: UNSAFE_size
56
+ icon: icon
59
57
  }), /*#__PURE__*/React.createElement(VisuallyHidden, null, label)),
60
58
  interactionName,
61
59
  isDisabled,
@@ -15,16 +15,13 @@ function isIconRenderProp(func) {
15
15
  *
16
16
  */
17
17
  const IconRenderer = ({
18
- icon: Icon,
19
- size
18
+ icon: Icon
20
19
  }) => {
21
20
  return /*#__PURE__*/React.createElement(React.Fragment, null, isIconRenderProp(Icon) ? Icon({
22
21
  label: '',
23
- size: size,
24
22
  color: 'currentColor'
25
23
  }) : /*#__PURE__*/React.createElement(Icon, {
26
24
  label: "",
27
- size: size,
28
25
  color: 'currentColor'
29
26
  }));
30
27
  };
@@ -538,7 +538,7 @@ const useButtonBase = ({
538
538
  const isSplitButton = Boolean(splitButtonContext);
539
539
  const isNavigationSplitButton = (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.isNavigationSplitButton) || false;
540
540
  const isDefaultAppearanceSplitButton = (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.appearance) === 'default';
541
- const appearance = isDefaultAppearanceSplitButton && fg('platform.design-system-team.component-visual-refresh_t8zbo') ? 'subtle' : (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.appearance) || propAppearance;
541
+ const appearance = isDefaultAppearanceSplitButton && fg('platform-component-visual-refresh') ? 'subtle' : (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.appearance) || propAppearance;
542
542
  const spacing = (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.spacing) || propSpacing;
543
543
  const isDisabled = (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.isDisabled) || propIsDisabled;
544
544
  const isInteractive = !isDisabled && !isLoading;
@@ -548,7 +548,7 @@ const useButtonBase = ({
548
548
  useAutoFocus(localRef, autoFocus);
549
549
  return {
550
550
  ref: mergeRefs([localRef, ref]),
551
- xcss: [fg('platform.design-system-team.button-tokenised-typography-styles') ? tokenizedButtonStyles : hardCodedButtonStyles, buttonStyles, appearance === 'default' && (fg('platform.design-system-team.component-visual-refresh_t8zbo') ? defaultRefreshedStyles : defaultStyles), appearance === 'default' && isInteractive && (fg('platform.design-system-team.component-visual-refresh_t8zbo') ? defaultInteractiveRefreshedStyles : defaultInteractiveStyles), appearance === 'primary' && primaryStyles, appearance === 'primary' && isInteractive && primaryInteractiveStyles, appearance === 'warning' && warningStyles, appearance === 'warning' && isInteractive && warningInteractiveStyles, appearance === 'danger' && dangerStyles, appearance === 'danger' && isInteractive && dangerInteractiveStyles, appearance === 'discovery' && discoveryStyles, appearance === 'discovery' && isInteractive && discoveryInteractiveStyles, appearance === 'subtle' && (fg('platform.design-system-team.component-visual-refresh_t8zbo') ? subtleRefreshedStyles : subtleStyles), appearance === 'subtle' && isInteractive && (fg('platform.design-system-team.component-visual-refresh_t8zbo') ? subtleInteractiveRefreshedStyles : subtleInteractiveStyles), appearance === 'link' && linkStyles, appearance === 'subtle-link' && subtleLinkStyles, !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? linkDecorationStyles : linkDecorationUnsetStyles, isSelected && (fg('platform.design-system-team.component-visual-refresh_t8zbo') ? selectedRefreshedStyles : selectedStyles), isSelected && isSplitButton && selectedInsideSplitButtonStyles, isSelected && isInteractive && selectedInteractiveStyles,
551
+ xcss: [fg('platform.design-system-team.button-tokenised-typography-styles') ? tokenizedButtonStyles : hardCodedButtonStyles, buttonStyles, appearance === 'default' && (fg('platform-component-visual-refresh') ? defaultRefreshedStyles : defaultStyles), appearance === 'default' && isInteractive && (fg('platform-component-visual-refresh') ? defaultInteractiveRefreshedStyles : defaultInteractiveStyles), appearance === 'primary' && primaryStyles, appearance === 'primary' && isInteractive && primaryInteractiveStyles, appearance === 'warning' && warningStyles, appearance === 'warning' && isInteractive && warningInteractiveStyles, appearance === 'danger' && dangerStyles, appearance === 'danger' && isInteractive && dangerInteractiveStyles, appearance === 'discovery' && discoveryStyles, appearance === 'discovery' && isInteractive && discoveryInteractiveStyles, appearance === 'subtle' && (fg('platform-component-visual-refresh') ? subtleRefreshedStyles : subtleStyles), appearance === 'subtle' && isInteractive && (fg('platform-component-visual-refresh') ? subtleInteractiveRefreshedStyles : subtleInteractiveStyles), appearance === 'link' && linkStyles, appearance === 'subtle-link' && subtleLinkStyles, !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? linkDecorationStyles : linkDecorationUnsetStyles, isSelected && (fg('platform-component-visual-refresh') ? selectedRefreshedStyles : selectedStyles), isSelected && isSplitButton && selectedInsideSplitButtonStyles, isSelected && isInteractive && selectedInteractiveStyles,
552
552
  // TODO: remove me once we kill color fallbacks
553
553
  isSelected && appearance === 'danger' && selectedDangerStyles,
554
554
  // TODO: remove me once we kill color fallbacks
@@ -12,7 +12,9 @@ const isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowe
12
12
  /**
13
13
  * __Button__
14
14
  *
15
- * CAUTION: Legacy buttons will soon be deprecated. Please use the new Button components from `@atlaskit/button/new`.
15
+ * @deprecated Legacy buttons are deprecated and will be removed from `atlaskit/button` in an upcoming major release. Please use the new Button components from `@atlaskit/button/new`
16
+ *
17
+ * Please refer to the [migration guide](https://atlassian.design/components/button/button-legacy/migration-guide) for further details.
16
18
  *
17
19
  * A button triggers an event or action. They let users know what will happen next.
18
20
  *
@@ -46,6 +46,10 @@ const initial = {
46
46
  /**
47
47
  * __Custom theme button__
48
48
  *
49
+ * @deprecated Legacy buttons are deprecated and will be removed from `atlaskit/button` in an upcoming major release. Please use the new Button components from `@atlaskit/button/new`
50
+ *
51
+ * Please refer to the [migration guide](https://atlassian.design/components/button/button-legacy/migration-guide) for further details.
52
+ *
49
53
  * A custom theme button. Avoid using this component. It exists for those already using custom theming, which is hard to use and has performance issues.
50
54
  *
51
55
  * - [Examples](https://atlassian.design/components/button/examples#custom-theme-button)
@@ -5,7 +5,9 @@ import LoadingSpinner from './shared/loading-spinner';
5
5
  /**
6
6
  * __Loading button__
7
7
  *
8
- * CAUTION: Legacy loading buttons will soon be deprecated. Please use the new Button components from `@atlaskit/button/new` with the `isLoading` prop.
8
+ * @deprecated Legacy loading buttons are deprecated and will be removed from `atlaskit/button` in an upcoming major release. Please use the new Button components from `@atlaskit/button/new` with the `isLoading` prop.
9
+ *
10
+ * Please refer to the [migration guide](https://atlassian.design/components/button/button-legacy/migration-guide) for further details.
9
11
  *
10
12
  * A small wrapper around Button that allows you to show an @atlaskit/spinner as an overlay on the button when you set an isLoading prop to true.
11
13
  *
@@ -2,8 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  /* eslint-disable @atlaskit/design-system/consistent-css-prop-usage */
3
3
  /**
4
4
  * @jsxRuntime classic
5
+ * @jsx jsx
5
6
  */
6
- /** @jsx jsx */
7
7
  import React, { useCallback, useContext, useEffect, useRef } from 'react';
8
8
 
9
9
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
@@ -119,7 +119,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref)
119
119
  action: 'clicked',
120
120
  componentName: 'button',
121
121
  packageName: "@atlaskit/button",
122
- packageVersion: "18.4.1",
122
+ packageVersion: "19.1.0",
123
123
  analyticsData: analyticsContext
124
124
  });
125
125
 
@@ -217,7 +217,7 @@ export function getCss({
217
217
  transition: 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)',
218
218
  whiteSpace: 'nowrap',
219
219
  // dynamic styles
220
- ...(!fg('platform.design-system-team.component-visual-refresh_t8zbo') && baseColors),
220
+ ...(!fg('platform-component-visual-refresh') && baseColors),
221
221
  cursor: 'pointer',
222
222
  height: heights[spacing],
223
223
  lineHeight: lineHeights[spacing],
@@ -229,7 +229,7 @@ export function getCss({
229
229
  // Note: we cannot disable pointer events when there is an overlay.
230
230
  // That would be easy for styling, but it would start letting events through on disabled buttons
231
231
 
232
- ...(!fg('platform.design-system-team.component-visual-refresh_t8zbo') && {
232
+ ...(!fg('platform-component-visual-refresh') && {
233
233
  // Disabling visited styles (just using the base colors)
234
234
  '&:visited': {
235
235
  ...baseColors
@@ -289,7 +289,7 @@ export function getCss({
289
289
  }
290
290
  }),
291
291
  // dynamic colours for visual refresh:
292
- ...(fg('platform.design-system-team.component-visual-refresh_t8zbo') && (isSelected ? selectedStyles : {
292
+ ...(fg('platform-component-visual-refresh') && (isSelected ? selectedStyles : {
293
293
  ...(appearance === 'default' && defaultStyles),
294
294
  ...(appearance === 'primary' && primaryStyles),
295
295
  ...(appearance === 'link' && linkStyles),
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @jsxRuntime classic
3
+ * @jsx jsx
3
4
  */
4
- /** @jsx jsx */
5
5
  import React, { Fragment } from 'react';
6
6
 
7
7
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
@@ -15,8 +15,7 @@ var buttonGroupStyles = css({
15
15
  }
16
16
  });
17
17
  export default function ButtonGroup(_ref) {
18
- var appearance = _ref.appearance,
19
- children = _ref.children,
18
+ var children = _ref.children,
20
19
  testId = _ref.testId,
21
20
  label = _ref.label,
22
21
  titleId = _ref.titleId;
@@ -32,11 +31,6 @@ export default function ButtonGroup(_ref) {
32
31
  }
33
32
  return jsx(Fragment, {
34
33
  key: idx
35
- }, appearance ?
36
- /*#__PURE__*/
37
- // eslint-disable-next-line @repo/internal/react/no-clone-element
38
- React.cloneElement(child, {
39
- appearance: appearance
40
- }) : child);
34
+ }, child);
41
35
  }));
42
36
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @jsxRuntime classic
3
+ * @jsx jsx
3
4
  */
4
- /** @jsx jsx */
5
5
 
6
6
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
7
  import { css, jsx } from '@emotion/react';
@@ -72,7 +72,7 @@ export var Divider = function Divider(_ref) {
72
72
  return (
73
73
  // I find it funny to provide a div for Divider
74
74
  jsx("div", {
75
- css: [baseDividerStyles, dividerHeight[spacing], isDisabled && (fg('platform.design-system-team.component-visual-refresh_t8zbo') ? dividerDisabledRefreshedStyles : dividerDisabledStyles), !isDisabled && dividerAppearance[appearance], fg('platform.design-system-team.component-visual-refresh_t8zbo') && dividerRefreshedOffsetStyles]
75
+ css: [baseDividerStyles, dividerHeight[spacing], isDisabled && (fg('platform-component-visual-refresh') ? dividerDisabledRefreshedStyles : dividerDisabledStyles), !isDisabled && dividerAppearance[appearance], fg('platform-component-visual-refresh') && dividerRefreshedOffsetStyles]
76
76
  })
77
77
  );
78
78
  };
@@ -113,7 +113,7 @@ export var SplitButtonContainer = function SplitButtonContainer(_ref2) {
113
113
  _ref2$isDisabled = _ref2.isDisabled,
114
114
  isDisabled = _ref2$isDisabled === void 0 ? false : _ref2$isDisabled;
115
115
  return jsx("div", {
116
- css: [appearance === 'default' && !isDisabled && fg('platform.design-system-team.component-visual-refresh_t8zbo') && defaultAppearanceContainerStyles, splitButtonStyles]
116
+ css: [appearance === 'default' && !isDisabled && fg('platform-component-visual-refresh') && defaultAppearanceContainerStyles, splitButtonStyles]
117
117
  }, children);
118
118
  };
119
119
 
@@ -1,9 +1,8 @@
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", "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", "shouldFitContainer", "spacing", "testId", "type"],
4
4
  _excluded2 = ["className", "css", "as", "style"];
5
5
  import React from 'react';
6
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
6
  import Pressable from '@atlaskit/primitives/pressable';
8
7
  import useDefaultButton from './use-default-button';
9
8
  /**
@@ -43,8 +42,6 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function But
43
42
  testId = _ref.testId,
44
43
  _ref$type = _ref.type,
45
44
  type = _ref$type === void 0 ? 'button' : _ref$type,
46
- UNSAFE_iconAfter_size = _ref.UNSAFE_iconAfter_size,
47
- UNSAFE_iconBefore_size = _ref.UNSAFE_iconBefore_size,
48
45
  unsafeRest = _objectWithoutProperties(_ref, _excluded);
49
46
  // @ts-expect-error
50
47
  var _className = unsafeRest.className,
@@ -52,7 +49,6 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function But
52
49
  _as = unsafeRest.as,
53
50
  _style = unsafeRest.style,
54
51
  saferRest = _objectWithoutProperties(unsafeRest, _excluded2);
55
- var rest = getBooleanFF('platform.design-system-team.remove-unsafe-spread-from-new-button_a2xhw') ? saferRest : unsafeRest;
56
52
  var baseProps = useDefaultButton({
57
53
  ariaLabel: ariaLabel,
58
54
  ariaLabelledBy: ariaLabelledBy,
@@ -80,13 +76,11 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function But
80
76
  ref: ref,
81
77
  shouldFitContainer: shouldFitContainer,
82
78
  spacing: spacing,
83
- testId: testId,
84
- UNSAFE_iconAfter_size: UNSAFE_iconAfter_size,
85
- UNSAFE_iconBefore_size: UNSAFE_iconBefore_size
79
+ testId: testId
86
80
  });
87
81
  return /*#__PURE__*/React.createElement(Pressable
88
82
  // TODO: Remove spread props
89
- , _extends({}, rest, {
83
+ , _extends({}, saferRest, {
90
84
  "aria-label": baseProps['aria-label'],
91
85
  "aria-labelledby": baseProps['aria-labelledby'],
92
86
  ref: baseProps.ref,