@sps-woodland/buttons 8.10.4 → 8.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ interface ButtonVariantDefinitions extends VariantDefinitions {
8
8
  }
9
9
  export declare const button: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<ButtonVariantDefinitions>;
10
10
  export declare const buttonElement: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<ButtonVariantDefinitions>;
11
- export declare const linkButton: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<Pick<ButtonVariantDefinitions, "spinning">>;
11
+ export declare const linkButton: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<Pick<ButtonVariantDefinitions, "kind" | "spinning">>;
12
12
  export declare const buttonIcon: string;
13
13
  export declare const buttonSpinner: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<Pick<ButtonVariantDefinitions, "spinning">>;
14
14
  export {};
package/lib/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react"),R=require("@sps-woodland/core"),Te=require("@react-aria/focus"),y=require("@spscommerce/utils");function Ce(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const c=Ce(k),Be=typeof document<"u"?k.useLayoutEffect:()=>{};function U(e){const t=k.useRef(null);return Be(()=>{t.current=e},[e]),k.useCallback((...r)=>{const o=t.current;return o==null?void 0:o(...r)},[])}let de=new Map;function _e(e,t){if(e===t)return e;let r=de.get(e);if(r)return r(t),t;let o=de.get(t);return o?(o(e),e):t}function Pe(...e){return(...t)=>{for(let r of e)typeof r=="function"&&r(...t)}}const I=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},oe=e=>e&&"window"in e&&e.window===e?e:I(e).defaultView||window;function $e(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=$e(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function Ie(){for(var e,t,r=0,o="",i=arguments.length;r<i;r++)(e=arguments[r])&&(t=$e(e))&&(o&&(o+=" "),o+=t);return o}function G(...e){let t={...e[0]};for(let r=1;r<e.length;r++){let o=e[r];for(let i in o){let d=t[i],u=o[i];typeof d=="function"&&typeof u=="function"&&i[0]==="o"&&i[1]==="n"&&i.charCodeAt(2)>=65&&i.charCodeAt(2)<=90?t[i]=Pe(d,u):(i==="className"||i==="UNSAFE_className")&&typeof d=="string"&&typeof u=="string"?t[i]=Ie(d,u):i==="id"&&d&&u?t.id=_e(d,u):t[i]=u!==void 0?u:d}}return t}const Ke=new Set(["id"]),Ae=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Le=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),Me=/^(data-.*)$/;function Fe(e,t={}){let{labelable:r,isLink:o,propNames:i}=t,d={};for(const u in e)Object.prototype.hasOwnProperty.call(e,u)&&(Ke.has(u)||r&&Ae.has(u)||o&&Le.has(u)||i!=null&&i.has(u)||Me.test(u))&&(d[u]=e[u]);return d}function H(e){if(Ue())e.focus({preventScroll:!0});else{let t=Re(e);e.focus(),He(t)}}let W=null;function Ue(){if(W==null){W=!1;try{document.createElement("div").focus({get preventScroll(){return W=!0,!0}})}catch{}}return W}function Re(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 He(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 le(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 X(){return le(/^Mac/i)}function Ge(){return le(/^iPhone/i)}function we(){return le(/^iPad/i)||X()&&navigator.maxTouchPoints>1}function Se(){return Ge()||we()}function Ve(){return Q(/AppleWebKit/i)&&!We()}function We(){return Q(/Chrome/i)}function xe(){return Q(/Android/i)}function je(){return Q(/Firefox/i)}function V(e,t,r=!0){var o,i;let{metaKey:d,ctrlKey:u,altKey:p,shiftKey:b}=t;je()&&(!((i=window.event)===null||i===void 0||(o=i.type)===null||o===void 0)&&o.startsWith("key"))&&e.target==="_blank"&&(X()?d=!0:u=!0);let E=Ve()&&X()&&!we()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:d,ctrlKey:u,altKey:p,shiftKey:b}):new MouseEvent("click",{metaKey:d,ctrlKey:u,altKey:p,shiftKey:b,bubbles:!0,cancelable:!0});V.isOpening=r,H(e),e.dispatchEvent(E),V.isOpening=!1}V.isOpening=!1;let M=new Map,se=new Set;function pe(){if(typeof window>"u")return;function e(o){return"propertyName"in o}let t=o=>{if(!e(o)||!o.target)return;let i=M.get(o.target);i||(i=new Set,M.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=M.get(o.target);if(i&&(i.delete(o.propertyName),i.size===0&&(o.target.removeEventListener("transitioncancel",r),M.delete(o.target)),M.size===0)){for(let d of se)d();se.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",r)}typeof document<"u"&&(document.readyState!=="loading"?pe():document.addEventListener("DOMContentLoaded",pe));function Ye(e){requestAnimationFrame(()=>{M.size===0?e():se.add(e)})}function qe(){let e=k.useRef(new Map),t=k.useCallback((i,d,u,p)=>{let b=p!=null&&p.once?(...E)=>{e.current.delete(u),u(...E)}:u;e.current.set(u,{type:d,eventTarget:i,fn:b,options:p}),i.addEventListener(d,u,p)},[]),r=k.useCallback((i,d,u,p)=>{var b;let E=((b=e.current.get(u))===null||b===void 0?void 0:b.fn)||u;i.removeEventListener(d,E,p),e.current.delete(u)},[]),o=k.useCallback(()=>{e.current.forEach((i,d)=>{r(i.eventTarget,i.type,d,i.options)})},[r]);return k.useEffect(()=>o,[o]),{addGlobalListener:t,removeGlobalListener:r,removeAllGlobalListeners:o}}function ze(e,t){Be(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function fe(e){return e.mozInputSource===0&&e.isTrusted?!0:xe()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Xe(e){return!xe()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}let F="default",ie="",z=new WeakMap;function me(e){if(Se()){if(F==="default"){const t=I(e);ie=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}F="disabled"}else(e instanceof HTMLElement||e instanceof SVGElement)&&(z.set(e,e.style.userSelect),e.style.userSelect="none")}function j(e){if(Se()){if(F!=="disabled")return;F="restoring",setTimeout(()=>{Ye(()=>{if(F==="restoring"){const t=I(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ie||""),ie="",F="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&z.has(e)){let t=z.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),z.delete(e)}}const Ne=k.createContext({register:()=>{}});Ne.displayName="PressResponderContext";function Je(e,t){return t.get?t.get.call(e):t.value}function Oe(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function Qe(e,t){var r=Oe(e,t,"get");return Je(e,r)}function Ze(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function et(e,t,r){Ze(e,t),t.set(e,r)}function tt(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=Oe(e,t,"set");return tt(e,o,r),r}function nt(e){let t=k.useContext(Ne);if(t){let{register:r,...o}=t;e=G(o,e),r()}return ze(t,e.ref),e}var Y=new WeakMap;class q{continuePropagation(){be(this,Y,!1)}get shouldStopPropagation(){return Qe(this,Y)}constructor(t,r,o){et(this,Y,{writable:!0,value:void 0}),be(this,Y,!0),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}}const ge=Symbol("linkClicked");function rt(e){let{onPress:t,onPressChange:r,onPressStart:o,onPressEnd:i,onPressUp:d,isDisabled:u,isPressed:p,preventFocusOnPress:b,shouldCancelOnPointerExit:E,allowTextSelectionOnPress:g,ref:C,...x}=nt(e),[m,S]=k.useState(!1),B=k.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:$,removeAllGlobalListeners:N}=qe(),w=U((n,f)=>{let P=B.current;if(u||P.didFirePressStart)return!1;let l=!0;if(P.isTriggeringEvent=!0,o){let v=new q("pressstart",f,n);o(v),l=v.shouldStopPropagation}return r&&r(!0),P.isTriggeringEvent=!1,P.didFirePressStart=!0,S(!0),l}),T=U((n,f,P=!0)=>{let l=B.current;if(!l.didFirePressStart)return!1;l.ignoreClickAfterPress=!0,l.didFirePressStart=!1,l.isTriggeringEvent=!0;let v=!0;if(i){let s=new q("pressend",f,n);i(s),v=s.shouldStopPropagation}if(r&&r(!1),S(!1),t&&P&&!u){let s=new q("press",f,n);t(s),v&&(v=s.shouldStopPropagation)}return l.isTriggeringEvent=!1,v}),D=U((n,f)=>{let P=B.current;if(u)return!1;if(d){P.isTriggeringEvent=!0;let l=new q("pressup",f,n);return d(l),P.isTriggeringEvent=!1,l.shouldStopPropagation}return!0}),O=U(n=>{let f=B.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&T(_(f.target,n),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,N(),g||j(f.target))}),K=U(n=>{E&&O(n)}),ee=k.useMemo(()=>{let n=B.current,f={onKeyDown(l){if(te(l.nativeEvent,l.currentTarget)&&l.currentTarget.contains(l.target)){var v;ye(l.target,l.key)&&l.preventDefault();let s=!0;if(!n.isPressed&&!l.repeat){n.target=l.currentTarget,n.isPressed=!0,s=w(l,"keyboard");let a=l.currentTarget,h=A=>{te(A,a)&&!A.repeat&&a.contains(A.target)&&n.target&&D(_(n.target,A),"keyboard")};$(I(l.currentTarget),"keyup",Pe(h,P),!0)}s&&l.stopPropagation(),l.metaKey&&X()&&((v=n.metaKeyEvents)===null||v===void 0||v.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&&!V.isOpening){let v=!0;if(u&&l.preventDefault(),!n.ignoreClickAfterPress&&!n.ignoreEmulatedMouseEvents&&!n.isPressed&&(n.pointerType==="virtual"||fe(l.nativeEvent))){!u&&!b&&H(l.currentTarget);let s=w(l,"virtual"),a=D(l,"virtual"),h=T(l,"virtual");v=s&&a&&h}n.ignoreEmulatedMouseEvents=!1,n.ignoreClickAfterPress=!1,v&&l.stopPropagation()}}},P=l=>{var v;if(n.isPressed&&n.target&&te(l,n.target)){var s;ye(l.target,l.key)&&l.preventDefault();let h=l.target;T(_(n.target,l),"keyboard",n.target.contains(h)),N(),l.key!=="Enter"&&ue(n.target)&&n.target.contains(h)&&!l[ge]&&(l[ge]=!0,V(n.target,l,!1)),n.isPressed=!1,(s=n.metaKeyEvents)===null||s===void 0||s.delete(l.key)}else if(l.key==="Meta"&&(!((v=n.metaKeyEvents)===null||v===void 0)&&v.size)){var a;let h=n.metaKeyEvents;n.metaKeyEvents=void 0;for(let A of h.values())(a=n.target)===null||a===void 0||a.dispatchEvent(new KeyboardEvent("keyup",A))}};if(typeof PointerEvent<"u"){f.onPointerDown=a=>{if(a.button!==0||!a.currentTarget.contains(a.target))return;if(Xe(a.nativeEvent)){n.pointerType="virtual";return}ne(a.currentTarget)&&a.preventDefault(),n.pointerType=a.pointerType;let h=!0;n.isPressed||(n.isPressed=!0,n.isOverTarget=!0,n.activePointerId=a.pointerId,n.target=a.currentTarget,!u&&!b&&H(a.currentTarget),g||me(n.target),h=w(a,n.pointerType),$(I(a.currentTarget),"pointermove",l,!1),$(I(a.currentTarget),"pointerup",v,!1),$(I(a.currentTarget),"pointercancel",s,!1)),h&&a.stopPropagation()},f.onMouseDown=a=>{a.currentTarget.contains(a.target)&&a.button===0&&(ne(a.currentTarget)&&a.preventDefault(),a.stopPropagation())},f.onPointerUp=a=>{!a.currentTarget.contains(a.target)||n.pointerType==="virtual"||a.button===0&&L(a,a.currentTarget)&&D(a,n.pointerType||a.pointerType)};let l=a=>{a.pointerId===n.activePointerId&&(n.target&&L(a,n.target)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,w(_(n.target,a),n.pointerType)):n.target&&n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,T(_(n.target,a),n.pointerType,!1),K(a)))},v=a=>{a.pointerId===n.activePointerId&&n.isPressed&&a.button===0&&n.target&&(L(a,n.target)&&n.pointerType!=null?T(_(n.target,a),n.pointerType):n.isOverTarget&&n.pointerType!=null&&T(_(n.target,a),n.pointerType,!1),n.isPressed=!1,n.isOverTarget=!1,n.activePointerId=null,n.pointerType=null,N(),g||j(n.target))},s=a=>{O(a)};f.onDragStart=a=>{a.currentTarget.contains(a.target)&&O(a)}}else{f.onMouseDown=s=>{if(s.button!==0||!s.currentTarget.contains(s.target))return;if(ne(s.currentTarget)&&s.preventDefault(),n.ignoreEmulatedMouseEvents){s.stopPropagation();return}n.isPressed=!0,n.isOverTarget=!0,n.target=s.currentTarget,n.pointerType=fe(s.nativeEvent)?"virtual":"mouse",!u&&!b&&H(s.currentTarget),w(s,n.pointerType)&&s.stopPropagation(),$(I(s.currentTarget),"mouseup",l,!1)},f.onMouseEnter=s=>{if(!s.currentTarget.contains(s.target))return;let a=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!0,a=w(s,n.pointerType)),a&&s.stopPropagation()},f.onMouseLeave=s=>{if(!s.currentTarget.contains(s.target))return;let a=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!1,a=T(s,n.pointerType,!1),K(s)),a&&s.stopPropagation()},f.onMouseUp=s=>{s.currentTarget.contains(s.target)&&!n.ignoreEmulatedMouseEvents&&s.button===0&&D(s,n.pointerType||"mouse")};let l=s=>{if(s.button===0){if(n.isPressed=!1,N(),n.ignoreEmulatedMouseEvents){n.ignoreEmulatedMouseEvents=!1;return}n.target&&L(s,n.target)&&n.pointerType!=null?T(_(n.target,s),n.pointerType):n.target&&n.isOverTarget&&n.pointerType!=null&&T(_(n.target,s),n.pointerType,!1),n.isOverTarget=!1}};f.onTouchStart=s=>{if(!s.currentTarget.contains(s.target))return;let a=ot(s.nativeEvent);if(!a)return;n.activePointerId=a.identifier,n.ignoreEmulatedMouseEvents=!0,n.isOverTarget=!0,n.isPressed=!0,n.target=s.currentTarget,n.pointerType="touch",!u&&!b&&H(s.currentTarget),g||me(n.target),w(s,n.pointerType)&&s.stopPropagation(),$(oe(s.currentTarget),"scroll",v,!0)},f.onTouchMove=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let a=ve(s.nativeEvent,n.activePointerId),h=!0;a&&L(a,s.currentTarget)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,h=w(s,n.pointerType)):n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,h=T(s,n.pointerType,!1),K(s)),h&&s.stopPropagation()},f.onTouchEnd=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let a=ve(s.nativeEvent,n.activePointerId),h=!0;a&&L(a,s.currentTarget)&&n.pointerType!=null?(D(s,n.pointerType),h=T(s,n.pointerType)):n.isOverTarget&&n.pointerType!=null&&(h=T(s,n.pointerType,!1)),h&&s.stopPropagation(),n.isPressed=!1,n.activePointerId=null,n.isOverTarget=!1,n.ignoreEmulatedMouseEvents=!0,n.target&&!g&&j(n.target),N()},f.onTouchCancel=s=>{s.currentTarget.contains(s.target)&&(s.stopPropagation(),n.isPressed&&O(s))};let v=s=>{n.isPressed&&s.target.contains(n.target)&&O({currentTarget:n.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=s=>{s.currentTarget.contains(s.target)&&O(s)}}return f},[$,u,b,N,g,O,K,T,w,D]);return k.useEffect(()=>()=>{var n;g||j((n=B.current.target)!==null&&n!==void 0?n:void 0)},[g]),{isPressed:p||m,pressProps:G(x,ee)}}function ue(e){return e.tagName==="A"&&e.hasAttribute("href")}function te(e,t){const{key:r,code:o}=e,i=t,d=i.getAttribute("role");return(r==="Enter"||r===" "||r==="Spacebar"||o==="Space")&&!(i instanceof oe(i).HTMLInputElement&&!De(i,r)||i instanceof oe(i).HTMLTextAreaElement||i.isContentEditable)&&!((d==="link"||!d&&ue(i))&&r!=="Enter")}function ot(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function ve(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 _(e,t){return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey}}function st(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 it(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function L(e,t){let r=t.getBoundingClientRect(),o=st(e);return it(r,o)}function ne(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function ye(e,t){return e instanceof HTMLInputElement?!De(e,t):e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!ue(e)}const at=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function De(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":at.has(e.type)}let J=!1,re=0;function ae(){J=!0,setTimeout(()=>{J=!1},50)}function he(e){e.pointerType==="touch"&&ae()}function lt(){if(!(typeof document>"u"))return typeof PointerEvent<"u"?document.addEventListener("pointerup",he):document.addEventListener("touchend",ae),re++,()=>{re--,!(re>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",he):document.removeEventListener("touchend",ae))}}function ut(e){let{onHoverStart:t,onHoverChange:r,onHoverEnd:o,isDisabled:i}=e,[d,u]=k.useState(!1),p=k.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;k.useEffect(lt,[]);let{hoverProps:b,triggerHoverEnd:E}=k.useMemo(()=>{let g=(m,S)=>{if(p.pointerType=S,i||S==="touch"||p.isHovered||!m.currentTarget.contains(m.target))return;p.isHovered=!0;let B=m.currentTarget;p.target=B,t&&t({type:"hoverstart",target:B,pointerType:S}),r&&r(!0),u(!0)},C=(m,S)=>{if(p.pointerType="",p.target=null,S==="touch"||!p.isHovered)return;p.isHovered=!1;let B=m.currentTarget;o&&o({type:"hoverend",target:B,pointerType:S}),r&&r(!1),u(!1)},x={};return typeof PointerEvent<"u"?(x.onPointerEnter=m=>{J&&m.pointerType==="mouse"||g(m,m.pointerType)},x.onPointerLeave=m=>{!i&&m.currentTarget.contains(m.target)&&C(m,m.pointerType)}):(x.onTouchStart=()=>{p.ignoreEmulatedMouseEvents=!0},x.onMouseEnter=m=>{!p.ignoreEmulatedMouseEvents&&!J&&g(m,"mouse"),p.ignoreEmulatedMouseEvents=!1},x.onMouseLeave=m=>{!i&&m.currentTarget.contains(m.target)&&C(m,"mouse")}),{hoverProps:x,triggerHoverEnd:C}},[t,r,o,i,p]);return k.useEffect(()=>{i&&E({currentTarget:p.target},p.pointerType)},[i]),{hoverProps:b,isHovered:d}}function ct(e,t){let{elementType:r="button",isDisabled:o,onPress:i,onPressStart:d,onPressEnd:u,onPressUp:p,onPressChange:b,preventFocusOnPress:E,allowFocusWhenDisabled:g,onClick:C,href:x,target:m,rel:S,type:B="button"}=e,$;r==="button"?$={type:B,disabled:o}:$={role:"button",tabIndex:o?void 0:0,href:r==="a"&&o?void 0:x,target:r==="a"?m:void 0,type:r==="input"?B:void 0,disabled:r==="input"?o:void 0,"aria-disabled":!o||r==="input"?void 0:o,rel:r==="a"?S:void 0};let{pressProps:N,isPressed:w}=rt({onPressStart:d,onPressEnd:u,onPressChange:b,onPress:i,onPressUp:p,isDisabled:o,preventFocusOnPress:E,ref:t}),{focusableProps:T}=Te.useFocusable(e,t);g&&(T.tabIndex=o?-1:T.tabIndex);let D=G(T,N,Fe(e,{labelable:!0}));return{isPressed:w,buttonProps:G($,D,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:O=>{C&&(C(O),console.warn("onClick is deprecated, please use onPress"))}})}}function dt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ke(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 Ee(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ke(Object(r),!0).forEach(function(o){dt(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ke(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}var pt=(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},Z=e=>t=>{var r=e.defaultClassName,o=Ee(Ee({},e.defaultVariants),t);for(var i in o){var d,u=(d=o[i])!==null&&d!==void 0?d:e.defaultVariants[i];if(u!=null){var p=u;typeof p=="boolean"&&(p=p===!0?"true":"false");var b=e.variantClassNames[i][p];b&&(r+=" "+b)}}for(var[E,g]of e.compoundVariants)pt(E,o,e.defaultVariants)&&(r+=" "+g);return r},ft=Z({defaultClassName:"_125pcxy0",variantClassNames:{disabled:{true:"_125pcxy1",false:"_125pcxy2"},kind:{default:"_125pcxy3",link:"_125pcxy4",confirm:"_125pcxy5",delete:"_125pcxy6",key:"_125pcxy7",icon:"_125pcxy8"},spinning:{true:"_125pcxy9",false:"_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"_125pcxyb"],[{kind:"default",spinning:!0},"_125pcxyc"],[{kind:"confirm",spinning:!0},"_125pcxyd"],[{kind:"delete",spinning:!0},"_125pcxye"],[{kind:"key",spinning:!0},"_125pcxyf"],[{disabled:!0,spinning:!1},"_125pcxyg"]]}),mt=Z({defaultClassName:"_125pcxyh",variantClassNames:{disabled:{true:"_125pcxyi",false:"_125pcxyj"},kind:{icon:"_125pcxyk",default:"_125pcxyl",delete:"_125pcxym",key:"_125pcxyn",confirm:"_125pcxyo",link:"_125pcxyp"},spinning:{true:"_125pcxyq",false:"_125pcxyr"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),bt="_125pcxyv",gt=Z({defaultClassName:"_125pcxyw",variantClassNames:{spinning:{true:"_125pcxyx",false:"_125pcxyy"}},defaultVariants:{spinning:!1},compoundVariants:[]}),vt=Z({defaultClassName:"_125pcxys",variantClassNames:{spinning:{true:"_125pcxyt",false:"_125pcxyu"}},defaultVariants:{spinning:!1},compoundVariants:[]});function yt({as:e,onClick:t,onPress:r,children:o,className:i,isDisabled:d,disabled:u,href:p,icon:b,kind:E="default",spinning:g,spinningTitle:C,title:x,...m},S){const B=e??(p?"a":"button"),$={onPress:r??t,isDisabled:u??d??g,...m},{"data-testid":N}=m,w=S||c.useRef(null),{buttonProps:T}=ct($,w),{hoverProps:D}=ut({isDisabled:$.isDisabled}),{type:O,...K}=T,ee={...G(K,D),ref:w,title:x,className:p?vt({spinning:g}):mt({disabled:d||u,kind:E,spinning:g}),...p?{href:p}:{type:O}},{t:n}=c.useContext(R.I18nContext),f=b&&c.createElement(R.Icon,{className:bt,icon:b,"aria-hidden":"true","data-testid":`${N}__${b}-icon`});let P;E==="default"||E==="icon"||E==="link"?P="dark":P="light";const l=g&&c.createElement(R.Spinner,{color:P,className:gt({spinning:g}),title:C||n("design-system:button.spinningTitle"),"data-testid":`${N}__spinner`});return c.createElement(Te.FocusRing,null,c.createElement("div",{className:R.cl(ft({disabled:d||u,kind:E,spinning:g}),i)},c.createElement(B,{...ee},f,o?c.createElement("span",null,o):"",l)))}const ce=c.forwardRef(yt);R.Metadata.set(ce,{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"'}},panellable:!0});const ht={components:[ce],description:()=>c.createElement(c.Fragment,null,c.createElement("div",{className:"sps-body-14"},"Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."),c.createElement("br",null),c.createElement("h5",null,"Variants"),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Confirm: "),"For the main call to action on a page. There should only be one Confirm button per screen."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"Disabled: "),"For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it’s disabled."),c.createElement("div",{className:"sps-body-14"},c.createElement("span",{className:"sps-text-semibold"},"With an Icon: "),"For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),examples:{basic:{label:"Basic Buttons",description:({NavigateTo:e})=>c.createElement(c.Fragment,null,c.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",c.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:y.code`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react"),R=require("@sps-woodland/core"),Te=require("@react-aria/focus"),y=require("@spscommerce/utils");function Ce(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=Ce(E),Be=typeof document<"u"?E.useLayoutEffect:()=>{};function U(e){const t=E.useRef(null);return Be(()=>{t.current=e},[e]),E.useCallback((...r)=>{const o=t.current;return o==null?void 0:o(...r)},[])}let de=new Map;function _e(e,t){if(e===t)return e;let r=de.get(e);if(r)return r(t),t;let o=de.get(t);return o?(o(e),e):t}function Pe(...e){return(...t)=>{for(let r of e)typeof r=="function"&&r(...t)}}const I=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},oe=e=>e&&"window"in e&&e.window===e?e:I(e).defaultView||window;function $e(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=$e(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function Ie(){for(var e,t,r=0,o="",i=arguments.length;r<i;r++)(e=arguments[r])&&(t=$e(e))&&(o&&(o+=" "),o+=t);return o}function G(...e){let t={...e[0]};for(let r=1;r<e.length;r++){let o=e[r];for(let i in o){let d=t[i],c=o[i];typeof d=="function"&&typeof c=="function"&&i[0]==="o"&&i[1]==="n"&&i.charCodeAt(2)>=65&&i.charCodeAt(2)<=90?t[i]=Pe(d,c):(i==="className"||i==="UNSAFE_className")&&typeof d=="string"&&typeof c=="string"?t[i]=Ie(d,c):i==="id"&&d&&c?t.id=_e(d,c):t[i]=c!==void 0?c:d}}return t}const Ke=new Set(["id"]),Ae=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Le=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),Me=/^(data-.*)$/;function Fe(e,t={}){let{labelable:r,isLink:o,propNames:i}=t,d={};for(const c in e)Object.prototype.hasOwnProperty.call(e,c)&&(Ke.has(c)||r&&Ae.has(c)||o&&Le.has(c)||i!=null&&i.has(c)||Me.test(c))&&(d[c]=e[c]);return d}function H(e){if(Ue())e.focus({preventScroll:!0});else{let t=Re(e);e.focus(),He(t)}}let W=null;function Ue(){if(W==null){W=!1;try{document.createElement("div").focus({get preventScroll(){return W=!0,!0}})}catch{}}return W}function Re(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 He(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 le(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 X(){return le(/^Mac/i)}function Ge(){return le(/^iPhone/i)}function we(){return le(/^iPad/i)||X()&&navigator.maxTouchPoints>1}function xe(){return Ge()||we()}function Ve(){return Q(/AppleWebKit/i)&&!We()}function We(){return Q(/Chrome/i)}function Se(){return Q(/Android/i)}function je(){return Q(/Firefox/i)}function V(e,t,r=!0){var o,i;let{metaKey:d,ctrlKey:c,altKey:p,shiftKey:b}=t;je()&&(!((i=window.event)===null||i===void 0||(o=i.type)===null||o===void 0)&&o.startsWith("key"))&&e.target==="_blank"&&(X()?d=!0:c=!0);let h=Ve()&&X()&&!we()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:d,ctrlKey:c,altKey:p,shiftKey:b}):new MouseEvent("click",{metaKey:d,ctrlKey:c,altKey:p,shiftKey:b,bubbles:!0,cancelable:!0});V.isOpening=r,H(e),e.dispatchEvent(h),V.isOpening=!1}V.isOpening=!1;let M=new Map,se=new Set;function pe(){if(typeof window>"u")return;function e(o){return"propertyName"in o}let t=o=>{if(!e(o)||!o.target)return;let i=M.get(o.target);i||(i=new Set,M.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=M.get(o.target);if(i&&(i.delete(o.propertyName),i.size===0&&(o.target.removeEventListener("transitioncancel",r),M.delete(o.target)),M.size===0)){for(let d of se)d();se.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",r)}typeof document<"u"&&(document.readyState!=="loading"?pe():document.addEventListener("DOMContentLoaded",pe));function Ye(e){requestAnimationFrame(()=>{M.size===0?e():se.add(e)})}function qe(){let e=E.useRef(new Map),t=E.useCallback((i,d,c,p)=>{let b=p!=null&&p.once?(...h)=>{e.current.delete(c),c(...h)}:c;e.current.set(c,{type:d,eventTarget:i,fn:b,options:p}),i.addEventListener(d,c,p)},[]),r=E.useCallback((i,d,c,p)=>{var b;let h=((b=e.current.get(c))===null||b===void 0?void 0:b.fn)||c;i.removeEventListener(d,h,p),e.current.delete(c)},[]),o=E.useCallback(()=>{e.current.forEach((i,d)=>{r(i.eventTarget,i.type,d,i.options)})},[r]);return E.useEffect(()=>o,[o]),{addGlobalListener:t,removeGlobalListener:r,removeAllGlobalListeners:o}}function ze(e,t){Be(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function fe(e){return e.mozInputSource===0&&e.isTrusted?!0:Se()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Xe(e){return!Se()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}let F="default",ie="",z=new WeakMap;function me(e){if(xe()){if(F==="default"){const t=I(e);ie=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}F="disabled"}else(e instanceof HTMLElement||e instanceof SVGElement)&&(z.set(e,e.style.userSelect),e.style.userSelect="none")}function j(e){if(xe()){if(F!=="disabled")return;F="restoring",setTimeout(()=>{Ye(()=>{if(F==="restoring"){const t=I(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ie||""),ie="",F="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&z.has(e)){let t=z.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),z.delete(e)}}const Ne=E.createContext({register:()=>{}});Ne.displayName="PressResponderContext";function Je(e,t){return t.get?t.get.call(e):t.value}function Oe(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function Qe(e,t){var r=Oe(e,t,"get");return Je(e,r)}function Ze(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function et(e,t,r){Ze(e,t),t.set(e,r)}function tt(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=Oe(e,t,"set");return tt(e,o,r),r}function nt(e){let t=E.useContext(Ne);if(t){let{register:r,...o}=t;e=G(o,e),r()}return ze(t,e.ref),e}var Y=new WeakMap;class q{continuePropagation(){be(this,Y,!1)}get shouldStopPropagation(){return Qe(this,Y)}constructor(t,r,o){et(this,Y,{writable:!0,value:void 0}),be(this,Y,!0),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}}const ge=Symbol("linkClicked");function rt(e){let{onPress:t,onPressChange:r,onPressStart:o,onPressEnd:i,onPressUp:d,isDisabled:c,isPressed:p,preventFocusOnPress:b,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:g,ref:C,...S}=nt(e),[m,x]=E.useState(!1),B=E.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:$,removeAllGlobalListeners:N}=qe(),w=U((n,f)=>{let P=B.current;if(c||P.didFirePressStart)return!1;let l=!0;if(P.isTriggeringEvent=!0,o){let v=new q("pressstart",f,n);o(v),l=v.shouldStopPropagation}return r&&r(!0),P.isTriggeringEvent=!1,P.didFirePressStart=!0,x(!0),l}),T=U((n,f,P=!0)=>{let l=B.current;if(!l.didFirePressStart)return!1;l.ignoreClickAfterPress=!0,l.didFirePressStart=!1,l.isTriggeringEvent=!0;let v=!0;if(i){let s=new q("pressend",f,n);i(s),v=s.shouldStopPropagation}if(r&&r(!1),x(!1),t&&P&&!c){let s=new q("press",f,n);t(s),v&&(v=s.shouldStopPropagation)}return l.isTriggeringEvent=!1,v}),D=U((n,f)=>{let P=B.current;if(c)return!1;if(d){P.isTriggeringEvent=!0;let l=new q("pressup",f,n);return d(l),P.isTriggeringEvent=!1,l.shouldStopPropagation}return!0}),O=U(n=>{let f=B.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&T(_(f.target,n),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,N(),g||j(f.target))}),K=U(n=>{h&&O(n)}),ee=E.useMemo(()=>{let n=B.current,f={onKeyDown(l){if(te(l.nativeEvent,l.currentTarget)&&l.currentTarget.contains(l.target)){var v;ye(l.target,l.key)&&l.preventDefault();let s=!0;if(!n.isPressed&&!l.repeat){n.target=l.currentTarget,n.isPressed=!0,s=w(l,"keyboard");let a=l.currentTarget,k=A=>{te(A,a)&&!A.repeat&&a.contains(A.target)&&n.target&&D(_(n.target,A),"keyboard")};$(I(l.currentTarget),"keyup",Pe(k,P),!0)}s&&l.stopPropagation(),l.metaKey&&X()&&((v=n.metaKeyEvents)===null||v===void 0||v.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&&!V.isOpening){let v=!0;if(c&&l.preventDefault(),!n.ignoreClickAfterPress&&!n.ignoreEmulatedMouseEvents&&!n.isPressed&&(n.pointerType==="virtual"||fe(l.nativeEvent))){!c&&!b&&H(l.currentTarget);let s=w(l,"virtual"),a=D(l,"virtual"),k=T(l,"virtual");v=s&&a&&k}n.ignoreEmulatedMouseEvents=!1,n.ignoreClickAfterPress=!1,v&&l.stopPropagation()}}},P=l=>{var v;if(n.isPressed&&n.target&&te(l,n.target)){var s;ye(l.target,l.key)&&l.preventDefault();let k=l.target;T(_(n.target,l),"keyboard",n.target.contains(k)),N(),l.key!=="Enter"&&ce(n.target)&&n.target.contains(k)&&!l[ge]&&(l[ge]=!0,V(n.target,l,!1)),n.isPressed=!1,(s=n.metaKeyEvents)===null||s===void 0||s.delete(l.key)}else if(l.key==="Meta"&&(!((v=n.metaKeyEvents)===null||v===void 0)&&v.size)){var a;let k=n.metaKeyEvents;n.metaKeyEvents=void 0;for(let A of k.values())(a=n.target)===null||a===void 0||a.dispatchEvent(new KeyboardEvent("keyup",A))}};if(typeof PointerEvent<"u"){f.onPointerDown=a=>{if(a.button!==0||!a.currentTarget.contains(a.target))return;if(Xe(a.nativeEvent)){n.pointerType="virtual";return}ne(a.currentTarget)&&a.preventDefault(),n.pointerType=a.pointerType;let k=!0;n.isPressed||(n.isPressed=!0,n.isOverTarget=!0,n.activePointerId=a.pointerId,n.target=a.currentTarget,!c&&!b&&H(a.currentTarget),g||me(n.target),k=w(a,n.pointerType),$(I(a.currentTarget),"pointermove",l,!1),$(I(a.currentTarget),"pointerup",v,!1),$(I(a.currentTarget),"pointercancel",s,!1)),k&&a.stopPropagation()},f.onMouseDown=a=>{a.currentTarget.contains(a.target)&&a.button===0&&(ne(a.currentTarget)&&a.preventDefault(),a.stopPropagation())},f.onPointerUp=a=>{!a.currentTarget.contains(a.target)||n.pointerType==="virtual"||a.button===0&&L(a,a.currentTarget)&&D(a,n.pointerType||a.pointerType)};let l=a=>{a.pointerId===n.activePointerId&&(n.target&&L(a,n.target)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,w(_(n.target,a),n.pointerType)):n.target&&n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,T(_(n.target,a),n.pointerType,!1),K(a)))},v=a=>{a.pointerId===n.activePointerId&&n.isPressed&&a.button===0&&n.target&&(L(a,n.target)&&n.pointerType!=null?T(_(n.target,a),n.pointerType):n.isOverTarget&&n.pointerType!=null&&T(_(n.target,a),n.pointerType,!1),n.isPressed=!1,n.isOverTarget=!1,n.activePointerId=null,n.pointerType=null,N(),g||j(n.target))},s=a=>{O(a)};f.onDragStart=a=>{a.currentTarget.contains(a.target)&&O(a)}}else{f.onMouseDown=s=>{if(s.button!==0||!s.currentTarget.contains(s.target))return;if(ne(s.currentTarget)&&s.preventDefault(),n.ignoreEmulatedMouseEvents){s.stopPropagation();return}n.isPressed=!0,n.isOverTarget=!0,n.target=s.currentTarget,n.pointerType=fe(s.nativeEvent)?"virtual":"mouse",!c&&!b&&H(s.currentTarget),w(s,n.pointerType)&&s.stopPropagation(),$(I(s.currentTarget),"mouseup",l,!1)},f.onMouseEnter=s=>{if(!s.currentTarget.contains(s.target))return;let a=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!0,a=w(s,n.pointerType)),a&&s.stopPropagation()},f.onMouseLeave=s=>{if(!s.currentTarget.contains(s.target))return;let a=!0;n.isPressed&&!n.ignoreEmulatedMouseEvents&&n.pointerType!=null&&(n.isOverTarget=!1,a=T(s,n.pointerType,!1),K(s)),a&&s.stopPropagation()},f.onMouseUp=s=>{s.currentTarget.contains(s.target)&&!n.ignoreEmulatedMouseEvents&&s.button===0&&D(s,n.pointerType||"mouse")};let l=s=>{if(s.button===0){if(n.isPressed=!1,N(),n.ignoreEmulatedMouseEvents){n.ignoreEmulatedMouseEvents=!1;return}n.target&&L(s,n.target)&&n.pointerType!=null?T(_(n.target,s),n.pointerType):n.target&&n.isOverTarget&&n.pointerType!=null&&T(_(n.target,s),n.pointerType,!1),n.isOverTarget=!1}};f.onTouchStart=s=>{if(!s.currentTarget.contains(s.target))return;let a=ot(s.nativeEvent);if(!a)return;n.activePointerId=a.identifier,n.ignoreEmulatedMouseEvents=!0,n.isOverTarget=!0,n.isPressed=!0,n.target=s.currentTarget,n.pointerType="touch",!c&&!b&&H(s.currentTarget),g||me(n.target),w(s,n.pointerType)&&s.stopPropagation(),$(oe(s.currentTarget),"scroll",v,!0)},f.onTouchMove=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let a=ve(s.nativeEvent,n.activePointerId),k=!0;a&&L(a,s.currentTarget)?!n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!0,k=w(s,n.pointerType)):n.isOverTarget&&n.pointerType!=null&&(n.isOverTarget=!1,k=T(s,n.pointerType,!1),K(s)),k&&s.stopPropagation()},f.onTouchEnd=s=>{if(!s.currentTarget.contains(s.target))return;if(!n.isPressed){s.stopPropagation();return}let a=ve(s.nativeEvent,n.activePointerId),k=!0;a&&L(a,s.currentTarget)&&n.pointerType!=null?(D(s,n.pointerType),k=T(s,n.pointerType)):n.isOverTarget&&n.pointerType!=null&&(k=T(s,n.pointerType,!1)),k&&s.stopPropagation(),n.isPressed=!1,n.activePointerId=null,n.isOverTarget=!1,n.ignoreEmulatedMouseEvents=!0,n.target&&!g&&j(n.target),N()},f.onTouchCancel=s=>{s.currentTarget.contains(s.target)&&(s.stopPropagation(),n.isPressed&&O(s))};let v=s=>{n.isPressed&&s.target.contains(n.target)&&O({currentTarget:n.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=s=>{s.currentTarget.contains(s.target)&&O(s)}}return f},[$,c,b,N,g,O,K,T,w,D]);return E.useEffect(()=>()=>{var n;g||j((n=B.current.target)!==null&&n!==void 0?n:void 0)},[g]),{isPressed:p||m,pressProps:G(S,ee)}}function ce(e){return e.tagName==="A"&&e.hasAttribute("href")}function te(e,t){const{key:r,code:o}=e,i=t,d=i.getAttribute("role");return(r==="Enter"||r===" "||r==="Spacebar"||o==="Space")&&!(i instanceof oe(i).HTMLInputElement&&!De(i,r)||i instanceof oe(i).HTMLTextAreaElement||i.isContentEditable)&&!((d==="link"||!d&&ce(i))&&r!=="Enter")}function ot(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function ve(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 _(e,t){return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey}}function st(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 it(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function L(e,t){let r=t.getBoundingClientRect(),o=st(e);return it(r,o)}function ne(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function ye(e,t){return e instanceof HTMLInputElement?!De(e,t):e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!ce(e)}const at=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function De(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":at.has(e.type)}let J=!1,re=0;function ae(){J=!0,setTimeout(()=>{J=!1},50)}function he(e){e.pointerType==="touch"&&ae()}function lt(){if(!(typeof document>"u"))return typeof PointerEvent<"u"?document.addEventListener("pointerup",he):document.addEventListener("touchend",ae),re++,()=>{re--,!(re>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",he):document.removeEventListener("touchend",ae))}}function ct(e){let{onHoverStart:t,onHoverChange:r,onHoverEnd:o,isDisabled:i}=e,[d,c]=E.useState(!1),p=E.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;E.useEffect(lt,[]);let{hoverProps:b,triggerHoverEnd:h}=E.useMemo(()=>{let g=(m,x)=>{if(p.pointerType=x,i||x==="touch"||p.isHovered||!m.currentTarget.contains(m.target))return;p.isHovered=!0;let B=m.currentTarget;p.target=B,t&&t({type:"hoverstart",target:B,pointerType:x}),r&&r(!0),c(!0)},C=(m,x)=>{if(p.pointerType="",p.target=null,x==="touch"||!p.isHovered)return;p.isHovered=!1;let B=m.currentTarget;o&&o({type:"hoverend",target:B,pointerType:x}),r&&r(!1),c(!1)},S={};return typeof PointerEvent<"u"?(S.onPointerEnter=m=>{J&&m.pointerType==="mouse"||g(m,m.pointerType)},S.onPointerLeave=m=>{!i&&m.currentTarget.contains(m.target)&&C(m,m.pointerType)}):(S.onTouchStart=()=>{p.ignoreEmulatedMouseEvents=!0},S.onMouseEnter=m=>{!p.ignoreEmulatedMouseEvents&&!J&&g(m,"mouse"),p.ignoreEmulatedMouseEvents=!1},S.onMouseLeave=m=>{!i&&m.currentTarget.contains(m.target)&&C(m,"mouse")}),{hoverProps:S,triggerHoverEnd:C}},[t,r,o,i,p]);return E.useEffect(()=>{i&&h({currentTarget:p.target},p.pointerType)},[i]),{hoverProps:b,isHovered:d}}function ut(e,t){let{elementType:r="button",isDisabled:o,onPress:i,onPressStart:d,onPressEnd:c,onPressUp:p,onPressChange:b,preventFocusOnPress:h,allowFocusWhenDisabled:g,onClick:C,href:S,target:m,rel:x,type:B="button"}=e,$;r==="button"?$={type:B,disabled:o}:$={role:"button",tabIndex:o?void 0:0,href:r==="a"&&o?void 0:S,target:r==="a"?m:void 0,type:r==="input"?B:void 0,disabled:r==="input"?o:void 0,"aria-disabled":!o||r==="input"?void 0:o,rel:r==="a"?x:void 0};let{pressProps:N,isPressed:w}=rt({onPressStart:d,onPressEnd:c,onPressChange:b,onPress:i,onPressUp:p,isDisabled:o,preventFocusOnPress:h,ref:t}),{focusableProps:T}=Te.useFocusable(e,t);g&&(T.tabIndex=o?-1:T.tabIndex);let D=G(T,N,Fe(e,{labelable:!0}));return{isPressed:w,buttonProps:G($,D,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:O=>{C&&(C(O),console.warn("onClick is deprecated, please use onPress"))}})}}function dt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ke(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 Ee(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ke(Object(r),!0).forEach(function(o){dt(e,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ke(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}var pt=(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},Z=e=>t=>{var r=e.defaultClassName,o=Ee(Ee({},e.defaultVariants),t);for(var i in o){var d,c=(d=o[i])!==null&&d!==void 0?d:e.defaultVariants[i];if(c!=null){var p=c;typeof p=="boolean"&&(p=p===!0?"true":"false");var b=e.variantClassNames[i][p];b&&(r+=" "+b)}}for(var[h,g]of e.compoundVariants)pt(h,o,e.defaultVariants)&&(r+=" "+g);return r},ft=Z({defaultClassName:"_125pcxy0",variantClassNames:{disabled:{true:"_125pcxy1",false:"_125pcxy2"},kind:{default:"_125pcxy3",link:"_125pcxy4",confirm:"_125pcxy5",delete:"_125pcxy6",key:"_125pcxy7",icon:"_125pcxy8"},spinning:{true:"_125pcxy9",false:"_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"_125pcxyb"],[{kind:"default",spinning:!0},"_125pcxyc"],[{kind:"confirm",spinning:!0},"_125pcxyd"],[{kind:"delete",spinning:!0},"_125pcxye"],[{kind:"key",spinning:!0},"_125pcxyf"],[{disabled:!0,spinning:!1},"_125pcxyg"]]}),mt=Z({defaultClassName:"_125pcxyh",variantClassNames:{disabled:{true:"_125pcxyi",false:"_125pcxyj"},kind:{icon:"_125pcxyk",default:"_125pcxyl",delete:"_125pcxym",key:"_125pcxyn",confirm:"_125pcxyo",link:"_125pcxyp"},spinning:{true:"_125pcxyq",false:"_125pcxyr"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),bt="_125pcxy11",gt=Z({defaultClassName:"_125pcxy12",variantClassNames:{spinning:{true:"_125pcxy13",false:"_125pcxy14"}},defaultVariants:{spinning:!1},compoundVariants:[]}),vt=Z({defaultClassName:"_125pcxys",variantClassNames:{spinning:{true:"_125pcxyt",false:"_125pcxyu"},kind:{icon:"_125pcxyv",default:"_125pcxyw",delete:"_125pcxyx",key:"_125pcxyy",confirm:"_125pcxyz",link:"_125pcxy10"}},defaultVariants:{spinning:!1},compoundVariants:[]});function yt({as:e,onClick:t,onPress:r,children:o,className:i,isDisabled:d,disabled:c,href:p,icon:b,kind:h="default",spinning:g,spinningTitle:C,title:S,...m},x){const B=e??(p?"a":"button"),$={onPress:r??t,isDisabled:c??d??g,...m},{"data-testid":N}=m,w=x||u.useRef(null),{buttonProps:T}=ut($,w),{hoverProps:D}=ct({isDisabled:$.isDisabled}),{type:O,...K}=T,ee={...G(K,D),ref:w,title:S,className:p?vt({spinning:g,kind:h}):mt({disabled:d||c,kind:h,spinning:g}),...p?{href:p}:{type:O},...m},{t:n}=u.useContext(R.I18nContext),f=b&&u.createElement(R.Icon,{className:bt,icon:b,"aria-hidden":"true","data-testid":`${N}__${b}-icon`});let P;h==="default"||h==="icon"||h==="link"?P="dark":P="light";const l=g&&u.createElement(R.Spinner,{color:P,className:gt({spinning:g}),title:C||n("design-system:button.spinningTitle"),"data-testid":`${N}__spinner`});return u.createElement(Te.FocusRing,null,u.createElement("div",{className:R.cl(ft({disabled:d||c,kind:h,spinning:g}),i)},u.createElement(B,{...ee},f,o?u.createElement("span",null,o):"",l)))}const ue=u.forwardRef(yt);R.Metadata.set(ue,{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"'}},panellable:!0});const ht={components:[ue],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:y.code`
2
2
  import { Button } from "@sps-woodland/buttons";
3
3
  import { sprinkles } from "@sps-woodland/tokens";
4
4
 
@@ -223,7 +223,7 @@
223
223
  </>
224
224
  )
225
225
  }
226
- `}}},iconButtons:{label:"Icon Buttons",description:({NavigateTo:e,Link:t})=>c.createElement(c.Fragment,null,c.createElement("p",null,"Use these for quick actions that can clearly be articulated by the use of an icon. Example: A Print button in the"," ",c.createElement(e,{to:"list-action-bar"},"List Action Bar"),". Do not use an icon that doesn't have a universally understood meaning; instead use a Basic Button or a Basic Button with an icon. ",c.createElement(t,{to:"/style-and-layout/icons/"},"View All Icons"))),examples:{standard:{description:"Standard Icon Buttons",react:y.code`
226
+ `}}},iconButtons:{label:"Icon Buttons",description:({NavigateTo:e,Link:t})=>u.createElement(u.Fragment,null,u.createElement("p",null,"Use these for quick actions that can clearly be articulated by the use of an icon. Example: A Print button in the"," ",u.createElement(e,{to:"list-action-bar"},"List Action Bar"),". Do not use an icon that doesn't have a universally understood meaning; instead use a Basic Button or a Basic Button with an icon. ",u.createElement(t,{to:"/style-and-layout/icons/"},"View All Icons"))),examples:{standard:{description:"Standard Icon Buttons",react:y.code`
227
227
  import { Button } from "@sps-woodland/buttons";
228
228
  import { sprinkles } from "@sps-woodland/tokens";
229
229
 
@@ -242,7 +242,7 @@
242
242
  </>
243
243
  )
244
244
  }
245
- `},dropdown:{description:({NavigateTo:e})=>c.createElement(c.Fragment,null,c.createElement("h5",null,"Dropdown Icon Buttons"),c.createElement("p",null,"Use these when there are several options available for action. Example: Dropdown Icon Button in a ",c.createElement(e,{to:"content-rows"},"Content Row"),".")),react:y.code`
245
+ `},dropdown:{description:({NavigateTo:e})=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Dropdown Icon Buttons"),u.createElement("p",null,"Use these when there are several options available for action. Example: Dropdown Icon Button in a ",u.createElement(e,{to:"content-rows"},"Content Row"),".")),react:y.code`
246
246
  import { SpsDropdown } from "@spscommerce/ds-react";
247
247
 
248
248
  function Component() {
@@ -266,7 +266,7 @@
266
266
  </>
267
267
  )
268
268
  }
269
- `}}},textButtons:{label:"Text Buttons",description:({NavigateTo:e})=>c.createElement("p",null,"Use for less important actions, or ones that aren't taken as frequently. They should not appear inline with other copy. Example: Advanced Search button in the"," ",c.createElement(e,{to:"list-toolbar"},"List Toolbar")),examples:{withoutIcons:{description:"Without Icons",react:y.code`
269
+ `}}},textButtons:{label:"Text Buttons",description:({NavigateTo:e})=>u.createElement("p",null,"Use for less important actions, or ones that aren't taken as frequently. They should not appear inline with other copy. Example: Advanced Search button in the"," ",u.createElement(e,{to:"list-toolbar"},"List Toolbar")),examples:{withoutIcons:{description:"Without Icons",react:y.code`
270
270
  import { Button } from "@sps-woodland/buttons";
271
271
  import { sprinkles } from "@sps-woodland/tokens";
272
272
 
@@ -302,7 +302,7 @@
302
302
  </>
303
303
  )
304
304
  }
305
- `}}},submitButtons:{label:"Submit Buttons",description:({NavigateTo:e})=>c.createElement("p",null,"Use to submit a form. There can be a number of visual variations, for example a"," ",c.createElement(e,{to:"modals"},"Modal")," uses Basic Button (Key) as its Submit Button."),examples:{basic:{react:y.code`
305
+ `}}},submitButtons:{label:"Submit Buttons",description:({NavigateTo:e})=>u.createElement("p",null,"Use to submit a form. There can be a number of visual variations, for example a"," ",u.createElement(e,{to:"modals"},"Modal")," uses Basic Button (Key) as its Submit Button."),examples:{basic:{react:y.code`
306
306
  import { Button } from "@sps-woodland/buttons";
307
307
  import { sprinkles } from "@sps-woodland/tokens";
308
308
 
@@ -333,7 +333,7 @@
333
333
  </>
334
334
  )
335
335
  }
336
- `}}},buttonGroups:{label:"Button Groups",description:({NavigateTo:e})=>c.createElement("p",null,"Use button groups when there are a number of actions that can be taken in a view. When there are multiple button types in a group, they are separated using dividers. Example: Button groups in ",c.createElement(e,{to:"List Action Bar"},"List Action Bar"),"."),examples:{basic:{description:"Basic Button Groups",react:y.code`
336
+ `}}},buttonGroups:{label:"Button Groups",description:({NavigateTo:e})=>u.createElement("p",null,"Use button groups when there are a number of actions that can be taken in a view. When there are multiple button types in a group, they are separated using dividers. Example: Button groups in ",u.createElement(e,{to:"List Action Bar"},"List Action Bar"),"."),examples:{basic:{description:"Basic Button Groups",react:y.code`
337
337
  import { Button } from "@sps-woodland/buttons";
338
338
  import { sprinkles } from "@sps-woodland/tokens";
339
339
 
@@ -423,4 +423,4 @@
423
423
  </>
424
424
  )
425
425
  }
426
- `}}}}},kt={Buttons:ht};exports.Button=ce;exports.MANIFEST=kt;
426
+ `}}}}},kt={Buttons:ht};exports.Button=ue;exports.MANIFEST=kt;
package/lib/index.es.js CHANGED
@@ -16,18 +16,20 @@ function F(e) {
16
16
  return o == null ? void 0 : o(...r);
17
17
  }, []);
18
18
  }
19
- let de = /* @__PURE__ */ new Map();
19
+ let pe = /* @__PURE__ */ new Map();
20
20
  function Ge(e, t) {
21
- if (e === t) return e;
22
- let r = de.get(e);
21
+ if (e === t)
22
+ return e;
23
+ let r = pe.get(e);
23
24
  if (r)
24
25
  return r(t), t;
25
- let o = de.get(t);
26
+ let o = pe.get(t);
26
27
  return o ? (o(e), e) : t;
27
28
  }
28
29
  function we(...e) {
29
30
  return (...t) => {
30
- for (let r of e) typeof r == "function" && r(...t);
31
+ for (let r of e)
32
+ typeof r == "function" && r(...t);
31
33
  };
32
34
  }
33
35
  const _ = (e) => {
@@ -36,15 +38,21 @@ const _ = (e) => {
36
38
  }, se = (e) => e && "window" in e && e.window === e ? e : _(e).defaultView || window;
37
39
  function xe(e) {
38
40
  var t, r, o = "";
39
- if (typeof e == "string" || typeof e == "number") o += e;
40
- else if (typeof e == "object") if (Array.isArray(e)) {
41
- var i = e.length;
42
- for (t = 0; t < i; t++) e[t] && (r = xe(e[t])) && (o && (o += " "), o += r);
43
- } else for (r in e) e[r] && (o && (o += " "), o += r);
41
+ if (typeof e == "string" || typeof e == "number")
42
+ o += e;
43
+ else if (typeof e == "object")
44
+ if (Array.isArray(e)) {
45
+ var i = e.length;
46
+ for (t = 0; t < i; t++)
47
+ e[t] && (r = xe(e[t])) && (o && (o += " "), o += r);
48
+ } else
49
+ for (r in e)
50
+ e[r] && (o && (o += " "), o += r);
44
51
  return o;
45
52
  }
46
53
  function Ve() {
47
- for (var e, t, r = 0, o = "", i = arguments.length; r < i; r++) (e = arguments[r]) && (t = xe(e)) && (o && (o += " "), o += t);
54
+ for (var e, t, r = 0, o = "", i = arguments.length; r < i; r++)
55
+ (e = arguments[r]) && (t = xe(e)) && (o && (o += " "), o += t);
48
56
  return o;
49
57
  }
50
58
  function H(...e) {
@@ -54,11 +62,11 @@ function H(...e) {
54
62
  for (let r = 1; r < e.length; r++) {
55
63
  let o = e[r];
56
64
  for (let i in o) {
57
- let d = t[i], u = o[i];
58
- typeof d == "function" && typeof u == "function" && // This is a lot faster than a regex.
65
+ let p = t[i], u = o[i];
66
+ typeof p == "function" && typeof u == "function" && // This is a lot faster than a regex.
59
67
  i[0] === "o" && i[1] === "n" && i.charCodeAt(2) >= /* 'A' */
60
68
  65 && i.charCodeAt(2) <= /* 'Z' */
61
- 90 ? t[i] = we(d, u) : (i === "className" || i === "UNSAFE_className") && typeof d == "string" && typeof u == "string" ? t[i] = Ve(d, u) : i === "id" && d && u ? t.id = Ge(d, u) : t[i] = u !== void 0 ? u : d;
69
+ 90 ? t[i] = we(p, u) : (i === "className" || i === "UNSAFE_className") && typeof p == "string" && typeof u == "string" ? t[i] = Ve(p, u) : i === "id" && p && u ? t.id = Ge(p, u) : t[i] = u !== void 0 ? u : p;
62
70
  }
63
71
  }
64
72
  return t;
@@ -80,14 +88,16 @@ const We = /* @__PURE__ */ new Set([
80
88
  "referrerPolicy"
81
89
  ]), ze = /^(data-.*)$/;
82
90
  function Xe(e, t = {}) {
83
- let { labelable: r, isLink: o, propNames: i } = t, d = {};
84
- for (const u in e) Object.prototype.hasOwnProperty.call(e, u) && (We.has(u) || r && je.has(u) || o && Ye.has(u) || i != null && i.has(u) || ze.test(u)) && (d[u] = e[u]);
85
- return d;
91
+ let { labelable: r, isLink: o, propNames: i } = t, p = {};
92
+ for (const u in e)
93
+ Object.prototype.hasOwnProperty.call(e, u) && (We.has(u) || r && je.has(u) || o && Ye.has(u) || i != null && i.has(u) || ze.test(u)) && (p[u] = e[u]);
94
+ return p;
86
95
  }
87
96
  function U(e) {
88
- if (qe()) e.focus({
89
- preventScroll: !0
90
- });
97
+ if (qe())
98
+ e.focus({
99
+ preventScroll: !0
100
+ });
91
101
  else {
92
102
  let t = Je(e);
93
103
  e.focus(), Qe(t);
@@ -161,71 +171,75 @@ function nt() {
161
171
  }
162
172
  function R(e, t, r = !0) {
163
173
  var o, i;
164
- let { metaKey: d, ctrlKey: u, altKey: p, shiftKey: b } = t;
165
- nt() && (!((i = window.event) === null || i === void 0 || (o = i.type) === null || o === void 0) && o.startsWith("key")) && e.target === "_blank" && (q() ? d = !0 : u = !0);
166
- let k = et() && q() && !Se() ? new KeyboardEvent("keydown", {
174
+ let { metaKey: p, ctrlKey: u, altKey: d, shiftKey: b } = t;
175
+ nt() && (!((i = window.event) === null || i === void 0 || (o = i.type) === null || o === void 0) && o.startsWith("key")) && e.target === "_blank" && (q() ? p = !0 : u = !0);
176
+ let h = et() && q() && !Se() ? new KeyboardEvent("keydown", {
167
177
  keyIdentifier: "Enter",
168
- metaKey: d,
178
+ metaKey: p,
169
179
  ctrlKey: u,
170
- altKey: p,
180
+ altKey: d,
171
181
  shiftKey: b
172
182
  }) : new MouseEvent("click", {
173
- metaKey: d,
183
+ metaKey: p,
174
184
  ctrlKey: u,
175
- altKey: p,
185
+ altKey: d,
176
186
  shiftKey: b,
177
187
  bubbles: !0,
178
188
  cancelable: !0
179
189
  });
180
- R.isOpening = r, U(e), e.dispatchEvent(k), R.isOpening = !1;
190
+ R.isOpening = r, U(e), e.dispatchEvent(h), R.isOpening = !1;
181
191
  }
182
192
  R.isOpening = !1;
183
193
  let L = /* @__PURE__ */ new Map(), ie = /* @__PURE__ */ new Set();
184
- function pe() {
185
- if (typeof window > "u") return;
194
+ function de() {
195
+ if (typeof window > "u")
196
+ return;
186
197
  function e(o) {
187
198
  return "propertyName" in o;
188
199
  }
189
200
  let t = (o) => {
190
- if (!e(o) || !o.target) return;
201
+ if (!e(o) || !o.target)
202
+ return;
191
203
  let i = L.get(o.target);
192
204
  i || (i = /* @__PURE__ */ new Set(), L.set(o.target, i), o.target.addEventListener("transitioncancel", r, {
193
205
  once: !0
194
206
  })), i.add(o.propertyName);
195
207
  }, r = (o) => {
196
- if (!e(o) || !o.target) return;
208
+ if (!e(o) || !o.target)
209
+ return;
197
210
  let i = L.get(o.target);
198
211
  if (i && (i.delete(o.propertyName), i.size === 0 && (o.target.removeEventListener("transitioncancel", r), L.delete(o.target)), L.size === 0)) {
199
- for (let d of ie) d();
212
+ for (let p of ie)
213
+ p();
200
214
  ie.clear();
201
215
  }
202
216
  };
203
217
  document.body.addEventListener("transitionrun", t), document.body.addEventListener("transitionend", r);
204
218
  }
205
- typeof document < "u" && (document.readyState !== "loading" ? pe() : document.addEventListener("DOMContentLoaded", pe));
219
+ typeof document < "u" && (document.readyState !== "loading" ? de() : document.addEventListener("DOMContentLoaded", de));
206
220
  function rt(e) {
207
221
  requestAnimationFrame(() => {
208
222
  L.size === 0 ? e() : ie.add(e);
209
223
  });
210
224
  }
211
225
  function ot() {
212
- let e = Q(/* @__PURE__ */ new Map()), t = Y((i, d, u, p) => {
213
- let b = p != null && p.once ? (...k) => {
214
- e.current.delete(u), u(...k);
226
+ let e = Q(/* @__PURE__ */ new Map()), t = Y((i, p, u, d) => {
227
+ let b = d != null && d.once ? (...h) => {
228
+ e.current.delete(u), u(...h);
215
229
  } : u;
216
230
  e.current.set(u, {
217
- type: d,
231
+ type: p,
218
232
  eventTarget: i,
219
233
  fn: b,
220
- options: p
221
- }), i.addEventListener(d, u, p);
222
- }, []), r = Y((i, d, u, p) => {
234
+ options: d
235
+ }), i.addEventListener(p, u, d);
236
+ }, []), r = Y((i, p, u, d) => {
223
237
  var b;
224
- let k = ((b = e.current.get(u)) === null || b === void 0 ? void 0 : b.fn) || u;
225
- i.removeEventListener(d, k, p), e.current.delete(u);
238
+ let h = ((b = e.current.get(u)) === null || b === void 0 ? void 0 : b.fn) || u;
239
+ i.removeEventListener(p, h, d), e.current.delete(u);
226
240
  }, []), o = Y(() => {
227
- e.current.forEach((i, d) => {
228
- r(i.eventTarget, i.type, d, i.options);
241
+ e.current.forEach((i, p) => {
242
+ r(i.eventTarget, i.type, p, i.options);
229
243
  });
230
244
  }, [
231
245
  r
@@ -260,11 +274,13 @@ function me(e) {
260
274
  ae = t.documentElement.style.webkitUserSelect, t.documentElement.style.webkitUserSelect = "none";
261
275
  }
262
276
  M = "disabled";
263
- } else (e instanceof HTMLElement || e instanceof SVGElement) && (z.set(e, e.style.userSelect), e.style.userSelect = "none");
277
+ } else
278
+ (e instanceof HTMLElement || e instanceof SVGElement) && (z.set(e, e.style.userSelect), e.style.userSelect = "none");
264
279
  }
265
280
  function V(e) {
266
281
  if (Ne()) {
267
- if (M !== "disabled") return;
282
+ if (M !== "disabled")
283
+ return;
268
284
  M = "restoring", setTimeout(() => {
269
285
  rt(() => {
270
286
  if (M === "restoring") {
@@ -287,7 +303,8 @@ function at(e, t) {
287
303
  return t.get ? t.get.call(e) : t.value;
288
304
  }
289
305
  function Ce(e, t, r) {
290
- if (!t.has(e)) throw new TypeError("attempted to " + r + " private field on non-instance");
306
+ if (!t.has(e))
307
+ throw new TypeError("attempted to " + r + " private field on non-instance");
291
308
  return t.get(e);
292
309
  }
293
310
  function lt(e, t) {
@@ -301,8 +318,9 @@ function ut(e, t) {
301
318
  function ct(e, t, r) {
302
319
  ut(e, t), t.set(e, r);
303
320
  }
304
- function dt(e, t, r) {
305
- if (t.set) t.set.call(e, r);
321
+ function pt(e, t, r) {
322
+ if (t.set)
323
+ t.set.call(e, r);
306
324
  else {
307
325
  if (!t.writable)
308
326
  throw new TypeError("attempted to set read only private field");
@@ -311,9 +329,9 @@ function dt(e, t, r) {
311
329
  }
312
330
  function be(e, t, r) {
313
331
  var o = Ce(e, t, "set");
314
- return dt(e, o, r), r;
332
+ return pt(e, o, r), r;
315
333
  }
316
- function pt(e) {
334
+ function dt(e) {
317
335
  let t = Ke(De);
318
336
  if (t) {
319
337
  let { register: r, ...o } = t;
@@ -343,16 +361,16 @@ function ft(e) {
343
361
  onPressChange: r,
344
362
  onPressStart: o,
345
363
  onPressEnd: i,
346
- onPressUp: d,
364
+ onPressUp: p,
347
365
  isDisabled: u,
348
- isPressed: p,
366
+ isPressed: d,
349
367
  preventFocusOnPress: b,
350
- shouldCancelOnPointerExit: k,
368
+ shouldCancelOnPointerExit: h,
351
369
  allowTextSelectionOnPress: g,
352
370
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
353
371
  ref: D,
354
372
  ...x
355
- } = pt(e), [m, w] = Be(!1), T = Q({
373
+ } = dt(e), [m, w] = Be(!1), T = Q({
356
374
  isPressed: !1,
357
375
  ignoreEmulatedMouseEvents: !1,
358
376
  ignoreClickAfterPress: !1,
@@ -364,7 +382,8 @@ function ft(e) {
364
382
  pointerType: null
365
383
  }), { addGlobalListener: $, removeAllGlobalListeners: S } = ot(), P = F((n, f) => {
366
384
  let B = T.current;
367
- if (u || B.didFirePressStart) return !1;
385
+ if (u || B.didFirePressStart)
386
+ return !1;
368
387
  let l = !0;
369
388
  if (B.isTriggeringEvent = !0, o) {
370
389
  let v = new j("pressstart", f, n);
@@ -373,7 +392,8 @@ function ft(e) {
373
392
  return r && r(!0), B.isTriggeringEvent = !1, B.didFirePressStart = !0, w(!0), l;
374
393
  }), E = F((n, f, B = !0) => {
375
394
  let l = T.current;
376
- if (!l.didFirePressStart) return !1;
395
+ if (!l.didFirePressStart)
396
+ return !1;
377
397
  l.ignoreClickAfterPress = !0, l.didFirePressStart = !1, l.isTriggeringEvent = !0;
378
398
  let v = !0;
379
399
  if (i) {
@@ -387,18 +407,19 @@ function ft(e) {
387
407
  return l.isTriggeringEvent = !1, v;
388
408
  }), O = F((n, f) => {
389
409
  let B = T.current;
390
- if (u) return !1;
391
- if (d) {
410
+ if (u)
411
+ return !1;
412
+ if (p) {
392
413
  B.isTriggeringEvent = !0;
393
414
  let l = new j("pressup", f, n);
394
- return d(l), B.isTriggeringEvent = !1, l.shouldStopPropagation;
415
+ return p(l), B.isTriggeringEvent = !1, l.shouldStopPropagation;
395
416
  }
396
417
  return !0;
397
418
  }), N = F((n) => {
398
419
  let f = T.current;
399
420
  f.isPressed && f.target && (f.isOverTarget && f.pointerType != null && E(C(f.target, n), f.pointerType, !1), f.isPressed = !1, f.isOverTarget = !1, f.activePointerId = null, f.pointerType = null, S(), g || V(f.target));
400
421
  }), I = F((n) => {
401
- k && N(n);
422
+ h && N(n);
402
423
  }), te = $e(() => {
403
424
  let n = T.current, f = {
404
425
  onKeyDown(l) {
@@ -408,21 +429,22 @@ function ft(e) {
408
429
  let s = !0;
409
430
  if (!n.isPressed && !l.repeat) {
410
431
  n.target = l.currentTarget, n.isPressed = !0, s = P(l, "keyboard");
411
- let a = l.currentTarget, h = (K) => {
432
+ let a = l.currentTarget, k = (K) => {
412
433
  ne(K, a) && !K.repeat && a.contains(K.target) && n.target && O(C(n.target, K), "keyboard");
413
434
  };
414
- $(_(l.currentTarget), "keyup", we(h, B), !0);
435
+ $(_(l.currentTarget), "keyup", we(k, B), !0);
415
436
  }
416
437
  s && l.stopPropagation(), l.metaKey && q() && ((v = n.metaKeyEvents) === null || v === void 0 || v.set(l.key, l.nativeEvent));
417
- } else l.key === "Meta" && (n.metaKeyEvents = /* @__PURE__ */ new Map());
438
+ } else
439
+ l.key === "Meta" && (n.metaKeyEvents = /* @__PURE__ */ new Map());
418
440
  },
419
441
  onClick(l) {
420
442
  if (!(l && !l.currentTarget.contains(l.target)) && l && l.button === 0 && !n.isTriggeringEvent && !R.isOpening) {
421
443
  let v = !0;
422
444
  if (u && l.preventDefault(), !n.ignoreClickAfterPress && !n.ignoreEmulatedMouseEvents && !n.isPressed && (n.pointerType === "virtual" || fe(l.nativeEvent))) {
423
445
  !u && !b && U(l.currentTarget);
424
- let s = P(l, "virtual"), a = O(l, "virtual"), h = E(l, "virtual");
425
- v = s && a && h;
446
+ let s = P(l, "virtual"), a = O(l, "virtual"), k = E(l, "virtual");
447
+ v = s && a && k;
426
448
  }
427
449
  n.ignoreEmulatedMouseEvents = !1, n.ignoreClickAfterPress = !1, v && l.stopPropagation();
428
450
  }
@@ -432,25 +454,27 @@ function ft(e) {
432
454
  if (n.isPressed && n.target && ne(l, n.target)) {
433
455
  var s;
434
456
  ye(l.target, l.key) && l.preventDefault();
435
- let h = l.target;
436
- E(C(n.target, l), "keyboard", n.target.contains(h)), S(), l.key !== "Enter" && ce(n.target) && n.target.contains(h) && !l[ge] && (l[ge] = !0, R(n.target, l, !1)), n.isPressed = !1, (s = n.metaKeyEvents) === null || s === void 0 || s.delete(l.key);
457
+ let k = l.target;
458
+ E(C(n.target, l), "keyboard", n.target.contains(k)), S(), l.key !== "Enter" && ce(n.target) && n.target.contains(k) && !l[ge] && (l[ge] = !0, R(n.target, l, !1)), n.isPressed = !1, (s = n.metaKeyEvents) === null || s === void 0 || s.delete(l.key);
437
459
  } else if (l.key === "Meta" && (!((v = n.metaKeyEvents) === null || v === void 0) && v.size)) {
438
460
  var a;
439
- let h = n.metaKeyEvents;
461
+ let k = n.metaKeyEvents;
440
462
  n.metaKeyEvents = void 0;
441
- for (let K of h.values()) (a = n.target) === null || a === void 0 || a.dispatchEvent(new KeyboardEvent("keyup", K));
463
+ for (let K of k.values())
464
+ (a = n.target) === null || a === void 0 || a.dispatchEvent(new KeyboardEvent("keyup", K));
442
465
  }
443
466
  };
444
467
  if (typeof PointerEvent < "u") {
445
468
  f.onPointerDown = (a) => {
446
- if (a.button !== 0 || !a.currentTarget.contains(a.target)) return;
469
+ if (a.button !== 0 || !a.currentTarget.contains(a.target))
470
+ return;
447
471
  if (it(a.nativeEvent)) {
448
472
  n.pointerType = "virtual";
449
473
  return;
450
474
  }
451
475
  re(a.currentTarget) && a.preventDefault(), n.pointerType = a.pointerType;
452
- let h = !0;
453
- n.isPressed || (n.isPressed = !0, n.isOverTarget = !0, n.activePointerId = a.pointerId, n.target = a.currentTarget, !u && !b && U(a.currentTarget), g || me(n.target), h = P(a, n.pointerType), $(_(a.currentTarget), "pointermove", l, !1), $(_(a.currentTarget), "pointerup", v, !1), $(_(a.currentTarget), "pointercancel", s, !1)), h && a.stopPropagation();
476
+ let k = !0;
477
+ n.isPressed || (n.isPressed = !0, n.isOverTarget = !0, n.activePointerId = a.pointerId, n.target = a.currentTarget, !u && !b && U(a.currentTarget), g || me(n.target), k = P(a, n.pointerType), $(_(a.currentTarget), "pointermove", l, !1), $(_(a.currentTarget), "pointerup", v, !1), $(_(a.currentTarget), "pointercancel", s, !1)), k && a.stopPropagation();
454
478
  }, f.onMouseDown = (a) => {
455
479
  a.currentTarget.contains(a.target) && a.button === 0 && (re(a.currentTarget) && a.preventDefault(), a.stopPropagation());
456
480
  }, f.onPointerUp = (a) => {
@@ -468,18 +492,21 @@ function ft(e) {
468
492
  };
469
493
  } else {
470
494
  f.onMouseDown = (s) => {
471
- if (s.button !== 0 || !s.currentTarget.contains(s.target)) return;
495
+ if (s.button !== 0 || !s.currentTarget.contains(s.target))
496
+ return;
472
497
  if (re(s.currentTarget) && s.preventDefault(), n.ignoreEmulatedMouseEvents) {
473
498
  s.stopPropagation();
474
499
  return;
475
500
  }
476
501
  n.isPressed = !0, n.isOverTarget = !0, n.target = s.currentTarget, n.pointerType = fe(s.nativeEvent) ? "virtual" : "mouse", !u && !b && U(s.currentTarget), P(s, n.pointerType) && s.stopPropagation(), $(_(s.currentTarget), "mouseup", l, !1);
477
502
  }, f.onMouseEnter = (s) => {
478
- if (!s.currentTarget.contains(s.target)) return;
503
+ if (!s.currentTarget.contains(s.target))
504
+ return;
479
505
  let a = !0;
480
506
  n.isPressed && !n.ignoreEmulatedMouseEvents && n.pointerType != null && (n.isOverTarget = !0, a = P(s, n.pointerType)), a && s.stopPropagation();
481
507
  }, f.onMouseLeave = (s) => {
482
- if (!s.currentTarget.contains(s.target)) return;
508
+ if (!s.currentTarget.contains(s.target))
509
+ return;
483
510
  let a = !0;
484
511
  n.isPressed && !n.ignoreEmulatedMouseEvents && n.pointerType != null && (n.isOverTarget = !1, a = E(s, n.pointerType, !1), I(s)), a && s.stopPropagation();
485
512
  }, f.onMouseUp = (s) => {
@@ -495,26 +522,30 @@ function ft(e) {
495
522
  }
496
523
  };
497
524
  f.onTouchStart = (s) => {
498
- if (!s.currentTarget.contains(s.target)) return;
525
+ if (!s.currentTarget.contains(s.target))
526
+ return;
499
527
  let a = mt(s.nativeEvent);
500
- if (!a) return;
528
+ if (!a)
529
+ return;
501
530
  n.activePointerId = a.identifier, n.ignoreEmulatedMouseEvents = !0, n.isOverTarget = !0, n.isPressed = !0, n.target = s.currentTarget, n.pointerType = "touch", !u && !b && U(s.currentTarget), g || me(n.target), P(s, n.pointerType) && s.stopPropagation(), $(se(s.currentTarget), "scroll", v, !0);
502
531
  }, f.onTouchMove = (s) => {
503
- if (!s.currentTarget.contains(s.target)) return;
532
+ if (!s.currentTarget.contains(s.target))
533
+ return;
504
534
  if (!n.isPressed) {
505
535
  s.stopPropagation();
506
536
  return;
507
537
  }
508
- let a = ve(s.nativeEvent, n.activePointerId), h = !0;
509
- a && A(a, s.currentTarget) ? !n.isOverTarget && n.pointerType != null && (n.isOverTarget = !0, h = P(s, n.pointerType)) : n.isOverTarget && n.pointerType != null && (n.isOverTarget = !1, h = E(s, n.pointerType, !1), I(s)), h && s.stopPropagation();
538
+ let a = ve(s.nativeEvent, n.activePointerId), k = !0;
539
+ a && A(a, s.currentTarget) ? !n.isOverTarget && n.pointerType != null && (n.isOverTarget = !0, k = P(s, n.pointerType)) : n.isOverTarget && n.pointerType != null && (n.isOverTarget = !1, k = E(s, n.pointerType, !1), I(s)), k && s.stopPropagation();
510
540
  }, f.onTouchEnd = (s) => {
511
- if (!s.currentTarget.contains(s.target)) return;
541
+ if (!s.currentTarget.contains(s.target))
542
+ return;
512
543
  if (!n.isPressed) {
513
544
  s.stopPropagation();
514
545
  return;
515
546
  }
516
- let a = ve(s.nativeEvent, n.activePointerId), h = !0;
517
- a && A(a, s.currentTarget) && n.pointerType != null ? (O(s, n.pointerType), h = E(s, n.pointerType)) : n.isOverTarget && n.pointerType != null && (h = E(s, n.pointerType, !1)), h && s.stopPropagation(), n.isPressed = !1, n.activePointerId = null, n.isOverTarget = !1, n.ignoreEmulatedMouseEvents = !0, n.target && !g && V(n.target), S();
547
+ let a = ve(s.nativeEvent, n.activePointerId), k = !0;
548
+ a && A(a, s.currentTarget) && n.pointerType != null ? (O(s, n.pointerType), k = E(s, n.pointerType)) : n.isOverTarget && n.pointerType != null && (k = E(s, n.pointerType, !1)), k && s.stopPropagation(), n.isPressed = !1, n.activePointerId = null, n.isOverTarget = !1, n.ignoreEmulatedMouseEvents = !0, n.target && !g && V(n.target), S();
518
549
  }, f.onTouchCancel = (s) => {
519
550
  s.currentTarget.contains(s.target) && (s.stopPropagation(), n.isPressed && N(s));
520
551
  };
@@ -550,7 +581,7 @@ function ft(e) {
550
581
  }, [
551
582
  g
552
583
  ]), {
553
- isPressed: p || m,
584
+ isPressed: d || m,
554
585
  pressProps: H(x, te)
555
586
  };
556
587
  }
@@ -558,9 +589,9 @@ function ce(e) {
558
589
  return e.tagName === "A" && e.hasAttribute("href");
559
590
  }
560
591
  function ne(e, t) {
561
- const { key: r, code: o } = e, i = t, d = i.getAttribute("role");
592
+ const { key: r, code: o } = e, i = t, p = i.getAttribute("role");
562
593
  return (r === "Enter" || r === " " || r === "Spacebar" || o === "Space") && !(i instanceof se(i).HTMLInputElement && !_e(i, r) || i instanceof se(i).HTMLTextAreaElement || i.isContentEditable) && // Links should only trigger with Enter key
563
- !((d === "link" || !d && ce(i)) && r !== "Enter");
594
+ !((p === "link" || !p && ce(i)) && r !== "Enter");
564
595
  }
565
596
  function mt(e) {
566
597
  const { targetTouches: t } = e;
@@ -570,7 +601,8 @@ function ve(e, t) {
570
601
  const r = e.changedTouches;
571
602
  for (let o = 0; o < r.length; o++) {
572
603
  const i = r[o];
573
- if (i.identifier === t) return i;
604
+ if (i.identifier === t)
605
+ return i;
574
606
  }
575
607
  return null;
576
608
  }
@@ -635,26 +667,28 @@ function yt() {
635
667
  };
636
668
  }
637
669
  function ht(e) {
638
- let { onHoverStart: t, onHoverChange: r, onHoverEnd: o, isDisabled: i } = e, [d, u] = Be(!1), p = Q({
670
+ let { onHoverStart: t, onHoverChange: r, onHoverEnd: o, isDisabled: i } = e, [p, u] = Be(!1), d = Q({
639
671
  isHovered: !1,
640
672
  ignoreEmulatedMouseEvents: !1,
641
673
  pointerType: "",
642
674
  target: null
643
675
  }).current;
644
676
  X(yt, []);
645
- let { hoverProps: b, triggerHoverEnd: k } = $e(() => {
677
+ let { hoverProps: b, triggerHoverEnd: h } = $e(() => {
646
678
  let g = (m, w) => {
647
- if (p.pointerType = w, i || w === "touch" || p.isHovered || !m.currentTarget.contains(m.target)) return;
648
- p.isHovered = !0;
679
+ if (d.pointerType = w, i || w === "touch" || d.isHovered || !m.currentTarget.contains(m.target))
680
+ return;
681
+ d.isHovered = !0;
649
682
  let T = m.currentTarget;
650
- p.target = T, t && t({
683
+ d.target = T, t && t({
651
684
  type: "hoverstart",
652
685
  target: T,
653
686
  pointerType: w
654
687
  }), r && r(!0), u(!0);
655
688
  }, D = (m, w) => {
656
- if (p.pointerType = "", p.target = null, w === "touch" || !p.isHovered) return;
657
- p.isHovered = !1;
689
+ if (d.pointerType = "", d.target = null, w === "touch" || !d.isHovered)
690
+ return;
691
+ d.isHovered = !1;
658
692
  let T = m.currentTarget;
659
693
  o && o({
660
694
  type: "hoverend",
@@ -667,9 +701,9 @@ function ht(e) {
667
701
  }, x.onPointerLeave = (m) => {
668
702
  !i && m.currentTarget.contains(m.target) && D(m, m.pointerType);
669
703
  }) : (x.onTouchStart = () => {
670
- p.ignoreEmulatedMouseEvents = !0;
704
+ d.ignoreEmulatedMouseEvents = !0;
671
705
  }, x.onMouseEnter = (m) => {
672
- !p.ignoreEmulatedMouseEvents && !J && g(m, "mouse"), p.ignoreEmulatedMouseEvents = !1;
706
+ !d.ignoreEmulatedMouseEvents && !J && g(m, "mouse"), d.ignoreEmulatedMouseEvents = !1;
673
707
  }, x.onMouseLeave = (m) => {
674
708
  !i && m.currentTarget.contains(m.target) && D(m, "mouse");
675
709
  }), {
@@ -681,17 +715,17 @@ function ht(e) {
681
715
  r,
682
716
  o,
683
717
  i,
684
- p
718
+ d
685
719
  ]);
686
720
  return X(() => {
687
- i && k({
688
- currentTarget: p.target
689
- }, p.pointerType);
721
+ i && h({
722
+ currentTarget: d.target
723
+ }, d.pointerType);
690
724
  }, [
691
725
  i
692
726
  ]), {
693
727
  hoverProps: b,
694
- isHovered: d
728
+ isHovered: p
695
729
  };
696
730
  }
697
731
  function kt(e, t) {
@@ -699,11 +733,11 @@ function kt(e, t) {
699
733
  elementType: r = "button",
700
734
  isDisabled: o,
701
735
  onPress: i,
702
- onPressStart: d,
736
+ onPressStart: p,
703
737
  onPressEnd: u,
704
- onPressUp: p,
738
+ onPressUp: d,
705
739
  onPressChange: b,
706
- preventFocusOnPress: k,
740
+ preventFocusOnPress: h,
707
741
  allowFocusWhenDisabled: g,
708
742
  // @ts-ignore
709
743
  onClick: D,
@@ -726,13 +760,13 @@ function kt(e, t) {
726
760
  rel: r === "a" ? w : void 0
727
761
  };
728
762
  let { pressProps: S, isPressed: P } = ft({
729
- onPressStart: d,
763
+ onPressStart: p,
730
764
  onPressEnd: u,
731
765
  onPressChange: b,
732
766
  onPress: i,
733
- onPressUp: p,
767
+ onPressUp: d,
734
768
  isDisabled: o,
735
- preventFocusOnPress: k,
769
+ preventFocusOnPress: h,
736
770
  ref: t
737
771
  }), { focusableProps: E } = He(e, t);
738
772
  g && (E.tabIndex = o ? -1 : E.tabIndex);
@@ -791,48 +825,49 @@ var Tt = (e, t, r) => {
791
825
  }, ee = (e) => (t) => {
792
826
  var r = e.defaultClassName, o = Ee(Ee({}, e.defaultVariants), t);
793
827
  for (var i in o) {
794
- var d, u = (d = o[i]) !== null && d !== void 0 ? d : e.defaultVariants[i];
828
+ var p, u = (p = o[i]) !== null && p !== void 0 ? p : e.defaultVariants[i];
795
829
  if (u != null) {
796
- var p = u;
797
- typeof p == "boolean" && (p = p === !0 ? "true" : "false");
830
+ var d = u;
831
+ typeof d == "boolean" && (d = d === !0 ? "true" : "false");
798
832
  var b = (
799
833
  // @ts-expect-error
800
- e.variantClassNames[i][p]
834
+ e.variantClassNames[i][d]
801
835
  );
802
836
  b && (r += " " + b);
803
837
  }
804
838
  }
805
- for (var [k, g] of e.compoundVariants)
806
- Tt(k, o, e.defaultVariants) && (r += " " + g);
839
+ for (var [h, g] of e.compoundVariants)
840
+ Tt(h, o, e.defaultVariants) && (r += " " + g);
807
841
  return r;
808
- }, Bt = ee({ defaultClassName: "_125pcxy0", variantClassNames: { disabled: { true: "_125pcxy1", false: "_125pcxy2" }, kind: { default: "_125pcxy3", link: "_125pcxy4", confirm: "_125pcxy5", delete: "_125pcxy6", key: "_125pcxy7", icon: "_125pcxy8" }, spinning: { true: "_125pcxy9", false: "_125pcxya" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [[{ kind: "icon", spinning: !0 }, "_125pcxyb"], [{ kind: "default", spinning: !0 }, "_125pcxyc"], [{ kind: "confirm", spinning: !0 }, "_125pcxyd"], [{ kind: "delete", spinning: !0 }, "_125pcxye"], [{ kind: "key", spinning: !0 }, "_125pcxyf"], [{ disabled: !0, spinning: !1 }, "_125pcxyg"]] }), $t = ee({ defaultClassName: "_125pcxyh", variantClassNames: { disabled: { true: "_125pcxyi", false: "_125pcxyj" }, kind: { icon: "_125pcxyk", default: "_125pcxyl", delete: "_125pcxym", key: "_125pcxyn", confirm: "_125pcxyo", link: "_125pcxyp" }, spinning: { true: "_125pcxyq", false: "_125pcxyr" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [] }), Pt = "_125pcxyv", wt = ee({ defaultClassName: "_125pcxyw", variantClassNames: { spinning: { true: "_125pcxyx", false: "_125pcxyy" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), xt = ee({ defaultClassName: "_125pcxys", variantClassNames: { spinning: { true: "_125pcxyt", false: "_125pcxyu" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
842
+ }, Bt = ee({ defaultClassName: "_125pcxy0", variantClassNames: { disabled: { true: "_125pcxy1", false: "_125pcxy2" }, kind: { default: "_125pcxy3", link: "_125pcxy4", confirm: "_125pcxy5", delete: "_125pcxy6", key: "_125pcxy7", icon: "_125pcxy8" }, spinning: { true: "_125pcxy9", false: "_125pcxya" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [[{ kind: "icon", spinning: !0 }, "_125pcxyb"], [{ kind: "default", spinning: !0 }, "_125pcxyc"], [{ kind: "confirm", spinning: !0 }, "_125pcxyd"], [{ kind: "delete", spinning: !0 }, "_125pcxye"], [{ kind: "key", spinning: !0 }, "_125pcxyf"], [{ disabled: !0, spinning: !1 }, "_125pcxyg"]] }), $t = ee({ defaultClassName: "_125pcxyh", variantClassNames: { disabled: { true: "_125pcxyi", false: "_125pcxyj" }, kind: { icon: "_125pcxyk", default: "_125pcxyl", delete: "_125pcxym", key: "_125pcxyn", confirm: "_125pcxyo", link: "_125pcxyp" }, spinning: { true: "_125pcxyq", false: "_125pcxyr" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [] }), Pt = "_125pcxy11", wt = ee({ defaultClassName: "_125pcxy12", variantClassNames: { spinning: { true: "_125pcxy13", false: "_125pcxy14" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), xt = ee({ defaultClassName: "_125pcxys", variantClassNames: { spinning: { true: "_125pcxyt", false: "_125pcxyu" }, kind: { icon: "_125pcxyv", default: "_125pcxyw", delete: "_125pcxyx", key: "_125pcxyy", confirm: "_125pcxyz", link: "_125pcxy10" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
809
843
  function St({
810
844
  as: e,
811
845
  onClick: t,
812
846
  onPress: r,
813
847
  children: o,
814
848
  className: i,
815
- isDisabled: d,
849
+ isDisabled: p,
816
850
  disabled: u,
817
- href: p,
851
+ href: d,
818
852
  icon: b,
819
- kind: k = "default",
853
+ kind: h = "default",
820
854
  spinning: g,
821
855
  spinningTitle: D,
822
856
  title: x,
823
857
  ...m
824
858
  }, w) {
825
- const T = e ?? (p ? "a" : "button"), $ = {
859
+ const T = e ?? (d ? "a" : "button"), $ = {
826
860
  onPress: r ?? t,
827
861
  // the button element should be disabled if the button is marked as disabled or spinning
828
- isDisabled: u ?? d ?? g,
862
+ isDisabled: u ?? p ?? g,
829
863
  ...m
830
864
  }, { "data-testid": S } = m, P = w || c.useRef(null), { buttonProps: E } = kt($, P), { hoverProps: O } = ht({ isDisabled: $.isDisabled }), { type: N, ...I } = E, te = {
831
865
  ...H(I, O),
832
866
  ref: P,
833
867
  title: x,
834
- className: p ? xt({ spinning: g }) : $t({ disabled: d || u, kind: k, spinning: g }),
835
- ...p ? { href: p } : { type: N }
868
+ className: d ? xt({ spinning: g, kind: h }) : $t({ disabled: p || u, kind: h, spinning: g }),
869
+ ...d ? { href: d } : { type: N },
870
+ ...m
836
871
  }, { t: n } = c.useContext(Le), f = b && /* @__PURE__ */ c.createElement(
837
872
  Ue,
838
873
  {
@@ -843,7 +878,7 @@ function St({
843
878
  }
844
879
  );
845
880
  let B;
846
- k === "default" || k === "icon" || k === "link" ? B = "dark" : B = "light";
881
+ h === "default" || h === "icon" || h === "link" ? B = "dark" : B = "light";
847
882
  const l = g && /* @__PURE__ */ c.createElement(
848
883
  Me,
849
884
  {
@@ -858,8 +893,8 @@ function St({
858
893
  {
859
894
  className: Fe(
860
895
  Bt({
861
- disabled: d || u,
862
- kind: k,
896
+ disabled: p || u,
897
+ kind: h,
863
898
  spinning: g
864
899
  }),
865
900
  i
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- ._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}._125pcxy3{background:#e9e9ea;border-color:#d2d4d4;color:#4b5356}._125pcxy3:hover{background:#d2d4d4}._125pcxy4{background:none transparent;border:0;color:#027db8}._125pcxy4:hover{background:none transparent;color:#08638d;text-decoration:none}._125pcxy5{background:#027db8;border-color:#08638d;color:#fff}._125pcxy5:hover{background:#08638d}._125pcxy6{background:#de012e;border-color:#a30d2d;color:#fff}._125pcxy6:hover{background:#a30d2d}._125pcxy7{background:#4b5356;border-color:#1f282c;color:#fff}._125pcxy7:hover{background:#1f282c}._125pcxy8{background:transparent;border-color:transparent;color:#4b5356}._125pcxy8:hover{background-color:#d2d4d4;border-color:#d2d4d4}._125pcxy9{color:transparent!important;cursor:not-allowed}._125pcxyb{background:#e9e9ea;border-color:#d2d4d4}._125pcxyb:hover,._125pcxyc:hover{background:#e9e9ea}._125pcxyd:hover{background:#027db8}._125pcxye:hover{background:#de012e}._125pcxyf:hover{background:#4b5356}._125pcxyg{background:#fff!important;border-color:#d2d4d4!important;color:#717779!important;cursor:not-allowed}._125pcxyg:hover{background:#fff}._125pcxyh{background:none transparent;border:0 none;color:inherit;display:block;font-size:inherit;font-weight:inherit;margin:0;text-decoration:none;padding:.5rem 1rem}._125pcxyh:hover{text-decoration:none}._125pcxyi{cursor:not-allowed!important}._125pcxyk{padding:.25rem .5rem}._125pcxyp{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}._125pcxyq{cursor:not-allowed!important}._125pcxys{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}._125pcxys:hover{text-decoration:none;color:inherit}._125pcxyt{cursor:not-allowed}._125pcxyv{line-height:0!important;position:relative}._125pcxyv:before{font-size:.875rem;line-height:0;position:relative;top:.125rem}._125pcxyv:not(:last-child){margin-right:.5rem}._125pcxyw{left:50%;margin:-.875rem -.4375rem;position:absolute}._125pcxyx{cursor:not-allowed;display:inline}._125pcxyy{display:none}._125pcxyw>i{border-width:.125rem;height:.875rem;width:.875rem}
1
+ ._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}._125pcxy3{background:#e9e9ea;border-color:#d2d4d4;color:#4b5356}._125pcxy3:hover{background:#d2d4d4}._125pcxy4{background:none transparent;border:0;color:#027db8}._125pcxy4:hover{background:none transparent;color:#08638d;text-decoration:none}._125pcxy5{background:#027db8;border-color:#08638d;color:#fff}._125pcxy5:hover{background:#08638d}._125pcxy6{background:#de012e;border-color:#a30d2d;color:#fff}._125pcxy6:hover{background:#a30d2d}._125pcxy7{background:#4b5356;border-color:#1f282c;color:#fff}._125pcxy7:hover{background:#1f282c}._125pcxy8{background:transparent;border-color:transparent;color:#4b5356}._125pcxy8:hover{background-color:#d2d4d4;border-color:#d2d4d4}._125pcxy9{color:transparent!important;cursor:not-allowed}._125pcxyb{background:#e9e9ea;border-color:#d2d4d4}._125pcxyb:hover,._125pcxyc:hover{background:#e9e9ea}._125pcxyd:hover{background:#027db8}._125pcxye:hover{background:#de012e}._125pcxyf:hover{background:#4b5356}._125pcxyg{background:#fff!important;border-color:#d2d4d4!important;color:#717779!important;cursor:not-allowed}._125pcxyg:hover{background:#fff}._125pcxyh{background:none transparent;border:0 none;color:inherit;display:block;font-size:inherit;font-weight:inherit;margin:0;text-decoration:none;padding:.5rem 1rem}._125pcxyh:hover{text-decoration:none}._125pcxyi{cursor:not-allowed!important}._125pcxyk{padding:.25rem .5rem}._125pcxyp{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}._125pcxyq{cursor:not-allowed!important}._125pcxys{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}._125pcxys:hover{text-decoration:none;color:inherit}._125pcxyt{cursor:not-allowed}._125pcxyv{padding:.25rem .5rem}._125pcxy11{line-height:0!important;position:relative}._125pcxy11:before{font-size:.875rem;line-height:0;position:relative;top:.125rem}._125pcxy11:not(:last-child){margin-right:.5rem}._125pcxy12{left:50%;margin:-.875rem -.4375rem;position:absolute}._125pcxy13{cursor:not-allowed;display:inline}._125pcxy14{display:none}._125pcxy12>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.10.4",
4
+ "version": "8.11.1",
5
5
  "author": "SPS Commerce",
6
6
  "license": "UNLICENSED",
7
7
  "repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/buttons",
@@ -30,8 +30,8 @@
30
30
  "@spscommerce/utils": "^7.0.0",
31
31
  "react": "^16.9.0",
32
32
  "react-dom": "^16.9.0",
33
- "@sps-woodland/core": "8.10.4",
34
- "@sps-woodland/tokens": "8.10.4"
33
+ "@sps-woodland/core": "8.11.1",
34
+ "@sps-woodland/tokens": "8.11.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@react-aria/button": "^3.3.5",
@@ -42,8 +42,8 @@
42
42
  "@vanilla-extract/recipes": "^0.2.5",
43
43
  "react": "^16.9.0",
44
44
  "react-dom": "^16.9.0",
45
- "@sps-woodland/core": "8.10.4",
46
- "@sps-woodland/tokens": "8.10.4"
45
+ "@sps-woodland/core": "8.11.1",
46
+ "@sps-woodland/tokens": "8.11.1"
47
47
  },
48
48
  "dependencies": {
49
49
  "@react-aria/button": "^3.7.0",