@sps-woodland/buttons 8.3.2 → 8.4.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.
@@ -9,6 +9,6 @@ interface ButtonVariantDefinitions extends VariantDefinitions {
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
11
  export declare const linkButton: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<Pick<ButtonVariantDefinitions, "spinning">>;
12
- export declare const buttonIcon: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<Pick<ButtonVariantDefinitions, "kind">>;
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.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react"),H=require("@sps-woodland/core"),g=require("@spscommerce/utils"),We=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function He(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const de=We(v),d=He(v);function Oe(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=Oe(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function ze(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=Oe(e))&&(r&&(r+=" "),r+=t);return r}const pe=typeof document<"u"?de.default.useLayoutEffect:()=>{};function U(e){const t=v.useRef(null);return pe(()=>{t.current=e},[e]),v.useCallback((...n)=>{const r=t.current;return r==null?void 0:r(...n)},[])}let ye=new Map;function Ye(e,t){if(e===t)return e;let n=ye.get(e);if(n)return n(t),t;let r=ye.get(t);return r?(r(e),e):t}function De(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const S=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},j=e=>e&&"window"in e&&e.window===e?e:S(e).defaultView||window;function W(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let s in r){let l=t[s],c=r[s];typeof l=="function"&&typeof c=="function"&&s[0]==="o"&&s[1]==="n"&&s.charCodeAt(2)>=65&&s.charCodeAt(2)<=90?t[s]=De(l,c):(s==="className"||s==="UNSAFE_className")&&typeof l=="string"&&typeof c=="string"?t[s]=ze(l,c):s==="id"&&l&&c?t.id=Ye(l,c):t[s]=c!==void 0?c:l}}return t}const qe=new Set(["id"]),Xe=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Je=new Set(["href","target","rel","download","ping","referrerPolicy"]),Qe=/^(data-.*)$/;function Ze(e,t={}){let{labelable:n,isLink:r,propNames:s}=t,l={};for(const c in e)Object.prototype.hasOwnProperty.call(e,c)&&(qe.has(c)||n&&Xe.has(c)||r&&Je.has(c)||(s==null?void 0:s.has(c))||Qe.test(c))&&(l[c]=e[c]);return l}function K(e){if(et())e.focus({preventScroll:!0});else{let t=tt(e);e.focus(),nt(t)}}let Q=null;function et(){if(Q==null){Q=!1;try{document.createElement("div").focus({get preventScroll(){return Q=!0,!0}})}catch{}}return Q}function tt(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function nt(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function oe(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(n=>e.test(n.brand)))||e.test(window.navigator.userAgent)}function fe(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 Y(){return fe(/^Mac/i)}function rt(){return fe(/^iPhone/i)}function Ce(){return fe(/^iPad/i)||Y()&&navigator.maxTouchPoints>1}function _e(){return rt()||Ce()}function ot(){return oe(/AppleWebKit/i)&&!st()}function st(){return oe(/Chrome/i)}function Le(){return oe(/Android/i)}function at(){return oe(/Firefox/i)}function q(e,t,n=!0){var r,s;let{metaKey:l,ctrlKey:c,altKey:m,shiftKey:p}=t;at()&&((s=window.event)===null||s===void 0||(r=s.type)===null||r===void 0?void 0:r.startsWith("key"))&&e.target==="_blank"&&(Y()?l=!0:c=!0);let $=ot()&&Y()&&!Ce()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:l,ctrlKey:c,altKey:m,shiftKey:p}):new MouseEvent("click",{metaKey:l,ctrlKey:c,altKey:m,shiftKey:p,bubbles:!0,cancelable:!0});q.isOpening=n,K(e),e.dispatchEvent($),q.isOpening=!1}q.isOpening=!1;let V=new Map,ie=new Set;function he(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{if(!e(r)||!r.target)return;let s=V.get(r.target);s||(s=new Set,V.set(r.target,s),r.target.addEventListener("transitioncancel",n,{once:!0})),s.add(r.propertyName)},n=r=>{if(!e(r)||!r.target)return;let s=V.get(r.target);if(!!s&&(s.delete(r.propertyName),s.size===0&&(r.target.removeEventListener("transitioncancel",n),V.delete(r.target)),V.size===0)){for(let l of ie)l();ie.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?he():document.addEventListener("DOMContentLoaded",he));function Ke(e){requestAnimationFrame(()=>{V.size===0?e():ie.add(e)})}function it(){let e=v.useRef(new Map),t=v.useCallback((s,l,c,m)=>{let p=m!=null&&m.once?(...$)=>{e.current.delete(c),c(...$)}:c;e.current.set(c,{type:l,eventTarget:s,fn:p,options:m}),s.addEventListener(l,c,m)},[]),n=v.useCallback((s,l,c,m)=>{var p;let $=((p=e.current.get(c))===null||p===void 0?void 0:p.fn)||c;s.removeEventListener(l,$,m),e.current.delete(c)},[]),r=v.useCallback(()=>{e.current.forEach((s,l)=>{n(s.eventTarget,s.type,l,s.options)})},[n]);return v.useEffect(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}function Ie(e,t){pe(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function le(e){return e.mozInputSource===0&&e.isTrusted?!0:Le()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function lt(e){return!Le()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function ct(e,t){return t.get?t.get.call(e):t.value}function Me(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function ut(e,t){var n=Me(e,t,"get");return ct(e,n)}function dt(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pt(e,t,n){dt(e,t),t.set(e,n)}function ft(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}function $e(e,t,n){var r=Me(e,t,"set");return ft(e,r,n),n}let G="default",ce="",ne=new WeakMap;function ke(e){if(_e()){if(G==="default"){const t=S(e);ce=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}G="disabled"}else(e instanceof HTMLElement||e instanceof SVGElement)&&(ne.set(e,e.style.userSelect),e.style.userSelect="none")}function Z(e){if(_e()){if(G!=="disabled")return;G="restoring",setTimeout(()=>{Ke(()=>{if(G==="restoring"){const t=S(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ce||""),ce="",G="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&ne.has(e)){let t=ne.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),ne.delete(e)}}const Ae=de.default.createContext({register:()=>{}});Ae.displayName="PressResponderContext";function mt(e){let t=v.useContext(Ae);if(t){let{register:n,...r}=t;e=W(r,e),n()}return Ie(t,e.ref),e}var ee=new WeakMap;class te{continuePropagation(){$e(this,ee,!1)}get shouldStopPropagation(){return ut(this,ee)}constructor(t,n,r){pt(this,ee,{writable:!0,value:void 0}),$e(this,ee,!0),this.type=t,this.pointerType=n,this.target=r.currentTarget,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.ctrlKey=r.ctrlKey,this.altKey=r.altKey}}const we=Symbol("linkClicked");function bt(e){let{onPress:t,onPressChange:n,onPressStart:r,onPressEnd:s,onPressUp:l,isDisabled:c,isPressed:m,preventFocusOnPress:p,shouldCancelOnPointerExit:$,allowTextSelectionOnPress:k,ref:M,...C}=mt(e),[_,A]=v.useState(!1),T=v.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:w,removeAllGlobalListeners:O}=it(),E=U((o,f)=>{let N=T.current;if(c||N.didFirePressStart)return!1;let u=!0;if(N.isTriggeringEvent=!0,r){let b=new te("pressstart",f,o);r(b),u=b.shouldStopPropagation}return n&&n(!0),N.isTriggeringEvent=!1,N.didFirePressStart=!0,A(!0),u}),y=U((o,f,N=!0)=>{let u=T.current;if(!u.didFirePressStart)return!1;u.ignoreClickAfterPress=!0,u.didFirePressStart=!1,u.isTriggeringEvent=!0;let b=!0;if(s){let a=new te("pressend",f,o);s(a),b=a.shouldStopPropagation}if(n&&n(!1),A(!1),t&&N&&!c){let a=new te("press",f,o);t(a),b&&(b=a.shouldStopPropagation)}return u.isTriggeringEvent=!1,b}),P=U((o,f)=>{let N=T.current;if(c)return!1;if(l){N.isTriggeringEvent=!0;let u=new te("pressup",f,o);return l(u),N.isTriggeringEvent=!1,u.shouldStopPropagation}return!0}),B=U(o=>{let f=T.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&y(D(f.target,o),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,O(),k||Z(f.target))}),L=U(o=>{$&&B(o)}),je=v.useMemo(()=>{let o=T.current,f={onKeyDown(u){if(se(u.nativeEvent,u.currentTarget)&&u.currentTarget.contains(u.target)){var b;Te(u.target,u.key)&&u.preventDefault();let a=!0;if(!o.isPressed&&!u.repeat){o.target=u.currentTarget,o.isPressed=!0,a=E(u,"keyboard");let i=u.currentTarget,h=F=>{se(F,i)&&!F.repeat&&i.contains(F.target)&&o.target&&P(D(o.target,F),"keyboard")};w(S(u.currentTarget),"keyup",De(h,N),!0)}a&&u.stopPropagation(),u.metaKey&&Y()&&((b=o.metaKeyEvents)===null||b===void 0||b.set(u.key,u.nativeEvent))}else u.key==="Meta"&&(o.metaKeyEvents=new Map)},onClick(u){if(!(u&&!u.currentTarget.contains(u.target))&&u&&u.button===0&&!o.isTriggeringEvent&&!q.isOpening){let b=!0;if(c&&u.preventDefault(),!o.ignoreClickAfterPress&&!o.ignoreEmulatedMouseEvents&&!o.isPressed&&(o.pointerType==="virtual"||le(u.nativeEvent))){!c&&!p&&K(u.currentTarget);let a=E(u,"virtual"),i=P(u,"virtual"),h=y(u,"virtual");b=a&&i&&h}o.ignoreEmulatedMouseEvents=!1,o.ignoreClickAfterPress=!1,b&&u.stopPropagation()}}},N=u=>{var b;if(o.isPressed&&o.target&&se(u,o.target)){var a;Te(u.target,u.key)&&u.preventDefault();let h=u.target;y(D(o.target,u),"keyboard",o.target.contains(h)),O(),u.key!=="Enter"&&me(o.target)&&o.target.contains(h)&&!u[we]&&(u[we]=!0,q(o.target,u,!1)),o.isPressed=!1,(a=o.metaKeyEvents)===null||a===void 0||a.delete(u.key)}else if(u.key==="Meta"&&((b=o.metaKeyEvents)===null||b===void 0?void 0:b.size)){var i;let h=o.metaKeyEvents;o.metaKeyEvents=void 0;for(let F of h.values())(i=o.target)===null||i===void 0||i.dispatchEvent(new KeyboardEvent("keyup",F))}};if(typeof PointerEvent<"u"){f.onPointerDown=i=>{if(i.button!==0||!i.currentTarget.contains(i.target))return;if(lt(i.nativeEvent)){o.pointerType="virtual";return}ae(i.currentTarget)&&i.preventDefault(),o.pointerType=i.pointerType;let h=!0;o.isPressed||(o.isPressed=!0,o.isOverTarget=!0,o.activePointerId=i.pointerId,o.target=i.currentTarget,!c&&!p&&K(i.currentTarget),k||ke(o.target),h=E(i,o.pointerType),w(S(i.currentTarget),"pointermove",u,!1),w(S(i.currentTarget),"pointerup",b,!1),w(S(i.currentTarget),"pointercancel",a,!1)),h&&i.stopPropagation()},f.onMouseDown=i=>{!i.currentTarget.contains(i.target)||i.button===0&&(ae(i.currentTarget)&&i.preventDefault(),i.stopPropagation())},f.onPointerUp=i=>{!i.currentTarget.contains(i.target)||o.pointerType==="virtual"||i.button===0&&R(i,i.currentTarget)&&P(i,o.pointerType||i.pointerType)};let u=i=>{i.pointerId===o.activePointerId&&(o.target&&R(i,o.target)?!o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!0,E(D(o.target,i),o.pointerType)):o.target&&o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!1,y(D(o.target,i),o.pointerType,!1),L(i)))},b=i=>{i.pointerId===o.activePointerId&&o.isPressed&&i.button===0&&o.target&&(R(i,o.target)&&o.pointerType!=null?y(D(o.target,i),o.pointerType):o.isOverTarget&&o.pointerType!=null&&y(D(o.target,i),o.pointerType,!1),o.isPressed=!1,o.isOverTarget=!1,o.activePointerId=null,o.pointerType=null,O(),k||Z(o.target))},a=i=>{B(i)};f.onDragStart=i=>{!i.currentTarget.contains(i.target)||B(i)}}else{f.onMouseDown=a=>{if(a.button!==0||!a.currentTarget.contains(a.target))return;if(ae(a.currentTarget)&&a.preventDefault(),o.ignoreEmulatedMouseEvents){a.stopPropagation();return}o.isPressed=!0,o.isOverTarget=!0,o.target=a.currentTarget,o.pointerType=le(a.nativeEvent)?"virtual":"mouse",!c&&!p&&K(a.currentTarget),E(a,o.pointerType)&&a.stopPropagation(),w(S(a.currentTarget),"mouseup",u,!1)},f.onMouseEnter=a=>{if(!a.currentTarget.contains(a.target))return;let i=!0;o.isPressed&&!o.ignoreEmulatedMouseEvents&&o.pointerType!=null&&(o.isOverTarget=!0,i=E(a,o.pointerType)),i&&a.stopPropagation()},f.onMouseLeave=a=>{if(!a.currentTarget.contains(a.target))return;let i=!0;o.isPressed&&!o.ignoreEmulatedMouseEvents&&o.pointerType!=null&&(o.isOverTarget=!1,i=y(a,o.pointerType,!1),L(a)),i&&a.stopPropagation()},f.onMouseUp=a=>{!a.currentTarget.contains(a.target)||!o.ignoreEmulatedMouseEvents&&a.button===0&&P(a,o.pointerType||"mouse")};let u=a=>{if(a.button===0){if(o.isPressed=!1,O(),o.ignoreEmulatedMouseEvents){o.ignoreEmulatedMouseEvents=!1;return}o.target&&R(a,o.target)&&o.pointerType!=null?y(D(o.target,a),o.pointerType):o.target&&o.isOverTarget&&o.pointerType!=null&&y(D(o.target,a),o.pointerType,!1),o.isOverTarget=!1}};f.onTouchStart=a=>{if(!a.currentTarget.contains(a.target))return;let i=gt(a.nativeEvent);if(!i)return;o.activePointerId=i.identifier,o.ignoreEmulatedMouseEvents=!0,o.isOverTarget=!0,o.isPressed=!0,o.target=a.currentTarget,o.pointerType="touch",!c&&!p&&K(a.currentTarget),k||ke(o.target),E(a,o.pointerType)&&a.stopPropagation(),w(j(a.currentTarget),"scroll",b,!0)},f.onTouchMove=a=>{if(!a.currentTarget.contains(a.target))return;if(!o.isPressed){a.stopPropagation();return}let i=Ee(a.nativeEvent,o.activePointerId),h=!0;i&&R(i,a.currentTarget)?!o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!0,h=E(a,o.pointerType)):o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!1,h=y(a,o.pointerType,!1),L(a)),h&&a.stopPropagation()},f.onTouchEnd=a=>{if(!a.currentTarget.contains(a.target))return;if(!o.isPressed){a.stopPropagation();return}let i=Ee(a.nativeEvent,o.activePointerId),h=!0;i&&R(i,a.currentTarget)&&o.pointerType!=null?(P(a,o.pointerType),h=y(a,o.pointerType)):o.isOverTarget&&o.pointerType!=null&&(h=y(a,o.pointerType,!1)),h&&a.stopPropagation(),o.isPressed=!1,o.activePointerId=null,o.isOverTarget=!1,o.ignoreEmulatedMouseEvents=!0,o.target&&!k&&Z(o.target),O()},f.onTouchCancel=a=>{!a.currentTarget.contains(a.target)||(a.stopPropagation(),o.isPressed&&B(a))};let b=a=>{o.isPressed&&a.target.contains(o.target)&&B({currentTarget:o.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=a=>{!a.currentTarget.contains(a.target)||B(a)}}return f},[w,c,p,O,k,B,L,y,E,P]);return v.useEffect(()=>()=>{var o;k||Z((o=T.current.target)!==null&&o!==void 0?o:void 0)},[k]),{isPressed:m||_,pressProps:W(C,je)}}function me(e){return e.tagName==="A"&&e.hasAttribute("href")}function se(e,t){const{key:n,code:r}=e,s=t,l=s.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(s instanceof j(s).HTMLInputElement&&!Fe(s,n)||s instanceof j(s).HTMLTextAreaElement||s.isContentEditable)&&!((l==="link"||!l&&me(s))&&n!=="Enter")}function gt(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function Ee(e,t){const n=e.changedTouches;for(let r=0;r<n.length;r++){const s=n[r];if(s.identifier===t)return s}return null}function D(e,t){return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey}}function vt(e){let t=0,n=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?n=e.height/2:e.radiusY!==void 0&&(n=e.radiusY),{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function yt(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function R(e,t){let n=t.getBoundingClientRect(),r=vt(e);return yt(n,r)}function ae(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function Te(e,t){return e instanceof HTMLInputElement?!Fe(e,t):e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!me(e)}const ht=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Fe(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":ht.has(e.type)}class $t{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,n){this.nativeEvent=n,this.target=n.target,this.currentTarget=n.currentTarget,this.relatedTarget=n.relatedTarget,this.bubbles=n.bubbles,this.cancelable=n.cancelable,this.defaultPrevented=n.defaultPrevented,this.eventPhase=n.eventPhase,this.isTrusted=n.isTrusted,this.timeStamp=n.timeStamp,this.type=t}}function kt(e){let t=v.useRef({isFocused:!1,observer:null});pe(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let n=U(r=>{e==null||e(r)});return v.useCallback(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let s=r.target,l=c=>{t.current.isFocused=!1,s.disabled&&n(new $t("blur",c)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};s.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&s.disabled){var c;(c=t.current.observer)===null||c===void 0||c.disconnect();let m=s===document.activeElement?null:document.activeElement;s.dispatchEvent(new FocusEvent("blur",{relatedTarget:m})),s.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:m}))}}),t.current.observer.observe(s,{attributes:!0,attributeFilter:["disabled"]})}},[n])}function wt(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:s}=e;const l=v.useCallback(p=>{if(p.target===p.currentTarget)return r&&r(p),s&&s(!1),!0},[r,s]),c=kt(l),m=v.useCallback(p=>{p.target===p.currentTarget&&document.activeElement===p.target&&(n&&n(p),s&&s(!0),c(p))},[s,n,c]);return{focusProps:{onFocus:!t&&(n||s||r)?m:void 0,onBlur:!t&&(r||s)?l:void 0}}}let X=null,Et=new Set,z=new Map,I=!1,ue=!1;function be(e,t){for(let n of Et)n(e,t)}function Tt(e){return!(e.metaKey||!Y()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function re(e){I=!0,Tt(e)&&(X="keyboard",be("keyboard",e))}function x(e){X="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(I=!0,be("pointer",e))}function Re(e){le(e)&&(I=!0,X="virtual")}function Ue(e){e.target===window||e.target===document||(!I&&!ue&&(X="virtual",be("virtual",e)),I=!1,ue=!1)}function Ve(){I=!1,ue=!0}function Pe(e){if(typeof window>"u"||z.get(j(e)))return;const t=j(e),n=S(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){I=!0,r.apply(this,arguments)},n.addEventListener("keydown",re,!0),n.addEventListener("keyup",re,!0),n.addEventListener("click",Re,!0),t.addEventListener("focus",Ue,!0),t.addEventListener("blur",Ve,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",x,!0),n.addEventListener("pointermove",x,!0),n.addEventListener("pointerup",x,!0)):(n.addEventListener("mousedown",x,!0),n.addEventListener("mousemove",x,!0),n.addEventListener("mouseup",x,!0)),t.addEventListener("beforeunload",()=>{Ge(e)},{once:!0}),z.set(t,{focus:r})}const Ge=(e,t)=>{const n=j(e),r=S(e);t&&r.removeEventListener("DOMContentLoaded",t),z.has(n)&&(n.HTMLElement.prototype.focus=z.get(n).focus,r.removeEventListener("keydown",re,!0),r.removeEventListener("keyup",re,!0),r.removeEventListener("click",Re,!0),n.removeEventListener("focus",Ue,!0),n.removeEventListener("blur",Ve,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",x,!0),r.removeEventListener("pointermove",x,!0),r.removeEventListener("pointerup",x,!0)):(r.removeEventListener("mousedown",x,!0),r.removeEventListener("mousemove",x,!0),r.removeEventListener("mouseup",x,!0)),z.delete(n))};function Pt(e){const t=S(e);let n;return t.readyState!=="loading"?Pe(e):(n=()=>{Pe(e)},t.addEventListener("DOMContentLoaded",n)),()=>Ge(e,n)}typeof document<"u"&&Pt();function Bt(){return X}function Be(e){if(!e)return;let t=!0;return n=>{let r={...n,preventDefault(){n.preventDefault()},isDefaultPrevented(){return n.isDefaultPrevented()},stopPropagation(){console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.")},continuePropagation(){t=!1}};e(r),t&&n.stopPropagation()}}function xt(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:Be(e.onKeyDown),onKeyUp:Be(e.onKeyUp)}}}function St(e){const t=S(e);if(Bt()==="virtual"){let n=t.activeElement;Ke(()=>{t.activeElement===n&&e.isConnected&&K(e)})}else K(e)}function Nt(e,t){return!e||!t?!1:t.some(n=>n.contains(e))}class ge{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,n,r){let s=this.fastMap.get(n!=null?n:null);if(!s)return;let l=new xe({scopeRef:t});s.addChild(l),l.parent=s,this.fastMap.set(t,l),r&&(l.nodeToRestore=r)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let n=this.fastMap.get(t);if(!n)return;let r=n.parent;for(let l of this.traverse())l!==n&&n.nodeToRestore&&l.nodeToRestore&&n.scopeRef&&n.scopeRef.current&&Nt(l.nodeToRestore,n.scopeRef.current)&&(l.nodeToRestore=n.nodeToRestore);let s=n.children;r&&(r.removeChild(n),s.size>0&&s.forEach(l=>r&&r.addChild(l))),this.fastMap.delete(n.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let n of t.children)yield*this.traverse(n)}clone(){var t;let n=new ge;var r;for(let s of this.traverse())n.addTreeNode(s.scopeRef,(r=(t=s.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&r!==void 0?r:null,s.nodeToRestore);return n}constructor(){this.fastMap=new Map,this.root=new xe({scopeRef:null}),this.fastMap.set(null,this.root)}}class xe{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}new ge;let Ot=de.default.createContext(null);function Dt(e){let t=v.useContext(Ot)||{};Ie(t,e);let{ref:n,...r}=t;return r}function Ct(e,t){let{focusProps:n}=wt(e),{keyboardProps:r}=xt(e),s=W(n,r),l=Dt(t),c=e.isDisabled?{}:l,m=v.useRef(e.autoFocus);return v.useEffect(()=>{m.current&&t.current&&St(t.current),m.current=!1},[t]),{focusableProps:W({...s,tabIndex:e.excludeFromTabOrder&&!e.isDisabled?-1:void 0},c)}}function _t(e,t){let{elementType:n="button",isDisabled:r,onPress:s,onPressStart:l,onPressEnd:c,onPressUp:m,onPressChange:p,preventFocusOnPress:$,allowFocusWhenDisabled:k,onClick:M,href:C,target:_,rel:A,type:T="button"}=e,w;n==="button"?w={type:T,disabled:r}:w={role:"button",tabIndex:r?void 0:0,href:n==="a"&&r?void 0:C,target:n==="a"?_:void 0,type:n==="input"?T:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?A:void 0};let{pressProps:O,isPressed:E}=bt({onPressStart:l,onPressEnd:c,onPressChange:p,onPress:s,onPressUp:m,isDisabled:r,preventFocusOnPress:$,ref:t}),{focusableProps:y}=Ct(e,t);k&&(y.tabIndex=r?-1:y.tabIndex);let P=W(y,O,Ze(e,{labelable:!0}));return{isPressed:E,buttonProps:W(w,P,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:B=>{M&&(M(B),console.warn("onClick is deprecated, please use onPress"))}})}}function Lt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Se(Object(n),!0).forEach(function(r){Lt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Se(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Kt=(e,t,n)=>{for(var r of Object.keys(e)){var s;if(e[r]!==((s=t[r])!==null&&s!==void 0?s:n[r]))return!1}return!0},J=e=>t=>{var n=e.defaultClassName,r=Ne(Ne({},e.defaultVariants),t);for(var s in r){var l,c=(l=r[s])!==null&&l!==void 0?l:e.defaultVariants[s];if(c!=null){var m=c;typeof m=="boolean"&&(m=m===!0?"true":"false");var p=e.variantClassNames[s][m];p&&(n+=" "+p)}}for(var[$,k]of e.compoundVariants)Kt($,r,e.defaultVariants)&&(n+=" "+k);return n},It=J({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=J({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:[]}),At=J({defaultClassName:"_125pcxyv",variantClassNames:{kind:{icon:"_125pcxyw",default:"_125pcxyx",key:"_125pcxyy",delete:"_125pcxyz",confirm:"_125pcxy10",link:"_125pcxy11"}},defaultVariants:{kind:"default"},compoundVariants:[]}),Ft=J({defaultClassName:"_125pcxy12",variantClassNames:{spinning:{true:"_125pcxy13",false:"_125pcxy14"}},defaultVariants:{spinning:!1},compoundVariants:[]}),Rt=J({defaultClassName:"_125pcxys",variantClassNames:{spinning:{true:"_125pcxyt",false:"_125pcxyu"}},defaultVariants:{spinning:!1},compoundVariants:[]});const ve=d.forwardRef(({onClick:e,onPress:t,children:n,className:r,isDisabled:s,disabled:l,href:c,icon:m,kind:p="default",spinning:$,spinningTitle:k,title:M,...C},_)=>{var L;const A={onPress:t!=null?t:e,isDisabled:(L=l!=null?l:s)!=null?L:$,...C},{"data-testid":T}=C,w=_!=null?_:d.useRef(null),{buttonProps:O}=_t(A,w),{t:E}=d.useContext(H.I18nContext),y=m&&d.createElement(H.Icon,{className:At({kind:p}),icon:m,"aria-hidden":"true","data-testid":`${T}__${m}-icon`});let P;p==="default"||p==="icon"||p==="link"?P="dark":P="light";const B=$&&d.createElement(H.Spinner,{color:P,className:Ft({spinning:$}),title:k||E("design-system:button.spinningTitle"),"data-testid":`${T}__spinner`});return d.createElement("div",{className:H.cl(It({disabled:s||l,kind:p,spinning:$}),r)},c?d.createElement("a",{className:Rt({spinning:$}),...C,href:c,title:M},y,n,B):d.createElement(d.Fragment,null,d.createElement("button",{className:Mt({disabled:s||l,kind:p,spinning:$}),disabled:s,...O,ref:w,title:M},y,n,B)))});H.Metadata.set(ve,{name:"Buttons",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"'}}});const Ut={components:[ve],description:()=>d.createElement(d.Fragment,null,d.createElement("div",{className:"sps-body-14"},"Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."),d.createElement("br",null),d.createElement("h5",null,"Variants"),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Confirm: "),"For the main call to action on a page. There should only be one Confirm button per screen."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Disabled: "),"For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it\u2019s disabled."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"With an Icon: "),"For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),examples:{basic:{label:"Basic Buttons",description:({NavigateTo:e})=>d.createElement(d.Fragment,null,d.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",d.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:g.code`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react"),H=require("@sps-woodland/core"),g=require("@spscommerce/utils"),We=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function He(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const de=We(v),d=He(v);function Oe(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=Oe(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function ze(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=Oe(e))&&(r&&(r+=" "),r+=t);return r}const pe=typeof document<"u"?de.default.useLayoutEffect:()=>{};function U(e){const t=v.useRef(null);return pe(()=>{t.current=e},[e]),v.useCallback((...n)=>{const r=t.current;return r==null?void 0:r(...n)},[])}let ye=new Map;function Ye(e,t){if(e===t)return e;let n=ye.get(e);if(n)return n(t),t;let r=ye.get(t);return r?(r(e),e):t}function De(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const S=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},j=e=>e&&"window"in e&&e.window===e?e:S(e).defaultView||window;function W(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let s in r){let l=t[s],c=r[s];typeof l=="function"&&typeof c=="function"&&s[0]==="o"&&s[1]==="n"&&s.charCodeAt(2)>=65&&s.charCodeAt(2)<=90?t[s]=De(l,c):(s==="className"||s==="UNSAFE_className")&&typeof l=="string"&&typeof c=="string"?t[s]=ze(l,c):s==="id"&&l&&c?t.id=Ye(l,c):t[s]=c!==void 0?c:l}}return t}const qe=new Set(["id"]),Xe=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Je=new Set(["href","target","rel","download","ping","referrerPolicy"]),Qe=/^(data-.*)$/;function Ze(e,t={}){let{labelable:n,isLink:r,propNames:s}=t,l={};for(const c in e)Object.prototype.hasOwnProperty.call(e,c)&&(qe.has(c)||n&&Xe.has(c)||r&&Je.has(c)||(s==null?void 0:s.has(c))||Qe.test(c))&&(l[c]=e[c]);return l}function K(e){if(et())e.focus({preventScroll:!0});else{let t=tt(e);e.focus(),nt(t)}}let J=null;function et(){if(J==null){J=!1;try{document.createElement("div").focus({get preventScroll(){return J=!0,!0}})}catch{}}return J}function tt(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function nt(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function re(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(n=>e.test(n.brand)))||e.test(window.navigator.userAgent)}function fe(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 Y(){return fe(/^Mac/i)}function rt(){return fe(/^iPhone/i)}function Ce(){return fe(/^iPad/i)||Y()&&navigator.maxTouchPoints>1}function Le(){return rt()||Ce()}function ot(){return re(/AppleWebKit/i)&&!st()}function st(){return re(/Chrome/i)}function _e(){return re(/Android/i)}function at(){return re(/Firefox/i)}function q(e,t,n=!0){var r,s;let{metaKey:l,ctrlKey:c,altKey:m,shiftKey:p}=t;at()&&((s=window.event)===null||s===void 0||(r=s.type)===null||r===void 0?void 0:r.startsWith("key"))&&e.target==="_blank"&&(Y()?l=!0:c=!0);let $=ot()&&Y()&&!Ce()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:l,ctrlKey:c,altKey:m,shiftKey:p}):new MouseEvent("click",{metaKey:l,ctrlKey:c,altKey:m,shiftKey:p,bubbles:!0,cancelable:!0});q.isOpening=n,K(e),e.dispatchEvent($),q.isOpening=!1}q.isOpening=!1;let V=new Map,ie=new Set;function he(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{if(!e(r)||!r.target)return;let s=V.get(r.target);s||(s=new Set,V.set(r.target,s),r.target.addEventListener("transitioncancel",n,{once:!0})),s.add(r.propertyName)},n=r=>{if(!e(r)||!r.target)return;let s=V.get(r.target);if(!!s&&(s.delete(r.propertyName),s.size===0&&(r.target.removeEventListener("transitioncancel",n),V.delete(r.target)),V.size===0)){for(let l of ie)l();ie.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?he():document.addEventListener("DOMContentLoaded",he));function Ke(e){requestAnimationFrame(()=>{V.size===0?e():ie.add(e)})}function it(){let e=v.useRef(new Map),t=v.useCallback((s,l,c,m)=>{let p=m!=null&&m.once?(...$)=>{e.current.delete(c),c(...$)}:c;e.current.set(c,{type:l,eventTarget:s,fn:p,options:m}),s.addEventListener(l,c,m)},[]),n=v.useCallback((s,l,c,m)=>{var p;let $=((p=e.current.get(c))===null||p===void 0?void 0:p.fn)||c;s.removeEventListener(l,$,m),e.current.delete(c)},[]),r=v.useCallback(()=>{e.current.forEach((s,l)=>{n(s.eventTarget,s.type,l,s.options)})},[n]);return v.useEffect(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}function Ie(e,t){pe(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function le(e){return e.mozInputSource===0&&e.isTrusted?!0:_e()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function lt(e){return!_e()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function ct(e,t){return t.get?t.get.call(e):t.value}function Me(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function ut(e,t){var n=Me(e,t,"get");return ct(e,n)}function dt(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pt(e,t,n){dt(e,t),t.set(e,n)}function ft(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}function $e(e,t,n){var r=Me(e,t,"set");return ft(e,r,n),n}let G="default",ce="",te=new WeakMap;function ke(e){if(Le()){if(G==="default"){const t=S(e);ce=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}G="disabled"}else(e instanceof HTMLElement||e instanceof SVGElement)&&(te.set(e,e.style.userSelect),e.style.userSelect="none")}function Q(e){if(Le()){if(G!=="disabled")return;G="restoring",setTimeout(()=>{Ke(()=>{if(G==="restoring"){const t=S(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ce||""),ce="",G="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&te.has(e)){let t=te.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),te.delete(e)}}const Ae=de.default.createContext({register:()=>{}});Ae.displayName="PressResponderContext";function mt(e){let t=v.useContext(Ae);if(t){let{register:n,...r}=t;e=W(r,e),n()}return Ie(t,e.ref),e}var Z=new WeakMap;class ee{continuePropagation(){$e(this,Z,!1)}get shouldStopPropagation(){return ut(this,Z)}constructor(t,n,r){pt(this,Z,{writable:!0,value:void 0}),$e(this,Z,!0),this.type=t,this.pointerType=n,this.target=r.currentTarget,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.ctrlKey=r.ctrlKey,this.altKey=r.altKey}}const we=Symbol("linkClicked");function bt(e){let{onPress:t,onPressChange:n,onPressStart:r,onPressEnd:s,onPressUp:l,isDisabled:c,isPressed:m,preventFocusOnPress:p,shouldCancelOnPointerExit:$,allowTextSelectionOnPress:k,ref:M,...C}=mt(e),[L,A]=v.useState(!1),T=v.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:w,removeAllGlobalListeners:O}=it(),E=U((o,f)=>{let N=T.current;if(c||N.didFirePressStart)return!1;let u=!0;if(N.isTriggeringEvent=!0,r){let b=new ee("pressstart",f,o);r(b),u=b.shouldStopPropagation}return n&&n(!0),N.isTriggeringEvent=!1,N.didFirePressStart=!0,A(!0),u}),y=U((o,f,N=!0)=>{let u=T.current;if(!u.didFirePressStart)return!1;u.ignoreClickAfterPress=!0,u.didFirePressStart=!1,u.isTriggeringEvent=!0;let b=!0;if(s){let a=new ee("pressend",f,o);s(a),b=a.shouldStopPropagation}if(n&&n(!1),A(!1),t&&N&&!c){let a=new ee("press",f,o);t(a),b&&(b=a.shouldStopPropagation)}return u.isTriggeringEvent=!1,b}),P=U((o,f)=>{let N=T.current;if(c)return!1;if(l){N.isTriggeringEvent=!0;let u=new ee("pressup",f,o);return l(u),N.isTriggeringEvent=!1,u.shouldStopPropagation}return!0}),B=U(o=>{let f=T.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&y(D(f.target,o),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,O(),k||Q(f.target))}),_=U(o=>{$&&B(o)}),je=v.useMemo(()=>{let o=T.current,f={onKeyDown(u){if(se(u.nativeEvent,u.currentTarget)&&u.currentTarget.contains(u.target)){var b;Te(u.target,u.key)&&u.preventDefault();let a=!0;if(!o.isPressed&&!u.repeat){o.target=u.currentTarget,o.isPressed=!0,a=E(u,"keyboard");let i=u.currentTarget,h=F=>{se(F,i)&&!F.repeat&&i.contains(F.target)&&o.target&&P(D(o.target,F),"keyboard")};w(S(u.currentTarget),"keyup",De(h,N),!0)}a&&u.stopPropagation(),u.metaKey&&Y()&&((b=o.metaKeyEvents)===null||b===void 0||b.set(u.key,u.nativeEvent))}else u.key==="Meta"&&(o.metaKeyEvents=new Map)},onClick(u){if(!(u&&!u.currentTarget.contains(u.target))&&u&&u.button===0&&!o.isTriggeringEvent&&!q.isOpening){let b=!0;if(c&&u.preventDefault(),!o.ignoreClickAfterPress&&!o.ignoreEmulatedMouseEvents&&!o.isPressed&&(o.pointerType==="virtual"||le(u.nativeEvent))){!c&&!p&&K(u.currentTarget);let a=E(u,"virtual"),i=P(u,"virtual"),h=y(u,"virtual");b=a&&i&&h}o.ignoreEmulatedMouseEvents=!1,o.ignoreClickAfterPress=!1,b&&u.stopPropagation()}}},N=u=>{var b;if(o.isPressed&&o.target&&se(u,o.target)){var a;Te(u.target,u.key)&&u.preventDefault();let h=u.target;y(D(o.target,u),"keyboard",o.target.contains(h)),O(),u.key!=="Enter"&&me(o.target)&&o.target.contains(h)&&!u[we]&&(u[we]=!0,q(o.target,u,!1)),o.isPressed=!1,(a=o.metaKeyEvents)===null||a===void 0||a.delete(u.key)}else if(u.key==="Meta"&&((b=o.metaKeyEvents)===null||b===void 0?void 0:b.size)){var i;let h=o.metaKeyEvents;o.metaKeyEvents=void 0;for(let F of h.values())(i=o.target)===null||i===void 0||i.dispatchEvent(new KeyboardEvent("keyup",F))}};if(typeof PointerEvent<"u"){f.onPointerDown=i=>{if(i.button!==0||!i.currentTarget.contains(i.target))return;if(lt(i.nativeEvent)){o.pointerType="virtual";return}ae(i.currentTarget)&&i.preventDefault(),o.pointerType=i.pointerType;let h=!0;o.isPressed||(o.isPressed=!0,o.isOverTarget=!0,o.activePointerId=i.pointerId,o.target=i.currentTarget,!c&&!p&&K(i.currentTarget),k||ke(o.target),h=E(i,o.pointerType),w(S(i.currentTarget),"pointermove",u,!1),w(S(i.currentTarget),"pointerup",b,!1),w(S(i.currentTarget),"pointercancel",a,!1)),h&&i.stopPropagation()},f.onMouseDown=i=>{!i.currentTarget.contains(i.target)||i.button===0&&(ae(i.currentTarget)&&i.preventDefault(),i.stopPropagation())},f.onPointerUp=i=>{!i.currentTarget.contains(i.target)||o.pointerType==="virtual"||i.button===0&&R(i,i.currentTarget)&&P(i,o.pointerType||i.pointerType)};let u=i=>{i.pointerId===o.activePointerId&&(o.target&&R(i,o.target)?!o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!0,E(D(o.target,i),o.pointerType)):o.target&&o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!1,y(D(o.target,i),o.pointerType,!1),_(i)))},b=i=>{i.pointerId===o.activePointerId&&o.isPressed&&i.button===0&&o.target&&(R(i,o.target)&&o.pointerType!=null?y(D(o.target,i),o.pointerType):o.isOverTarget&&o.pointerType!=null&&y(D(o.target,i),o.pointerType,!1),o.isPressed=!1,o.isOverTarget=!1,o.activePointerId=null,o.pointerType=null,O(),k||Q(o.target))},a=i=>{B(i)};f.onDragStart=i=>{!i.currentTarget.contains(i.target)||B(i)}}else{f.onMouseDown=a=>{if(a.button!==0||!a.currentTarget.contains(a.target))return;if(ae(a.currentTarget)&&a.preventDefault(),o.ignoreEmulatedMouseEvents){a.stopPropagation();return}o.isPressed=!0,o.isOverTarget=!0,o.target=a.currentTarget,o.pointerType=le(a.nativeEvent)?"virtual":"mouse",!c&&!p&&K(a.currentTarget),E(a,o.pointerType)&&a.stopPropagation(),w(S(a.currentTarget),"mouseup",u,!1)},f.onMouseEnter=a=>{if(!a.currentTarget.contains(a.target))return;let i=!0;o.isPressed&&!o.ignoreEmulatedMouseEvents&&o.pointerType!=null&&(o.isOverTarget=!0,i=E(a,o.pointerType)),i&&a.stopPropagation()},f.onMouseLeave=a=>{if(!a.currentTarget.contains(a.target))return;let i=!0;o.isPressed&&!o.ignoreEmulatedMouseEvents&&o.pointerType!=null&&(o.isOverTarget=!1,i=y(a,o.pointerType,!1),_(a)),i&&a.stopPropagation()},f.onMouseUp=a=>{!a.currentTarget.contains(a.target)||!o.ignoreEmulatedMouseEvents&&a.button===0&&P(a,o.pointerType||"mouse")};let u=a=>{if(a.button===0){if(o.isPressed=!1,O(),o.ignoreEmulatedMouseEvents){o.ignoreEmulatedMouseEvents=!1;return}o.target&&R(a,o.target)&&o.pointerType!=null?y(D(o.target,a),o.pointerType):o.target&&o.isOverTarget&&o.pointerType!=null&&y(D(o.target,a),o.pointerType,!1),o.isOverTarget=!1}};f.onTouchStart=a=>{if(!a.currentTarget.contains(a.target))return;let i=gt(a.nativeEvent);if(!i)return;o.activePointerId=i.identifier,o.ignoreEmulatedMouseEvents=!0,o.isOverTarget=!0,o.isPressed=!0,o.target=a.currentTarget,o.pointerType="touch",!c&&!p&&K(a.currentTarget),k||ke(o.target),E(a,o.pointerType)&&a.stopPropagation(),w(j(a.currentTarget),"scroll",b,!0)},f.onTouchMove=a=>{if(!a.currentTarget.contains(a.target))return;if(!o.isPressed){a.stopPropagation();return}let i=Ee(a.nativeEvent,o.activePointerId),h=!0;i&&R(i,a.currentTarget)?!o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!0,h=E(a,o.pointerType)):o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!1,h=y(a,o.pointerType,!1),_(a)),h&&a.stopPropagation()},f.onTouchEnd=a=>{if(!a.currentTarget.contains(a.target))return;if(!o.isPressed){a.stopPropagation();return}let i=Ee(a.nativeEvent,o.activePointerId),h=!0;i&&R(i,a.currentTarget)&&o.pointerType!=null?(P(a,o.pointerType),h=y(a,o.pointerType)):o.isOverTarget&&o.pointerType!=null&&(h=y(a,o.pointerType,!1)),h&&a.stopPropagation(),o.isPressed=!1,o.activePointerId=null,o.isOverTarget=!1,o.ignoreEmulatedMouseEvents=!0,o.target&&!k&&Q(o.target),O()},f.onTouchCancel=a=>{!a.currentTarget.contains(a.target)||(a.stopPropagation(),o.isPressed&&B(a))};let b=a=>{o.isPressed&&a.target.contains(o.target)&&B({currentTarget:o.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=a=>{!a.currentTarget.contains(a.target)||B(a)}}return f},[w,c,p,O,k,B,_,y,E,P]);return v.useEffect(()=>()=>{var o;k||Q((o=T.current.target)!==null&&o!==void 0?o:void 0)},[k]),{isPressed:m||L,pressProps:W(C,je)}}function me(e){return e.tagName==="A"&&e.hasAttribute("href")}function se(e,t){const{key:n,code:r}=e,s=t,l=s.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(s instanceof j(s).HTMLInputElement&&!Fe(s,n)||s instanceof j(s).HTMLTextAreaElement||s.isContentEditable)&&!((l==="link"||!l&&me(s))&&n!=="Enter")}function gt(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function Ee(e,t){const n=e.changedTouches;for(let r=0;r<n.length;r++){const s=n[r];if(s.identifier===t)return s}return null}function D(e,t){return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey}}function vt(e){let t=0,n=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?n=e.height/2:e.radiusY!==void 0&&(n=e.radiusY),{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function yt(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function R(e,t){let n=t.getBoundingClientRect(),r=vt(e);return yt(n,r)}function ae(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function Te(e,t){return e instanceof HTMLInputElement?!Fe(e,t):e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!me(e)}const ht=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Fe(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":ht.has(e.type)}class $t{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,n){this.nativeEvent=n,this.target=n.target,this.currentTarget=n.currentTarget,this.relatedTarget=n.relatedTarget,this.bubbles=n.bubbles,this.cancelable=n.cancelable,this.defaultPrevented=n.defaultPrevented,this.eventPhase=n.eventPhase,this.isTrusted=n.isTrusted,this.timeStamp=n.timeStamp,this.type=t}}function kt(e){let t=v.useRef({isFocused:!1,observer:null});pe(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let n=U(r=>{e==null||e(r)});return v.useCallback(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let s=r.target,l=c=>{t.current.isFocused=!1,s.disabled&&n(new $t("blur",c)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};s.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&s.disabled){var c;(c=t.current.observer)===null||c===void 0||c.disconnect();let m=s===document.activeElement?null:document.activeElement;s.dispatchEvent(new FocusEvent("blur",{relatedTarget:m})),s.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:m}))}}),t.current.observer.observe(s,{attributes:!0,attributeFilter:["disabled"]})}},[n])}function wt(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:s}=e;const l=v.useCallback(p=>{if(p.target===p.currentTarget)return r&&r(p),s&&s(!1),!0},[r,s]),c=kt(l),m=v.useCallback(p=>{p.target===p.currentTarget&&document.activeElement===p.target&&(n&&n(p),s&&s(!0),c(p))},[s,n,c]);return{focusProps:{onFocus:!t&&(n||s||r)?m:void 0,onBlur:!t&&(r||s)?l:void 0}}}let X=null,Et=new Set,z=new Map,I=!1,ue=!1;function be(e,t){for(let n of Et)n(e,t)}function Tt(e){return!(e.metaKey||!Y()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function ne(e){I=!0,Tt(e)&&(X="keyboard",be("keyboard",e))}function x(e){X="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(I=!0,be("pointer",e))}function Re(e){le(e)&&(I=!0,X="virtual")}function Ue(e){e.target===window||e.target===document||(!I&&!ue&&(X="virtual",be("virtual",e)),I=!1,ue=!1)}function Ve(){I=!1,ue=!0}function Pe(e){if(typeof window>"u"||z.get(j(e)))return;const t=j(e),n=S(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){I=!0,r.apply(this,arguments)},n.addEventListener("keydown",ne,!0),n.addEventListener("keyup",ne,!0),n.addEventListener("click",Re,!0),t.addEventListener("focus",Ue,!0),t.addEventListener("blur",Ve,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",x,!0),n.addEventListener("pointermove",x,!0),n.addEventListener("pointerup",x,!0)):(n.addEventListener("mousedown",x,!0),n.addEventListener("mousemove",x,!0),n.addEventListener("mouseup",x,!0)),t.addEventListener("beforeunload",()=>{Ge(e)},{once:!0}),z.set(t,{focus:r})}const Ge=(e,t)=>{const n=j(e),r=S(e);t&&r.removeEventListener("DOMContentLoaded",t),z.has(n)&&(n.HTMLElement.prototype.focus=z.get(n).focus,r.removeEventListener("keydown",ne,!0),r.removeEventListener("keyup",ne,!0),r.removeEventListener("click",Re,!0),n.removeEventListener("focus",Ue,!0),n.removeEventListener("blur",Ve,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",x,!0),r.removeEventListener("pointermove",x,!0),r.removeEventListener("pointerup",x,!0)):(r.removeEventListener("mousedown",x,!0),r.removeEventListener("mousemove",x,!0),r.removeEventListener("mouseup",x,!0)),z.delete(n))};function Pt(e){const t=S(e);let n;return t.readyState!=="loading"?Pe(e):(n=()=>{Pe(e)},t.addEventListener("DOMContentLoaded",n)),()=>Ge(e,n)}typeof document<"u"&&Pt();function Bt(){return X}function Be(e){if(!e)return;let t=!0;return n=>{let r={...n,preventDefault(){n.preventDefault()},isDefaultPrevented(){return n.isDefaultPrevented()},stopPropagation(){console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.")},continuePropagation(){t=!1}};e(r),t&&n.stopPropagation()}}function xt(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:Be(e.onKeyDown),onKeyUp:Be(e.onKeyUp)}}}function St(e){const t=S(e);if(Bt()==="virtual"){let n=t.activeElement;Ke(()=>{t.activeElement===n&&e.isConnected&&K(e)})}else K(e)}function Nt(e,t){return!e||!t?!1:t.some(n=>n.contains(e))}class ge{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,n,r){let s=this.fastMap.get(n!=null?n:null);if(!s)return;let l=new xe({scopeRef:t});s.addChild(l),l.parent=s,this.fastMap.set(t,l),r&&(l.nodeToRestore=r)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let n=this.fastMap.get(t);if(!n)return;let r=n.parent;for(let l of this.traverse())l!==n&&n.nodeToRestore&&l.nodeToRestore&&n.scopeRef&&n.scopeRef.current&&Nt(l.nodeToRestore,n.scopeRef.current)&&(l.nodeToRestore=n.nodeToRestore);let s=n.children;r&&(r.removeChild(n),s.size>0&&s.forEach(l=>r&&r.addChild(l))),this.fastMap.delete(n.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let n of t.children)yield*this.traverse(n)}clone(){var t;let n=new ge;var r;for(let s of this.traverse())n.addTreeNode(s.scopeRef,(r=(t=s.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&r!==void 0?r:null,s.nodeToRestore);return n}constructor(){this.fastMap=new Map,this.root=new xe({scopeRef:null}),this.fastMap.set(null,this.root)}}class xe{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}new ge;let Ot=de.default.createContext(null);function Dt(e){let t=v.useContext(Ot)||{};Ie(t,e);let{ref:n,...r}=t;return r}function Ct(e,t){let{focusProps:n}=wt(e),{keyboardProps:r}=xt(e),s=W(n,r),l=Dt(t),c=e.isDisabled?{}:l,m=v.useRef(e.autoFocus);return v.useEffect(()=>{m.current&&t.current&&St(t.current),m.current=!1},[t]),{focusableProps:W({...s,tabIndex:e.excludeFromTabOrder&&!e.isDisabled?-1:void 0},c)}}function Lt(e,t){let{elementType:n="button",isDisabled:r,onPress:s,onPressStart:l,onPressEnd:c,onPressUp:m,onPressChange:p,preventFocusOnPress:$,allowFocusWhenDisabled:k,onClick:M,href:C,target:L,rel:A,type:T="button"}=e,w;n==="button"?w={type:T,disabled:r}:w={role:"button",tabIndex:r?void 0:0,href:n==="a"&&r?void 0:C,target:n==="a"?L:void 0,type:n==="input"?T:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?A:void 0};let{pressProps:O,isPressed:E}=bt({onPressStart:l,onPressEnd:c,onPressChange:p,onPress:s,onPressUp:m,isDisabled:r,preventFocusOnPress:$,ref:t}),{focusableProps:y}=Ct(e,t);k&&(y.tabIndex=r?-1:y.tabIndex);let P=W(y,O,Ze(e,{labelable:!0}));return{isPressed:E,buttonProps:W(w,P,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:B=>{M&&(M(B),console.warn("onClick is deprecated, please use onPress"))}})}}function _t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Se(Object(n),!0).forEach(function(r){_t(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Se(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Kt=(e,t,n)=>{for(var r of Object.keys(e)){var s;if(e[r]!==((s=t[r])!==null&&s!==void 0?s:n[r]))return!1}return!0},oe=e=>t=>{var n=e.defaultClassName,r=Ne(Ne({},e.defaultVariants),t);for(var s in r){var l,c=(l=r[s])!==null&&l!==void 0?l:e.defaultVariants[s];if(c!=null){var m=c;typeof m=="boolean"&&(m=m===!0?"true":"false");var p=e.variantClassNames[s][m];p&&(n+=" "+p)}}for(var[$,k]of e.compoundVariants)Kt($,r,e.defaultVariants)&&(n+=" "+k);return n},It=oe({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=oe({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:[]}),At="_125pcxyv",Ft=oe({defaultClassName:"_125pcxyw",variantClassNames:{spinning:{true:"_125pcxyx",false:"_125pcxyy"}},defaultVariants:{spinning:!1},compoundVariants:[]}),Rt=oe({defaultClassName:"_125pcxys",variantClassNames:{spinning:{true:"_125pcxyt",false:"_125pcxyu"}},defaultVariants:{spinning:!1},compoundVariants:[]});const ve=d.forwardRef(({onClick:e,onPress:t,children:n,className:r,isDisabled:s,disabled:l,href:c,icon:m,kind:p="default",spinning:$,spinningTitle:k,title:M,...C},L)=>{var _;const A={onPress:t!=null?t:e,isDisabled:(_=l!=null?l:s)!=null?_:$,...C},{"data-testid":T}=C,w=L!=null?L:d.useRef(null),{buttonProps:O}=Lt(A,w),{t:E}=d.useContext(H.I18nContext),y=m&&d.createElement(H.Icon,{className:At,icon:m,"aria-hidden":"true","data-testid":`${T}__${m}-icon`});let P;p==="default"||p==="icon"||p==="link"?P="dark":P="light";const B=$&&d.createElement(H.Spinner,{color:P,className:Ft({spinning:$}),title:k||E("design-system:button.spinningTitle"),"data-testid":`${T}__spinner`});return d.createElement("div",{className:H.cl(It({disabled:s||l,kind:p,spinning:$}),r)},c?d.createElement("a",{className:Rt({spinning:$}),...C,href:c,title:M},y,n,B):d.createElement(d.Fragment,null,d.createElement("button",{className:Mt({disabled:s||l,kind:p,spinning:$}),disabled:s,...O,ref:w,title:M},y,n?d.createElement("span",null,n):"",B)))});H.Metadata.set(ve,{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 Ut={components:[ve],description:()=>d.createElement(d.Fragment,null,d.createElement("div",{className:"sps-body-14"},"Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."),d.createElement("br",null),d.createElement("h5",null,"Variants"),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Confirm: "),"For the main call to action on a page. There should only be one Confirm button per screen."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"Disabled: "),"For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it\u2019s disabled."),d.createElement("div",{className:"sps-body-14"},d.createElement("span",{className:"sps-text-semibold"},"With an Icon: "),"For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),examples:{basic:{label:"Basic Buttons",description:({NavigateTo:e})=>d.createElement(d.Fragment,null,d.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",d.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:g.code`
2
2
  import { Button } from "@sps-woodland/buttons";
3
3
  import { sprinkles } from "@sps-woodland/tokens";
4
4
 
package/lib/index.es.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as d from "react";
2
- import de, { useRef as X, useCallback as K, useEffect as pe, useState as ze, useMemo as Ye, useContext as De } from "react";
3
- import { I18nContext as Xe, Icon as qe, Spinner as Je, cl as Qe, Metadata as Ze } from "@sps-woodland/core";
2
+ import de, { useRef as X, useCallback as _, useEffect as pe, useState as Ye, useMemo as ze, useContext as De } from "react";
3
+ import { I18nContext as Xe, Spinner as qe, cl as Je, Metadata as Qe, Icon as Ze } from "@sps-woodland/core";
4
4
  import { code as g } from "@spscommerce/utils";
5
5
  function Oe(e) {
6
6
  var t, n, r = "";
@@ -29,7 +29,7 @@ function U(e) {
29
29
  t.current = e;
30
30
  }, [
31
31
  e
32
- ]), K((...n) => {
32
+ ]), _((...n) => {
33
33
  const r = t.current;
34
34
  return r == null ? void 0 : r(...n);
35
35
  }, []);
@@ -61,8 +61,8 @@ function H(...e) {
61
61
  for (let n = 1; n < e.length; n++) {
62
62
  let r = e[n];
63
63
  for (let s in r) {
64
- let l = t[s], c = r[s];
65
- typeof l == "function" && typeof c == "function" && s[0] === "o" && s[1] === "n" && s.charCodeAt(2) >= 65 && s.charCodeAt(2) <= 90 ? t[s] = Ce(l, c) : (s === "className" || s === "UNSAFE_className") && typeof l == "string" && typeof c == "string" ? t[s] = et(l, c) : s === "id" && l && c ? t.id = tt(l, c) : t[s] = c !== void 0 ? c : l;
64
+ let l = t[s], u = r[s];
65
+ typeof l == "function" && typeof u == "function" && s[0] === "o" && s[1] === "n" && s.charCodeAt(2) >= 65 && s.charCodeAt(2) <= 90 ? t[s] = Ce(l, u) : (s === "className" || s === "UNSAFE_className") && typeof l == "string" && typeof u == "string" ? t[s] = et(l, u) : s === "id" && l && u ? t.id = tt(l, u) : t[s] = u !== void 0 ? u : l;
66
66
  }
67
67
  }
68
68
  return t;
@@ -84,34 +84,34 @@ const nt = /* @__PURE__ */ new Set([
84
84
  ]), st = /^(data-.*)$/;
85
85
  function at(e, t = {}) {
86
86
  let { labelable: n, isLink: r, propNames: s } = t, l = {};
87
- for (const c in e)
88
- Object.prototype.hasOwnProperty.call(e, c) && (nt.has(c) || n && rt.has(c) || r && ot.has(c) || (s == null ? void 0 : s.has(c)) || st.test(c)) && (l[c] = e[c]);
87
+ for (const u in e)
88
+ Object.prototype.hasOwnProperty.call(e, u) && (nt.has(u) || n && rt.has(u) || r && ot.has(u) || (s == null ? void 0 : s.has(u)) || st.test(u)) && (l[u] = e[u]);
89
89
  return l;
90
90
  }
91
- function _(e) {
91
+ function K(e) {
92
92
  if (it())
93
93
  e.focus({
94
94
  preventScroll: !0
95
95
  });
96
96
  else {
97
97
  let t = lt(e);
98
- e.focus(), ct(t);
98
+ e.focus(), ut(t);
99
99
  }
100
100
  }
101
- let Q = null;
101
+ let J = null;
102
102
  function it() {
103
- if (Q == null) {
104
- Q = !1;
103
+ if (J == null) {
104
+ J = !1;
105
105
  try {
106
106
  document.createElement("div").focus({
107
107
  get preventScroll() {
108
- return Q = !0, !0;
108
+ return J = !0, !0;
109
109
  }
110
110
  });
111
111
  } catch {
112
112
  }
113
113
  }
114
- return Q;
114
+ return J;
115
115
  }
116
116
  function lt(e) {
117
117
  let t = e.parentNode, n = [], r = document.scrollingElement || document.documentElement;
@@ -127,11 +127,11 @@ function lt(e) {
127
127
  scrollLeft: r.scrollLeft
128
128
  }), n;
129
129
  }
130
- function ct(e) {
130
+ function ut(e) {
131
131
  for (let { element: t, scrollTop: n, scrollLeft: r } of e)
132
132
  t.scrollTop = n, t.scrollLeft = r;
133
133
  }
134
- function oe(e) {
134
+ function re(e) {
135
135
  var t;
136
136
  return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((n) => e.test(n.brand))) || e.test(window.navigator.userAgent);
137
137
  }
@@ -139,51 +139,51 @@ function me(e) {
139
139
  var t;
140
140
  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;
141
141
  }
142
- function z() {
142
+ function Y() {
143
143
  return me(/^Mac/i);
144
144
  }
145
- function ut() {
145
+ function ct() {
146
146
  return me(/^iPhone/i);
147
147
  }
148
148
  function Le() {
149
- return me(/^iPad/i) || z() && navigator.maxTouchPoints > 1;
149
+ return me(/^iPad/i) || Y() && navigator.maxTouchPoints > 1;
150
150
  }
151
- function _e() {
152
- return ut() || Le();
151
+ function Ke() {
152
+ return ct() || Le();
153
153
  }
154
154
  function dt() {
155
- return oe(/AppleWebKit/i) && !pt();
155
+ return re(/AppleWebKit/i) && !pt();
156
156
  }
157
157
  function pt() {
158
- return oe(/Chrome/i);
158
+ return re(/Chrome/i);
159
159
  }
160
- function Ke() {
161
- return oe(/Android/i);
160
+ function _e() {
161
+ return re(/Android/i);
162
162
  }
163
163
  function ft() {
164
- return oe(/Firefox/i);
164
+ return re(/Firefox/i);
165
165
  }
166
- function Y(e, t, n = !0) {
166
+ function z(e, t, n = !0) {
167
167
  var r, s;
168
- let { metaKey: l, ctrlKey: c, altKey: m, shiftKey: p } = t;
169
- ft() && ((s = window.event) === null || s === void 0 || (r = s.type) === null || r === void 0 ? void 0 : r.startsWith("key")) && e.target === "_blank" && (z() ? l = !0 : c = !0);
170
- let h = dt() && z() && !Le() ? new KeyboardEvent("keydown", {
168
+ let { metaKey: l, ctrlKey: u, altKey: m, shiftKey: p } = t;
169
+ ft() && ((s = window.event) === null || s === void 0 || (r = s.type) === null || r === void 0 ? void 0 : r.startsWith("key")) && e.target === "_blank" && (Y() ? l = !0 : u = !0);
170
+ let h = dt() && Y() && !Le() ? new KeyboardEvent("keydown", {
171
171
  keyIdentifier: "Enter",
172
172
  metaKey: l,
173
- ctrlKey: c,
173
+ ctrlKey: u,
174
174
  altKey: m,
175
175
  shiftKey: p
176
176
  }) : new MouseEvent("click", {
177
177
  metaKey: l,
178
- ctrlKey: c,
178
+ ctrlKey: u,
179
179
  altKey: m,
180
180
  shiftKey: p,
181
181
  bubbles: !0,
182
182
  cancelable: !0
183
183
  });
184
- Y.isOpening = n, _(e), e.dispatchEvent(h), Y.isOpening = !1;
184
+ z.isOpening = n, K(e), e.dispatchEvent(h), z.isOpening = !1;
185
185
  }
186
- Y.isOpening = !1;
186
+ z.isOpening = !1;
187
187
  let V = /* @__PURE__ */ new Map(), ie = /* @__PURE__ */ new Set();
188
188
  function he() {
189
189
  if (typeof window > "u")
@@ -217,21 +217,21 @@ function Ie(e) {
217
217
  });
218
218
  }
219
219
  function mt() {
220
- let e = X(/* @__PURE__ */ new Map()), t = K((s, l, c, m) => {
220
+ let e = X(/* @__PURE__ */ new Map()), t = _((s, l, u, m) => {
221
221
  let p = m != null && m.once ? (...h) => {
222
- e.current.delete(c), c(...h);
223
- } : c;
224
- e.current.set(c, {
222
+ e.current.delete(u), u(...h);
223
+ } : u;
224
+ e.current.set(u, {
225
225
  type: l,
226
226
  eventTarget: s,
227
227
  fn: p,
228
228
  options: m
229
- }), s.addEventListener(l, c, m);
230
- }, []), n = K((s, l, c, m) => {
229
+ }), s.addEventListener(l, u, m);
230
+ }, []), n = _((s, l, u, m) => {
231
231
  var p;
232
- let h = ((p = e.current.get(c)) === null || p === void 0 ? void 0 : p.fn) || c;
233
- s.removeEventListener(l, h, m), e.current.delete(c);
234
- }, []), r = K(() => {
232
+ let h = ((p = e.current.get(u)) === null || p === void 0 ? void 0 : p.fn) || u;
233
+ s.removeEventListener(l, h, m), e.current.delete(u);
234
+ }, []), r = _(() => {
235
235
  e.current.forEach((s, l) => {
236
236
  n(s.eventTarget, s.type, l, s.options);
237
237
  });
@@ -255,10 +255,10 @@ function Me(e, t) {
255
255
  });
256
256
  }
257
257
  function le(e) {
258
- return e.mozInputSource === 0 && e.isTrusted ? !0 : Ke() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
258
+ return e.mozInputSource === 0 && e.isTrusted ? !0 : _e() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
259
259
  }
260
260
  function bt(e) {
261
- return !Ke() && e.width === 0 && e.height === 0 || e.width === 1 && e.height === 1 && e.pressure === 0 && e.detail === 0 && e.pointerType === "mouse";
261
+ return !_e() && e.width === 0 && e.height === 0 || e.width === 1 && e.height === 1 && e.pressure === 0 && e.detail === 0 && e.pointerType === "mouse";
262
262
  }
263
263
  function gt(e, t) {
264
264
  return t.get ? t.get.call(e) : t.value;
@@ -292,32 +292,32 @@ function $e(e, t, n) {
292
292
  var r = Ae(e, t, "set");
293
293
  return $t(e, r, n), n;
294
294
  }
295
- let G = "default", ce = "", ne = /* @__PURE__ */ new WeakMap();
295
+ let G = "default", ue = "", te = /* @__PURE__ */ new WeakMap();
296
296
  function ke(e) {
297
- if (_e()) {
297
+ if (Ke()) {
298
298
  if (G === "default") {
299
299
  const t = x(e);
300
- ce = t.documentElement.style.webkitUserSelect, t.documentElement.style.webkitUserSelect = "none";
300
+ ue = t.documentElement.style.webkitUserSelect, t.documentElement.style.webkitUserSelect = "none";
301
301
  }
302
302
  G = "disabled";
303
303
  } else
304
- (e instanceof HTMLElement || e instanceof SVGElement) && (ne.set(e, e.style.userSelect), e.style.userSelect = "none");
304
+ (e instanceof HTMLElement || e instanceof SVGElement) && (te.set(e, e.style.userSelect), e.style.userSelect = "none");
305
305
  }
306
- function Z(e) {
307
- if (_e()) {
306
+ function Q(e) {
307
+ if (Ke()) {
308
308
  if (G !== "disabled")
309
309
  return;
310
310
  G = "restoring", setTimeout(() => {
311
311
  Ie(() => {
312
312
  if (G === "restoring") {
313
313
  const t = x(e);
314
- t.documentElement.style.webkitUserSelect === "none" && (t.documentElement.style.webkitUserSelect = ce || ""), ce = "", G = "default";
314
+ t.documentElement.style.webkitUserSelect === "none" && (t.documentElement.style.webkitUserSelect = ue || ""), ue = "", G = "default";
315
315
  }
316
316
  });
317
317
  }, 300);
318
- } else if ((e instanceof HTMLElement || e instanceof SVGElement) && e && ne.has(e)) {
319
- let t = ne.get(e);
320
- e.style.userSelect === "none" && (e.style.userSelect = t), e.getAttribute("style") === "" && e.removeAttribute("style"), ne.delete(e);
318
+ } else if ((e instanceof HTMLElement || e instanceof SVGElement) && e && te.has(e)) {
319
+ let t = te.get(e);
320
+ e.style.userSelect === "none" && (e.style.userSelect = t), e.getAttribute("style") === "" && e.removeAttribute("style"), te.delete(e);
321
321
  }
322
322
  }
323
323
  const Fe = de.createContext({
@@ -333,19 +333,19 @@ function kt(e) {
333
333
  }
334
334
  return Me(t, e.ref), e;
335
335
  }
336
- var ee = /* @__PURE__ */ new WeakMap();
337
- class te {
336
+ var Z = /* @__PURE__ */ new WeakMap();
337
+ class ee {
338
338
  continuePropagation() {
339
- $e(this, ee, !1);
339
+ $e(this, Z, !1);
340
340
  }
341
341
  get shouldStopPropagation() {
342
- return vt(this, ee);
342
+ return vt(this, Z);
343
343
  }
344
344
  constructor(t, n, r) {
345
- ht(this, ee, {
345
+ ht(this, Z, {
346
346
  writable: !0,
347
347
  value: void 0
348
- }), $e(this, ee, !0), this.type = t, this.pointerType = n, this.target = r.currentTarget, this.shiftKey = r.shiftKey, this.metaKey = r.metaKey, this.ctrlKey = r.ctrlKey, this.altKey = r.altKey;
348
+ }), $e(this, Z, !0), this.type = t, this.pointerType = n, this.target = r.currentTarget, this.shiftKey = r.shiftKey, this.metaKey = r.metaKey, this.ctrlKey = r.ctrlKey, this.altKey = r.altKey;
349
349
  }
350
350
  }
351
351
  const we = Symbol("linkClicked");
@@ -356,14 +356,14 @@ function wt(e) {
356
356
  onPressStart: r,
357
357
  onPressEnd: s,
358
358
  onPressUp: l,
359
- isDisabled: c,
359
+ isDisabled: u,
360
360
  isPressed: m,
361
361
  preventFocusOnPress: p,
362
362
  shouldCancelOnPointerExit: h,
363
363
  allowTextSelectionOnPress: $,
364
364
  ref: M,
365
365
  ...O
366
- } = kt(e), [C, A] = ze(!1), E = X({
366
+ } = kt(e), [C, A] = Ye(!1), E = X({
367
367
  isPressed: !1,
368
368
  ignoreEmulatedMouseEvents: !1,
369
369
  ignoreClickAfterPress: !1,
@@ -375,81 +375,81 @@ function wt(e) {
375
375
  pointerType: null
376
376
  }), { addGlobalListener: k, removeAllGlobalListeners: N } = mt(), w = U((o, f) => {
377
377
  let S = E.current;
378
- if (c || S.didFirePressStart)
378
+ if (u || S.didFirePressStart)
379
379
  return !1;
380
- let u = !0;
380
+ let c = !0;
381
381
  if (S.isTriggeringEvent = !0, r) {
382
- let b = new te("pressstart", f, o);
383
- r(b), u = b.shouldStopPropagation;
382
+ let b = new ee("pressstart", f, o);
383
+ r(b), c = b.shouldStopPropagation;
384
384
  }
385
- return n && n(!0), S.isTriggeringEvent = !1, S.didFirePressStart = !0, A(!0), u;
385
+ return n && n(!0), S.isTriggeringEvent = !1, S.didFirePressStart = !0, A(!0), c;
386
386
  }), v = U((o, f, S = !0) => {
387
- let u = E.current;
388
- if (!u.didFirePressStart)
387
+ let c = E.current;
388
+ if (!c.didFirePressStart)
389
389
  return !1;
390
- u.ignoreClickAfterPress = !0, u.didFirePressStart = !1, u.isTriggeringEvent = !0;
390
+ c.ignoreClickAfterPress = !0, c.didFirePressStart = !1, c.isTriggeringEvent = !0;
391
391
  let b = !0;
392
392
  if (s) {
393
- let a = new te("pressend", f, o);
393
+ let a = new ee("pressend", f, o);
394
394
  s(a), b = a.shouldStopPropagation;
395
395
  }
396
- if (n && n(!1), A(!1), t && S && !c) {
397
- let a = new te("press", f, o);
396
+ if (n && n(!1), A(!1), t && S && !u) {
397
+ let a = new ee("press", f, o);
398
398
  t(a), b && (b = a.shouldStopPropagation);
399
399
  }
400
- return u.isTriggeringEvent = !1, b;
400
+ return c.isTriggeringEvent = !1, b;
401
401
  }), T = U((o, f) => {
402
402
  let S = E.current;
403
- if (c)
403
+ if (u)
404
404
  return !1;
405
405
  if (l) {
406
406
  S.isTriggeringEvent = !0;
407
- let u = new te("pressup", f, o);
408
- return l(u), S.isTriggeringEvent = !1, u.shouldStopPropagation;
407
+ let c = new ee("pressup", f, o);
408
+ return l(c), S.isTriggeringEvent = !1, c.shouldStopPropagation;
409
409
  }
410
410
  return !0;
411
411
  }), B = U((o) => {
412
412
  let f = E.current;
413
- f.isPressed && f.target && (f.isOverTarget && f.pointerType != null && v(D(f.target, o), f.pointerType, !1), f.isPressed = !1, f.isOverTarget = !1, f.activePointerId = null, f.pointerType = null, N(), $ || Z(f.target));
413
+ f.isPressed && f.target && (f.isOverTarget && f.pointerType != null && v(D(f.target, o), f.pointerType, !1), f.isPressed = !1, f.isOverTarget = !1, f.activePointerId = null, f.pointerType = null, N(), $ || Q(f.target));
414
414
  }), L = U((o) => {
415
415
  h && B(o);
416
- }), je = Ye(() => {
416
+ }), je = ze(() => {
417
417
  let o = E.current, f = {
418
- onKeyDown(u) {
419
- if (se(u.nativeEvent, u.currentTarget) && u.currentTarget.contains(u.target)) {
418
+ onKeyDown(c) {
419
+ if (se(c.nativeEvent, c.currentTarget) && c.currentTarget.contains(c.target)) {
420
420
  var b;
421
- Te(u.target, u.key) && u.preventDefault();
421
+ Te(c.target, c.key) && c.preventDefault();
422
422
  let a = !0;
423
- if (!o.isPressed && !u.repeat) {
424
- o.target = u.currentTarget, o.isPressed = !0, a = w(u, "keyboard");
425
- let i = u.currentTarget, y = (F) => {
423
+ if (!o.isPressed && !c.repeat) {
424
+ o.target = c.currentTarget, o.isPressed = !0, a = w(c, "keyboard");
425
+ let i = c.currentTarget, y = (F) => {
426
426
  se(F, i) && !F.repeat && i.contains(F.target) && o.target && T(D(o.target, F), "keyboard");
427
427
  };
428
- k(x(u.currentTarget), "keyup", Ce(y, S), !0);
428
+ k(x(c.currentTarget), "keyup", Ce(y, S), !0);
429
429
  }
430
- a && u.stopPropagation(), u.metaKey && z() && ((b = o.metaKeyEvents) === null || b === void 0 || b.set(u.key, u.nativeEvent));
430
+ a && c.stopPropagation(), c.metaKey && Y() && ((b = o.metaKeyEvents) === null || b === void 0 || b.set(c.key, c.nativeEvent));
431
431
  } else
432
- u.key === "Meta" && (o.metaKeyEvents = /* @__PURE__ */ new Map());
432
+ c.key === "Meta" && (o.metaKeyEvents = /* @__PURE__ */ new Map());
433
433
  },
434
- onClick(u) {
435
- if (!(u && !u.currentTarget.contains(u.target)) && u && u.button === 0 && !o.isTriggeringEvent && !Y.isOpening) {
434
+ onClick(c) {
435
+ if (!(c && !c.currentTarget.contains(c.target)) && c && c.button === 0 && !o.isTriggeringEvent && !z.isOpening) {
436
436
  let b = !0;
437
- if (c && u.preventDefault(), !o.ignoreClickAfterPress && !o.ignoreEmulatedMouseEvents && !o.isPressed && (o.pointerType === "virtual" || le(u.nativeEvent))) {
438
- !c && !p && _(u.currentTarget);
439
- let a = w(u, "virtual"), i = T(u, "virtual"), y = v(u, "virtual");
437
+ if (u && c.preventDefault(), !o.ignoreClickAfterPress && !o.ignoreEmulatedMouseEvents && !o.isPressed && (o.pointerType === "virtual" || le(c.nativeEvent))) {
438
+ !u && !p && K(c.currentTarget);
439
+ let a = w(c, "virtual"), i = T(c, "virtual"), y = v(c, "virtual");
440
440
  b = a && i && y;
441
441
  }
442
- o.ignoreEmulatedMouseEvents = !1, o.ignoreClickAfterPress = !1, b && u.stopPropagation();
442
+ o.ignoreEmulatedMouseEvents = !1, o.ignoreClickAfterPress = !1, b && c.stopPropagation();
443
443
  }
444
444
  }
445
- }, S = (u) => {
445
+ }, S = (c) => {
446
446
  var b;
447
- if (o.isPressed && o.target && se(u, o.target)) {
447
+ if (o.isPressed && o.target && se(c, o.target)) {
448
448
  var a;
449
- Te(u.target, u.key) && u.preventDefault();
450
- let y = u.target;
451
- v(D(o.target, u), "keyboard", o.target.contains(y)), N(), u.key !== "Enter" && be(o.target) && o.target.contains(y) && !u[we] && (u[we] = !0, Y(o.target, u, !1)), o.isPressed = !1, (a = o.metaKeyEvents) === null || a === void 0 || a.delete(u.key);
452
- } else if (u.key === "Meta" && ((b = o.metaKeyEvents) === null || b === void 0 ? void 0 : b.size)) {
449
+ Te(c.target, c.key) && c.preventDefault();
450
+ let y = c.target;
451
+ v(D(o.target, c), "keyboard", o.target.contains(y)), N(), c.key !== "Enter" && be(o.target) && o.target.contains(y) && !c[we] && (c[we] = !0, z(o.target, c, !1)), o.isPressed = !1, (a = o.metaKeyEvents) === null || a === void 0 || a.delete(c.key);
452
+ } else if (c.key === "Meta" && ((b = o.metaKeyEvents) === null || b === void 0 ? void 0 : b.size)) {
453
453
  var i;
454
454
  let y = o.metaKeyEvents;
455
455
  o.metaKeyEvents = void 0;
@@ -467,16 +467,16 @@ function wt(e) {
467
467
  }
468
468
  ae(i.currentTarget) && i.preventDefault(), o.pointerType = i.pointerType;
469
469
  let y = !0;
470
- o.isPressed || (o.isPressed = !0, o.isOverTarget = !0, o.activePointerId = i.pointerId, o.target = i.currentTarget, !c && !p && _(i.currentTarget), $ || ke(o.target), y = w(i, o.pointerType), k(x(i.currentTarget), "pointermove", u, !1), k(x(i.currentTarget), "pointerup", b, !1), k(x(i.currentTarget), "pointercancel", a, !1)), y && i.stopPropagation();
470
+ o.isPressed || (o.isPressed = !0, o.isOverTarget = !0, o.activePointerId = i.pointerId, o.target = i.currentTarget, !u && !p && K(i.currentTarget), $ || ke(o.target), y = w(i, o.pointerType), k(x(i.currentTarget), "pointermove", c, !1), k(x(i.currentTarget), "pointerup", b, !1), k(x(i.currentTarget), "pointercancel", a, !1)), y && i.stopPropagation();
471
471
  }, f.onMouseDown = (i) => {
472
472
  !i.currentTarget.contains(i.target) || i.button === 0 && (ae(i.currentTarget) && i.preventDefault(), i.stopPropagation());
473
473
  }, f.onPointerUp = (i) => {
474
474
  !i.currentTarget.contains(i.target) || o.pointerType === "virtual" || i.button === 0 && R(i, i.currentTarget) && T(i, o.pointerType || i.pointerType);
475
475
  };
476
- let u = (i) => {
476
+ let c = (i) => {
477
477
  i.pointerId === o.activePointerId && (o.target && R(i, o.target) ? !o.isOverTarget && o.pointerType != null && (o.isOverTarget = !0, w(D(o.target, i), o.pointerType)) : o.target && o.isOverTarget && o.pointerType != null && (o.isOverTarget = !1, v(D(o.target, i), o.pointerType, !1), L(i)));
478
478
  }, b = (i) => {
479
- i.pointerId === o.activePointerId && o.isPressed && i.button === 0 && o.target && (R(i, o.target) && o.pointerType != null ? v(D(o.target, i), o.pointerType) : o.isOverTarget && o.pointerType != null && v(D(o.target, i), o.pointerType, !1), o.isPressed = !1, o.isOverTarget = !1, o.activePointerId = null, o.pointerType = null, N(), $ || Z(o.target));
479
+ i.pointerId === o.activePointerId && o.isPressed && i.button === 0 && o.target && (R(i, o.target) && o.pointerType != null ? v(D(o.target, i), o.pointerType) : o.isOverTarget && o.pointerType != null && v(D(o.target, i), o.pointerType, !1), o.isPressed = !1, o.isOverTarget = !1, o.activePointerId = null, o.pointerType = null, N(), $ || Q(o.target));
480
480
  }, a = (i) => {
481
481
  B(i);
482
482
  };
@@ -491,7 +491,7 @@ function wt(e) {
491
491
  a.stopPropagation();
492
492
  return;
493
493
  }
494
- o.isPressed = !0, o.isOverTarget = !0, o.target = a.currentTarget, o.pointerType = le(a.nativeEvent) ? "virtual" : "mouse", !c && !p && _(a.currentTarget), w(a, o.pointerType) && a.stopPropagation(), k(x(a.currentTarget), "mouseup", u, !1);
494
+ o.isPressed = !0, o.isOverTarget = !0, o.target = a.currentTarget, o.pointerType = le(a.nativeEvent) ? "virtual" : "mouse", !u && !p && K(a.currentTarget), w(a, o.pointerType) && a.stopPropagation(), k(x(a.currentTarget), "mouseup", c, !1);
495
495
  }, f.onMouseEnter = (a) => {
496
496
  if (!a.currentTarget.contains(a.target))
497
497
  return;
@@ -505,7 +505,7 @@ function wt(e) {
505
505
  }, f.onMouseUp = (a) => {
506
506
  !a.currentTarget.contains(a.target) || !o.ignoreEmulatedMouseEvents && a.button === 0 && T(a, o.pointerType || "mouse");
507
507
  };
508
- let u = (a) => {
508
+ let c = (a) => {
509
509
  if (a.button === 0) {
510
510
  if (o.isPressed = !1, N(), o.ignoreEmulatedMouseEvents) {
511
511
  o.ignoreEmulatedMouseEvents = !1;
@@ -520,7 +520,7 @@ function wt(e) {
520
520
  let i = Et(a.nativeEvent);
521
521
  if (!i)
522
522
  return;
523
- o.activePointerId = i.identifier, o.ignoreEmulatedMouseEvents = !0, o.isOverTarget = !0, o.isPressed = !0, o.target = a.currentTarget, o.pointerType = "touch", !c && !p && _(a.currentTarget), $ || ke(o.target), w(a, o.pointerType) && a.stopPropagation(), k(W(a.currentTarget), "scroll", b, !0);
523
+ o.activePointerId = i.identifier, o.ignoreEmulatedMouseEvents = !0, o.isOverTarget = !0, o.isPressed = !0, o.target = a.currentTarget, o.pointerType = "touch", !u && !p && K(a.currentTarget), $ || ke(o.target), w(a, o.pointerType) && a.stopPropagation(), k(W(a.currentTarget), "scroll", b, !0);
524
524
  }, f.onTouchMove = (a) => {
525
525
  if (!a.currentTarget.contains(a.target))
526
526
  return;
@@ -538,7 +538,7 @@ function wt(e) {
538
538
  return;
539
539
  }
540
540
  let i = Ee(a.nativeEvent, o.activePointerId), y = !0;
541
- i && R(i, a.currentTarget) && o.pointerType != null ? (T(a, o.pointerType), y = v(a, o.pointerType)) : o.isOverTarget && o.pointerType != null && (y = v(a, o.pointerType, !1)), y && a.stopPropagation(), o.isPressed = !1, o.activePointerId = null, o.isOverTarget = !1, o.ignoreEmulatedMouseEvents = !0, o.target && !$ && Z(o.target), N();
541
+ i && R(i, a.currentTarget) && o.pointerType != null ? (T(a, o.pointerType), y = v(a, o.pointerType)) : o.isOverTarget && o.pointerType != null && (y = v(a, o.pointerType, !1)), y && a.stopPropagation(), o.isPressed = !1, o.activePointerId = null, o.isOverTarget = !1, o.ignoreEmulatedMouseEvents = !0, o.target && !$ && Q(o.target), N();
542
542
  }, f.onTouchCancel = (a) => {
543
543
  !a.currentTarget.contains(a.target) || (a.stopPropagation(), o.isPressed && B(a));
544
544
  };
@@ -558,7 +558,7 @@ function wt(e) {
558
558
  return f;
559
559
  }, [
560
560
  k,
561
- c,
561
+ u,
562
562
  p,
563
563
  N,
564
564
  $,
@@ -570,7 +570,7 @@ function wt(e) {
570
570
  ]);
571
571
  return pe(() => () => {
572
572
  var o;
573
- $ || Z((o = E.current.target) !== null && o !== void 0 ? o : void 0);
573
+ $ || Q((o = E.current.target) !== null && o !== void 0 ? o : void 0);
574
574
  }, [
575
575
  $
576
576
  ]), {
@@ -676,18 +676,18 @@ function St(e) {
676
676
  let n = U((r) => {
677
677
  e == null || e(r);
678
678
  });
679
- return K((r) => {
679
+ return _((r) => {
680
680
  if (r.target instanceof HTMLButtonElement || r.target instanceof HTMLInputElement || r.target instanceof HTMLTextAreaElement || r.target instanceof HTMLSelectElement) {
681
681
  t.current.isFocused = !0;
682
- let s = r.target, l = (c) => {
683
- t.current.isFocused = !1, s.disabled && n(new xt("blur", c)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
682
+ let s = r.target, l = (u) => {
683
+ t.current.isFocused = !1, s.disabled && n(new xt("blur", u)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
684
684
  };
685
685
  s.addEventListener("focusout", l, {
686
686
  once: !0
687
687
  }), t.current.observer = new MutationObserver(() => {
688
688
  if (t.current.isFocused && s.disabled) {
689
- var c;
690
- (c = t.current.observer) === null || c === void 0 || c.disconnect();
689
+ var u;
690
+ (u = t.current.observer) === null || u === void 0 || u.disconnect();
691
691
  let m = s === document.activeElement ? null : document.activeElement;
692
692
  s.dispatchEvent(new FocusEvent("blur", {
693
693
  relatedTarget: m
@@ -709,18 +709,18 @@ function St(e) {
709
709
  }
710
710
  function Nt(e) {
711
711
  let { isDisabled: t, onFocus: n, onBlur: r, onFocusChange: s } = e;
712
- const l = K((p) => {
712
+ const l = _((p) => {
713
713
  if (p.target === p.currentTarget)
714
714
  return r && r(p), s && s(!1), !0;
715
715
  }, [
716
716
  r,
717
717
  s
718
- ]), c = St(l), m = K((p) => {
719
- p.target === p.currentTarget && document.activeElement === p.target && (n && n(p), s && s(!0), c(p));
718
+ ]), u = St(l), m = _((p) => {
719
+ p.target === p.currentTarget && document.activeElement === p.target && (n && n(p), s && s(!0), u(p));
720
720
  }, [
721
721
  s,
722
722
  n,
723
- c
723
+ u
724
724
  ]);
725
725
  return {
726
726
  focusProps: {
@@ -729,15 +729,15 @@ function Nt(e) {
729
729
  }
730
730
  };
731
731
  }
732
- let q = null, Dt = /* @__PURE__ */ new Set(), j = /* @__PURE__ */ new Map(), I = !1, ue = !1;
732
+ let q = null, Dt = /* @__PURE__ */ new Set(), j = /* @__PURE__ */ new Map(), I = !1, ce = !1;
733
733
  function ge(e, t) {
734
734
  for (let n of Dt)
735
735
  n(e, t);
736
736
  }
737
737
  function Ot(e) {
738
- return !(e.metaKey || !z() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
738
+ return !(e.metaKey || !Y() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
739
739
  }
740
- function re(e) {
740
+ function ne(e) {
741
741
  I = !0, Ot(e) && (q = "keyboard", ge("keyboard", e));
742
742
  }
743
743
  function P(e) {
@@ -747,10 +747,10 @@ function Ue(e) {
747
747
  le(e) && (I = !0, q = "virtual");
748
748
  }
749
749
  function Ve(e) {
750
- e.target === window || e.target === document || (!I && !ue && (q = "virtual", ge("virtual", e)), I = !1, ue = !1);
750
+ e.target === window || e.target === document || (!I && !ce && (q = "virtual", ge("virtual", e)), I = !1, ce = !1);
751
751
  }
752
752
  function Ge() {
753
- I = !1, ue = !0;
753
+ I = !1, ce = !0;
754
754
  }
755
755
  function Be(e) {
756
756
  if (typeof window > "u" || j.get(W(e)))
@@ -759,7 +759,7 @@ function Be(e) {
759
759
  let r = t.HTMLElement.prototype.focus;
760
760
  t.HTMLElement.prototype.focus = function() {
761
761
  I = !0, r.apply(this, arguments);
762
- }, n.addEventListener("keydown", re, !0), n.addEventListener("keyup", re, !0), n.addEventListener("click", Ue, !0), t.addEventListener("focus", Ve, !0), t.addEventListener("blur", Ge, !1), typeof PointerEvent < "u" ? (n.addEventListener("pointerdown", P, !0), n.addEventListener("pointermove", P, !0), n.addEventListener("pointerup", P, !0)) : (n.addEventListener("mousedown", P, !0), n.addEventListener("mousemove", P, !0), n.addEventListener("mouseup", P, !0)), t.addEventListener("beforeunload", () => {
762
+ }, n.addEventListener("keydown", ne, !0), n.addEventListener("keyup", ne, !0), n.addEventListener("click", Ue, !0), t.addEventListener("focus", Ve, !0), t.addEventListener("blur", Ge, !1), typeof PointerEvent < "u" ? (n.addEventListener("pointerdown", P, !0), n.addEventListener("pointermove", P, !0), n.addEventListener("pointerup", P, !0)) : (n.addEventListener("mousedown", P, !0), n.addEventListener("mousemove", P, !0), n.addEventListener("mouseup", P, !0)), t.addEventListener("beforeunload", () => {
763
763
  We(e);
764
764
  }, {
765
765
  once: !0
@@ -769,7 +769,7 @@ function Be(e) {
769
769
  }
770
770
  const We = (e, t) => {
771
771
  const n = W(e), r = x(e);
772
- t && r.removeEventListener("DOMContentLoaded", t), j.has(n) && (n.HTMLElement.prototype.focus = j.get(n).focus, r.removeEventListener("keydown", re, !0), r.removeEventListener("keyup", re, !0), r.removeEventListener("click", Ue, !0), n.removeEventListener("focus", Ve, !0), n.removeEventListener("blur", Ge, !1), typeof PointerEvent < "u" ? (r.removeEventListener("pointerdown", P, !0), r.removeEventListener("pointermove", P, !0), r.removeEventListener("pointerup", P, !0)) : (r.removeEventListener("mousedown", P, !0), r.removeEventListener("mousemove", P, !0), r.removeEventListener("mouseup", P, !0)), j.delete(n));
772
+ t && r.removeEventListener("DOMContentLoaded", t), j.has(n) && (n.HTMLElement.prototype.focus = j.get(n).focus, r.removeEventListener("keydown", ne, !0), r.removeEventListener("keyup", ne, !0), r.removeEventListener("click", Ue, !0), n.removeEventListener("focus", Ve, !0), n.removeEventListener("blur", Ge, !1), typeof PointerEvent < "u" ? (r.removeEventListener("pointerdown", P, !0), r.removeEventListener("pointermove", P, !0), r.removeEventListener("pointerup", P, !0)) : (r.removeEventListener("mousedown", P, !0), r.removeEventListener("mousemove", P, !0), r.removeEventListener("mouseup", P, !0)), j.delete(n));
773
773
  };
774
774
  function Ct(e) {
775
775
  const t = x(e);
@@ -805,7 +805,7 @@ function Pe(e) {
805
805
  e(r), t && n.stopPropagation();
806
806
  };
807
807
  }
808
- function _t(e) {
808
+ function Kt(e) {
809
809
  return {
810
810
  keyboardProps: e.isDisabled ? {} : {
811
811
  onKeyDown: Pe(e.onKeyDown),
@@ -813,15 +813,15 @@ function _t(e) {
813
813
  }
814
814
  };
815
815
  }
816
- function Kt(e) {
816
+ function _t(e) {
817
817
  const t = x(e);
818
818
  if (Lt() === "virtual") {
819
819
  let n = t.activeElement;
820
820
  Ie(() => {
821
- t.activeElement === n && e.isConnected && _(e);
821
+ t.activeElement === n && e.isConnected && K(e);
822
822
  });
823
823
  } else
824
- _(e);
824
+ K(e);
825
825
  }
826
826
  function It(e, t) {
827
827
  return !e || !t ? !1 : t.some((n) => n.contains(e));
@@ -896,16 +896,16 @@ function At(e) {
896
896
  return r;
897
897
  }
898
898
  function Ft(e, t) {
899
- let { focusProps: n } = Nt(e), { keyboardProps: r } = _t(e), s = H(n, r), l = At(t), c = e.isDisabled ? {} : l, m = X(e.autoFocus);
899
+ let { focusProps: n } = Nt(e), { keyboardProps: r } = Kt(e), s = H(n, r), l = At(t), u = e.isDisabled ? {} : l, m = X(e.autoFocus);
900
900
  return pe(() => {
901
- m.current && t.current && Kt(t.current), m.current = !1;
901
+ m.current && t.current && _t(t.current), m.current = !1;
902
902
  }, [
903
903
  t
904
904
  ]), {
905
905
  focusableProps: H({
906
906
  ...s,
907
907
  tabIndex: e.excludeFromTabOrder && !e.isDisabled ? -1 : void 0
908
- }, c)
908
+ }, u)
909
909
  };
910
910
  }
911
911
  function Rt(e, t) {
@@ -914,7 +914,7 @@ function Rt(e, t) {
914
914
  isDisabled: r,
915
915
  onPress: s,
916
916
  onPressStart: l,
917
- onPressEnd: c,
917
+ onPressEnd: u,
918
918
  onPressUp: m,
919
919
  onPressChange: p,
920
920
  preventFocusOnPress: h,
@@ -940,7 +940,7 @@ function Rt(e, t) {
940
940
  };
941
941
  let { pressProps: N, isPressed: w } = wt({
942
942
  onPressStart: l,
943
- onPressEnd: c,
943
+ onPressEnd: u,
944
944
  onPressChange: p,
945
945
  onPress: s,
946
946
  onPressUp: m,
@@ -1001,12 +1001,12 @@ var Vt = (e, t, n) => {
1001
1001
  return !1;
1002
1002
  }
1003
1003
  return !0;
1004
- }, J = (e) => (t) => {
1004
+ }, oe = (e) => (t) => {
1005
1005
  var n = e.defaultClassName, r = Ne(Ne({}, e.defaultVariants), t);
1006
1006
  for (var s in r) {
1007
- var l, c = (l = r[s]) !== null && l !== void 0 ? l : e.defaultVariants[s];
1008
- if (c != null) {
1009
- var m = c;
1007
+ var l, u = (l = r[s]) !== null && l !== void 0 ? l : e.defaultVariants[s];
1008
+ if (u != null) {
1009
+ var m = u;
1010
1010
  typeof m == "boolean" && (m = m === !0 ? "true" : "false");
1011
1011
  var p = e.variantClassNames[s][m];
1012
1012
  p && (n += " " + p);
@@ -1015,7 +1015,7 @@ var Vt = (e, t, n) => {
1015
1015
  for (var [h, $] of e.compoundVariants)
1016
1016
  Vt(h, r, e.defaultVariants) && (n += " " + $);
1017
1017
  return n;
1018
- }, Gt = J({ 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"]] }), Wt = J({ 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: [] }), Ht = J({ defaultClassName: "_125pcxyv", variantClassNames: { kind: { icon: "_125pcxyw", default: "_125pcxyx", key: "_125pcxyy", delete: "_125pcxyz", confirm: "_125pcxy10", link: "_125pcxy11" } }, defaultVariants: { kind: "default" }, compoundVariants: [] }), jt = J({ defaultClassName: "_125pcxy12", variantClassNames: { spinning: { true: "_125pcxy13", false: "_125pcxy14" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), zt = J({ defaultClassName: "_125pcxys", variantClassNames: { spinning: { true: "_125pcxyt", false: "_125pcxyu" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
1018
+ }, Gt = oe({ 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"]] }), Wt = oe({ 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: [] }), Ht = "_125pcxyv", jt = oe({ defaultClassName: "_125pcxyw", variantClassNames: { spinning: { true: "_125pcxyx", false: "_125pcxyy" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), Yt = oe({ defaultClassName: "_125pcxys", variantClassNames: { spinning: { true: "_125pcxyt", false: "_125pcxyu" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
1019
1019
  const He = d.forwardRef(
1020
1020
  ({
1021
1021
  onClick: e,
@@ -1024,7 +1024,7 @@ const He = d.forwardRef(
1024
1024
  className: r,
1025
1025
  isDisabled: s,
1026
1026
  disabled: l,
1027
- href: c,
1027
+ href: u,
1028
1028
  icon: m,
1029
1029
  kind: p = "default",
1030
1030
  spinning: h,
@@ -1037,11 +1037,19 @@ const He = d.forwardRef(
1037
1037
  onPress: t != null ? t : e,
1038
1038
  isDisabled: (L = l != null ? l : s) != null ? L : h,
1039
1039
  ...O
1040
- }, { "data-testid": E } = O, k = C != null ? C : d.useRef(null), { buttonProps: N } = Rt(A, k), { t: w } = d.useContext(Xe), v = m && /* @__PURE__ */ d.createElement(qe, { className: Ht({ kind: p }), icon: m, "aria-hidden": "true", "data-testid": `${E}__${m}-icon` });
1040
+ }, { "data-testid": E } = O, k = C != null ? C : d.useRef(null), { buttonProps: N } = Rt(A, k), { t: w } = d.useContext(Xe), v = m && /* @__PURE__ */ d.createElement(
1041
+ Ze,
1042
+ {
1043
+ className: Ht,
1044
+ icon: m,
1045
+ "aria-hidden": "true",
1046
+ "data-testid": `${E}__${m}-icon`
1047
+ }
1048
+ );
1041
1049
  let T;
1042
1050
  p === "default" || p === "icon" || p === "link" ? T = "dark" : T = "light";
1043
1051
  const B = h && /* @__PURE__ */ d.createElement(
1044
- Je,
1052
+ qe,
1045
1053
  {
1046
1054
  color: T,
1047
1055
  className: jt({ spinning: h }),
@@ -1049,12 +1057,12 @@ const He = d.forwardRef(
1049
1057
  "data-testid": `${E}__spinner`
1050
1058
  }
1051
1059
  );
1052
- return /* @__PURE__ */ d.createElement("div", { className: Qe(Gt({ disabled: s || l, kind: p, spinning: h }), r) }, c ? /* @__PURE__ */ d.createElement(
1060
+ return /* @__PURE__ */ d.createElement("div", { className: Je(Gt({ disabled: s || l, kind: p, spinning: h }), r) }, u ? /* @__PURE__ */ d.createElement(
1053
1061
  "a",
1054
1062
  {
1055
- className: zt({ spinning: h }),
1063
+ className: Yt({ spinning: h }),
1056
1064
  ...O,
1057
- href: c,
1065
+ href: u,
1058
1066
  title: M
1059
1067
  },
1060
1068
  v,
@@ -1070,13 +1078,13 @@ const He = d.forwardRef(
1070
1078
  title: M
1071
1079
  },
1072
1080
  v,
1073
- n,
1081
+ n ? /* @__PURE__ */ d.createElement("span", null, n) : "",
1074
1082
  B
1075
1083
  )));
1076
1084
  }
1077
1085
  );
1078
- Ze.set(He, {
1079
- name: "Buttons",
1086
+ Qe.set(He, {
1087
+ name: "Button",
1080
1088
  props: {
1081
1089
  disabled: "boolean",
1082
1090
  href: "string",
@@ -1088,9 +1096,10 @@ Ze.set(He, {
1088
1096
  spinning: "boolean",
1089
1097
  spinningTitle: "string",
1090
1098
  type: { type: '"button" | "submit"', default: '"button"' }
1091
- }
1099
+ },
1100
+ panellable: !0
1092
1101
  });
1093
- const Yt = {
1102
+ const zt = {
1094
1103
  components: [He],
1095
1104
  description: () => /* @__PURE__ */ d.createElement(d.Fragment, null, /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, "Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."), /* @__PURE__ */ d.createElement("br", null), /* @__PURE__ */ d.createElement("h5", null, "Variants"), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Default: "), "For tertiary actions or actions of lower importance on a page."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Key: "), "For primary or important actions on a page."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Confirm: "), "For the main call to action on a page. There should only be one Confirm button per screen."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Delete: "), "For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "Disabled: "), "For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it\u2019s disabled."), /* @__PURE__ */ d.createElement("div", { className: "sps-body-14" }, /* @__PURE__ */ d.createElement("span", { className: "sps-text-semibold" }, "With an Icon: "), "For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),
1096
1105
  examples: {
@@ -1655,7 +1664,7 @@ const Yt = {
1655
1664
  }
1656
1665
  }
1657
1666
  }, Qt = {
1658
- Buttons: Yt
1667
+ Buttons: zt
1659
1668
  };
1660
1669
  export {
1661
1670
  He as Button,
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:oklch(93.43% .001 286.37);border-color:oklch(86.84% .002 197.12);color:oklch(43.62% .011 222.24)}._125pcxy3:hover{background:oklch(86.84% .002 197.12)}._125pcxy4{background:none transparent;border:0;color:oklch(56.21% .128 239.83)}._125pcxy4:hover{background:none transparent;color:oklch(47.39% .101 237.12);text-decoration:none}._125pcxy5{background:oklch(56.21% .128 239.83);border-color:oklch(47.39% .101 237.12);color:oklch(100% 0 0)}._125pcxy5:hover{background:oklch(47.39% .101 237.12)}._125pcxy6{background:oklch(56.83% .229 22.94);border-color:oklch(45.78% .177 19.02);color:oklch(100% 0 0)}._125pcxy6:hover{background:oklch(45.78% .177 19.02)}._125pcxy7{background:oklch(43.62% .011 222.24);border-color:oklch(26.99% .015 226.65);color:oklch(100% 0 0)}._125pcxy7:hover{background:oklch(26.99% .015 226.65)}._125pcxy8{background:transparent;border-color:transparent;color:oklch(43.62% .011 222.24)}._125pcxy8:hover{background-color:oklch(86.84% .002 197.12);border-color:oklch(86.84% .002 197.12)}._125pcxy9{color:transparent!important;cursor:not-allowed}._125pcxyb{background:oklch(93.43% .001 286.37);border-color:oklch(86.84% .002 197.12)}._125pcxyb:hover,._125pcxyc:hover{background:oklch(93.43% .001 286.37)}._125pcxyd:hover{background:oklch(56.21% .128 239.83)}._125pcxye:hover{background:oklch(56.83% .229 22.94)}._125pcxyf:hover{background:oklch(43.62% .011 222.24)}._125pcxyg{background:oklch(100% 0 0)!important;border-color:oklch(86.84% .002 197.12)!important;color:oklch(56.48% .008 219.62)!important;cursor:not-allowed}._125pcxyg:hover{background:oklch(100% 0 0)}._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;margin-right:.5rem;position:relative;top:.125rem}._125pcxyw:before{margin-right:0}._125pcxy11:before{margin-right:.25rem}._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}
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:oklch(93.43% .001 286.37);border-color:oklch(86.84% .002 197.12);color:oklch(43.62% .011 222.24)}._125pcxy3:hover{background:oklch(86.84% .002 197.12)}._125pcxy4{background:none transparent;border:0;color:oklch(56.21% .128 239.83)}._125pcxy4:hover{background:none transparent;color:oklch(47.39% .101 237.12);text-decoration:none}._125pcxy5{background:oklch(56.21% .128 239.83);border-color:oklch(47.39% .101 237.12);color:oklch(100% 0 0)}._125pcxy5:hover{background:oklch(47.39% .101 237.12)}._125pcxy6{background:oklch(56.83% .229 22.94);border-color:oklch(45.78% .177 19.02);color:oklch(100% 0 0)}._125pcxy6:hover{background:oklch(45.78% .177 19.02)}._125pcxy7{background:oklch(43.62% .011 222.24);border-color:oklch(26.99% .015 226.65);color:oklch(100% 0 0)}._125pcxy7:hover{background:oklch(26.99% .015 226.65)}._125pcxy8{background:transparent;border-color:transparent;color:oklch(43.62% .011 222.24)}._125pcxy8:hover{background-color:oklch(86.84% .002 197.12);border-color:oklch(86.84% .002 197.12)}._125pcxy9{color:transparent!important;cursor:not-allowed}._125pcxyb{background:oklch(93.43% .001 286.37);border-color:oklch(86.84% .002 197.12)}._125pcxyb:hover,._125pcxyc:hover{background:oklch(93.43% .001 286.37)}._125pcxyd:hover{background:oklch(56.21% .128 239.83)}._125pcxye:hover{background:oklch(56.83% .229 22.94)}._125pcxyf:hover{background:oklch(43.62% .011 222.24)}._125pcxyg{background:oklch(100% 0 0)!important;border-color:oklch(86.84% .002 197.12)!important;color:oklch(56.48% .008 219.62)!important;cursor:not-allowed}._125pcxyg:hover{background:oklch(100% 0 0)}._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}
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.3.2",
4
+ "version": "8.4.1",
5
5
  "author": "SPS Commerce",
6
6
  "license": "UNLICENSED",
7
7
  "repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/buttons",
@@ -29,8 +29,8 @@
29
29
  "@spscommerce/utils": "^6.12.1",
30
30
  "react": "^16.9.0",
31
31
  "react-dom": "^16.9.0",
32
- "@sps-woodland/core": "8.3.2",
33
- "@sps-woodland/tokens": "8.3.2"
32
+ "@sps-woodland/core": "8.4.1",
33
+ "@sps-woodland/tokens": "8.4.1"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@vanilla-extract/css": "^1.9.3",
@@ -39,8 +39,8 @@
39
39
  "@react-aria/button": "^3.3.5",
40
40
  "react": "^16.9.0",
41
41
  "react-dom": "^16.9.0",
42
- "@sps-woodland/core": "8.3.2",
43
- "@sps-woodland/tokens": "8.3.2"
42
+ "@sps-woodland/core": "8.4.1",
43
+ "@sps-woodland/tokens": "8.4.1"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "pnpm run build:js && pnpm run build:types",