@sps-woodland/buttons 8.45.1 → 8.45.2

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
@@ -1300,7 +1300,7 @@ var Kn = (e, t, n) => {
1300
1300
  for (var [v, g] of e.compoundVariants)
1301
1301
  Kn(v, r, e.defaultVariants) && (n += " " + g);
1302
1302
  return n;
1303
- }, Fn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy0", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy1", false: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy2" }, kind: { default: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy3", link: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy4", confirm: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy5", delete: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy6", key: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy7", icon: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy8" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy9", false: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxya" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [[{ kind: "icon", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyb"], [{ kind: "default", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyc"], [{ kind: "confirm", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyd"], [{ kind: "delete", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxye"], [{ kind: "key", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyf"], [{ disabled: !0, spinning: !1 }, "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyg"], [{ kind: "link", disabled: !0 }, "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyh"]] }), Vn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyi", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyj", false: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyk" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyl", default: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxym", delete: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyn", key: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyo", confirm: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyp", link: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyq" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyr", false: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxys" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [] }), Un = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyt", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyu", false: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyv" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyw", default: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyx", delete: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyy", key: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyz", confirm: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy10", link: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy11" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), it = "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy12", Rn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy13", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy14", false: "pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy15" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
1303
+ }, Fn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy0", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy1", false: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy2" }, kind: { default: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy3", link: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy4", confirm: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy5", delete: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy6", key: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy7", icon: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy8" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy9", false: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxya" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [[{ kind: "icon", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyb"], [{ kind: "default", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyc"], [{ kind: "confirm", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyd"], [{ kind: "delete", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxye"], [{ kind: "key", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyf"], [{ disabled: !0, spinning: !1 }, "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyg"], [{ kind: "link", disabled: !0 }, "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyh"]] }), Vn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyi", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyj", false: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyk" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyl", default: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxym", delete: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyn", key: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyo", confirm: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyp", link: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyq" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyr", false: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxys" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [] }), Un = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyt", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyu", false: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyv" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyw", default: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyx", delete: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyy", key: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyz", confirm: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy10", link: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy11" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), it = "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy12", Rn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy13", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy14", false: "pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy15" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
1304
1304
  const Tt = f.forwardRef(
1305
1305
  ({
1306
1306
  as: e,
package/lib/index.umd.cjs CHANGED
@@ -4,7 +4,7 @@
4
4
  touch-action: pan-x pan-y pinch-zoom;
5
5
  }
6
6
  }
7
- `.trim(),o.head.prepend(d)},[A]),m.useEffect(()=>{let o=k.current;return()=>{var d;w||Oe((d=o.target)!==null&&d!==void 0?d:void 0);for(let s of o.disposables)s();o.disposables=[]}},[w]),{isPressed:c||N,pressProps:G(D,In,{[st]:!0})}}function Be(e){return e.tagName==="A"&&e.hasAttribute("href")}function xe(e,t){const{key:n,code:r}=e,i=t,l=i.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(i instanceof M(i).HTMLInputElement&&!ut(i,n)||i instanceof M(i).HTMLTextAreaElement||i.isContentEditable)&&!((l==="link"||!l&&Be(i))&&n!=="Enter")}function cn(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function it(e,t){const n=e.changedTouches;for(let r=0;r<n.length;r++){const i=n[r];if(i.identifier===t)return i}return null}function U(e,t){let n=0,r=0;return t.targetTouches&&t.targetTouches.length===1&&(n=t.targetTouches[0].clientX,r=t.targetTouches[0].clientY),{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r}}function W(e,t){let n=t.clientX,r=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r,key:t.key}}function dn(e){let t=0,n=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?n=e.height/2:e.radiusY!==void 0&&(n=e.radiusY),{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function pn(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function at(e,t){let n=t.getBoundingClientRect(),r=dn(e);return pn(n,r)}function fn(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Be(e)}function lt(e,t){return e instanceof HTMLInputElement?!ut(e,t):fn(e)}const mn=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function ut(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":mn.has(e.type)}let te=null;const bn=new Set;let ne=new Map,Y=!1,Se=!1;function Le(e,t){for(let n of bn)n(e,t)}function vn(e){return!(e.metaKey||!J()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function pe(e){Y=!0,!j.isOpening&&vn(e)&&(te="keyboard",Le("keyboard",e))}function C(e){te="pointer","pointerType"in e&&e.pointerType,(e.type==="mousedown"||e.type==="pointerdown")&&(Y=!0,Le("pointer",e))}function ct(e){!j.isOpening&&Pe(e)&&(Y=!0,te="virtual")}function dt(e){v(e)===window||v(e)===document||le||!e.isTrusted||(!Y&&!Se&&(te="virtual",Le("virtual",e)),Y=!1,Se=!1)}function pt(){le||(Y=!1,Se=!0)}function ft(e){if(typeof window>"u"||typeof document>"u"||ne.get(M(e)))return;const t=M(e),n=T(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){Y=!0,r.apply(this,arguments)},n.addEventListener("keydown",pe,!0),n.addEventListener("keyup",pe,!0),n.addEventListener("click",ct,!0),t.addEventListener("focus",dt,!0),t.addEventListener("blur",pt,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",C,!0),n.addEventListener("pointermove",C,!0),n.addEventListener("pointerup",C,!0)):process.env.NODE_ENV==="test"&&(n.addEventListener("mousedown",C,!0),n.addEventListener("mousemove",C,!0),n.addEventListener("mouseup",C,!0)),t.addEventListener("beforeunload",()=>{mt(e)},{once:!0}),ne.set(t,{focus:r})}const mt=(e,t)=>{const n=M(e),r=T(e);t&&r.removeEventListener("DOMContentLoaded",t),ne.has(n)&&(n.HTMLElement.prototype.focus=ne.get(n).focus,r.removeEventListener("keydown",pe,!0),r.removeEventListener("keyup",pe,!0),r.removeEventListener("click",ct,!0),n.removeEventListener("focus",dt,!0),n.removeEventListener("blur",pt,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",C,!0),r.removeEventListener("pointermove",C,!0),r.removeEventListener("pointerup",C,!0)):process.env.NODE_ENV==="test"&&(r.removeEventListener("mousedown",C,!0),r.removeEventListener("mousemove",C,!0),r.removeEventListener("mouseup",C,!0)),ne.delete(n))};function gn(e){const t=T(e);let n;return t.readyState!=="loading"?ft(e):(n=()=>{ft(e)},t.addEventListener("DOMContentLoaded",n)),()=>mt(e,n)}typeof document<"u"&&gn();function _n(){return te}function yn(e){if(!e.isConnected)return;const t=T(e);if(_n()==="virtual"){let n=q(t);Ye(()=>{const r=q(t);(r===n||r===t.body)&&e.isConnected&&z(e)})}else z(e)}function hn(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:i}=e;const l=m.useCallback(c=>{if(v(c)===c.currentTarget)return r&&r(c),i&&i(!1),!0},[r,i]),u=tn(l),a=m.useCallback(c=>{let g=v(c);const _=T(g),w=_?q(_):q();g===c.currentTarget&&g===w&&(n&&n(c),i&&i(!0),u(c))},[i,n,u]);return{focusProps:{onFocus:!t&&(n||i||r)?a:void 0,onBlur:!t&&(r||i)?l:void 0}}}function bt(e){if(!e)return;let t=!0;return n=>{let r={...n,preventDefault(){n.preventDefault()},isDefaultPrevented(){return n.isDefaultPrevented()},stopPropagation(){t&&process.env.NODE_ENV!=="production"?console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior."):t=!0},continuePropagation(){t=!1},isPropagationStopped(){return t}};e(r),t&&n.stopPropagation()}}function $n(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:bt(e.onKeyDown),onKeyUp:bt(e.onKeyUp)}}}let En=m.createContext(null);function kn(e){let t=m.useContext(En)||{};Re(t,e);let{ref:n,...r}=t;return r}function wn(e,t){let{focusProps:n}=hn(e),{keyboardProps:r}=$n(e),i=G(n,r),l=kn(t),u=e.isDisabled?{}:l,a=m.useRef(e.autoFocus);m.useEffect(()=>{a.current&&t.current&&yn(t.current),a.current=!1},[t]);let c=e.excludeFromTabOrder?-1:0;return e.isDisabled&&(c=void 0),{focusableProps:G({...i,tabIndex:c},u)}}let fe=!1,me=0;function Ce(){fe=!0,setTimeout(()=>{fe=!1},50)}function vt(e){e.pointerType==="touch"&&Ce()}function Pn(){if(!(typeof document>"u"))return me===0&&(typeof PointerEvent<"u"?document.addEventListener("pointerup",vt):process.env.NODE_ENV==="test"&&document.addEventListener("touchend",Ce)),me++,()=>{me--,!(me>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",vt):process.env.NODE_ENV==="test"&&document.removeEventListener("touchend",Ce))}}function Tn(e){let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,isDisabled:i}=e,[l,u]=m.useState(!1),a=m.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;m.useEffect(Pn,[]);let{addGlobalListener:c,removeAllGlobalListeners:g}=Xe(),{hoverProps:_,triggerHoverEnd:w}=m.useMemo(()=>{let A=(h,k)=>{if(a.pointerType=k,i||k==="touch"||a.isHovered||!$(h.currentTarget,v(h)))return;a.isHovered=!0;let P=h.currentTarget;a.target=P,c(T(v(h)),"pointerover",O=>{a.isHovered&&a.target&&!$(a.target,v(O))&&D(O,O.pointerType)},{capture:!0}),t&&t({type:"hoverstart",target:P,pointerType:k}),n&&n(!0),u(!0)},D=(h,k)=>{let P=a.target;a.pointerType="",a.target=null,!(k==="touch"||!a.isHovered||!P)&&(a.isHovered=!1,g(),r&&r({type:"hoverend",target:P,pointerType:k}),n&&n(!1),u(!1))},N={};return typeof PointerEvent<"u"?(N.onPointerEnter=h=>{fe&&h.pointerType==="mouse"||A(h,h.pointerType)},N.onPointerLeave=h=>{!i&&$(h.currentTarget,v(h))&&D(h,h.pointerType)}):process.env.NODE_ENV==="test"&&(N.onTouchStart=()=>{a.ignoreEmulatedMouseEvents=!0},N.onMouseEnter=h=>{!a.ignoreEmulatedMouseEvents&&!fe&&A(h,"mouse"),a.ignoreEmulatedMouseEvents=!1},N.onMouseLeave=h=>{!i&&$(h.currentTarget,v(h))&&D(h,"mouse")}),{hoverProps:N,triggerHoverEnd:D}},[t,n,r,i,a,c,g]);return m.useEffect(()=>{i&&w({currentTarget:a.target},a.pointerType)},[i]),{hoverProps:_,isHovered:l}}function On(e,t){let{elementType:n="button",isDisabled:r,onPress:i,onPressStart:l,onPressEnd:u,onPressUp:a,onPressChange:c,preventFocusOnPress:g,allowFocusWhenDisabled:_,onClick:w,href:A,target:D,rel:N,type:h="button"}=e,k;n==="button"?k={type:h,disabled:r,form:e.form,formAction:e.formAction,formEncType:e.formEncType,formMethod:e.formMethod,formNoValidate:e.formNoValidate,formTarget:e.formTarget,name:e.name,value:e.value}:k={role:"button",href:n==="a"&&!r?A:void 0,target:n==="a"?D:void 0,type:n==="input"?h:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?N:void 0};let{pressProps:P,isPressed:O}=un({onPressStart:l,onPressEnd:u,onPressChange:c,onPress:i,onPressUp:a,onClick:w,isDisabled:r,preventFocusOnPress:g,ref:t}),{focusableProps:B}=wn(e,t);_&&(B.tabIndex=r?-1:B.tabIndex);let S=G(B,P,Mt(e,{labelable:!0}));return{isPressed:O,buttonProps:G(k,S,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],"aria-current":e["aria-current"],"aria-disabled":e["aria-disabled"]})}}function Bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function _t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?gt(Object(n),!0).forEach(function(r){Bn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var xn=(e,t,n)=>{for(var r of Object.keys(e)){var i;if(e[r]!==((i=t[r])!==null&&i!==void 0?i:n[r]))return!1}return!0},be=e=>t=>{var n=e.defaultClassName,r=_t(_t({},e.defaultVariants),t);for(var i in r){var l,u=(l=r[i])!==null&&l!==void 0?l:e.defaultVariants[i];if(u!=null){var a=u;typeof a=="boolean"&&(a=a===!0?"true":"false");var c=e.variantClassNames[i][a];c&&(n+=" "+c)}}for(var[g,_]of e.compoundVariants)xn(g,r,e.defaultVariants)&&(n+=" "+_);return n},Sn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy0",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy1",false:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy2"},kind:{default:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy3",link:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy4",confirm:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy5",delete:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy6",key:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy7",icon:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy8"},spinning:{true:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy9",false:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyb"],[{kind:"default",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyc"],[{kind:"confirm",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyd"],[{kind:"delete",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxye"],[{kind:"key",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyf"],[{disabled:!0,spinning:!1},"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyg"],[{kind:"link",disabled:!0},"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyh"]]}),Ln=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyi",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyj",false:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyk"},kind:{icon:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyl",default:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxym",delete:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyn",key:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyo",confirm:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyp",link:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyq"},spinning:{true:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyr",false:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxys"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),Cn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyt",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyu",false:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyv"},kind:{icon:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyw",default:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyx",delete:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyy",key:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyz",confirm:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy10",link:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy11"}},defaultVariants:{spinning:!1},compoundVariants:[]}),yt="pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy12",Dn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy13",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy14",false:"pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy15"}},defaultVariants:{spinning:!1},compoundVariants:[]});const De=f.forwardRef(({as:e,onClick:t,onPress:n,children:r,className:i,isDisabled:l,disabled:u,href:a,icon:c,kind:g="default",spinning:_,spinningTitle:w,title:A,...D},N)=>{const h=e??(a?"a":"button"),k={onPress:n??t,isDisabled:u??l??_,...D},{"data-testid":P}=D,O=f.useRef(null),B=N||O,{buttonProps:S}=On(k,B),{hoverProps:L}=Tn({isDisabled:k.isDisabled}),{type:Ne,...F}=S,Ae={...G(F,L),ref:B,title:A,className:a?Cn({spinning:_,kind:g}):Ln({disabled:l||u,kind:g,spinning:_}),...a?{href:a}:{type:Ne},...D},{t:I}=wt.useWoodlandLanguage(),X=c&&(c==="ai-color"?f.createElement(Z.Icon,{className:yt,icon:g==="default"||g==="link"?"ai-color":"ai","aria-hidden":"true","data-testid":`${P}__${c}-icon`}):f.createElement(Z.Icon,{className:yt,icon:c,"aria-hidden":"true","data-testid":`${P}__${c}-icon`}));let H;g==="default"||g==="icon"||g==="link"?H="dark":H="light";const oe=_&&f.createElement(Z.Spinner,{color:H,className:Dn({spinning:_}),title:w||I("button.spinningTitle",{defaultValue:"Loading..."}),"data-testid":`${P}__spinner`});return f.createElement(kt.FocusRing,null,f.createElement("div",{className:Z.cl(Sn({disabled:l||u,kind:g,spinning:_}),i)},f.createElement(h,{...Ae},X,r?f.createElement("span",null,r):"",oe)))});Z.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 Nn={Buttons:{components:[De],description:()=>f.createElement(f.Fragment,null,f.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."),f.createElement("br",null),f.createElement("h5",null,"Variants"),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),f.createElement("div",{className:"sps-body-14"},f.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."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),f.createElement("div",{className:"sps-body-14"},f.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."),f.createElement("div",{className:"sps-body-14"},f.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})=>f.createElement(f.Fragment,null,f.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",f.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:E.code`
7
+ `.trim(),o.head.prepend(d)},[A]),m.useEffect(()=>{let o=k.current;return()=>{var d;w||Oe((d=o.target)!==null&&d!==void 0?d:void 0);for(let s of o.disposables)s();o.disposables=[]}},[w]),{isPressed:c||N,pressProps:G(D,In,{[st]:!0})}}function Be(e){return e.tagName==="A"&&e.hasAttribute("href")}function xe(e,t){const{key:n,code:r}=e,i=t,l=i.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(i instanceof M(i).HTMLInputElement&&!ut(i,n)||i instanceof M(i).HTMLTextAreaElement||i.isContentEditable)&&!((l==="link"||!l&&Be(i))&&n!=="Enter")}function cn(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function it(e,t){const n=e.changedTouches;for(let r=0;r<n.length;r++){const i=n[r];if(i.identifier===t)return i}return null}function U(e,t){let n=0,r=0;return t.targetTouches&&t.targetTouches.length===1&&(n=t.targetTouches[0].clientX,r=t.targetTouches[0].clientY),{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r}}function W(e,t){let n=t.clientX,r=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r,key:t.key}}function dn(e){let t=0,n=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?n=e.height/2:e.radiusY!==void 0&&(n=e.radiusY),{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function pn(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function at(e,t){let n=t.getBoundingClientRect(),r=dn(e);return pn(n,r)}function fn(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Be(e)}function lt(e,t){return e instanceof HTMLInputElement?!ut(e,t):fn(e)}const mn=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function ut(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":mn.has(e.type)}let te=null;const bn=new Set;let ne=new Map,Y=!1,Se=!1;function Le(e,t){for(let n of bn)n(e,t)}function vn(e){return!(e.metaKey||!J()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function pe(e){Y=!0,!j.isOpening&&vn(e)&&(te="keyboard",Le("keyboard",e))}function C(e){te="pointer","pointerType"in e&&e.pointerType,(e.type==="mousedown"||e.type==="pointerdown")&&(Y=!0,Le("pointer",e))}function ct(e){!j.isOpening&&Pe(e)&&(Y=!0,te="virtual")}function dt(e){v(e)===window||v(e)===document||le||!e.isTrusted||(!Y&&!Se&&(te="virtual",Le("virtual",e)),Y=!1,Se=!1)}function pt(){le||(Y=!1,Se=!0)}function ft(e){if(typeof window>"u"||typeof document>"u"||ne.get(M(e)))return;const t=M(e),n=T(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){Y=!0,r.apply(this,arguments)},n.addEventListener("keydown",pe,!0),n.addEventListener("keyup",pe,!0),n.addEventListener("click",ct,!0),t.addEventListener("focus",dt,!0),t.addEventListener("blur",pt,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",C,!0),n.addEventListener("pointermove",C,!0),n.addEventListener("pointerup",C,!0)):process.env.NODE_ENV==="test"&&(n.addEventListener("mousedown",C,!0),n.addEventListener("mousemove",C,!0),n.addEventListener("mouseup",C,!0)),t.addEventListener("beforeunload",()=>{mt(e)},{once:!0}),ne.set(t,{focus:r})}const mt=(e,t)=>{const n=M(e),r=T(e);t&&r.removeEventListener("DOMContentLoaded",t),ne.has(n)&&(n.HTMLElement.prototype.focus=ne.get(n).focus,r.removeEventListener("keydown",pe,!0),r.removeEventListener("keyup",pe,!0),r.removeEventListener("click",ct,!0),n.removeEventListener("focus",dt,!0),n.removeEventListener("blur",pt,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",C,!0),r.removeEventListener("pointermove",C,!0),r.removeEventListener("pointerup",C,!0)):process.env.NODE_ENV==="test"&&(r.removeEventListener("mousedown",C,!0),r.removeEventListener("mousemove",C,!0),r.removeEventListener("mouseup",C,!0)),ne.delete(n))};function gn(e){const t=T(e);let n;return t.readyState!=="loading"?ft(e):(n=()=>{ft(e)},t.addEventListener("DOMContentLoaded",n)),()=>mt(e,n)}typeof document<"u"&&gn();function _n(){return te}function yn(e){if(!e.isConnected)return;const t=T(e);if(_n()==="virtual"){let n=q(t);Ye(()=>{const r=q(t);(r===n||r===t.body)&&e.isConnected&&z(e)})}else z(e)}function hn(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:i}=e;const l=m.useCallback(c=>{if(v(c)===c.currentTarget)return r&&r(c),i&&i(!1),!0},[r,i]),u=tn(l),a=m.useCallback(c=>{let g=v(c);const _=T(g),w=_?q(_):q();g===c.currentTarget&&g===w&&(n&&n(c),i&&i(!0),u(c))},[i,n,u]);return{focusProps:{onFocus:!t&&(n||i||r)?a:void 0,onBlur:!t&&(r||i)?l:void 0}}}function bt(e){if(!e)return;let t=!0;return n=>{let r={...n,preventDefault(){n.preventDefault()},isDefaultPrevented(){return n.isDefaultPrevented()},stopPropagation(){t&&process.env.NODE_ENV!=="production"?console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior."):t=!0},continuePropagation(){t=!1},isPropagationStopped(){return t}};e(r),t&&n.stopPropagation()}}function $n(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:bt(e.onKeyDown),onKeyUp:bt(e.onKeyUp)}}}let En=m.createContext(null);function kn(e){let t=m.useContext(En)||{};Re(t,e);let{ref:n,...r}=t;return r}function wn(e,t){let{focusProps:n}=hn(e),{keyboardProps:r}=$n(e),i=G(n,r),l=kn(t),u=e.isDisabled?{}:l,a=m.useRef(e.autoFocus);m.useEffect(()=>{a.current&&t.current&&yn(t.current),a.current=!1},[t]);let c=e.excludeFromTabOrder?-1:0;return e.isDisabled&&(c=void 0),{focusableProps:G({...i,tabIndex:c},u)}}let fe=!1,me=0;function Ce(){fe=!0,setTimeout(()=>{fe=!1},50)}function vt(e){e.pointerType==="touch"&&Ce()}function Pn(){if(!(typeof document>"u"))return me===0&&(typeof PointerEvent<"u"?document.addEventListener("pointerup",vt):process.env.NODE_ENV==="test"&&document.addEventListener("touchend",Ce)),me++,()=>{me--,!(me>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",vt):process.env.NODE_ENV==="test"&&document.removeEventListener("touchend",Ce))}}function Tn(e){let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,isDisabled:i}=e,[l,u]=m.useState(!1),a=m.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;m.useEffect(Pn,[]);let{addGlobalListener:c,removeAllGlobalListeners:g}=Xe(),{hoverProps:_,triggerHoverEnd:w}=m.useMemo(()=>{let A=(h,k)=>{if(a.pointerType=k,i||k==="touch"||a.isHovered||!$(h.currentTarget,v(h)))return;a.isHovered=!0;let P=h.currentTarget;a.target=P,c(T(v(h)),"pointerover",O=>{a.isHovered&&a.target&&!$(a.target,v(O))&&D(O,O.pointerType)},{capture:!0}),t&&t({type:"hoverstart",target:P,pointerType:k}),n&&n(!0),u(!0)},D=(h,k)=>{let P=a.target;a.pointerType="",a.target=null,!(k==="touch"||!a.isHovered||!P)&&(a.isHovered=!1,g(),r&&r({type:"hoverend",target:P,pointerType:k}),n&&n(!1),u(!1))},N={};return typeof PointerEvent<"u"?(N.onPointerEnter=h=>{fe&&h.pointerType==="mouse"||A(h,h.pointerType)},N.onPointerLeave=h=>{!i&&$(h.currentTarget,v(h))&&D(h,h.pointerType)}):process.env.NODE_ENV==="test"&&(N.onTouchStart=()=>{a.ignoreEmulatedMouseEvents=!0},N.onMouseEnter=h=>{!a.ignoreEmulatedMouseEvents&&!fe&&A(h,"mouse"),a.ignoreEmulatedMouseEvents=!1},N.onMouseLeave=h=>{!i&&$(h.currentTarget,v(h))&&D(h,"mouse")}),{hoverProps:N,triggerHoverEnd:D}},[t,n,r,i,a,c,g]);return m.useEffect(()=>{i&&w({currentTarget:a.target},a.pointerType)},[i]),{hoverProps:_,isHovered:l}}function On(e,t){let{elementType:n="button",isDisabled:r,onPress:i,onPressStart:l,onPressEnd:u,onPressUp:a,onPressChange:c,preventFocusOnPress:g,allowFocusWhenDisabled:_,onClick:w,href:A,target:D,rel:N,type:h="button"}=e,k;n==="button"?k={type:h,disabled:r,form:e.form,formAction:e.formAction,formEncType:e.formEncType,formMethod:e.formMethod,formNoValidate:e.formNoValidate,formTarget:e.formTarget,name:e.name,value:e.value}:k={role:"button",href:n==="a"&&!r?A:void 0,target:n==="a"?D:void 0,type:n==="input"?h:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?N:void 0};let{pressProps:P,isPressed:O}=un({onPressStart:l,onPressEnd:u,onPressChange:c,onPress:i,onPressUp:a,onClick:w,isDisabled:r,preventFocusOnPress:g,ref:t}),{focusableProps:B}=wn(e,t);_&&(B.tabIndex=r?-1:B.tabIndex);let S=G(B,P,Mt(e,{labelable:!0}));return{isPressed:O,buttonProps:G(k,S,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],"aria-current":e["aria-current"],"aria-disabled":e["aria-disabled"]})}}function Bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function _t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?gt(Object(n),!0).forEach(function(r){Bn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var xn=(e,t,n)=>{for(var r of Object.keys(e)){var i;if(e[r]!==((i=t[r])!==null&&i!==void 0?i:n[r]))return!1}return!0},be=e=>t=>{var n=e.defaultClassName,r=_t(_t({},e.defaultVariants),t);for(var i in r){var l,u=(l=r[i])!==null&&l!==void 0?l:e.defaultVariants[i];if(u!=null){var a=u;typeof a=="boolean"&&(a=a===!0?"true":"false");var c=e.variantClassNames[i][a];c&&(n+=" "+c)}}for(var[g,_]of e.compoundVariants)xn(g,r,e.defaultVariants)&&(n+=" "+_);return n},Sn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy0",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy1",false:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy2"},kind:{default:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy3",link:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy4",confirm:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy5",delete:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy6",key:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy7",icon:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy8"},spinning:{true:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy9",false:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyb"],[{kind:"default",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyc"],[{kind:"confirm",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyd"],[{kind:"delete",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxye"],[{kind:"key",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyf"],[{disabled:!0,spinning:!1},"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyg"],[{kind:"link",disabled:!0},"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyh"]]}),Ln=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyi",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyj",false:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyk"},kind:{icon:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyl",default:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxym",delete:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyn",key:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyo",confirm:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyp",link:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyq"},spinning:{true:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyr",false:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxys"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),Cn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyt",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyu",false:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyv"},kind:{icon:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyw",default:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyx",delete:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyy",key:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyz",confirm:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy10",link:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy11"}},defaultVariants:{spinning:!1},compoundVariants:[]}),yt="pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy12",Dn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy13",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy14",false:"pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy15"}},defaultVariants:{spinning:!1},compoundVariants:[]});const De=f.forwardRef(({as:e,onClick:t,onPress:n,children:r,className:i,isDisabled:l,disabled:u,href:a,icon:c,kind:g="default",spinning:_,spinningTitle:w,title:A,...D},N)=>{const h=e??(a?"a":"button"),k={onPress:n??t,isDisabled:u??l??_,...D},{"data-testid":P}=D,O=f.useRef(null),B=N||O,{buttonProps:S}=On(k,B),{hoverProps:L}=Tn({isDisabled:k.isDisabled}),{type:Ne,...F}=S,Ae={...G(F,L),ref:B,title:A,className:a?Cn({spinning:_,kind:g}):Ln({disabled:l||u,kind:g,spinning:_}),...a?{href:a}:{type:Ne},...D},{t:I}=wt.useWoodlandLanguage(),X=c&&(c==="ai-color"?f.createElement(Z.Icon,{className:yt,icon:g==="default"||g==="link"?"ai-color":"ai","aria-hidden":"true","data-testid":`${P}__${c}-icon`}):f.createElement(Z.Icon,{className:yt,icon:c,"aria-hidden":"true","data-testid":`${P}__${c}-icon`}));let H;g==="default"||g==="icon"||g==="link"?H="dark":H="light";const oe=_&&f.createElement(Z.Spinner,{color:H,className:Dn({spinning:_}),title:w||I("button.spinningTitle",{defaultValue:"Loading..."}),"data-testid":`${P}__spinner`});return f.createElement(kt.FocusRing,null,f.createElement("div",{className:Z.cl(Sn({disabled:l||u,kind:g,spinning:_}),i)},f.createElement(h,{...Ae},X,r?f.createElement("span",null,r):"",oe)))});Z.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 Nn={Buttons:{components:[De],description:()=>f.createElement(f.Fragment,null,f.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."),f.createElement("br",null),f.createElement("h5",null,"Variants"),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),f.createElement("div",{className:"sps-body-14"},f.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."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),f.createElement("div",{className:"sps-body-14"},f.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."),f.createElement("div",{className:"sps-body-14"},f.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})=>f.createElement(f.Fragment,null,f.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",f.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:E.code`
8
8
  import { Button } from "@sps-woodland/buttons";
9
9
  import { sprinkles } from "@sps-woodland/tokens";
10
10
 
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- .pkg_sps-woodland_buttons__version_8_45_1__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_45_1__hash_125pcxy3{background:#e9e9ea;border-color:#d2d4d4;color:#4b5356}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy3:hover{background:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy4{background:none transparent;border:0;color:#007db8}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy4:hover{background:none transparent;color:#09638d;text-decoration:none}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy5{background:#007db8;border-color:#09638d;color:#fff}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy5:hover{background:#09638d}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy6{background:#de002e;border-color:#a30d2d;color:#fff}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy6:hover{background:#a30d2d}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy7{background:#4b5356;border-color:#1f282c;color:#fff}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy7:hover{background:#1f282c}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy8{background:transparent;border-color:transparent;color:#4b5356}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy8:hover{background-color:#d2d4d4;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy9{color:transparent!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyb{background:#e9e9ea;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyb:hover,.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyc:hover{background:#e9e9ea}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyd:hover{background:#007db8}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxye:hover{background:#de002e}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyf:hover{background:#4b5356}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyg{background:#fff!important;border-color:#d2d4d4!important;color:#717779!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyg:hover{background:#fff}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyh{background:none transparent!important}.pkg_sps-woodland_buttons__version_8_45_1__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_45_1__hash_125pcxyi:hover{text-decoration:none}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyj{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyl{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyq{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyr{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_45_1__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_45_1__hash_125pcxyt:hover{text-decoration:none;color:inherit}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyu{cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxyw{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy11{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy12{line-height:0!important;position:relative}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy12:before{font-size:.875rem;line-height:0;position:relative;top:.125rem}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy12:not(:last-child){margin-right:.5rem}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy13{left:50%;margin:-.875rem -.4375rem;position:absolute}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy14{cursor:not-allowed;display:inline}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy15{display:none}.pkg_sps-woodland_buttons__version_8_45_1__hash_125pcxy13>i{border-width:.125rem;height:.875rem;width:.875rem}
1
+ .pkg_sps-woodland_buttons__version_8_45_2__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_45_2__hash_125pcxy3{background:#e9e9ea;border-color:#d2d4d4;color:#4b5356}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy3:hover{background:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy4{background:none transparent;border:0;color:#007db8}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy4:hover{background:none transparent;color:#09638d;text-decoration:none}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy5{background:#007db8;border-color:#09638d;color:#fff}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy5:hover{background:#09638d}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy6{background:#de002e;border-color:#a30d2d;color:#fff}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy6:hover{background:#a30d2d}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy7{background:#4b5356;border-color:#1f282c;color:#fff}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy7:hover{background:#1f282c}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy8{background:transparent;border-color:transparent;color:#4b5356}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy8:hover{background-color:#d2d4d4;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy9{color:transparent!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyb{background:#e9e9ea;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyb:hover,.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyc:hover{background:#e9e9ea}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyd:hover{background:#007db8}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxye:hover{background:#de002e}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyf:hover{background:#4b5356}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyg{background:#fff!important;border-color:#d2d4d4!important;color:#717779!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyg:hover{background:#fff}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyh{background:none transparent!important}.pkg_sps-woodland_buttons__version_8_45_2__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_45_2__hash_125pcxyi:hover{text-decoration:none}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyj{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyl{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyq{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyr{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_45_2__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_45_2__hash_125pcxyt:hover{text-decoration:none;color:inherit}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyu{cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxyw{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy11{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy12{line-height:0!important;position:relative}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy12:before{font-size:.875rem;line-height:0;position:relative;top:.125rem}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy12:not(:last-child){margin-right:.5rem}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy13{left:50%;margin:-.875rem -.4375rem;position:absolute}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy14{cursor:not-allowed;display:inline}.pkg_sps-woodland_buttons__version_8_45_2__hash_125pcxy15{display:none}.pkg_sps-woodland_buttons__version_8_45_2__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.45.1",
4
+ "version": "8.45.2",
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.45.1",
34
- "@sps-woodland/tokens": "8.45.1",
35
- "@spscommerce/i18n": "8.45.1"
33
+ "@sps-woodland/core": "8.45.2",
34
+ "@sps-woodland/tokens": "8.45.2",
35
+ "@spscommerce/i18n": "8.45.2"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@react-aria/button": "^3.14.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.45.1",
47
- "@sps-woodland/tokens": "8.45.1",
48
- "@spscommerce/i18n": "8.45.1"
46
+ "@sps-woodland/core": "8.45.2",
47
+ "@sps-woodland/tokens": "8.45.2",
48
+ "@spscommerce/i18n": "8.45.2"
49
49
  },
50
50
  "dependencies": {
51
51
  "@react-aria/interactions": "^3.27.1",