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