@spark-web/button 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @spark-web/button
2
2
 
3
+ ## 1.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#36](https://github.com/brighte-labs/spark-web/pull/36)
8
+ [`8546f8f`](https://github.com/brighte-labs/spark-web/commit/8546f8f05daaa79ea3ff954c6c4928a7a2d0622d)
9
+ Thanks [@lukebennett88](https://github.com/lukebennett88)! - Update Babel
10
+ config
11
+
12
+ - Updated dependencies
13
+ [[`aebff30`](https://github.com/brighte-labs/spark-web/commit/aebff30c86cb0a9db22b545c46159ce0d1c14afb),
14
+ [`8546f8f`](https://github.com/brighte-labs/spark-web/commit/8546f8f05daaa79ea3ff954c6c4928a7a2d0622d)]:
15
+ - @spark-web/theme@2.0.0
16
+ - @spark-web/a11y@1.0.1
17
+ - @spark-web/box@1.0.1
18
+ - @spark-web/icon@1.0.1
19
+ - @spark-web/link@1.0.1
20
+ - @spark-web/text@1.0.1
21
+ - @spark-web/utils@1.0.1
22
+
3
23
  ## 1.0.0
4
24
 
5
25
  ### Major Changes
@@ -5,5 +5,5 @@ export declare type ButtonLinkProps = LinkComponentProps & CommonButtonProps;
5
5
  /** The appearance of a `Button`, with the semantics of a link. */
6
6
  export declare const ButtonLink: <Comp extends import("react").ElementType<any> = "a">(props: {
7
7
  as?: Comp | undefined;
8
- ref?: import("react").Ref<Comp extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "circle" | "svg" | "animate" | "animateMotion" | "animateTransform" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "stop" | "switch" | "textPath" | "tspan" | "use" | "view" | keyof HTMLElementTagNameMap | "set" ? (HTMLElementTagNameMap & Pick<SVGElementTagNameMap, "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "circle" | "svg" | "animate" | "animateMotion" | "animateTransform" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "stop" | "switch" | "textPath" | "tspan" | "use" | "view" | "set">)[Comp] : Comp extends new (...args: any) => any ? InstanceType<Comp> : undefined> | undefined;
8
+ ref?: import("react").Ref<Comp extends "symbol" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "clipPath" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "filter" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "marker" | "mask" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "stop" | "switch" | "text" | "textPath" | "tspan" | "use" | "view" | "set" | keyof HTMLElementTagNameMap ? (HTMLElementTagNameMap & Pick<SVGElementTagNameMap, "symbol" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "clipPath" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "filter" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "marker" | "mask" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "stop" | "switch" | "text" | "textPath" | "tspan" | "use" | "view" | "set">)[Comp] : Comp extends new (...args: any) => any ? InstanceType<Comp> : undefined> | undefined;
9
9
  } & Omit<import("react").PropsWithoutRef<import("react").ComponentProps<Comp>>, "as"> & ButtonLinkProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _extends = require('@babel/runtime/helpers/esm/extends');
6
- var _defineProperty = require('@babel/runtime/helpers/esm/defineProperty');
7
- var _objectWithoutProperties = require('@babel/runtime/helpers/esm/objectWithoutProperties');
5
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
7
  var box = require('@spark-web/box');
9
8
  var internal = require('@spark-web/utils/internal');
10
9
  var React = require('react');
11
10
  var text = require('@spark-web/text');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
12
  var css = require('@emotion/css');
13
13
  var a11y = require('@spark-web/a11y');
14
14
  var theme = require('@spark-web/theme');
@@ -177,7 +177,6 @@ var mapTokens = {
177
177
  }
178
178
  };
179
179
 
180
- var __jsx$2 = React__namespace["default"].createElement;
181
180
  var resolveButtonChildren = function resolveButtonChildren(_ref) {
182
181
  var children = _ref.children,
183
182
  prominence = _ref.prominence,
@@ -186,14 +185,15 @@ var resolveButtonChildren = function resolveButtonChildren(_ref) {
186
185
  var variant = variants[prominence][tone];
187
186
  return React.Children.map(children, function (child) {
188
187
  if (typeof child === 'string') {
189
- return __jsx$2(text.Text, {
188
+ return /*#__PURE__*/jsxRuntime.jsx(text.Text, {
190
189
  as: "span",
191
190
  baseline: false,
192
191
  overflowStrategy: "nowrap",
193
192
  weight: "strong",
194
193
  size: mapTokens.fontSize[size],
195
- tone: variant === null || variant === void 0 ? void 0 : variant.textTone
196
- }, child);
194
+ tone: variant === null || variant === void 0 ? void 0 : variant.textTone,
195
+ children: child
196
+ });
197
197
  }
198
198
 
199
199
  if ( /*#__PURE__*/React.isValidElement(child)) {
@@ -212,9 +212,6 @@ var resolveButtonChildren = function resolveButtonChildren(_ref) {
212
212
  });
213
213
  };
214
214
 
215
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
216
-
217
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
218
215
  function useButtonStyles(_ref) {
219
216
  var iconOnly = _ref.iconOnly,
220
217
  prominence = _ref.prominence,
@@ -246,12 +243,12 @@ function useButtonStyles(_ref) {
246
243
  position: 'relative',
247
244
  width: iconOnly ? mapTokens.size[size] : undefined,
248
245
  // interactions styles
249
- className: css.css(_objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
246
+ className: css.css(_objectSpread(_objectSpread({}, transitionColours), {}, {
250
247
  '&:hover': {
251
248
  borderColor: variant !== null && variant !== void 0 && variant.borderHover ? theme$1.border.color[variant.borderHover] : undefined,
252
249
  backgroundColor: variant !== null && variant !== void 0 && variant.backgroundHover ? theme$1.backgroundInteractions[variant.backgroundHover] : undefined,
253
250
  // Style button text when hovering
254
- '> *': _objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
251
+ '> *': _objectSpread(_objectSpread({}, transitionColours), {}, {
255
252
  color: variant !== null && variant !== void 0 && variant.textToneHover ? theme$1.color.foreground[variant.textToneHover] : undefined,
256
253
  stroke: variant !== null && variant !== void 0 && variant.textToneHover ? theme$1.color.foreground[variant.textToneHover] : undefined
257
254
  })
@@ -261,7 +258,7 @@ function useButtonStyles(_ref) {
261
258
  backgroundColor: variant !== null && variant !== void 0 && variant.backgroundActive ? theme$1.backgroundInteractions[variant === null || variant === void 0 ? void 0 : variant.backgroundActive] : undefined,
262
259
  transform: 'scale(0.98)',
263
260
  // Style button text when it's active
264
- '> *': _objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
261
+ '> *': _objectSpread(_objectSpread({}, transitionColours), {}, {
265
262
  color: variant !== null && variant !== void 0 && variant.textToneActive ? theme$1.color.foreground[variant.textToneActive] : undefined,
266
263
  stroke: variant !== null && variant !== void 0 && variant.textToneActive ? theme$1.color.foreground[variant.textToneActive] : undefined
267
264
  })
@@ -273,17 +270,6 @@ function useButtonStyles(_ref) {
273
270
  }
274
271
 
275
272
  var _excluded$1 = ["aria-controls", "aria-describedby", "aria-expanded", "data", "disabled", "id", "onClick", "prominence", "size", "tone", "type"];
276
- var __jsx$1 = React__namespace.createElement;
277
-
278
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
279
-
280
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
281
- // discuss with design:
282
- // - sizes
283
- // - variants
284
- // implementation details:
285
- // - handle fragments?
286
- // - validate children?
287
273
 
288
274
  /**
289
275
  * Buttons are used to initialize an action, their label should express what
@@ -325,7 +311,7 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
325
311
  */
326
312
 
327
313
  var handleClick = getPreventableClickHandler(onClick, isDisabled);
328
- return __jsx$1(box.Box, _extends({
314
+ return /*#__PURE__*/jsxRuntime.jsx(box.Box, _objectSpread(_objectSpread(_objectSpread({
329
315
  "aria-controls": ariaControls,
330
316
  "aria-describedby": ariaDescribedBy,
331
317
  "aria-disabled": isDisabled,
@@ -336,11 +322,13 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
336
322
  onClick: handleClick,
337
323
  ref: ref,
338
324
  type: type
339
- }, buttonStyleProps, data ? internal.buildDataAttributes(data) : undefined), resolveButtonChildren(_objectSpread$1(_objectSpread$1({}, props), {}, {
340
- prominence: prominence,
341
- size: size,
342
- tone: tone
343
- })));
325
+ }, buttonStyleProps), data ? internal.buildDataAttributes(data) : undefined), {}, {
326
+ children: resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
327
+ prominence: prominence,
328
+ size: size,
329
+ tone: tone
330
+ }))
331
+ }));
344
332
  });
345
333
  Button.displayName = 'Buttton';
346
334
  /**
@@ -360,11 +348,6 @@ function getPreventableClickHandler(onClick, disabled) {
360
348
  }
361
349
 
362
350
  var _excluded = ["data", "href", "id", "prominence", "size", "tone"];
363
- var __jsx = React__namespace["default"].createElement;
364
-
365
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
366
-
367
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
368
351
 
369
352
  /** The appearance of a `Button`, with the semantics of a link. */
370
353
  var ButtonLink = ts.forwardRefWithAs(function (_ref, ref) {
@@ -387,18 +370,20 @@ var ButtonLink = ts.forwardRefWithAs(function (_ref, ref) {
387
370
  tone: tone,
388
371
  prominence: prominence
389
372
  });
390
- return __jsx(box.Box, _extends({
373
+ return /*#__PURE__*/jsxRuntime.jsx(box.Box, _objectSpread(_objectSpread(_objectSpread({
391
374
  "aria-label": props.label,
392
375
  as: LinkComponent,
393
376
  asElement: "a",
394
377
  id: id,
395
378
  href: href,
396
379
  ref: ref
397
- }, buttonStyleProps, data ? internal.buildDataAttributes(data) : undefined), resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
398
- prominence: prominence,
399
- size: size,
400
- tone: tone
401
- })));
380
+ }, buttonStyleProps), data ? internal.buildDataAttributes(data) : undefined), {}, {
381
+ children: resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
382
+ prominence: prominence,
383
+ size: size,
384
+ tone: tone
385
+ }))
386
+ }));
402
387
  });
403
388
 
404
389
  exports.Button = Button;
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _extends = require('@babel/runtime/helpers/esm/extends');
6
- var _defineProperty = require('@babel/runtime/helpers/esm/defineProperty');
7
- var _objectWithoutProperties = require('@babel/runtime/helpers/esm/objectWithoutProperties');
5
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
7
  var box = require('@spark-web/box');
9
8
  var internal = require('@spark-web/utils/internal');
10
9
  var React = require('react');
11
10
  var text = require('@spark-web/text');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
12
  var css = require('@emotion/css');
13
13
  var a11y = require('@spark-web/a11y');
14
14
  var theme = require('@spark-web/theme');
@@ -177,7 +177,6 @@ var mapTokens = {
177
177
  }
178
178
  };
179
179
 
180
- var __jsx$2 = React__namespace["default"].createElement;
181
180
  var resolveButtonChildren = function resolveButtonChildren(_ref) {
182
181
  var children = _ref.children,
183
182
  prominence = _ref.prominence,
@@ -186,14 +185,15 @@ var resolveButtonChildren = function resolveButtonChildren(_ref) {
186
185
  var variant = variants[prominence][tone];
187
186
  return React.Children.map(children, function (child) {
188
187
  if (typeof child === 'string') {
189
- return __jsx$2(text.Text, {
188
+ return /*#__PURE__*/jsxRuntime.jsx(text.Text, {
190
189
  as: "span",
191
190
  baseline: false,
192
191
  overflowStrategy: "nowrap",
193
192
  weight: "strong",
194
193
  size: mapTokens.fontSize[size],
195
- tone: variant === null || variant === void 0 ? void 0 : variant.textTone
196
- }, child);
194
+ tone: variant === null || variant === void 0 ? void 0 : variant.textTone,
195
+ children: child
196
+ });
197
197
  }
198
198
 
199
199
  if ( /*#__PURE__*/React.isValidElement(child)) {
@@ -212,9 +212,6 @@ var resolveButtonChildren = function resolveButtonChildren(_ref) {
212
212
  });
213
213
  };
214
214
 
215
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
216
-
217
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
218
215
  function useButtonStyles(_ref) {
219
216
  var iconOnly = _ref.iconOnly,
220
217
  prominence = _ref.prominence,
@@ -246,12 +243,12 @@ function useButtonStyles(_ref) {
246
243
  position: 'relative',
247
244
  width: iconOnly ? mapTokens.size[size] : undefined,
248
245
  // interactions styles
249
- className: css.css(_objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
246
+ className: css.css(_objectSpread(_objectSpread({}, transitionColours), {}, {
250
247
  '&:hover': {
251
248
  borderColor: variant !== null && variant !== void 0 && variant.borderHover ? theme$1.border.color[variant.borderHover] : undefined,
252
249
  backgroundColor: variant !== null && variant !== void 0 && variant.backgroundHover ? theme$1.backgroundInteractions[variant.backgroundHover] : undefined,
253
250
  // Style button text when hovering
254
- '> *': _objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
251
+ '> *': _objectSpread(_objectSpread({}, transitionColours), {}, {
255
252
  color: variant !== null && variant !== void 0 && variant.textToneHover ? theme$1.color.foreground[variant.textToneHover] : undefined,
256
253
  stroke: variant !== null && variant !== void 0 && variant.textToneHover ? theme$1.color.foreground[variant.textToneHover] : undefined
257
254
  })
@@ -261,7 +258,7 @@ function useButtonStyles(_ref) {
261
258
  backgroundColor: variant !== null && variant !== void 0 && variant.backgroundActive ? theme$1.backgroundInteractions[variant === null || variant === void 0 ? void 0 : variant.backgroundActive] : undefined,
262
259
  transform: 'scale(0.98)',
263
260
  // Style button text when it's active
264
- '> *': _objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
261
+ '> *': _objectSpread(_objectSpread({}, transitionColours), {}, {
265
262
  color: variant !== null && variant !== void 0 && variant.textToneActive ? theme$1.color.foreground[variant.textToneActive] : undefined,
266
263
  stroke: variant !== null && variant !== void 0 && variant.textToneActive ? theme$1.color.foreground[variant.textToneActive] : undefined
267
264
  })
@@ -273,17 +270,6 @@ function useButtonStyles(_ref) {
273
270
  }
274
271
 
275
272
  var _excluded$1 = ["aria-controls", "aria-describedby", "aria-expanded", "data", "disabled", "id", "onClick", "prominence", "size", "tone", "type"];
276
- var __jsx$1 = React__namespace.createElement;
277
-
278
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
279
-
280
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
281
- // discuss with design:
282
- // - sizes
283
- // - variants
284
- // implementation details:
285
- // - handle fragments?
286
- // - validate children?
287
273
 
288
274
  /**
289
275
  * Buttons are used to initialize an action, their label should express what
@@ -325,7 +311,7 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
325
311
  */
326
312
 
327
313
  var handleClick = getPreventableClickHandler(onClick, isDisabled);
328
- return __jsx$1(box.Box, _extends({
314
+ return /*#__PURE__*/jsxRuntime.jsx(box.Box, _objectSpread(_objectSpread(_objectSpread({
329
315
  "aria-controls": ariaControls,
330
316
  "aria-describedby": ariaDescribedBy,
331
317
  "aria-disabled": isDisabled,
@@ -336,11 +322,13 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
336
322
  onClick: handleClick,
337
323
  ref: ref,
338
324
  type: type
339
- }, buttonStyleProps, data ? internal.buildDataAttributes(data) : undefined), resolveButtonChildren(_objectSpread$1(_objectSpread$1({}, props), {}, {
340
- prominence: prominence,
341
- size: size,
342
- tone: tone
343
- })));
325
+ }, buttonStyleProps), data ? internal.buildDataAttributes(data) : undefined), {}, {
326
+ children: resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
327
+ prominence: prominence,
328
+ size: size,
329
+ tone: tone
330
+ }))
331
+ }));
344
332
  });
345
333
  Button.displayName = 'Buttton';
346
334
  /**
@@ -360,11 +348,6 @@ function getPreventableClickHandler(onClick, disabled) {
360
348
  }
361
349
 
362
350
  var _excluded = ["data", "href", "id", "prominence", "size", "tone"];
363
- var __jsx = React__namespace["default"].createElement;
364
-
365
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
366
-
367
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
368
351
 
369
352
  /** The appearance of a `Button`, with the semantics of a link. */
370
353
  var ButtonLink = ts.forwardRefWithAs(function (_ref, ref) {
@@ -387,18 +370,20 @@ var ButtonLink = ts.forwardRefWithAs(function (_ref, ref) {
387
370
  tone: tone,
388
371
  prominence: prominence
389
372
  });
390
- return __jsx(box.Box, _extends({
373
+ return /*#__PURE__*/jsxRuntime.jsx(box.Box, _objectSpread(_objectSpread(_objectSpread({
391
374
  "aria-label": props.label,
392
375
  as: LinkComponent,
393
376
  asElement: "a",
394
377
  id: id,
395
378
  href: href,
396
379
  ref: ref
397
- }, buttonStyleProps, data ? internal.buildDataAttributes(data) : undefined), resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
398
- prominence: prominence,
399
- size: size,
400
- tone: tone
401
- })));
380
+ }, buttonStyleProps), data ? internal.buildDataAttributes(data) : undefined), {}, {
381
+ children: resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
382
+ prominence: prominence,
383
+ size: size,
384
+ tone: tone
385
+ }))
386
+ }));
402
387
  });
403
388
 
404
389
  exports.Button = Button;
@@ -1,11 +1,11 @@
1
- import _extends from '@babel/runtime/helpers/esm/extends';
2
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
1
+ import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';
3
2
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
4
3
  import { Box } from '@spark-web/box';
5
4
  import { buildDataAttributes } from '@spark-web/utils/internal';
6
5
  import * as React from 'react';
7
- import React__default, { Children, isValidElement, cloneElement } from 'react';
6
+ import { Children, isValidElement, cloneElement } from 'react';
8
7
  import { Text } from '@spark-web/text';
8
+ import { jsx } from 'react/jsx-runtime';
9
9
  import { css } from '@emotion/css';
10
10
  import { useFocusRing } from '@spark-web/a11y';
11
11
  import { useTheme } from '@spark-web/theme';
@@ -154,7 +154,6 @@ var mapTokens = {
154
154
  }
155
155
  };
156
156
 
157
- var __jsx$2 = React__default.createElement;
158
157
  var resolveButtonChildren = function resolveButtonChildren(_ref) {
159
158
  var children = _ref.children,
160
159
  prominence = _ref.prominence,
@@ -163,14 +162,15 @@ var resolveButtonChildren = function resolveButtonChildren(_ref) {
163
162
  var variant = variants[prominence][tone];
164
163
  return Children.map(children, function (child) {
165
164
  if (typeof child === 'string') {
166
- return __jsx$2(Text, {
165
+ return /*#__PURE__*/jsx(Text, {
167
166
  as: "span",
168
167
  baseline: false,
169
168
  overflowStrategy: "nowrap",
170
169
  weight: "strong",
171
170
  size: mapTokens.fontSize[size],
172
- tone: variant === null || variant === void 0 ? void 0 : variant.textTone
173
- }, child);
171
+ tone: variant === null || variant === void 0 ? void 0 : variant.textTone,
172
+ children: child
173
+ });
174
174
  }
175
175
 
176
176
  if ( /*#__PURE__*/isValidElement(child)) {
@@ -189,9 +189,6 @@ var resolveButtonChildren = function resolveButtonChildren(_ref) {
189
189
  });
190
190
  };
191
191
 
192
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
193
-
194
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
195
192
  function useButtonStyles(_ref) {
196
193
  var iconOnly = _ref.iconOnly,
197
194
  prominence = _ref.prominence,
@@ -223,12 +220,12 @@ function useButtonStyles(_ref) {
223
220
  position: 'relative',
224
221
  width: iconOnly ? mapTokens.size[size] : undefined,
225
222
  // interactions styles
226
- className: css(_objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
223
+ className: css(_objectSpread(_objectSpread({}, transitionColours), {}, {
227
224
  '&:hover': {
228
225
  borderColor: variant !== null && variant !== void 0 && variant.borderHover ? theme.border.color[variant.borderHover] : undefined,
229
226
  backgroundColor: variant !== null && variant !== void 0 && variant.backgroundHover ? theme.backgroundInteractions[variant.backgroundHover] : undefined,
230
227
  // Style button text when hovering
231
- '> *': _objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
228
+ '> *': _objectSpread(_objectSpread({}, transitionColours), {}, {
232
229
  color: variant !== null && variant !== void 0 && variant.textToneHover ? theme.color.foreground[variant.textToneHover] : undefined,
233
230
  stroke: variant !== null && variant !== void 0 && variant.textToneHover ? theme.color.foreground[variant.textToneHover] : undefined
234
231
  })
@@ -238,7 +235,7 @@ function useButtonStyles(_ref) {
238
235
  backgroundColor: variant !== null && variant !== void 0 && variant.backgroundActive ? theme.backgroundInteractions[variant === null || variant === void 0 ? void 0 : variant.backgroundActive] : undefined,
239
236
  transform: 'scale(0.98)',
240
237
  // Style button text when it's active
241
- '> *': _objectSpread$2(_objectSpread$2({}, transitionColours), {}, {
238
+ '> *': _objectSpread(_objectSpread({}, transitionColours), {}, {
242
239
  color: variant !== null && variant !== void 0 && variant.textToneActive ? theme.color.foreground[variant.textToneActive] : undefined,
243
240
  stroke: variant !== null && variant !== void 0 && variant.textToneActive ? theme.color.foreground[variant.textToneActive] : undefined
244
241
  })
@@ -250,17 +247,6 @@ function useButtonStyles(_ref) {
250
247
  }
251
248
 
252
249
  var _excluded$1 = ["aria-controls", "aria-describedby", "aria-expanded", "data", "disabled", "id", "onClick", "prominence", "size", "tone", "type"];
253
- var __jsx$1 = React.createElement;
254
-
255
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
256
-
257
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
258
- // discuss with design:
259
- // - sizes
260
- // - variants
261
- // implementation details:
262
- // - handle fragments?
263
- // - validate children?
264
250
 
265
251
  /**
266
252
  * Buttons are used to initialize an action, their label should express what
@@ -302,7 +288,7 @@ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
302
288
  */
303
289
 
304
290
  var handleClick = getPreventableClickHandler(onClick, isDisabled);
305
- return __jsx$1(Box, _extends({
291
+ return /*#__PURE__*/jsx(Box, _objectSpread(_objectSpread(_objectSpread({
306
292
  "aria-controls": ariaControls,
307
293
  "aria-describedby": ariaDescribedBy,
308
294
  "aria-disabled": isDisabled,
@@ -313,11 +299,13 @@ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
313
299
  onClick: handleClick,
314
300
  ref: ref,
315
301
  type: type
316
- }, buttonStyleProps, data ? buildDataAttributes(data) : undefined), resolveButtonChildren(_objectSpread$1(_objectSpread$1({}, props), {}, {
317
- prominence: prominence,
318
- size: size,
319
- tone: tone
320
- })));
302
+ }, buttonStyleProps), data ? buildDataAttributes(data) : undefined), {}, {
303
+ children: resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
304
+ prominence: prominence,
305
+ size: size,
306
+ tone: tone
307
+ }))
308
+ }));
321
309
  });
322
310
  Button.displayName = 'Buttton';
323
311
  /**
@@ -337,11 +325,6 @@ function getPreventableClickHandler(onClick, disabled) {
337
325
  }
338
326
 
339
327
  var _excluded = ["data", "href", "id", "prominence", "size", "tone"];
340
- var __jsx = React__default.createElement;
341
-
342
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
343
-
344
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
345
328
 
346
329
  /** The appearance of a `Button`, with the semantics of a link. */
347
330
  var ButtonLink = forwardRefWithAs(function (_ref, ref) {
@@ -364,18 +347,20 @@ var ButtonLink = forwardRefWithAs(function (_ref, ref) {
364
347
  tone: tone,
365
348
  prominence: prominence
366
349
  });
367
- return __jsx(Box, _extends({
350
+ return /*#__PURE__*/jsx(Box, _objectSpread(_objectSpread(_objectSpread({
368
351
  "aria-label": props.label,
369
352
  as: LinkComponent,
370
353
  asElement: "a",
371
354
  id: id,
372
355
  href: href,
373
356
  ref: ref
374
- }, buttonStyleProps, data ? buildDataAttributes(data) : undefined), resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
375
- prominence: prominence,
376
- size: size,
377
- tone: tone
378
- })));
357
+ }, buttonStyleProps), data ? buildDataAttributes(data) : undefined), {}, {
358
+ children: resolveButtonChildren(_objectSpread(_objectSpread({}, props), {}, {
359
+ prominence: prominence,
360
+ size: size,
361
+ tone: tone
362
+ }))
363
+ }));
379
364
  });
380
365
 
381
366
  export { Button, ButtonLink };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@spark-web/button",
3
3
  "license": "MIT",
4
- "version": "1.0.0",
4
+ "version": "1.0.1",
5
5
  "main": "dist/spark-web-button.cjs.js",
6
6
  "module": "dist/spark-web-button.esm.js",
7
7
  "devDependencies": {
@@ -10,13 +10,13 @@
10
10
  "dependencies": {
11
11
  "@babel/runtime": "^7.14.6",
12
12
  "@emotion/css": "^11.7.1",
13
- "@spark-web/a11y": "^1.0.0",
14
- "@spark-web/box": "^1.0.0",
15
- "@spark-web/icon": "^1.0.0",
16
- "@spark-web/link": "^1.0.0",
17
- "@spark-web/text": "^1.0.0",
18
- "@spark-web/theme": "^1.0.0",
19
- "@spark-web/utils": "^1.0.0",
13
+ "@spark-web/a11y": "^1.0.1",
14
+ "@spark-web/box": "^1.0.1",
15
+ "@spark-web/icon": "^1.0.1",
16
+ "@spark-web/link": "^1.0.1",
17
+ "@spark-web/text": "^1.0.1",
18
+ "@spark-web/theme": "^2.0.0",
19
+ "@spark-web/utils": "^1.0.1",
20
20
  "react": "^17.0.2"
21
21
  },
22
22
  "engines": {