@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.js +811 -725
- package/lib/index.umd.cjs +35 -30
- package/lib/style.css +1 -1
- package/package.json +20 -19
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
`}}}}}};
|
|
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-
|
|
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
|
+
"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.
|
|
33
|
-
"@sps-woodland/core": "8.45.
|
|
34
|
-
"@sps-woodland/tokens": "8.45.
|
|
35
|
-
"@spscommerce/i18n": "8.45.
|
|
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
|
-
"@
|
|
39
|
-
"@
|
|
40
|
-
"@
|
|
41
|
-
"@vanilla-extract/
|
|
42
|
-
"@vanilla-extract/
|
|
43
|
-
"
|
|
44
|
-
"react
|
|
45
|
-
"
|
|
46
|
-
"@sps-woodland/
|
|
47
|
-
"@sps-woodland/
|
|
48
|
-
"@
|
|
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": "
|
|
52
|
-
"react-stately": "
|
|
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",
|