@sps-woodland/focused-task 8.1.0 → 8.1.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,5 +1,5 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("@sps-woodland/core"),Be=require("@sps-woodland/buttons"),f=require("react"),We=require("react-dom"),se=require("@spscommerce/utils"),we=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function Ve(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=we(f),E=Ve(f),He=we(We);function qe(e,t,n){let[r,o]=f.useState(e||t),a=f.useRef(e!==void 0),i=e!==void 0;f.useEffect(()=>{let s=a.current;s!==i&&console.warn(`WARN: A component changed from ${s?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}.`),a.current=i},[i]);let u=i?e:r,l=f.useCallback((s,...c)=>{let p=(d,...b)=>{n&&(Object.is(u,d)||n(d,...b)),i||(u=d)};typeof s=="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,...m)=>{let N=s(i?u:b,...m);return p(N,...c),i?b:N})):(i||o(s),p(s,...c))},[i,u,n]);return[u,l]}const H={prefix:String(Math.round(Math.random()*1e10)),current:0},ye=g.default.createContext(H),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(ye),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 i=Y.get(a);i==null?Y.set(a,{id:t.current,state:a.memoizedState}):a.memoizedState!==i.state&&(t.current=i.id,Y.delete(a))}n.current=++t.current}return n.current}function ze(e){let t=f.useContext(ye);t===H&&!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===H&&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${H.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 xe(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=xe(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=xe(e))&&(r&&(r+=" "),r+=t);return r}const h=typeof document<"u"?g.default.useLayoutEffect:()=>{};function A(e){const t=f.useRef(null);return h(()=>{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 i=r.current.next();if(i.done){r.current=null;return}t===i.value?o():n(i.value)});h(()=>{r.current&&o()});let a=A(i=>{r.current=i(t),o()});return[t,a]}let et=Boolean(typeof window<"u"&&window.document&&window.document.createElement),q=new Map;function Se(e){let[t,n]=f.useState(e),r=f.useRef(null),o=Ye(t),a=f.useCallback(i=>{r.current=i},[]);return et&&q.set(o,a),h(()=>{let i=o;return()=>{q.delete(i)}},[o]),f.useEffect(()=>{let i=r.current;i&&(r.current=null,n(i))}),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=Se(),[n,r]=Ze(t),o=f.useCallback(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return h(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],i=r[o];typeof a=="function"&&typeof i=="function"&&o[0]==="o"&&o[1]==="n"&&o.charCodeAt(2)>=65&&o.charCodeAt(2)<=90?t[o]=K(a,i):(o==="className"||o==="UNSAFE_className")&&typeof a=="string"&&typeof i=="string"?t[o]=Qe(a,i):o==="id"&&a&&i?t.id=tt(a,i):t[o]=i!==void 0?i:a}}return t}const at=new Set(["id"]),it=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),lt=new Set(["href","target","rel","download","ping","referrerPolicy"]),ut=/^(data-.*)$/;function st(e,t={}){let{labelable:n,isLink:r,propNames:o}=t,a={};for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(at.has(i)||n&&it.has(i)||r&&lt.has(i)||(o==null?void 0:o.has(i))||ut.test(i))&&(a[i]=e[i]);return a}function ce(e){if(ct())e.focus({preventScroll:!0});else{let t=dt(e);e.focus(),ft(t)}}let B=null;function ct(){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 bt(){return te(/^iPhone/i)}function mt(){return te(/^iPad/i)||Ne()&&navigator.maxTouchPoints>1}function vt(){return bt()||mt()}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 gt(e){requestAnimationFrame(()=>{L.size===0?e():X.add(e)})}function Fe(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 ht(e){return e.mozInputSource===0&&e.isTrusted?!0:$t()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}const Ce=g.default.createContext({register:()=>{}});Ce.displayName="PressResponderContext";function Et({children:e}){let t=f.useMemo(()=>({register:()=>{}}),[]);return g.default.createElement(Ce.Provider,{value:t},e)}class wt{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 yt(e){let t=f.useRef({isFocused:!1,observer:null});h(()=>{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=i=>{t.current.isFocused=!1,o.disabled&&n(new wt("blur",i)),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 i;(i=t.current.observer)===null||i===void 0||i.disconnect();let u=o===document.activeElement?null:document.activeElement;o.dispatchEvent(new FocusEvent("blur",{relatedTarget:u})),o.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:u}))}}),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 xt(e){return!(e.metaKey||!Ne()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function be(e){P=!0,xt(e)&&(I="keyboard",ne("keyboard",e))}function k(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(P=!0,ne("pointer",e))}function St(e){ht(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 Ft(){P=!1,Q=!0}function me(){if(typeof window>"u"||pe)return;let e=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(){P=!0,e.apply(this,arguments)},document.addEventListener("keydown",be,!0),document.addEventListener("keyup",be,!0),document.addEventListener("click",St,!0),window.addEventListener("focus",Nt,!0),window.addEventListener("blur",Ft,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",k,!0),document.addEventListener("pointermove",k,!0),document.addEventListener("pointerup",k,!0)):(document.addEventListener("mousedown",k,!0),document.addEventListener("mousemove",k,!0),document.addEventListener("mouseup",k,!0)),pe=!0}typeof document<"u"&&(document.readyState!=="loading"?me():document.addEventListener("DOMContentLoaded",me));function Ct(){return I}function Pt(e){let{isDisabled:t,onBlurWithin:n,onFocusWithin:r,onFocusWithinChange:o}=e,a=f.useRef({isFocusWithin:!1}),i=f.useCallback(s=>{a.current.isFocusWithin&&!s.currentTarget.contains(s.relatedTarget)&&(a.current.isFocusWithin=!1,n&&n(s),o&&o(!1))},[n,o,a]),u=yt(i),l=f.useCallback(s=>{!a.current.isFocusWithin&&document.activeElement===s.target&&(r&&r(s),o&&o(!0),a.current.isFocusWithin=!0,u(s))},[r,o,u]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:l,onBlur:i}}}function kt(e){let{ref:t,onInteractOutside:n,isDisabled:r,onInteractOutsideStart:o}=e,a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),i=A(l=>{n&&W(l,t)&&(o&&o(l),a.current.isPointerDown=!0)}),u=A(l=>{n&&n(l)});f.useEffect(()=>{let l=a.current;if(r)return;const s=t.current,c=rt(s);if(typeof PointerEvent<"u"){let p=d=>{l.isPointerDown&&W(d,t)&&u(d),l.isPointerDown=!1};return c.addEventListener("pointerdown",i,!0),c.addEventListener("pointerup",p,!0),()=>{c.removeEventListener("pointerdown",i,!0),c.removeEventListener("pointerup",p,!0)}}else{let p=b=>{l.ignoreEmulatedMouseEvents?l.ignoreEmulatedMouseEvents=!1:l.isPointerDown&&W(b,t)&&u(b),l.isPointerDown=!1},d=b=>{l.ignoreEmulatedMouseEvents=!0,l.isPointerDown&&W(b,t)&&u(b),l.isPointerDown=!1};return c.addEventListener("mousedown",i,!0),c.addEventListener("mouseup",p,!0),c.addEventListener("touchstart",i,!0),c.addEventListener("touchend",d,!0),()=>{c.removeEventListener("mousedown",i,!0),c.removeEventListener("mouseup",p,!0),c.removeEventListener("touchstart",i,!0),c.removeEventListener("touchend",d,!0)}}},[t,r,i,u])}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(Ct()==="virtual"){let t=document.activeElement;gt(()=>{document.activeElement===t&&document.contains(e)&&ce(e)})}else ce(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:i}=o(e);r=a!=="none"&&i!=="hidden"&&i!=="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 v=null;function Mt(e){let{children:t,contain:n,restoreFocus:r,autoFocus:o}=e,a=f.useRef(null),i=f.useRef(null),u=f.useRef([]),{parentNode:l}=f.useContext(ve)||{},s=f.useMemo(()=>new ee({scopeRef:u}),[u]);h(()=>{let d=l||$.root;if($.getTreeNode(d.scopeRef)&&v&&!_(v,d.scopeRef)){let b=$.getTreeNode(v);b&&(d=b)}d.addChild(s),$.addNode(s)},[s,l]),h(()=>{let d=$.getTreeNode(u);d&&(d.contain=!!n)},[n]),h(()=>{var d;let b=(d=a.current)===null||d===void 0?void 0:d.nextSibling,m=[];for(;b&&b!==i.current;)m.push(b),b=b.nextSibling;u.current=m},[t]),Vt(u,r,n),It(u,n),qt(u,r,n),Wt(u,o),f.useEffect(()=>{let d=document.activeElement,b=null;if(w(d,u.current)){for(let m of $.traverse())m.scopeRef&&w(d,m.scopeRef.current)&&(b=m);b===$.getTreeNode(u)&&(v=b.scopeRef)}},[u]),h(()=>()=>{var d,b,m;let N=(m=(b=$.getTreeNode(u))===null||b===void 0||(d=b.parent)===null||d===void 0?void 0:d.scopeRef)!==null&&m!==void 0?m:null;(u===v||_(u,v))&&(!N||$.getTreeNode(N))&&(v=N),$.removeTreeNode(u)},[u]);let c=f.useMemo(()=>Rt(u),[]),p=f.useMemo(()=>({focusManager:c,parentNode:s}),[s,c]);return g.default.createElement(ve.Provider,{value:p},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:i}))}function Rt(e){return{focusNext(t={}){let n=e.current,{from:r,tabbable:o,wrap:a,accept:i}=t,u=r||document.activeElement,l=n[0].previousElementSibling,s=C(n),c=F(s,{tabbable:o,accept:i},n);c.currentNode=w(u,n)?u:l;let p=c.nextNode();return!p&&a&&(c.currentNode=l,p=c.nextNode()),p&&S(p,!0),p},focusPrevious(t={}){let n=e.current,{from:r,tabbable:o,wrap:a,accept:i}=t,u=r||document.activeElement,l=n[n.length-1].nextElementSibling,s=C(n),c=F(s,{tabbable:o,accept:i},n);c.currentNode=w(u,n)?u:l;let p=c.previousNode();return!p&&a&&(c.currentNode=l,p=c.previousNode()),p&&S(p,!0),p},focusFirst(t={}){let n=e.current,{tabbable:r,accept:o}=t,a=C(n),i=F(a,{tabbable:r,accept:o},n);i.currentNode=n[0].previousElementSibling;let u=i.nextNode();return u&&S(u,!0),u},focusLast(t={}){let n=e.current,{tabbable:r,accept:o}=t,a=C(n),i=F(a,{tabbable:r,accept:o},n);i.currentNode=n[n.length-1].nextElementSibling;let u=i.previousNode();return u&&S(u,!0),u}}}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 C(e){return e[0].parentElement}function R(e){let t=$.getTreeNode(v);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();h(()=>{let o=e.current;if(!t){r.current&&(cancelAnimationFrame(r.current),r.current=void 0);return}let a=l=>{if(l.key!=="Tab"||l.altKey||l.ctrlKey||l.metaKey||!R(e))return;let s=document.activeElement,c=e.current;if(!c||!w(s,c))return;let p=C(c),d=F(p,{tabbable:!0},c);if(!s)return;d.currentNode=s;let b=l.shiftKey?d.previousNode():d.nextNode();b||(d.currentNode=l.shiftKey?c[c.length-1].nextElementSibling:c[0].previousElementSibling,b=l.shiftKey?d.previousNode():d.nextNode()),l.preventDefault(),b&&S(b,!0)},i=l=>{(!v||_(v,e))&&w(l.target,e.current)?(v=e,n.current=l.target):R(e)&&!j(l.target,e)?n.current?n.current.focus():v&&v.current&&z(v.current):R(e)&&(n.current=l.target)},u=l=>{r.current&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{if(document.activeElement&&R(e)&&!j(document.activeElement,e))if(v=e,document.body.contains(l.target)){var s;n.current=l.target,(s=n.current)===null||s===void 0||s.focus()}else v.current&&z(v.current)})};return document.addEventListener("keydown",a,!1),document.addEventListener("focusin",i,!1),o==null||o.forEach(l=>l.addEventListener("focusin",i,!1)),o==null||o.forEach(l=>l.addEventListener("focusout",u,!1)),()=>{document.removeEventListener("keydown",a,!1),document.removeEventListener("focusin",i,!1),o==null||o.forEach(l=>l.removeEventListener("focusin",i,!1)),o==null||o.forEach(l=>l.removeEventListener("focusout",u,!1))}},[e,t]),h(()=>()=>{r.current&&cancelAnimationFrame(r.current)},[r])}function ke(e){return j(e)}function w(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 $.traverse($.getTreeNode(t)))if(n&&w(e,n.current))return!0;return!1}function Bt(e){return j(e,v)}function _(e,t){var n;let r=(n=$.getTreeNode(t))===null||n===void 0?void 0:n.parent;for(;r;){if(r.scopeRef===e)return!0;r=r.parent}return!1}function S(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=C(e),o=F(r,{tabbable:t},e);o.currentNode=n;let a=o.nextNode();t&&!a&&(r=C(e),o=F(r,{tabbable:!1},e),o.currentNode=n,a=o.nextNode()),S(a)}function Wt(e,t){const n=g.default.useRef(t);f.useEffect(()=>{n.current&&(v=e,!w(document.activeElement,v.current)&&e.current&&z(e.current)),n.current=!1},[e])}function Vt(e,t,n){h(()=>{if(t||n)return;let r=e.current,o=a=>{let i=a.target;w(i,e.current)?v=e:ke(i)||(v=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 Ht(e){let t=$.getTreeNode(v);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);h(()=>{let o=e.current;if(!t||n)return;let a=()=>{(!v||_(v,e))&&w(document.activeElement,e.current)&&(v=e)};return document.addEventListener("focusin",a,!1),o==null||o.forEach(i=>i.addEventListener("focusin",a,!1)),()=>{document.removeEventListener("focusin",a,!1),o==null||o.forEach(i=>i.removeEventListener("focusin",a,!1))}},[e,n]),h(()=>{if(!t)return;let o=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!R(e))return;let i=document.activeElement;if(!w(i,e.current))return;let u=$.getTreeNode(e);if(!u)return;let l=u.nodeToRestore,s=F(document.body,{tabbable:!0});s.currentNode=i;let c=a.shiftKey?s.previousNode():s.nextNode();if((!l||!document.body.contains(l)||l===document.body)&&(l=void 0,u.nodeToRestore=void 0),(!c||!w(c,e.current))&&l){s.currentNode=l;do c=a.shiftKey?s.previousNode():s.nextNode();while(w(c,e.current));a.preventDefault(),a.stopPropagation(),c?S(c,!0):ke(l)?S(l,!0):i.blur()}};return n||document.addEventListener("keydown",o,!0),()=>{n||document.removeEventListener("keydown",o,!0)}},[e,t,n]),h(()=>{if(!t)return;let o=$.getTreeNode(e);if(!!o){var a;return o.nodeToRestore=(a=r.current)!==null&&a!==void 0?a:void 0,()=>{let i=$.getTreeNode(e);if(!i)return;let u=i.nodeToRestore;if(t&&u&&(w(document.activeElement,e.current)||document.activeElement===document.body&&Ht(e))){let l=$.clone();requestAnimationFrame(()=>{if(document.activeElement===document.body){let s=l.getTreeNode(e);for(;s;){if(s.nodeToRestore&&document.body.contains(s.nodeToRestore)){S(s.nodeToRestore);return}s=s.parent}for(s=l.getTreeNode(e);s;){if(s.scopeRef&&s.scopeRef.current&&$.getTreeNode(s.scopeRef)){z(s.scopeRef.current,!0);return}s=s.parent}}})}}}},[e,t])}function F(e,t,n){let r=t!=null&&t.tabbable?At:Dt,o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(a){var i;return!(t==null||(i=t.from)===null||i===void 0)&&i.contains(a)?NodeFilter.FILTER_REJECT:a.matches(r)&&Pe(a)&&(!n||w(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&&w(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 $=new oe;const Kt=new WeakMap,x=[];function jt(e,t){let{onClose:n,shouldCloseOnBlur:r,isOpen:o,isDismissable:a=!1,isKeyboardDismissDisabled:i=!1,shouldCloseOnInteractOutside:u}=e;f.useEffect(()=>(o&&x.push(t),()=>{let m=x.indexOf(t);m>=0&&x.splice(m,1)}),[o,t]);let l=()=>{x[x.length-1]===t&&n&&n()},s=m=>{(!u||u(m.target))&&x[x.length-1]===t&&(m.stopPropagation(),m.preventDefault())},c=m=>{(!u||u(m.target))&&(x[x.length-1]===t&&(m.stopPropagation(),m.preventDefault()),l())},p=m=>{m.key==="Escape"&&!i&&(m.stopPropagation(),m.preventDefault(),l())};kt({ref:t,onInteractOutside:a&&o?c:null,onInteractOutsideStart:s});let{focusWithinProps:d}=Pt({isDisabled:!r,onBlurWithin:m=>{!m.relatedTarget||Bt(m.relatedTarget)||(!u||u(m.relatedTarget))&&n()}}),b=m=>{m.target===m.currentTarget&&m.preventDefault()};return{overlayProps:{onKeyDown:p,...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 i=Se();return{triggerProps:{"aria-haspopup":a,"aria-expanded":o,"aria-controls":o?i:null,onPress:t.toggle},overlayProps:{id:i}}}const U=typeof document<"u"&&window.visualViewport,zt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let V=0,J;function Gt(e={}){let{isDisabled:t}=e;h(()=>{if(!t)return V++,V===1&&(vt()?J=Ut():J=Yt()),()=>{V--,V===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=p=>{e=Fe(p.target),!(e===document.documentElement&&e===document.body)&&(t=p.changedTouches[0].pageY)},r=p=>{if(!e||e===document.documentElement||e===document.body){p.preventDefault();return}let d=p.changedTouches[0].pageY,b=e.scrollTop,m=e.scrollHeight-e.clientHeight;m!==0&&((b<=0&&d>t||b>=m&&d<t)&&p.preventDefault(),t=d)},o=p=>{let d=p.target;ge(d)&&d!==document.activeElement&&(p.preventDefault(),d.style.transform="translateY(-2000px)",d.focus(),requestAnimationFrame(()=>{d.style.transform=""}))},a=p=>{let d=p.target;ge(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}))}))},i=()=>{window.scrollTo(0,0)},u=window.pageXOffset,l=window.pageYOffset,s=K(D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"),D(document.body,"marginTop",`-${l}px`));window.scrollTo(0,0);let c=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",i));return()=>{s(),c(),window.scrollTo(u,l)}}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=Fe(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&&!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=l=>{for(let d of l.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))n.add(d);let s=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},c=document.createTreeWalker(l,NodeFilter.SHOW_ELEMENT,{acceptNode:s}),p=s(l);if(p===NodeFilter.FILTER_ACCEPT&&a(l),p!==NodeFilter.FILTER_REJECT){let d=c.nextNode();for(;d!=null;)a(d),d=c.nextNode()}},a=l=>{var s;let c=(s=M.get(l))!==null&&s!==void 0?s:0;l.getAttribute("aria-hidden")==="true"&&c===0||(c===0&&l.setAttribute("aria-hidden","true"),r.add(l),M.set(l,c+1))};T.length&&T[T.length-1].disconnect(),o(t);let i=new MutationObserver(l=>{for(let s of l)if(!(s.type!=="childList"||s.addedNodes.length===0)&&![...n,...r].some(c=>c.contains(s.target))){for(let c of s.removedNodes)c instanceof Element&&(n.delete(c),r.delete(c));for(let c of s.addedNodes)(c instanceof HTMLElement||c instanceof SVGElement)&&(c.dataset.liveAnnouncer==="true"||c.dataset.reactAriaTopLayer==="true")?n.add(c):c instanceof Element&&o(c)}});i.observe(t,{childList:!0,subtree:!0});let u={observe(){i.observe(t,{childList:!0,subtree:!0})},disconnect(){i.disconnect()}};return T.push(u),()=>{i.disconnect();for(let l of r){let s=M.get(l);s===1?(l.removeAttribute("aria-hidden"),M.delete(l)):M.set(l,s-1)}u===T[T.length-1]?(T.pop(),T.length&&T[T.length-1].observe()):T.splice(T.indexOf(u),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),i=f.useMemo(()=>({contain:o,setContain:a}),[o,a]);if(!n)return null;let u=e.children;return e.disableFocusManagement||(u=g.default.createElement(Mt,{restoreFocus:!0,contain:o&&!r},u)),u=g.default.createElement(Le.Provider,{value:i},g.default.createElement(Et,null,u)),He.default.createPortal(u,n)}function Oe(){let e=f.useContext(Le),t=e==null?void 0:e.setContain;h(()=>{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:{...st(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 he(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?he(Object(n),!0).forEach(function(r){en(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):he(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,i=(a=r[o])!==null&&a!==void 0?a:e.defaultVariants[o];if(i!=null){var u=i;typeof u=="boolean"&&(u=u===!0?"true":"false");var l=e.variantClassNames[o][u];l&&(n+=" "+l)}}for(var[s,c]of e.compoundVariants)tn(s,r,e.defaultVariants)&&(n+=" "+c);return n},rn=nn({defaultClassName:"_1io4psq1",variantClassNames:{fullWidth:{true:"_1io4psq2",false:"_1io4psq3"}},defaultVariants:{},compoundVariants:[]}),on="_1io4psq5",an="_1io4psq6",ln="_1io4psq0",un="_1io4psq9",sn="_1io4psqa",cn="_1io4psq8",dn="_1io4psq4",fn="_1io4psq7";function ae({children:e,className:t="",...n}){return E.createElement("div",{className:y.cl(cn,t),...n},E.createElement("div",{className:y.cl(un)},E.createElement("div",{className:y.cl(sn)},e)))}y.Metadata.set(ae,{name:"FocusedTaskActions"});function pn({children:e,className:t,"data-testid":n,onBlur:r,onFocus:o,overlayProps:a,state:i,onClose:u,fullWidth:l=!1,...s}){const c=E.useRef(null),{modalProps:p,underlayProps:d}=Qt({...s},i,c),{dialogProps:b,titleProps:m}=Zt(s,c),N=y.combineEventHandlers(p.onFocus,b.onFocus,o),Me=y.combineEventHandlers(p.onBlur,b.onBlur,r),Re=y.useChildTestIdAttrBuilder({"data-testid":n}),[G,De]=y.selectChildren(e,[{type:ae}]);function Ae(){u&&typeof u=="function"&&u(),i.close()}const le=function(){return E.createElement(Be.Button,{"aria-label":"Close",onClick:Ae,kind:"icon",icon:"x",className:on})},Ie=y.modChildren(De,ue=>ue.type===le?[{className:y.cl(ue.props.classname,an)}]:[]);return E.createElement(Xt,null,E.createElement("div",{className:fn,...d,...s},E.createElement("div",{...p,...b,...a,onFocus:N,onBlur:Me,...Re("dialog"),ref:c,className:y.cl(ln,t)},E.createElement("div",{...m,className:dn},E.createElement(le,null)),E.createElement("div",{className:rn({fullWidth:l})},y.contentOf(Ie,i.close)),G&&G.length>0&&E.createElement(E.Fragment,null,y.contentOf(G,i.close)))))}function ie(e){return e.state.isOpen?E.createElement(pn,{...e},e.children):E.createElement(E.Fragment,null)}y.Metadata.set(ie,{name:"FocusedTask",props:{fullWidth:{type:"boolean",default:"false"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"}}});function bn(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 mn(e={}){const t=bn(e),n=f.useRef(null),{triggerProps:r,overlayProps:o}=_t({type:"dialog"},t,n),{onPress:a,...i}=r;return{triggerProps:{...i,onClick:a,ref:n},focusedTaskState:t,focusedTaskProps:{overlayProps:o,state:t}}}const vn={components:[ie],examples:{standard:{label:"Standard",examples:{basic:{react:se.code`
2
- import { FocusedTask, FocusedTaskActions } from "@sps-woodland/focused-task";
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`
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";
5
5
  import { grid } from "@sps-woodland/tokens";
@@ -36,8 +36,8 @@
36
36
  </>
37
37
  )
38
38
  }
39
- `}}},fullWidth:{label:"Fill Width",examples:{basic:{react:se.code`
40
- import { FocusedTask, FocusedTaskActions } from "@sps-woodland/focused-task";
39
+ `}}},fullWidth:{label:"Fill Width",examples:{basic:{react:ce.code`
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";
43
43
  import { grid } from "@sps-woodland/tokens";
@@ -75,4 +75,4 @@
75
75
  </>
76
76
  )
77
77
  }
78
- `}}}}},$n={"Focused Task":vn};exports.FocusedTask=ie;exports.FocusedTaskActions=ae;exports.MANIFEST=$n;exports.useFocusedTask=mn;
78
+ `}}}}},$n={"Focused Task":vn};exports.FocusedTask=le;exports.FocusedTaskActions=ae;exports.MANIFEST=$n;exports.useFocusedTask=bn;