@sps-woodland/focused-task 8.2.2 → 8.3.1

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 CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const w=require("@sps-woodland/core"),Be=require("@sps-woodland/buttons"),f=require("react"),We=require("react-dom"),ce=require("@spscommerce/utils"),ye=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function He(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const g=ye(f),p=He(f),Ve=ye(We);function qe(e,t,n){let[r,o]=f.useState(e||t),a=f.useRef(e!==void 0),l=e!==void 0;f.useEffect(()=>{let c=a.current;c!==l&&console.warn(`WARN: A component changed from ${c?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}.`),a.current=l},[l]);let s=l?e:r,i=f.useCallback((c,...u)=>{let m=(d,...b)=>{n&&(Object.is(s,d)||n(d,...b)),l||(s=d)};typeof c=="function"?(console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"),o((b,...v)=>{let N=c(l?s:b,...v);return m(N,...u),l?b:N})):(l||o(c),m(c,...u))},[l,s,n]);return[s,i]}const V={prefix:String(Math.round(Math.random()*1e10)),current:0},we=g.default.createContext(V),Ke=g.default.createContext(!1);let je=Boolean(typeof window<"u"&&window.document&&window.document.createElement),Y=new WeakMap;function _e(e=!1){let t=f.useContext(we),n=f.useRef(null);if(n.current===null&&!e){var r,o;let a=(o=g.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||o===void 0||(r=o.ReactCurrentOwner)===null||r===void 0?void 0:r.current;if(a){let l=Y.get(a);l==null?Y.set(a,{id:t.current,state:a.memoizedState}):a.memoizedState!==l.state&&(t.current=l.id,Y.delete(a))}n.current=++t.current}return n.current}function ze(e){let t=f.useContext(we);t===V&&!je&&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 n=_e(!!e),r=t===V&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${r}-${n}`}function Ge(e){let t=g.default.useId(),[n]=f.useState(Te()),r=n||process.env.NODE_ENV==="test"?"react-aria":`react-aria${V.prefix}`;return e||`${r}-${t}`}const Ye=typeof g.default.useId=="function"?Ge:ze;function Ue(){return!1}function Je(){return!0}function Xe(e){return()=>{}}function Te(){return typeof g.default.useSyncExternalStore=="function"?g.default.useSyncExternalStore(Xe,Ue,Je):f.useContext(Ke)}function Se(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=Se(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}function Qe(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=Se(e))&&(r&&(r+=" "),r+=t);return r}const E=typeof document<"u"?g.default.useLayoutEffect:()=>{};function A(e){const t=f.useRef(null);return E(()=>{t.current=e},[e]),f.useCallback((...n)=>{const r=t.current;return r(...n)},[])}function Ze(e){let[t,n]=f.useState(e),r=f.useRef(null),o=A(()=>{let l=r.current.next();if(l.done){r.current=null;return}t===l.value?o():n(l.value)});E(()=>{r.current&&o()});let a=A(l=>{r.current=l(t),o()});return[t,a]}let et=Boolean(typeof window<"u"&&window.document&&window.document.createElement),q=new Map;function xe(e){let[t,n]=f.useState(e),r=f.useRef(null),o=Ye(t),a=f.useCallback(l=>{r.current=l},[]);return et&&q.set(o,a),E(()=>{let l=o;return()=>{q.delete(l)}},[o]),f.useEffect(()=>{let l=r.current;l&&(r.current=null,n(l))}),o}function tt(e,t){if(e===t)return e;let n=q.get(e);if(n)return n(t),t;let r=q.get(t);return r?(r(e),e):t}function nt(e=[]){let t=xe(),[n,r]=Ze(t),o=f.useCallback(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return E(o,[t,o,...e]),n}function K(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const rt=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document};function ot(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let o in r){let a=t[o],l=r[o];typeof a=="function"&&typeof l=="function"&&o[0]==="o"&&o[1]==="n"&&o.charCodeAt(2)>=65&&o.charCodeAt(2)<=90?t[o]=K(a,l):(o==="className"||o==="UNSAFE_className")&&typeof a=="string"&&typeof l=="string"?t[o]=Qe(a,l):o==="id"&&a&&l?t.id=tt(a,l):t[o]=l!==void 0?l:a}}return t}const at=new Set(["id"]),lt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),it=new Set(["href","target","rel","download","ping","referrerPolicy"]),st=/^(data-.*)$/;function ct(e,t={}){let{labelable:n,isLink:r,propNames:o}=t,a={};for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(at.has(l)||n&&lt.has(l)||r&&it.has(l)||(o==null?void 0:o.has(l))||st.test(l))&&(a[l]=e[l]);return a}function ue(e){if(ut())e.focus({preventScroll:!0});else{let t=dt(e);e.focus(),ft(t)}}let B=null;function ut(){if(B==null){B=!1;try{var e=document.createElement("div");e.focus({get preventScroll(){return B=!0,!0}})}catch{}}return B}function dt(e){for(var t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function ft(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function pt(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(n=>e.test(n.brand)))||e.test(window.navigator.userAgent)}function te(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 Ne(){return te(/^Mac/i)}function mt(){return te(/^iPhone/i)}function bt(){return te(/^iPad/i)||Ne()&&navigator.maxTouchPoints>1}function vt(){return mt()||bt()}function $t(){return pt(/Android/i)}let L=new Map,X=new Set;function de(){if(typeof window>"u")return;let e=n=>{let r=L.get(n.target);r||(r=new Set,L.set(n.target,r),n.target.addEventListener("transitioncancel",t)),r.add(n.propertyName)},t=n=>{let r=L.get(n.target);if(!!r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",t),L.delete(n.target)),L.size===0)){for(let o of X)o();X.clear()}};document.body.addEventListener("transitionrun",e),document.body.addEventListener("transitionend",t)}typeof document<"u"&&(document.readyState!=="loading"?de():document.addEventListener("DOMContentLoaded",de));function ht(e){requestAnimationFrame(()=>{L.size===0?e():X.add(e)})}function ke(e){for(fe(e)&&(e=e.parentElement);e&&!fe(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}function fe(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function gt(e){return e.mozInputSource===0&&e.isTrusted?!0:$t()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const Fe=g.default.createContext({register:()=>{}});Fe.displayName="PressResponderContext";function Et({children:e}){let t=f.useMemo(()=>({register:()=>{}}),[]);return g.default.createElement(Fe.Provider,{value:t},e)}class yt{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,n){this.nativeEvent=n,this.target=n.target,this.currentTarget=n.currentTarget,this.relatedTarget=n.relatedTarget,this.bubbles=n.bubbles,this.cancelable=n.cancelable,this.defaultPrevented=n.defaultPrevented,this.eventPhase=n.eventPhase,this.isTrusted=n.isTrusted,this.timeStamp=n.timeStamp,this.type=t}}function wt(e){let t=f.useRef({isFocused:!1,observer:null});E(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let n=A(r=>{e==null||e(r)});return f.useCallback(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let o=r.target,a=l=>{t.current.isFocused=!1,o.disabled&&n(new yt("blur",l)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};o.addEventListener("focusout",a,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&o.disabled){var l;(l=t.current.observer)===null||l===void 0||l.disconnect();let s=o===document.activeElement?null:document.activeElement;o.dispatchEvent(new FocusEvent("blur",{relatedTarget:s})),o.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:s}))}}),t.current.observer.observe(o,{attributes:!0,attributeFilter:["disabled"]})}},[n])}let I=null,Tt=new Set,pe=!1,P=!1,Q=!1;function ne(e,t){for(let n of Tt)n(e,t)}function St(e){return!(e.metaKey||!Ne()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function me(e){P=!0,St(e)&&(I="keyboard",ne("keyboard",e))}function C(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(P=!0,ne("pointer",e))}function xt(e){gt(e)&&(P=!0,I="virtual")}function Nt(e){e.target===window||e.target===document||(!P&&!Q&&(I="virtual",ne("virtual",e)),P=!1,Q=!1)}function kt(){P=!1,Q=!0}function be(){if(typeof window>"u"||pe)return;let e=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(){P=!0,e.apply(this,arguments)},document.addEventListener("keydown",me,!0),document.addEventListener("keyup",me,!0),document.addEventListener("click",xt,!0),window.addEventListener("focus",Nt,!0),window.addEventListener("blur",kt,!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)),pe=!0}typeof document<"u"&&(document.readyState!=="loading"?be():document.addEventListener("DOMContentLoaded",be));function Ft(){return I}function Pt(e){let{isDisabled:t,onBlurWithin:n,onFocusWithin:r,onFocusWithinChange:o}=e,a=f.useRef({isFocusWithin:!1}),l=f.useCallback(c=>{a.current.isFocusWithin&&!c.currentTarget.contains(c.relatedTarget)&&(a.current.isFocusWithin=!1,n&&n(c),o&&o(!1))},[n,o,a]),s=wt(l),i=f.useCallback(c=>{!a.current.isFocusWithin&&document.activeElement===c.target&&(r&&r(c),o&&o(!0),a.current.isFocusWithin=!0,s(c))},[r,o,s]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:i,onBlur:l}}}function Ct(e){let{ref:t,onInteractOutside:n,isDisabled:r,onInteractOutsideStart:o}=e,a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),l=A(i=>{n&&W(i,t)&&(o&&o(i),a.current.isPointerDown=!0)}),s=A(i=>{n&&n(i)});f.useEffect(()=>{let i=a.current;if(r)return;const c=t.current,u=rt(c);if(typeof PointerEvent<"u"){let m=d=>{i.isPointerDown&&W(d,t)&&s(d),i.isPointerDown=!1};return u.addEventListener("pointerdown",l,!0),u.addEventListener("pointerup",m,!0),()=>{u.removeEventListener("pointerdown",l,!0),u.removeEventListener("pointerup",m,!0)}}else{let m=b=>{i.ignoreEmulatedMouseEvents?i.ignoreEmulatedMouseEvents=!1:i.isPointerDown&&W(b,t)&&s(b),i.isPointerDown=!1},d=b=>{i.ignoreEmulatedMouseEvents=!0,i.isPointerDown&&W(b,t)&&s(b),i.isPointerDown=!1};return u.addEventListener("mousedown",l,!0),u.addEventListener("mouseup",m,!0),u.addEventListener("touchstart",l,!0),u.addEventListener("touchend",d,!0),()=>{u.removeEventListener("mousedown",l,!0),u.removeEventListener("mouseup",m,!0),u.removeEventListener("touchstart",l,!0),u.removeEventListener("touchend",d,!0)}}},[t,r,l,s])}function W(e,t){if(e.button>0)return!1;if(e.target){const n=e.target.ownerDocument;if(!n||!n.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function Z(e){if(Ft()==="virtual"){let t=document.activeElement;ht(()=>{document.activeElement===t&&document.contains(e)&&ue(e)})}else ue(e)}function Lt(e){if(!(e instanceof HTMLElement)&&!(e instanceof SVGElement))return!1;let{display:t,visibility:n}=e.style,r=t!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:o}=e.ownerDocument.defaultView;let{display:a,visibility:l}=o(e);r=a!=="none"&&l!=="hidden"&&l!=="collapse"}return r}function Ot(e,t){return!e.hasAttribute("hidden")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function Pe(e,t){return e.nodeName!=="#comment"&&Lt(e)&&Ot(e,t)&&(!e.parentElement||Pe(e.parentElement,e))}const ve=g.default.createContext(null);let $=null;function Mt(e){let{children:t,contain:n,restoreFocus:r,autoFocus:o}=e,a=f.useRef(null),l=f.useRef(null),s=f.useRef([]),{parentNode:i}=f.useContext(ve)||{},c=f.useMemo(()=>new ee({scopeRef:s}),[s]);E(()=>{let d=i||h.root;if(h.getTreeNode(d.scopeRef)&&$&&!_($,d.scopeRef)){let b=h.getTreeNode($);b&&(d=b)}d.addChild(c),h.addNode(c)},[c,i]),E(()=>{let d=h.getTreeNode(s);d&&(d.contain=!!n)},[n]),E(()=>{var d;let b=(d=a.current)===null||d===void 0?void 0:d.nextSibling,v=[];for(;b&&b!==l.current;)v.push(b),b=b.nextSibling;s.current=v},[t]),Ht(s,r,n),It(s,n),qt(s,r,n),Wt(s,o),f.useEffect(()=>{let d=document.activeElement,b=null;if(y(d,s.current)){for(let v of h.traverse())v.scopeRef&&y(d,v.scopeRef.current)&&(b=v);b===h.getTreeNode(s)&&($=b.scopeRef)}},[s]),E(()=>()=>{var d,b,v;let N=(v=(b=h.getTreeNode(s))===null||b===void 0||(d=b.parent)===null||d===void 0?void 0:d.scopeRef)!==null&&v!==void 0?v:null;(s===$||_(s,$))&&(!N||h.getTreeNode(N))&&($=N),h.removeTreeNode(s)},[s]);let u=f.useMemo(()=>Rt(s),[]),m=f.useMemo(()=>({focusManager:u,parentNode:c}),[c,u]);return g.default.createElement(ve.Provider,{value:m},g.default.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:a}),t,g.default.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:l}))}function Rt(e){return{focusNext(t={}){let n=e.current,{from:r,tabbable:o,wrap:a,accept:l}=t,s=r||document.activeElement,i=n[0].previousElementSibling,c=F(n),u=k(c,{tabbable:o,accept:l},n);u.currentNode=y(s,n)?s:i;let m=u.nextNode();return!m&&a&&(u.currentNode=i,m=u.nextNode()),m&&x(m,!0),m},focusPrevious(t={}){let n=e.current,{from:r,tabbable:o,wrap:a,accept:l}=t,s=r||document.activeElement,i=n[n.length-1].nextElementSibling,c=F(n),u=k(c,{tabbable:o,accept:l},n);u.currentNode=y(s,n)?s:i;let m=u.previousNode();return!m&&a&&(u.currentNode=i,m=u.previousNode()),m&&x(m,!0),m},focusFirst(t={}){let n=e.current,{tabbable:r,accept:o}=t,a=F(n),l=k(a,{tabbable:r,accept:o},n);l.currentNode=n[0].previousElementSibling;let s=l.nextNode();return s&&x(s,!0),s},focusLast(t={}){let n=e.current,{tabbable:r,accept:o}=t,a=F(n),l=k(a,{tabbable:r,accept:o},n);l.currentNode=n[n.length-1].nextElementSibling;let s=l.previousNode();return s&&x(s,!0),s}}}const re=["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]"],Dt=re.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";re.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const At=re.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 It(e,t){let n=f.useRef(),r=f.useRef();E(()=>{let o=e.current;if(!t){r.current&&(cancelAnimationFrame(r.current),r.current=void 0);return}let a=i=>{if(i.key!=="Tab"||i.altKey||i.ctrlKey||i.metaKey||!R(e))return;let c=document.activeElement,u=e.current;if(!u||!y(c,u))return;let m=F(u),d=k(m,{tabbable:!0},u);if(!c)return;d.currentNode=c;let b=i.shiftKey?d.previousNode():d.nextNode();b||(d.currentNode=i.shiftKey?u[u.length-1].nextElementSibling:u[0].previousElementSibling,b=i.shiftKey?d.previousNode():d.nextNode()),i.preventDefault(),b&&x(b,!0)},l=i=>{(!$||_($,e))&&y(i.target,e.current)?($=e,n.current=i.target):R(e)&&!j(i.target,e)?n.current?n.current.focus():$&&$.current&&z($.current):R(e)&&(n.current=i.target)},s=i=>{r.current&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{if(document.activeElement&&R(e)&&!j(document.activeElement,e))if($=e,document.body.contains(i.target)){var c;n.current=i.target,(c=n.current)===null||c===void 0||c.focus()}else $.current&&z($.current)})};return document.addEventListener("keydown",a,!1),document.addEventListener("focusin",l,!1),o==null||o.forEach(i=>i.addEventListener("focusin",l,!1)),o==null||o.forEach(i=>i.addEventListener("focusout",s,!1)),()=>{document.removeEventListener("keydown",a,!1),document.removeEventListener("focusin",l,!1),o==null||o.forEach(i=>i.removeEventListener("focusin",l,!1)),o==null||o.forEach(i=>i.removeEventListener("focusout",s,!1))}},[e,t]),E(()=>()=>{r.current&&cancelAnimationFrame(r.current)},[r])}function Ce(e){return j(e)}function y(e,t){return!e||!t?!1:t.some(n=>n.contains(e))}function j(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:n}of h.traverse(h.getTreeNode(t)))if(n&&y(e,n.current))return!0;return!1}function Bt(e){return j(e,$)}function _(e,t){var n;let r=(n=h.getTreeNode(t))===null||n===void 0?void 0:n.parent;for(;r;){if(r.scopeRef===e)return!0;r=r.parent}return!1}function x(e,t=!1){if(e!=null&&!t)try{Z(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function z(e,t=!0){let n=e[0].previousElementSibling,r=F(e),o=k(r,{tabbable:t},e);o.currentNode=n;let a=o.nextNode();t&&!a&&(r=F(e),o=k(r,{tabbable:!1},e),o.currentNode=n,a=o.nextNode()),x(a)}function Wt(e,t){const n=g.default.useRef(t);f.useEffect(()=>{n.current&&($=e,!y(document.activeElement,$.current)&&e.current&&z(e.current)),n.current=!1},[e])}function Ht(e,t,n){E(()=>{if(t||n)return;let r=e.current,o=a=>{let l=a.target;y(l,e.current)?$=e:Ce(l)||($=null)};return document.addEventListener("focusin",o,!1),r==null||r.forEach(a=>a.addEventListener("focusin",o,!1)),()=>{document.removeEventListener("focusin",o,!1),r==null||r.forEach(a=>a.removeEventListener("focusin",o,!1))}},[e,t,n])}function Vt(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,n){const r=f.useRef(typeof document<"u"?document.activeElement:null);E(()=>{let o=e.current;if(!t||n)return;let a=()=>{(!$||_($,e))&&y(document.activeElement,e.current)&&($=e)};return document.addEventListener("focusin",a,!1),o==null||o.forEach(l=>l.addEventListener("focusin",a,!1)),()=>{document.removeEventListener("focusin",a,!1),o==null||o.forEach(l=>l.removeEventListener("focusin",a,!1))}},[e,n]),E(()=>{if(!t)return;let o=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!R(e))return;let l=document.activeElement;if(!y(l,e.current))return;let s=h.getTreeNode(e);if(!s)return;let i=s.nodeToRestore,c=k(document.body,{tabbable:!0});c.currentNode=l;let u=a.shiftKey?c.previousNode():c.nextNode();if((!i||!document.body.contains(i)||i===document.body)&&(i=void 0,s.nodeToRestore=void 0),(!u||!y(u,e.current))&&i){c.currentNode=i;do u=a.shiftKey?c.previousNode():c.nextNode();while(y(u,e.current));a.preventDefault(),a.stopPropagation(),u?x(u,!0):Ce(i)?x(i,!0):l.blur()}};return n||document.addEventListener("keydown",o,!0),()=>{n||document.removeEventListener("keydown",o,!0)}},[e,t,n]),E(()=>{if(!t)return;let o=h.getTreeNode(e);if(!!o){var a;return o.nodeToRestore=(a=r.current)!==null&&a!==void 0?a:void 0,()=>{let l=h.getTreeNode(e);if(!l)return;let s=l.nodeToRestore;if(t&&s&&(y(document.activeElement,e.current)||document.activeElement===document.body&&Vt(e))){let i=h.clone();requestAnimationFrame(()=>{if(document.activeElement===document.body){let c=i.getTreeNode(e);for(;c;){if(c.nodeToRestore&&document.body.contains(c.nodeToRestore)){x(c.nodeToRestore);return}c=c.parent}for(c=i.getTreeNode(e);c;){if(c.scopeRef&&c.scopeRef.current&&h.getTreeNode(c.scopeRef)){z(c.scopeRef.current,!0);return}c=c.parent}}})}}}},[e,t])}function k(e,t,n){let r=t!=null&&t.tabbable?At:Dt,o=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(r)&&Pe(a)&&(!n||y(a,n))&&(!(t!=null&&t.accept)||t.accept(a))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t!=null&&t.from&&(o.currentNode=t.from),o}class oe{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,n,r){let o=this.fastMap.get(n!=null?n:null);if(!o)return;let a=new ee({scopeRef:t});o.addChild(a),a.parent=o,this.fastMap.set(t,a),r&&(a.nodeToRestore=r)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let n=this.fastMap.get(t);if(!n)return;let r=n.parent;for(let a of this.traverse())a!==n&&n.nodeToRestore&&a.nodeToRestore&&n.scopeRef&&n.scopeRef.current&&y(a.nodeToRestore,n.scopeRef.current)&&(a.nodeToRestore=n.nodeToRestore);let o=n.children;r&&(r.removeChild(n),o.size>0&&o.forEach(a=>r&&r.addChild(a))),this.fastMap.delete(n.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let n of t.children)yield*this.traverse(n)}clone(){var t;let n=new oe;var r;for(let o of this.traverse())n.addTreeNode(o.scopeRef,(r=(t=o.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&r!==void 0?r:null,o.nodeToRestore);return n}constructor(){this.fastMap=new Map,this.root=new ee({scopeRef:null}),this.fastMap.set(null,this.root)}}class ee{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 oe;const Kt=new WeakMap,S=[];function jt(e,t){let{onClose:n,shouldCloseOnBlur:r,isOpen:o,isDismissable:a=!1,isKeyboardDismissDisabled:l=!1,shouldCloseOnInteractOutside:s}=e;f.useEffect(()=>(o&&S.push(t),()=>{let v=S.indexOf(t);v>=0&&S.splice(v,1)}),[o,t]);let i=()=>{S[S.length-1]===t&&n&&n()},c=v=>{(!s||s(v.target))&&S[S.length-1]===t&&(v.stopPropagation(),v.preventDefault())},u=v=>{(!s||s(v.target))&&(S[S.length-1]===t&&(v.stopPropagation(),v.preventDefault()),i())},m=v=>{v.key==="Escape"&&!l&&(v.stopPropagation(),v.preventDefault(),i())};Ct({ref:t,onInteractOutside:a&&o?u:null,onInteractOutsideStart:c});let{focusWithinProps:d}=Pt({isDisabled:!r,onBlurWithin:v=>{!v.relatedTarget||Bt(v.relatedTarget)||(!s||s(v.relatedTarget))&&n()}}),b=v=>{v.target===v.currentTarget&&v.preventDefault()};return{overlayProps:{onKeyDown:m,...d},underlayProps:{onPointerDown:b}}}function _t(e,t,n){let{type:r}=e,{isOpen:o}=t;f.useEffect(()=>{n&&n.current&&Kt.set(n.current,t.close)});let a;r==="menu"?a=!0:r==="listbox"&&(a="listbox");let l=xe();return{triggerProps:{"aria-haspopup":a,"aria-expanded":o,"aria-controls":o?l:null,onPress:t.toggle},overlayProps:{id:l}}}const U=typeof document<"u"&&window.visualViewport,zt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let H=0,J;function Gt(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return H++,H===1&&(vt()?J=Ut():J=Yt()),()=>{H--,H===0&&J()}},[t])}function Yt(){return K(D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"))}function Ut(){let e,t=0,n=m=>{e=ke(m.target),!(e===document.documentElement&&e===document.body)&&(t=m.changedTouches[0].pageY)},r=m=>{if(!e||e===document.documentElement||e===document.body){m.preventDefault();return}let d=m.changedTouches[0].pageY,b=e.scrollTop,v=e.scrollHeight-e.clientHeight;v!==0&&((b<=0&&d>t||b>=v&&d<t)&&m.preventDefault(),t=d)},o=m=>{let d=m.target;he(d)&&d!==document.activeElement&&(m.preventDefault(),d.style.transform="translateY(-2000px)",d.focus(),requestAnimationFrame(()=>{d.style.transform=""}))},a=m=>{let d=m.target;he(d)&&(d.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{d.style.transform="",U&&(U.height<window.innerHeight?requestAnimationFrame(()=>{$e(d)}):U.addEventListener("resize",()=>$e(d),{once:!0}))}))},l=()=>{window.scrollTo(0,0)},s=window.pageXOffset,i=window.pageYOffset,c=K(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 u=K(O(document,"touchstart",n,{passive:!1,capture:!0}),O(document,"touchmove",r,{passive:!1,capture:!0}),O(document,"touchend",o,{passive:!1,capture:!0}),O(document,"focus",a,!0),O(window,"scroll",l));return()=>{c(),u(),window.scrollTo(s,i)}}function D(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function O(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function $e(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=ke(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let r=n.getBoundingClientRect().top,o=e.getBoundingClientRect().top;o>r+e.clientHeight&&(n.scrollTop+=o-r)}e=n.parentElement}}function he(e){return e instanceof HTMLInputElement&&!zt.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let M=new WeakMap,T=[];function Jt(e,t=document.body){let n=new Set(e),r=new Set,o=i=>{for(let d of i.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))n.add(d);let c=d=>{if(n.has(d)||r.has(d.parentElement)&&d.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let b of n)if(d.contains(b))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},u=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,{acceptNode:c}),m=c(i);if(m===NodeFilter.FILTER_ACCEPT&&a(i),m!==NodeFilter.FILTER_REJECT){let d=u.nextNode();for(;d!=null;)a(d),d=u.nextNode()}},a=i=>{var c;let u=(c=M.get(i))!==null&&c!==void 0?c:0;i.getAttribute("aria-hidden")==="true"&&u===0||(u===0&&i.setAttribute("aria-hidden","true"),r.add(i),M.set(i,u+1))};T.length&&T[T.length-1].disconnect(),o(t);let l=new MutationObserver(i=>{for(let c of i)if(!(c.type!=="childList"||c.addedNodes.length===0)&&![...n,...r].some(u=>u.contains(c.target))){for(let u of c.removedNodes)u instanceof Element&&(n.delete(u),r.delete(u));for(let u of c.addedNodes)(u instanceof HTMLElement||u instanceof SVGElement)&&(u.dataset.liveAnnouncer==="true"||u.dataset.reactAriaTopLayer==="true")?n.add(u):u instanceof Element&&o(u)}});l.observe(t,{childList:!0,subtree:!0});let s={observe(){l.observe(t,{childList:!0,subtree:!0})},disconnect(){l.disconnect()}};return T.push(s),()=>{l.disconnect();for(let i of r){let c=M.get(i);c===1?(i.removeAttribute("aria-hidden"),M.delete(i)):M.set(i,c-1)}s===T[T.length-1]?(T.pop(),T.length&&T[T.length-1].observe()):T.splice(T.indexOf(s),1)}}const Le=g.default.createContext(null);function Xt(e){let t=Te(),{portalContainer:n=t?null:document.body,isExiting:r}=e,[o,a]=f.useState(!1),l=f.useMemo(()=>({contain:o,setContain:a}),[o,a]);if(!n)return null;let s=e.children;return e.disableFocusManagement||(s=g.default.createElement(Mt,{restoreFocus:!0,contain:o&&!r},s)),s=g.default.createElement(Le.Provider,{value:l},g.default.createElement(Et,null,s)),Ve.default.createPortal(s,n)}function Oe(){let e=f.useContext(Le),t=e==null?void 0:e.setContain;E(()=>{t==null||t(!0)},[t])}function Qt(e,t,n){let{overlayProps:r,underlayProps:o}=jt({...e,isOpen:t.isOpen,onClose:t.close},n);return Gt({isDisabled:!t.isOpen}),Oe(),f.useEffect(()=>{if(t.isOpen)return Jt([n.current])},[t.isOpen,n]),{modalProps:ot(r),underlayProps:o}}function Zt(e,t){let{role:n="dialog"}=e,r=nt();r=e["aria-label"]?void 0:r;let o=f.useRef(!1);return f.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){Z(t.current);let a=setTimeout(()=>{document.activeElement===t.current&&(o.current=!0,t.current.blur(),Z(t.current),o.current=!1)},500);return()=>{clearTimeout(a)}}},[t]),Oe(),{dialogProps:{...ct(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||r,onBlur:a=>{o.current&&a.stopPropagation()}},titleProps:{id:r}}}function en(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Ee(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ge(Object(n),!0).forEach(function(r){en(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ge(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var tn=(e,t,n)=>{for(var r of Object.keys(e)){var o;if(e[r]!==((o=t[r])!==null&&o!==void 0?o:n[r]))return!1}return!0},nn=e=>t=>{var n=e.defaultClassName,r=Ee(Ee({},e.defaultVariants),t);for(var o in r){var a,l=(a=r[o])!==null&&a!==void 0?a:e.defaultVariants[o];if(l!=null){var s=l;typeof s=="boolean"&&(s=s===!0?"true":"false");var i=e.variantClassNames[o][s];i&&(n+=" "+i)}}for(var[c,u]of e.compoundVariants)tn(c,r,e.defaultVariants)&&(n+=" "+u);return n},rn=nn({defaultClassName:"_1io4psq1",variantClassNames:{fullWidth:{true:"_1io4psq2",false:"_1io4psq3"}},defaultVariants:{},compoundVariants:[]}),on="_1io4psq5",an="_1io4psq6",ln="_1io4psq0",sn="_1io4psq9",cn="_1io4psqa",un="_1io4psq8",dn="_1io4psq4",fn="_1io4psq7";function ae({children:e,className:t="",...n}){return p.createElement("div",{className:w.cl(un,t),...n},p.createElement("div",{className:w.cl(sn)},p.createElement("div",{className:w.cl(cn)},e)))}w.Metadata.set(ae,{name:"FocusedTaskActions"});function pn({children:e,className:t,"data-testid":n,onBlur:r,onFocus:o,overlayProps:a,state:l,onClose:s,fullWidth:i=!1,...c}){const u=p.useRef(null),{modalProps:m,underlayProps:d}=Qt({...c},l,u),{dialogProps:b,titleProps:v}=Zt(c,u),N=w.combineEventHandlers(m.onFocus,b.onFocus,o),Me=w.combineEventHandlers(m.onBlur,b.onBlur,r),Re=w.useChildTestIdAttrBuilder({"data-testid":n}),[G,De]=w.selectChildren(e,[{type:ae}]);function Ae(){s&&typeof s=="function"&&s(),l.close()}const ie=function(){return p.createElement(Be.Button,{"aria-label":"Close",onClick:Ae,kind:"icon",icon:"x",className:on})},Ie=w.modChildren(De,se=>se.type===ie?[{className:w.cl(se.props.classname,an)}]:[]);return p.createElement(Xt,null,p.createElement("div",{className:fn,...d,...c},p.createElement("div",{...m,...b,...a,onFocus:N,onBlur:Me,...Re("dialog"),ref:u,className:w.cl(ln,t)},p.createElement("div",{...v,className:dn},p.createElement(ie,null)),p.createElement("div",{className:rn({fullWidth:i})},w.contentOf(Ie,l.close)),G&&G.length>0&&p.createElement(p.Fragment,null,w.contentOf(G,l.close)))))}function le(e){return e.state.isOpen?p.createElement(pn,{...e},e.children):p.createElement(p.Fragment,null)}w.Metadata.set(le,{name:"FocusedTask",props:{fullWidth:{type:"boolean",default:"false"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"}}});function mn(e){let[t,n]=qe(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const r=f.useCallback(()=>{n(!0)},[n]),o=f.useCallback(()=>{n(!1)},[n]),a=f.useCallback(()=>{n(!t)},[n,t]);return{isOpen:t,setOpen:n,open:r,close:o,toggle:a}}function bn(e={}){const t=mn(e),n=f.useRef(null),{triggerProps:r,overlayProps:o}=_t({type:"dialog"},t,n),{onPress:a,...l}=r;return{triggerProps:{...l,onClick:a,ref:n},focusedTaskState:t,focusedTaskProps:{overlayProps:o,state:t}}}const vn={components:[le],examples:{hooks:{label:"Using the Hook",description:()=>p.createElement(p.Fragment,null,p.createElement("p",null,"To use the focused task component, you must call the ",p.createElement("code",null,"useFocusedTask")," hook. Optional arguments for this hook include:"),p.createElement("dl",null,p.createElement("dt",null,p.createElement("code",null,"isOpen"),": boolean"),p.createElement("dd",null,"Whether the overlay is open by default (controlled)"),p.createElement("dt",null,p.createElement("code",null,"defaultOpen"),": boolean"),p.createElement("dd",null,"Whether the overlay is open by default (uncontrolled)."),p.createElement("dt",null,p.createElement("code",null,"onOpenChange"),": function"),p.createElement("dd",null,"Handler that is called when the overlay's open state changes.",p.createElement("code",null,"(isOpen: boolean) => void"))),p.createElement("h5",null,"Focused Task Props, Focused Task State, and Trigger Props"),p.createElement("p",null,"The ",p.createElement("code",null,"useFocusedTask")," returns an object with ",p.createElement("code",null,"focusedTaskProps"),","," ",p.createElement("code",null,"focusedTaskState")," and ",p.createElement("code",null,"triggerProps")),p.createElement("p",null,"The ",p.createElement("code",null,"triggerProps")," need to be spread on the element that triggers the focused task."),p.createElement("p",null,"The ",p.createElement("code",null,"focusedTaskState")," object (which is also included in ",p.createElement("code",null,"focusedTaskProps"),") allows programmatic access to the state of the focused task. This includes a read only"," ",p.createElement("code",null,"isOpen")," property, a ",p.createElement("code",null,"setOpen(isOpen: boolean)")," method which can be use to set whether the overlay is open, an ",p.createElement("code",null,"open()")," method which opens the overlay, a ",p.createElement("code",null,"close()")," method which closes the overlay and a"," ",p.createElement("code",null,"toggle()")," method that toggles the overlay's visiblity."),p.createElement("p",null,"The ",p.createElement("code",null,"focusedTaskProps")," should be spread on the actual ",p.createElement("code",null,"FocusedTask")," component."),p.createElement("p",null,"Please refer to the examples to see its implementation"))},standard:{label:"Standard",examples:{basic:{react:ce.code`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("@sps-woodland/core"),Ke=require("@sps-woodland/buttons"),d=require("react"),_e=require("react-dom"),pe=require("@spscommerce/utils"),Te=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function ze(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const E=Te(d),f=ze(d),Ge=Te(_e);function Ue(e,t,n){let[r,o]=d.useState(e||t),l=d.useRef(e!==void 0),a=e!==void 0;d.useEffect(()=>{let u=l.current;u!==a&&console.warn(`WARN: A component changed from ${u?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}.`),l.current=a},[a]);let i=a?e:r,c=d.useCallback((u,...s)=>{let p=(b,...v)=>{n&&(Object.is(i,b)||n(b,...v)),a||(i=b)};typeof u=="function"?(console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"),o((v,...m)=>{let F=u(a?i:v,...m);return p(F,...s),a?v:F})):(a||o(u),p(u,...s))},[a,i,n]);return[i,c]}const q={prefix:String(Math.round(Math.random()*1e10)),current:0},Se=E.default.createContext(q),Je=E.default.createContext(!1);let Xe=Boolean(typeof window<"u"&&window.document&&window.document.createElement),Q=new WeakMap;function Ye(e=!1){let t=d.useContext(Se),n=d.useRef(null);if(n.current===null&&!e){var r,o;let l=(o=E.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||o===void 0||(r=o.ReactCurrentOwner)===null||r===void 0?void 0:r.current;if(l){let a=Q.get(l);a==null?Q.set(l,{id:t.current,state:l.memoizedState}):l.memoizedState!==a.state&&(t.current=a.id,Q.delete(l))}n.current=++t.current}return n.current}function Qe(e){let t=d.useContext(Se);t===q&&!Xe&&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 n=Ye(!!e),r=t===q&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${r}-${n}`}function Ze(e){let t=E.default.useId(),[n]=d.useState(xe()),r=n||process.env.NODE_ENV==="test"?"react-aria":`react-aria${q.prefix}`;return e||`${r}-${t}`}const et=typeof E.default.useId=="function"?Ze:Qe;function tt(){return!1}function nt(){return!0}function rt(e){return()=>{}}function xe(){return typeof E.default.useSyncExternalStore=="function"?E.default.useSyncExternalStore(rt,tt,nt):d.useContext(Je)}function Ne(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Ne(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function ot(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Ne(e))&&(r&&(r+=" "),r+=t);return r}const g=typeof document<"u"?E.default.useLayoutEffect:()=>{};function W(e){const t=d.useRef(null);return g(()=>{t.current=e},[e]),d.useCallback((...n)=>{const r=t.current;return r==null?void 0:r(...n)},[])}function at(e){let[t,n]=d.useState(e),r=d.useRef(null),o=W(()=>{if(!r.current)return;let a=r.current.next();if(a.done){r.current=null;return}t===a.value?o():n(a.value)});g(()=>{r.current&&o()});let l=W(a=>{r.current=a(t),o()});return[t,l]}let lt=Boolean(typeof window<"u"&&window.document&&window.document.createElement),K=new Map;function ke(e){let[t,n]=d.useState(e),r=d.useRef(null),o=et(t),l=d.useCallback(a=>{r.current=a},[]);return lt&&K.set(o,l),g(()=>{let a=o;return()=>{K.delete(a)}},[o]),d.useEffect(()=>{let a=r.current;a&&(r.current=null,n(a))}),o}function it(e,t){if(e===t)return e;let n=K.get(e);if(n)return n(t),t;let r=K.get(t);return r?(r(e),e):t}function st(e=[]){let t=ke(),[n,r]=at(t),o=d.useCallback(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return g(o,[t,o,...e]),n}function _(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const w=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},z=e=>e&&"window"in e&&e.window===e?e:w(e).defaultView||window;function ut(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let o in r){let l=t[o],a=r[o];typeof l=="function"&&typeof a=="function"&&o[0]==="o"&&o[1]==="n"&&o.charCodeAt(2)>=65&&o.charCodeAt(2)<=90?t[o]=_(l,a):(o==="className"||o==="UNSAFE_className")&&typeof l=="string"&&typeof a=="string"?t[o]=ot(l,a):o==="id"&&l&&a?t.id=it(l,a):t[o]=a!==void 0?a:l}}return t}const ct=new Set(["id"]),dt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),ft=new Set(["href","target","rel","download","ping","referrerPolicy"]),pt=/^(data-.*)$/;function bt(e,t={}){let{labelable:n,isLink:r,propNames:o}=t,l={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(ct.has(a)||n&&dt.has(a)||r&&ft.has(a)||(o==null?void 0:o.has(a))||pt.test(a))&&(l[a]=e[a]);return l}function be(e){if(vt())e.focus({preventScroll:!0});else{let t=mt(e);e.focus(),$t(t)}}let H=null;function vt(){if(H==null){H=!1;try{document.createElement("div").focus({get preventScroll(){return H=!0,!0}})}catch{}}return H}function mt(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function $t(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function ht(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(n=>e.test(n.brand)))||e.test(window.navigator.userAgent)}function ae(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 Fe(){return ae(/^Mac/i)}function Et(){return ae(/^iPhone/i)}function gt(){return ae(/^iPad/i)||Fe()&&navigator.maxTouchPoints>1}function wt(){return Et()||gt()}function yt(){return ht(/Android/i)}let O=new Map,te=new Set;function ve(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{if(!e(r)||!r.target)return;let o=O.get(r.target);o||(o=new Set,O.set(r.target,o),r.target.addEventListener("transitioncancel",n,{once:!0})),o.add(r.propertyName)},n=r=>{if(!e(r)||!r.target)return;let o=O.get(r.target);if(!!o&&(o.delete(r.propertyName),o.size===0&&(r.target.removeEventListener("transitioncancel",n),O.delete(r.target)),O.size===0)){for(let l of te)l();te.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?ve():document.addEventListener("DOMContentLoaded",ve));function Tt(e){requestAnimationFrame(()=>{O.size===0?e():te.add(e)})}function Pe(e,t){let n=e;for(me(n,t)&&(n=n.parentElement);n&&!me(n,t);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}function me(e,t){let n=window.getComputedStyle(e),r=/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY);return r&&t&&(r=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),r}function St(e){return e.mozInputSource===0&&e.isTrusted?!0:yt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const Ce=E.default.createContext({register:()=>{}});Ce.displayName="PressResponderContext";function xt({children:e}){let t=d.useMemo(()=>({register:()=>{}}),[]);return E.default.createElement(Ce.Provider,{value:t},e)}class Nt{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,n){this.nativeEvent=n,this.target=n.target,this.currentTarget=n.currentTarget,this.relatedTarget=n.relatedTarget,this.bubbles=n.bubbles,this.cancelable=n.cancelable,this.defaultPrevented=n.defaultPrevented,this.eventPhase=n.eventPhase,this.isTrusted=n.isTrusted,this.timeStamp=n.timeStamp,this.type=t}}function kt(e){let t=d.useRef({isFocused:!1,observer:null});g(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let n=W(r=>{e==null||e(r)});return d.useCallback(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let o=r.target,l=a=>{t.current.isFocused=!1,o.disabled&&n(new Nt("blur",a)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};o.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&o.disabled){var a;(a=t.current.observer)===null||a===void 0||a.disconnect();let i=o===document.activeElement?null:document.activeElement;o.dispatchEvent(new FocusEvent("blur",{relatedTarget:i})),o.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:i}))}}),t.current.observer.observe(o,{attributes:!0,attributeFilter:["disabled"]})}},[n])}let B=null,Ft=new Set,I=new Map,L=!1,ne=!1;function le(e,t){for(let n of Ft)n(e,t)}function Pt(e){return!(e.metaKey||!Fe()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function G(e){L=!0,Pt(e)&&(B="keyboard",le("keyboard",e))}function x(e){B="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(L=!0,le("pointer",e))}function Le(e){St(e)&&(L=!0,B="virtual")}function Oe(e){e.target===window||e.target===document||(!L&&!ne&&(B="virtual",le("virtual",e)),L=!1,ne=!1)}function Me(){L=!1,ne=!0}function $e(e){if(typeof window>"u"||I.get(z(e)))return;const t=z(e),n=w(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){L=!0,r.apply(this,arguments)},n.addEventListener("keydown",G,!0),n.addEventListener("keyup",G,!0),n.addEventListener("click",Le,!0),t.addEventListener("focus",Oe,!0),t.addEventListener("blur",Me,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",x,!0),n.addEventListener("pointermove",x,!0),n.addEventListener("pointerup",x,!0)):(n.addEventListener("mousedown",x,!0),n.addEventListener("mousemove",x,!0),n.addEventListener("mouseup",x,!0)),t.addEventListener("beforeunload",()=>{De(e)},{once:!0}),I.set(t,{focus:r})}const De=(e,t)=>{const n=z(e),r=w(e);t&&r.removeEventListener("DOMContentLoaded",t),I.has(n)&&(n.HTMLElement.prototype.focus=I.get(n).focus,r.removeEventListener("keydown",G,!0),r.removeEventListener("keyup",G,!0),r.removeEventListener("click",Le,!0),n.removeEventListener("focus",Oe,!0),n.removeEventListener("blur",Me,!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)),I.delete(n))};function Ct(e){const t=w(e);let n;return t.readyState!=="loading"?$e(e):(n=()=>{$e(e)},t.addEventListener("DOMContentLoaded",n)),()=>De(e,n)}typeof document<"u"&&Ct();function Lt(){return B}function Ot(e){let{isDisabled:t,onBlurWithin:n,onFocusWithin:r,onFocusWithinChange:o}=e,l=d.useRef({isFocusWithin:!1}),a=d.useCallback(u=>{l.current.isFocusWithin&&!u.currentTarget.contains(u.relatedTarget)&&(l.current.isFocusWithin=!1,n&&n(u),o&&o(!1))},[n,o,l]),i=kt(a),c=d.useCallback(u=>{!l.current.isFocusWithin&&document.activeElement===u.target&&(r&&r(u),o&&o(!0),l.current.isFocusWithin=!0,i(u))},[r,o,i]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:c,onBlur:a}}}function Mt(e){let{ref:t,onInteractOutside:n,isDisabled:r,onInteractOutsideStart:o}=e,l=d.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=W(c=>{n&&V(c,t)&&(o&&o(c),l.current.isPointerDown=!0)}),i=W(c=>{n&&n(c)});d.useEffect(()=>{let c=l.current;if(r)return;const u=t.current,s=w(u);if(typeof PointerEvent<"u"){let p=b=>{c.isPointerDown&&V(b,t)&&i(b),c.isPointerDown=!1};return s.addEventListener("pointerdown",a,!0),s.addEventListener("pointerup",p,!0),()=>{s.removeEventListener("pointerdown",a,!0),s.removeEventListener("pointerup",p,!0)}}else{let p=v=>{c.ignoreEmulatedMouseEvents?c.ignoreEmulatedMouseEvents=!1:c.isPointerDown&&V(v,t)&&i(v),c.isPointerDown=!1},b=v=>{c.ignoreEmulatedMouseEvents=!0,c.isPointerDown&&V(v,t)&&i(v),c.isPointerDown=!1};return s.addEventListener("mousedown",a,!0),s.addEventListener("mouseup",p,!0),s.addEventListener("touchstart",a,!0),s.addEventListener("touchend",b,!0),()=>{s.removeEventListener("mousedown",a,!0),s.removeEventListener("mouseup",p,!0),s.removeEventListener("touchstart",a,!0),s.removeEventListener("touchend",b,!0)}}},[t,r,a,i])}function V(e,t){if(e.button>0)return!1;if(e.target){const n=e.target.ownerDocument;if(!n||!n.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function re(e){const t=w(e);if(Lt()==="virtual"){let n=t.activeElement;Tt(()=>{t.activeElement===n&&e.isConnected&&be(e)})}else be(e)}function Dt(e){const t=z(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:r}=e.style,o=n!=="none"&&r!=="hidden"&&r!=="collapse";if(o){const{getComputedStyle:l}=e.ownerDocument.defaultView;let{display:a,visibility:i}=l(e);o=a!=="none"&&i!=="hidden"&&i!=="collapse"}return o}function At(e,t){return!e.hasAttribute("hidden")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function Ae(e,t){return e.nodeName!=="#comment"&&Dt(e)&&At(e,t)&&(!e.parentElement||Ae(e.parentElement,e))}const he=E.default.createContext(null);let $=null;function Rt(e){let{children:t,contain:n,restoreFocus:r,autoFocus:o}=e,l=d.useRef(null),a=d.useRef(null),i=d.useRef([]),{parentNode:c}=d.useContext(he)||{},u=d.useMemo(()=>new oe({scopeRef:i}),[i]);g(()=>{let b=c||h.root;if(h.getTreeNode(b.scopeRef)&&$&&!J($,b.scopeRef)){let v=h.getTreeNode($);v&&(b=v)}b.addChild(u),h.addNode(u)},[u,c]),g(()=>{let b=h.getTreeNode(i);b&&(b.contain=!!n)},[n]),g(()=>{var b;let v=(b=l.current)===null||b===void 0?void 0:b.nextSibling,m=[];for(;v&&v!==a.current;)m.push(v),v=v.nextSibling;i.current=m},[t]),qt(i,r,n),Ht(i,n),_t(i,r,n),jt(i,o),d.useEffect(()=>{const b=w(i.current?i.current[0]:void 0).activeElement;let v=null;if(y(b,i.current)){for(let m of h.traverse())m.scopeRef&&y(b,m.scopeRef.current)&&(v=m);v===h.getTreeNode(i)&&($=v.scopeRef)}},[i]),g(()=>()=>{var b,v,m;let F=(m=(v=h.getTreeNode(i))===null||v===void 0||(b=v.parent)===null||b===void 0?void 0:b.scopeRef)!==null&&m!==void 0?m:null;(i===$||J(i,$))&&(!F||h.getTreeNode(F))&&($=F),h.removeTreeNode(i)},[i]);let s=d.useMemo(()=>It(i),[]),p=d.useMemo(()=>({focusManager:s,parentNode:u}),[u,s]);return E.default.createElement(he.Provider,{value:p},E.default.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:l}),t,E.default.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function It(e){return{focusNext(t={}){let n=e.current,{from:r,tabbable:o,wrap:l,accept:a}=t,i=r||w(n[0]).activeElement,c=n[0].previousElementSibling,u=C(n),s=P(u,{tabbable:o,accept:a},n);s.currentNode=y(i,n)?i:c;let p=s.nextNode();return!p&&l&&(s.currentNode=c,p=s.nextNode()),p&&k(p,!0),p},focusPrevious(t={}){let n=e.current,{from:r,tabbable:o,wrap:l,accept:a}=t,i=r||w(n[0]).activeElement,c=n[n.length-1].nextElementSibling,u=C(n),s=P(u,{tabbable:o,accept:a},n);s.currentNode=y(i,n)?i:c;let p=s.previousNode();return!p&&l&&(s.currentNode=c,p=s.previousNode()),p&&k(p,!0),p},focusFirst(t={}){let n=e.current,{tabbable:r,accept:o}=t,l=C(n),a=P(l,{tabbable:r,accept:o},n);a.currentNode=n[0].previousElementSibling;let i=a.nextNode();return i&&k(i,!0),i},focusLast(t={}){let n=e.current,{tabbable:r,accept:o}=t,l=C(n),a=P(l,{tabbable:r,accept:o},n);a.currentNode=n[n.length-1].nextElementSibling;let i=a.previousNode();return i&&k(i,!0),i}}}const ie=["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]"],Wt=ie.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ie.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const Bt=ie.join(':not([hidden]):not([tabindex="-1"]),');function C(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 Ht(e,t){let n=d.useRef(),r=d.useRef();g(()=>{let o=e.current;if(!t){r.current&&(cancelAnimationFrame(r.current),r.current=void 0);return}const l=w(o?o[0]:void 0);let a=u=>{if(u.key!=="Tab"||u.altKey||u.ctrlKey||u.metaKey||!R(e))return;let s=l.activeElement,p=e.current;if(!p||!y(s,p))return;let b=C(p),v=P(b,{tabbable:!0},p);if(!s)return;v.currentNode=s;let m=u.shiftKey?v.previousNode():v.nextNode();m||(v.currentNode=u.shiftKey?p[p.length-1].nextElementSibling:p[0].previousElementSibling,m=u.shiftKey?v.previousNode():v.nextNode()),u.preventDefault(),m&&k(m,!0)},i=u=>{(!$||J($,e))&&y(u.target,e.current)?($=e,n.current=u.target):R(e)&&!U(u.target,e)?n.current?n.current.focus():$&&$.current&&X($.current):R(e)&&(n.current=u.target)},c=u=>{r.current&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{if(l.activeElement&&R(e)&&!U(l.activeElement,e))if($=e,l.body.contains(u.target)){var s;n.current=u.target,(s=n.current)===null||s===void 0||s.focus()}else $.current&&X($.current)})};return l.addEventListener("keydown",a,!1),l.addEventListener("focusin",i,!1),o==null||o.forEach(u=>u.addEventListener("focusin",i,!1)),o==null||o.forEach(u=>u.addEventListener("focusout",c,!1)),()=>{l.removeEventListener("keydown",a,!1),l.removeEventListener("focusin",i,!1),o==null||o.forEach(u=>u.removeEventListener("focusin",i,!1)),o==null||o.forEach(u=>u.removeEventListener("focusout",c,!1))}},[e,t]),g(()=>()=>{r.current&&cancelAnimationFrame(r.current)},[r])}function Re(e){return U(e)}function y(e,t){return!e||!t?!1:t.some(n=>n.contains(e))}function U(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:n}of h.traverse(h.getTreeNode(t)))if(n&&y(e,n.current))return!0;return!1}function Vt(e){return U(e,$)}function J(e,t){var n;let r=(n=h.getTreeNode(t))===null||n===void 0?void 0:n.parent;for(;r;){if(r.scopeRef===e)return!0;r=r.parent}return!1}function k(e,t=!1){if(e!=null&&!t)try{re(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function X(e,t=!0){let n=e[0].previousElementSibling,r=C(e),o=P(r,{tabbable:t},e);o.currentNode=n;let l=o.nextNode();t&&!l&&(r=C(e),o=P(r,{tabbable:!1},e),o.currentNode=n,l=o.nextNode()),k(l)}function jt(e,t){const n=E.default.useRef(t);d.useEffect(()=>{if(n.current){$=e;const r=w(e.current?e.current[0]:void 0);!y(r.activeElement,$.current)&&e.current&&X(e.current)}n.current=!1},[e])}function qt(e,t,n){g(()=>{if(t||n)return;let r=e.current;const o=w(r?r[0]:void 0);let l=a=>{let i=a.target;y(i,e.current)?$=e:Re(i)||($=null)};return o.addEventListener("focusin",l,!1),r==null||r.forEach(a=>a.addEventListener("focusin",l,!1)),()=>{o.removeEventListener("focusin",l,!1),r==null||r.forEach(a=>a.removeEventListener("focusin",l,!1))}},[e,t,n])}function Kt(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 _t(e,t,n){const r=d.useRef(typeof document<"u"?w(e.current?e.current[0]:void 0).activeElement:null);g(()=>{let o=e.current;const l=w(o?o[0]:void 0);if(!t||n)return;let a=()=>{(!$||J($,e))&&y(l.activeElement,e.current)&&($=e)};return l.addEventListener("focusin",a,!1),o==null||o.forEach(i=>i.addEventListener("focusin",a,!1)),()=>{l.removeEventListener("focusin",a,!1),o==null||o.forEach(i=>i.removeEventListener("focusin",a,!1))}},[e,n]),g(()=>{const o=w(e.current?e.current[0]:void 0);if(!t)return;let l=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!R(e))return;let i=o.activeElement;if(!y(i,e.current))return;let c=h.getTreeNode(e);if(!c)return;let u=c.nodeToRestore,s=P(o.body,{tabbable:!0});s.currentNode=i;let p=a.shiftKey?s.previousNode():s.nextNode();if((!u||!o.body.contains(u)||u===o.body)&&(u=void 0,c.nodeToRestore=void 0),(!p||!y(p,e.current))&&u){s.currentNode=u;do p=a.shiftKey?s.previousNode():s.nextNode();while(y(p,e.current));a.preventDefault(),a.stopPropagation(),p?k(p,!0):Re(u)?k(u,!0):i.blur()}};return n||o.addEventListener("keydown",l,!0),()=>{n||o.removeEventListener("keydown",l,!0)}},[e,t,n]),g(()=>{const o=w(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 i=h.getTreeNode(e);if(!i)return;let c=i.nodeToRestore;if(t&&c&&(y(o.activeElement,e.current)||o.activeElement===o.body&&Kt(e))){let u=h.clone();requestAnimationFrame(()=>{if(o.activeElement===o.body){let s=u.getTreeNode(e);for(;s;){if(s.nodeToRestore&&s.nodeToRestore.isConnected){k(s.nodeToRestore);return}s=s.parent}for(s=u.getTreeNode(e);s;){if(s.scopeRef&&s.scopeRef.current&&h.getTreeNode(s.scopeRef)){X(s.scopeRef.current,!0);return}s=s.parent}}})}}}},[e,t])}function P(e,t,n){let r=t!=null&&t.tabbable?Bt:Wt,o=w(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)&&Ae(l)&&(!n||y(l,n))&&(!(t!=null&&t.accept)||t.accept(l))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t!=null&&t.from&&(o.currentNode=t.from),o}class se{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,n,r){let o=this.fastMap.get(n!=null?n:null);if(!o)return;let l=new oe({scopeRef:t});o.addChild(l),l.parent=o,this.fastMap.set(t,l),r&&(l.nodeToRestore=r)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let n=this.fastMap.get(t);if(!n)return;let r=n.parent;for(let l of this.traverse())l!==n&&n.nodeToRestore&&l.nodeToRestore&&n.scopeRef&&n.scopeRef.current&&y(l.nodeToRestore,n.scopeRef.current)&&(l.nodeToRestore=n.nodeToRestore);let o=n.children;r&&(r.removeChild(n),o.size>0&&o.forEach(l=>r&&r.addChild(l))),this.fastMap.delete(n.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let n of t.children)yield*this.traverse(n)}clone(){var t;let n=new se;var r;for(let o of this.traverse())n.addTreeNode(o.scopeRef,(r=(t=o.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&r!==void 0?r:null,o.nodeToRestore);return n}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 se;const zt=new WeakMap,N=[];function Gt(e,t){let{onClose:n,shouldCloseOnBlur:r,isOpen:o,isDismissable:l=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:i}=e;d.useEffect(()=>(o&&N.push(t),()=>{let m=N.indexOf(t);m>=0&&N.splice(m,1)}),[o,t]);let c=()=>{N[N.length-1]===t&&n&&n()},u=m=>{(!i||i(m.target))&&N[N.length-1]===t&&(m.stopPropagation(),m.preventDefault())},s=m=>{(!i||i(m.target))&&(N[N.length-1]===t&&(m.stopPropagation(),m.preventDefault()),c())},p=m=>{m.key==="Escape"&&!a&&(m.stopPropagation(),m.preventDefault(),c())};Mt({ref:t,onInteractOutside:l&&o?s:null,onInteractOutsideStart:u});let{focusWithinProps:b}=Ot({isDisabled:!r,onBlurWithin:m=>{!m.relatedTarget||Vt(m.relatedTarget)||(!i||i(m.relatedTarget))&&n()}}),v=m=>{m.target===m.currentTarget&&m.preventDefault()};return{overlayProps:{onKeyDown:p,...b},underlayProps:{onPointerDown:v}}}function Ut(e,t,n){let{type:r}=e,{isOpen:o}=t;d.useEffect(()=>{n&&n.current&&zt.set(n.current,t.close)});let l;r==="menu"?l=!0:r==="listbox"&&(l="listbox");let a=ke();return{triggerProps:{"aria-haspopup":l,"aria-expanded":o,"aria-controls":o?a:null,onPress:t.toggle},overlayProps:{id:a}}}const Z=typeof document<"u"&&window.visualViewport,Jt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let j=0,ee;function Xt(e={}){let{isDisabled:t}=e;g(()=>{if(!t)return j++,j===1&&(wt()?ee=Qt():ee=Yt()),()=>{j--,j===0&&ee()}},[t])}function Yt(){return _(M(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),M(document.documentElement,"overflow","hidden"))}function Qt(){let e,t,n=u=>{e=Pe(u.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=M(e,"overscrollBehavior","contain"))},r=u=>{if(!e||e===document.documentElement||e===document.body){u.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&u.preventDefault()},o=u=>{let s=u.target;ge(s)&&s!==document.activeElement&&(u.preventDefault(),i(),s.style.transform="translateY(-2000px)",s.focus(),requestAnimationFrame(()=>{s.style.transform=""})),t&&t()},l=u=>{let s=u.target;ge(s)&&(i(),s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",Z&&(Z.height<window.innerHeight?requestAnimationFrame(()=>{Ee(s)}):Z.addEventListener("resize",()=>Ee(s),{once:!0}))}))},a=null,i=()=>{if(a)return;let u=()=>{window.scrollTo(0,0)},s=window.pageXOffset,p=window.pageYOffset;a=_(D(window,"scroll",u),M(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),M(document.documentElement,"overflow","hidden"),M(document.body,"marginTop",`-${p}px`),()=>{window.scrollTo(s,p)}),window.scrollTo(0,0)},c=_(D(document,"touchstart",n,{passive:!1,capture:!0}),D(document,"touchmove",r,{passive:!1,capture:!0}),D(document,"touchend",o,{passive:!1,capture:!0}),D(document,"focus",l,!0));return()=>{t==null||t(),a==null||a(),c()}}function M(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function D(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function Ee(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=Pe(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let r=n.getBoundingClientRect().top,o=e.getBoundingClientRect().top;o>r+e.clientHeight&&(n.scrollTop+=o-r)}e=n.parentElement}}function ge(e){return e instanceof HTMLInputElement&&!Jt.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let A=new WeakMap,S=[];function Zt(e,t=document.body){let n=new Set(e),r=new Set,o=c=>{for(let b of c.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))n.add(b);let u=b=>{if(n.has(b)||r.has(b.parentElement)&&b.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let v of n)if(b.contains(v))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},s=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,{acceptNode:u}),p=u(c);if(p===NodeFilter.FILTER_ACCEPT&&l(c),p!==NodeFilter.FILTER_REJECT){let b=s.nextNode();for(;b!=null;)l(b),b=s.nextNode()}},l=c=>{var u;let s=(u=A.get(c))!==null&&u!==void 0?u:0;c.getAttribute("aria-hidden")==="true"&&s===0||(s===0&&c.setAttribute("aria-hidden","true"),r.add(c),A.set(c,s+1))};S.length&&S[S.length-1].disconnect(),o(t);let a=new MutationObserver(c=>{for(let u of c)if(!(u.type!=="childList"||u.addedNodes.length===0)&&![...n,...r].some(s=>s.contains(u.target))){for(let s of u.removedNodes)s instanceof Element&&(n.delete(s),r.delete(s));for(let s of u.addedNodes)(s instanceof HTMLElement||s instanceof SVGElement)&&(s.dataset.liveAnnouncer==="true"||s.dataset.reactAriaTopLayer==="true")?n.add(s):s instanceof Element&&o(s)}});a.observe(t,{childList:!0,subtree:!0});let i={observe(){a.observe(t,{childList:!0,subtree:!0})},disconnect(){a.disconnect()}};return S.push(i),()=>{a.disconnect();for(let c of r){let u=A.get(c);u===1?(c.removeAttribute("aria-hidden"),A.delete(c)):A.set(c,u-1)}i===S[S.length-1]?(S.pop(),S.length&&S[S.length-1].observe()):S.splice(S.indexOf(i),1)}}const Ie=E.default.createContext(null);function en(e){let t=xe(),{portalContainer:n=t?null:document.body,isExiting:r}=e,[o,l]=d.useState(!1),a=d.useMemo(()=>({contain:o,setContain:l}),[o,l]);if(!n)return null;let i=e.children;return e.disableFocusManagement||(i=E.default.createElement(Rt,{restoreFocus:!0,contain:o&&!r},i)),i=E.default.createElement(Ie.Provider,{value:a},E.default.createElement(xt,null,i)),Ge.default.createPortal(i,n)}function We(){let e=d.useContext(Ie),t=e==null?void 0:e.setContain;g(()=>{t==null||t(!0)},[t])}function tn(e,t,n){let{overlayProps:r,underlayProps:o}=Gt({...e,isOpen:t.isOpen,onClose:t.close},n);return Xt({isDisabled:!t.isOpen}),We(),d.useEffect(()=>{if(t.isOpen)return Zt([n.current])},[t.isOpen,n]),{modalProps:ut(r),underlayProps:o}}function nn(e,t){let{role:n="dialog"}=e,r=st();r=e["aria-label"]?void 0:r;let o=d.useRef(!1);return d.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){re(t.current);let l=setTimeout(()=>{document.activeElement===t.current&&(o.current=!0,t.current&&(t.current.blur(),re(t.current)),o.current=!1)},500);return()=>{clearTimeout(l)}}},[t]),We(),{dialogProps:{...bt(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||r,onBlur:l=>{o.current&&l.stopPropagation()}},titleProps:{id:r}}}function rn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function we(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ye(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?we(Object(n),!0).forEach(function(r){rn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):we(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var on=(e,t,n)=>{for(var r of Object.keys(e)){var o;if(e[r]!==((o=t[r])!==null&&o!==void 0?o:n[r]))return!1}return!0},an=e=>t=>{var n=e.defaultClassName,r=ye(ye({},e.defaultVariants),t);for(var o in r){var l,a=(l=r[o])!==null&&l!==void 0?l:e.defaultVariants[o];if(a!=null){var i=a;typeof i=="boolean"&&(i=i===!0?"true":"false");var c=e.variantClassNames[o][i];c&&(n+=" "+c)}}for(var[u,s]of e.compoundVariants)on(u,r,e.defaultVariants)&&(n+=" "+s);return n},ln=an({defaultClassName:"_1io4psq1",variantClassNames:{fullWidth:{true:"_1io4psq2",false:"_1io4psq3"}},defaultVariants:{},compoundVariants:[]}),sn="_1io4psq5",un="_1io4psq6",cn="_1io4psq0",dn="_1io4psq9",fn="_1io4psqa",pn="_1io4psq8",bn="_1io4psq4",vn="_1io4psq7";function ue({children:e,className:t="",...n}){return f.createElement("div",{className:T.cl(pn,t),...n},f.createElement("div",{className:T.cl(dn)},f.createElement("div",{className:T.cl(fn)},e)))}T.Metadata.set(ue,{name:"FocusedTaskActions"});function mn({children:e,className:t,"data-testid":n,onBlur:r,onFocus:o,overlayProps:l,state:a,onClose:i,fullWidth:c=!1,...u}){const s=f.useRef(null),{modalProps:p,underlayProps:b}=tn({...u},a,s),{dialogProps:v,titleProps:m}=nn(u,s),F=T.combineEventHandlers(p.onFocus,v.onFocus,o),Be=T.combineEventHandlers(p.onBlur,v.onBlur,r),He=T.useChildTestIdAttrBuilder({"data-testid":n}),[Y,Ve]=T.selectChildren(e,[{type:ue}]);function je(){i&&typeof i=="function"&&i(),a.close()}const de=function(){return f.createElement(Ke.Button,{"aria-label":"Close",onClick:je,kind:"icon",icon:"x",className:sn})},qe=T.modChildren(Ve,fe=>fe.type===de?[{className:T.cl(fe.props.classname,un)}]:[]);return f.createElement(en,null,f.createElement("div",{className:vn,...b,...u},f.createElement("div",{...p,...v,...l,onFocus:F,onBlur:Be,...He("dialog"),ref:s,className:T.cl(cn,t)},f.createElement("div",{...m,className:bn},f.createElement(de,null)),f.createElement("div",{className:ln({fullWidth:c})},T.contentOf(qe,a.close)),Y&&Y.length>0&&f.createElement(f.Fragment,null,T.contentOf(Y,a.close)))))}function ce(e){return e.state.isOpen?f.createElement(mn,{...e},e.children):f.createElement(f.Fragment,null)}T.Metadata.set(ce,{name:"FocusedTask",props:{fullWidth:{type:"boolean",default:"false"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"}}});function $n(e){let[t,n]=Ue(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const r=d.useCallback(()=>{n(!0)},[n]),o=d.useCallback(()=>{n(!1)},[n]),l=d.useCallback(()=>{n(!t)},[n,t]);return{isOpen:t,setOpen:n,open:r,close:o,toggle:l}}function hn(e={}){const t=$n(e),n=d.useRef(null),{triggerProps:r,overlayProps:o}=Ut({type:"dialog"},t,n),{onPress:l,...a}=r;return{triggerProps:{...a,onClick:l,ref:n},focusedTaskState:t,focusedTaskProps:{overlayProps:o,state:t}}}const En={components:[ce],examples:{hooks:{label:"Using the Hook",description:()=>f.createElement(f.Fragment,null,f.createElement("p",null,"To use the focused task component, you must call the ",f.createElement("code",null,"useFocusedTask")," hook. Optional arguments for this hook include:"),f.createElement("dl",null,f.createElement("dt",null,f.createElement("code",null,"isOpen"),": boolean"),f.createElement("dd",null,"Whether the overlay is open by default (controlled)"),f.createElement("dt",null,f.createElement("code",null,"defaultOpen"),": boolean"),f.createElement("dd",null,"Whether the overlay is open by default (uncontrolled)."),f.createElement("dt",null,f.createElement("code",null,"onOpenChange"),": function"),f.createElement("dd",null,"Handler that is called when the overlay's open state changes.",f.createElement("code",null,"(isOpen: boolean) => void"))),f.createElement("h5",null,"Focused Task Props, Focused Task State, and Trigger Props"),f.createElement("p",null,"The ",f.createElement("code",null,"useFocusedTask")," returns an object with ",f.createElement("code",null,"focusedTaskProps"),","," ",f.createElement("code",null,"focusedTaskState")," and ",f.createElement("code",null,"triggerProps")),f.createElement("p",null,"The ",f.createElement("code",null,"triggerProps")," need to be spread on the element that triggers the focused task."),f.createElement("p",null,"The ",f.createElement("code",null,"focusedTaskState")," object (which is also included in ",f.createElement("code",null,"focusedTaskProps"),") allows programmatic access to the state of the focused task. This includes a read only"," ",f.createElement("code",null,"isOpen")," property, a ",f.createElement("code",null,"setOpen(isOpen: boolean)")," method which can be use to set whether the overlay is open, an ",f.createElement("code",null,"open()")," method which opens the overlay, a ",f.createElement("code",null,"close()")," method which closes the overlay and a"," ",f.createElement("code",null,"toggle()")," method that toggles the overlay's visiblity."),f.createElement("p",null,"The ",f.createElement("code",null,"focusedTaskProps")," should be spread on the actual ",f.createElement("code",null,"FocusedTask")," component."),f.createElement("p",null,"Please refer to the examples to see its implementation"))},standard:{label:"Standard",examples:{basic:{react:pe.code`
2
2
  import { FocusedTask, FocusedTaskActions, useFocusedTask } from "@sps-woodland/focused-task";
3
3
  import { Button } from "@sps-woodland/buttons";
4
4
  import { Card } from "@sps-woodland/cards";
@@ -36,7 +36,7 @@
36
36
  </>
37
37
  )
38
38
  }
39
- `}}},fullWidth:{label:"Fill Width",examples:{basic:{react:ce.code`
39
+ `}}},fullWidth:{label:"Fill Width",examples:{basic:{react:pe.code`
40
40
  import { FocusedTask, FocusedTaskActions, useFocusedTask } from "@sps-woodland/focused-task";
41
41
  import { Button } from "@sps-woodland/buttons";
42
42
  import { Card } from "@sps-woodland/cards";
@@ -75,4 +75,4 @@
75
75
  </>
76
76
  )
77
77
  }
78
- `}}}}},$n={"Focused Task":vn};exports.FocusedTask=le;exports.FocusedTaskActions=ae;exports.MANIFEST=$n;exports.useFocusedTask=bn;
78
+ `}}}}},gn={"Focused Task":En};exports.FocusedTask=ce;exports.FocusedTaskActions=ue;exports.MANIFEST=gn;exports.useFocusedTask=hn;