@sps-woodland/modal 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.umd.cjs CHANGED
@@ -1,4 +1,9 @@
1
- (function(M,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("@sps-woodland/core"),require("@sps-woodland/buttons"),require("react"),require("@spscommerce/i18n"),require("react-dom"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","@sps-woodland/core","@sps-woodland/buttons","react","@spscommerce/i18n","react-dom","@spscommerce/utils"],E):(M=typeof globalThis<"u"?globalThis:M||self,E(M.Modal={},M.core,M.buttons,M.React,M.i18n,M.$4AOtR$reactdom,M.utils))})(this,function(M,E,xe,u,gt,vt,v){"use strict";function ht(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const f=ht(u),_=typeof document<"u"?u.useLayoutEffect:()=>{};function $t(e){let[t,o]=u.useState(e),n=u.useRef(t),r=u.useRef(null),a=u.useRef(()=>{if(!r.current)return;let l=r.current.next();if(l.done){r.current=null;return}n.current===l.value?a.current():o(l.value)});_(()=>{n.current=t,r.current&&a.current()});let i=u.useCallback(l=>{r.current=l(n.current),a.current()},[a]);return[t,i]}const Z={prefix:String(Math.round(Math.random()*1e10)),current:0},Le=u.createContext(Z),wt=u.createContext(!1);let Et=!!(typeof window<"u"&&window.document&&window.document.createElement),de=new WeakMap;function _t(e=!1){let t=u.useContext(Le),o=u.useRef(null);if(o.current===null&&!e){var n,r;let a=(r=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||r===void 0||(n=r.ReactCurrentOwner)===null||n===void 0?void 0:n.current;if(a){let i=de.get(a);i==null?de.set(a,{id:t.current,state:a.memoizedState}):a.memoizedState!==i.state&&(t.current=i.id,de.delete(a))}o.current=++t.current}return o.current}function Mt(e){let t=u.useContext(Le);t===Z&&!Et&&process.env.NODE_ENV!=="production"&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let o=_t(!!e),n=t===Z&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${n}-${o}`}function yt(e){let t=u.useId(),[o]=u.useState(Ce()),n=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${Z.prefix}`;return e||`${n}-${t}`}const kt=typeof u.useId=="function"?yt:Mt;function Pt(){return!1}function Tt(){return!0}function Nt(e){return()=>{}}function Ce(){return typeof u.useSyncExternalStore=="function"?u.useSyncExternalStore(Nt,Pt,Tt):u.useContext(wt)}let St=!!(typeof window<"u"&&window.document&&window.document.createElement),q=new Map,K;typeof FinalizationRegistry<"u"&&(K=new FinalizationRegistry(e=>{q.delete(e)}));function Fe(e){let[t,o]=u.useState(e),n=u.useRef(null),r=kt(t),a=u.useRef(null);if(K&&K.register(a,r),St){const i=q.get(r);i&&!i.includes(n)?i.push(n):q.set(r,[n])}return _(()=>{let i=r;return()=>{K&&K.unregister(a),q.delete(i)}},[r]),u.useEffect(()=>{let i=n.current;return i&&o(i),()=>{i&&(n.current=null)}}),r}function xt(e,t){if(e===t)return e;let o=q.get(e);if(o)return o.forEach(r=>r.current=t),t;let n=q.get(t);return n?(n.forEach(r=>r.current=e),e):t}function Lt(e=[]){let t=Fe(),[o,n]=$t(t),r=u.useCallback(()=>{n(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,n]);return _(r,[t,r,...e]),o}function ee(...e){return(...t)=>{for(let o of e)typeof o=="function"&&o(...t)}}const w=e=>{var t;return(t=e?.ownerDocument)!==null&&t!==void 0?t:document},H=e=>e&&"window"in e&&e.window===e?e:w(e).defaultView||window;function Ct(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Ft(e){return Ct(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let Bt=!1;function te(){return Bt}function x(e,t){if(!te())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let o=t;for(;o!==null;){if(o===e)return!0;o.tagName==="SLOT"&&o.assignedSlot?o=o.assignedSlot.parentNode:Ft(o)?o=o.host:o=o.parentNode}return!1}const k=(e=document)=>{var t;if(!te())return e.activeElement;let o=e.activeElement;for(;o&&"shadowRoot"in o&&(!((t=o.shadowRoot)===null||t===void 0)&&t.activeElement);)o=o.shadowRoot.activeElement;return o};function y(e){if(te()&&e.target instanceof Element&&e.target.shadowRoot){var t,o;if("composedPath"in e)return(t=e.composedPath()[0])!==null&&t!==void 0?t:null;if("composedPath"in e.nativeEvent)return(o=e.nativeEvent.composedPath()[0])!==null&&o!==void 0?o:null}return e.target}class Ot{get currentNode(){return this._currentNode}set currentNode(t){if(!x(this.root,t))throw new Error("Cannot set currentNode to a node that is not contained by the root node.");const o=[];let n=t,r=t;for(this._currentNode=t;n&&n!==this.root;)if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const i=n,l=this._doc.createTreeWalker(i,this.whatToShow,{acceptNode:this._acceptNode});o.push(l),l.currentNode=r,this._currentSetFor.add(l),n=r=i.host}else n=n.parentNode;const a=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});o.push(a),a.currentNode=r,this._currentSetFor.add(a),this._walkerStack=o}get doc(){return this._doc}firstChild(){let t=this.currentNode,o=this.nextNode();return x(t,o)?(o&&(this.currentNode=o),o):(this.currentNode=t,null)}lastChild(){let o=this._walkerStack[0].lastChild();return o&&(this.currentNode=o),o}nextNode(){const t=this._walkerStack[0].nextNode();if(t){if(t.shadowRoot){var o;let r;if(typeof this.filter=="function"?r=this.filter(t):!((o=this.filter)===null||o===void 0)&&o.acceptNode&&(r=this.filter.acceptNode(t)),r===NodeFilter.FILTER_ACCEPT)return this.currentNode=t,t;let a=this.nextNode();return a&&(this.currentNode=a),a}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let n=this.nextNode();return n&&(this.currentNode=n),n}else return null}previousNode(){const t=this._walkerStack[0];if(t.currentNode===t.root){if(this._currentSetFor.has(t))if(this._currentSetFor.delete(t),this._walkerStack.length>1){this._walkerStack.shift();let r=this.previousNode();return r&&(this.currentNode=r),r}else return null;return null}const o=t.previousNode();if(o){if(o.shadowRoot){var n;let a;if(typeof this.filter=="function"?a=this.filter(o):!((n=this.filter)===null||n===void 0)&&n.acceptNode&&(a=this.filter.acceptNode(o)),a===NodeFilter.FILTER_ACCEPT)return o&&(this.currentNode=o),o;let i=this.lastChild();return i&&(this.currentNode=i),i}return o&&(this.currentNode=o),o}else if(this._walkerStack.length>1){this._walkerStack.shift();let r=this.previousNode();return r&&(this.currentNode=r),r}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}constructor(t,o,n,r){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=i=>{if(i.nodeType===Node.ELEMENT_NODE){const s=i.shadowRoot;if(s){const d=this._doc.createTreeWalker(s,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(d),NodeFilter.FILTER_ACCEPT}else{var l;if(typeof this.filter=="function")return this.filter(i);if(!((l=this.filter)===null||l===void 0)&&l.acceptNode)return this.filter.acceptNode(i);if(this.filter===null)return NodeFilter.FILTER_ACCEPT}}return NodeFilter.FILTER_SKIP},this._doc=t,this.root=o,this.filter=r??null,this.whatToShow=n??NodeFilter.SHOW_ALL,this._currentNode=o,this._walkerStack.unshift(t.createTreeWalker(o,n,this._acceptNode));const a=o.shadowRoot;if(a){const i=this._doc.createTreeWalker(a,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(i)}}}function Dt(e,t,o,n){return te()?new Ot(e,t,o,n):e.createTreeWalker(t,o,n)}function At(...e){return e.length===1&&e[0]?e[0]:t=>{let o=!1;const n=e.map(r=>{const a=Be(r,t);return o||(o=typeof a=="function"),a});if(o)return()=>{n.forEach((r,a)=>{typeof r=="function"?r():Be(e[a],null)})}}}function Be(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Oe(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(o=Oe(e[t]))&&(n&&(n+=" "),n+=o)}else for(o in e)e[o]&&(n&&(n+=" "),n+=o);return n}function It(){for(var e,t,o=0,n="",r=arguments.length;o<r;o++)(e=arguments[o])&&(t=Oe(e))&&(n&&(n+=" "),n+=t);return n}function Wt(...e){let t={...e[0]};for(let o=1;o<e.length;o++){let n=e[o];for(let r in n){let a=t[r],i=n[r];typeof a=="function"&&typeof i=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=ee(a,i):(r==="className"||r==="UNSAFE_className")&&typeof a=="string"&&typeof i=="string"?t[r]=It(a,i):r==="id"&&a&&i?t.id=xt(a,i):r==="ref"&&a&&i?t.ref=At(a,i):t[r]=i!==void 0?i:a}}return t}const qt=new Set(["id"]),zt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Vt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),Kt=new Set(["dir","lang","hidden","inert","translate"]),De=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"]),Ht=/^(data-.*)$/;function jt(e,t={}){let{labelable:o,isLink:n,global:r,events:a=r,propNames:i}=t,l={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(qt.has(s)||o&&zt.has(s)||n&&Vt.has(s)||r&&Kt.has(s)||a&&(De.has(s)||s.endsWith("Capture")&&De.has(s.slice(0,-7)))||i?.has(s)||Ht.test(s))&&(l[s]=e[s]);return l}function ue(e){if(Rt())e.focus({preventScroll:!0});else{let t=Ut(e);e.focus(),Gt(t)}}let oe=null;function Rt(){if(oe==null){oe=!1;try{document.createElement("div").focus({get preventScroll(){return oe=!0,!0}})}catch{}}return oe}function Ut(e){let t=e.parentNode,o=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&o.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&o.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),o}function Gt(e){for(let{element:t,scrollTop:o,scrollLeft:n}of e)t.scrollTop=o,t.scrollLeft=n}function ne(e){var t;if(typeof window>"u"||window.navigator==null)return!1;let o=(t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands;return Array.isArray(o)&&o.some(n=>e.test(n.brand))||e.test(window.navigator.userAgent)}function ce(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 L(e){if(process.env.NODE_ENV==="test")return e;let t=null;return()=>(t==null&&(t=e()),t)}const j=L(function(){return ce(/^Mac/i)}),Jt=L(function(){return ce(/^iPhone/i)}),Ae=L(function(){return ce(/^iPad/i)||j()&&navigator.maxTouchPoints>1}),Ie=L(function(){return Jt()||Ae()});L(function(){return j()||Ie()});const Xt=L(function(){return ne(/AppleWebKit/i)&&!We()}),We=L(function(){return ne(/Chrome/i)}),qe=L(function(){return ne(/Android/i)}),Yt=L(function(){return ne(/Firefox/i)});function R(e,t,o=!0){var n,r;let{metaKey:a,ctrlKey:i,altKey:l,shiftKey:s}=t;Yt()&&(!((r=window.event)===null||r===void 0||(n=r.type)===null||n===void 0)&&n.startsWith("key"))&&e.target==="_blank"&&(j()?a=!0:i=!0);let d=Xt()&&j()&&!Ae()&&process.env.NODE_ENV!=="test"?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:a,ctrlKey:i,altKey:l,shiftKey:s}):new MouseEvent("click",{metaKey:a,ctrlKey:i,altKey:l,shiftKey:s,detail:1,bubbles:!0,cancelable:!0});R.isOpening=o,ue(e),e.dispatchEvent(d),R.isOpening=!1}R.isOpening=!1;let O=new Map,fe=new Set;function ze(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{let r=y(n);if(!e(n)||!r)return;let a=O.get(r);a||(a=new Set,O.set(r,a),r.addEventListener("transitioncancel",o,{once:!0})),a.add(n.propertyName)},o=n=>{let r=y(n);if(!e(n)||!r)return;let a=O.get(r);if(a&&(a.delete(n.propertyName),a.size===0&&(r.removeEventListener("transitioncancel",o),O.delete(r)),O.size===0)){for(let i of fe)i();fe.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",o)}typeof document<"u"&&(document.readyState!=="loading"?ze():document.addEventListener("DOMContentLoaded",ze));function Qt(){for(const[e]of O)"isConnected"in e&&!e.isConnected&&O.delete(e)}function Zt(e){requestAnimationFrame(()=>{Qt(),O.size===0?e():fe.add(e)})}function eo(){let e=u.useRef(new Map),t=u.useCallback((r,a,i,l)=>{let s=l?.once?(...d)=>{e.current.delete(i),i(...d)}:i;e.current.set(i,{type:a,eventTarget:r,fn:s,options:l}),r.addEventListener(a,s,l)},[]),o=u.useCallback((r,a,i,l)=>{var s;let d=((s=e.current.get(i))===null||s===void 0?void 0:s.fn)||i;r.removeEventListener(a,d,l),e.current.delete(i)},[]),n=u.useCallback(()=>{e.current.forEach((r,a)=>{o(r.eventTarget,r.type,a,r.options)})},[o]);return u.useEffect(()=>n,[n]),{addGlobalListener:t,removeGlobalListener:o,removeAllGlobalListeners:n}}var me;const to=(me=u.useInsertionEffect)!==null&&me!==void 0?me:_;function Ve(e){const t=u.useRef(null);return to(()=>{t.current=e},[e]),u.useCallback((...o)=>{const n=t.current;return n?.(...o)},[])}function Ke(e,t){if(!e)return!1;let o=window.getComputedStyle(e),n=document.scrollingElement||document.documentElement,r=/(auto|scroll)/.test(o.overflow+o.overflowX+o.overflowY);return e===n&&o.overflow!=="hidden"&&(r=!0),r&&t&&(r=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),r}function He(e,t){let o=e;for(Ke(o,t)&&(o=o.parentElement);o&&!Ke(o,t);)o=o.parentElement;return o||document.scrollingElement||document.documentElement}function oo(e){return e.pointerType===""&&e.isTrusted?!0:qe()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const no=typeof Element<"u"&&"checkVisibility"in Element.prototype;function ro(e){const t=H(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:o,visibility:n}=e.style,r=o!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:a}=e.ownerDocument.defaultView;let{display:i,visibility:l}=a(e);r=i!=="none"&&l!=="hidden"&&l!=="collapse"}return r}function ao(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 pe(e,t){return no?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&ro(e)&&ao(e,t)&&(!e.parentElement||pe(e.parentElement,e))}const be=["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"],io=be.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";be.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const lo=be.join(':not([hidden]):not([tabindex="-1"]),');function so(e){return e.matches(io)&&pe(e)&&!je(e)}function uo(e){return e.matches(lo)&&pe(e)&&!je(e)}function je(e){let t=e;for(;t!=null;){if(t instanceof t.ownerDocument.defaultView.HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}var ge;const co=typeof document<"u"?(ge=u.useInsertionEffect)!==null&&ge!==void 0?ge:u.useLayoutEffect:()=>{};function fo(e,t,o){let[n,r]=u.useState(e||t),a=u.useRef(n),i=u.useRef(e!==void 0),l=e!==void 0;u.useEffect(()=>{let m=i.current;m!==l&&process.env.NODE_ENV!=="production"&&console.warn(`WARN: A component changed from ${m?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}.`),i.current=l},[l]);let s=l?e:n;co(()=>{a.current=s});let[,d]=u.useReducer(()=>({}),{}),c=u.useCallback((m,...p)=>{let g=typeof m=="function"?m(a.current):m;Object.is(a.current,g)||(a.current=g,r(g),d(),o?.(g,...p))},[o]);return[s,c]}function Re(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function mo(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function po(e){let t=u.useRef({isFocused:!1,observer:null});return _(()=>{const o=t.current;return()=>{o.observer&&(o.observer.disconnect(),o.observer=null)}},[]),u.useCallback(o=>{let n=y(o);if(n instanceof HTMLButtonElement||n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement){t.current.isFocused=!0;let r=n,a=i=>{if(t.current.isFocused=!1,r.disabled){let l=Re(i);e?.(l)}t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};r.addEventListener("focusout",a,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&r.disabled){var i;(i=t.current.observer)===null||i===void 0||i.disconnect();let l=r===k()?null:k();r.dispatchEvent(new FocusEvent("blur",{relatedTarget:l})),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:l}))}}),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}},[e])}let bo=!1;const Ue=u.createContext({register:()=>{}});Ue.displayName="PressResponderContext";let U=null;const go=new Set;let G=new Map,I=!1,ve=!1;function he(e,t){for(let o of go)o(e,t)}function vo(e){return!(e.metaKey||!j()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function re(e){I=!0,!R.isOpening&&vo(e)&&(U="keyboard",he("keyboard",e))}function P(e){U="pointer","pointerType"in e&&e.pointerType,(e.type==="mousedown"||e.type==="pointerdown")&&(I=!0,he("pointer",e))}function Ge(e){!R.isOpening&&oo(e)&&(I=!0,U="virtual")}function Je(e){y(e)===window||y(e)===document||bo||!e.isTrusted||(!I&&!ve&&(U="virtual",he("virtual",e)),I=!1,ve=!1)}function Xe(){I=!1,ve=!0}function Ye(e){if(typeof window>"u"||typeof document>"u"||G.get(H(e)))return;const t=H(e),o=w(e);let n=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){I=!0,n.apply(this,arguments)},o.addEventListener("keydown",re,!0),o.addEventListener("keyup",re,!0),o.addEventListener("click",Ge,!0),t.addEventListener("focus",Je,!0),t.addEventListener("blur",Xe,!1),typeof PointerEvent<"u"?(o.addEventListener("pointerdown",P,!0),o.addEventListener("pointermove",P,!0),o.addEventListener("pointerup",P,!0)):process.env.NODE_ENV==="test"&&(o.addEventListener("mousedown",P,!0),o.addEventListener("mousemove",P,!0),o.addEventListener("mouseup",P,!0)),t.addEventListener("beforeunload",()=>{Qe(e)},{once:!0}),G.set(t,{focus:n})}const Qe=(e,t)=>{const o=H(e),n=w(e);t&&n.removeEventListener("DOMContentLoaded",t),G.has(o)&&(o.HTMLElement.prototype.focus=G.get(o).focus,n.removeEventListener("keydown",re,!0),n.removeEventListener("keyup",re,!0),n.removeEventListener("click",Ge,!0),o.removeEventListener("focus",Je,!0),o.removeEventListener("blur",Xe,!1),typeof PointerEvent<"u"?(n.removeEventListener("pointerdown",P,!0),n.removeEventListener("pointermove",P,!0),n.removeEventListener("pointerup",P,!0)):process.env.NODE_ENV==="test"&&(n.removeEventListener("mousedown",P,!0),n.removeEventListener("mousemove",P,!0),n.removeEventListener("mouseup",P,!0)),G.delete(o))};function ho(e){const t=w(e);let o;return t.readyState!=="loading"?Ye(e):(o=()=>{Ye(e)},t.addEventListener("DOMContentLoaded",o)),()=>Qe(e,o)}typeof document<"u"&&ho();function Ze(){return U}function $e(e){if(!e.isConnected)return;const t=w(e);if(Ze()==="virtual"){let o=k(t);Zt(()=>{const n=k(t);(n===o||n===t.body)&&e.isConnected&&ue(e)})}else ue(e)}function $o({children:e}){let t=u.useMemo(()=>({register:()=>{}}),[]);return u.createElement(Ue.Provider,{value:t},e)}function wo(e){let{isDisabled:t,onBlurWithin:o,onFocusWithin:n,onFocusWithinChange:r}=e,a=u.useRef({isFocusWithin:!1}),{addGlobalListener:i,removeAllGlobalListeners:l}=eo(),s=u.useCallback(m=>{x(m.currentTarget,y(m))&&a.current.isFocusWithin&&!x(m.currentTarget,m.relatedTarget)&&(a.current.isFocusWithin=!1,l(),o&&o(m),r&&r(!1))},[o,r,a,l]),d=po(s),c=u.useCallback(m=>{if(!x(m.currentTarget,y(m)))return;let p=y(m);const g=w(p),b=k(g);if(!a.current.isFocusWithin&&b===p){n&&n(m),r&&r(!0),a.current.isFocusWithin=!0,d(m);let S=m.currentTarget;i(g,"focus",B=>{let V=y(B);if(a.current.isFocusWithin&&!x(S,V)){let se=new g.defaultView.FocusEvent("blur",{relatedTarget:V});mo(se,S);let Q=Re(se);s(Q)}},{capture:!0})}},[n,r,d,i,s]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:c,onBlur:s}}}function Eo(e){let{ref:t,onInteractOutside:o,isDisabled:n,onInteractOutsideStart:r}=e,a=u.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),i=Ve(s=>{o&&ae(s,t)&&(r&&r(s),a.current.isPointerDown=!0)}),l=Ve(s=>{o&&o(s)});u.useEffect(()=>{let s=a.current;if(n)return;const d=t.current,c=w(d);if(typeof PointerEvent<"u"){let m=p=>{s.isPointerDown&&ae(p,t)&&l(p),s.isPointerDown=!1};return c.addEventListener("pointerdown",i,!0),c.addEventListener("click",m,!0),()=>{c.removeEventListener("pointerdown",i,!0),c.removeEventListener("click",m,!0)}}else if(process.env.NODE_ENV==="test"){let m=g=>{s.ignoreEmulatedMouseEvents?s.ignoreEmulatedMouseEvents=!1:s.isPointerDown&&ae(g,t)&&l(g),s.isPointerDown=!1},p=g=>{s.ignoreEmulatedMouseEvents=!0,s.isPointerDown&&ae(g,t)&&l(g),s.isPointerDown=!1};return c.addEventListener("mousedown",i,!0),c.addEventListener("mouseup",m,!0),c.addEventListener("touchstart",i,!0),c.addEventListener("touchend",p,!0),()=>{c.removeEventListener("mousedown",i,!0),c.removeEventListener("mouseup",m,!0),c.removeEventListener("touchstart",i,!0),c.removeEventListener("touchend",p,!0)}}},[t,n])}function ae(e,t){if(e.button>0)return!1;let o=y(e);if(o){const n=o.ownerDocument;if(!n||!x(n.documentElement,o)||o.closest("[data-react-aria-top-layer]"))return!1}return t.current?!e.composedPath().includes(t.current):!1}const et=u.createContext(null),we="react-aria-focus-scope-restore";let h=null;function _o(e){let{children:t,contain:o,restoreFocus:n,autoFocus:r}=e,a=u.useRef(null),i=u.useRef(null),l=u.useRef([]),{parentNode:s}=u.useContext(et)||{},d=u.useMemo(()=>new Me({scopeRef:l}),[l]);_(()=>{let p=s||$.root;if($.getTreeNode(p.scopeRef)&&h&&!ie(h,p.scopeRef)){let g=$.getTreeNode(h);g&&(p=g)}p.addChild(d),$.addNode(d)},[d,s]),_(()=>{let p=$.getTreeNode(l);p&&(p.contain=!!o)},[o]),_(()=>{var p;let g=(p=a.current)===null||p===void 0?void 0:p.nextSibling,b=[],S=B=>B.stopPropagation();for(;g&&g!==i.current;)b.push(g),g.addEventListener(we,S),g=g.nextSibling;return l.current=b,()=>{for(let B of b)B.removeEventListener(we,S)}},[t]),So(l,n,o),Po(l,o),xo(l,n,o),No(l,r),u.useEffect(()=>{const p=k(w(l.current?l.current[0]:void 0));let g=null;if(T(p,l.current)){for(let b of $.traverse())b.scopeRef&&T(p,b.scopeRef.current)&&(g=b);g===$.getTreeNode(l)&&(h=g.scopeRef)}},[l]),_(()=>()=>{var p,g,b;let S=(b=(g=$.getTreeNode(l))===null||g===void 0||(p=g.parent)===null||p===void 0?void 0:p.scopeRef)!==null&&b!==void 0?b:null;(l===h||ie(l,h))&&(!S||$.getTreeNode(S))&&(h=S),$.removeTreeNode(l)},[l]);let c=u.useMemo(()=>Mo(l),[]),m=u.useMemo(()=>({focusManager:c,parentNode:d}),[d,c]);return u.createElement(et.Provider,{value:m},u.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:a}),t,u.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:i}))}function Mo(e){return{focusNext(t={}){let o=e.current,{from:n,tabbable:r,wrap:a,accept:i}=t;var l;let s=n||k(w((l=o[0])!==null&&l!==void 0?l:void 0)),d=o[0].previousElementSibling,c=W(o),m=A(c,{tabbable:r,accept:i},o);m.currentNode=T(s,o)?s:d;let p=m.nextNode();return!p&&a&&(m.currentNode=d,p=m.nextNode()),p&&C(p,!0),p},focusPrevious(t={}){let o=e.current,{from:n,tabbable:r,wrap:a,accept:i}=t;var l;let s=n||k(w((l=o[0])!==null&&l!==void 0?l:void 0)),d=o[o.length-1].nextElementSibling,c=W(o),m=A(c,{tabbable:r,accept:i},o);m.currentNode=T(s,o)?s:d;let p=m.previousNode();return!p&&a&&(m.currentNode=d,p=m.previousNode()),p&&C(p,!0),p},focusFirst(t={}){let o=e.current,{tabbable:n,accept:r}=t,a=W(o),i=A(a,{tabbable:n,accept:r},o);i.currentNode=o[0].previousElementSibling;let l=i.nextNode();return l&&C(l,!0),l},focusLast(t={}){let o=e.current,{tabbable:n,accept:r}=t,a=W(o),i=A(a,{tabbable:n,accept:r},o);i.currentNode=o[o.length-1].nextElementSibling;let l=i.previousNode();return l&&C(l,!0),l}}}function W(e){return e[0].parentElement}function J(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function yo(e){if(!e.form)return Array.from(w(e).querySelectorAll(`input[type="radio"][name="${CSS.escape(e.name)}"]`)).filter(n=>!n.form);const t=e.form.elements.namedItem(e.name);let o=H(e);return t instanceof o.RadioNodeList?Array.from(t).filter(n=>n instanceof o.HTMLInputElement):t instanceof o.HTMLInputElement?[t]:[]}function ko(e){if(e.checked)return!0;const t=yo(e);return t.length>0&&!t.some(o=>o.checked)}function Po(e,t){let o=u.useRef(void 0),n=u.useRef(void 0);_(()=>{let r=e.current;if(!t){n.current&&(cancelAnimationFrame(n.current),n.current=void 0);return}const a=w(r?r[0]:void 0);let i=d=>{if(d.key!=="Tab"||d.altKey||d.ctrlKey||d.metaKey||!J(e)||d.isComposing)return;let c=k(a),m=e.current;if(!m||!T(c,m))return;let p=W(m),g=A(p,{tabbable:!0},m);if(!c)return;g.currentNode=c;let b=d.shiftKey?g.previousNode():g.nextNode();b||(g.currentNode=d.shiftKey?m[m.length-1].nextElementSibling:m[0].previousElementSibling,b=d.shiftKey?g.previousNode():g.nextNode()),d.preventDefault(),b&&C(b,!0)},l=d=>{(!h||ie(h,e))&&T(y(d),e.current)?(h=e,o.current=y(d)):J(e)&&!D(y(d),e)?o.current?o.current.focus():h&&h.current&&Ee(h.current):J(e)&&(o.current=y(d))},s=d=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{let c=Ze(),m=(c==="virtual"||c===null)&&qe()&&We(),p=k(a);if(!m&&p&&J(e)&&!D(p,e)){h=e;let b=y(d);if(b&&b.isConnected){var g;o.current=b,(g=o.current)===null||g===void 0||g.focus()}else h.current&&Ee(h.current)}})};return a.addEventListener("keydown",i,!1),a.addEventListener("focusin",l,!1),r?.forEach(d=>d.addEventListener("focusin",l,!1)),r?.forEach(d=>d.addEventListener("focusout",s,!1)),()=>{a.removeEventListener("keydown",i,!1),a.removeEventListener("focusin",l,!1),r?.forEach(d=>d.removeEventListener("focusin",l,!1)),r?.forEach(d=>d.removeEventListener("focusout",s,!1))}},[e,t]),_(()=>()=>{n.current&&cancelAnimationFrame(n.current)},[n])}function tt(e){return D(e)}function T(e,t){return!e||!t?!1:t.some(o=>x(o,e))}function D(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:o}of $.traverse($.getTreeNode(t)))if(o&&T(e,o.current))return!0;return!1}function To(e){return D(e,h)}function ie(e,t){var o;let n=(o=$.getTreeNode(t))===null||o===void 0?void 0:o.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function C(e,t=!1){if(e!=null&&!t)try{$e(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function ot(e,t=!0){let o=e[0].previousElementSibling,n=W(e),r=A(n,{tabbable:t},e);r.currentNode=o;let a=r.nextNode();return t&&!a&&(n=W(e),r=A(n,{tabbable:!1},e),r.currentNode=o,a=r.nextNode()),a}function Ee(e,t=!0){C(ot(e,t))}function No(e,t){const o=u.useRef(t);u.useEffect(()=>{if(o.current){h=e;const n=w(e.current?e.current[0]:void 0);!T(k(n),h.current)&&e.current&&Ee(e.current)}o.current=!1},[e])}function So(e,t,o){_(()=>{if(t||o)return;let n=e.current;const r=w(n?n[0]:void 0);let a=i=>{let l=y(i);T(l,e.current)?h=e:tt(l)||(h=null)};return r.addEventListener("focusin",a,!1),n?.forEach(i=>i.addEventListener("focusin",a,!1)),()=>{r.removeEventListener("focusin",a,!1),n?.forEach(i=>i.removeEventListener("focusin",a,!1))}},[e,t,o])}function nt(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return t?.scopeRef===e}function xo(e,t,o){const n=u.useRef(typeof document<"u"?k(w(e.current?e.current[0]:void 0)):null);_(()=>{let r=e.current;const a=w(r?r[0]:void 0);if(!t||o)return;let i=()=>{(!h||ie(h,e))&&T(k(a),e.current)&&(h=e)};return a.addEventListener("focusin",i,!1),r?.forEach(l=>l.addEventListener("focusin",i,!1)),()=>{a.removeEventListener("focusin",i,!1),r?.forEach(l=>l.removeEventListener("focusin",i,!1))}},[e,o]),_(()=>{const r=w(e.current?e.current[0]:void 0);if(!t)return;let a=i=>{if(i.key!=="Tab"||i.altKey||i.ctrlKey||i.metaKey||!J(e)||i.isComposing)return;let l=r.activeElement;if(!D(l,e)||!nt(e))return;let s=$.getTreeNode(e);if(!s)return;let d=s.nodeToRestore,c=A(r.body,{tabbable:!0});c.currentNode=l;let m=i.shiftKey?c.previousNode():c.nextNode();if((!d||!d.isConnected||d===r.body)&&(d=void 0,s.nodeToRestore=void 0),(!m||!D(m,e))&&d){c.currentNode=d;do m=i.shiftKey?c.previousNode():c.nextNode();while(D(m,e));i.preventDefault(),i.stopPropagation(),m?C(m,!0):tt(d)?C(d,!0):l.blur()}};return o||r.addEventListener("keydown",a,!0),()=>{o||r.removeEventListener("keydown",a,!0)}},[e,t,o]),_(()=>{const r=w(e.current?e.current[0]:void 0);if(!t)return;let a=$.getTreeNode(e);if(a){var i;return a.nodeToRestore=(i=n.current)!==null&&i!==void 0?i:void 0,()=>{let l=$.getTreeNode(e);if(!l)return;let s=l.nodeToRestore,d=k(r);if(t&&s&&(d&&D(d,e)||d===r.body&&nt(e))){let c=$.clone();requestAnimationFrame(()=>{if(r.activeElement===r.body){let m=c.getTreeNode(e);for(;m;){if(m.nodeToRestore&&m.nodeToRestore.isConnected){rt(m.nodeToRestore);return}m=m.parent}for(m=c.getTreeNode(e);m;){if(m.scopeRef&&m.scopeRef.current&&$.getTreeNode(m.scopeRef)){let p=ot(m.scopeRef.current,!0);rt(p);return}m=m.parent}}})}}}},[e,t])}function rt(e){e.dispatchEvent(new CustomEvent(we,{bubbles:!0,cancelable:!0}))&&C(e)}function A(e,t,o){let n=t?.tabbable?uo:so,r=e?.nodeType===Node.ELEMENT_NODE?e:null,a=w(r),i=Dt(a,e||a,NodeFilter.SHOW_ELEMENT,{acceptNode(l){return x(t?.from,l)||t?.tabbable&&l.tagName==="INPUT"&&l.getAttribute("type")==="radio"&&(!ko(l)||i.currentNode.tagName==="INPUT"&&i.currentNode.type==="radio"&&i.currentNode.name===l.name)?NodeFilter.FILTER_REJECT:n(l)&&(!o||T(l,o))&&(!t?.accept||t.accept(l))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(i.currentNode=t.from),i}class _e{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,o,n){let r=this.fastMap.get(o??null);if(!r)return;let a=new Me({scopeRef:t});r.addChild(a),a.parent=r,this.fastMap.set(t,a),n&&(a.nodeToRestore=n)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let o=this.fastMap.get(t);if(!o)return;let n=o.parent;for(let a of this.traverse())a!==o&&o.nodeToRestore&&a.nodeToRestore&&o.scopeRef&&o.scopeRef.current&&T(a.nodeToRestore,o.scopeRef.current)&&(a.nodeToRestore=o.nodeToRestore);let r=o.children;n&&(n.removeChild(o),r.size>0&&r.forEach(a=>n&&n.addChild(a))),this.fastMap.delete(o.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let o of t.children)yield*this.traverse(o)}clone(){var t;let o=new _e;var n;for(let r of this.traverse())o.addTreeNode(r.scopeRef,(n=(t=r.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&n!==void 0?n:null,r.nodeToRestore);return o}constructor(){this.fastMap=new Map,this.root=new Me({scopeRef:null}),this.fastMap.set(null,this.root)}}class Me{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let $=new _e;const Lo=new WeakMap,F=[];function Co(e,t){let{onClose:o,shouldCloseOnBlur:n,isOpen:r,isDismissable:a=!1,isKeyboardDismissDisabled:i=!1,shouldCloseOnInteractOutside:l}=e;u.useEffect(()=>(r&&F.push(t),()=>{let b=F.indexOf(t);b>=0&&F.splice(b,1)}),[r,t]);let s=()=>{F[F.length-1]===t&&o&&o()},d=b=>{(!l||l(b.target))&&F[F.length-1]===t&&(b.stopPropagation(),b.preventDefault())},c=b=>{(!l||l(b.target))&&(F[F.length-1]===t&&(b.stopPropagation(),b.preventDefault()),s())},m=b=>{b.key==="Escape"&&!i&&!b.nativeEvent.isComposing&&(b.stopPropagation(),b.preventDefault(),s())};Eo({ref:t,onInteractOutside:a&&r?c:null,onInteractOutsideStart:d});let{focusWithinProps:p}=wo({isDisabled:!n,onBlurWithin:b=>{!b.relatedTarget||To(b.relatedTarget)||(!l||l(b.relatedTarget))&&o()}}),g=b=>{b.target===b.currentTarget&&b.preventDefault()};return{overlayProps:{onKeyDown:m,...p},underlayProps:{onPointerDown:g}}}function Fo(e,t,o){let{isOpen:n}=t;u.useEffect(()=>{o&&o.current&&Lo.set(o.current,t.close)});let r,a=Fe();return{triggerProps:{"aria-haspopup":r,"aria-expanded":n,"aria-controls":n?a:null,onPress:t.toggle},overlayProps:{id:a}}}const ye=typeof document<"u"&&window.visualViewport,Bo=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let le=0,ke;function Oo(e={}){let{isDisabled:t}=e;_(()=>{if(!t)return le++,le===1&&(Ie()?ke=Ao():ke=Do()),()=>{le--,le===0&&ke()}},[t])}function Do(){return ee(z(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),z(document.documentElement,"overflow","hidden"))}function Ao(){let e,t,o=d=>{e=He(d.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=z(e,"overscrollBehavior","contain"))},n=d=>{if(!e||e===document.documentElement||e===document.body){d.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&d.preventDefault()},r=d=>{let c=d.target;it(c)&&c!==document.activeElement&&(d.preventDefault(),l(),c.style.transform="translateY(-2000px)",c.focus(),requestAnimationFrame(()=>{c.style.transform=""})),t&&t()},a=d=>{let c=d.target;it(c)&&(l(),c.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{c.style.transform="",ye&&(ye.height<window.innerHeight?requestAnimationFrame(()=>{at(c)}):ye.addEventListener("resize",()=>at(c),{once:!0}))}))},i=null,l=()=>{if(i)return;let d=()=>{window.scrollTo(0,0)},c=window.pageXOffset,m=window.pageYOffset;i=ee(X(window,"scroll",d),z(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),z(document.documentElement,"overflow","hidden"),z(document.body,"marginTop",`-${m}px`),()=>{window.scrollTo(c,m)}),window.scrollTo(0,0)},s=ee(X(document,"touchstart",o,{passive:!1,capture:!0}),X(document,"touchmove",n,{passive:!1,capture:!0}),X(document,"touchend",r,{passive:!1,capture:!0}),X(document,"focus",a,!0));return()=>{t?.(),i?.(),s()}}function z(e,t,o){let n=e.style[t];return e.style[t]=o,()=>{e.style[t]=n}}function X(e,t,o,n){return e.addEventListener(t,o,n),()=>{e.removeEventListener(t,o,n)}}function at(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let o=He(e);if(o!==document.documentElement&&o!==document.body&&o!==e){let n=o.getBoundingClientRect().top,r=e.getBoundingClientRect().top;r>n+e.clientHeight&&(o.scrollTop+=r-n)}e=o.parentElement}}function it(e){return e instanceof HTMLInputElement&&!Bo.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let Y=new WeakMap,N=[];function Io(e,t=document.body){let o=new Set(e),n=new Set,r=s=>{for(let p of s.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))o.add(p);let d=p=>{if(o.has(p)||n.has(p.parentElement)&&p.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let g of o)if(p.contains(g))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},c=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT,{acceptNode:d}),m=d(s);if(m===NodeFilter.FILTER_ACCEPT&&a(s),m!==NodeFilter.FILTER_REJECT){let p=c.nextNode();for(;p!=null;)a(p),p=c.nextNode()}},a=s=>{var d;let c=(d=Y.get(s))!==null&&d!==void 0?d:0;s.getAttribute("aria-hidden")==="true"&&c===0||(c===0&&s.setAttribute("aria-hidden","true"),n.add(s),Y.set(s,c+1))};N.length&&N[N.length-1].disconnect(),r(t);let i=new MutationObserver(s=>{for(let d of s)if(!(d.type!=="childList"||d.addedNodes.length===0)&&![...o,...n].some(c=>c.contains(d.target))){for(let c of d.removedNodes)c instanceof Element&&(o.delete(c),n.delete(c));for(let c of d.addedNodes)(c instanceof HTMLElement||c instanceof SVGElement)&&(c.dataset.liveAnnouncer==="true"||c.dataset.reactAriaTopLayer==="true")?o.add(c):c instanceof Element&&r(c)}});i.observe(t,{childList:!0,subtree:!0});let l={observe(){i.observe(t,{childList:!0,subtree:!0})},disconnect(){i.disconnect()}};return N.push(l),()=>{i.disconnect();for(let s of n){let d=Y.get(s);d===1?(s.removeAttribute("aria-hidden"),Y.delete(s)):Y.set(s,d-1)}l===N[N.length-1]?(N.pop(),N.length&&N[N.length-1].observe()):N.splice(N.indexOf(l),1)}}const Wo=u.createContext({});function qo(){var e;return(e=u.useContext(Wo))!==null&&e!==void 0?e:{}}const lt=u.createContext(null);function zo(e){let t=Ce(),{portalContainer:o=t?null:document.body,isExiting:n}=e,[r,a]=u.useState(!1),i=u.useMemo(()=>({contain:r,setContain:a}),[r,a]),{getContainer:l}=qo();if(!e.portalContainer&&l&&(o=l()),!o)return null;let s=e.children;return e.disableFocusManagement||(s=u.createElement(_o,{restoreFocus:!0,contain:r&&!n},s)),s=u.createElement(lt.Provider,{value:i},u.createElement($o,null,s)),vt.createPortal(s,o)}function st(){let e=u.useContext(lt),t=e?.setContain;_(()=>{t?.(!0)},[t])}function Vo(e,t,o){let{overlayProps:n,underlayProps:r}=Co({...e,isOpen:t.isOpen,onClose:t.close},o);return Oo({isDisabled:!t.isOpen}),st(),u.useEffect(()=>{if(t.isOpen)return Io([o.current])},[t.isOpen,o]),{modalProps:Wt(n),underlayProps:r}}function Ko(e,t){let{role:o="dialog"}=e,n=Lt();n=e["aria-label"]?void 0:n;let r=u.useRef(!1);return u.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){$e(t.current);let a=setTimeout(()=>{document.activeElement===t.current&&(r.current=!0,t.current&&(t.current.blur(),$e(t.current)),r.current=!1)},500);return()=>{clearTimeout(a)}}},[t]),st(),{dialogProps:{...jt(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||n,onBlur:a=>{r.current&&a.stopPropagation()}},titleProps:{id:n}}}function Ho(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function dt(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),o.push.apply(o,n)}return o}function ut(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?dt(Object(o),!0).forEach(function(n){Ho(e,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):dt(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})}return e}var jo=(e,t,o)=>{for(var n of Object.keys(e)){var r;if(e[n]!==((r=t[n])!==null&&r!==void 0?r:o[n]))return!1}return!0},ct=e=>t=>{var o=e.defaultClassName,n=ut(ut({},e.defaultVariants),t);for(var r in n){var a,i=(a=n[r])!==null&&a!==void 0?a:e.defaultVariants[r];if(i!=null){var l=i;typeof l=="boolean"&&(l=l===!0?"true":"false");var s=e.variantClassNames[r][l];s&&(o+=" "+s)}}for(var[d,c]of e.compoundVariants)jo(d,n,e.defaultVariants)&&(o+=" "+c);return o},Ro=ct({defaultClassName:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto20",variantClassNames:{kind:{informational:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto21",delete:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto22",failure:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto23",success:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto24",warning:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto25",successWithFailures:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto26",form:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto27"},size:{sm:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto28",md:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto29",lg:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2a",xl:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2b"},fullHeight:{true:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2c",false:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2d"}},defaultVariants:{},compoundVariants:[]}),Uo=ct({defaultClassName:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2e",variantClassNames:{kind:{form:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2f",delete:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2g",failure:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2h",informational:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2i",success:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2j",warning:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2k",successWithFailures:"pkg_sps-woodland_modal__version_8_45_4__hash_3moto2l"}},defaultVariants:{},compoundVariants:[]}),Go="pkg_sps-woodland_modal__version_8_45_4__hash_3moto2m",Jo="pkg_sps-woodland_modal__version_8_45_4__hash_3moto2n",Xo="pkg_sps-woodland_modal__version_8_45_4__hash_3moto2o",ft="pkg_sps-woodland_modal__version_8_45_4__hash_3moto2p",Yo="pkg_sps-woodland_modal__version_8_45_4__hash_3moto2q",Qo="pkg_sps-woodland_modal__version_8_45_4__hash_3moto2r",Zo="pkg_sps-woodland_modal__version_8_45_4__hash_3moto2s";function Pe({children:e,className:t="",...o}){return f.createElement("div",{className:E.cl(ft,t),...o},e)}E.Metadata.set(Pe,{name:"ModalFooter"});function mt({dismissableValue:e,handleClose:t}){return e?f.createElement(xe.Button,{"aria-label":"Close",onClick:t,kind:"icon",icon:"x",className:Yo}):null}const Te=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function en({children:e,className:t,"data-testid":o,kind:n="informational",onBlur:r,onFocus:a,overlayProps:i,size:l="sm",state:s,title:d,dismissible:c,dismissable:m=!0,onClose:p,fullHeight:g=!1,...b}){const S=c??m,B=f.useRef(null),{modalProps:V,underlayProps:se}=Vo({isKeyboardDismissDisabled:!S,...b},s,B),{dialogProps:Q,titleProps:rn}=Ko(b,B),an=E.combineEventHandlers(V.onFocus,Q.onFocus,a),ln=E.combineEventHandlers(V.onBlur,Q.onBlur,r),{t:sn}=gt.useWoodlandLanguage(),dn=E.useChildTestIdAttrBuilder({"data-testid":o}),[Se,un]=E.selectChildren(e,[{type:Pe}]),pt=f.useCallback(()=>{p&&typeof p=="function"&&p(),s.close()},[p,s.close]),cn=E.modChildren(un,bt=>bt.type===mt?[{className:E.cl(bt.props.classname,Qo)}]:[]);return f.createElement(zo,null,f.createElement("div",{className:Zo,...se,...b},f.createElement("div",{...V,...Q,...i,onFocus:an,onBlur:ln,...dn("dialog"),ref:B,className:E.cl(Ro({kind:n,size:l,fullHeight:g}),t)},f.createElement("div",{...rn,className:Uo({kind:n})},n&&f.createElement(E.Icon,{icon:Te[n]||Te.informational,className:Jo}),f.createElement("div",{className:Go},E.contentOf(d,s.close)),f.createElement(mt,{dismissableValue:S,handleClose:pt})),f.createElement("div",{className:Xo},E.contentOf(cn,s.close)),Se&&Se.length>0?f.createElement(f.Fragment,null,E.contentOf(Se,s.close)):f.createElement("div",{className:ft},f.createElement(xe.Button,{kind:"key",onClick:pt},sn("modal.defaultButtonLabel",{defaultValue:"Okay"}))))))}function Ne(e){return e.state.isOpen?f.createElement(en,{...e},e.children):f.createElement(f.Fragment,null)}E.Metadata.set(Ne,{name:"Modal",props:{dismissable:{type:"boolean",default:"true"},fullHeight:{type:"boolean",default:"false"},kind:{type:"ModalKind",default:"informational"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"},size:{type:"ModalSize",default:"sm"},title:{type:"string"}}});function tn(e){let[t,o]=fo(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const n=u.useCallback(()=>{o(!0)},[o]),r=u.useCallback(()=>{o(!1)},[o]),a=u.useCallback(()=>{o(!t)},[o,t]);return{isOpen:t,setOpen:o,open:n,close:r,toggle:a}}function on(e={}){const t=tn(e),o=u.useRef(null),{triggerProps:n,overlayProps:r}=Fo({},t,o),{onPress:a,...i}=n;return{triggerProps:{...i,onClick:a?l=>a(l):void 0,ref:o},modalState:t,modalProps:{overlayProps:r,state:t}}}const nn={Modals:{description:()=>f.createElement("p",null,"Modals are overlays on a page that focus a user’s attention on an important message or a simple action. Examples of a Modal include confirming the deletion of a record, or making a single selection."),components:[Ne],examples:{general:{label:"Usage",description:({NavigateTo:e})=>f.createElement(f.Fragment,null,f.createElement("h5",null,"Use a Modal:"),f.createElement("ul",null,f.createElement("li",null,"When the user needs to confirm a basic decision, such as deleting a record."),f.createElement("li",null,"When important information needs to be displayed to the user before continuing."),f.createElement("li",null,"When a simple selection, such as a single form input, is required before proceeding.")),f.createElement("h5",null,"Avoid a Modal:"),f.createElement("ul",null,f.createElement("li",null,"When a complex form is required. Use a ",f.createElement(e,{to:"focused-task"},"Focused Task View")," instead."),f.createElement("li",null,"When sharing non-critical or tertiary information. Use a ",f.createElement(e,{to:"growlers"},"Growler")," instead.")))},implementation:{label:"Close Button",description:()=>f.createElement(f.Fragment,null,f.createElement("h5",null,"Close Button and Modal dismissiability"),f.createElement("p",null,"Remove the Close Button in the upper right of the Modal if the user must choose the course of action before proceeding."),f.createElement("p",null,"The close button is included by default and omitted when the prop ",f.createElement("code",null,"dismissable")," is set to ",f.createElement("strong",null,"false"),"."),f.createElement("p",null,"Setting the ",f.createElement("code",null,"dismissable")," prop to false also prevents dismissing the modal by clicking outside of the modal or by using the"," ",f.createElement("strong",null,"escape")," key.")),examples:{basic:{react:v.code`
1
+ (function(S,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("@sps-woodland/core"),require("@sps-woodland/buttons"),require("react"),require("@spscommerce/i18n"),require("react-dom"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","@sps-woodland/core","@sps-woodland/buttons","react","@spscommerce/i18n","react-dom","@spscommerce/utils"],P):(S=typeof globalThis<"u"?globalThis:S||self,P(S.Modal={},S.core,S.buttons,S.React,S.i18n,S.$4AOtR$reactdom,S.utils))})(this,(function(S,P,Oe,c,Et,_t,E){"use strict";function Mt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const f=Mt(c),N=typeof document<"u"?c.useLayoutEffect:()=>{};function yt(e){let[t,o]=c.useState(e),n=c.useRef(t),r=c.useRef(null),i=c.useRef(()=>{if(!r.current)return;let l=r.current.next();if(l.done){r.current=null;return}n.current===l.value?i.current():o(l.value)});N(()=>{n.current=t,r.current&&i.current()});let a=c.useCallback(l=>{r.current=l(n.current),i.current()},[i]);return[t,a]}const oe={prefix:String(Math.round(Math.random()*1e10)),current:0},De=c.createContext(oe),kt=c.createContext(!1);let Tt=!!(typeof window<"u"&&window.document&&window.document.createElement),ue=new WeakMap;function Pt(e=!1){let t=c.useContext(De),o=c.useRef(null);if(o.current===null&&!e){var n,r;let i=(r=c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||r===void 0||(n=r.ReactCurrentOwner)===null||n===void 0?void 0:n.current;if(i){let a=ue.get(i);a==null?ue.set(i,{id:t.current,state:i.memoizedState}):i.memoizedState!==a.state&&(t.current=a.id,ue.delete(i))}o.current=++t.current}return o.current}function Nt(e){let t=c.useContext(De);t===oe&&!Tt&&process.env.NODE_ENV!=="production"&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let o=Pt(!!e),n=t===oe&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${n}-${o}`}function St(e){let t=c.useId(),[o]=c.useState(Ie()),n=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${oe.prefix}`;return e||`${n}-${t}`}const Lt=typeof c.useId=="function"?St:Nt;function xt(){return!1}function Ct(){return!0}function Ft(e){return()=>{}}function Ie(){return typeof c.useSyncExternalStore=="function"?c.useSyncExternalStore(Ft,xt,Ct):c.useContext(kt)}let Bt=!!(typeof window<"u"&&window.document&&window.document.createElement),R=new Map,G;typeof FinalizationRegistry<"u"&&(G=new FinalizationRegistry(e=>{R.delete(e)}));function Ae(e){let[t,o]=c.useState(e),n=c.useRef(null),r=Lt(t),i=c.useRef(null);if(G&&G.register(i,r),Bt){const a=R.get(r);a&&!a.includes(n)?a.push(n):R.set(r,[n])}return N(()=>{let a=r;return()=>{G&&G.unregister(i),R.delete(a)}},[r]),c.useEffect(()=>{let a=n.current;return a&&o(a),()=>{a&&(n.current=null)}}),r}function Ot(e,t){if(e===t)return e;let o=R.get(e);if(o)return o.forEach(r=>r.current=t),t;let n=R.get(t);return n?(n.forEach(r=>r.current=e),e):t}function Dt(e=[]){let t=Ae(),[o,n]=yt(t),r=c.useCallback(()=>{n(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,n]);return N(r,[t,r,...e]),o}function ce(...e){return(...t)=>{for(let o of e)typeof o=="function"&&o(...t)}}const k=e=>{var t;return(t=e?.ownerDocument)!==null&&t!==void 0?t:document},U=e=>e&&"window"in e&&e.window===e?e:k(e).defaultView||window;function It(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function At(e){return It(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let Wt=!1;function I(){return Wt}function C(e,t){if(!I())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let o=t;for(;o!==null;){if(o===e)return!0;o.tagName==="SLOT"&&o.assignedSlot?o=o.assignedSlot.parentNode:At(o)?o=o.host:o=o.parentNode}return!1}const x=(e=document)=>{var t;if(!I())return e.activeElement;let o=e.activeElement;for(;o&&"shadowRoot"in o&&(!((t=o.shadowRoot)===null||t===void 0)&&t.activeElement);)o=o.shadowRoot.activeElement;return o};function y(e){if(I()&&e.target instanceof Element&&e.target.shadowRoot){var t,o;if("composedPath"in e)return(t=e.composedPath()[0])!==null&&t!==void 0?t:null;if("composedPath"in e.nativeEvent)return(o=e.nativeEvent.composedPath()[0])!==null&&o!==void 0?o:null}return e.target}class Vt{get currentNode(){return this._currentNode}set currentNode(t){if(!C(this.root,t))throw new Error("Cannot set currentNode to a node that is not contained by the root node.");const o=[];let n=t,r=t;for(this._currentNode=t;n&&n!==this.root;)if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const a=n,l=this._doc.createTreeWalker(a,this.whatToShow,{acceptNode:this._acceptNode});o.push(l),l.currentNode=r,this._currentSetFor.add(l),n=r=a.host}else n=n.parentNode;const i=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});o.push(i),i.currentNode=r,this._currentSetFor.add(i),this._walkerStack=o}get doc(){return this._doc}firstChild(){let t=this.currentNode,o=this.nextNode();return C(t,o)?(o&&(this.currentNode=o),o):(this.currentNode=t,null)}lastChild(){let o=this._walkerStack[0].lastChild();return o&&(this.currentNode=o),o}nextNode(){const t=this._walkerStack[0].nextNode();if(t){if(t.shadowRoot){var o;let r;if(typeof this.filter=="function"?r=this.filter(t):!((o=this.filter)===null||o===void 0)&&o.acceptNode&&(r=this.filter.acceptNode(t)),r===NodeFilter.FILTER_ACCEPT)return this.currentNode=t,t;let i=this.nextNode();return i&&(this.currentNode=i),i}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let n=this.nextNode();return n&&(this.currentNode=n),n}else return null}previousNode(){const t=this._walkerStack[0];if(t.currentNode===t.root){if(this._currentSetFor.has(t))if(this._currentSetFor.delete(t),this._walkerStack.length>1){this._walkerStack.shift();let r=this.previousNode();return r&&(this.currentNode=r),r}else return null;return null}const o=t.previousNode();if(o){if(o.shadowRoot){var n;let i;if(typeof this.filter=="function"?i=this.filter(o):!((n=this.filter)===null||n===void 0)&&n.acceptNode&&(i=this.filter.acceptNode(o)),i===NodeFilter.FILTER_ACCEPT)return o&&(this.currentNode=o),o;let a=this.lastChild();return a&&(this.currentNode=a),a}return o&&(this.currentNode=o),o}else if(this._walkerStack.length>1){this._walkerStack.shift();let r=this.previousNode();return r&&(this.currentNode=r),r}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}constructor(t,o,n,r){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=a=>{if(a.nodeType===Node.ELEMENT_NODE){const s=a.shadowRoot;if(s){const u=this._doc.createTreeWalker(s,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(u),NodeFilter.FILTER_ACCEPT}else{var l;if(typeof this.filter=="function")return this.filter(a);if(!((l=this.filter)===null||l===void 0)&&l.acceptNode)return this.filter.acceptNode(a);if(this.filter===null)return NodeFilter.FILTER_ACCEPT}}return NodeFilter.FILTER_SKIP},this._doc=t,this.root=o,this.filter=r??null,this.whatToShow=n??NodeFilter.SHOW_ALL,this._currentNode=o,this._walkerStack.unshift(t.createTreeWalker(o,n,this._acceptNode));const i=o.shadowRoot;if(i){const a=this._doc.createTreeWalker(i,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(a)}}}function We(e,t,o,n){return I()?new Vt(e,t,o,n):e.createTreeWalker(t,o,n)}function Ht(...e){return e.length===1&&e[0]?e[0]:t=>{let o=!1;const n=e.map(r=>{const i=Ve(r,t);return o||(o=typeof i=="function"),i});if(o)return()=>{n.forEach((r,i)=>{typeof r=="function"?r():Ve(e[i],null)})}}}function Ve(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function He(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(o=He(e[t]))&&(n&&(n+=" "),n+=o)}else for(o in e)e[o]&&(n&&(n+=" "),n+=o);return n}function zt(){for(var e,t,o=0,n="",r=arguments.length;o<r;o++)(e=arguments[o])&&(t=He(e))&&(n&&(n+=" "),n+=t);return n}function qt(...e){let t={...e[0]};for(let o=1;o<e.length;o++){let n=e[o];for(let r in n){let i=t[r],a=n[r];typeof i=="function"&&typeof a=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=ce(i,a):(r==="className"||r==="UNSAFE_className")&&typeof i=="string"&&typeof a=="string"?t[r]=zt(i,a):r==="id"&&i&&a?t.id=Ot(i,a):r==="ref"&&i&&a?t.ref=Ht(i,a):t[r]=a!==void 0?a:i}}return t}const Kt=new Set(["id"]),jt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Rt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),Ut=new Set(["dir","lang","hidden","inert","translate"]),ze=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"]),Gt=/^(data-.*)$/;function Jt(e,t={}){let{labelable:o,isLink:n,global:r,events:i=r,propNames:a}=t,l={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(Kt.has(s)||o&&jt.has(s)||n&&Rt.has(s)||r&&Ut.has(s)||i&&(ze.has(s)||s.endsWith("Capture")&&ze.has(s.slice(0,-7)))||a?.has(s)||Gt.test(s))&&(l[s]=e[s]);return l}function fe(e){if(Xt())e.focus({preventScroll:!0});else{let t=Qt(e);e.focus(),Zt(t)}}let ne=null;function Xt(){if(ne==null){ne=!1;try{document.createElement("div").focus({get preventScroll(){return ne=!0,!0}})}catch{}}return ne}function Qt(e){let t=e.parentNode,o=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&o.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&o.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),o}function Zt(e){for(let{element:t,scrollTop:o,scrollLeft:n}of e)t.scrollTop=o,t.scrollLeft=n}function re(e){var t;if(typeof window>"u"||window.navigator==null)return!1;let o=(t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands;return Array.isArray(o)&&o.some(n=>e.test(n.brand))||e.test(window.navigator.userAgent)}function me(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 A(e){if(process.env.NODE_ENV==="test")return e;let t=null;return()=>(t==null&&(t=e()),t)}const J=A(function(){return me(/^Mac/i)}),Yt=A(function(){return me(/^iPhone/i)}),qe=A(function(){return me(/^iPad/i)||J()&&navigator.maxTouchPoints>1}),Ke=A(function(){return Yt()||qe()});A(function(){return J()||Ke()});const eo=A(function(){return re(/AppleWebKit/i)&&!je()}),je=A(function(){return re(/Chrome/i)}),Re=A(function(){return re(/Android/i)}),to=A(function(){return re(/Firefox/i)});function X(e,t,o=!0){var n,r;let{metaKey:i,ctrlKey:a,altKey:l,shiftKey:s}=t;to()&&(!((r=window.event)===null||r===void 0||(n=r.type)===null||n===void 0)&&n.startsWith("key"))&&e.target==="_blank"&&(J()?i=!0:a=!0);let u=eo()&&J()&&!qe()&&process.env.NODE_ENV!=="test"?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:i,ctrlKey:a,altKey:l,shiftKey:s}):new MouseEvent("click",{metaKey:i,ctrlKey:a,altKey:l,shiftKey:s,detail:1,bubbles:!0,cancelable:!0});X.isOpening=o,fe(e),e.dispatchEvent(u),X.isOpening=!1}X.isOpening=!1;let H=new Map,pe=new Set;function Ue(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{let r=y(n);if(!e(n)||!r)return;let i=H.get(r);i||(i=new Set,H.set(r,i),r.addEventListener("transitioncancel",o,{once:!0})),i.add(n.propertyName)},o=n=>{let r=y(n);if(!e(n)||!r)return;let i=H.get(r);if(i&&(i.delete(n.propertyName),i.size===0&&(r.removeEventListener("transitioncancel",o),H.delete(r)),H.size===0)){for(let a of pe)a();pe.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",o)}typeof document<"u"&&(document.readyState!=="loading"?Ue():document.addEventListener("DOMContentLoaded",Ue));function oo(){for(const[e]of H)"isConnected"in e&&!e.isConnected&&H.delete(e)}function no(e){requestAnimationFrame(()=>{oo(),H.size===0?e():pe.add(e)})}function ro(){let e=c.useRef(new Map),t=c.useCallback((r,i,a,l)=>{let s=l?.once?(...u)=>{e.current.delete(a),a(...u)}:a;e.current.set(a,{type:i,eventTarget:r,fn:s,options:l}),r.addEventListener(i,s,l)},[]),o=c.useCallback((r,i,a,l)=>{var s;let u=((s=e.current.get(a))===null||s===void 0?void 0:s.fn)||a;r.removeEventListener(i,u,l),e.current.delete(a)},[]),n=c.useCallback(()=>{e.current.forEach((r,i)=>{o(r.eventTarget,r.type,i,r.options)})},[o]);return c.useEffect(()=>n,[n]),{addGlobalListener:t,removeGlobalListener:o,removeAllGlobalListeners:n}}var be;const io=(be=c.useInsertionEffect)!==null&&be!==void 0?be:N;function Ge(e){const t=c.useRef(null);return io(()=>{t.current=e},[e]),c.useCallback((...o)=>{const n=t.current;return n?.(...o)},[])}function ge(e,t){if(!e)return!1;let o=window.getComputedStyle(e),n=document.scrollingElement||document.documentElement,r=/(auto|scroll)/.test(o.overflow+o.overflowX+o.overflowY);return e===n&&o.overflow!=="hidden"&&(r=!0),r&&t&&(r=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),r}function Je(e,t){let o=e;for(ge(o,t)&&(o=o.parentElement);o&&!ge(o,t);)o=o.parentElement;return o||document.scrollingElement||document.documentElement}const ao=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function ve(e){return e instanceof HTMLInputElement&&!ao.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function lo(e){return e.pointerType===""&&e.isTrusted?!0:Re()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const so=typeof Element<"u"&&"checkVisibility"in Element.prototype;function uo(e){const t=U(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:o,visibility:n}=e.style,r=o!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:i}=e.ownerDocument.defaultView;let{display:a,visibility:l}=i(e);r=a!=="none"&&l!=="hidden"&&l!=="collapse"}return r}function co(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 he(e,t){return so?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&uo(e)&&co(e,t)&&(!e.parentElement||he(e.parentElement,e))}const $e=["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"],fo=$e.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";$e.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const mo=$e.join(':not([hidden]):not([tabindex="-1"]),');function po(e){return e.matches(fo)&&he(e)&&!Xe(e)}function bo(e){return e.matches(mo)&&he(e)&&!Xe(e)}function Xe(e){let t=e;for(;t!=null;){if(t instanceof t.ownerDocument.defaultView.HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}var we;const go=typeof document<"u"?(we=c.useInsertionEffect)!==null&&we!==void 0?we:c.useLayoutEffect:()=>{};function vo(e,t,o){let[n,r]=c.useState(e||t),i=c.useRef(n),a=c.useRef(e!==void 0),l=e!==void 0;c.useEffect(()=>{let d=a.current;d!==l&&process.env.NODE_ENV!=="production"&&console.warn(`WARN: A component changed from ${d?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}.`),a.current=l},[l]);let s=l?e:n;go(()=>{i.current=s});let[,u]=c.useReducer(()=>({}),{}),m=c.useCallback((d,...p)=>{let b=typeof d=="function"?d(i.current):d;Object.is(i.current,b)||(i.current=b,r(b),u(),o?.(b,...p))},[o]);return[s,m]}function Qe(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function ho(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function $o(e){let t=c.useRef({isFocused:!1,observer:null});return N(()=>{const o=t.current;return()=>{o.observer&&(o.observer.disconnect(),o.observer=null)}},[]),c.useCallback(o=>{let n=y(o);if(n instanceof HTMLButtonElement||n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement){t.current.isFocused=!0;let r=n,i=a=>{if(t.current.isFocused=!1,r.disabled){let l=Qe(a);e?.(l)}t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};r.addEventListener("focusout",i,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&r.disabled){var a;(a=t.current.observer)===null||a===void 0||a.disconnect();let l=r===x()?null:x();r.dispatchEvent(new FocusEvent("blur",{relatedTarget:l})),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:l}))}}),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}},[e])}let wo=!1;const Ze=c.createContext({register:()=>{}});Ze.displayName="PressResponderContext";let Q=null;const Eo=new Set;let Z=new Map,K=!1,Ee=!1;function _e(e,t){for(let o of Eo)o(e,t)}function _o(e){return!(e.metaKey||!J()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function ie(e){K=!0,!X.isOpening&&_o(e)&&(Q="keyboard",_e("keyboard",e))}function F(e){Q="pointer","pointerType"in e&&e.pointerType,(e.type==="mousedown"||e.type==="pointerdown")&&(K=!0,_e("pointer",e))}function Ye(e){!X.isOpening&&lo(e)&&(K=!0,Q="virtual")}function et(e){y(e)===window||y(e)===document||wo||!e.isTrusted||(!K&&!Ee&&(Q="virtual",_e("virtual",e)),K=!1,Ee=!1)}function tt(){K=!1,Ee=!0}function ot(e){if(typeof window>"u"||typeof document>"u"||Z.get(U(e)))return;const t=U(e),o=k(e);let n=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){K=!0,n.apply(this,arguments)},o.addEventListener("keydown",ie,!0),o.addEventListener("keyup",ie,!0),o.addEventListener("click",Ye,!0),t.addEventListener("focus",et,!0),t.addEventListener("blur",tt,!1),typeof PointerEvent<"u"?(o.addEventListener("pointerdown",F,!0),o.addEventListener("pointermove",F,!0),o.addEventListener("pointerup",F,!0)):process.env.NODE_ENV==="test"&&(o.addEventListener("mousedown",F,!0),o.addEventListener("mousemove",F,!0),o.addEventListener("mouseup",F,!0)),t.addEventListener("beforeunload",()=>{nt(e)},{once:!0}),Z.set(t,{focus:n})}const nt=(e,t)=>{const o=U(e),n=k(e);t&&n.removeEventListener("DOMContentLoaded",t),Z.has(o)&&(o.HTMLElement.prototype.focus=Z.get(o).focus,n.removeEventListener("keydown",ie,!0),n.removeEventListener("keyup",ie,!0),n.removeEventListener("click",Ye,!0),o.removeEventListener("focus",et,!0),o.removeEventListener("blur",tt,!1),typeof PointerEvent<"u"?(n.removeEventListener("pointerdown",F,!0),n.removeEventListener("pointermove",F,!0),n.removeEventListener("pointerup",F,!0)):process.env.NODE_ENV==="test"&&(n.removeEventListener("mousedown",F,!0),n.removeEventListener("mousemove",F,!0),n.removeEventListener("mouseup",F,!0)),Z.delete(o))};function Mo(e){const t=k(e);let o;return t.readyState!=="loading"?ot(e):(o=()=>{ot(e)},t.addEventListener("DOMContentLoaded",o)),()=>nt(e,o)}typeof document<"u"&&Mo();function rt(){return Q}function Me(e){if(!e.isConnected)return;const t=k(e);if(rt()==="virtual"){let o=x(t);no(()=>{const n=x(t);(n===o||n===t.body)&&e.isConnected&&fe(e)})}else fe(e)}function yo({children:e}){let t=c.useMemo(()=>({register:()=>{}}),[]);return c.createElement(Ze.Provider,{value:t},e)}function ko(e){let{isDisabled:t,onBlurWithin:o,onFocusWithin:n,onFocusWithinChange:r}=e,i=c.useRef({isFocusWithin:!1}),{addGlobalListener:a,removeAllGlobalListeners:l}=ro(),s=c.useCallback(d=>{C(d.currentTarget,y(d))&&i.current.isFocusWithin&&!C(d.currentTarget,d.relatedTarget)&&(i.current.isFocusWithin=!1,l(),o&&o(d),r&&r(!1))},[o,r,i,l]),u=$o(s),m=c.useCallback(d=>{if(!C(d.currentTarget,y(d)))return;let p=y(d);const b=k(p),h=x(b);if(!i.current.isFocusWithin&&h===p){n&&n(d),r&&r(!0),i.current.isFocusWithin=!0,u(d);let v=d.currentTarget;a(b,"focus",L=>{let g=y(L);if(i.current.isFocusWithin&&!C(v,g)){let $=new b.defaultView.FocusEvent("blur",{relatedTarget:g});ho($,v);let w=Qe($);s(w)}},{capture:!0})}},[n,r,u,a,s]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:m,onBlur:s}}}function To(e){let{ref:t,onInteractOutside:o,isDisabled:n,onInteractOutsideStart:r}=e,i=c.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=Ge(s=>{o&&ae(s,t)&&(r&&r(s),i.current.isPointerDown=!0)}),l=Ge(s=>{o&&o(s)});c.useEffect(()=>{let s=i.current;if(n)return;const u=t.current,m=k(u);if(typeof PointerEvent<"u"){let d=p=>{s.isPointerDown&&ae(p,t)&&l(p),s.isPointerDown=!1};return m.addEventListener("pointerdown",a,!0),m.addEventListener("click",d,!0),()=>{m.removeEventListener("pointerdown",a,!0),m.removeEventListener("click",d,!0)}}else if(process.env.NODE_ENV==="test"){let d=b=>{s.ignoreEmulatedMouseEvents?s.ignoreEmulatedMouseEvents=!1:s.isPointerDown&&ae(b,t)&&l(b),s.isPointerDown=!1},p=b=>{s.ignoreEmulatedMouseEvents=!0,s.isPointerDown&&ae(b,t)&&l(b),s.isPointerDown=!1};return m.addEventListener("mousedown",a,!0),m.addEventListener("mouseup",d,!0),m.addEventListener("touchstart",a,!0),m.addEventListener("touchend",p,!0),()=>{m.removeEventListener("mousedown",a,!0),m.removeEventListener("mouseup",d,!0),m.removeEventListener("touchstart",a,!0),m.removeEventListener("touchend",p,!0)}}},[t,n])}function ae(e,t){if(e.button>0)return!1;let o=y(e);if(o){const n=o.ownerDocument;if(!n||!C(n.documentElement,o)||o.closest("[data-react-aria-top-layer]"))return!1}return t.current?!e.composedPath().includes(t.current):!1}const it=c.createContext(null),ye="react-aria-focus-scope-restore";let _=null;function Po(e){let{children:t,contain:o,restoreFocus:n,autoFocus:r}=e,i=c.useRef(null),a=c.useRef(null),l=c.useRef([]),{parentNode:s}=c.useContext(it)||{},u=c.useMemo(()=>new Pe({scopeRef:l}),[l]);N(()=>{let p=s||T.root;if(T.getTreeNode(p.scopeRef)&&_&&!le(_,p.scopeRef)){let b=T.getTreeNode(_);b&&(p=b)}p.addChild(u),T.addNode(u)},[u,s]),N(()=>{let p=T.getTreeNode(l);p&&(p.contain=!!o)},[o]),N(()=>{var p;let b=(p=i.current)===null||p===void 0?void 0:p.nextSibling,h=[],v=L=>L.stopPropagation();for(;b&&b!==a.current;)h.push(b),b.addEventListener(ye,v),b=b.nextSibling;return l.current=h,()=>{for(let L of h)L.removeEventListener(ye,v)}},[t]),Bo(l,n,o),xo(l,o),Oo(l,n,o),Fo(l,r),c.useEffect(()=>{const p=x(k(l.current?l.current[0]:void 0));let b=null;if(B(p,l.current)){for(let h of T.traverse())h.scopeRef&&B(p,h.scopeRef.current)&&(b=h);b===T.getTreeNode(l)&&(_=b.scopeRef)}},[l]),N(()=>()=>{var p,b,h;let v=(h=(b=T.getTreeNode(l))===null||b===void 0||(p=b.parent)===null||p===void 0?void 0:p.scopeRef)!==null&&h!==void 0?h:null;(l===_||le(l,_))&&(!v||T.getTreeNode(v))&&(_=v),T.removeTreeNode(l)},[l]);let m=c.useMemo(()=>No(l),[]),d=c.useMemo(()=>({focusManager:m,parentNode:u}),[u,m]);return c.createElement(it.Provider,{value:d},c.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:i}),t,c.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function No(e){return{focusNext(t={}){let o=e.current,{from:n,tabbable:r,wrap:i,accept:a}=t;var l;let s=n||x(k((l=o[0])!==null&&l!==void 0?l:void 0)),u=o[0].previousElementSibling,m=j(o),d=q(m,{tabbable:r,accept:a},o);d.currentNode=B(s,o)?s:u;let p=d.nextNode();return!p&&i&&(d.currentNode=u,p=d.nextNode()),p&&W(p,!0),p},focusPrevious(t={}){let o=e.current,{from:n,tabbable:r,wrap:i,accept:a}=t;var l;let s=n||x(k((l=o[0])!==null&&l!==void 0?l:void 0)),u=o[o.length-1].nextElementSibling,m=j(o),d=q(m,{tabbable:r,accept:a},o);d.currentNode=B(s,o)?s:u;let p=d.previousNode();return!p&&i&&(d.currentNode=u,p=d.previousNode()),p&&W(p,!0),p},focusFirst(t={}){let o=e.current,{tabbable:n,accept:r}=t,i=j(o),a=q(i,{tabbable:n,accept:r},o);a.currentNode=o[0].previousElementSibling;let l=a.nextNode();return l&&W(l,!0),l},focusLast(t={}){let o=e.current,{tabbable:n,accept:r}=t,i=j(o),a=q(i,{tabbable:n,accept:r},o);a.currentNode=o[o.length-1].nextElementSibling;let l=a.previousNode();return l&&W(l,!0),l}}}function j(e){return e[0].parentElement}function Y(e){let t=T.getTreeNode(_);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function So(e){if(!e.form)return Array.from(k(e).querySelectorAll(`input[type="radio"][name="${CSS.escape(e.name)}"]`)).filter(n=>!n.form);const t=e.form.elements.namedItem(e.name);let o=U(e);return t instanceof o.RadioNodeList?Array.from(t).filter(n=>n instanceof o.HTMLInputElement):t instanceof o.HTMLInputElement?[t]:[]}function Lo(e){if(e.checked)return!0;const t=So(e);return t.length>0&&!t.some(o=>o.checked)}function xo(e,t){let o=c.useRef(void 0),n=c.useRef(void 0);N(()=>{let r=e.current;if(!t){n.current&&(cancelAnimationFrame(n.current),n.current=void 0);return}const i=k(r?r[0]:void 0);let a=u=>{if(u.key!=="Tab"||u.altKey||u.ctrlKey||u.metaKey||!Y(e)||u.isComposing)return;let m=x(i),d=e.current;if(!d||!B(m,d))return;let p=j(d),b=q(p,{tabbable:!0},d);if(!m)return;b.currentNode=m;let h=u.shiftKey?b.previousNode():b.nextNode();h||(b.currentNode=u.shiftKey?d[d.length-1].nextElementSibling:d[0].previousElementSibling,h=u.shiftKey?b.previousNode():b.nextNode()),u.preventDefault(),h&&W(h,!0)},l=u=>{(!_||le(_,e))&&B(y(u),e.current)?(_=e,o.current=y(u)):Y(e)&&!z(y(u),e)?o.current?o.current.focus():_&&_.current&&ke(_.current):Y(e)&&(o.current=y(u))},s=u=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{let m=rt(),d=(m==="virtual"||m===null)&&Re()&&je(),p=x(i);if(!d&&p&&Y(e)&&!z(p,e)){_=e;let h=y(u);if(h&&h.isConnected){var b;o.current=h,(b=o.current)===null||b===void 0||b.focus()}else _.current&&ke(_.current)}})};return i.addEventListener("keydown",a,!1),i.addEventListener("focusin",l,!1),r?.forEach(u=>u.addEventListener("focusin",l,!1)),r?.forEach(u=>u.addEventListener("focusout",s,!1)),()=>{i.removeEventListener("keydown",a,!1),i.removeEventListener("focusin",l,!1),r?.forEach(u=>u.removeEventListener("focusin",l,!1)),r?.forEach(u=>u.removeEventListener("focusout",s,!1))}},[e,t]),N(()=>()=>{n.current&&cancelAnimationFrame(n.current)},[n])}function at(e){return z(e)}function B(e,t){return!e||!t?!1:t.some(o=>C(o,e))}function z(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:o}of T.traverse(T.getTreeNode(t)))if(o&&B(e,o.current))return!0;return!1}function Co(e){return z(e,_)}function le(e,t){var o;let n=(o=T.getTreeNode(t))===null||o===void 0?void 0:o.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function W(e,t=!1){if(e!=null&&!t)try{Me(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function lt(e,t=!0){let o=e[0].previousElementSibling,n=j(e),r=q(n,{tabbable:t},e);r.currentNode=o;let i=r.nextNode();return t&&!i&&(n=j(e),r=q(n,{tabbable:!1},e),r.currentNode=o,i=r.nextNode()),i}function ke(e,t=!0){W(lt(e,t))}function Fo(e,t){const o=c.useRef(t);c.useEffect(()=>{if(o.current){_=e;const n=k(e.current?e.current[0]:void 0);!B(x(n),_.current)&&e.current&&ke(e.current)}o.current=!1},[e])}function Bo(e,t,o){N(()=>{if(t||o)return;let n=e.current;const r=k(n?n[0]:void 0);let i=a=>{let l=y(a);B(l,e.current)?_=e:at(l)||(_=null)};return r.addEventListener("focusin",i,!1),n?.forEach(a=>a.addEventListener("focusin",i,!1)),()=>{r.removeEventListener("focusin",i,!1),n?.forEach(a=>a.removeEventListener("focusin",i,!1))}},[e,t,o])}function st(e){let t=T.getTreeNode(_);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return t?.scopeRef===e}function Oo(e,t,o){const n=c.useRef(typeof document<"u"?x(k(e.current?e.current[0]:void 0)):null);N(()=>{let r=e.current;const i=k(r?r[0]:void 0);if(!t||o)return;let a=()=>{(!_||le(_,e))&&B(x(i),e.current)&&(_=e)};return i.addEventListener("focusin",a,!1),r?.forEach(l=>l.addEventListener("focusin",a,!1)),()=>{i.removeEventListener("focusin",a,!1),r?.forEach(l=>l.removeEventListener("focusin",a,!1))}},[e,o]),N(()=>{const r=k(e.current?e.current[0]:void 0);if(!t)return;let i=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!Y(e)||a.isComposing)return;let l=r.activeElement;if(!z(l,e)||!st(e))return;let s=T.getTreeNode(e);if(!s)return;let u=s.nodeToRestore,m=q(r.body,{tabbable:!0});m.currentNode=l;let d=a.shiftKey?m.previousNode():m.nextNode();if((!u||!u.isConnected||u===r.body)&&(u=void 0,s.nodeToRestore=void 0),(!d||!z(d,e))&&u){m.currentNode=u;do d=a.shiftKey?m.previousNode():m.nextNode();while(z(d,e));a.preventDefault(),a.stopPropagation(),d?W(d,!0):at(u)?W(u,!0):l.blur()}};return o||r.addEventListener("keydown",i,!0),()=>{o||r.removeEventListener("keydown",i,!0)}},[e,t,o]),N(()=>{const r=k(e.current?e.current[0]:void 0);if(!t)return;let i=T.getTreeNode(e);if(i){var a;return i.nodeToRestore=(a=n.current)!==null&&a!==void 0?a:void 0,()=>{let l=T.getTreeNode(e);if(!l)return;let s=l.nodeToRestore,u=x(r);if(t&&s&&(u&&z(u,e)||u===r.body&&st(e))){let m=T.clone();requestAnimationFrame(()=>{if(r.activeElement===r.body){let d=m.getTreeNode(e);for(;d;){if(d.nodeToRestore&&d.nodeToRestore.isConnected){dt(d.nodeToRestore);return}d=d.parent}for(d=m.getTreeNode(e);d;){if(d.scopeRef&&d.scopeRef.current&&T.getTreeNode(d.scopeRef)){let p=lt(d.scopeRef.current,!0);dt(p);return}d=d.parent}}})}}}},[e,t])}function dt(e){e.dispatchEvent(new CustomEvent(ye,{bubbles:!0,cancelable:!0}))&&W(e)}function q(e,t,o){let n=t?.tabbable?bo:po,r=e?.nodeType===Node.ELEMENT_NODE?e:null,i=k(r),a=We(i,e||i,NodeFilter.SHOW_ELEMENT,{acceptNode(l){return C(t?.from,l)||t?.tabbable&&l.tagName==="INPUT"&&l.getAttribute("type")==="radio"&&(!Lo(l)||a.currentNode.tagName==="INPUT"&&a.currentNode.type==="radio"&&a.currentNode.name===l.name)?NodeFilter.FILTER_REJECT:n(l)&&(!o||B(l,o))&&(!t?.accept||t.accept(l))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(a.currentNode=t.from),a}class Te{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,o,n){let r=this.fastMap.get(o??null);if(!r)return;let i=new Pe({scopeRef:t});r.addChild(i),i.parent=r,this.fastMap.set(t,i),n&&(i.nodeToRestore=n)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let o=this.fastMap.get(t);if(!o)return;let n=o.parent;for(let i of this.traverse())i!==o&&o.nodeToRestore&&i.nodeToRestore&&o.scopeRef&&o.scopeRef.current&&B(i.nodeToRestore,o.scopeRef.current)&&(i.nodeToRestore=o.nodeToRestore);let r=o.children;n&&(n.removeChild(o),r.size>0&&r.forEach(i=>n&&n.addChild(i))),this.fastMap.delete(o.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let o of t.children)yield*this.traverse(o)}clone(){var t;let o=new Te;var n;for(let r of this.traverse())o.addTreeNode(r.scopeRef,(n=(t=r.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&n!==void 0?n:null,r.nodeToRestore);return o}constructor(){this.fastMap=new Map,this.root=new Pe({scopeRef:null}),this.fastMap.set(null,this.root)}}class Pe{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let T=new Te;const Do=new WeakMap,D=[];function Io(e,t){let{onClose:o,shouldCloseOnBlur:n,isOpen:r,isDismissable:i=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:l}=e,s=c.useRef(void 0);c.useEffect(()=>{if(r&&!D.includes(t))return D.push(t),()=>{let v=D.indexOf(t);v>=0&&D.splice(v,1)}},[r,t]);let u=()=>{D[D.length-1]===t&&o&&o()},m=v=>{const L=D[D.length-1];s.current=L,(!l||l(y(v)))&&L===t&&(v.stopPropagation(),v.preventDefault())},d=v=>{(!l||l(y(v)))&&(D[D.length-1]===t&&(v.stopPropagation(),v.preventDefault()),s.current===t&&u()),s.current=void 0},p=v=>{v.key==="Escape"&&!a&&!v.nativeEvent.isComposing&&(v.stopPropagation(),v.preventDefault(),u())};To({ref:t,onInteractOutside:i&&r?d:void 0,onInteractOutsideStart:m});let{focusWithinProps:b}=ko({isDisabled:!n,onBlurWithin:v=>{!v.relatedTarget||Co(v.relatedTarget)||(!l||l(v.relatedTarget))&&o?.()}}),h=v=>{y(v)===v.currentTarget&&v.preventDefault()};return{overlayProps:{onKeyDown:p,...b},underlayProps:{onPointerDown:h}}}function Ao(e,t,o){let{isOpen:n}=t;c.useEffect(()=>{o&&o.current&&Do.set(o.current,t.close)});let r,i=Ae();return{triggerProps:{"aria-haspopup":r,"aria-expanded":n,"aria-controls":n?i:void 0,onPress:t.toggle},overlayProps:{id:i}}}const ee=typeof document<"u"&&window.visualViewport;let se=0,Ne;function Wo(e={}){let{isDisabled:t}=e;N(()=>{if(!t)return se++,se===1&&(Ke()?Ne=Ho():Ne=Vo()),()=>{se--,se===0&&Ne()}},[t])}function Vo(){let e=window.innerWidth-document.documentElement.clientWidth;return ce(e>0&&("scrollbarGutter"in document.documentElement.style?de(document.documentElement,"scrollbarGutter","stable"):de(document.documentElement,"paddingRight",`${e}px`)),de(document.documentElement,"overflow","hidden"))}function Ho(){let e=de(document.documentElement,"overflow","hidden"),t,o=!1,n=u=>{let m=y(u);t=ge(m)?m:Je(m,!0),o=!1;let d=m.ownerDocument.defaultView.getSelection();d&&!d.isCollapsed&&d.containsNode(m,!0)&&(o=!0),u.composedPath().some(p=>p instanceof HTMLInputElement&&p.type==="range")&&(o=!0),"selectionStart"in m&&"selectionEnd"in m&&m.selectionStart<m.selectionEnd&&m.ownerDocument.activeElement===m&&(o=!0)},r=document.createElement("style");r.textContent=`
2
+ @layer {
3
+ * {
4
+ overscroll-behavior: contain;
5
+ }
6
+ }`.trim(),document.head.prepend(r);let i=u=>{if(!(u.touches.length===2||o)){if(!t||t===document.documentElement||t===document.body){u.preventDefault();return}t.scrollHeight===t.clientHeight&&t.scrollWidth===t.clientWidth&&u.preventDefault()}},a=u=>{let m=y(u),d=u.relatedTarget;if(d&&ve(d))d.focus({preventScroll:!0}),ut(d,ve(m));else if(!d){var p;let b=(p=m.parentElement)===null||p===void 0?void 0:p.closest("[tabindex]");b?.focus({preventScroll:!0})}},l=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(u){let m=x(),d=m!=null&&ve(m);l.call(this,{...u,preventScroll:!0}),(!u||!u.preventScroll)&&ut(this,d)};let s=ce(Se(document,"touchstart",n,{passive:!1,capture:!0}),Se(document,"touchmove",i,{passive:!1,capture:!0}),Se(document,"blur",a,!0));return()=>{e(),s(),r.remove(),HTMLElement.prototype.focus=l}}function de(e,t,o){let n=e.style[t];return e.style[t]=o,()=>{e.style[t]=n}}function Se(e,t,o,n){return e.addEventListener(t,o,n),()=>{e.removeEventListener(t,o,n)}}function ut(e,t){t||!ee?ct(e):ee.addEventListener("resize",()=>ct(e),{once:!0})}function ct(e){let t=document.scrollingElement||document.documentElement,o=e;for(;o&&o!==t;){let n=Je(o);if(n!==document.documentElement&&n!==document.body&&n!==o){let r=n.getBoundingClientRect(),i=o.getBoundingClientRect();if(i.top<r.top||i.bottom>r.top+o.clientHeight){let a=r.bottom;ee&&(a=Math.min(a,ee.offsetTop+ee.height));let l=i.top-r.top-((a-r.top)/2-i.height/2);n.scrollTo({top:Math.max(0,Math.min(n.scrollHeight-n.clientHeight,n.scrollTop+l)),behavior:"smooth"})}}o=n.parentElement}}const zo=c.createContext({});function qo(){var e;return(e=c.useContext(zo))!==null&&e!==void 0?e:{}}const Ko=typeof HTMLElement<"u"&&"inert"in HTMLElement.prototype;let te=new WeakMap,O=[];function jo(e,t){let o=U(e?.[0]),n=t instanceof o.Element?{root:t}:t;var r;let i=(r=n?.root)!==null&&r!==void 0?r:document.body,a=n?.shouldUseInert&&Ko,l=new Set(e),s=new Set,u=g=>a&&g instanceof o.HTMLElement?g.inert:g.getAttribute("aria-hidden")==="true",m=(g,$)=>{a&&g instanceof o.HTMLElement?g.inert=$:$?g.setAttribute("aria-hidden","true"):(g.removeAttribute("aria-hidden"),g instanceof o.HTMLElement&&(g.inert=!1))},d=new Set;if(I())for(let g of e){let $=g;for(;$&&$!==i;){let w=$.getRootNode();"shadowRoot"in w&&d.add(w.shadowRoot),$=w.parentNode}}let p=g=>{for(let M of g.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))l.add(M);let $=M=>{if(s.has(M)||l.has(M)||M.parentElement&&s.has(M.parentElement)&&M.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let Fe of l)if(C(M,Fe))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},w=We(k(g),g,NodeFilter.SHOW_ELEMENT,{acceptNode:$}),V=$(g);if(V===NodeFilter.FILTER_ACCEPT&&b(g),V!==NodeFilter.FILTER_REJECT){let M=w.nextNode();for(;M!=null;)b(M),M=w.nextNode()}},b=g=>{var $;let w=($=te.get(g))!==null&&$!==void 0?$:0;u(g)&&w===0||(w===0&&m(g,!0),s.add(g),te.set(g,w+1))};O.length&&O[O.length-1].disconnect(),p(i);let h=new MutationObserver(g=>{for(let $ of g)if($.type==="childList"){if($.target.isConnected&&![...l,...s].some(w=>C(w,$.target)))for(let w of $.addedNodes)(w instanceof HTMLElement||w instanceof SVGElement)&&(w.dataset.liveAnnouncer==="true"||w.dataset.reactAriaTopLayer==="true")?l.add(w):w instanceof Element&&p(w);if(I()){for(let w of d)if(!w.isConnected){h.disconnect();break}}}});h.observe(i,{childList:!0,subtree:!0});let v=new Set;if(I())for(let g of d){let $=new MutationObserver(w=>{for(let V of w)if(V.type==="childList"){if(V.target.isConnected&&![...l,...s].some(M=>C(M,V.target)))for(let M of V.addedNodes)(M instanceof HTMLElement||M instanceof SVGElement)&&(M.dataset.liveAnnouncer==="true"||M.dataset.reactAriaTopLayer==="true")?l.add(M):M instanceof Element&&p(M);if(I()){for(let M of d)if(!M.isConnected){h.disconnect();break}}}});$.observe(g,{childList:!0,subtree:!0}),v.add($)}let L={visibleNodes:l,hiddenNodes:s,observe(){h.observe(i,{childList:!0,subtree:!0})},disconnect(){h.disconnect()}};return O.push(L),()=>{if(h.disconnect(),I())for(let g of v)g.disconnect();for(let g of s){let $=te.get(g);$!=null&&($===1?(m(g,!1),te.delete(g)):te.set(g,$-1))}L===O[O.length-1]?(O.pop(),O.length&&O[O.length-1].observe()):O.splice(O.indexOf(L),1)}}const ft=c.createContext(null);function Ro(e){let t=Ie(),{portalContainer:o=t?null:document.body,isExiting:n}=e,[r,i]=c.useState(!1),a=c.useMemo(()=>({contain:r,setContain:i}),[r,i]),{getContainer:l}=qo();if(!e.portalContainer&&l&&(o=l()),!o)return null;let s=e.children;return e.disableFocusManagement||(s=c.createElement(Po,{restoreFocus:!0,contain:(e.shouldContainFocus||r)&&!n},s)),s=c.createElement(ft.Provider,{value:a},c.createElement(yo,null,s)),_t.createPortal(s,o)}function mt(){let e=c.useContext(ft),t=e?.setContain;N(()=>{t?.(!0)},[t])}function Uo(e,t,o){let{overlayProps:n,underlayProps:r}=Io({...e,isOpen:t.isOpen,onClose:t.close},o);return Wo({isDisabled:!t.isOpen}),mt(),c.useEffect(()=>{if(t.isOpen&&o.current)return jo([o.current],{shouldUseInert:!0})},[t.isOpen,o]),{modalProps:qt(n),underlayProps:r}}function Go(e,t){let{role:o="dialog"}=e,n=Dt();n=e["aria-label"]?void 0:n;let r=c.useRef(!1);return c.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){Me(t.current);let i=setTimeout(()=>{document.activeElement===t.current&&(r.current=!0,t.current&&(t.current.blur(),Me(t.current)),r.current=!1)},500);return()=>{clearTimeout(i)}}},[t]),mt(),{dialogProps:{...Jt(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||n,onBlur:i=>{r.current&&i.stopPropagation()}},titleProps:{id:n}}}function Jo(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function pt(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),o.push.apply(o,n)}return o}function bt(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?pt(Object(o),!0).forEach(function(n){Jo(e,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):pt(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})}return e}var Xo=(e,t,o)=>{for(var n of Object.keys(e)){var r;if(e[n]!==((r=t[n])!==null&&r!==void 0?r:o[n]))return!1}return!0},gt=e=>t=>{var o=e.defaultClassName,n=bt(bt({},e.defaultVariants),t);for(var r in n){var i,a=(i=n[r])!==null&&i!==void 0?i:e.defaultVariants[r];if(a!=null){var l=a;typeof l=="boolean"&&(l=l===!0?"true":"false");var s=e.variantClassNames[r][l];s&&(o+=" "+s)}}for(var[u,m]of e.compoundVariants)Xo(u,n,e.defaultVariants)&&(o+=" "+m);return o},Qo=gt({defaultClassName:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto20",variantClassNames:{kind:{informational:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto21",delete:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto22",failure:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto23",success:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto24",warning:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto25",successWithFailures:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto26",form:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto27"},size:{sm:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto28",md:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto29",lg:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2a",xl:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2b"},fullHeight:{true:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2c",false:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2d"}},defaultVariants:{},compoundVariants:[]}),Zo=gt({defaultClassName:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2e",variantClassNames:{kind:{form:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2f",delete:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2g",failure:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2h",informational:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2i",success:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2j",warning:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2k",successWithFailures:"pkg_sps-woodland_modal__version_8_45_6__hash_3moto2l"}},defaultVariants:{},compoundVariants:[]}),Yo="pkg_sps-woodland_modal__version_8_45_6__hash_3moto2m",en="pkg_sps-woodland_modal__version_8_45_6__hash_3moto2n",tn="pkg_sps-woodland_modal__version_8_45_6__hash_3moto2o",vt="pkg_sps-woodland_modal__version_8_45_6__hash_3moto2p",on="pkg_sps-woodland_modal__version_8_45_6__hash_3moto2q",nn="pkg_sps-woodland_modal__version_8_45_6__hash_3moto2r",rn="pkg_sps-woodland_modal__version_8_45_6__hash_3moto2s";function Le({children:e,className:t="",...o}){return f.createElement("div",{className:P.cl(vt,t),...o},e)}P.Metadata.set(Le,{name:"ModalFooter"});function ht({dismissableValue:e,handleClose:t}){return e?f.createElement(Oe.Button,{"aria-label":"Close",onClick:t,kind:"icon",icon:"x",className:on}):null}const xe=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function an({children:e,className:t,"data-testid":o,kind:n="informational",onBlur:r,onFocus:i,overlayProps:a,size:l="sm",state:s,title:u,dismissible:m,dismissable:d=!0,onClose:p,fullHeight:b=!1,...h}){const v=m??d,L=f.useRef(null),{modalProps:g,underlayProps:$}=Uo({isKeyboardDismissDisabled:!v,...h},s,L),{dialogProps:w,titleProps:V}=Go(h,L),M=P.combineEventHandlers(g.onFocus,w.onFocus,i),Fe=P.combineEventHandlers(g.onBlur,w.onBlur,r),{t:un}=Et.useWoodlandLanguage(),cn=P.useChildTestIdAttrBuilder({"data-testid":o}),[Be,fn]=P.selectChildren(e,[{type:Le}]),$t=f.useCallback(()=>{p&&typeof p=="function"&&p(),s.close()},[p,s.close]),mn=P.modChildren(fn,wt=>wt.type===ht?[{className:P.cl(wt.props.classname,nn)}]:[]);return f.createElement(Ro,null,f.createElement("div",{className:rn,"data-react-aria-top-layer":"true",...$,...h},f.createElement("div",{...g,...w,...a,onFocus:M,onBlur:Fe,...cn("dialog"),ref:L,className:P.cl(Qo({kind:n,size:l,fullHeight:b}),t)},f.createElement("div",{...V,className:Zo({kind:n})},n&&f.createElement(P.Icon,{icon:xe[n]||xe.informational,className:en}),f.createElement("div",{className:Yo},P.contentOf(u,s.close)),f.createElement(ht,{dismissableValue:v,handleClose:$t})),f.createElement("div",{className:tn},P.contentOf(mn,s.close)),Be&&Be.length>0?f.createElement(f.Fragment,null,P.contentOf(Be,s.close)):f.createElement("div",{className:vt},f.createElement(Oe.Button,{kind:"key",onClick:$t},un("modal.defaultButtonLabel",{defaultValue:"Okay"}))))))}function Ce(e){return e.state.isOpen?f.createElement(an,{...e},e.children):f.createElement(f.Fragment,null)}P.Metadata.set(Ce,{name:"Modal",props:{dismissable:{type:"boolean",default:"true"},fullHeight:{type:"boolean",default:"false"},kind:{type:"ModalKind",default:"informational"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"},size:{type:"ModalSize",default:"sm"},title:{type:"string"}}});function ln(e){let[t,o]=vo(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const n=c.useCallback(()=>{o(!0)},[o]),r=c.useCallback(()=>{o(!1)},[o]),i=c.useCallback(()=>{o(!t)},[o,t]);return{isOpen:t,setOpen:o,open:n,close:r,toggle:i}}function sn(e={}){const t=ln(e),o=c.useRef(null),{triggerProps:n,overlayProps:r}=Ao({},t,o),{onPress:i,...a}=n;return{triggerProps:{...a,onClick:i?l=>i(l):void 0,ref:o},modalState:t,modalProps:{overlayProps:r,state:t}}}const dn={Modals:{description:()=>f.createElement("p",null,"Modals are overlays on a page that focus a user’s attention on an important message or a simple action. Examples of a Modal include confirming the deletion of a record, or making a single selection."),components:[Ce],examples:{general:{label:"Usage",description:({NavigateTo:e})=>f.createElement(f.Fragment,null,f.createElement("h5",null,"Use a Modal:"),f.createElement("ul",null,f.createElement("li",null,"When the user needs to confirm a basic decision, such as deleting a record."),f.createElement("li",null,"When important information needs to be displayed to the user before continuing."),f.createElement("li",null,"When a simple selection, such as a single form input, is required before proceeding.")),f.createElement("h5",null,"Avoid a Modal:"),f.createElement("ul",null,f.createElement("li",null,"When a complex form is required. Use a ",f.createElement(e,{to:"focused-task"},"Focused Task View")," instead."),f.createElement("li",null,"When sharing non-critical or tertiary information. Use a ",f.createElement(e,{to:"growlers"},"Growler")," instead.")))},implementation:{label:"Close Button",description:()=>f.createElement(f.Fragment,null,f.createElement("h5",null,"Close Button and Modal dismissiability"),f.createElement("p",null,"Remove the Close Button in the upper right of the Modal if the user must choose the course of action before proceeding."),f.createElement("p",null,"The close button is included by default and omitted when the prop ",f.createElement("code",null,"dismissable")," is set to ",f.createElement("strong",null,"false"),"."),f.createElement("p",null,"Setting the ",f.createElement("code",null,"dismissable")," prop to false also prevents dismissing the modal by clicking outside of the modal or by using the"," ",f.createElement("strong",null,"escape")," key.")),examples:{basic:{react:E.code`
2
7
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
3
8
  import { sprinkles } from "@sps-woodland/tokens";
4
9
  import { Button } from "@sps-woodland/buttons";
@@ -38,7 +43,7 @@
38
43
  Use the size that best fits the content
39
44
  that needs to be in the Modal, erring
40
45
  towards the smallest size whenever possible.`},hooks:{label:"Using Hooks",description:()=>f.createElement(f.Fragment,null,f.createElement("h5",null,"Using the hook"),f.createElement("p",null,"To use any modals, you must call the ",f.createElement("code",null,"useModal")," hook. Optional arguments for this hook include:"),f.createElement("dl",null,f.createElement("dt",null,f.createElement("code",null,"isOpen"),": boolean"),f.createElement("dd",null,"Whether the overlay is open by default (controlled)"),f.createElement("dt",null,f.createElement("code",null,"defaultOpen"),": boolean"),f.createElement("dd",null,"Whether the overlay is open by default (uncontrolled)."),f.createElement("dt",null,f.createElement("code",null,"onOpenChange"),": function"),f.createElement("dd",null,"Handler that is called when the overlay's open state changes.",f.createElement("code",null,"(isOpen: boolean) => void"))),f.createElement("h5",null,"Modal Props, Modal State, and Trigger Props"),f.createElement("p",null,"The ",f.createElement("code",null,"useModal")," returns an object with ",f.createElement("code",null,"modalProps"),", ",f.createElement("code",null,"modalState")," and ",f.createElement("code",null,"triggerProps")),f.createElement("p",null,"The ",f.createElement("code",null,"triggerProps")," need to be spread on the element that triggers the modal."),f.createElement("p",null,"The ",f.createElement("code",null,"modalState")," object (which is also included in ",f.createElement("code",null,"modalProps"),") allows programmatic access to the state of the modal. This includes a read only ",f.createElement("code",null,"isOpen")," property, a ",f.createElement("code",null,"setOpen(isOpen: boolean)")," method which can be use to set whether the overlay is open, an ",f.createElement("code",null,"open()")," method which opens the overlay, a ",f.createElement("code",null,"close()")," method which closes the overlay and a ",f.createElement("code",null,"toggle()")," method that toggles the overlay's visiblity."),f.createElement("p",null,"The ",f.createElement("code",null,"modalProps")," should be spread on the actual ",f.createElement("code",null,"Modal")," component."),f.createElement("p",null,"Please refer to the examples to see its implementation"))},informational:{label:"Informational",description:`Use Informational Modals to share impactful information with the user,
41
- such as telling them when an app will be down for maintenance.`,examples:{small:{description:"Small",react:v.code`
46
+ such as telling them when an app will be down for maintenance.`,examples:{small:{description:"Small",react:E.code`
42
47
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
43
48
  import { sprinkles } from "@sps-woodland/tokens";
44
49
  import { Button } from "@sps-woodland/buttons";
@@ -63,7 +68,7 @@
63
68
  </>
64
69
  )
65
70
  }
66
- `},medium:{description:"Medium",react:v.code`
71
+ `},medium:{description:"Medium",react:E.code`
67
72
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
68
73
  import { sprinkles } from "@sps-woodland/tokens";
69
74
  import { Button } from "@sps-woodland/buttons";
@@ -85,7 +90,7 @@
85
90
  </>
86
91
  )
87
92
  }
88
- `},large:{description:"Large",react:v.code`
93
+ `},large:{description:"Large",react:E.code`
89
94
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
90
95
  import { sprinkles } from "@sps-woodland/tokens";
91
96
  import { Button } from "@sps-woodland/buttons";
@@ -107,7 +112,7 @@
107
112
  </>
108
113
  )
109
114
  }
110
- `},xlarge:{description:"Extra Large",react:v.code`
115
+ `},xlarge:{description:"Extra Large",react:E.code`
111
116
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
112
117
  import { sprinkles } from "@sps-woodland/tokens";
113
118
  import { Button } from "@sps-woodland/buttons";
@@ -130,7 +135,7 @@
130
135
  )
131
136
  }
132
137
  `}}},delete:{label:"Delete",description:`Use Delete Modals to have the user confirm they want to
133
- continue with a destructive action. Be clear on what will happen if they continue.`,examples:{small:{description:"Small",react:v.code`
138
+ continue with a destructive action. Be clear on what will happen if they continue.`,examples:{small:{description:"Small",react:E.code`
134
139
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
135
140
  import { sprinkles } from "@sps-woodland/tokens";
136
141
  import { Button } from "@sps-woodland/buttons";
@@ -148,7 +153,7 @@
148
153
  </>
149
154
  )
150
155
  }
151
- `},medium:{description:"Medium",react:v.code`
156
+ `},medium:{description:"Medium",react:E.code`
152
157
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
153
158
  import { sprinkles } from "@sps-woodland/tokens";
154
159
  import { Button } from "@sps-woodland/buttons";
@@ -165,7 +170,7 @@
165
170
  </>
166
171
  )
167
172
  }
168
- `},large:{description:"Large",react:v.code`
173
+ `},large:{description:"Large",react:E.code`
169
174
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
170
175
  import { sprinkles } from "@sps-woodland/tokens";
171
176
  import { Button } from "@sps-woodland/buttons";
@@ -183,7 +188,7 @@
183
188
  </>
184
189
  )
185
190
  }
186
- `},xlarge:{description:"Extra Large",react:v.code`
191
+ `},xlarge:{description:"Extra Large",react:E.code`
187
192
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
188
193
  import { sprinkles } from "@sps-woodland/tokens";
189
194
  import { Button } from "@sps-woodland/buttons";
@@ -200,7 +205,7 @@
200
205
  </>
201
206
  )
202
207
  }
203
- `}}},failure:{label:"Failure",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",examples:{small:{description:"Small",react:v.code`
208
+ `}}},failure:{label:"Failure",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",examples:{small:{description:"Small",react:E.code`
204
209
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
205
210
  import { sprinkles } from "@sps-woodland/tokens";
206
211
  import { Button } from "@sps-woodland/buttons";
@@ -218,7 +223,7 @@
218
223
  </>
219
224
  )
220
225
  }
221
- `},medium:{description:"Medium",react:v.code`
226
+ `},medium:{description:"Medium",react:E.code`
222
227
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
223
228
  import { sprinkles } from "@sps-woodland/tokens";
224
229
  import { Button } from "@sps-woodland/buttons";
@@ -235,7 +240,7 @@
235
240
  </>
236
241
  )
237
242
  }
238
- `},large:{description:"Large",react:v.code`
243
+ `},large:{description:"Large",react:E.code`
239
244
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
240
245
  import { sprinkles } from "@sps-woodland/tokens";
241
246
  import { Button } from "@sps-woodland/buttons";
@@ -253,7 +258,7 @@
253
258
  </>
254
259
  )
255
260
  }
256
- `},xlarge:{description:"Extra Large",react:v.code`
261
+ `},xlarge:{description:"Extra Large",react:E.code`
257
262
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
258
263
  import { sprinkles } from "@sps-woodland/tokens";
259
264
  import { Button } from "@sps-woodland/buttons";
@@ -270,7 +275,7 @@
270
275
  </>
271
276
  )
272
277
  }
273
- `}}},success:{label:"Success",description:"Use Success Modals to confirm that an action has been completed successfully.",examples:{small:{description:"Small",react:v.code`
278
+ `}}},success:{label:"Success",description:"Use Success Modals to confirm that an action has been completed successfully.",examples:{small:{description:"Small",react:E.code`
274
279
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
275
280
  import { sprinkles } from "@sps-woodland/tokens";
276
281
  import { Button } from "@sps-woodland/buttons";
@@ -288,7 +293,7 @@
288
293
  </>
289
294
  )
290
295
  }
291
- `},medium:{description:"Medium",react:v.code`
296
+ `},medium:{description:"Medium",react:E.code`
292
297
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
293
298
  import { sprinkles } from "@sps-woodland/tokens";
294
299
  import { Button } from "@sps-woodland/buttons";
@@ -305,7 +310,7 @@
305
310
  </>
306
311
  )
307
312
  }
308
- `},large:{description:"Large",react:v.code`
313
+ `},large:{description:"Large",react:E.code`
309
314
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
310
315
  import { sprinkles } from "@sps-woodland/tokens";
311
316
  import { Button } from "@sps-woodland/buttons";
@@ -323,7 +328,7 @@
323
328
  </>
324
329
  )
325
330
  }
326
- `},xlarge:{description:"Extra Large",react:v.code`
331
+ `},xlarge:{description:"Extra Large",react:E.code`
327
332
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
328
333
  import { sprinkles } from "@sps-woodland/tokens";
329
334
  import { Button } from "@sps-woodland/buttons";
@@ -340,7 +345,7 @@
340
345
  </>
341
346
  )
342
347
  }
343
- `}}},successWithFailtures:{label:"Success with Failures",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",examples:{small:{description:"Small",react:v.code`
348
+ `}}},successWithFailtures:{label:"Success with Failures",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",examples:{small:{description:"Small",react:E.code`
344
349
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
345
350
  import { sprinkles } from "@sps-woodland/tokens";
346
351
  import { Button } from "@sps-woodland/buttons";
@@ -358,7 +363,7 @@
358
363
  </>
359
364
  )
360
365
  }
361
- `},medium:{description:"Medium",react:v.code`
366
+ `},medium:{description:"Medium",react:E.code`
362
367
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
363
368
  import { sprinkles } from "@sps-woodland/tokens";
364
369
  import { Button } from "@sps-woodland/buttons";
@@ -375,7 +380,7 @@
375
380
  </>
376
381
  )
377
382
  }
378
- `},large:{description:"Large",react:v.code`
383
+ `},large:{description:"Large",react:E.code`
379
384
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
380
385
  import { sprinkles } from "@sps-woodland/tokens";
381
386
  import { Button } from "@sps-woodland/buttons";
@@ -393,7 +398,7 @@
393
398
  </>
394
399
  )
395
400
  }
396
- `},xlarge:{description:"Extra Large",react:v.code`
401
+ `},xlarge:{description:"Extra Large",react:E.code`
397
402
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
398
403
  import { sprinkles } from "@sps-woodland/tokens";
399
404
  import { Button } from "@sps-woodland/buttons";
@@ -410,7 +415,7 @@
410
415
  </>
411
416
  )
412
417
  }
413
- `}}},warning:{label:"Warning",description:"Use Warning Modals to warn of problems that may occur as a result of taking an action. When writing the message, be clear about what will happen if the user continues on the path.",examples:{small:{description:"Small",react:v.code`
418
+ `}}},warning:{label:"Warning",description:"Use Warning Modals to warn of problems that may occur as a result of taking an action. When writing the message, be clear about what will happen if the user continues on the path.",examples:{small:{description:"Small",react:E.code`
414
419
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
415
420
  import { sprinkles } from "@sps-woodland/tokens";
416
421
  import { Button } from "@sps-woodland/buttons";
@@ -433,7 +438,7 @@
433
438
  </>
434
439
  )
435
440
  }
436
- `},medium:{description:"Medium",react:v.code`
441
+ `},medium:{description:"Medium",react:E.code`
437
442
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
438
443
  import { sprinkles } from "@sps-woodland/tokens";
439
444
  import { Button } from "@sps-woodland/buttons";
@@ -454,7 +459,7 @@
454
459
  </>
455
460
  )
456
461
  }
457
- `},large:{description:"Large",react:v.code`
462
+ `},large:{description:"Large",react:E.code`
458
463
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
459
464
  import { sprinkles } from "@sps-woodland/tokens";
460
465
  import { Button } from "@sps-woodland/buttons";
@@ -472,7 +477,7 @@
472
477
  </>
473
478
  )
474
479
  }
475
- `},xlarge:{description:"Extra Large",react:v.code`
480
+ `},xlarge:{description:"Extra Large",react:E.code`
476
481
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
477
482
  import { sprinkles } from "@sps-woodland/tokens";
478
483
  import { Button } from "@sps-woodland/buttons";
@@ -489,7 +494,7 @@
489
494
  </>
490
495
  )
491
496
  }
492
- `}}},form:{label:"Form",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",examples:{small:{description:"Small",react:v.code`
497
+ `}}},form:{label:"Form",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",examples:{small:{description:"Small",react:E.code`
493
498
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
494
499
  import { sprinkles } from "@sps-woodland/tokens";
495
500
  import { Button } from "@sps-woodland/buttons";
@@ -507,7 +512,7 @@
507
512
  </>
508
513
  )
509
514
  }
510
- `},medium:{description:"Medium",react:v.code`
515
+ `},medium:{description:"Medium",react:E.code`
511
516
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
512
517
  import { sprinkles } from "@sps-woodland/tokens";
513
518
  import { Button } from "@sps-woodland/buttons";
@@ -524,7 +529,7 @@
524
529
  </>
525
530
  )
526
531
  }
527
- `},large:{description:"Large",react:v.code`
532
+ `},large:{description:"Large",react:E.code`
528
533
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
529
534
  import { sprinkles } from "@sps-woodland/tokens";
530
535
  import { Button } from "@sps-woodland/buttons";
@@ -542,7 +547,7 @@
542
547
  </>
543
548
  )
544
549
  }
545
- `},xlarge:{description:"Extra Large",react:v.code`
550
+ `},xlarge:{description:"Extra Large",react:E.code`
546
551
  import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
547
552
  import { sprinkles } from "@sps-woodland/tokens";
548
553
  import { Button } from "@sps-woodland/buttons";
@@ -559,4 +564,4 @@
559
564
  </>
560
565
  )
561
566
  }
562
- `}}}}}};M.MANIFEST=nn,M.Modal=Ne,M.ModalFooter=Pe,M.ModalIcons=Te,M.useModal=on,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"})});
567
+ `}}}}}};S.MANIFEST=dn,S.Modal=Ce,S.ModalFooter=Le,S.ModalIcons=xe,S.useModal=sn,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- .pkg_sps-woodland_modal__version_8_45_4__hash_3moto20{background-color:#fff;border-style:solid;border-width:.0625rem;border-radius:.25rem;display:flex;flex-direction:column;overflow:hidden;max-height:100%}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto21{border-color:#007db8}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto22,.pkg_sps-woodland_modal__version_8_45_4__hash_3moto23{border-color:#de002e}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto24{border-color:#0b8940}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto25,.pkg_sps-woodland_modal__version_8_45_4__hash_3moto26{border-color:#e7760b}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto27{border-color:#4b5356}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto28{width:23.75rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto29{width:36.25rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2a{width:48.75rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2b{width:73.75rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2c{height:100%}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2e{align-items:center;color:#fff;display:flex;padding:1rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2f{background-color:#4b5356}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2g,.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2h{background-color:#de002e}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2i{background-color:#007db8}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2j{background-color:#0b8940}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2k,.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2l{background-color:#e7760b}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2m{flex-grow:1;font-size:.875rem;font-weight:600;line-height:1.25rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2n{font-weight:600;line-height:.875rem;font-size:.875rem;margin-right:.5rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2o{overflow-y:auto;padding:1rem;flex:1}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2p{align-items:center;background-color:#f3f4f4;display:flex;justify-content:flex-end;padding:.5rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2q{color:#fff;border-width:0}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2r{padding:0 .25rem}.pkg_sps-woodland_modal__version_8_45_4__hash_3moto2s{position:fixed;z-index:1000;inset:0;background:#f3f4f4cc;display:flex;align-items:start;justify-content:center;padding:4rem 1rem 1rem}.z-stratum-dropdown{z-index:1100}
1
+ .pkg_sps-woodland_modal__version_8_45_6__hash_3moto20{background-color:#fff;border-style:solid;border-width:.0625rem;border-radius:.25rem;display:flex;flex-direction:column;overflow:hidden;max-height:100%}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto21{border-color:#007db8}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto22,.pkg_sps-woodland_modal__version_8_45_6__hash_3moto23{border-color:#de002e}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto24{border-color:#0b8940}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto25,.pkg_sps-woodland_modal__version_8_45_6__hash_3moto26{border-color:#e7760b}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto27{border-color:#4b5356}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto28{width:23.75rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto29{width:36.25rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2a{width:48.75rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2b{width:73.75rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2c{height:100%}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2e{align-items:center;color:#fff;display:flex;padding:1rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2f{background-color:#4b5356}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2g,.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2h{background-color:#de002e}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2i{background-color:#007db8}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2j{background-color:#0b8940}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2k,.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2l{background-color:#e7760b}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2m{flex-grow:1;font-size:.875rem;font-weight:600;line-height:1.25rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2n{font-weight:600;line-height:.875rem;font-size:.875rem;margin-right:.5rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2o{overflow-y:auto;padding:1rem;flex:1}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2p{align-items:center;background-color:#f3f4f4;display:flex;justify-content:flex-end;padding:.5rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2q{color:#fff;border-width:0}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2r{padding:0 .25rem}.pkg_sps-woodland_modal__version_8_45_6__hash_3moto2s{position:fixed;z-index:1000;inset:0;background:#f3f4f4cc;display:flex;align-items:start;justify-content:center;padding:4rem 1rem 1rem}.z-stratum-dropdown{z-index:1100}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sps-woodland/modal",
3
3
  "description": "SPS Woodland Design System modal component",
4
- "version": "8.45.4",
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/modal",
@@ -26,30 +26,31 @@
26
26
  "access": "public"
27
27
  },
28
28
  "peerDependencies": {
29
- "@spscommerce/utils": "^7.0.0 || ^8.0.0",
29
+ "@spscommerce/utils": "^7.0.0 || ^8.0.0 || ^9.0.0",
30
30
  "react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
31
31
  "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
32
- "@sps-woodland/buttons": "8.45.4",
33
- "@sps-woodland/core": "8.45.4",
34
- "@sps-woodland/tokens": "8.45.4",
35
- "@spscommerce/i18n": "8.45.4"
32
+ "@sps-woodland/buttons": "8.45.6",
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
- "@spscommerce/utils": "^8.1.1",
39
- "@types/react": "^16.9.0",
40
- "@vanilla-extract/css": "^1.17.4",
41
- "@vanilla-extract/recipes": "^0.2.5",
42
- "@vanilla-extract/sprinkles": "^1.5.0",
43
- "react": "^16.9.0",
44
- "react-dom": "^16.9.0",
45
- "@sps-woodland/buttons": "8.45.4",
46
- "@sps-woodland/core": "8.45.4",
47
- "@sps-woodland/tokens": "8.45.4",
48
- "@spscommerce/i18n": "8.45.4"
38
+ "@react-spectrum/provider": "3.11.0",
39
+ "@spscommerce/utils": "9.0.3",
40
+ "@types/react": "16.14.35",
41
+ "@vanilla-extract/css": "1.17.4",
42
+ "@vanilla-extract/recipes": "0.2.5",
43
+ "@vanilla-extract/sprinkles": "1.5.1",
44
+ "react": "16.14.0",
45
+ "react-dom": "16.14.0",
46
+ "@sps-woodland/buttons": "8.45.6",
47
+ "@sps-woodland/core": "8.45.6",
48
+ "@sps-woodland/tokens": "8.45.6",
49
+ "@spscommerce/i18n": "8.45.6"
49
50
  },
50
51
  "dependencies": {
51
- "react-aria": "^3.21.0",
52
- "react-stately": "^3.19.0"
52
+ "react-aria": "3.21.0",
53
+ "react-stately": "3.19.0"
53
54
  },
54
55
  "scripts": {
55
56
  "build": "pnpm run build:js && pnpm run build:types",