@atlaskit/button 21.1.4 → 21.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/new-button/containers/split-button/split-button.compiled.css +34 -0
  3. package/dist/cjs/new-button/containers/split-button/split-button.js +58 -118
  4. package/dist/cjs/new-button/variants/default/button.js +36 -41
  5. package/dist/cjs/new-button/variants/default/link.compiled.css +119 -0
  6. package/dist/cjs/new-button/variants/default/link.js +111 -59
  7. package/dist/cjs/new-button/variants/icon/button.js +128 -143
  8. package/dist/cjs/new-button/variants/icon/link.compiled.css +104 -0
  9. package/dist/cjs/new-button/variants/icon/link.js +101 -75
  10. package/dist/cjs/new-button/variants/shared/button-base.compiled.css +137 -0
  11. package/dist/cjs/new-button/variants/shared/button-base.js +223 -0
  12. package/dist/cjs/new-button/variants/shared/content.compiled.css +19 -0
  13. package/dist/cjs/new-button/variants/shared/content.js +13 -53
  14. package/dist/cjs/old-button/shared/button-base.js +1 -1
  15. package/dist/es2019/new-button/containers/split-button/split-button.compiled.css +34 -0
  16. package/dist/es2019/new-button/containers/split-button/split-button.js +54 -117
  17. package/dist/es2019/new-button/variants/default/button.js +47 -56
  18. package/dist/es2019/new-button/variants/default/link.compiled.css +119 -0
  19. package/dist/es2019/new-button/variants/default/link.js +113 -63
  20. package/dist/es2019/new-button/variants/icon/button.js +117 -133
  21. package/dist/es2019/new-button/variants/icon/link.compiled.css +104 -0
  22. package/dist/es2019/new-button/variants/icon/link.js +94 -70
  23. package/dist/es2019/new-button/variants/shared/button-base.compiled.css +137 -0
  24. package/dist/es2019/new-button/variants/shared/button-base.js +203 -0
  25. package/dist/es2019/new-button/variants/shared/content.compiled.css +19 -0
  26. package/dist/es2019/new-button/variants/shared/content.js +13 -52
  27. package/dist/es2019/old-button/shared/button-base.js +1 -1
  28. package/dist/esm/new-button/containers/split-button/split-button.compiled.css +34 -0
  29. package/dist/esm/new-button/containers/split-button/split-button.js +55 -120
  30. package/dist/esm/new-button/variants/default/button.js +33 -41
  31. package/dist/esm/new-button/variants/default/link.compiled.css +119 -0
  32. package/dist/esm/new-button/variants/default/link.js +111 -59
  33. package/dist/esm/new-button/variants/icon/button.js +128 -143
  34. package/dist/esm/new-button/variants/icon/link.compiled.css +104 -0
  35. package/dist/esm/new-button/variants/icon/link.js +98 -72
  36. package/dist/esm/new-button/variants/shared/button-base.compiled.css +137 -0
  37. package/dist/esm/new-button/variants/shared/button-base.js +213 -0
  38. package/dist/esm/new-button/variants/shared/content.compiled.css +19 -0
  39. package/dist/esm/new-button/variants/shared/content.js +13 -53
  40. package/dist/esm/old-button/shared/button-base.js +1 -1
  41. package/dist/types/new-button/containers/split-button/split-button.d.ts +4 -5
  42. package/dist/types/new-button/variants/default/button.d.ts +5 -1
  43. package/dist/types/new-button/variants/default/link.d.ts +22 -8
  44. package/dist/types/new-button/variants/icon/button.d.ts +5 -1
  45. package/dist/types/new-button/variants/icon/link.d.ts +11 -4
  46. package/dist/types/new-button/variants/shared/block-events.d.ts +1 -1
  47. package/dist/types/new-button/variants/shared/button-base.d.ts +45 -0
  48. package/dist/types/new-button/variants/shared/content.d.ts +5 -1
  49. package/dist/types/new-button/variants/types.d.ts +26 -6
  50. package/dist/types-ts4.5/new-button/containers/split-button/split-button.d.ts +4 -5
  51. package/dist/types-ts4.5/new-button/variants/default/button.d.ts +5 -1
  52. package/dist/types-ts4.5/new-button/variants/default/link.d.ts +22 -8
  53. package/dist/types-ts4.5/new-button/variants/icon/button.d.ts +5 -1
  54. package/dist/types-ts4.5/new-button/variants/icon/link.d.ts +11 -4
  55. package/dist/types-ts4.5/new-button/variants/shared/block-events.d.ts +1 -1
  56. package/dist/types-ts4.5/new-button/variants/shared/button-base.d.ts +45 -0
  57. package/dist/types-ts4.5/new-button/variants/shared/content.d.ts +5 -1
  58. package/dist/types-ts4.5/new-button/variants/types.d.ts +26 -6
  59. package/package.json +17 -15
  60. package/dist/cjs/new-button/variants/default/use-default-button.js +0 -98
  61. package/dist/cjs/new-button/variants/icon/use-icon-button.js +0 -88
  62. package/dist/cjs/new-button/variants/shared/use-button-base.js +0 -639
  63. package/dist/es2019/new-button/variants/default/use-default-button.js +0 -88
  64. package/dist/es2019/new-button/variants/icon/use-icon-button.js +0 -81
  65. package/dist/es2019/new-button/variants/shared/use-button-base.js +0 -619
  66. package/dist/esm/new-button/variants/default/use-default-button.js +0 -88
  67. package/dist/esm/new-button/variants/icon/use-icon-button.js +0 -81
  68. package/dist/esm/new-button/variants/shared/use-button-base.js +0 -629
  69. package/dist/types/new-button/variants/default/use-default-button.d.ts +0 -16
  70. package/dist/types/new-button/variants/icon/use-icon-button.d.ts +0 -16
  71. package/dist/types/new-button/variants/shared/use-button-base.d.ts +0 -46
  72. package/dist/types-ts4.5/new-button/variants/default/use-default-button.d.ts +0 -16
  73. package/dist/types-ts4.5/new-button/variants/icon/use-icon-button.d.ts +0 -16
  74. package/dist/types-ts4.5/new-button/variants/shared/use-button-base.d.ts +0 -46
@@ -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: "21.1.4",
122
+ packageVersion: "21.1.6",
123
123
  analyticsData: analyticsContext
124
124
  });
125
125
 
@@ -0,0 +1,34 @@
1
+
2
+ ._2rko1sit{border-radius:var(--ds-border-radius,3px)}
3
+ ._195g1h5n{margin-inline:-.03125rem}
4
+ ._195g1n1a{margin-inline:-1px}
5
+ ._1mouu2gc{margin-block:var(--ds-space-100,8px)}._12jimuej{outline-color:var(--ds-border,#091e4224)}
6
+ ._12y3t94y{outline-width:1px}
7
+ ._1bsbe4h9{width:var(--ds-border-width,1px)}
8
+ ._1cwg1n1a{outline-offset:-1px}
9
+ ._1e0c116y{display:inline-flex}
10
+ ._1j4hidpf a, ._1553idpf button{border-end-start-radius:0}
11
+ ._1pbykb7n{z-index:1}
12
+ ._1qgbidpf a, ._y1n3idpf button{border-start-start-radius:0}
13
+ ._1qu2nqa1{outline-style:solid}
14
+ ._4cvr1h6o{align-items:center}
15
+ ._4t3i1hvu{height:calc(1.5rem - var(--ds-border-width, 1px) - var(--ds-border-width, 1px))}
16
+ ._4t3i1k8s{height:1.5rem}
17
+ ._4t3i7vkz{height:1pc}
18
+ ._4t3im1ee{height:calc(2rem - var(--ds-border-width, 1px) - var(--ds-border-width, 1px))}
19
+ ._4t3iviql{height:2rem}
20
+ ._80om13gf{cursor:not-allowed}
21
+ ._bfhk15cr{background-color:var(--ds-text-inverse,#fff)}
22
+ ._bfhk1fxt{background-color:var(--ds-text,#172b4d)}
23
+ ._bfhk9xzm{background-color:var(--ds-border-disabled,#091e4224)}
24
+ ._bfhkdud1{background-color:var(--ds-text-subtle,#0052cc)}
25
+ ._bfhkmuej{background-color:var(--ds-border,#091e4224)}
26
+ ._bfhkojnm{background-color:var(--ds-text-disabled,#091e4224)}
27
+ ._bfhkveue{background-color:var(--ds-border-inverse,#fff)}
28
+ ._kqswh2mm{position:relative}
29
+ ._o5721q9c{white-space:nowrap}
30
+ ._p9ykidpf a, ._bepvidpf button{border-start-end-radius:0}
31
+ ._traeidpf a, ._anlpidpf button{border-end-end-radius:0}
32
+ ._tzy419lr{opacity:.62}
33
+ ._tzy41uwv{opacity:.51}
34
+ ._tzy41wzo{opacity:.64}
@@ -1,79 +1,37 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- /**
5
- * @jsxRuntime classic
6
- * @jsx jsx
7
- */
8
-
9
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
10
- import { css, jsx } from '@emotion/react';
1
+ /* split-button.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import "./split-button.compiled.css";
3
+ import * as React from 'react';
4
+ import { ax, ix } from "@compiled/react/runtime";
11
5
  import { fg } from '@atlaskit/platform-feature-flags';
12
6
  import { SplitButtonContext } from './split-button-context';
13
7
  import { getActions } from './utils';
14
- var baseDividerStyles = css({
15
- width: "var(--ds-border-width, 1px)",
16
- position: 'relative',
17
- // This is 1 so it appears above buttons by default.
18
- // When buttons are selected they have a zIndex of 2 applied.
19
- // See use-button-base.tsx.
20
- zIndex: 1
21
- });
22
- var dividerDisabledStyles = css({
23
- backgroundColor: "var(--ds-text-disabled, #091E4224)",
24
- cursor: 'not-allowed',
25
- opacity: 0.51
26
- });
27
- var dividerDisabledRefreshedStyles = css({
28
- backgroundColor: "var(--ds-border-disabled, #091E4224)",
29
- cursor: 'not-allowed'
30
- });
31
- var dividerAppearance = {
32
- default: css({
33
- backgroundColor: "var(--ds-text, #172B4D)",
34
- opacity: 0.51
35
- }),
36
- primary: css({
37
- backgroundColor: "var(--ds-text-inverse, #FFF)",
38
- opacity: 0.64
39
- }),
40
- navigation: css({
41
- height: '16px',
42
- margin: "var(--ds-space-100, 8px)".concat(" -0.5px"),
43
- backgroundColor: "var(--ds-text-subtle, #0052cc)",
44
- opacity: 0.62
45
- })
8
+ var dividerStyles = {
9
+ baseDivider: "_1bsbe4h9 _kqswh2mm _1pbykb7n",
10
+ dividerDisabled: "_bfhkojnm _80om13gf _tzy41uwv",
11
+ dividerDisabledRefreshed: "_bfhk9xzm _80om13gf",
12
+ dividerOffsetRefreshed: "_195g1n1a"
13
+ };
14
+ var dividerAppearanceStyles = {
15
+ default: "_bfhk1fxt _tzy41uwv",
16
+ primary: "_bfhk15cr _tzy41wzo",
17
+ navigation: "_1mouu2gc _195g1h5n _4t3i7vkz _bfhkdud1 _tzy419lr"
46
18
  };
47
- var dividerRefreshedAppearance = _objectSpread(_objectSpread({}, dividerAppearance), {}, {
48
- default: css({
49
- backgroundColor: "var(--ds-border, #091E4224)"
50
- }),
51
- primary: css({
52
- backgroundColor: "var(--ds-border-inverse, #FFF)",
53
- opacity: 0.64
54
- })
55
- });
56
- var dividerRefreshedOffsetStyles = css({
57
- marginInline: "calc(0px - ".concat("var(--ds-border-width, 1px)", ")")
58
- });
59
- var dividerHeight = {
60
- default: css({
61
- height: '2rem'
62
- }),
63
- compact: css({
64
- height: '1.5rem'
65
- })
19
+ var dividerRefreshedAppearanceStyles = {
20
+ default: "_bfhkmuej",
21
+ primary: "_bfhkveue _tzy41wzo",
22
+ navigation: "_1mouu2gc _195g1h5n _4t3i7vkz _bfhkdud1 _tzy419lr"
66
23
  };
67
- var defaultDividerHeight = {
68
- // The divider height is calculated by subtracting twice the border width from the button height.
69
- // This ensures the divider does not intersect with the button's border, avoiding visual issues
70
- // caused by overlapping alpha colors (color.border) at the intersection.
71
- default: css({
72
- height: "calc(2rem - ".concat("var(--ds-border-width, 1px)", " - ", "var(--ds-border-width, 1px)", ")")
73
- }),
74
- compact: css({
75
- height: "calc(1.5rem - ".concat("var(--ds-border-width, 1px)", " - ", "var(--ds-border-width, 1px)", ")")
76
- })
24
+ var dividerHeightStyles = {
25
+ default: "_4t3iviql",
26
+ compact: "_4t3i1k8s"
27
+ };
28
+
29
+ // The divider height is calculated by subtracting twice the border width from the button height.
30
+ // This ensures the divider does not intersect with the button's border, avoiding visual issues
31
+ // caused by overlapping alpha colors (color.border) at the intersection.
32
+ var defaultDividerHeightStyles = {
33
+ default: "_4t3im1ee",
34
+ compact: "_4t3i1hvu"
77
35
  };
78
36
  /**
79
37
  * TODO: Add JSDoc
@@ -83,40 +41,17 @@ export var Divider = function Divider(_ref) {
83
41
  spacing = _ref.spacing,
84
42
  _ref$isDisabled = _ref.isDisabled,
85
43
  isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled;
86
- return (
87
- // I find it funny to provide a div for Divider
88
- jsx("div", {
89
- css: [baseDividerStyles, appearance === 'default' && !isDisabled && fg('platform-component-visual-refresh') ? defaultDividerHeight[spacing] : dividerHeight[spacing], isDisabled && (fg('platform-component-visual-refresh') ? dividerDisabledRefreshedStyles : dividerDisabledStyles), !isDisabled && (fg('platform-component-visual-refresh') ? dividerRefreshedAppearance[appearance] : dividerAppearance[appearance]), fg('platform-component-visual-refresh') && dividerRefreshedOffsetStyles]
90
- })
91
- );
44
+ var isDefaultDivider = appearance === 'default' && !isDisabled && fg('platform-component-visual-refresh');
45
+ return /*#__PURE__*/React.createElement("div", {
46
+ className: ax([dividerStyles.baseDivider, isDefaultDivider && defaultDividerHeightStyles[spacing], !isDefaultDivider && dividerHeightStyles[spacing], isDisabled && fg('platform-component-visual-refresh') && dividerStyles.dividerDisabledRefreshed, isDisabled && !fg('platform-component-visual-refresh') && dividerStyles.dividerDisabled, !isDisabled && fg('platform-component-visual-refresh') && dividerRefreshedAppearanceStyles[appearance], !isDisabled && !fg('platform-component-visual-refresh') && dividerAppearanceStyles[appearance], fg('platform-component-visual-refresh') && dividerStyles.dividerOffsetRefreshed])
47
+ });
48
+ };
49
+ var buttonStyles = {
50
+ splitButton: "_1e0c116y _kqswh2mm _4cvr1h6o _o5721q9c",
51
+ primaryButton: "_traeidpf _anlpidpf _p9ykidpf _bepvidpf",
52
+ secondaryButton: "_1j4hidpf _1553idpf _1qgbidpf _y1n3idpf",
53
+ defaultAppearanceContainer: "_2rko1sit _12jimuej _1cwg1n1a _1qu2nqa1 _12y3t94y"
92
54
  };
93
- var splitButtonStyles = css({
94
- display: 'inline-flex',
95
- position: 'relative',
96
- alignItems: 'center',
97
- whiteSpace: 'nowrap'
98
- });
99
- var primaryButtonStyles = css({
100
- // eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
101
- 'button,a': {
102
- borderEndEndRadius: 0,
103
- borderStartEndRadius: 0
104
- }
105
- });
106
- var secondaryButtonStyles = css({
107
- // eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
108
- 'button,a': {
109
- borderEndStartRadius: 0,
110
- borderStartStartRadius: 0
111
- }
112
- });
113
- var defaultAppearanceContainerStyles = css({
114
- borderRadius: "var(--ds-border-radius, 3px)",
115
- outlineColor: "var(--ds-border, #091E4224)",
116
- outlineOffset: "calc(0px - ".concat("var(--ds-border-width, 1px)", ")"),
117
- outlineStyle: 'solid',
118
- outlineWidth: "var(--ds-border-width, 1px)"
119
- });
120
55
 
121
56
  /**
122
57
  * TODO: Add JSdoc
@@ -126,8 +61,8 @@ export var SplitButtonContainer = function SplitButtonContainer(_ref2) {
126
61
  children = _ref2.children,
127
62
  _ref2$isDisabled = _ref2.isDisabled,
128
63
  isDisabled = _ref2$isDisabled === void 0 ? false : _ref2$isDisabled;
129
- return jsx("div", {
130
- css: [appearance === 'default' && !isDisabled && fg('platform-component-visual-refresh') && defaultAppearanceContainerStyles, splitButtonStyles]
64
+ return /*#__PURE__*/React.createElement("div", {
65
+ className: ax([appearance === 'default' && !isDisabled && fg('platform-component-visual-refresh') && buttonStyles.defaultAppearanceContainer, buttonStyles.splitButton])
131
66
  }, children);
132
67
  };
133
68
 
@@ -151,23 +86,23 @@ export var SplitButton = function SplitButton(_ref3) {
151
86
  var _getActions = getActions(children),
152
87
  PrimaryAction = _getActions.PrimaryAction,
153
88
  SecondaryAction = _getActions.SecondaryAction;
154
- return jsx(SplitButtonContainer, {
89
+ return /*#__PURE__*/React.createElement(SplitButtonContainer, {
155
90
  appearance: appearance,
156
91
  isDisabled: isDisabled
157
- }, jsx(SplitButtonContext.Provider, {
92
+ }, /*#__PURE__*/React.createElement(SplitButtonContext.Provider, {
158
93
  value: {
159
94
  appearance: appearance,
160
95
  spacing: spacing,
161
96
  isDisabled: isDisabled
162
97
  }
163
- }, jsx("div", {
164
- css: primaryButtonStyles
165
- }, PrimaryAction), jsx(Divider, {
98
+ }, /*#__PURE__*/React.createElement("div", {
99
+ className: ax([buttonStyles.primaryButton])
100
+ }, PrimaryAction), /*#__PURE__*/React.createElement(Divider, {
166
101
  appearance: appearance,
167
102
  spacing: spacing,
168
103
  isDisabled: isDisabled
169
- }), jsx("div", {
170
- css: secondaryButtonStyles
104
+ }), /*#__PURE__*/React.createElement("div", {
105
+ className: ax([buttonStyles.secondaryButton])
171
106
  }, SecondaryAction)));
172
107
  };
173
108
  // TODO: Fill in the component {description} and ensure links point to the correct {packageName} location.
@@ -190,22 +125,22 @@ export var SplitButtonWithSlots = function SplitButtonWithSlots(_ref4) {
190
125
  spacing = _ref4$spacing === void 0 ? 'default' : _ref4$spacing,
191
126
  _ref4$isDisabled = _ref4.isDisabled,
192
127
  isDisabled = _ref4$isDisabled === void 0 ? false : _ref4$isDisabled;
193
- return jsx(SplitButtonContainer, {
128
+ return /*#__PURE__*/React.createElement(SplitButtonContainer, {
194
129
  appearance: appearance,
195
130
  isDisabled: isDisabled
196
- }, jsx(SplitButtonContext.Provider, {
131
+ }, /*#__PURE__*/React.createElement(SplitButtonContext.Provider, {
197
132
  value: {
198
133
  appearance: appearance,
199
134
  spacing: spacing,
200
135
  isDisabled: isDisabled
201
136
  }
202
- }, jsx("div", {
203
- css: primaryButtonStyles
204
- }, primaryAction), jsx(Divider, {
137
+ }, /*#__PURE__*/React.createElement("div", {
138
+ className: ax([buttonStyles.primaryButton])
139
+ }, primaryAction), /*#__PURE__*/React.createElement(Divider, {
205
140
  appearance: appearance,
206
141
  spacing: spacing,
207
142
  isDisabled: isDisabled
208
- }), jsx("div", {
209
- css: secondaryButtonStyles
143
+ }), /*#__PURE__*/React.createElement("div", {
144
+ className: ax([buttonStyles.secondaryButton])
210
145
  }, secondaryAction)));
211
146
  };
@@ -2,9 +2,10 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
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
- import React from 'react';
6
- import Pressable from '@atlaskit/primitives/pressable';
7
- import useDefaultButton from './use-default-button';
5
+ import React, { Fragment } from 'react';
6
+ import ButtonBase from '../shared/button-base';
7
+ import Content from '../shared/content';
8
+ import IconRenderer from '../shared/icon-renderer';
8
9
  /**
9
10
  * __Button__
10
11
  *
@@ -25,7 +26,8 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function But
25
26
  iconBefore = _ref.iconBefore,
26
27
  interactionName = _ref.interactionName,
27
28
  isDisabled = _ref.isDisabled,
28
- isLoading = _ref.isLoading,
29
+ _ref$isLoading = _ref.isLoading,
30
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
29
31
  isSelected = _ref.isSelected,
30
32
  onClick = _ref.onClick,
31
33
  onClickCapture = _ref.onClickCapture,
@@ -49,20 +51,20 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function But
49
51
  _as = unsafeRest.as,
50
52
  _style = unsafeRest.style,
51
53
  saferRest = _objectWithoutProperties(unsafeRest, _excluded2);
52
- var baseProps = useDefaultButton({
53
- ariaLabel: ariaLabel,
54
- ariaLabelledBy: ariaLabelledBy,
54
+ return /*#__PURE__*/React.createElement(ButtonBase, _extends({
55
55
  analyticsContext: analyticsContext,
56
+ ref: ref,
56
57
  appearance: appearance,
57
58
  autoFocus: autoFocus,
58
- buttonType: 'button',
59
- children: children,
60
- iconAfter: iconAfter,
61
- iconBefore: iconBefore,
62
- interactionName: interactionName,
63
59
  isDisabled: isDisabled,
64
60
  isLoading: isLoading,
65
61
  isSelected: isSelected,
62
+ hasIconBefore: Boolean(iconBefore),
63
+ hasIconAfter: Boolean(iconAfter),
64
+ shouldFitContainer: shouldFitContainer,
65
+ spacing: spacing,
66
+ ariaLabel: ariaLabel,
67
+ ariaLabelledBy: ariaLabelledBy,
66
68
  onClick: onClick,
67
69
  onClickCapture: onClickCapture,
68
70
  onKeyDownCapture: onKeyDownCapture,
@@ -71,37 +73,27 @@ var Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function But
71
73
  onMouseUpCapture: onMouseUpCapture,
72
74
  onPointerDownCapture: onPointerDownCapture,
73
75
  onPointerUpCapture: onPointerUpCapture,
74
- onTouchEndCapture: onTouchEndCapture,
75
76
  onTouchStartCapture: onTouchStartCapture,
76
- ref: ref,
77
- shouldFitContainer: shouldFitContainer,
78
- spacing: spacing,
79
- testId: testId
80
- });
81
- return /*#__PURE__*/React.createElement(Pressable
82
- // TODO: Remove spread props
83
- , _extends({}, saferRest, {
84
- "aria-label": baseProps['aria-label'],
85
- "aria-labelledby": baseProps['aria-labelledby'],
86
- ref: baseProps.ref,
87
- xcss: baseProps.xcss,
88
- isDisabled: baseProps.isDisabled,
89
- onClick: baseProps.onClick,
90
- onMouseDownCapture: baseProps.onMouseDownCapture,
91
- onMouseUpCapture: baseProps.onMouseUpCapture,
92
- onKeyDownCapture: baseProps.onKeyDownCapture,
93
- onKeyUpCapture: baseProps.onKeyUpCapture,
94
- onTouchStartCapture: baseProps.onTouchStartCapture,
95
- onTouchEndCapture: baseProps.onTouchEndCapture,
96
- onPointerDownCapture: baseProps.onPointerDownCapture,
97
- onPointerUpCapture: baseProps.onPointerUpCapture,
98
- onClickCapture: baseProps.onClickCapture,
99
- type: type,
77
+ onTouchEndCapture: onTouchEndCapture,
100
78
  testId: testId,
101
- analyticsContext: analyticsContext,
102
- interactionName: interactionName,
103
- componentName: "Button"
104
- }), baseProps.children);
79
+ componentName: "Button",
80
+ type: type,
81
+ interactionName: interactionName
82
+ }, saferRest), /*#__PURE__*/React.createElement(Fragment, null, iconBefore && /*#__PURE__*/React.createElement(Content, {
83
+ type: "icon",
84
+ position: "before",
85
+ isLoading: isLoading
86
+ }, /*#__PURE__*/React.createElement(IconRenderer, {
87
+ icon: iconBefore
88
+ })), children && /*#__PURE__*/React.createElement(Content, {
89
+ isLoading: isLoading
90
+ }, children), iconAfter && /*#__PURE__*/React.createElement(Content, {
91
+ type: "icon",
92
+ position: "after",
93
+ isLoading: isLoading
94
+ }, /*#__PURE__*/React.createElement(IconRenderer, {
95
+ icon: iconAfter
96
+ }))));
105
97
  }));
106
98
  Button.displayName = 'Button';
107
99
  export default Button;
@@ -0,0 +1,119 @@
1
+
2
+ ._11c82smr{font:var(--ds-font-body,normal 400 14px/20px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
3
+ ._14mj1kw7:after{border-radius:inherit}
4
+ ._2rkosqtm{border-radius:var(--ds-border-radius-100,3px)}
5
+ ._9v7aze3t:after{inset:var(--ds-space-0,0)}
6
+ ._v5649dqc{transition:background .1s ease-out}
7
+ ._189eidpf{border-width:0}
8
+ ._1rjc12x7{padding-block:var(--ds-space-075,6px)}
9
+ ._1rjcv77o{padding-block:var(--ds-space-025,2px)}
10
+ ._1tv3nqa1:after{border-style:solid}
11
+ ._39yqe4h9:after{border-width:var(--ds-border-width,1px)}
12
+ ._8l3mcoux:after{border-color:var(--ds-border-selected,#0052cc)}
13
+ ._8l3mmuej:after{border-color:var(--ds-border,#091e4224)}
14
+ ._11fnglyw:after{pointer-events:none}
15
+ ._18postnw:after{position:absolute}
16
+ ._1bah1h6o{justify-content:center}
17
+ ._1bsb1wug{width:auto}
18
+ ._1e0c116y{display:inline-flex}
19
+ ._1hmsagmp{text-decoration-line:none!important}
20
+ ._1o9zidpf{flex-shrink:0}
21
+ ._4bfu1snc{text-decoration-color:currentColor!important}
22
+ ._4cvr1q9y{align-items:baseline}
23
+ ._4t3i1k8s{height:1.5rem}
24
+ ._4t3iviql{height:2rem}
25
+ ._80om13gf{cursor:not-allowed}
26
+ ._aetrb3bt:after{content:""}
27
+ ._aetrglyw:after{content:none}
28
+ ._ajmmvv82{text-decoration-style:solid!important}
29
+ ._bfhk1g49{background-color:var(--ds-background-selected,#403294)}
30
+ ._bfhk1ikc{background-color:var(--ds-background-warning-bold,#ffab00)}
31
+ ._bfhk1j54{background-color:var(--ds-background-neutral,rgba(9,30,66,.04))}
32
+ ._bfhk1v7l{background-color:var(--ds-background-danger-bold,#de350b)}
33
+ ._bfhk1vbi{background-color:var(--ds-background-discovery-bold,#5243aa)}
34
+ ._bfhk7btw{background-color:var(--ds-background-selected,#253858)}
35
+ ._bfhkbeib{background-color:var(--ds-background-selected,#bf2600)}
36
+ ._bfhkfg4m{background-color:var(--ds-background-selected,#e9f2ff)}
37
+ ._bfhkomb0{background-color:var(--ds-background-brand-bold,#0052cc)}
38
+ ._bfhkqtfy{background-color:var(--ds-background-neutral-subtle,transparent)}
39
+ ._bfhksm61{background-color:var(--ds-background-neutral-subtle,#00000000)}
40
+ ._bfhksyzs{background-color:var(--ds-background-disabled,#091e4208)}
41
+ ._bfhkvdtc{background-color:var(--ds-background-selected,#ff991f)}
42
+ ._bozgu2gc{padding-inline-start:var(--ds-space-100,8px)}
43
+ ._bozgutpp{padding-inline-start:var(--ds-space-150,9pt)}
44
+ ._gy1p1b66{column-gap:var(--ds-space-050,4px)}
45
+ ._k48p1wq8{font-weight:var(--ds-font-weight-medium,500)}
46
+ ._kqswh2mm{position:relative}
47
+ ._p12f1osq{max-width:100%}
48
+ ._s7n4nkob{vertical-align:middle}
49
+ ._syaz10s3{color:var(--ds-text,#42526e)}
50
+ ._syaz15cr{color:var(--ds-text-inverse,#fff)}
51
+ ._syaz16q2{color:var(--ds-text-selected,#172b4d)}
52
+ ._syaz1gjq{color:var(--ds-text-subtle,#44546f)}
53
+ ._syaz1ldt{color:var(--ds-text-selected,#0052cc)}
54
+ ._syaz1lh4{color:var(--ds-text-disabled,#091e424f)}
55
+ ._syaz1pke{color:var(--ds-text-selected,#f4f5f7)}
56
+ ._syazal3n{color:var(--ds-text-warning-inverse,#172b4d)}
57
+ ._vchhusvi{box-sizing:border-box}
58
+ ._y3gn1h6o{text-align:center}
59
+ ._y4tiu2gc{padding-inline-end:var(--ds-space-100,8px)}
60
+ ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}._105310s3:visited{color:var(--ds-text,#42526e)}
61
+ ._105315cr:visited{color:var(--ds-text-inverse,#fff)}
62
+ ._10531gjq:visited{color:var(--ds-text-subtle,#44546f)}
63
+ ._10531ldt:visited{color:var(--ds-text-selected,#0052cc)}
64
+ ._10531pke:visited{color:var(--ds-text-selected,#f4f5f7)}
65
+ ._1053al3n:visited{color:var(--ds-text-warning-inverse,#172b4d)}
66
+ ._1a3b1r31:focus{text-decoration-color:currentColor}
67
+ ._4fprglyw:focus{text-decoration-line:none}
68
+ ._5goinqa1:focus{text-decoration-style:solid}
69
+ ._f8pj10s3:focus{color:var(--ds-text,#42526e)}
70
+ ._f8pj15cr:focus{color:var(--ds-text-inverse,#fff)}
71
+ ._f8pj1gjq:focus{color:var(--ds-text-subtle,#44546f)}
72
+ ._f8pj1ldt:focus{color:var(--ds-text-selected,#0052cc)}
73
+ ._f8pj1mjl:focus{color:color.text.subtle}
74
+ ._f8pj1pke:focus{color:var(--ds-text-selected,#f4f5f7)}
75
+ ._f8pjal3n:focus{color:var(--ds-text-warning-inverse,#172b4d)}
76
+ ._1bnxglyw:hover{text-decoration-line:none}
77
+ ._30l310s3:hover{color:var(--ds-text,#42526e)}
78
+ ._30l315cr:hover{color:var(--ds-text-inverse,#fff)}
79
+ ._30l31gjq:hover{color:var(--ds-text-subtle,#44546f)}
80
+ ._30l31ldt:hover{color:var(--ds-text-selected,#0052cc)}
81
+ ._30l31lh4:hover{color:var(--ds-text-disabled,#091e424f)}
82
+ ._30l31pke:hover{color:var(--ds-text-selected,#f4f5f7)}
83
+ ._30l3al3n:hover{color:var(--ds-text-warning-inverse,#172b4d)}
84
+ ._9oik1r31:hover{text-decoration-color:currentColor}
85
+ ._irr3166n:hover{background-color:var(--ds-background-neutral-subtle-hovered,#091e420f)}
86
+ ._irr31g49:hover{background-color:var(--ds-background-selected,#403294)}
87
+ ._irr31j43:hover{background-color:var(--ds-background-warning-bold-hovered,#ffc400)}
88
+ ._irr31rwk:hover{background-color:var(--ds-background-danger-bold-hovered,#ff5630)}
89
+ ._irr31wqm:hover{background-color:var(--ds-background-brand-bold-hovered,#0065ff)}
90
+ ._irr34mfv:hover{background-color:var(--ds-background-neutral-subtle-hovered,#091e4214)}
91
+ ._irr37gr8:hover{background-color:var(--ds-background-discovery-bold-hovered,#8777d9)}
92
+ ._irr3beib:hover{background-color:var(--ds-background-selected,#bf2600)}
93
+ ._irr3i1yw:hover{background-color:var(--ds-background-selected-hovered,#cce0ff)}
94
+ ._irr3syzs:hover{background-color:var(--ds-background-disabled,#091e4208)}
95
+ ._irr3vdtc:hover{background-color:var(--ds-background-selected,#ff991f)}
96
+ ._irr3yw9d:hover{background-color:var(--ds-background-neutral-hovered,#091e4214)}
97
+ ._jf4cnqa1:hover{text-decoration-style:solid}
98
+ ._1di617hq:active{background-color:var(--ds-background-brand-bold-pressed,#0747a6)}
99
+ ._1di619qy:active{background-color:var(--ds-background-neutral-subtle-pressed,#b3d4ff)}
100
+ ._1di619ru:active{background-color:var(--ds-background-selected-pressed,#85b8ff)}
101
+ ._1di61dty:active{background-color:var(--ds-background-neutral-subtle-pressed,#091e4224)}
102
+ ._1di61g49:active{background-color:var(--ds-background-selected,#403294)}
103
+ ._1di61wu2:active{background-color:var(--ds-background-discovery-bold-pressed,#5243aa)}
104
+ ._1di6beib:active{background-color:var(--ds-background-selected,#bf2600)}
105
+ ._1di6h4op:active{background-color:var(--ds-background-warning-bold-pressed,#ff991f)}
106
+ ._1di6ip91:active{background-color:var(--ds-background-neutral-pressed,#091e424f)}
107
+ ._1di6syzs:active{background-color:var(--ds-background-disabled,#091e4208)}
108
+ ._1di6vdtc:active{background-color:var(--ds-background-selected,#ff991f)}
109
+ ._1di6yycf:active{background-color:var(--ds-background-danger-bold-pressed,#bf2600)}
110
+ ._1iohnqa1:active{text-decoration-style:solid}
111
+ ._1nrm1r31:active{text-decoration-color:currentColor}
112
+ ._9h8h10s3:active{color:var(--ds-text,#42526e)}
113
+ ._9h8h15cr:active{color:var(--ds-text-inverse,#fff)}
114
+ ._9h8h1gjq:active{color:var(--ds-text-subtle,#44546f)}
115
+ ._9h8h1ldt:active{color:var(--ds-text-selected,#0052cc)}
116
+ ._9h8h1lh4:active{color:var(--ds-text-disabled,#091e424f)}
117
+ ._9h8h1pke:active{color:var(--ds-text-selected,#f4f5f7)}
118
+ ._9h8hal3n:active{color:var(--ds-text-warning-inverse,#172b4d)}
119
+ ._c2waglyw:active{text-decoration-line:none}