@sps-woodland/modal 8.38.0 → 8.38.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +1 -1
- package/lib/index.umd.cjs +1 -1
- package/lib/style.css +1 -1
- package/package.json +9 -9
package/lib/index.js
CHANGED
|
@@ -1325,7 +1325,7 @@ var Co = (e, t, o) => {
|
|
|
1325
1325
|
for (var [i, s] of e.compoundVariants)
|
|
1326
1326
|
Co(i, n, e.defaultVariants) && (o += " " + s);
|
|
1327
1327
|
return o;
|
|
1328
|
-
}, Bo = et({ defaultClassName: "pkg_sps-
|
|
1328
|
+
}, Bo = et({ defaultClassName: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto20", variantClassNames: { kind: { informational: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto21", delete: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto22", failure: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto23", success: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto24", warning: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto25", successWithFailures: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto26", form: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto27" }, size: { sm: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto28", md: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto29", lg: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2a", xl: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2b" }, fullHeight: { true: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2c", false: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2d" } }, defaultVariants: {}, compoundVariants: [] }), No = et({ defaultClassName: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2e", variantClassNames: { kind: { form: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2f", delete: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2g", failure: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2h", informational: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2i", success: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2j", warning: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2k", successWithFailures: "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2l" } }, defaultVariants: {}, compoundVariants: [] }), Oo = "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2m", Do = "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2n", Wo = "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2o", tt = "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2p", Ao = "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2q", Io = "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2r", zo = "pkg_sps-woodland_modal__version_8_38_2__hash_3moto2s";
|
|
1329
1329
|
function ot({
|
|
1330
1330
|
children: e,
|
|
1331
1331
|
className: t = "",
|
package/lib/index.umd.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(_,w){typeof exports=="object"&&typeof module<"u"?w(exports,require("@sps-woodland/core"),require("@sps-woodland/buttons"),require("react"),require("@spscommerce/i18n"),require("react-dom"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","@sps-woodland/core","@sps-woodland/buttons","react","@spscommerce/i18n","react-dom","@spscommerce/utils"],w):(_=typeof globalThis<"u"?globalThis:_||self,w(_.Modal={},_.core,_.buttons,_.React,_.i18n,_.$4AOtR$reactdom,_.utils))})(this,function(_,w,he,m,Ye,Qe,v){"use strict";function Ze(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const u=Ze(m),E=typeof document<"u"?m.useLayoutEffect:()=>{};function W(e){const t=m.useRef(null);return E(()=>{t.current=e},[e]),m.useCallback((...o)=>{const n=t.current;return n?.(...o)},[])}function Re(e){let[t,o]=m.useState(e),n=m.useRef(null),r=W(()=>{if(!n.current)return;let a=n.current.next();if(a.done){n.current=null;return}t===a.value?r():o(a.value)});E(()=>{n.current&&r()});let l=W(a=>{n.current=a(t),r()});return[t,l]}const j={prefix:String(Math.round(Math.random()*1e10)),current:0},$e=m.createContext(j),et=m.createContext(!1);let tt=!!(typeof window<"u"&&window.document&&window.document.createElement),R=new WeakMap;function ot(e=!1){let t=m.useContext($e),o=m.useRef(null);if(o.current===null&&!e){var n,r;let l=(r=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||r===void 0||(n=r.ReactCurrentOwner)===null||n===void 0?void 0:n.current;if(l){let a=R.get(l);a==null?R.set(l,{id:t.current,state:l.memoizedState}):l.memoizedState!==a.state&&(t.current=a.id,R.delete(l))}o.current=++t.current}return o.current}function nt(e){let t=m.useContext($e);t===j&&!tt&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let o=ot(!!e),n=t===j&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${n}-${o}`}function rt(e){let t=m.useId(),[o]=m.useState(we()),n=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${j.prefix}`;return e||`${n}-${t}`}const at=typeof m.useId=="function"?rt:nt;function lt(){return!1}function it(){return!0}function st(e){return()=>{}}function we(){return typeof m.useSyncExternalStore=="function"?m.useSyncExternalStore(st,lt,it):m.useContext(et)}let dt=!!(typeof window<"u"&&window.document&&window.document.createElement),F=new Map;function Ee(e){let[t,o]=m.useState(e),n=m.useRef(null),r=at(t),l=m.useCallback(a=>{n.current=a},[]);return dt&&(F.has(r)&&!F.get(r).includes(l)?F.set(r,[...F.get(r),l]):F.set(r,[l])),E(()=>{let a=r;return()=>{F.delete(a)}},[r]),m.useEffect(()=>{let a=n.current;a&&(n.current=null,o(a))}),r}function ut(e,t){if(e===t)return e;let o=F.get(e);if(o)return o.forEach(r=>r(t)),t;let n=F.get(t);return n?(n.forEach(r=>r(e)),e):t}function ct(e=[]){let t=Ee(),[o,n]=Re(t),r=m.useCallback(()=>{n(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,n]);return E(r,[t,r,...e]),o}function K(...e){return(...t)=>{for(let o of e)typeof o=="function"&&o(...t)}}const M=e=>{var t;return(t=e?.ownerDocument)!==null&&t!==void 0?t:document},U=e=>e&&"window"in e&&e.window===e?e:M(e).defaultView||window;function Me(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(o=Me(e[t]))&&(n&&(n+=" "),n+=o)}else for(o in e)e[o]&&(n&&(n+=" "),n+=o);return n}function mt(){for(var e,t,o=0,n="",r=arguments.length;o<r;o++)(e=arguments[o])&&(t=Me(e))&&(n&&(n+=" "),n+=t);return n}function ft(...e){let t={...e[0]};for(let o=1;o<e.length;o++){let n=e[o];for(let r in n){let l=t[r],a=n[r];typeof l=="function"&&typeof a=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=K(l,a):(r==="className"||r==="UNSAFE_className")&&typeof l=="string"&&typeof a=="string"?t[r]=mt(l,a):r==="id"&&l&&a?t.id=ut(l,a):t[r]=a!==void 0?a:l}}return t}const pt=new Set(["id"]),gt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),bt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),vt=/^(data-.*)$/;function ht(e,t={}){let{labelable:o,isLink:n,propNames:r}=t,l={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(pt.has(a)||o&>.has(a)||n&&bt.has(a)||r?.has(a)||vt.test(a))&&(l[a]=e[a]);return l}function _e(e){if($t())e.focus({preventScroll:!0});else{let t=wt(e);e.focus(),Et(t)}}let G=null;function $t(){if(G==null){G=!1;try{document.createElement("div").focus({get preventScroll(){return G=!0,!0}})}catch{}}return G}function wt(e){let t=e.parentNode,o=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&o.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&o.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),o}function Et(e){for(let{element:t,scrollTop:o,scrollLeft:n}of e)t.scrollTop=o,t.scrollLeft=n}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(o=>e.test(o.brand)))||e.test(window.navigator.userAgent)}function ee(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 ye=A(function(){return ee(/^Mac/i)}),_t=A(function(){return ee(/^iPhone/i)}),yt=A(function(){return ee(/^iPad/i)||ye()&&navigator.maxTouchPoints>1}),Pt=A(function(){return _t()||yt()}),kt=A(function(){return Mt(/Android/i)});let O=new Map,te=new Set;function Pe(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{if(!e(n)||!n.target)return;let r=O.get(n.target);r||(r=new Set,O.set(n.target,r),n.target.addEventListener("transitioncancel",o,{once:!0})),r.add(n.propertyName)},o=n=>{if(!e(n)||!n.target)return;let r=O.get(n.target);if(r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",o),O.delete(n.target)),O.size===0)){for(let l of te)l();te.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",o)}typeof document<"u"&&(document.readyState!=="loading"?Pe():document.addEventListener("DOMContentLoaded",Pe));function Tt(e){requestAnimationFrame(()=>{O.size===0?e():te.add(e)})}function ke(e,t){let o=window.getComputedStyle(e),n=/(auto|scroll)/.test(o.overflow+o.overflowX+o.overflowY);return n&&t&&(n=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),n}function Te(e,t){let o=e;for(ke(o,t)&&(o=o.parentElement);o&&!ke(o,t);)o=o.parentElement;return o||document.scrollingElement||document.documentElement}function xt(e){return e.mozInputSource===0&&e.isTrusted?!0:kt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function St(e,t,o){let[n,r]=m.useState(e||t),l=m.useRef(e!==void 0),a=e!==void 0;m.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 d=a?e:n,c=m.useCallback((i,...s)=>{let f=(p,...b)=>{o&&(Object.is(d,p)||o(p,...b)),a||(d=p)};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"),r((b,...g)=>{let T=i(a?d:b,...g);return f(T,...s),a?b:T})):(a||r(i),f(i,...s))},[a,d,o]);return[d,c]}const xe=m.createContext({register:()=>{}});xe.displayName="PressResponderContext";function Ft({children:e}){let t=m.useMemo(()=>({register:()=>{}}),[]);return m.createElement(xe.Provider,{value:t},e)}class Lt{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,o){this.nativeEvent=o,this.target=o.target,this.currentTarget=o.currentTarget,this.relatedTarget=o.relatedTarget,this.bubbles=o.bubbles,this.cancelable=o.cancelable,this.defaultPrevented=o.defaultPrevented,this.eventPhase=o.eventPhase,this.isTrusted=o.isTrusted,this.timeStamp=o.timeStamp,this.type=t}}function Ct(e){let t=m.useRef({isFocused:!1,observer:null});E(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]);let o=W(n=>{e?.(n)});return m.useCallback(n=>{if(n.target instanceof HTMLButtonElement||n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement||n.target instanceof HTMLSelectElement){t.current.isFocused=!0;let r=n.target,l=a=>{t.current.isFocused=!1,r.disabled&&o(new Lt("blur",a)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};r.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&r.disabled){var a;(a=t.current.observer)===null||a===void 0||a.disconnect();let d=r===document.activeElement?null:document.activeElement;r.dispatchEvent(new FocusEvent("blur",{relatedTarget:d})),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:d}))}}),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}},[o])}let I=null,Bt=new Set,q=new Map,C=!1,oe=!1;function ne(e,t){for(let o of Bt)o(e,t)}function Nt(e){return!(e.metaKey||!ye()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function X(e){C=!0,Nt(e)&&(I="keyboard",ne("keyboard",e))}function P(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(C=!0,ne("pointer",e))}function Se(e){xt(e)&&(C=!0,I="virtual")}function Fe(e){e.target===window||e.target===document||(!C&&!oe&&(I="virtual",ne("virtual",e)),C=!1,oe=!1)}function Le(){C=!1,oe=!0}function Ce(e){if(typeof window>"u"||q.get(U(e)))return;const t=U(e),o=M(e);let n=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){C=!0,n.apply(this,arguments)},o.addEventListener("keydown",X,!0),o.addEventListener("keyup",X,!0),o.addEventListener("click",Se,!0),t.addEventListener("focus",Fe,!0),t.addEventListener("blur",Le,!1),typeof PointerEvent<"u"?(o.addEventListener("pointerdown",P,!0),o.addEventListener("pointermove",P,!0),o.addEventListener("pointerup",P,!0)):(o.addEventListener("mousedown",P,!0),o.addEventListener("mousemove",P,!0),o.addEventListener("mouseup",P,!0)),t.addEventListener("beforeunload",()=>{Be(e)},{once:!0}),q.set(t,{focus:n})}const Be=(e,t)=>{const o=U(e),n=M(e);t&&n.removeEventListener("DOMContentLoaded",t),q.has(o)&&(o.HTMLElement.prototype.focus=q.get(o).focus,n.removeEventListener("keydown",X,!0),n.removeEventListener("keyup",X,!0),n.removeEventListener("click",Se,!0),o.removeEventListener("focus",Fe,!0),o.removeEventListener("blur",Le,!1),typeof PointerEvent<"u"?(n.removeEventListener("pointerdown",P,!0),n.removeEventListener("pointermove",P,!0),n.removeEventListener("pointerup",P,!0)):(n.removeEventListener("mousedown",P,!0),n.removeEventListener("mousemove",P,!0),n.removeEventListener("mouseup",P,!0)),q.delete(o))};function Ot(e){const t=M(e);let o;return t.readyState!=="loading"?Ce(e):(o=()=>{Ce(e)},t.addEventListener("DOMContentLoaded",o)),()=>Be(e,o)}typeof document<"u"&&Ot();function Dt(){return I}function Wt(e){let{isDisabled:t,onBlurWithin:o,onFocusWithin:n,onFocusWithinChange:r}=e,l=m.useRef({isFocusWithin:!1}),a=m.useCallback(i=>{l.current.isFocusWithin&&!i.currentTarget.contains(i.relatedTarget)&&(l.current.isFocusWithin=!1,o&&o(i),r&&r(!1))},[o,r,l]),d=Ct(a),c=m.useCallback(i=>{!l.current.isFocusWithin&&document.activeElement===i.target&&(n&&n(i),r&&r(!0),l.current.isFocusWithin=!0,d(i))},[n,r,d]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:c,onBlur:a}}}function At(e){let{ref:t,onInteractOutside:o,isDisabled:n,onInteractOutsideStart:r}=e,l=m.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=W(c=>{o&&J(c,t)&&(r&&r(c),l.current.isPointerDown=!0)}),d=W(c=>{o&&o(c)});m.useEffect(()=>{let c=l.current;if(n)return;const i=t.current,s=M(i);if(typeof PointerEvent<"u"){let f=p=>{c.isPointerDown&&J(p,t)&&d(p),c.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=b=>{c.ignoreEmulatedMouseEvents?c.ignoreEmulatedMouseEvents=!1:c.isPointerDown&&J(b,t)&&d(b),c.isPointerDown=!1},p=b=>{c.ignoreEmulatedMouseEvents=!0,c.isPointerDown&&J(b,t)&&d(b),c.isPointerDown=!1};return s.addEventListener("mousedown",a,!0),s.addEventListener("mouseup",f,!0),s.addEventListener("touchstart",a,!0),s.addEventListener("touchend",p,!0),()=>{s.removeEventListener("mousedown",a,!0),s.removeEventListener("mouseup",f,!0),s.removeEventListener("touchstart",a,!0),s.removeEventListener("touchend",p,!0)}}},[t,n,a,d])}function J(e,t){if(e.button>0)return!1;if(e.target){const o=e.target.ownerDocument;if(!o||!o.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function re(e){const t=M(e);if(Dt()==="virtual"){let o=t.activeElement;Tt(()=>{t.activeElement===o&&e.isConnected&&_e(e)})}else _e(e)}function It(e){const t=U(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:o,visibility:n}=e.style,r=o!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:l}=e.ownerDocument.defaultView;let{display:a,visibility:d}=l(e);r=a!=="none"&&d!=="hidden"&&d!=="collapse"}return r}function qt(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 Ne(e,t){return e.nodeName!=="#comment"&&It(e)&&qt(e,t)&&(!e.parentElement||Ne(e.parentElement,e))}const Oe=m.createContext(null),ae="react-aria-focus-scope-restore";let h=null;function zt(e){let{children:t,contain:o,restoreFocus:n,autoFocus:r}=e,l=m.useRef(null),a=m.useRef(null),d=m.useRef([]),{parentNode:c}=m.useContext(Oe)||{},i=m.useMemo(()=>new de({scopeRef:d}),[d]);E(()=>{let p=c||$.root;if($.getTreeNode(p.scopeRef)&&h&&!Q(h,p.scopeRef)){let b=$.getTreeNode(h);b&&(p=b)}p.addChild(i),$.addNode(i)},[i,c]),E(()=>{let p=$.getTreeNode(d);p&&(p.contain=!!o)},[o]),E(()=>{var p;let b=(p=l.current)===null||p===void 0?void 0:p.nextSibling,g=[],T=N=>N.stopPropagation();for(;b&&b!==a.current;)g.push(b),b.addEventListener(ae,T),b=b.nextSibling;return d.current=g,()=>{for(let N of g)N.removeEventListener(ae,T)}},[t]),Xt(d,n,o),Kt(d,o),Yt(d,n,o),Gt(d,r),m.useEffect(()=>{const p=M(d.current?d.current[0]:void 0).activeElement;let b=null;if(y(p,d.current)){for(let g of $.traverse())g.scopeRef&&y(p,g.scopeRef.current)&&(b=g);b===$.getTreeNode(d)&&(h=b.scopeRef)}},[d]),E(()=>()=>{var p,b,g;let T=(g=(b=$.getTreeNode(d))===null||b===void 0||(p=b.parent)===null||p===void 0?void 0:p.scopeRef)!==null&&g!==void 0?g:null;(d===h||Q(d,h))&&(!T||$.getTreeNode(T))&&(h=T),$.removeTreeNode(d)},[d]);let s=m.useMemo(()=>Vt(d),[]),f=m.useMemo(()=>({focusManager:s,parentNode:i}),[i,s]);return m.createElement(Oe.Provider,{value:f},m.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:l}),t,m.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function Vt(e){return{focusNext(t={}){let o=e.current,{from:n,tabbable:r,wrap:l,accept:a}=t,d=n||M(o[0]).activeElement,c=o[0].previousElementSibling,i=B(o),s=L(i,{tabbable:r,accept:a},o);s.currentNode=y(d,o)?d:c;let f=s.nextNode();return!f&&l&&(s.currentNode=c,f=s.nextNode()),f&&x(f,!0),f},focusPrevious(t={}){let o=e.current,{from:n,tabbable:r,wrap:l,accept:a}=t,d=n||M(o[0]).activeElement,c=o[o.length-1].nextElementSibling,i=B(o),s=L(i,{tabbable:r,accept:a},o);s.currentNode=y(d,o)?d:c;let f=s.previousNode();return!f&&l&&(s.currentNode=c,f=s.previousNode()),f&&x(f,!0),f},focusFirst(t={}){let o=e.current,{tabbable:n,accept:r}=t,l=B(o),a=L(l,{tabbable:n,accept:r},o);a.currentNode=o[0].previousElementSibling;let d=a.nextNode();return d&&x(d,!0),d},focusLast(t={}){let o=e.current,{tabbable:n,accept:r}=t,l=B(o),a=L(l,{tabbable:n,accept:r},o);a.currentNode=o[o.length-1].nextElementSibling;let d=a.previousNode();return d&&x(d,!0),d}}}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]"],Ht=le.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";le.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const jt=le.join(':not([hidden]):not([tabindex="-1"]),');function B(e){return e[0].parentElement}function z(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function Kt(e,t){let o=m.useRef(void 0),n=m.useRef(void 0);E(()=>{let r=e.current;if(!t){n.current&&(cancelAnimationFrame(n.current),n.current=void 0);return}const l=M(r?r[0]:void 0);let a=i=>{if(i.key!=="Tab"||i.altKey||i.ctrlKey||i.metaKey||!z(e)||i.isComposing)return;let s=l.activeElement,f=e.current;if(!f||!y(s,f))return;let p=B(f),b=L(p,{tabbable:!0},f);if(!s)return;b.currentNode=s;let g=i.shiftKey?b.previousNode():b.nextNode();g||(b.currentNode=i.shiftKey?f[f.length-1].nextElementSibling:f[0].previousElementSibling,g=i.shiftKey?b.previousNode():b.nextNode()),i.preventDefault(),g&&x(g,!0)},d=i=>{(!h||Q(h,e))&&y(i.target,e.current)?(h=e,o.current=i.target):z(e)&&!Y(i.target,e)?o.current?o.current.focus():h&&h.current&&ie(h.current):z(e)&&(o.current=i.target)},c=i=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{if(l.activeElement&&z(e)&&!Y(l.activeElement,e))if(h=e,l.body.contains(i.target)){var s;o.current=i.target,(s=o.current)===null||s===void 0||s.focus()}else h.current&&ie(h.current)})};return l.addEventListener("keydown",a,!1),l.addEventListener("focusin",d,!1),r?.forEach(i=>i.addEventListener("focusin",d,!1)),r?.forEach(i=>i.addEventListener("focusout",c,!1)),()=>{l.removeEventListener("keydown",a,!1),l.removeEventListener("focusin",d,!1),r?.forEach(i=>i.removeEventListener("focusin",d,!1)),r?.forEach(i=>i.removeEventListener("focusout",c,!1))}},[e,t]),E(()=>()=>{n.current&&cancelAnimationFrame(n.current)},[n])}function De(e){return Y(e)}function y(e,t){return!e||!t?!1:t.some(o=>o.contains(e))}function Y(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:o}of $.traverse($.getTreeNode(t)))if(o&&y(e,o.current))return!0;return!1}function Ut(e){return Y(e,h)}function Q(e,t){var o;let n=(o=$.getTreeNode(t))===null||o===void 0?void 0:o.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function x(e,t=!1){if(e!=null&&!t)try{re(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function We(e,t=!0){let o=e[0].previousElementSibling,n=B(e),r=L(n,{tabbable:t},e);r.currentNode=o;let l=r.nextNode();return t&&!l&&(n=B(e),r=L(n,{tabbable:!1},e),r.currentNode=o,l=r.nextNode()),l}function ie(e,t=!0){x(We(e,t))}function Gt(e,t){const o=m.useRef(t);m.useEffect(()=>{if(o.current){h=e;const n=M(e.current?e.current[0]:void 0);!y(n.activeElement,h.current)&&e.current&&ie(e.current)}o.current=!1},[e])}function Xt(e,t,o){E(()=>{if(t||o)return;let n=e.current;const r=M(n?n[0]:void 0);let l=a=>{let d=a.target;y(d,e.current)?h=e:De(d)||(h=null)};return r.addEventListener("focusin",l,!1),n?.forEach(a=>a.addEventListener("focusin",l,!1)),()=>{r.removeEventListener("focusin",l,!1),n?.forEach(a=>a.removeEventListener("focusin",l,!1))}},[e,t,o])}function Jt(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return t?.scopeRef===e}function Yt(e,t,o){const n=m.useRef(typeof document<"u"?M(e.current?e.current[0]:void 0).activeElement:null);E(()=>{let r=e.current;const l=M(r?r[0]:void 0);if(!t||o)return;let a=()=>{(!h||Q(h,e))&&y(l.activeElement,e.current)&&(h=e)};return l.addEventListener("focusin",a,!1),r?.forEach(d=>d.addEventListener("focusin",a,!1)),()=>{l.removeEventListener("focusin",a,!1),r?.forEach(d=>d.removeEventListener("focusin",a,!1))}},[e,o]),E(()=>{const r=M(e.current?e.current[0]:void 0);if(!t)return;let l=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!z(e)||a.isComposing)return;let d=r.activeElement;if(!y(d,e.current))return;let c=$.getTreeNode(e);if(!c)return;let i=c.nodeToRestore,s=L(r.body,{tabbable:!0});s.currentNode=d;let f=a.shiftKey?s.previousNode():s.nextNode();if((!i||!r.body.contains(i)||i===r.body)&&(i=void 0,c.nodeToRestore=void 0),(!f||!y(f,e.current))&&i){s.currentNode=i;do f=a.shiftKey?s.previousNode():s.nextNode();while(y(f,e.current));a.preventDefault(),a.stopPropagation(),f?x(f,!0):De(i)?x(i,!0):d.blur()}};return o||r.addEventListener("keydown",l,!0),()=>{o||r.removeEventListener("keydown",l,!0)}},[e,t,o]),E(()=>{const r=M(e.current?e.current[0]:void 0);if(!t)return;let l=$.getTreeNode(e);if(l){var a;return l.nodeToRestore=(a=n.current)!==null&&a!==void 0?a:void 0,()=>{let d=$.getTreeNode(e);if(!d)return;let c=d.nodeToRestore;if(t&&c&&(y(r.activeElement,e.current)||r.activeElement===r.body&&Jt(e))){let i=$.clone();requestAnimationFrame(()=>{if(r.activeElement===r.body){let s=i.getTreeNode(e);for(;s;){if(s.nodeToRestore&&s.nodeToRestore.isConnected){Ae(s.nodeToRestore);return}s=s.parent}for(s=i.getTreeNode(e);s;){if(s.scopeRef&&s.scopeRef.current&&$.getTreeNode(s.scopeRef)){let f=We(s.scopeRef.current,!0);Ae(f);return}s=s.parent}}})}}}},[e,t])}function Ae(e){e.dispatchEvent(new CustomEvent(ae,{bubbles:!0,cancelable:!0}))&&x(e)}function L(e,t,o){let n=t?.tabbable?jt:Ht,r=M(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(n)&&Ne(l)&&(!o||y(l,o))&&(!t?.accept||t.accept(l))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(r.currentNode=t.from),r}class se{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,o,n){let r=this.fastMap.get(o??null);if(!r)return;let l=new de({scopeRef:t});r.addChild(l),l.parent=r,this.fastMap.set(t,l),n&&(l.nodeToRestore=n)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let o=this.fastMap.get(t);if(!o)return;let n=o.parent;for(let l of this.traverse())l!==o&&o.nodeToRestore&&l.nodeToRestore&&o.scopeRef&&o.scopeRef.current&&y(l.nodeToRestore,o.scopeRef.current)&&(l.nodeToRestore=o.nodeToRestore);let r=o.children;n&&(n.removeChild(o),r.size>0&&r.forEach(l=>n&&n.addChild(l))),this.fastMap.delete(o.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let o of t.children)yield*this.traverse(o)}clone(){var t;let o=new se;var n;for(let r of this.traverse())o.addTreeNode(r.scopeRef,(n=(t=r.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&n!==void 0?n:null,r.nodeToRestore);return o}constructor(){this.fastMap=new Map,this.root=new de({scopeRef:null}),this.fastMap.set(null,this.root)}}class de{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let $=new se;const Qt=new WeakMap,S=[];function Zt(e,t){let{onClose:o,shouldCloseOnBlur:n,isOpen:r,isDismissable:l=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:d}=e;m.useEffect(()=>(r&&S.push(t),()=>{let g=S.indexOf(t);g>=0&&S.splice(g,1)}),[r,t]);let c=()=>{S[S.length-1]===t&&o&&o()},i=g=>{(!d||d(g.target))&&S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault())},s=g=>{(!d||d(g.target))&&(S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault()),c())},f=g=>{g.key==="Escape"&&!a&&!g.nativeEvent.isComposing&&(g.stopPropagation(),g.preventDefault(),c())};At({ref:t,onInteractOutside:l&&r?s:null,onInteractOutsideStart:i});let{focusWithinProps:p}=Wt({isDisabled:!n,onBlurWithin:g=>{!g.relatedTarget||Ut(g.relatedTarget)||(!d||d(g.relatedTarget))&&o()}}),b=g=>{g.target===g.currentTarget&&g.preventDefault()};return{overlayProps:{onKeyDown:f,...p},underlayProps:{onPointerDown:b}}}function Rt(e,t,o){let{isOpen:n}=t;m.useEffect(()=>{o&&o.current&&Qt.set(o.current,t.close)});let r,l=Ee();return{triggerProps:{"aria-haspopup":r,"aria-expanded":n,"aria-controls":n?l:null,onPress:t.toggle},overlayProps:{id:l}}}const ue=typeof document<"u"&&window.visualViewport,eo=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Z=0,ce;function to(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return Z++,Z===1&&(Pt()?ce=no():ce=oo()),()=>{Z--,Z===0&&ce()}},[t])}function oo(){return K(D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"))}function no(){let e,t,o=i=>{e=Te(i.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=D(e,"overscrollBehavior","contain"))},n=i=>{if(!e||e===document.documentElement||e===document.body){i.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&i.preventDefault()},r=i=>{let s=i.target;qe(s)&&s!==document.activeElement&&(i.preventDefault(),d(),s.style.transform="translateY(-2000px)",s.focus(),requestAnimationFrame(()=>{s.style.transform=""})),t&&t()},l=i=>{let s=i.target;qe(s)&&(d(),s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",ue&&(ue.height<window.innerHeight?requestAnimationFrame(()=>{Ie(s)}):ue.addEventListener("resize",()=>Ie(s),{once:!0}))}))},a=null,d=()=>{if(a)return;let i=()=>{window.scrollTo(0,0)},s=window.pageXOffset,f=window.pageYOffset;a=K(V(window,"scroll",i),D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"),D(document.body,"marginTop",`-${f}px`),()=>{window.scrollTo(s,f)}),window.scrollTo(0,0)},c=K(V(document,"touchstart",o,{passive:!1,capture:!0}),V(document,"touchmove",n,{passive:!1,capture:!0}),V(document,"touchend",r,{passive:!1,capture:!0}),V(document,"focus",l,!0));return()=>{t?.(),a?.(),c()}}function D(e,t,o){let n=e.style[t];return e.style[t]=o,()=>{e.style[t]=n}}function V(e,t,o,n){return e.addEventListener(t,o,n),()=>{e.removeEventListener(t,o,n)}}function Ie(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let o=Te(e);if(o!==document.documentElement&&o!==document.body&&o!==e){let n=o.getBoundingClientRect().top,r=e.getBoundingClientRect().top;r>n+e.clientHeight&&(o.scrollTop+=r-n)}e=o.parentElement}}function qe(e){return e instanceof HTMLInputElement&&!eo.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let H=new WeakMap,k=[];function ro(e,t=document.body){let o=new Set(e),n=new Set,r=c=>{for(let p of c.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))o.add(p);let i=p=>{if(o.has(p)||n.has(p.parentElement)&&p.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let b of o)if(p.contains(b))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},s=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,{acceptNode:i}),f=i(c);if(f===NodeFilter.FILTER_ACCEPT&&l(c),f!==NodeFilter.FILTER_REJECT){let p=s.nextNode();for(;p!=null;)l(p),p=s.nextNode()}},l=c=>{var i;let s=(i=H.get(c))!==null&&i!==void 0?i:0;c.getAttribute("aria-hidden")==="true"&&s===0||(s===0&&c.setAttribute("aria-hidden","true"),n.add(c),H.set(c,s+1))};k.length&&k[k.length-1].disconnect(),r(t);let a=new MutationObserver(c=>{for(let i of c)if(!(i.type!=="childList"||i.addedNodes.length===0)&&![...o,...n].some(s=>s.contains(i.target))){for(let s of i.removedNodes)s instanceof Element&&(o.delete(s),n.delete(s));for(let s of i.addedNodes)(s instanceof HTMLElement||s instanceof SVGElement)&&(s.dataset.liveAnnouncer==="true"||s.dataset.reactAriaTopLayer==="true")?o.add(s):s instanceof Element&&r(s)}});a.observe(t,{childList:!0,subtree:!0});let d={observe(){a.observe(t,{childList:!0,subtree:!0})},disconnect(){a.disconnect()}};return k.push(d),()=>{a.disconnect();for(let c of n){let i=H.get(c);i===1?(c.removeAttribute("aria-hidden"),H.delete(c)):H.set(c,i-1)}d===k[k.length-1]?(k.pop(),k.length&&k[k.length-1].observe()):k.splice(k.indexOf(d),1)}}const ao=m.createContext({});function lo(){var e;return(e=m.useContext(ao))!==null&&e!==void 0?e:{}}const ze=m.createContext(null);function io(e){let t=we(),{portalContainer:o=t?null:document.body,isExiting:n}=e,[r,l]=m.useState(!1),a=m.useMemo(()=>({contain:r,setContain:l}),[r,l]),{getContainer:d}=lo();if(!e.portalContainer&&d&&(o=d()),!o)return null;let c=e.children;return e.disableFocusManagement||(c=m.createElement(zt,{restoreFocus:!0,contain:r&&!n},c)),c=m.createElement(ze.Provider,{value:a},m.createElement(Ft,null,c)),Qe.createPortal(c,o)}function Ve(){let e=m.useContext(ze),t=e?.setContain;E(()=>{t?.(!0)},[t])}function so(e,t,o){let{overlayProps:n,underlayProps:r}=Zt({...e,isOpen:t.isOpen,onClose:t.close},o);return to({isDisabled:!t.isOpen}),Ve(),m.useEffect(()=>{if(t.isOpen)return ro([o.current])},[t.isOpen,o]),{modalProps:ft(n),underlayProps:r}}function uo(e,t){let{role:o="dialog"}=e,n=ct();n=e["aria-label"]?void 0:n;let r=m.useRef(!1);return m.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){re(t.current);let l=setTimeout(()=>{document.activeElement===t.current&&(r.current=!0,t.current&&(t.current.blur(),re(t.current)),r.current=!1)},500);return()=>{clearTimeout(l)}}},[t]),Ve(),{dialogProps:{...ht(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||n,onBlur:l=>{r.current&&l.stopPropagation()}},titleProps:{id:n}}}function co(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function He(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),o.push.apply(o,n)}return o}function je(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?He(Object(o),!0).forEach(function(n){co(e,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):He(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})}return e}var mo=(e,t,o)=>{for(var n of Object.keys(e)){var r;if(e[n]!==((r=t[n])!==null&&r!==void 0?r:o[n]))return!1}return!0},Ke=e=>t=>{var o=e.defaultClassName,n=je(je({},e.defaultVariants),t);for(var r in n){var l,a=(l=n[r])!==null&&l!==void 0?l:e.defaultVariants[r];if(a!=null){var d=a;typeof d=="boolean"&&(d=d===!0?"true":"false");var c=e.variantClassNames[r][d];c&&(o+=" "+c)}}for(var[i,s]of e.compoundVariants)mo(i,n,e.defaultVariants)&&(o+=" "+s);return o},fo=Ke({defaultClassName:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto20",variantClassNames:{kind:{informational:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto21",delete:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto22",failure:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto23",success:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto24",warning:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto25",successWithFailures:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto26",form:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto27"},size:{sm:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto28",md:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto29",lg:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2a",xl:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2b"},fullHeight:{true:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2c",false:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2d"}},defaultVariants:{},compoundVariants:[]}),po=Ke({defaultClassName:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2e",variantClassNames:{kind:{form:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2f",delete:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2g",failure:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2h",informational:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2i",success:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2j",warning:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2k",successWithFailures:"pkg_sps-woodland_modal__version_8_38_0__hash_3moto2l"}},defaultVariants:{},compoundVariants:[]}),go="pkg_sps-woodland_modal__version_8_38_0__hash_3moto2m",bo="pkg_sps-woodland_modal__version_8_38_0__hash_3moto2n",vo="pkg_sps-woodland_modal__version_8_38_0__hash_3moto2o",Ue="pkg_sps-woodland_modal__version_8_38_0__hash_3moto2p",ho="pkg_sps-woodland_modal__version_8_38_0__hash_3moto2q",$o="pkg_sps-woodland_modal__version_8_38_0__hash_3moto2r",wo="pkg_sps-woodland_modal__version_8_38_0__hash_3moto2s";function me({children:e,className:t="",...o}){return u.createElement("div",{className:w.cl(Ue,t),...o},e)}w.Metadata.set(me,{name:"ModalFooter"});function Ge({dismissableValue:e,handleClose:t}){return e?u.createElement(he.Button,{"aria-label":"Close",onClick:t,kind:"icon",icon:"x",className:ho}):null}const fe=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function Eo({children:e,className:t,"data-testid":o,kind:n="informational",onBlur:r,onFocus:l,overlayProps:a,size:d="sm",state:c,title:i,dismissible:s,dismissable:f=!0,onClose:p,fullHeight:b=!1,...g}){const T=s??f,N=u.useRef(null),{modalProps:ge,underlayProps:Po}=so({isKeyboardDismissDisabled:!T,...g},c,N),{dialogProps:be,titleProps:ko}=uo(g,N),To=w.combineEventHandlers(ge.onFocus,be.onFocus,l),xo=w.combineEventHandlers(ge.onBlur,be.onBlur,r),{t:So}=Ye.useWoodlandLanguage(),Fo=w.useChildTestIdAttrBuilder({"data-testid":o}),[ve,Lo]=w.selectChildren(e,[{type:me}]),Xe=u.useCallback(()=>{p&&typeof p=="function"&&p(),c.close()},[p,c.close]),Co=w.modChildren(Lo,Je=>Je.type===Ge?[{className:w.cl(Je.props.classname,$o)}]:[]);return u.createElement(io,null,u.createElement("div",{className:wo,...Po,...g},u.createElement("div",{...ge,...be,...a,onFocus:To,onBlur:xo,...Fo("dialog"),ref:N,className:w.cl(fo({kind:n,size:d,fullHeight:b}),t)},u.createElement("div",{...ko,className:po({kind:n})},n&&u.createElement(w.Icon,{icon:fe[n]||fe.informational,className:bo}),u.createElement("div",{className:go},w.contentOf(i,c.close)),u.createElement(Ge,{dismissableValue:T,handleClose:Xe})),u.createElement("div",{className:vo},w.contentOf(Co,c.close)),ve&&ve.length>0?u.createElement(u.Fragment,null,w.contentOf(ve,c.close)):u.createElement("div",{className:Ue},u.createElement(he.Button,{kind:"key",onClick:Xe},So("modal.defaultButtonLabel",{defaultValue:"Okay"}))))))}function pe(e){return e.state.isOpen?u.createElement(Eo,{...e},e.children):u.createElement(u.Fragment,null)}w.Metadata.set(pe,{name:"Modal",props:{dismissable:{type:"boolean",default:"true"},fullHeight:{type:"boolean",default:"false"},kind:{type:"ModalKind",default:"informational"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"},size:{type:"ModalSize",default:"sm"},title:{type:"string"}}});function Mo(e){let[t,o]=St(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const n=m.useCallback(()=>{o(!0)},[o]),r=m.useCallback(()=>{o(!1)},[o]),l=m.useCallback(()=>{o(!t)},[o,t]);return{isOpen:t,setOpen:o,open:n,close:r,toggle:l}}function _o(e={}){const t=Mo(e),o=m.useRef(null),{triggerProps:n,overlayProps:r}=Rt({},t,o),{onPress:l,...a}=n;return{triggerProps:{...a,onClick:l,ref:o},modalState:t,modalProps:{overlayProps:r,state:t}}}const yo={Modals:{description:()=>u.createElement("p",null,"Modals are overlays on a page that focus a user’s attention on an important message or a simple action. Examples of a Modal include confirming the deletion of a record, or making a single selection."),components:[pe],examples:{general:{label:"Usage",description:({NavigateTo:e})=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Use a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When the user needs to confirm a basic decision, such as deleting a record."),u.createElement("li",null,"When important information needs to be displayed to the user before continuing."),u.createElement("li",null,"When a simple selection, such as a single form input, is required before proceeding.")),u.createElement("h5",null,"Avoid a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When a complex form is required. Use a ",u.createElement(e,{to:"focused-task"},"Focused Task View")," instead."),u.createElement("li",null,"When sharing non-critical or tertiary information. Use a ",u.createElement(e,{to:"growlers"},"Growler")," instead.")))},implementation:{label:"Close Button",description:()=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Close Button and Modal dismissiability"),u.createElement("p",null,"Remove the Close Button in the upper right of the Modal if the user must choose the course of action before proceeding."),u.createElement("p",null,"The close button is included by default and omitted when the prop ",u.createElement("code",null,"dismissable")," is set to ",u.createElement("strong",null,"false"),"."),u.createElement("p",null,"Setting the ",u.createElement("code",null,"dismissable")," prop to false also prevents dismissing the modal by clicking outside of the modal or by using the"," ",u.createElement("strong",null,"escape")," key.")),examples:{basic:{react:v.code`
|
|
1
|
+
(function(_,w){typeof exports=="object"&&typeof module<"u"?w(exports,require("@sps-woodland/core"),require("@sps-woodland/buttons"),require("react"),require("@spscommerce/i18n"),require("react-dom"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","@sps-woodland/core","@sps-woodland/buttons","react","@spscommerce/i18n","react-dom","@spscommerce/utils"],w):(_=typeof globalThis<"u"?globalThis:_||self,w(_.Modal={},_.core,_.buttons,_.React,_.i18n,_.$4AOtR$reactdom,_.utils))})(this,function(_,w,he,m,Ye,Qe,v){"use strict";function Ze(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const u=Ze(m),E=typeof document<"u"?m.useLayoutEffect:()=>{};function W(e){const t=m.useRef(null);return E(()=>{t.current=e},[e]),m.useCallback((...o)=>{const n=t.current;return n?.(...o)},[])}function Re(e){let[t,o]=m.useState(e),n=m.useRef(null),r=W(()=>{if(!n.current)return;let a=n.current.next();if(a.done){n.current=null;return}t===a.value?r():o(a.value)});E(()=>{n.current&&r()});let l=W(a=>{n.current=a(t),r()});return[t,l]}const j={prefix:String(Math.round(Math.random()*1e10)),current:0},$e=m.createContext(j),et=m.createContext(!1);let tt=!!(typeof window<"u"&&window.document&&window.document.createElement),R=new WeakMap;function ot(e=!1){let t=m.useContext($e),o=m.useRef(null);if(o.current===null&&!e){var n,r;let l=(r=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||r===void 0||(n=r.ReactCurrentOwner)===null||n===void 0?void 0:n.current;if(l){let a=R.get(l);a==null?R.set(l,{id:t.current,state:l.memoizedState}):l.memoizedState!==a.state&&(t.current=a.id,R.delete(l))}o.current=++t.current}return o.current}function nt(e){let t=m.useContext($e);t===j&&!tt&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let o=ot(!!e),n=t===j&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${n}-${o}`}function rt(e){let t=m.useId(),[o]=m.useState(we()),n=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${j.prefix}`;return e||`${n}-${t}`}const at=typeof m.useId=="function"?rt:nt;function lt(){return!1}function it(){return!0}function st(e){return()=>{}}function we(){return typeof m.useSyncExternalStore=="function"?m.useSyncExternalStore(st,lt,it):m.useContext(et)}let dt=!!(typeof window<"u"&&window.document&&window.document.createElement),F=new Map;function Ee(e){let[t,o]=m.useState(e),n=m.useRef(null),r=at(t),l=m.useCallback(a=>{n.current=a},[]);return dt&&(F.has(r)&&!F.get(r).includes(l)?F.set(r,[...F.get(r),l]):F.set(r,[l])),E(()=>{let a=r;return()=>{F.delete(a)}},[r]),m.useEffect(()=>{let a=n.current;a&&(n.current=null,o(a))}),r}function ut(e,t){if(e===t)return e;let o=F.get(e);if(o)return o.forEach(r=>r(t)),t;let n=F.get(t);return n?(n.forEach(r=>r(e)),e):t}function ct(e=[]){let t=Ee(),[o,n]=Re(t),r=m.useCallback(()=>{n(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,n]);return E(r,[t,r,...e]),o}function K(...e){return(...t)=>{for(let o of e)typeof o=="function"&&o(...t)}}const M=e=>{var t;return(t=e?.ownerDocument)!==null&&t!==void 0?t:document},U=e=>e&&"window"in e&&e.window===e?e:M(e).defaultView||window;function Me(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(o=Me(e[t]))&&(n&&(n+=" "),n+=o)}else for(o in e)e[o]&&(n&&(n+=" "),n+=o);return n}function mt(){for(var e,t,o=0,n="",r=arguments.length;o<r;o++)(e=arguments[o])&&(t=Me(e))&&(n&&(n+=" "),n+=t);return n}function ft(...e){let t={...e[0]};for(let o=1;o<e.length;o++){let n=e[o];for(let r in n){let l=t[r],a=n[r];typeof l=="function"&&typeof a=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=K(l,a):(r==="className"||r==="UNSAFE_className")&&typeof l=="string"&&typeof a=="string"?t[r]=mt(l,a):r==="id"&&l&&a?t.id=ut(l,a):t[r]=a!==void 0?a:l}}return t}const pt=new Set(["id"]),gt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),bt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),vt=/^(data-.*)$/;function ht(e,t={}){let{labelable:o,isLink:n,propNames:r}=t,l={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(pt.has(a)||o&>.has(a)||n&&bt.has(a)||r?.has(a)||vt.test(a))&&(l[a]=e[a]);return l}function _e(e){if($t())e.focus({preventScroll:!0});else{let t=wt(e);e.focus(),Et(t)}}let G=null;function $t(){if(G==null){G=!1;try{document.createElement("div").focus({get preventScroll(){return G=!0,!0}})}catch{}}return G}function wt(e){let t=e.parentNode,o=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&o.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&o.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),o}function Et(e){for(let{element:t,scrollTop:o,scrollLeft:n}of e)t.scrollTop=o,t.scrollLeft=n}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(o=>e.test(o.brand)))||e.test(window.navigator.userAgent)}function ee(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 ye=A(function(){return ee(/^Mac/i)}),_t=A(function(){return ee(/^iPhone/i)}),yt=A(function(){return ee(/^iPad/i)||ye()&&navigator.maxTouchPoints>1}),Pt=A(function(){return _t()||yt()}),kt=A(function(){return Mt(/Android/i)});let O=new Map,te=new Set;function Pe(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{if(!e(n)||!n.target)return;let r=O.get(n.target);r||(r=new Set,O.set(n.target,r),n.target.addEventListener("transitioncancel",o,{once:!0})),r.add(n.propertyName)},o=n=>{if(!e(n)||!n.target)return;let r=O.get(n.target);if(r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",o),O.delete(n.target)),O.size===0)){for(let l of te)l();te.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",o)}typeof document<"u"&&(document.readyState!=="loading"?Pe():document.addEventListener("DOMContentLoaded",Pe));function Tt(e){requestAnimationFrame(()=>{O.size===0?e():te.add(e)})}function ke(e,t){let o=window.getComputedStyle(e),n=/(auto|scroll)/.test(o.overflow+o.overflowX+o.overflowY);return n&&t&&(n=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),n}function Te(e,t){let o=e;for(ke(o,t)&&(o=o.parentElement);o&&!ke(o,t);)o=o.parentElement;return o||document.scrollingElement||document.documentElement}function xt(e){return e.mozInputSource===0&&e.isTrusted?!0:kt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function St(e,t,o){let[n,r]=m.useState(e||t),l=m.useRef(e!==void 0),a=e!==void 0;m.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 d=a?e:n,c=m.useCallback((i,...s)=>{let f=(p,...b)=>{o&&(Object.is(d,p)||o(p,...b)),a||(d=p)};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"),r((b,...g)=>{let T=i(a?d:b,...g);return f(T,...s),a?b:T})):(a||r(i),f(i,...s))},[a,d,o]);return[d,c]}const xe=m.createContext({register:()=>{}});xe.displayName="PressResponderContext";function Ft({children:e}){let t=m.useMemo(()=>({register:()=>{}}),[]);return m.createElement(xe.Provider,{value:t},e)}class Lt{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,o){this.nativeEvent=o,this.target=o.target,this.currentTarget=o.currentTarget,this.relatedTarget=o.relatedTarget,this.bubbles=o.bubbles,this.cancelable=o.cancelable,this.defaultPrevented=o.defaultPrevented,this.eventPhase=o.eventPhase,this.isTrusted=o.isTrusted,this.timeStamp=o.timeStamp,this.type=t}}function Ct(e){let t=m.useRef({isFocused:!1,observer:null});E(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]);let o=W(n=>{e?.(n)});return m.useCallback(n=>{if(n.target instanceof HTMLButtonElement||n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement||n.target instanceof HTMLSelectElement){t.current.isFocused=!0;let r=n.target,l=a=>{t.current.isFocused=!1,r.disabled&&o(new Lt("blur",a)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};r.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&r.disabled){var a;(a=t.current.observer)===null||a===void 0||a.disconnect();let d=r===document.activeElement?null:document.activeElement;r.dispatchEvent(new FocusEvent("blur",{relatedTarget:d})),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:d}))}}),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}},[o])}let I=null,Bt=new Set,q=new Map,C=!1,oe=!1;function ne(e,t){for(let o of Bt)o(e,t)}function Nt(e){return!(e.metaKey||!ye()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function X(e){C=!0,Nt(e)&&(I="keyboard",ne("keyboard",e))}function P(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(C=!0,ne("pointer",e))}function Se(e){xt(e)&&(C=!0,I="virtual")}function Fe(e){e.target===window||e.target===document||(!C&&!oe&&(I="virtual",ne("virtual",e)),C=!1,oe=!1)}function Le(){C=!1,oe=!0}function Ce(e){if(typeof window>"u"||q.get(U(e)))return;const t=U(e),o=M(e);let n=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){C=!0,n.apply(this,arguments)},o.addEventListener("keydown",X,!0),o.addEventListener("keyup",X,!0),o.addEventListener("click",Se,!0),t.addEventListener("focus",Fe,!0),t.addEventListener("blur",Le,!1),typeof PointerEvent<"u"?(o.addEventListener("pointerdown",P,!0),o.addEventListener("pointermove",P,!0),o.addEventListener("pointerup",P,!0)):(o.addEventListener("mousedown",P,!0),o.addEventListener("mousemove",P,!0),o.addEventListener("mouseup",P,!0)),t.addEventListener("beforeunload",()=>{Be(e)},{once:!0}),q.set(t,{focus:n})}const Be=(e,t)=>{const o=U(e),n=M(e);t&&n.removeEventListener("DOMContentLoaded",t),q.has(o)&&(o.HTMLElement.prototype.focus=q.get(o).focus,n.removeEventListener("keydown",X,!0),n.removeEventListener("keyup",X,!0),n.removeEventListener("click",Se,!0),o.removeEventListener("focus",Fe,!0),o.removeEventListener("blur",Le,!1),typeof PointerEvent<"u"?(n.removeEventListener("pointerdown",P,!0),n.removeEventListener("pointermove",P,!0),n.removeEventListener("pointerup",P,!0)):(n.removeEventListener("mousedown",P,!0),n.removeEventListener("mousemove",P,!0),n.removeEventListener("mouseup",P,!0)),q.delete(o))};function Ot(e){const t=M(e);let o;return t.readyState!=="loading"?Ce(e):(o=()=>{Ce(e)},t.addEventListener("DOMContentLoaded",o)),()=>Be(e,o)}typeof document<"u"&&Ot();function Dt(){return I}function Wt(e){let{isDisabled:t,onBlurWithin:o,onFocusWithin:n,onFocusWithinChange:r}=e,l=m.useRef({isFocusWithin:!1}),a=m.useCallback(i=>{l.current.isFocusWithin&&!i.currentTarget.contains(i.relatedTarget)&&(l.current.isFocusWithin=!1,o&&o(i),r&&r(!1))},[o,r,l]),d=Ct(a),c=m.useCallback(i=>{!l.current.isFocusWithin&&document.activeElement===i.target&&(n&&n(i),r&&r(!0),l.current.isFocusWithin=!0,d(i))},[n,r,d]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:c,onBlur:a}}}function At(e){let{ref:t,onInteractOutside:o,isDisabled:n,onInteractOutsideStart:r}=e,l=m.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=W(c=>{o&&J(c,t)&&(r&&r(c),l.current.isPointerDown=!0)}),d=W(c=>{o&&o(c)});m.useEffect(()=>{let c=l.current;if(n)return;const i=t.current,s=M(i);if(typeof PointerEvent<"u"){let f=p=>{c.isPointerDown&&J(p,t)&&d(p),c.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=b=>{c.ignoreEmulatedMouseEvents?c.ignoreEmulatedMouseEvents=!1:c.isPointerDown&&J(b,t)&&d(b),c.isPointerDown=!1},p=b=>{c.ignoreEmulatedMouseEvents=!0,c.isPointerDown&&J(b,t)&&d(b),c.isPointerDown=!1};return s.addEventListener("mousedown",a,!0),s.addEventListener("mouseup",f,!0),s.addEventListener("touchstart",a,!0),s.addEventListener("touchend",p,!0),()=>{s.removeEventListener("mousedown",a,!0),s.removeEventListener("mouseup",f,!0),s.removeEventListener("touchstart",a,!0),s.removeEventListener("touchend",p,!0)}}},[t,n,a,d])}function J(e,t){if(e.button>0)return!1;if(e.target){const o=e.target.ownerDocument;if(!o||!o.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function re(e){const t=M(e);if(Dt()==="virtual"){let o=t.activeElement;Tt(()=>{t.activeElement===o&&e.isConnected&&_e(e)})}else _e(e)}function It(e){const t=U(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:o,visibility:n}=e.style,r=o!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:l}=e.ownerDocument.defaultView;let{display:a,visibility:d}=l(e);r=a!=="none"&&d!=="hidden"&&d!=="collapse"}return r}function qt(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 Ne(e,t){return e.nodeName!=="#comment"&&It(e)&&qt(e,t)&&(!e.parentElement||Ne(e.parentElement,e))}const Oe=m.createContext(null),ae="react-aria-focus-scope-restore";let h=null;function zt(e){let{children:t,contain:o,restoreFocus:n,autoFocus:r}=e,l=m.useRef(null),a=m.useRef(null),d=m.useRef([]),{parentNode:c}=m.useContext(Oe)||{},i=m.useMemo(()=>new de({scopeRef:d}),[d]);E(()=>{let p=c||$.root;if($.getTreeNode(p.scopeRef)&&h&&!Q(h,p.scopeRef)){let b=$.getTreeNode(h);b&&(p=b)}p.addChild(i),$.addNode(i)},[i,c]),E(()=>{let p=$.getTreeNode(d);p&&(p.contain=!!o)},[o]),E(()=>{var p;let b=(p=l.current)===null||p===void 0?void 0:p.nextSibling,g=[],T=N=>N.stopPropagation();for(;b&&b!==a.current;)g.push(b),b.addEventListener(ae,T),b=b.nextSibling;return d.current=g,()=>{for(let N of g)N.removeEventListener(ae,T)}},[t]),Xt(d,n,o),Kt(d,o),Yt(d,n,o),Gt(d,r),m.useEffect(()=>{const p=M(d.current?d.current[0]:void 0).activeElement;let b=null;if(y(p,d.current)){for(let g of $.traverse())g.scopeRef&&y(p,g.scopeRef.current)&&(b=g);b===$.getTreeNode(d)&&(h=b.scopeRef)}},[d]),E(()=>()=>{var p,b,g;let T=(g=(b=$.getTreeNode(d))===null||b===void 0||(p=b.parent)===null||p===void 0?void 0:p.scopeRef)!==null&&g!==void 0?g:null;(d===h||Q(d,h))&&(!T||$.getTreeNode(T))&&(h=T),$.removeTreeNode(d)},[d]);let s=m.useMemo(()=>Vt(d),[]),f=m.useMemo(()=>({focusManager:s,parentNode:i}),[i,s]);return m.createElement(Oe.Provider,{value:f},m.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:l}),t,m.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function Vt(e){return{focusNext(t={}){let o=e.current,{from:n,tabbable:r,wrap:l,accept:a}=t,d=n||M(o[0]).activeElement,c=o[0].previousElementSibling,i=B(o),s=L(i,{tabbable:r,accept:a},o);s.currentNode=y(d,o)?d:c;let f=s.nextNode();return!f&&l&&(s.currentNode=c,f=s.nextNode()),f&&x(f,!0),f},focusPrevious(t={}){let o=e.current,{from:n,tabbable:r,wrap:l,accept:a}=t,d=n||M(o[0]).activeElement,c=o[o.length-1].nextElementSibling,i=B(o),s=L(i,{tabbable:r,accept:a},o);s.currentNode=y(d,o)?d:c;let f=s.previousNode();return!f&&l&&(s.currentNode=c,f=s.previousNode()),f&&x(f,!0),f},focusFirst(t={}){let o=e.current,{tabbable:n,accept:r}=t,l=B(o),a=L(l,{tabbable:n,accept:r},o);a.currentNode=o[0].previousElementSibling;let d=a.nextNode();return d&&x(d,!0),d},focusLast(t={}){let o=e.current,{tabbable:n,accept:r}=t,l=B(o),a=L(l,{tabbable:n,accept:r},o);a.currentNode=o[o.length-1].nextElementSibling;let d=a.previousNode();return d&&x(d,!0),d}}}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]"],Ht=le.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";le.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const jt=le.join(':not([hidden]):not([tabindex="-1"]),');function B(e){return e[0].parentElement}function z(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function Kt(e,t){let o=m.useRef(void 0),n=m.useRef(void 0);E(()=>{let r=e.current;if(!t){n.current&&(cancelAnimationFrame(n.current),n.current=void 0);return}const l=M(r?r[0]:void 0);let a=i=>{if(i.key!=="Tab"||i.altKey||i.ctrlKey||i.metaKey||!z(e)||i.isComposing)return;let s=l.activeElement,f=e.current;if(!f||!y(s,f))return;let p=B(f),b=L(p,{tabbable:!0},f);if(!s)return;b.currentNode=s;let g=i.shiftKey?b.previousNode():b.nextNode();g||(b.currentNode=i.shiftKey?f[f.length-1].nextElementSibling:f[0].previousElementSibling,g=i.shiftKey?b.previousNode():b.nextNode()),i.preventDefault(),g&&x(g,!0)},d=i=>{(!h||Q(h,e))&&y(i.target,e.current)?(h=e,o.current=i.target):z(e)&&!Y(i.target,e)?o.current?o.current.focus():h&&h.current&&ie(h.current):z(e)&&(o.current=i.target)},c=i=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{if(l.activeElement&&z(e)&&!Y(l.activeElement,e))if(h=e,l.body.contains(i.target)){var s;o.current=i.target,(s=o.current)===null||s===void 0||s.focus()}else h.current&&ie(h.current)})};return l.addEventListener("keydown",a,!1),l.addEventListener("focusin",d,!1),r?.forEach(i=>i.addEventListener("focusin",d,!1)),r?.forEach(i=>i.addEventListener("focusout",c,!1)),()=>{l.removeEventListener("keydown",a,!1),l.removeEventListener("focusin",d,!1),r?.forEach(i=>i.removeEventListener("focusin",d,!1)),r?.forEach(i=>i.removeEventListener("focusout",c,!1))}},[e,t]),E(()=>()=>{n.current&&cancelAnimationFrame(n.current)},[n])}function De(e){return Y(e)}function y(e,t){return!e||!t?!1:t.some(o=>o.contains(e))}function Y(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:o}of $.traverse($.getTreeNode(t)))if(o&&y(e,o.current))return!0;return!1}function Ut(e){return Y(e,h)}function Q(e,t){var o;let n=(o=$.getTreeNode(t))===null||o===void 0?void 0:o.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function x(e,t=!1){if(e!=null&&!t)try{re(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function We(e,t=!0){let o=e[0].previousElementSibling,n=B(e),r=L(n,{tabbable:t},e);r.currentNode=o;let l=r.nextNode();return t&&!l&&(n=B(e),r=L(n,{tabbable:!1},e),r.currentNode=o,l=r.nextNode()),l}function ie(e,t=!0){x(We(e,t))}function Gt(e,t){const o=m.useRef(t);m.useEffect(()=>{if(o.current){h=e;const n=M(e.current?e.current[0]:void 0);!y(n.activeElement,h.current)&&e.current&&ie(e.current)}o.current=!1},[e])}function Xt(e,t,o){E(()=>{if(t||o)return;let n=e.current;const r=M(n?n[0]:void 0);let l=a=>{let d=a.target;y(d,e.current)?h=e:De(d)||(h=null)};return r.addEventListener("focusin",l,!1),n?.forEach(a=>a.addEventListener("focusin",l,!1)),()=>{r.removeEventListener("focusin",l,!1),n?.forEach(a=>a.removeEventListener("focusin",l,!1))}},[e,t,o])}function Jt(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return t?.scopeRef===e}function Yt(e,t,o){const n=m.useRef(typeof document<"u"?M(e.current?e.current[0]:void 0).activeElement:null);E(()=>{let r=e.current;const l=M(r?r[0]:void 0);if(!t||o)return;let a=()=>{(!h||Q(h,e))&&y(l.activeElement,e.current)&&(h=e)};return l.addEventListener("focusin",a,!1),r?.forEach(d=>d.addEventListener("focusin",a,!1)),()=>{l.removeEventListener("focusin",a,!1),r?.forEach(d=>d.removeEventListener("focusin",a,!1))}},[e,o]),E(()=>{const r=M(e.current?e.current[0]:void 0);if(!t)return;let l=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!z(e)||a.isComposing)return;let d=r.activeElement;if(!y(d,e.current))return;let c=$.getTreeNode(e);if(!c)return;let i=c.nodeToRestore,s=L(r.body,{tabbable:!0});s.currentNode=d;let f=a.shiftKey?s.previousNode():s.nextNode();if((!i||!r.body.contains(i)||i===r.body)&&(i=void 0,c.nodeToRestore=void 0),(!f||!y(f,e.current))&&i){s.currentNode=i;do f=a.shiftKey?s.previousNode():s.nextNode();while(y(f,e.current));a.preventDefault(),a.stopPropagation(),f?x(f,!0):De(i)?x(i,!0):d.blur()}};return o||r.addEventListener("keydown",l,!0),()=>{o||r.removeEventListener("keydown",l,!0)}},[e,t,o]),E(()=>{const r=M(e.current?e.current[0]:void 0);if(!t)return;let l=$.getTreeNode(e);if(l){var a;return l.nodeToRestore=(a=n.current)!==null&&a!==void 0?a:void 0,()=>{let d=$.getTreeNode(e);if(!d)return;let c=d.nodeToRestore;if(t&&c&&(y(r.activeElement,e.current)||r.activeElement===r.body&&Jt(e))){let i=$.clone();requestAnimationFrame(()=>{if(r.activeElement===r.body){let s=i.getTreeNode(e);for(;s;){if(s.nodeToRestore&&s.nodeToRestore.isConnected){Ae(s.nodeToRestore);return}s=s.parent}for(s=i.getTreeNode(e);s;){if(s.scopeRef&&s.scopeRef.current&&$.getTreeNode(s.scopeRef)){let f=We(s.scopeRef.current,!0);Ae(f);return}s=s.parent}}})}}}},[e,t])}function Ae(e){e.dispatchEvent(new CustomEvent(ae,{bubbles:!0,cancelable:!0}))&&x(e)}function L(e,t,o){let n=t?.tabbable?jt:Ht,r=M(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(n)&&Ne(l)&&(!o||y(l,o))&&(!t?.accept||t.accept(l))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(r.currentNode=t.from),r}class se{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,o,n){let r=this.fastMap.get(o??null);if(!r)return;let l=new de({scopeRef:t});r.addChild(l),l.parent=r,this.fastMap.set(t,l),n&&(l.nodeToRestore=n)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let o=this.fastMap.get(t);if(!o)return;let n=o.parent;for(let l of this.traverse())l!==o&&o.nodeToRestore&&l.nodeToRestore&&o.scopeRef&&o.scopeRef.current&&y(l.nodeToRestore,o.scopeRef.current)&&(l.nodeToRestore=o.nodeToRestore);let r=o.children;n&&(n.removeChild(o),r.size>0&&r.forEach(l=>n&&n.addChild(l))),this.fastMap.delete(o.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let o of t.children)yield*this.traverse(o)}clone(){var t;let o=new se;var n;for(let r of this.traverse())o.addTreeNode(r.scopeRef,(n=(t=r.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&n!==void 0?n:null,r.nodeToRestore);return o}constructor(){this.fastMap=new Map,this.root=new de({scopeRef:null}),this.fastMap.set(null,this.root)}}class de{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let $=new se;const Qt=new WeakMap,S=[];function Zt(e,t){let{onClose:o,shouldCloseOnBlur:n,isOpen:r,isDismissable:l=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:d}=e;m.useEffect(()=>(r&&S.push(t),()=>{let g=S.indexOf(t);g>=0&&S.splice(g,1)}),[r,t]);let c=()=>{S[S.length-1]===t&&o&&o()},i=g=>{(!d||d(g.target))&&S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault())},s=g=>{(!d||d(g.target))&&(S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault()),c())},f=g=>{g.key==="Escape"&&!a&&!g.nativeEvent.isComposing&&(g.stopPropagation(),g.preventDefault(),c())};At({ref:t,onInteractOutside:l&&r?s:null,onInteractOutsideStart:i});let{focusWithinProps:p}=Wt({isDisabled:!n,onBlurWithin:g=>{!g.relatedTarget||Ut(g.relatedTarget)||(!d||d(g.relatedTarget))&&o()}}),b=g=>{g.target===g.currentTarget&&g.preventDefault()};return{overlayProps:{onKeyDown:f,...p},underlayProps:{onPointerDown:b}}}function Rt(e,t,o){let{isOpen:n}=t;m.useEffect(()=>{o&&o.current&&Qt.set(o.current,t.close)});let r,l=Ee();return{triggerProps:{"aria-haspopup":r,"aria-expanded":n,"aria-controls":n?l:null,onPress:t.toggle},overlayProps:{id:l}}}const ue=typeof document<"u"&&window.visualViewport,eo=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Z=0,ce;function to(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return Z++,Z===1&&(Pt()?ce=no():ce=oo()),()=>{Z--,Z===0&&ce()}},[t])}function oo(){return K(D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"))}function no(){let e,t,o=i=>{e=Te(i.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=D(e,"overscrollBehavior","contain"))},n=i=>{if(!e||e===document.documentElement||e===document.body){i.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&i.preventDefault()},r=i=>{let s=i.target;qe(s)&&s!==document.activeElement&&(i.preventDefault(),d(),s.style.transform="translateY(-2000px)",s.focus(),requestAnimationFrame(()=>{s.style.transform=""})),t&&t()},l=i=>{let s=i.target;qe(s)&&(d(),s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",ue&&(ue.height<window.innerHeight?requestAnimationFrame(()=>{Ie(s)}):ue.addEventListener("resize",()=>Ie(s),{once:!0}))}))},a=null,d=()=>{if(a)return;let i=()=>{window.scrollTo(0,0)},s=window.pageXOffset,f=window.pageYOffset;a=K(V(window,"scroll",i),D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"),D(document.body,"marginTop",`-${f}px`),()=>{window.scrollTo(s,f)}),window.scrollTo(0,0)},c=K(V(document,"touchstart",o,{passive:!1,capture:!0}),V(document,"touchmove",n,{passive:!1,capture:!0}),V(document,"touchend",r,{passive:!1,capture:!0}),V(document,"focus",l,!0));return()=>{t?.(),a?.(),c()}}function D(e,t,o){let n=e.style[t];return e.style[t]=o,()=>{e.style[t]=n}}function V(e,t,o,n){return e.addEventListener(t,o,n),()=>{e.removeEventListener(t,o,n)}}function Ie(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let o=Te(e);if(o!==document.documentElement&&o!==document.body&&o!==e){let n=o.getBoundingClientRect().top,r=e.getBoundingClientRect().top;r>n+e.clientHeight&&(o.scrollTop+=r-n)}e=o.parentElement}}function qe(e){return e instanceof HTMLInputElement&&!eo.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let H=new WeakMap,k=[];function ro(e,t=document.body){let o=new Set(e),n=new Set,r=c=>{for(let p of c.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))o.add(p);let i=p=>{if(o.has(p)||n.has(p.parentElement)&&p.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let b of o)if(p.contains(b))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},s=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,{acceptNode:i}),f=i(c);if(f===NodeFilter.FILTER_ACCEPT&&l(c),f!==NodeFilter.FILTER_REJECT){let p=s.nextNode();for(;p!=null;)l(p),p=s.nextNode()}},l=c=>{var i;let s=(i=H.get(c))!==null&&i!==void 0?i:0;c.getAttribute("aria-hidden")==="true"&&s===0||(s===0&&c.setAttribute("aria-hidden","true"),n.add(c),H.set(c,s+1))};k.length&&k[k.length-1].disconnect(),r(t);let a=new MutationObserver(c=>{for(let i of c)if(!(i.type!=="childList"||i.addedNodes.length===0)&&![...o,...n].some(s=>s.contains(i.target))){for(let s of i.removedNodes)s instanceof Element&&(o.delete(s),n.delete(s));for(let s of i.addedNodes)(s instanceof HTMLElement||s instanceof SVGElement)&&(s.dataset.liveAnnouncer==="true"||s.dataset.reactAriaTopLayer==="true")?o.add(s):s instanceof Element&&r(s)}});a.observe(t,{childList:!0,subtree:!0});let d={observe(){a.observe(t,{childList:!0,subtree:!0})},disconnect(){a.disconnect()}};return k.push(d),()=>{a.disconnect();for(let c of n){let i=H.get(c);i===1?(c.removeAttribute("aria-hidden"),H.delete(c)):H.set(c,i-1)}d===k[k.length-1]?(k.pop(),k.length&&k[k.length-1].observe()):k.splice(k.indexOf(d),1)}}const ao=m.createContext({});function lo(){var e;return(e=m.useContext(ao))!==null&&e!==void 0?e:{}}const ze=m.createContext(null);function io(e){let t=we(),{portalContainer:o=t?null:document.body,isExiting:n}=e,[r,l]=m.useState(!1),a=m.useMemo(()=>({contain:r,setContain:l}),[r,l]),{getContainer:d}=lo();if(!e.portalContainer&&d&&(o=d()),!o)return null;let c=e.children;return e.disableFocusManagement||(c=m.createElement(zt,{restoreFocus:!0,contain:r&&!n},c)),c=m.createElement(ze.Provider,{value:a},m.createElement(Ft,null,c)),Qe.createPortal(c,o)}function Ve(){let e=m.useContext(ze),t=e?.setContain;E(()=>{t?.(!0)},[t])}function so(e,t,o){let{overlayProps:n,underlayProps:r}=Zt({...e,isOpen:t.isOpen,onClose:t.close},o);return to({isDisabled:!t.isOpen}),Ve(),m.useEffect(()=>{if(t.isOpen)return ro([o.current])},[t.isOpen,o]),{modalProps:ft(n),underlayProps:r}}function uo(e,t){let{role:o="dialog"}=e,n=ct();n=e["aria-label"]?void 0:n;let r=m.useRef(!1);return m.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){re(t.current);let l=setTimeout(()=>{document.activeElement===t.current&&(r.current=!0,t.current&&(t.current.blur(),re(t.current)),r.current=!1)},500);return()=>{clearTimeout(l)}}},[t]),Ve(),{dialogProps:{...ht(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||n,onBlur:l=>{r.current&&l.stopPropagation()}},titleProps:{id:n}}}function co(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function He(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),o.push.apply(o,n)}return o}function je(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?He(Object(o),!0).forEach(function(n){co(e,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):He(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})}return e}var mo=(e,t,o)=>{for(var n of Object.keys(e)){var r;if(e[n]!==((r=t[n])!==null&&r!==void 0?r:o[n]))return!1}return!0},Ke=e=>t=>{var o=e.defaultClassName,n=je(je({},e.defaultVariants),t);for(var r in n){var l,a=(l=n[r])!==null&&l!==void 0?l:e.defaultVariants[r];if(a!=null){var d=a;typeof d=="boolean"&&(d=d===!0?"true":"false");var c=e.variantClassNames[r][d];c&&(o+=" "+c)}}for(var[i,s]of e.compoundVariants)mo(i,n,e.defaultVariants)&&(o+=" "+s);return o},fo=Ke({defaultClassName:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto20",variantClassNames:{kind:{informational:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto21",delete:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto22",failure:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto23",success:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto24",warning:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto25",successWithFailures:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto26",form:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto27"},size:{sm:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto28",md:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto29",lg:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2a",xl:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2b"},fullHeight:{true:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2c",false:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2d"}},defaultVariants:{},compoundVariants:[]}),po=Ke({defaultClassName:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2e",variantClassNames:{kind:{form:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2f",delete:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2g",failure:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2h",informational:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2i",success:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2j",warning:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2k",successWithFailures:"pkg_sps-woodland_modal__version_8_38_2__hash_3moto2l"}},defaultVariants:{},compoundVariants:[]}),go="pkg_sps-woodland_modal__version_8_38_2__hash_3moto2m",bo="pkg_sps-woodland_modal__version_8_38_2__hash_3moto2n",vo="pkg_sps-woodland_modal__version_8_38_2__hash_3moto2o",Ue="pkg_sps-woodland_modal__version_8_38_2__hash_3moto2p",ho="pkg_sps-woodland_modal__version_8_38_2__hash_3moto2q",$o="pkg_sps-woodland_modal__version_8_38_2__hash_3moto2r",wo="pkg_sps-woodland_modal__version_8_38_2__hash_3moto2s";function me({children:e,className:t="",...o}){return u.createElement("div",{className:w.cl(Ue,t),...o},e)}w.Metadata.set(me,{name:"ModalFooter"});function Ge({dismissableValue:e,handleClose:t}){return e?u.createElement(he.Button,{"aria-label":"Close",onClick:t,kind:"icon",icon:"x",className:ho}):null}const fe=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function Eo({children:e,className:t,"data-testid":o,kind:n="informational",onBlur:r,onFocus:l,overlayProps:a,size:d="sm",state:c,title:i,dismissible:s,dismissable:f=!0,onClose:p,fullHeight:b=!1,...g}){const T=s??f,N=u.useRef(null),{modalProps:ge,underlayProps:Po}=so({isKeyboardDismissDisabled:!T,...g},c,N),{dialogProps:be,titleProps:ko}=uo(g,N),To=w.combineEventHandlers(ge.onFocus,be.onFocus,l),xo=w.combineEventHandlers(ge.onBlur,be.onBlur,r),{t:So}=Ye.useWoodlandLanguage(),Fo=w.useChildTestIdAttrBuilder({"data-testid":o}),[ve,Lo]=w.selectChildren(e,[{type:me}]),Xe=u.useCallback(()=>{p&&typeof p=="function"&&p(),c.close()},[p,c.close]),Co=w.modChildren(Lo,Je=>Je.type===Ge?[{className:w.cl(Je.props.classname,$o)}]:[]);return u.createElement(io,null,u.createElement("div",{className:wo,...Po,...g},u.createElement("div",{...ge,...be,...a,onFocus:To,onBlur:xo,...Fo("dialog"),ref:N,className:w.cl(fo({kind:n,size:d,fullHeight:b}),t)},u.createElement("div",{...ko,className:po({kind:n})},n&&u.createElement(w.Icon,{icon:fe[n]||fe.informational,className:bo}),u.createElement("div",{className:go},w.contentOf(i,c.close)),u.createElement(Ge,{dismissableValue:T,handleClose:Xe})),u.createElement("div",{className:vo},w.contentOf(Co,c.close)),ve&&ve.length>0?u.createElement(u.Fragment,null,w.contentOf(ve,c.close)):u.createElement("div",{className:Ue},u.createElement(he.Button,{kind:"key",onClick:Xe},So("modal.defaultButtonLabel",{defaultValue:"Okay"}))))))}function pe(e){return e.state.isOpen?u.createElement(Eo,{...e},e.children):u.createElement(u.Fragment,null)}w.Metadata.set(pe,{name:"Modal",props:{dismissable:{type:"boolean",default:"true"},fullHeight:{type:"boolean",default:"false"},kind:{type:"ModalKind",default:"informational"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"},size:{type:"ModalSize",default:"sm"},title:{type:"string"}}});function Mo(e){let[t,o]=St(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const n=m.useCallback(()=>{o(!0)},[o]),r=m.useCallback(()=>{o(!1)},[o]),l=m.useCallback(()=>{o(!t)},[o,t]);return{isOpen:t,setOpen:o,open:n,close:r,toggle:l}}function _o(e={}){const t=Mo(e),o=m.useRef(null),{triggerProps:n,overlayProps:r}=Rt({},t,o),{onPress:l,...a}=n;return{triggerProps:{...a,onClick:l,ref:o},modalState:t,modalProps:{overlayProps:r,state:t}}}const yo={Modals:{description:()=>u.createElement("p",null,"Modals are overlays on a page that focus a user’s attention on an important message or a simple action. Examples of a Modal include confirming the deletion of a record, or making a single selection."),components:[pe],examples:{general:{label:"Usage",description:({NavigateTo:e})=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Use a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When the user needs to confirm a basic decision, such as deleting a record."),u.createElement("li",null,"When important information needs to be displayed to the user before continuing."),u.createElement("li",null,"When a simple selection, such as a single form input, is required before proceeding.")),u.createElement("h5",null,"Avoid a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When a complex form is required. Use a ",u.createElement(e,{to:"focused-task"},"Focused Task View")," instead."),u.createElement("li",null,"When sharing non-critical or tertiary information. Use a ",u.createElement(e,{to:"growlers"},"Growler")," instead.")))},implementation:{label:"Close Button",description:()=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Close Button and Modal dismissiability"),u.createElement("p",null,"Remove the Close Button in the upper right of the Modal if the user must choose the course of action before proceeding."),u.createElement("p",null,"The close button is included by default and omitted when the prop ",u.createElement("code",null,"dismissable")," is set to ",u.createElement("strong",null,"false"),"."),u.createElement("p",null,"Setting the ",u.createElement("code",null,"dismissable")," prop to false also prevents dismissing the modal by clicking outside of the modal or by using the"," ",u.createElement("strong",null,"escape")," key.")),examples:{basic:{react:v.code`
|
|
2
2
|
import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
|
|
3
3
|
import { sprinkles } from "@sps-woodland/tokens";
|
|
4
4
|
import { Button } from "@sps-woodland/buttons";
|
package/lib/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.pkg_sps-
|
|
1
|
+
.pkg_sps-woodland_modal__version_8_38_2__hash_3moto20{background-color:#fff;border-style:solid;border-width:.0625rem;border-radius:.25rem;display:flex;flex-direction:column;overflow:hidden;max-height:100%}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto21{border-color:#007db8}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto22,.pkg_sps-woodland_modal__version_8_38_2__hash_3moto23{border-color:#de002e}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto24{border-color:#0b8940}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto25,.pkg_sps-woodland_modal__version_8_38_2__hash_3moto26{border-color:#e7760b}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto27{border-color:#4b5356}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto28{width:23.75rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto29{width:36.25rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2a{width:48.75rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2b{width:73.75rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2c{height:100%}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2e{align-items:center;color:#fff;display:flex;padding:1rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2f{background-color:#4b5356}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2g,.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2h{background-color:#de002e}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2i{background-color:#007db8}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2j{background-color:#0b8940}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2k,.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2l{background-color:#e7760b}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2m{flex-grow:1;font-size:.875rem;font-weight:600;line-height:1.25rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2n{font-weight:600;line-height:.875rem;font-size:.875rem;margin-right:.5rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2o{overflow-y:auto;padding:1rem;flex:1}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2p{align-items:center;background-color:#f3f4f4;display:flex;justify-content:flex-end;padding:.5rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2q{color:#fff;border-width:0}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2r{padding:0 .25rem}.pkg_sps-woodland_modal__version_8_38_2__hash_3moto2s{position:fixed;z-index:1000;inset:0;background:#f3f4f4cc;display:flex;align-items:start;justify-content:center;padding:4rem 1rem 1rem}.z-stratum-dropdown{z-index:1100}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sps-woodland/modal",
|
|
3
3
|
"description": "SPS Woodland Design System modal component",
|
|
4
|
-
"version": "8.38.
|
|
4
|
+
"version": "8.38.2",
|
|
5
5
|
"author": "SPS Commerce",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/modal",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"@spscommerce/utils": "^7.0.0 || ^8.0.0",
|
|
30
30
|
"react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
31
31
|
"react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
32
|
-
"@sps-woodland/buttons": "8.38.
|
|
33
|
-
"@
|
|
34
|
-
"@sps-woodland/
|
|
35
|
-
"@
|
|
32
|
+
"@sps-woodland/buttons": "8.38.2",
|
|
33
|
+
"@spscommerce/i18n": "8.38.2",
|
|
34
|
+
"@sps-woodland/core": "8.38.2",
|
|
35
|
+
"@sps-woodland/tokens": "8.38.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@spscommerce/utils": "^8.1.1",
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
"@vanilla-extract/sprinkles": "^1.5.0",
|
|
43
43
|
"react": "^16.9.0",
|
|
44
44
|
"react-dom": "^16.9.0",
|
|
45
|
-
"@sps-woodland/buttons": "8.38.
|
|
46
|
-
"@sps-woodland/core": "8.38.
|
|
47
|
-
"@sps-woodland/tokens": "8.38.
|
|
48
|
-
"@spscommerce/i18n": "8.38.
|
|
45
|
+
"@sps-woodland/buttons": "8.38.2",
|
|
46
|
+
"@sps-woodland/core": "8.38.2",
|
|
47
|
+
"@sps-woodland/tokens": "8.38.2",
|
|
48
|
+
"@spscommerce/i18n": "8.38.2"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"react-aria": "^3.21.0",
|