@pg-boss/dashboard 1.1.2 → 1.1.3
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/build/client/assets/MenuTrigger-BUdpY9vj.js +1 -0
- package/build/client/assets/{_index-BTx7NRR8.js → _index-DXfER9RD.js} +1 -1
- package/build/client/assets/{badge-DBD4CzAv.js → badge-to3cY6Nn.js} +1 -1
- package/build/client/assets/{button-Ba8FWhqs.js → button-CudTDtZF.js} +1 -1
- package/build/client/assets/{chevron-down-CYa4FYmp.js → chevron-down-ClrMXFFn.js} +1 -1
- package/build/client/assets/chunk-EVOBXE3Y-CmKRT32p.js +26 -0
- package/build/client/assets/{createLucideIcon-Bt-yXILq.js → createLucideIcon-C5Bm8BOS.js} +1 -1
- package/build/client/assets/{db-link-CU7IJqbq.js → db-link-BzIwSws3.js} +1 -1
- package/build/client/assets/dialog-BBFR7NS6.js +1 -0
- package/build/client/assets/{entry.client-DXZUROTm.js → entry.client-B-bLoJqf.js} +2 -2
- package/build/client/assets/{error-card-D-uZRy_l.js → error-card--OB_TuOC.js} +1 -1
- package/build/client/assets/{filter-select-Tk_CBvrn.js → filter-select-07am_j5T.js} +1 -1
- package/build/client/assets/{index-DuhoQwUK.js → index-By5u-yQ6.js} +1 -1
- package/build/client/assets/{jobs-ouYjIGAi.js → jobs-Gp0x24mG.js} +1 -1
- package/build/client/assets/manifest-560249af.js +1 -0
- package/build/client/assets/{pagination-BItl293Q.js → pagination-DCEs769S.js} +1 -1
- package/build/client/assets/{queues._index-_ID9kaow.js → queues._index-DxMtAiK3.js} +1 -1
- package/build/client/assets/{queues._name-DwdbQND-.js → queues._name-DqI0ZH4S.js} +1 -1
- package/build/client/assets/{queues._name.jobs._jobId-DrgG3VBb.js → queues._name.jobs._jobId-BEwVDYH6.js} +1 -1
- package/build/client/assets/{queues.create-CmVW5UVm.js → queues.create-aEr8z6Lt.js} +1 -1
- package/build/client/assets/{root-DDqOT0vL.js → root-Cubm0m9Y.js} +1 -1
- package/build/client/assets/{schedules-B6ixYsvz.js → schedules-BacoSVY9.js} +1 -1
- package/build/client/assets/{schedules._name._key-CXTVKoOc.js → schedules._name._key-zuc0HZqU.js} +1 -1
- package/build/client/assets/{schedules.new-Dmasri9v.js → schedules.new-CrK1w4GF.js} +1 -1
- package/build/client/assets/{send-CqR34Z50.js → send-wPFbslqy.js} +1 -1
- package/build/client/assets/{table-Au2E5mnP.js → table-CV0K56fY.js} +1 -1
- package/build/client/assets/useOpenInteractionType-C7OfDyTB.js +1 -0
- package/build/client/assets/{warnings-Dj3qacgN.js → warnings-DLjttltF.js} +1 -1
- package/build/server/assets/server-build.js +23 -19
- package/package.json +12 -12
- package/build/client/assets/MenuTrigger-CoRd-BqL.js +0 -1
- package/build/client/assets/chunk-UVKPFVEO-YfSfkVr_.js +0 -26
- package/build/client/assets/dialog-Dkx42Rkd.js +0 -1
- package/build/client/assets/manifest-72f6b3e9.js +0 -1
- package/build/client/assets/useOpenInteractionType-mgYMZAa8.js +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as N,B as S,t as C,D,x as E,a as s,G as B,p as e}from"./chunk-
|
|
1
|
+
import{A as N,B as S,t as C,D,x as E,a as s,G as B,p as e}from"./chunk-EVOBXE3Y-CmKRT32p.js";import{c as a,D as L}from"./db-link-BzIwSws3.js";import{B as u,C as F,a as q,b as Q,c as A}from"./button-CudTDtZF.js";import{E as I}from"./error-card--OB_TuOC.js";const O=S(function(){return e.jsx(I,{title:"Failed to load job sending page",backTo:{href:"/queues",label:"Back to Queues"}})}),R=N(function({loaderData:h}){const{queues:f}=h,[k]=C(),n=D(),t=E().state==="submitting",[l,i]=s.useState(!1),x=k.get("queue")||"",[m,y]=s.useState(x),[c,j]=s.useState(x),[v,o]=s.useState(!1),p=f.filter(r=>r.name.toLowerCase().includes(m.toLowerCase())),w=r=>{j(r),y(r),o(!1),i(!0)},g=B(({currentLocation:r,nextLocation:d})=>l&&!t&&r.pathname!==d.pathname);return s.useEffect(()=>{const r=d=>{l&&!t&&(d.preventDefault(),d.returnValue="")};return window.addEventListener("beforeunload",r),()=>window.removeEventListener("beforeunload",r)},[l,t]),e.jsxs("div",{className:"space-y-6",children:[g.state==="blocked"&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:e.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-lg p-6 max-w-md mx-4",children:[e.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2",children:"Unsaved Changes"}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-6",children:"You have unsaved changes. Are you sure you want to leave this page?"}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx(u,{type:"button",variant:"outline",size:"sm",onClick:()=>g.reset(),children:"Stay"}),e.jsx(u,{type:"button",variant:"danger",size:"sm",onClick:()=>g.proceed(),children:"Leave"})]})]})}),e.jsx("h1",{className:"text-2xl font-bold text-gray-900 dark:text-gray-100",children:"Send Job"}),e.jsxs(F,{children:[e.jsx(q,{children:e.jsx(Q,{children:"Job Details"})}),e.jsx(A,{children:e.jsxs("form",{method:"post",className:"space-y-5",onChange:()=>i(!0),onSubmit:()=>i(!1),children:[n&&"error"in n&&e.jsx("div",{className:a("rounded-lg border px-4 py-3 text-sm","bg-red-50 border-red-200 text-red-700","dark:bg-red-950 dark:border-red-800 dark:text-red-400"),children:n.error}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"queueSearch",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Queue Name ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"text",id:"queueSearch",value:m,onChange:r=>{y(r.target.value),o(!0)},onFocus:()=>o(!0),onBlur:()=>setTimeout(()=>o(!1),200),placeholder:"Search for a queue...",autoComplete:"off",className:a("w-full rounded-lg border px-3 py-2 text-sm","bg-white border-gray-300 text-gray-900 placeholder-gray-400","dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500","focus:outline-none focus:ring-2 focus:ring-primary-600 focus:border-transparent")}),e.jsx("input",{type:"hidden",name:"queueName",value:c,required:!0}),v&&p.length>0&&e.jsx("div",{className:"absolute z-10 w-full mt-1 bg-white dark:bg-gray-900 border border-gray-300 dark:border-gray-700 rounded-md shadow-lg max-h-60 overflow-auto",children:p.map(r=>e.jsx("button",{type:"button",onClick:()=>w(r.name),className:"w-full text-left px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-900 dark:text-gray-100 cursor-pointer text-sm",children:r.name},r.name))})]}),c&&e.jsxs("p",{className:"mt-1 text-xs text-green-600 dark:text-green-400",children:["Selected: ",c]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"data",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Data"}),e.jsx("textarea",{id:"data",name:"data",rows:6,placeholder:'{"key": "value"}',className:a("w-full rounded-lg border px-3 py-2 text-sm font-mono","bg-white border-gray-300 text-gray-900 placeholder-gray-400","dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500","focus:outline-none focus:ring-2 focus:ring-primary-600 focus:border-transparent")}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"Optional: JSON object to pass as job data"})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"priority",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Priority"}),e.jsx("input",{type:"number",id:"priority",name:"priority",placeholder:"0",className:a("w-full rounded-lg border px-3 py-2 text-sm","bg-white border-gray-300 text-gray-900 placeholder-gray-400","dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500","focus:outline-none focus:ring-2 focus:ring-primary-600 focus:border-transparent")})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"startAfter",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Start After"}),e.jsx("input",{type:"text",id:"startAfter",name:"startAfter",placeholder:"e.g. 2025-01-01T00:00:00Z or 5 minutes",className:a("w-full rounded-lg border px-3 py-2 text-sm","bg-white border-gray-300 text-gray-900 placeholder-gray-400","dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500","focus:outline-none focus:ring-2 focus:ring-primary-600 focus:border-transparent")})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"singletonKey",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Singleton Key"}),e.jsx("input",{type:"text",id:"singletonKey",name:"singletonKey",placeholder:"Optional unique key",className:a("w-full rounded-lg border px-3 py-2 text-sm","bg-white border-gray-300 text-gray-900 placeholder-gray-400","dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500","focus:outline-none focus:ring-2 focus:ring-primary-600 focus:border-transparent")})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"retryLimit",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Retry Limit"}),e.jsx("input",{type:"number",id:"retryLimit",name:"retryLimit",min:"0",placeholder:"0",className:a("w-full rounded-lg border px-3 py-2 text-sm","bg-white border-gray-300 text-gray-900 placeholder-gray-400","dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500","focus:outline-none focus:ring-2 focus:ring-primary-600 focus:border-transparent")})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"expireInSeconds",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Expire In Seconds"}),e.jsx("input",{type:"number",id:"expireInSeconds",name:"expireInSeconds",min:"1",placeholder:"Default",className:a("w-full rounded-lg border px-3 py-2 text-sm","bg-white border-gray-300 text-gray-900 placeholder-gray-400","dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500","focus:outline-none focus:ring-2 focus:ring-primary-600 focus:border-transparent")})]})]}),e.jsxs("div",{className:"flex items-center gap-3 pt-2",children:[e.jsx(u,{type:"submit",disabled:t,children:t?"Sending...":"Send Job"}),e.jsx(L,{to:"/queues",className:"text-sm text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300",children:"Cancel"})]})]})})]})]})});export{O as ErrorBoundary,R as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as r}from"./chunk-
|
|
1
|
+
import{p as r}from"./chunk-EVOBXE3Y-CmKRT32p.js";import{c as t}from"./db-link-BzIwSws3.js";function o({children:a,className:e}){return r.jsx("div",{className:t("overflow-x-auto",e),children:r.jsx("table",{className:"min-w-full divide-y divide-gray-200 dark:divide-gray-800",children:a})})}function n({children:a,className:e}){return r.jsx("thead",{className:t("bg-gray-50 dark:bg-gray-900",e),children:a})}function c({children:a,className:e}){return r.jsx("tbody",{className:t("divide-y divide-gray-200 bg-white","dark:divide-gray-800 dark:bg-gray-950",e),children:a})}function l({children:a,className:e,onClick:s}){return r.jsx("tr",{className:t(s&&"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-900 transition-colors",e),onClick:s,children:a})}function x({children:a,className:e}){return r.jsx("th",{scope:"col",className:t("px-6 py-3 text-left text-xs font-semibold text-gray-500 uppercase tracking-wider","dark:text-gray-400",e),children:a})}function g({children:a,className:e,colSpan:s}){return r.jsx("td",{className:t("px-6 py-4 whitespace-nowrap text-sm",e),colSpan:s,children:a})}export{o as T,n as a,l as b,x as c,c as d,g as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u,I as wn,p as ue,r as Tn}from"./chunk-EVOBXE3Y-CmKRT32p.js";import{j as Pe,g as Cn,m as Cr,l as qt,E as _e,N as Vt,i as xr,h as Xt,n as xn}from"./db-link-BzIwSws3.js";import{a as Ht}from"./index-By5u-yQ6.js";let Ge=(function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e})({});const Or={[Ge.startingStyle]:""},kr={[Ge.endingStyle]:""},ks={transitionStatus(e){return e==="starting"?Or:e==="ending"?kr:null}};let Lt=(function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=Ge.startingStyle]="startingStyle",e[e.endingStyle=Ge.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e.side="data-side",e.align="data-align",e})({}),zt=(function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e})({});const Pr={[zt.popupOpen]:"",[zt.pressed]:""},vr={[Lt.open]:""},Ir={[Lt.closed]:""},Ar={[Lt.anchorHidden]:""},Ps={open(e){return e?Pr:null}},vs={open(e){return e?vr:Ir},anchorHidden(e){return e?Ar:null}},Jt="trigger-press",Mr="trigger-hover",Is="trigger-focus",On="outside-press",As="item-press",Ms="close-press",kn="focus-out",Dr="escape-key",Ds="list-navigation",Fs="cancel-open",Ns="sibling-open",_s="imperative-action",lt=wn[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],Fr=lt&<!==u.useLayoutEffect?lt:e=>e();function U(e){const t=Pe(Nr).current;return t.next=e,Fr(t.effect),t.trampoline}function Nr(){const e={next:void 0,callback:_r,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function _r(){}function at(){return typeof window<"u"}function ce(e){return Bt(e)?(e.nodeName||"").toLowerCase():"#document"}function he(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Wr(e){var t;return(t=(Bt(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Bt(e){return at()?e instanceof Node||e instanceof he(e).Node:!1}function Re(e){return at()?e instanceof Element||e instanceof he(e).Element:!1}function oe(e){return at()?e instanceof HTMLElement||e instanceof he(e).HTMLElement:!1}function He(e){return!at()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof he(e).ShadowRoot}function Ke(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Ue(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function Ws(e){return/^(table|td|th)$/.test(ce(e))}function Vr(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const Hr=/transform|translate|scale|rotate|perspective|filter/,Lr=/paint|layout|strict|content/,Ce=e=>!!e&&e!=="none";let ft;function Br(e){const t=Re(e)?Ue(e):e;return Ce(t.transform)||Ce(t.translate)||Ce(t.scale)||Ce(t.rotate)||Ce(t.perspective)||!Pn()&&(Ce(t.backdropFilter)||Ce(t.filter))||Hr.test(t.willChange||"")||Lr.test(t.contain||"")}function Vs(e){let t=ot(e);for(;oe(t)&&!je(t);){if(Br(t))return t;if(Vr(t))return null;t=ot(t)}return null}function Pn(){return ft==null&&(ft=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),ft}function je(e){return/^(html|body|#document)$/.test(ce(e))}function Ue(e){return he(e).getComputedStyle(e)}function Hs(e){return Re(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ot(e){if(ce(e)==="html")return e;const t=e.assignedSlot||e.parentNode||He(e)&&e.host||Wr(e);return He(t)?t.host:t}function vn(e){const t=ot(e);return je(t)?e.ownerDocument?e.ownerDocument.body:e.body:oe(t)&&Ke(t)?t:vn(t)}function Zt(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=vn(e),s=o===((r=e.ownerDocument)==null?void 0:r.body),i=he(o);if(s){const c=Yr(i);return t.concat(i,i.visualViewport||[],Ke(o)?o:[],c&&n?Zt(c):[])}else return t.concat(o,Zt(o,[],n))}function Yr(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}const jr={...wn},$r=()=>{},j=typeof document<"u"?u.useLayoutEffect:$r,Gr=u.createContext(void 0);function Kr(e=!1){const t=u.useContext(Gr);if(t===void 0&&!e)throw new Error(Cn(16));return t}function Ur(e){const{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:o=0,isNativeButton:s}=e,i=r&&t!==!1,c=r&&t===!1;return{props:u.useMemo(()=>{const l={onKeyDown(a){n&&t&&a.key!=="Tab"&&a.preventDefault()}};return r||(l.tabIndex=o,!s&&n&&(l.tabIndex=t?o:-1)),(s&&(t||i)||!s&&n)&&(l["aria-disabled"]=n),s&&(!t||c)&&(l.disabled=n),l},[r,n,t,i,c,s,o])}}function Ls(e={}){const{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:o=!0,composite:s}=e,i=u.useRef(null),c=Kr(!0),b=s??c!==void 0,{props:l}=Ur({focusableWhenDisabled:n,disabled:t,composite:b,tabIndex:r,isNativeButton:o}),a=u.useCallback(()=>{const E=i.current;dt(E)&&b&&t&&l.disabled===void 0&&E.disabled&&(E.disabled=!1)},[t,l.disabled,b]);j(a,[a]);const d=u.useCallback((E={})=>{const{onClick:h,onMouseDown:m,onKeyUp:g,onKeyDown:T,onPointerDown:R,...N}=E;return Cr({type:o?"button":void 0,onClick(f){if(t){f.preventDefault();return}h?.(f)},onMouseDown(f){t||m?.(f)},onKeyDown(f){if(t||(qt(f),T?.(f),f.baseUIHandlerPrevented))return;const D=f.target===f.currentTarget,x=f.currentTarget,C=dt(x),F=!o&&qr(x),v=D&&(o?C:!F),V=f.key==="Enter",L=f.key===" ",S=x.getAttribute("role"),_=S?.startsWith("menuitem")||S==="option"||S==="gridcell";if(D&&b&&L){if(f.defaultPrevented&&_)return;f.preventDefault(),F||o&&C?(x.click(),f.preventBaseUIHandler()):v&&(h?.(f),f.preventBaseUIHandler());return}v&&(!o&&(L||V)&&f.preventDefault(),!o&&V&&h?.(f))},onKeyUp(f){if(!t){if(qt(f),g?.(f),f.target===f.currentTarget&&o&&b&&dt(f.currentTarget)&&f.key===" "){f.preventDefault();return}f.baseUIHandlerPrevented||f.target===f.currentTarget&&!o&&!b&&f.key===" "&&h?.(f)}},onPointerDown(f){if(t){f.preventDefault();return}R?.(f)}},o?void 0:{role:"button"},l,N)},[t,l,b,o]),p=U(E=>{i.current=E,a()});return{getButtonProps:d,buttonRef:p}}function dt(e){return oe(e)&&e.tagName==="BUTTON"}function qr(e){return!!(e?.tagName==="A"&&e?.href)}const Le=typeof navigator<"u",pt=zr(),In=Zr(),An=Jr(),Mn=typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter:none"),Dn=pt.platform==="MacIntel"&&pt.maxTouchPoints>1?!0:/iP(hone|ad|od)|iOS/.test(pt.platform),Xr=Le&&/apple/i.test(navigator.vendor),Pt=Le&&/android/i.test(In)||/android/i.test(An),Bs=Le&&In.toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints,Fn=An.includes("jsdom/");function zr(){if(!Le)return{platform:"",maxTouchPoints:-1};const e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}function Jr(){if(!Le)return"";const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:t,version:n})=>`${t}/${n}`).join(" "):navigator.userAgent}function Zr(){if(!Le)return"";const e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}let Qt=0;function Qr(e,t="mui"){const[n,r]=u.useState(e),o=e||n;return u.useEffect(()=>{n==null&&(Qt+=1,r(`${t}-${Qt}`))},[n,t]),o}const en=jr.useId;function qe(e,t){if(en!==void 0){const n=en();return e??(t?`${t}-${n}`:n)}return Qr(e,t)}function Ys(e){return qe(e,"base-ui")}function Ne(e,t,n,r){let o=!1,s=!1;const i=_e;return{reason:e,event:t??new Event("base-ui"),cancel(){o=!0},allowPropagation(){s=!0},get isCanceled(){return o},get isPropagationAllowed(){return s},trigger:n,...i}}const eo=[];function Nn(e){u.useEffect(e,eo)}const Je=null;class to{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=t=>{this.isScheduled=!1;const n=this.callbacks,r=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,r>0)for(let o=0;o<n.length;o+=1)n[o]?.(t)};request(t){const n=this.nextId;return this.nextId+=1,this.callbacks.push(t),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),n}cancel(t){const n=t-this.startId;n<0||n>=this.callbacks.length||(this.callbacks[n]=null,this.callbacksCount-=1)}}const Ze=new to;class ge{static create(){return new ge}static request(t){return Ze.request(t)}static cancel(t){return Ze.cancel(t)}currentId=Je;request(t){this.cancel(),this.currentId=Ze.request(()=>{this.currentId=Je,t()})}cancel=()=>{this.currentId!==Je&&(Ze.cancel(this.currentId),this.currentId=Je)};disposeEffect=()=>this.cancel}function _n(){const e=Pe(ge.create).current;return Nn(e.disposeEffect),e}function no(e,t=!1,n=!1){const[r,o]=u.useState(e&&t?"idle":void 0),[s,i]=u.useState(e);return e&&!s&&(i(!0),o("starting")),!e&&s&&r!=="ending"&&!n&&o("ending"),!e&&!s&&r==="ending"&&o(void 0),j(()=>{if(!e&&s&&r!=="ending"&&n){const c=ge.request(()=>{o("ending")});return()=>{ge.cancel(c)}}},[e,s,r,n]),j(()=>{if(!e||t)return;const c=ge.request(()=>{o(void 0)});return()=>{ge.cancel(c)}},[t,e]),j(()=>{if(!e||!t)return;e&&s&&r!=="idle"&&o("starting");const c=ge.request(()=>{o("idle")});return()=>{ge.cancel(c)}},[t,e,s,r]),{mounted:s,setMounted:i,transitionStatus:r}}function me(e){return e==null?e:"current"in e?e.current:e}function ro(e,t=!1,n=!0){const r=_n();return U((o,s=null)=>{r.cancel();const i=me(e);if(i==null)return;const c=i,b=()=>{Ht.flushSync(o)};if(typeof c.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED){o();return}function l(){Promise.all(c.getAnimations().map(a=>a.finished)).then(()=>{s?.aborted||b()}).catch(()=>{if(n){s?.aborted||b();return}const a=c.getAnimations();!s?.aborted&&a.length>0&&a.some(d=>d.pending||d.playState!=="finished")&&l()})}if(t){const a=Ge.startingStyle;if(!c.hasAttribute(a)){r.request(l);return}const d=new MutationObserver(()=>{c.hasAttribute(a)||(d.disconnect(),l())});d.observe(c,{attributes:!0,attributeFilter:[a]}),s?.addEventListener("abort",()=>d.disconnect(),{once:!0});return}r.request(l)})}function oo(e){const{enabled:t=!0,open:n,ref:r,onComplete:o}=e,s=U(o),i=ro(r,n,!1);u.useEffect(()=>{if(!t)return;const c=new AbortController;return i(s,c.signal),()=>{c.abort()}},[t,n,s,i])}const Be=0;class ke{static create(){return new ke}currentId=Be;start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=Be,n()},t)}isStarted(){return this.currentId!==Be}clear=()=>{this.currentId!==Be&&(clearTimeout(this.currentId),this.currentId=Be)};disposeEffect=()=>this.clear}function st(){const e=Pe(ke.create).current;return Nn(e.disposeEffect),e}function rt(e){e.preventDefault(),e.stopPropagation()}function so(e){return"nativeEvent"in e}function io(e){return e.pointerType===""&&e.isTrusted?!0:Pt&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function co(e){return Fn?!1:!Pt&&e.width===0&&e.height===0||Pt&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function js(e,t){const n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}function ao(e){const t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}function H(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function We(...e){return()=>{for(let t=0;t<e.length;t+=1){const n=e[t];n&&n()}}}function gt(e){const t=Pe(uo,e).current;return t.next=e,j(t.effect),t}function uo(e){const t={current:e,next:e,effect:()=>{t.current=t.next}};return t}function q(e){return e?.ownerDocument||document}const lo={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},fo={...lo,position:"fixed",top:0,left:0},it=u.forwardRef(function(t,n){const[r,o]=u.useState();j(()=>{Xr&&o("button")},[]);const s={tabIndex:0,role:r};return ue.jsx("span",{...t,ref:n,style:fo,"aria-hidden":r?void 0:!0,...s,"data-base-ui-focus-guard":""})}),vt="data-base-ui-focusable",Wn="active",Vn="selected",Hn="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])",ht="ArrowLeft",mt="ArrowRight",po="ArrowUp",go="ArrowDown";function xe(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function B(e,t){if(!e||!t)return!1;const n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&He(n)){let r=t;for(;r;){if(e===r)return!0;r=r.parentNode||r.host}}return!1}function Oe(e){return"composedPath"in e?e.composedPath()[0]:e.target}function $s(e,t){if(!Re(e))return!1;const n=e;if(t.hasElement(n))return!n.hasAttribute("data-trigger-disabled");for(const[,r]of t.entries())if(B(r,n))return!r.hasAttribute("data-trigger-disabled");return!1}function fe(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);const n=e;return n.target!=null&&t.contains(n.target)}function ho(e){return e.matches("html,body")}function Ln(e){return oe(e)&&e.matches(Hn)}function Gs(e){return e?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${Hn}`)!=null}function tn(e){return e?e.getAttribute("role")==="combobox"&&Ln(e):!1}function Ks(e){if(!e||Fn)return!0;try{return e.matches(":focus-visible")}catch{return!0}}function It(e){return e?e.hasAttribute(vt)?e:e.querySelector(`[${vt}]`)||e:null}const Us=["top","right","bottom","left"],mo=Math.min,bo=Math.max,qs=Math.round,bt=Math.floor,Xs=e=>({x:e,y:e}),yo={left:"right",right:"left",bottom:"top",top:"bottom"};function zs(e,t,n){return bo(e,mo(t,n))}function Js(e,t){return typeof e=="function"?e(t):e}function Bn(e){return e.split("-")[0]}function Yn(e){return e.split("-")[1]}function Eo(e){return e==="x"?"y":"x"}function So(e){return e==="y"?"height":"width"}function Ro(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function wo(e){return Eo(Ro(e))}function Zs(e,t,n){n===void 0&&(n=!1);const r=Yn(e),o=wo(e),s=So(o);let i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=Mt(i)),[i,Mt(i)]}function Qs(e){const t=Mt(e);return[At(e),t,At(t)]}function At(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const nn=["left","right"],rn=["right","left"],To=["top","bottom"],Co=["bottom","top"];function xo(e,t,n){switch(e){case"top":case"bottom":return n?t?rn:nn:t?nn:rn;case"left":case"right":return t?To:Co;default:return[]}}function ei(e,t,n,r){const o=Yn(e);let s=xo(Bn(e),n==="start",r);return o&&(s=s.map(i=>i+"-"+o),t&&(s=s.concat(s.map(At)))),s}function Mt(e){const t=Bn(e);return yo[t]+e.slice(t.length)}function Oo(e){return{top:0,right:0,bottom:0,left:0,...e}}function ti(e){return typeof e!="number"?Oo(e):{top:e,right:e,bottom:e,left:e}}function ni(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Qe(e,t,n){return Math.floor(e/t)!==n}function on(e,t){return t<0||t>=e.length}function ri(e,t){return de(e.current,{disabledIndices:t})}function oi(e,t){return de(e.current,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function de(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:r,amount:o=1}={}){let s=t;do s+=n?-o:o;while(s>=0&&s<=e.length-1&&Dt(e,s,r));return s}function si(e,{event:t,orientation:n,loopFocus:r,onLoop:o,rtl:s,cols:i,disabledIndices:c,minIndex:b,maxIndex:l,prevIndex:a,stopEvent:d=!1}){let p=a,E;if(t.key===po?E="up":t.key===go&&(E="down"),E){const h=[],m=[];let g=!1,T=0;{let F=null,v=-1;e.forEach((V,L)=>{if(V==null)return;T+=1;const S=V.closest('[role="row"]');S&&(g=!0),(S!==F||v===-1)&&(F=S,v+=1,h[v]=[]),h[v].push(L),m[L]=v})}let R=!1,N=0;if(g)for(const F of h){const v=F.length;v>N&&(N=v),v!==i&&(R=!0)}const k=R&&T<e.length,f=N||i,D=F=>{if(!R||a===-1)return;const v=m[a];if(v==null)return;const V=h[v].indexOf(a),L=F==="up"?-1:1;for(let S=v+L,_=0;_<h.length;_+=1,S+=L){if(S<0||S>=h.length){if(!r||k)return;if(S=S<0?h.length-1:0,o){const X=Math.min(V,h[S].length-1),ee=h[S][X]??h[S][0],be=o(t,a,ee);S=m[be]??S}}const J=h[S];for(let X=Math.min(V,J.length-1);X>=0;X-=1){const ee=J[X];if(!Dt(e,ee,c))return ee}}},x=F=>{if(!k||a===-1)return;const v=a%f,V=F==="up"?-f:f,L=l-l%f,S=bt(l/f)+1;for(let _=a-v+V,J=0;J<S;J+=1,_+=V){if(_<0||_>l){if(!r)return;_=_<0?L:0}const X=Math.min(_+f-1,l);for(let ee=Math.min(_+v,X);ee>=_;ee-=1)if(!Dt(e,ee,c))return ee}};d&&rt(t);const C=D(E)??x(E);if(C!==void 0)p=C;else if(a===-1)p=E==="up"?l:b;else if(p=de(e,{startingIndex:a,amount:f,decrement:E==="up",disabledIndices:c}),r){if(E==="up"&&(a-f<b||p<0)){const F=a%f,v=l%f,V=l-(v-F);v===F?p=l:p=v>F?V:V-f,o&&(p=o(t,a,p))}E==="down"&&a+f>l&&(p=de(e,{startingIndex:a%f-f,amount:f,disabledIndices:c}),o&&(p=o(t,a,p)))}on(e,p)&&(p=a)}if(n==="both"){const h=bt(a/i);t.key===(s?ht:mt)&&(d&&rt(t),a%i!==i-1?(p=de(e,{startingIndex:a,disabledIndices:c}),r&&Qe(p,i,h)&&(p=de(e,{startingIndex:a-a%i-1,disabledIndices:c}),o&&(p=o(t,a,p)))):r&&(p=de(e,{startingIndex:a-a%i-1,disabledIndices:c}),o&&(p=o(t,a,p))),Qe(p,i,h)&&(p=a)),t.key===(s?mt:ht)&&(d&&rt(t),a%i!==0?(p=de(e,{startingIndex:a,decrement:!0,disabledIndices:c}),r&&Qe(p,i,h)&&(p=de(e,{startingIndex:a+(i-a%i),decrement:!0,disabledIndices:c}),o&&(p=o(t,a,p)))):r&&(p=de(e,{startingIndex:a+(i-a%i),decrement:!0,disabledIndices:c}),o&&(p=o(t,a,p))),Qe(p,i,h)&&(p=a));const m=bt(l/i)===h;on(e,p)&&(r&&m?(p=t.key===(s?mt:ht)?l:de(e,{startingIndex:a-a%i-1,disabledIndices:c}),o&&(p=o(t,a,p))):p=a)}return p}function ii(e,t,n){const r=[];let o=0;return e.forEach(({width:s,height:i},c)=>{let b=!1;for(;!b;){const l=[];for(let a=0;a<s;a+=1)for(let d=0;d<i;d+=1)l.push(o+a+d*t);o%t+s<=t&&l.every(a=>r[a]==null)?(l.forEach(a=>{r[a]=c}),b=!0):o+=1}}),[...r]}function ci(e,t,n,r,o){if(e===-1)return-1;const s=n.indexOf(e),i=t[e];switch(o){case"tl":return s;case"tr":return i?s+i.width-1:s;case"bl":return i?s+(i.height-1)*r:s;case"br":return n.lastIndexOf(e);default:return-1}}function ai(e,t){return t.flatMap((n,r)=>e.includes(n)?[r]:[])}function Dt(e,t,n){if(typeof n=="function"?n(t):n?.includes(t)??!1)return!0;const o=e[t];return o?Yt(o)?!n&&(o.hasAttribute("disabled")||o.getAttribute("aria-disabled")==="true"):!0:!1}function ko(e){return e.visibility==="hidden"||e.visibility==="collapse"}function Yt(e,t=e?Ue(e):null){return!e||!e.isConnected||!t||ko(t)?!1:typeof e.checkVisibility=="function"?e.checkVisibility():t.display!=="none"&&t.display!=="contents"}const Po='a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';function vo(e){const t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;const n=e.getRootNode();return He(n)?n.host:null}function Ft(e){for(const t of Array.from(e.children))if(ce(t)==="summary")return t;return null}function Io(e,t){const n=Ft(t);return!!n&&(e===n||B(n,e))}function jn(e){const t=e?ce(e):"";return e!=null&&e.matches(Po)&&(t!=="summary"||e.parentElement!=null&&ce(e.parentElement)==="details"&&Ft(e.parentElement)===e)&&(t!=="details"||Ft(e)==null)&&(t!=="input"||e.type!=="hidden")}function $n(e){if(!jn(e)||!e.isConnected||e.matches(":disabled"))return!1;for(let t=e;t;t=vo(t)){const n=t!==e,r=ce(t)==="slot";if(t.hasAttribute("inert")||n&&ce(t)==="details"&&!t.open&&!Io(e,t)||t.hasAttribute("hidden")||!r&&!Ao(t,n))return!1}return!0}function Ao(e,t){const n=Ue(e);return t?n.display!=="none":Yt(e,n)}function Gn(e){const t=e.tabIndex;if(t<0){const n=ce(e);if(n==="details"||n==="audio"||n==="video"||oe(e)&&e.isContentEditable)return 0}return t}function yt(e){if(ce(e)!=="input")return null;const t=e;return t.type==="radio"&&t.name!==""?t:null}function Mo(e,t){const n=yt(e);if(!n)return!0;const r=t.find(o=>{const s=yt(o);return s?.name===n.name&&s.form===n.form&&s.checked});return r?r===n:t.find(o=>{const s=yt(o);return s?.name===n.name&&s.form===n.form})===n}function Kn(e){if(oe(e)&&ce(e)==="slot"){const t=e.assignedElements({flatten:!0});if(t.length>0)return t}return oe(e)&&e.shadowRoot?Array.from(e.shadowRoot.children):Array.from(e.children)}function Un(e,t){Kn(e).forEach(n=>{jn(n)&&t.push(n),Un(n,t)})}function qn(e,t,n){Kn(e).forEach(r=>{oe(r)&&r.matches(t)&&n.push(r),qn(r,t,n)})}function jt(e){return $n(e)&&Gn(e)>=0}function Xn(e){const t=[];return Un(e,t),t.filter($n)}function Xe(e){const t=Xn(e);return t.filter(n=>Gn(n)>=0&&Mo(n,t))}function zn(e,t){const n=Xe(e),r=n.length;if(r===0)return;const o=xe(q(e)),s=n.indexOf(o),i=s===-1?t===1?0:r-1:s+t;return n[i]}function Jn(e){return zn(q(e).body,1)||e}function Zn(e){return zn(q(e).body,-1)||e}function Qn(e,t){if(!e)return null;const n=Xe(q(e).body),r=n.length;if(r===0)return null;const o=n.indexOf(e);if(o===-1)return null;const s=(o+t+r)%r;return n[s]}function ui(e){return Qn(e,1)}function li(e){return Qn(e,-1)}function $e(e,t){const n=t||e.currentTarget,r=e.relatedTarget;return!r||!B(n,r)}function Do(e){Xe(e).forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}function sn(e){const t=[];qn(e,"[data-tabindex]",t),t.forEach(n=>{const r=n.dataset.tabindex;delete n.dataset.tabindex,r?n.setAttribute("tabindex",r):n.removeAttribute("tabindex")})}function Ve(e,t,n=!0){return e.filter(o=>o.parentId===t).flatMap(o=>[...!n||o.context?.open?[o]:[],...Ve(e,o.id,n)])}function cn(e,t){let n=[],r=e.find(o=>o.id===t)?.parentId;for(;r;){const o=e.find(s=>s.id===r);r=o?.parentId,o&&(n=n.concat(o))}return n}function ct(e){return`data-base-ui-${e}`}let et=0;function Et(e,t={}){const{preventScroll:n=!1,cancelPrevious:r=!0,sync:o=!1}=t;r&&cancelAnimationFrame(et);const s=()=>e?.focus({preventScroll:n});if(o)return s(),Vt;const i=requestAnimationFrame(s);return et=i,()=>{et===i&&(cancelAnimationFrame(i),et=0)}}const St={inert:new WeakMap,"aria-hidden":new WeakMap},an="data-base-ui-inert",Nt={inert:new WeakSet,"aria-hidden":new WeakSet};let Ye=new WeakMap,Rt=0;function Fo(e){return Nt[e]}function er(e){return e?He(e)?e.host:er(e.parentNode):null}const wt=(e,t)=>t.map(n=>{if(e.contains(n))return n;const r=er(n);return e.contains(r)?r:null}).filter(n=>n!=null),un=e=>{const t=new Set;return e.forEach(n=>{let r=n;for(;r&&!t.has(r);)t.add(r),r=r.parentNode}),t},ln=(e,t,n)=>{const r=[],o=s=>{!s||n.has(s)||Array.from(s.children).forEach(i=>{ce(i)!=="script"&&(t.has(i)?o(i):r.push(i))})};return o(e),r};function No(e,t,n,r,{mark:o=!0,markerIgnoreElements:s=[]}){const i=r?"inert":n?"aria-hidden":null;let c=null,b=null;const l=wt(t,e),a=o?wt(t,s):[],d=new Set(a),p=o?ln(t,un(l),new Set(l)).filter(m=>!d.has(m)):[],E=[],h=[];if(i){const m=St[i],g=Fo(i);b=g,c=m;const T=wt(t,Array.from(t.querySelectorAll("[aria-live]"))),R=l.concat(T);ln(t,un(R),new Set(R)).forEach(k=>{const f=k.getAttribute(i),D=f!==null&&f!=="false",x=(m.get(k)||0)+1;m.set(k,x),E.push(k),x===1&&D&&g.add(k),D||k.setAttribute(i,i==="inert"?"":"true")})}return o&&p.forEach(m=>{const g=(Ye.get(m)||0)+1;Ye.set(m,g),h.push(m),g===1&&m.setAttribute(an,"")}),Rt+=1,()=>{c&&E.forEach(m=>{const T=(c.get(m)||0)-1;c.set(m,T),T||(!b?.has(m)&&i&&m.removeAttribute(i),b?.delete(m))}),o&&h.forEach(m=>{const g=(Ye.get(m)||0)-1;Ye.set(m,g),g||m.removeAttribute(an)}),Rt-=1,Rt||(St.inert=new WeakMap,St["aria-hidden"]=new WeakMap,Nt.inert=new WeakSet,Nt["aria-hidden"]=new WeakSet,Ye=new WeakMap)}}function fn(e,t={}){const{ariaHidden:n=!1,inert:r=!1,mark:o=!0,markerIgnoreElements:s=[]}=t,i=q(e[0]).body;return No(e,i,n,r,{mark:o,markerIgnoreElements:s})}const fi=500,di=500,pi={style:{transition:"none"}},_o="data-base-ui-click-trigger",gi={fallbackAxisSide:"none"},hi={fallbackAxisSide:"end"},Wo={clipPath:"inset(50%)",position:"fixed",top:0,left:0},tr=u.createContext(null),nr=()=>u.useContext(tr),Vo=ct("portal");function Ho(e={}){const{ref:t,container:n,componentProps:r=_e,elementProps:o}=e,s=qe(),c=nr()?.portalNode,[b,l]=u.useState(null),[a,d]=u.useState(null),p=U(g=>{g!==null&&d(g)}),E=u.useRef(null);j(()=>{if(n===null){E.current&&(E.current=null,d(null),l(null));return}if(s==null)return;const g=(n&&(Bt(n)?n:n.current))??c??document.body;if(g==null){E.current&&(E.current=null,d(null),l(null));return}E.current!==g&&(E.current=g,d(null),l(g))},[n,c,s]);const h=xr("div",r,{ref:[t,p],props:[{id:s,[Vo]:""},o]});return{portalNode:a,portalSubtree:b&&h?Ht.createPortal(h,b):null}}const mi=u.forwardRef(function(t,n){const{children:r,container:o,className:s,render:i,renderGuards:c,style:b,...l}=t,{portalNode:a,portalSubtree:d}=Ho({container:o,ref:n,componentProps:t,elementProps:l}),p=u.useRef(null),E=u.useRef(null),h=u.useRef(null),m=u.useRef(null),[g,T]=u.useState(null),R=u.useRef(!1),N=g?.modal,k=g?.open,f=typeof c=="boolean"?c:!!g&&!g.modal&&g.open&&!!a;u.useEffect(()=>{if(!a||N)return;function x(C){a&&C.relatedTarget&&$e(C)&&(C.type==="focusin"?R.current&&(sn(a),R.current=!1):(Do(a),R.current=!0))}return We(H(a,"focusin",x,!0),H(a,"focusout",x,!0))},[a,N]),u.useEffect(()=>{!a||k!==!1||(sn(a),R.current=!1)},[k,a]);const D=u.useMemo(()=>({beforeOutsideRef:p,afterOutsideRef:E,beforeInsideRef:h,afterInsideRef:m,portalNode:a,setFocusManagerState:T}),[a]);return ue.jsxs(u.Fragment,{children:[d,ue.jsxs(tr.Provider,{value:D,children:[f&&a&&ue.jsx(it,{"data-type":"outside",ref:p,onFocus:x=>{if($e(x,a))h.current?.focus();else{const C=g?g.domReference:null;Zn(C)?.focus()}}}),f&&a&&ue.jsx("span",{"aria-owns":a.id,style:Wo}),a&&Ht.createPortal(r,a),f&&a&&ue.jsx(it,{"data-type":"outside",ref:E,onFocus:x=>{if($e(x,a))m.current?.focus();else{const C=g?g.domReference:null;Jn(C)?.focus(),g?.closeOnFocusOut&&g?.onOpenChange(!1,Ne(kn,x.nativeEvent))}}})]})]})});function rr(){const e=new Map;return{emit(t,n){e.get(t)?.forEach(r=>r(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}class Lo{nodesRef={current:[]};events=rr();addNode(t){this.nodesRef.current.push(t)}removeNode(t){const n=this.nodesRef.current.findIndex(r=>r===t);n!==-1&&this.nodesRef.current.splice(n,1)}}const or=u.createContext(null),sr=u.createContext(null),ut=()=>u.useContext(or)?.id||null,$t=e=>{const t=u.useContext(sr);return e??t};function bi(e){const t=qe(),n=$t(e),r=ut();return j(()=>{if(!t)return;const o={id:t,parentId:r};return n?.addNode(o),()=>{n?.removeNode(o)}},[n,t,r]),t}function yi(e){const{children:t,id:n}=e,r=ut();return ue.jsx(or.Provider,{value:u.useMemo(()=>({id:n,parentId:r}),[n,r]),children:t})}function Ei(e){const{children:t,externalTree:n}=e,r=Pe(()=>n??new Lo).current;return ue.jsx(sr.Provider,{value:r,children:t})}function Bo(e,t){const n=he(Oe(e));return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(e.detail===0?"keyboard":"mouse"):""}const dn=20;let we=[];function Gt(){we=we.filter(e=>e.deref()?.isConnected)}function Yo(e){Gt(),e&&ce(e)!=="body"&&(we.push(new WeakRef(e)),we.length>dn&&(we=we.slice(-dn)))}function Tt(){return Gt(),we[we.length-1]?.deref()}function jo(e){return e?jt(e)?e:Xe(e)[0]||e:null}function pn(e,t){if(e.hasAttribute("tabindex")&&!e.hasAttribute("data-tabindex")||!t.current.includes("floating")&&!e.getAttribute("role")?.includes("dialog"))return;const r=Xn(e).filter(s=>{const i=s.getAttribute("data-tabindex")||"";return jt(s)||s.hasAttribute("data-tabindex")&&!i.startsWith("-")}),o=e.getAttribute("tabindex");t.current.includes("floating")||r.length===0?o!=="0"&&e.setAttribute("tabindex","0"):(o!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function Si(e){const{context:t,children:n,disabled:r=!1,initialFocus:o=!0,returnFocus:s=!0,restoreFocus:i=!1,modal:c=!0,closeOnFocusOut:b=!0,openInteractionType:l="",nextFocusableElement:a,previousFocusableElement:d,beforeContentFocusGuardRef:p,externalTree:E,getInsideElements:h}=e,m="rootStore"in t?t.rootStore:t,g=m.useState("open"),T=m.useState("domReferenceElement"),R=m.useState("floatingElement"),{events:N,dataRef:k}=m.context,f=U(()=>k.current.floatingContext?.nodeId),D=o===!1,x=tn(T)&&D,C=u.useRef(["content"]),F=gt(o),v=gt(s),V=gt(l),L=$t(E),S=nr(),_=u.useRef(!1),J=u.useRef(!1),X=u.useRef(!1),ee=u.useRef(null),be=u.useRef(""),Te=u.useRef(""),ve=u.useRef(null),W=u.useRef(null),pe=Xt(ve,p,S?.beforeInsideRef),Ie=Xt(W,S?.afterInsideRef),Ae=st(),ye=st(),Ee=_n(),ae=S!=null,A=It(R),le=U((P=A)=>P?Xe(P):[]),se=U(()=>h?.().filter(P=>P!=null)??[]);u.useEffect(()=>{if(r||!c)return;function P(Z){Z.key==="Tab"&&B(A,xe(q(A)))&&le().length===0&&!x&&rt(Z)}const $=q(A);return H($,"keydown",P)},[r,T,A,c,C,x,le]),u.useEffect(()=>{if(r||!g)return;const P=q(A);function $(){X.current=!1}function Z(M){const I=Oe(M),z=se(),O=B(R,I)||B(T,I)||B(S?.portalNode,I)||z.some(te=>te===I||B(te,I));X.current=!O,Te.current=M.pointerType||"keyboard",I?.closest(`[${_o}]`)&&(J.current=!0)}function Q(){Te.current="keyboard"}return We(H(P,"pointerdown",Z,!0),H(P,"pointerup",$,!0),H(P,"pointercancel",$,!0),H(P,"keydown",Q,!0))},[r,R,T,A,g,S,se]),u.useEffect(()=>{if(r||!b)return;const P=q(A);function $(){J.current=!0,ye.start(0,()=>{J.current=!1})}function Z(z){const O=Oe(z);jt(O)&&(ee.current=O)}function Q(z){const O=z.relatedTarget,te=z.currentTarget,Y=Oe(z);queueMicrotask(()=>{const Me=f(),y=m.context.triggerElements,w=se(),ne=O?.hasAttribute(ct("focus-guard"))&&[ve.current,W.current,S?.beforeInsideRef.current,S?.afterInsideRef.current,S?.beforeOutsideRef.current,S?.afterOutsideRef.current,me(d),me(a)].includes(O),re=!(B(T,O)||B(R,O)||B(O,R)||B(S?.portalNode,O)||w.some(G=>G===O||B(G,O))||O!=null&&y.hasElement(O)||y.hasMatchingElement(G=>B(G,O))||ne||L&&(Ve(L.nodesRef.current,Me).find(G=>B(G.context?.elements.floating,O)||B(G.context?.elements.domReference,O))||cn(L.nodesRef.current,Me).find(G=>[G.context?.elements.floating,It(G.context?.elements.floating)].includes(O)||G.context?.elements.domReference===O)));if(te===T&&A&&pn(A,C),i&&te!==T&&!Yt(Y)&&xe(P)===P.body){if(oe(A)&&(A.focus(),i==="popup")){Ee.request(()=>{A.focus()});return}const G=le(),De=ee.current,Se=(De&&G.includes(De)?De:null)||G[G.length-1]||A;oe(Se)&&Se.focus()}if(k.current.insideReactTree){k.current.insideReactTree=!1;return}(x||!c)&&O&&re&&!J.current&&(x||O!==Tt())&&(_.current=!0,m.setOpen(!1,Ne(kn,z)))})}function M(){X.current||(k.current.insideReactTree=!0,Ae.start(0,()=>{k.current.insideReactTree=!1}))}const I=oe(T)?T:null;if(!(!R&&!I))return We(I&&H(I,"focusout",Q),I&&H(I,"pointerdown",$),R&&H(R,"focusin",Z),R&&H(R,"focusout",Q),R&&S&&H(R,"focusout",M,!0))},[r,T,R,A,c,L,S,m,b,i,le,x,f,C,k,Ae,ye,Ee,a,d,se]),u.useEffect(()=>{if(r||!R||!g)return;const P=Array.from(S?.portalNode?.querySelectorAll(`[${ct("portal")}]`)||[]),Z=(L?cn(L.nodesRef.current,f()):[]).find(te=>tn(te.context?.elements.domReference||null))?.context?.elements.domReference,M=[...[R,...P,ve.current,W.current,S?.beforeOutsideRef.current,S?.afterOutsideRef.current,...se()],Z,me(d),me(a),x?T:null].filter(te=>te!=null),I=fn(M,{ariaHidden:c||x,mark:!1}),z=[R,...P].filter(te=>te!=null),O=fn(z);return()=>{O(),I()}},[g,r,T,R,c,C,S,x,L,f,a,d,se]),j(()=>{if(!g||r||!oe(A))return;const P=q(A),$=xe(P);queueMicrotask(()=>{const Z=F.current,Q=typeof Z=="function"?Z(V.current||""):Z;if(Q===void 0||Q===!1||B(A,$))return;let I=null;const z=()=>(I==null&&(I=le(A)),I[0]||A);let O;Q===!0||Q===null?O=z():O=me(Q),O=O||z(),Et(O,{preventScroll:O===A})})},[r,g,A,D,le,F,V]),j(()=>{if(r||!A)return;const P=q(A),$=xe(P);Yo($);function Z(M){if(M.open||(be.current=Bo(M.nativeEvent,Te.current)),M.reason===Mr&&M.nativeEvent.type==="mouseleave"&&(_.current=!0),M.reason===On)if(M.nested)_.current=!1;else if(io(M.nativeEvent)||co(M.nativeEvent))_.current=!1;else{let I=!1;q(A).createElement("div").focus({get preventScroll(){return I=!0,!1}}),I?_.current=!1:_.current=!0}}N.on("openchange",Z);function Q(){const M=v.current;let I=typeof M=="function"?M(be.current):M;if(I===void 0||I===!1)return null;if(I===null&&(I=!0),typeof I=="boolean"){const O=T||Tt();return O&&O.isConnected?O:null}const z=T||Tt();return me(I)||z||null}return()=>{N.off("openchange",Z);const M=xe(P),I=se(),z=B(R,M)||I.some(Y=>Y===M||B(Y,M))||L&&Ve(L.nodesRef.current,f(),!1).some(Y=>B(Y.context?.elements.floating,M)),O=v.current,te=Q();queueMicrotask(()=>{const Y=jo(te),Me=typeof O!="boolean";O&&!_.current&&oe(Y)&&(!(!Me&&Y!==M&&M!==P.body)||z)&&Y.focus({preventScroll:!0}),_.current=!1})}},[r,R,A,v,k,N,L,T,f,se]),j(()=>{if(!Mn||g||!R)return;const P=xe(q(R));!oe(P)||!Ln(P)||B(R,P)&&P.blur()},[g,R]),j(()=>{if(!(r||!S))return S.setFocusManagerState({modal:c,closeOnFocusOut:b,open:g,onOpenChange:m.setOpen,domReference:T}),()=>{S.setFocusManagerState(null)}},[r,S,c,g,m,b,T]),j(()=>{if(!(r||!A))return pn(A,C),()=>{queueMicrotask(Gt)}},[r,A,C]);const ze=!r&&(c?!x:!0)&&(ae||c);return ue.jsxs(u.Fragment,{children:[ze&&ue.jsx(it,{"data-type":"inside",ref:pe,onFocus:P=>{if(c){const $=le();Et($[$.length-1])}else S?.portalNode&&(_.current=!1,$e(P,S.portalNode)?Jn(T)?.focus():me(d??S.beforeOutsideRef)?.focus())}}),n,ze&&ue.jsx(it,{"data-type":"inside",ref:Ie,onFocus:P=>{c?Et(le()[0]):S?.portalNode&&(b&&(_.current=!0),$e(P,S.portalNode)?Zn(T)?.focus():me(a??S.afterOutsideRef)?.focus())}})]})}const $o={intentional:"onClick",sloppy:"onPointerDown"};function Go(){return!1}function Ko(e){return{escapeKey:typeof e=="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e=="boolean"?e:e?.outsidePress??!0}}function Ri(e,t={}){const n="rootStore"in e?e.rootStore:e,r=n.useState("open"),o=n.useState("floatingElement"),{dataRef:s}=n.context,{enabled:i=!0,escapeKey:c=!0,outsidePress:b=!0,outsidePressEvent:l="sloppy",referencePress:a=Go,referencePressEvent:d="sloppy",bubbles:p,externalTree:E}=t,h=$t(E),m=U(typeof b=="function"?b:()=>!1),g=typeof b=="function"?m:b,T=g!==!1,R=U(()=>l),N=u.useRef(!1),k=u.useRef(!1),f=u.useRef(!1),{escapeKey:D,outsidePress:x}=Ko(p),C=u.useRef(null),F=st(),v=st(),V=U(()=>{v.clear(),s.current.insideReactTree=!1}),L=u.useRef(!1),S=u.useRef(""),_=U(a),J=U(W=>{if(!r||!i||!c||W.key!=="Escape"||L.current)return;const pe=s.current.floatingContext?.nodeId,Ie=h?Ve(h.nodesRef.current,pe):[];if(!D&&Ie.length>0){let Ee=!0;if(Ie.forEach(ae=>{ae.context?.open&&!ae.context.dataRef.current.__escapeKeyBubbles&&(Ee=!1)}),!Ee)return}const Ae=so(W)?W.nativeEvent:W,ye=Ne(Dr,Ae);n.setOpen(!1,ye),!D&&!ye.isPropagationAllowed&&W.stopPropagation()}),X=U(()=>{s.current.insideReactTree=!0,v.start(0,V)});u.useEffect(()=>{if(!r||!i)return;s.current.__escapeKeyBubbles=D,s.current.__outsidePressBubbles=x;const W=new ke,pe=new ke;function Ie(){W.clear(),L.current=!0}function Ae(){W.start(Pn()?5:0,()=>{L.current=!1})}function ye(){f.current=!0,pe.start(0,()=>{f.current=!1})}function Ee(){N.current=!1,k.current=!1}function ae(){const y=S.current,w=y==="pen"||!y?"mouse":y,ne=R(),re=typeof ne=="function"?ne():ne;return typeof re=="string"?re:re[w]}function A(y){const w=ae();return w==="intentional"&&y.type!=="click"||w==="sloppy"&&y.type==="click"}function le(y){const w=s.current.floatingContext?.nodeId,ne=h&&Ve(h.nodesRef.current,w).some(re=>fe(y,re.context?.elements.floating));return fe(y,n.select("floatingElement"))||fe(y,n.select("domReferenceElement"))||ne}function se(y){if(A(y)){V();return}if(s.current.insideReactTree){V();return}const w=Oe(y),ne=`[${ct("inert")}]`,re=Re(w)?w.getRootNode():null,G=Array.from((He(re)?re:q(n.select("floatingElement"))).querySelectorAll(ne)),De=n.context.triggerElements;if(w&&(De.hasElement(w)||De.hasMatchingElement(ie=>B(ie,w))))return;let Se=Re(w)?w:null;for(;Se&&!je(Se);){const ie=ot(Se);if(je(ie)||!Re(ie))break;Se=ie}if(G.length&&Re(w)&&!ho(w)&&!B(w,n.select("floatingElement"))&&G.every(ie=>!B(Se,ie)))return;if(oe(w)&&!("touches"in y)){const ie=je(w),Fe=Ue(w),Ut=/auto|scroll/,br=ie||Ut.test(Fe.overflowX),yr=ie||Ut.test(Fe.overflowY),Er=br&&w.clientWidth>0&&w.scrollWidth>w.clientWidth,Sr=yr&&w.clientHeight>0&&w.scrollHeight>w.clientHeight,Rr=Fe.direction==="rtl",wr=Sr&&(Rr?y.offsetX<=w.offsetWidth-w.clientWidth:y.offsetX>w.clientWidth),Tr=Er&&y.offsetY>w.clientHeight;if(wr||Tr)return}if(le(y))return;if(ae()==="intentional"&&f.current){pe.clear(),f.current=!1;return}if(typeof g=="function"&&!g(y))return;const mr=s.current.floatingContext?.nodeId,Kt=h?Ve(h.nodesRef.current,mr):[];if(Kt.length>0){let ie=!0;if(Kt.forEach(Fe=>{Fe.context?.open&&!Fe.context.dataRef.current.__outsidePressBubbles&&(ie=!1)}),!ie)return}n.setOpen(!1,Ne(On,y)),V()}function ze(y){ae()!=="sloppy"||y.pointerType==="touch"||!n.select("open")||!i||fe(y,n.select("floatingElement"))||fe(y,n.select("domReferenceElement"))||se(y)}function P(y){if(ae()!=="sloppy"||!n.select("open")||!i||fe(y,n.select("floatingElement"))||fe(y,n.select("domReferenceElement")))return;const w=y.touches[0];w&&(C.current={startTime:Date.now(),startX:w.clientX,startY:w.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},F.start(1e3,()=>{C.current&&(C.current.dismissOnTouchEnd=!1,C.current.dismissOnMouseDown=!1)}))}function $(y,w){const ne=Oe(y);if(!ne)return;const re=H(ne,y.type,()=>{w(y),re()})}function Z(y){S.current="touch",$(y,P)}function Q(y){F.clear(),y.type==="pointerdown"&&(S.current=y.pointerType),!(y.type==="mousedown"&&C.current&&!C.current.dismissOnMouseDown)&&$(y,w=>{w.type==="pointerdown"?ze(w):se(w)})}function M(y){if(!N.current)return;const w=k.current;if(Ee(),ae()==="intentional"){if(y.type==="pointercancel"){w&&ye();return}if(!le(y)){if(w){ye();return}typeof g=="function"&&!g(y)||(pe.clear(),f.current=!0,V())}}}function I(y){if(ae()!=="sloppy"||!C.current||fe(y,n.select("floatingElement"))||fe(y,n.select("domReferenceElement")))return;const w=y.touches[0];if(!w)return;const ne=Math.abs(w.clientX-C.current.startX),re=Math.abs(w.clientY-C.current.startY),G=Math.sqrt(ne*ne+re*re);G>5&&(C.current.dismissOnTouchEnd=!0),G>10&&(se(y),F.clear(),C.current=null)}function z(y){$(y,I)}function O(y){ae()!=="sloppy"||!C.current||fe(y,n.select("floatingElement"))||fe(y,n.select("domReferenceElement"))||(C.current.dismissOnTouchEnd&&se(y),F.clear(),C.current=null)}function te(y){$(y,O)}const Y=q(o),Me=We(c&&We(H(Y,"keydown",J),H(Y,"compositionstart",Ie),H(Y,"compositionend",Ae)),T&&We(H(Y,"click",Q,!0),H(Y,"pointerdown",Q,!0),H(Y,"pointerup",M,!0),H(Y,"pointercancel",M,!0),H(Y,"mousedown",Q,!0),H(Y,"mouseup",M,!0),H(Y,"touchstart",Z,!0),H(Y,"touchmove",z,!0),H(Y,"touchend",te,!0)));return()=>{Me(),W.clear(),pe.clear(),Ee(),f.current=!1}},[s,o,c,T,g,r,i,D,x,J,V,R,h,n,F]),u.useEffect(V,[g,V]);const ee=u.useMemo(()=>({onKeyDown:J,[$o[d]]:W=>{_()&&n.setOpen(!1,Ne(Jt,W.nativeEvent))},...d!=="intentional"&&{onClick(W){_()&&n.setOpen(!1,Ne(Jt,W.nativeEvent))}}}),[J,n,d,_]),be=U(W=>{if(!r||!i||W.button!==0)return;const pe=Oe(W.nativeEvent);B(n.select("floatingElement"),pe)&&(N.current||(N.current=!0,k.current=!1))}),Te=U(W=>{!r||!i||(W.defaultPrevented||W.nativeEvent.defaultPrevented)&&N.current&&(k.current=!0)}),ve=u.useMemo(()=>({onKeyDown:J,onPointerDown:Te,onMouseDown:Te,onClickCapture:X,onMouseDownCapture(W){X(),be(W)},onPointerDownCapture(W){X(),be(W)},onMouseUpCapture:X,onTouchEndCapture:X,onTouchMoveCapture:X}),[J,X,be,Te]);return u.useMemo(()=>i?{reference:ee,floating:ve,trigger:ee}:{},[i,ee,ve])}const K=(e,t,n,r,o,s,...i)=>{if(i.length>0)throw new Error(Cn(1));let c;if(e)c=e;else throw new Error("Missing arguments");return c};var Ct={exports:{}},xt={};var gn;function Uo(){if(gn)return xt;gn=1;var e=Tn();function t(d,p){return d===p&&(d!==0||1/d===1/p)||d!==d&&p!==p}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,s=e.useLayoutEffect,i=e.useDebugValue;function c(d,p){var E=p(),h=r({inst:{value:E,getSnapshot:p}}),m=h[0].inst,g=h[1];return s(function(){m.value=E,m.getSnapshot=p,b(m)&&g({inst:m})},[d,E,p]),o(function(){return b(m)&&g({inst:m}),d(function(){b(m)&&g({inst:m})})},[d]),i(E),E}function b(d){var p=d.getSnapshot;d=d.value;try{var E=p();return!n(d,E)}catch{return!0}}function l(d,p){return p()}var a=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?l:c;return xt.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:a,xt}var hn;function ir(){return hn||(hn=1,Ct.exports=Uo()),Ct.exports}var cr=ir(),Ot={exports:{}},kt={};var mn;function qo(){if(mn)return kt;mn=1;var e=Tn(),t=ir();function n(l,a){return l===a&&(l!==0||1/l===1/a)||l!==l&&a!==a}var r=typeof Object.is=="function"?Object.is:n,o=t.useSyncExternalStore,s=e.useRef,i=e.useEffect,c=e.useMemo,b=e.useDebugValue;return kt.useSyncExternalStoreWithSelector=function(l,a,d,p,E){var h=s(null);if(h.current===null){var m={hasValue:!1,value:null};h.current=m}else m=h.current;h=c(function(){function T(D){if(!R){if(R=!0,N=D,D=p(D),E!==void 0&&m.hasValue){var x=m.value;if(E(x,D))return k=x}return k=D}if(x=k,r(N,D))return x;var C=p(D);return E!==void 0&&E(x,C)?(N=D,x):(N=D,k=C)}var R=!1,N,k,f=d===void 0?null:d;return[function(){return T(a())},f===null?void 0:function(){return T(f())}]},[a,d,p,E]);var g=o(l,h[0],h[1]);return i(function(){m.hasValue=!0,m.value=g},[g]),b(g),g},kt}var bn;function Xo(){return bn||(bn=1,Ot.exports=qo()),Ot.exports}var zo=Xo();const _t=[];let Wt;function Jo(){return Wt}function Zo(e){_t.push(e)}function Qo(e){const t=(n,r)=>{const o=Pe(es).current;let s;try{Wt=o;for(const i of _t)i.before(o);s=e(n,r);for(const i of _t)i.after(o);o.didInitialize=!0}finally{Wt=void 0}return s};return t.displayName=e.displayName||e.name,t}function wi(e){return u.forwardRef(Qo(e))}function es(){return{didInitialize:!1}}const ts=xn(19),ns=ts?os:ss;function ar(e,t,n,r,o){return ns(e,t,n,r,o)}function rs(e,t,n,r,o){const s=u.useCallback(()=>t(e.getSnapshot(),n,r,o),[e,t,n,r,o]);return cr.useSyncExternalStore(e.subscribe,s,s)}Zo({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n<e.syncHooks.length;n+=1){const r=e.syncHooks[n],o=r.selector(r.store.state,r.a1,r.a2,r.a3);(r.didChange||!Object.is(r.value,o))&&(t=!0,r.value=o,r.didChange=!1)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{const n=new Set;for(const o of e.syncHooks)n.add(o.store);const r=[];for(const o of n)r.push(o.subscribe(t));return()=>{for(const o of r)o()}}),cr.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getSnapshot))}});function os(e,t,n,r,o){const s=Jo();if(!s)return rs(e,t,n,r,o);const i=s.syncIndex;s.syncIndex+=1;let c;return s.didInitialize?(c=s.syncHooks[i],(c.store!==e||c.selector!==t||!Object.is(c.a1,n)||!Object.is(c.a2,r)||!Object.is(c.a3,o))&&(c.store!==e&&(s.didChangeStore=!0),c.store=e,c.selector=t,c.a1=n,c.a2=r,c.a3=o,c.didChange=!0)):(c={store:e,selector:t,a1:n,a2:r,a3:o,value:t(e.getSnapshot(),n,r,o),didChange:!1},s.syncHooks.push(c)),c.value}function ss(e,t,n,r,o){return zo.useSyncExternalStoreWithSelector(e.subscribe,e.getSnapshot,e.getSnapshot,s=>t(s,n,r,o))}class is{constructor(t){this.state=t,this.listeners=new Set,this.updateTick=0}subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});getSnapshot=()=>this.state;setState(t){if(this.state===t)return;this.state=t,this.updateTick+=1;const n=this.updateTick;for(const r of this.listeners){if(n!==this.updateTick)return;r(t)}}update(t){for(const n in t)if(!Object.is(this.state[n],t[n])){this.setState({...this.state,...t});return}}set(t,n){Object.is(this.state[t],n)||this.setState({...this.state,[t]:n})}notifyAll(){const t={...this.state};this.setState(t)}use(t,n,r,o){return ar(this,t,n,r,o)}}class cs extends is{constructor(t,n={},r){super(t),this.context=n,this.selectors=r}useSyncedValue(t,n){u.useDebugValue(t),j(()=>{this.state[t]!==n&&this.set(t,n)},[t,n])}useSyncedValueWithCleanup(t,n){const r=this;j(()=>(r.state[t]!==n&&r.set(t,n),()=>{r.set(t,void 0)}),[r,t,n])}useSyncedValues(t){const n=this,r=Object.values(t);j(()=>{n.update(t)},[n,...r])}useControlledProp(t,n){u.useDebugValue(t);const r=n!==void 0;j(()=>{r&&!Object.is(this.state[t],n)&&super.setState({...this.state,[t]:n})},[t,n,r])}select(t,n,r,o){const s=this.selectors[t];return s(this.state,n,r,o)}useState(t,n,r,o){return u.useDebugValue(t),ar(this,this.selectors[t],n,r,o)}useContextCallback(t,n){u.useDebugValue(t);const r=U(n??Vt);this.context[t]=r}useStateSetter(t){const n=u.useRef(void 0);return n.current===void 0&&(n.current=r=>{this.set(t,r)}),n.current}observe(t,n){let r;typeof t=="function"?r=t:r=this.selectors[t];let o=r(this.state);return n(o,o,this),this.subscribe(s=>{const i=r(s);if(!Object.is(o,i)){const c=o;o=i,n(i,c,this)}})}}const as={open:K(e=>e.open),transitionStatus:K(e=>e.transitionStatus),domReferenceElement:K(e=>e.domReferenceElement),referenceElement:K(e=>e.positionReference??e.referenceElement),floatingElement:K(e=>e.floatingElement),floatingId:K(e=>e.floatingId)};class ur extends cs{constructor(t){const{syncOnly:n,nested:r,onOpenChange:o,triggerElements:s,...i}=t;super({...i,positionReference:i.referenceElement,domReferenceElement:i.referenceElement},{onOpenChange:o,dataRef:{current:{}},events:rr(),nested:r,triggerElements:s},as),this.syncOnly=n}syncOpenEvent=(t,n)=>{(!t||!this.state.open||n!=null&&ao(n))&&(this.context.dataRef.current.openEvent=t?n:void 0)};dispatchOpenChange=(t,n)=>{this.syncOpenEvent(t,n.event);const r={open:t,reason:n.reason,nativeEvent:n.event,nested:this.context.nested,triggerElement:n.trigger};this.context.events.emit("openchange",r)};setOpen=(t,n)=>{if(this.syncOnly){this.context.onOpenChange?.(t,n);return}this.dispatchOpenChange(t,n),this.context.onOpenChange?.(t,n)}}function us(e,t){const n=u.useRef(null),r=u.useRef(null);return u.useCallback(o=>{if(e!==void 0){if(n.current!==null){const s=n.current,i=r.current,c=t.context.triggerElements.getById(s);i&&c===i&&t.context.triggerElements.delete(s),n.current=null,r.current=null}o!==null&&(n.current=e,r.current=o,t.context.triggerElements.add(e,o))}},[t,e])}function Ti(e,t,n,r){const o=n.useState("isMountedByTrigger",e),s=us(e,n),i=U(c=>{if(s(c),!c||!n.select("open"))return;const b=n.select("activeTriggerId");if(b===e){n.update({activeTriggerElement:c,...r});return}b==null&&n.update({activeTriggerId:e,activeTriggerElement:c,...r})});return j(()=>{o&&n.update({activeTriggerElement:t.current,...r})},[o,n,t,...Object.values(r)]),{registerTrigger:i,isMountedByThisTrigger:o}}function Ci(e){const t=e.useState("open");j(()=>{if(t&&!e.select("activeTriggerId")&&e.context.triggerElements.size===1){const n=e.context.triggerElements.entries().next();if(!n.done){const[r,o]=n.value;e.update({activeTriggerId:r,activeTriggerElement:o})}}},[t,e])}function xi(e,t,n){const{mounted:r,setMounted:o,transitionStatus:s}=no(e);t.useSyncedValues({mounted:r,transitionStatus:s});const i=U(()=>{o(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)}),c=t.useState("preventUnmountingOnClose");return oo({enabled:!c,open:e,ref:t.context.popupRef,onComplete(){e||i()}}),{forceUnmount:i,transitionStatus:s}}class ls{constructor(){this.elementsSet=new Set,this.idMap=new Map}add(t,n){const r=this.idMap.get(t);r!==n&&(r!==void 0&&this.elementsSet.delete(r),this.elementsSet.add(n),this.idMap.set(t,n))}delete(t){const n=this.idMap.get(t);n&&(this.elementsSet.delete(n),this.idMap.delete(t))}hasElement(t){return this.elementsSet.has(t)}hasMatchingElement(t){for(const n of this.elementsSet)if(t(n))return!0;return!1}getById(t){return this.idMap.get(t)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}}function fs(){return new ur({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new ls,floatingId:"",syncOnly:!1,nested:!1,onOpenChange:void 0})}function Oi(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:fs(),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:_e,inactiveTriggerProps:_e,popupProps:_e}}const tt=K(e=>e.triggerIdProp??e.activeTriggerId),ki={open:K(e=>e.openProp??e.open),mounted:K(e=>e.mounted),transitionStatus:K(e=>e.transitionStatus),floatingRootContext:K(e=>e.floatingRootContext),preventUnmountingOnClose:K(e=>e.preventUnmountingOnClose),payload:K(e=>e.payload),activeTriggerId:tt,activeTriggerElement:K(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:K((e,t)=>t!==void 0&&tt(e)===t),isOpenedByTrigger:K((e,t)=>t!==void 0&&tt(e)===t&&e.open),isMountedByTrigger:K((e,t)=>t!==void 0&&tt(e)===t&&e.mounted),triggerProps:K((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:K(e=>e.popupProps),popupElement:K(e=>e.popupElement),positionerElement:K(e=>e.positionerElement)};function Pi(e){const{popupStore:t,treatPopupAsFloatingElement:n=!1,onOpenChange:r}=e,o=qe(),s=ut()!=null,i=t.useState("open"),c=t.useState("activeTriggerElement"),b=t.useState(n?"popupElement":"positionerElement"),l=t.context.triggerElements,a=Pe(()=>new ur({open:i,transitionStatus:void 0,referenceElement:c,floatingElement:b,triggerElements:l,onOpenChange:r,floatingId:o,syncOnly:!0,nested:s})).current;return j(()=>{const d={open:i,floatingId:o,referenceElement:c,floatingElement:b};Re(c)&&(d.domReferenceElement=c),a.state.positionReference===a.state.referenceElement&&(d.positionReference=c),a.update(d)},[i,o,c,b,a]),a.context.onOpenChange=r,a.context.nested=s,a}function vi(e=[]){const t=e.map(l=>l?.reference),n=e.map(l=>l?.floating),r=e.map(l=>l?.item),o=e.map(l=>l?.trigger),s=u.useCallback(l=>nt(l,e,"reference"),t),i=u.useCallback(l=>nt(l,e,"floating"),n),c=u.useCallback(l=>nt(l,e,"item"),r),b=u.useCallback(l=>nt(l,e,"trigger"),o);return u.useMemo(()=>({getReferenceProps:s,getFloatingProps:i,getItemProps:c,getTriggerProps:b}),[s,i,c,b])}function nt(e,t,n){const r=new Map,o=n==="item",s={};n==="floating"&&(s.tabIndex=-1,s[vt]="");for(const i in e)o&&e&&(i===Wn||i===Vn)||(s[i]=e[i]);for(let i=0;i<t.length;i+=1){let c;const b=t[i]?.[n];typeof b=="function"?c=e?b(e):null:c=b,c&&yn(s,c,o,r)}return yn(s,e,o,r),s}function yn(e,t,n,r){for(const o in t){const s=t[o];n&&(o===Wn||o===Vn)||(o.startsWith("on")?(r.has(o)||r.set(o,[]),typeof s=="function"&&(r.get(o)?.push(s),e[o]=(...i)=>r.get(o)?.map(c=>c(...i)).find(c=>c!==void 0))):e[o]=s)}}const ds=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Ii(e,t={}){const n="rootStore"in e?e.rootStore:e,r=n.useState("open"),o=n.useState("floatingId"),s=n.useState("domReferenceElement"),i=n.useState("floatingElement"),{role:c="dialog"}=t,b=qe(),l=s?.id||b,a=u.useMemo(()=>It(i)?.id||o,[i,o]),d=ds.get(c)??c,E=ut()!=null,h=u.useMemo(()=>d==="tooltip"||c==="label"?_e:{"aria-haspopup":d==="alertdialog"?"dialog":d,"aria-expanded":"false",...d==="listbox"&&{role:"combobox"},...d==="menu"&&E&&{role:"menuitem"},...c==="select"&&{"aria-autocomplete":"none"},...c==="combobox"&&{"aria-autocomplete":"list"}},[d,E,c]),m=u.useMemo(()=>d==="tooltip"||c==="label"?{[`aria-${c==="label"?"labelledby":"describedby"}`]:r?a:void 0}:{...h,"aria-expanded":r?"true":"false","aria-controls":r?a:void 0,...d==="menu"&&{id:l}},[d,a,r,l,c,h]),g=u.useMemo(()=>{const R={id:a,...d&&{role:d}};return d==="tooltip"||c==="label"?R:{...R,...d==="menu"&&{"aria-labelledby":l}}},[d,a,l,c]),T=u.useCallback(({active:R,selected:N})=>{const k={role:"option",...R&&{id:`${a}-fui-option`}};switch(c){case"select":case"combobox":return{...k,"aria-selected":N}}return{}},[a,c]);return u.useMemo(()=>({reference:m,floating:g,item:T,trigger:h}),[m,g,h,T])}const lr="ArrowUp",fr="ArrowDown",dr="ArrowLeft",pr="ArrowRight",gr="Home",hr="End",ps=new Set([dr,pr]),gs=new Set([lr,fr]),hs=new Set([...ps,...gs]);[...hs];const Ai=new Set([lr,fr,dr,pr,gr,hr]);function Mi(e){return xn(19)?e:e?"true":void 0}const Di=u.forwardRef(function(t,n){const{cutout:r,...o}=t;let s;if(r){const i=r.getBoundingClientRect();s=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${i.left}px ${i.top}px,${i.left}px ${i.bottom}px,${i.right}px ${i.bottom}px,${i.right}px ${i.top}px,${i.left}px ${i.top}px)`}return ue.jsx("div",{ref:n,role:"presentation","data-base-ui-inert":"",...o,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:s}})});let En={},Sn={},Rn="";function ms(e){if(typeof document>"u")return!1;const t=q(e);return he(t).innerWidth-t.documentElement.clientWidth>0}function bs(e){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;const n=q(e),r=n.documentElement,o=n.body,s=Ke(r)?r:o,i=s.style.overflowY,c=r.style.scrollbarGutter;r.style.scrollbarGutter="stable",s.style.overflowY="scroll";const b=s.offsetWidth;s.style.overflowY="hidden";const l=s.offsetWidth;return s.style.overflowY=i,r.style.scrollbarGutter=c,b===l}function ys(e){const t=q(e),n=t.documentElement,r=t.body,o=Ke(n)?n:r,s={overflowY:o.style.overflowY,overflowX:o.style.overflowX};return Object.assign(o.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(o.style,s)}}function Es(e){const t=q(e),n=t.documentElement,r=t.body,o=he(n);let s=0,i=0,c=!1;const b=ge.create();if(Mn&&(o.visualViewport?.scale??1)!==1)return()=>{};function l(){const E=o.getComputedStyle(n),h=o.getComputedStyle(r),T=(E.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";s=n.scrollTop,i=n.scrollLeft,En={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},Rn=n.style.scrollBehavior,Sn={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};const R=n.scrollHeight>n.clientHeight,N=n.scrollWidth>n.clientWidth,k=E.overflowY==="scroll"||h.overflowY==="scroll",f=E.overflowX==="scroll"||h.overflowX==="scroll",D=Math.max(0,o.innerWidth-r.clientWidth),x=Math.max(0,o.innerHeight-r.clientHeight),C=parseFloat(h.marginTop)+parseFloat(h.marginBottom),F=parseFloat(h.marginLeft)+parseFloat(h.marginRight),v=Ke(n)?n:r;if(c=bs(e),c){n.style.scrollbarGutter=T,v.style.overflowY="hidden",v.style.overflowX="hidden";return}Object.assign(n.style,{scrollbarGutter:T,overflowY:"hidden",overflowX:"hidden"}),(R||k)&&(n.style.overflowY="scroll"),(N||f)&&(n.style.overflowX="scroll"),Object.assign(r.style,{position:"relative",height:C||x?`calc(100dvh - ${C+x}px)`:"100dvh",width:F||D?`calc(100vw - ${F+D}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),r.scrollTop=s,r.scrollLeft=i,n.setAttribute("data-base-ui-scroll-locked",""),n.style.scrollBehavior="unset"}function a(){Object.assign(n.style,En),Object.assign(r.style,Sn),c||(n.scrollTop=s,n.scrollLeft=i,n.removeAttribute("data-base-ui-scroll-locked"),n.style.scrollBehavior=Rn)}function d(){a(),b.request(l)}l();const p=H(o,"resize",d);return()=>{b.cancel(),a(),typeof o.removeEventListener=="function"&&p()}}class Ss{lockCount=0;restore=null;timeoutLock=ke.create();timeoutUnlock=ke.create();acquire(t){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(t)),this.release}release=()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(t){if(this.lockCount===0||this.restore!==null)return;const r=q(t).documentElement,o=he(r).getComputedStyle(r).overflowY;if(o==="hidden"||o==="clip"){this.restore=Vt;return}const s=Dn||!ms(t);this.restore=s?ys(t):Es(t)}}const Rs=new Ss;function Fi(e=!0,t=null){j(()=>{if(e)return Rs.acquire(t)},[e,t])}function Ni(e){const t=u.useRef(!0);t.current&&(t.current=!1,e())}function ws(e){const t=u.useRef(""),n=u.useCallback(o=>{o.defaultPrevented||(t.current=o.pointerType,e(o,o.pointerType))},[e]);return{onClick:u.useCallback(o=>{if(o.detail===0){e(o,"keyboard");return}"pointerType"in o?e(o,o.pointerType):e(o,t.current),t.current=""},[e]),onPointerDown:n}}function Ts(e,t){const n=u.useRef(e),r=U(t);j(()=>{n.current!==e&&r(n.current)},[e,r]),j(()=>{n.current=e},[e])}function _i(e){const[t,n]=u.useState(null),r=U((i,c)=>{e||n(c||(Dn?"touch":""))});Ts(e,i=>{i&&!e&&n(null)});const{onClick:o,onPointerDown:s}=ws(r);return u.useMemo(()=>({openMethod:t,triggerProps:{onClick:o,onPointerDown:s}}),[t,o,s])}export{ls as $,Us as A,So as B,zs as C,Eo as D,Zt as E,Re as F,Wr as G,Xs as H,he as I,Yr as J,Ue as K,bt as L,oe as M,qs as N,Pn as O,Vr as P,ot as Q,je as R,Ws as S,Br as T,Vs as U,ce as V,Ke as W,Hs as X,qe as Y,ut as Z,ur as _,As as a,Ni as a$,$t as a0,We as a1,Xr as a2,H as a3,ct as a4,xe as a5,q as a6,B as a7,$s as a8,Is as a9,kn as aA,io as aB,co as aC,po as aD,Yt as aE,pi as aF,oo as aG,On as aH,Si as aI,vs as aJ,ks as aK,Ai as aL,mi as aM,Fi as aN,gi as aO,ro as aP,hi as aQ,Di as aR,Mi as aS,yi as aT,Ns as aU,cs as aV,ki as aW,Lo as aX,Oi as aY,K as aZ,Qo as a_,Ks as aa,Dr as ab,Nn as ac,ke as ad,U as ae,Gs as af,Mr as ag,Ve as ah,gt as ai,It as aj,tn as ak,Et as al,on as am,ri as an,oi as ao,rt as ap,Ds as aq,ii as ar,Dt as as,si as at,ci as au,go as av,ht as aw,mt as ax,ai as ay,de as az,j as b,bi as b0,_i as b1,Ci as b2,xi as b3,_s as b4,Pi as b5,Ri as b6,Ii as b7,fi as b8,vi as b9,Ei as ba,Kr as bb,li as bc,$e as bd,ui as be,Jn as bf,wi as bg,Ti as bh,Fs as bi,Ps as bj,it as bk,di as bl,Ms as bm,Lt as bn,Ys as c,js as d,_n as e,st as f,ao as g,Ne as h,Bs as i,Oe as j,Ln as k,Js as l,Bn as m,Ro as n,Mt as o,Qs as p,ei as q,Zs as r,Yn as s,Jt as t,Ls as u,mo as v,bo as w,wo as x,ti as y,ni as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as f,B as N,t as P,p as a}from"./chunk-
|
|
1
|
+
import{A as f,B as N,t as P,p as a}from"./chunk-EVOBXE3Y-CmKRT32p.js";import{C as u,a as T,b,c as w}from"./button-CudTDtZF.js";import{B as C}from"./badge-to3cY6Nn.js";import{T as S,a as E,b as l,c as o,d as W,e as r}from"./table-CV0K56fY.js";import{P as B}from"./pagination-DCEs769S.js";import{F as R}from"./filter-select-07am_j5T.js";import{E as k}from"./error-card--OB_TuOC.js";import{o as A,p as _,q as D,W as F,b as I}from"./db-link-BzIwSws3.js";const M=N(function(){return a.jsx(k,{title:"Failed to load warnings",backTo:{href:"/",label:"Back to Dashboard"}})}),V=f(function({loaderData:p}){const{warnings:d,totalCount:x,page:i,totalPages:m,typeFilter:c}=p,[h,g]=P(),j=(e,s)=>{const n=new URLSearchParams(h);s?n.set(e,s):n.delete(e),n.delete("page"),g(n)},y=e=>{const s=new URLSearchParams(h);s.set("page",e.toString()),g(s)};return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-bold text-gray-900 dark:text-gray-100",children:"Warnings"}),a.jsxs("p",{className:"mt-1 text-sm text-gray-500 dark:text-gray-400",children:[x.toLocaleString()," warning",x!==1?"s":""," recorded"]})]}),a.jsxs(u,{children:[a.jsxs(T,{className:"flex flex-row items-center justify-between",children:[a.jsx(b,{children:"Warning History"}),a.jsx(R,{value:c,options:A,onChange:e=>j("type",e)})]}),a.jsx(w,{className:"p-0",children:a.jsxs(S,{children:[a.jsx(E,{children:a.jsxs(l,{children:[a.jsx(o,{children:"Type"}),a.jsx(o,{children:"Message"}),a.jsx(o,{children:"Details"}),a.jsx(o,{children:"Time"})]})}),a.jsx(W,{children:d.length===0?a.jsx(l,{children:a.jsx(r,{className:"text-center text-gray-500 dark:text-gray-400 py-8",colSpan:4,children:c?`No ${c.replace("_"," ")} warnings found`:"No warnings recorded. Enable persistWarnings in pg-boss config to capture warnings."})}):d.map(e=>a.jsxs(l,{children:[a.jsx(r,{children:a.jsx(L,{type:e.type})}),a.jsx(r,{className:"text-gray-900 dark:text-gray-100 max-w-md truncate",children:e.message}),a.jsx(r,{className:"font-mono text-xs text-gray-500 dark:text-gray-400 max-w-xs truncate",children:_(e.data)}),a.jsx(r,{className:"text-gray-500 dark:text-gray-400 whitespace-nowrap",children:D(new Date(e.createdOn))})]},e.id))})]})}),a.jsx(B,{page:i,totalPages:m,hasNextPage:i<m,hasPrevPage:i>1,onPageChange:y})]})]})});function L({type:t}){return a.jsx(C,{variant:I[t],size:"sm",children:F[t]})}export{M as ErrorBoundary,V as default};
|
|
@@ -1906,7 +1906,7 @@ function deleteJobsById(schema, table) {
|
|
|
1906
1906
|
WITH results as (
|
|
1907
1907
|
DELETE FROM ${schema}.${table}
|
|
1908
1908
|
WHERE name = $1
|
|
1909
|
-
AND id IN (SELECT UNNEST($2::uuid[]))
|
|
1909
|
+
AND id IN (SELECT UNNEST($2::uuid[]))
|
|
1910
1910
|
RETURNING 1
|
|
1911
1911
|
)
|
|
1912
1912
|
SELECT COUNT(*) from results
|
|
@@ -2057,34 +2057,38 @@ function fetchNextJob(options) {
|
|
|
2057
2057
|
const hasMaxPriority = maxPriority != null;
|
|
2058
2058
|
const hasTiers = hasGroupConcurrency && typeof groupConcurrency === "object" && groupConcurrency.tiers && Object.keys(groupConcurrency.tiers).length > 0;
|
|
2059
2059
|
const params = buildFetchParams(options);
|
|
2060
|
-
const whereConditions = [
|
|
2061
|
-
`name = '${name}'`,
|
|
2062
|
-
`state < '${JOB_STATES.active}'`,
|
|
2063
|
-
!ignoreStartAfter ? "start_after < now()" : "",
|
|
2064
|
-
hasIgnoreSingletons ? `singleton_key <> ALL(${params.ignoreSingletonsParam})` : "",
|
|
2065
|
-
hasIgnoreGroups ? `(group_id IS NULL OR group_id <> ALL(${params.ignoreGroupsParam}))` : "",
|
|
2066
|
-
hasMinPriority ? `priority >= ${params.minPriorityParam}` : "",
|
|
2067
|
-
hasMaxPriority ? `priority <= ${params.maxPriorityParam}` : ""
|
|
2068
|
-
].filter(Boolean).join(" AND ");
|
|
2069
2060
|
const selectCols = [
|
|
2070
|
-
"id",
|
|
2071
|
-
singletonFetch ? "singleton_key" : "",
|
|
2072
|
-
hasGroupConcurrency ? "group_id, group_tier" : ""
|
|
2061
|
+
"j.id",
|
|
2062
|
+
singletonFetch ? "j.singleton_key" : "",
|
|
2063
|
+
hasGroupConcurrency ? "j.group_id, j.group_tier" : ""
|
|
2073
2064
|
].filter(Boolean).join(", ");
|
|
2074
|
-
const activeGroupCountsCte = hasGroupConcurrency ? `active_group_counts AS (
|
|
2065
|
+
const activeGroupCountsCte = hasGroupConcurrency ? `active_group_counts AS MATERIALIZED (
|
|
2075
2066
|
SELECT group_id, COUNT(*)::int as active_cnt
|
|
2076
2067
|
FROM ${schema}.${table}
|
|
2077
2068
|
WHERE name = '${name}' AND state = '${JOB_STATES.active}' AND group_id IS NOT NULL
|
|
2078
2069
|
GROUP BY group_id
|
|
2079
2070
|
), ` : "";
|
|
2071
|
+
const whereConditions = [
|
|
2072
|
+
`j.name = '${name}'`,
|
|
2073
|
+
`j.state < '${JOB_STATES.active}'`,
|
|
2074
|
+
!ignoreStartAfter ? "j.start_after < now()" : "",
|
|
2075
|
+
hasIgnoreSingletons ? `j.singleton_key <> ALL(${params.ignoreSingletonsParam})` : "",
|
|
2076
|
+
hasIgnoreGroups ? `(j.group_id IS NULL OR j.group_id <> ALL(${params.ignoreGroupsParam}))` : "",
|
|
2077
|
+
hasMinPriority ? `j.priority >= ${params.minPriorityParam}` : "",
|
|
2078
|
+
hasMaxPriority ? `j.priority <= ${params.maxPriorityParam}` : "",
|
|
2079
|
+
hasGroupConcurrency ? `(j.group_id IS NULL
|
|
2080
|
+
OR agc.active_cnt IS NULL
|
|
2081
|
+
OR agc.active_cnt < ${hasTiers ? `COALESCE((${params.tiersParam} ->> j.group_tier)::int, ${params.defaultGroupLimitParam})` : params.defaultGroupLimitParam})` : ""
|
|
2082
|
+
].filter(Boolean).join("\n AND ");
|
|
2080
2083
|
const nextCte = `
|
|
2081
2084
|
next AS (
|
|
2082
2085
|
SELECT ${selectCols}
|
|
2083
|
-
FROM ${schema}.${table}
|
|
2086
|
+
FROM ${schema}.${table} j
|
|
2087
|
+
${hasGroupConcurrency ? "LEFT JOIN active_group_counts agc ON j.group_id = agc.group_id" : ""}
|
|
2084
2088
|
WHERE ${whereConditions}
|
|
2085
|
-
ORDER BY ${priority ? "priority desc, " : ""}${orderByCreatedOn ? "created_on, " : ""}id
|
|
2089
|
+
ORDER BY ${priority ? "j.priority desc, " : ""}${orderByCreatedOn ? "j.created_on, " : ""}j.id
|
|
2086
2090
|
LIMIT ${limit}
|
|
2087
|
-
FOR UPDATE SKIP LOCKED
|
|
2091
|
+
FOR UPDATE OF j SKIP LOCKED
|
|
2088
2092
|
)`;
|
|
2089
2093
|
const singletonCte = singletonFetch ? `, singleton_ranking AS (
|
|
2090
2094
|
SELECT id, ${hasGroupConcurrency ? "group_id, group_tier, " : ""}
|
|
@@ -4252,7 +4256,7 @@ class Manager extends EventEmitter {
|
|
|
4252
4256
|
this.db = db;
|
|
4253
4257
|
this.wipTs = Date.now();
|
|
4254
4258
|
this.workers = /* @__PURE__ */ new Map();
|
|
4255
|
-
this.queues =
|
|
4259
|
+
this.queues = {};
|
|
4256
4260
|
this.pendingOffWorkCleanups = /* @__PURE__ */ new Set();
|
|
4257
4261
|
this.#spies = /* @__PURE__ */ new Map();
|
|
4258
4262
|
this.#localGroupActive = /* @__PURE__ */ new Map();
|
|
@@ -9897,7 +9901,7 @@ const route11 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
9897
9901
|
default: warnings,
|
|
9898
9902
|
loader
|
|
9899
9903
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
9900
|
-
const serverManifest = { "entry": { "module": "/assets/entry.client-
|
|
9904
|
+
const serverManifest = { "entry": { "module": "/assets/entry.client-B-bLoJqf.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/index-By5u-yQ6.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/root-Cubm0m9Y.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/index-By5u-yQ6.js", "/assets/db-link-BzIwSws3.js", "/assets/createLucideIcon-C5Bm8BOS.js", "/assets/MenuTrigger-BUdpY9vj.js", "/assets/useOpenInteractionType-C7OfDyTB.js"], "css": ["/assets/root-Bpb4WtY4.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_index": { "id": "routes/_index", "parentId": "root", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/_index-DXfER9RD.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/badge-to3cY6Nn.js", "/assets/table-CV0K56fY.js", "/assets/error-card--OB_TuOC.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/jobs": { "id": "routes/jobs", "parentId": "root", "path": "jobs", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/jobs-Gp0x24mG.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/badge-to3cY6Nn.js", "/assets/table-CV0K56fY.js", "/assets/pagination-DCEs769S.js", "/assets/filter-select-07am_j5T.js", "/assets/error-card--OB_TuOC.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/queues._index": { "id": "routes/queues._index", "parentId": "root", "path": "queues", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/queues._index-DxMtAiK3.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/badge-to3cY6Nn.js", "/assets/filter-select-07am_j5T.js", "/assets/table-CV0K56fY.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/queues.create": { "id": "routes/queues.create", "parentId": "root", "path": "queues/create", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/queues.create-aEr8z6Lt.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/chevron-down-ClrMXFFn.js", "/assets/error-card--OB_TuOC.js", "/assets/createLucideIcon-C5Bm8BOS.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/queues.$name": { "id": "routes/queues.$name", "parentId": "root", "path": "queues/:name", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/queues._name-DqI0ZH4S.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/badge-to3cY6Nn.js", "/assets/table-CV0K56fY.js", "/assets/pagination-DCEs769S.js", "/assets/filter-select-07am_j5T.js", "/assets/dialog-BBFR7NS6.js", "/assets/error-card--OB_TuOC.js", "/assets/chevron-down-ClrMXFFn.js", "/assets/createLucideIcon-C5Bm8BOS.js", "/assets/MenuTrigger-BUdpY9vj.js", "/assets/useOpenInteractionType-C7OfDyTB.js", "/assets/index-By5u-yQ6.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/queues.$name.jobs.$jobId": { "id": "routes/queues.$name.jobs.$jobId", "parentId": "root", "path": "queues/:name/jobs/:jobId", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/queues._name.jobs._jobId-BEwVDYH6.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/badge-to3cY6Nn.js", "/assets/dialog-BBFR7NS6.js", "/assets/error-card--OB_TuOC.js", "/assets/createLucideIcon-C5Bm8BOS.js", "/assets/useOpenInteractionType-C7OfDyTB.js", "/assets/index-By5u-yQ6.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/schedules": { "id": "routes/schedules", "parentId": "root", "path": "schedules", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/schedules-BacoSVY9.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/table-CV0K56fY.js", "/assets/pagination-DCEs769S.js", "/assets/error-card--OB_TuOC.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/schedules.$name.$key": { "id": "routes/schedules.$name.$key", "parentId": "root", "path": "schedules/:name/:key", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/schedules._name._key-zuc0HZqU.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/dialog-BBFR7NS6.js", "/assets/error-card--OB_TuOC.js", "/assets/createLucideIcon-C5Bm8BOS.js", "/assets/useOpenInteractionType-C7OfDyTB.js", "/assets/index-By5u-yQ6.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/schedules.new": { "id": "routes/schedules.new", "parentId": "root", "path": "schedules/new", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/schedules.new-CrK1w4GF.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/error-card--OB_TuOC.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/send": { "id": "routes/send", "parentId": "root", "path": "send", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/send-wPFbslqy.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/db-link-BzIwSws3.js", "/assets/button-CudTDtZF.js", "/assets/error-card--OB_TuOC.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/warnings": { "id": "routes/warnings", "parentId": "root", "path": "warnings", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasDefaultExport": true, "hasErrorBoundary": true, "module": "/assets/warnings-DLjttltF.js", "imports": ["/assets/chunk-EVOBXE3Y-CmKRT32p.js", "/assets/button-CudTDtZF.js", "/assets/badge-to3cY6Nn.js", "/assets/table-CV0K56fY.js", "/assets/pagination-DCEs769S.js", "/assets/filter-select-07am_j5T.js", "/assets/error-card--OB_TuOC.js", "/assets/db-link-BzIwSws3.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 } }, "url": "/assets/manifest-560249af.js", "version": "560249af", "sri": void 0 };
|
|
9901
9905
|
const assetsBuildDirectory = "build/client";
|
|
9902
9906
|
const basename = "/";
|
|
9903
9907
|
const future = { "unstable_optimizeDeps": false, "unstable_passThroughRequests": false, "unstable_subResourceIntegrity": false, "unstable_trailingSlashAwareDataRequests": false, "unstable_previewServerPrerendering": false, "v8_middleware": false, "v8_splitRouteModules": false, "v8_viteEnvironmentApi": false };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pg-boss/dashboard",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "Web dashboard for monitoring and managing pg-boss job queues",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pg-boss",
|
|
@@ -41,30 +41,30 @@
|
|
|
41
41
|
"ci": "npm run typecheck && npm run cover:frontend && cross-env DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/pgboss npm run cover:server"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@base-ui/react": "^1.
|
|
44
|
+
"@base-ui/react": "^1.4.1",
|
|
45
45
|
"@hono/node-server": "^1.19.12",
|
|
46
46
|
"@react-router/node": "^7.13.0",
|
|
47
47
|
"class-variance-authority": "^0.7.1",
|
|
48
48
|
"clsx": "^2.1.1",
|
|
49
|
-
"hono": "^4.12.
|
|
50
|
-
"isbot": "^5.1.
|
|
49
|
+
"hono": "^4.12.14",
|
|
50
|
+
"isbot": "^5.1.39",
|
|
51
51
|
"lucide-react": "^0.575.0",
|
|
52
52
|
"pg": "^8.20.0",
|
|
53
|
-
"pg-boss": "^12.
|
|
54
|
-
"react": "^19.2.
|
|
55
|
-
"react-dom": "^19.2.
|
|
53
|
+
"pg-boss": "^12.16.0",
|
|
54
|
+
"react": "^19.2.5",
|
|
55
|
+
"react-dom": "^19.2.5",
|
|
56
56
|
"react-router": "^7.13.0",
|
|
57
|
-
"react-router-hono-server": "^2.25.
|
|
57
|
+
"react-router-hono-server": "^2.25.3",
|
|
58
58
|
"tailwind-merge": "^3.5.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@react-router/dev": "^7.
|
|
62
|
-
"@tailwindcss/vite": "^4.2.
|
|
61
|
+
"@react-router/dev": "^7.14.2",
|
|
62
|
+
"@tailwindcss/vite": "^4.2.4",
|
|
63
63
|
"@testing-library/dom": "^10.4.1",
|
|
64
64
|
"@testing-library/jest-dom": "^6.9.1",
|
|
65
65
|
"@testing-library/react": "^16.3.2",
|
|
66
66
|
"@testing-library/user-event": "^14.6.1",
|
|
67
|
-
"@types/node": "^22.19.
|
|
67
|
+
"@types/node": "^22.19.17",
|
|
68
68
|
"@types/pg": "^8.20.0",
|
|
69
69
|
"@types/react": "^19.2.14",
|
|
70
70
|
"@types/react-dom": "^19.2.3",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"tailwindcss": "^4.1.18",
|
|
76
76
|
"tsx": "^4.21.0",
|
|
77
77
|
"typescript": "^5.9.3",
|
|
78
|
-
"vite": "^7.3.
|
|
78
|
+
"vite": "^7.3.2",
|
|
79
79
|
"vitest": "^4.0.18"
|
|
80
80
|
},
|
|
81
81
|
"repository": {
|