@sps-woodland/buttons 8.45.4 → 8.45.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +2 -2
- package/lib/index.umd.cjs +3 -3
- package/lib/style.css +1 -1
- package/package.json +18 -19
package/lib/index.js
CHANGED
|
@@ -584,7 +584,7 @@ class de {
|
|
|
584
584
|
r.clientX != null && r.clientY != null && (g = r.clientX, k = r.clientY), a && (g != null && k != null ? (c = g - a.left, v = k - a.top) : (c = a.width / 2, v = a.height / 2)), this.type = t, this.pointerType = n, this.target = r.currentTarget, this.shiftKey = r.shiftKey, this.metaKey = r.metaKey, this.ctrlKey = r.ctrlKey, this.altKey = r.altKey, this.x = c, this.y = v, this.key = r.key;
|
|
585
585
|
}
|
|
586
586
|
}
|
|
587
|
-
const ze = Symbol("linkClicked"), qe = "react-aria-pressable-style", Je = "data-react-aria-pressable";
|
|
587
|
+
const ze = /* @__PURE__ */ Symbol("linkClicked"), qe = "react-aria-pressable-style", Je = "data-react-aria-pressable";
|
|
588
588
|
function _n(e) {
|
|
589
589
|
let { onPress: t, onPressChange: n, onPressStart: r, onPressEnd: i, onPressUp: l, onClick: u, isDisabled: a, isPressed: c, preventFocusOnPress: v, shouldCancelOnPointerExit: g, allowTextSelectionOnPress: k, ref: C, ...L } = gn(e), [N, h] = fe(!1), $ = Z({
|
|
590
590
|
isPressed: !1,
|
|
@@ -1300,7 +1300,7 @@ var Kn = (e, t, n) => {
|
|
|
1300
1300
|
for (var [v, g] of e.compoundVariants)
|
|
1301
1301
|
Kn(v, r, e.defaultVariants) && (n += " " + g);
|
|
1302
1302
|
return n;
|
|
1303
|
-
}, Fn = ye({ defaultClassName: "pkg_sps-
|
|
1303
|
+
}, Fn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy0", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy1", false: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy2" }, kind: { default: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy3", link: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy4", confirm: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy5", delete: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy6", key: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy7", icon: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy8" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy9", false: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxya" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [[{ kind: "icon", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyb"], [{ kind: "default", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyc"], [{ kind: "confirm", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyd"], [{ kind: "delete", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxye"], [{ kind: "key", spinning: !0 }, "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyf"], [{ disabled: !0, spinning: !1 }, "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyg"], [{ kind: "link", disabled: !0 }, "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyh"]] }), Vn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyi", variantClassNames: { disabled: { true: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyj", false: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyk" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyl", default: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxym", delete: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyn", key: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyo", confirm: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyp", link: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyq" }, spinning: { true: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyr", false: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxys" } }, defaultVariants: { disabled: !1, kind: "default", spinning: !1 }, compoundVariants: [] }), Un = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyt", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyu", false: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyv" }, kind: { icon: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyw", default: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyx", delete: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyy", key: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyz", confirm: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy10", link: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy11" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] }), it = "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy12", Rn = ye({ defaultClassName: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy13", variantClassNames: { spinning: { true: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy14", false: "pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy15" } }, defaultVariants: { spinning: !1 }, compoundVariants: [] });
|
|
1304
1304
|
const Tt = f.forwardRef(
|
|
1305
1305
|
({
|
|
1306
1306
|
as: e,
|
package/lib/index.umd.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
(function(x,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("react"),require("@sps-woodland/core"),require("react-dom"),require("@react-aria/focus"),require("@spscommerce/i18n"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","react","@sps-woodland/core","react-dom","@react-aria/focus","@spscommerce/i18n","@spscommerce/utils"],m):(x=typeof globalThis<"u"?globalThis:x||self,m(x.Buttons={},x.React,x.core,x.reactDom,x.focus,x.i18n,x.utils))})(this,function(x,m,Z,Et,kt,wt,E){"use strict";function Pt(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 f=Pt(m),ee=typeof document<"u"?m.useLayoutEffect:()=>{};let ye=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{ye.delete(e)});function Tt(e,t){if(e===t)return e;let n=ye.get(e);if(n)return n.forEach(i=>i.current=t),t;let r=ye.get(t);return r?(r.forEach(i=>i.current=e),e):t}function Fe(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const T=e=>{var t;return(t=e?.ownerDocument)!==null&&t!==void 0?t:document},M=e=>e&&"window"in e&&e.window===e?e:T(e).defaultView||window;function Ot(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Bt(e){return Ot(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let xt=!1;function he(){return xt}function $(e,t){if(!he())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n.tagName==="SLOT"&&n.assignedSlot?n=n.assignedSlot.parentNode:Bt(n)?n=n.host:n=n.parentNode}return!1}const q=(e=document)=>{var t;if(!he())return e.activeElement;let n=e.activeElement;for(;n&&"shadowRoot"in n&&(!((t=n.shadowRoot)===null||t===void 0)&&t.activeElement);)n=n.shadowRoot.activeElement;return n};function v(e){if(he()&&e.target instanceof Element&&e.target.shadowRoot){var t,n;if("composedPath"in e)return(t=e.composedPath()[0])!==null&&t!==void 0?t:null;if("composedPath"in e.nativeEvent)return(n=e.nativeEvent.composedPath()[0])!==null&&n!==void 0?n:null}return e.target}function St(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const r=e.map(i=>{const l=Ve(i,t);return n||(n=typeof l=="function"),l});if(n)return()=>{r.forEach((i,l)=>{typeof i=="function"?i():Ve(e[l],null)})}}}function Ve(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ue(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ue(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Lt(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ue(e))&&(r&&(r+=" "),r+=t);return r}function G(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let i in r){let l=t[i],u=r[i];typeof l=="function"&&typeof u=="function"&&i[0]==="o"&&i[1]==="n"&&i.charCodeAt(2)>=65&&i.charCodeAt(2)<=90?t[i]=Fe(l,u):(i==="className"||i==="UNSAFE_className")&&typeof l=="string"&&typeof u=="string"?t[i]=Lt(l,u):i==="id"&&l&&u?t.id=Tt(l,u):i==="ref"&&l&&u?t.ref=St(l,u):t[i]=u!==void 0?u:l}}return t}const Ct=new Set(["id"]),Dt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Nt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),At=new Set(["dir","lang","hidden","inert","translate"]),He=new Set(["onClick","onAuxClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onGotPointerCapture","onLostPointerCapture","onScroll","onWheel","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionCancel","onTransitionEnd","onTransitionRun","onTransitionStart"]),It=/^(data-.*)$/;function Mt(e,t={}){let{labelable:n,isLink:r,global:i,events:l=i,propNames:u}=t,a={};for(const c in e)Object.prototype.hasOwnProperty.call(e,c)&&(Ct.has(c)||n&&Dt.has(c)||r&&Nt.has(c)||i&&At.has(c)||l&&(He.has(c)||c.endsWith("Capture")&&He.has(c.slice(0,-7)))||u?.has(c)||It.test(c))&&(a[c]=e[c]);return a}function z(e){if(Kt())e.focus({preventScroll:!0});else{let t=Ft(e);e.focus(),Vt(t)}}let se=null;function Kt(){if(se==null){se=!1;try{document.createElement("div").focus({get preventScroll(){return se=!0,!0}})}catch{}}return se}function Ft(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function Vt(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function ie(e){var t;if(typeof window>"u"||window.navigator==null)return!1;let n=(t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands;return Array.isArray(n)&&n.some(r=>e.test(r.brand))||e.test(window.navigator.userAgent)}function $e(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 K(e){if(process.env.NODE_ENV==="test")return e;let t=null;return()=>(t==null&&(t=e()),t)}const J=K(function(){return $e(/^Mac/i)}),Ut=K(function(){return $e(/^iPhone/i)}),Ge=K(function(){return $e(/^iPad/i)||J()&&navigator.maxTouchPoints>1}),Ee=K(function(){return Ut()||Ge()});K(function(){return J()||Ee()});const Ht=K(function(){return ie(/AppleWebKit/i)&&!Gt()}),Gt=K(function(){return ie(/Chrome/i)}),je=K(function(){return ie(/Android/i)}),jt=K(function(){return ie(/Firefox/i)});function j(e,t,n=!0){var r,i;let{metaKey:l,ctrlKey:u,altKey:a,shiftKey:c}=t;jt()&&(!((i=window.event)===null||i===void 0||(r=i.type)===null||r===void 0)&&r.startsWith("key"))&&e.target==="_blank"&&(J()?l=!0:u=!0);let g=Ht()&&J()&&!Ge()&&process.env.NODE_ENV!=="test"?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:l,ctrlKey:u,altKey:a,shiftKey:c}):new MouseEvent("click",{metaKey:l,ctrlKey:u,altKey:a,shiftKey:c,detail:1,bubbles:!0,cancelable:!0});j.isOpening=n,z(e),e.dispatchEvent(g),j.isOpening=!1}j.isOpening=!1;let V=new Map,ke=new Set;function We(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{let i=v(r);if(!e(r)||!i)return;let l=V.get(i);l||(l=new Set,V.set(i,l),i.addEventListener("transitioncancel",n,{once:!0})),l.add(r.propertyName)},n=r=>{let i=v(r);if(!e(r)||!i)return;let l=V.get(i);if(l&&(l.delete(r.propertyName),l.size===0&&(i.removeEventListener("transitioncancel",n),V.delete(i)),V.size===0)){for(let u of ke)u();ke.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?We():document.addEventListener("DOMContentLoaded",We));function Wt(){for(const[e]of V)"isConnected"in e&&!e.isConnected&&V.delete(e)}function Ye(e){requestAnimationFrame(()=>{Wt(),V.size===0?e():ke.add(e)})}function Xe(){let e=m.useRef(new Map),t=m.useCallback((i,l,u,a)=>{let c=a?.once?(...g)=>{e.current.delete(u),u(...g)}:u;e.current.set(u,{type:l,eventTarget:i,fn:c,options:a}),i.addEventListener(l,c,a)},[]),n=m.useCallback((i,l,u,a)=>{var c;let g=((c=e.current.get(u))===null||c===void 0?void 0:c.fn)||u;i.removeEventListener(l,g,a),e.current.delete(u)},[]),r=m.useCallback(()=>{e.current.forEach((i,l)=>{n(i.eventTarget,i.type,l,i.options)})},[n]);return m.useEffect(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}var we;const Yt=(we=m.useInsertionEffect)!==null&&we!==void 0?we:ee;function ae(e){const t=m.useRef(null);return Yt(()=>{t.current=e},[e]),m.useCallback((...n)=>{const r=t.current;return r?.(...n)},[])}function Re(e,t){ee(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function Pe(e){return e.pointerType===""&&e.isTrusted?!0:je()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Xt(e){return!je()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}const Rt=typeof Element<"u"&&"checkVisibility"in Element.prototype;function qt(e){const t=M(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:r}=e.style,i=n!=="none"&&r!=="hidden"&&r!=="collapse";if(i){const{getComputedStyle:l}=e.ownerDocument.defaultView;let{display:u,visibility:a}=l(e);i=u!=="none"&&a!=="hidden"&&a!=="collapse"}return i}function zt(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function qe(e,t){return Rt?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&qt(e)&&zt(e,t)&&(!e.parentElement||qe(e.parentElement,e))}const ze=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],Jt=ze.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ze.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function Qt(e){return e.matches(Jt)&&qe(e)&&!Zt(e)}function Zt(e){let t=e;for(;t!=null;){if(t instanceof t.ownerDocument.defaultView.HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}function Je(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function en(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function tn(e){let t=m.useRef({isFocused:!1,observer:null});return ee(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]),m.useCallback(n=>{let r=v(n);if(r instanceof HTMLButtonElement||r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement){t.current.isFocused=!0;let i=r,l=u=>{if(t.current.isFocused=!1,i.disabled){let a=Je(u);e?.(a)}t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};i.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&i.disabled){var u;(u=t.current.observer)===null||u===void 0||u.disconnect();let a=i===q()?null:q();i.dispatchEvent(new FocusEvent("blur",{relatedTarget:a})),i.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:a}))}}),t.current.observer.observe(i,{attributes:!0,attributeFilter:["disabled"]})}},[e])}let le=!1;function Qe(e){for(;e&&!Qt(e);)e=e.parentElement;let t=M(e),n=t.document.activeElement;if(!n||n===e)return;le=!0;let r=!1,i=_=>{(v(_)===n||r)&&_.stopImmediatePropagation()},l=_=>{(v(_)===n||r)&&(_.stopImmediatePropagation(),!e&&!r&&(r=!0,z(n),c()))},u=_=>{(v(_)===e||r)&&_.stopImmediatePropagation()},a=_=>{(v(_)===e||r)&&(_.stopImmediatePropagation(),r||(r=!0,z(n),c()))};t.addEventListener("blur",i,!0),t.addEventListener("focusout",l,!0),t.addEventListener("focusin",a,!0),t.addEventListener("focus",u,!0);let c=()=>{cancelAnimationFrame(g),t.removeEventListener("blur",i,!0),t.removeEventListener("focusout",l,!0),t.removeEventListener("focusin",a,!0),t.removeEventListener("focus",u,!0),le=!1,r=!1},g=requestAnimationFrame(c);return c}let Q="default",Te="",ue=new WeakMap;function Ze(e){if(Ee()){if(Q==="default"){const t=T(e);Te=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Q="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";ue.set(e,e.style[t]),e.style[t]="none"}}function Oe(e){if(Ee()){if(Q!=="disabled")return;Q="restoring",setTimeout(()=>{Ye(()=>{if(Q==="restoring"){const t=T(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=Te||""),Te="",Q="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&ue.has(e)){let t=ue.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),ue.delete(e)}}const et=m.createContext({register:()=>{}});et.displayName="PressResponderContext";function nn(e,t){return t.get?t.get.call(e):t.value}function tt(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function on(e,t){var n=tt(e,t,"get");return nn(e,n)}function rn(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function sn(e,t,n){rn(e,t),t.set(e,n)}function an(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 nt(e,t,n){var r=tt(e,t,"set");return an(e,r,n),n}function ln(e){let t=m.useContext(et);if(t){let{register:n,ref:r,...i}=t;e=G(i,e),n()}return Re(t,e.ref),e}var ce=new WeakMap;class de{continuePropagation(){nt(this,ce,!1)}get shouldStopPropagation(){return on(this,ce)}constructor(t,n,r,i){sn(this,ce,{writable:!0,value:void 0}),nt(this,ce,!0);var l;let u=(l=i?.target)!==null&&l!==void 0?l:r.currentTarget;const a=u?.getBoundingClientRect();let c,g=0,_,w=null;r.clientX!=null&&r.clientY!=null&&(_=r.clientX,w=r.clientY),a&&(_!=null&&w!=null?(c=_-a.left,g=w-a.top):(c=a.width/2,g=a.height/2)),this.type=t,this.pointerType=n,this.target=r.currentTarget,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.ctrlKey=r.ctrlKey,this.altKey=r.altKey,this.x=c,this.y=g,this.key=r.key}}const ot=Symbol("linkClicked"),rt="react-aria-pressable-style",st="data-react-aria-pressable";function un(e){let{onPress:t,onPressChange:n,onPressStart:r,onPressEnd:i,onPressUp:l,onClick:u,isDisabled:a,isPressed:c,preventFocusOnPress:g,shouldCancelOnPointerExit:_,allowTextSelectionOnPress:w,ref:A,...D}=ln(e),[N,h]=m.useState(!1),k=m.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:P,removeAllGlobalListeners:O,removeGlobalListener:B}=Xe(),S=m.useCallback((o,d)=>{let s=k.current;if(a||s.didFirePressStart)return!1;let p=!0;if(s.isTriggeringEvent=!0,r){let b=new de("pressstart",d,o);r(b),p=b.shouldStopPropagation}return n&&n(!0),s.isTriggeringEvent=!1,s.didFirePressStart=!0,h(!0),p},[a,r,n]),L=m.useCallback((o,d,s=!0)=>{let p=k.current;if(!p.didFirePressStart)return!1;p.didFirePressStart=!1,p.isTriggeringEvent=!0;let b=!0;if(i){let y=new de("pressend",d,o);i(y),b=y.shouldStopPropagation}if(n&&n(!1),h(!1),t&&s&&!a){let y=new de("press",d,o);t(y),b&&(b=y.shouldStopPropagation)}return p.isTriggeringEvent=!1,b},[a,i,n,t]),Ne=ae(L),F=m.useCallback((o,d)=>{let s=k.current;if(a)return!1;if(l){s.isTriggeringEvent=!0;let p=new de("pressup",d,o);return l(p),s.isTriggeringEvent=!1,p.shouldStopPropagation}return!0},[a,l]),Ae=ae(F),I=m.useCallback(o=>{let d=k.current;if(d.isPressed&&d.target){d.didFirePressStart&&d.pointerType!=null&&L(W(d.target,o),d.pointerType,!1),d.isPressed=!1,re(null),d.isOverTarget=!1,d.activePointerId=null,d.pointerType=null,O(),w||Oe(d.target);for(let s of d.disposables)s();d.disposables=[]}},[w,O,L]),X=ae(I),H=m.useCallback(o=>{_&&I(o)},[_,I]),oe=m.useCallback(o=>{a||u?.(o)},[a,u]),Ie=m.useCallback((o,d)=>{if(!a&&u){let s=new MouseEvent("click",o);en(s,d),u(Je(s))}},[a,u]),An=ae(Ie),[ht,$t]=m.useState(!1);ee(()=>{let o=k.current;if(ht){let d=y=>{var R;if(o.isPressed&&o.target&&xe(y,o.target)){var Me;lt(v(y),y.key)&&y.preventDefault();let ge=v(y),_e=$(o.target,ge);Ne(W(o.target,y),"keyboard",_e),_e&&An(y,o.target),O(),y.key!=="Enter"&&Be(o.target)&&$(o.target,ge)&&!y[ot]&&(y[ot]=!0,j(o.target,y,!1)),o.isPressed=!1,$t(!1),(Me=o.metaKeyEvents)===null||Me===void 0||Me.delete(y.key)}else if(y.key==="Meta"&&(!((R=o.metaKeyEvents)===null||R===void 0)&&R.size)){var Ke;let ge=o.metaKeyEvents;o.metaKeyEvents=void 0;for(let _e of ge.values())(Ke=o.target)===null||Ke===void 0||Ke.dispatchEvent(new KeyboardEvent("keyup",_e))}},s=o.target,b=Fe(y=>{s&&xe(y,s)&&!y.repeat&&$(s,v(y))&&o.target&&Ae(W(o.target,y),"keyboard")},d);return P(T(o.target),"keyup",b,!0),()=>{B(T(o.target),"keyup",b,!0)}}},[ht,P,O,B]);let[ve,re]=m.useState(null);ee(()=>{let o=k.current;if(ve==="pointer"){let d=p=>{if(p.pointerId===o.activePointerId&&o.isPressed&&p.button===0&&o.target){if($(o.target,v(p))&&o.pointerType!=null){let b=!1,y=setTimeout(()=>{o.isPressed&&o.target instanceof HTMLElement&&(b?X(p):(z(o.target),o.target.click()))},80);p.currentTarget&&P(p.currentTarget,"click",()=>b=!0,!0),o.disposables.push(()=>clearTimeout(y))}else X(p);o.isOverTarget=!1}},s=p=>{X(p)};return P(T(o.target),"pointerup",d,!1),P(T(o.target),"pointercancel",s,!1),()=>{B(T(o.target),"pointerup",d,!1),B(T(o.target),"pointercancel",s,!1)}}else if(ve==="mouse"&&process.env.NODE_ENV==="test"){let d=s=>{if(s.button===0){if(o.ignoreEmulatedMouseEvents){o.ignoreEmulatedMouseEvents=!1;return}o.target&&$(o.target,s.target)&&o.pointerType!=null||X(s),o.isOverTarget=!1}};return P(T(o.target),"mouseup",d,!1),()=>{B(T(o.target),"mouseup",d,!1)}}else if(ve==="touch"&&process.env.NODE_ENV==="test"){let d=s=>{o.isPressed&&$(v(s),o.target)&&X({currentTarget:o.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};return P(M(o.target),"scroll",d,!0),()=>{B(M(o.target),"scroll",d,!0)}}},[ve,P,B]);let In=m.useMemo(()=>{let o=k.current,d={onKeyDown(s){if(xe(s.nativeEvent,s.currentTarget)&&$(s.currentTarget,v(s))){var p;lt(v(s),s.key)&&s.preventDefault();let b=!0;!o.isPressed&&!s.repeat&&(o.target=s.currentTarget,o.isPressed=!0,$t(!0),o.pointerType="keyboard",b=S(s,"keyboard")),b&&s.stopPropagation(),s.metaKey&&J()&&((p=o.metaKeyEvents)===null||p===void 0||p.set(s.key,s.nativeEvent))}else s.key==="Meta"&&(o.metaKeyEvents=new Map)},onClick(s){if(!(s&&!$(s.currentTarget,v(s)))&&s&&s.button===0&&!o.isTriggeringEvent&&!j.isOpening){let p=!0;if(a&&s.preventDefault(),!o.ignoreEmulatedMouseEvents&&!o.isPressed&&(o.pointerType==="virtual"||Pe(s.nativeEvent))){let b=S(s,"virtual"),y=F(s,"virtual"),R=L(s,"virtual");oe(s),p=b&&y&&R}else if(o.isPressed&&o.pointerType!=="keyboard"){let b=o.pointerType||s.nativeEvent.pointerType||"virtual",y=F(W(s.currentTarget,s),b),R=L(W(s.currentTarget,s),b,!0);p=y&&R,o.isOverTarget=!1,oe(s),I(s)}o.ignoreEmulatedMouseEvents=!1,p&&s.stopPropagation()}}};return typeof PointerEvent<"u"?(d.onPointerDown=s=>{if(s.button!==0||!$(s.currentTarget,v(s)))return;if(Xt(s.nativeEvent)){o.pointerType="virtual";return}o.pointerType=s.pointerType;let p=!0;if(!o.isPressed){o.isPressed=!0,re("pointer"),o.isOverTarget=!0,o.activePointerId=s.pointerId,o.target=s.currentTarget,w||Ze(o.target),p=S(s,o.pointerType);let b=v(s);"releasePointerCapture"in b&&("hasPointerCapture"in b?b.hasPointerCapture(s.pointerId)&&b.releasePointerCapture(s.pointerId):b.releasePointerCapture(s.pointerId))}p&&s.stopPropagation()},d.onMouseDown=s=>{if($(s.currentTarget,v(s))&&s.button===0){if(g){let p=Qe(s.target);p&&o.disposables.push(p)}s.stopPropagation()}},d.onPointerUp=s=>{!$(s.currentTarget,v(s))||o.pointerType==="virtual"||s.button===0&&!o.isPressed&&F(s,o.pointerType||s.pointerType)},d.onPointerEnter=s=>{s.pointerId===o.activePointerId&&o.target&&!o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!0,S(W(o.target,s),o.pointerType))},d.onPointerLeave=s=>{s.pointerId===o.activePointerId&&o.target&&o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!1,L(W(o.target,s),o.pointerType,!1),H(s))},d.onDragStart=s=>{$(s.currentTarget,v(s))&&I(s)}):process.env.NODE_ENV==="test"&&(d.onMouseDown=s=>{if(s.button!==0||!$(s.currentTarget,v(s)))return;if(o.ignoreEmulatedMouseEvents){s.stopPropagation();return}if(o.isPressed=!0,re("mouse"),o.isOverTarget=!0,o.target=s.currentTarget,o.pointerType=Pe(s.nativeEvent)?"virtual":"mouse",Et.flushSync(()=>S(s,o.pointerType))&&s.stopPropagation(),g){let b=Qe(s.target);b&&o.disposables.push(b)}},d.onMouseEnter=s=>{if(!$(s.currentTarget,v(s)))return;let p=!0;o.isPressed&&!o.ignoreEmulatedMouseEvents&&o.pointerType!=null&&(o.isOverTarget=!0,p=S(s,o.pointerType)),p&&s.stopPropagation()},d.onMouseLeave=s=>{if(!$(s.currentTarget,v(s)))return;let p=!0;o.isPressed&&!o.ignoreEmulatedMouseEvents&&o.pointerType!=null&&(o.isOverTarget=!1,p=L(s,o.pointerType,!1),H(s)),p&&s.stopPropagation()},d.onMouseUp=s=>{$(s.currentTarget,v(s))&&!o.ignoreEmulatedMouseEvents&&s.button===0&&!o.isPressed&&F(s,o.pointerType||"mouse")},d.onTouchStart=s=>{if(!$(s.currentTarget,v(s)))return;let p=cn(s.nativeEvent);if(!p)return;o.activePointerId=p.identifier,o.ignoreEmulatedMouseEvents=!0,o.isOverTarget=!0,o.isPressed=!0,re("touch"),o.target=s.currentTarget,o.pointerType="touch",w||Ze(o.target),S(U(o.target,s),o.pointerType)&&s.stopPropagation()},d.onTouchMove=s=>{if(!$(s.currentTarget,v(s)))return;if(!o.isPressed){s.stopPropagation();return}let p=it(s.nativeEvent,o.activePointerId),b=!0;p&&at(p,s.currentTarget)?!o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!0,b=S(U(o.target,s),o.pointerType)):o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!1,b=L(U(o.target,s),o.pointerType,!1),H(U(o.target,s))),b&&s.stopPropagation()},d.onTouchEnd=s=>{if(!$(s.currentTarget,v(s)))return;if(!o.isPressed){s.stopPropagation();return}let p=it(s.nativeEvent,o.activePointerId),b=!0;p&&at(p,s.currentTarget)&&o.pointerType!=null?(F(U(o.target,s),o.pointerType),b=L(U(o.target,s),o.pointerType),Ie(s.nativeEvent,o.target)):o.isOverTarget&&o.pointerType!=null&&(b=L(U(o.target,s),o.pointerType,!1)),b&&s.stopPropagation(),o.isPressed=!1,re(null),o.activePointerId=null,o.isOverTarget=!1,o.ignoreEmulatedMouseEvents=!0,o.target&&!w&&Oe(o.target),O()},d.onTouchCancel=s=>{$(s.currentTarget,v(s))&&(s.stopPropagation(),o.isPressed&&I(U(o.target,s)))},d.onDragStart=s=>{$(s.currentTarget,v(s))&&I(s)}),d},[a,g,O,w,I,H,L,S,F,oe,Ie]);return m.useEffect(()=>{if(!A||process.env.NODE_ENV==="test")return;const o=T(A.current);if(!o||!o.head||o.getElementById(rt))return;const d=o.createElement("style");d.id=rt,d.textContent=`
|
|
1
|
+
(function(x,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("react"),require("@sps-woodland/core"),require("react-dom"),require("@react-aria/focus"),require("@spscommerce/i18n"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","react","@sps-woodland/core","react-dom","@react-aria/focus","@spscommerce/i18n","@spscommerce/utils"],m):(x=typeof globalThis<"u"?globalThis:x||self,m(x.Buttons={},x.React,x.core,x.reactDom,x.focus,x.i18n,x.utils))})(this,(function(x,m,Z,Et,kt,wt,E){"use strict";function Pt(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 f=Pt(m),ee=typeof document<"u"?m.useLayoutEffect:()=>{};let ye=new Map;typeof FinalizationRegistry<"u"&&new FinalizationRegistry(e=>{ye.delete(e)});function Tt(e,t){if(e===t)return e;let n=ye.get(e);if(n)return n.forEach(i=>i.current=t),t;let r=ye.get(t);return r?(r.forEach(i=>i.current=e),e):t}function Fe(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const T=e=>{var t;return(t=e?.ownerDocument)!==null&&t!==void 0?t:document},M=e=>e&&"window"in e&&e.window===e?e:T(e).defaultView||window;function Ot(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Bt(e){return Ot(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let xt=!1;function he(){return xt}function $(e,t){if(!he())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n.tagName==="SLOT"&&n.assignedSlot?n=n.assignedSlot.parentNode:Bt(n)?n=n.host:n=n.parentNode}return!1}const q=(e=document)=>{var t;if(!he())return e.activeElement;let n=e.activeElement;for(;n&&"shadowRoot"in n&&(!((t=n.shadowRoot)===null||t===void 0)&&t.activeElement);)n=n.shadowRoot.activeElement;return n};function v(e){if(he()&&e.target instanceof Element&&e.target.shadowRoot){var t,n;if("composedPath"in e)return(t=e.composedPath()[0])!==null&&t!==void 0?t:null;if("composedPath"in e.nativeEvent)return(n=e.nativeEvent.composedPath()[0])!==null&&n!==void 0?n:null}return e.target}function St(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const r=e.map(i=>{const l=Ve(i,t);return n||(n=typeof l=="function"),l});if(n)return()=>{r.forEach((i,l)=>{typeof i=="function"?i():Ve(e[l],null)})}}}function Ve(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ue(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ue(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Lt(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ue(e))&&(r&&(r+=" "),r+=t);return r}function G(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let i in r){let l=t[i],u=r[i];typeof l=="function"&&typeof u=="function"&&i[0]==="o"&&i[1]==="n"&&i.charCodeAt(2)>=65&&i.charCodeAt(2)<=90?t[i]=Fe(l,u):(i==="className"||i==="UNSAFE_className")&&typeof l=="string"&&typeof u=="string"?t[i]=Lt(l,u):i==="id"&&l&&u?t.id=Tt(l,u):i==="ref"&&l&&u?t.ref=St(l,u):t[i]=u!==void 0?u:l}}return t}const Ct=new Set(["id"]),Dt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Nt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),At=new Set(["dir","lang","hidden","inert","translate"]),He=new Set(["onClick","onAuxClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onGotPointerCapture","onLostPointerCapture","onScroll","onWheel","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionCancel","onTransitionEnd","onTransitionRun","onTransitionStart"]),It=/^(data-.*)$/;function Mt(e,t={}){let{labelable:n,isLink:r,global:i,events:l=i,propNames:u}=t,a={};for(const c in e)Object.prototype.hasOwnProperty.call(e,c)&&(Ct.has(c)||n&&Dt.has(c)||r&&Nt.has(c)||i&&At.has(c)||l&&(He.has(c)||c.endsWith("Capture")&&He.has(c.slice(0,-7)))||u?.has(c)||It.test(c))&&(a[c]=e[c]);return a}function z(e){if(Kt())e.focus({preventScroll:!0});else{let t=Ft(e);e.focus(),Vt(t)}}let se=null;function Kt(){if(se==null){se=!1;try{document.createElement("div").focus({get preventScroll(){return se=!0,!0}})}catch{}}return se}function Ft(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function Vt(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function ie(e){var t;if(typeof window>"u"||window.navigator==null)return!1;let n=(t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands;return Array.isArray(n)&&n.some(r=>e.test(r.brand))||e.test(window.navigator.userAgent)}function $e(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 K(e){if(process.env.NODE_ENV==="test")return e;let t=null;return()=>(t==null&&(t=e()),t)}const J=K(function(){return $e(/^Mac/i)}),Ut=K(function(){return $e(/^iPhone/i)}),Ge=K(function(){return $e(/^iPad/i)||J()&&navigator.maxTouchPoints>1}),Ee=K(function(){return Ut()||Ge()});K(function(){return J()||Ee()});const Ht=K(function(){return ie(/AppleWebKit/i)&&!Gt()}),Gt=K(function(){return ie(/Chrome/i)}),je=K(function(){return ie(/Android/i)}),jt=K(function(){return ie(/Firefox/i)});function j(e,t,n=!0){var r,i;let{metaKey:l,ctrlKey:u,altKey:a,shiftKey:c}=t;jt()&&(!((i=window.event)===null||i===void 0||(r=i.type)===null||r===void 0)&&r.startsWith("key"))&&e.target==="_blank"&&(J()?l=!0:u=!0);let g=Ht()&&J()&&!Ge()&&process.env.NODE_ENV!=="test"?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:l,ctrlKey:u,altKey:a,shiftKey:c}):new MouseEvent("click",{metaKey:l,ctrlKey:u,altKey:a,shiftKey:c,detail:1,bubbles:!0,cancelable:!0});j.isOpening=n,z(e),e.dispatchEvent(g),j.isOpening=!1}j.isOpening=!1;let V=new Map,ke=new Set;function We(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{let i=v(r);if(!e(r)||!i)return;let l=V.get(i);l||(l=new Set,V.set(i,l),i.addEventListener("transitioncancel",n,{once:!0})),l.add(r.propertyName)},n=r=>{let i=v(r);if(!e(r)||!i)return;let l=V.get(i);if(l&&(l.delete(r.propertyName),l.size===0&&(i.removeEventListener("transitioncancel",n),V.delete(i)),V.size===0)){for(let u of ke)u();ke.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?We():document.addEventListener("DOMContentLoaded",We));function Wt(){for(const[e]of V)"isConnected"in e&&!e.isConnected&&V.delete(e)}function Ye(e){requestAnimationFrame(()=>{Wt(),V.size===0?e():ke.add(e)})}function Xe(){let e=m.useRef(new Map),t=m.useCallback((i,l,u,a)=>{let c=a?.once?(...g)=>{e.current.delete(u),u(...g)}:u;e.current.set(u,{type:l,eventTarget:i,fn:c,options:a}),i.addEventListener(l,c,a)},[]),n=m.useCallback((i,l,u,a)=>{var c;let g=((c=e.current.get(u))===null||c===void 0?void 0:c.fn)||u;i.removeEventListener(l,g,a),e.current.delete(u)},[]),r=m.useCallback(()=>{e.current.forEach((i,l)=>{n(i.eventTarget,i.type,l,i.options)})},[n]);return m.useEffect(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}var we;const Yt=(we=m.useInsertionEffect)!==null&&we!==void 0?we:ee;function ae(e){const t=m.useRef(null);return Yt(()=>{t.current=e},[e]),m.useCallback((...n)=>{const r=t.current;return r?.(...n)},[])}function Re(e,t){ee(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function Pe(e){return e.pointerType===""&&e.isTrusted?!0:je()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Xt(e){return!je()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}const Rt=typeof Element<"u"&&"checkVisibility"in Element.prototype;function qt(e){const t=M(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:r}=e.style,i=n!=="none"&&r!=="hidden"&&r!=="collapse";if(i){const{getComputedStyle:l}=e.ownerDocument.defaultView;let{display:u,visibility:a}=l(e);i=u!=="none"&&a!=="hidden"&&a!=="collapse"}return i}function zt(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function qe(e,t){return Rt?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&qt(e)&&zt(e,t)&&(!e.parentElement||qe(e.parentElement,e))}const ze=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],Jt=ze.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ze.push('[tabindex]:not([tabindex="-1"]):not([disabled])');function Qt(e){return e.matches(Jt)&&qe(e)&&!Zt(e)}function Zt(e){let t=e;for(;t!=null;){if(t instanceof t.ownerDocument.defaultView.HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}function Je(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function en(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function tn(e){let t=m.useRef({isFocused:!1,observer:null});return ee(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]),m.useCallback(n=>{let r=v(n);if(r instanceof HTMLButtonElement||r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement){t.current.isFocused=!0;let i=r,l=u=>{if(t.current.isFocused=!1,i.disabled){let a=Je(u);e?.(a)}t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};i.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&i.disabled){var u;(u=t.current.observer)===null||u===void 0||u.disconnect();let a=i===q()?null:q();i.dispatchEvent(new FocusEvent("blur",{relatedTarget:a})),i.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:a}))}}),t.current.observer.observe(i,{attributes:!0,attributeFilter:["disabled"]})}},[e])}let le=!1;function Qe(e){for(;e&&!Qt(e);)e=e.parentElement;let t=M(e),n=t.document.activeElement;if(!n||n===e)return;le=!0;let r=!1,i=_=>{(v(_)===n||r)&&_.stopImmediatePropagation()},l=_=>{(v(_)===n||r)&&(_.stopImmediatePropagation(),!e&&!r&&(r=!0,z(n),c()))},u=_=>{(v(_)===e||r)&&_.stopImmediatePropagation()},a=_=>{(v(_)===e||r)&&(_.stopImmediatePropagation(),r||(r=!0,z(n),c()))};t.addEventListener("blur",i,!0),t.addEventListener("focusout",l,!0),t.addEventListener("focusin",a,!0),t.addEventListener("focus",u,!0);let c=()=>{cancelAnimationFrame(g),t.removeEventListener("blur",i,!0),t.removeEventListener("focusout",l,!0),t.removeEventListener("focusin",a,!0),t.removeEventListener("focus",u,!0),le=!1,r=!1},g=requestAnimationFrame(c);return c}let Q="default",Te="",ue=new WeakMap;function Ze(e){if(Ee()){if(Q==="default"){const t=T(e);Te=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}Q="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";ue.set(e,e.style[t]),e.style[t]="none"}}function Oe(e){if(Ee()){if(Q!=="disabled")return;Q="restoring",setTimeout(()=>{Ye(()=>{if(Q==="restoring"){const t=T(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=Te||""),Te="",Q="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&ue.has(e)){let t=ue.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),ue.delete(e)}}const et=m.createContext({register:()=>{}});et.displayName="PressResponderContext";function nn(e,t){return t.get?t.get.call(e):t.value}function tt(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function on(e,t){var n=tt(e,t,"get");return nn(e,n)}function rn(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function sn(e,t,n){rn(e,t),t.set(e,n)}function an(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 nt(e,t,n){var r=tt(e,t,"set");return an(e,r,n),n}function ln(e){let t=m.useContext(et);if(t){let{register:n,ref:r,...i}=t;e=G(i,e),n()}return Re(t,e.ref),e}var ce=new WeakMap;class de{continuePropagation(){nt(this,ce,!1)}get shouldStopPropagation(){return on(this,ce)}constructor(t,n,r,i){sn(this,ce,{writable:!0,value:void 0}),nt(this,ce,!0);var l;let u=(l=i?.target)!==null&&l!==void 0?l:r.currentTarget;const a=u?.getBoundingClientRect();let c,g=0,_,w=null;r.clientX!=null&&r.clientY!=null&&(_=r.clientX,w=r.clientY),a&&(_!=null&&w!=null?(c=_-a.left,g=w-a.top):(c=a.width/2,g=a.height/2)),this.type=t,this.pointerType=n,this.target=r.currentTarget,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.ctrlKey=r.ctrlKey,this.altKey=r.altKey,this.x=c,this.y=g,this.key=r.key}}const ot=Symbol("linkClicked"),rt="react-aria-pressable-style",st="data-react-aria-pressable";function un(e){let{onPress:t,onPressChange:n,onPressStart:r,onPressEnd:i,onPressUp:l,onClick:u,isDisabled:a,isPressed:c,preventFocusOnPress:g,shouldCancelOnPointerExit:_,allowTextSelectionOnPress:w,ref:A,...D}=ln(e),[N,h]=m.useState(!1),k=m.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:P,removeAllGlobalListeners:O,removeGlobalListener:B}=Xe(),S=m.useCallback((o,d)=>{let s=k.current;if(a||s.didFirePressStart)return!1;let p=!0;if(s.isTriggeringEvent=!0,r){let b=new de("pressstart",d,o);r(b),p=b.shouldStopPropagation}return n&&n(!0),s.isTriggeringEvent=!1,s.didFirePressStart=!0,h(!0),p},[a,r,n]),L=m.useCallback((o,d,s=!0)=>{let p=k.current;if(!p.didFirePressStart)return!1;p.didFirePressStart=!1,p.isTriggeringEvent=!0;let b=!0;if(i){let y=new de("pressend",d,o);i(y),b=y.shouldStopPropagation}if(n&&n(!1),h(!1),t&&s&&!a){let y=new de("press",d,o);t(y),b&&(b=y.shouldStopPropagation)}return p.isTriggeringEvent=!1,b},[a,i,n,t]),Ne=ae(L),F=m.useCallback((o,d)=>{let s=k.current;if(a)return!1;if(l){s.isTriggeringEvent=!0;let p=new de("pressup",d,o);return l(p),s.isTriggeringEvent=!1,p.shouldStopPropagation}return!0},[a,l]),Ae=ae(F),I=m.useCallback(o=>{let d=k.current;if(d.isPressed&&d.target){d.didFirePressStart&&d.pointerType!=null&&L(W(d.target,o),d.pointerType,!1),d.isPressed=!1,re(null),d.isOverTarget=!1,d.activePointerId=null,d.pointerType=null,O(),w||Oe(d.target);for(let s of d.disposables)s();d.disposables=[]}},[w,O,L]),X=ae(I),H=m.useCallback(o=>{_&&I(o)},[_,I]),oe=m.useCallback(o=>{a||u?.(o)},[a,u]),Ie=m.useCallback((o,d)=>{if(!a&&u){let s=new MouseEvent("click",o);en(s,d),u(Je(s))}},[a,u]),An=ae(Ie),[ht,$t]=m.useState(!1);ee(()=>{let o=k.current;if(ht){let d=y=>{var R;if(o.isPressed&&o.target&&xe(y,o.target)){var Me;lt(v(y),y.key)&&y.preventDefault();let ge=v(y),_e=$(o.target,ge);Ne(W(o.target,y),"keyboard",_e),_e&&An(y,o.target),O(),y.key!=="Enter"&&Be(o.target)&&$(o.target,ge)&&!y[ot]&&(y[ot]=!0,j(o.target,y,!1)),o.isPressed=!1,$t(!1),(Me=o.metaKeyEvents)===null||Me===void 0||Me.delete(y.key)}else if(y.key==="Meta"&&(!((R=o.metaKeyEvents)===null||R===void 0)&&R.size)){var Ke;let ge=o.metaKeyEvents;o.metaKeyEvents=void 0;for(let _e of ge.values())(Ke=o.target)===null||Ke===void 0||Ke.dispatchEvent(new KeyboardEvent("keyup",_e))}},s=o.target,b=Fe(y=>{s&&xe(y,s)&&!y.repeat&&$(s,v(y))&&o.target&&Ae(W(o.target,y),"keyboard")},d);return P(T(o.target),"keyup",b,!0),()=>{B(T(o.target),"keyup",b,!0)}}},[ht,P,O,B]);let[ve,re]=m.useState(null);ee(()=>{let o=k.current;if(ve==="pointer"){let d=p=>{if(p.pointerId===o.activePointerId&&o.isPressed&&p.button===0&&o.target){if($(o.target,v(p))&&o.pointerType!=null){let b=!1,y=setTimeout(()=>{o.isPressed&&o.target instanceof HTMLElement&&(b?X(p):(z(o.target),o.target.click()))},80);p.currentTarget&&P(p.currentTarget,"click",()=>b=!0,!0),o.disposables.push(()=>clearTimeout(y))}else X(p);o.isOverTarget=!1}},s=p=>{X(p)};return P(T(o.target),"pointerup",d,!1),P(T(o.target),"pointercancel",s,!1),()=>{B(T(o.target),"pointerup",d,!1),B(T(o.target),"pointercancel",s,!1)}}else if(ve==="mouse"&&process.env.NODE_ENV==="test"){let d=s=>{if(s.button===0){if(o.ignoreEmulatedMouseEvents){o.ignoreEmulatedMouseEvents=!1;return}o.target&&$(o.target,s.target)&&o.pointerType!=null||X(s),o.isOverTarget=!1}};return P(T(o.target),"mouseup",d,!1),()=>{B(T(o.target),"mouseup",d,!1)}}else if(ve==="touch"&&process.env.NODE_ENV==="test"){let d=s=>{o.isPressed&&$(v(s),o.target)&&X({currentTarget:o.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};return P(M(o.target),"scroll",d,!0),()=>{B(M(o.target),"scroll",d,!0)}}},[ve,P,B]);let In=m.useMemo(()=>{let o=k.current,d={onKeyDown(s){if(xe(s.nativeEvent,s.currentTarget)&&$(s.currentTarget,v(s))){var p;lt(v(s),s.key)&&s.preventDefault();let b=!0;!o.isPressed&&!s.repeat&&(o.target=s.currentTarget,o.isPressed=!0,$t(!0),o.pointerType="keyboard",b=S(s,"keyboard")),b&&s.stopPropagation(),s.metaKey&&J()&&((p=o.metaKeyEvents)===null||p===void 0||p.set(s.key,s.nativeEvent))}else s.key==="Meta"&&(o.metaKeyEvents=new Map)},onClick(s){if(!(s&&!$(s.currentTarget,v(s)))&&s&&s.button===0&&!o.isTriggeringEvent&&!j.isOpening){let p=!0;if(a&&s.preventDefault(),!o.ignoreEmulatedMouseEvents&&!o.isPressed&&(o.pointerType==="virtual"||Pe(s.nativeEvent))){let b=S(s,"virtual"),y=F(s,"virtual"),R=L(s,"virtual");oe(s),p=b&&y&&R}else if(o.isPressed&&o.pointerType!=="keyboard"){let b=o.pointerType||s.nativeEvent.pointerType||"virtual",y=F(W(s.currentTarget,s),b),R=L(W(s.currentTarget,s),b,!0);p=y&&R,o.isOverTarget=!1,oe(s),I(s)}o.ignoreEmulatedMouseEvents=!1,p&&s.stopPropagation()}}};return typeof PointerEvent<"u"?(d.onPointerDown=s=>{if(s.button!==0||!$(s.currentTarget,v(s)))return;if(Xt(s.nativeEvent)){o.pointerType="virtual";return}o.pointerType=s.pointerType;let p=!0;if(!o.isPressed){o.isPressed=!0,re("pointer"),o.isOverTarget=!0,o.activePointerId=s.pointerId,o.target=s.currentTarget,w||Ze(o.target),p=S(s,o.pointerType);let b=v(s);"releasePointerCapture"in b&&("hasPointerCapture"in b?b.hasPointerCapture(s.pointerId)&&b.releasePointerCapture(s.pointerId):b.releasePointerCapture(s.pointerId))}p&&s.stopPropagation()},d.onMouseDown=s=>{if($(s.currentTarget,v(s))&&s.button===0){if(g){let p=Qe(s.target);p&&o.disposables.push(p)}s.stopPropagation()}},d.onPointerUp=s=>{!$(s.currentTarget,v(s))||o.pointerType==="virtual"||s.button===0&&!o.isPressed&&F(s,o.pointerType||s.pointerType)},d.onPointerEnter=s=>{s.pointerId===o.activePointerId&&o.target&&!o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!0,S(W(o.target,s),o.pointerType))},d.onPointerLeave=s=>{s.pointerId===o.activePointerId&&o.target&&o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!1,L(W(o.target,s),o.pointerType,!1),H(s))},d.onDragStart=s=>{$(s.currentTarget,v(s))&&I(s)}):process.env.NODE_ENV==="test"&&(d.onMouseDown=s=>{if(s.button!==0||!$(s.currentTarget,v(s)))return;if(o.ignoreEmulatedMouseEvents){s.stopPropagation();return}if(o.isPressed=!0,re("mouse"),o.isOverTarget=!0,o.target=s.currentTarget,o.pointerType=Pe(s.nativeEvent)?"virtual":"mouse",Et.flushSync(()=>S(s,o.pointerType))&&s.stopPropagation(),g){let b=Qe(s.target);b&&o.disposables.push(b)}},d.onMouseEnter=s=>{if(!$(s.currentTarget,v(s)))return;let p=!0;o.isPressed&&!o.ignoreEmulatedMouseEvents&&o.pointerType!=null&&(o.isOverTarget=!0,p=S(s,o.pointerType)),p&&s.stopPropagation()},d.onMouseLeave=s=>{if(!$(s.currentTarget,v(s)))return;let p=!0;o.isPressed&&!o.ignoreEmulatedMouseEvents&&o.pointerType!=null&&(o.isOverTarget=!1,p=L(s,o.pointerType,!1),H(s)),p&&s.stopPropagation()},d.onMouseUp=s=>{$(s.currentTarget,v(s))&&!o.ignoreEmulatedMouseEvents&&s.button===0&&!o.isPressed&&F(s,o.pointerType||"mouse")},d.onTouchStart=s=>{if(!$(s.currentTarget,v(s)))return;let p=cn(s.nativeEvent);if(!p)return;o.activePointerId=p.identifier,o.ignoreEmulatedMouseEvents=!0,o.isOverTarget=!0,o.isPressed=!0,re("touch"),o.target=s.currentTarget,o.pointerType="touch",w||Ze(o.target),S(U(o.target,s),o.pointerType)&&s.stopPropagation()},d.onTouchMove=s=>{if(!$(s.currentTarget,v(s)))return;if(!o.isPressed){s.stopPropagation();return}let p=it(s.nativeEvent,o.activePointerId),b=!0;p&&at(p,s.currentTarget)?!o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!0,b=S(U(o.target,s),o.pointerType)):o.isOverTarget&&o.pointerType!=null&&(o.isOverTarget=!1,b=L(U(o.target,s),o.pointerType,!1),H(U(o.target,s))),b&&s.stopPropagation()},d.onTouchEnd=s=>{if(!$(s.currentTarget,v(s)))return;if(!o.isPressed){s.stopPropagation();return}let p=it(s.nativeEvent,o.activePointerId),b=!0;p&&at(p,s.currentTarget)&&o.pointerType!=null?(F(U(o.target,s),o.pointerType),b=L(U(o.target,s),o.pointerType),Ie(s.nativeEvent,o.target)):o.isOverTarget&&o.pointerType!=null&&(b=L(U(o.target,s),o.pointerType,!1)),b&&s.stopPropagation(),o.isPressed=!1,re(null),o.activePointerId=null,o.isOverTarget=!1,o.ignoreEmulatedMouseEvents=!0,o.target&&!w&&Oe(o.target),O()},d.onTouchCancel=s=>{$(s.currentTarget,v(s))&&(s.stopPropagation(),o.isPressed&&I(U(o.target,s)))},d.onDragStart=s=>{$(s.currentTarget,v(s))&&I(s)}),d},[a,g,O,w,I,H,L,S,F,oe,Ie]);return m.useEffect(()=>{if(!A||process.env.NODE_ENV==="test")return;const o=T(A.current);if(!o||!o.head||o.getElementById(rt))return;const d=o.createElement("style");d.id=rt,d.textContent=`
|
|
2
2
|
@layer {
|
|
3
3
|
[${st}] {
|
|
4
4
|
touch-action: pan-x pan-y pinch-zoom;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
`.trim(),o.head.prepend(d)},[A]),m.useEffect(()=>{let o=k.current;return()=>{var d;w||Oe((d=o.target)!==null&&d!==void 0?d:void 0);for(let s of o.disposables)s();o.disposables=[]}},[w]),{isPressed:c||N,pressProps:G(D,In,{[st]:!0})}}function Be(e){return e.tagName==="A"&&e.hasAttribute("href")}function xe(e,t){const{key:n,code:r}=e,i=t,l=i.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(i instanceof M(i).HTMLInputElement&&!ut(i,n)||i instanceof M(i).HTMLTextAreaElement||i.isContentEditable)&&!((l==="link"||!l&&Be(i))&&n!=="Enter")}function cn(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function it(e,t){const n=e.changedTouches;for(let r=0;r<n.length;r++){const i=n[r];if(i.identifier===t)return i}return null}function U(e,t){let n=0,r=0;return t.targetTouches&&t.targetTouches.length===1&&(n=t.targetTouches[0].clientX,r=t.targetTouches[0].clientY),{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r}}function W(e,t){let n=t.clientX,r=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r,key:t.key}}function dn(e){let t=0,n=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?n=e.height/2:e.radiusY!==void 0&&(n=e.radiusY),{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function pn(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function at(e,t){let n=t.getBoundingClientRect(),r=dn(e);return pn(n,r)}function fn(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Be(e)}function lt(e,t){return e instanceof HTMLInputElement?!ut(e,t):fn(e)}const mn=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function ut(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":mn.has(e.type)}let te=null;const bn=new Set;let ne=new Map,Y=!1,Se=!1;function Le(e,t){for(let n of bn)n(e,t)}function vn(e){return!(e.metaKey||!J()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function pe(e){Y=!0,!j.isOpening&&vn(e)&&(te="keyboard",Le("keyboard",e))}function C(e){te="pointer","pointerType"in e&&e.pointerType,(e.type==="mousedown"||e.type==="pointerdown")&&(Y=!0,Le("pointer",e))}function ct(e){!j.isOpening&&Pe(e)&&(Y=!0,te="virtual")}function dt(e){v(e)===window||v(e)===document||le||!e.isTrusted||(!Y&&!Se&&(te="virtual",Le("virtual",e)),Y=!1,Se=!1)}function pt(){le||(Y=!1,Se=!0)}function ft(e){if(typeof window>"u"||typeof document>"u"||ne.get(M(e)))return;const t=M(e),n=T(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){Y=!0,r.apply(this,arguments)},n.addEventListener("keydown",pe,!0),n.addEventListener("keyup",pe,!0),n.addEventListener("click",ct,!0),t.addEventListener("focus",dt,!0),t.addEventListener("blur",pt,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",C,!0),n.addEventListener("pointermove",C,!0),n.addEventListener("pointerup",C,!0)):process.env.NODE_ENV==="test"&&(n.addEventListener("mousedown",C,!0),n.addEventListener("mousemove",C,!0),n.addEventListener("mouseup",C,!0)),t.addEventListener("beforeunload",()=>{mt(e)},{once:!0}),ne.set(t,{focus:r})}const mt=(e,t)=>{const n=M(e),r=T(e);t&&r.removeEventListener("DOMContentLoaded",t),ne.has(n)&&(n.HTMLElement.prototype.focus=ne.get(n).focus,r.removeEventListener("keydown",pe,!0),r.removeEventListener("keyup",pe,!0),r.removeEventListener("click",ct,!0),n.removeEventListener("focus",dt,!0),n.removeEventListener("blur",pt,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",C,!0),r.removeEventListener("pointermove",C,!0),r.removeEventListener("pointerup",C,!0)):process.env.NODE_ENV==="test"&&(r.removeEventListener("mousedown",C,!0),r.removeEventListener("mousemove",C,!0),r.removeEventListener("mouseup",C,!0)),ne.delete(n))};function gn(e){const t=T(e);let n;return t.readyState!=="loading"?ft(e):(n=()=>{ft(e)},t.addEventListener("DOMContentLoaded",n)),()=>mt(e,n)}typeof document<"u"&&gn();function _n(){return te}function yn(e){if(!e.isConnected)return;const t=T(e);if(_n()==="virtual"){let n=q(t);Ye(()=>{const r=q(t);(r===n||r===t.body)&&e.isConnected&&z(e)})}else z(e)}function hn(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:i}=e;const l=m.useCallback(c=>{if(v(c)===c.currentTarget)return r&&r(c),i&&i(!1),!0},[r,i]),u=tn(l),a=m.useCallback(c=>{let g=v(c);const _=T(g),w=_?q(_):q();g===c.currentTarget&&g===w&&(n&&n(c),i&&i(!0),u(c))},[i,n,u]);return{focusProps:{onFocus:!t&&(n||i||r)?a:void 0,onBlur:!t&&(r||i)?l:void 0}}}function bt(e){if(!e)return;let t=!0;return n=>{let r={...n,preventDefault(){n.preventDefault()},isDefaultPrevented(){return n.isDefaultPrevented()},stopPropagation(){t&&process.env.NODE_ENV!=="production"?console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior."):t=!0},continuePropagation(){t=!1},isPropagationStopped(){return t}};e(r),t&&n.stopPropagation()}}function $n(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:bt(e.onKeyDown),onKeyUp:bt(e.onKeyUp)}}}let En=m.createContext(null);function kn(e){let t=m.useContext(En)||{};Re(t,e);let{ref:n,...r}=t;return r}function wn(e,t){let{focusProps:n}=hn(e),{keyboardProps:r}=$n(e),i=G(n,r),l=kn(t),u=e.isDisabled?{}:l,a=m.useRef(e.autoFocus);m.useEffect(()=>{a.current&&t.current&&yn(t.current),a.current=!1},[t]);let c=e.excludeFromTabOrder?-1:0;return e.isDisabled&&(c=void 0),{focusableProps:G({...i,tabIndex:c},u)}}let fe=!1,me=0;function Ce(){fe=!0,setTimeout(()=>{fe=!1},50)}function vt(e){e.pointerType==="touch"&&Ce()}function Pn(){if(!(typeof document>"u"))return me===0&&(typeof PointerEvent<"u"?document.addEventListener("pointerup",vt):process.env.NODE_ENV==="test"&&document.addEventListener("touchend",Ce)),me++,()=>{me--,!(me>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",vt):process.env.NODE_ENV==="test"&&document.removeEventListener("touchend",Ce))}}function Tn(e){let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,isDisabled:i}=e,[l,u]=m.useState(!1),a=m.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;m.useEffect(Pn,[]);let{addGlobalListener:c,removeAllGlobalListeners:g}=Xe(),{hoverProps:_,triggerHoverEnd:w}=m.useMemo(()=>{let A=(h,k)=>{if(a.pointerType=k,i||k==="touch"||a.isHovered||!$(h.currentTarget,v(h)))return;a.isHovered=!0;let P=h.currentTarget;a.target=P,c(T(v(h)),"pointerover",O=>{a.isHovered&&a.target&&!$(a.target,v(O))&&D(O,O.pointerType)},{capture:!0}),t&&t({type:"hoverstart",target:P,pointerType:k}),n&&n(!0),u(!0)},D=(h,k)=>{let P=a.target;a.pointerType="",a.target=null,!(k==="touch"||!a.isHovered||!P)&&(a.isHovered=!1,g(),r&&r({type:"hoverend",target:P,pointerType:k}),n&&n(!1),u(!1))},N={};return typeof PointerEvent<"u"?(N.onPointerEnter=h=>{fe&&h.pointerType==="mouse"||A(h,h.pointerType)},N.onPointerLeave=h=>{!i&&$(h.currentTarget,v(h))&&D(h,h.pointerType)}):process.env.NODE_ENV==="test"&&(N.onTouchStart=()=>{a.ignoreEmulatedMouseEvents=!0},N.onMouseEnter=h=>{!a.ignoreEmulatedMouseEvents&&!fe&&A(h,"mouse"),a.ignoreEmulatedMouseEvents=!1},N.onMouseLeave=h=>{!i&&$(h.currentTarget,v(h))&&D(h,"mouse")}),{hoverProps:N,triggerHoverEnd:D}},[t,n,r,i,a,c,g]);return m.useEffect(()=>{i&&w({currentTarget:a.target},a.pointerType)},[i]),{hoverProps:_,isHovered:l}}function On(e,t){let{elementType:n="button",isDisabled:r,onPress:i,onPressStart:l,onPressEnd:u,onPressUp:a,onPressChange:c,preventFocusOnPress:g,allowFocusWhenDisabled:_,onClick:w,href:A,target:D,rel:N,type:h="button"}=e,k;n==="button"?k={type:h,disabled:r,form:e.form,formAction:e.formAction,formEncType:e.formEncType,formMethod:e.formMethod,formNoValidate:e.formNoValidate,formTarget:e.formTarget,name:e.name,value:e.value}:k={role:"button",href:n==="a"&&!r?A:void 0,target:n==="a"?D:void 0,type:n==="input"?h:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?N:void 0};let{pressProps:P,isPressed:O}=un({onPressStart:l,onPressEnd:u,onPressChange:c,onPress:i,onPressUp:a,onClick:w,isDisabled:r,preventFocusOnPress:g,ref:t}),{focusableProps:B}=wn(e,t);_&&(B.tabIndex=r?-1:B.tabIndex);let S=G(B,P,Mt(e,{labelable:!0}));return{isPressed:O,buttonProps:G(k,S,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],"aria-current":e["aria-current"],"aria-disabled":e["aria-disabled"]})}}function Bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function _t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?gt(Object(n),!0).forEach(function(r){Bn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var xn=(e,t,n)=>{for(var r of Object.keys(e)){var i;if(e[r]!==((i=t[r])!==null&&i!==void 0?i:n[r]))return!1}return!0},be=e=>t=>{var n=e.defaultClassName,r=_t(_t({},e.defaultVariants),t);for(var i in r){var l,u=(l=r[i])!==null&&l!==void 0?l:e.defaultVariants[i];if(u!=null){var a=u;typeof a=="boolean"&&(a=a===!0?"true":"false");var c=e.variantClassNames[i][a];c&&(n+=" "+c)}}for(var[g,_]of e.compoundVariants)xn(g,r,e.defaultVariants)&&(n+=" "+_);return n},Sn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy0",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy1",false:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy2"},kind:{default:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy3",link:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy4",confirm:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy5",delete:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy6",key:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy7",icon:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy8"},spinning:{true:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy9",false:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyb"],[{kind:"default",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyc"],[{kind:"confirm",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyd"],[{kind:"delete",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxye"],[{kind:"key",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyf"],[{disabled:!0,spinning:!1},"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyg"],[{kind:"link",disabled:!0},"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyh"]]}),Ln=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyi",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyj",false:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyk"},kind:{icon:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyl",default:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxym",delete:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyn",key:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyo",confirm:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyp",link:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyq"},spinning:{true:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyr",false:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxys"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),Cn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyt",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyu",false:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyv"},kind:{icon:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyw",default:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyx",delete:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyy",key:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxyz",confirm:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy10",link:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy11"}},defaultVariants:{spinning:!1},compoundVariants:[]}),yt="pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy12",Dn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy13",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy14",false:"pkg_sps-woodland_buttons__version_8_45_4__hash_125pcxy15"}},defaultVariants:{spinning:!1},compoundVariants:[]});const De=f.forwardRef(({as:e,onClick:t,onPress:n,children:r,className:i,isDisabled:l,disabled:u,href:a,icon:c,kind:g="default",spinning:_,spinningTitle:w,title:A,...D},N)=>{const h=e??(a?"a":"button"),k={onPress:n??t,isDisabled:u??l??_,...D},{"data-testid":P}=D,O=f.useRef(null),B=N||O,{buttonProps:S}=On(k,B),{hoverProps:L}=Tn({isDisabled:k.isDisabled}),{type:Ne,...F}=S,Ae={...G(F,L),ref:B,title:A,className:a?Cn({spinning:_,kind:g}):Ln({disabled:l||u,kind:g,spinning:_}),...a?{href:a}:{type:Ne},...D},{t:I}=wt.useWoodlandLanguage(),X=c&&(c==="ai-color"?f.createElement(Z.Icon,{className:yt,icon:g==="default"||g==="link"?"ai-color":"ai","aria-hidden":"true","data-testid":`${P}__${c}-icon`}):f.createElement(Z.Icon,{className:yt,icon:c,"aria-hidden":"true","data-testid":`${P}__${c}-icon`}));let H;g==="default"||g==="icon"||g==="link"?H="dark":H="light";const oe=_&&f.createElement(Z.Spinner,{color:H,className:Dn({spinning:_}),title:w||I("button.spinningTitle",{defaultValue:"Loading..."}),"data-testid":`${P}__spinner`});return f.createElement(kt.FocusRing,null,f.createElement("div",{className:Z.cl(Sn({disabled:l||u,kind:g,spinning:_}),i)},f.createElement(h,{...Ae},X,r?f.createElement("span",null,r):"",oe)))});Z.Metadata.set(De,{name:"Button",props:{disabled:"boolean",href:"string",icon:"IconName",kind:{type:'"default" | "link" | "icon" | "confirm" | "delete" | "key"',default:'"default"'},spinning:"boolean",spinningTitle:"string",type:{type:'"button" | "submit"',default:'"button"'},as:"button | a",onClick:"() => void",onPress:"() => void",children:"ReactNode",className:"string",isDisabled:"boolean",style:"CSSProperties"},panellable:!0});const Nn={Buttons:{components:[De],description:()=>f.createElement(f.Fragment,null,f.createElement("div",{className:"sps-body-14"},"Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."),f.createElement("br",null),f.createElement("h5",null,"Variants"),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Confirm: "),"For the main call to action on a page. There should only be one Confirm button per screen."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Disabled: "),"For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it’s disabled."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"With an Icon: "),"For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),examples:{basic:{label:"Basic Buttons",description:({NavigateTo:e})=>f.createElement(f.Fragment,null,f.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",f.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:E.code`
|
|
7
|
+
`.trim(),o.head.prepend(d)},[A]),m.useEffect(()=>{let o=k.current;return()=>{var d;w||Oe((d=o.target)!==null&&d!==void 0?d:void 0);for(let s of o.disposables)s();o.disposables=[]}},[w]),{isPressed:c||N,pressProps:G(D,In,{[st]:!0})}}function Be(e){return e.tagName==="A"&&e.hasAttribute("href")}function xe(e,t){const{key:n,code:r}=e,i=t,l=i.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(i instanceof M(i).HTMLInputElement&&!ut(i,n)||i instanceof M(i).HTMLTextAreaElement||i.isContentEditable)&&!((l==="link"||!l&&Be(i))&&n!=="Enter")}function cn(e){const{targetTouches:t}=e;return t.length>0?t[0]:null}function it(e,t){const n=e.changedTouches;for(let r=0;r<n.length;r++){const i=n[r];if(i.identifier===t)return i}return null}function U(e,t){let n=0,r=0;return t.targetTouches&&t.targetTouches.length===1&&(n=t.targetTouches[0].clientX,r=t.targetTouches[0].clientY),{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r}}function W(e,t){let n=t.clientX,r=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r,key:t.key}}function dn(e){let t=0,n=0;return e.width!==void 0?t=e.width/2:e.radiusX!==void 0&&(t=e.radiusX),e.height!==void 0?n=e.height/2:e.radiusY!==void 0&&(n=e.radiusY),{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function pn(e,t){return!(e.left>t.right||t.left>e.right||e.top>t.bottom||t.top>e.bottom)}function at(e,t){let n=t.getBoundingClientRect(),r=dn(e);return pn(n,r)}function fn(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Be(e)}function lt(e,t){return e instanceof HTMLInputElement?!ut(e,t):fn(e)}const mn=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function ut(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":mn.has(e.type)}let te=null;const bn=new Set;let ne=new Map,Y=!1,Se=!1;function Le(e,t){for(let n of bn)n(e,t)}function vn(e){return!(e.metaKey||!J()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function pe(e){Y=!0,!j.isOpening&&vn(e)&&(te="keyboard",Le("keyboard",e))}function C(e){te="pointer","pointerType"in e&&e.pointerType,(e.type==="mousedown"||e.type==="pointerdown")&&(Y=!0,Le("pointer",e))}function ct(e){!j.isOpening&&Pe(e)&&(Y=!0,te="virtual")}function dt(e){v(e)===window||v(e)===document||le||!e.isTrusted||(!Y&&!Se&&(te="virtual",Le("virtual",e)),Y=!1,Se=!1)}function pt(){le||(Y=!1,Se=!0)}function ft(e){if(typeof window>"u"||typeof document>"u"||ne.get(M(e)))return;const t=M(e),n=T(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){Y=!0,r.apply(this,arguments)},n.addEventListener("keydown",pe,!0),n.addEventListener("keyup",pe,!0),n.addEventListener("click",ct,!0),t.addEventListener("focus",dt,!0),t.addEventListener("blur",pt,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",C,!0),n.addEventListener("pointermove",C,!0),n.addEventListener("pointerup",C,!0)):process.env.NODE_ENV==="test"&&(n.addEventListener("mousedown",C,!0),n.addEventListener("mousemove",C,!0),n.addEventListener("mouseup",C,!0)),t.addEventListener("beforeunload",()=>{mt(e)},{once:!0}),ne.set(t,{focus:r})}const mt=(e,t)=>{const n=M(e),r=T(e);t&&r.removeEventListener("DOMContentLoaded",t),ne.has(n)&&(n.HTMLElement.prototype.focus=ne.get(n).focus,r.removeEventListener("keydown",pe,!0),r.removeEventListener("keyup",pe,!0),r.removeEventListener("click",ct,!0),n.removeEventListener("focus",dt,!0),n.removeEventListener("blur",pt,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",C,!0),r.removeEventListener("pointermove",C,!0),r.removeEventListener("pointerup",C,!0)):process.env.NODE_ENV==="test"&&(r.removeEventListener("mousedown",C,!0),r.removeEventListener("mousemove",C,!0),r.removeEventListener("mouseup",C,!0)),ne.delete(n))};function gn(e){const t=T(e);let n;return t.readyState!=="loading"?ft(e):(n=()=>{ft(e)},t.addEventListener("DOMContentLoaded",n)),()=>mt(e,n)}typeof document<"u"&&gn();function _n(){return te}function yn(e){if(!e.isConnected)return;const t=T(e);if(_n()==="virtual"){let n=q(t);Ye(()=>{const r=q(t);(r===n||r===t.body)&&e.isConnected&&z(e)})}else z(e)}function hn(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:i}=e;const l=m.useCallback(c=>{if(v(c)===c.currentTarget)return r&&r(c),i&&i(!1),!0},[r,i]),u=tn(l),a=m.useCallback(c=>{let g=v(c);const _=T(g),w=_?q(_):q();g===c.currentTarget&&g===w&&(n&&n(c),i&&i(!0),u(c))},[i,n,u]);return{focusProps:{onFocus:!t&&(n||i||r)?a:void 0,onBlur:!t&&(r||i)?l:void 0}}}function bt(e){if(!e)return;let t=!0;return n=>{let r={...n,preventDefault(){n.preventDefault()},isDefaultPrevented(){return n.isDefaultPrevented()},stopPropagation(){t&&process.env.NODE_ENV!=="production"?console.error("stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior."):t=!0},continuePropagation(){t=!1},isPropagationStopped(){return t}};e(r),t&&n.stopPropagation()}}function $n(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:bt(e.onKeyDown),onKeyUp:bt(e.onKeyUp)}}}let En=m.createContext(null);function kn(e){let t=m.useContext(En)||{};Re(t,e);let{ref:n,...r}=t;return r}function wn(e,t){let{focusProps:n}=hn(e),{keyboardProps:r}=$n(e),i=G(n,r),l=kn(t),u=e.isDisabled?{}:l,a=m.useRef(e.autoFocus);m.useEffect(()=>{a.current&&t.current&&yn(t.current),a.current=!1},[t]);let c=e.excludeFromTabOrder?-1:0;return e.isDisabled&&(c=void 0),{focusableProps:G({...i,tabIndex:c},u)}}let fe=!1,me=0;function Ce(){fe=!0,setTimeout(()=>{fe=!1},50)}function vt(e){e.pointerType==="touch"&&Ce()}function Pn(){if(!(typeof document>"u"))return me===0&&(typeof PointerEvent<"u"?document.addEventListener("pointerup",vt):process.env.NODE_ENV==="test"&&document.addEventListener("touchend",Ce)),me++,()=>{me--,!(me>0)&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",vt):process.env.NODE_ENV==="test"&&document.removeEventListener("touchend",Ce))}}function Tn(e){let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,isDisabled:i}=e,[l,u]=m.useState(!1),a=m.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;m.useEffect(Pn,[]);let{addGlobalListener:c,removeAllGlobalListeners:g}=Xe(),{hoverProps:_,triggerHoverEnd:w}=m.useMemo(()=>{let A=(h,k)=>{if(a.pointerType=k,i||k==="touch"||a.isHovered||!$(h.currentTarget,v(h)))return;a.isHovered=!0;let P=h.currentTarget;a.target=P,c(T(v(h)),"pointerover",O=>{a.isHovered&&a.target&&!$(a.target,v(O))&&D(O,O.pointerType)},{capture:!0}),t&&t({type:"hoverstart",target:P,pointerType:k}),n&&n(!0),u(!0)},D=(h,k)=>{let P=a.target;a.pointerType="",a.target=null,!(k==="touch"||!a.isHovered||!P)&&(a.isHovered=!1,g(),r&&r({type:"hoverend",target:P,pointerType:k}),n&&n(!1),u(!1))},N={};return typeof PointerEvent<"u"?(N.onPointerEnter=h=>{fe&&h.pointerType==="mouse"||A(h,h.pointerType)},N.onPointerLeave=h=>{!i&&$(h.currentTarget,v(h))&&D(h,h.pointerType)}):process.env.NODE_ENV==="test"&&(N.onTouchStart=()=>{a.ignoreEmulatedMouseEvents=!0},N.onMouseEnter=h=>{!a.ignoreEmulatedMouseEvents&&!fe&&A(h,"mouse"),a.ignoreEmulatedMouseEvents=!1},N.onMouseLeave=h=>{!i&&$(h.currentTarget,v(h))&&D(h,"mouse")}),{hoverProps:N,triggerHoverEnd:D}},[t,n,r,i,a,c,g]);return m.useEffect(()=>{i&&w({currentTarget:a.target},a.pointerType)},[i]),{hoverProps:_,isHovered:l}}function On(e,t){let{elementType:n="button",isDisabled:r,onPress:i,onPressStart:l,onPressEnd:u,onPressUp:a,onPressChange:c,preventFocusOnPress:g,allowFocusWhenDisabled:_,onClick:w,href:A,target:D,rel:N,type:h="button"}=e,k;n==="button"?k={type:h,disabled:r,form:e.form,formAction:e.formAction,formEncType:e.formEncType,formMethod:e.formMethod,formNoValidate:e.formNoValidate,formTarget:e.formTarget,name:e.name,value:e.value}:k={role:"button",href:n==="a"&&!r?A:void 0,target:n==="a"?D:void 0,type:n==="input"?h:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?N:void 0};let{pressProps:P,isPressed:O}=un({onPressStart:l,onPressEnd:u,onPressChange:c,onPress:i,onPressUp:a,onClick:w,isDisabled:r,preventFocusOnPress:g,ref:t}),{focusableProps:B}=wn(e,t);_&&(B.tabIndex=r?-1:B.tabIndex);let S=G(B,P,Mt(e,{labelable:!0}));return{isPressed:O,buttonProps:G(k,S,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],"aria-current":e["aria-current"],"aria-disabled":e["aria-disabled"]})}}function Bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function _t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?gt(Object(n),!0).forEach(function(r){Bn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var xn=(e,t,n)=>{for(var r of Object.keys(e)){var i;if(e[r]!==((i=t[r])!==null&&i!==void 0?i:n[r]))return!1}return!0},be=e=>t=>{var n=e.defaultClassName,r=_t(_t({},e.defaultVariants),t);for(var i in r){var l,u=(l=r[i])!==null&&l!==void 0?l:e.defaultVariants[i];if(u!=null){var a=u;typeof a=="boolean"&&(a=a===!0?"true":"false");var c=e.variantClassNames[i][a];c&&(n+=" "+c)}}for(var[g,_]of e.compoundVariants)xn(g,r,e.defaultVariants)&&(n+=" "+_);return n},Sn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy0",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy1",false:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy2"},kind:{default:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy3",link:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy4",confirm:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy5",delete:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy6",key:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy7",icon:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy8"},spinning:{true:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy9",false:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxya"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[[{kind:"icon",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyb"],[{kind:"default",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyc"],[{kind:"confirm",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyd"],[{kind:"delete",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxye"],[{kind:"key",spinning:!0},"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyf"],[{disabled:!0,spinning:!1},"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyg"],[{kind:"link",disabled:!0},"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyh"]]}),Ln=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyi",variantClassNames:{disabled:{true:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyj",false:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyk"},kind:{icon:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyl",default:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxym",delete:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyn",key:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyo",confirm:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyp",link:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyq"},spinning:{true:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyr",false:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxys"}},defaultVariants:{disabled:!1,kind:"default",spinning:!1},compoundVariants:[]}),Cn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyt",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyu",false:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyv"},kind:{icon:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyw",default:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyx",delete:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyy",key:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyz",confirm:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy10",link:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy11"}},defaultVariants:{spinning:!1},compoundVariants:[]}),yt="pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy12",Dn=be({defaultClassName:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy13",variantClassNames:{spinning:{true:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy14",false:"pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy15"}},defaultVariants:{spinning:!1},compoundVariants:[]});const De=f.forwardRef(({as:e,onClick:t,onPress:n,children:r,className:i,isDisabled:l,disabled:u,href:a,icon:c,kind:g="default",spinning:_,spinningTitle:w,title:A,...D},N)=>{const h=e??(a?"a":"button"),k={onPress:n??t,isDisabled:u??l??_,...D},{"data-testid":P}=D,O=f.useRef(null),B=N||O,{buttonProps:S}=On(k,B),{hoverProps:L}=Tn({isDisabled:k.isDisabled}),{type:Ne,...F}=S,Ae={...G(F,L),ref:B,title:A,className:a?Cn({spinning:_,kind:g}):Ln({disabled:l||u,kind:g,spinning:_}),...a?{href:a}:{type:Ne},...D},{t:I}=wt.useWoodlandLanguage(),X=c&&(c==="ai-color"?f.createElement(Z.Icon,{className:yt,icon:g==="default"||g==="link"?"ai-color":"ai","aria-hidden":"true","data-testid":`${P}__${c}-icon`}):f.createElement(Z.Icon,{className:yt,icon:c,"aria-hidden":"true","data-testid":`${P}__${c}-icon`}));let H;g==="default"||g==="icon"||g==="link"?H="dark":H="light";const oe=_&&f.createElement(Z.Spinner,{color:H,className:Dn({spinning:_}),title:w||I("button.spinningTitle",{defaultValue:"Loading..."}),"data-testid":`${P}__spinner`});return f.createElement(kt.FocusRing,null,f.createElement("div",{className:Z.cl(Sn({disabled:l||u,kind:g,spinning:_}),i)},f.createElement(h,{...Ae},X,r?f.createElement("span",null,r):"",oe)))});Z.Metadata.set(De,{name:"Button",props:{disabled:"boolean",href:"string",icon:"IconName",kind:{type:'"default" | "link" | "icon" | "confirm" | "delete" | "key"',default:'"default"'},spinning:"boolean",spinningTitle:"string",type:{type:'"button" | "submit"',default:'"button"'},as:"button | a",onClick:"() => void",onPress:"() => void",children:"ReactNode",className:"string",isDisabled:"boolean",style:"CSSProperties"},panellable:!0});const Nn={Buttons:{components:[De],description:()=>f.createElement(f.Fragment,null,f.createElement("div",{className:"sps-body-14"},"Buttons are used to initiate events or actions. The labels and/or icons describe what the button will do."),f.createElement("br",null),f.createElement("h5",null,"Variants"),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Default: "),"For tertiary actions or actions of lower importance on a page."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Key: "),"For primary or important actions on a page."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Confirm: "),"For the main call to action on a page. There should only be one Confirm button per screen."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Delete: "),"For deleting information or another destructive action. These should always be paired with a Delete Confirmation Modal."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"Disabled: "),"For actions that are not permitted in a particular state. These can be accompanied by a Tooltip on hover describing why it’s disabled."),f.createElement("div",{className:"sps-body-14"},f.createElement("span",{className:"sps-text-semibold"},"With an Icon: "),"For further illustrating the action. Example: Pencil icon in an Edit button. There can also be Icon Buttons without text.")),examples:{basic:{label:"Basic Buttons",description:({NavigateTo:e})=>f.createElement(f.Fragment,null,f.createElement("p",null,"The most common type of button that can be used in most cases. Example: Basic Buttons in a ",f.createElement(e,{to:"modals"},"Modal"),".")),examples:{withoutIcons:{description:"Without Icons",react:E.code`
|
|
8
8
|
import { Button } from "@sps-woodland/buttons";
|
|
9
9
|
import { sprinkles } from "@sps-woodland/tokens";
|
|
10
10
|
|
|
@@ -417,4 +417,4 @@
|
|
|
417
417
|
</>
|
|
418
418
|
)
|
|
419
419
|
}
|
|
420
|
-
`}}}}}};x.Button=De,x.MANIFEST=Nn,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
|
|
420
|
+
`}}}}}};x.Button=De,x.MANIFEST=Nn,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})}));
|
package/lib/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.pkg_sps-
|
|
1
|
+
.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy0{border-width:.0625rem;border-style:solid;border-radius:.25rem;cursor:pointer;display:inline-block;font-size:.75rem;font-weight:600;line-height:.875rem;padding:0;position:relative}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy3{background:#e9e9ea;border-color:#d2d4d4;color:#4b5356}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy3:hover{background:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy4{background:none transparent;border:0;color:#007db8}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy4:hover{background:none transparent;color:#09638d;text-decoration:none}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy5{background:#007db8;border-color:#09638d;color:#fff}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy5:hover{background:#09638d}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy6{background:#de002e;border-color:#a30d2d;color:#fff}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy6:hover{background:#a30d2d}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy7{background:#4b5356;border-color:#1f282c;color:#fff}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy7:hover{background:#1f282c}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy8{background:transparent;border-color:transparent;color:#4b5356}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy8:hover{background-color:#d2d4d4;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy9{color:transparent!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyb{background:#e9e9ea;border-color:#d2d4d4}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyb:hover,.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyc:hover{background:#e9e9ea}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyd:hover{background:#007db8}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxye:hover{background:#de002e}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyf:hover{background:#4b5356}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyg{background:#fff!important;border-color:#d2d4d4!important;color:#717779!important;cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyg:hover{background:#fff}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyh{background:none transparent!important}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyi{background:none transparent;border:0 none;color:inherit;display:block;font-size:inherit;font-weight:inherit;margin:0;text-decoration:none;padding:.5rem 1rem}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyi:hover{text-decoration:none}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyj{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyl{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyq{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyr{cursor:not-allowed!important}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyt{background:none transparent;border:0 none;color:inherit;cursor:inherit;display:block;font-size:inherit;font-weight:inherit;margin:0;padding:.5rem 1rem;text-decoration:none}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyt:hover{text-decoration:none;color:inherit}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyu{cursor:not-allowed}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxyw{padding:.25rem .5rem}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy11{padding-top:.5rem;padding-bottom:.5rem;padding-right:0;padding-left:0}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy12{line-height:0!important;position:relative}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy12:before{font-size:.875rem;line-height:0;position:relative;top:.125rem}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy12:not(:last-child){margin-right:.5rem}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy13{left:50%;margin:-.875rem -.4375rem;position:absolute}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy14{cursor:not-allowed;display:inline}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy15{display:none}.pkg_sps-woodland_buttons__version_8_45_6__hash_125pcxy13>i{border-width:.125rem;height:.875rem;width:.875rem}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sps-woodland/buttons",
|
|
3
3
|
"description": "SPS Woodland Design System button components",
|
|
4
|
-
"version": "8.45.
|
|
4
|
+
"version": "8.45.6",
|
|
5
5
|
"author": "SPS Commerce",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/buttons",
|
|
@@ -26,31 +26,30 @@
|
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
|
-
"@react-aria/focus": "
|
|
30
|
-
"@spscommerce/utils": "^7.0.0 || ^8.0.0",
|
|
29
|
+
"@react-aria/focus": "3.21.5",
|
|
30
|
+
"@spscommerce/utils": "^7.0.0 || ^8.0.0 || ^9.0.0",
|
|
31
31
|
"react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
32
32
|
"react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
33
|
-
"@sps-woodland/core": "8.45.
|
|
34
|
-
"@sps-woodland/tokens": "8.45.
|
|
35
|
-
"@spscommerce/i18n": "8.45.
|
|
33
|
+
"@sps-woodland/core": "8.45.6",
|
|
34
|
+
"@sps-woodland/tokens": "8.45.6",
|
|
35
|
+
"@spscommerce/i18n": "8.45.6"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@react-aria/button": "
|
|
39
|
-
"@react-aria/focus": "
|
|
40
|
-
"@react-types/shared": "
|
|
41
|
-
"@spscommerce/utils": "
|
|
42
|
-
"@vanilla-extract/css": "
|
|
43
|
-
"@vanilla-extract/recipes": "
|
|
44
|
-
"react": "
|
|
45
|
-
"react-dom": "
|
|
46
|
-
"@sps-woodland/core": "8.45.
|
|
47
|
-
"@sps-woodland/tokens": "8.45.
|
|
48
|
-
"@spscommerce/i18n": "8.45.
|
|
38
|
+
"@react-aria/button": "3.14.5",
|
|
39
|
+
"@react-aria/focus": "3.21.5",
|
|
40
|
+
"@react-types/shared": "3.34.0",
|
|
41
|
+
"@spscommerce/utils": "9.0.3",
|
|
42
|
+
"@vanilla-extract/css": "1.17.4",
|
|
43
|
+
"@vanilla-extract/recipes": "0.2.5",
|
|
44
|
+
"react": "16.14.0",
|
|
45
|
+
"react-dom": "16.14.0",
|
|
46
|
+
"@sps-woodland/core": "8.45.6",
|
|
47
|
+
"@sps-woodland/tokens": "8.45.6",
|
|
48
|
+
"@spscommerce/i18n": "8.45.6"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@react-aria/interactions": "^3.27.1",
|
|
52
|
-
"@react-aria/utils": "
|
|
53
|
-
"@react-spectrum/utils": "^3.12.12",
|
|
52
|
+
"@react-aria/utils": "3.33.1",
|
|
54
53
|
"@react-types/button": "^3.7.1"
|
|
55
54
|
},
|
|
56
55
|
"scripts": {
|