Files
op-packages/luci-app-honk/root/etc/honk/dashboard/assets/Policies-wpHv6bOW.js
T

3 lines
39 KiB
JavaScript

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Arrange-Aggv2ZKG.js","./vendor-react-Bf71BWbF.js","./index-CXHBmSa5.js","./index-BMPxGQXj.css","./Virtualizer--Vfl8O3n.js","./ListLayout-CPapuywx.js","./DaeCode-STEiRZuV.js","./policyText-CAFy3qpo.js","./PolicyPicker-DSSmYroN.js","./useFilter-DZ8TXqn_.js","./useGridSelectionCheckbox-BV96yL-N.js","./Arrange-Dd3j3leY.css"])))=>i.map(i=>d[i]);
import{bA as Je,bB as Qe,bC as Ze,bD as pe,bE as re,bF as we,bG as et,bH as tt,bI as rt,bJ as at,bK as De,bL as oe,bM as ne,bN as me,bO as V,bP as q,bQ as Y,bR as ee,bS as it,bT as le,bU as Ae,bV as ot,bW as nt,bX as Re,bY as lt,bZ as de,b_ as fe,b$ as Ke,c0 as ue,c1 as st,c2 as xe,c3 as Pe,c4 as he,c5 as be,c6 as He,c7 as ct,c8 as dt,c9 as ut,ca as Fe,cb as pt,cc as ft,cd as se,ce as ht,cf as bt,cg as mt,ch as gt,ci as yt,cj as vt,ck as xt,cl as $t,cm as kt,cn as wt,co as Pt,cp as St,b as te,cq as It,a0 as Dt,b3 as Oe,cr as Et,aT as Mt,H as jt,cs as Ct,aP as Nt,a1 as Tt,u as G,a2 as _t,a as Lt,af as $e,ct as zt,cu as ge,c as ye,T as Se,bj as At,cv as Rt,cw as Be,ac as Ge,I as Kt,B as A,ae as Ht,b4 as Ft,a5 as Ot,a9 as Bt,a7 as Ee,a8 as Gt,cx as Vt,cy as Ut,J as Wt,be as qt,bf as Yt,bs as Xt,cz as Ve,cA as Ue,O as Jt,bb as U,cB as Qt,cC as Zt,cD as er,E as We,j as Me,cE as tr,bn as rr,aG as ar,cF as ir,_ as or,bx as nr,aH as lr,aC as ce,bm as sr,bz as cr,cG as dr,aD as ur,b1 as pr}from"./index-CXHBmSa5.js";import{r as m,$ as P,j as n}from"./vendor-react-Bf71BWbF.js";import{$ as fr,a as hr,b as br,c as mr,d as gr}from"./useGridSelectionCheckbox-BV96yL-N.js";import{$ as yr,a as B,b as ve,c as J,d as vr}from"./Virtualizer--Vfl8O3n.js";import{$ as xr}from"./useFilter-DZ8TXqn_.js";import{g as $r,a as kr}from"./policyText-CAFy3qpo.js";import{P as wr}from"./PolicyPicker-DSSmYroN.js";const Ie=new WeakMap;function ke(a,t){let{id:e}=Ie.get(a)??{};if(!e)throw new Error("Unknown list");return`${e}-${Pr(t)}`}function Pr(a){return typeof a=="string"?a.replace(/\s*/g,""):""+a}function Sr(a,t,e){let{isVirtualized:r,keyboardDelegate:i,layoutDelegate:l,onAction:s,disallowTypeAhead:c,linkBehavior:o="action",keyboardNavigationBehavior:d="arrow",escapeKeyBehavior:f="clearSelection",shouldSelectOnPressUp:b}=a;!a["aria-label"]&&!a["aria-labelledby"]&&console.warn("An aria-label or aria-labelledby prop is required for accessibility.");let{listProps:v}=Je({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:c,autoFocus:a.autoFocus,escapeKeyBehavior:f,UNSTABLE_focusOnEntry:a.UNSTABLE_focusOnEntry}),h=Qe(a.id);Ie.set(t,{id:h,onAction:s,linkBehavior:o,keyboardNavigationBehavior:d,shouldSelectOnPressUp:b});let u=fr({selectionManager:t.selectionManager,hasItemActions:!!s}),x=Ze(e,{isDisabled:t.collection.size!==0}),g=pe(a,{labelable:!0}),k=re(g,{role:"grid",id:h,"aria-multiselectable":t.selectionManager.selectionMode==="multiple"?"true":void 0},t.collection.size===0?{tabIndex:x?-1:0}:v,u);return r&&(k["aria-rowcount"]=t.collection.size,k["aria-colcount"]=1),hr({},t),{gridProps:k}}const je={expand:{ltr:"ArrowRight",rtl:"ArrowLeft"},collapse:{ltr:"ArrowLeft",rtl:"ArrowRight"}};function Ir(a,t,e){let{node:r,isVirtualized:i,focusMode:l="row",allowsArrowNavigation:s}=a,{direction:c}=we(),{onAction:o,linkBehavior:d,keyboardNavigationBehavior:f,shouldSelectOnPressUp:b}=Ie.get(t),v=et(),h=m.useRef(null),u=()=>{if(e.current!==null){if(l==="child"){if(De(e.current)&&e.current!==oe(ne(e.current)))return;let S=me(e.current,{tabbable:!0}).firstChild();if(S){V(S),q(S,{containingElement:Y(S)});return}}(h.current!=null&&r.key!==h.current||!De(e.current))&&V(e.current)}},x={},g=a.hasChildItems,k=t.selectionManager.isLink(r.key);if(r!=null&&"expandedKeys"in t){let p=t.collection.getChildren?.(r.key);g=g||[...p??[]].length>1,o==null&&!k&&t.selectionManager.selectionMode==="none"&&g&&(o=()=>t.toggleKey(r.key));let S=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=Dr(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":S,"aria-level":r.level+1,"aria-posinset":D+1,"aria-setsize":w}}let{itemProps:j,...T}=tt({selectionManager:t.selectionManager,key:r.key,ref:e,isVirtualized:i,shouldSelectOnPressUp:a.shouldSelectOnPressUp||b,onAction:o||r.props?.onAction?rt(r.props?.onAction,o?()=>o(r.key):void 0):void 0,focus:u,linkBehavior:d}),N=p=>{let S=oe(ne(e.current));if(!le(p.currentTarget,ee(p))||!e.current||!S)return;let w=me(e.current);if(w.currentNode=S,!Ce(p,t,r,g,c,S,e.current,s))switch(p.key){case"ArrowLeft":if(f==="arrow"){let D=c==="rtl"?w.nextNode():w.previousNode();if(D)p.preventDefault(),p.stopPropagation(),V(D),q(D,{containingElement:Y(e.current)});else if(p.preventDefault(),p.stopPropagation(),c==="rtl")V(e.current),q(e.current,{containingElement:Y(e.current)});else{w.currentNode=e.current;let E=Ne(w);E&&(V(E),q(E,{containingElement:Y(e.current)}))}}break;case"ArrowRight":if(f==="arrow"){let D=c==="rtl"?w.previousNode():w.nextNode();if(D)p.preventDefault(),p.stopPropagation(),V(D),q(D,{containingElement:Y(e.current)});else if(p.preventDefault(),p.stopPropagation(),c==="ltr")V(e.current),q(e.current,{containingElement:Y(e.current)});else{w.currentNode=e.current;let E=Ne(w);E&&(V(E),q(E,{containingElement:Y(e.current)}))}}break;case"ArrowUp":case"ArrowDown":!p.altKey&&le(e.current,ee(p))&&(p.stopPropagation(),p.preventDefault(),e.current.parentElement?.dispatchEvent(new KeyboardEvent(p.nativeEvent.type,p.nativeEvent)));break}},$=p=>{if(h.current=r.key,ee(p)!==e.current){it()||t.selectionManager.setFocusedKey(r.key);return}l==="child"&&p.relatedTarget&&le(e.current,p.relatedTarget)||requestAnimationFrame(()=>{l==="child"&&oe(ne(e.current))===e.current&&u()})},y=p=>{let S=oe(ne(e.current));if(!(!le(p.currentTarget,ee(p))||!e.current||!S)){if(f==="tab"){if(ee(p)!==e.current&&p.key!=="Tab"){p.stopPropagation();return}if(Ce(p,t,r,g,c,S,e.current,s))return}switch(p.key){case"Tab":if(f==="tab"){let w=me(e.current,{tabbable:!0});w.currentNode=S,(p.shiftKey?w.previousNode():w.nextNode())&&p.stopPropagation()}}}},I=at(r.props),M=T.hasAction?I:{},_=re(j,M,{role:"row",onKeyDownCapture:f==="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&&f==="tab"&&(_.tabIndex=-1);let C=_.onKeyDown;if(_.onKeyDown=p=>{y(p),p.isPropagationStopped()||C?.(p)},i){let{collection:p}=t,S=[...p];_["aria-rowindex"]=S.find(w=>w.type==="section")?[...p.getKeys()].filter(w=>p.getItem(w)?.type!=="section").findIndex(w=>w===r.key)+1:r.index+1}let z={role:"gridcell","aria-colindex":1};return{rowProps:{...re(_,x)},gridCellProps:z,descriptionProps:{id:v},...T}}function Ce(a,t,e,r,i,l,s,c){if(!("expandedKeys"in t)||!c&&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 Dr(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 Er(a,t){let{key:e}=a;const{checkboxProps:r}=br(a,t);return{checkboxProps:{...r,"aria-labelledby":`${r.id} ${ke(t,e)}`}}}const Mr=m.createContext(null),jr=m.forwardRef(function(t,e){return[t,e]=Ae(t,e,Mr),P.createElement(ot,{content:P.createElement(nt,t)},r=>P.createElement(Cr,{props:t,collection:r,gridListRef:e}))});function Cr({props:a,collection:t,gridListRef:e}){[a,e]=Ae(a,e,Fe);let{shouldUseVirtualFocus:r,filter:i,disallowTypeAhead:l,UNSTABLE_focusOnEntry:s,...c}=a,{dragAndDropHooks:o,keyboardNavigationBehavior:d="arrow",layout:f="stack",orientation:b="vertical"}=a,{CollectionRoot:v,isVirtualized:h,layoutDelegate:u,dropTargetDelegate:x}=m.useContext(ue),g=ht({...c,collection:t,children:void 0,layoutDelegate:u}),k=bt(g,i),j=mt({usage:"search",sensitivity:"base"}),{disabledBehavior:T,disabledKeys:N}=k.selectionManager,{direction:$}=we(),y=m.useMemo(()=>new gt({collection:k.collection,collator:j,ref:e,disabledKeys:N,disabledBehavior:T,layoutDelegate:u,layout:f,orientation:b,direction:$}),[k.collection,e,f,b,N,T,u,j,$]),{gridProps:I}=Sr({...c,keyboardDelegate:y,keyboardNavigationBehavior:f==="grid"?"tab":d,isVirtualized:h,shouldSelectOnPressUp:a.shouldSelectOnPressUp,disallowTypeAhead:l,UNSTABLE_focusOnEntry:s},k,e),M=k.selectionManager,_=!!o?.useDraggableCollectionState,C=!!o?.useDroppableCollectionState;m.useRef(_),m.useRef(C),m.useEffect(()=>{},[_,C]);let z,p,S,w=!1,D=null,E=m.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){p=o.useDroppableCollectionState({collection:k.collection,selectionManager:M});let W=o.dropTargetDelegate||x||new o.ListDropTargetDelegate(t,e,{layout:f,direction:$,orientation:b});S=o.useDroppableCollection({keyboardDelegate:y,dropTargetDelegate:W},p,e),w=p.isDropTarget({type:"root"})}let{focusProps:R,isFocused:K,isFocusVisible:H}=xe(),O=k.collection.size===0,F={isDropTarget:w,orientation:b,isEmpty:O,isFocused:K,isFocusVisible:H,layout:f,state:k},Q=he({...a,children:void 0,defaultClassName:"react-aria-GridList",values:F}),ae=null,ie=null;if(O&&a.renderEmptyState){let W=a.renderEmptyState(F);ae=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(yt,null,P.createElement(be.div,{...re(Z,Q,I,R,S?.collectionProps,ie),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":H||void 0,"data-layout":f,"data-orientation":b},P.createElement(He,{values:[[de,k],[fe,{dragAndDropHooks:o,dragState:z,dropState:p}],[vt,{render:Tr}]]},C&&P.createElement(zr,null),P.createElement(xt,null,P.createElement(v,{collection:k.collection,scrollRef:e,persistedKeys:kt(M,o,p),renderDropIndicator:$t(o,p)}))),ae,D))}const Nr=Re(lt,function(t,e,r){let i=m.useContext(de),{dragAndDropHooks:l,dragState:s,dropState:c}=m.useContext(fe),o=Ke(e),{isVirtualized:d}=m.useContext(ue),f=s&&!(s.isDisabled||s.selectionManager.isDisabled(r.key)),{rowProps:b,gridCellProps:v,descriptionProps:h,...u}=Ir({node:r,shouldSelectOnPressUp:!!s,isVirtualized:d,focusMode:t.focusMode,allowsArrowNavigation:t.allowsArrowNavigation},i,o),{hoverProps:x,isHovered:g}=st({isDisabled:!u.allowsSelection&&!u.hasAction&&!f,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:$}=Er({key:r.key},i),y=i.selectionManager.disabledBehavior==="all"&&u.isDisabled?{isDisabled:!0}:{},I=null;s&&l&&(I=l.useDraggableItem({key:r.key,hasDragButton:!0},s));let M=null,_=m.useRef(null),{visuallyHiddenProps:C}=Pe();c&&l&&(M=l.useDropIndicator({target:{type:"item",key:r.key,dropPosition:"on"}},c,_));let z=s&&s.isDragging(r.key),p=he({...t,id:void 0,children:r.rendered,defaultClassName:"react-aria-GridListItem",values:{...u,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}}),S=m.useRef(null);m.useEffect(()=>{s&&!S.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.')},[]),m.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,{...re(w,p,b,j,N,x,I?.dragProps),ref:o,"data-selected":u.isSelected||void 0,"data-disabled":u.isDisabled||void 0,"data-hovered":g||void 0,"data-focused":u.isFocused||void 0,"data-focus-visible":k||void 0,"data-focus-visible-within":T||void 0,"data-pressed":u.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(He,{values:[[mr,{slots:{[se]:{},selection:$}}],[gr,{slots:{[se]:{},selection:$}}],[ct,{slots:{[se]:y,drag:{...I?.dragButtonProps,ref:S,style:{pointerEvents:"none"}}}}],[dt,{slots:{[se]:{},description:h}}],[ue,ut],[de,null],[Fe,null],[pt,null],[ft,{isSelected:u.isSelected}]]},p.children))))});function Tr(a,t){t=Ke(t);let{dragAndDropHooks:e,dropState:r}=m.useContext(fe),i=m.useRef(null),{dropIndicatorProps:l,isHidden:s,isDropTarget:c}=e.useDropIndicator(a,r,i);return s?null:P.createElement(Lr,{...a,dropIndicatorProps:l,isDropTarget:c,buttonRef:i,ref:t})}function _r(a,t){let{dropIndicatorProps:e,isDropTarget:r,buttonRef:i,...l}=a,{visuallyHiddenProps:s}=Pe(),c=he({...l,defaultClassName:"react-aria-DropIndicator",values:{isDropTarget:r}});return P.createElement(be.div,{...c,role:"row",ref:t,"data-drop-target":r||void 0},P.createElement("div",{role:"gridcell"},P.createElement("div",{...s,role:"button",...e,ref:i}),c.children))}const Lr=m.forwardRef(_r);function zr(){let{dragAndDropHooks:a,dropState:t}=m.useContext(fe),e=m.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(wt,function(t,e,r){let i=m.useContext(de),{isVirtualized:l}=m.useContext(ue),{isLoading:s,onLoadMore:c,scrollOffset:o,...d}=t,f=m.useRef(null),b=m.useMemo(()=>({onLoadMore:c,collection:i?.collection,sentinelRef:f,scrollOffset:o}),[c,o,f,i?.collection]);Pt(b,f);let v=he({...d,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:St(!0)},P.createElement("div",{"data-testid":"loadMoreSentinel",ref:f,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 Ar extends yr{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:c=L.maxColumns,dropIndicatorThickness:o=L.dropIndicatorThickness,loaderHeight:d=L.loaderHeight,direction:f="ltr"}=t.layoutOptions||{};this.dropIndicatorThickness=o,this.direction=f;let b=this.virtualizer.size.width,v=Math.min(r.width,b),h=Number.isFinite(r.height)?r.height:Math.floor(e.height/e.width*v),u=Math.floor(b/(e.width+l.width)),x=Math.max(1,Math.min(c,u));this.numColumns=x;let g=b-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((b-x*k)/(x+1)));this.gap=new B(N,l.height),this.margin=Math.floor((b-x*k-N*(x+1))/2);let $=this.virtualizer.collection,y=$.size,I=$.getLastKey();for(let D=0;D<2&&I!=null;D++){if($.getItem(I)?.type==="skeleton"){y++;break}I=$.getKeyBefore(I)}let M=Math.ceil(y/x),_=$[Symbol.iterator](),C=M>0?l.height:0,z=new Map,p=null,S=0;for(let D=0;D<M;D++){let E=0,R=[];for(let K=0;K<x;K++){let H=p||_.next().value;if(!H)break;if(H.type==="loader")continue;H.type==="skeleton"&&(p=H);let O=p?`${p.key}-${S++}`:H.key,F=this.layoutInfos.get(O),Q=H;p&&(Q=F&&F.content.key===O?F.content:{...p,key:O});let ae=N+K*(k+N)+this.margin,ie=T,Z=!i;F&&Z&&(ie=F.rect.height,Z=t.layoutOptionsChanged||t.sizeChanged||F.estimatedSize||F.content!==Q);let W=new J(ae,C,k,ie),X=new ve(H.type,O,W);X.estimatedSize=Z,X.allowOverflow=!0,X.content=Q,z.set(O,X),R.push(X),E=Math.max(E,X.rect.height)}for(let K of R)K.rect.height=E;C+=E+l.height,p&&D===M-1&&C<this.virtualizer.size.height&&M++}let w=$.getItem($.getLastKey());if(w?.type==="loader"){(S>0||!w.props.isLoading)&&(d=0);const D=b-N*2;let E=new J(N,C,D,d),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 f=new J(t,Math.max(0,e-this.gap.height),1,Math.max(1,this.gap.height*2)),b=this.getVisibleLayoutInfos(f),v=1/0;for(let h of b){if(!h.rect.intersects(f))continue;let u=Math.abs(h.rect.y-e),x=Math.abs(h.rect.maxY-e),g=Math.min(u,x);g<v&&(v=g,i=h.key)}}else{let f=new J(Math.max(0,t-this.gap.width),e,this.gap.width*2,1),b=this.getVisibleLayoutInfos(f),v=1/0;for(let h of b){if(!h.rect.intersects(f))continue;let u=Math.abs(h.rect.x-t),x=Math.abs(h.rect.maxX-t),g=Math.min(u,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"},c=this.numColumns===1?e:t,o=this.numColumns===1?l.rect.y:l.rect.x,d=this.numColumns===1?l.rect.height:l.rect.width;if(r(s))c<o+5?s.dropPosition="before":c>o+d-5&&(s.dropPosition="after");else{let f=o+d/2;c<=f&&r({...s,dropPosition:"before"})?s.dropPosition="before":c>=f&&r({...s,dropPosition:"after"})&&(s.dropPosition="after")}return s}getDropTargetLayoutInfo(t){let e=this.getLayoutInfo(t.key),r;return this.numColumns===1?r=new J(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 J(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 Rr extends Ar{useLayoutOptions(){let{direction:t}=we();return m.useMemo(()=>({direction:t}),[t])}}const Kr={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 Hr(a){return Object.entries(a.config).filter(([,t])=>t!==null).map(([t,e])=>{const r=Kr[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 qe(a){return["check_url","check_interval"].filter(t=>a.capabilities.mutable_config.includes(t))}const Fr=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"?!jt(e):!/^\d+$/.test(e)||!Number.isSafeInteger(Number(e))||Number(e)<1:!1}function Or(a,t,e){const r=qe(a),i=[],l=c=>c.trim()||null,s=c=>c.trim()?Number(c.trim()):null;if(r.includes("check_url")&&l(e.check_url)!==l(t.check_url)){const c="/config/check_url";i.push({op:"test",path:c,value:l(t.check_url)},{op:"replace",path:c,value:l(e.check_url)})}if(r.includes("check_interval")&&s(e.check_interval)!==s(t.check_interval)){const c="/config/check_interval";i.push({op:"test",path:c,value:s(t.check_interval)},{op:"replace",path:c,value:s(e.check_interval)})}return i}function Br(a,t){if(!("partialResult"in a))return te(a,t);const{completed:e,total:r,cause:i}=a,l=t("policy.probePartial",{done:e,n:r,error:te(i,t)});return t("ui.valuePair",{label:te(a,t),value:l})}const Le={unknown:0,healthy:1,unavailable:2};function Gr(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 Vr={data:"policy.purpose.data",dns:"policy.purpose.dns",shared:"policy.purpose.shared"};function Ur(a,t){if(a.kind==="group")return{text:t("ui.group"),badge:!0};const e=Oe(a.health);return e!=null?{text:Mt(e,t),tone:Et(e)}:a.health?.state==="unavailable"?{text:t("ui.unavailable"),tone:"err"}:{text:"—"}}function Wr(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:Ur(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:Dt(Vr,e.health.purpose,t)}):" ",region:It(e.name)??"?"}))}function qr(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,c=!s&&a.capabilities.can_override,o=c&&[a.runtime.selection.tcp,a.runtime.selection.udp].some(h=>h?.source==="override"),d=a.capabilities.mutable_config.includes("interrupt_connections"),f=t.filter(h=>h.healthy).length,b=t.filter(h=>h.unavailable).length,v=t.length-f-b;return{id:a.id,name:a.name,policy:$r(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:c,pinned:o,interruptable:d,interrupt:a.config.interrupt_connections,showNetwork:s||c||i!==l,networkLabel:r("policy.network",{name:a.name}),healthy:r("policy.healthy",{n:f}),down:b?r("policy.down",{n:b}):null,untested:v?r("policy.untested",{n:v}):null,overrideTone:o?"neutral":"ok",overrideText:r(o?"policy.overridden":"policy.automatic"),fields:Hr(a).filter(([h])=>!(d&&h==="policy.cfg.interruptConnections")).map(([h,u])=>[typeof h=="string"?r(h):r(h.key,h.params),typeof u=="string"?u:r(u.key,u.params)])}}function Yr(a,t,e,r,i){const l=a.length>12,s=new Map;for(const d of a)s.set(d.region,(s.get(d.region)??0)+1);const c=l?a.filter(d=>(!t.q||e(d.name,t.q))&&(t.region==="all"||d.region===t.region)&&(!t.aliveOnly||d.healthy)):a;l&&t.sort==="latency"?c.sort((d,f)=>Ct(d.tcp,f.tcp)):l&&t.sort==="name"&&c.sort((d,f)=>Nt(d.name,f.name));const o=c.filter(d=>d.unavailable).length;return{big:l,shown:c,regions:[{id:"all",label:r("policy.allRegions")},...[...s].sort((d,f)=>f[1]-d[1]).map(([d,f])=>({id:d,label:d==="?"?"—":d,desc:Tt(f,i)}))],regionLabel:t.region==="all"?r("policy.allRegions"):t.region==="?"?"—":t.region,count:o?r("policy.membersDown",{n:c.length,down:o}):r("policy.members",{n:c.length})}}function Xr(a,t,e){return a?{title:a,text:[e("policy.untestedHelp"),e(t?"policy.untestedProbe":"policy.untestedNoProbe")]}:null}function Jr(a,t,e){if(a.shown&&!a.busy){if(!a.main)return a.error?te(a.error,e):e("policy.editNoMain");if(!a.entry)return e("policy.editNoEntry")}return t.busy||t.canProbe?null:e("policy.noProbe")}function Qr(a,t,e){return a||t?null:e("policy.noChanges")}function Zr(a,t){const e=G(),r=_t[Lt()],[i,l]=m.useState(""),[s,c]=m.useState("all"),[o,d]=m.useState("latency"),[f,b]=m.useState(!1),{contains:v}=xr({sensitivity:"base"}),h=m.useMemo(()=>Yr(a,{q:i,region:s,sort:o,aliveOnly:f},v,e,r),[a,i,s,o,f,v,e,r]),u=m.useMemo(()=>t?a.map(x=>x.id):[],[t,a]);return{...h,q:i,setQ:l,region:s,setRegion:c,sort:o,setSort:d,aliveOnly:f,setAliveOnly:b,disabledKeys:u}}const ea={minItemSize:new B(212,56),maxItemSize:new B(1/0,56),minSpace:new B(0,8)};function ta({nodes:a,selected:t,cur:e,marks:r={},onSelect:i,isDisabled:l}){const s=G(),c=Zr(a,l);return a.length?c.big?n.jsxs("div",{className:"rp-form",children:[n.jsxs("div",{className:"rp-toolbar",children:[n.jsx(Se,{search:!0,label:s("policy.filter"),value:c.q,onChange:c.setQ,width:240}),n.jsx(At,{quiet:!0,label:s("policy.region"),value:c.region,onChange:c.setRegion,items:c.regions,children:c.regionLabel}),n.jsx(Rt,{label:s("policy.sort"),value:c.sort,onChange:c.setSort,items:[{id:"latency",label:s("policy.byLatency")},{id:"name",label:s("policy.byName")}]}),n.jsx(Be,{isSelected:c.aliveOnly,onChange:c.setAliveOnly,children:s("policy.aliveOnly")}),n.jsx("span",{className:"rp-grow"}),n.jsx("span",{className:"rp-label",children:c.count})]}),n.jsx(vr,{layout:Rr,layoutOptions:ea,children:n.jsx(jr,{className:"rp-nodegrid","aria-label":s("policy.filter"),items:c.shown,selectionMode:i?"single":"none",disabledKeys:c.disabledKeys,disallowEmptySelection:!0,selectedKeys:i&&t?[t]:[],onSelectionChange:o=>{if(!i||l||o==="all")return;const d=[...o][0];d!=null&&i(String(d))},renderEmptyState:()=>n.jsx($e,{children:s("policy.none")}),children:o=>n.jsx(Nr,{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(zt,{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 ra({model:a}){const t=G();return n.jsx(Ge,{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(Kt,{takeFocus:!0,children:a.problem.text},a.problem.id),n.jsx(wr,{value:a.policy,onChange:a.setPolicy}),a.filters.map(e=>n.jsx(Se,{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(Ht,{})})},e.id)),n.jsx(A,{small:!0,quiet:!0,onPress:a.add,children:t("policy.addFilter")})]})})}function aa({model:a}){const t=G();return n.jsx(Ge,{title:a.title,narrow:!0,isOpen:a.open,reason:a.reason,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(Se,{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 ia(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 oa(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 na({go:a,query:t}){const e=Ot().data?.resources,r=Bt(Ee(e,"groups",{whileLoading:!0})),i=Gt(Ee(e,"nodes",{whileLoading:!1})),l=new URLSearchParams(t).get("group"),[s,c]=m.useState({from:void 0,map:new Map});if(s.from!==i.data){const y=new Map((i.data??[]).map(I=>[I.id,Vt(I)]));c({from:i.data,map:oa(s.map,y)?s.map:y})}const o=Ut(),{main:d,writable:f,busy:b,apply:v,error:h,retry:u}=o,x=m.useMemo(()=>({main:d,writable:f,busy:b,apply:v,error:h,retry:u}),[d,f,b,v,h,u]),g=m.useMemo(()=>new Map(Wt(x.main?.content??"").map(y=>[y.name,y])),[x.main?.content]),k=m.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;m.useEffect(()=>{const y=l&&j?document.getElementById("group-"+l):null;if(!y)return;const I=()=>y.scrollIntoView({block:"start"});I();const M=new ResizeObserver(I);for(const p of y.parentElement?.children??[]){if(p===y)break;M.observe(p)}const _=["wheel","touchstart","keydown","pointerdown"],C=()=>{clearTimeout(z),M.disconnect();for(const p of _)removeEventListener(p,C,!0)},z=setTimeout(C,3e3);for(const p of _)addEventListener(p,C,{capture:!0,passive:!0});return C},[l,j]);const{refetch:T}=r,{refetch:N}=i,$=m.useCallback(()=>{T(),N()},[T,N]);return{tab:Yt(t,["groups","arrange"],"groups"),setTab:y=>a("policies",qt(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 la(a){const[t,e]=m.useState(!1),r=m.useRef(null),i=m.useRef(!1),l=m.useCallback(()=>{i.current=!!r.current?.contains(document.activeElement),e(!0)},[]),[s,c]=Xt(l),o=m.useCallback(f=>(r.current=f,s(f)),[s]),d=a||t;return m.useLayoutEffect(()=>{!d||!i.current||(i.current=!1,r.current?.contains(document.activeElement)||r.current?.focus())},[d]),{ref:o,active:d,visible:c,expand:l}}function sa(a,t,e){const r=G(),[i,l]=m.useState(null),s=Ve(),[c,o]=m.useState(null),d=h=>o(u=>({id:(u?.id??0)+1,text:h})),f=Ue(!!i&&(i.policy!==e?.policy||JSON.stringify(i.filters)!==JSON.stringify(e?.filters)),()=>{s.next(),l(null),o(null)}),b=h=>{if(!i)return;const u=i.filters.map(g=>g.trim()).filter(Boolean);if(!kr(u,i.policy,e)){d(r("policy.editUnsafe"));return}const x=s.start();t.apply(g=>Jt(g,i.name,{filters:u,policy:i.policy}),i.origin).then(g=>{const k=x();g.kind==="ok"&&(k&&(f.clear(),h()),U("positive",r("policy.updated",{name:i.name})));const j=Qt(g,r);j&&(k?d(Zt(j,r)):U(j.kind,j.text,{detail:j.detail}))})},v=h=>{t.busy||l(u=>u&&h(u))};return{title:r("policy.editTitle",{name:a}),open:!!i,available:!!i||t.writable,disabled:t.busy||!e||!t.main,tip:t.error?te(t.error,r):t.main?e?void 0:r("policy.editNoEntry"):r("policy.editNoMain"),busy:t.busy,problem:c,policy:i?.policy??null,filters:(i?.filters??[]).map((h,u)=>({id:u,value:h,label:r("policy.filterN",{n:u+1}),removeLabel:r("policy.removeFilter",{n:u+1}),change:x=>v(g=>({...g,filters:g.filters.map((k,j)=>j===u?x:k)})),remove:()=>v(x=>({...x,filters:x.filters.filter((g,k)=>k!==u)}))})),show:()=>{s.next(),o(null),e&&t.main&&l({name:e.name,origin:t.main,policy:e.policy,filters:e.filters})},close:()=>{s.next(),o(null),f.clear(),l(null)},setPolicy:h=>v(u=>({...u,policy:h})),add:()=>v(h=>({...h,filters:[...h.filters,""]})),save:b}}const ca={check_url:"policy.cfg.checkUrl",check_interval:"policy.cfg.checkInterval"},da={check_url:"policy.checkUrlHelp",check_interval:"policy.checkIntervalHelp"},ua={check_url:"policy.checkUrlInvalid",check_interval:"policy.checkIntervalInvalid"};function pa(a,t,e){const r=G(),[i,l]=m.useState(null),[s,c]=m.useState(!1),o=Ve(),d=a?qe(a):[],f=a&&i?Or(a,i.base,i.value):[],b=()=>{o.next(),l(null),c(!1)},v=Ue(f.length>0,b),h=u=>{if(!a||!i||(c(!0),!f.length||d.some(g=>_e(g,i.value[g]))))return;const x=o.start();t(f).then(g=>{g&&(U("positive",r("policy.updated",{name:a.name})),x()&&(v.clear(),u()))})};return{title:r("policy.checkEditTitle",{name:a?.name??""}),open:!!i,available:!!i||d.length>0,busy:e,changed:f.length>0,reason:Qr(f.length>0,e,r),fields:i?d.map(u=>({id:u,label:r(ca[u]),value:i.value[u],description:r(da[u]),error:s&&_e(u,i.value[u])?r(ua[u]):void 0,change:x=>{e||l(g=>g&&{...g,value:{...g.value,[u]:x}})}})):[],show:()=>{if(!a)return;o.next(),c(!1);const u=Fr(a);l({base:u,value:u})},close:()=>{v.clear(),b()},save:h}}function fa(a){const{id:t,health:e,refreshGroups:r,refreshNodes:i,source:l,entry:s,paused:c}=a,o=G(),d=er(t,r,i,c),f=m.useEffectEvent($=>U("negative",o("policy.actionFailed",{name:d.data?.name??a.name,error:Br($,o)})));m.useEffect(()=>{d.actionError&&f(d.actionError)},[d.actionError]);const b=d.data,v=m.useMemo(()=>Wr(ia(b,e),o),[b,e,o]),h=b?qr(b,v,d.network,o):null,u=sa(b?.name??a.name,l,s),x=pa(b,d.patchConfig,!!d.busy),g=$=>v.find(y=>y.id===$)?.name??$,k=()=>void d.probe().then($=>{if($&&b){const y=Gr($);U("positive",o("ui.valuePair",{label:b.name,value:o(y.key,y.params)}))}}),j=()=>void d.clearOverride().then($=>{if(!$||!b)return;const y=$.selection.tcp?.member_id,I=$.selection.udp?.member_id,M=y&&I&&y!==I?o("policy.memberPerNetwork",{tcp:g(y),udp:g(I)}):y||I?g(y??I):o("policy.noneSelected");U("positive",o("policy.backToAutomatic",{name:b.name,member:M}))}),T=$=>void d.setInterrupt($).then(y=>{y&&b&&U("positive",o("policy.updated",{name:b.name}))}),N=h&&(h.selectable||h.overridable)?$=>{$!==h.selected&&d.select($).then(y=>{y&&b&&U("positive",o(y.source==="override"?"policy.pinned":y.connections_interrupted?"policy.selectedInterrupted":"policy.selectedKept",{name:b.name,member:g(y.member_id)}))})}:void 0;return{card:h,edit:u,check:x,members:v,error:d.error,retry:d.refetch,loading:!b&&!d.error,loadingText:o("policy.loading",{id:t}),busy:!!d.busy,probing:d.busy==="probe",probeDisabled:!!d.busy||!d.canProbe,probeTip:d.canProbe?void 0:o("policy.noProbe"),actionsReason:Jr({shown:u.available,busy:l.busy,main:!!l.main,entry:!!s,error:l.error},{busy:!!d.busy,canProbe:!!d.canProbe},o),untestedHelp:Xr(h?.untested??null,!!d.canProbe,o),probeText:o(d.busy==="probe"?"policy.probing":"policy.probeAll"),probe:k,release:j,releasing:d.busy==="selection",interrupt:T,select:N,network:d.network,setNetwork:$=>{($==="both"||$==="tcp"||$==="udp")&&d.setNetwork($)}}}const Ye=ir(()=>or(()=>import("./Arrange-Aggv2ZKG.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url).then(a=>({default:a.Arrange}))),ha=Ye.Component;Ye.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 ba(a){const t=G(),e=fa(a),r=e.card;return n.jsxs(n.Fragment,{children:[n.jsx(We,{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.jsx(nr,{reason:e.actionsReason,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(lr,{tip:r.policy.id,children:r.policy.label}),n.jsx(ce,{small:!0,tone:"ok",children:r.healthy}),r.down&&n.jsx(ce,{small:!0,tone:"err",children:r.down}),r.untested&&n.jsx(sr,{help:e.untestedHelp,children:n.jsx(ce,{small:!0,tone:"neutral",children:r.untested})})]}),n.jsxs("span",{className:"rp-cluster",children:[n.jsx(ra,{model:e.edit}),n.jsx(aa,{model:e.check}),n.jsxs(A,{isPending:e.probing,isDisabled:e.probeDisabled,tip:e.probeTip,onPress:e.probe,children:[n.jsx(cr,{className:"rp-spin-on-press"}),e.probeText]})]})]})}),n.jsx(dr,{id:r.id,title:t("ui.config"),children:n.jsx(ur,{items:r.fields})}),n.jsxs("div",{className:"rp-toolbar",children:[r.showNetwork&&n.jsx(pr,{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(ce,{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(ta,{nodes:e.members,selected:r.selected,cur:r.selected,marks:r.marks,isDisabled:e.busy,onSelect:e.select})]})]})}const ma=m.memo(function({focused:t,domId:e,...r}){const{ref:i,active:l,visible:s,expand:c}=la(t);return n.jsx(ar,{ref:i,id:e,"aria-label":r.name,tabIndex:-1,children:l?n.jsx(ba,{...r,paused:!s}):n.jsx(Xe,{heading:n.jsx(A,{quiet:!0,onPress:c,children:r.name}),members:r.members})})});function ga(a){const t=G(),e=na(a),r=n.jsxs(n.Fragment,{children:[n.jsx("p",{className:"rp-note",children:t("policy.note")}),n.jsx(We,{error:e.error,onRetry:e.reload}),e.loading&&n.jsx(Me,{}),e.empty&&n.jsx($e,{children:t("policy.empty")}),n.jsx(tr,{children:e.cards.map(i=>n.jsx(ma,{...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(rr,{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(m.Suspense,{fallback:n.jsx(Me,{}),children:n.jsx(ha,{source:e.source,groups:e.groups})})}]})})}const Sa=Object.freeze(Object.defineProperty({__proto__:null,Policies:ga},Symbol.toStringTag,{value:"Module"}));export{jr as $,Sa as P,Nr as a};