@sps-woodland/buttons 8.35.0 → 8.35.4
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 +1 -1
- package/lib/index.umd.cjs +1 -1
- package/lib/style.css +1 -1
- package/package.json +7 -7
package/lib/index.js
CHANGED
@@ -830,7 +830,7 @@ var Pt = (e, t, r) => {
|
|
830
830
|
for (var [v, g] of e.compoundVariants)
|
831
831
|
Pt(v, o, e.defaultVariants) && (r += " " + g);
|
832
832
|
return r;
|
833
|
-
}, Bt = ne({ defaultClassName: "pkg_sps-
|
833
|
+
}, Bt = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy0", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy1", false: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy2" }, kind: { default: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy3", link: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy4", confirm: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy5", delete: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy6", key: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy7", icon: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy8" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy9", false: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxya" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [[{ kind: "icon", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyb"], [{ kind: "default", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyc"], [{ kind: "confirm", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyd"], [{ kind: "delete", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxye"], [{ kind: "key", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyf"], [{ disabled: !0, spinning: !1 }, "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyg"], [{ kind: "link", disabled: !0 }, "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyh"]] }), Et = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyi", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyj", false: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyk" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyl", default: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxym", delete: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyn", key: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyo", confirm: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyp", link: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyq" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyr", false: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxys" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [] }), Ot = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyt", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyu", false: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyv" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyw", default: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyx", delete: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyy", key: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyz", confirm: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy10", link: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy11" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), xt = "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy12", St = ne({ defaultClassName: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy13", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy14", false: "pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy15" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
|
834
834
|
const Ie = d.forwardRef(
|
835
835
|
({
|
836
836
|
as: e,
|
package/lib/index.umd.cjs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
(function(x,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):(x=typeof globalThis<"u"?globalThis:x||self,v(x.Buttons={},x.React,x.core,x.focus,x.i18n,x.utils))})(this,function(x,v,R,me,Ie,k){"use strict";function Ke(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 u=Ke(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?.(...r)},[])}let ge=new Map;function Me(e,t){if(e===t)return e;let r=ge.get(e);if(r)return r.forEach(i=>i(t)),t;let o=ge.get(t);return o?(o.forEach(i=>i(e)),e):t}function be(...e){return(...t)=>{for(let r of e)typeof r=="function"&&r(...t)}}const I=e=>{var t;return(t=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 j(...e){let t={...e[0]};for(let r=1;r<e.length;r++){let o=e[r];for(let i in o){let p=t[i],c=o[i];typeof p=="function"&&typeof c=="function"&&i[0]==="o"&&i[1]==="n"&&i.charCodeAt(2)>=65&&i.charCodeAt(2)<=90?t[i]=be(p,c):(i==="className"||i==="UNSAFE_className")&&typeof p=="string"&&typeof c=="string"?t[i]=Fe(p,c):i==="id"&&p&&c?t.id=Me(p,c):t[i]=c!==void 0?c:p}}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 je(e,t={}){let{labelable:r,isLink:o,propNames:i}=t,p={};for(const c in e)Object.prototype.hasOwnProperty.call(e,c)&&(Ue.has(c)||r&&He.has(c)||o&&Ve.has(c)||i?.has(c)||Ge.test(c))&&(p[c]=e[c]);return p}function W(e){if(We())e.focus({preventScroll:!0});else{let t=Ye(e);e.focus(),Re(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 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 K(e){let t=null;return()=>(t==null&&(t=e()),t)}const z=K(function(){return re(/^Mac/i)}),Xe=K(function(){return re(/^iPhone/i)}),he=K(function(){return re(/^iPad/i)||z()&&navigator.maxTouchPoints>1}),ye=K(function(){return Xe()||he()}),qe=K(function(){return q(/AppleWebKit/i)&&!ze()}),ze=K(function(){return q(/Chrome/i)}),ke=K(function(){return q(/Android/i)}),Je=K(function(){return q(/Firefox/i)});function Y(e,t,r=!0){var o,i;let{metaKey:p,ctrlKey:c,altKey:d,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()?p=!0:c=!0);let h=qe()&&z()&&!he()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:p,ctrlKey:c,altKey:d,shiftKey:m}):new MouseEvent("click",{metaKey:p,ctrlKey:c,altKey:d,shiftKey:m,bubbles:!0,cancelable:!0});Y.isOpening=r,W(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 p of se)p();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,p,c,d)=>{let m=d?.once?(...h)=>{e.current.delete(c),c(...h)}:c;e.current.set(c,{type:p,eventTarget:i,fn:m,options:d}),i.addEventListener(p,c,d)},[]),r=v.useCallback((i,p,c,d)=>{var m;let h=((m=e.current.get(c))===null||m===void 0?void 0:m.fn)||c;i.removeEventListener(p,h,d),e.current.delete(c)},[]),o=v.useCallback(()=>{e.current.forEach((i,p)=>{r(i.eventTarget,i.type,p,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 $e(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 Pe=v.createContext({register:()=>{}});Pe.displayName="PressResponderContext";function nt(e,t){return t.get?t.get.call(e):t.value}function Ee(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=Ee(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 Be(e,t,r){var o=Ee(e,t,"set");return it(e,o,r),r}function at(e){let t=v.useContext(Pe);if(t){let{register:r,...o}=t;e=j(o,e),r()}return et(t,e.ref),e}var Z=new WeakMap;class ee{continuePropagation(){Be(this,Z,!1)}get shouldStopPropagation(){return ot(this,Z)}constructor(t,r,o,i){st(this,Z,{writable:!0,value:void 0}),Be(this,Z,!0);var p;let c=(p=i?.target)!==null&&p!==void 0?p:o.currentTarget;const d=c?.getBoundingClientRect();let m,h=0,g,P=null;o.clientX!=null&&o.clientY!=null&&(g=o.clientX,P=o.clientY),d&&(g!=null&&P!=null?(m=g-d.left,h=P-d.top):(m=d.width/2,h=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=h}}const Oe=Symbol("linkClicked");function lt(e){let{onPress:t,onPressChange:r,onPressStart:o,onPressEnd:i,onPressUp:p,isDisabled:c,isPressed:d,preventFocusOnPress:m,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:g,ref:P,...S}=at(e),[_,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:$,removeAllGlobalListeners:D}=Ze(),B=G((n,f)=>{let O=T.current;if(c||O.didFirePressStart)return!1;let l=!0;if(O.isTriggeringEvent=!0,o){let y=new ee("pressstart",f,n);o(y),l=y.shouldStopPropagation}return r&&r(!0),O.isTriggeringEvent=!1,O.didFirePressStart=!0,E(!0),l}),w=G((n,f,O=!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),E(!1),t&&O&&!c){let s=new ee("press",f,n);t(s),y&&(y=s.shouldStopPropagation)}return l.isTriggeringEvent=!1,y}),C=G((n,f)=>{let O=T.current;if(c)return!1;if(p){O.isTriggeringEvent=!0;let l=new ee("pressup",f,n);return p(l),O.isTriggeringEvent=!1,l.shouldStopPropagation}return!0}),N=G(n=>{let f=T.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&w(L(f.target,n),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,D(),g||Q(f.target))}),V=G(n=>{h&&N(n)}),fe=v.useMemo(()=>{let n=T.current,f={onKeyDown(l){if(le(l.nativeEvent,l.currentTarget)&&l.currentTarget.contains(l.target)){var y;De(l.target,l.key)&&l.preventDefault();let s=!0;if(!n.isPressed&&!l.repeat){n.target=l.currentTarget,n.isPressed=!0,s=B(l,"keyboard");let b=l.currentTarget,a=A=>{le(A,b)&&!A.repeat&&b.contains(A.target)&&n.target&&C(L(n.target,A),"keyboard")};$(I(l.currentTarget),"keyup",be(a,O),!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(c&&l.preventDefault(),!n.ignoreClickAfterPress&&!n.ignoreEmulatedMouseEvents&&!n.isPressed&&(n.pointerType==="virtual"||Te(l.nativeEvent))){!c&&!m&&W(l.currentTarget);let s=B(l,"virtual"),b=C(l,"virtual"),a=w(l,"virtual");y=s&&b&&a}n.ignoreEmulatedMouseEvents=!1,n.ignoreClickAfterPress=!1,y&&l.stopPropagation()}}},O=l=>{var y;if(n.isPressed&&n.target&&le(l,n.target)){var s;De(l.target,l.key)&&l.preventDefault();let a=l.target;w(L(n.target,l),"keyboard",n.target.contains(a)),D(),l.key!=="Enter"&&ae(n.target)&&n.target.contains(a)&&!l[Oe]&&(l[Oe]=!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 b;let a=n.metaKeyEvents;n.metaKeyEvents=void 0;for(let A of a.values())(b=n.target)===null||b===void 0||b.dispatchEvent(new KeyboardEvent("keyup",A))}};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}ce(a.currentTarget)&&a.preventDefault(),n.pointerType=a.pointerType;let A=!0;n.isPressed||(n.isPressed=!0,n.isOverTarget=!0,n.activePointerId=a.pointerId,n.target=a.currentTarget,!c&&!m&&W(a.currentTarget),g||$e(n.target),A=B(a,n.pointerType),$(I(a.currentTarget),"pointermove",l,!1),$(I(a.currentTarget),"pointerup",y,!1),$(I(a.currentTarget),"pointercancel",b,!1)),A&&a.stopPropagation()},f.onMouseDown=a=>{a.currentTarget.contains(a.target)&&a.button===0&&(ce(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,B(L(n.target,a),n.pointerType)):n.target&&n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,w(L(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(L(n.target,a),n.pointerType):n.isOverTarget&&n.pointerType!=null&&w(L(n.target,a),n.pointerType,!1),n.isPressed=!1,n.isOverTarget=!1,n.activePointerId=null,n.pointerType=null,D(),g||Q(n.target),"ontouchend"in n.target&&a.pointerType!=="mouse"&&$(n.target,"touchend",s,{once:!0}))},s=a=>{Se(a.target)&&a.preventDefault()},b=a=>{N(a)};f.onDragStart=a=>{a.currentTarget.contains(a.target)&&N(a)}}else{f.onMouseDown=s=>{if(s.button!==0||!s.currentTarget.contains(s.target))return;if(ce(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",!c&&!m&&W(s.currentTarget),B(s,n.pointerType)&&s.stopPropagation(),$(I(s.currentTarget),"mouseup",l,!1)},f.onMouseEnter=s=>{if(!s.currentTarget.contains(s.target))return;let b=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!0,b=B(s,n.pointerType)),b&&s.stopPropagation()},f.onMouseLeave=s=>{if(!s.currentTarget.contains(s.target))return;let b=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!1,b=w(s,n.pointerType,!1),V(s)),b&&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,D(),n.ignoreEmulatedMouseEvents){n.ignoreEmulatedMouseEvents=!1;return}n.target&&H(s,n.target)&&n.pointerType!=null?w(L(n.target,s),n.pointerType):n.target&&n.isOverTarget&&n.pointerType!=null&&w(L(n.target,s),n.pointerType,!1),n.isOverTarget=!1}};f.onTouchStart=s=>{if(!s.currentTarget.contains(s.target))return;let b=ct(s.nativeEvent);if(!b)return;n.activePointerId=b.identifier,n.ignoreEmulatedMouseEvents=!0,n.isOverTarget=!0,n.isPressed=!0,n.target=s.currentTarget,n.pointerType="touch",!c&&!m&&W(s.currentTarget),g||$e(n.target),B(M(n.target,s),n.pointerType)&&s.stopPropagation(),$(oe(s.currentTarget),"scroll",y,!0)},f.onTouchMove=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let b=xe(s.nativeEvent,n.activePointerId),a=!0;b&&H(b,s.currentTarget)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,a=B(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 b=xe(s.nativeEvent,n.activePointerId),a=!0;b&&H(b,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&&!g&&Q(n.target),D()},f.onTouchCancel=s=>{s.currentTarget.contains(s.target)&&(s.stopPropagation(),n.isPressed&&N(M(n.target,s)))};let y=s=>{n.isPressed&&s.target.contains(n.target)&&N({currentTarget:n.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=s=>{s.currentTarget.contains(s.target)&&N(s)}}return f},[$,c,m,D,g,N,V,w,B,C]);return v.useEffect(()=>()=>{var n;g||Q((n=T.current.target)!==null&&n!==void 0?n:void 0)},[g]),{isPressed:d||_,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,p=i.getAttribute("role");return(r==="Enter"||r===" "||r==="Spacebar"||o==="Space")&&!(i instanceof oe(i).HTMLInputElement&&!Ne(i,r)||i instanceof oe(i).HTMLTextAreaElement||i.isContentEditable)&&!((p==="link"||!p&&ae(i))&&r!=="Enter")}function ct(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function xe(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 L(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 pt(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 pt(r,o)}function ce(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function Se(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!ae(e)}function De(e,t){return e instanceof HTMLInputElement?!Ne(e,t):Se(e)}const dt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Ne(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":dt.has(e.type)}let te=!1,ue=0;function pe(){te=!0,setTimeout(()=>{te=!1},50)}function Ce(e){e.pointerType==="touch"&&pe()}function ft(){if(!(typeof document>"u"))return typeof PointerEvent<"u"?document.addEventListener("pointerup",Ce):document.addEventListener("touchend",pe),ue++,()=>{ue--,!(ue>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",Ce):document.removeEventListener("touchend",pe))}}function mt(e){let{onHoverStart:t,onHoverChange:r,onHoverEnd:o,isDisabled:i}=e,[p,c]=v.useState(!1),d=v.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;v.useEffect(ft,[]);let{hoverProps:m,triggerHoverEnd:h}=v.useMemo(()=>{let g=(_,E)=>{if(d.pointerType=E,i||E==="touch"||d.isHovered||!_.currentTarget.contains(_.target))return;d.isHovered=!0;let T=_.currentTarget;d.target=T,t&&t({type:"hoverstart",target:T,pointerType:E}),r&&r(!0),c(!0)},P=(_,E)=>{if(d.pointerType="",d.target=null,E==="touch"||!d.isHovered)return;d.isHovered=!1;let T=_.currentTarget;o&&o({type:"hoverend",target:T,pointerType:E}),r&&r(!1),c(!1)},S={};return typeof PointerEvent<"u"?(S.onPointerEnter=_=>{te&&_.pointerType==="mouse"||g(_,_.pointerType)},S.onPointerLeave=_=>{!i&&_.currentTarget.contains(_.target)&&P(_,_.pointerType)}):(S.onTouchStart=()=>{d.ignoreEmulatedMouseEvents=!0},S.onMouseEnter=_=>{!d.ignoreEmulatedMouseEvents&&!te&&g(_,"mouse"),d.ignoreEmulatedMouseEvents=!1},S.onMouseLeave=_=>{!i&&_.currentTarget.contains(_.target)&&P(_,"mouse")}),{hoverProps:S,triggerHoverEnd:P}},[t,r,o,i,d]);return v.useEffect(()=>{i&&h({currentTarget:d.target},d.pointerType)},[i]),{hoverProps:m,isHovered:p}}function _t(e,t){let{elementType:r="button",isDisabled:o,onPress:i,onPressStart:p,onPressEnd:c,onPressUp:d,onPressChange:m,preventFocusOnPress:h,allowFocusWhenDisabled:g,onClick:P,href:S,target:_,rel:E,type:T="button"}=e,$;r==="button"?$={type:T,disabled:o}:$={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"?E:void 0};let{pressProps:D,isPressed:B}=lt({onPressStart:p,onPressEnd:c,onPressChange:m,onPress:i,onPressUp:d,isDisabled:o,preventFocusOnPress:h,ref:t}),{focusableProps:w}=me.useFocusable(e,t);g&&(w.tabIndex=o?-1:w.tabIndex);let C=j(w,D,je(e,{labelable:!0}));return{isPressed:B,buttonProps:j($,C,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:N=>{P&&(P(N),console.warn("onClick is deprecated, please use onPress"))}})}}function gt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Le(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 Ae(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Le(Object(r),!0).forEach(function(o){gt(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Le(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=Ae(Ae({},e.defaultVariants),t);for(var i in o){var p,c=(p=o[i])!==null&&p!==void 0?p:e.defaultVariants[i];if(c!=null){var d=c;typeof d=="boolean"&&(d=d===!0?"true":"false");var m=e.variantClassNames[i][d];m&&(r+=" "+m)}}for(var[h,g]of e.compoundVariants)bt(h,o,e.defaultVariants)&&(r+=" "+g);return r},vt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy0",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy1",false:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy2"},kind:{default:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy3",link:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy4",confirm:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy5",delete:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy6",key:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy7",icon:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy8"},spinning:{true:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy9",false:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyb"],[{kind:"default",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyc"],[{kind:"confirm",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyd"],[{kind:"delete",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxye"],[{kind:"key",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyf"],[{disabled:!0,spinning:!1},"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyg"],[{kind:"link",disabled:!0},"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyh"]]}),ht=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyi",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyj",false:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyk"},kind:{icon:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyl",default:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxym",delete:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyn",key:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyo",confirm:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyp",link:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyq"},spinning:{true:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyr",false:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxys"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),yt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyt",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyu",false:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyv"},kind:{icon:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyw",default:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyx",delete:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyy",key:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxyz",confirm:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy10",link:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy11"}},defaultVariants:{spinning:!1},compoundVariants:[]}),kt="pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy12",wt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy13",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy14",false:"pkg_sps-woodland_buttons__version_8_35_0__hash_125pcxy15"}},defaultVariants:{spinning:!1},compoundVariants:[]});const de=u.forwardRef(({as:e,onClick:t,onPress:r,children:o,className:i,isDisabled:p,disabled:c,href:d,icon:m,kind:h="default",spinning:g,spinningTitle:P,title:S,..._},E)=>{const T=e??(d?"a":"button"),$={onPress:r??t,isDisabled:c??p??g,..._},{"data-testid":D}=_,B=u.useRef(null),w=E||B,{buttonProps:C}=_t($,w),{hoverProps:N}=mt({isDisabled:$.isDisabled}),{type:V,...fe}=C,n={...j(fe,N),ref:w,title:S,className:d?yt({spinning:g,kind:h}):ht({disabled:p||c,kind:h,spinning:g}),...d?{href:d}:{type:V},..._},{t:f}=Ie.useWoodlandLanguage(),O=m&&u.createElement(R.Icon,{className:kt,icon:m,"aria-hidden":"true","data-testid":`${D}__${m}-icon`});let l;h==="default"||h==="icon"||h==="link"?l="dark":l="light";const y=g&&u.createElement(R.Spinner,{color:l,className:wt({spinning:g}),title:P||f("button.spinningTitle",{defaultValue:"Loading..."}),"data-testid":`${D}__spinner`});return u.createElement(me.FocusRing,null,u.createElement("div",{className:R.cl(vt({disabled:p||c,kind:h,spinning:g}),i)},u.createElement(T,{...n},O,o?u.createElement("span",null,o):"",y)))});R.Metadata.set(de,{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:[de],description:()=>u.createElement(u.Fragment,null,u.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."),u.createElement("br",null),u.createElement("h5",null,"Variants"),u.createElement("div",{className:"sps-body-14"},u.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),u.createElement("div",{className:"sps-body-14"},u.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),u.createElement("div",{className:"sps-body-14"},u.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."),u.createElement("div",{className:"sps-body-14"},u.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),u.createElement("div",{className:"sps-body-14"},u.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."),u.createElement("div",{className:"sps-body-14"},u.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})=>u.createElement(u.Fragment,null,u.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",u.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:k.code`
|
1
|
+
(function(x,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):(x=typeof globalThis<"u"?globalThis:x||self,v(x.Buttons={},x.React,x.core,x.focus,x.i18n,x.utils))})(this,function(x,v,R,me,Ie,k){"use strict";function Ke(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 u=Ke(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?.(...r)},[])}let ge=new Map;function Me(e,t){if(e===t)return e;let r=ge.get(e);if(r)return r.forEach(i=>i(t)),t;let o=ge.get(t);return o?(o.forEach(i=>i(e)),e):t}function be(...e){return(...t)=>{for(let r of e)typeof r=="function"&&r(...t)}}const I=e=>{var t;return(t=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 j(...e){let t={...e[0]};for(let r=1;r<e.length;r++){let o=e[r];for(let i in o){let p=t[i],c=o[i];typeof p=="function"&&typeof c=="function"&&i[0]==="o"&&i[1]==="n"&&i.charCodeAt(2)>=65&&i.charCodeAt(2)<=90?t[i]=be(p,c):(i==="className"||i==="UNSAFE_className")&&typeof p=="string"&&typeof c=="string"?t[i]=Fe(p,c):i==="id"&&p&&c?t.id=Me(p,c):t[i]=c!==void 0?c:p}}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 je(e,t={}){let{labelable:r,isLink:o,propNames:i}=t,p={};for(const c in e)Object.prototype.hasOwnProperty.call(e,c)&&(Ue.has(c)||r&&He.has(c)||o&&Ve.has(c)||i?.has(c)||Ge.test(c))&&(p[c]=e[c]);return p}function W(e){if(We())e.focus({preventScroll:!0});else{let t=Ye(e);e.focus(),Re(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 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 K(e){let t=null;return()=>(t==null&&(t=e()),t)}const z=K(function(){return re(/^Mac/i)}),Xe=K(function(){return re(/^iPhone/i)}),he=K(function(){return re(/^iPad/i)||z()&&navigator.maxTouchPoints>1}),ye=K(function(){return Xe()||he()}),qe=K(function(){return q(/AppleWebKit/i)&&!ze()}),ze=K(function(){return q(/Chrome/i)}),ke=K(function(){return q(/Android/i)}),Je=K(function(){return q(/Firefox/i)});function Y(e,t,r=!0){var o,i;let{metaKey:p,ctrlKey:c,altKey:d,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()?p=!0:c=!0);let h=qe()&&z()&&!he()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:p,ctrlKey:c,altKey:d,shiftKey:m}):new MouseEvent("click",{metaKey:p,ctrlKey:c,altKey:d,shiftKey:m,bubbles:!0,cancelable:!0});Y.isOpening=r,W(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 p of se)p();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,p,c,d)=>{let m=d?.once?(...h)=>{e.current.delete(c),c(...h)}:c;e.current.set(c,{type:p,eventTarget:i,fn:m,options:d}),i.addEventListener(p,c,d)},[]),r=v.useCallback((i,p,c,d)=>{var m;let h=((m=e.current.get(c))===null||m===void 0?void 0:m.fn)||c;i.removeEventListener(p,h,d),e.current.delete(c)},[]),o=v.useCallback(()=>{e.current.forEach((i,p)=>{r(i.eventTarget,i.type,p,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 $e(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 Pe=v.createContext({register:()=>{}});Pe.displayName="PressResponderContext";function nt(e,t){return t.get?t.get.call(e):t.value}function Ee(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=Ee(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 Be(e,t,r){var o=Ee(e,t,"set");return it(e,o,r),r}function at(e){let t=v.useContext(Pe);if(t){let{register:r,...o}=t;e=j(o,e),r()}return et(t,e.ref),e}var Z=new WeakMap;class ee{continuePropagation(){Be(this,Z,!1)}get shouldStopPropagation(){return ot(this,Z)}constructor(t,r,o,i){st(this,Z,{writable:!0,value:void 0}),Be(this,Z,!0);var p;let c=(p=i?.target)!==null&&p!==void 0?p:o.currentTarget;const d=c?.getBoundingClientRect();let m,h=0,g,P=null;o.clientX!=null&&o.clientY!=null&&(g=o.clientX,P=o.clientY),d&&(g!=null&&P!=null?(m=g-d.left,h=P-d.top):(m=d.width/2,h=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=h}}const Oe=Symbol("linkClicked");function lt(e){let{onPress:t,onPressChange:r,onPressStart:o,onPressEnd:i,onPressUp:p,isDisabled:c,isPressed:d,preventFocusOnPress:m,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:g,ref:P,...S}=at(e),[_,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:$,removeAllGlobalListeners:D}=Ze(),B=G((n,f)=>{let O=T.current;if(c||O.didFirePressStart)return!1;let l=!0;if(O.isTriggeringEvent=!0,o){let y=new ee("pressstart",f,n);o(y),l=y.shouldStopPropagation}return r&&r(!0),O.isTriggeringEvent=!1,O.didFirePressStart=!0,E(!0),l}),w=G((n,f,O=!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),E(!1),t&&O&&!c){let s=new ee("press",f,n);t(s),y&&(y=s.shouldStopPropagation)}return l.isTriggeringEvent=!1,y}),C=G((n,f)=>{let O=T.current;if(c)return!1;if(p){O.isTriggeringEvent=!0;let l=new ee("pressup",f,n);return p(l),O.isTriggeringEvent=!1,l.shouldStopPropagation}return!0}),N=G(n=>{let f=T.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&w(L(f.target,n),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,D(),g||Q(f.target))}),V=G(n=>{h&&N(n)}),fe=v.useMemo(()=>{let n=T.current,f={onKeyDown(l){if(le(l.nativeEvent,l.currentTarget)&&l.currentTarget.contains(l.target)){var y;De(l.target,l.key)&&l.preventDefault();let s=!0;if(!n.isPressed&&!l.repeat){n.target=l.currentTarget,n.isPressed=!0,s=B(l,"keyboard");let b=l.currentTarget,a=A=>{le(A,b)&&!A.repeat&&b.contains(A.target)&&n.target&&C(L(n.target,A),"keyboard")};$(I(l.currentTarget),"keyup",be(a,O),!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(c&&l.preventDefault(),!n.ignoreClickAfterPress&&!n.ignoreEmulatedMouseEvents&&!n.isPressed&&(n.pointerType==="virtual"||Te(l.nativeEvent))){!c&&!m&&W(l.currentTarget);let s=B(l,"virtual"),b=C(l,"virtual"),a=w(l,"virtual");y=s&&b&&a}n.ignoreEmulatedMouseEvents=!1,n.ignoreClickAfterPress=!1,y&&l.stopPropagation()}}},O=l=>{var y;if(n.isPressed&&n.target&&le(l,n.target)){var s;De(l.target,l.key)&&l.preventDefault();let a=l.target;w(L(n.target,l),"keyboard",n.target.contains(a)),D(),l.key!=="Enter"&&ae(n.target)&&n.target.contains(a)&&!l[Oe]&&(l[Oe]=!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 b;let a=n.metaKeyEvents;n.metaKeyEvents=void 0;for(let A of a.values())(b=n.target)===null||b===void 0||b.dispatchEvent(new KeyboardEvent("keyup",A))}};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}ce(a.currentTarget)&&a.preventDefault(),n.pointerType=a.pointerType;let A=!0;n.isPressed||(n.isPressed=!0,n.isOverTarget=!0,n.activePointerId=a.pointerId,n.target=a.currentTarget,!c&&!m&&W(a.currentTarget),g||$e(n.target),A=B(a,n.pointerType),$(I(a.currentTarget),"pointermove",l,!1),$(I(a.currentTarget),"pointerup",y,!1),$(I(a.currentTarget),"pointercancel",b,!1)),A&&a.stopPropagation()},f.onMouseDown=a=>{a.currentTarget.contains(a.target)&&a.button===0&&(ce(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,B(L(n.target,a),n.pointerType)):n.target&&n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,w(L(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(L(n.target,a),n.pointerType):n.isOverTarget&&n.pointerType!=null&&w(L(n.target,a),n.pointerType,!1),n.isPressed=!1,n.isOverTarget=!1,n.activePointerId=null,n.pointerType=null,D(),g||Q(n.target),"ontouchend"in n.target&&a.pointerType!=="mouse"&&$(n.target,"touchend",s,{once:!0}))},s=a=>{Se(a.target)&&a.preventDefault()},b=a=>{N(a)};f.onDragStart=a=>{a.currentTarget.contains(a.target)&&N(a)}}else{f.onMouseDown=s=>{if(s.button!==0||!s.currentTarget.contains(s.target))return;if(ce(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",!c&&!m&&W(s.currentTarget),B(s,n.pointerType)&&s.stopPropagation(),$(I(s.currentTarget),"mouseup",l,!1)},f.onMouseEnter=s=>{if(!s.currentTarget.contains(s.target))return;let b=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!0,b=B(s,n.pointerType)),b&&s.stopPropagation()},f.onMouseLeave=s=>{if(!s.currentTarget.contains(s.target))return;let b=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!1,b=w(s,n.pointerType,!1),V(s)),b&&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,D(),n.ignoreEmulatedMouseEvents){n.ignoreEmulatedMouseEvents=!1;return}n.target&&H(s,n.target)&&n.pointerType!=null?w(L(n.target,s),n.pointerType):n.target&&n.isOverTarget&&n.pointerType!=null&&w(L(n.target,s),n.pointerType,!1),n.isOverTarget=!1}};f.onTouchStart=s=>{if(!s.currentTarget.contains(s.target))return;let b=ct(s.nativeEvent);if(!b)return;n.activePointerId=b.identifier,n.ignoreEmulatedMouseEvents=!0,n.isOverTarget=!0,n.isPressed=!0,n.target=s.currentTarget,n.pointerType="touch",!c&&!m&&W(s.currentTarget),g||$e(n.target),B(M(n.target,s),n.pointerType)&&s.stopPropagation(),$(oe(s.currentTarget),"scroll",y,!0)},f.onTouchMove=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let b=xe(s.nativeEvent,n.activePointerId),a=!0;b&&H(b,s.currentTarget)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,a=B(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 b=xe(s.nativeEvent,n.activePointerId),a=!0;b&&H(b,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&&!g&&Q(n.target),D()},f.onTouchCancel=s=>{s.currentTarget.contains(s.target)&&(s.stopPropagation(),n.isPressed&&N(M(n.target,s)))};let y=s=>{n.isPressed&&s.target.contains(n.target)&&N({currentTarget:n.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=s=>{s.currentTarget.contains(s.target)&&N(s)}}return f},[$,c,m,D,g,N,V,w,B,C]);return v.useEffect(()=>()=>{var n;g||Q((n=T.current.target)!==null&&n!==void 0?n:void 0)},[g]),{isPressed:d||_,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,p=i.getAttribute("role");return(r==="Enter"||r===" "||r==="Spacebar"||o==="Space")&&!(i instanceof oe(i).HTMLInputElement&&!Ne(i,r)||i instanceof oe(i).HTMLTextAreaElement||i.isContentEditable)&&!((p==="link"||!p&&ae(i))&&r!=="Enter")}function ct(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function xe(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 L(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 pt(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 pt(r,o)}function ce(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function Se(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!ae(e)}function De(e,t){return e instanceof HTMLInputElement?!Ne(e,t):Se(e)}const dt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Ne(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":dt.has(e.type)}let te=!1,ue=0;function pe(){te=!0,setTimeout(()=>{te=!1},50)}function Ce(e){e.pointerType==="touch"&&pe()}function ft(){if(!(typeof document>"u"))return typeof PointerEvent<"u"?document.addEventListener("pointerup",Ce):document.addEventListener("touchend",pe),ue++,()=>{ue--,!(ue>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",Ce):document.removeEventListener("touchend",pe))}}function mt(e){let{onHoverStart:t,onHoverChange:r,onHoverEnd:o,isDisabled:i}=e,[p,c]=v.useState(!1),d=v.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;v.useEffect(ft,[]);let{hoverProps:m,triggerHoverEnd:h}=v.useMemo(()=>{let g=(_,E)=>{if(d.pointerType=E,i||E==="touch"||d.isHovered||!_.currentTarget.contains(_.target))return;d.isHovered=!0;let T=_.currentTarget;d.target=T,t&&t({type:"hoverstart",target:T,pointerType:E}),r&&r(!0),c(!0)},P=(_,E)=>{if(d.pointerType="",d.target=null,E==="touch"||!d.isHovered)return;d.isHovered=!1;let T=_.currentTarget;o&&o({type:"hoverend",target:T,pointerType:E}),r&&r(!1),c(!1)},S={};return typeof PointerEvent<"u"?(S.onPointerEnter=_=>{te&&_.pointerType==="mouse"||g(_,_.pointerType)},S.onPointerLeave=_=>{!i&&_.currentTarget.contains(_.target)&&P(_,_.pointerType)}):(S.onTouchStart=()=>{d.ignoreEmulatedMouseEvents=!0},S.onMouseEnter=_=>{!d.ignoreEmulatedMouseEvents&&!te&&g(_,"mouse"),d.ignoreEmulatedMouseEvents=!1},S.onMouseLeave=_=>{!i&&_.currentTarget.contains(_.target)&&P(_,"mouse")}),{hoverProps:S,triggerHoverEnd:P}},[t,r,o,i,d]);return v.useEffect(()=>{i&&h({currentTarget:d.target},d.pointerType)},[i]),{hoverProps:m,isHovered:p}}function _t(e,t){let{elementType:r="button",isDisabled:o,onPress:i,onPressStart:p,onPressEnd:c,onPressUp:d,onPressChange:m,preventFocusOnPress:h,allowFocusWhenDisabled:g,onClick:P,href:S,target:_,rel:E,type:T="button"}=e,$;r==="button"?$={type:T,disabled:o}:$={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"?E:void 0};let{pressProps:D,isPressed:B}=lt({onPressStart:p,onPressEnd:c,onPressChange:m,onPress:i,onPressUp:d,isDisabled:o,preventFocusOnPress:h,ref:t}),{focusableProps:w}=me.useFocusable(e,t);g&&(w.tabIndex=o?-1:w.tabIndex);let C=j(w,D,je(e,{labelable:!0}));return{isPressed:B,buttonProps:j($,C,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:N=>{P&&(P(N),console.warn("onClick is deprecated, please use onPress"))}})}}function gt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Le(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 Ae(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Le(Object(r),!0).forEach(function(o){gt(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Le(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=Ae(Ae({},e.defaultVariants),t);for(var i in o){var p,c=(p=o[i])!==null&&p!==void 0?p:e.defaultVariants[i];if(c!=null){var d=c;typeof d=="boolean"&&(d=d===!0?"true":"false");var m=e.variantClassNames[i][d];m&&(r+=" "+m)}}for(var[h,g]of e.compoundVariants)bt(h,o,e.defaultVariants)&&(r+=" "+g);return r},vt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy0",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy1",false:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy2"},kind:{default:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy3",link:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy4",confirm:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy5",delete:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy6",key:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy7",icon:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy8"},spinning:{true:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy9",false:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyb"],[{kind:"default",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyc"],[{kind:"confirm",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyd"],[{kind:"delete",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxye"],[{kind:"key",spinning:!0},"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyf"],[{disabled:!0,spinning:!1},"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyg"],[{kind:"link",disabled:!0},"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyh"]]}),ht=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyi",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyj",false:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyk"},kind:{icon:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyl",default:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxym",delete:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyn",key:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyo",confirm:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyp",link:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyq"},spinning:{true:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyr",false:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxys"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),yt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyt",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyu",false:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyv"},kind:{icon:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyw",default:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyx",delete:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyy",key:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyz",confirm:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy10",link:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy11"}},defaultVariants:{spinning:!1},compoundVariants:[]}),kt="pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy12",wt=ne({defaultClassName:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy13",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy14",false:"pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy15"}},defaultVariants:{spinning:!1},compoundVariants:[]});const de=u.forwardRef(({as:e,onClick:t,onPress:r,children:o,className:i,isDisabled:p,disabled:c,href:d,icon:m,kind:h="default",spinning:g,spinningTitle:P,title:S,..._},E)=>{const T=e??(d?"a":"button"),$={onPress:r??t,isDisabled:c??p??g,..._},{"data-testid":D}=_,B=u.useRef(null),w=E||B,{buttonProps:C}=_t($,w),{hoverProps:N}=mt({isDisabled:$.isDisabled}),{type:V,...fe}=C,n={...j(fe,N),ref:w,title:S,className:d?yt({spinning:g,kind:h}):ht({disabled:p||c,kind:h,spinning:g}),...d?{href:d}:{type:V},..._},{t:f}=Ie.useWoodlandLanguage(),O=m&&u.createElement(R.Icon,{className:kt,icon:m,"aria-hidden":"true","data-testid":`${D}__${m}-icon`});let l;h==="default"||h==="icon"||h==="link"?l="dark":l="light";const y=g&&u.createElement(R.Spinner,{color:l,className:wt({spinning:g}),title:P||f("button.spinningTitle",{defaultValue:"Loading..."}),"data-testid":`${D}__spinner`});return u.createElement(me.FocusRing,null,u.createElement("div",{className:R.cl(vt({disabled:p||c,kind:h,spinning:g}),i)},u.createElement(T,{...n},O,o?u.createElement("span",null,o):"",y)))});R.Metadata.set(de,{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:[de],description:()=>u.createElement(u.Fragment,null,u.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."),u.createElement("br",null),u.createElement("h5",null,"Variants"),u.createElement("div",{className:"sps-body-14"},u.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),u.createElement("div",{className:"sps-body-14"},u.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),u.createElement("div",{className:"sps-body-14"},u.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."),u.createElement("div",{className:"sps-body-14"},u.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),u.createElement("div",{className:"sps-body-14"},u.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."),u.createElement("div",{className:"sps-body-14"},u.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})=>u.createElement(u.Fragment,null,u.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",u.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
|
|
package/lib/style.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
.pkg_sps-
|
1
|
+
.pkg_sps-woodland_buttons__version_8_35_4__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_35_4__hash_125pcxy3{background:#e9e9ea;border-color:#d2d4d4;color:#4b5356}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy3:hover{background:#d2d4d4}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy4{background:none transparent;border:0;color:#007db8}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy4:hover{background:none transparent;color:#09638d;text-decoration:none}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy5{background:#007db8;border-color:#09638d;color:#fff}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy5:hover{background:#09638d}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy6{background:#de002e;border-color:#a30d2d;color:#fff}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy6:hover{background:#a30d2d}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy7{background:#4b5356;border-color:#1f282c;color:#fff}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy7:hover{background:#1f282c}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy8{background:transparent;border-color:transparent;color:#4b5356}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy8:hover{background-color:#d2d4d4;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy9{color:transparent!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyb{background:#e9e9ea;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyb:hover,.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyc:hover{background:#e9e9ea}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyd:hover{background:#007db8}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxye:hover{background:#de002e}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyf:hover{background:#4b5356}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyg{background:#fff!important;border-color:#d2d4d4!important;color:#717779!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyg:hover{background:#fff}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyh{background:none transparent!important}.pkg_sps-woodland_buttons__version_8_35_4__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_35_4__hash_125pcxyi:hover{text-decoration:none}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyj{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyl{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyq{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyr{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_35_4__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_35_4__hash_125pcxyt:hover{text-decoration:none;color:inherit}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyu{cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxyw{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy11{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy12{line-height:0!important;position:relative}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy12:before{font-size:.875rem;line-height:0;position:relative;top:.125rem}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy12:not(:last-child){margin-right:.5rem}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy13{left:50%;margin:-.875rem -.4375rem;position:absolute}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy14{cursor:not-allowed;display:inline}.pkg_sps-woodland_buttons__version_8_35_4__hash_125pcxy15{display:none}.pkg_sps-woodland_buttons__version_8_35_4__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.35.
|
4
|
+
"version": "8.35.4",
|
5
5
|
"author": "SPS Commerce",
|
6
6
|
"license": "UNLICENSED",
|
7
7
|
"repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/buttons",
|
@@ -30,9 +30,9 @@
|
|
30
30
|
"@spscommerce/utils": "^7.0.0 || ^8.0.0",
|
31
31
|
"react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
32
32
|
"react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
33
|
-
"@sps-woodland/core": "8.35.
|
34
|
-
"@sps-woodland/tokens": "8.35.
|
35
|
-
"@spscommerce/i18n": "8.35.
|
33
|
+
"@sps-woodland/core": "8.35.4",
|
34
|
+
"@sps-woodland/tokens": "8.35.4",
|
35
|
+
"@spscommerce/i18n": "8.35.4"
|
36
36
|
},
|
37
37
|
"devDependencies": {
|
38
38
|
"@react-aria/button": "^3.3.5",
|
@@ -43,9 +43,9 @@
|
|
43
43
|
"@vanilla-extract/recipes": "^0.2.5",
|
44
44
|
"react": "^16.9.0",
|
45
45
|
"react-dom": "^16.9.0",
|
46
|
-
"@sps-woodland/core": "8.35.
|
47
|
-
"@sps-woodland/tokens": "8.35.
|
48
|
-
"@spscommerce/i18n": "8.35.
|
46
|
+
"@sps-woodland/core": "8.35.4",
|
47
|
+
"@sps-woodland/tokens": "8.35.4",
|
48
|
+
"@spscommerce/i18n": "8.35.4"
|
49
49
|
},
|
50
50
|
"dependencies": {
|
51
51
|
"@react-aria/button": "^3.7.0",
|