@sps-woodland/focused-task 8.20.17 → 8.21.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.
@@ -1326,7 +1326,7 @@ var $n = (e, t, n) => {
1326
1326
  for (var [l, s] of e.compoundVariants)
1327
1327
  $n(l, r, e.defaultVariants) && (n += " " + s);
1328
1328
  return n;
1329
- }, En = hn({ defaultClassName: "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq1", variantClassNames: { fullWidth: { true: "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq2", false: "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq3" } }, defaultVariants: {}, compoundVariants: [] }), gn = "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq5", wn = "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq0", yn = "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq9", Tn = "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psqa", xn = "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq8", kn = "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq4", Sn = "pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq7";
1329
+ }, En = hn({ defaultClassName: "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq1", variantClassNames: { fullWidth: { true: "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq2", false: "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq3" } }, defaultVariants: {}, compoundVariants: [] }), gn = "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq5", wn = "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq0", yn = "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq9", Tn = "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psqa", xn = "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq8", kn = "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq4", Sn = "pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq7";
1330
1330
  function Ue({
1331
1331
  children: e,
1332
1332
  className: t = "",
@@ -0,0 +1,78 @@
1
+ (function(T,w){typeof exports=="object"&&typeof module<"u"?w(exports,require("@sps-woodland/core"),require("@sps-woodland/buttons"),require("react"),require("react-dom"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","@sps-woodland/core","@sps-woodland/buttons","react","react-dom","@spscommerce/utils"],w):(T=typeof globalThis<"u"?globalThis:T||self,w(T.FocusedTask={},T.core,T.buttons,T.React,T.$4AOtR$reactdom,T.utils))})(this,function(T,w,Ve,c,je,ve){"use strict";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 p=Ke(c),E=typeof document<"u"?c.useLayoutEffect:()=>{};function D(e){const t=c.useRef(null);return E(()=>{t.current=e},[e]),c.useCallback((...n)=>{const r=t.current;return r==null?void 0:r(...n)},[])}function qe(e){let[t,n]=c.useState(e),r=c.useRef(null),o=D(()=>{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=D(a=>{r.current=a(t),o()});return[t,i]}const K={prefix:String(Math.round(Math.random()*1e10)),current:0},be=c.createContext(K),ze=c.createContext(!1);let Ue=!!(typeof window<"u"&&window.document&&window.document.createElement),Z=new WeakMap;function Ge(e=!1){let t=c.useContext(be),n=c.useRef(null);if(n.current===null&&!e){var r,o;let i=(o=c.__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=Z.get(i);a==null?Z.set(i,{id:t.current,state:i.memoizedState}):i.memoizedState!==a.state&&(t.current=a.id,Z.delete(i))}n.current=++t.current}return n.current}function Je(e){let t=c.useContext(be);t===K&&!Ue&&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=Ge(!!e),r=t===K&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${r}-${n}`}function Xe(e){let t=c.useId(),[n]=c.useState(me()),r=n||process.env.NODE_ENV==="test"?"react-aria":`react-aria${K.prefix}`;return e||`${r}-${t}`}const Ye=typeof c.useId=="function"?Xe:Je;function Qe(){return!1}function Ze(){return!0}function Re(e){return()=>{}}function me(){return typeof c.useSyncExternalStore=="function"?c.useSyncExternalStore(Re,Qe,Ze):c.useContext(ze)}let et=!!(typeof window<"u"&&window.document&&window.document.createElement),C=new Map;function $e(e){let[t,n]=c.useState(e),r=c.useRef(null),o=Ye(t),i=c.useCallback(a=>{r.current=a},[]);return et&&(C.has(o)&&!C.get(o).includes(i)?C.set(o,[...C.get(o),i]):C.set(o,[i])),E(()=>{let a=o;return()=>{C.delete(a)}},[o]),c.useEffect(()=>{let a=r.current;a&&(r.current=null,n(a))}),o}function tt(e,t){if(e===t)return e;let n=C.get(e);if(n)return n.forEach(o=>o(t)),t;let r=C.get(t);return r?(r.forEach(o=>o(e)),e):t}function nt(e=[]){let t=$e(),[n,r]=qe(t),o=c.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 he(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=he(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function rt(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=he(e))&&(r&&(r+=" "),r+=t);return r}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 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]=rt(i,a):o==="id"&&i&&a?t.id=tt(i,a):t[o]=a!==void 0?a:i}}return t}const at=new Set(["id"]),it=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),lt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),st=/^(data-.*)$/;function ut(e,t={}){let{labelable:n,isLink:r,propNames:o}=t,i={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(at.has(a)||n&&it.has(a)||r&&lt.has(a)||o!=null&&o.has(a)||st.test(a))&&(i[a]=e[a]);return i}function Ee(e){if(ct())e.focus({preventScroll:!0});else{let t=dt(e);e.focus(),ft(t)}}let U=null;function ct(){if(U==null){U=!1;try{document.createElement("div").focus({get preventScroll(){return U=!0,!0}})}catch{}}return U}function dt(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 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 R(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 A(e){let t=null;return()=>(t==null&&(t=e()),t)}const ge=A(function(){return R(/^Mac/i)}),vt=A(function(){return R(/^iPhone/i)}),bt=A(function(){return R(/^iPad/i)||ge()&&navigator.maxTouchPoints>1}),mt=A(function(){return vt()||bt()}),$t=A(function(){return pt(/Android/i)});let O=new Map,ee=new Set;function we(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{if(!e(r)||!r.target)return;let o=O.get(r.target);o||(o=new Set,O.set(r.target,o),r.target.addEventListener("transitioncancel",n,{once:!0})),o.add(r.propertyName)},n=r=>{if(!e(r)||!r.target)return;let o=O.get(r.target);if(o&&(o.delete(r.propertyName),o.size===0&&(r.target.removeEventListener("transitioncancel",n),O.delete(r.target)),O.size===0)){for(let i of ee)i();ee.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?we():document.addEventListener("DOMContentLoaded",we));function ht(e){requestAnimationFrame(()=>{O.size===0?e():ee.add(e)})}function ye(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 Te(e,t){let n=e;for(ye(n,t)&&(n=n.parentElement);n&&!ye(n,t);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}function Et(e){return e.mozInputSource===0&&e.isTrusted?!0:$t()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function gt(e,t,n){let[r,o]=c.useState(e||t),i=c.useRef(e!==void 0),a=e!==void 0;c.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 u=a?e:r,d=c.useCallback((l,...s)=>{let f=(v,...m)=>{n&&(Object.is(u,v)||n(v,...m)),a||(u=v)};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,...b)=>{let x=l(a?u:m,...b);return f(x,...s),a?m:x})):(a||o(l),f(l,...s))},[a,u,n]);return[u,d]}const ke=c.createContext({register:()=>{}});ke.displayName="PressResponderContext";function wt({children:e}){let t=c.useMemo(()=>({register:()=>{}}),[]);return c.createElement(ke.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 Tt(e){let t=c.useRef({isFocused:!1,observer:null});E(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let n=D(r=>{e==null||e(r)});return c.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 yt("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 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,kt=new Set,W=new Map,L=!1,te=!1;function ne(e,t){for(let n of kt)n(e,t)}function St(e){return!(e.metaKey||!ge()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function G(e){L=!0,St(e)&&(I="keyboard",ne("keyboard",e))}function k(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(L=!0,ne("pointer",e))}function Se(e){Et(e)&&(L=!0,I="virtual")}function xe(e){e.target===window||e.target===document||(!L&&!te&&(I="virtual",ne("virtual",e)),L=!1,te=!1)}function Ne(){L=!1,te=!0}function Fe(e){if(typeof window>"u"||W.get(z(e)))return;const t=z(e),n=g(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){L=!0,r.apply(this,arguments)},n.addEventListener("keydown",G,!0),n.addEventListener("keyup",G,!0),n.addEventListener("click",Se,!0),t.addEventListener("focus",xe,!0),t.addEventListener("blur",Ne,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",k,!0),n.addEventListener("pointermove",k,!0),n.addEventListener("pointerup",k,!0)):(n.addEventListener("mousedown",k,!0),n.addEventListener("mousemove",k,!0),n.addEventListener("mouseup",k,!0)),t.addEventListener("beforeunload",()=>{Ce(e)},{once:!0}),W.set(t,{focus:r})}const Ce=(e,t)=>{const n=z(e),r=g(e);t&&r.removeEventListener("DOMContentLoaded",t),W.has(n)&&(n.HTMLElement.prototype.focus=W.get(n).focus,r.removeEventListener("keydown",G,!0),r.removeEventListener("keyup",G,!0),r.removeEventListener("click",Se,!0),n.removeEventListener("focus",xe,!0),n.removeEventListener("blur",Ne,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",k,!0),r.removeEventListener("pointermove",k,!0),r.removeEventListener("pointerup",k,!0)):(r.removeEventListener("mousedown",k,!0),r.removeEventListener("mousemove",k,!0),r.removeEventListener("mouseup",k,!0)),W.delete(n))};function xt(e){const t=g(e);let n;return t.readyState!=="loading"?Fe(e):(n=()=>{Fe(e)},t.addEventListener("DOMContentLoaded",n)),()=>Ce(e,n)}typeof document<"u"&&xt();function Nt(){return I}function Ft(e){let{isDisabled:t,onBlurWithin:n,onFocusWithin:r,onFocusWithinChange:o}=e,i=c.useRef({isFocusWithin:!1}),a=c.useCallback(l=>{i.current.isFocusWithin&&!l.currentTarget.contains(l.relatedTarget)&&(i.current.isFocusWithin=!1,n&&n(l),o&&o(!1))},[n,o,i]),u=Tt(a),d=c.useCallback(l=>{!i.current.isFocusWithin&&document.activeElement===l.target&&(r&&r(l),o&&o(!0),i.current.isFocusWithin=!0,u(l))},[r,o,u]);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=c.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=D(d=>{n&&J(d,t)&&(o&&o(d),i.current.isPointerDown=!0)}),u=D(d=>{n&&n(d)});c.useEffect(()=>{let d=i.current;if(r)return;const l=t.current,s=g(l);if(typeof PointerEvent<"u"){let f=v=>{d.isPointerDown&&J(v,t)&&u(v),d.isPointerDown=!1};return s.addEventListener("pointerdown",a,!0),s.addEventListener("pointerup",f,!0),()=>{s.removeEventListener("pointerdown",a,!0),s.removeEventListener("pointerup",f,!0)}}else{let f=m=>{d.ignoreEmulatedMouseEvents?d.ignoreEmulatedMouseEvents=!1:d.isPointerDown&&J(m,t)&&u(m),d.isPointerDown=!1},v=m=>{d.ignoreEmulatedMouseEvents=!0,d.isPointerDown&&J(m,t)&&u(m),d.isPointerDown=!1};return s.addEventListener("mousedown",a,!0),s.addEventListener("mouseup",f,!0),s.addEventListener("touchstart",a,!0),s.addEventListener("touchend",v,!0),()=>{s.removeEventListener("mousedown",a,!0),s.removeEventListener("mouseup",f,!0),s.removeEventListener("touchstart",a,!0),s.removeEventListener("touchend",v,!0)}}},[t,r,a,u])}function J(e,t){if(e.button>0)return!1;if(e.target){const n=e.target.ownerDocument;if(!n||!n.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function re(e){const t=g(e);if(Nt()==="virtual"){let n=t.activeElement;ht(()=>{t.activeElement===n&&e.isConnected&&Ee(e)})}else Ee(e)}function Pt(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:u}=i(e);o=a!=="none"&&u!=="hidden"&&u!=="collapse"}return o}function Lt(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 Pe(e,t){return e.nodeName!=="#comment"&&Pt(e)&&Lt(e,t)&&(!e.parentElement||Pe(e.parentElement,e))}const Le=c.createContext(null),oe="react-aria-focus-scope-restore";let $=null;function _t(e){let{children:t,contain:n,restoreFocus:r,autoFocus:o}=e,i=c.useRef(null),a=c.useRef(null),u=c.useRef([]),{parentNode:d}=c.useContext(Le)||{},l=c.useMemo(()=>new se({scopeRef:u}),[u]);E(()=>{let v=d||h.root;if(h.getTreeNode(v.scopeRef)&&$&&!Y($,v.scopeRef)){let m=h.getTreeNode($);m&&(v=m)}v.addChild(l),h.addNode(l)},[l,d]),E(()=>{let v=h.getTreeNode(u);v&&(v.contain=!!n)},[n]),E(()=>{var v;let m=(v=i.current)===null||v===void 0?void 0:v.nextSibling,b=[],x=j=>j.stopPropagation();for(;m&&m!==a.current;)b.push(m),m.addEventListener(oe,x),m=m.nextSibling;return u.current=b,()=>{for(let j of b)j.removeEventListener(oe,x)}},[t]),Bt(u,r,n),At(u,n),Vt(u,r,n),Wt(u,o),c.useEffect(()=>{const v=g(u.current?u.current[0]:void 0).activeElement;let m=null;if(y(v,u.current)){for(let b of h.traverse())b.scopeRef&&y(v,b.scopeRef.current)&&(m=b);m===h.getTreeNode(u)&&($=m.scopeRef)}},[u]),E(()=>()=>{var v,m,b;let x=(b=(m=h.getTreeNode(u))===null||m===void 0||(v=m.parent)===null||v===void 0?void 0:v.scopeRef)!==null&&b!==void 0?b:null;(u===$||Y(u,$))&&(!x||h.getTreeNode(x))&&($=x),h.removeTreeNode(u)},[u]);let s=c.useMemo(()=>Ot(u),[]),f=c.useMemo(()=>({focusManager:s,parentNode:l}),[l,s]);return c.createElement(Le.Provider,{value:f},c.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:i}),t,c.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,u=r||g(n[0]).activeElement,d=n[0].previousElementSibling,l=_(n),s=P(l,{tabbable:o,accept:a},n);s.currentNode=y(u,n)?u:d;let f=s.nextNode();return!f&&i&&(s.currentNode=d,f=s.nextNode()),f&&N(f,!0),f},focusPrevious(t={}){let n=e.current,{from:r,tabbable:o,wrap:i,accept:a}=t,u=r||g(n[0]).activeElement,d=n[n.length-1].nextElementSibling,l=_(n),s=P(l,{tabbable:o,accept:a},n);s.currentNode=y(u,n)?u:d;let f=s.previousNode();return!f&&i&&(s.currentNode=d,f=s.previousNode()),f&&N(f,!0),f},focusFirst(t={}){let n=e.current,{tabbable:r,accept:o}=t,i=_(n),a=P(i,{tabbable:r,accept:o},n);a.currentNode=n[0].previousElementSibling;let u=a.nextNode();return u&&N(u,!0),u},focusLast(t={}){let n=e.current,{tabbable:r,accept:o}=t,i=_(n),a=P(i,{tabbable:r,accept:o},n);a.currentNode=n[n.length-1].nextElementSibling;let u=a.previousNode();return u&&N(u,!0),u}}}const ae=["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=ae.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ae.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const Dt=ae.join(':not([hidden]):not([tabindex="-1"]),');function _(e){return e[0].parentElement}function B(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=c.useRef(void 0),r=c.useRef(void 0);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||!B(e)||l.isComposing)return;let s=i.activeElement,f=e.current;if(!f||!y(s,f))return;let v=_(f),m=P(v,{tabbable:!0},f);if(!s)return;m.currentNode=s;let b=l.shiftKey?m.previousNode():m.nextNode();b||(m.currentNode=l.shiftKey?f[f.length-1].nextElementSibling:f[0].previousElementSibling,b=l.shiftKey?m.previousNode():m.nextNode()),l.preventDefault(),b&&N(b,!0)},u=l=>{(!$||Y($,e))&&y(l.target,e.current)?($=e,n.current=l.target):B(e)&&!X(l.target,e)?n.current?n.current.focus():$&&$.current&&ie($.current):B(e)&&(n.current=l.target)},d=l=>{r.current&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{if(i.activeElement&&B(e)&&!X(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&&ie($.current)})};return i.addEventListener("keydown",a,!1),i.addEventListener("focusin",u,!1),o==null||o.forEach(l=>l.addEventListener("focusin",u,!1)),o==null||o.forEach(l=>l.addEventListener("focusout",d,!1)),()=>{i.removeEventListener("keydown",a,!1),i.removeEventListener("focusin",u,!1),o==null||o.forEach(l=>l.removeEventListener("focusin",u,!1)),o==null||o.forEach(l=>l.removeEventListener("focusout",d,!1))}},[e,t]),E(()=>()=>{r.current&&cancelAnimationFrame(r.current)},[r])}function _e(e){return X(e)}function y(e,t){return!e||!t?!1:t.some(n=>n.contains(e))}function X(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 It(e){return X(e,$)}function Y(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{re(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function Oe(e,t=!0){let n=e[0].previousElementSibling,r=_(e),o=P(r,{tabbable:t},e);o.currentNode=n;let i=o.nextNode();return t&&!i&&(r=_(e),o=P(r,{tabbable:!1},e),o.currentNode=n,i=o.nextNode()),i}function ie(e,t=!0){N(Oe(e,t))}function Wt(e,t){const n=c.useRef(t);c.useEffect(()=>{if(n.current){$=e;const r=g(e.current?e.current[0]:void 0);!y(r.activeElement,$.current)&&e.current&&ie(e.current)}n.current=!1},[e])}function Bt(e,t,n){E(()=>{if(t||n)return;let r=e.current;const o=g(r?r[0]:void 0);let i=a=>{let u=a.target;y(u,e.current)?$=e:_e(u)||($=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 Ht(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 Vt(e,t,n){const r=c.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=()=>{(!$||Y($,e))&&y(i.activeElement,e.current)&&($=e)};return i.addEventListener("focusin",a,!1),o==null||o.forEach(u=>u.addEventListener("focusin",a,!1)),()=>{i.removeEventListener("focusin",a,!1),o==null||o.forEach(u=>u.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||!B(e)||a.isComposing)return;let u=o.activeElement;if(!y(u,e.current))return;let d=h.getTreeNode(e);if(!d)return;let l=d.nodeToRestore,s=P(o.body,{tabbable:!0});s.currentNode=u;let f=a.shiftKey?s.previousNode():s.nextNode();if((!l||!o.body.contains(l)||l===o.body)&&(l=void 0,d.nodeToRestore=void 0),(!f||!y(f,e.current))&&l){s.currentNode=l;do f=a.shiftKey?s.previousNode():s.nextNode();while(y(f,e.current));a.preventDefault(),a.stopPropagation(),f?N(f,!0):_e(l)?N(l,!0):u.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 u=h.getTreeNode(e);if(!u)return;let d=u.nodeToRestore;if(t&&d&&(y(o.activeElement,e.current)||o.activeElement===o.body&&Ht(e))){let l=h.clone();requestAnimationFrame(()=>{if(o.activeElement===o.body){let s=l.getTreeNode(e);for(;s;){if(s.nodeToRestore&&s.nodeToRestore.isConnected){Me(s.nodeToRestore);return}s=s.parent}for(s=l.getTreeNode(e);s;){if(s.scopeRef&&s.scopeRef.current&&h.getTreeNode(s.scopeRef)){let f=Oe(s.scopeRef.current,!0);Me(f);return}s=s.parent}}})}}}},[e,t])}function Me(e){e.dispatchEvent(new CustomEvent(oe,{bubbles:!0,cancelable:!0}))&&N(e)}function P(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)&&Pe(i)&&(!n||y(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 se({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&&y(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 se({scopeRef:null}),this.fastMap.set(null,this.root)}}class se{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let h=new le;const jt=new WeakMap,F=[];function Kt(e,t){let{onClose:n,shouldCloseOnBlur:r,isOpen:o,isDismissable:i=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:u}=e;c.useEffect(()=>(o&&F.push(t),()=>{let b=F.indexOf(t);b>=0&&F.splice(b,1)}),[o,t]);let d=()=>{F[F.length-1]===t&&n&&n()},l=b=>{(!u||u(b.target))&&F[F.length-1]===t&&(b.stopPropagation(),b.preventDefault())},s=b=>{(!u||u(b.target))&&(F[F.length-1]===t&&(b.stopPropagation(),b.preventDefault()),d())},f=b=>{b.key==="Escape"&&!a&&!b.nativeEvent.isComposing&&(b.stopPropagation(),b.preventDefault(),d())};Ct({ref:t,onInteractOutside:i&&o?s:null,onInteractOutsideStart:l});let{focusWithinProps:v}=Ft({isDisabled:!r,onBlurWithin:b=>{!b.relatedTarget||It(b.relatedTarget)||(!u||u(b.relatedTarget))&&n()}}),m=b=>{b.target===b.currentTarget&&b.preventDefault()};return{overlayProps:{onKeyDown:f,...v},underlayProps:{onPointerDown:m}}}function qt(e,t,n){let{type:r}=e,{isOpen:o}=t;c.useEffect(()=>{n&&n.current&&jt.set(n.current,t.close)});let i;r==="menu"?i=!0:r==="listbox"&&(i="listbox");let a=$e();return{triggerProps:{"aria-haspopup":i,"aria-expanded":o,"aria-controls":o?a:null,onPress:t.toggle},overlayProps:{id:a}}}const ue=typeof document<"u"&&window.visualViewport,zt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Q=0,ce;function Ut(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return Q++,Q===1&&(mt()?ce=Jt():ce=Gt()),()=>{Q--,Q===0&&ce()}},[t])}function Gt(){return q(M(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),M(document.documentElement,"overflow","hidden"))}function Jt(){let e,t,n=l=>{e=Te(l.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=M(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;Ae(s)&&s!==document.activeElement&&(l.preventDefault(),u(),s.style.transform="translateY(-2000px)",s.focus(),requestAnimationFrame(()=>{s.style.transform=""})),t&&t()},i=l=>{let s=l.target;Ae(s)&&(u(),s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",ue&&(ue.height<window.innerHeight?requestAnimationFrame(()=>{De(s)}):ue.addEventListener("resize",()=>De(s),{once:!0}))}))},a=null,u=()=>{if(a)return;let l=()=>{window.scrollTo(0,0)},s=window.pageXOffset,f=window.pageYOffset;a=q(H(window,"scroll",l),M(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),M(document.documentElement,"overflow","hidden"),M(document.body,"marginTop",`-${f}px`),()=>{window.scrollTo(s,f)}),window.scrollTo(0,0)},d=q(H(document,"touchstart",n,{passive:!1,capture:!0}),H(document,"touchmove",r,{passive:!1,capture:!0}),H(document,"touchend",o,{passive:!1,capture:!0}),H(document,"focus",i,!0));return()=>{t==null||t(),a==null||a(),d()}}function M(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function H(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function De(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=Te(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 Ae(e){return e instanceof HTMLInputElement&&!zt.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let V=new WeakMap,S=[];function Xt(e,t=document.body){let n=new Set(e),r=new Set,o=d=>{for(let v of d.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))n.add(v);let l=v=>{if(n.has(v)||r.has(v.parentElement)&&v.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let m of n)if(v.contains(m))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},s=document.createTreeWalker(d,NodeFilter.SHOW_ELEMENT,{acceptNode:l}),f=l(d);if(f===NodeFilter.FILTER_ACCEPT&&i(d),f!==NodeFilter.FILTER_REJECT){let v=s.nextNode();for(;v!=null;)i(v),v=s.nextNode()}},i=d=>{var l;let s=(l=V.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),V.set(d,s+1))};S.length&&S[S.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 u={observe(){a.observe(t,{childList:!0,subtree:!0})},disconnect(){a.disconnect()}};return S.push(u),()=>{a.disconnect();for(let d of r){let l=V.get(d);l===1?(d.removeAttribute("aria-hidden"),V.delete(d)):V.set(d,l-1)}u===S[S.length-1]?(S.pop(),S.length&&S[S.length-1].observe()):S.splice(S.indexOf(u),1)}}const Yt=c.createContext({});function Qt(){var e;return(e=c.useContext(Yt))!==null&&e!==void 0?e:{}}const Ie=c.createContext(null);function Zt(e){let t=me(),{portalContainer:n=t?null:document.body,isExiting:r}=e,[o,i]=c.useState(!1),a=c.useMemo(()=>({contain:o,setContain:i}),[o,i]),{getContainer:u}=Qt();if(!e.portalContainer&&u&&(n=u()),!n)return null;let d=e.children;return e.disableFocusManagement||(d=c.createElement(_t,{restoreFocus:!0,contain:o&&!r},d)),d=c.createElement(Ie.Provider,{value:a},c.createElement(wt,null,d)),je.createPortal(d,n)}function We(){let e=c.useContext(Ie),t=e==null?void 0:e.setContain;E(()=>{t==null||t(!0)},[t])}function Rt(e,t,n){let{overlayProps:r,underlayProps:o}=Kt({...e,isOpen:t.isOpen,onClose:t.close},n);return Ut({isDisabled:!t.isOpen}),We(),c.useEffect(()=>{if(t.isOpen)return Xt([n.current])},[t.isOpen,n]),{modalProps:ot(r),underlayProps:o}}function en(e,t){let{role:n="dialog"}=e,r=nt();r=e["aria-label"]?void 0:r;let o=c.useRef(!1);return c.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){re(t.current);let i=setTimeout(()=>{document.activeElement===t.current&&(o.current=!0,t.current&&(t.current.blur(),re(t.current)),o.current=!1)},500);return()=>{clearTimeout(i)}}},[t]),We(),{dialogProps:{...ut(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||r,onBlur:i=>{o.current&&i.stopPropagation()}},titleProps:{id:r}}}function tn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Be(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 He(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Be(Object(n),!0).forEach(function(r){tn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Be(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var nn=(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},rn=e=>t=>{var n=e.defaultClassName,r=He(He({},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 u=a;typeof u=="boolean"&&(u=u===!0?"true":"false");var d=e.variantClassNames[o][u];d&&(n+=" "+d)}}for(var[l,s]of e.compoundVariants)nn(l,r,e.defaultVariants)&&(n+=" "+s);return n},on=rn({defaultClassName:"pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq1",variantClassNames:{fullWidth:{true:"pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq2",false:"pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq3"}},defaultVariants:{},compoundVariants:[]}),an="pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq5",ln="pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq0",sn="pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq9",un="pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psqa",cn="pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq8",dn="pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq4",fn="pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq7";function de({children:e,className:t="",...n}){return p.createElement("div",{className:w.cl(cn,t),...n},p.createElement("div",{className:w.cl(sn)},p.createElement("div",{className:w.cl(un)},e)))}w.Metadata.set(de,{name:"FocusedTaskActions"});function pn({children:e,className:t,"data-testid":n,onBlur:r,onFocus:o,overlayProps:i,state:a,onClose:u,fullWidth:d=!1,...l}){const s=p.useRef(null),{modalProps:f,underlayProps:v}=Rt({...l},a,s),{dialogProps:m,titleProps:b}=en(l,s),x=w.combineEventHandlers(f.onFocus,m.onFocus,o),j=w.combineEventHandlers(f.onBlur,m.onBlur,r),$n=w.useChildTestIdAttrBuilder({"data-testid":n}),[pe,hn]=w.selectChildren(e,[{type:de}]);function En(){u&&typeof u=="function"&&u(),a.close()}const gn=p.createElement(Ve.Button,{"aria-label":"Close",onClick:En,kind:"icon",icon:"x",className:an});return p.createElement(Zt,null,p.createElement("div",{className:fn,...v,...l},p.createElement("div",{...f,...m,...i,onFocus:x,onBlur:j,...$n("dialog"),ref:s,className:w.cl(ln,t)},p.createElement("div",{...b,className:dn},gn),p.createElement("div",{className:on({fullWidth:d})},w.contentOf(hn,a.close)),pe&&pe.length>0&&p.createElement(p.Fragment,null,w.contentOf(pe,a.close)))))}function fe(e){return e.state.isOpen?p.createElement(pn,{...e},e.children):p.createElement(p.Fragment,null)}w.Metadata.set(fe,{name:"FocusedTask",props:{fullWidth:{type:"boolean",default:"false"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"}}});function vn(e){let[t,n]=gt(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const r=c.useCallback(()=>{n(!0)},[n]),o=c.useCallback(()=>{n(!1)},[n]),i=c.useCallback(()=>{n(!t)},[n,t]);return{isOpen:t,setOpen:n,open:r,close:o,toggle:i}}function bn(e={}){const t=vn(e),n=c.useRef(null),{triggerProps:r,overlayProps:o}=qt({type:"dialog"},t,n),{onPress:i,...a}=r;return{triggerProps:{...a,onClick:i,ref:n},focusedTaskState:t,focusedTaskProps:{overlayProps:o,state:t}}}const mn={"Focused Task":{components:[fe],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:ve.code`
2
+ import { FocusedTask, FocusedTaskActions, useFocusedTask } from "@sps-woodland/focused-task";
3
+ import { Button } from "@sps-woodland/buttons";
4
+ import { Card } from "@sps-woodland/cards";
5
+ import { grid } from "@sps-woodland/tokens";
6
+
7
+ function Component() {
8
+
9
+ const { focusedTaskProps, triggerProps, focusedTaskState } = useFocusedTask();
10
+ function onSubmit() {
11
+ console.info("Submit");
12
+ focusedTaskState.close();
13
+ }
14
+ return (
15
+ <>
16
+ <Button kind="default" {...triggerProps}>Open Focused Task</Button>
17
+ <FocusedTask
18
+ {...focusedTaskProps}
19
+ >
20
+ <h2>Focused Task</h2>
21
+ <div className={grid.root}>
22
+ <div className={grid[3]}></div>
23
+ <div className={grid[6]}>
24
+ <Card>
25
+ <p>
26
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
27
+ </p>
28
+ </Card>
29
+ </div>
30
+ <div className="sfg-col-3"></div>
31
+ </div>
32
+ <FocusedTaskActions>
33
+ <Button kind="confirm" onClick={onSubmit}>Submit</Button>
34
+ </FocusedTaskActions>
35
+ </FocusedTask>
36
+ </>
37
+ )
38
+ }
39
+ `}}},fullWidth:{label:"Fill Width",examples:{basic:{react:ve.code`
40
+ import { FocusedTask, FocusedTaskActions, useFocusedTask } from "@sps-woodland/focused-task";
41
+ import { Button } from "@sps-woodland/buttons";
42
+ import { Card } from "@sps-woodland/cards";
43
+ import { grid } from "@sps-woodland/tokens";
44
+
45
+ function Component() {
46
+
47
+ const { focusedTaskProps, triggerProps, focusedTaskState } = useFocusedTask();
48
+ function onSubmit() {
49
+ console.info("Submit");
50
+ focusedTaskState.close();
51
+ }
52
+ return (
53
+ <>
54
+ <Button kind="default" {...triggerProps}>Open Focused Task</Button>
55
+ <FocusedTask
56
+ {...focusedTaskProps}
57
+ fullWidth
58
+ >
59
+ <h2>Focused Task</h2>
60
+ <div className={grid.root}>
61
+ <div className={grid[3]}></div>
62
+ <div className={grid[6]}>
63
+ <Card>
64
+ <p>
65
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
66
+ </p>
67
+ </Card>
68
+ </div>
69
+ <div className="sfg-col-3"></div>
70
+ </div>
71
+ <FocusedTaskActions>
72
+ <Button kind="confirm" onClick={onSubmit}>Submit</Button>
73
+ </FocusedTaskActions>
74
+ </FocusedTask>
75
+ </>
76
+ )
77
+ }
78
+ `}}}}}};T.FocusedTask=fe,T.FocusedTaskActions=de,T.MANIFEST=mn,T.useFocusedTask=bn,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- .pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq0{background-color:#f3f4f4;height:100%;left:0;overflow-x:hidden;overflow-y:auto;position:fixed;text-align:center;transition:top .3s ease;width:100%;padding-bottom:2rem}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq1{margin:0 auto;max-width:1280px;padding:0 1rem 1rem}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq2{max-width:100%}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq4{margin:1rem auto .5rem;max-width:1280px;min-width:0;padding:0 1rem;text-align:right}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq5{color:#4b5356;border-width:0;right:.5rem}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq6{padding:0 .25rem}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq7{position:fixed;z-index:1000;top:0;left:0;bottom:0;right:0;background:#f3f4f4;display:flex;align-items:center;justify-content:center;padding:1rem}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq8{align-items:center;background-color:#fff;bottom:0;box-shadow:0 -.0625rem .125rem #00000026;display:flex;height:3.125rem;justify-content:center;left:0;padding:.5rem;position:fixed;right:0}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq9{display:flex;max-width:1180px;width:100%}.pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psqa{align-items:center;display:flex;flex:1;white-space:nowrap;justify-content:center}
1
+ .pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq0{background-color:#f3f4f4;height:100%;left:0;overflow-x:hidden;overflow-y:auto;position:fixed;text-align:center;transition:top .3s ease;width:100%;padding-bottom:2rem}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq1{margin:0 auto;max-width:1280px;padding:0 1rem 1rem}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq2{max-width:100%}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq4{margin:1rem auto .5rem;max-width:1280px;min-width:0;padding:0 1rem;text-align:right}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq5{color:#4b5356;border-width:0;right:.5rem}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq6{padding:0 .25rem}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq7{position:fixed;z-index:1000;top:0;left:0;bottom:0;right:0;background:#f3f4f4;display:flex;align-items:center;justify-content:center;padding:1rem}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq8{align-items:center;background-color:#fff;bottom:0;box-shadow:0 -.0625rem .125rem #00000026;display:flex;height:3.125rem;justify-content:center;left:0;padding:.5rem;position:fixed;right:0}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psq9{display:flex;max-width:1180px;width:100%}.pkg_sps-woodland_focused-task__version_8_21_1__hash_1io4psqa{align-items:center;display:flex;flex:1;white-space:nowrap;justify-content:center}
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@sps-woodland/focused-task",
3
3
  "description": "SPS Woodland Design System focused task component",
4
- "version": "8.20.17",
4
+ "version": "8.21.1",
5
5
  "author": "SPS Commerce",
6
6
  "license": "UNLICENSED",
7
7
  "repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/focused-task",
8
8
  "homepage": "https://github.com/SPSCommerce/woodland/tree/master/packages/@sps-woodland/focused-task#readme",
9
9
  "type": "module",
10
- "module": "./lib/index.es.js",
11
- "main": "./lib/index.cjs.js",
10
+ "module": "./lib/index.js",
11
+ "main": "./lib/index.umd.cjs",
12
12
  "types": "./lib/index.d.ts",
13
13
  "exports": {
14
14
  ".": {
15
- "import": "./lib/index.es.js",
16
- "require": "./lib/index.cjs.js",
17
- "default": "./lib/index.cjs.js",
15
+ "require": "./lib/index.umd.cjs",
16
+ "import": "./lib/index.js",
17
+ "default": "./lib/index.js",
18
18
  "types": "./lib/index.d.ts"
19
19
  },
20
20
  "./lib/style.css": {
@@ -29,9 +29,9 @@
29
29
  "@spscommerce/utils": "^7.0.0",
30
30
  "react": "^16.9.0",
31
31
  "react-dom": "^16.9.0",
32
- "@sps-woodland/buttons": "8.20.17",
33
- "@sps-woodland/core": "8.20.17",
34
- "@sps-woodland/tokens": "8.20.17"
32
+ "@sps-woodland/buttons": "8.21.1",
33
+ "@sps-woodland/core": "8.21.1",
34
+ "@sps-woodland/tokens": "8.21.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@spscommerce/utils": "^7.0.0",
@@ -42,9 +42,9 @@
42
42
  "@vanilla-extract/vite-plugin": "^3.6.0",
43
43
  "react": "^16.9.0",
44
44
  "react-dom": "^16.9.0",
45
- "@sps-woodland/buttons": "8.20.17",
46
- "@sps-woodland/core": "8.20.17",
47
- "@sps-woodland/tokens": "8.20.17"
45
+ "@sps-woodland/buttons": "8.21.1",
46
+ "@sps-woodland/core": "8.21.1",
47
+ "@sps-woodland/tokens": "8.21.1"
48
48
  },
49
49
  "dependencies": {
50
50
  "react-aria": "^3.21.0",
package/vite.config.mjs CHANGED
@@ -18,8 +18,8 @@ export default defineConfig({
18
18
  build: {
19
19
  lib: {
20
20
  entry: path.resolve(__dirname, "src/index.ts"),
21
- formats: ["es", "cjs"],
22
- fileName: (format) => `index.${format}.js`,
21
+ name: "FocusedTask",
22
+ fileName: "index",
23
23
  },
24
24
  outDir: path.resolve(__dirname, "./lib"),
25
25
  emptyOutDir: false,
package/lib/index.cjs.js DELETED
@@ -1,78 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("@sps-woodland/core"),Ke=require("@sps-woodland/buttons"),u=require("react"),qe=require("react-dom"),pe=require("@spscommerce/utils");function ze(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 p=ze(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 Ue(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 q={prefix:String(Math.round(Math.random()*1e10)),current:0},ke=u.createContext(q),Ge=u.createContext(!1);let Je=!!(typeof window<"u"&&window.document&&window.document.createElement),Q=new WeakMap;function Xe(e=!1){let t=u.useContext(ke),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=Q.get(i);a==null?Q.set(i,{id:t.current,state:i.memoizedState}):i.memoizedState!==a.state&&(t.current=a.id,Q.delete(i))}n.current=++t.current}return n.current}function Ye(e){let t=u.useContext(ke);t===q&&!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=Xe(!!e),r=t===q&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${r}-${n}`}function Qe(e){let t=u.useId(),[n]=u.useState(Se()),r=n||process.env.NODE_ENV==="test"?"react-aria":`react-aria${q.prefix}`;return e||`${r}-${t}`}const Ze=typeof u.useId=="function"?Qe:Ye;function et(){return!1}function tt(){return!0}function nt(e){return()=>{}}function Se(){return typeof u.useSyncExternalStore=="function"?u.useSyncExternalStore(nt,et,tt):u.useContext(Ge)}let rt=!!(typeof window<"u"&&window.document&&window.document.createElement),C=new Map;function xe(e){let[t,n]=u.useState(e),r=u.useRef(null),o=Ze(t),i=u.useCallback(a=>{r.current=a},[]);return rt&&(C.has(o)&&!C.get(o).includes(i)?C.set(o,[...C.get(o),i]):C.set(o,[i])),E(()=>{let a=o;return()=>{C.delete(a)}},[o]),u.useEffect(()=>{let a=r.current;a&&(r.current=null,n(a))}),o}function ot(e,t){if(e===t)return e;let n=C.get(e);if(n)return n.forEach(o=>o(t)),t;let r=C.get(t);return r?(r.forEach(o=>o(e)),e):t}function at(e=[]){let t=xe(),[n,r]=Ue(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 z(...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},U=e=>e&&"window"in e&&e.window===e?e:g(e).defaultView||window;function Ne(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Ne(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function it(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Ne(e))&&(r&&(r+=" "),r+=t);return r}function lt(...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]=z(i,a):(o==="className"||o==="UNSAFE_className")&&typeof i=="string"&&typeof a=="string"?t[o]=it(i,a):o==="id"&&i&&a?t.id=ot(i,a):t[o]=a!==void 0?a:i}}return t}const st=new Set(["id"]),ct=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),ut=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),dt=/^(data-.*)$/;function ft(e,t={}){let{labelable:n,isLink:r,propNames:o}=t,i={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(st.has(a)||n&&ct.has(a)||r&&ut.has(a)||o!=null&&o.has(a)||dt.test(a))&&(i[a]=e[a]);return i}function ve(e){if(pt())e.focus({preventScroll:!0});else{let t=vt(e);e.focus(),bt(t)}}let V=null;function pt(){if(V==null){V=!1;try{document.createElement("div").focus({get preventScroll(){return V=!0,!0}})}catch{}}return V}function vt(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 bt(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function mt(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 le(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function B(e){let t=null;return()=>(t==null&&(t=e()),t)}const Ce=B(function(){return le(/^Mac/i)}),$t=B(function(){return le(/^iPhone/i)}),ht=B(function(){return le(/^iPad/i)||Ce()&&navigator.maxTouchPoints>1}),Et=B(function(){return $t()||ht()}),gt=B(function(){return mt(/Android/i)});let _=new Map,te=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=_.get(r.target);o||(o=new Set,_.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=_.get(r.target);if(o&&(o.delete(r.propertyName),o.size===0&&(r.target.removeEventListener("transitioncancel",n),_.delete(r.target)),_.size===0)){for(let i of te)i();te.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?be():document.addEventListener("DOMContentLoaded",be));function wt(e){requestAnimationFrame(()=>{_.size===0?e():te.add(e)})}function me(e,t){let n=window.getComputedStyle(e),r=/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY);return r&&t&&(r=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),r}function Fe(e,t){let n=e;for(me(n,t)&&(n=n.parentElement);n&&!me(n,t);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}function yt(e){return e.mozInputSource===0&&e.isTrusted?!0:gt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function Tt(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 f=(v,...m)=>{n&&(Object.is(c,v)||n(v,...m)),a||(c=v)};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,...b)=>{let S=l(a?c:m,...b);return f(S,...s),a?m:S})):(a||o(l),f(l,...s))},[a,c,n]);return[c,d]}const Pe=u.createContext({register:()=>{}});Pe.displayName="PressResponderContext";function kt({children:e}){let t=u.useMemo(()=>({register:()=>{}}),[]);return u.createElement(Pe.Provider,{value:t},e)}class St{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=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 St("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 H=null,Nt=new Set,I=new Map,L=!1,ne=!1;function se(e,t){for(let n of Nt)n(e,t)}function Ct(e){return!(e.metaKey||!Ce()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function G(e){L=!0,Ct(e)&&(H="keyboard",se("keyboard",e))}function k(e){H="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(L=!0,se("pointer",e))}function Le(e){yt(e)&&(L=!0,H="virtual")}function _e(e){e.target===window||e.target===document||(!L&&!ne&&(H="virtual",se("virtual",e)),L=!1,ne=!1)}function Oe(){L=!1,ne=!0}function $e(e){if(typeof window>"u"||I.get(U(e)))return;const t=U(e),n=g(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){L=!0,r.apply(this,arguments)},n.addEventListener("keydown",G,!0),n.addEventListener("keyup",G,!0),n.addEventListener("click",Le,!0),t.addEventListener("focus",_e,!0),t.addEventListener("blur",Oe,!1),typeof PointerEvent<"u"?(n.addEventListener("pointerdown",k,!0),n.addEventListener("pointermove",k,!0),n.addEventListener("pointerup",k,!0)):(n.addEventListener("mousedown",k,!0),n.addEventListener("mousemove",k,!0),n.addEventListener("mouseup",k,!0)),t.addEventListener("beforeunload",()=>{Me(e)},{once:!0}),I.set(t,{focus:r})}const Me=(e,t)=>{const n=U(e),r=g(e);t&&r.removeEventListener("DOMContentLoaded",t),I.has(n)&&(n.HTMLElement.prototype.focus=I.get(n).focus,r.removeEventListener("keydown",G,!0),r.removeEventListener("keyup",G,!0),r.removeEventListener("click",Le,!0),n.removeEventListener("focus",_e,!0),n.removeEventListener("blur",Oe,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",k,!0),r.removeEventListener("pointermove",k,!0),r.removeEventListener("pointerup",k,!0)):(r.removeEventListener("mousedown",k,!0),r.removeEventListener("mousemove",k,!0),r.removeEventListener("mouseup",k,!0)),I.delete(n))};function Ft(e){const t=g(e);let n;return t.readyState!=="loading"?$e(e):(n=()=>{$e(e)},t.addEventListener("DOMContentLoaded",n)),()=>Me(e,n)}typeof document<"u"&&Ft();function Pt(){return H}function Lt(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=xt(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 _t(e){let{ref:t,onInteractOutside:n,isDisabled:r,onInteractOutsideStart:o}=e,i=u.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=W(d=>{n&&j(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 f=v=>{d.isPointerDown&&j(v,t)&&c(v),d.isPointerDown=!1};return s.addEventListener("pointerdown",a,!0),s.addEventListener("pointerup",f,!0),()=>{s.removeEventListener("pointerdown",a,!0),s.removeEventListener("pointerup",f,!0)}}else{let f=m=>{d.ignoreEmulatedMouseEvents?d.ignoreEmulatedMouseEvents=!1:d.isPointerDown&&j(m,t)&&c(m),d.isPointerDown=!1},v=m=>{d.ignoreEmulatedMouseEvents=!0,d.isPointerDown&&j(m,t)&&c(m),d.isPointerDown=!1};return s.addEventListener("mousedown",a,!0),s.addEventListener("mouseup",f,!0),s.addEventListener("touchstart",a,!0),s.addEventListener("touchend",v,!0),()=>{s.removeEventListener("mousedown",a,!0),s.removeEventListener("mouseup",f,!0),s.removeEventListener("touchstart",a,!0),s.removeEventListener("touchend",v,!0)}}},[t,r,a,c])}function j(e,t){if(e.button>0)return!1;if(e.target){const n=e.target.ownerDocument;if(!n||!n.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function re(e){const t=g(e);if(Pt()==="virtual"){let n=t.activeElement;wt(()=>{t.activeElement===n&&e.isConnected&&ve(e)})}else ve(e)}function Ot(e){const t=U(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 Mt(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 De(e,t){return e.nodeName!=="#comment"&&Ot(e)&&Mt(e,t)&&(!e.parentElement||De(e.parentElement,e))}const he=u.createContext(null),oe="react-aria-focus-scope-restore";let $=null;function Dt(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(he)||{},l=u.useMemo(()=>new ie({scopeRef:c}),[c]);E(()=>{let v=d||h.root;if(h.getTreeNode(v.scopeRef)&&$&&!X($,v.scopeRef)){let m=h.getTreeNode($);m&&(v=m)}v.addChild(l),h.addNode(l)},[l,d]),E(()=>{let v=h.getTreeNode(c);v&&(v.contain=!!n)},[n]),E(()=>{var v;let m=(v=i.current)===null||v===void 0?void 0:v.nextSibling,b=[],S=M=>M.stopPropagation();for(;m&&m!==a.current;)b.push(m),m.addEventListener(oe,S),m=m.nextSibling;return c.current=b,()=>{for(let M of b)M.removeEventListener(oe,S)}},[t]),Vt(c,r,n),Wt(c,n),Kt(c,r,n),Ht(c,o),u.useEffect(()=>{const v=g(c.current?c.current[0]:void 0).activeElement;let m=null;if(w(v,c.current)){for(let b of h.traverse())b.scopeRef&&w(v,b.scopeRef.current)&&(m=b);m===h.getTreeNode(c)&&($=m.scopeRef)}},[c]),E(()=>()=>{var v,m,b;let S=(b=(m=h.getTreeNode(c))===null||m===void 0||(v=m.parent)===null||v===void 0?void 0:v.scopeRef)!==null&&b!==void 0?b:null;(c===$||X(c,$))&&(!S||h.getTreeNode(S))&&($=S),h.removeTreeNode(c)},[c]);let s=u.useMemo(()=>At(c),[]),f=u.useMemo(()=>({focusManager:s,parentNode:l}),[l,s]);return u.createElement(he.Provider,{value:f},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 At(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=P(n),s=F(l,{tabbable:o,accept:a},n);s.currentNode=w(c,n)?c:d;let f=s.nextNode();return!f&&i&&(s.currentNode=d,f=s.nextNode()),f&&N(f,!0),f},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=P(n),s=F(l,{tabbable:o,accept:a},n);s.currentNode=w(c,n)?c:d;let f=s.previousNode();return!f&&i&&(s.currentNode=d,f=s.previousNode()),f&&N(f,!0),f},focusFirst(t={}){let n=e.current,{tabbable:r,accept:o}=t,i=P(n),a=F(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=P(n),a=F(i,{tabbable:r,accept:o},n);a.currentNode=n[n.length-1].nextElementSibling;let c=a.previousNode();return c&&N(c,!0),c}}}const ce=["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]"],Rt=ce.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ce.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const It=ce.join(':not([hidden]):not([tabindex="-1"]),');function P(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 Wt(e,t){let n=u.useRef(void 0),r=u.useRef(void 0);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||!R(e)||l.isComposing)return;let s=i.activeElement,f=e.current;if(!f||!w(s,f))return;let v=P(f),m=F(v,{tabbable:!0},f);if(!s)return;m.currentNode=s;let b=l.shiftKey?m.previousNode():m.nextNode();b||(m.currentNode=l.shiftKey?f[f.length-1].nextElementSibling:f[0].previousElementSibling,b=l.shiftKey?m.previousNode():m.nextNode()),l.preventDefault(),b&&N(b,!0)},c=l=>{(!$||X($,e))&&w(l.target,e.current)?($=e,n.current=l.target):R(e)&&!J(l.target,e)?n.current?n.current.focus():$&&$.current&&ae($.current):R(e)&&(n.current=l.target)},d=l=>{r.current&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{if(i.activeElement&&R(e)&&!J(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&&ae($.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 Ae(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 h.traverse(h.getTreeNode(t)))if(n&&w(e,n.current))return!0;return!1}function Bt(e){return J(e,$)}function X(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{re(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function Re(e,t=!0){let n=e[0].previousElementSibling,r=P(e),o=F(r,{tabbable:t},e);o.currentNode=n;let i=o.nextNode();return t&&!i&&(r=P(e),o=F(r,{tabbable:!1},e),o.currentNode=n,i=o.nextNode()),i}function ae(e,t=!0){N(Re(e,t))}function Ht(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&&ae(e.current)}n.current=!1},[e])}function Vt(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:Ae(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 jt(e){let t=h.getTreeNode($);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return(t==null?void 0:t.scopeRef)===e}function Kt(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=()=>{(!$||X($,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||!R(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=F(o.body,{tabbable:!0});s.currentNode=c;let f=a.shiftKey?s.previousNode():s.nextNode();if((!l||!o.body.contains(l)||l===o.body)&&(l=void 0,d.nodeToRestore=void 0),(!f||!w(f,e.current))&&l){s.currentNode=l;do f=a.shiftKey?s.previousNode():s.nextNode();while(w(f,e.current));a.preventDefault(),a.stopPropagation(),f?N(f,!0):Ae(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&&jt(e))){let l=h.clone();requestAnimationFrame(()=>{if(o.activeElement===o.body){let s=l.getTreeNode(e);for(;s;){if(s.nodeToRestore&&s.nodeToRestore.isConnected){Ee(s.nodeToRestore);return}s=s.parent}for(s=l.getTreeNode(e);s;){if(s.scopeRef&&s.scopeRef.current&&h.getTreeNode(s.scopeRef)){let f=Re(s.scopeRef.current,!0);Ee(f);return}s=s.parent}}})}}}},[e,t])}function Ee(e){e.dispatchEvent(new CustomEvent(oe,{bubbles:!0,cancelable:!0}))&&N(e)}function F(e,t,n){let r=t!=null&&t.tabbable?It:Rt,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)&&De(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 ue{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 ie({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 ue;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 ie({scopeRef:null}),this.fastMap.set(null,this.root)}}class ie{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 ue;const qt=new WeakMap,x=[];function zt(e,t){let{onClose:n,shouldCloseOnBlur:r,isOpen:o,isDismissable:i=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:c}=e;u.useEffect(()=>(o&&x.push(t),()=>{let b=x.indexOf(t);b>=0&&x.splice(b,1)}),[o,t]);let d=()=>{x[x.length-1]===t&&n&&n()},l=b=>{(!c||c(b.target))&&x[x.length-1]===t&&(b.stopPropagation(),b.preventDefault())},s=b=>{(!c||c(b.target))&&(x[x.length-1]===t&&(b.stopPropagation(),b.preventDefault()),d())},f=b=>{b.key==="Escape"&&!a&&!b.nativeEvent.isComposing&&(b.stopPropagation(),b.preventDefault(),d())};_t({ref:t,onInteractOutside:i&&o?s:null,onInteractOutsideStart:l});let{focusWithinProps:v}=Lt({isDisabled:!r,onBlurWithin:b=>{!b.relatedTarget||Bt(b.relatedTarget)||(!c||c(b.relatedTarget))&&n()}}),m=b=>{b.target===b.currentTarget&&b.preventDefault()};return{overlayProps:{onKeyDown:f,...v},underlayProps:{onPointerDown:m}}}function Ut(e,t,n){let{type:r}=e,{isOpen:o}=t;u.useEffect(()=>{n&&n.current&&qt.set(n.current,t.close)});let i;r==="menu"?i=!0:r==="listbox"&&(i="listbox");let a=xe();return{triggerProps:{"aria-haspopup":i,"aria-expanded":o,"aria-controls":o?a:null,onPress:t.toggle},overlayProps:{id:a}}}const Z=typeof document<"u"&&window.visualViewport,Gt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let K=0,ee;function Jt(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return K++,K===1&&(Et()?ee=Yt():ee=Xt()),()=>{K--,K===0&&ee()}},[t])}function Xt(){return z(O(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),O(document.documentElement,"overflow","hidden"))}function Yt(){let e,t,n=l=>{e=Fe(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;we(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;we(s)&&(c(),s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",Z&&(Z.height<window.innerHeight?requestAnimationFrame(()=>{ge(s)}):Z.addEventListener("resize",()=>ge(s),{once:!0}))}))},a=null,c=()=>{if(a)return;let l=()=>{window.scrollTo(0,0)},s=window.pageXOffset,f=window.pageYOffset;a=z(D(window,"scroll",l),O(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),O(document.documentElement,"overflow","hidden"),O(document.body,"marginTop",`-${f}px`),()=>{window.scrollTo(s,f)}),window.scrollTo(0,0)},d=z(D(document,"touchstart",n,{passive:!1,capture:!0}),D(document,"touchmove",r,{passive:!1,capture:!0}),D(document,"touchend",o,{passive:!1,capture:!0}),D(document,"focus",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 D(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function ge(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 we(e){return e instanceof HTMLInputElement&&!Gt.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let A=new WeakMap,y=[];function Qt(e,t=document.body){let n=new Set(e),r=new Set,o=d=>{for(let v of d.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))n.add(v);let l=v=>{if(n.has(v)||r.has(v.parentElement)&&v.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let m of n)if(v.contains(m))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},s=document.createTreeWalker(d,NodeFilter.SHOW_ELEMENT,{acceptNode:l}),f=l(d);if(f===NodeFilter.FILTER_ACCEPT&&i(d),f!==NodeFilter.FILTER_REJECT){let v=s.nextNode();for(;v!=null;)i(v),v=s.nextNode()}},i=d=>{var l;let s=(l=A.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),A.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=A.get(d);l===1?(d.removeAttribute("aria-hidden"),A.delete(d)):A.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 Zt=u.createContext({});function en(){var e;return(e=u.useContext(Zt))!==null&&e!==void 0?e:{}}const Ie=u.createContext(null);function tn(e){let t=Se(),{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}=en();if(!e.portalContainer&&c&&(n=c()),!n)return null;let d=e.children;return e.disableFocusManagement||(d=u.createElement(Dt,{restoreFocus:!0,contain:o&&!r},d)),d=u.createElement(Ie.Provider,{value:a},u.createElement(kt,null,d)),qe.createPortal(d,n)}function We(){let e=u.useContext(Ie),t=e==null?void 0:e.setContain;E(()=>{t==null||t(!0)},[t])}function nn(e,t,n){let{overlayProps:r,underlayProps:o}=zt({...e,isOpen:t.isOpen,onClose:t.close},n);return Jt({isDisabled:!t.isOpen}),We(),u.useEffect(()=>{if(t.isOpen)return Qt([n.current])},[t.isOpen,n]),{modalProps:lt(r),underlayProps:o}}function rn(e,t){let{role:n="dialog"}=e,r=at();r=e["aria-label"]?void 0:r;let o=u.useRef(!1);return u.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){re(t.current);let i=setTimeout(()=>{document.activeElement===t.current&&(o.current=!0,t.current&&(t.current.blur(),re(t.current)),o.current=!1)},500);return()=>{clearTimeout(i)}}},[t]),We(),{dialogProps:{...ft(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||r,onBlur:i=>{o.current&&i.stopPropagation()}},titleProps:{id:r}}}function on(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(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 Te(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ye(Object(n),!0).forEach(function(r){on(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ye(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var an=(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},ln=e=>t=>{var n=e.defaultClassName,r=Te(Te({},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)an(l,r,e.defaultVariants)&&(n+=" "+s);return n},sn=ln({defaultClassName:"pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq1",variantClassNames:{fullWidth:{true:"pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq2",false:"pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq3"}},defaultVariants:{},compoundVariants:[]}),cn="pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq5",un="pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq0",dn="pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq9",fn="pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psqa",pn="pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq8",vn="pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq4",bn="pkg_sps-woodland_focused-task__version_8_20_17__hash_1io4psq7";function de({children:e,className:t="",...n}){return p.createElement("div",{className:T.cl(pn,t),...n},p.createElement("div",{className:T.cl(dn)},p.createElement("div",{className:T.cl(fn)},e)))}T.Metadata.set(de,{name:"FocusedTaskActions"});function mn({children:e,className:t,"data-testid":n,onBlur:r,onFocus:o,overlayProps:i,state:a,onClose:c,fullWidth:d=!1,...l}){const s=p.useRef(null),{modalProps:f,underlayProps:v}=nn({...l},a,s),{dialogProps:m,titleProps:b}=rn(l,s),S=T.combineEventHandlers(f.onFocus,m.onFocus,o),M=T.combineEventHandlers(f.onBlur,m.onBlur,r),Be=T.useChildTestIdAttrBuilder({"data-testid":n}),[Y,He]=T.selectChildren(e,[{type:de}]);function Ve(){c&&typeof c=="function"&&c(),a.close()}const je=p.createElement(Ke.Button,{"aria-label":"Close",onClick:Ve,kind:"icon",icon:"x",className:cn});return p.createElement(tn,null,p.createElement("div",{className:bn,...v,...l},p.createElement("div",{...f,...m,...i,onFocus:S,onBlur:M,...Be("dialog"),ref:s,className:T.cl(un,t)},p.createElement("div",{...b,className:vn},je),p.createElement("div",{className:sn({fullWidth:d})},T.contentOf(He,a.close)),Y&&Y.length>0&&p.createElement(p.Fragment,null,T.contentOf(Y,a.close)))))}function fe(e){return e.state.isOpen?p.createElement(mn,{...e},e.children):p.createElement(p.Fragment,null)}T.Metadata.set(fe,{name:"FocusedTask",props:{fullWidth:{type:"boolean",default:"false"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"}}});function $n(e){let[t,n]=Tt(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 hn(e={}){const t=$n(e),n=u.useRef(null),{triggerProps:r,overlayProps:o}=Ut({type:"dialog"},t,n),{onPress:i,...a}=r;return{triggerProps:{...a,onClick:i,ref:n},focusedTaskState:t,focusedTaskProps:{overlayProps:o,state:t}}}const En={components:[fe],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:pe.code`
2
- import { FocusedTask, FocusedTaskActions, useFocusedTask } from "@sps-woodland/focused-task";
3
- import { Button } from "@sps-woodland/buttons";
4
- import { Card } from "@sps-woodland/cards";
5
- import { grid } from "@sps-woodland/tokens";
6
-
7
- function Component() {
8
-
9
- const { focusedTaskProps, triggerProps, focusedTaskState } = useFocusedTask();
10
- function onSubmit() {
11
- console.info("Submit");
12
- focusedTaskState.close();
13
- }
14
- return (
15
- <>
16
- <Button kind="default" {...triggerProps}>Open Focused Task</Button>
17
- <FocusedTask
18
- {...focusedTaskProps}
19
- >
20
- <h2>Focused Task</h2>
21
- <div className={grid.root}>
22
- <div className={grid[3]}></div>
23
- <div className={grid[6]}>
24
- <Card>
25
- <p>
26
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
27
- </p>
28
- </Card>
29
- </div>
30
- <div className="sfg-col-3"></div>
31
- </div>
32
- <FocusedTaskActions>
33
- <Button kind="confirm" onClick={onSubmit}>Submit</Button>
34
- </FocusedTaskActions>
35
- </FocusedTask>
36
- </>
37
- )
38
- }
39
- `}}},fullWidth:{label:"Fill Width",examples:{basic:{react:pe.code`
40
- import { FocusedTask, FocusedTaskActions, useFocusedTask } from "@sps-woodland/focused-task";
41
- import { Button } from "@sps-woodland/buttons";
42
- import { Card } from "@sps-woodland/cards";
43
- import { grid } from "@sps-woodland/tokens";
44
-
45
- function Component() {
46
-
47
- const { focusedTaskProps, triggerProps, focusedTaskState } = useFocusedTask();
48
- function onSubmit() {
49
- console.info("Submit");
50
- focusedTaskState.close();
51
- }
52
- return (
53
- <>
54
- <Button kind="default" {...triggerProps}>Open Focused Task</Button>
55
- <FocusedTask
56
- {...focusedTaskProps}
57
- fullWidth
58
- >
59
- <h2>Focused Task</h2>
60
- <div className={grid.root}>
61
- <div className={grid[3]}></div>
62
- <div className={grid[6]}>
63
- <Card>
64
- <p>
65
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
66
- </p>
67
- </Card>
68
- </div>
69
- <div className="sfg-col-3"></div>
70
- </div>
71
- <FocusedTaskActions>
72
- <Button kind="confirm" onClick={onSubmit}>Submit</Button>
73
- </FocusedTaskActions>
74
- </FocusedTask>
75
- </>
76
- )
77
- }
78
- `}}}}},gn={"Focused Task":En};exports.FocusedTask=fe;exports.FocusedTaskActions=de;exports.MANIFEST=gn;exports.useFocusedTask=hn;