@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.
- package/CHANGELOG.md +54 -0
- package/dist/cjs/containers/button-group.js +3 -9
- package/dist/cjs/new-button/containers/split-button/split-button.js +3 -3
- package/dist/cjs/new-button/variants/default/button.js +3 -9
- package/dist/cjs/new-button/variants/default/link.js +3 -9
- package/dist/cjs/new-button/variants/default/use-default-button.js +3 -7
- package/dist/cjs/new-button/variants/icon/button.js +16 -20
- package/dist/cjs/new-button/variants/icon/link.js +16 -20
- package/dist/cjs/new-button/variants/icon/use-icon-button.js +2 -4
- package/dist/cjs/new-button/variants/shared/icon-renderer.js +1 -4
- package/dist/cjs/new-button/variants/shared/use-button-base.js +2 -2
- package/dist/cjs/old-button/button.js +3 -1
- package/dist/cjs/old-button/custom-theme-button/custom-theme-button.js +4 -0
- package/dist/cjs/old-button/loading-button.js +3 -1
- package/dist/cjs/old-button/shared/button-base.js +2 -2
- package/dist/cjs/old-button/shared/css.js +3 -3
- package/dist/es2019/containers/button-group.js +2 -8
- package/dist/es2019/new-button/containers/split-button/split-button.js +3 -3
- package/dist/es2019/new-button/variants/default/button.js +2 -8
- package/dist/es2019/new-button/variants/default/link.js +2 -8
- package/dist/es2019/new-button/variants/default/use-default-button.js +3 -7
- package/dist/es2019/new-button/variants/icon/button.js +15 -19
- package/dist/es2019/new-button/variants/icon/link.js +15 -19
- package/dist/es2019/new-button/variants/icon/use-icon-button.js +2 -4
- package/dist/es2019/new-button/variants/shared/icon-renderer.js +1 -4
- package/dist/es2019/new-button/variants/shared/use-button-base.js +2 -2
- package/dist/es2019/old-button/button.js +3 -1
- package/dist/es2019/old-button/custom-theme-button/custom-theme-button.js +4 -0
- package/dist/es2019/old-button/loading-button.js +3 -1
- package/dist/es2019/old-button/shared/button-base.js +2 -2
- package/dist/es2019/old-button/shared/css.js +3 -3
- package/dist/esm/containers/button-group.js +3 -9
- package/dist/esm/new-button/containers/split-button/split-button.js +3 -3
- package/dist/esm/new-button/variants/default/button.js +3 -9
- package/dist/esm/new-button/variants/default/link.js +3 -9
- package/dist/esm/new-button/variants/default/use-default-button.js +3 -7
- package/dist/esm/new-button/variants/icon/button.js +16 -20
- package/dist/esm/new-button/variants/icon/link.js +16 -20
- package/dist/esm/new-button/variants/icon/use-icon-button.js +2 -4
- package/dist/esm/new-button/variants/shared/icon-renderer.js +1 -4
- package/dist/esm/new-button/variants/shared/use-button-base.js +2 -2
- package/dist/esm/old-button/button.js +3 -1
- package/dist/esm/old-button/custom-theme-button/custom-theme-button.js +4 -0
- package/dist/esm/old-button/loading-button.js +3 -1
- package/dist/esm/old-button/shared/button-base.js +2 -2
- package/dist/esm/old-button/shared/css.js +3 -3
- package/dist/types/containers/button-group.d.ts +2 -9
- package/dist/types/new-button/containers/split-button/split-button.d.ts +1 -1
- package/dist/types/new-button/variants/default/link.d.ts +1 -1
- package/dist/types/new-button/variants/default/types.d.ts +1 -15
- package/dist/types/new-button/variants/default/use-default-button.d.ts +1 -1
- package/dist/types/new-button/variants/icon/link.d.ts +1 -1
- package/dist/types/new-button/variants/icon/types.d.ts +1 -8
- package/dist/types/new-button/variants/icon/use-icon-button.d.ts +1 -1
- package/dist/types/new-button/variants/shared/icon-renderer.d.ts +1 -3
- package/dist/types/old-button/button.d.ts +3 -1
- package/dist/types/old-button/custom-theme-button/custom-theme-button.d.ts +4 -0
- package/dist/types/old-button/loading-button.d.ts +3 -1
- package/dist/types/old-button/shared/button-base.d.ts +1 -1
- package/dist/types-ts4.5/containers/button-group.d.ts +2 -9
- package/dist/types-ts4.5/new-button/containers/split-button/split-button.d.ts +1 -1
- package/dist/types-ts4.5/new-button/variants/default/link.d.ts +1 -1
- package/dist/types-ts4.5/new-button/variants/default/types.d.ts +1 -15
- package/dist/types-ts4.5/new-button/variants/default/use-default-button.d.ts +1 -1
- package/dist/types-ts4.5/new-button/variants/icon/link.d.ts +1 -1
- package/dist/types-ts4.5/new-button/variants/icon/types.d.ts +1 -8
- package/dist/types-ts4.5/new-button/variants/icon/use-icon-button.d.ts +1 -1
- package/dist/types-ts4.5/new-button/variants/shared/icon-renderer.d.ts +1 -3
- package/dist/types-ts4.5/old-button/button.d.ts +3 -1
- package/dist/types-ts4.5/old-button/custom-theme-button/custom-theme-button.d.ts +4 -0
- package/dist/types-ts4.5/old-button/loading-button.d.ts +3 -1
- package/dist/types-ts4.5/old-button/shared/button-base.d.ts +1 -1
- 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
|
-
},
|
|
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
|
|
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
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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({},
|
|
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({},
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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,
|
|
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
|
-
(
|
|
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({},
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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: "
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
},
|
|
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
|
|
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
|
|
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"
|
|
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({},
|
|
83
|
+
, _extends({}, saferRest, {
|
|
90
84
|
"aria-label": baseProps['aria-label'],
|
|
91
85
|
"aria-labelledby": baseProps['aria-labelledby'],
|
|
92
86
|
ref: baseProps.ref,
|