@sps-woodland/buttons 8.33.9 → 8.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -1,7 +1,8 @@
1
- import * as c from "react";
1
+ import * as d from "react";
2
2
  import Ee, { useRef as ee, useCallback as z, useEffect as J, useState as $e, useMemo as Be, useContext as Me } from "react";
3
- import { I18nContext as Fe, Spinner as Ue, cl as He, Metadata as Re, Icon as Ve } from "@sps-woodland/core";
4
- import { useFocusable as Ge, FocusRing as We } from "@react-aria/focus";
3
+ import { Spinner as Fe, cl as Ue, Metadata as He, Icon as Re } from "@sps-woodland/core";
4
+ import { useFocusable as Ve, FocusRing as Ge } from "@react-aria/focus";
5
+ import { useWoodlandLanguage as We } from "@spscommerce/i18n";
5
6
  import { code as y } from "@spscommerce/utils";
6
7
  const Pe = typeof document < "u" ? Ee.useLayoutEffect : () => {
7
8
  };
@@ -54,11 +55,11 @@ function V(...e) {
54
55
  for (let r = 1; r < e.length; r++) {
55
56
  let o = e[r];
56
57
  for (let i in o) {
57
- let p = t[i], u = o[i];
58
- typeof p == "function" && typeof u == "function" && // This is a lot faster than a regex.
58
+ let c = t[i], u = o[i];
59
+ typeof c == "function" && typeof u == "function" && // This is a lot faster than a regex.
59
60
  i[0] === "o" && i[1] === "n" && i.charCodeAt(2) >= /* 'A' */
60
61
  65 && i.charCodeAt(2) <= /* 'Z' */
61
- 90 ? t[i] = xe(p, u) : (i === "className" || i === "UNSAFE_className") && typeof p == "string" && typeof u == "string" ? t[i] = je(p, u) : i === "id" && p && u ? t.id = Ye(p, u) : t[i] = u !== void 0 ? u : p;
62
+ 90 ? t[i] = xe(c, u) : (i === "className" || i === "UNSAFE_className") && typeof c == "string" && typeof u == "string" ? t[i] = je(c, u) : i === "id" && c && u ? t.id = Ye(c, u) : t[i] = u !== void 0 ? u : c;
62
63
  }
63
64
  }
64
65
  return t;
@@ -80,9 +81,9 @@ const Xe = /* @__PURE__ */ new Set([
80
81
  "referrerPolicy"
81
82
  ]), Je = /^(data-.*)$/;
82
83
  function Qe(e, t = {}) {
83
- let { labelable: r, isLink: o, propNames: i } = t, p = {};
84
- for (const u in e) Object.prototype.hasOwnProperty.call(e, u) && (Xe.has(u) || r && ze.has(u) || o && qe.has(u) || i != null && i.has(u) || Je.test(u)) && (p[u] = e[u]);
85
- return p;
84
+ let { labelable: r, isLink: o, propNames: i } = t, c = {};
85
+ for (const u in e) Object.prototype.hasOwnProperty.call(e, u) && (Xe.has(u) || r && ze.has(u) || o && qe.has(u) || i != null && i.has(u) || Je.test(u)) && (c[u] = e[u]);
86
+ return c;
86
87
  }
87
88
  function R(e) {
88
89
  if (Ze()) e.focus({
@@ -158,18 +159,18 @@ const Q = I(function() {
158
159
  });
159
160
  function G(e, t, r = !0) {
160
161
  var o, i;
161
- let { metaKey: p, ctrlKey: u, altKey: d, shiftKey: m } = t;
162
- st() && (!((i = window.event) === null || i === void 0 || (o = i.type) === null || o === void 0) && o.startsWith("key")) && e.target === "_blank" && (Q() ? p = !0 : u = !0);
162
+ let { metaKey: c, ctrlKey: u, altKey: p, shiftKey: m } = t;
163
+ st() && (!((i = window.event) === null || i === void 0 || (o = i.type) === null || o === void 0) && o.startsWith("key")) && e.target === "_blank" && (Q() ? c = !0 : u = !0);
163
164
  let v = ot() && Q() && !Oe() ? new KeyboardEvent("keydown", {
164
165
  keyIdentifier: "Enter",
165
- metaKey: p,
166
+ metaKey: c,
166
167
  ctrlKey: u,
167
- altKey: d,
168
+ altKey: p,
168
169
  shiftKey: m
169
170
  }) : new MouseEvent("click", {
170
- metaKey: p,
171
+ metaKey: c,
171
172
  ctrlKey: u,
172
- altKey: d,
173
+ altKey: p,
173
174
  shiftKey: m,
174
175
  bubbles: !0,
175
176
  cancelable: !0
@@ -193,7 +194,7 @@ function me() {
193
194
  if (!e(o) || !o.target) return;
194
195
  let i = F.get(o.target);
195
196
  if (i && (i.delete(o.propertyName), i.size === 0 && (o.target.removeEventListener("transitioncancel", r), F.delete(o.target)), F.size === 0)) {
196
- for (let p of le) p();
197
+ for (let c of le) c();
197
198
  le.clear();
198
199
  }
199
200
  };
@@ -206,23 +207,23 @@ function it(e) {
206
207
  });
207
208
  }
208
209
  function at() {
209
- let e = ee(/* @__PURE__ */ new Map()), t = z((i, p, u, d) => {
210
- let m = d != null && d.once ? (...v) => {
210
+ let e = ee(/* @__PURE__ */ new Map()), t = z((i, c, u, p) => {
211
+ let m = p != null && p.once ? (...v) => {
211
212
  e.current.delete(u), u(...v);
212
213
  } : u;
213
214
  e.current.set(u, {
214
- type: p,
215
+ type: c,
215
216
  eventTarget: i,
216
217
  fn: m,
217
- options: d
218
- }), i.addEventListener(p, u, d);
219
- }, []), r = z((i, p, u, d) => {
218
+ options: p
219
+ }), i.addEventListener(c, u, p);
220
+ }, []), r = z((i, c, u, p) => {
220
221
  var m;
221
222
  let v = ((m = e.current.get(u)) === null || m === void 0 ? void 0 : m.fn) || u;
222
- i.removeEventListener(p, v, d), e.current.delete(u);
223
+ i.removeEventListener(c, v, p), e.current.delete(u);
223
224
  }, []), o = z(() => {
224
- e.current.forEach((i, p) => {
225
- r(i.eventTarget, i.type, p, i.options);
225
+ e.current.forEach((i, c) => {
226
+ r(i.eventTarget, i.type, c, i.options);
226
227
  });
227
228
  }, [
228
229
  r
@@ -331,11 +332,11 @@ class X {
331
332
  writable: !0,
332
333
  value: void 0
333
334
  }), ge(this, j, !0);
334
- var p;
335
- let u = (p = i == null ? void 0 : i.target) !== null && p !== void 0 ? p : o.currentTarget;
336
- const d = u == null ? void 0 : u.getBoundingClientRect();
335
+ var c;
336
+ let u = (c = i == null ? void 0 : i.target) !== null && c !== void 0 ? c : o.currentTarget;
337
+ const p = u == null ? void 0 : u.getBoundingClientRect();
337
338
  let m, v = 0, b, E = null;
338
- o.clientX != null && o.clientY != null && (b = o.clientX, E = o.clientY), d && (b != null && E != null ? (m = b - d.left, v = E - d.top) : (m = d.width / 2, v = d.height / 2)), this.type = t, this.pointerType = r, this.target = o.currentTarget, this.shiftKey = o.shiftKey, this.metaKey = o.metaKey, this.ctrlKey = o.ctrlKey, this.altKey = o.altKey, this.x = m, this.y = v;
339
+ o.clientX != null && o.clientY != null && (b = o.clientX, E = o.clientY), p && (b != null && E != null ? (m = b - p.left, v = E - p.top) : (m = p.width / 2, v = p.height / 2)), this.type = t, this.pointerType = r, this.target = o.currentTarget, this.shiftKey = o.shiftKey, this.metaKey = o.metaKey, this.ctrlKey = o.ctrlKey, this.altKey = o.altKey, this.x = m, this.y = v;
339
340
  }
340
341
  }
341
342
  const ve = Symbol("linkClicked");
@@ -345,9 +346,9 @@ function bt(e) {
345
346
  onPressChange: r,
346
347
  onPressStart: o,
347
348
  onPressEnd: i,
348
- onPressUp: p,
349
+ onPressUp: c,
349
350
  isDisabled: u,
350
- isPressed: d,
351
+ isPressed: p,
351
352
  preventFocusOnPress: m,
352
353
  shouldCancelOnPointerExit: v,
353
354
  allowTextSelectionOnPress: b,
@@ -390,10 +391,10 @@ function bt(e) {
390
391
  }), N = H((n, f) => {
391
392
  let P = w.current;
392
393
  if (u) return !1;
393
- if (p) {
394
+ if (c) {
394
395
  P.isTriggeringEvent = !0;
395
396
  let l = new X("pressup", f, n);
396
- return p(l), P.isTriggeringEvent = !1, l.shouldStopPropagation;
397
+ return c(l), P.isTriggeringEvent = !1, l.shouldStopPropagation;
397
398
  }
398
399
  return !0;
399
400
  }), O = H((n) => {
@@ -556,7 +557,7 @@ function bt(e) {
556
557
  }, [
557
558
  b
558
559
  ]), {
559
- isPressed: d || _,
560
+ isPressed: p || _,
560
561
  pressProps: V(x, oe)
561
562
  };
562
563
  }
@@ -564,9 +565,9 @@ function de(e) {
564
565
  return e.tagName === "A" && e.hasAttribute("href");
565
566
  }
566
567
  function re(e, t) {
567
- const { key: r, code: o } = e, i = t, p = i.getAttribute("role");
568
+ const { key: r, code: o } = e, i = t, c = i.getAttribute("role");
568
569
  return (r === "Enter" || r === " " || r === "Spacebar" || o === "Space") && !(i instanceof ae(i).HTMLInputElement && !Ie(i, r) || i instanceof ae(i).HTMLTextAreaElement || i.isContentEditable) && // Links should only trigger with Enter key
569
- !((p === "link" || !p && de(i)) && r !== "Enter");
570
+ !((c === "link" || !c && de(i)) && r !== "Enter");
570
571
  }
571
572
  function gt(e) {
572
573
  const { targetTouches: t } = e;
@@ -659,7 +660,7 @@ function kt() {
659
660
  };
660
661
  }
661
662
  function wt(e) {
662
- let { onHoverStart: t, onHoverChange: r, onHoverEnd: o, isDisabled: i } = e, [p, u] = $e(!1), d = ee({
663
+ let { onHoverStart: t, onHoverChange: r, onHoverEnd: o, isDisabled: i } = e, [c, u] = $e(!1), p = ee({
663
664
  isHovered: !1,
664
665
  ignoreEmulatedMouseEvents: !1,
665
666
  pointerType: "",
@@ -668,17 +669,17 @@ function wt(e) {
668
669
  J(kt, []);
669
670
  let { hoverProps: m, triggerHoverEnd: v } = Be(() => {
670
671
  let b = (_, $) => {
671
- if (d.pointerType = $, i || $ === "touch" || d.isHovered || !_.currentTarget.contains(_.target)) return;
672
- d.isHovered = !0;
672
+ if (p.pointerType = $, i || $ === "touch" || p.isHovered || !_.currentTarget.contains(_.target)) return;
673
+ p.isHovered = !0;
673
674
  let w = _.currentTarget;
674
- d.target = w, t && t({
675
+ p.target = w, t && t({
675
676
  type: "hoverstart",
676
677
  target: w,
677
678
  pointerType: $
678
679
  }), r && r(!0), u(!0);
679
680
  }, E = (_, $) => {
680
- if (d.pointerType = "", d.target = null, $ === "touch" || !d.isHovered) return;
681
- d.isHovered = !1;
681
+ if (p.pointerType = "", p.target = null, $ === "touch" || !p.isHovered) return;
682
+ p.isHovered = !1;
682
683
  let w = _.currentTarget;
683
684
  o && o({
684
685
  type: "hoverend",
@@ -691,9 +692,9 @@ function wt(e) {
691
692
  }, x.onPointerLeave = (_) => {
692
693
  !i && _.currentTarget.contains(_.target) && E(_, _.pointerType);
693
694
  }) : (x.onTouchStart = () => {
694
- d.ignoreEmulatedMouseEvents = !0;
695
+ p.ignoreEmulatedMouseEvents = !0;
695
696
  }, x.onMouseEnter = (_) => {
696
- !d.ignoreEmulatedMouseEvents && !Z && b(_, "mouse"), d.ignoreEmulatedMouseEvents = !1;
697
+ !p.ignoreEmulatedMouseEvents && !Z && b(_, "mouse"), p.ignoreEmulatedMouseEvents = !1;
697
698
  }, x.onMouseLeave = (_) => {
698
699
  !i && _.currentTarget.contains(_.target) && E(_, "mouse");
699
700
  }), {
@@ -705,17 +706,17 @@ function wt(e) {
705
706
  r,
706
707
  o,
707
708
  i,
708
- d
709
+ p
709
710
  ]);
710
711
  return J(() => {
711
712
  i && v({
712
- currentTarget: d.target
713
- }, d.pointerType);
713
+ currentTarget: p.target
714
+ }, p.pointerType);
714
715
  }, [
715
716
  i
716
717
  ]), {
717
718
  hoverProps: m,
718
- isHovered: p
719
+ isHovered: c
719
720
  };
720
721
  }
721
722
  function Tt(e, t) {
@@ -723,9 +724,9 @@ function Tt(e, t) {
723
724
  elementType: r = "button",
724
725
  isDisabled: o,
725
726
  onPress: i,
726
- onPressStart: p,
727
+ onPressStart: c,
727
728
  onPressEnd: u,
728
- onPressUp: d,
729
+ onPressUp: p,
729
730
  onPressChange: m,
730
731
  preventFocusOnPress: v,
731
732
  allowFocusWhenDisabled: b,
@@ -750,15 +751,15 @@ function Tt(e, t) {
750
751
  rel: r === "a" ? $ : void 0
751
752
  };
752
753
  let { pressProps: S, isPressed: B } = bt({
753
- onPressStart: p,
754
+ onPressStart: c,
754
755
  onPressEnd: u,
755
756
  onPressChange: m,
756
757
  onPress: i,
757
- onPressUp: d,
758
+ onPressUp: p,
758
759
  isDisabled: o,
759
760
  preventFocusOnPress: v,
760
761
  ref: t
761
- }), { focusableProps: k } = Ge(e, t);
762
+ }), { focusableProps: k } = Ve(e, t);
762
763
  b && (k.tabIndex = o ? -1 : k.tabIndex);
763
764
  let N = V(k, S, Qe(e, {
764
765
  labelable: !0
@@ -815,13 +816,13 @@ var $t = (e, t, r) => {
815
816
  }, ne = (e) => (t) => {
816
817
  var r = e.defaultClassName, o = Te(Te({}, e.defaultVariants), t);
817
818
  for (var i in o) {
818
- var p, u = (p = o[i]) !== null && p !== void 0 ? p : e.defaultVariants[i];
819
+ var c, u = (c = o[i]) !== null && c !== void 0 ? c : e.defaultVariants[i];
819
820
  if (u != null) {
820
- var d = u;
821
- typeof d == "boolean" && (d = d === !0 ? "true" : "false");
821
+ var p = u;
822
+ typeof p == "boolean" && (p = p === !0 ? "true" : "false");
822
823
  var m = (
823
824
  // @ts-expect-error
824
- e.variantClassNames[i][d]
825
+ e.variantClassNames[i][p]
825
826
  );
826
827
  m && (r += " " + m);
827
828
  }
@@ -829,17 +830,17 @@ var $t = (e, t, r) => {
829
830
  for (var [v, b] of e.compoundVariants)
830
831
  $t(v, o, e.defaultVariants) && (r += " " + b);
831
832
  return r;
832
- }, Bt = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy0", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy1", false: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy2" }, kind: { default: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy3", link: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy4", confirm: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy5", delete: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy6", key: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy7", icon: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy8" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy9", false: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxya" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [[{ kind: "icon", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyb"], [{ kind: "default", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyc"], [{ kind: "confirm", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyd"], [{ kind: "delete", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxye"], [{ kind: "key", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyf"], [{ disabled: !0, spinning: !1 }, "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyg"], [{ kind: "link", disabled: !0 }, "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyh"]] }), Pt = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyi", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyj", false: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyk" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyl", default: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxym", delete: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyn", key: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyo", confirm: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyp", link: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyq" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyr", false: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxys" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [] }), xt = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyt", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyu", false: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyv" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyw", default: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyx", delete: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyy", key: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyz", confirm: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy10", link: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy11" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), St = "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy12", Ot = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy13", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy14", false: "pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy15" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
833
- const Le = c.forwardRef(
833
+ }, Bt = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy0", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy1", false: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy2" }, kind: { default: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy3", link: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy4", confirm: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy5", delete: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy6", key: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy7", icon: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy8" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy9", false: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxya" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [[{ kind: "icon", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyb"], [{ kind: "default", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyc"], [{ kind: "confirm", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyd"], [{ kind: "delete", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxye"], [{ kind: "key", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyf"], [{ disabled: !0, spinning: !1 }, "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyg"], [{ kind: "link", disabled: !0 }, "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyh"]] }), Pt = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyi", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyj", false: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyk" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyl", default: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxym", delete: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyn", key: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyo", confirm: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyp", link: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyq" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyr", false: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxys" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [] }), xt = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyt", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyu", false: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyv" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyw", default: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyx", delete: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyy", key: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyz", confirm: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy10", link: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy11" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), St = "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy12", Ot = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy13", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy14", false: "pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy15" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
834
+ const Le = d.forwardRef(
834
835
  ({
835
836
  as: e,
836
837
  onClick: t,
837
838
  onPress: r,
838
839
  children: o,
839
840
  className: i,
840
- isDisabled: p,
841
+ isDisabled: c,
841
842
  disabled: u,
842
- href: d,
843
+ href: p,
843
844
  icon: m,
844
845
  kind: v = "default",
845
846
  spinning: b,
@@ -847,23 +848,23 @@ const Le = c.forwardRef(
847
848
  title: x,
848
849
  ..._
849
850
  }, $) => {
850
- const w = e ?? (d ? "a" : "button"), T = {
851
+ const w = e ?? (p ? "a" : "button"), T = {
851
852
  onPress: r ?? t,
852
853
  // the button element should be disabled if the button is marked as disabled or spinning
853
- isDisabled: u ?? p ?? b,
854
+ isDisabled: u ?? c ?? b,
854
855
  ..._
855
- }, { "data-testid": S } = _, B = c.useRef(null), k = $ || B, { buttonProps: N } = Tt(
856
+ }, { "data-testid": S } = _, B = d.useRef(null), k = $ || B, { buttonProps: N } = Tt(
856
857
  T,
857
858
  k
858
859
  ), { hoverProps: O } = wt({ isDisabled: T.isDisabled }), { type: L, ...oe } = N, n = {
859
860
  ...V(oe, O),
860
861
  ref: k,
861
862
  title: x,
862
- className: d ? xt({ spinning: b, kind: v }) : Pt({ disabled: p || u, kind: v, spinning: b }),
863
- ...d ? { href: d } : { type: L },
863
+ className: p ? xt({ spinning: b, kind: v }) : Pt({ disabled: c || u, kind: v, spinning: b }),
864
+ ...p ? { href: p } : { type: L },
864
865
  ..._
865
- }, { t: f } = c.useContext(Fe), P = m && /* @__PURE__ */ c.createElement(
866
- Ve,
866
+ }, { t: f } = We(), P = m && /* @__PURE__ */ d.createElement(
867
+ Re,
867
868
  {
868
869
  className: St,
869
870
  icon: m,
@@ -873,32 +874,32 @@ const Le = c.forwardRef(
873
874
  );
874
875
  let l;
875
876
  v === "default" || v === "icon" || v === "link" ? l = "dark" : l = "light";
876
- const h = b && /* @__PURE__ */ c.createElement(
877
- Ue,
877
+ const h = b && /* @__PURE__ */ d.createElement(
878
+ Fe,
878
879
  {
879
880
  color: l,
880
881
  className: Ot({ spinning: b }),
881
- title: E || f("design-system:button.spinningTitle", { defaultValue: "Loading..." }),
882
+ title: E || f("button.spinningTitle", { defaultValue: "Loading..." }),
882
883
  "data-testid": `${S}__spinner`
883
884
  }
884
885
  );
885
- return /* @__PURE__ */ c.createElement(We, null, /* @__PURE__ */ c.createElement(
886
+ return /* @__PURE__ */ d.createElement(Ge, null, /* @__PURE__ */ d.createElement(
886
887
  "div",
887
888
  {
888
- className: He(
889
+ className: Ue(
889
890
  Bt({
890
- disabled: p || u,
891
+ disabled: c || u,
891
892
  kind: v,
892
893
  spinning: b
893
894
  }),
894
895
  i
895
896
  )
896
897
  },
897
- /* @__PURE__ */ c.createElement(w, { ...n }, P, o ? /* @__PURE__ */ c.createElement("span", null, o) : "", h)
898
+ /* @__PURE__ */ d.createElement(w, { ...n }, P, o ? /* @__PURE__ */ d.createElement("span", null, o) : "", h)
898
899
  ));
899
900
  }
900
901
  );
901
- Re.set(Le, {
902
+ He.set(Le, {
902
903
  name: "Button",
903
904
  props: {
904
905
  disabled: "boolean",
@@ -923,11 +924,11 @@ Re.set(Le, {
923
924
  });
924
925
  const Nt = {
925
926
  components: [Le],
926
- description: () => /* @__PURE__ */ c.createElement(c.Fragment, null, /* @__PURE__ */ c.createElement("div", { className: "sps-body-14" }, "Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."), /* @__PURE__ */ c.createElement("br", null), /* @__PURE__ */ c.createElement("h5", null, "Variants"), /* @__PURE__ */ c.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ c.createElement("span", { className: "sps-text-semibold" }, "Default: "), "For tertiary actions or actions of lower importance on a page."), /* @__PURE__ */ c.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ c.createElement("span", { className: "sps-text-semibold" }, "Key: "), "For primary or important actions on a page."), /* @__PURE__ */ c.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ c.createElement("span", { className: "sps-text-semibold" }, "Confirm: "), "For the main call to action on a page. There should only be one Confirm button per screen."), /* @__PURE__ */ c.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ c.createElement("span", { className: "sps-text-semibold" }, "Delete: "), "For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."), /* @__PURE__ */ c.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ c.createElement("span", { className: "sps-text-semibold" }, "Disabled: "), "For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it’s disabled."), /* @__PURE__ */ c.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ c.createElement("span", { className: "sps-text-semibold" }, "With an Icon: "), "For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),
927
+ description: () => /* @__PURE__ */ d.createElement(d.Fragment, null, /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, "Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."), /* @__PURE__ */ d.createElement("br", null), /* @__PURE__ */ d.createElement("h5", null, "Variants"), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Default: "), "For tertiary actions or actions of lower importance on a page."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Key: "), "For primary or important actions on a page."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Confirm: "), "For the main call to action on a page. There should only be one Confirm button per screen."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Delete: "), "For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Disabled: "), "For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it’s disabled."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "With an Icon: "), "For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),
927
928
  examples: {
928
929
  basic: {
929
930
  label: "Basic Buttons",
930
- description: ({ NavigateTo: e }) => /* @__PURE__ */ c.createElement(c.Fragment, null, /* @__PURE__ */ c.createElement("p", null, "The most common type of button that can be used in most cases. Example: Basic Buttons in a ", /* @__PURE__ */ c.createElement(e, { to: "modals" }, "Modal"), ".")),
931
+ description: ({ NavigateTo: e }) => /* @__PURE__ */ d.createElement(d.Fragment, null, /* @__PURE__ */ d.createElement("p", null, "The most common type of button that can be used in most cases. Example: Basic Buttons in a ", /* @__PURE__ */ d.createElement(e, { to: "modals" }, "Modal"), ".")),
931
932
  examples: {
932
933
  withoutIcons: {
933
934
  description: "Without Icons",
@@ -1210,7 +1211,7 @@ const Nt = {
1210
1211
  },
1211
1212
  iconButtons: {
1212
1213
  label: "Icon Buttons",
1213
- description: ({ NavigateTo: e, Link: t }) => /* @__PURE__ */ c.createElement(c.Fragment, null, /* @__PURE__ */ c.createElement("p", null, "Use these for quick actions that can clearly be articulated by the use of an icon. Example: A Print button in the", " ", /* @__PURE__ */ c.createElement(e, { to: "list-action-bar" }, "List Action Bar"), ". Do not use an icon that doesn't have a universally understood meaning; instead use a Basic Button or a Basic Button with an icon. ", /* @__PURE__ */ c.createElement(t, { to: "/style-and-layout/icons/" }, "View All Icons"))),
1214
+ description: ({ NavigateTo: e, Link: t }) => /* @__PURE__ */ d.createElement(d.Fragment, null, /* @__PURE__ */ d.createElement("p", null, "Use these for quick actions that can clearly be articulated by the use of an icon. Example: A Print button in the", " ", /* @__PURE__ */ d.createElement(e, { to: "list-action-bar" }, "List Action Bar"), ". Do not use an icon that doesn't have a universally understood meaning; instead use a Basic Button or a Basic Button with an icon. ", /* @__PURE__ */ d.createElement(t, { to: "/style-and-layout/icons/" }, "View All Icons"))),
1214
1215
  examples: {
1215
1216
  standard: {
1216
1217
  description: "Standard Icon Buttons",
@@ -1236,7 +1237,7 @@ const Nt = {
1236
1237
  `
1237
1238
  },
1238
1239
  dropdown: {
1239
- description: ({ NavigateTo: e }) => /* @__PURE__ */ c.createElement(c.Fragment, null, /* @__PURE__ */ c.createElement("h5", null, "Dropdown Icon Buttons"), /* @__PURE__ */ c.createElement("p", null, "Use these when there are several options available for action. Example: Dropdown Icon Button in a ", /* @__PURE__ */ c.createElement(e, { to: "content-rows" }, "Content Row"), ".")),
1240
+ description: ({ NavigateTo: e }) => /* @__PURE__ */ d.createElement(d.Fragment, null, /* @__PURE__ */ d.createElement("h5", null, "Dropdown Icon Buttons"), /* @__PURE__ */ d.createElement("p", null, "Use these when there are several options available for action. Example: Dropdown Icon Button in a ", /* @__PURE__ */ d.createElement(e, { to: "content-rows" }, "Content Row"), ".")),
1240
1241
  react: y`
1241
1242
  import { SpsDropdown } from "@spscommerce/ds-react";
1242
1243
 
@@ -1271,7 +1272,7 @@ const Nt = {
1271
1272
  },
1272
1273
  textButtons: {
1273
1274
  label: "Text Buttons",
1274
- description: ({ NavigateTo: e }) => /* @__PURE__ */ c.createElement("p", null, "Use for less important actions, or ones that aren't taken as frequently. They should not appear inline with other copy. Example: Advanced Search button in the", " ", /* @__PURE__ */ c.createElement(e, { to: "list-toolbar" }, "List Toolbar")),
1275
+ description: ({ NavigateTo: e }) => /* @__PURE__ */ d.createElement("p", null, "Use for less important actions, or ones that aren't taken as frequently. They should not appear inline with other copy. Example: Advanced Search button in the", " ", /* @__PURE__ */ d.createElement(e, { to: "list-toolbar" }, "List Toolbar")),
1275
1276
  examples: {
1276
1277
  withoutIcons: {
1277
1278
  description: "Without Icons",
@@ -1325,7 +1326,7 @@ const Nt = {
1325
1326
  },
1326
1327
  submitButtons: {
1327
1328
  label: "Submit Buttons",
1328
- description: ({ NavigateTo: e }) => /* @__PURE__ */ c.createElement("p", null, "Use to submit a form. There can be a number of visual variations, for example a", " ", /* @__PURE__ */ c.createElement(e, { to: "modals" }, "Modal"), " uses Basic Button (Key) as its Submit Button."),
1329
+ description: ({ NavigateTo: e }) => /* @__PURE__ */ d.createElement("p", null, "Use to submit a form. There can be a number of visual variations, for example a", " ", /* @__PURE__ */ d.createElement(e, { to: "modals" }, "Modal"), " uses Basic Button (Key) as its Submit Button."),
1329
1330
  examples: {
1330
1331
  basic: {
1331
1332
  react: y`
@@ -1374,7 +1375,7 @@ const Nt = {
1374
1375
  },
1375
1376
  buttonGroups: {
1376
1377
  label: "Button Groups",
1377
- description: ({ NavigateTo: e }) => /* @__PURE__ */ c.createElement("p", null, "Use button groups when there are a number of actions that can be taken in a view. When there are multiple button types in a group, they are separated using dividers. Example: Button groups in ", /* @__PURE__ */ c.createElement(e, { to: "List Action Bar" }, "List Action Bar"), "."),
1378
+ description: ({ NavigateTo: e }) => /* @__PURE__ */ d.createElement("p", null, "Use button groups when there are a number of actions that can be taken in a view. When there are multiple button types in a group, they are separated using dividers. Example: Button groups in ", /* @__PURE__ */ d.createElement(e, { to: "List Action Bar" }, "List Action Bar"), "."),
1378
1379
  examples: {
1379
1380
  basic: {
1380
1381
  description: "Basic Button Groups",
@@ -1493,10 +1494,10 @@ const Nt = {
1493
1494
  }
1494
1495
  }
1495
1496
  }
1496
- }, It = {
1497
+ }, Lt = {
1497
1498
  Buttons: Nt
1498
1499
  };
1499
1500
  export {
1500
1501
  Le as Button,
1501
- It as MANIFEST
1502
+ Lt as MANIFEST
1502
1503
  };
package/lib/index.umd.cjs CHANGED
@@ -1,4 +1,4 @@
1
- (function(O,v){typeof exports=="object"&&typeof module<"u"?v(exports,require("react"),require("@sps-woodland/core"),require("@react-aria/focus"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","react","@sps-woodland/core","@react-aria/focus","@spscommerce/utils"],v):(O=typeof globalThis<"u"?globalThis:O||self,v(O.Buttons={},O.React,O.core,O.focus,O.utils))})(this,function(O,v,G,me,k){"use strict";function Ie(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const c=Ie(v),_e=typeof document<"u"?v.useLayoutEffect:()=>{};function W(e){const t=v.useRef(null);return _e(()=>{t.current=e},[e]),v.useCallback((...r)=>{const o=t.current;return o==null?void 0:o(...r)},[])}let be=new Map;function Le(e,t){if(e===t)return e;let r=be.get(e);if(r)return r.forEach(i=>i(t)),t;let o=be.get(t);return o?(o.forEach(i=>i(e)),e):t}function ge(...e){return(...t)=>{for(let r of e)typeof r=="function"&&r(...t)}}const I=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},oe=e=>e&&"window"in e&&e.window===e?e:I(e).defaultView||window;function ve(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(r=ve(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function Me(){for(var e,t,r=0,o="",i=arguments.length;r<i;r++)(e=arguments[r])&&(t=ve(e))&&(o&&(o+=" "),o+=t);return o}function j(...e){let t={...e[0]};for(let r=1;r<e.length;r++){let o=e[r];for(let i in o){let d=t[i],u=o[i];typeof d=="function"&&typeof u=="function"&&i[0]==="o"&&i[1]==="n"&&i.charCodeAt(2)>=65&&i.charCodeAt(2)<=90?t[i]=ge(d,u):(i==="className"||i==="UNSAFE_className")&&typeof d=="string"&&typeof u=="string"?t[i]=Me(d,u):i==="id"&&d&&u?t.id=Le(d,u):t[i]=u!==void 0?u:d}}return t}const Fe=new Set(["id"]),Ue=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),He=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),Ve=/^(data-.*)$/;function Ge(e,t={}){let{labelable:r,isLink:o,propNames:i}=t,d={};for(const u in e)Object.prototype.hasOwnProperty.call(e,u)&&(Fe.has(u)||r&&Ue.has(u)||o&&He.has(u)||i!=null&&i.has(u)||Ve.test(u))&&(d[u]=e[u]);return d}function Y(e){if(We())e.focus({preventScroll:!0});else{let t=je(e);e.focus(),Ye(t)}}let X=null;function We(){if(X==null){X=!1;try{document.createElement("div").focus({get preventScroll(){return X=!0,!0}})}catch{}}return X}function je(e){let t=e.parentNode,r=[],o=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==o;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&r.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return o instanceof HTMLElement&&r.push({element:o,scrollTop:o.scrollTop,scrollLeft:o.scrollLeft}),r}function Ye(e){for(let{element:t,scrollTop:r,scrollLeft:o}of e)t.scrollTop=r,t.scrollLeft=o}function q(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(r=>e.test(r.brand)))||e.test(window.navigator.userAgent)}function re(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function L(e){let t=null;return()=>(t==null&&(t=e()),t)}const z=L(function(){return re(/^Mac/i)}),Re=L(function(){return re(/^iPhone/i)}),he=L(function(){return re(/^iPad/i)||z()&&navigator.maxTouchPoints>1}),ye=L(function(){return Re()||he()}),Xe=L(function(){return q(/AppleWebKit/i)&&!qe()}),qe=L(function(){return q(/Chrome/i)}),ke=L(function(){return q(/Android/i)}),ze=L(function(){return q(/Firefox/i)});function R(e,t,r=!0){var o,i;let{metaKey:d,ctrlKey:u,altKey:p,shiftKey:m}=t;ze()&&(!((i=window.event)===null||i===void 0||(o=i.type)===null||o===void 0)&&o.startsWith("key"))&&e.target==="_blank"&&(z()?d=!0:u=!0);let h=Xe()&&z()&&!he()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:d,ctrlKey:u,altKey:p,shiftKey:m}):new MouseEvent("click",{metaKey:d,ctrlKey:u,altKey:p,shiftKey:m,bubbles:!0,cancelable:!0});R.isOpening=r,Y(e),e.dispatchEvent(h),R.isOpening=!1}R.isOpening=!1;let F=new Map,se=new Set;function we(){if(typeof window>"u")return;function e(o){return"propertyName"in o}let t=o=>{if(!e(o)||!o.target)return;let i=F.get(o.target);i||(i=new Set,F.set(o.target,i),o.target.addEventListener("transitioncancel",r,{once:!0})),i.add(o.propertyName)},r=o=>{if(!e(o)||!o.target)return;let i=F.get(o.target);if(i&&(i.delete(o.propertyName),i.size===0&&(o.target.removeEventListener("transitioncancel",r),F.delete(o.target)),F.size===0)){for(let d of se)d();se.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",r)}typeof document<"u"&&(document.readyState!=="loading"?we():document.addEventListener("DOMContentLoaded",we));function Je(e){requestAnimationFrame(()=>{F.size===0?e():se.add(e)})}function Qe(){let e=v.useRef(new Map),t=v.useCallback((i,d,u,p)=>{let m=p!=null&&p.once?(...h)=>{e.current.delete(u),u(...h)}:u;e.current.set(u,{type:d,eventTarget:i,fn:m,options:p}),i.addEventListener(d,u,p)},[]),r=v.useCallback((i,d,u,p)=>{var m;let h=((m=e.current.get(u))===null||m===void 0?void 0:m.fn)||u;i.removeEventListener(d,h,p),e.current.delete(u)},[]),o=v.useCallback(()=>{e.current.forEach((i,d)=>{r(i.eventTarget,i.type,d,i.options)})},[r]);return v.useEffect(()=>o,[o]),{addGlobalListener:t,removeGlobalListener:r,removeAllGlobalListeners:o}}function Ze(e,t){_e(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function Te(e){return e.mozInputSource===0&&e.isTrusted?!0:ke()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function et(e){return!ke()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}let U="default",ie="",J=new WeakMap;function Ee(e){if(ye()){if(U==="default"){const t=I(e);ie=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}U="disabled"}else(e instanceof HTMLElement||e instanceof SVGElement)&&(J.set(e,e.style.userSelect),e.style.userSelect="none")}function Q(e){if(ye()){if(U!=="disabled")return;U="restoring",setTimeout(()=>{Je(()=>{if(U==="restoring"){const t=I(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ie||""),ie="",U="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&J.has(e)){let t=J.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),J.delete(e)}}const Be=v.createContext({register:()=>{}});Be.displayName="PressResponderContext";function tt(e,t){return t.get?t.get.call(e):t.value}function $e(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function nt(e,t){var r=$e(e,t,"get");return tt(e,r)}function ot(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function rt(e,t,r){ot(e,t),t.set(e,r)}function st(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}function Pe(e,t,r){var o=$e(e,t,"set");return st(e,o,r),r}function it(e){let t=v.useContext(Be);if(t){let{register:r,...o}=t;e=j(o,e),r()}return Ze(t,e.ref),e}var Z=new WeakMap;class ee{continuePropagation(){Pe(this,Z,!1)}get shouldStopPropagation(){return nt(this,Z)}constructor(t,r,o,i){rt(this,Z,{writable:!0,value:void 0}),Pe(this,Z,!0);var d;let u=(d=i==null?void 0:i.target)!==null&&d!==void 0?d:o.currentTarget;const p=u==null?void 0:u.getBoundingClientRect();let m,h=0,b,B=null;o.clientX!=null&&o.clientY!=null&&(b=o.clientX,B=o.clientY),p&&(b!=null&&B!=null?(m=b-p.left,h=B-p.top):(m=p.width/2,h=p.height/2)),this.type=t,this.pointerType=r,this.target=o.currentTarget,this.shiftKey=o.shiftKey,this.metaKey=o.metaKey,this.ctrlKey=o.ctrlKey,this.altKey=o.altKey,this.x=m,this.y=h}}const xe=Symbol("linkClicked");function at(e){let{onPress:t,onPressChange:r,onPressStart:o,onPressEnd:i,onPressUp:d,isDisabled:u,isPressed:p,preventFocusOnPress:m,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:b,ref:B,...S}=it(e),[_,$]=v.useState(!1),T=v.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:E,removeAllGlobalListeners:N}=Qe(),P=W((n,f)=>{let x=T.current;if(u||x.didFirePressStart)return!1;let l=!0;if(x.isTriggeringEvent=!0,o){let y=new ee("pressstart",f,n);o(y),l=y.shouldStopPropagation}return r&&r(!0),x.isTriggeringEvent=!1,x.didFirePressStart=!0,$(!0),l}),w=W((n,f,x=!0)=>{let l=T.current;if(!l.didFirePressStart)return!1;l.ignoreClickAfterPress=!0,l.didFirePressStart=!1,l.isTriggeringEvent=!0;let y=!0;if(i){let s=new ee("pressend",f,n);i(s),y=s.shouldStopPropagation}if(r&&r(!1),$(!1),t&&x&&!u){let s=new ee("press",f,n);t(s),y&&(y=s.shouldStopPropagation)}return l.isTriggeringEvent=!1,y}),C=W((n,f)=>{let x=T.current;if(u)return!1;if(d){x.isTriggeringEvent=!0;let l=new ee("pressup",f,n);return d(l),x.isTriggeringEvent=!1,l.shouldStopPropagation}return!0}),D=W(n=>{let f=T.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&w(A(f.target,n),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,N(),b||Q(f.target))}),V=W(n=>{h&&D(n)}),fe=v.useMemo(()=>{let n=T.current,f={onKeyDown(l){if(le(l.nativeEvent,l.currentTarget)&&l.currentTarget.contains(l.target)){var y;Ne(l.target,l.key)&&l.preventDefault();let s=!0;if(!n.isPressed&&!l.repeat){n.target=l.currentTarget,n.isPressed=!0,s=P(l,"keyboard");let g=l.currentTarget,a=K=>{le(K,g)&&!K.repeat&&g.contains(K.target)&&n.target&&C(A(n.target,K),"keyboard")};E(I(l.currentTarget),"keyup",ge(a,x),!0)}s&&l.stopPropagation(),l.metaKey&&z()&&((y=n.metaKeyEvents)===null||y===void 0||y.set(l.key,l.nativeEvent))}else l.key==="Meta"&&(n.metaKeyEvents=new Map)},onClick(l){if(!(l&&!l.currentTarget.contains(l.target))&&l&&l.button===0&&!n.isTriggeringEvent&&!R.isOpening){let y=!0;if(u&&l.preventDefault(),!n.ignoreClickAfterPress&&!n.ignoreEmulatedMouseEvents&&!n.isPressed&&(n.pointerType==="virtual"||Te(l.nativeEvent))){!u&&!m&&Y(l.currentTarget);let s=P(l,"virtual"),g=C(l,"virtual"),a=w(l,"virtual");y=s&&g&&a}n.ignoreEmulatedMouseEvents=!1,n.ignoreClickAfterPress=!1,y&&l.stopPropagation()}}},x=l=>{var y;if(n.isPressed&&n.target&&le(l,n.target)){var s;Ne(l.target,l.key)&&l.preventDefault();let a=l.target;w(A(n.target,l),"keyboard",n.target.contains(a)),N(),l.key!=="Enter"&&ae(n.target)&&n.target.contains(a)&&!l[xe]&&(l[xe]=!0,R(n.target,l,!1)),n.isPressed=!1,(s=n.metaKeyEvents)===null||s===void 0||s.delete(l.key)}else if(l.key==="Meta"&&(!((y=n.metaKeyEvents)===null||y===void 0)&&y.size)){var g;let a=n.metaKeyEvents;n.metaKeyEvents=void 0;for(let K of a.values())(g=n.target)===null||g===void 0||g.dispatchEvent(new KeyboardEvent("keyup",K))}};if(typeof PointerEvent<"u"){f.onPointerDown=a=>{if(a.button!==0||!a.currentTarget.contains(a.target))return;if(et(a.nativeEvent)){n.pointerType="virtual";return}ue(a.currentTarget)&&a.preventDefault(),n.pointerType=a.pointerType;let K=!0;n.isPressed||(n.isPressed=!0,n.isOverTarget=!0,n.activePointerId=a.pointerId,n.target=a.currentTarget,!u&&!m&&Y(a.currentTarget),b||Ee(n.target),K=P(a,n.pointerType),E(I(a.currentTarget),"pointermove",l,!1),E(I(a.currentTarget),"pointerup",y,!1),E(I(a.currentTarget),"pointercancel",g,!1)),K&&a.stopPropagation()},f.onMouseDown=a=>{a.currentTarget.contains(a.target)&&a.button===0&&(ue(a.currentTarget)&&a.preventDefault(),a.stopPropagation())},f.onPointerUp=a=>{!a.currentTarget.contains(a.target)||n.pointerType==="virtual"||a.button===0&&H(a,a.currentTarget)&&C(a,n.pointerType||a.pointerType)};let l=a=>{a.pointerId===n.activePointerId&&(n.target&&H(a,n.target)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,P(A(n.target,a),n.pointerType)):n.target&&n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,w(A(n.target,a),n.pointerType,!1),V(a)))},y=a=>{a.pointerId===n.activePointerId&&n.isPressed&&a.button===0&&n.target&&(H(a,n.target)&&n.pointerType!=null?w(A(n.target,a),n.pointerType):n.isOverTarget&&n.pointerType!=null&&w(A(n.target,a),n.pointerType,!1),n.isPressed=!1,n.isOverTarget=!1,n.activePointerId=null,n.pointerType=null,N(),b||Q(n.target),"ontouchend"in n.target&&a.pointerType!=="mouse"&&E(n.target,"touchend",s,{once:!0}))},s=a=>{Oe(a.target)&&a.preventDefault()},g=a=>{D(a)};f.onDragStart=a=>{a.currentTarget.contains(a.target)&&D(a)}}else{f.onMouseDown=s=>{if(s.button!==0||!s.currentTarget.contains(s.target))return;if(ue(s.currentTarget)&&s.preventDefault(),n.ignoreEmulatedMouseEvents){s.stopPropagation();return}n.isPressed=!0,n.isOverTarget=!0,n.target=s.currentTarget,n.pointerType=Te(s.nativeEvent)?"virtual":"mouse",!u&&!m&&Y(s.currentTarget),P(s,n.pointerType)&&s.stopPropagation(),E(I(s.currentTarget),"mouseup",l,!1)},f.onMouseEnter=s=>{if(!s.currentTarget.contains(s.target))return;let g=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!0,g=P(s,n.pointerType)),g&&s.stopPropagation()},f.onMouseLeave=s=>{if(!s.currentTarget.contains(s.target))return;let g=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!1,g=w(s,n.pointerType,!1),V(s)),g&&s.stopPropagation()},f.onMouseUp=s=>{s.currentTarget.contains(s.target)&&!n.ignoreEmulatedMouseEvents&&s.button===0&&C(s,n.pointerType||"mouse")};let l=s=>{if(s.button===0){if(n.isPressed=!1,N(),n.ignoreEmulatedMouseEvents){n.ignoreEmulatedMouseEvents=!1;return}n.target&&H(s,n.target)&&n.pointerType!=null?w(A(n.target,s),n.pointerType):n.target&&n.isOverTarget&&n.pointerType!=null&&w(A(n.target,s),n.pointerType,!1),n.isOverTarget=!1}};f.onTouchStart=s=>{if(!s.currentTarget.contains(s.target))return;let g=lt(s.nativeEvent);if(!g)return;n.activePointerId=g.identifier,n.ignoreEmulatedMouseEvents=!0,n.isOverTarget=!0,n.isPressed=!0,n.target=s.currentTarget,n.pointerType="touch",!u&&!m&&Y(s.currentTarget),b||Ee(n.target),P(M(n.target,s),n.pointerType)&&s.stopPropagation(),E(oe(s.currentTarget),"scroll",y,!0)},f.onTouchMove=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let g=Se(s.nativeEvent,n.activePointerId),a=!0;g&&H(g,s.currentTarget)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,a=P(M(n.target,s),n.pointerType)):n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,a=w(M(n.target,s),n.pointerType,!1),V(M(n.target,s))),a&&s.stopPropagation()},f.onTouchEnd=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let g=Se(s.nativeEvent,n.activePointerId),a=!0;g&&H(g,s.currentTarget)&&n.pointerType!=null?(C(M(n.target,s),n.pointerType),a=w(M(n.target,s),n.pointerType)):n.isOverTarget&&n.pointerType!=null&&(a=w(M(n.target,s),n.pointerType,!1)),a&&s.stopPropagation(),n.isPressed=!1,n.activePointerId=null,n.isOverTarget=!1,n.ignoreEmulatedMouseEvents=!0,n.target&&!b&&Q(n.target),N()},f.onTouchCancel=s=>{s.currentTarget.contains(s.target)&&(s.stopPropagation(),n.isPressed&&D(M(n.target,s)))};let y=s=>{n.isPressed&&s.target.contains(n.target)&&D({currentTarget:n.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=s=>{s.currentTarget.contains(s.target)&&D(s)}}return f},[E,u,m,N,b,D,V,w,P,C]);return v.useEffect(()=>()=>{var n;b||Q((n=T.current.target)!==null&&n!==void 0?n:void 0)},[b]),{isPressed:p||_,pressProps:j(S,fe)}}function ae(e){return e.tagName==="A"&&e.hasAttribute("href")}function le(e,t){const{key:r,code:o}=e,i=t,d=i.getAttribute("role");return(r==="Enter"||r===" "||r==="Spacebar"||o==="Space")&&!(i instanceof oe(i).HTMLInputElement&&!De(i,r)||i instanceof oe(i).HTMLTextAreaElement||i.isContentEditable)&&!((d==="link"||!d&&ae(i))&&r!=="Enter")}function lt(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function Se(e,t){const r=e.changedTouches;for(let o=0;o<r.length;o++){const i=r[o];if(i.identifier===t)return i}return null}function M(e,t){let r=0,o=0;return t.targetTouches&&t.targetTouches.length===1&&(r=t.targetTouches[0].clientX,o=t.targetTouches[0].clientY),{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:r,clientY:o}}function A(e,t){let r=t.clientX,o=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:r,clientY:o}}function ut(e){let t=0,r=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?r=e.height/2:e.radiusY!==void 0&&(r=e.radiusY),{top:e.clientY-r,right:e.clientX+t,bottom:e.clientY+r,left:e.clientX-t}}function ct(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function H(e,t){let r=t.getBoundingClientRect(),o=ut(e);return ct(r,o)}function ue(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function Oe(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!ae(e)}function Ne(e,t){return e instanceof HTMLInputElement?!De(e,t):Oe(e)}const dt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function De(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":dt.has(e.type)}let te=!1,ce=0;function de(){te=!0,setTimeout(()=>{te=!1},50)}function Ce(e){e.pointerType==="touch"&&de()}function pt(){if(!(typeof document>"u"))return typeof PointerEvent<"u"?document.addEventListener("pointerup",Ce):document.addEventListener("touchend",de),ce++,()=>{ce--,!(ce>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",Ce):document.removeEventListener("touchend",de))}}function ft(e){let{onHoverStart:t,onHoverChange:r,onHoverEnd:o,isDisabled:i}=e,[d,u]=v.useState(!1),p=v.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;v.useEffect(pt,[]);let{hoverProps:m,triggerHoverEnd:h}=v.useMemo(()=>{let b=(_,$)=>{if(p.pointerType=$,i||$==="touch"||p.isHovered||!_.currentTarget.contains(_.target))return;p.isHovered=!0;let T=_.currentTarget;p.target=T,t&&t({type:"hoverstart",target:T,pointerType:$}),r&&r(!0),u(!0)},B=(_,$)=>{if(p.pointerType="",p.target=null,$==="touch"||!p.isHovered)return;p.isHovered=!1;let T=_.currentTarget;o&&o({type:"hoverend",target:T,pointerType:$}),r&&r(!1),u(!1)},S={};return typeof PointerEvent<"u"?(S.onPointerEnter=_=>{te&&_.pointerType==="mouse"||b(_,_.pointerType)},S.onPointerLeave=_=>{!i&&_.currentTarget.contains(_.target)&&B(_,_.pointerType)}):(S.onTouchStart=()=>{p.ignoreEmulatedMouseEvents=!0},S.onMouseEnter=_=>{!p.ignoreEmulatedMouseEvents&&!te&&b(_,"mouse"),p.ignoreEmulatedMouseEvents=!1},S.onMouseLeave=_=>{!i&&_.currentTarget.contains(_.target)&&B(_,"mouse")}),{hoverProps:S,triggerHoverEnd:B}},[t,r,o,i,p]);return v.useEffect(()=>{i&&h({currentTarget:p.target},p.pointerType)},[i]),{hoverProps:m,isHovered:d}}function mt(e,t){let{elementType:r="button",isDisabled:o,onPress:i,onPressStart:d,onPressEnd:u,onPressUp:p,onPressChange:m,preventFocusOnPress:h,allowFocusWhenDisabled:b,onClick:B,href:S,target:_,rel:$,type:T="button"}=e,E;r==="button"?E={type:T,disabled:o}:E={role:"button",tabIndex:o?void 0:0,href:r==="a"&&o?void 0:S,target:r==="a"?_:void 0,type:r==="input"?T:void 0,disabled:r==="input"?o:void 0,"aria-disabled":!o||r==="input"?void 0:o,rel:r==="a"?$:void 0};let{pressProps:N,isPressed:P}=at({onPressStart:d,onPressEnd:u,onPressChange:m,onPress:i,onPressUp:p,isDisabled:o,preventFocusOnPress:h,ref:t}),{focusableProps:w}=me.useFocusable(e,t);b&&(w.tabIndex=o?-1:w.tabIndex);let C=j(w,N,Ge(e,{labelable:!0}));return{isPressed:P,buttonProps:j(E,C,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:D=>{B&&(B(D),console.warn("onClick is deprecated, please use onPress"))}})}}function _t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,o)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ae(Object(r),!0).forEach(function(o){_t(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ae(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}var bt=(e,t,r)=>{for(var o of Object.keys(e)){var i;if(e[o]!==((i=t[o])!==null&&i!==void 0?i:r[o]))return!1}return!0},ne=e=>t=>{var r=e.defaultClassName,o=Ke(Ke({},e.defaultVariants),t);for(var i in o){var d,u=(d=o[i])!==null&&d!==void 0?d:e.defaultVariants[i];if(u!=null){var p=u;typeof p=="boolean"&&(p=p===!0?"true":"false");var m=e.variantClassNames[i][p];m&&(r+=" "+m)}}for(var[h,b]of e.compoundVariants)bt(h,o,e.defaultVariants)&&(r+=" "+b);return r},gt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy0",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy1",false:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy2"},kind:{default:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy3",link:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy4",confirm:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy5",delete:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy6",key:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy7",icon:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy8"},spinning:{true:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy9",false:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyb"],[{kind:"default",spinning:!0},"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyc"],[{kind:"confirm",spinning:!0},"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyd"],[{kind:"delete",spinning:!0},"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxye"],[{kind:"key",spinning:!0},"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyf"],[{disabled:!0,spinning:!1},"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyg"],[{kind:"link",disabled:!0},"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyh"]]}),vt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyi",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyj",false:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyk"},kind:{icon:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyl",default:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxym",delete:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyn",key:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyo",confirm:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyp",link:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyq"},spinning:{true:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyr",false:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxys"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),ht=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyt",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyu",false:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyv"},kind:{icon:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyw",default:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyx",delete:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyy",key:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyz",confirm:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy10",link:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy11"}},defaultVariants:{spinning:!1},compoundVariants:[]}),yt="pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy12",kt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy13",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy14",false:"pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy15"}},defaultVariants:{spinning:!1},compoundVariants:[]});const pe=c.forwardRef(({as:e,onClick:t,onPress:r,children:o,className:i,isDisabled:d,disabled:u,href:p,icon:m,kind:h="default",spinning:b,spinningTitle:B,title:S,..._},$)=>{const T=e??(p?"a":"button"),E={onPress:r??t,isDisabled:u??d??b,..._},{"data-testid":N}=_,P=c.useRef(null),w=$||P,{buttonProps:C}=mt(E,w),{hoverProps:D}=ft({isDisabled:E.isDisabled}),{type:V,...fe}=C,n={...j(fe,D),ref:w,title:S,className:p?ht({spinning:b,kind:h}):vt({disabled:d||u,kind:h,spinning:b}),...p?{href:p}:{type:V},..._},{t:f}=c.useContext(G.I18nContext),x=m&&c.createElement(G.Icon,{className:yt,icon:m,"aria-hidden":"true","data-testid":`${N}__${m}-icon`});let l;h==="default"||h==="icon"||h==="link"?l="dark":l="light";const y=b&&c.createElement(G.Spinner,{color:l,className:kt({spinning:b}),title:B||f("design-system:button.spinningTitle",{defaultValue:"Loading..."}),"data-testid":`${N}__spinner`});return c.createElement(me.FocusRing,null,c.createElement("div",{className:G.cl(gt({disabled:d||u,kind:h,spinning:b}),i)},c.createElement(T,{...n},x,o?c.createElement("span",null,o):"",y)))});G.Metadata.set(pe,{name:"Button",props:{disabled:"boolean",href:"string",icon:"IconName",kind:{type:'"default" | "link" | "icon" | "confirm" | "delete" | "key"',default:'"default"'},spinning:"boolean",spinningTitle:"string",type:{type:'"button" | "submit"',default:'"button"'},as:"button | a",onClick:"() => void",onPress:"() => void",children:"ReactNode",className:"string",isDisabled:"boolean",style:"CSSProperties"},panellable:!0});const wt={Buttons:{components:[pe],description:()=>c.createElement(c.Fragment,null,c.createElement("div",{className:"sps-body-14"},"Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."),c.createElement("br",null),c.createElement("h5",null,"Variants"),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Confirm: "),"For the main call to action on a page. There should only be one Confirm button per screen."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Disabled: "),"For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it’s disabled."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"With an Icon: "),"For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),examples:{basic:{label:"Basic Buttons",description:({NavigateTo:e})=>c.createElement(c.Fragment,null,c.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",c.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:k.code`
1
+ (function(S,v){typeof exports=="object"&&typeof module<"u"?v(exports,require("react"),require("@sps-woodland/core"),require("@react-aria/focus"),require("@spscommerce/i18n"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","react","@sps-woodland/core","@react-aria/focus","@spscommerce/i18n","@spscommerce/utils"],v):(S=typeof globalThis<"u"?globalThis:S||self,v(S.Buttons={},S.React,S.core,S.focus,S.i18n,S.utils))})(this,function(S,v,R,me,Ie,k){"use strict";function Le(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const c=Le(v),_e=typeof document<"u"?v.useLayoutEffect:()=>{};function G(e){const t=v.useRef(null);return _e(()=>{t.current=e},[e]),v.useCallback((...r)=>{const o=t.current;return o==null?void 0:o(...r)},[])}let be=new Map;function Me(e,t){if(e===t)return e;let r=be.get(e);if(r)return r.forEach(i=>i(t)),t;let o=be.get(t);return o?(o.forEach(i=>i(e)),e):t}function ge(...e){return(...t)=>{for(let r of e)typeof r=="function"&&r(...t)}}const I=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},oe=e=>e&&"window"in e&&e.window===e?e:I(e).defaultView||window;function ve(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(r=ve(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function Fe(){for(var e,t,r=0,o="",i=arguments.length;r<i;r++)(e=arguments[r])&&(t=ve(e))&&(o&&(o+=" "),o+=t);return o}function W(...e){let t={...e[0]};for(let r=1;r<e.length;r++){let o=e[r];for(let i in o){let d=t[i],u=o[i];typeof d=="function"&&typeof u=="function"&&i[0]==="o"&&i[1]==="n"&&i.charCodeAt(2)>=65&&i.charCodeAt(2)<=90?t[i]=ge(d,u):(i==="className"||i==="UNSAFE_className")&&typeof d=="string"&&typeof u=="string"?t[i]=Fe(d,u):i==="id"&&d&&u?t.id=Me(d,u):t[i]=u!==void 0?u:d}}return t}const Ue=new Set(["id"]),He=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Ve=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),Ge=/^(data-.*)$/;function We(e,t={}){let{labelable:r,isLink:o,propNames:i}=t,d={};for(const u in e)Object.prototype.hasOwnProperty.call(e,u)&&(Ue.has(u)||r&&He.has(u)||o&&Ve.has(u)||i!=null&&i.has(u)||Ge.test(u))&&(d[u]=e[u]);return d}function j(e){if(je())e.focus({preventScroll:!0});else{let t=Ye(e);e.focus(),Re(t)}}let X=null;function je(){if(X==null){X=!1;try{document.createElement("div").focus({get preventScroll(){return X=!0,!0}})}catch{}}return X}function Ye(e){let t=e.parentNode,r=[],o=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==o;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&r.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return o instanceof HTMLElement&&r.push({element:o,scrollTop:o.scrollTop,scrollLeft:o.scrollLeft}),r}function Re(e){for(let{element:t,scrollTop:r,scrollLeft:o}of e)t.scrollTop=r,t.scrollLeft=o}function q(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(r=>e.test(r.brand)))||e.test(window.navigator.userAgent)}function re(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function L(e){let t=null;return()=>(t==null&&(t=e()),t)}const z=L(function(){return re(/^Mac/i)}),Xe=L(function(){return re(/^iPhone/i)}),he=L(function(){return re(/^iPad/i)||z()&&navigator.maxTouchPoints>1}),ye=L(function(){return Xe()||he()}),qe=L(function(){return q(/AppleWebKit/i)&&!ze()}),ze=L(function(){return q(/Chrome/i)}),ke=L(function(){return q(/Android/i)}),Je=L(function(){return q(/Firefox/i)});function Y(e,t,r=!0){var o,i;let{metaKey:d,ctrlKey:u,altKey:p,shiftKey:m}=t;Je()&&(!((i=window.event)===null||i===void 0||(o=i.type)===null||o===void 0)&&o.startsWith("key"))&&e.target==="_blank"&&(z()?d=!0:u=!0);let h=qe()&&z()&&!he()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:d,ctrlKey:u,altKey:p,shiftKey:m}):new MouseEvent("click",{metaKey:d,ctrlKey:u,altKey:p,shiftKey:m,bubbles:!0,cancelable:!0});Y.isOpening=r,j(e),e.dispatchEvent(h),Y.isOpening=!1}Y.isOpening=!1;let F=new Map,se=new Set;function we(){if(typeof window>"u")return;function e(o){return"propertyName"in o}let t=o=>{if(!e(o)||!o.target)return;let i=F.get(o.target);i||(i=new Set,F.set(o.target,i),o.target.addEventListener("transitioncancel",r,{once:!0})),i.add(o.propertyName)},r=o=>{if(!e(o)||!o.target)return;let i=F.get(o.target);if(i&&(i.delete(o.propertyName),i.size===0&&(o.target.removeEventListener("transitioncancel",r),F.delete(o.target)),F.size===0)){for(let d of se)d();se.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",r)}typeof document<"u"&&(document.readyState!=="loading"?we():document.addEventListener("DOMContentLoaded",we));function Qe(e){requestAnimationFrame(()=>{F.size===0?e():se.add(e)})}function Ze(){let e=v.useRef(new Map),t=v.useCallback((i,d,u,p)=>{let m=p!=null&&p.once?(...h)=>{e.current.delete(u),u(...h)}:u;e.current.set(u,{type:d,eventTarget:i,fn:m,options:p}),i.addEventListener(d,u,p)},[]),r=v.useCallback((i,d,u,p)=>{var m;let h=((m=e.current.get(u))===null||m===void 0?void 0:m.fn)||u;i.removeEventListener(d,h,p),e.current.delete(u)},[]),o=v.useCallback(()=>{e.current.forEach((i,d)=>{r(i.eventTarget,i.type,d,i.options)})},[r]);return v.useEffect(()=>o,[o]),{addGlobalListener:t,removeGlobalListener:r,removeAllGlobalListeners:o}}function et(e,t){_e(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function Te(e){return e.mozInputSource===0&&e.isTrusted?!0:ke()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function tt(e){return!ke()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}let U="default",ie="",J=new WeakMap;function Ee(e){if(ye()){if(U==="default"){const t=I(e);ie=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}U="disabled"}else(e instanceof HTMLElement||e instanceof SVGElement)&&(J.set(e,e.style.userSelect),e.style.userSelect="none")}function Q(e){if(ye()){if(U!=="disabled")return;U="restoring",setTimeout(()=>{Qe(()=>{if(U==="restoring"){const t=I(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ie||""),ie="",U="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&J.has(e)){let t=J.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),J.delete(e)}}const Be=v.createContext({register:()=>{}});Be.displayName="PressResponderContext";function nt(e,t){return t.get?t.get.call(e):t.value}function $e(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function ot(e,t){var r=$e(e,t,"get");return nt(e,r)}function rt(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function st(e,t,r){rt(e,t),t.set(e,r)}function it(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}function Pe(e,t,r){var o=$e(e,t,"set");return it(e,o,r),r}function at(e){let t=v.useContext(Be);if(t){let{register:r,...o}=t;e=W(o,e),r()}return et(t,e.ref),e}var Z=new WeakMap;class ee{continuePropagation(){Pe(this,Z,!1)}get shouldStopPropagation(){return ot(this,Z)}constructor(t,r,o,i){st(this,Z,{writable:!0,value:void 0}),Pe(this,Z,!0);var d;let u=(d=i==null?void 0:i.target)!==null&&d!==void 0?d:o.currentTarget;const p=u==null?void 0:u.getBoundingClientRect();let m,h=0,b,B=null;o.clientX!=null&&o.clientY!=null&&(b=o.clientX,B=o.clientY),p&&(b!=null&&B!=null?(m=b-p.left,h=B-p.top):(m=p.width/2,h=p.height/2)),this.type=t,this.pointerType=r,this.target=o.currentTarget,this.shiftKey=o.shiftKey,this.metaKey=o.metaKey,this.ctrlKey=o.ctrlKey,this.altKey=o.altKey,this.x=m,this.y=h}}const xe=Symbol("linkClicked");function lt(e){let{onPress:t,onPressChange:r,onPressStart:o,onPressEnd:i,onPressUp:d,isDisabled:u,isPressed:p,preventFocusOnPress:m,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:b,ref:B,...O}=at(e),[_,$]=v.useState(!1),T=v.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:E,removeAllGlobalListeners:N}=Ze(),P=G((n,f)=>{let x=T.current;if(u||x.didFirePressStart)return!1;let l=!0;if(x.isTriggeringEvent=!0,o){let y=new ee("pressstart",f,n);o(y),l=y.shouldStopPropagation}return r&&r(!0),x.isTriggeringEvent=!1,x.didFirePressStart=!0,$(!0),l}),w=G((n,f,x=!0)=>{let l=T.current;if(!l.didFirePressStart)return!1;l.ignoreClickAfterPress=!0,l.didFirePressStart=!1,l.isTriggeringEvent=!0;let y=!0;if(i){let s=new ee("pressend",f,n);i(s),y=s.shouldStopPropagation}if(r&&r(!1),$(!1),t&&x&&!u){let s=new ee("press",f,n);t(s),y&&(y=s.shouldStopPropagation)}return l.isTriggeringEvent=!1,y}),C=G((n,f)=>{let x=T.current;if(u)return!1;if(d){x.isTriggeringEvent=!0;let l=new ee("pressup",f,n);return d(l),x.isTriggeringEvent=!1,l.shouldStopPropagation}return!0}),D=G(n=>{let f=T.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&w(A(f.target,n),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,N(),b||Q(f.target))}),V=G(n=>{h&&D(n)}),fe=v.useMemo(()=>{let n=T.current,f={onKeyDown(l){if(le(l.nativeEvent,l.currentTarget)&&l.currentTarget.contains(l.target)){var y;Ne(l.target,l.key)&&l.preventDefault();let s=!0;if(!n.isPressed&&!l.repeat){n.target=l.currentTarget,n.isPressed=!0,s=P(l,"keyboard");let g=l.currentTarget,a=K=>{le(K,g)&&!K.repeat&&g.contains(K.target)&&n.target&&C(A(n.target,K),"keyboard")};E(I(l.currentTarget),"keyup",ge(a,x),!0)}s&&l.stopPropagation(),l.metaKey&&z()&&((y=n.metaKeyEvents)===null||y===void 0||y.set(l.key,l.nativeEvent))}else l.key==="Meta"&&(n.metaKeyEvents=new Map)},onClick(l){if(!(l&&!l.currentTarget.contains(l.target))&&l&&l.button===0&&!n.isTriggeringEvent&&!Y.isOpening){let y=!0;if(u&&l.preventDefault(),!n.ignoreClickAfterPress&&!n.ignoreEmulatedMouseEvents&&!n.isPressed&&(n.pointerType==="virtual"||Te(l.nativeEvent))){!u&&!m&&j(l.currentTarget);let s=P(l,"virtual"),g=C(l,"virtual"),a=w(l,"virtual");y=s&&g&&a}n.ignoreEmulatedMouseEvents=!1,n.ignoreClickAfterPress=!1,y&&l.stopPropagation()}}},x=l=>{var y;if(n.isPressed&&n.target&&le(l,n.target)){var s;Ne(l.target,l.key)&&l.preventDefault();let a=l.target;w(A(n.target,l),"keyboard",n.target.contains(a)),N(),l.key!=="Enter"&&ae(n.target)&&n.target.contains(a)&&!l[xe]&&(l[xe]=!0,Y(n.target,l,!1)),n.isPressed=!1,(s=n.metaKeyEvents)===null||s===void 0||s.delete(l.key)}else if(l.key==="Meta"&&(!((y=n.metaKeyEvents)===null||y===void 0)&&y.size)){var g;let a=n.metaKeyEvents;n.metaKeyEvents=void 0;for(let K of a.values())(g=n.target)===null||g===void 0||g.dispatchEvent(new KeyboardEvent("keyup",K))}};if(typeof PointerEvent<"u"){f.onPointerDown=a=>{if(a.button!==0||!a.currentTarget.contains(a.target))return;if(tt(a.nativeEvent)){n.pointerType="virtual";return}ue(a.currentTarget)&&a.preventDefault(),n.pointerType=a.pointerType;let K=!0;n.isPressed||(n.isPressed=!0,n.isOverTarget=!0,n.activePointerId=a.pointerId,n.target=a.currentTarget,!u&&!m&&j(a.currentTarget),b||Ee(n.target),K=P(a,n.pointerType),E(I(a.currentTarget),"pointermove",l,!1),E(I(a.currentTarget),"pointerup",y,!1),E(I(a.currentTarget),"pointercancel",g,!1)),K&&a.stopPropagation()},f.onMouseDown=a=>{a.currentTarget.contains(a.target)&&a.button===0&&(ue(a.currentTarget)&&a.preventDefault(),a.stopPropagation())},f.onPointerUp=a=>{!a.currentTarget.contains(a.target)||n.pointerType==="virtual"||a.button===0&&H(a,a.currentTarget)&&C(a,n.pointerType||a.pointerType)};let l=a=>{a.pointerId===n.activePointerId&&(n.target&&H(a,n.target)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,P(A(n.target,a),n.pointerType)):n.target&&n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,w(A(n.target,a),n.pointerType,!1),V(a)))},y=a=>{a.pointerId===n.activePointerId&&n.isPressed&&a.button===0&&n.target&&(H(a,n.target)&&n.pointerType!=null?w(A(n.target,a),n.pointerType):n.isOverTarget&&n.pointerType!=null&&w(A(n.target,a),n.pointerType,!1),n.isPressed=!1,n.isOverTarget=!1,n.activePointerId=null,n.pointerType=null,N(),b||Q(n.target),"ontouchend"in n.target&&a.pointerType!=="mouse"&&E(n.target,"touchend",s,{once:!0}))},s=a=>{Oe(a.target)&&a.preventDefault()},g=a=>{D(a)};f.onDragStart=a=>{a.currentTarget.contains(a.target)&&D(a)}}else{f.onMouseDown=s=>{if(s.button!==0||!s.currentTarget.contains(s.target))return;if(ue(s.currentTarget)&&s.preventDefault(),n.ignoreEmulatedMouseEvents){s.stopPropagation();return}n.isPressed=!0,n.isOverTarget=!0,n.target=s.currentTarget,n.pointerType=Te(s.nativeEvent)?"virtual":"mouse",!u&&!m&&j(s.currentTarget),P(s,n.pointerType)&&s.stopPropagation(),E(I(s.currentTarget),"mouseup",l,!1)},f.onMouseEnter=s=>{if(!s.currentTarget.contains(s.target))return;let g=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!0,g=P(s,n.pointerType)),g&&s.stopPropagation()},f.onMouseLeave=s=>{if(!s.currentTarget.contains(s.target))return;let g=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!1,g=w(s,n.pointerType,!1),V(s)),g&&s.stopPropagation()},f.onMouseUp=s=>{s.currentTarget.contains(s.target)&&!n.ignoreEmulatedMouseEvents&&s.button===0&&C(s,n.pointerType||"mouse")};let l=s=>{if(s.button===0){if(n.isPressed=!1,N(),n.ignoreEmulatedMouseEvents){n.ignoreEmulatedMouseEvents=!1;return}n.target&&H(s,n.target)&&n.pointerType!=null?w(A(n.target,s),n.pointerType):n.target&&n.isOverTarget&&n.pointerType!=null&&w(A(n.target,s),n.pointerType,!1),n.isOverTarget=!1}};f.onTouchStart=s=>{if(!s.currentTarget.contains(s.target))return;let g=ut(s.nativeEvent);if(!g)return;n.activePointerId=g.identifier,n.ignoreEmulatedMouseEvents=!0,n.isOverTarget=!0,n.isPressed=!0,n.target=s.currentTarget,n.pointerType="touch",!u&&!m&&j(s.currentTarget),b||Ee(n.target),P(M(n.target,s),n.pointerType)&&s.stopPropagation(),E(oe(s.currentTarget),"scroll",y,!0)},f.onTouchMove=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let g=Se(s.nativeEvent,n.activePointerId),a=!0;g&&H(g,s.currentTarget)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,a=P(M(n.target,s),n.pointerType)):n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,a=w(M(n.target,s),n.pointerType,!1),V(M(n.target,s))),a&&s.stopPropagation()},f.onTouchEnd=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let g=Se(s.nativeEvent,n.activePointerId),a=!0;g&&H(g,s.currentTarget)&&n.pointerType!=null?(C(M(n.target,s),n.pointerType),a=w(M(n.target,s),n.pointerType)):n.isOverTarget&&n.pointerType!=null&&(a=w(M(n.target,s),n.pointerType,!1)),a&&s.stopPropagation(),n.isPressed=!1,n.activePointerId=null,n.isOverTarget=!1,n.ignoreEmulatedMouseEvents=!0,n.target&&!b&&Q(n.target),N()},f.onTouchCancel=s=>{s.currentTarget.contains(s.target)&&(s.stopPropagation(),n.isPressed&&D(M(n.target,s)))};let y=s=>{n.isPressed&&s.target.contains(n.target)&&D({currentTarget:n.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=s=>{s.currentTarget.contains(s.target)&&D(s)}}return f},[E,u,m,N,b,D,V,w,P,C]);return v.useEffect(()=>()=>{var n;b||Q((n=T.current.target)!==null&&n!==void 0?n:void 0)},[b]),{isPressed:p||_,pressProps:W(O,fe)}}function ae(e){return e.tagName==="A"&&e.hasAttribute("href")}function le(e,t){const{key:r,code:o}=e,i=t,d=i.getAttribute("role");return(r==="Enter"||r===" "||r==="Spacebar"||o==="Space")&&!(i instanceof oe(i).HTMLInputElement&&!De(i,r)||i instanceof oe(i).HTMLTextAreaElement||i.isContentEditable)&&!((d==="link"||!d&&ae(i))&&r!=="Enter")}function ut(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function Se(e,t){const r=e.changedTouches;for(let o=0;o<r.length;o++){const i=r[o];if(i.identifier===t)return i}return null}function M(e,t){let r=0,o=0;return t.targetTouches&&t.targetTouches.length===1&&(r=t.targetTouches[0].clientX,o=t.targetTouches[0].clientY),{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:r,clientY:o}}function A(e,t){let r=t.clientX,o=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:r,clientY:o}}function ct(e){let t=0,r=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?r=e.height/2:e.radiusY!==void 0&&(r=e.radiusY),{top:e.clientY-r,right:e.clientX+t,bottom:e.clientY+r,left:e.clientX-t}}function dt(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function H(e,t){let r=t.getBoundingClientRect(),o=ct(e);return dt(r,o)}function ue(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function Oe(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!ae(e)}function Ne(e,t){return e instanceof HTMLInputElement?!De(e,t):Oe(e)}const pt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function De(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":pt.has(e.type)}let te=!1,ce=0;function de(){te=!0,setTimeout(()=>{te=!1},50)}function Ce(e){e.pointerType==="touch"&&de()}function ft(){if(!(typeof document>"u"))return typeof PointerEvent<"u"?document.addEventListener("pointerup",Ce):document.addEventListener("touchend",de),ce++,()=>{ce--,!(ce>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",Ce):document.removeEventListener("touchend",de))}}function mt(e){let{onHoverStart:t,onHoverChange:r,onHoverEnd:o,isDisabled:i}=e,[d,u]=v.useState(!1),p=v.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;v.useEffect(ft,[]);let{hoverProps:m,triggerHoverEnd:h}=v.useMemo(()=>{let b=(_,$)=>{if(p.pointerType=$,i||$==="touch"||p.isHovered||!_.currentTarget.contains(_.target))return;p.isHovered=!0;let T=_.currentTarget;p.target=T,t&&t({type:"hoverstart",target:T,pointerType:$}),r&&r(!0),u(!0)},B=(_,$)=>{if(p.pointerType="",p.target=null,$==="touch"||!p.isHovered)return;p.isHovered=!1;let T=_.currentTarget;o&&o({type:"hoverend",target:T,pointerType:$}),r&&r(!1),u(!1)},O={};return typeof PointerEvent<"u"?(O.onPointerEnter=_=>{te&&_.pointerType==="mouse"||b(_,_.pointerType)},O.onPointerLeave=_=>{!i&&_.currentTarget.contains(_.target)&&B(_,_.pointerType)}):(O.onTouchStart=()=>{p.ignoreEmulatedMouseEvents=!0},O.onMouseEnter=_=>{!p.ignoreEmulatedMouseEvents&&!te&&b(_,"mouse"),p.ignoreEmulatedMouseEvents=!1},O.onMouseLeave=_=>{!i&&_.currentTarget.contains(_.target)&&B(_,"mouse")}),{hoverProps:O,triggerHoverEnd:B}},[t,r,o,i,p]);return v.useEffect(()=>{i&&h({currentTarget:p.target},p.pointerType)},[i]),{hoverProps:m,isHovered:d}}function _t(e,t){let{elementType:r="button",isDisabled:o,onPress:i,onPressStart:d,onPressEnd:u,onPressUp:p,onPressChange:m,preventFocusOnPress:h,allowFocusWhenDisabled:b,onClick:B,href:O,target:_,rel:$,type:T="button"}=e,E;r==="button"?E={type:T,disabled:o}:E={role:"button",tabIndex:o?void 0:0,href:r==="a"&&o?void 0:O,target:r==="a"?_:void 0,type:r==="input"?T:void 0,disabled:r==="input"?o:void 0,"aria-disabled":!o||r==="input"?void 0:o,rel:r==="a"?$:void 0};let{pressProps:N,isPressed:P}=lt({onPressStart:d,onPressEnd:u,onPressChange:m,onPress:i,onPressUp:p,isDisabled:o,preventFocusOnPress:h,ref:t}),{focusableProps:w}=me.useFocusable(e,t);b&&(w.tabIndex=o?-1:w.tabIndex);let C=W(w,N,We(e,{labelable:!0}));return{isPressed:P,buttonProps:W(E,C,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:D=>{B&&(B(D),console.warn("onClick is deprecated, please use onPress"))}})}}function bt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,o)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ae(Object(r),!0).forEach(function(o){bt(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ae(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}var gt=(e,t,r)=>{for(var o of Object.keys(e)){var i;if(e[o]!==((i=t[o])!==null&&i!==void 0?i:r[o]))return!1}return!0},ne=e=>t=>{var r=e.defaultClassName,o=Ke(Ke({},e.defaultVariants),t);for(var i in o){var d,u=(d=o[i])!==null&&d!==void 0?d:e.defaultVariants[i];if(u!=null){var p=u;typeof p=="boolean"&&(p=p===!0?"true":"false");var m=e.variantClassNames[i][p];m&&(r+=" "+m)}}for(var[h,b]of e.compoundVariants)gt(h,o,e.defaultVariants)&&(r+=" "+b);return r},vt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy0",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy1",false:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy2"},kind:{default:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy3",link:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy4",confirm:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy5",delete:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy6",key:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy7",icon:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy8"},spinning:{true:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy9",false:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyb"],[{kind:"default",spinning:!0},"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyc"],[{kind:"confirm",spinning:!0},"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyd"],[{kind:"delete",spinning:!0},"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxye"],[{kind:"key",spinning:!0},"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyf"],[{disabled:!0,spinning:!1},"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyg"],[{kind:"link",disabled:!0},"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyh"]]}),ht=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyi",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyj",false:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyk"},kind:{icon:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyl",default:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxym",delete:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyn",key:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyo",confirm:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyp",link:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyq"},spinning:{true:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyr",false:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxys"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),yt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyt",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyu",false:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyv"},kind:{icon:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyw",default:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyx",delete:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyy",key:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyz",confirm:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy10",link:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy11"}},defaultVariants:{spinning:!1},compoundVariants:[]}),kt="pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy12",wt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy13",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy14",false:"pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy15"}},defaultVariants:{spinning:!1},compoundVariants:[]});const pe=c.forwardRef(({as:e,onClick:t,onPress:r,children:o,className:i,isDisabled:d,disabled:u,href:p,icon:m,kind:h="default",spinning:b,spinningTitle:B,title:O,..._},$)=>{const T=e??(p?"a":"button"),E={onPress:r??t,isDisabled:u??d??b,..._},{"data-testid":N}=_,P=c.useRef(null),w=$||P,{buttonProps:C}=_t(E,w),{hoverProps:D}=mt({isDisabled:E.isDisabled}),{type:V,...fe}=C,n={...W(fe,D),ref:w,title:O,className:p?yt({spinning:b,kind:h}):ht({disabled:d||u,kind:h,spinning:b}),...p?{href:p}:{type:V},..._},{t:f}=Ie.useWoodlandLanguage(),x=m&&c.createElement(R.Icon,{className:kt,icon:m,"aria-hidden":"true","data-testid":`${N}__${m}-icon`});let l;h==="default"||h==="icon"||h==="link"?l="dark":l="light";const y=b&&c.createElement(R.Spinner,{color:l,className:wt({spinning:b}),title:B||f("button.spinningTitle",{defaultValue:"Loading..."}),"data-testid":`${N}__spinner`});return c.createElement(me.FocusRing,null,c.createElement("div",{className:R.cl(vt({disabled:d||u,kind:h,spinning:b}),i)},c.createElement(T,{...n},x,o?c.createElement("span",null,o):"",y)))});R.Metadata.set(pe,{name:"Button",props:{disabled:"boolean",href:"string",icon:"IconName",kind:{type:'"default" | "link" | "icon" | "confirm" | "delete" | "key"',default:'"default"'},spinning:"boolean",spinningTitle:"string",type:{type:'"button" | "submit"',default:'"button"'},as:"button | a",onClick:"() => void",onPress:"() => void",children:"ReactNode",className:"string",isDisabled:"boolean",style:"CSSProperties"},panellable:!0});const Tt={Buttons:{components:[pe],description:()=>c.createElement(c.Fragment,null,c.createElement("div",{className:"sps-body-14"},"Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."),c.createElement("br",null),c.createElement("h5",null,"Variants"),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Confirm: "),"For the main call to action on a page. There should only be one Confirm button per screen."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Disabled: "),"For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it’s disabled."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"With an Icon: "),"For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),examples:{basic:{label:"Basic Buttons",description:({NavigateTo:e})=>c.createElement(c.Fragment,null,c.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",c.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:k.code`
2
2
  import { Button } from "@sps-woodland/buttons";
3
3
  import { sprinkles } from "@sps-woodland/tokens";
4
4
 
@@ -431,4 +431,4 @@
431
431
  </>
432
432
  )
433
433
  }
434
- `}}}}}};O.Button=pe,O.MANIFEST=wt,Object.defineProperty(O,Symbol.toStringTag,{value:"Module"})});
434
+ `}}}}}};S.Button=pe,S.MANIFEST=Tt,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- .pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy0{border-width:.0625rem;border-style:solid;border-radius:.25rem;cursor:pointer;display:inline-block;font-size:.75rem;font-weight:600;line-height:.875rem;padding:0;position:relative}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy3{background:#e9e9ea;border-color:#d2d4d4;color:#4b5356}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy3:hover{background:#d2d4d4}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy4{background:none transparent;border:0;color:#007db8}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy4:hover{background:none transparent;color:#09638d;text-decoration:none}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy5{background:#007db8;border-color:#09638d;color:#fff}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy5:hover{background:#09638d}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy6{background:#de002e;border-color:#a30d2d;color:#fff}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy6:hover{background:#a30d2d}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy7{background:#4b5356;border-color:#1f282c;color:#fff}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy7:hover{background:#1f282c}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy8{background:transparent;border-color:transparent;color:#4b5356}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy8:hover{background-color:#d2d4d4;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy9{color:transparent!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyb{background:#e9e9ea;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyb:hover,.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyc:hover{background:#e9e9ea}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyd:hover{background:#007db8}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxye:hover{background:#de002e}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyf:hover{background:#4b5356}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyg{background:#fff!important;border-color:#d2d4d4!important;color:#717779!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyg:hover{background:#fff}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyh{background:none transparent!important}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyi{background:none transparent;border:0 none;color:inherit;display:block;font-size:inherit;font-weight:inherit;margin:0;text-decoration:none;padding:.5rem 1rem}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyi:hover{text-decoration:none}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyj{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyl{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyq{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyr{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyt{background:none transparent;border:0 none;color:inherit;cursor:inherit;display:block;font-size:inherit;font-weight:inherit;margin:0;padding:.5rem 1rem;text-decoration:none}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyt:hover{text-decoration:none;color:inherit}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyu{cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxyw{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy11{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy12{line-height:0!important;position:relative}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy12:before{font-size:.875rem;line-height:0;position:relative;top:.125rem}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy12:not(:last-child){margin-right:.5rem}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy13{left:50%;margin:-.875rem -.4375rem;position:absolute}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy14{cursor:not-allowed;display:inline}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy15{display:none}.pkg_sps-woodland_buttons__version_8_33_9__hash_125pcxy13>i{border-width:.125rem;height:.875rem;width:.875rem}
1
+ .pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy0{border-width:.0625rem;border-style:solid;border-radius:.25rem;cursor:pointer;display:inline-block;font-size:.75rem;font-weight:600;line-height:.875rem;padding:0;position:relative}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy3{background:#e9e9ea;border-color:#d2d4d4;color:#4b5356}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy3:hover{background:#d2d4d4}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy4{background:none transparent;border:0;color:#007db8}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy4:hover{background:none transparent;color:#09638d;text-decoration:none}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy5{background:#007db8;border-color:#09638d;color:#fff}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy5:hover{background:#09638d}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy6{background:#de002e;border-color:#a30d2d;color:#fff}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy6:hover{background:#a30d2d}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy7{background:#4b5356;border-color:#1f282c;color:#fff}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy7:hover{background:#1f282c}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy8{background:transparent;border-color:transparent;color:#4b5356}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy8:hover{background-color:#d2d4d4;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy9{color:transparent!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyb{background:#e9e9ea;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyb:hover,.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyc:hover{background:#e9e9ea}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyd:hover{background:#007db8}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxye:hover{background:#de002e}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyf:hover{background:#4b5356}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyg{background:#fff!important;border-color:#d2d4d4!important;color:#717779!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyg:hover{background:#fff}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyh{background:none transparent!important}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyi{background:none transparent;border:0 none;color:inherit;display:block;font-size:inherit;font-weight:inherit;margin:0;text-decoration:none;padding:.5rem 1rem}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyi:hover{text-decoration:none}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyj{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyl{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyq{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyr{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyt{background:none transparent;border:0 none;color:inherit;cursor:inherit;display:block;font-size:inherit;font-weight:inherit;margin:0;padding:.5rem 1rem;text-decoration:none}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyt:hover{text-decoration:none;color:inherit}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyu{cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxyw{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy11{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy12{line-height:0!important;position:relative}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy12:before{font-size:.875rem;line-height:0;position:relative;top:.125rem}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy12:not(:last-child){margin-right:.5rem}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy13{left:50%;margin:-.875rem -.4375rem;position:absolute}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy14{cursor:not-allowed;display:inline}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy15{display:none}.pkg_sps-woodland_buttons__version_8_34_0__hash_125pcxy13>i{border-width:.125rem;height:.875rem;width:.875rem}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sps-woodland/buttons",
3
3
  "description": "SPS Woodland Design System button components",
4
- "version": "8.33.9",
4
+ "version": "8.34.0",
5
5
  "author": "SPS Commerce",
6
6
  "license": "UNLICENSED",
7
7
  "repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/buttons",
@@ -30,8 +30,9 @@
30
30
  "@spscommerce/utils": "^7.0.0",
31
31
  "react": "^16.9.0",
32
32
  "react-dom": "^16.9.0",
33
- "@sps-woodland/core": "8.33.9",
34
- "@sps-woodland/tokens": "8.33.9"
33
+ "@sps-woodland/core": "8.34.0",
34
+ "@sps-woodland/tokens": "8.34.0",
35
+ "@spscommerce/i18n": "8.34.0"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@react-aria/button": "^3.3.5",
@@ -42,8 +43,9 @@
42
43
  "@vanilla-extract/recipes": "^0.2.5",
43
44
  "react": "^16.9.0",
44
45
  "react-dom": "^16.9.0",
45
- "@sps-woodland/core": "8.33.9",
46
- "@sps-woodland/tokens": "8.33.9"
46
+ "@sps-woodland/core": "8.34.0",
47
+ "@sps-woodland/tokens": "8.34.0",
48
+ "@spscommerce/i18n": "8.34.0"
47
49
  },
48
50
  "dependencies": {
49
51
  "@react-aria/button": "^3.7.0",