@sps-woodland/buttons 8.0.2 → 8.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("react"),W=require("@sps-woodland/core"),m=require("@spscommerce/utils"),He=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function We(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 U=He(b),d=We(b);function Ke(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=Ke(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}function Ie(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=Ke(e))&&(r&&(r+=" "),r+=t);return r}typeof window<"u"&&U.default.useLayoutEffect;let pe=new Map;function je(e,t){if(e===t)return e;let n=pe.get(e);if(n)return n(t),t;let r=pe.get(t);return r?(r(e),e):t}function ze(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}function me(...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],u=r[s];typeof l=="function"&&typeof u=="function"&&s[0]==="o"&&s[1]==="n"&&s.charCodeAt(2)>=65&&s.charCodeAt(2)<=90?t[s]=ze(l,u):(s==="className"||s==="UNSAFE_className")&&typeof l=="string"&&typeof u=="string"?t[s]=Ie(l,u):s==="id"&&l&&u?t.id=je(l,u):t[s]=u!==void 0?u:l}}return t}const Ye=new Set(["id"]),qe=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Xe=/^(data-.*)$/;function Je(e,t={}){let{labelable:n,propNames:r}=t,s={};for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(Ye.has(l)||n&&qe.has(l)||(r==null?void 0:r.has(l))||Xe.test(l))&&(s[l]=e[l]);return s}let G=new Map,be=new Set;function ge(){if(typeof window>"u")return;let e=n=>{let r=G.get(n.target);r||(r=new Set,G.set(n.target,r),n.target.addEventListener("transitioncancel",t)),r.add(n.propertyName)},t=n=>{let r=G.get(n.target);if(!!r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",t),G.delete(n.target)),G.size===0)){for(let s of be)s();be.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?ge():document.addEventListener("DOMContentLoaded",ge));const Qe=typeof window<"u"?U.default.useLayoutEffect:()=>{};let ye=new Map;function Ze(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 et(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}function Q(...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],u=r[s];typeof l=="function"&&typeof u=="function"&&s[0]==="o"&&s[1]==="n"&&s.charCodeAt(2)>=65&&s.charCodeAt(2)<=90?t[s]=et(l,u):(s==="className"||s==="UNSAFE_className")&&typeof l=="string"&&typeof u=="string"?t[s]=Ie(l,u):s==="id"&&l&&u?t.id=Ze(l,u):t[s]=u!==void 0?u:l}}return t}function F(e){if(tt())e.focus({preventScroll:!0});else{let t=nt(e);e.focus(),rt(t)}}let q=null;function tt(){if(q==null){q=!1;try{var e=document.createElement("div");e.focus({get preventScroll(){return q=!0,!0}})}catch{}}return q}function nt(e){for(var t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;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 rt(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}let _=new Map,te=new Set;function ve(){if(typeof window>"u")return;let e=n=>{let r=_.get(n.target);r||(r=new Set,_.set(n.target,r),n.target.addEventListener("transitioncancel",t)),r.add(n.propertyName)},t=n=>{let r=_.get(n.target);if(!!r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",t),_.delete(n.target)),_.size===0)){for(let s of te)s();te.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?ve():document.addEventListener("DOMContentLoaded",ve));function Me(e){requestAnimationFrame(()=>{_.size===0?e():te.add(e)})}function ot(){let e=b.useRef(new Map),t=b.useCallback((s,l,u,p)=>{let f=p!=null&&p.once?(...g)=>{e.current.delete(u),u(...g)}:u;e.current.set(u,{type:l,eventTarget:s,fn:f,options:p}),s.addEventListener(l,u,p)},[]),n=b.useCallback((s,l,u,p)=>{var f;let g=((f=e.current.get(u))===null||f===void 0?void 0:f.fn)||u;s.removeEventListener(l,g,p),e.current.delete(u)},[]),r=b.useCallback(()=>{e.current.forEach((s,l)=>{n(s.eventTarget,s.type,l,s.options)})},[n]);return b.useEffect(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}function Ae(e,t){Qe(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref.current=null}},[e,t])}function ie(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 _e(){return ie(/^Mac/i)}function st(){return ie(/^iPhone/i)}function at(){return ie(/^iPad/i)||_e()&&navigator.maxTouchPoints>1}function Fe(){return st()||at()}const it=typeof window<"u"?U.default.useLayoutEffect:()=>{};let H=new Map,$e=new Set;function he(){if(typeof window>"u")return;let e=n=>{let r=H.get(n.target);r||(r=new Set,H.set(n.target,r),n.target.addEventListener("transitioncancel",t)),r.add(n.propertyName)},t=n=>{let r=H.get(n.target);if(!!r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",t),H.delete(n.target)),H.size===0)){for(let s of $e)s();$e.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?he():document.addEventListener("DOMContentLoaded",he));function lt(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 ct(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 ut(){return ct(/^Mac/i)}function dt(){return lt(/Android/i)}function ft(e){return e.mozInputSource===0&&e.isTrusted?!0:dt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const pt=U.default.createContext(null);pt.displayName="PressResponderContext";class mt{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 bt(e){let t=b.useRef({isFocused:!1,onBlur:e,observer:null});return t.current.onBlur=e,it(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]),b.useCallback(n=>{if(n.target instanceof HTMLButtonElement||n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement||n.target instanceof HTMLSelectElement){t.current.isFocused=!0;let r=n.target,s=l=>{var u,p;t.current.isFocused=!1,r.disabled&&((p=(u=t.current).onBlur)===null||p===void 0||p.call(u,new mt("blur",l))),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};r.addEventListener("focusout",s,{once:!0}),t.current.observer=new MutationObserver(()=>{t.current.isFocused&&r.disabled&&(t.current.observer.disconnect(),r.dispatchEvent(new FocusEvent("blur")),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0})))}),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}},[])}function gt(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:s}=e;const l=b.useCallback(f=>{if(f.target===f.currentTarget)return r&&r(f),s&&s(!1),!0},[r,s]),u=bt(l),p=b.useCallback(f=>{f.target===f.currentTarget&&(n&&n(f),s&&s(!0),u(f))},[s,n,u]);return{focusProps:{onFocus:!t&&(n||s||r)?p:void 0,onBlur:!t&&(r||s)?l:null}}}let j=null,yt=new Set,ke=!1,D=!1,ne=!1;function le(e,t){for(let n of yt)n(e,t)}function vt(e){return!(e.metaKey||!ut()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function we(e){D=!0,vt(e)&&(j="keyboard",le("keyboard",e))}function I(e){j="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(D=!0,le("pointer",e))}function $t(e){ft(e)&&(D=!0,j="virtual")}function ht(e){e.target===window||e.target===document||(!D&&!ne&&(j="virtual",le("virtual",e)),D=!1,ne=!1)}function kt(){D=!1,ne=!0}function Ee(){if(typeof window>"u"||ke)return;let e=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(){D=!0,e.apply(this,arguments)},document.addEventListener("keydown",we,!0),document.addEventListener("keyup",we,!0),document.addEventListener("click",$t,!0),window.addEventListener("focus",ht,!0),window.addEventListener("blur",kt,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",I,!0),document.addEventListener("pointermove",I,!0),document.addEventListener("pointerup",I,!0)):(document.addEventListener("mousedown",I,!0),document.addEventListener("mousemove",I,!0),document.addEventListener("mouseup",I,!0)),ke=!0}typeof document<"u"&&(document.readyState!=="loading"?Ee():document.addEventListener("DOMContentLoaded",Ee));function wt(){return j}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 Et(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:Be(e.onKeyDown),onKeyUp:Be(e.onKeyUp)}}}function Bt(e){if(wt()==="virtual"){let t=document.activeElement;Me(()=>{document.activeElement===t&&document.contains(e)&&F(e)})}else F(e)}function Pt(e,t){return t.some(n=>n.contains(e))}class ce{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),l=new Pe({scopeRef:t});s.addChild(l),l.parent=s,this.fastMap.set(t,l),r&&(l.nodeToRestore=r)}removeTreeNode(t){if(t===null)return;let n=this.fastMap.get(t),r=n.parent;for(let l of this.traverse())l!==n&&n.nodeToRestore&&l.nodeToRestore&&n.scopeRef.current&&Pt(l.nodeToRestore,n.scopeRef.current)&&(l.nodeToRestore=n.nodeToRestore);let s=n.children;r.removeChild(n),s.length>0&&s.forEach(l=>r.addChild(l)),this.fastMap.delete(n.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.length>0)for(let n of t.children)yield*this.traverse(n)}clone(){let t=new ce;for(let n of this.traverse())t.addTreeNode(n.scopeRef,n.parent.scopeRef,n.nodeToRestore);return t}constructor(){this.fastMap=new Map,this.root=new Pe({scopeRef:null}),this.fastMap.set(null,this.root)}}class Pe{addChild(t){this.children.push(t),t.parent=this}removeChild(t){this.children.splice(this.children.indexOf(t),1),t.parent=void 0}constructor(t){this.children=[],this.contain=!1,this.scopeRef=t.scopeRef}}new ce;let Tt=U.default.createContext(null);function xt(e){let t=b.useContext(Tt)||{};Ae(t,e);let{ref:n,...r}=t;return r}function St(e,t){let{focusProps:n}=gt(e),{keyboardProps:r}=Et(e),s=Q(n,r),l=xt(t),u=e.isDisabled?{}:l,p=b.useRef(e.autoFocus);return b.useEffect(()=>{p.current&&t.current&&Bt(t.current),p.current=!1},[t]),{focusableProps:Q({...s,tabIndex:e.excludeFromTabOrder&&!e.isDisabled?-1:void 0},u)}}let R="default",re="",J=new WeakMap;function Te(e){Fe()?(R==="default"&&(re=document.documentElement.style.webkitUserSelect,document.documentElement.style.webkitUserSelect="none"),R="disabled"):(e instanceof HTMLElement||e instanceof SVGElement)&&(J.set(e,e.style.userSelect),e.style.userSelect="none")}function X(e){if(Fe()){if(R!=="disabled")return;R="restoring",setTimeout(()=>{Me(()=>{R==="restoring"&&(document.documentElement.style.webkitUserSelect==="none"&&(document.documentElement.style.webkitUserSelect=re||""),re="",R="default")})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&J.has(e)){let t=J.get(e);e.style.userSelect==="none"&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),J.delete(e)}}function oe(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}const Re=U.default.createContext(null);Re.displayName="PressResponderContext";function Nt(e){let t=b.useContext(Re);if(t){let{register:n,...r}=t;e=Q(r,e),n()}return Ae(t,e.ref),e}function Ct(e){let{onPress:t,onPressChange:n,onPressStart:r,onPressEnd:s,onPressUp:l,isDisabled:u,isPressed:p,preventFocusOnPress:f,shouldCancelOnPointerExit:g,allowTextSelectionOnPress:y,ref:L,...S}=Nt(e),w=b.useRef(null);w.current={onPress:t,onPressChange:n,onPressStart:r,onPressEnd:s,onPressUp:l,isDisabled:u,shouldCancelOnPointerExit:g};let[N,P]=b.useState(!1),K=b.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:E,removeAllGlobalListeners:$}=ot(),C=b.useMemo(()=>{let o=K.current,B=(i,h)=>{let{onPressStart:a,onPressChange:c,isDisabled:Y}=w.current;Y||o.didFirePressStart||(a&&a({type:"pressstart",pointerType:h,target:i.currentTarget,shiftKey:i.shiftKey,metaKey:i.metaKey,ctrlKey:i.ctrlKey,altKey:i.altKey}),c&&c(!0),o.didFirePressStart=!0,P(!0))},k=(i,h,a=!0)=>{let{onPressEnd:c,onPressChange:Y,onPress:fe,isDisabled:Ge}=w.current;!o.didFirePressStart||(o.ignoreClickAfterPress=!0,o.didFirePressStart=!1,c&&c({type:"pressend",pointerType:h,target:i.currentTarget,shiftKey:i.shiftKey,metaKey:i.metaKey,ctrlKey:i.ctrlKey,altKey:i.altKey}),Y&&Y(!1),P(!1),fe&&a&&!Ge&&fe({type:"press",pointerType:h,target:i.currentTarget,shiftKey:i.shiftKey,metaKey:i.metaKey,ctrlKey:i.ctrlKey,altKey:i.altKey}))},V=(i,h)=>{let{onPressUp:a,isDisabled:c}=w.current;c||a&&a({type:"pressup",pointerType:h,target:i.currentTarget,shiftKey:i.shiftKey,metaKey:i.metaKey,ctrlKey:i.ctrlKey,altKey:i.altKey})},x=i=>{o.isPressed&&(o.isOverTarget&&k(T(o.target,i),o.pointerType,!1),o.isPressed=!1,o.isOverTarget=!1,o.activePointerId=null,o.pointerType=null,$(),y||X(o.target))},v={onKeyDown(i){Z(i.nativeEvent,i.currentTarget)&&i.currentTarget.contains(i.target)?(Se(i.target,i.key)&&i.preventDefault(),i.stopPropagation(),!o.isPressed&&!i.repeat&&(o.target=i.currentTarget,o.isPressed=!0,B(i,"keyboard"),E(document,"keyup",Ve,!1))):i.key==="Enter"&&se(i.currentTarget)&&i.stopPropagation()},onKeyUp(i){Z(i.nativeEvent,i.currentTarget)&&!i.repeat&&i.currentTarget.contains(i.target)&&V(T(o.target,i),"keyboard")},onClick(i){i&&!i.currentTarget.contains(i.target)||i&&i.button===0&&(i.stopPropagation(),u&&i.preventDefault(),!o.ignoreClickAfterPress&&!o.ignoreEmulatedMouseEvents&&(o.pointerType==="virtual"||oe(i.nativeEvent))&&(!u&&!f&&F(i.currentTarget),B(i,"virtual"),V(i,"virtual"),k(i,"virtual")),o.ignoreEmulatedMouseEvents=!1,o.ignoreClickAfterPress=!1)}},Ve=i=>{if(o.isPressed&&Z(i,o.target)){Se(i.target,i.key)&&i.preventDefault(),i.stopPropagation(),o.isPressed=!1;let h=i.target;k(T(o.target,i),"keyboard",o.target.contains(h)),$(),o.target instanceof HTMLElement&&o.target.contains(h)&&(se(o.target)||o.target.getAttribute("role")==="link")&&o.target.click()}};if(typeof PointerEvent<"u"){v.onPointerDown=c=>{if(!(c.button!==0||!c.currentTarget.contains(c.target))){if(It(c.nativeEvent)){o.pointerType="virtual";return}ee(c.currentTarget)&&c.preventDefault(),o.pointerType=c.pointerType,c.stopPropagation(),o.isPressed||(o.isPressed=!0,o.isOverTarget=!0,o.activePointerId=c.pointerId,o.target=c.currentTarget,!u&&!f&&F(c.currentTarget),y||Te(o.target),B(c,o.pointerType),E(document,"pointermove",i,!1),E(document,"pointerup",h,!1),E(document,"pointercancel",a,!1))}},v.onMouseDown=c=>{!c.currentTarget.contains(c.target)||c.button===0&&(ee(c.currentTarget)&&c.preventDefault(),c.stopPropagation())},v.onPointerUp=c=>{!c.currentTarget.contains(c.target)||o.pointerType==="virtual"||c.button===0&&M(c,c.currentTarget)&&V(c,o.pointerType||c.pointerType)};let i=c=>{c.pointerId===o.activePointerId&&(M(c,o.target)?o.isOverTarget||(o.isOverTarget=!0,B(T(o.target,c),o.pointerType)):o.isOverTarget&&(o.isOverTarget=!1,k(T(o.target,c),o.pointerType,!1),w.current.shouldCancelOnPointerExit&&x(c)))},h=c=>{c.pointerId===o.activePointerId&&o.isPressed&&c.button===0&&(M(c,o.target)?k(T(o.target,c),o.pointerType):o.isOverTarget&&k(T(o.target,c),o.pointerType,!1),o.isPressed=!1,o.isOverTarget=!1,o.activePointerId=null,o.pointerType=null,$(),y||X(o.target))},a=c=>{x(c)};v.onDragStart=c=>{!c.currentTarget.contains(c.target)||x(c)}}else{v.onMouseDown=a=>{a.button!==0||!a.currentTarget.contains(a.target)||(ee(a.currentTarget)&&a.preventDefault(),a.stopPropagation(),!o.ignoreEmulatedMouseEvents&&(o.isPressed=!0,o.isOverTarget=!0,o.target=a.currentTarget,o.pointerType=oe(a.nativeEvent)?"virtual":"mouse",!u&&!f&&F(a.currentTarget),B(a,o.pointerType),E(document,"mouseup",i,!1)))},v.onMouseEnter=a=>{!a.currentTarget.contains(a.target)||(a.stopPropagation(),o.isPressed&&!o.ignoreEmulatedMouseEvents&&(o.isOverTarget=!0,B(a,o.pointerType)))},v.onMouseLeave=a=>{!a.currentTarget.contains(a.target)||(a.stopPropagation(),o.isPressed&&!o.ignoreEmulatedMouseEvents&&(o.isOverTarget=!1,k(a,o.pointerType,!1),w.current.shouldCancelOnPointerExit&&x(a)))},v.onMouseUp=a=>{!a.currentTarget.contains(a.target)||!o.ignoreEmulatedMouseEvents&&a.button===0&&V(a,o.pointerType)};let i=a=>{if(a.button===0){if(o.isPressed=!1,$(),o.ignoreEmulatedMouseEvents){o.ignoreEmulatedMouseEvents=!1;return}M(a,o.target)?k(T(o.target,a),o.pointerType):o.isOverTarget&&k(T(o.target,a),o.pointerType,!1),o.isOverTarget=!1}};v.onTouchStart=a=>{if(!a.currentTarget.contains(a.target))return;a.stopPropagation();let c=Dt(a.nativeEvent);!c||(o.activePointerId=c.identifier,o.ignoreEmulatedMouseEvents=!0,o.isOverTarget=!0,o.isPressed=!0,o.target=a.currentTarget,o.pointerType="touch",!u&&!f&&F(a.currentTarget),y||Te(o.target),B(a,o.pointerType),E(window,"scroll",h,!0))},v.onTouchMove=a=>{if(!a.currentTarget.contains(a.target)||(a.stopPropagation(),!o.isPressed))return;let c=xe(a.nativeEvent,o.activePointerId);c&&M(c,a.currentTarget)?o.isOverTarget||(o.isOverTarget=!0,B(a,o.pointerType)):o.isOverTarget&&(o.isOverTarget=!1,k(a,o.pointerType,!1),w.current.shouldCancelOnPointerExit&&x(a))},v.onTouchEnd=a=>{if(!a.currentTarget.contains(a.target)||(a.stopPropagation(),!o.isPressed))return;let c=xe(a.nativeEvent,o.activePointerId);c&&M(c,a.currentTarget)?(V(a,o.pointerType),k(a,o.pointerType)):o.isOverTarget&&k(a,o.pointerType,!1),o.isPressed=!1,o.activePointerId=null,o.isOverTarget=!1,o.ignoreEmulatedMouseEvents=!0,y||X(o.target),$()},v.onTouchCancel=a=>{!a.currentTarget.contains(a.target)||(a.stopPropagation(),o.isPressed&&x(a))};let h=a=>{o.isPressed&&a.target.contains(o.target)&&x({currentTarget:o.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};v.onDragStart=a=>{!a.currentTarget.contains(a.target)||x(a)}}return v},[E,u,f,$,y]);return b.useEffect(()=>()=>{y||X(K.current.target)},[y]),{isPressed:p||N,pressProps:Q(S,C)}}function se(e){return e.tagName==="A"&&e.hasAttribute("href")}function Z(e,t){const{key:n,code:r}=e,s=t,l=s.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(s instanceof HTMLInputElement&&!Ue(s,n)||s instanceof HTMLTextAreaElement||s.isContentEditable)&&(!se(s)||l==="button"&&n!=="Enter")&&!(l==="link"&&n!=="Enter")}function Dt(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function xe(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 T(e,t){return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey}}function Ot(e){let t=e.width/2||e.radiusX||0,n=e.height/2||e.radiusY||0;return{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function Lt(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function M(e,t){let n=t.getBoundingClientRect(),r=Ot(e);return Lt(n,r)}function ee(e){return!(e instanceof HTMLElement)||!e.draggable}function Se(e,t){return e instanceof HTMLInputElement?!Ue(e,t):e instanceof HTMLButtonElement?e.type!=="submit":!0}const Kt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Ue(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":Kt.has(e.type)}function It(e){return e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}let Mt=new Set,Ne=!1,O=!1,ae=!1;function ue(e,t){for(let n of Mt)n(e,t)}function At(e){return!(e.metaKey||!_e()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Ce(e){O=!0,At(e)&&ue("keyboard",e)}function A(e){(e.type==="mousedown"||e.type==="pointerdown")&&(O=!0,ue("pointer",e))}function _t(e){oe(e)&&(O=!0)}function Ft(e){e.target===window||e.target===document||(!O&&!ae&&ue("virtual",e),O=!1,ae=!1)}function Rt(){O=!1,ae=!0}function De(){if(typeof window>"u"||Ne)return;let e=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(){O=!0,e.apply(this,arguments)},document.addEventListener("keydown",Ce,!0),document.addEventListener("keyup",Ce,!0),document.addEventListener("click",_t,!0),window.addEventListener("focus",Ft,!0),window.addEventListener("blur",Rt,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",A,!0),document.addEventListener("pointermove",A,!0),document.addEventListener("pointerup",A,!0)):(document.addEventListener("mousedown",A,!0),document.addEventListener("mousemove",A,!0),document.addEventListener("mouseup",A,!0)),Ne=!0}typeof document<"u"&&(document.readyState!=="loading"?De():document.addEventListener("DOMContentLoaded",De));function Ut(e,t){let{elementType:n="button",isDisabled:r,onPress:s,onPressStart:l,onPressEnd:u,onPressChange:p,preventFocusOnPress:f,allowFocusWhenDisabled:g,onClick:y,href:L,target:S,rel:w,type:N="button"}=e,P;n==="button"?P={type:N,disabled:r}:P={role:"button",tabIndex:r?void 0:0,href:n==="a"&&r?void 0:L,target:n==="a"?S:void 0,type:n==="input"?N:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?w:void 0};let{pressProps:K,isPressed:E}=Ct({onPressStart:l,onPressEnd:u,onPressChange:p,onPress:s,isDisabled:r,preventFocusOnPress:f,ref:t}),{focusableProps:$}=St(e,t);g&&($.tabIndex=r?-1:$.tabIndex);let C=me($,K,Je(e,{labelable:!0}));return{isPressed:E,buttonProps:me(P,C,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:o=>{y&&(y(o),console.warn("onClick is deprecated, please use onPress"))}})}}function Vt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oe(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 Le(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Oe(Object(n),!0).forEach(function(r){Vt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Oe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Gt=(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},z=e=>t=>{var n=e.defaultClassName,r=Le(Le({},e.defaultVariants),t);for(var s in r){var l,u=(l=r[s])!==null&&l!==void 0?l:e.defaultVariants[s];if(u!=null){var p=u;typeof p=="boolean"&&(p=p===!0?"true":"false");var f=e.variantClassNames[s][p];f&&(n+=" "+f)}}for(var[g,y]of e.compoundVariants)Gt(g,r,e.defaultVariants)&&(n+=" "+y);return n},Ht=z({defaultClassName:"_125pcxy0",variantClassNames:{disabled:{true:"_125pcxy1",false:"_125pcxy2"},kind:{default:"_125pcxy3",link:"_125pcxy4",confirm:"_125pcxy5",delete:"_125pcxy6",key:"_125pcxy7",icon:"_125pcxy8"},spinning:{true:"_125pcxy9",false:"_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"_125pcxyb"],[{kind:"default",spinning:!0},"_125pcxyc"],[{kind:"confirm",spinning:!0},"_125pcxyd"],[{kind:"delete",spinning:!0},"_125pcxye"],[{kind:"key",spinning:!0},"_125pcxyf"],[{disabled:!0,spinning:!1},"_125pcxyg"]]}),Wt=z({defaultClassName:"_125pcxyh",variantClassNames:{disabled:{true:"_125pcxyi",false:"_125pcxyj"},kind:{icon:"_125pcxyk",default:"_125pcxyl",delete:"_125pcxym",key:"_125pcxyn",confirm:"_125pcxyo",link:"_125pcxyp"},spinning:{true:"_125pcxyq",false:"_125pcxyr"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),jt=z({defaultClassName:"_125pcxyv",variantClassNames:{kind:{icon:"_125pcxyw",default:"_125pcxyx",key:"_125pcxyy",delete:"_125pcxyz",confirm:"_125pcxy10",link:"_125pcxy11"}},defaultVariants:{kind:"default"},compoundVariants:[]}),zt=z({defaultClassName:"_125pcxy12",variantClassNames:{spinning:{true:"_125pcxy13",false:"_125pcxy14"}},defaultVariants:{spinning:!1},compoundVariants:[]}),Yt=z({defaultClassName:"_125pcxys",variantClassNames:{spinning:{true:"_125pcxyt",false:"_125pcxyu"}},defaultVariants:{spinning:!1},compoundVariants:[]});const de=d.forwardRef(({onClick:e,onPress:t,children:n,className:r,isDisabled:s,disabled:l,href:u,icon:p,kind:f="default",spinning:g,spinningTitle:y,...L},S)=>{var B;const w={onPress:t!=null?t:e,isDisabled:(B=l!=null?l:s)!=null?B:g,...L},{"data-testid":N}=L,P=S!=null?S:d.useRef(null),{buttonProps:K}=Ut(w,P),{t:E}=d.useContext(W.I18nContext),$=p&&d.createElement(W.Icon,{className:jt({kind:f}),icon:p,"aria-hidden":"true","data-testid":`${N}__${p}-icon`});let C;f==="default"||f==="icon"||f==="link"?C="dark":C="light";const o=g&&d.createElement(W.Spinner,{color:C,className:zt({spinning:g}),title:y||E("design-system:button.spinningTitle"),"data-testid":`${N}__spinner`});return d.createElement("div",{className:W.cl(Ht({disabled:s||l,kind:f,spinning:g}),r)},u?d.createElement("a",{className:Yt({spinning:g}),...L,href:u},$,n,o):d.createElement(d.Fragment,null,d.createElement("button",{className:Wt({disabled:s||l,kind:f,spinning:g}),disabled:s,...K,ref:P},$,n,o)))});W.Metadata.set(de,{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 qt={components:[de],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:m.code`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("react"),G=require("@sps-woodland/core"),g=require("@spscommerce/utils"),Re=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function Ue(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 o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const ce=Re(y),d=Ue(y);function De(e){var t,n,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=De(e[t]))&&(o&&(o+=" "),o+=n);else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function Ve(){for(var e,t,n=0,o="";n<arguments.length;)(e=arguments[n++])&&(t=De(e))&&(o&&(o+=" "),o+=t);return o}const ue=typeof document<"u"?ce.default.useLayoutEffect:()=>{};function A(e){const t=y.useRef(null);return ue(()=>{t.current=e},[e]),y.useCallback((...n)=>{const o=t.current;return o(...n)},[])}let ge=new Map;function Ge(e,t){if(e===t)return e;let n=ge.get(e);if(n)return n(t),t;let o=ge.get(t);return o?(o(e),e):t}function We(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const D=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},oe=e=>e&&"window"in e&&e.window===e?e:D(e).defaultView||window;function U(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let o=e[n];for(let s in o){let u=t[s],c=o[s];typeof u=="function"&&typeof c=="function"&&s[0]==="o"&&s[1]==="n"&&s.charCodeAt(2)>=65&&s.charCodeAt(2)<=90?t[s]=We(u,c):(s==="className"||s==="UNSAFE_className")&&typeof u=="string"&&typeof c=="string"?t[s]=Ve(u,c):s==="id"&&u&&c?t.id=Ge(u,c):t[s]=c!==void 0?c:u}}return t}const He=new Set(["id"]),je=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),ze=new Set(["href","target","rel","download","ping","referrerPolicy"]),Ye=/^(data-.*)$/;function qe(e,t={}){let{labelable:n,isLink:o,propNames:s}=t,u={};for(const c in e)Object.prototype.hasOwnProperty.call(e,c)&&(He.has(c)||n&&je.has(c)||o&&ze.has(c)||(s==null?void 0:s.has(c))||Ye.test(c))&&(u[c]=e[c]);return u}function K(e){if(Xe())e.focus({preventScroll:!0});else{let t=Je(e);e.focus(),Qe(t)}}let q=null;function Xe(){if(q==null){q=!1;try{var e=document.createElement("div");e.focus({get preventScroll(){return q=!0,!0}})}catch{}}return q}function Je(e){for(var t=e.parentNode,n=[],o=document.scrollingElement||document.documentElement;t instanceof HTMLElement&&t!==o;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return o instanceof HTMLElement&&n.push({element:o,scrollTop:o.scrollTop,scrollLeft:o.scrollLeft}),n}function Qe(e){for(let{element:t,scrollTop:n,scrollLeft:o}of e)t.scrollTop=n,t.scrollLeft=o}function ee(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 de(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 W(){return de(/^Mac/i)}function Ze(){return de(/^iPhone/i)}function Oe(){return de(/^iPad/i)||W()&&navigator.maxTouchPoints>1}function Ce(){return Ze()||Oe()}function et(){return ee(/AppleWebKit/i)&&!tt()}function tt(){return ee(/Chrome/i)}function _e(){return ee(/Android/i)}function nt(){return ee(/Firefox/i)}function H(e,t,n=!0){var o,s;let{metaKey:u,ctrlKey:c,altKey:m,shiftKey:p}=t;nt()&&((s=window.event)===null||s===void 0||(o=s.type)===null||o===void 0?void 0:o.startsWith("key"))&&e.target==="_blank"&&(W()?u=!0:c=!0);let h=et()&&W()&&!Oe()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:u,ctrlKey:c,altKey:m,shiftKey:p}):new MouseEvent("click",{metaKey:u,ctrlKey:c,altKey:m,shiftKey:p,bubbles:!0,cancelable:!0});H.isOpening=n,K(e),e.dispatchEvent(h),H.isOpening=!1}H.isOpening=!1;let F=new Map,se=new Set;function ve(){if(typeof window>"u")return;let e=n=>{let o=F.get(n.target);o||(o=new Set,F.set(n.target,o),n.target.addEventListener("transitioncancel",t)),o.add(n.propertyName)},t=n=>{let o=F.get(n.target);if(!!o&&(o.delete(n.propertyName),o.size===0&&(n.target.removeEventListener("transitioncancel",t),F.delete(n.target)),F.size===0)){for(let s of se)s();se.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?ve():document.addEventListener("DOMContentLoaded",ve));function Ke(e){requestAnimationFrame(()=>{F.size===0?e():se.add(e)})}function rt(){let e=y.useRef(new Map),t=y.useCallback((s,u,c,m)=>{let p=m!=null&&m.once?(...h)=>{e.current.delete(c),c(...h)}:c;e.current.set(c,{type:u,eventTarget:s,fn:p,options:m}),s.addEventListener(u,c,m)},[]),n=y.useCallback((s,u,c,m)=>{var p;let h=((p=e.current.get(c))===null||p===void 0?void 0:p.fn)||c;s.removeEventListener(u,h,m),e.current.delete(c)},[]),o=y.useCallback(()=>{e.current.forEach((s,u)=>{n(s.eventTarget,s.type,u,s.options)})},[n]);return y.useEffect(()=>o,[o]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:o}}function Le(e,t){ue(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref.current=null}})}function ae(e){return e.mozInputSource===0&&e.isTrusted?!0:_e()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function ot(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 st(e,t){return t.get?t.get.call(e):t.value}function Ie(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function at(e,t){var n=Ie(e,t,"get");return st(e,n)}function it(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function lt(e,t,n){it(e,t),t.set(e,n)}function ct(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 ye(e,t,n){var o=Ie(e,t,"set");return ct(e,o,n),n}let R="default",ie="",Z=new WeakMap;function he(e){if(Ce()){if(R==="default"){const t=D(e);ie=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}R="disabled"}else(e instanceof HTMLElement||e instanceof SVGElement)&&(Z.set(e,e.style.userSelect),e.style.userSelect="none")}function X(e){if(Ce()){if(R!=="disabled")return;R="restoring",setTimeout(()=>{Ke(()=>{if(R==="restoring"){const t=D(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ie||""),ie="",R="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Z.has(e)){let t=Z.get(e);e.style.userSelect==="none"&&t&&(e.style.userSelect=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Z.delete(e)}}const Me=ce.default.createContext({register:()=>{}});Me.displayName="PressResponderContext";function ut(e){let t=y.useContext(Me);if(t){let{register:n,...o}=t;e=U(o,e),n()}return Le(t,e.ref),e}var J=new WeakMap;class Q{continuePropagation(){ye(this,J,!1)}get shouldStopPropagation(){return at(this,J)}constructor(t,n,o){lt(this,J,{writable:!0,value:void 0}),ye(this,J,!0),this.type=t,this.pointerType=n,this.target=o.currentTarget,this.shiftKey=o.shiftKey,this.metaKey=o.metaKey,this.ctrlKey=o.ctrlKey,this.altKey=o.altKey}}const $e=Symbol("linkClicked");function dt(e){let{onPress:t,onPressChange:n,onPressStart:o,onPressEnd:s,onPressUp:u,isDisabled:c,isPressed:m,preventFocusOnPress:p,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:k,ref:O,...C}=ut(e),[V,_]=y.useState(!1),P=y.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,ignoreClickAfterPress:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null}),{addGlobalListener:T,removeAllGlobalListeners:S}=rt(),w=A((r,f)=>{let x=P.current;if(c||x.didFirePressStart)return!1;let l=!0;if(x.isTriggeringEvent=!0,o){let b=new Q("pressstart",f,r);o(b),l=b.shouldStopPropagation}return n&&n(!0),x.isTriggeringEvent=!1,x.didFirePressStart=!0,_(!0),l}),v=A((r,f,x=!0)=>{let l=P.current;if(!l.didFirePressStart)return!1;l.ignoreClickAfterPress=!0,l.didFirePressStart=!1,l.isTriggeringEvent=!0;let b=!0;if(s){let a=new Q("pressend",f,r);s(a),b=a.shouldStopPropagation}if(n&&n(!1),_(!1),t&&x&&!c){let a=new Q("press",f,r);t(a),b&&(b=a.shouldStopPropagation)}return l.isTriggeringEvent=!1,b}),E=A((r,f)=>{let x=P.current;if(c)return!1;if(u){x.isTriggeringEvent=!0;let l=new Q("pressup",f,r);return u(l),x.isTriggeringEvent=!1,l.shouldStopPropagation}return!0}),B=A(r=>{let f=P.current;f.isPressed&&f.target&&(f.isOverTarget&&f.pointerType!=null&&v(N(f.target,r),f.pointerType,!1),f.isPressed=!1,f.isOverTarget=!1,f.activePointerId=null,f.pointerType=null,S(),k||X(f.target))}),Y=A(r=>{h&&B(r)}),Fe=y.useMemo(()=>{let r=P.current,f={onKeyDown(l){if(ne(l.nativeEvent,l.currentTarget)&&l.currentTarget.contains(l.target)){var b;we(l.target,l.key)&&l.preventDefault();let a=!0;!r.isPressed&&!l.repeat&&(r.target=l.currentTarget,r.isPressed=!0,a=w(l,"keyboard"),T(D(l.currentTarget),"keyup",x,!1)),a&&l.stopPropagation(),l.metaKey&&W()&&((b=r.metaKeyEvents)===null||b===void 0||b.set(l.key,l.nativeEvent))}else l.key==="Meta"&&(r.metaKeyEvents=new Map)},onKeyUp(l){ne(l.nativeEvent,l.currentTarget)&&!l.repeat&&l.currentTarget.contains(l.target)&&r.target&&E(N(r.target,l),"keyboard")},onClick(l){if(!(l&&!l.currentTarget.contains(l.target))&&l&&l.button===0&&!r.isTriggeringEvent&&!H.isOpening){let b=!0;if(c&&l.preventDefault(),!r.ignoreClickAfterPress&&!r.ignoreEmulatedMouseEvents&&!r.isPressed&&(r.pointerType==="virtual"||ae(l.nativeEvent))){!c&&!p&&K(l.currentTarget);let a=w(l,"virtual"),i=E(l,"virtual"),$=v(l,"virtual");b=a&&i&&$}r.ignoreEmulatedMouseEvents=!1,r.ignoreClickAfterPress=!1,b&&l.stopPropagation()}}},x=l=>{var b;if(r.isPressed&&r.target&&ne(l,r.target)){var a;we(l.target,l.key)&&l.preventDefault();let $=l.target,te=v(N(r.target,l),"keyboard",r.target.contains($));S(),te&&l.stopPropagation(),l.key!=="Enter"&&pe(r.target)&&r.target.contains($)&&!l[$e]&&(l[$e]=!0,H(r.target,l,!1)),r.isPressed=!1,(a=r.metaKeyEvents)===null||a===void 0||a.delete(l.key)}else if(l.key==="Meta"&&((b=r.metaKeyEvents)===null||b===void 0?void 0:b.size)){var i;let $=r.metaKeyEvents;r.metaKeyEvents=void 0;for(let te of $.values())(i=r.target)===null||i===void 0||i.dispatchEvent(new KeyboardEvent("keyup",te))}};if(typeof PointerEvent<"u"){f.onPointerDown=i=>{if(i.button!==0||!i.currentTarget.contains(i.target))return;if(ot(i.nativeEvent)){r.pointerType="virtual";return}re(i.currentTarget)&&i.preventDefault(),r.pointerType=i.pointerType;let $=!0;r.isPressed||(r.isPressed=!0,r.isOverTarget=!0,r.activePointerId=i.pointerId,r.target=i.currentTarget,!c&&!p&&K(i.currentTarget),k||he(r.target),$=w(i,r.pointerType),T(D(i.currentTarget),"pointermove",l,!1),T(D(i.currentTarget),"pointerup",b,!1),T(D(i.currentTarget),"pointercancel",a,!1)),$&&i.stopPropagation()},f.onMouseDown=i=>{!i.currentTarget.contains(i.target)||i.button===0&&(re(i.currentTarget)&&i.preventDefault(),i.stopPropagation())},f.onPointerUp=i=>{!i.currentTarget.contains(i.target)||r.pointerType==="virtual"||i.button===0&&I(i,i.currentTarget)&&E(i,r.pointerType||i.pointerType)};let l=i=>{i.pointerId===r.activePointerId&&(r.target&&I(i,r.target)?!r.isOverTarget&&r.pointerType!=null&&(r.isOverTarget=!0,w(N(r.target,i),r.pointerType)):r.target&&r.isOverTarget&&r.pointerType!=null&&(r.isOverTarget=!1,v(N(r.target,i),r.pointerType,!1),Y(i)))},b=i=>{i.pointerId===r.activePointerId&&r.isPressed&&i.button===0&&r.target&&(I(i,r.target)&&r.pointerType!=null?v(N(r.target,i),r.pointerType):r.isOverTarget&&r.pointerType!=null&&v(N(r.target,i),r.pointerType,!1),r.isPressed=!1,r.isOverTarget=!1,r.activePointerId=null,r.pointerType=null,S(),k||X(r.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(re(a.currentTarget)&&a.preventDefault(),r.ignoreEmulatedMouseEvents){a.stopPropagation();return}r.isPressed=!0,r.isOverTarget=!0,r.target=a.currentTarget,r.pointerType=ae(a.nativeEvent)?"virtual":"mouse",!c&&!p&&K(a.currentTarget),w(a,r.pointerType)&&a.stopPropagation(),T(D(a.currentTarget),"mouseup",l,!1)},f.onMouseEnter=a=>{if(!a.currentTarget.contains(a.target))return;let i=!0;r.isPressed&&!r.ignoreEmulatedMouseEvents&&r.pointerType!=null&&(r.isOverTarget=!0,i=w(a,r.pointerType)),i&&a.stopPropagation()},f.onMouseLeave=a=>{if(!a.currentTarget.contains(a.target))return;let i=!0;r.isPressed&&!r.ignoreEmulatedMouseEvents&&r.pointerType!=null&&(r.isOverTarget=!1,i=v(a,r.pointerType,!1),Y(a)),i&&a.stopPropagation()},f.onMouseUp=a=>{!a.currentTarget.contains(a.target)||!r.ignoreEmulatedMouseEvents&&a.button===0&&E(a,r.pointerType||"mouse")};let l=a=>{if(a.button===0){if(r.isPressed=!1,S(),r.ignoreEmulatedMouseEvents){r.ignoreEmulatedMouseEvents=!1;return}r.target&&I(a,r.target)&&r.pointerType!=null?v(N(r.target,a),r.pointerType):r.target&&r.isOverTarget&&r.pointerType!=null&&v(N(r.target,a),r.pointerType,!1),r.isOverTarget=!1}};f.onTouchStart=a=>{if(!a.currentTarget.contains(a.target))return;let i=pt(a.nativeEvent);if(!i)return;r.activePointerId=i.identifier,r.ignoreEmulatedMouseEvents=!0,r.isOverTarget=!0,r.isPressed=!0,r.target=a.currentTarget,r.pointerType="touch",!c&&!p&&K(a.currentTarget),k||he(r.target),w(a,r.pointerType)&&a.stopPropagation(),T(oe(a.currentTarget),"scroll",b,!0)},f.onTouchMove=a=>{if(!a.currentTarget.contains(a.target))return;if(!r.isPressed){a.stopPropagation();return}let i=ke(a.nativeEvent,r.activePointerId),$=!0;i&&I(i,a.currentTarget)?!r.isOverTarget&&r.pointerType!=null&&(r.isOverTarget=!0,$=w(a,r.pointerType)):r.isOverTarget&&r.pointerType!=null&&(r.isOverTarget=!1,$=v(a,r.pointerType,!1),Y(a)),$&&a.stopPropagation()},f.onTouchEnd=a=>{if(!a.currentTarget.contains(a.target))return;if(!r.isPressed){a.stopPropagation();return}let i=ke(a.nativeEvent,r.activePointerId),$=!0;i&&I(i,a.currentTarget)&&r.pointerType!=null?(E(a,r.pointerType),$=v(a,r.pointerType)):r.isOverTarget&&r.pointerType!=null&&($=v(a,r.pointerType,!1)),$&&a.stopPropagation(),r.isPressed=!1,r.activePointerId=null,r.isOverTarget=!1,r.ignoreEmulatedMouseEvents=!0,r.target&&!k&&X(r.target),S()},f.onTouchCancel=a=>{!a.currentTarget.contains(a.target)||(a.stopPropagation(),r.isPressed&&B(a))};let b=a=>{r.isPressed&&a.target.contains(r.target)&&B({currentTarget:r.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};f.onDragStart=a=>{!a.currentTarget.contains(a.target)||B(a)}}return f},[T,c,p,S,k,B,Y,v,w,E]);return y.useEffect(()=>()=>{var r;k||X((r=P.current.target)!==null&&r!==void 0?r:void 0)},[k]),{isPressed:m||V,pressProps:U(C,Fe)}}function pe(e){return e.tagName==="A"&&e.hasAttribute("href")}function ne(e,t){const{key:n,code:o}=e,s=t,u=s.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||o==="Space")&&!(s instanceof oe(s).HTMLInputElement&&!Ae(s,n)||s instanceof oe(s).HTMLTextAreaElement||s.isContentEditable)&&!((u==="link"||!u&&pe(s))&&n!=="Enter")}function pt(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function ke(e,t){const n=e.changedTouches;for(let o=0;o<n.length;o++){const s=n[o];if(s.identifier===t)return s}return null}function N(e,t){return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey}}function ft(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 mt(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function I(e,t){let n=t.getBoundingClientRect(),o=ft(e);return mt(n,o)}function re(e){return!(e instanceof HTMLElement)||!e.hasAttribute("draggable")}function we(e,t){return e instanceof HTMLInputElement?!Ae(e,t):e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!pe(e)}const bt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Ae(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":bt.has(e.type)}class gt{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 vt(e){let t=y.useRef({isFocused:!1,observer:null});ue(()=>{const o=t.current;return()=>{o.observer&&(o.observer.disconnect(),o.observer=null)}},[]);let n=A(o=>{e==null||e(o)});return y.useCallback(o=>{if(o.target instanceof HTMLButtonElement||o.target instanceof HTMLInputElement||o.target instanceof HTMLTextAreaElement||o.target instanceof HTMLSelectElement){t.current.isFocused=!0;let s=o.target,u=c=>{t.current.isFocused=!1,s.disabled&&n(new gt("blur",c)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};s.addEventListener("focusout",u,{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 yt(e){let{isDisabled:t,onFocus:n,onBlur:o,onFocusChange:s}=e;const u=y.useCallback(p=>{if(p.target===p.currentTarget)return o&&o(p),s&&s(!1),!0},[o,s]),c=vt(u),m=y.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||o)?m:void 0,onBlur:!t&&(o||s)?u:void 0}}}let j=null,ht=new Set,Te=!1,L=!1,le=!1;function fe(e,t){for(let n of ht)n(e,t)}function $t(e){return!(e.metaKey||!W()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Pe(e){L=!0,$t(e)&&(j="keyboard",fe("keyboard",e))}function M(e){j="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(L=!0,fe("pointer",e))}function kt(e){ae(e)&&(L=!0,j="virtual")}function wt(e){e.target===window||e.target===document||(!L&&!le&&(j="virtual",fe("virtual",e)),L=!1,le=!1)}function Tt(){L=!1,le=!0}function Be(){if(typeof window>"u"||Te)return;let e=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(){L=!0,e.apply(this,arguments)},document.addEventListener("keydown",Pe,!0),document.addEventListener("keyup",Pe,!0),document.addEventListener("click",kt,!0),window.addEventListener("focus",wt,!0),window.addEventListener("blur",Tt,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",M,!0),document.addEventListener("pointermove",M,!0),document.addEventListener("pointerup",M,!0)):(document.addEventListener("mousedown",M,!0),document.addEventListener("mousemove",M,!0),document.addEventListener("mouseup",M,!0)),Te=!0}typeof document<"u"&&(document.readyState!=="loading"?Be():document.addEventListener("DOMContentLoaded",Be));function Pt(){return j}function Ee(e){if(!e)return;let t=!0;return n=>{let o={...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(o),t&&n.stopPropagation()}}function Bt(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:Ee(e.onKeyDown),onKeyUp:Ee(e.onKeyUp)}}}function Et(e){if(Pt()==="virtual"){let t=document.activeElement;Ke(()=>{document.activeElement===t&&document.contains(e)&&K(e)})}else K(e)}function xt(e,t){return!e||!t?!1:t.some(n=>n.contains(e))}class me{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,n,o){let s=this.fastMap.get(n!=null?n:null);if(!s)return;let u=new xe({scopeRef:t});s.addChild(u),u.parent=s,this.fastMap.set(t,u),o&&(u.nodeToRestore=o)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let n=this.fastMap.get(t);if(!n)return;let o=n.parent;for(let u of this.traverse())u!==n&&n.nodeToRestore&&u.nodeToRestore&&n.scopeRef&&n.scopeRef.current&&xt(u.nodeToRestore,n.scopeRef.current)&&(u.nodeToRestore=n.nodeToRestore);let s=n.children;o&&(o.removeChild(n),s.size>0&&s.forEach(u=>o&&o.addChild(u))),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 me;var o;for(let s of this.traverse())n.addTreeNode(s.scopeRef,(o=(t=s.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&o!==void 0?o: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 me;let St=ce.default.createContext(null);function Nt(e){let t=y.useContext(St)||{};Le(t,e);let{ref:n,...o}=t;return o}function Dt(e,t){let{focusProps:n}=yt(e),{keyboardProps:o}=Bt(e),s=U(n,o),u=Nt(t),c=e.isDisabled?{}:u,m=y.useRef(e.autoFocus);return y.useEffect(()=>{m.current&&t.current&&Et(t.current),m.current=!1},[t]),{focusableProps:U({...s,tabIndex:e.excludeFromTabOrder&&!e.isDisabled?-1:void 0},c)}}function Ot(e,t){let{elementType:n="button",isDisabled:o,onPress:s,onPressStart:u,onPressEnd:c,onPressUp:m,onPressChange:p,preventFocusOnPress:h,allowFocusWhenDisabled:k,onClick:O,href:C,target:V,rel:_,type:P="button"}=e,T;n==="button"?T={type:P,disabled:o}:T={role:"button",tabIndex:o?void 0:0,href:n==="a"&&o?void 0:C,target:n==="a"?V:void 0,type:n==="input"?P:void 0,disabled:n==="input"?o:void 0,"aria-disabled":!o||n==="input"?void 0:o,rel:n==="a"?_:void 0};let{pressProps:S,isPressed:w}=dt({onPressStart:u,onPressEnd:c,onPressChange:p,onPress:s,onPressUp:m,isDisabled:o,preventFocusOnPress:h,ref:t}),{focusableProps:v}=Dt(e,t);k&&(v.tabIndex=o?-1:v.tabIndex);let E=U(v,S,qe(e,{labelable:!0}));return{isPressed:w,buttonProps:U(T,E,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],onClick:B=>{O&&(O(B),console.warn("onClick is deprecated, please use onPress"))}})}}function Ct(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 o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,o)}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(o){Ct(e,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Se(Object(n)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(n,o))})}return e}var _t=(e,t,n)=>{for(var o of Object.keys(e)){var s;if(e[o]!==((s=t[o])!==null&&s!==void 0?s:n[o]))return!1}return!0},z=e=>t=>{var n=e.defaultClassName,o=Ne(Ne({},e.defaultVariants),t);for(var s in o){var u,c=(u=o[s])!==null&&u!==void 0?u: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[h,k]of e.compoundVariants)_t(h,o,e.defaultVariants)&&(n+=" "+k);return n},Kt=z({defaultClassName:"_125pcxy0",variantClassNames:{disabled:{true:"_125pcxy1",false:"_125pcxy2"},kind:{default:"_125pcxy3",link:"_125pcxy4",confirm:"_125pcxy5",delete:"_125pcxy6",key:"_125pcxy7",icon:"_125pcxy8"},spinning:{true:"_125pcxy9",false:"_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"_125pcxyb"],[{kind:"default",spinning:!0},"_125pcxyc"],[{kind:"confirm",spinning:!0},"_125pcxyd"],[{kind:"delete",spinning:!0},"_125pcxye"],[{kind:"key",spinning:!0},"_125pcxyf"],[{disabled:!0,spinning:!1},"_125pcxyg"]]}),Lt=z({defaultClassName:"_125pcxyh",variantClassNames:{disabled:{true:"_125pcxyi",false:"_125pcxyj"},kind:{icon:"_125pcxyk",default:"_125pcxyl",delete:"_125pcxym",key:"_125pcxyn",confirm:"_125pcxyo",link:"_125pcxyp"},spinning:{true:"_125pcxyq",false:"_125pcxyr"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),It=z({defaultClassName:"_125pcxyv",variantClassNames:{kind:{icon:"_125pcxyw",default:"_125pcxyx",key:"_125pcxyy",delete:"_125pcxyz",confirm:"_125pcxy10",link:"_125pcxy11"}},defaultVariants:{kind:"default"},compoundVariants:[]}),Mt=z({defaultClassName:"_125pcxy12",variantClassNames:{spinning:{true:"_125pcxy13",false:"_125pcxy14"}},defaultVariants:{spinning:!1},compoundVariants:[]}),At=z({defaultClassName:"_125pcxys",variantClassNames:{spinning:{true:"_125pcxyt",false:"_125pcxyu"}},defaultVariants:{spinning:!1},compoundVariants:[]});const be=d.forwardRef(({onClick:e,onPress:t,children:n,className:o,isDisabled:s,disabled:u,href:c,icon:m,kind:p="default",spinning:h,spinningTitle:k,...O},C)=>{var B;const V={onPress:t!=null?t:e,isDisabled:(B=u!=null?u:s)!=null?B:h,...O},{"data-testid":_}=O,P=C!=null?C:d.useRef(null),{buttonProps:T}=Ot(V,P),{t:S}=d.useContext(G.I18nContext),w=m&&d.createElement(G.Icon,{className:It({kind:p}),icon:m,"aria-hidden":"true","data-testid":`${_}__${m}-icon`});let v;p==="default"||p==="icon"||p==="link"?v="dark":v="light";const E=h&&d.createElement(G.Spinner,{color:v,className:Mt({spinning:h}),title:k||S("design-system:button.spinningTitle"),"data-testid":`${_}__spinner`});return d.createElement("div",{className:G.cl(Kt({disabled:s||u,kind:p,spinning:h}),o)},c?d.createElement("a",{className:At({spinning:h}),...O,href:c},w,n,E):d.createElement(d.Fragment,null,d.createElement("button",{className:Lt({disabled:s||u,kind:p,spinning:h}),disabled:s,...T,ref:P},w,n,E)))});G.Metadata.set(be,{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 Ft={components:[be],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
 
@@ -13,7 +13,7 @@
13
13
  </>
14
14
  )
15
15
  }
16
- `},withIcons:{description:"With Icons",react:m.code`
16
+ `},withIcons:{description:"With Icons",react:g.code`
17
17
  import { Button } from "@sps-woodland/buttons";
18
18
  import { sprinkles } from "@sps-woodland/tokens";
19
19
 
@@ -28,7 +28,7 @@
28
28
  </>
29
29
  )
30
30
  }
31
- `},spinning:{description:"Spinning",react:m.code`
31
+ `},spinning:{description:"Spinning",react:g.code`
32
32
  import { Button } from "@sps-woodland/buttons";
33
33
  import { sprinkles } from "@sps-woodland/tokens";
34
34
 
@@ -42,7 +42,7 @@
42
42
  </>
43
43
  )
44
44
  }
45
- `}}},dropdown:{label:"Dropdown Buttons",description:"Use these for actions that need to select an option to proceed. Example: Download button with optiosn related to the file format (PDF, PPT, etc.).",examples:{withoutIcons:{description:"Without Icons",react:m.code`
45
+ `}}},dropdown:{label:"Dropdown Buttons",description:"Use these for actions that need to select an option to proceed. Example: Download button with optiosn related to the file format (PDF, PPT, etc.).",examples:{withoutIcons:{description:"Without Icons",react:g.code`
46
46
  import { SpsDropdown } from "@spscommerce/ds-react";
47
47
 
48
48
  function Component() {
@@ -80,7 +80,7 @@
80
80
  </>
81
81
  )
82
82
  }
83
- `},withIcons:{description:"With Icons",react:m.code`
83
+ `},withIcons:{description:"With Icons",react:g.code`
84
84
  import { SpsDropdown } from "@spscommerce/ds-react";
85
85
 
86
86
  function Component() {
@@ -123,7 +123,7 @@
123
123
  </>
124
124
  )
125
125
  }
126
- `},spinning:{description:"Spinning",react:m.code`
126
+ `},spinning:{description:"Spinning",react:g.code`
127
127
  import { SpsDropdown } from "@spscommerce/ds-react";
128
128
 
129
129
  function Component() {
@@ -159,7 +159,7 @@
159
159
  </>
160
160
  )
161
161
  }
162
- `}}},splitButtons:{label:"Split Buttons",description:"Use when there is 1 primary action and other related actions can be taken.",examples:{withoutIcons:{description:"Without Icons",react:m.code`
162
+ `}}},splitButtons:{label:"Split Buttons",description:"Use when there is 1 primary action and other related actions can be taken.",examples:{withoutIcons:{description:"Without Icons",react:g.code`
163
163
  import { SpsSplitButton } from "@spscommerce/ds-react";
164
164
 
165
165
  function Component() {
@@ -185,7 +185,7 @@
185
185
  </>
186
186
  )
187
187
  }
188
- `},withIcons:{description:"With Icons",react:m.code`
188
+ `},withIcons:{description:"With Icons",react:g.code`
189
189
  import { SpsSplitButton } from "@spscommerce/ds-react";
190
190
 
191
191
  function Component() {
@@ -223,7 +223,7 @@
223
223
  </>
224
224
  )
225
225
  }
226
- `}}},iconButtons:{label:"Icon Buttons",description:({NavigateTo:e,Link:t})=>d.createElement(d.Fragment,null,d.createElement("p",null,"Use these for quick actions that can clearly be articulated by the use of an icon. Example: A Print button in the"," ",d.createElement(e,{to:"list-action-bar"},"List Action Bar"),". Do not use an icon that doesn't have a universally understood meaning; instead use a Basic Button or a Basic Button with an icon. ",d.createElement(t,{to:"/style-and-layout/icons/"},"View All Icons"))),examples:{standard:{description:"Standard Icon Buttons",react:m.code`
226
+ `}}},iconButtons:{label:"Icon Buttons",description:({NavigateTo:e,Link:t})=>d.createElement(d.Fragment,null,d.createElement("p",null,"Use these for quick actions that can clearly be articulated by the use of an icon. Example: A Print button in the"," ",d.createElement(e,{to:"list-action-bar"},"List Action Bar"),". Do not use an icon that doesn't have a universally understood meaning; instead use a Basic Button or a Basic Button with an icon. ",d.createElement(t,{to:"/style-and-layout/icons/"},"View All Icons"))),examples:{standard:{description:"Standard Icon Buttons",react:g.code`
227
227
  import { Button } from "@sps-woodland/buttons";
228
228
  import { sprinkles } from "@sps-woodland/tokens";
229
229
 
@@ -242,7 +242,7 @@
242
242
  </>
243
243
  )
244
244
  }
245
- `},dropdown:{description:({NavigateTo:e})=>d.createElement(d.Fragment,null,d.createElement("h5",null,"Dropdown Icon Buttons"),d.createElement("p",null,"Use these when there are several options available for action. Example: Dropdown Icon Button in a ",d.createElement(e,{to:"content-rows"},"Content Row"),".")),react:m.code`
245
+ `},dropdown:{description:({NavigateTo:e})=>d.createElement(d.Fragment,null,d.createElement("h5",null,"Dropdown Icon Buttons"),d.createElement("p",null,"Use these when there are several options available for action. Example: Dropdown Icon Button in a ",d.createElement(e,{to:"content-rows"},"Content Row"),".")),react:g.code`
246
246
  import { SpsDropdown } from "@spscommerce/ds-react";
247
247
 
248
248
  function Component() {
@@ -256,7 +256,7 @@
256
256
  </>
257
257
  )
258
258
  }
259
- `},spinner:{description:"Spinner",react:m.code`
259
+ `},spinner:{description:"Spinner",react:g.code`
260
260
  import { Button } from "@sps-woodland/buttons";
261
261
 
262
262
  function Component() {
@@ -266,7 +266,7 @@
266
266
  </>
267
267
  )
268
268
  }
269
- `}}},textButtons:{label:"Text Buttons",description:({NavigateTo:e})=>d.createElement("p",null,"Use for less important actions, or ones that aren't taken as frequently. They should not appear inline with other copy. Example: Advanced Search button in the"," ",d.createElement(e,{to:"list-toolbar"},"List Toolbar")),examples:{withoutIcons:{description:"Without Icons",react:m.code`
269
+ `}}},textButtons:{label:"Text Buttons",description:({NavigateTo:e})=>d.createElement("p",null,"Use for less important actions, or ones that aren't taken as frequently. They should not appear inline with other copy. Example: Advanced Search button in the"," ",d.createElement(e,{to:"list-toolbar"},"List Toolbar")),examples:{withoutIcons:{description:"Without Icons",react:g.code`
270
270
  import { Button } from "@sps-woodland/buttons";
271
271
  import { sprinkles } from "@sps-woodland/tokens";
272
272
 
@@ -279,7 +279,7 @@
279
279
  </>
280
280
  )
281
281
  }
282
- `},withIcons:{description:"With Icons",react:m.code`
282
+ `},withIcons:{description:"With Icons",react:g.code`
283
283
  import { Button } from "@sps-woodland/buttons";
284
284
  import { sprinkles } from "@sps-woodland/tokens";
285
285
 
@@ -292,7 +292,7 @@
292
292
  </>
293
293
  )
294
294
  }
295
- `},spinner:{description:"Spinner",react:m.code`
295
+ `},spinner:{description:"Spinner",react:g.code`
296
296
  import { Button } from "@sps-woodland/buttons";
297
297
 
298
298
  function Component() {
@@ -302,7 +302,7 @@
302
302
  </>
303
303
  )
304
304
  }
305
- `}}},submitButtons:{label:"Submit Buttons",description:({NavigateTo:e})=>d.createElement("p",null,"Use to submit a form. There can be a number of visual variations, for example a"," ",d.createElement(e,{to:"modals"},"Modal")," uses Basic Button (Key) as its Submit Button."),examples:{basic:{react:m.code`
305
+ `}}},submitButtons:{label:"Submit Buttons",description:({NavigateTo:e})=>d.createElement("p",null,"Use to submit a form. There can be a number of visual variations, for example a"," ",d.createElement(e,{to:"modals"},"Modal")," uses Basic Button (Key) as its Submit Button."),examples:{basic:{react:g.code`
306
306
  import { Button } from "@sps-woodland/buttons";
307
307
  import { sprinkles } from "@sps-woodland/tokens";
308
308
 
@@ -321,7 +321,7 @@
321
321
  </SpsForm>
322
322
  )
323
323
  }
324
- `}}},link:{label:"Button as a Link",description:"Used to link to another page, such as an external website. They may open in the same window or in a new one. It should only be used when a Text Button doesn't provide enough visual emphasis.",examples:{basic:{react:m.code`
324
+ `}}},link:{label:"Button as a Link",description:"Used to link to another page, such as an external website. They may open in the same window or in a new one. It should only be used when a Text Button doesn't provide enough visual emphasis.",examples:{basic:{react:g.code`
325
325
  import { Button } from "@sps-woodland/buttons";
326
326
 
327
327
  function Component() {
@@ -333,7 +333,7 @@
333
333
  </>
334
334
  )
335
335
  }
336
- `}}},buttonGroups:{label:"Button Groups",description:({NavigateTo:e})=>d.createElement("p",null,"Use button groups when there are a number of actions that can be taken in a view. When there are multiple button types in a group, they are separated using dividers. Example: Button groups in ",d.createElement(e,{to:"List Action Bar"},"List Action Bar"),"."),examples:{basic:{description:"Basic Button Groups",react:m.code`
336
+ `}}},buttonGroups:{label:"Button Groups",description:({NavigateTo:e})=>d.createElement("p",null,"Use button groups when there are a number of actions that can be taken in a view. When there are multiple button types in a group, they are separated using dividers. Example: Button groups in ",d.createElement(e,{to:"List Action Bar"},"List Action Bar"),"."),examples:{basic:{description:"Basic Button Groups",react:g.code`
337
337
  import { Button } from "@sps-woodland/buttons";
338
338
  import { sprinkles } from "@sps-woodland/tokens";
339
339
 
@@ -345,7 +345,7 @@
345
345
  </>
346
346
  )
347
347
  }
348
- `},icon:{description:"Icon Button Groups",react:m.code`
348
+ `},icon:{description:"Icon Button Groups",react:g.code`
349
349
  import { Button } from "@sps-woodland/buttons";
350
350
 
351
351
  function Component() {
@@ -356,7 +356,7 @@
356
356
  </>
357
357
  )
358
358
  }
359
- `},textAndIcons:{description:"Text Buttons + Icon Buttons Group",react:m.code`
359
+ `},textAndIcons:{description:"Text Buttons + Icon Buttons Group",react:g.code`
360
360
  import { Button } from "@sps-woodland/buttons";
361
361
  import { sprinkles } from "@sps-woodland/tokens";
362
362
  import { VericalRule } from "@sps-woodland/core";
@@ -371,7 +371,7 @@
371
371
  </>
372
372
  )
373
373
  }
374
- `},textAndBasic:{description:"Text Buttons + Basic Buttons Group",react:m.code`
374
+ `},textAndBasic:{description:"Text Buttons + Basic Buttons Group",react:g.code`
375
375
  import { Button } from "@sps-woodland/buttons";
376
376
  import { sprinkles } from "@sps-woodland/tokens";
377
377
  import { VericalRule } from "@sps-woodland/core";
@@ -387,7 +387,7 @@
387
387
  </>
388
388
  )
389
389
  }
390
- `},iconsAndBasic:{description:"Icon Buttons + Basic Buttons Group",react:m.code`
390
+ `},iconsAndBasic:{description:"Icon Buttons + Basic Buttons Group",react:g.code`
391
391
  import { Button } from "@sps-woodland/buttons";
392
392
  import { sprinkles } from "@sps-woodland/tokens";
393
393
  import { VericalRule } from "@sps-woodland/core";
@@ -404,7 +404,7 @@
404
404
  </>
405
405
  )
406
406
  }
407
- `},textIconsAndBasic:{description:"Text Buttons + Icon Buttons + Basic Buttons Group",react:m.code`
407
+ `},textIconsAndBasic:{description:"Text Buttons + Icon Buttons + Basic Buttons Group",react:g.code`
408
408
  import { Button } from "@sps-woodland/buttons";
409
409
  import { sprinkles } from "@sps-woodland/tokens";
410
410
  import { VericalRule } from "@sps-woodland/core";
@@ -423,4 +423,4 @@
423
423
  </>
424
424
  )
425
425
  }
426
- `}}}}},Xt={Buttons:qt};exports.Button=de;exports.MANIFEST=Xt;
426
+ `}}}}},Rt={Buttons:Ft};exports.Button=be;exports.MANIFEST=Rt;