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