@sps-woodland/modal 8.2.2 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs.js +2 -2
- package/lib/index.es.js +640 -591
- package/lib/style.css +1 -1
- package/package.json +7 -7
package/lib/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("@sps-woodland/core"),ge=require("@sps-woodland/buttons"),f=require("react"),Ye=require("react-dom"),v=require("@spscommerce/utils"),xe=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function Xe(e){if(e&&e.__esModule)return 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 w=xe(f),u=Xe(f),Je=xe(Ye);function Qe(e,t,o){let[n,r]=f.useState(e||t),a=f.useRef(e!==void 0),l=e!==void 0;f.useEffect(()=>{let d=a.current;d!==l&&console.warn(`WARN: A component changed from ${d?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}.`),a.current=l},[l]);let s=l?e:n,i=f.useCallback((d,...c)=>{let p=(m,...b)=>{o&&(Object.is(s,m)||o(m,...b)),l||(s=m)};typeof d=="function"?(console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"),r((b,...g)=>{let k=d(l?s:b,...g);return p(k,...c),l?b:k})):(l||r(d),p(d,...c))},[l,s,o]);return[s,i]}const _={prefix:String(Math.round(Math.random()*1e10)),current:0},Se=w.default.createContext(_),Ze=w.default.createContext(!1);let et=Boolean(typeof window<"u"&&window.document&&window.document.createElement),Q=new WeakMap;function tt(e=!1){let t=f.useContext(Se),o=f.useRef(null);if(o.current===null&&!e){var n,r;let a=(r=w.default.__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 l=Q.get(a);l==null?Q.set(a,{id:t.current,state:a.memoizedState}):a.memoizedState!==l.state&&(t.current=l.id,Q.delete(a))}o.current=++t.current}return o.current}function ot(e){let t=f.useContext(Se);t===_&&!et&&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=tt(!!e),n=t===_&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${n}-${o}`}function nt(e){let t=w.default.useId(),[o]=f.useState(Fe()),n=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${_.prefix}`;return e||`${n}-${t}`}const rt=typeof w.default.useId=="function"?nt:ot;function at(){return!1}function lt(){return!0}function it(e){return()=>{}}function Fe(){return typeof w.default.useSyncExternalStore=="function"?w.default.useSyncExternalStore(it,at,lt):f.useContext(Ze)}function Le(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(o=Le(e[t]))&&(n&&(n+=" "),n+=o);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function st(){for(var e,t,o=0,n="";o<arguments.length;)(e=arguments[o++])&&(t=Le(e))&&(n&&(n+=" "),n+=t);return n}const E=typeof document<"u"?w.default.useLayoutEffect:()=>{};function A(e){const t=f.useRef(null);return E(()=>{t.current=e},[e]),f.useCallback((...o)=>{const n=t.current;return n(...o)},[])}function dt(e){let[t,o]=f.useState(e),n=f.useRef(null),r=A(()=>{let l=n.current.next();if(l.done){n.current=null;return}t===l.value?r():o(l.value)});E(()=>{n.current&&r()});let a=A(l=>{n.current=l(t),r()});return[t,a]}let ut=Boolean(typeof window<"u"&&window.document&&window.document.createElement),V=new Map;function Ce(e){let[t,o]=f.useState(e),n=f.useRef(null),r=rt(t),a=f.useCallback(l=>{n.current=l},[]);return ut&&V.set(r,a),E(()=>{let l=r;return()=>{V.delete(l)}},[r]),f.useEffect(()=>{let l=n.current;l&&(n.current=null,o(l))}),r}function ct(e,t){if(e===t)return e;let o=V.get(e);if(o)return o(t),t;let n=V.get(t);return n?(n(e),e):t}function mt(e=[]){let t=Ce(),[o,n]=dt(t),r=f.useCallback(()=>{n(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,n]);return E(r,[t,r,...e]),o}function H(...e){return(...t)=>{for(let o of e)typeof o=="function"&&o(...t)}}const ft=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document};function pt(...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],l=n[r];typeof a=="function"&&typeof l=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=H(a,l):(r==="className"||r==="UNSAFE_className")&&typeof a=="string"&&typeof l=="string"?t[r]=st(a,l):r==="id"&&a&&l?t.id=ct(a,l):t[r]=l!==void 0?l:a}}return t}const gt=new Set(["id"]),bt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),vt=new Set(["href","target","rel","download","ping","referrerPolicy"]),$t=/^(data-.*)$/;function ht(e,t={}){let{labelable:o,isLink:n,propNames:r}=t,a={};for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(gt.has(l)||o&&bt.has(l)||n&&vt.has(l)||(r==null?void 0:r.has(l))||$t.test(l))&&(a[l]=e[l]);return a}function be(e){if(wt())e.focus({preventScroll:!0});else{let t=Et(e);e.focus(),Mt(t)}}let W=null;function wt(){if(W==null){W=!1;try{var e=document.createElement("div");e.focus({get preventScroll(){return W=!0,!0}})}catch{}}return W}function Et(e){for(var t=e.parentNode,o=[],n=document.scrollingElement||document.documentElement;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 Mt(e){for(let{element:t,scrollTop:o,scrollLeft:n}of e)t.scrollTop=o,t.scrollLeft=n}function yt(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(o=>e.test(o.brand)))||e.test(window.navigator.userAgent)}function le(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function Be(){return le(/^Mac/i)}function Pt(){return le(/^iPhone/i)}function kt(){return le(/^iPad/i)||Be()&&navigator.maxTouchPoints>1}function Tt(){return Pt()||kt()}function xt(){return yt(/Android/i)}let B=new Map,te=new Set;function ve(){if(typeof window>"u")return;let e=o=>{let n=B.get(o.target);n||(n=new Set,B.set(o.target,n),o.target.addEventListener("transitioncancel",t)),n.add(o.propertyName)},t=o=>{let n=B.get(o.target);if(!!n&&(n.delete(o.propertyName),n.size===0&&(o.target.removeEventListener("transitioncancel",t),B.delete(o.target)),B.size===0)){for(let r of te)r();te.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?ve():document.addEventListener("DOMContentLoaded",ve));function St(e){requestAnimationFrame(()=>{B.size===0?e():te.add(e)})}function Ne(e){for($e(e)&&(e=e.parentElement);e&&!$e(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}function $e(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function Ft(e){return e.mozInputSource===0&&e.isTrusted?!0:xt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const Oe=w.default.createContext({register:()=>{}});Oe.displayName="PressResponderContext";function Lt({children:e}){let t=f.useMemo(()=>({register:()=>{}}),[]);return w.default.createElement(Oe.Provider,{value:t},e)}class Ct{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,o){this.nativeEvent=o,this.target=o.target,this.currentTarget=o.currentTarget,this.relatedTarget=o.relatedTarget,this.bubbles=o.bubbles,this.cancelable=o.cancelable,this.defaultPrevented=o.defaultPrevented,this.eventPhase=o.eventPhase,this.isTrusted=o.isTrusted,this.timeStamp=o.timeStamp,this.type=t}}function Bt(e){let t=f.useRef({isFocused:!1,observer:null});E(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]);let o=A(n=>{e==null||e(n)});return f.useCallback(n=>{if(n.target instanceof HTMLButtonElement||n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement||n.target instanceof HTMLSelectElement){t.current.isFocused=!0;let r=n.target,a=l=>{t.current.isFocused=!1,r.disabled&&o(new Ct("blur",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 l;(l=t.current.observer)===null||l===void 0||l.disconnect();let s=r===document.activeElement?null:document.activeElement;r.dispatchEvent(new FocusEvent("blur",{relatedTarget:s})),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:s}))}}),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}},[o])}let I=null,Nt=new Set,he=!1,L=!1,oe=!1;function ie(e,t){for(let o of Nt)o(e,t)}function Ot(e){return!(e.metaKey||!Be()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function we(e){L=!0,Ot(e)&&(I="keyboard",ie("keyboard",e))}function C(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(L=!0,ie("pointer",e))}function Rt(e){Ft(e)&&(L=!0,I="virtual")}function Dt(e){e.target===window||e.target===document||(!L&&!oe&&(I="virtual",ie("virtual",e)),L=!1,oe=!1)}function At(){L=!1,oe=!0}function Ee(){if(typeof window>"u"||he)return;let e=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(){L=!0,e.apply(this,arguments)},document.addEventListener("keydown",we,!0),document.addEventListener("keyup",we,!0),document.addEventListener("click",Rt,!0),window.addEventListener("focus",Dt,!0),window.addEventListener("blur",At,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",C,!0),document.addEventListener("pointermove",C,!0),document.addEventListener("pointerup",C,!0)):(document.addEventListener("mousedown",C,!0),document.addEventListener("mousemove",C,!0),document.addEventListener("mouseup",C,!0)),he=!0}typeof document<"u"&&(document.readyState!=="loading"?Ee():document.addEventListener("DOMContentLoaded",Ee));function It(){return I}function Wt(e){let{isDisabled:t,onBlurWithin:o,onFocusWithin:n,onFocusWithinChange:r}=e,a=f.useRef({isFocusWithin:!1}),l=f.useCallback(d=>{a.current.isFocusWithin&&!d.currentTarget.contains(d.relatedTarget)&&(a.current.isFocusWithin=!1,o&&o(d),r&&r(!1))},[o,r,a]),s=Bt(l),i=f.useCallback(d=>{!a.current.isFocusWithin&&document.activeElement===d.target&&(n&&n(d),r&&r(!0),a.current.isFocusWithin=!0,s(d))},[n,r,s]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:i,onBlur:l}}}function zt(e){let{ref:t,onInteractOutside:o,isDisabled:n,onInteractOutsideStart:r}=e,a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),l=A(i=>{o&&z(i,t)&&(r&&r(i),a.current.isPointerDown=!0)}),s=A(i=>{o&&o(i)});f.useEffect(()=>{let i=a.current;if(n)return;const d=t.current,c=ft(d);if(typeof PointerEvent<"u"){let p=m=>{i.isPointerDown&&z(m,t)&&s(m),i.isPointerDown=!1};return c.addEventListener("pointerdown",l,!0),c.addEventListener("pointerup",p,!0),()=>{c.removeEventListener("pointerdown",l,!0),c.removeEventListener("pointerup",p,!0)}}else{let p=b=>{i.ignoreEmulatedMouseEvents?i.ignoreEmulatedMouseEvents=!1:i.isPointerDown&&z(b,t)&&s(b),i.isPointerDown=!1},m=b=>{i.ignoreEmulatedMouseEvents=!0,i.isPointerDown&&z(b,t)&&s(b),i.isPointerDown=!1};return c.addEventListener("mousedown",l,!0),c.addEventListener("mouseup",p,!0),c.addEventListener("touchstart",l,!0),c.addEventListener("touchend",m,!0),()=>{c.removeEventListener("mousedown",l,!0),c.removeEventListener("mouseup",p,!0),c.removeEventListener("touchstart",l,!0),c.removeEventListener("touchend",m,!0)}}},[t,n,l,s])}function z(e,t){if(e.button>0)return!1;if(e.target){const o=e.target.ownerDocument;if(!o||!o.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function ne(e){if(It()==="virtual"){let t=document.activeElement;St(()=>{document.activeElement===t&&document.contains(e)&&be(e)})}else be(e)}function qt(e){if(!(e instanceof HTMLElement)&&!(e instanceof SVGElement))return!1;let{display:t,visibility:o}=e.style,n=t!=="none"&&o!=="hidden"&&o!=="collapse";if(n){const{getComputedStyle:r}=e.ownerDocument.defaultView;let{display:a,visibility:l}=r(e);n=a!=="none"&&l!=="hidden"&&l!=="collapse"}return n}function _t(e,t){return!e.hasAttribute("hidden")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function Re(e,t){return e.nodeName!=="#comment"&&qt(e)&&_t(e,t)&&(!e.parentElement||Re(e.parentElement,e))}const Me=w.default.createContext(null);let $=null;function Vt(e){let{children:t,contain:o,restoreFocus:n,autoFocus:r}=e,a=f.useRef(null),l=f.useRef(null),s=f.useRef([]),{parentNode:i}=f.useContext(Me)||{},d=f.useMemo(()=>new re({scopeRef:s}),[s]);E(()=>{let m=i||h.root;if(h.getTreeNode(m.scopeRef)&&$&&!j($,m.scopeRef)){let b=h.getTreeNode($);b&&(m=b)}m.addChild(d),h.addNode(d)},[d,i]),E(()=>{let m=h.getTreeNode(s);m&&(m.contain=!!o)},[o]),E(()=>{var m;let b=(m=a.current)===null||m===void 0?void 0:m.nextSibling,g=[];for(;b&&b!==l.current;)g.push(b),b=b.nextSibling;s.current=g},[t]),Xt(s,n,o),Ut(s,o),Qt(s,n,o),Yt(s,r),f.useEffect(()=>{let m=document.activeElement,b=null;if(M(m,s.current)){for(let g of h.traverse())g.scopeRef&&M(m,g.scopeRef.current)&&(b=g);b===h.getTreeNode(s)&&($=b.scopeRef)}},[s]),E(()=>()=>{var m,b,g;let k=(g=(b=h.getTreeNode(s))===null||b===void 0||(m=b.parent)===null||m===void 0?void 0:m.scopeRef)!==null&&g!==void 0?g:null;(s===$||j(s,$))&&(!k||h.getTreeNode(k))&&($=k),h.removeTreeNode(s)},[s]);let c=f.useMemo(()=>Ht(s),[]),p=f.useMemo(()=>({focusManager:c,parentNode:d}),[d,c]);return w.default.createElement(Me.Provider,{value:p},w.default.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:a}),t,w.default.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:l}))}function Ht(e){return{focusNext(t={}){let o=e.current,{from:n,tabbable:r,wrap:a,accept:l}=t,s=n||document.activeElement,i=o[0].previousElementSibling,d=F(o),c=S(d,{tabbable:r,accept:l},o);c.currentNode=M(s,o)?s:i;let p=c.nextNode();return!p&&a&&(c.currentNode=i,p=c.nextNode()),p&&x(p,!0),p},focusPrevious(t={}){let o=e.current,{from:n,tabbable:r,wrap:a,accept:l}=t,s=n||document.activeElement,i=o[o.length-1].nextElementSibling,d=F(o),c=S(d,{tabbable:r,accept:l},o);c.currentNode=M(s,o)?s:i;let p=c.previousNode();return!p&&a&&(c.currentNode=i,p=c.previousNode()),p&&x(p,!0),p},focusFirst(t={}){let o=e.current,{tabbable:n,accept:r}=t,a=F(o),l=S(a,{tabbable:n,accept:r},o);l.currentNode=o[0].previousElementSibling;let s=l.nextNode();return s&&x(s,!0),s},focusLast(t={}){let o=e.current,{tabbable:n,accept:r}=t,a=F(o),l=S(a,{tabbable:n,accept:r},o);l.currentNode=o[o.length-1].nextElementSibling;let s=l.previousNode();return s&&x(s,!0),s}}}const se=["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]"],Kt=se.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";se.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const jt=se.join(':not([hidden]):not([tabindex="-1"]),');function F(e){return e[0].parentElement}function R(e){let t=h.getTreeNode($);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function Ut(e,t){let o=f.useRef(),n=f.useRef();E(()=>{let r=e.current;if(!t){n.current&&(cancelAnimationFrame(n.current),n.current=void 0);return}let a=i=>{if(i.key!=="Tab"||i.altKey||i.ctrlKey||i.metaKey||!R(e))return;let d=document.activeElement,c=e.current;if(!c||!M(d,c))return;let p=F(c),m=S(p,{tabbable:!0},c);if(!d)return;m.currentNode=d;let b=i.shiftKey?m.previousNode():m.nextNode();b||(m.currentNode=i.shiftKey?c[c.length-1].nextElementSibling:c[0].previousElementSibling,b=i.shiftKey?m.previousNode():m.nextNode()),i.preventDefault(),b&&x(b,!0)},l=i=>{(!$||j($,e))&&M(i.target,e.current)?($=e,o.current=i.target):R(e)&&!K(i.target,e)?o.current?o.current.focus():$&&$.current&&U($.current):R(e)&&(o.current=i.target)},s=i=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{if(document.activeElement&&R(e)&&!K(document.activeElement,e))if($=e,document.body.contains(i.target)){var d;o.current=i.target,(d=o.current)===null||d===void 0||d.focus()}else $.current&&U($.current)})};return document.addEventListener("keydown",a,!1),document.addEventListener("focusin",l,!1),r==null||r.forEach(i=>i.addEventListener("focusin",l,!1)),r==null||r.forEach(i=>i.addEventListener("focusout",s,!1)),()=>{document.removeEventListener("keydown",a,!1),document.removeEventListener("focusin",l,!1),r==null||r.forEach(i=>i.removeEventListener("focusin",l,!1)),r==null||r.forEach(i=>i.removeEventListener("focusout",s,!1))}},[e,t]),E(()=>()=>{n.current&&cancelAnimationFrame(n.current)},[n])}function De(e){return K(e)}function M(e,t){return!e||!t?!1:t.some(o=>o.contains(e))}function K(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:o}of h.traverse(h.getTreeNode(t)))if(o&&M(e,o.current))return!0;return!1}function Gt(e){return K(e,$)}function j(e,t){var o;let n=(o=h.getTreeNode(t))===null||o===void 0?void 0:o.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function x(e,t=!1){if(e!=null&&!t)try{ne(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function U(e,t=!0){let o=e[0].previousElementSibling,n=F(e),r=S(n,{tabbable:t},e);r.currentNode=o;let a=r.nextNode();t&&!a&&(n=F(e),r=S(n,{tabbable:!1},e),r.currentNode=o,a=r.nextNode()),x(a)}function Yt(e,t){const o=w.default.useRef(t);f.useEffect(()=>{o.current&&($=e,!M(document.activeElement,$.current)&&e.current&&U(e.current)),o.current=!1},[e])}function Xt(e,t,o){E(()=>{if(t||o)return;let n=e.current,r=a=>{let l=a.target;M(l,e.current)?$=e:De(l)||($=null)};return document.addEventListener("focusin",r,!1),n==null||n.forEach(a=>a.addEventListener("focusin",r,!1)),()=>{document.removeEventListener("focusin",r,!1),n==null||n.forEach(a=>a.removeEventListener("focusin",r,!1))}},[e,t,o])}function Jt(e){let t=h.getTreeNode($);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return(t==null?void 0:t.scopeRef)===e}function Qt(e,t,o){const n=f.useRef(typeof document<"u"?document.activeElement:null);E(()=>{let r=e.current;if(!t||o)return;let a=()=>{(!$||j($,e))&&M(document.activeElement,e.current)&&($=e)};return document.addEventListener("focusin",a,!1),r==null||r.forEach(l=>l.addEventListener("focusin",a,!1)),()=>{document.removeEventListener("focusin",a,!1),r==null||r.forEach(l=>l.removeEventListener("focusin",a,!1))}},[e,o]),E(()=>{if(!t)return;let r=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!R(e))return;let l=document.activeElement;if(!M(l,e.current))return;let s=h.getTreeNode(e);if(!s)return;let i=s.nodeToRestore,d=S(document.body,{tabbable:!0});d.currentNode=l;let c=a.shiftKey?d.previousNode():d.nextNode();if((!i||!document.body.contains(i)||i===document.body)&&(i=void 0,s.nodeToRestore=void 0),(!c||!M(c,e.current))&&i){d.currentNode=i;do c=a.shiftKey?d.previousNode():d.nextNode();while(M(c,e.current));a.preventDefault(),a.stopPropagation(),c?x(c,!0):De(i)?x(i,!0):l.blur()}};return o||document.addEventListener("keydown",r,!0),()=>{o||document.removeEventListener("keydown",r,!0)}},[e,t,o]),E(()=>{if(!t)return;let r=h.getTreeNode(e);if(!!r){var a;return r.nodeToRestore=(a=n.current)!==null&&a!==void 0?a:void 0,()=>{let l=h.getTreeNode(e);if(!l)return;let s=l.nodeToRestore;if(t&&s&&(M(document.activeElement,e.current)||document.activeElement===document.body&&Jt(e))){let i=h.clone();requestAnimationFrame(()=>{if(document.activeElement===document.body){let d=i.getTreeNode(e);for(;d;){if(d.nodeToRestore&&document.body.contains(d.nodeToRestore)){x(d.nodeToRestore);return}d=d.parent}for(d=i.getTreeNode(e);d;){if(d.scopeRef&&d.scopeRef.current&&h.getTreeNode(d.scopeRef)){U(d.scopeRef.current,!0);return}d=d.parent}}})}}}},[e,t])}function S(e,t,o){let n=t!=null&&t.tabbable?jt:Kt,r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(a){var l;return!(t==null||(l=t.from)===null||l===void 0)&&l.contains(a)?NodeFilter.FILTER_REJECT:a.matches(n)&&Re(a)&&(!o||M(a,o))&&(!(t!=null&&t.accept)||t.accept(a))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t!=null&&t.from&&(r.currentNode=t.from),r}class de{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,o,n){let r=this.fastMap.get(o!=null?o:null);if(!r)return;let a=new re({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&&M(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 de;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 re({scopeRef:null}),this.fastMap.set(null,this.root)}}class re{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 h=new de;const Zt=new WeakMap,T=[];function eo(e,t){let{onClose:o,shouldCloseOnBlur:n,isOpen:r,isDismissable:a=!1,isKeyboardDismissDisabled:l=!1,shouldCloseOnInteractOutside:s}=e;f.useEffect(()=>(r&&T.push(t),()=>{let g=T.indexOf(t);g>=0&&T.splice(g,1)}),[r,t]);let i=()=>{T[T.length-1]===t&&o&&o()},d=g=>{(!s||s(g.target))&&T[T.length-1]===t&&(g.stopPropagation(),g.preventDefault())},c=g=>{(!s||s(g.target))&&(T[T.length-1]===t&&(g.stopPropagation(),g.preventDefault()),i())},p=g=>{g.key==="Escape"&&!l&&(g.stopPropagation(),g.preventDefault(),i())};zt({ref:t,onInteractOutside:a&&r?c:null,onInteractOutsideStart:d});let{focusWithinProps:m}=Wt({isDisabled:!n,onBlurWithin:g=>{!g.relatedTarget||Gt(g.relatedTarget)||(!s||s(g.relatedTarget))&&o()}}),b=g=>{g.target===g.currentTarget&&g.preventDefault()};return{overlayProps:{onKeyDown:p,...m},underlayProps:{onPointerDown:b}}}function to(e,t,o){let{type:n}=e,{isOpen:r}=t;f.useEffect(()=>{o&&o.current&&Zt.set(o.current,t.close)});let a;n==="menu"?a=!0:n==="listbox"&&(a="listbox");let l=Ce();return{triggerProps:{"aria-haspopup":a,"aria-expanded":r,"aria-controls":r?l:null,onPress:t.toggle},overlayProps:{id:l}}}const Z=typeof document<"u"&&window.visualViewport,oo=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let q=0,ee;function no(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return q++,q===1&&(Tt()?ee=ao():ee=ro()),()=>{q--,q===0&&ee()}},[t])}function ro(){return H(D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"))}function ao(){let e,t=0,o=p=>{e=Ne(p.target),!(e===document.documentElement&&e===document.body)&&(t=p.changedTouches[0].pageY)},n=p=>{if(!e||e===document.documentElement||e===document.body){p.preventDefault();return}let m=p.changedTouches[0].pageY,b=e.scrollTop,g=e.scrollHeight-e.clientHeight;g!==0&&((b<=0&&m>t||b>=g&&m<t)&&p.preventDefault(),t=m)},r=p=>{let m=p.target;Pe(m)&&m!==document.activeElement&&(p.preventDefault(),m.style.transform="translateY(-2000px)",m.focus(),requestAnimationFrame(()=>{m.style.transform=""}))},a=p=>{let m=p.target;Pe(m)&&(m.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{m.style.transform="",Z&&(Z.height<window.innerHeight?requestAnimationFrame(()=>{ye(m)}):Z.addEventListener("resize",()=>ye(m),{once:!0}))}))},l=()=>{window.scrollTo(0,0)},s=window.pageXOffset,i=window.pageYOffset,d=H(D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"),D(document.body,"marginTop",`-${i}px`));window.scrollTo(0,0);let c=H(N(document,"touchstart",o,{passive:!1,capture:!0}),N(document,"touchmove",n,{passive:!1,capture:!0}),N(document,"touchend",r,{passive:!1,capture:!0}),N(document,"focus",a,!0),N(window,"scroll",l));return()=>{d(),c(),window.scrollTo(s,i)}}function D(e,t,o){let n=e.style[t];return e.style[t]=o,()=>{e.style[t]=n}}function N(e,t,o,n){return e.addEventListener(t,o,n),()=>{e.removeEventListener(t,o,n)}}function ye(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let o=Ne(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 Pe(e){return e instanceof HTMLInputElement&&!oo.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let O=new WeakMap,P=[];function lo(e,t=document.body){let o=new Set(e),n=new Set,r=i=>{for(let m of i.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))o.add(m);let d=m=>{if(o.has(m)||n.has(m.parentElement)&&m.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let b of o)if(m.contains(b))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},c=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,{acceptNode:d}),p=d(i);if(p===NodeFilter.FILTER_ACCEPT&&a(i),p!==NodeFilter.FILTER_REJECT){let m=c.nextNode();for(;m!=null;)a(m),m=c.nextNode()}},a=i=>{var d;let c=(d=O.get(i))!==null&&d!==void 0?d:0;i.getAttribute("aria-hidden")==="true"&&c===0||(c===0&&i.setAttribute("aria-hidden","true"),n.add(i),O.set(i,c+1))};P.length&&P[P.length-1].disconnect(),r(t);let l=new MutationObserver(i=>{for(let d of i)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)}});l.observe(t,{childList:!0,subtree:!0});let s={observe(){l.observe(t,{childList:!0,subtree:!0})},disconnect(){l.disconnect()}};return P.push(s),()=>{l.disconnect();for(let i of n){let d=O.get(i);d===1?(i.removeAttribute("aria-hidden"),O.delete(i)):O.set(i,d-1)}s===P[P.length-1]?(P.pop(),P.length&&P[P.length-1].observe()):P.splice(P.indexOf(s),1)}}const Ae=w.default.createContext(null);function io(e){let t=Fe(),{portalContainer:o=t?null:document.body,isExiting:n}=e,[r,a]=f.useState(!1),l=f.useMemo(()=>({contain:r,setContain:a}),[r,a]);if(!o)return null;let s=e.children;return e.disableFocusManagement||(s=w.default.createElement(Vt,{restoreFocus:!0,contain:r&&!n},s)),s=w.default.createElement(Ae.Provider,{value:l},w.default.createElement(Lt,null,s)),Je.default.createPortal(s,o)}function Ie(){let e=f.useContext(Ae),t=e==null?void 0:e.setContain;E(()=>{t==null||t(!0)},[t])}function so(e,t,o){let{overlayProps:n,underlayProps:r}=eo({...e,isOpen:t.isOpen,onClose:t.close},o);return no({isDisabled:!t.isOpen}),Ie(),f.useEffect(()=>{if(t.isOpen)return lo([o.current])},[t.isOpen,o]),{modalProps:pt(n),underlayProps:r}}function uo(e,t){let{role:o="dialog"}=e,n=mt();n=e["aria-label"]?void 0:n;let r=f.useRef(!1);return f.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){ne(t.current);let a=setTimeout(()=>{document.activeElement===t.current&&(r.current=!0,t.current.blur(),ne(t.current),r.current=!1)},500);return()=>{clearTimeout(a)}}},[t]),Ie(),{dialogProps:{...ht(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||n,onBlur:a=>{r.current&&a.stopPropagation()}},titleProps:{id:n}}}function co(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function ke(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 Te(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?ke(Object(o),!0).forEach(function(n){co(e,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):ke(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})}return e}var mo=(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},We=e=>t=>{var o=e.defaultClassName,n=Te(Te({},e.defaultVariants),t);for(var r in n){var a,l=(a=n[r])!==null&&a!==void 0?a:e.defaultVariants[r];if(l!=null){var s=l;typeof s=="boolean"&&(s=s===!0?"true":"false");var i=e.variantClassNames[r][s];i&&(o+=" "+i)}}for(var[d,c]of e.compoundVariants)mo(d,n,e.defaultVariants)&&(o+=" "+c);return o},fo="_3moto2o",po="_3moto2q",go="_3moto2r",ze="_3moto2p",bo=We({defaultClassName:"_3moto20",variantClassNames:{kind:{informational:"_3moto21",delete:"_3moto22",failure:"_3moto23",success:"_3moto24",warning:"_3moto25",successWithFailures:"_3moto26",form:"_3moto27"},size:{sm:"_3moto28",md:"_3moto29",lg:"_3moto2a",xl:"_3moto2b"},fullHeight:{true:"_3moto2c",false:"_3moto2d"}},defaultVariants:{},compoundVariants:[]}),vo="_3moto2n",$o=We({defaultClassName:"_3moto2e",variantClassNames:{kind:{form:"_3moto2f",delete:"_3moto2g",failure:"_3moto2h",informational:"_3moto2i",success:"_3moto2j",warning:"_3moto2k",successWithFailures:"_3moto2l"}},defaultVariants:{},compoundVariants:[]}),ho="_3moto2m",wo="_3moto2s";function ue({children:e,className:t="",...o}){return u.createElement("div",{className:y.cl(ze,t),...o},e)}y.Metadata.set(ue,{name:"ModalFooter"});const ae=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function Eo({children:e,className:t,"data-testid":o,kind:n="informational",onBlur:r,onFocus:a,overlayProps:l,size:s="sm",state:i,title:d,dismissible:c,dismissable:p=!0,onClose:m,fullHeight:b=!1,...g}){const k=c!=null?c:p,G=u.useRef(null),{modalProps:Y,underlayProps:qe}=so({isDismissable:k,isKeyboardDismissDisabled:!k,...g},i,G),{dialogProps:X,titleProps:_e}=uo(g,G),Ve=y.combineEventHandlers(Y.onFocus,X.onFocus,a),He=y.combineEventHandlers(Y.onBlur,X.onBlur,r),{t:Ke}=u.useContext(y.I18nContext),je=y.useChildTestIdAttrBuilder({"data-testid":o}),[J,Ue]=y.selectChildren(e,[{type:ue}]);function me(){m&&typeof m=="function"&&m(),i.close()}const fe=function(){return k?u.createElement(ge.Button,{"aria-label":"Close",onClick:me,kind:"icon",icon:"x",className:po}):null},Ge=y.modChildren(Ue,pe=>pe.type===fe?[{className:y.cl(pe.props.classname,go)}]:[]);return u.createElement(io,null,u.createElement("div",{className:wo,...qe,...g},u.createElement("div",{...Y,...X,...l,onFocus:Ve,onBlur:He,...je("dialog"),ref:G,className:y.cl(bo({kind:n,size:s,fullHeight:b}),t)},u.createElement("div",{..._e,className:$o({kind:n})},n&&u.createElement(y.Icon,{icon:ae[n]||ae.informational,className:vo}),u.createElement("div",{className:ho},y.contentOf(d,i.close)),u.createElement(fe,null)),u.createElement("div",{className:fo},y.contentOf(Ge,i.close)),J&&J.length>0?u.createElement(u.Fragment,null,y.contentOf(J,i.close)):u.createElement("div",{className:ze},u.createElement(ge.Button,{kind:"key",onClick:me},Ke("design-system:modal.defaultButtonLabel"))))))}function ce(e){return e.state.isOpen?u.createElement(Eo,{...e},e.children):u.createElement(u.Fragment,null)}y.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 Mo(e){let[t,o]=Qe(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const n=f.useCallback(()=>{o(!0)},[o]),r=f.useCallback(()=>{o(!1)},[o]),a=f.useCallback(()=>{o(!t)},[o,t]);return{isOpen:t,setOpen:o,open:n,close:r,toggle:a}}function yo(e={}){const t=Mo(e),o=f.useRef(null),{triggerProps:n,overlayProps:r}=to({type:"dialog"},t,o),{onPress:a,...l}=n;return{triggerProps:{...l,onClick:a,ref:o},modalState:t,modalProps:{overlayProps:r,state:t}}}const Po={description:()=>u.createElement("p",null,"Modals are overlays on a page that focus a user\u2019s 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})=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Use a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When the user needs to confirm a basic decision, such as deleting a record."),u.createElement("li",null,"When important information needs to be displayed to the user before continuing."),u.createElement("li",null,"When a simple selection, such as a single form input, is required before proceeding.")),u.createElement("h5",null,"Avoid a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When a complex form is required. Use a ",u.createElement(e,{to:"focused-task"},"Focused Task View")," instead."),u.createElement("li",null,"When sharing non-critical or tertiary information. Use a ",u.createElement(e,{to:"growlers"},"Growler")," instead.")))},implementation:{label:"Close Button",description:()=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Close Button and Modal dismissiability"),u.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."),u.createElement("p",null,"The close button is included by default and omitted when the prop ",u.createElement("code",null,"dismissable")," is set to ",u.createElement("strong",null,"false"),"."),u.createElement("p",null,"Setting the ",u.createElement("code",null,"dismissable")," prop to false also prevents dismissing the modal by clicking outside of the modal or by using the"," ",u.createElement("strong",null,"escape")," key.")),examples:{basic:{react:v.code`
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const P=require("@sps-woodland/core"),he=require("@sps-woodland/buttons"),m=require("react"),tt=require("react-dom"),v=require("@spscommerce/utils"),Fe=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function ot(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const w=Fe(m),u=ot(m),rt=Fe(tt);function nt(e,t,o){let[r,n]=m.useState(e||t),l=m.useRef(e!==void 0),a=e!==void 0;m.useEffect(()=>{let d=l.current;d!==a&&console.warn(`WARN: A component changed from ${d?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}.`),l.current=a},[a]);let s=a?e:r,c=m.useCallback((d,...i)=>{let p=(f,...b)=>{o&&(Object.is(s,f)||o(f,...b)),a||(s=f)};typeof d=="function"?(console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"),n((b,...g)=>{let T=d(a?s:b,...g);return p(T,...i),a?b:T})):(a||n(d),p(d,...i))},[a,s,o]);return[s,c]}const V={prefix:String(Math.round(Math.random()*1e10)),current:0},Le=w.default.createContext(V),at=w.default.createContext(!1);let lt=Boolean(typeof window<"u"&&window.document&&window.document.createElement),oe=new WeakMap;function it(e=!1){let t=m.useContext(Le),o=m.useRef(null);if(o.current===null&&!e){var r,n;let l=(n=w.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||n===void 0||(r=n.ReactCurrentOwner)===null||r===void 0?void 0:r.current;if(l){let a=oe.get(l);a==null?oe.set(l,{id:t.current,state:l.memoizedState}):l.memoizedState!==a.state&&(t.current=a.id,oe.delete(l))}o.current=++t.current}return o.current}function st(e){let t=m.useContext(Le);t===V&&!lt&&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=it(!!e),r=t===V&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${r}-${o}`}function dt(e){let t=w.default.useId(),[o]=m.useState(Ce()),r=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${V.prefix}`;return e||`${r}-${t}`}const ut=typeof w.default.useId=="function"?dt:st;function ct(){return!1}function mt(){return!0}function ft(e){return()=>{}}function Ce(){return typeof w.default.useSyncExternalStore=="function"?w.default.useSyncExternalStore(ft,ct,mt):m.useContext(at)}function Be(e){var t,o,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(o=Be(e[t]))&&(r&&(r+=" "),r+=o)}else for(o in e)e[o]&&(r&&(r+=" "),r+=o);return r}function pt(){for(var e,t,o=0,r="",n=arguments.length;o<n;o++)(e=arguments[o])&&(t=Be(e))&&(r&&(r+=" "),r+=t);return r}const E=typeof document<"u"?w.default.useLayoutEffect:()=>{};function I(e){const t=m.useRef(null);return E(()=>{t.current=e},[e]),m.useCallback((...o)=>{const r=t.current;return r==null?void 0:r(...o)},[])}function gt(e){let[t,o]=m.useState(e),r=m.useRef(null),n=I(()=>{if(!r.current)return;let a=r.current.next();if(a.done){r.current=null;return}t===a.value?n():o(a.value)});E(()=>{r.current&&n()});let l=I(a=>{r.current=a(t),n()});return[t,l]}let bt=Boolean(typeof window<"u"&&window.document&&window.document.createElement),j=new Map;function Ne(e){let[t,o]=m.useState(e),r=m.useRef(null),n=ut(t),l=m.useCallback(a=>{r.current=a},[]);return bt&&j.set(n,l),E(()=>{let a=n;return()=>{j.delete(a)}},[n]),m.useEffect(()=>{let a=r.current;a&&(r.current=null,o(a))}),n}function vt(e,t){if(e===t)return e;let o=j.get(e);if(o)return o(t),t;let r=j.get(t);return r?(r(e),e):t}function $t(e=[]){let t=Ne(),[o,r]=gt(t),n=m.useCallback(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return E(n,[t,n,...e]),o}function K(...e){return(...t)=>{for(let o of e)typeof o=="function"&&o(...t)}}const M=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},U=e=>e&&"window"in e&&e.window===e?e:M(e).defaultView||window;function ht(...e){let t={...e[0]};for(let o=1;o<e.length;o++){let r=e[o];for(let n in r){let l=t[n],a=r[n];typeof l=="function"&&typeof a=="function"&&n[0]==="o"&&n[1]==="n"&&n.charCodeAt(2)>=65&&n.charCodeAt(2)<=90?t[n]=K(l,a):(n==="className"||n==="UNSAFE_className")&&typeof l=="string"&&typeof a=="string"?t[n]=pt(l,a):n==="id"&&l&&a?t.id=vt(l,a):t[n]=a!==void 0?a:l}}return t}const wt=new Set(["id"]),Et=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),Mt=new Set(["href","target","rel","download","ping","referrerPolicy"]),yt=/^(data-.*)$/;function Pt(e,t={}){let{labelable:o,isLink:r,propNames:n}=t,l={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(wt.has(a)||o&&Et.has(a)||r&&Mt.has(a)||(n==null?void 0:n.has(a))||yt.test(a))&&(l[a]=e[a]);return l}function we(e){if(kt())e.focus({preventScroll:!0});else{let t=xt(e);e.focus(),Tt(t)}}let q=null;function kt(){if(q==null){q=!1;try{document.createElement("div").focus({get preventScroll(){return q=!0,!0}})}catch{}}return q}function xt(e){let t=e.parentNode,o=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&o.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&o.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),o}function Tt(e){for(let{element:t,scrollTop:o,scrollLeft:r}of e)t.scrollTop=o,t.scrollLeft=r}function St(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(o=>e.test(o.brand)))||e.test(window.navigator.userAgent)}function ue(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 Oe(){return ue(/^Mac/i)}function Ft(){return ue(/^iPhone/i)}function Lt(){return ue(/^iPad/i)||Oe()&&navigator.maxTouchPoints>1}function Ct(){return Ft()||Lt()}function Bt(){return St(/Android/i)}let N=new Map,ae=new Set;function Ee(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{if(!e(r)||!r.target)return;let n=N.get(r.target);n||(n=new Set,N.set(r.target,n),r.target.addEventListener("transitioncancel",o,{once:!0})),n.add(r.propertyName)},o=r=>{if(!e(r)||!r.target)return;let n=N.get(r.target);if(!!n&&(n.delete(r.propertyName),n.size===0&&(r.target.removeEventListener("transitioncancel",o),N.delete(r.target)),N.size===0)){for(let l of ae)l();ae.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",o)}typeof document<"u"&&(document.readyState!=="loading"?Ee():document.addEventListener("DOMContentLoaded",Ee));function Nt(e){requestAnimationFrame(()=>{N.size===0?e():ae.add(e)})}function De(e,t){let o=e;for(Me(o,t)&&(o=o.parentElement);o&&!Me(o,t);)o=o.parentElement;return o||document.scrollingElement||document.documentElement}function Me(e,t){let o=window.getComputedStyle(e),r=/(auto|scroll)/.test(o.overflow+o.overflowX+o.overflowY);return r&&t&&(r=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),r}function Ot(e){return e.mozInputSource===0&&e.isTrusted?!0:Bt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const Re=w.default.createContext({register:()=>{}});Re.displayName="PressResponderContext";function Dt({children:e}){let t=m.useMemo(()=>({register:()=>{}}),[]);return w.default.createElement(Re.Provider,{value:t},e)}class Rt{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,o){this.nativeEvent=o,this.target=o.target,this.currentTarget=o.currentTarget,this.relatedTarget=o.relatedTarget,this.bubbles=o.bubbles,this.cancelable=o.cancelable,this.defaultPrevented=o.defaultPrevented,this.eventPhase=o.eventPhase,this.isTrusted=o.isTrusted,this.timeStamp=o.timeStamp,this.type=t}}function Wt(e){let t=m.useRef({isFocused:!1,observer:null});E(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let o=I(r=>{e==null||e(r)});return m.useCallback(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let n=r.target,l=a=>{t.current.isFocused=!1,n.disabled&&o(new Rt("blur",a)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};n.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&n.disabled){var a;(a=t.current.observer)===null||a===void 0||a.disconnect();let s=n===document.activeElement?null:document.activeElement;n.dispatchEvent(new FocusEvent("blur",{relatedTarget:s})),n.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:s}))}}),t.current.observer.observe(n,{attributes:!0,attributeFilter:["disabled"]})}},[o])}let z=null,At=new Set,A=new Map,B=!1,le=!1;function ce(e,t){for(let o of At)o(e,t)}function It(e){return!(e.metaKey||!Oe()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function G(e){B=!0,It(e)&&(z="keyboard",ce("keyboard",e))}function x(e){z="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(B=!0,ce("pointer",e))}function We(e){Ot(e)&&(B=!0,z="virtual")}function Ae(e){e.target===window||e.target===document||(!B&&!le&&(z="virtual",ce("virtual",e)),B=!1,le=!1)}function Ie(){B=!1,le=!0}function ye(e){if(typeof window>"u"||A.get(U(e)))return;const t=U(e),o=M(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){B=!0,r.apply(this,arguments)},o.addEventListener("keydown",G,!0),o.addEventListener("keyup",G,!0),o.addEventListener("click",We,!0),t.addEventListener("focus",Ae,!0),t.addEventListener("blur",Ie,!1),typeof PointerEvent<"u"?(o.addEventListener("pointerdown",x,!0),o.addEventListener("pointermove",x,!0),o.addEventListener("pointerup",x,!0)):(o.addEventListener("mousedown",x,!0),o.addEventListener("mousemove",x,!0),o.addEventListener("mouseup",x,!0)),t.addEventListener("beforeunload",()=>{ze(e)},{once:!0}),A.set(t,{focus:r})}const ze=(e,t)=>{const o=U(e),r=M(e);t&&r.removeEventListener("DOMContentLoaded",t),A.has(o)&&(o.HTMLElement.prototype.focus=A.get(o).focus,r.removeEventListener("keydown",G,!0),r.removeEventListener("keyup",G,!0),r.removeEventListener("click",We,!0),o.removeEventListener("focus",Ae,!0),o.removeEventListener("blur",Ie,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",x,!0),r.removeEventListener("pointermove",x,!0),r.removeEventListener("pointerup",x,!0)):(r.removeEventListener("mousedown",x,!0),r.removeEventListener("mousemove",x,!0),r.removeEventListener("mouseup",x,!0)),A.delete(o))};function zt(e){const t=M(e);let o;return t.readyState!=="loading"?ye(e):(o=()=>{ye(e)},t.addEventListener("DOMContentLoaded",o)),()=>ze(e,o)}typeof document<"u"&&zt();function qt(){return z}function _t(e){let{isDisabled:t,onBlurWithin:o,onFocusWithin:r,onFocusWithinChange:n}=e,l=m.useRef({isFocusWithin:!1}),a=m.useCallback(d=>{l.current.isFocusWithin&&!d.currentTarget.contains(d.relatedTarget)&&(l.current.isFocusWithin=!1,o&&o(d),n&&n(!1))},[o,n,l]),s=Wt(a),c=m.useCallback(d=>{!l.current.isFocusWithin&&document.activeElement===d.target&&(r&&r(d),n&&n(!0),l.current.isFocusWithin=!0,s(d))},[r,n,s]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:c,onBlur:a}}}function Ht(e){let{ref:t,onInteractOutside:o,isDisabled:r,onInteractOutsideStart:n}=e,l=m.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=I(c=>{o&&_(c,t)&&(n&&n(c),l.current.isPointerDown=!0)}),s=I(c=>{o&&o(c)});m.useEffect(()=>{let c=l.current;if(r)return;const d=t.current,i=M(d);if(typeof PointerEvent<"u"){let p=f=>{c.isPointerDown&&_(f,t)&&s(f),c.isPointerDown=!1};return i.addEventListener("pointerdown",a,!0),i.addEventListener("pointerup",p,!0),()=>{i.removeEventListener("pointerdown",a,!0),i.removeEventListener("pointerup",p,!0)}}else{let p=b=>{c.ignoreEmulatedMouseEvents?c.ignoreEmulatedMouseEvents=!1:c.isPointerDown&&_(b,t)&&s(b),c.isPointerDown=!1},f=b=>{c.ignoreEmulatedMouseEvents=!0,c.isPointerDown&&_(b,t)&&s(b),c.isPointerDown=!1};return i.addEventListener("mousedown",a,!0),i.addEventListener("mouseup",p,!0),i.addEventListener("touchstart",a,!0),i.addEventListener("touchend",f,!0),()=>{i.removeEventListener("mousedown",a,!0),i.removeEventListener("mouseup",p,!0),i.removeEventListener("touchstart",a,!0),i.removeEventListener("touchend",f,!0)}}},[t,r,a,s])}function _(e,t){if(e.button>0)return!1;if(e.target){const o=e.target.ownerDocument;if(!o||!o.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function ie(e){const t=M(e);if(qt()==="virtual"){let o=t.activeElement;Nt(()=>{t.activeElement===o&&e.isConnected&&we(e)})}else we(e)}function Vt(e){const t=U(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:o,visibility:r}=e.style,n=o!=="none"&&r!=="hidden"&&r!=="collapse";if(n){const{getComputedStyle:l}=e.ownerDocument.defaultView;let{display:a,visibility:s}=l(e);n=a!=="none"&&s!=="hidden"&&s!=="collapse"}return n}function jt(e,t){return!e.hasAttribute("hidden")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function qe(e,t){return e.nodeName!=="#comment"&&Vt(e)&&jt(e,t)&&(!e.parentElement||qe(e.parentElement,e))}const Pe=w.default.createContext(null);let $=null;function Kt(e){let{children:t,contain:o,restoreFocus:r,autoFocus:n}=e,l=m.useRef(null),a=m.useRef(null),s=m.useRef([]),{parentNode:c}=m.useContext(Pe)||{},d=m.useMemo(()=>new se({scopeRef:s}),[s]);E(()=>{let f=c||h.root;if(h.getTreeNode(f.scopeRef)&&$&&!J($,f.scopeRef)){let b=h.getTreeNode($);b&&(f=b)}f.addChild(d),h.addNode(d)},[d,c]),E(()=>{let f=h.getTreeNode(s);f&&(f.contain=!!o)},[o]),E(()=>{var f;let b=(f=l.current)===null||f===void 0?void 0:f.nextSibling,g=[];for(;b&&b!==a.current;)g.push(b),b=b.nextSibling;s.current=g},[t]),Zt(s,r,o),Jt(s,o),to(s,r,o),Qt(s,n),m.useEffect(()=>{const f=M(s.current?s.current[0]:void 0).activeElement;let b=null;if(y(f,s.current)){for(let g of h.traverse())g.scopeRef&&y(f,g.scopeRef.current)&&(b=g);b===h.getTreeNode(s)&&($=b.scopeRef)}},[s]),E(()=>()=>{var f,b,g;let T=(g=(b=h.getTreeNode(s))===null||b===void 0||(f=b.parent)===null||f===void 0?void 0:f.scopeRef)!==null&&g!==void 0?g:null;(s===$||J(s,$))&&(!T||h.getTreeNode(T))&&($=T),h.removeTreeNode(s)},[s]);let i=m.useMemo(()=>Ut(s),[]),p=m.useMemo(()=>({focusManager:i,parentNode:d}),[d,i]);return w.default.createElement(Pe.Provider,{value:p},w.default.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:l}),t,w.default.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function Ut(e){return{focusNext(t={}){let o=e.current,{from:r,tabbable:n,wrap:l,accept:a}=t,s=r||M(o[0]).activeElement,c=o[0].previousElementSibling,d=C(o),i=L(d,{tabbable:n,accept:a},o);i.currentNode=y(s,o)?s:c;let p=i.nextNode();return!p&&l&&(i.currentNode=c,p=i.nextNode()),p&&F(p,!0),p},focusPrevious(t={}){let o=e.current,{from:r,tabbable:n,wrap:l,accept:a}=t,s=r||M(o[0]).activeElement,c=o[o.length-1].nextElementSibling,d=C(o),i=L(d,{tabbable:n,accept:a},o);i.currentNode=y(s,o)?s:c;let p=i.previousNode();return!p&&l&&(i.currentNode=c,p=i.previousNode()),p&&F(p,!0),p},focusFirst(t={}){let o=e.current,{tabbable:r,accept:n}=t,l=C(o),a=L(l,{tabbable:r,accept:n},o);a.currentNode=o[0].previousElementSibling;let s=a.nextNode();return s&&F(s,!0),s},focusLast(t={}){let o=e.current,{tabbable:r,accept:n}=t,l=C(o),a=L(l,{tabbable:r,accept:n},o);a.currentNode=o[o.length-1].nextElementSibling;let s=a.previousNode();return s&&F(s,!0),s}}}const me=["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]"],Gt=me.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";me.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const Xt=me.join(':not([hidden]):not([tabindex="-1"]),');function C(e){return e[0].parentElement}function W(e){let t=h.getTreeNode($);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function Jt(e,t){let o=m.useRef(),r=m.useRef();E(()=>{let n=e.current;if(!t){r.current&&(cancelAnimationFrame(r.current),r.current=void 0);return}const l=M(n?n[0]:void 0);let a=d=>{if(d.key!=="Tab"||d.altKey||d.ctrlKey||d.metaKey||!W(e))return;let i=l.activeElement,p=e.current;if(!p||!y(i,p))return;let f=C(p),b=L(f,{tabbable:!0},p);if(!i)return;b.currentNode=i;let g=d.shiftKey?b.previousNode():b.nextNode();g||(b.currentNode=d.shiftKey?p[p.length-1].nextElementSibling:p[0].previousElementSibling,g=d.shiftKey?b.previousNode():b.nextNode()),d.preventDefault(),g&&F(g,!0)},s=d=>{(!$||J($,e))&&y(d.target,e.current)?($=e,o.current=d.target):W(e)&&!X(d.target,e)?o.current?o.current.focus():$&&$.current&&Y($.current):W(e)&&(o.current=d.target)},c=d=>{r.current&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{if(l.activeElement&&W(e)&&!X(l.activeElement,e))if($=e,l.body.contains(d.target)){var i;o.current=d.target,(i=o.current)===null||i===void 0||i.focus()}else $.current&&Y($.current)})};return l.addEventListener("keydown",a,!1),l.addEventListener("focusin",s,!1),n==null||n.forEach(d=>d.addEventListener("focusin",s,!1)),n==null||n.forEach(d=>d.addEventListener("focusout",c,!1)),()=>{l.removeEventListener("keydown",a,!1),l.removeEventListener("focusin",s,!1),n==null||n.forEach(d=>d.removeEventListener("focusin",s,!1)),n==null||n.forEach(d=>d.removeEventListener("focusout",c,!1))}},[e,t]),E(()=>()=>{r.current&&cancelAnimationFrame(r.current)},[r])}function _e(e){return X(e)}function y(e,t){return!e||!t?!1:t.some(o=>o.contains(e))}function X(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:o}of h.traverse(h.getTreeNode(t)))if(o&&y(e,o.current))return!0;return!1}function Yt(e){return X(e,$)}function J(e,t){var o;let r=(o=h.getTreeNode(t))===null||o===void 0?void 0:o.parent;for(;r;){if(r.scopeRef===e)return!0;r=r.parent}return!1}function F(e,t=!1){if(e!=null&&!t)try{ie(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function Y(e,t=!0){let o=e[0].previousElementSibling,r=C(e),n=L(r,{tabbable:t},e);n.currentNode=o;let l=n.nextNode();t&&!l&&(r=C(e),n=L(r,{tabbable:!1},e),n.currentNode=o,l=n.nextNode()),F(l)}function Qt(e,t){const o=w.default.useRef(t);m.useEffect(()=>{if(o.current){$=e;const r=M(e.current?e.current[0]:void 0);!y(r.activeElement,$.current)&&e.current&&Y(e.current)}o.current=!1},[e])}function Zt(e,t,o){E(()=>{if(t||o)return;let r=e.current;const n=M(r?r[0]:void 0);let l=a=>{let s=a.target;y(s,e.current)?$=e:_e(s)||($=null)};return n.addEventListener("focusin",l,!1),r==null||r.forEach(a=>a.addEventListener("focusin",l,!1)),()=>{n.removeEventListener("focusin",l,!1),r==null||r.forEach(a=>a.removeEventListener("focusin",l,!1))}},[e,t,o])}function eo(e){let t=h.getTreeNode($);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return(t==null?void 0:t.scopeRef)===e}function to(e,t,o){const r=m.useRef(typeof document<"u"?M(e.current?e.current[0]:void 0).activeElement:null);E(()=>{let n=e.current;const l=M(n?n[0]:void 0);if(!t||o)return;let a=()=>{(!$||J($,e))&&y(l.activeElement,e.current)&&($=e)};return l.addEventListener("focusin",a,!1),n==null||n.forEach(s=>s.addEventListener("focusin",a,!1)),()=>{l.removeEventListener("focusin",a,!1),n==null||n.forEach(s=>s.removeEventListener("focusin",a,!1))}},[e,o]),E(()=>{const n=M(e.current?e.current[0]:void 0);if(!t)return;let l=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!W(e))return;let s=n.activeElement;if(!y(s,e.current))return;let c=h.getTreeNode(e);if(!c)return;let d=c.nodeToRestore,i=L(n.body,{tabbable:!0});i.currentNode=s;let p=a.shiftKey?i.previousNode():i.nextNode();if((!d||!n.body.contains(d)||d===n.body)&&(d=void 0,c.nodeToRestore=void 0),(!p||!y(p,e.current))&&d){i.currentNode=d;do p=a.shiftKey?i.previousNode():i.nextNode();while(y(p,e.current));a.preventDefault(),a.stopPropagation(),p?F(p,!0):_e(d)?F(d,!0):s.blur()}};return o||n.addEventListener("keydown",l,!0),()=>{o||n.removeEventListener("keydown",l,!0)}},[e,t,o]),E(()=>{const n=M(e.current?e.current[0]:void 0);if(!t)return;let l=h.getTreeNode(e);if(!!l){var a;return l.nodeToRestore=(a=r.current)!==null&&a!==void 0?a:void 0,()=>{let s=h.getTreeNode(e);if(!s)return;let c=s.nodeToRestore;if(t&&c&&(y(n.activeElement,e.current)||n.activeElement===n.body&&eo(e))){let d=h.clone();requestAnimationFrame(()=>{if(n.activeElement===n.body){let i=d.getTreeNode(e);for(;i;){if(i.nodeToRestore&&i.nodeToRestore.isConnected){F(i.nodeToRestore);return}i=i.parent}for(i=d.getTreeNode(e);i;){if(i.scopeRef&&i.scopeRef.current&&h.getTreeNode(i.scopeRef)){Y(i.scopeRef.current,!0);return}i=i.parent}}})}}}},[e,t])}function L(e,t,o){let r=t!=null&&t.tabbable?Xt:Gt,n=M(e).createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(l){var a;return!(t==null||(a=t.from)===null||a===void 0)&&a.contains(l)?NodeFilter.FILTER_REJECT:l.matches(r)&&qe(l)&&(!o||y(l,o))&&(!(t!=null&&t.accept)||t.accept(l))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t!=null&&t.from&&(n.currentNode=t.from),n}class fe{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,o,r){let n=this.fastMap.get(o!=null?o:null);if(!n)return;let l=new se({scopeRef:t});n.addChild(l),l.parent=n,this.fastMap.set(t,l),r&&(l.nodeToRestore=r)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let o=this.fastMap.get(t);if(!o)return;let r=o.parent;for(let l of this.traverse())l!==o&&o.nodeToRestore&&l.nodeToRestore&&o.scopeRef&&o.scopeRef.current&&y(l.nodeToRestore,o.scopeRef.current)&&(l.nodeToRestore=o.nodeToRestore);let n=o.children;r&&(r.removeChild(o),n.size>0&&n.forEach(l=>r&&r.addChild(l))),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 fe;var r;for(let n of this.traverse())o.addTreeNode(n.scopeRef,(r=(t=n.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&r!==void 0?r:null,n.nodeToRestore);return o}constructor(){this.fastMap=new Map,this.root=new se({scopeRef:null}),this.fastMap.set(null,this.root)}}class se{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 h=new fe;const oo=new WeakMap,S=[];function ro(e,t){let{onClose:o,shouldCloseOnBlur:r,isOpen:n,isDismissable:l=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:s}=e;m.useEffect(()=>(n&&S.push(t),()=>{let g=S.indexOf(t);g>=0&&S.splice(g,1)}),[n,t]);let c=()=>{S[S.length-1]===t&&o&&o()},d=g=>{(!s||s(g.target))&&S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault())},i=g=>{(!s||s(g.target))&&(S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault()),c())},p=g=>{g.key==="Escape"&&!a&&(g.stopPropagation(),g.preventDefault(),c())};Ht({ref:t,onInteractOutside:l&&n?i:null,onInteractOutsideStart:d});let{focusWithinProps:f}=_t({isDisabled:!r,onBlurWithin:g=>{!g.relatedTarget||Yt(g.relatedTarget)||(!s||s(g.relatedTarget))&&o()}}),b=g=>{g.target===g.currentTarget&&g.preventDefault()};return{overlayProps:{onKeyDown:p,...f},underlayProps:{onPointerDown:b}}}function no(e,t,o){let{type:r}=e,{isOpen:n}=t;m.useEffect(()=>{o&&o.current&&oo.set(o.current,t.close)});let l;r==="menu"?l=!0:r==="listbox"&&(l="listbox");let a=Ne();return{triggerProps:{"aria-haspopup":l,"aria-expanded":n,"aria-controls":n?a:null,onPress:t.toggle},overlayProps:{id:a}}}const re=typeof document<"u"&&window.visualViewport,ao=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let H=0,ne;function lo(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return H++,H===1&&(Ct()?ne=so():ne=io()),()=>{H--,H===0&&ne()}},[t])}function io(){return K(O(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),O(document.documentElement,"overflow","hidden"))}function so(){let e,t,o=d=>{e=De(d.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=O(e,"overscrollBehavior","contain"))},r=d=>{if(!e||e===document.documentElement||e===document.body){d.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&d.preventDefault()},n=d=>{let i=d.target;xe(i)&&i!==document.activeElement&&(d.preventDefault(),s(),i.style.transform="translateY(-2000px)",i.focus(),requestAnimationFrame(()=>{i.style.transform=""})),t&&t()},l=d=>{let i=d.target;xe(i)&&(s(),i.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{i.style.transform="",re&&(re.height<window.innerHeight?requestAnimationFrame(()=>{ke(i)}):re.addEventListener("resize",()=>ke(i),{once:!0}))}))},a=null,s=()=>{if(a)return;let d=()=>{window.scrollTo(0,0)},i=window.pageXOffset,p=window.pageYOffset;a=K(D(window,"scroll",d),O(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),O(document.documentElement,"overflow","hidden"),O(document.body,"marginTop",`-${p}px`),()=>{window.scrollTo(i,p)}),window.scrollTo(0,0)},c=K(D(document,"touchstart",o,{passive:!1,capture:!0}),D(document,"touchmove",r,{passive:!1,capture:!0}),D(document,"touchend",n,{passive:!1,capture:!0}),D(document,"focus",l,!0));return()=>{t==null||t(),a==null||a(),c()}}function O(e,t,o){let r=e.style[t];return e.style[t]=o,()=>{e.style[t]=r}}function D(e,t,o,r){return e.addEventListener(t,o,r),()=>{e.removeEventListener(t,o,r)}}function ke(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let o=De(e);if(o!==document.documentElement&&o!==document.body&&o!==e){let r=o.getBoundingClientRect().top,n=e.getBoundingClientRect().top;n>r+e.clientHeight&&(o.scrollTop+=n-r)}e=o.parentElement}}function xe(e){return e instanceof HTMLInputElement&&!ao.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let R=new WeakMap,k=[];function uo(e,t=document.body){let o=new Set(e),r=new Set,n=c=>{for(let f of c.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))o.add(f);let d=f=>{if(o.has(f)||r.has(f.parentElement)&&f.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let b of o)if(f.contains(b))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},i=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,{acceptNode:d}),p=d(c);if(p===NodeFilter.FILTER_ACCEPT&&l(c),p!==NodeFilter.FILTER_REJECT){let f=i.nextNode();for(;f!=null;)l(f),f=i.nextNode()}},l=c=>{var d;let i=(d=R.get(c))!==null&&d!==void 0?d:0;c.getAttribute("aria-hidden")==="true"&&i===0||(i===0&&c.setAttribute("aria-hidden","true"),r.add(c),R.set(c,i+1))};k.length&&k[k.length-1].disconnect(),n(t);let a=new MutationObserver(c=>{for(let d of c)if(!(d.type!=="childList"||d.addedNodes.length===0)&&![...o,...r].some(i=>i.contains(d.target))){for(let i of d.removedNodes)i instanceof Element&&(o.delete(i),r.delete(i));for(let i of d.addedNodes)(i instanceof HTMLElement||i instanceof SVGElement)&&(i.dataset.liveAnnouncer==="true"||i.dataset.reactAriaTopLayer==="true")?o.add(i):i instanceof Element&&n(i)}});a.observe(t,{childList:!0,subtree:!0});let s={observe(){a.observe(t,{childList:!0,subtree:!0})},disconnect(){a.disconnect()}};return k.push(s),()=>{a.disconnect();for(let c of r){let d=R.get(c);d===1?(c.removeAttribute("aria-hidden"),R.delete(c)):R.set(c,d-1)}s===k[k.length-1]?(k.pop(),k.length&&k[k.length-1].observe()):k.splice(k.indexOf(s),1)}}const He=w.default.createContext(null);function co(e){let t=Ce(),{portalContainer:o=t?null:document.body,isExiting:r}=e,[n,l]=m.useState(!1),a=m.useMemo(()=>({contain:n,setContain:l}),[n,l]);if(!o)return null;let s=e.children;return e.disableFocusManagement||(s=w.default.createElement(Kt,{restoreFocus:!0,contain:n&&!r},s)),s=w.default.createElement(He.Provider,{value:a},w.default.createElement(Dt,null,s)),rt.default.createPortal(s,o)}function Ve(){let e=m.useContext(He),t=e==null?void 0:e.setContain;E(()=>{t==null||t(!0)},[t])}function mo(e,t,o){let{overlayProps:r,underlayProps:n}=ro({...e,isOpen:t.isOpen,onClose:t.close},o);return lo({isDisabled:!t.isOpen}),Ve(),m.useEffect(()=>{if(t.isOpen)return uo([o.current])},[t.isOpen,o]),{modalProps:ht(r),underlayProps:n}}function fo(e,t){let{role:o="dialog"}=e,r=$t();r=e["aria-label"]?void 0:r;let n=m.useRef(!1);return m.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){ie(t.current);let l=setTimeout(()=>{document.activeElement===t.current&&(n.current=!0,t.current&&(t.current.blur(),ie(t.current)),n.current=!1)},500);return()=>{clearTimeout(l)}}},[t]),Ve(),{dialogProps:{...Pt(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||r,onBlur:l=>{n.current&&l.stopPropagation()}},titleProps:{id:r}}}function po(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function Te(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),o.push.apply(o,r)}return o}function Se(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?Te(Object(o),!0).forEach(function(r){po(e,r,o[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Te(Object(o)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(o,r))})}return e}var go=(e,t,o)=>{for(var r of Object.keys(e)){var n;if(e[r]!==((n=t[r])!==null&&n!==void 0?n:o[r]))return!1}return!0},je=e=>t=>{var o=e.defaultClassName,r=Se(Se({},e.defaultVariants),t);for(var n in r){var l,a=(l=r[n])!==null&&l!==void 0?l:e.defaultVariants[n];if(a!=null){var s=a;typeof s=="boolean"&&(s=s===!0?"true":"false");var c=e.variantClassNames[n][s];c&&(o+=" "+c)}}for(var[d,i]of e.compoundVariants)go(d,r,e.defaultVariants)&&(o+=" "+i);return o},bo="_3moto2o",vo="_3moto2q",$o="_3moto2r",Ke="_3moto2p",ho=je({defaultClassName:"_3moto20",variantClassNames:{kind:{informational:"_3moto21",delete:"_3moto22",failure:"_3moto23",success:"_3moto24",warning:"_3moto25",successWithFailures:"_3moto26",form:"_3moto27"},size:{sm:"_3moto28",md:"_3moto29",lg:"_3moto2a",xl:"_3moto2b"},fullHeight:{true:"_3moto2c",false:"_3moto2d"}},defaultVariants:{},compoundVariants:[]}),wo="_3moto2n",Eo=je({defaultClassName:"_3moto2e",variantClassNames:{kind:{form:"_3moto2f",delete:"_3moto2g",failure:"_3moto2h",informational:"_3moto2i",success:"_3moto2j",warning:"_3moto2k",successWithFailures:"_3moto2l"}},defaultVariants:{},compoundVariants:[]}),Mo="_3moto2m",yo="_3moto2s";function pe({children:e,className:t="",...o}){return u.createElement("div",{className:P.cl(Ke,t),...o},e)}P.Metadata.set(pe,{name:"ModalFooter"});const de=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function Po({children:e,className:t,"data-testid":o,kind:r="informational",onBlur:n,onFocus:l,overlayProps:a,size:s="sm",state:c,title:d,dismissible:i,dismissable:p=!0,onClose:f,fullHeight:b=!1,...g}){const T=i!=null?i:p,Q=u.useRef(null),{modalProps:Z,underlayProps:Ue}=mo({isDismissable:T,isKeyboardDismissDisabled:!T,...g},c,Q),{dialogProps:ee,titleProps:Ge}=fo(g,Q),Xe=P.combineEventHandlers(Z.onFocus,ee.onFocus,l),Je=P.combineEventHandlers(Z.onBlur,ee.onBlur,n),{t:Ye}=u.useContext(P.I18nContext),Qe=P.useChildTestIdAttrBuilder({"data-testid":o}),[te,Ze]=P.selectChildren(e,[{type:pe}]);function be(){f&&typeof f=="function"&&f(),c.close()}const ve=function(){return T?u.createElement(he.Button,{"aria-label":"Close",onClick:be,kind:"icon",icon:"x",className:vo}):null},et=P.modChildren(Ze,$e=>$e.type===ve?[{className:P.cl($e.props.classname,$o)}]:[]);return u.createElement(co,null,u.createElement("div",{className:yo,...Ue,...g},u.createElement("div",{...Z,...ee,...a,onFocus:Xe,onBlur:Je,...Qe("dialog"),ref:Q,className:P.cl(ho({kind:r,size:s,fullHeight:b}),t)},u.createElement("div",{...Ge,className:Eo({kind:r})},r&&u.createElement(P.Icon,{icon:de[r]||de.informational,className:wo}),u.createElement("div",{className:Mo},P.contentOf(d,c.close)),u.createElement(ve,null)),u.createElement("div",{className:bo},P.contentOf(et,c.close)),te&&te.length>0?u.createElement(u.Fragment,null,P.contentOf(te,c.close)):u.createElement("div",{className:Ke},u.createElement(he.Button,{kind:"key",onClick:be},Ye("design-system:modal.defaultButtonLabel"))))))}function ge(e){return e.state.isOpen?u.createElement(Po,{...e},e.children):u.createElement(u.Fragment,null)}P.Metadata.set(ge,{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 ko(e){let[t,o]=nt(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const r=m.useCallback(()=>{o(!0)},[o]),n=m.useCallback(()=>{o(!1)},[o]),l=m.useCallback(()=>{o(!t)},[o,t]);return{isOpen:t,setOpen:o,open:r,close:n,toggle:l}}function xo(e={}){const t=ko(e),o=m.useRef(null),{triggerProps:r,overlayProps:n}=no({type:"dialog"},t,o),{onPress:l,...a}=r;return{triggerProps:{...a,onClick:l,ref:o},modalState:t,modalProps:{overlayProps:n,state:t}}}const To={description:()=>u.createElement("p",null,"Modals are overlays on a page that focus a user\u2019s 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:[ge],examples:{general:{label:"Usage",description:({NavigateTo:e})=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Use a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When the user needs to confirm a basic decision, such as deleting a record."),u.createElement("li",null,"When important information needs to be displayed to the user before continuing."),u.createElement("li",null,"When a simple selection, such as a single form input, is required before proceeding.")),u.createElement("h5",null,"Avoid a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When a complex form is required. Use a ",u.createElement(e,{to:"focused-task"},"Focused Task View")," instead."),u.createElement("li",null,"When sharing non-critical or tertiary information. Use a ",u.createElement(e,{to:"growlers"},"Growler")," instead.")))},implementation:{label:"Close Button",description:()=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Close Button and Modal dismissiability"),u.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."),u.createElement("p",null,"The close button is included by default and omitted when the prop ",u.createElement("code",null,"dismissable")," is set to ",u.createElement("strong",null,"false"),"."),u.createElement("p",null,"Setting the ",u.createElement("code",null,"dismissable")," prop to false also prevents dismissing the modal by clicking outside of the modal or by using the"," ",u.createElement("strong",null,"escape")," key.")),examples:{basic:{react:v.code`
|
|
2
2
|
import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
|
|
3
3
|
import { sprinkles } from "@sps-woodland/tokens";
|
|
4
4
|
import { Button } from "@sps-woodland/buttons";
|
|
@@ -559,4 +559,4 @@
|
|
|
559
559
|
</>
|
|
560
560
|
)
|
|
561
561
|
}
|
|
562
|
-
`}}}}},
|
|
562
|
+
`}}}}},So={Modals:To};exports.MANIFEST=So;exports.Modal=ge;exports.ModalFooter=pe;exports.ModalIcons=de;exports.useModal=xo;
|