@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
@@ -1,3 +1,4 @@
1
+ /* link.tsx generated by @compiled/babel-plugin v0.36.1 */
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -6,22 +7,59 @@ Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.default = void 0;
10
+ require("./link.compiled.css");
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var React = _react;
13
+ var _runtime = require("@compiled/react/runtime");
9
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
15
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _anchor = _interopRequireDefault(require("@atlaskit/primitives/anchor"));
16
+ var _css2 = require("@atlaskit/css");
17
+ var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
18
+ var _useAutoFocus = _interopRequireDefault(require("@atlaskit/ds-lib/use-auto-focus"));
19
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
20
+ var _compiled = require("@atlaskit/primitives/compiled");
13
21
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
14
- var _useIconButton = _interopRequireDefault(require("./use-icon-button"));
15
- var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "href", "icon", "interactionName", "isDisabled", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "shape", "spacing", "testId", "tooltip"],
22
+ var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
23
+ var _content = _interopRequireDefault(require("../shared/content"));
24
+ var _iconRenderer = _interopRequireDefault(require("../shared/icon-renderer"));
25
+ var _excluded = ["aria-label", "aria-labelledby", "analyticsContext", "appearance", "autoFocus", "href", "icon", "interactionName", "isDisabled", "isSelected", "isTooltipDisabled", "label", "onClick", "onClickCapture", "onKeyDownCapture", "onKeyUpCapture", "onMouseDownCapture", "onMouseUpCapture", "onPointerDownCapture", "onPointerUpCapture", "onTouchEndCapture", "onTouchStartCapture", "shape", "spacing", "testId", "tooltip", "xcss"],
16
26
  _excluded2 = ["className", "css", "as", "style"];
17
27
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
28
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
+ var styles = {
30
+ base: "_2rkosqtm _11c82smr _v5649dqc _189eidpf _1rjc12x7 _1e0c116y _vchhusvi _1bsb1wug _p12f1osq _kqswh2mm _4cvr1q9y _1bah1h6o _gy1p1b66 _1o9zidpf _4t3iviql _k48p1wq8 _y4tiutpp _bozgutpp _y3gn1h6o _s7n4nkob _14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _11fnglyw _18postnw",
31
+ linkDecorationUnset: "_4bfu1snc _1hmsagmp _ajmmvv82 _1a3b1r31 _4fprglyw _5goinqa1 _9oik1r31 _1bnxglyw _jf4cnqa1 _1nrm1r31 _c2waglyw _1iohnqa1",
32
+ disabled: "_80om13gf _bfhksyzs _syaz1lh4 _aetrglyw _irr3syzs _30l31lh4 _1di6syzs _9h8h1lh4",
33
+ spacingCompact: "_1rjcv77o _gy1p1b66 _y4tiutpp _bozgutpp _s7n4nkob _4t3i1k8s _1bsb1k8s",
34
+ iconButton: "_4t3iviql _1bsbviql _y4tize3t _bozgze3t"
35
+ };
36
+ var defaultStyles = {
37
+ root: "_bfhk1j54 _syaz10s3 _105310s3 _f8pj10s3 _irr3yw9d _30l310s3 _1di6ip91 _9h8h10s3",
38
+ rootRefreshed: "_bfhksm61 _syaz1gjq _8l3mmuej _aetrb3bt _10531gjq _f8pj1gjq _irr3166n _30l31gjq _1di61dty _9h8h1gjq"
39
+ };
40
+ var primaryStyles = {
41
+ root: "_bfhkomb0 _syaz15cr _105315cr _30l315cr _irr31wqm _9h8h15cr _1di617hq"
42
+ };
43
+ var discoveryStyles = {
44
+ root: "_bfhk1vbi _syaz15cr _105315cr _30l315cr _irr37gr8 _9h8h15cr _1di61wu2"
45
+ };
46
+ var subtleStyles = {
47
+ root: "_bfhkqtfy _syaz10s3 _105310s3 _f8pj10s3 _irr34mfv _30l310s3 _1di619qy _9h8h10s3",
48
+ rootRefreshed: "_bfhkqtfy _syaz1gjq _10531gjq _f8pj1mjl _irr34mfv _30l31gjq _1di619qy _9h8h1gjq"
49
+ };
50
+ var selectedStyles = {
51
+ root: "_bfhk7btw _syaz1pke _10531pke _f8pj1pke _irr3i1yw _30l3aqb7 _1di619ru _9h8haqb7",
52
+ rootRefreshed: "_bfhkfg4m _syaz1ldt _8l3mcoux _aetrb3bt _10531ldt _f8pj1ldt _30l31ldt _9h8h1ldt",
53
+ discovery: "_bfhk1g49 _syaz1pke _30l31pke _irr31g49 _9h8h1pke _1di61g49"
54
+ };
19
55
  var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
20
56
  var preventedAriaLabel = _ref['aria-label'],
21
57
  ariaLabelledBy = _ref['aria-labelledby'],
22
58
  analyticsContext = _ref.analyticsContext,
23
- appearance = _ref.appearance,
24
- autoFocus = _ref.autoFocus,
59
+ _ref$appearance = _ref.appearance,
60
+ appearance = _ref$appearance === void 0 ? 'default' : _ref$appearance,
61
+ _ref$autoFocus = _ref.autoFocus,
62
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
25
63
  href = _ref.href,
26
64
  icon = _ref.icon,
27
65
  interactionName = _ref.interactionName,
@@ -30,7 +68,7 @@ var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
30
68
  _ref$isTooltipDisable = _ref.isTooltipDisabled,
31
69
  isTooltipDisabled = _ref$isTooltipDisable === void 0 ? true : _ref$isTooltipDisable,
32
70
  label = _ref.label,
33
- onClick = _ref.onClick,
71
+ _onClick = _ref.onClick,
34
72
  onClickCapture = _ref.onClickCapture,
35
73
  onKeyDownCapture = _ref.onKeyDownCapture,
36
74
  onKeyUpCapture = _ref.onKeyUpCapture,
@@ -44,6 +82,7 @@ var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
44
82
  spacing = _ref.spacing,
45
83
  testId = _ref.testId,
46
84
  tooltip = _ref.tooltip,
85
+ xcss = _ref.xcss,
47
86
  unsafeRest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
48
87
  // @ts-expect-error
49
88
  var _className = unsafeRest.className,
@@ -51,35 +90,11 @@ var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
51
90
  _as = unsafeRest.as,
52
91
  _style = unsafeRest.style,
53
92
  saferRest = (0, _objectWithoutProperties2.default)(unsafeRest, _excluded2);
54
- var baseProps = (0, _useIconButton.default)({
55
- analyticsContext: analyticsContext,
56
- appearance: appearance,
57
- ariaLabelledBy: ariaLabelledBy,
58
- autoFocus: autoFocus,
59
- buttonType: 'link',
60
- icon: icon,
61
- interactionName: interactionName,
62
- isDisabled: isDisabled,
63
- isSelected: isSelected,
64
- label: label,
65
- onClick: onClick,
66
- onClickCapture: onClickCapture,
67
- onKeyDownCapture: onKeyDownCapture,
68
- onKeyUpCapture: onKeyUpCapture,
69
- onMouseDownCapture: onMouseDownCapture,
70
- onMouseUpCapture: onMouseUpCapture,
71
- onPointerDownCapture: onPointerDownCapture,
72
- onPointerUpCapture: onPointerUpCapture,
73
- onTouchEndCapture: onTouchEndCapture,
74
- onTouchStartCapture: onTouchStartCapture,
75
- ref: ref,
76
- shape: shape,
77
- spacing: spacing,
78
- testId: testId
79
- });
93
+ var localRef = (0, _react.useRef)(null);
94
+ (0, _useAutoFocus.default)(localRef, autoFocus);
80
95
  if (!isTooltipDisabled) {
81
96
  var _tooltip$content;
82
- return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
97
+ return /*#__PURE__*/React.createElement(_tooltip.default, {
83
98
  content: (_tooltip$content = tooltip === null || tooltip === void 0 ? void 0 : tooltip.content) !== null && _tooltip$content !== void 0 ? _tooltip$content : label,
84
99
  testId: tooltip === null || tooltip === void 0 ? void 0 : tooltip.testId,
85
100
  position: tooltip === null || tooltip === void 0 ? void 0 : tooltip.position,
@@ -96,10 +111,10 @@ var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
96
111
  hideTooltipOnMouseDown: tooltip === null || tooltip === void 0 ? void 0 : tooltip.hideTooltipOnMouseDown,
97
112
  ignoreTooltipPointerEvents: tooltip === null || tooltip === void 0 ? void 0 : tooltip.ignoreTooltipPointerEvents
98
113
  }, function (triggerProps) {
99
- return /*#__PURE__*/_react.default.createElement(_anchor.default
114
+ return /*#__PURE__*/React.createElement(_compiled.Anchor
100
115
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
101
116
  , (0, _extends2.default)({}, saferRest, {
102
- "aria-labelledby": baseProps['aria-labelledby'],
117
+ "aria-labelledby": ariaLabelledBy,
103
118
  testId: testId,
104
119
  componentName: "LinkIconButton",
105
120
  analyticsContext: analyticsContext,
@@ -139,55 +154,61 @@ var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
139
154
  // Shared between tooltip and base props
140
155
  ,
141
156
  onClick: function onClick(event, analyticsEvent) {
142
- var _baseProps$onClick, _triggerProps$onClick;
143
- baseProps === null || baseProps === void 0 || (_baseProps$onClick = baseProps.onClick) === null || _baseProps$onClick === void 0 || _baseProps$onClick.call(baseProps, event, analyticsEvent);
157
+ var _triggerProps$onClick;
158
+ _onClick === null || _onClick === void 0 || _onClick(event, analyticsEvent);
144
159
  triggerProps === null || triggerProps === void 0 || (_triggerProps$onClick = triggerProps.onClick) === null || _triggerProps$onClick === void 0 || _triggerProps$onClick.call(triggerProps, event);
145
160
  },
146
- ref: function ref(_ref2) {
147
- var _triggerProps$ref;
148
- baseProps.ref(_ref2);
149
- triggerProps === null || triggerProps === void 0 || (_triggerProps$ref = triggerProps.ref) === null || _triggerProps$ref === void 0 || _triggerProps$ref.call(triggerProps, _ref2);
150
- }
161
+ ref: (0, _mergeRefs.default)([localRef, ref, triggerProps.ref].filter(Boolean))
151
162
  // Base props only
152
163
  ,
153
- xcss: baseProps.xcss,
154
- onMouseDownCapture: baseProps.onMouseDownCapture,
155
- onMouseUpCapture: baseProps.onMouseUpCapture,
156
- onKeyDownCapture: baseProps.onKeyDownCapture,
157
- onKeyUpCapture: baseProps.onKeyUpCapture,
158
- onTouchStartCapture: baseProps.onTouchStartCapture,
159
- onTouchEndCapture: baseProps.onTouchEndCapture,
160
- onPointerDownCapture: baseProps.onPointerDownCapture,
161
- onPointerUpCapture: baseProps.onPointerUpCapture,
162
- onClickCapture: baseProps.onClickCapture
164
+ xcss: (0, _css2.cx)(styles.base, appearance === 'default' && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? defaultStyles.rootRefreshed : defaultStyles.root), appearance === 'primary' && primaryStyles.root, appearance === 'discovery' && discoveryStyles.root, appearance === 'subtle' && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? subtleStyles.rootRefreshed : subtleStyles.root), styles.linkDecorationUnset, isSelected && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? selectedStyles.rootRefreshed : selectedStyles.root),
165
+ // TODO: remove me once we kill color fallbacks
166
+ isSelected && appearance === 'discovery' && selectedStyles.discovery, isDisabled && styles.disabled, spacing === 'compact' && styles.spacingCompact, styles.iconButton),
167
+ onMouseDownCapture: onMouseDownCapture,
168
+ onMouseUpCapture: onMouseUpCapture,
169
+ onKeyDownCapture: onKeyDownCapture,
170
+ onKeyUpCapture: onKeyUpCapture,
171
+ onTouchStartCapture: onTouchStartCapture,
172
+ onTouchEndCapture: onTouchEndCapture,
173
+ onPointerDownCapture: onPointerDownCapture,
174
+ onPointerUpCapture: onPointerUpCapture,
175
+ onClickCapture: onClickCapture
163
176
  /**
164
177
  * Disable link in an accessible way using `href`, `role`, and `aria-disabled`.
165
178
  * @see https://a11y-guidelines.orange.com/en/articles/disable-elements/#disable-a-link
166
179
  */
167
180
  // @ts-expect-error (`href` is required, we could make it optional but don't want to encourage this pattern elsewhere)
168
181
  ,
169
- href: baseProps.isDisabled ? undefined : href,
170
- role: baseProps.isDisabled ? 'link' : undefined,
171
- "aria-disabled": baseProps.isDisabled === true ? true : undefined
172
- }), baseProps.children);
182
+ href: isDisabled ? undefined : href,
183
+ role: isDisabled ? 'link' : undefined,
184
+ "aria-disabled": isDisabled === true ? true : undefined
185
+ }), /*#__PURE__*/React.createElement(_content.default, {
186
+ type: "icon",
187
+ isLoading: false
188
+ }, /*#__PURE__*/React.createElement(_iconRenderer.default, {
189
+ icon: icon
190
+ }), /*#__PURE__*/React.createElement(_visuallyHidden.default, null, label)));
173
191
  });
174
192
  }
175
- return /*#__PURE__*/_react.default.createElement(_anchor.default
193
+ return /*#__PURE__*/React.createElement(_compiled.Anchor
176
194
  // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
177
195
  , (0, _extends2.default)({}, saferRest, {
178
- "aria-labelledby": baseProps['aria-labelledby'],
179
- ref: baseProps.ref,
180
- xcss: baseProps.xcss,
181
- onClick: baseProps.onClick,
182
- onMouseDownCapture: baseProps.onMouseDownCapture,
183
- onMouseUpCapture: baseProps.onMouseUpCapture,
184
- onKeyDownCapture: baseProps.onKeyDownCapture,
185
- onKeyUpCapture: baseProps.onKeyUpCapture,
186
- onTouchStartCapture: baseProps.onTouchStartCapture,
187
- onTouchEndCapture: baseProps.onTouchEndCapture,
188
- onPointerDownCapture: baseProps.onPointerDownCapture,
189
- onPointerUpCapture: baseProps.onPointerUpCapture,
190
- onClickCapture: baseProps.onClickCapture,
196
+ // aria-label={preventedAriaLabel}
197
+ "aria-labelledby": ariaLabelledBy,
198
+ ref: (0, _mergeRefs.default)([localRef, ref]),
199
+ xcss: (0, _css2.cx)(styles.base, appearance === 'default' && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? defaultStyles.rootRefreshed : defaultStyles.root), appearance === 'primary' && primaryStyles.root, appearance === 'discovery' && discoveryStyles.root, appearance === 'subtle' && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? subtleStyles.rootRefreshed : subtleStyles.root), styles.linkDecorationUnset, isSelected && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? selectedStyles.rootRefreshed : selectedStyles.root),
200
+ // TODO: remove me once we kill color fallbacks
201
+ isSelected && appearance === 'discovery' && selectedStyles.discovery, isDisabled && styles.disabled, styles.iconButton, spacing === 'compact' && styles.spacingCompact),
202
+ onClick: _onClick,
203
+ onMouseDownCapture: onMouseDownCapture,
204
+ onMouseUpCapture: onMouseUpCapture,
205
+ onKeyDownCapture: onKeyDownCapture,
206
+ onKeyUpCapture: onKeyUpCapture,
207
+ onTouchStartCapture: onTouchStartCapture,
208
+ onTouchEndCapture: onTouchEndCapture,
209
+ onPointerDownCapture: onPointerDownCapture,
210
+ onPointerUpCapture: onPointerUpCapture,
211
+ onClickCapture: onClickCapture,
191
212
  testId: testId
192
213
  /**
193
214
  * Disable link in an accessible way using `href`, `role`, and `aria-disabled`.
@@ -195,13 +216,18 @@ var LinkIconButtonBase = function LinkIconButtonBase(_ref, ref) {
195
216
  */
196
217
  // @ts-expect-error (`href` is required, we could make it optional but don't want to encourage this pattern elsewhere)
197
218
  ,
198
- href: baseProps.isDisabled ? undefined : href,
199
- role: baseProps.isDisabled ? 'link' : undefined,
200
- "aria-disabled": baseProps.isDisabled === true ? true : undefined,
219
+ href: isDisabled ? undefined : href,
220
+ role: isDisabled ? 'link' : undefined,
221
+ "aria-disabled": isDisabled === true ? true : undefined,
201
222
  componentName: "LinkIconButton",
202
223
  analyticsContext: analyticsContext,
203
224
  interactionName: interactionName
204
- }), baseProps.children);
225
+ }), /*#__PURE__*/React.createElement(_content.default, {
226
+ type: "icon",
227
+ isLoading: false
228
+ }, /*#__PURE__*/React.createElement(_iconRenderer.default, {
229
+ icon: icon
230
+ }), /*#__PURE__*/React.createElement(_visuallyHidden.default, null, label)));
205
231
  };
206
232
 
207
233
  // Workarounds to support generic types with forwardRef + memo
@@ -0,0 +1,137 @@
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
+ ._2rko14q2{border-radius:var(--ds-border-radius-circle,2002pc)}
5
+ ._2rkosqtm{border-radius:var(--ds-border-radius-100,3px)}
6
+ ._9v7aze3t:after{inset:var(--ds-space-0,0)}
7
+ ._v5649dqc{transition:background .1s ease-out}
8
+ ._189eidpf{border-width:0}
9
+ ._1rjc12x7{padding-block:var(--ds-space-075,6px)}
10
+ ._1rjcv77o{padding-block:var(--ds-space-025,2px)}
11
+ ._1tv3nqa1:after{border-style:solid}
12
+ ._39yqe4h9:after{border-width:var(--ds-border-width,1px)}
13
+ ._8l3mcoux:after{border-color:var(--ds-border-selected,#0052cc)}
14
+ ._8l3mmuej:after{border-color:var(--ds-border,#091e4224)}
15
+ ._11fnglyw:after{pointer-events:none}
16
+ ._152tze3t{inset-block-start:var(--ds-space-0,0)}
17
+ ._18postnw:after{position:absolute}
18
+ ._1bah1h6o{justify-content:center}
19
+ ._1bsb1k8s{width:1.5rem}
20
+ ._1bsb1osq{width:100%}
21
+ ._1bsb1tcg{width:24px}
22
+ ._1bsb1wug{width:auto}
23
+ ._1bsbviql{width:2rem}
24
+ ._1e02ze3t{inset-inline-start:var(--ds-space-0,0)}
25
+ ._1e0c116y{display:inline-flex}
26
+ ._1e0c1txw{display:flex}
27
+ ._1hmsglyw{text-decoration-line:none}
28
+ ._1o9zidpf{flex-shrink:0}
29
+ ._1pbycs5v{z-index:2}
30
+ ._4bfu1r31{text-decoration-color:currentColor}
31
+ ._4cvr1h6o{align-items:center}
32
+ ._4cvr1q9y{align-items:baseline}
33
+ ._4t3i1k8s{height:1.5rem}
34
+ ._4t3iviql{height:2rem}
35
+ ._80om13gf{cursor:not-allowed}
36
+ ._80om15jw{cursor:progress}
37
+ ._aetrb3bt:after{content:""}
38
+ ._aetrglyw:after{content:none}
39
+ ._ajmmnqa1{text-decoration-style:solid}
40
+ ._bfhk1fvb{background-color:var(--ds-background-disabled,rgba(9,30,66,.04))}
41
+ ._bfhk1g49{background-color:var(--ds-background-selected,#403294)}
42
+ ._bfhk1ikc{background-color:var(--ds-background-warning-bold,#ffab00)}
43
+ ._bfhk1j54{background-color:var(--ds-background-neutral,rgba(9,30,66,.04))}
44
+ ._bfhk1v7l{background-color:var(--ds-background-danger-bold,#de350b)}
45
+ ._bfhk1vbi{background-color:var(--ds-background-discovery-bold,#5243aa)}
46
+ ._bfhk7btw{background-color:var(--ds-background-selected,#253858)}
47
+ ._bfhkbeib{background-color:var(--ds-background-selected,#bf2600)}
48
+ ._bfhkfg4m{background-color:var(--ds-background-selected,#e9f2ff)}
49
+ ._bfhkomb0{background-color:var(--ds-background-brand-bold,#0052cc)}
50
+ ._bfhkqtfy{background-color:var(--ds-background-neutral-subtle,transparent)}
51
+ ._bfhksm61{background-color:var(--ds-background-neutral-subtle,#00000000)}
52
+ ._bfhkvdtc{background-color:var(--ds-background-selected,#ff991f)}
53
+ ._bozg12x7{padding-inline-start:var(--ds-space-075,6px)}
54
+ ._bozgu2gc{padding-inline-start:var(--ds-space-100,8px)}
55
+ ._bozgutpp{padding-inline-start:var(--ds-space-150,9pt)}
56
+ ._bozgze3t{padding-inline-start:var(--ds-space-0,0)}
57
+ ._gy1p1b66{column-gap:var(--ds-space-050,4px)}
58
+ ._k48p1wq8{font-weight:var(--ds-font-weight-medium,500)}
59
+ ._kqswh2mm{position:relative}
60
+ ._kqswstnw{position:absolute}
61
+ ._p12f1osq{max-width:100%}
62
+ ._rjxpze3t{inset-inline-end:var(--ds-space-0,0)}
63
+ ._s7n4nkob{vertical-align:middle}
64
+ ._syaz10s3{color:var(--ds-text,#42526e)}
65
+ ._syaz15cr{color:var(--ds-text-inverse,#fff)}
66
+ ._syaz16q2{color:var(--ds-text-selected,#172b4d)}
67
+ ._syaz1gjq{color:var(--ds-text-subtle,#44546f)}
68
+ ._syaz1ldt{color:var(--ds-text-selected,#0052cc)}
69
+ ._syaz1lh4{color:var(--ds-text-disabled,#091e424f)}
70
+ ._syaz1pke{color:var(--ds-text-selected,#f4f5f7)}
71
+ ._syazal3n{color:var(--ds-text-warning-inverse,#172b4d)}
72
+ ._u7coze3t{inset-block-end:var(--ds-space-0,0)}
73
+ ._vchhusvi{box-sizing:border-box}
74
+ ._y3gn1h6o{text-align:center}
75
+ ._y4ti12x7{padding-inline-end:var(--ds-space-075,6px)}
76
+ ._y4tiu2gc{padding-inline-end:var(--ds-space-100,8px)}
77
+ ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}
78
+ ._y4tize3t{padding-inline-end:var(--ds-space-0,0)}._105310s3:visited{color:var(--ds-text,#42526e)}
79
+ ._105315cr:visited{color:var(--ds-text-inverse,#fff)}
80
+ ._10531gjq:visited{color:var(--ds-text-subtle,#44546f)}
81
+ ._10531ldt:visited{color:var(--ds-text-selected,#0052cc)}
82
+ ._10531pke:visited{color:var(--ds-text-selected,#f4f5f7)}
83
+ ._1053al3n:visited{color:var(--ds-text-warning-inverse,#172b4d)}
84
+ ._1a3b1r31:focus{text-decoration-color:currentColor}
85
+ ._4fprglyw:focus{text-decoration-line:none}
86
+ ._5goinqa1:focus{text-decoration-style:solid}
87
+ ._f8pj10s3:focus{color:var(--ds-text,#42526e)}
88
+ ._f8pj15cr:focus{color:var(--ds-text-inverse,#fff)}
89
+ ._f8pj1gjq:focus{color:var(--ds-text-subtle,#44546f)}
90
+ ._f8pj1ldt:focus{color:var(--ds-text-selected,#0052cc)}
91
+ ._f8pj1pke:focus{color:var(--ds-text-selected,#f4f5f7)}
92
+ ._f8pjal3n:focus{color:var(--ds-text-warning-inverse,#172b4d)}
93
+ ._g0pbb4wl:focus-visible{z-index:100}
94
+ ._1bnxglyw:hover{text-decoration-line:none}
95
+ ._30l310s3:hover{color:var(--ds-text,#42526e)}
96
+ ._30l315cr:hover{color:var(--ds-text-inverse,#fff)}
97
+ ._30l31gjq:hover{color:var(--ds-text-subtle,#44546f)}
98
+ ._30l31ldt:hover{color:var(--ds-text-selected,#0052cc)}
99
+ ._30l31lh4:hover{color:var(--ds-text-disabled,#091e424f)}
100
+ ._30l31pke:hover{color:var(--ds-text-selected,#f4f5f7)}
101
+ ._30l3al3n:hover{color:var(--ds-text-warning-inverse,#172b4d)}
102
+ ._9oik1r31:hover{text-decoration-color:currentColor}
103
+ ._irr3166n:hover{background-color:var(--ds-background-neutral-subtle-hovered,#091e420f)}
104
+ ._irr31fvb:hover{background-color:var(--ds-background-disabled,rgba(9,30,66,.04))}
105
+ ._irr31g49:hover{background-color:var(--ds-background-selected,#403294)}
106
+ ._irr31j43:hover{background-color:var(--ds-background-warning-bold-hovered,#ffc400)}
107
+ ._irr31rwk:hover{background-color:var(--ds-background-danger-bold-hovered,#ff5630)}
108
+ ._irr31wqm:hover{background-color:var(--ds-background-brand-bold-hovered,#0065ff)}
109
+ ._irr34mfv:hover{background-color:var(--ds-background-neutral-subtle-hovered,#091e4214)}
110
+ ._irr37gr8:hover{background-color:var(--ds-background-discovery-bold-hovered,#8777d9)}
111
+ ._irr3beib:hover{background-color:var(--ds-background-selected,#bf2600)}
112
+ ._irr3t71w:hover{background-color:var(--ds-background-selected-hovered,#253858)}
113
+ ._irr3vdtc:hover{background-color:var(--ds-background-selected,#ff991f)}
114
+ ._irr3yw9d:hover{background-color:var(--ds-background-neutral-hovered,#091e4214)}
115
+ ._jf4cnqa1:hover{text-decoration-style:solid}
116
+ ._1di617hq:active{background-color:var(--ds-background-brand-bold-pressed,#0747a6)}
117
+ ._1di619qy:active{background-color:var(--ds-background-neutral-subtle-pressed,#b3d4ff)}
118
+ ._1di61dty:active{background-color:var(--ds-background-neutral-subtle-pressed,#091e4224)}
119
+ ._1di61fvb:active{background-color:var(--ds-background-disabled,rgba(9,30,66,.04))}
120
+ ._1di61g49:active{background-color:var(--ds-background-selected,#403294)}
121
+ ._1di61wu2:active{background-color:var(--ds-background-discovery-bold-pressed,#5243aa)}
122
+ ._1di6beib:active{background-color:var(--ds-background-selected,#bf2600)}
123
+ ._1di6h4op:active{background-color:var(--ds-background-warning-bold-pressed,#ff991f)}
124
+ ._1di6ih13:active{background-color:var(--ds-background-neutral-pressed,#b3d4ff)}
125
+ ._1di6vdtc:active{background-color:var(--ds-background-selected,#ff991f)}
126
+ ._1di6yssv:active{background-color:var(--ds-background-selected-pressed,#253858)}
127
+ ._1di6yycf:active{background-color:var(--ds-background-danger-bold-pressed,#bf2600)}
128
+ ._1iohnqa1:active{text-decoration-style:solid}
129
+ ._1nrm1r31:active{text-decoration-color:currentColor}
130
+ ._9h8h10s3:active{color:var(--ds-text,#42526e)}
131
+ ._9h8h15cr:active{color:var(--ds-text-inverse,#fff)}
132
+ ._9h8h1gjq:active{color:var(--ds-text-subtle,#44546f)}
133
+ ._9h8h1ldt:active{color:var(--ds-text-selected,#0052cc)}
134
+ ._9h8h1lh4:active{color:var(--ds-text-disabled,#091e424f)}
135
+ ._9h8h1pke:active{color:var(--ds-text-selected,#f4f5f7)}
136
+ ._9h8hal3n:active{color:var(--ds-text-warning-inverse,#172b4d)}
137
+ ._c2waglyw:active{text-decoration-line:none}
@@ -0,0 +1,223 @@
1
+ /* button-base.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.default = void 0;
10
+ require("./button-base.compiled.css");
11
+ var _runtime = require("@compiled/react/runtime");
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _css2 = require("@atlaskit/css");
16
+ var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
17
+ var _useAutoFocus = _interopRequireDefault(require("@atlaskit/ds-lib/use-auto-focus"));
18
+ var _useId = require("@atlaskit/ds-lib/use-id");
19
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
20
+ var _compiled = require("@atlaskit/primitives/compiled");
21
+ var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
22
+ var _splitButtonContext = require("../../containers/split-button/split-button-context");
23
+ var _blockEvents = _interopRequireDefault(require("./block-events"));
24
+ var _loadingOverlay = _interopRequireDefault(require("./loading-overlay"));
25
+ var _excluded = ["appearance", "autoFocus", "isDisabled", "isLoading", "isSelected", "isIconButton", "isCircle", "hasIconBefore", "hasIconAfter", "shouldFitContainer", "spacing", "ariaLabel", "ariaLabelledBy", "children", "interactionName", "onClick", "onMouseDown", "onMouseDownCapture", "onMouseUp", "onMouseUpCapture", "onKeyDown", "onKeyDownCapture", "onKeyUp", "onKeyUpCapture", "onTouchStart", "onTouchStartCapture", "onTouchEnd", "onTouchEndCapture", "onPointerDown", "onPointerDownCapture", "onPointerUp", "onPointerUpCapture", "onClickCapture", "testId", "analyticsContext", "componentName", "role", "onMouseOver", "onMouseOut", "onFocus", "onBlur", "onMouseMove", "type"],
26
+ _excluded2 = ["className", "css", "as", "style"];
27
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
28
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
+ var LOADING_LABEL = ', Loading';
30
+ var styles = {
31
+ base: "_2rkosqtm _11c82smr _v5649dqc _189eidpf _1rjc12x7 _1e0c116y _vchhusvi _1bsb1wug _p12f1osq _kqswh2mm _4cvr1q9y _1bah1h6o _gy1p1b66 _1o9zidpf _4t3iviql _k48p1wq8 _y4tiutpp _bozgutpp _y3gn1h6o _s7n4nkob _14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _11fnglyw _18postnw",
32
+ linkDecorationUnset: "_4bfu1r31 _1hmsglyw _ajmmnqa1 _1a3b1r31 _4fprglyw _5goinqa1 _9oik1r31 _1bnxglyw _jf4cnqa1 _1nrm1r31 _c2waglyw _1iohnqa1",
33
+ disabled: "_80om13gf _bfhk1fvb _syaz1lh4 _aetrglyw _irr31fvb _30l31lh4 _1di61fvb _9h8h1lh4",
34
+ spacingCompact: "_1rjcv77o _gy1p1b66 _4t3i1k8s _y4tiutpp _bozgutpp _s7n4nkob",
35
+ circle: "_2rko14q2",
36
+ fullWidth: "_1bsb1osq",
37
+ loading: "_80om15jw",
38
+ iconButton: "_4t3iviql _1bsbviql _y4tize3t _bozgze3t",
39
+ iconButtonCompact: "_4t3i1k8s _1bsb1k8s",
40
+ buttonIconBefore: "_bozgu2gc",
41
+ buttonIconAfter: "_y4tiu2gc",
42
+ splitButton: "_g0pbb4wl",
43
+ loadingOverlay: "_1e0c1txw _kqswstnw _4cvr1h6o _1bah1h6o _u7coze3t _152tze3t _rjxpze3t _1e02ze3t",
44
+ navigationSplitButton: "_1bsb1tcg _bfhksm61 _y4ti12x7 _bozg12x7"
45
+ };
46
+ var defaultStyles = {
47
+ root: "_bfhk1j54 _syaz10s3 _105310s3 _f8pj10s3 _30l310s3 _9h8h10s3",
48
+ rootRefreshed: "_bfhksm61 _syaz1gjq _8l3mmuej _aetrb3bt _10531gjq _f8pj1gjq _30l31gjq _9h8h1gjq",
49
+ interactive: "_irr3yw9d _30l310s3 _1di6ih13 _9h8h10s3",
50
+ interactiveRefreshed: "_irr3166n _30l31gjq _1di61dty _9h8h1gjq"
51
+ };
52
+ var primaryStyles = {
53
+ root: "_bfhkomb0 _syaz15cr _105315cr _f8pj15cr _30l315cr _9h8h15cr",
54
+ interactive: "_30l315cr _irr31wqm _9h8h15cr _1di617hq"
55
+ };
56
+ var warningStyles = {
57
+ root: "_bfhk1ikc _syazal3n _1053al3n _f8pjal3n _30l3al3n _9h8hal3n",
58
+ interactive: "_30l3al3n _irr31j43 _9h8hal3n _1di6h4op"
59
+ };
60
+ var dangerStyles = {
61
+ root: "_bfhk1v7l _syaz15cr _105315cr _f8pj15cr _30l315cr _9h8h15cr",
62
+ interactive: "_30l315cr _irr31rwk _9h8h15cr _1di6yycf"
63
+ };
64
+ var discoveryStyles = {
65
+ root: "_bfhk1vbi _syaz15cr _105315cr _f8pj15cr _30l315cr _9h8h15cr",
66
+ interactive: "_30l315cr _irr37gr8 _9h8h15cr _1di61wu2"
67
+ };
68
+ var subtleStyles = {
69
+ root: "_bfhkqtfy _syaz10s3 _105310s3 _f8pj10s3 _30l310s3 _9h8h10s3",
70
+ rootRefreshed: "_bfhkqtfy _syaz1gjq _10531gjq _f8pj1gjq _30l31gjq _9h8h1gjq",
71
+ interactive: "_irr34mfv _30l310s3 _1di619qy _9h8h10s3",
72
+ interactiveRefreshed: "_irr34mfv _30l31gjq _1di619qy _9h8h1gjq"
73
+ };
74
+ var selectedStyles = {
75
+ root: "_bfhk7btw _syaz1pke _10531pke _f8pj1pke _30l31pke _9h8h1pke",
76
+ rootRefreshed: "_bfhkfg4m _syaz1ldt _8l3mcoux _aetrb3bt _10531ldt _f8pj1ldt _30l31ldt _9h8h1ldt",
77
+ insideSplitButton: "_1pbycs5v",
78
+ interactive: "_irr3t71w _30l31pke _1di6yssv _9h8h1pke",
79
+ warning: "_bfhkvdtc _syaz16q2 _30l31pke _irr3vdtc _9h8h1pke _1di6vdtc",
80
+ danger: "_bfhkbeib _syaz1pke _30l31pke _irr3beib _9h8h1pke _1di6beib",
81
+ discovery: "_bfhk1g49 _syaz1pke _30l31pke _irr31g49 _9h8h1pke _1di61g49"
82
+ };
83
+
84
+ /**
85
+ * __button base__
86
+ *
87
+ * - Implements auto focus when enabled.
88
+ * - Appends the `onClick` event with UFO analytics tracking.
89
+ *
90
+ * @private
91
+ */
92
+ var ButtonBase = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
93
+ var propAppearance = _ref.appearance,
94
+ _ref$autoFocus = _ref.autoFocus,
95
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
96
+ _ref$isDisabled = _ref.isDisabled,
97
+ propIsDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
98
+ _ref$isLoading = _ref.isLoading,
99
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
100
+ _ref$isSelected = _ref.isSelected,
101
+ propIsSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
102
+ _ref$isIconButton = _ref.isIconButton,
103
+ isIconButton = _ref$isIconButton === void 0 ? false : _ref$isIconButton,
104
+ _ref$isCircle = _ref.isCircle,
105
+ isCircle = _ref$isCircle === void 0 ? false : _ref$isCircle,
106
+ _ref$hasIconBefore = _ref.hasIconBefore,
107
+ hasIconBefore = _ref$hasIconBefore === void 0 ? false : _ref$hasIconBefore,
108
+ _ref$hasIconAfter = _ref.hasIconAfter,
109
+ hasIconAfter = _ref$hasIconAfter === void 0 ? false : _ref$hasIconAfter,
110
+ _ref$shouldFitContain = _ref.shouldFitContainer,
111
+ shouldFitContainer = _ref$shouldFitContain === void 0 ? false : _ref$shouldFitContain,
112
+ _ref$spacing = _ref.spacing,
113
+ propSpacing = _ref$spacing === void 0 ? 'default' : _ref$spacing,
114
+ ariaLabel = _ref.ariaLabel,
115
+ ariaLabelledBy = _ref.ariaLabelledBy,
116
+ children = _ref.children,
117
+ interactionName = _ref.interactionName,
118
+ onClick = _ref.onClick,
119
+ onMouseDown = _ref.onMouseDown,
120
+ onMouseDownCapture = _ref.onMouseDownCapture,
121
+ onMouseUp = _ref.onMouseUp,
122
+ onMouseUpCapture = _ref.onMouseUpCapture,
123
+ onKeyDown = _ref.onKeyDown,
124
+ onKeyDownCapture = _ref.onKeyDownCapture,
125
+ onKeyUp = _ref.onKeyUp,
126
+ onKeyUpCapture = _ref.onKeyUpCapture,
127
+ onTouchStart = _ref.onTouchStart,
128
+ onTouchStartCapture = _ref.onTouchStartCapture,
129
+ onTouchEnd = _ref.onTouchEnd,
130
+ onTouchEndCapture = _ref.onTouchEndCapture,
131
+ onPointerDown = _ref.onPointerDown,
132
+ onPointerDownCapture = _ref.onPointerDownCapture,
133
+ onPointerUp = _ref.onPointerUp,
134
+ onPointerUpCapture = _ref.onPointerUpCapture,
135
+ onClickCapture = _ref.onClickCapture,
136
+ testId = _ref.testId,
137
+ analyticsContext = _ref.analyticsContext,
138
+ componentName = _ref.componentName,
139
+ role = _ref.role,
140
+ onMouseOver = _ref.onMouseOver,
141
+ onMouseOut = _ref.onMouseOut,
142
+ onFocus = _ref.onFocus,
143
+ onBlur = _ref.onBlur,
144
+ onMouseMove = _ref.onMouseMove,
145
+ type = _ref.type,
146
+ unsafeRest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
147
+ var localRef = (0, _react.useRef)(null);
148
+ var splitButtonContext = (0, _splitButtonContext.useSplitButtonContext)();
149
+ var loadingLabelId = (0, _useId.useId)();
150
+ var isSplitButton = Boolean(splitButtonContext);
151
+ var isNavigationSplitButton = (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.isNavigationSplitButton) || false;
152
+ var isDefaultAppearanceSplitButton = (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.appearance) === 'default';
153
+ var appearance = isDefaultAppearanceSplitButton && (0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? 'subtle' : propAppearance || (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.appearance) || 'default';
154
+ var spacing = (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.spacing) || propSpacing;
155
+ var isDisabled = (splitButtonContext === null || splitButtonContext === void 0 ? void 0 : splitButtonContext.isDisabled) || propIsDisabled;
156
+ var isInteractive = !isDisabled && !isLoading;
157
+ // Also treat loading buttons as disabled
158
+ var isEffectivelyDisabled = isDisabled || isLoading;
159
+ var isSelected = propIsSelected && !isDisabled;
160
+ (0, _useAutoFocus.default)(localRef, autoFocus);
161
+
162
+ // @ts-expect-error
163
+ var _className = unsafeRest.className,
164
+ _css = unsafeRest.css,
165
+ _as = unsafeRest.as,
166
+ _style = unsafeRest.style,
167
+ saferRest = (0, _objectWithoutProperties2.default)(unsafeRest, _excluded2);
168
+ return /*#__PURE__*/_react.default.createElement(_compiled.Pressable, (0, _extends2.default)({}, saferRest, {
169
+ componentName: componentName || 'button',
170
+ analyticsContext: analyticsContext,
171
+ role: role,
172
+ ref: (0, _mergeRefs.default)([localRef, ref]),
173
+ xcss: (0, _css2.cx)(styles.base, appearance === 'default' && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? defaultStyles.rootRefreshed : defaultStyles.root), appearance === 'default' && isInteractive && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? defaultStyles.interactiveRefreshed : defaultStyles.interactive), appearance === 'primary' && primaryStyles.root, appearance === 'primary' && isInteractive && primaryStyles.interactive, appearance === 'warning' && warningStyles.root, appearance === 'warning' && isInteractive && warningStyles.interactive, appearance === 'danger' && dangerStyles.root, appearance === 'danger' && isInteractive && dangerStyles.interactive, appearance === 'discovery' && discoveryStyles.root, appearance === 'discovery' && isInteractive && discoveryStyles.interactive, appearance === 'subtle' && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? subtleStyles.rootRefreshed : subtleStyles.root), appearance === 'subtle' && isInteractive && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? subtleStyles.interactiveRefreshed : subtleStyles.interactive), styles.linkDecorationUnset, isSelected && ((0, _platformFeatureFlags.fg)('platform-component-visual-refresh') ? selectedStyles.rootRefreshed : selectedStyles.root), isSelected && isSplitButton && selectedStyles.insideSplitButton, isSelected && isInteractive && selectedStyles.interactive,
174
+ // TODO: remove me once we kill color fallbacks
175
+ isSelected && appearance === 'danger' && selectedStyles.danger,
176
+ // TODO: remove me once we kill color fallbacks
177
+ isSelected && appearance === 'warning' && selectedStyles.warning,
178
+ // TODO: remove me once we kill color fallbacks
179
+ isSelected && appearance === 'discovery' && selectedStyles.discovery, isDisabled && styles.disabled, isCircle && !isSplitButton && styles.circle, spacing === 'compact' && styles.spacingCompact, hasIconBefore && styles.buttonIconBefore, shouldFitContainer && styles.fullWidth, hasIconAfter && styles.buttonIconAfter, isIconButton && styles.iconButton, isIconButton && spacing === 'compact' && styles.iconButtonCompact, isLoading && styles.loading, isSplitButton && styles.splitButton, isNavigationSplitButton && styles.navigationSplitButton),
180
+ isDisabled: isEffectivelyDisabled,
181
+ "aria-label": isLoading && ariaLabel && !ariaLabelledBy ? "".concat(ariaLabel, " ").concat(LOADING_LABEL) : ariaLabel,
182
+ "aria-labelledby": isLoading && ariaLabelledBy ? "".concat(ariaLabelledBy, " ").concat(loadingLabelId) : ariaLabelledBy,
183
+ onClick: onClick
184
+ }, (0, _blockEvents.default)(isEffectivelyDisabled, {
185
+ onMouseDownCapture: onMouseDownCapture,
186
+ onMouseUpCapture: onMouseUpCapture,
187
+ onKeyDownCapture: onKeyDownCapture,
188
+ onKeyUpCapture: onKeyUpCapture,
189
+ onTouchStartCapture: onTouchStartCapture,
190
+ onTouchEndCapture: onTouchEndCapture,
191
+ onPointerDownCapture: onPointerDownCapture,
192
+ onPointerUpCapture: onPointerUpCapture,
193
+ onClickCapture: onClickCapture
194
+ }), {
195
+ testId: testId,
196
+ onMouseOver: onMouseOver,
197
+ onFocus: onFocus,
198
+ onMouseMove: onMouseMove,
199
+ onBlur: onBlur,
200
+ type: type,
201
+ interactionName: interactionName,
202
+ onMouseDown: onMouseDown,
203
+ onMouseUp: onMouseUp,
204
+ onKeyDown: onKeyDown,
205
+ onMouseOut: onMouseOut,
206
+ onKeyUp: onKeyUp,
207
+ onTouchStart: onTouchStart,
208
+ onTouchEnd: onTouchEnd,
209
+ onPointerDown: onPointerDown,
210
+ onPointerUp: onPointerUp
211
+ }), /*#__PURE__*/_react.default.createElement(_react.Fragment, null, children, isLoading && /*#__PURE__*/_react.default.createElement("span", {
212
+ className: (0, _runtime.ax)([styles.loadingOverlay])
213
+ }, (0, _loadingOverlay.default)({
214
+ spacing: spacing,
215
+ appearance: appearance,
216
+ isDisabled: isDisabled,
217
+ isSelected: isSelected,
218
+ testId: testId
219
+ })), isLoading && (ariaLabelledBy || !ariaLabel) && /*#__PURE__*/_react.default.createElement(_visuallyHidden.default, {
220
+ id: loadingLabelId
221
+ }, LOADING_LABEL)));
222
+ });
223
+ var _default = exports.default = ButtonBase;
@@ -0,0 +1,19 @@
1
+
2
+ ._v564g17y{transition:opacity .3s}._16jlidpf{flex-grow:0}
3
+ ._16jlkb7n{flex-grow:1}
4
+ ._18m915vq{overflow-y:hidden}
5
+ ._1bto1l2s{text-overflow:ellipsis}
6
+ ._1e0c1txw{display:flex}
7
+ ._1he91b66{--ds--button--new-icon-padding-start:var(--ds-space-050,4px)}
8
+ ._1he9v77o{--ds--button--new-icon-padding-start:var(--ds-space-025,2px)}
9
+ ._1o9zidpf{flex-shrink:0}
10
+ ._1o9zkb7n{flex-shrink:1}
11
+ ._1reo15vq{overflow-x:hidden}
12
+ ._1wpz1h6o{align-self:center}
13
+ ._1wybidpf{font-size:0}
14
+ ._o5721q9c{white-space:nowrap}
15
+ ._tzy4idpf{opacity:0}
16
+ ._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}
17
+ ._vwz4idpf{line-height:0}
18
+ ._w7951b66{--ds--button--new-icon-padding-end:var(--ds-space-050,4px)}
19
+ ._w795v77o{--ds--button--new-icon-padding-end:var(--ds-space-025,2px)}