mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-26 18:12:51 +08:00
3 lines
38 KiB
JavaScript
3 lines
38 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Arrange-C-Cvg5Lz.js","./vendor-react-Bf71BWbF.js","./index-zQjLFfuj.js","./index-CszNs-yj.css","./Virtualizer-CTh266-x.js","./ListLayout-DU_9AgrU.js","./DaeCode-B4MDdwFy.js","./policyText-IIH31itq.js","./PolicyPicker-iyQz7WhP.js","./useFilter-BYneYrGs.js","./useGridSelectionCheckbox-BK6qtlfZ.js","./Arrange-Dd3j3leY.css"])))=>i.map(i=>d[i]);
|
|
import{bp as Ye,bq as Qe,br as Je,bs as pe,bt as te,bu as we,bv as Ze,bw as et,bx as tt,by as rt,bz as De,bA as ie,bB as oe,bC as me,bD as G,bE as q,bF as X,bG as ee,bH as at,bI as ne,bJ as Ae,bK as it,bL as ot,bM as Re,bN as nt,bO as de,bP as fe,bQ as Ke,bR as ue,bS as lt,bT as xe,bU as Pe,bV as he,bW as be,bX as Fe,bY as st,bZ as ct,b_ as dt,b$ as He,c0 as ut,c1 as pt,c2 as le,c3 as ft,c4 as ht,c5 as bt,c6 as mt,c7 as gt,c8 as yt,c9 as vt,ca as xt,cb as $t,cc as kt,cd as wt,ce as Pt,a as ce,cf as It,V as St,aU as Oe,cg as Dt,aI as Et,y as Mt,ch as jt,aE as Ct,W as Nt,u as V,X as Tt,_ as _t,a8 as $e,ci as Lt,cj as ge,bd as ye,T as Ie,b9 as zt,ck as At,cl as Be,M as Ve,I as Rt,B as A,a7 as Kt,aV as Ft,$ as Ht,a3 as Ot,a1 as Ee,a2 as Bt,cm as Vt,cn as Gt,z as Ut,b4 as Wt,b5 as qt,bi as Xt,co as Ge,G as Yt,b0 as U,cp as Qt,cq as Jt,cr as Zt,E as Ue,b as Me,cs as er,bc as tr,ax as rr,ct as ar,cu as ir,ay as or,at as se,bo as nr,cv as lr,au as sr,aS as cr}from"./index-zQjLFfuj.js";import{r as b,$ as P,j as n}from"./vendor-react-Bf71BWbF.js";import{$ as dr,a as ur,b as pr,c as fr,d as hr}from"./useGridSelectionCheckbox-BK6qtlfZ.js";import{$ as br,a as B,b as ve,c as Q,d as mr}from"./Virtualizer-CTh266-x.js";import{$ as gr}from"./useFilter-BYneYrGs.js";import{g as yr,a as vr}from"./policyText-IIH31itq.js";import{P as xr}from"./PolicyPicker-iyQz7WhP.js";const Se=new WeakMap;function ke(a,t){let{id:e}=Se.get(a)??{};if(!e)throw new Error("Unknown list");return`${e}-${$r(t)}`}function $r(a){return typeof a=="string"?a.replace(/\s*/g,""):""+a}function kr(a,t,e){let{isVirtualized:r,keyboardDelegate:i,layoutDelegate:l,onAction:s,disallowTypeAhead:d,linkBehavior:o="action",keyboardNavigationBehavior:c="arrow",escapeKeyBehavior:p="clearSelection",shouldSelectOnPressUp:m}=a;!a["aria-label"]&&!a["aria-labelledby"]&&console.warn("An aria-label or aria-labelledby prop is required for accessibility.");let{listProps:v}=Ye({selectionManager:t.selectionManager,collection:t.collection,disabledKeys:t.disabledKeys,ref:e,keyboardDelegate:i,layoutDelegate:l,isVirtualized:r,selectOnFocus:t.selectionManager.selectionBehavior==="replace",shouldFocusWrap:a.shouldFocusWrap,linkBehavior:o,disallowTypeAhead:d,autoFocus:a.autoFocus,escapeKeyBehavior:p,UNSTABLE_focusOnEntry:a.UNSTABLE_focusOnEntry}),h=Qe(a.id);Se.set(t,{id:h,onAction:s,linkBehavior:o,keyboardNavigationBehavior:c,shouldSelectOnPressUp:m});let f=dr({selectionManager:t.selectionManager,hasItemActions:!!s}),x=Je(e,{isDisabled:t.collection.size!==0}),g=pe(a,{labelable:!0}),k=te(g,{role:"grid",id:h,"aria-multiselectable":t.selectionManager.selectionMode==="multiple"?"true":void 0},t.collection.size===0?{tabIndex:x?-1:0}:v,f);return r&&(k["aria-rowcount"]=t.collection.size,k["aria-colcount"]=1),ur({},t),{gridProps:k}}const je={expand:{ltr:"ArrowRight",rtl:"ArrowLeft"},collapse:{ltr:"ArrowLeft",rtl:"ArrowRight"}};function wr(a,t,e){let{node:r,isVirtualized:i,focusMode:l="row",allowsArrowNavigation:s}=a,{direction:d}=we(),{onAction:o,linkBehavior:c,keyboardNavigationBehavior:p,shouldSelectOnPressUp:m}=Se.get(t),v=Ze(),h=b.useRef(null),f=()=>{if(e.current!==null){if(l==="child"){if(De(e.current)&&e.current!==ie(oe(e.current)))return;let I=me(e.current,{tabbable:!0}).firstChild();if(I){G(I),q(I,{containingElement:X(I)});return}}(h.current!=null&&r.key!==h.current||!De(e.current))&&G(e.current)}},x={},g=a.hasChildItems,k=t.selectionManager.isLink(r.key);if(r!=null&&"expandedKeys"in t){let u=t.collection.getChildren?.(r.key);g=g||[...u??[]].length>1,o==null&&!k&&t.selectionManager.selectionMode==="none"&&g&&(o=()=>t.toggleKey(r.key));let I=g?t.expandedKeys.has(r.key):void 0,w=1,D=r.index;if(r.level>=0&&r?.parentKey!=null){let E=t.collection.getItem(r.parentKey);if(E){let R=Pr(E,t.collection);w=[...R].filter(K=>K.type==="item").length,D>0&&R[0].type!=="item"&&(D-=1)}}else w=[...t.collection].filter(E=>E.level===0&&E.type==="item").length;x={"aria-expanded":I,"aria-level":r.level+1,"aria-posinset":D+1,"aria-setsize":w}}let{itemProps:j,...T}=et({selectionManager:t.selectionManager,key:r.key,ref:e,isVirtualized:i,shouldSelectOnPressUp:a.shouldSelectOnPressUp||m,onAction:o||r.props?.onAction?tt(r.props?.onAction,o?()=>o(r.key):void 0):void 0,focus:f,linkBehavior:c}),N=u=>{let I=ie(oe(e.current));if(!ne(u.currentTarget,ee(u))||!e.current||!I)return;let w=me(e.current);if(w.currentNode=I,!Ce(u,t,r,g,d,I,e.current,s))switch(u.key){case"ArrowLeft":if(p==="arrow"){let D=d==="rtl"?w.nextNode():w.previousNode();if(D)u.preventDefault(),u.stopPropagation(),G(D),q(D,{containingElement:X(e.current)});else if(u.preventDefault(),u.stopPropagation(),d==="rtl")G(e.current),q(e.current,{containingElement:X(e.current)});else{w.currentNode=e.current;let E=Ne(w);E&&(G(E),q(E,{containingElement:X(e.current)}))}}break;case"ArrowRight":if(p==="arrow"){let D=d==="rtl"?w.previousNode():w.nextNode();if(D)u.preventDefault(),u.stopPropagation(),G(D),q(D,{containingElement:X(e.current)});else if(u.preventDefault(),u.stopPropagation(),d==="ltr")G(e.current),q(e.current,{containingElement:X(e.current)});else{w.currentNode=e.current;let E=Ne(w);E&&(G(E),q(E,{containingElement:X(e.current)}))}}break;case"ArrowUp":case"ArrowDown":!u.altKey&&ne(e.current,ee(u))&&(u.stopPropagation(),u.preventDefault(),e.current.parentElement?.dispatchEvent(new KeyboardEvent(u.nativeEvent.type,u.nativeEvent)));break}},$=u=>{if(h.current=r.key,ee(u)!==e.current){at()||t.selectionManager.setFocusedKey(r.key);return}l==="child"&&u.relatedTarget&&ne(e.current,u.relatedTarget)||requestAnimationFrame(()=>{l==="child"&&ie(oe(e.current))===e.current&&f()})},y=u=>{let I=ie(oe(e.current));if(!(!ne(u.currentTarget,ee(u))||!e.current||!I)){if(p==="tab"){if(ee(u)!==e.current&&u.key!=="Tab"){u.stopPropagation();return}if(Ce(u,t,r,g,d,I,e.current,s))return}switch(u.key){case"Tab":if(p==="tab"){let w=me(e.current,{tabbable:!0});w.currentNode=I,(u.shiftKey?w.previousNode():w.nextNode())&&u.stopPropagation()}}}},S=rt(r.props),M=T.hasAction?S:{},_=te(j,M,{role:"row",onKeyDownCapture:p==="arrow"||s?N:void 0,onFocus:$,"aria-label":r["aria-label"]||r.textValue||void 0,"aria-selected":t.selectionManager.canSelectItem(r.key)?t.selectionManager.isSelected(r.key):void 0,"aria-disabled":t.selectionManager.isDisabled(r.key)||void 0,"aria-labelledby":v&&(r["aria-label"]||r.textValue)?`${ke(t,r.key)} ${v}`:void 0,id:ke(t,r.key)});l==="child"&&s&&p==="tab"&&(_.tabIndex=-1);let C=_.onKeyDown;if(_.onKeyDown=u=>{y(u),u.isPropagationStopped()||C?.(u)},i){let{collection:u}=t,I=[...u];_["aria-rowindex"]=I.find(w=>w.type==="section")?[...u.getKeys()].filter(w=>u.getItem(w)?.type!=="section").findIndex(w=>w===r.key)+1:r.index+1}let z={role:"gridcell","aria-colindex":1};return{rowProps:{...te(_,x)},gridCellProps:z,descriptionProps:{id:v},...T}}function Ce(a,t,e,r,i,l,s,d){if(!("expandedKeys"in t)||!d&&l!==s)return!1;if(a.key===je.expand[i]&&t.selectionManager.focusedKey===e.key&&r&&!t.expandedKeys.has(e.key))return t.toggleKey(e.key),a.stopPropagation(),!0;if(a.key===je.collapse[i]&&t.selectionManager.focusedKey===e.key){if(r&&t.expandedKeys.has(e.key))return t.toggleKey(e.key),a.stopPropagation(),!0;if(!t.expandedKeys.has(e.key)&&e.parentKey&&t.collection.getItem(e.parentKey)?.type==="item")return t.selectionManager.setFocusedKey(e.parentKey),a.stopPropagation(),!0}return!1}function Ne(a){let t=null,e=null;do e=a.lastChild(),e&&(t=e);while(e);return t}function Pr(a,t){let e=t.getChildren?.(a.key),r=e?Array.from(e):[],i=r.length>0?r[0]:null,l=[];for(;i;)l.push(i),i=i.nextKey!=null?t.getItem(i.nextKey):null;return l}function Ir(a,t){let{key:e}=a;const{checkboxProps:r}=pr(a,t);return{checkboxProps:{...r,"aria-labelledby":`${r.id} ${ke(t,e)}`}}}const Sr=b.createContext(null),Dr=b.forwardRef(function(t,e){return[t,e]=Ae(t,e,Sr),P.createElement(it,{content:P.createElement(ot,t)},r=>P.createElement(Er,{props:t,collection:r,gridListRef:e}))});function Er({props:a,collection:t,gridListRef:e}){[a,e]=Ae(a,e,He);let{shouldUseVirtualFocus:r,filter:i,disallowTypeAhead:l,UNSTABLE_focusOnEntry:s,...d}=a,{dragAndDropHooks:o,keyboardNavigationBehavior:c="arrow",layout:p="stack",orientation:m="vertical"}=a,{CollectionRoot:v,isVirtualized:h,layoutDelegate:f,dropTargetDelegate:x}=b.useContext(ue),g=ft({...d,collection:t,children:void 0,layoutDelegate:f}),k=ht(g,i),j=bt({usage:"search",sensitivity:"base"}),{disabledBehavior:T,disabledKeys:N}=k.selectionManager,{direction:$}=we(),y=b.useMemo(()=>new mt({collection:k.collection,collator:j,ref:e,disabledKeys:N,disabledBehavior:T,layoutDelegate:f,layout:p,orientation:m,direction:$}),[k.collection,e,p,m,N,T,f,j,$]),{gridProps:S}=kr({...d,keyboardDelegate:y,keyboardNavigationBehavior:p==="grid"?"tab":c,isVirtualized:h,shouldSelectOnPressUp:a.shouldSelectOnPressUp,disallowTypeAhead:l,UNSTABLE_focusOnEntry:s},k,e),M=k.selectionManager,_=!!o?.useDraggableCollectionState,C=!!o?.useDroppableCollectionState;b.useRef(_),b.useRef(C),b.useEffect(()=>{},[_,C]);let z,u,I,w=!1,D=null,E=b.useRef(null);if(_&&o){z=o.useDraggableCollectionState({collection:k.collection,selectionManager:M,preview:o.renderDragPreview?E:void 0}),o.useDraggableCollection({},z,e);let W=o.DragPreview;D=o.renderDragPreview?P.createElement(W,{ref:E},o.renderDragPreview):null}if(C&&o){u=o.useDroppableCollectionState({collection:k.collection,selectionManager:M});let W=o.dropTargetDelegate||x||new o.ListDropTargetDelegate(t,e,{layout:p,direction:$,orientation:m});I=o.useDroppableCollection({keyboardDelegate:y,dropTargetDelegate:W},u,e),w=u.isDropTarget({type:"root"})}let{focusProps:R,isFocused:K,isFocusVisible:F}=xe(),O=k.collection.size===0,H={isDropTarget:w,orientation:m,isEmpty:O,isFocused:K,isFocusVisible:F,layout:p,state:k},J=he({...a,children:void 0,defaultClassName:"react-aria-GridList",values:H}),re=null,ae=null;if(O&&a.renderEmptyState){let W=a.renderEmptyState(H);re=P.createElement("div",{role:"row","aria-rowindex":1,style:{display:"contents"}},P.createElement("div",{role:"gridcell",style:{display:"contents"}},W))}let Z=pe(a,{global:!0});return P.createElement(gt,null,P.createElement(be.div,{...te(Z,J,S,R,I?.collectionProps,ae),ref:e,slot:a.slot||void 0,onScroll:a.onScroll,"data-drop-target":w||void 0,"data-empty":O||void 0,"data-focused":K||void 0,"data-focus-visible":F||void 0,"data-layout":p,"data-orientation":m},P.createElement(Fe,{values:[[de,k],[fe,{dragAndDropHooks:o,dragState:z,dropState:u}],[yt,{render:jr}]]},C&&P.createElement(Tr,null),P.createElement(vt,null,P.createElement(v,{collection:k.collection,scrollRef:e,persistedKeys:$t(M,o,u),renderDropIndicator:xt(o,u)}))),re,D))}const Mr=Re(nt,function(t,e,r){let i=b.useContext(de),{dragAndDropHooks:l,dragState:s,dropState:d}=b.useContext(fe),o=Ke(e),{isVirtualized:c}=b.useContext(ue),p=s&&!(s.isDisabled||s.selectionManager.isDisabled(r.key)),{rowProps:m,gridCellProps:v,descriptionProps:h,...f}=wr({node:r,shouldSelectOnPressUp:!!s,isVirtualized:c,focusMode:t.focusMode,allowsArrowNavigation:t.allowsArrowNavigation},i,o),{hoverProps:x,isHovered:g}=lt({isDisabled:!f.allowsSelection&&!f.hasAction&&!p,onHoverStart:r.props.onHoverStart,onHoverChange:r.props.onHoverChange,onHoverEnd:r.props.onHoverEnd}),{isFocusVisible:k,focusProps:j}=xe(),{isFocusVisible:T,focusProps:N}=xe({within:!0}),{checkboxProps:$}=Ir({key:r.key},i),y=i.selectionManager.disabledBehavior==="all"&&f.isDisabled?{isDisabled:!0}:{},S=null;s&&l&&(S=l.useDraggableItem({key:r.key,hasDragButton:!0},s));let M=null,_=b.useRef(null),{visuallyHiddenProps:C}=Pe();d&&l&&(M=l.useDropIndicator({target:{type:"item",key:r.key,dropPosition:"on"}},d,_));let z=s&&s.isDragging(r.key),u=he({...t,id:void 0,children:r.rendered,defaultClassName:"react-aria-GridListItem",values:{...f,isHovered:g,isFocusVisible:k,isFocusVisibleWithin:T,selectionMode:i.selectionManager.selectionMode,selectionBehavior:i.selectionManager.selectionBehavior,allowsDragging:!!s,isDragging:z,isDropTarget:M?.isDropTarget,id:r.key,state:i}}),I=b.useRef(null);b.useEffect(()=>{s&&!I.current&&console.warn('Draggable items in a GridList must contain a <Button slot="drag"> element so that keyboard and screen reader users can drag them.')},[]),b.useEffect(()=>{r.textValue},[r.textValue]);let w=pe(t,{global:!0});return delete w.id,delete w.onClick,P.createElement(P.Fragment,null,M&&!M.isHidden&&P.createElement("div",{role:"row",style:{position:"absolute"}},P.createElement("div",{role:"gridcell"},P.createElement("div",{role:"button",...C,...M?.dropIndicatorProps,ref:_}))),P.createElement(be.div,{...te(w,u,m,j,N,x,S?.dragProps),ref:o,"data-selected":f.isSelected||void 0,"data-disabled":f.isDisabled||void 0,"data-hovered":g||void 0,"data-focused":f.isFocused||void 0,"data-focus-visible":k||void 0,"data-focus-visible-within":T||void 0,"data-pressed":f.isPressed||void 0,"data-allows-dragging":!!s||void 0,"data-dragging":z||void 0,"data-drop-target":M?.isDropTarget||void 0,"data-selection-mode":i.selectionManager.selectionMode==="none"?void 0:i.selectionManager.selectionMode},P.createElement("div",{...v,style:{display:"contents"}},P.createElement(Fe,{values:[[fr,{slots:{[le]:{},selection:$}}],[hr,{slots:{[le]:{},selection:$}}],[st,{slots:{[le]:y,drag:{...S?.dragButtonProps,ref:I,style:{pointerEvents:"none"}}}}],[ct,{slots:{[le]:{},description:h}}],[ue,dt],[de,null],[He,null],[ut,null],[pt,{isSelected:f.isSelected}]]},u.children))))});function jr(a,t){t=Ke(t);let{dragAndDropHooks:e,dropState:r}=b.useContext(fe),i=b.useRef(null),{dropIndicatorProps:l,isHidden:s,isDropTarget:d}=e.useDropIndicator(a,r,i);return s?null:P.createElement(Nr,{...a,dropIndicatorProps:l,isDropTarget:d,buttonRef:i,ref:t})}function Cr(a,t){let{dropIndicatorProps:e,isDropTarget:r,buttonRef:i,...l}=a,{visuallyHiddenProps:s}=Pe(),d=he({...l,defaultClassName:"react-aria-DropIndicator",values:{isDropTarget:r}});return P.createElement(be.div,{...d,role:"row",ref:t,"data-drop-target":r||void 0},P.createElement("div",{role:"gridcell"},P.createElement("div",{...s,role:"button",...e,ref:i}),d.children))}const Nr=b.forwardRef(Cr);function Tr(){let{dragAndDropHooks:a,dropState:t}=b.useContext(fe),e=b.useRef(null),{dropIndicatorProps:r}=a.useDropIndicator({target:{type:"root"}},t,e),i=t.isDropTarget({type:"root"}),{visuallyHiddenProps:l}=Pe();return!i&&r["aria-hidden"]?null:P.createElement("div",{role:"row","aria-hidden":r["aria-hidden"],style:{position:"absolute"}},P.createElement("div",{role:"gridcell"},P.createElement("div",{role:"button",...l,...r,ref:e})))}Re(kt,function(t,e,r){let i=b.useContext(de),{isVirtualized:l}=b.useContext(ue),{isLoading:s,onLoadMore:d,scrollOffset:o,...c}=t,p=b.useRef(null),m=b.useMemo(()=>({onLoadMore:d,collection:i?.collection,sentinelRef:p,scrollOffset:o}),[d,o,p,i?.collection]);wt(m,p);let v=he({...c,id:void 0,children:r.rendered,defaultClassName:"react-aria-GridListLoadingIndicator",values:void 0});return P.createElement(P.Fragment,null,P.createElement("div",{style:{position:"relative",width:0,height:0},inert:Pt(!0)},P.createElement("div",{"data-testid":"loadMoreSentinel",ref:p,style:{position:"absolute",height:1,width:1}})),s&&v.children&&P.createElement(be.div,{...v,...pe(t,{global:!0}),role:"row",ref:e},P.createElement("div",{"aria-colindex":l?1:void 0,role:"gridcell"},v.children)))});const L={minItemSize:new B(200,200),maxItemSize:new B(1/0,1/0),preserveAspectRatio:!1,minSpace:new B(18,18),maxSpace:1/0,maxColumns:1/0,dropIndicatorThickness:2,loaderHeight:48};class _r extends br{shouldInvalidateLayoutOptions(t,e){return t.maxColumns!==e.maxColumns||t.dropIndicatorThickness!==e.dropIndicatorThickness||t.preserveAspectRatio!==e.preserveAspectRatio||!(t.minItemSize||L.minItemSize).equals(e.minItemSize||L.minItemSize)||!(t.maxItemSize||L.maxItemSize).equals(e.maxItemSize||L.maxItemSize)||!(t.minSpace||L.minSpace).equals(e.minSpace||L.minSpace)||t.maxHorizontalSpace!==e.maxHorizontalSpace||t.loaderHeight!==e.loaderHeight||t.direction!==e.direction}update(t){let{minItemSize:e=L.minItemSize,maxItemSize:r=L.maxItemSize,preserveAspectRatio:i=L.preserveAspectRatio,minSpace:l=L.minSpace,maxHorizontalSpace:s=L.maxSpace,maxColumns:d=L.maxColumns,dropIndicatorThickness:o=L.dropIndicatorThickness,loaderHeight:c=L.loaderHeight,direction:p="ltr"}=t.layoutOptions||{};this.dropIndicatorThickness=o,this.direction=p;let m=this.virtualizer.size.width,v=Math.min(r.width,m),h=Number.isFinite(r.height)?r.height:Math.floor(e.height/e.width*v),f=Math.floor(m/(e.width+l.width)),x=Math.max(1,Math.min(d,f));this.numColumns=x;let g=m-l.width*Math.max(0,x),k=Math.floor(g/x);k=Math.max(e.width,Math.min(v,k));let j=(k-e.width)/Math.max(1,v-e.width),T=e.height+Math.floor((h-e.height)*j);T=Math.max(e.height,Math.min(h,T));let N=Math.min(Math.max(s,l.width),Math.floor((m-x*k)/(x+1)));this.gap=new B(N,l.height),this.margin=Math.floor((m-x*k-N*(x+1))/2);let $=this.virtualizer.collection,y=$.size,S=$.getLastKey();for(let D=0;D<2&&S!=null;D++){if($.getItem(S)?.type==="skeleton"){y++;break}S=$.getKeyBefore(S)}let M=Math.ceil(y/x),_=$[Symbol.iterator](),C=M>0?l.height:0,z=new Map,u=null,I=0;for(let D=0;D<M;D++){let E=0,R=[];for(let K=0;K<x;K++){let F=u||_.next().value;if(!F)break;if(F.type==="loader")continue;F.type==="skeleton"&&(u=F);let O=u?`${u.key}-${I++}`:F.key,H=this.layoutInfos.get(O),J=F;u&&(J=H&&H.content.key===O?H.content:{...u,key:O});let re=N+K*(k+N)+this.margin,ae=T,Z=!i;H&&Z&&(ae=H.rect.height,Z=t.layoutOptionsChanged||t.sizeChanged||H.estimatedSize||H.content!==J);let W=new Q(re,C,k,ae),Y=new ve(F.type,O,W);Y.estimatedSize=Z,Y.allowOverflow=!0,Y.content=J,z.set(O,Y),R.push(Y),E=Math.max(E,Y.rect.height)}for(let K of R)K.rect.height=E;C+=E+l.height,u&&D===M-1&&C<this.virtualizer.size.height&&M++}let w=$.getItem($.getLastKey());if(w?.type==="loader"){(I>0||!w.props.isLoading)&&(c=0);const D=m-N*2;let E=new Q(N,C,D,c),R=new ve("loader",w.key,E);z.set(w.key,R),C=R.rect.maxY}this.layoutInfos=z,this.contentSize=new B(this.virtualizer.size.width,C)}getLayoutInfo(t){return this.layoutInfos.get(t)||null}getContentSize(){return this.contentSize}getVisibleLayoutInfos(t){let e=[];for(let r of this.layoutInfos.values())(r.rect.intersects(t)||this.virtualizer.isPersistedKey(r.key)||r.type==="loader")&&e.push(r);return e}updateItemSize(t,e){let r=this.layoutInfos.get(t);if(!e||!r)return!1;if(e.height!==r.rect.height){let i=r.copy();return i.rect.height=e.height,i.estimatedSize=!1,this.layoutInfos.set(t,i),!0}return!1}getDropTargetFromPoint(t,e,r){if(this.layoutInfos.size===0)return{type:"root"};t+=this.virtualizer.visibleRect.x,e+=this.virtualizer.visibleRect.y,this.direction==="rtl"&&this.numColumns>1&&(t=this.contentSize.width-t);let i=null;if(this.numColumns===1){let p=new Q(t,Math.max(0,e-this.gap.height),1,Math.max(1,this.gap.height*2)),m=this.getVisibleLayoutInfos(p),v=1/0;for(let h of m){if(!h.rect.intersects(p))continue;let f=Math.abs(h.rect.y-e),x=Math.abs(h.rect.maxY-e),g=Math.min(f,x);g<v&&(v=g,i=h.key)}}else{let p=new Q(Math.max(0,t-this.gap.width),e,this.gap.width*2,1),m=this.getVisibleLayoutInfos(p),v=1/0;for(let h of m){if(!h.rect.intersects(p))continue;let f=Math.abs(h.rect.x-t),x=Math.abs(h.rect.maxX-t),g=Math.min(f,x);g<v&&(v=g,i=h.key)}}let l=i!=null?this.getLayoutInfo(i):null;if(!l)return{type:"root"};let s={type:"item",key:l.key,dropPosition:"on"},d=this.numColumns===1?e:t,o=this.numColumns===1?l.rect.y:l.rect.x,c=this.numColumns===1?l.rect.height:l.rect.width;if(r(s))d<o+5?s.dropPosition="before":d>o+c-5&&(s.dropPosition="after");else{let p=o+c/2;d<=p&&r({...s,dropPosition:"before"})?s.dropPosition="before":d>=p&&r({...s,dropPosition:"after"})&&(s.dropPosition="after")}return s}getDropTargetLayoutInfo(t){let e=this.getLayoutInfo(t.key),r;return this.numColumns===1?r=new Q(e.rect.x,t.dropPosition==="before"?e.rect.y-this.gap.height/2-this.dropIndicatorThickness/2:e.rect.maxY+this.gap.height/2-this.dropIndicatorThickness/2,e.rect.width,this.dropIndicatorThickness):r=new Q(t.dropPosition==="before"?e.rect.x-this.gap.width/2-this.dropIndicatorThickness/2:e.rect.maxX+this.gap.width/2-this.dropIndicatorThickness/2,e.rect.y,this.dropIndicatorThickness,e.rect.height),new ve("dropIndicator",t.key+":"+t.dropPosition,r)}constructor(...t){super(...t),this.gap=L.minSpace,this.dropIndicatorThickness=2,this.numColumns=0,this.direction="ltr",this.contentSize=new B,this.layoutInfos=new Map,this.margin=0}}class Lr extends _r{useLayoutOptions(){let{direction:t}=we();return b.useMemo(()=>({direction:t}),[t])}}const zr={default_member_id:"policy.cfg.defaultMember",final_outbound:"policy.cfg.finalOutbound",check_url:"policy.cfg.checkUrl",check_interval:"policy.cfg.checkInterval",tolerance:"policy.cfg.tolerance",idle_timeout:"policy.cfg.idleTimeout",interrupt_connections:"policy.cfg.interruptConnections"},Te={check_interval:"policy.cfg.seconds",idle_timeout:"policy.cfg.seconds",tolerance:"policy.cfg.millis"};function Ar(a){return Object.entries(a.config).filter(([,t])=>t!==null).map(([t,e])=>{const r=zr[t]??{key:"flow.f.input",params:{name:t}};return typeof e=="boolean"?[r,{key:e?"ui.yes":"ui.no"}]:typeof e=="number"&&Te[t]?[r,{key:Te[t],params:{n:e}}]:t==="default_member_id"?[r,a.members.find(i=>i.id===e)?.name??String(e)]:[r,String(e)]})}function We(a){return a.policy.kind==="selector"?[]:["check_url","check_interval"].filter(t=>a.capabilities.mutable_config.includes(t))}const Rr=a=>({check_url:a.config.check_url??"",check_interval:a.config.check_interval===null?"":String(a.config.check_interval)});function _e(a,t){const e=t.trim();return e?a==="check_url"?!Mt(e):!/^\d+$/.test(e)||!Number.isSafeInteger(Number(e))||Number(e)<1:!1}function Kr(a,t){const e=We(a),r=[],i=t.check_url.trim()||null;e.includes("check_url")&&i!==a.config.check_url&&r.push({op:"replace",path:"/config/check_url",value:i});const l=t.check_interval.trim()?Number(t.check_interval.trim()):null;return e.includes("check_interval")&&l!==a.config.check_interval&&r.push({op:"replace",path:"/config/check_interval",value:l}),r}function Fr(a,t){if(!("partialResult"in a))return ce(a,t);const{completed:e,total:r,cause:i}=a,l=t("policy.probePartial",{done:e,n:r,error:ce(i,t)});return t("ui.valuePair",{label:ce(a,t),value:l})}const Le={unknown:0,healthy:1,unavailable:2};function Hr(a){const t=new Map;for(const r of a.results){const i=t.get(r.member_id);(!i||Le[r.state]>Le[i])&&t.set(r.member_id,r.state)}const e=[...t.values()];return{key:a.selection_changed.tcp||a.selection_changed.udp?"policy.probeChanged":"policy.probeUnchanged",params:{healthy:e.filter(r=>r==="healthy").length,unavailable:e.filter(r=>r==="unavailable").length,unknown:e.filter(r=>r==="unknown").length}}}const Or={data:"policy.purpose.data",dns:"policy.purpose.dns",shared:"policy.purpose.shared"};function Br(a,t){if(a.kind==="group")return{text:t("ui.group"),badge:!0};const e=Oe(a.health);return e!=null?{text:Et(e,t),tone:Dt(e)}:a.health?.state==="unavailable"?{text:t("ui.unavailable"),tone:"err"}:{text:"—"}}function Vr(a,t){return a.map(e=>({id:e.id,name:e.name,tcp:Oe(e.health),unavailable:e.health?.state==="unavailable",healthy:e.health?.state==="healthy",status:Br(e,t),description:e.health&&(e.health.transport!=="tcp"||e.health.purpose!=="data")?t("policy.observedVia",{transport:t(e.health.transport==="udp"?"ui.udp":"ui.tcp"),purpose:St(Or,e.health.purpose,t)}):" ",region:It(e.name)??"?"}))}function Gr(a,t,e,r){const i=a.runtime.selection.tcp?.member_id,l=a.runtime.selection.udp?.member_id,s=a.policy.kind==="selector"&&a.capabilities.can_select,d=!s&&a.capabilities.can_override,o=d&&[a.runtime.selection.tcp,a.runtime.selection.udp].some(h=>h?.source==="override"),c=a.capabilities.mutable_config.includes("interrupt_connections"),p=t.filter(h=>h.healthy).length,m=t.filter(h=>h.unavailable).length,v=t.length-p-m;return{id:a.id,name:a.name,policy:yr(a.policy,r),selected:e==="tcp"?i:e==="udp"?l:i===l?i:void 0,marks:e==="both"&&i&&l&&i!==l?{[i]:r("ui.tcp"),[l]:r("ui.udp")}:{},selectable:s,overridable:d,pinned:o,interruptable:c,interrupt:a.config.interrupt_connections,showNetwork:s||d||i!==l,networkLabel:r("policy.network",{name:a.name}),healthy:r("policy.healthy",{n:p}),down:m?r("policy.down",{n:m}):null,untested:v?r("policy.untested",{n:v}):null,overrideTone:o?"neutral":"ok",overrideText:r(o?"policy.overridden":"policy.automatic"),fields:Ar(a).filter(([h])=>!(c&&h==="policy.cfg.interruptConnections")).map(([h,f])=>[typeof h=="string"?r(h):r(h.key,h.params),typeof f=="string"?f:r(f.key,f.params)])}}function Ur(a,t,e,r,i){const l=a.length>12,s=new Map;for(const c of a)s.set(c.region,(s.get(c.region)??0)+1);const d=l?a.filter(c=>(!t.q||e(c.name,t.q))&&(t.region==="all"||c.region===t.region)&&(!t.aliveOnly||c.healthy)):a;l&&t.sort==="latency"?d.sort((c,p)=>jt(c.tcp,p.tcp)):l&&t.sort==="name"&&d.sort((c,p)=>Ct(c.name,p.name));const o=d.filter(c=>c.unavailable).length;return{big:l,shown:d,regions:[{id:"all",label:r("policy.allRegions")},...[...s].sort((c,p)=>p[1]-c[1]).map(([c,p])=>({id:c,label:c==="?"?"—":c,desc:Nt(p,i)}))],regionLabel:t.region==="all"?r("policy.allRegions"):t.region==="?"?"—":t.region,count:o?r("policy.membersDown",{n:d.length,down:o}):r("policy.members",{n:d.length})}}function Wr(a,t){const e=V(),r=Tt[_t()],[i,l]=b.useState(""),[s,d]=b.useState("all"),[o,c]=b.useState("latency"),[p,m]=b.useState(!1),{contains:v}=gr({sensitivity:"base"}),h=b.useMemo(()=>Ur(a,{q:i,region:s,sort:o,aliveOnly:p},v,e,r),[a,i,s,o,p,v,e,r]),f=b.useMemo(()=>t?a.map(x=>x.id):[],[t,a]);return{...h,q:i,setQ:l,region:s,setRegion:d,sort:o,setSort:c,aliveOnly:p,setAliveOnly:m,disabledKeys:f}}function qr({nodes:a,selected:t,cur:e,marks:r={},onSelect:i,isDisabled:l}){const s=V(),d=Wr(a,l);return a.length?d.big?n.jsxs("div",{className:"rp-form",children:[n.jsxs("div",{className:"rp-toolbar",children:[n.jsx(Ie,{search:!0,label:s("policy.filter"),value:d.q,onChange:d.setQ,width:240}),n.jsx(zt,{quiet:!0,label:s("policy.region"),value:d.region,onChange:d.setRegion,items:d.regions,children:d.regionLabel}),n.jsx(At,{label:s("policy.sort"),value:d.sort,onChange:d.setSort,items:[{id:"latency",label:s("policy.byLatency")},{id:"name",label:s("policy.byName")}]}),n.jsx(Be,{isSelected:d.aliveOnly,onChange:d.setAliveOnly,children:s("policy.aliveOnly")}),n.jsx("span",{className:"rp-grow"}),n.jsx("span",{className:"rp-label",children:d.count})]}),n.jsx(mr,{layout:Lr,layoutOptions:{minItemSize:new B(200,56),maxItemSize:new B(1/0,56),minSpace:new B(8,8)},children:n.jsx(Dr,{className:"rp-nodegrid","aria-label":s("policy.filter"),items:d.shown,selectionMode:i?"single":"none",disabledKeys:d.disabledKeys,disallowEmptySelection:!0,selectedKeys:i&&t?[t]:[],onSelectionChange:o=>{if(!i||l||o==="all")return;const c=[...o][0];c!=null&&i(String(c))},renderEmptyState:()=>n.jsx($e,{children:s("policy.none")}),children:o=>n.jsx(Mr,{id:o.id,textValue:o.name,className:ye("rp-node",(e===o.id&&!i||r[o.id])&&"cur"),children:n.jsx(ge,{name:o.name,status:o.status,description:o.description,current:!i&&e===o.id,mark:r[o.id]})})})})]}):n.jsx("div",{className:"rp-nodes",children:a.map(o=>i?n.jsx(Lt,{className:ye("rp-node",r[o.id]&&"cur"),isSelected:t===o.id,isDisabled:l,onChange:()=>i(o.id),children:n.jsx(ge,{name:o.name,status:o.status,description:o.description,mark:r[o.id]})},o.id):n.jsx("div",{className:ye("rp-node",e===o.id&&"cur"),children:n.jsx(ge,{name:o.name,status:o.status,description:o.description,current:e===o.id})},o.id))}):n.jsx($e,{children:s("policy.none")})}function Xr({model:a}){const t=V();return n.jsx(Ve,{title:a.title,narrow:!0,isOpen:a.open,onOpenChange:e=>{e||a.close()},trigger:a.available?n.jsx(A,{quiet:!0,isDisabled:a.disabled,tip:a.tip,onPress:a.show,children:t("policy.edit")}):void 0,footer:e=>n.jsxs(n.Fragment,{children:[n.jsx(A,{onPress:e,children:t("ui.cancel")}),n.jsx(A,{accent:!0,isDisabled:!a.open,isPending:a.busy,onPress:()=>a.save(e),children:t("policy.save")})]}),children:a.open&&n.jsxs("div",{className:"rp-list",children:[n.jsx("span",{className:"rp-label",children:t("policy.editHelp")}),a.problem&&n.jsx(Rt,{takeFocus:!0,children:a.problem.text},a.problem.id),n.jsx(xr,{value:a.policy,onChange:a.setPolicy}),a.filters.map(e=>n.jsx(Ie,{label:e.label,value:e.value,placeholder:"name(keyword: 'HK')",spellCheck:!1,onChange:e.change,action:n.jsx(A,{quiet:!0,icon:!0,label:e.removeLabel,onPress:e.remove,children:n.jsx(Kt,{})})},e.id)),n.jsx(A,{small:!0,quiet:!0,onPress:a.add,children:t("policy.addFilter")})]})})}function Yr({model:a}){const t=V();return n.jsx(Ve,{title:a.title,narrow:!0,isOpen:a.open,onOpenChange:e=>{e||a.close()},trigger:a.available?n.jsx(A,{quiet:!0,isDisabled:a.busy,onPress:a.show,children:t("policy.checkEdit")}):void 0,footer:e=>n.jsxs(n.Fragment,{children:[n.jsx(A,{onPress:e,children:t("ui.cancel")}),n.jsx(A,{accent:!0,isDisabled:!a.changed,isPending:a.busy,onPress:()=>a.save(e),children:t("policy.save")})]}),children:a.open&&n.jsx("div",{className:"rp-list",children:a.fields.map(e=>n.jsx(Ie,{label:e.label,type:e.id==="check_url"?"url":void 0,value:e.value,description:e.description,error:e.error,spellCheck:!1,onChange:e.change},e.id))})})}function Qr(a,t){if(!a)return[];const e=new Map;for(const r of a.runtime.health){const i=e.get(r.member_id);i?i.push(r):e.set(r.member_id,[r])}return a.members.map(r=>({...r,health:Ft(e.get(r.id)??[])??t.get(r.id)}))}const ze=a=>a&&[a.state,a.latency_ms,a.transport,a.purpose].join("\0");function Jr(a,t){if(a.size!==t.size)return!1;for(const[e,r]of t)if(!a.has(e)||ze(a.get(e))!==ze(r))return!1;return!0}function Zr({go:a,query:t}){const e=Ht().data?.resources,r=Ot(Ee(e,"groups",{whileLoading:!0})),i=Bt(Ee(e,"nodes",{whileLoading:!1})),l=new URLSearchParams(t).get("group"),[s,d]=b.useState({from:void 0,map:new Map});if(s.from!==i.data){const y=new Map((i.data??[]).map(S=>[S.id,Vt(S)]));d({from:i.data,map:Jr(s.map,y)?s.map:y})}const o=Gt(),{main:c,writable:p,busy:m,apply:v,error:h,retry:f}=o,x=b.useMemo(()=>({main:c,writable:p,busy:m,apply:v,error:h,retry:f}),[c,p,m,v,h,f]),g=b.useMemo(()=>new Map(Ut(x.main?.content??"").map(y=>[y.name,y])),[x.main?.content]),k=b.useMemo(()=>(r.data??[]).map(y=>({id:y.id,domId:"group-"+y.id,name:y.name,members:y.member_count,entry:g.get(y.name)})),[r.data,g]),j=!!r.data;b.useEffect(()=>{const y=l&&j?document.getElementById("group-"+l):null;if(!y)return;const S=()=>y.scrollIntoView({block:"start"});S();const M=new ResizeObserver(S);for(const u of y.parentElement?.children??[]){if(u===y)break;M.observe(u)}const _=["wheel","touchstart","keydown","pointerdown"],C=()=>{clearTimeout(z),M.disconnect();for(const u of _)removeEventListener(u,C,!0)},z=setTimeout(C,3e3);for(const u of _)addEventListener(u,C,{capture:!0,passive:!0});return C},[l,j]);const{refetch:T}=r,{refetch:N}=i,$=b.useCallback(()=>{T(),N()},[T,N]);return{tab:qt(t,["groups","arrange"],"groups"),setTab:y=>a("policies",Wt(t,y,"groups")),cards:k,focus:l,health:s.map,source:x,error:r.error??i.error,loading:r.loading&&!r.data,empty:r.data?.length===0,reload:$,refreshGroups:r.refetch,refreshNodes:i.refetch,groups:r.data}}function ea(a){const[t,e]=b.useState(!1),r=b.useRef(null),i=b.useRef(!1),l=b.useCallback(()=>{i.current=!!r.current?.contains(document.activeElement),e(!0)},[]),[s,d]=Xt(l),o=b.useCallback(p=>(r.current=p,s(p)),[s]),c=a||t;return b.useLayoutEffect(()=>{!c||!i.current||(i.current=!1,r.current?.contains(document.activeElement)||r.current?.focus())},[c]),{ref:o,active:c,visible:d,expand:l}}function ta(a,t,e){const r=V(),[i,l]=b.useState(null),s=b.useRef(0),[d,o]=b.useState(null),c=h=>o(f=>({id:(f?.id??0)+1,text:h})),p=Ge(!!i&&(i.policy!==e?.policy||JSON.stringify(i.filters)!==JSON.stringify(e?.filters)),()=>{s.current++,l(null),o(null)}),m=h=>{if(!i)return;const f=i.filters.map(g=>g.trim()).filter(Boolean);if(!vr(f,i.policy,e)){c(r("policy.editUnsafe"));return}const x=s.current;t.apply(g=>Yt(g,i.name,{filters:f,policy:i.policy}),i.origin).then(g=>{const k=s.current===x;g.kind==="ok"&&(k&&(p.clear(),h()),U("positive",r("policy.updated",{name:i.name})));const j=Qt(g,r);j&&(k?c(Jt(j,r)):U(j.kind,j.text,{detail:j.detail}))})},v=h=>{t.busy||l(f=>f&&h(f))};return{title:r("policy.editTitle",{name:a}),open:!!i,available:!!i||t.writable,disabled:t.busy||!e||!t.main,tip:t.error?ce(t.error,r):t.main?e?void 0:r("policy.editNoEntry"):r("policy.editNoMain"),busy:t.busy,problem:d,policy:i?.policy??null,filters:(i?.filters??[]).map((h,f)=>({id:f,value:h,label:r("policy.filterN",{n:f+1}),removeLabel:r("policy.removeFilter",{n:f+1}),change:x=>v(g=>({...g,filters:g.filters.map((k,j)=>j===f?x:k)})),remove:()=>v(x=>({...x,filters:x.filters.filter((g,k)=>k!==f)}))})),show:()=>{s.current++,o(null),e&&t.main&&l({name:e.name,origin:t.main,policy:e.policy,filters:e.filters})},close:()=>{s.current++,o(null),p.clear(),l(null)},setPolicy:h=>v(f=>({...f,policy:h})),add:()=>v(h=>({...h,filters:[...h.filters,""]})),save:m}}const ra={check_url:"policy.cfg.checkUrl",check_interval:"policy.cfg.checkInterval"},aa={check_url:"policy.checkUrlHelp",check_interval:"policy.checkIntervalHelp"},ia={check_url:"policy.checkUrlInvalid",check_interval:"policy.checkIntervalInvalid"};function oa(a,t,e){const r=V(),[i,l]=b.useState(null),[s,d]=b.useState(!1),o=b.useRef(0),c=a?We(a):[],p=a&&i?Kr(a,i):[],m=()=>{o.current++,l(null),d(!1)},v=Ge(p.length>0,m),h=f=>{if(!a||!i||(d(!0),!p.length||c.some(g=>_e(g,i[g]))))return;const x=o.current;t(p).then(g=>{g&&(U("positive",r("policy.updated",{name:a.name})),o.current===x&&(v.clear(),f()))})};return{title:r("policy.checkEditTitle",{name:a?.name??""}),open:!!i,available:!!i||c.length>0,busy:e,changed:p.length>0,fields:i?c.map(f=>({id:f,label:r(ra[f]),value:i[f],description:r(aa[f]),error:s&&_e(f,i[f])?r(ia[f]):void 0,change:x=>{e||l(g=>g&&{...g,[f]:x})}})):[],show:()=>{a&&(o.current++,d(!1),l(Rr(a)))},close:()=>{v.clear(),m()},save:h}}function na(a){const{id:t,health:e,refreshGroups:r,refreshNodes:i,source:l,entry:s,paused:d}=a,o=V(),c=Zt(t,r,i,d),p=b.useEffectEvent($=>U("negative",o("policy.actionFailed",{name:c.data?.name??a.name,error:Fr($,o)})));b.useEffect(()=>{c.actionError&&p(c.actionError)},[c.actionError]);const m=c.data,v=b.useMemo(()=>Vr(Qr(m,e),o),[m,e,o]),h=m?Gr(m,v,c.network,o):null,f=ta(m?.name??a.name,l,s),x=oa(m,c.patchConfig,!!c.busy),g=$=>v.find(y=>y.id===$)?.name??$,k=()=>void c.probe().then($=>{if($&&m){const y=Hr($);U("positive",o("ui.valuePair",{label:m.name,value:o(y.key,y.params)}))}}),j=()=>void c.clearOverride().then($=>{if(!$||!m)return;const y=$.selection.tcp?.member_id,S=$.selection.udp?.member_id,M=y&&S&&y!==S?o("policy.memberPerNetwork",{tcp:g(y),udp:g(S)}):y||S?g(y??S):o("policy.noneSelected");U("positive",o("policy.backToAutomatic",{name:m.name,member:M}))}),T=$=>void c.setInterrupt($).then(y=>{y&&m&&U("positive",o("policy.updated",{name:m.name}))}),N=h&&(h.selectable||h.overridable)?$=>{$!==h.selected&&c.select($).then(y=>{y&&m&&U("positive",o(y.source==="override"?"policy.pinned":y.connections_interrupted?"policy.selectedInterrupted":"policy.selectedKept",{name:m.name,member:g(y.member_id)}))})}:void 0;return{card:h,edit:f,check:x,members:v,error:c.error,retry:c.refetch,loading:!m&&!c.error,loadingText:o("policy.loading",{id:t}),busy:!!c.busy,probing:c.busy==="probe",probeDisabled:!!c.busy||!c.canProbe,probeTip:c.canProbe?void 0:o("policy.noProbe"),probeText:o(c.busy==="probe"?"policy.probing":"policy.probeAll"),probe:k,release:j,releasing:c.busy==="selection",interrupt:T,select:N,network:c.network,setNetwork:$=>{($==="both"||$==="tcp"||$==="udp")&&c.setNetwork($)}}}const qe=ar(()=>ir(()=>import("./Arrange-C-Cvg5Lz.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url).then(a=>({default:a.Arrange}))),la=qe.Component;qe.preload().catch(()=>{});function Xe({heading:a,members:t,label:e}){return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"rp-row",children:a}),n.jsx("div",{className:"rp-wait-line"}),n.jsx("div",{className:"rp-form",role:e?"status":void 0,"aria-label":e,children:t>12?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"rp-wait-line"}),n.jsx("div",{className:"rp-nodegrid"})]}):n.jsx("div",{className:"rp-nodes",children:Array.from({length:Math.max(t,1)},(r,i)=>n.jsx("span",{className:"rp-node"},i))})})]})}function sa(a){const t=V(),e=na(a),r=e.card;return n.jsxs(n.Fragment,{children:[n.jsx(Ue,{error:e.error,onRetry:e.retry}),e.loading&&n.jsx(Xe,{heading:n.jsx("h3",{className:"rp-h3",children:a.name}),members:a.members,label:e.loadingText}),r&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"rp-row",children:[n.jsxs("span",{className:"rp-cluster",children:[n.jsx("h3",{className:"rp-h3",children:r.name}),n.jsx(or,{tip:r.policy.id,children:r.policy.label}),n.jsx(se,{small:!0,tone:"ok",children:r.healthy}),r.down&&n.jsx(se,{small:!0,tone:"err",children:r.down}),r.untested&&n.jsx(se,{small:!0,tone:"neutral",children:r.untested})]}),n.jsxs("span",{className:"rp-cluster",children:[n.jsx(Xr,{model:e.edit}),n.jsx(Yr,{model:e.check}),n.jsxs(A,{isPending:e.probing,isDisabled:e.probeDisabled,tip:e.probeTip,onPress:e.probe,children:[n.jsx(nr,{className:"rp-spin-on-press"}),e.probeText]})]})]}),n.jsx(lr,{id:r.id,title:t("ui.config"),children:n.jsx(sr,{items:r.fields})}),n.jsxs("div",{className:"rp-toolbar",children:[r.showNetwork&&n.jsx(cr,{label:r.networkLabel,value:e.network,onChange:e.setNetwork,items:[["both",t("policy.both")],["tcp",t("ui.tcp")],["udp",t("ui.udp")]]}),r.overridable&&n.jsx(se,{small:!0,tone:r.overrideTone,children:r.overrideText}),r.pinned&&n.jsx(A,{isPending:e.releasing,isDisabled:e.busy,onPress:e.release,children:t("policy.releaseOverride")}),r.interruptable&&n.jsx(Be,{isSelected:r.interrupt,isDisabled:e.busy,onChange:e.interrupt,children:t("policy.interrupt")})]}),n.jsx(qr,{nodes:e.members,selected:r.selected,cur:r.selected,marks:r.marks,isDisabled:e.busy,onSelect:e.select})]})]})}const ca=b.memo(function({focused:t,domId:e,...r}){const{ref:i,active:l,visible:s,expand:d}=ea(t);return n.jsx(rr,{ref:i,id:e,"aria-label":r.name,tabIndex:-1,children:l?n.jsx(sa,{...r,paused:!s}):n.jsx(Xe,{heading:n.jsx(A,{quiet:!0,onPress:d,children:r.name}),members:r.members})})});function da(a){const t=V(),e=Zr(a),r=n.jsxs(n.Fragment,{children:[n.jsx("p",{className:"rp-note",children:t("policy.note")}),n.jsx(Ue,{error:e.error,onRetry:e.reload}),e.loading&&n.jsx(Me,{}),e.empty&&n.jsx($e,{children:t("policy.empty")}),n.jsx(er,{children:e.cards.map(i=>n.jsx(ca,{...i,focused:e.focus===i.id,health:e.health,source:e.source,refreshGroups:e.refreshGroups,refreshNodes:e.refreshNodes},i.id))})]});return n.jsx("div",{className:"rp-page",children:n.jsx(tr,{keepMounted:!0,label:t("nav.policies"),value:e.tab,onChange:e.setTab,items:[{id:"groups",label:t("policy.tab.groups"),content:r},{id:"arrange",label:t("policy.tab.arrange"),content:n.jsx(b.Suspense,{fallback:n.jsx(Me,{}),children:n.jsx(la,{source:e.source,groups:e.groups})})}]})})}const ya=Object.freeze(Object.defineProperty({__proto__:null,Policies:da},Symbol.toStringTag,{value:"Module"}));export{Dr as $,ya as P,Mr as a};
|