@sps-woodland/modal 8.2.0 → 8.2.2
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 +4 -4
- package/lib/index.es.js +296 -295
- package/lib/modal/Modal.d.ts +2 -1
- package/lib/modal/useModal.d.ts +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"),fe=require("@sps-woodland/buttons"),f=require("react"),Ue=require("react-dom"),v=require("@spscommerce/utils"),ke=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function Ge(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=ke(f),u=Ge(f),Ye=ke(Ue);function Xe(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,...g)=>{o&&(Object.is(s,m)||o(m,...g)),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((g,...b)=>{let k=d(l?s:g,...b);return p(k,...c),l?g:k})):(l||r(d),p(d,...c))},[l,s,o]);return[s,i]}const _={prefix:String(Math.round(Math.random()*1e10)),current:0},Te=w.default.createContext(_),Je=w.default.createContext(!1);let Qe=Boolean(typeof window<"u"&&window.document&&window.document.createElement),X=new WeakMap;function Ze(e=!1){let t=f.useContext(Te),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=X.get(a);l==null?X.set(a,{id:t.current,state:a.memoizedState}):a.memoizedState!==l.state&&(t.current=l.id,X.delete(a))}o.current=++t.current}return o.current}function et(e){let t=f.useContext(Te);t===_&&!Qe&&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=Ze(!!e),n=t===_&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${n}-${o}`}function tt(e){let t=w.default.useId(),[o]=f.useState(xe()),n=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${_.prefix}`;return e||`${n}-${t}`}const ot=typeof w.default.useId=="function"?tt:et;function nt(){return!1}function rt(){return!0}function at(e){return()=>{}}function xe(){return typeof w.default.useSyncExternalStore=="function"?w.default.useSyncExternalStore(at,nt,rt):f.useContext(Je)}function Se(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=Se(e[t]))&&(n&&(n+=" "),n+=o);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function lt(){for(var e,t,o=0,n="";o<arguments.length;)(e=arguments[o++])&&(t=Se(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 it(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 st=Boolean(typeof window<"u"&&window.document&&window.document.createElement),V=new Map;function Fe(e){let[t,o]=f.useState(e),n=f.useRef(null),r=ot(t),a=f.useCallback(l=>{n.current=l},[]);return st&&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 dt(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 ut(e=[]){let t=Fe(),[o,n]=it(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 ct=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document};function mt(...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]=lt(a,l):r==="id"&&a&&l?t.id=dt(a,l):t[r]=l!==void 0?l:a}}return t}const ft=new Set(["id"]),pt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),gt=new Set(["href","target","rel","download","ping","referrerPolicy"]),bt=/^(data-.*)$/;function vt(e,t={}){let{labelable:o,isLink:n,propNames:r}=t,a={};for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(ft.has(l)||o&&pt.has(l)||n&>.has(l)||(r==null?void 0:r.has(l))||bt.test(l))&&(a[l]=e[l]);return a}function pe(e){if($t())e.focus({preventScroll:!0});else{let t=ht(e);e.focus(),wt(t)}}let W=null;function $t(){if(W==null){W=!1;try{var e=document.createElement("div");e.focus({get preventScroll(){return W=!0,!0}})}catch{}}return W}function ht(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 wt(e){for(let{element:t,scrollTop:o,scrollLeft:n}of e)t.scrollTop=o,t.scrollLeft=n}function Et(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 re(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 Le(){return re(/^Mac/i)}function Mt(){return re(/^iPhone/i)}function yt(){return re(/^iPad/i)||Le()&&navigator.maxTouchPoints>1}function Pt(){return Mt()||yt()}function kt(){return Et(/Android/i)}let B=new Map,Z=new Set;function ge(){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 Z)r();Z.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?ge():document.addEventListener("DOMContentLoaded",ge));function Tt(e){requestAnimationFrame(()=>{B.size===0?e():Z.add(e)})}function Ce(e){for(be(e)&&(e=e.parentElement);e&&!be(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}function be(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function xt(e){return e.mozInputSource===0&&e.isTrusted?!0:kt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const Be=w.default.createContext({register:()=>{}});Be.displayName="PressResponderContext";function St({children:e}){let t=f.useMemo(()=>({register:()=>{}}),[]);return w.default.createElement(Be.Provider,{value:t},e)}class Ft{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 Lt(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 Ft("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,Ct=new Set,ve=!1,L=!1,ee=!1;function ae(e,t){for(let o of Ct)o(e,t)}function Bt(e){return!(e.metaKey||!Le()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function $e(e){L=!0,Bt(e)&&(I="keyboard",ae("keyboard",e))}function C(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(L=!0,ae("pointer",e))}function Nt(e){xt(e)&&(L=!0,I="virtual")}function Ot(e){e.target===window||e.target===document||(!L&&!ee&&(I="virtual",ae("virtual",e)),L=!1,ee=!1)}function Dt(){L=!1,ee=!0}function he(){if(typeof window>"u"||ve)return;let e=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(){L=!0,e.apply(this,arguments)},document.addEventListener("keydown",$e,!0),document.addEventListener("keyup",$e,!0),document.addEventListener("click",Nt,!0),window.addEventListener("focus",Ot,!0),window.addEventListener("blur",Dt,!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)),ve=!0}typeof document<"u"&&(document.readyState!=="loading"?he():document.addEventListener("DOMContentLoaded",he));function Rt(){return I}function At(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=Lt(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 It(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=ct(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=g=>{i.ignoreEmulatedMouseEvents?i.ignoreEmulatedMouseEvents=!1:i.isPointerDown&&z(g,t)&&s(g),i.isPointerDown=!1},m=g=>{i.ignoreEmulatedMouseEvents=!0,i.isPointerDown&&z(g,t)&&s(g),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 te(e){if(Rt()==="virtual"){let t=document.activeElement;Tt(()=>{document.activeElement===t&&document.contains(e)&&pe(e)})}else pe(e)}function Wt(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 zt(e,t){return!e.hasAttribute("hidden")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function Ne(e,t){return e.nodeName!=="#comment"&&Wt(e)&&zt(e,t)&&(!e.parentElement||Ne(e.parentElement,e))}const we=w.default.createContext(null);let $=null;function qt(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(we)||{},d=f.useMemo(()=>new oe({scopeRef:s}),[s]);E(()=>{let m=i||h.root;if(h.getTreeNode(m.scopeRef)&&$&&!j($,m.scopeRef)){let g=h.getTreeNode($);g&&(m=g)}m.addChild(d),h.addNode(d)},[d,i]),E(()=>{let m=h.getTreeNode(s);m&&(m.contain=!!o)},[o]),E(()=>{var m;let g=(m=a.current)===null||m===void 0?void 0:m.nextSibling,b=[];for(;g&&g!==l.current;)b.push(g),g=g.nextSibling;s.current=b},[t]),Gt(s,n,o),Kt(s,o),Xt(s,n,o),Ut(s,r),f.useEffect(()=>{let m=document.activeElement,g=null;if(M(m,s.current)){for(let b of h.traverse())b.scopeRef&&M(m,b.scopeRef.current)&&(g=b);g===h.getTreeNode(s)&&($=g.scopeRef)}},[s]),E(()=>()=>{var m,g,b;let k=(b=(g=h.getTreeNode(s))===null||g===void 0||(m=g.parent)===null||m===void 0?void 0:m.scopeRef)!==null&&b!==void 0?b:null;(s===$||j(s,$))&&(!k||h.getTreeNode(k))&&($=k),h.removeTreeNode(s)},[s]);let c=f.useMemo(()=>_t(s),[]),p=f.useMemo(()=>({focusManager:c,parentNode:d}),[d,c]);return w.default.createElement(we.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 _t(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 le=["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]"],Vt=le.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";le.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const Ht=le.join(':not([hidden]):not([tabindex="-1"]),');function F(e){return e[0].parentElement}function D(e){let t=h.getTreeNode($);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function Kt(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||!D(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 g=i.shiftKey?m.previousNode():m.nextNode();g||(m.currentNode=i.shiftKey?c[c.length-1].nextElementSibling:c[0].previousElementSibling,g=i.shiftKey?m.previousNode():m.nextNode()),i.preventDefault(),g&&x(g,!0)},l=i=>{(!$||j($,e))&&M(i.target,e.current)?($=e,o.current=i.target):D(e)&&!K(i.target,e)?o.current?o.current.focus():$&&$.current&&U($.current):D(e)&&(o.current=i.target)},s=i=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{if(document.activeElement&&D(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 Oe(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 jt(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{te(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 Ut(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 Gt(e,t,o){E(()=>{if(t||o)return;let n=e.current,r=a=>{let l=a.target;M(l,e.current)?$=e:Oe(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 Yt(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 Xt(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||!D(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):Oe(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&&Yt(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?Ht:Vt,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)&&Ne(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 ie{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 oe({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 ie;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 oe({scopeRef:null}),this.fastMap.set(null,this.root)}}class oe{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 ie;const Jt=new WeakMap,T=[];function Qt(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 b=T.indexOf(t);b>=0&&T.splice(b,1)}),[r,t]);let i=()=>{T[T.length-1]===t&&o&&o()},d=b=>{(!s||s(b.target))&&T[T.length-1]===t&&(b.stopPropagation(),b.preventDefault())},c=b=>{(!s||s(b.target))&&(T[T.length-1]===t&&(b.stopPropagation(),b.preventDefault()),i())},p=b=>{b.key==="Escape"&&!l&&(b.stopPropagation(),b.preventDefault(),i())};It({ref:t,onInteractOutside:a&&r?c:null,onInteractOutsideStart:d});let{focusWithinProps:m}=At({isDisabled:!n,onBlurWithin:b=>{!b.relatedTarget||jt(b.relatedTarget)||(!s||s(b.relatedTarget))&&o()}}),g=b=>{b.target===b.currentTarget&&b.preventDefault()};return{overlayProps:{onKeyDown:p,...m},underlayProps:{onPointerDown:g}}}function Zt(e,t,o){let{type:n}=e,{isOpen:r}=t;f.useEffect(()=>{o&&o.current&&Jt.set(o.current,t.close)});let a;n==="menu"?a=!0:n==="listbox"&&(a="listbox");let l=Fe();return{triggerProps:{"aria-haspopup":a,"aria-expanded":r,"aria-controls":r?l:null,onPress:t.toggle},overlayProps:{id:l}}}const J=typeof document<"u"&&window.visualViewport,eo=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let q=0,Q;function to(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return q++,q===1&&(Pt()?Q=no():Q=oo()),()=>{q--,q===0&&Q()}},[t])}function oo(){return H(R(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),R(document.documentElement,"overflow","hidden"))}function no(){let e,t=0,o=p=>{e=Ce(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,g=e.scrollTop,b=e.scrollHeight-e.clientHeight;b!==0&&((g<=0&&m>t||g>=b&&m<t)&&p.preventDefault(),t=m)},r=p=>{let m=p.target;Me(m)&&m!==document.activeElement&&(p.preventDefault(),m.style.transform="translateY(-2000px)",m.focus(),requestAnimationFrame(()=>{m.style.transform=""}))},a=p=>{let m=p.target;Me(m)&&(m.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{m.style.transform="",J&&(J.height<window.innerHeight?requestAnimationFrame(()=>{Ee(m)}):J.addEventListener("resize",()=>Ee(m),{once:!0}))}))},l=()=>{window.scrollTo(0,0)},s=window.pageXOffset,i=window.pageYOffset,d=H(R(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),R(document.documentElement,"overflow","hidden"),R(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 R(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 Ee(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let o=Ce(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 Me(e){return e instanceof HTMLInputElement&&!eo.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let O=new WeakMap,P=[];function ro(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 g of o)if(m.contains(g))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 De=w.default.createContext(null);function ao(e){let t=xe(),{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(qt,{restoreFocus:!0,contain:r&&!n},s)),s=w.default.createElement(De.Provider,{value:l},w.default.createElement(St,null,s)),Ye.default.createPortal(s,o)}function Re(){let e=f.useContext(De),t=e==null?void 0:e.setContain;E(()=>{t==null||t(!0)},[t])}function lo(e,t,o){let{overlayProps:n,underlayProps:r}=Qt({...e,isOpen:t.isOpen,onClose:t.close},o);return to({isDisabled:!t.isOpen}),Re(),f.useEffect(()=>{if(t.isOpen)return ro([o.current])},[t.isOpen,o]),{modalProps:mt(n),underlayProps:r}}function io(e,t){let{role:o="dialog"}=e,n=ut();n=e["aria-label"]?void 0:n;let r=f.useRef(!1);return f.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){te(t.current);let a=setTimeout(()=>{document.activeElement===t.current&&(r.current=!0,t.current.blur(),te(t.current),r.current=!1)},500);return()=>{clearTimeout(a)}}},[t]),Re(),{dialogProps:{...vt(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||n,onBlur:a=>{r.current&&a.stopPropagation()}},titleProps:{id:n}}}function so(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function ye(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 Pe(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?ye(Object(o),!0).forEach(function(n){so(e,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):ye(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})}return e}var uo=(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},Ae=e=>t=>{var o=e.defaultClassName,n=Pe(Pe({},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)uo(d,n,e.defaultVariants)&&(o+=" "+c);return o},co="_3moto2o",mo="_3moto2q",fo="_3moto2r",Ie="_3moto2p",po=Ae({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:[]}),go="_3moto2n",bo=Ae({defaultClassName:"_3moto2e",variantClassNames:{kind:{form:"_3moto2f",delete:"_3moto2g",failure:"_3moto2h",informational:"_3moto2i",success:"_3moto2j",warning:"_3moto2k",successWithFailures:"_3moto2l"}},defaultVariants:{},compoundVariants:[]}),vo="_3moto2m",$o="_3moto2s";function se({children:e,className:t="",...o}){return u.createElement("div",{className:y.cl(Ie,t),...o},e)}y.Metadata.set(se,{name:"ModalFooter"});const ne=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function ho({children:e,className:t,"data-testid":o,kind:n="informational",onBlur:r,onFocus:a,overlayProps:l,size:s="sm",state:i,title:d,dismissable:c=!0,onClose:p,fullHeight:m=!1,...g}){const b=u.useRef(null),{modalProps:k,underlayProps:We}=lo({isDismissable:c,isKeyboardDismissDisabled:!c,...g},i,b),{dialogProps:G,titleProps:ze}=io(g,b),qe=y.combineEventHandlers(k.onFocus,G.onFocus,a),_e=y.combineEventHandlers(k.onBlur,G.onBlur,r),{t:Ve}=u.useContext(y.I18nContext),He=y.useChildTestIdAttrBuilder({"data-testid":o}),[Y,Ke]=y.selectChildren(e,[{type:se}]);function ue(){p&&typeof p=="function"&&p(),i.close()}const ce=function(){return c?u.createElement(fe.Button,{"aria-label":"Close",onClick:ue,kind:"icon",icon:"x",className:mo}):null},je=y.modChildren(Ke,me=>me.type===ce?[{className:y.cl(me.props.classname,fo)}]:[]);return u.createElement(ao,null,u.createElement("div",{className:$o,...We,...g},u.createElement("div",{...k,...G,...l,onFocus:qe,onBlur:_e,...He("dialog"),ref:b,className:y.cl(po({kind:n,size:s,fullHeight:m}),t)},u.createElement("div",{...ze,className:bo({kind:n})},n&&u.createElement(y.Icon,{icon:ne[n]||ne.informational,className:go}),u.createElement("div",{className:vo},y.contentOf(d,i.close)),u.createElement(ce,null)),u.createElement("div",{className:co},y.contentOf(je,i.close)),Y&&Y.length>0?u.createElement(u.Fragment,null,y.contentOf(Y,i.close)):u.createElement("div",{className:Ie},u.createElement(fe.Button,{kind:"key",onClick:ue},Ve("design-system:modal.defaultButtonLabel"))))))}function de(e){return e.state.isOpen?u.createElement(ho,{...e},e.children):u.createElement(u.Fragment,null)}y.Metadata.set(de,{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 wo(e){let[t,o]=Xe(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 Eo(e={}){const t=wo(e),o=f.useRef(null),{triggerProps:n,overlayProps:r}=Zt({type:"dialog"},t,o),{onPress:a,...l}=n;return{triggerProps:{...l,onClick:a,ref:o},modalState:t,modalProps:{overlayProps:r,state:t}}}const Mo={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:[de],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 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`
|
|
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";
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
{...modalProps}
|
|
123
123
|
title="Foo"
|
|
124
124
|
kind="informational"
|
|
125
|
-
|
|
125
|
+
dismissable={true}
|
|
126
126
|
size="xl">
|
|
127
127
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
128
128
|
</Modal>
|
|
@@ -426,7 +426,7 @@
|
|
|
426
426
|
{...modalProps}
|
|
427
427
|
title="Foo"
|
|
428
428
|
kind="warning"
|
|
429
|
-
|
|
429
|
+
dismissable={true}
|
|
430
430
|
size="sm">
|
|
431
431
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
432
432
|
</Modal>
|
|
@@ -559,4 +559,4 @@
|
|
|
559
559
|
</>
|
|
560
560
|
)
|
|
561
561
|
}
|
|
562
|
-
`}}}}},
|
|
562
|
+
`}}}}},ko={Modals:Po};exports.MANIFEST=ko;exports.Modal=ce;exports.ModalFooter=ue;exports.ModalIcons=ae;exports.useModal=yo;
|